From c281e61eb8b0c1042eb250d042d3ff88204086aa Mon Sep 17 00:00:00 2001 From: Pranshu Date: Thu, 2 Oct 2025 12:25:36 +0530 Subject: [PATCH 1/5] [fix] Highlighting IP in go to IP instead of deleting previous rows #73 Instead of deleting previous rows when fetching IP in search, it now scrolls to the IP till it is visible on screen and highlights it. Fixes #73 --- .../static/openwisp-ipam/css/admin.css | 5 +++ .../static/openwisp-ipam/js/subnet.js | 41 ++++++++++++------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/openwisp_ipam/static/openwisp-ipam/css/admin.css b/openwisp_ipam/static/openwisp-ipam/css/admin.css index ecde0f1..bf5374e 100644 --- a/openwisp_ipam/static/openwisp-ipam/css/admin.css +++ b/openwisp_ipam/static/openwisp-ipam/css/admin.css @@ -46,6 +46,11 @@ section.subnet-visual { display: inline; } +.highlighted-ip { + background-color: #fffa8c; + transition: background-color 0.5s; +} + #goto-input { padding: 5px 10px; } diff --git a/openwisp_ipam/static/openwisp-ipam/js/subnet.js b/openwisp_ipam/static/openwisp-ipam/js/subnet.js index 4807c07..202e9ea 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/subnet.js +++ b/openwisp_ipam/static/openwisp-ipam/js/subnet.js @@ -56,6 +56,7 @@ function initHostsInfiniteScroll( var id = normalizeIP(addr.address); if (addr.used) { var uuid = ip_uuid[addr.address]; + var id_attr = 'id="addr_' + id + '"'; //note 1234 was passed as a dummy to be later on replaced in the script return ( '' + + '" ' + + id_attr + ' onclick="return showAddAnotherPopup(this);">' + addr.address + "" ); @@ -111,21 +113,32 @@ function initHostsInfiniteScroll( function goTo() { var input = $("#goto-input").val().toLowerCase().trim(); validateIp(input, function (isValid) { - if (isValid) { - $("#invalid-address").hide(); - if (input !== searchQuery) { - searchQuery = input; - nextPageUrl = - "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; - $("#subnet-visual").empty(); - fetchedPages = []; - lastRenderedPage = 0; - busy = false; - onUpdate(); - } - } else { + if (!isValid) { $("#invalid-address").show(); + return; } + $("#invalid-address").hide(); + var id = normalizeIP(input); + var target = $("#addr_" + id); + if (target.length) { + // IP is already on the page + $("#subnet-visual").animate({ + scrollTop: target.offset().top - $("#subnet-visual").offset().top + $("#subnet-visual").scrollTop() + }, 500); + target.css("background-color", "yellow"); + setTimeout(function () { + target.css("background-color", ""); + }, 500); + } else { + // IP not on page, re-fetch + searchQuery = input; + nextPageUrl = "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; + $("#subnet-visual").empty(); + fetchedPages = []; + lastRenderedPage = 0; + busy = false; + onUpdate(); + } }); } function appendPage() { From e5d9721b08a830351986083c668b13d63fcf550b Mon Sep 17 00:00:00 2001 From: Pranshu <153133494+pranshustuff@users.noreply.github.com> Date: Thu, 2 Oct 2025 12:34:47 +0530 Subject: [PATCH 2/5] [fix] Removing highlighted-ip class in css #73 Same as above. Fixes #73. --- openwisp_ipam/static/openwisp-ipam/css/admin.css | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openwisp_ipam/static/openwisp-ipam/css/admin.css b/openwisp_ipam/static/openwisp-ipam/css/admin.css index bf5374e..72f5803 100644 --- a/openwisp_ipam/static/openwisp-ipam/css/admin.css +++ b/openwisp_ipam/static/openwisp-ipam/css/admin.css @@ -41,16 +41,10 @@ section.subnet-visual { background: rgba(149, 10, 10, 1); border: 1px solid rgba(0, 0, 0, 0.4); } - .subnet-visual .page { display: inline; } -.highlighted-ip { - background-color: #fffa8c; - transition: background-color 0.5s; -} - #goto-input { padding: 5px 10px; } From fc861e9af7b0127590c1905dda71117b5a4cd5c1 Mon Sep 17 00:00:00 2001 From: Pranshu Date: Thu, 2 Oct 2025 20:11:26 +0530 Subject: [PATCH 3/5] [fix] Matching Prettier code style #73 To pass QA checks Fixes #73. --- .../openwisp-ipam/css/minified/jstree.min.css | 1058 +- .../openwisp-ipam/js/minified/jstree.min.js | 7215 +- .../openwisp-ipam/js/minified/plotly.min.js | 153601 ++++++++++++++- .../static/openwisp-ipam/js/subnet.js | 20 +- 4 files changed, 161876 insertions(+), 18 deletions(-) diff --git a/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css b/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css index a24ff30..5795ace 100644 --- a/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css +++ b/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css @@ -1 +1,1057 @@ -.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} \ No newline at end of file +.jstree-node, +.jstree-children, +.jstree-container-ul { + display: block; + margin: 0; + padding: 0; + list-style-type: none; + list-style-image: none; +} +.jstree-node { + white-space: nowrap; +} +.jstree-anchor { + display: inline-block; + color: #000; + white-space: nowrap; + padding: 0 4px 0 1px; + margin: 0; + vertical-align: top; +} +.jstree-anchor:focus { + outline: 0; +} +.jstree-anchor, +.jstree-anchor:link, +.jstree-anchor:visited, +.jstree-anchor:hover, +.jstree-anchor:active { + text-decoration: none; + color: inherit; +} +.jstree-icon { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-icon:empty { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-ocl { + cursor: pointer; +} +.jstree-leaf > .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; + display: inline; +} +.vakata-context li > a { + display: block; + padding: 0 2em; + text-decoration: none; + width: auto; + color: #000; + white-space: nowrap; + line-height: 2.4em; + text-shadow: 1px 1px 0 #fff; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: #fff; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + text-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: 0 0; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: #fff; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: #fff; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default .jstree-anchor, +.jstree-default .jstree-wholerow { + transition: + background-color 0.15s, + box-shadow 0.15s; +} +.jstree-default .jstree-hovered { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #ccc; +} +.jstree-default .jstree-clicked { + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999; +} +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default .jstree-disabled { + background: 0 0; + color: #666; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: 0 0; + box-shadow: none; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + filter: gray; + -webkit-filter: grayscale(100%); +} +.jstree-default .jstree-search { + font-style: italic; + color: #8b0000; + font-weight: 700; +} +.jstree-default .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { + background: 0 0; + box-shadow: none; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #e7f4f9; +} +.jstree-default.jstree-checkbox-no-clicked + > .jstree-wholerow-ul + .jstree-wholerow-clicked { + background: 0 0; +} +.jstree-default.jstree-checkbox-no-clicked + > .jstree-wholerow-ul + .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default > .jstree-striped { + min-width: 100%; + display: inline-block; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) + left top repeat; +} +.jstree-default > .jstree-wholerow-ul .jstree-hovered, +.jstree-default > .jstree-wholerow-ul .jstree-clicked { + background: 0 0; + box-shadow: none; + border-radius: 0; +} +.jstree-default .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default .jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default .jstree-wholerow-clicked { + background: #beebff; + background: -webkit-linear-gradient(top, #beebff 0, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0, #a8e4ff 100%); +} +.jstree-default .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default .jstree-wholerow { + height: 24px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-image: url(32px.png); +} +.jstree-default .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default .jstree-last { + background: 0 0; +} +.jstree-default .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default > .jstree-no-dots .jstree-node, +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default .jstree-disabled { + background: 0 0; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: 0 0; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + filter: gray; + -webkit-filter: grayscale(100%); +} +.jstree-default > .jstree-striped { + background-size: auto 48px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default.jstree-rtl .jstree-last { + background: 0 0; +} +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url(throbber.gif) center center no-repeat; +} +.jstree-default .jstree-file { + background: url(32px.png) -100px -68px no-repeat; +} +.jstree-default .jstree-folder { + background: url(32px.png) -260px -4px no-repeat; +} +.jstree-default > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default { + line-height: 24px; + padding: 0 4px; +} +#jstree-dnd.jstree-default .jstree-ok, +#jstree-dnd.jstree-default .jstree-er { + background-image: url(32px.png); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default i { + background: 0 0; + width: 24px; + height: 24px; + line-height: 24px; +} +#jstree-dnd.jstree-default .jstree-ok { + background-position: -4px -68px; +} +#jstree-dnd.jstree-default .jstree-er { + background-position: -36px -68px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); +} +.jstree-default.jstree-rtl .jstree-last { + background: 0 0; +} +.jstree-default-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-small .jstree-wholerow { + height: 18px; +} +.jstree-default-small .jstree-node, +.jstree-default-small .jstree-icon { + background-image: url(32px.png); +} +.jstree-default-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-small .jstree-last { + background: 0 0; +} +.jstree-default-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-node, +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-small .jstree-disabled { + background: 0 0; +} +.jstree-default-small .jstree-disabled.jstree-hovered { + background: 0 0; +} +.jstree-default-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-small.jstree-checkbox-selection + .jstree-clicked + > .jstree-checkbox:hover, +.jstree-default-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-small .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + filter: gray; + -webkit-filter: grayscale(100%); +} +.jstree-default-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-small.jstree-rtl .jstree-last { + background: 0 0; +} +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url(throbber.gif) center center no-repeat; +} +.jstree-default-small .jstree-file { + background: url(32px.png) -103px -71px no-repeat; +} +.jstree-default-small .jstree-folder { + background: url(32px.png) -263px -7px no-repeat; +} +.jstree-default-small > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-small { + line-height: 18px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-small .jstree-ok, +#jstree-dnd.jstree-default-small .jstree-er { + background-image: url(32px.png); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-small i { + background: 0 0; + width: 18px; + height: 18px; + line-height: 18px; +} +#jstree-dnd.jstree-default-small .jstree-ok { + background-position: -7px -71px; +} +#jstree-dnd.jstree-default-small .jstree-er { + background-position: -39px -71px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==); +} +.jstree-default-small.jstree-rtl .jstree-last { + background: 0 0; +} +.jstree-default-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-large .jstree-wholerow { + height: 32px; +} +.jstree-default-large .jstree-node, +.jstree-default-large .jstree-icon { + background-image: url(32px.png); +} +.jstree-default-large .jstree-node { + background-position: -288px 0; + background-repeat: repeat-y; +} +.jstree-default-large .jstree-last { + background: 0 0; +} +.jstree-default-large .jstree-open > .jstree-ocl { + background-position: -128px 0; +} +.jstree-default-large .jstree-closed > .jstree-ocl { + background-position: -96px 0; +} +.jstree-default-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0; +} +.jstree-default-large .jstree-themeicon { + background-position: -256px 0; +} +.jstree-default-large > .jstree-no-dots .jstree-node, +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0; +} +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0 0; +} +.jstree-default-large .jstree-disabled { + background: 0 0; +} +.jstree-default-large .jstree-disabled.jstree-hovered { + background: 0 0; +} +.jstree-default-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-large .jstree-checkbox { + background-position: -160px 0; +} +.jstree-default-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0; +} +.jstree-default-large.jstree-checkbox-selection + .jstree-clicked + > .jstree-checkbox:hover, +.jstree-default-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-large .jstree-checkbox-disabled { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + filter: gray; + -webkit-filter: grayscale(100%); +} +.jstree-default-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-large.jstree-rtl .jstree-last { + background: 0 0; +} +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: 0 0; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0 -32px; +} +.jstree-default-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url(throbber.gif) center center no-repeat; +} +.jstree-default-large .jstree-file { + background: url(32px.png) -96px -64px no-repeat; +} +.jstree-default-large .jstree-folder { + background: url(32px.png) -256px 0 no-repeat; +} +.jstree-default-large > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} +#jstree-dnd.jstree-default-large { + line-height: 32px; + padding: 0 4px; +} +#jstree-dnd.jstree-default-large .jstree-ok, +#jstree-dnd.jstree-default-large .jstree-er { + background-image: url(32px.png); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default-large i { + background: 0 0; + width: 32px; + height: 32px; + line-height: 32px; +} +#jstree-dnd.jstree-default-large .jstree-ok { + background-position: 0 -64px; +} +#jstree-dnd.jstree-default-large .jstree-er { + background-position: -32px -64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==); +} +.jstree-default-large.jstree-rtl .jstree-last { + background: 0 0; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: 700; + font-size: 1.1em; + text-shadow: 1px 1px #fff; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: 0 0; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url(40px.png); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url(40px.png); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-responsive .jstree-icon { + background-image: url(40px.png); + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: 0 0; + } + .jstree-default-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + } + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: 0 0; + } + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0 !important; + } + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0 !important; + } + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-responsive.jstree-checkbox-selection + .jstree-clicked + > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection + .jstree-clicked + > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-responsive .jstree-anchor { + font-weight: 700; + font-size: 1.1em; + text-shadow: 1px 1px #fff; + } + .jstree-default-responsive > .jstree-striped { + background: 0 0; + } + .jstree-default-responsive .jstree-wholerow { + border-top: 1px solid rgba(255, 255, 255, 0.7); + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + background: #ebebeb; + height: 40px; + } + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666; + } + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #666; + border-top: 0; + } + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url(40px.png); + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-responsive .jstree-last { + background: 0 0; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-responsive .jstree-file { + background: url(40px.png) 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-folder { + background: url(40px.png) -40px -40px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } +} diff --git a/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js b/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js index 4e57359..262c05f 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js +++ b/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js @@ -1,6 +1,7211 @@ /*! jsTree - v3.3.7 - 2018-11-06 - (MIT) */ -!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(django.jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document;a.jstree={version:"3.3.7",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0,loaded_state:!1,restore_focus:!0,keyboard:{"ctrl-space":function(b){b.type="click",a(b.currentTarget).trigger(b)},enter:function(b){b.type="click",a(b.currentTarget).trigger(b)},left:function(b){if(b.preventDefault(),this.is_open(b.currentTarget))this.close_node(b.currentTarget);else{var c=this.get_parent(b.currentTarget);c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus()}},up:function(a){a.preventDefault();var b=this.get_prev_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").focus()},right:function(b){if(b.preventDefault(),this.is_closed(b.currentTarget))this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()});else if(this.is_open(b.currentTarget)){var c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0];c&&a(this._firstChild(c)).children(".jstree-anchor").focus()}},down:function(a){a.preventDefault();var b=this.get_next_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").focus()},"*":function(a){this.open_all()},home:function(b){b.preventDefault();var c=this._firstChild(this.get_container_ul()[0]);c&&a(c).children(".jstree-anchor").filter(":visible").focus()},end:function(a){a.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()},f2:function(a){a.preventDefault(),this.edit(a.currentTarget)}}},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","treeitem"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},_kbevent_to_func:function(a){var b={8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock",16:"Shift",17:"Ctrl",18:"Alt",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*",173:"-"},c=[];a.ctrlKey&&c.push("ctrl"),a.altKey&&c.push("alt"),a.shiftKey&&c.push("shift"),c.push(b[a.which]||a.which),c=c.sort().join("-").toLowerCase();var d=this.settings.core.keyboard,e,f;for(e in d)if(d.hasOwnProperty(e)&&(f=e,"-"!==f&&"+"!==f&&(f=f.replace("--","-MINUS").replace("+-","-MINUS").replace("++","-PLUS").replace("-+","-PLUS"),f=f.split(/-|\+/).sort().join("-").replace("MINUS","-").replace("PLUS","+").toLowerCase()),f===c))return d[e];return null},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;this._data.core.rtl&&(37===a.which?a.which=39:39===a.which&&(a.which=37));var b=this._kbevent_to_func(a);if(b){var c=b.call(this,a);if(c===!1||c===!0)return c}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused&&this.settings.core.restore_focus){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id),b instanceof django.jQuery&&b.length&&b[0].id&&(b=b[0].id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=this.element.find(b)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=this.element.find(b)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},c.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)?a.extend(!0,[],d):a.isPlainObject(d)?a.extend(!0,{},d):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(b){b=this.get_node(b),b&&-1===a.inArray(b.id,this._model.changed)&&this._model.changed.push(b.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),c[o].state||(c[o].state={}),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()]?(k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString())):(this._data.core.last_error={error:"parse",plugin:"core",id:"core_07",reason:"Node with invalid parent",data:JSON.stringify({id:c[o].id.toString(),parent:c[o].parent.toString()})},this.settings.core.error.call(this,this._data.core.last_error));for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("
").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()), -l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&this.settings.core.restore_focus&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loading&&(n+=" jstree-loading"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,hf;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],loaded:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.loaded&&this.settings.core.loaded_state&&b.core.loaded.push(c),this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core&&c.core.selected&&c.core.initial_selection===b&&(c.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),c.core){var e,f,g,h,i;if(c.core.loaded)return this.settings.core.loaded_state&&a.isArray(c.core.loaded)&&c.core.loaded.length?this._load_nodes(c.core.loaded,function(a){delete c.core.loaded,this.set_state(c,d)}):(delete c.core.loaded,this.set_state(c,d)),!1;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,(c.core.initial_selection===b||c.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)})),delete c.core.initial_selection,delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,a.isArray(b.data)?[]:{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),d="string"==typeof d?{text:d}:a.extend(!0,{},d),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),f&&f.call(this,this.get_node(d)),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g); -return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.check("edit",b,this.get_parent(b))?(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a(""),j=c,k=a("
",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo(i.body),l=a("",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("
").append(a.parseHTML(j)).html(),b=this.get_node(b),this.set_text(b,j),m=!!this.rename_node(b,i?a("
").text(f).text():a("
").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})):(this.settings.core.error.call(this,this._data.core.last_error),!1):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append(''),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),this.hide_icon(c)):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var j=i.createElement("I");j.className="jstree-icon jstree-checkbox",j.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=this,e=c.node,f=this._model.data,g=this.get_node(e.parent),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!0),q=e.children_d.concat(e.id);for(h=0,i=q.length;i>h;h++)p.indexOf(q[h])>-1?n[q[h]]=!0:delete n[q[h]]}if(-1!==l.indexOf("up"))while(g&&g.id!==a.jstree.root){for(j=0,h=0,i=g.children.length;i>h;h++)j+=f[g.children[h]].state[m?"selected":"checked"];if(j!==i)break;g.state[m?"selected":"checked"]=!0,n[g.id]=!0,k=this.get_node(g,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),g=this.get_node(g.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(a,b){var c=this,d=b.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={},m=[],n=d.children_d.concat(d.id);if(-1!==i.indexOf("down")){var o=this._cascade_new_checked_state(d.id,!1);k=k.filter(function(a){return-1===n.indexOf(a)||o.indexOf(a)>-1})}if(-1!==i.indexOf("up")&&-1===k.indexOf(d.id)){for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");k=k.filter(function(a){return-1===d.parents.indexOf(a)})}this._data[j?"core":"checkbox"].selected=k},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this.get_undetermined=function(c){if(-1===this.settings.checkbox.cascade.indexOf("undetermined"))return[];var d,e,f,g,h={},i=this._model.data,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l=[],m=this,n=[];for(d=0,e=k.length;e>d;d++)if(i[k[d]]&&i[k[d]].parents)for(f=0,g=i[k[d]].parents.length;g>f;f++){if(h[i[k[d]].parents[f]]!==b)break;i[k[d]].parents[f]!==a.jstree.root&&(h[i[k[d]].parents[f]]=!0,l.push(i[k[d]].parents[f]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var c=m.get_node(this),j;if(c)if(c.state.loaded){for(d=0,e=c.children_d.length;e>d;d++)if(j=i[c.children_d[d]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(h[j.id]===b&&j.id!==a.jstree.root&&(h[j.id]=!0,l.push(j.id)),f=0,g=j.parents.length;g>f;f++)h[j.parents[f]]===b&&j.parents[f]!==a.jstree.root&&(h[j.parents[f]]=!0,l.push(j.parents[f]))}else if(c.original&&c.original.state&&c.original.state.undetermined&&c.original.state.undetermined===!0)for(h[c.id]===b&&c.id!==a.jstree.root&&(h[c.id]=!0,l.push(c.id)),f=0,g=c.parents.length;g>f;f++)h[c.parents[f]]===b&&c.parents[f]!==a.jstree.root&&(h[c.parents[f]]=!0,l.push(c.parents[f]))}),d=0,e=l.length;e>d;d++)i[l[d]].state[j?"selected":"checked"]||n.push(c?i[l[d]]:l[d]);return n},this._undetermined=function(){if(null!==this.element){var a=this.get_undetermined(!1),b,c,d;for(this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),b=0,c=a.length;c>b;b++)d=this.get_node(a[b],!0),d&&d.length&&d.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,k=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),k=j.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(k.className+=" jstree-checkbox-disabled"),i.insertBefore(k,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this._cascade_new_checked_state=function(a,b){var c=this,d=this.settings.checkbox.tie_selection,e=this._model.data[a],f=[],g=[],h,i,j;if(!this.settings.checkbox.cascade_to_disabled&&e.state.disabled||!this.settings.checkbox.cascade_to_hidden&&e.state.hidden)j=this.get_checked_descendants(a),e.state[d?"selected":"checked"]&&j.push(e.id),f=f.concat(j);else{if(e.children)for(h=0,i=e.children.length;i>h;h++){var k=e.children[h];j=c._cascade_new_checked_state(k,b),f=f.concat(j),j.indexOf(k)>-1&&g.push(k)}var l=c.get_node(e,!0),m=g.length>0&&g.lengthe;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection&&(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){return this.settings.conditionalselect.call(this,this.get_node(a),c)?b.activate_node.call(this,a,c):void 0}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){try{c.edit(a)}catch(b){setTimeout(function(){c.edit(a)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-contextmenu")},this)).on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(b){c&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(Math.abs(e-b.originalEvent.changedTouches[0].clientX)>10||Math.abs(f-b.originalEvent.changedTouches[0].clientY)>10)&&(clearTimeout(c),a.vakata.context.hide())}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+=""),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,j,k,l,m,n,o,p=!0;switch(c.element&&c.element.length&&c.element.width(""),p){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo(i.body),h=c.element,j=c.position_x,k=c.position_y,l=h.width(),m=h.height(),n=a(window).width()+a(window).scrollLeft(),o=a(window).height()+a(window).scrollTop(),b&&(j-=h.outerWidth()-a(d).outerWidth(),jn&&(j=n-(l+20)),k+m+20>o&&(k=o-(m+20)),c.element.css({left:j,top:k}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a(i.body).css("direction");var d=!1;c.element=a("
    "),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&c.element[0]!==b.target&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var k,l;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(k={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},l=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,k,'
    '+e+'
    ');a.vakata.dnd._trigger("start",b,{helper:a(),element:l,data:k})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('
     
    ').hide();a(i).on("dragover.vakata.jstree",function(b){l&&a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k})}).on("drop.vakata.jstree",function(b){l&&(a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),l=null,k=null)}).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo(i.body)}).on("dnd_move.vakata.jstree",function(h,i){var j=i.event.target!==e.target;if(f&&(!i.event||"dragover"!==i.event.type||j)&&clearTimeout(f),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var k=a.jstree.reference(i.event.target),l=!1,m=!1,n=!1,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E;if(k&&k._data&&k._data.dnd)if(g.attr("class","jstree-"+k.get_theme()+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")),D=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+k.get_theme()+" jstree-"+k.get_theme()+"-"+k.get_theme_variant()+" "+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[D?"show":"hide"](),i.event.target!==k.element[0]&&i.event.target!==k.get_container_ul()[0]||0!==k.get_container_ul().children().length){if(l=k.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),l&&l.length&&l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(m=l.offset(),n=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-m.top,r=l.outerHeight(),u=r/3>n?["b","i","a"]:n>r-r/3?["a","i","b"]:n>r/2?["i","a","b"]:["i","b","a"],a.each(u,function(b,e){switch(e){case"b":p=m.left-6,q=m.top,s=k.get_parent(l),t=l.parent().index();break;case"i":B=k.settings.dnd.inside_pos,C=k.get_node(l.parent()),p=m.left-2,q=m.top+r/2+1,s=C.id,t="first"===B?0:"last"===B?C.children.length:Math.min(B,C.children.length);break;case"a":p=m.left-6,q=m.top+r,s=k.get_parent(l),t=l.parent().index()+1}for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(y=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",z=t,"move_node"===y&&"a"===e&&i.data.origin&&i.data.origin===k&&s===k.get_parent(i.data.nodes[w])&&(A=k.get_node(s),z>a.inArray(i.data.nodes[w],A.children)&&(z-=1)),v=v&&(k&&k.settings&&k.settings.dnd&&k.settings.dnd.check_while_dragging===!1||k.check(y,i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],s,z,{dnd:!0,ref:k.get_node(l.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin})),!v){k&&k.last_error&&(d=k.last_error());break}return"i"===e&&l.parent().is(".jstree-closed")&&k.settings.dnd.open_timeout&&(!i.event||"dragover"!==i.event.type||j)&&(f&&clearTimeout(f),f=setTimeout(function(a,b){return function(){a.open_node(b)}}(k,l),k.settings.dnd.open_timeout)),v?(E=k.get_node(s,!0),E.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),E.addClass("jstree-dnd-parent")),c={ins:k,par:s,pos:"i"!==e||"last"!==B||0!==t||k.is_loaded(C)?t:"last"},g.css({left:p+"px",top:q+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"),d={},u=!0,!1):void 0}),u===!0))return}else{for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(v=v&&k.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],a.jstree.root,"last",{dnd:!0,ref:k.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin}),!v)break;if(v)return c={ins:k,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer,g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("
    "),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:10},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("
    ").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo(i.body),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageYthis.offsetWidth&&(e.left+d.width()-b.pageXg&&b.pageY-kg&&g-(b.pageY-k)j&&b.pageX-lj&&j-(b.pageX-l)f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var m=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1,preserve_loaded:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){m&&clearTimeout(m),m=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b=this.get_state();this.settings.state.preserve_loaded||delete b.core.loaded;var c={state:b,ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(c))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.settings.state.preserve_loaded||delete b.core.loaded,this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id, -b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depthg;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,trim_whitespace:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this.settings.unique.trim_whitespace,l=this._model.data,m,n,o;for(m=0,n=e.children.length;n>m;m++)o=l[e.children[m]].text,j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),i.push(o);switch(j||(h=h.toLowerCase()),k&&(h=h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),b){case"delete_node":return!0;case"rename_node":return o=c.text||"",j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),m=-1===a.inArray(h,i)||c.text&&o===h,m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"create_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"copy_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"move_node":return m=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.trim_whitespace,q=this.settings.unique.duplicate,r;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)r=n[c.children[l]].text,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),k.push(r);l=1,r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));while(-1!==a.inArray(r,k))j=q.call(this,i,++l).toString(),r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var n=i.createElement("DIV");if(n.setAttribute("unselectable","on"),n.setAttribute("role","presentation"),n.className="jstree-wholerow",n.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=n.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},window.customElements&&Object&&Object.create){var o=Object.create(HTMLElement.prototype);o.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{window.customElements.define("vakata-jstree",function(){},{prototype:o})}catch(p){}}}}); \ No newline at end of file +!(function (a) { + "use strict"; + "function" == typeof define && define.amd + ? define(["jquery"], a) + : "undefined" != typeof module && module.exports + ? (module.exports = a(require("jquery"))) + : a(django.jQuery); +})(function (a, b) { + "use strict"; + if (!a.jstree) { + var c = 0, + d = !1, + e = !1, + f = !1, + g = [], + h = a("script:last").attr("src"), + i = window.document; + ((a.jstree = { + version: "3.3.7", + defaults: { plugins: [] }, + plugins: {}, + path: h && -1 !== h.indexOf("/") ? h.replace(/\/[^\/]+$/, "") : "", + idregex: /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g, + root: "#", + }), + (a.jstree.create = function (b, d) { + var e = new a.jstree.core(++c), + f = d; + return ( + (d = a.extend(!0, {}, a.jstree.defaults, d)), + f && f.plugins && (d.plugins = f.plugins), + a.each(d.plugins, function (a, b) { + "core" !== a && (e = e.plugin(b, d[b])); + }), + a(b).data("jstree", e), + e.init(b, d), + e + ); + }), + (a.jstree.destroy = function () { + (a(".jstree:jstree").jstree("destroy"), a(i).off(".jstree")); + }), + (a.jstree.core = function (a) { + ((this._id = a), + (this._cnt = 0), + (this._wrk = null), + (this._data = { + core: { + themes: { name: !1, dots: !1, icons: !1, ellipsis: !1 }, + selected: [], + last_error: {}, + working: !1, + worker_queue: [], + focused: null, + }, + })); + }), + (a.jstree.reference = function (b) { + var c = null, + d = null; + if ((!b || !b.id || (b.tagName && b.nodeType) || (b = b.id), !d || !d.length)) + try { + d = a(b); + } catch (e) {} + if (!d || !d.length) + try { + d = a("#" + b.replace(a.jstree.idregex, "\\$&")); + } catch (e) {} + return ( + d && d.length && (d = d.closest(".jstree")).length && (d = d.data("jstree")) + ? (c = d) + : a(".jstree").each(function () { + var d = a(this).data("jstree"); + return d && d._model.data[b] ? ((c = d), !1) : void 0; + }), + c + ); + }), + (a.fn.jstree = function (c) { + var d = "string" == typeof c, + e = Array.prototype.slice.call(arguments, 1), + f = null; + return c !== !0 || this.length + ? (this.each(function () { + var g = a.jstree.reference(this), + h = d && g ? g[c] : null; + return ( + (f = d && h ? h.apply(g, e) : null), + g || d || (c !== b && !a.isPlainObject(c)) || a.jstree.create(this, c), + ((g && !d) || c === !0) && (f = g || !1), + null !== f && f !== b ? !1 : void 0 + ); + }), + null !== f && f !== b ? f : this) + : !1; + }), + (a.expr.pseudos.jstree = a.expr.createPseudo(function (c) { + return function (c) { + return a(c).hasClass("jstree") && a(c).data("jstree") !== b; + }; + })), + (a.jstree.defaults.core = { + data: !1, + strings: !1, + check_callback: !1, + error: a.noop, + animation: 200, + multiple: !0, + themes: { + name: !1, + url: !1, + dir: !1, + dots: !0, + icons: !0, + ellipsis: !1, + stripes: !1, + variant: !1, + responsive: !1, + }, + expand_selected_onload: !0, + worker: !0, + force_text: !1, + dblclick_toggle: !0, + loaded_state: !1, + restore_focus: !0, + keyboard: { + "ctrl-space": function (b) { + ((b.type = "click"), a(b.currentTarget).trigger(b)); + }, + enter: function (b) { + ((b.type = "click"), a(b.currentTarget).trigger(b)); + }, + left: function (b) { + if ((b.preventDefault(), this.is_open(b.currentTarget))) + this.close_node(b.currentTarget); + else { + var c = this.get_parent(b.currentTarget); + c && + c.id !== a.jstree.root && + this.get_node(c, !0).children(".jstree-anchor").focus(); + } + }, + up: function (a) { + a.preventDefault(); + var b = this.get_prev_dom(a.currentTarget); + b && b.length && b.children(".jstree-anchor").focus(); + }, + right: function (b) { + if ((b.preventDefault(), this.is_closed(b.currentTarget))) + this.open_node(b.currentTarget, function (a) { + this.get_node(a, !0).children(".jstree-anchor").focus(); + }); + else if (this.is_open(b.currentTarget)) { + var c = this.get_node(b.currentTarget, !0).children( + ".jstree-children", + )[0]; + c && a(this._firstChild(c)).children(".jstree-anchor").focus(); + } + }, + down: function (a) { + a.preventDefault(); + var b = this.get_next_dom(a.currentTarget); + b && b.length && b.children(".jstree-anchor").focus(); + }, + "*": function (a) { + this.open_all(); + }, + home: function (b) { + b.preventDefault(); + var c = this._firstChild(this.get_container_ul()[0]); + c && a(c).children(".jstree-anchor").filter(":visible").focus(); + }, + end: function (a) { + (a.preventDefault(), + this.element.find(".jstree-anchor").filter(":visible").last().focus()); + }, + f2: function (a) { + (a.preventDefault(), this.edit(a.currentTarget)); + }, + }, + }), + (a.jstree.core.prototype = { + plugin: function (b, c) { + var d = a.jstree.plugins[b]; + return d + ? ((this._data[b] = {}), (d.prototype = this), new d(c, this)) + : this; + }, + init: function (b, c) { + ((this._model = { + data: {}, + changed: [], + force_full_redraw: !1, + redraw_timeout: !1, + default_state: { loaded: !0, opened: !1, selected: !1, disabled: !1 }, + }), + (this._model.data[a.jstree.root] = { + id: a.jstree.root, + parent: null, + parents: [], + children: [], + children_d: [], + state: { loaded: !1 }, + }), + (this.element = a(b).addClass("jstree jstree-" + this._id)), + (this.settings = c), + (this._data.core.ready = !1), + (this._data.core.loaded = !1), + (this._data.core.rtl = "rtl" === this.element.css("direction")), + this.element[this._data.core.rtl ? "addClass" : "removeClass"]( + "jstree-rtl", + ), + this.element.attr("role", "tree"), + this.settings.core.multiple && + this.element.attr("aria-multiselectable", !0), + this.element.attr("tabindex") || this.element.attr("tabindex", "0"), + this.bind(), + this.trigger("init"), + (this._data.core.original_container_html = this.element + .find(" > ul > li") + .clone(!0)), + this._data.core.original_container_html + .find("li") + .addBack() + .contents() + .filter(function () { + return ( + 3 === this.nodeType && + (!this.nodeValue || /^\s+$/.test(this.nodeValue)) + ); + }) + .remove(), + this.element.html( + "", + ), + this.element.attr("aria-activedescendant", "j" + this._id + "_loading"), + (this._data.core.li_height = + this.get_container_ul().children("li").first().outerHeight() || 24), + (this._data.core.node = this._create_prototype_node()), + this.trigger("loading"), + this.load_node(a.jstree.root)); + }, + destroy: function (a) { + if ((this.trigger("destroy"), this._wrk)) + try { + (window.URL.revokeObjectURL(this._wrk), (this._wrk = null)); + } catch (b) {} + (a || this.element.empty(), this.teardown()); + }, + _create_prototype_node: function () { + var a = i.createElement("LI"), + b, + c; + return ( + a.setAttribute("role", "treeitem"), + (b = i.createElement("I")), + (b.className = "jstree-icon jstree-ocl"), + b.setAttribute("role", "presentation"), + a.appendChild(b), + (b = i.createElement("A")), + (b.className = "jstree-anchor"), + b.setAttribute("href", "#"), + b.setAttribute("tabindex", "-1"), + (c = i.createElement("I")), + (c.className = "jstree-icon jstree-themeicon"), + c.setAttribute("role", "presentation"), + b.appendChild(c), + a.appendChild(b), + (b = c = null), + a + ); + }, + _kbevent_to_func: function (a) { + var b = { + 8: "Backspace", + 9: "Tab", + 13: "Return", + 19: "Pause", + 27: "Esc", + 32: "Space", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "Left", + 38: "Up", + 39: "Right", + 40: "Down", + 44: "Print", + 45: "Insert", + 46: "Delete", + 96: "Numpad0", + 97: "Numpad1", + 98: "Numpad2", + 99: "Numpad3", + 100: "Numpad4", + 101: "Numpad5", + 102: "Numpad6", + 103: "Numpad7", + 104: "Numpad8", + 105: "Numpad9", + "-13": "NumpadEnter", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "Numlock", + 145: "Scrolllock", + 16: "Shift", + 17: "Ctrl", + 18: "Alt", + 48: "0", + 49: "1", + 50: "2", + 51: "3", + 52: "4", + 53: "5", + 54: "6", + 55: "7", + 56: "8", + 57: "9", + 59: ";", + 61: "=", + 65: "a", + 66: "b", + 67: "c", + 68: "d", + 69: "e", + 70: "f", + 71: "g", + 72: "h", + 73: "i", + 74: "j", + 75: "k", + 76: "l", + 77: "m", + 78: "n", + 79: "o", + 80: "p", + 81: "q", + 82: "r", + 83: "s", + 84: "t", + 85: "u", + 86: "v", + 87: "w", + 88: "x", + 89: "y", + 90: "z", + 107: "+", + 109: "-", + 110: ".", + 186: ";", + 187: "=", + 188: ",", + 189: "-", + 190: ".", + 191: "/", + 192: "`", + 219: "[", + 220: "\\", + 221: "]", + 222: "'", + 111: "/", + 106: "*", + 173: "-", + }, + c = []; + (a.ctrlKey && c.push("ctrl"), + a.altKey && c.push("alt"), + a.shiftKey && c.push("shift"), + c.push(b[a.which] || a.which), + (c = c.sort().join("-").toLowerCase())); + var d = this.settings.core.keyboard, + e, + f; + for (e in d) + if ( + d.hasOwnProperty(e) && + ((f = e), + "-" !== f && + "+" !== f && + ((f = f + .replace("--", "-MINUS") + .replace("+-", "-MINUS") + .replace("++", "-PLUS") + .replace("-+", "-PLUS")), + (f = f + .split(/-|\+/) + .sort() + .join("-") + .replace("MINUS", "-") + .replace("PLUS", "+") + .toLowerCase())), + f === c) + ) + return d[e]; + return null; + }, + teardown: function () { + (this.unbind(), + this.element + .removeClass("jstree") + .removeData("jstree") + .find("[class^='jstree']") + .addBack() + .attr("class", function () { + return this.className.replace(/jstree[^ ]*|$/gi, ""); + }), + (this.element = null)); + }, + bind: function () { + var b = "", + c = null, + d = 0; + this.element + .on("dblclick.jstree", function (a) { + if (a.target.tagName && "input" === a.target.tagName.toLowerCase()) + return !0; + if (i.selection && i.selection.empty) i.selection.empty(); + else if (window.getSelection) { + var b = window.getSelection(); + try { + (b.removeAllRanges(), b.collapse()); + } catch (c) {} + } + }) + .on( + "mousedown.jstree", + a.proxy(function (a) { + a.target === this.element[0] && (a.preventDefault(), (d = +new Date())); + }, this), + ) + .on("mousedown.jstree", ".jstree-ocl", function (a) { + a.preventDefault(); + }) + .on( + "click.jstree", + ".jstree-ocl", + a.proxy(function (a) { + this.toggle_node(a.target); + }, this), + ) + .on( + "dblclick.jstree", + ".jstree-anchor", + a.proxy(function (a) { + return a.target.tagName && "input" === a.target.tagName.toLowerCase() + ? !0 + : void ( + this.settings.core.dblclick_toggle && this.toggle_node(a.target) + ); + }, this), + ) + .on( + "click.jstree", + ".jstree-anchor", + a.proxy(function (b) { + (b.preventDefault(), + b.currentTarget !== i.activeElement && a(b.currentTarget).focus(), + this.activate_node(b.currentTarget, b)); + }, this), + ) + .on( + "keydown.jstree", + ".jstree-anchor", + a.proxy(function (a) { + if (a.target.tagName && "input" === a.target.tagName.toLowerCase()) + return !0; + this._data.core.rtl && + (37 === a.which ? (a.which = 39) : 39 === a.which && (a.which = 37)); + var b = this._kbevent_to_func(a); + if (b) { + var c = b.call(this, a); + if (c === !1 || c === !0) return c; + } + }, this), + ) + .on( + "load_node.jstree", + a.proxy(function (b, c) { + c.status && + (c.node.id !== a.jstree.root || + this._data.core.loaded || + ((this._data.core.loaded = !0), + this._firstChild(this.get_container_ul()[0]) && + this.element.attr( + "aria-activedescendant", + this._firstChild(this.get_container_ul()[0]).id, + ), + this.trigger("loaded")), + this._data.core.ready || + setTimeout( + a.proxy(function () { + if ( + this.element && + !this.get_container_ul().find(".jstree-loading").length + ) { + if ( + ((this._data.core.ready = !0), + this._data.core.selected.length) + ) { + if (this.settings.core.expand_selected_onload) { + var b = [], + c, + d; + for ( + c = 0, d = this._data.core.selected.length; + d > c; + c++ + ) + b = b.concat( + this._model.data[this._data.core.selected[c]].parents, + ); + for ( + b = a.vakata.array_unique(b), c = 0, d = b.length; + d > c; + c++ + ) + this.open_node(b[c], !1, 0); + } + this.trigger("changed", { + action: "ready", + selected: this._data.core.selected, + }); + } + this.trigger("ready"); + } + }, this), + 0, + )); + }, this), + ) + .on( + "keypress.jstree", + a.proxy(function (d) { + if (d.target.tagName && "input" === d.target.tagName.toLowerCase()) + return !0; + (c && clearTimeout(c), + (c = setTimeout(function () { + b = ""; + }, 500))); + var e = String.fromCharCode(d.which).toLowerCase(), + f = this.element.find(".jstree-anchor").filter(":visible"), + g = f.index(i.activeElement) || 0, + h = !1; + if (((b += e), b.length > 1)) { + if ( + (f.slice(g).each( + a.proxy(function (c, d) { + return 0 === a(d).text().toLowerCase().indexOf(b) + ? (a(d).focus(), (h = !0), !1) + : void 0; + }, this), + ), + h) + ) + return; + if ( + (f.slice(0, g).each( + a.proxy(function (c, d) { + return 0 === a(d).text().toLowerCase().indexOf(b) + ? (a(d).focus(), (h = !0), !1) + : void 0; + }, this), + ), + h) + ) + return; + } + if ( + new RegExp( + "^" + e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") + "+$", + ).test(b) + ) { + if ( + (f.slice(g + 1).each( + a.proxy(function (b, c) { + return a(c).text().toLowerCase().charAt(0) === e + ? (a(c).focus(), (h = !0), !1) + : void 0; + }, this), + ), + h) + ) + return; + if ( + (f.slice(0, g + 1).each( + a.proxy(function (b, c) { + return a(c).text().toLowerCase().charAt(0) === e + ? (a(c).focus(), (h = !0), !1) + : void 0; + }, this), + ), + h) + ) + return; + } + }, this), + ) + .on( + "init.jstree", + a.proxy(function () { + var a = this.settings.core.themes; + ((this._data.core.themes.dots = a.dots), + (this._data.core.themes.stripes = a.stripes), + (this._data.core.themes.icons = a.icons), + (this._data.core.themes.ellipsis = a.ellipsis), + this.set_theme(a.name || "default", a.url), + this.set_theme_variant(a.variant)); + }, this), + ) + .on( + "loading.jstree", + a.proxy(function () { + (this[this._data.core.themes.dots ? "show_dots" : "hide_dots"](), + this[this._data.core.themes.icons ? "show_icons" : "hide_icons"](), + this[ + this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" + ](), + this[ + this._data.core.themes.ellipsis ? "show_ellipsis" : "hide_ellipsis" + ]()); + }, this), + ) + .on( + "blur.jstree", + ".jstree-anchor", + a.proxy(function (b) { + ((this._data.core.focused = null), + a(b.currentTarget).filter(".jstree-hovered").mouseleave(), + this.element.attr("tabindex", "0")); + }, this), + ) + .on( + "focus.jstree", + ".jstree-anchor", + a.proxy(function (b) { + var c = this.get_node(b.currentTarget); + (c && c.id && (this._data.core.focused = c.id), + this.element + .find(".jstree-hovered") + .not(b.currentTarget) + .mouseleave(), + a(b.currentTarget).mouseenter(), + this.element.attr("tabindex", "-1")); + }, this), + ) + .on( + "focus.jstree", + a.proxy(function () { + if ( + +new Date() - d > 500 && + !this._data.core.focused && + this.settings.core.restore_focus + ) { + d = 0; + var a = this.get_node(this.element.attr("aria-activedescendant"), !0); + a && a.find("> .jstree-anchor").focus(); + } + }, this), + ) + .on( + "mouseenter.jstree", + ".jstree-anchor", + a.proxy(function (a) { + this.hover_node(a.currentTarget); + }, this), + ) + .on( + "mouseleave.jstree", + ".jstree-anchor", + a.proxy(function (a) { + this.dehover_node(a.currentTarget); + }, this), + ); + }, + unbind: function () { + (this.element.off(".jstree"), a(i).off(".jstree-" + this._id)); + }, + trigger: function (a, b) { + (b || (b = {}), + (b.instance = this), + this.element.triggerHandler(a.replace(".jstree", "") + ".jstree", b)); + }, + get_container: function () { + return this.element; + }, + get_container_ul: function () { + return this.element.children(".jstree-children").first(); + }, + get_string: function (b) { + var c = this.settings.core.strings; + return a.isFunction(c) ? c.call(this, b) : c && c[b] ? c[b] : b; + }, + _firstChild: function (a) { + a = a ? a.firstChild : null; + while (null !== a && 1 !== a.nodeType) a = a.nextSibling; + return a; + }, + _nextSibling: function (a) { + a = a ? a.nextSibling : null; + while (null !== a && 1 !== a.nodeType) a = a.nextSibling; + return a; + }, + _previousSibling: function (a) { + a = a ? a.previousSibling : null; + while (null !== a && 1 !== a.nodeType) a = a.previousSibling; + return a; + }, + get_node: function (b, c) { + (b && b.id && (b = b.id), + b instanceof django.jQuery && b.length && b[0].id && (b = b[0].id)); + var d; + try { + if (this._model.data[b]) b = this._model.data[b]; + else if ("string" == typeof b && this._model.data[b.replace(/^#/, "")]) + b = this._model.data[b.replace(/^#/, "")]; + else if ( + "string" == typeof b && + (d = a("#" + b.replace(a.jstree.idregex, "\\$&"), this.element)).length && + this._model.data[d.closest(".jstree-node").attr("id")] + ) + b = this._model.data[d.closest(".jstree-node").attr("id")]; + else if ( + (d = this.element.find(b)).length && + this._model.data[d.closest(".jstree-node").attr("id")] + ) + b = this._model.data[d.closest(".jstree-node").attr("id")]; + else { + if (!(d = this.element.find(b)).length || !d.hasClass("jstree")) + return !1; + b = this._model.data[a.jstree.root]; + } + return ( + c && + (b = + b.id === a.jstree.root + ? this.element + : a("#" + b.id.replace(a.jstree.idregex, "\\$&"), this.element)), + b + ); + } catch (e) { + return !1; + } + }, + get_path: function (b, c, d) { + if ( + ((b = b.parents ? b : this.get_node(b)), + !b || b.id === a.jstree.root || !b.parents) + ) + return !1; + var e, + f, + g = []; + for (g.push(d ? b.id : b.text), e = 0, f = b.parents.length; f > e; e++) + g.push(d ? b.parents[e] : this.get_text(b.parents[e])); + return ((g = g.reverse().slice(1)), c ? g.join(c) : g); + }, + get_next_dom: function (b, c) { + var d; + if (((b = this.get_node(b, !0)), b[0] === this.element[0])) { + d = this._firstChild(this.get_container_ul()[0]); + while (d && 0 === d.offsetHeight) d = this._nextSibling(d); + return d ? a(d) : !1; + } + if (!b || !b.length) return !1; + if (c) { + d = b[0]; + do d = this._nextSibling(d); + while (d && 0 === d.offsetHeight); + return d ? a(d) : !1; + } + if (b.hasClass("jstree-open")) { + d = this._firstChild(b.children(".jstree-children")[0]); + while (d && 0 === d.offsetHeight) d = this._nextSibling(d); + if (null !== d) return a(d); + } + d = b[0]; + do d = this._nextSibling(d); + while (d && 0 === d.offsetHeight); + return null !== d + ? a(d) + : b + .parentsUntil(".jstree", ".jstree-node") + .nextAll(".jstree-node:visible") + .first(); + }, + get_prev_dom: function (b, c) { + var d; + if (((b = this.get_node(b, !0)), b[0] === this.element[0])) { + d = this.get_container_ul()[0].lastChild; + while (d && 0 === d.offsetHeight) d = this._previousSibling(d); + return d ? a(d) : !1; + } + if (!b || !b.length) return !1; + if (c) { + d = b[0]; + do d = this._previousSibling(d); + while (d && 0 === d.offsetHeight); + return d ? a(d) : !1; + } + d = b[0]; + do d = this._previousSibling(d); + while (d && 0 === d.offsetHeight); + if (null !== d) { + b = a(d); + while (b.hasClass("jstree-open")) + b = b + .children(".jstree-children") + .first() + .children(".jstree-node:visible:last"); + return b; + } + return ( + (d = b[0].parentNode.parentNode), + d && d.className && -1 !== d.className.indexOf("jstree-node") ? a(d) : !1 + ); + }, + get_parent: function (b) { + return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.parent : !1); + }, + get_children_dom: function (a) { + return ( + (a = this.get_node(a, !0)), + a[0] === this.element[0] + ? this.get_container_ul().children(".jstree-node") + : a && a.length + ? a.children(".jstree-children").children(".jstree-node") + : !1 + ); + }, + is_parent: function (a) { + return ( + (a = this.get_node(a)), + a && (a.state.loaded === !1 || a.children.length > 0) + ); + }, + is_loaded: function (a) { + return ((a = this.get_node(a)), a && a.state.loaded); + }, + is_loading: function (a) { + return ((a = this.get_node(a)), a && a.state && a.state.loading); + }, + is_open: function (a) { + return ((a = this.get_node(a)), a && a.state.opened); + }, + is_closed: function (a) { + return ((a = this.get_node(a)), a && this.is_parent(a) && !a.state.opened); + }, + is_leaf: function (a) { + return !this.is_parent(a); + }, + load_node: function (b, c) { + var d, e, f, g, h; + if (a.isArray(b)) return (this._load_nodes(b.slice(), c), !0); + if (((b = this.get_node(b)), !b)) return (c && c.call(this, b, !1), !1); + if (b.state.loaded) { + for (b.state.loaded = !1, f = 0, g = b.parents.length; g > f; f++) + this._model.data[b.parents[f]].children_d = a.vakata.array_filter( + this._model.data[b.parents[f]].children_d, + function (c) { + return -1 === a.inArray(c, b.children_d); + }, + ); + for (d = 0, e = b.children_d.length; e > d; d++) + (this._model.data[b.children_d[d]].state.selected && (h = !0), + delete this._model.data[b.children_d[d]]); + (h && + (this._data.core.selected = a.vakata.array_filter( + this._data.core.selected, + function (c) { + return -1 === a.inArray(c, b.children_d); + }, + )), + (b.children = []), + (b.children_d = []), + h && + this.trigger("changed", { + action: "load_node", + node: b, + selected: this._data.core.selected, + })); + } + return ( + (b.state.failed = !1), + (b.state.loading = !0), + this.get_node(b, !0).addClass("jstree-loading").attr("aria-busy", !0), + this._load_node( + b, + a.proxy(function (a) { + ((b = this._model.data[b.id]), + (b.state.loading = !1), + (b.state.loaded = a), + (b.state.failed = !b.state.loaded)); + var d = this.get_node(b, !0), + e = 0, + f = 0, + g = this._model.data, + h = !1; + for (e = 0, f = b.children.length; f > e; e++) + if (g[b.children[e]] && !g[b.children[e]].state.hidden) { + h = !0; + break; + } + (b.state.loaded && + d && + d.length && + (d.removeClass("jstree-closed jstree-open jstree-leaf"), + h + ? "#" !== b.id && + d.addClass(b.state.opened ? "jstree-open" : "jstree-closed") + : d.addClass("jstree-leaf")), + d.removeClass("jstree-loading").attr("aria-busy", !1), + this.trigger("load_node", { node: b, status: a }), + c && c.call(this, b, a)); + }, this), + ), + !0 + ); + }, + _load_nodes: function (a, b, c, d) { + var e = !0, + f = function () { + this._load_nodes(a, b, !0); + }, + g = this._model.data, + h, + i, + j = []; + for (h = 0, i = a.length; i > h; h++) + g[a[h]] && + ((!g[a[h]].state.loaded && !g[a[h]].state.failed) || (!c && d)) && + (this.is_loading(a[h]) || this.load_node(a[h], f), (e = !1)); + if (e) { + for (h = 0, i = a.length; i > h; h++) + g[a[h]] && g[a[h]].state.loaded && j.push(a[h]); + b && !b.done && (b.call(this, j), (b.done = !0)); + } + }, + load_all: function (b, c) { + if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; + var d = [], + e = this._model.data, + f = e[b.id].children_d, + g, + h; + for ( + b.state && !b.state.loaded && d.push(b.id), g = 0, h = f.length; + h > g; + g++ + ) + e[f[g]] && e[f[g]].state && !e[f[g]].state.loaded && d.push(f[g]); + d.length + ? this._load_nodes(d, function () { + this.load_all(b, c); + }) + : (c && c.call(this, b), this.trigger("load_all", { node: b })); + }, + _load_node: function (b, c) { + var d = this.settings.core.data, + e, + f = function g() { + return 3 !== this.nodeType && 8 !== this.nodeType; + }; + return d + ? a.isFunction(d) + ? d.call( + this, + b, + a.proxy(function (d) { + d === !1 + ? c.call(this, !1) + : this[ + "string" == typeof d + ? "_append_html_data" + : "_append_json_data" + ]( + b, + "string" == typeof d ? a(a.parseHTML(d)).filter(f) : d, + function (a) { + c.call(this, a); + }, + ); + }, this), + ) + : "object" == typeof d + ? d.url + ? ((d = a.extend(!0, {}, d)), + a.isFunction(d.url) && (d.url = d.url.call(this, b)), + a.isFunction(d.data) && (d.data = d.data.call(this, b)), + a + .ajax(d) + .done( + a.proxy(function (d, e, g) { + var h = g.getResponseHeader("Content-Type"); + return (h && -1 !== h.indexOf("json")) || "object" == typeof d + ? this._append_json_data(b, d, function (a) { + c.call(this, a); + }) + : (h && -1 !== h.indexOf("html")) || "string" == typeof d + ? this._append_html_data( + b, + a(a.parseHTML(d)).filter(f), + function (a) { + c.call(this, a); + }, + ) + : ((this._data.core.last_error = { + error: "ajax", + plugin: "core", + id: "core_04", + reason: "Could not load node", + data: JSON.stringify({ id: b.id, xhr: g }), + }), + this.settings.core.error.call( + this, + this._data.core.last_error, + ), + c.call(this, !1)); + }, this), + ) + .fail( + a.proxy(function (a) { + ((this._data.core.last_error = { + error: "ajax", + plugin: "core", + id: "core_04", + reason: "Could not load node", + data: JSON.stringify({ id: b.id, xhr: a }), + }), + c.call(this, !1), + this.settings.core.error.call( + this, + this._data.core.last_error, + )); + }, this), + )) + : ((e = a.isArray(d) + ? a.extend(!0, [], d) + : a.isPlainObject(d) + ? a.extend(!0, {}, d) + : d), + b.id === a.jstree.root + ? this._append_json_data(b, e, function (a) { + c.call(this, a); + }) + : ((this._data.core.last_error = { + error: "nodata", + plugin: "core", + id: "core_05", + reason: "Could not load node", + data: JSON.stringify({ id: b.id }), + }), + this.settings.core.error.call(this, this._data.core.last_error), + c.call(this, !1))) + : "string" == typeof d + ? b.id === a.jstree.root + ? this._append_html_data( + b, + a(a.parseHTML(d)).filter(f), + function (a) { + c.call(this, a); + }, + ) + : ((this._data.core.last_error = { + error: "nodata", + plugin: "core", + id: "core_06", + reason: "Could not load node", + data: JSON.stringify({ id: b.id }), + }), + this.settings.core.error.call(this, this._data.core.last_error), + c.call(this, !1)) + : c.call(this, !1) + : b.id === a.jstree.root + ? this._append_html_data( + b, + this._data.core.original_container_html.clone(!0), + function (a) { + c.call(this, a); + }, + ) + : c.call(this, !1); + }, + _node_changed: function (b) { + ((b = this.get_node(b)), + b && + -1 === a.inArray(b.id, this._model.changed) && + this._model.changed.push(b.id)); + }, + _append_html_data: function (b, c, d) { + ((b = this.get_node(b)), (b.children = []), (b.children_d = [])); + var e = c.is("ul") ? c.children() : c, + f = b.id, + g = [], + h = [], + i = this._model.data, + j = i[f], + k = this._data.core.selected.length, + l, + m, + n; + for ( + e.each( + a.proxy(function (b, c) { + ((l = this._parse_model_from_html(a(c), f, j.parents.concat())), + l && + (g.push(l), + h.push(l), + i[l].children_d.length && (h = h.concat(i[l].children_d)))); + }, this), + ), + j.children = g, + j.children_d = h, + m = 0, + n = j.parents.length; + n > m; + m++ + ) + i[j.parents[m]].children_d = i[j.parents[m]].children_d.concat(h); + (this.trigger("model", { nodes: h, parent: f }), + f !== a.jstree.root + ? (this._node_changed(f), this.redraw()) + : (this.get_container_ul().children(".jstree-initial-node").remove(), + this.redraw(!0)), + this._data.core.selected.length !== k && + this.trigger("changed", { + action: "model", + selected: this._data.core.selected, + }), + d.call(this, !0)); + }, + _append_json_data: function (b, c, d, e) { + if (null !== this.element) { + ((b = this.get_node(b)), + (b.children = []), + (b.children_d = []), + c.d && ((c = c.d), "string" == typeof c && (c = JSON.parse(c))), + a.isArray(c) || (c = [c])); + var f = null, + g = { + df: this._model.default_state, + dat: c, + par: b.id, + m: this._model.data, + t_id: this._id, + t_cnt: this._cnt, + sel: this._data.core.selected, + }, + h = function (a, b) { + a.data && (a = a.data); + var c = a.dat, + d = a.par, + e = [], + f = [], + g = [], + h = a.df, + i = a.t_id, + j = a.t_cnt, + k = a.m, + l = k[d], + m = a.sel, + n, + o, + p, + q, + r = function (a, c, d) { + ((d = d ? d.concat() : []), c && d.unshift(c)); + var e = a.id.toString(), + f, + i, + j, + l, + m = { + id: e, + text: a.text || "", + icon: a.icon !== b ? a.icon : !0, + parent: c, + parents: d, + children: a.children || [], + children_d: a.children_d || [], + data: a.data, + state: {}, + li_attr: { id: !1 }, + a_attr: { href: "#" }, + original: !1, + }; + for (f in h) h.hasOwnProperty(f) && (m.state[f] = h[f]); + if ( + (a && + a.data && + a.data.jstree && + a.data.jstree.icon && + (m.icon = a.data.jstree.icon), + (m.icon === b || null === m.icon || "" === m.icon) && + (m.icon = !0), + a && a.data && ((m.data = a.data), a.data.jstree)) + ) + for (f in a.data.jstree) + a.data.jstree.hasOwnProperty(f) && + (m.state[f] = a.data.jstree[f]); + if (a && "object" == typeof a.state) + for (f in a.state) + a.state.hasOwnProperty(f) && (m.state[f] = a.state[f]); + if (a && "object" == typeof a.li_attr) + for (f in a.li_attr) + a.li_attr.hasOwnProperty(f) && (m.li_attr[f] = a.li_attr[f]); + if ( + (m.li_attr.id || (m.li_attr.id = e), + a && "object" == typeof a.a_attr) + ) + for (f in a.a_attr) + a.a_attr.hasOwnProperty(f) && (m.a_attr[f] = a.a_attr[f]); + for ( + a && + a.children && + a.children === !0 && + ((m.state.loaded = !1), (m.children = []), (m.children_d = [])), + k[m.id] = m, + f = 0, + i = m.children.length; + i > f; + f++ + ) + ((j = r(k[m.children[f]], m.id, d)), + (l = k[j]), + m.children_d.push(j), + l.children_d.length && + (m.children_d = m.children_d.concat(l.children_d))); + return ( + delete a.data, + delete a.children, + (k[m.id].original = a), + m.state.selected && g.push(m.id), + m.id + ); + }, + s = function (a, c, d) { + ((d = d ? d.concat() : []), c && d.unshift(c)); + var e = !1, + f, + l, + m, + n, + o; + do e = "j" + i + "_" + ++j; + while (k[e]); + o = { + id: !1, + text: "string" == typeof a ? a : "", + icon: "object" == typeof a && a.icon !== b ? a.icon : !0, + parent: c, + parents: d, + children: [], + children_d: [], + data: null, + state: {}, + li_attr: { id: !1 }, + a_attr: { href: "#" }, + original: !1, + }; + for (f in h) h.hasOwnProperty(f) && (o.state[f] = h[f]); + if ( + (a && a.id && (o.id = a.id.toString()), + a && a.text && (o.text = a.text), + a && + a.data && + a.data.jstree && + a.data.jstree.icon && + (o.icon = a.data.jstree.icon), + (o.icon === b || null === o.icon || "" === o.icon) && + (o.icon = !0), + a && a.data && ((o.data = a.data), a.data.jstree)) + ) + for (f in a.data.jstree) + a.data.jstree.hasOwnProperty(f) && + (o.state[f] = a.data.jstree[f]); + if (a && "object" == typeof a.state) + for (f in a.state) + a.state.hasOwnProperty(f) && (o.state[f] = a.state[f]); + if (a && "object" == typeof a.li_attr) + for (f in a.li_attr) + a.li_attr.hasOwnProperty(f) && (o.li_attr[f] = a.li_attr[f]); + if ( + (o.li_attr.id && !o.id && (o.id = o.li_attr.id.toString()), + o.id || (o.id = e), + o.li_attr.id || (o.li_attr.id = o.id), + a && "object" == typeof a.a_attr) + ) + for (f in a.a_attr) + a.a_attr.hasOwnProperty(f) && (o.a_attr[f] = a.a_attr[f]); + if (a && a.children && a.children.length) { + for (f = 0, l = a.children.length; l > f; f++) + ((m = s(a.children[f], o.id, d)), + (n = k[m]), + o.children.push(m), + n.children_d.length && + (o.children_d = o.children_d.concat(n.children_d))); + o.children_d = o.children_d.concat(o.children); + } + return ( + a && + a.children && + a.children === !0 && + ((o.state.loaded = !1), (o.children = []), (o.children_d = [])), + delete a.data, + delete a.children, + (o.original = a), + (k[o.id] = o), + o.state.selected && g.push(o.id), + o.id + ); + }; + if (c.length && c[0].id !== b && c[0].parent !== b) { + for (o = 0, p = c.length; p > o; o++) + (c[o].children || (c[o].children = []), + c[o].state || (c[o].state = {}), + (k[c[o].id.toString()] = c[o])); + for (o = 0, p = c.length; p > o; o++) + k[c[o].parent.toString()] + ? (k[c[o].parent.toString()].children.push(c[o].id.toString()), + l.children_d.push(c[o].id.toString())) + : ((this._data.core.last_error = { + error: "parse", + plugin: "core", + id: "core_07", + reason: "Node with invalid parent", + data: JSON.stringify({ + id: c[o].id.toString(), + parent: c[o].parent.toString(), + }), + }), + this.settings.core.error.call( + this, + this._data.core.last_error, + )); + for (o = 0, p = l.children.length; p > o; o++) + ((n = r(k[l.children[o]], d, l.parents.concat())), + f.push(n), + k[n].children_d.length && (f = f.concat(k[n].children_d))); + for (o = 0, p = l.parents.length; p > o; o++) + k[l.parents[o]].children_d = k[l.parents[o]].children_d.concat(f); + q = { cnt: j, mod: k, sel: m, par: d, dpc: f, add: g }; + } else { + for (o = 0, p = c.length; p > o; o++) + ((n = s(c[o], d, l.parents.concat())), + n && + (e.push(n), + f.push(n), + k[n].children_d.length && (f = f.concat(k[n].children_d)))); + for ( + l.children = e, l.children_d = f, o = 0, p = l.parents.length; + p > o; + o++ + ) + k[l.parents[o]].children_d = k[l.parents[o]].children_d.concat(f); + q = { cnt: j, mod: k, sel: m, par: d, dpc: f, add: g }; + } + return "undefined" != typeof window && + "undefined" != typeof window.document + ? q + : void postMessage(q); + }, + i = function (b, c) { + if (null !== this.element) { + this._cnt = b.cnt; + var e, + f = this._model.data; + for (e in f) + f.hasOwnProperty(e) && + f[e].state && + f[e].state.loading && + b.mod[e] && + (b.mod[e].state.loading = !0); + if (((this._model.data = b.mod), c)) { + var g, + h = b.add, + i = b.sel, + j = this._data.core.selected.slice(); + if ( + ((f = this._model.data), + i.length !== j.length || + a.vakata.array_unique(i.concat(j)).length !== i.length) + ) { + for (e = 0, g = i.length; g > e; e++) + -1 === a.inArray(i[e], h) && + -1 === a.inArray(i[e], j) && + (f[i[e]].state.selected = !1); + for (e = 0, g = j.length; g > e; e++) + -1 === a.inArray(j[e], i) && (f[j[e]].state.selected = !0); + } + } + (b.add.length && + (this._data.core.selected = this._data.core.selected.concat(b.add)), + this.trigger("model", { nodes: b.dpc, parent: b.par }), + b.par !== a.jstree.root + ? (this._node_changed(b.par), this.redraw()) + : this.redraw(!0), + b.add.length && + this.trigger("changed", { + action: "model", + selected: this._data.core.selected, + }), + d.call(this, !0)); + } + }; + if (this.settings.core.worker && window.Blob && window.URL && window.Worker) + try { + (null === this._wrk && + (this._wrk = window.URL.createObjectURL( + new window.Blob(["self.onmessage = " + h.toString()], { + type: "text/javascript", + }), + )), + !this._data.core.working || e + ? ((this._data.core.working = !0), + (f = new window.Worker(this._wrk)), + (f.onmessage = a.proxy(function (a) { + i.call(this, a.data, !0); + try { + (f.terminate(), (f = null)); + } catch (b) {} + this._data.core.worker_queue.length + ? this._append_json_data.apply( + this, + this._data.core.worker_queue.shift(), + ) + : (this._data.core.working = !1); + }, this)), + g.par + ? f.postMessage(g) + : this._data.core.worker_queue.length + ? this._append_json_data.apply( + this, + this._data.core.worker_queue.shift(), + ) + : (this._data.core.working = !1)) + : this._data.core.worker_queue.push([b, c, d, !0])); + } catch (j) { + (i.call(this, h(g), !1), + this._data.core.worker_queue.length + ? this._append_json_data.apply( + this, + this._data.core.worker_queue.shift(), + ) + : (this._data.core.working = !1)); + } + else i.call(this, h(g), !1); + } + }, + _parse_model_from_html: function (c, d, e) { + ((e = e ? [].concat(e) : []), d && e.unshift(d)); + var f, + g, + h = this._model.data, + i = { + id: !1, + text: !1, + icon: !0, + parent: d, + parents: e, + children: [], + children_d: [], + data: null, + state: {}, + li_attr: { id: !1 }, + a_attr: { href: "#" }, + original: !1, + }, + j, + k, + l; + for (j in this._model.default_state) + this._model.default_state.hasOwnProperty(j) && + (i.state[j] = this._model.default_state[j]); + if ( + ((k = a.vakata.attributes(c, !0)), + a.each(k, function (b, c) { + return ( + (c = a.trim(c)), + c.length + ? ((i.li_attr[b] = c), void ("id" === b && (i.id = c.toString()))) + : !0 + ); + }), + (k = c.children("a").first()), + k.length && + ((k = a.vakata.attributes(k, !0)), + a.each(k, function (b, c) { + ((c = a.trim(c)), c.length && (i.a_attr[b] = c)); + })), + (k = c.children("a").first().length + ? c.children("a").first().clone() + : c.clone()), + k.children("ins, i, ul").remove(), + (k = k.html()), + (k = a("
    ").html(k)), + (i.text = this.settings.core.force_text ? k.text() : k.html()), + (k = c.data()), + (i.data = k ? a.extend(!0, {}, k) : null), + (i.state.opened = c.hasClass("jstree-open")), + (i.state.selected = c.children("a").hasClass("jstree-clicked")), + (i.state.disabled = c.children("a").hasClass("jstree-disabled")), + i.data && i.data.jstree) + ) + for (j in i.data.jstree) + i.data.jstree.hasOwnProperty(j) && (i.state[j] = i.data.jstree[j]); + ((k = c.children("a").children(".jstree-themeicon")), + k.length && + (i.icon = k.hasClass("jstree-themeicon-hidden") ? !1 : k.attr("rel")), + i.state.icon !== b && (i.icon = i.state.icon), + (i.icon === b || null === i.icon || "" === i.icon) && (i.icon = !0), + (k = c.children("ul").children("li"))); + do l = "j" + this._id + "_" + ++this._cnt; + while (h[l]); + return ( + (i.id = i.li_attr.id ? i.li_attr.id.toString() : l), + k.length + ? (k.each( + a.proxy(function (b, c) { + ((f = this._parse_model_from_html(a(c), i.id, e)), + (g = this._model.data[f]), + i.children.push(f), + g.children_d.length && + (i.children_d = i.children_d.concat(g.children_d))); + }, this), + ), + (i.children_d = i.children_d.concat(i.children))) + : c.hasClass("jstree-closed") && (i.state.loaded = !1), + i.li_attr["class"] && + (i.li_attr["class"] = i.li_attr["class"] + .replace("jstree-closed", "") + .replace("jstree-open", "")), + i.a_attr["class"] && + (i.a_attr["class"] = i.a_attr["class"] + .replace("jstree-clicked", "") + .replace("jstree-disabled", "")), + (h[i.id] = i), + i.state.selected && this._data.core.selected.push(i.id), + i.id + ); + }, + _parse_model_from_flat_json: function (a, c, d) { + ((d = d ? d.concat() : []), c && d.unshift(c)); + var e = a.id.toString(), + f = this._model.data, + g = this._model.default_state, + h, + i, + j, + k, + l = { + id: e, + text: a.text || "", + icon: a.icon !== b ? a.icon : !0, + parent: c, + parents: d, + children: a.children || [], + children_d: a.children_d || [], + data: a.data, + state: {}, + li_attr: { id: !1 }, + a_attr: { href: "#" }, + original: !1, + }; + for (h in g) g.hasOwnProperty(h) && (l.state[h] = g[h]); + if ( + (a && + a.data && + a.data.jstree && + a.data.jstree.icon && + (l.icon = a.data.jstree.icon), + (l.icon === b || null === l.icon || "" === l.icon) && (l.icon = !0), + a && a.data && ((l.data = a.data), a.data.jstree)) + ) + for (h in a.data.jstree) + a.data.jstree.hasOwnProperty(h) && (l.state[h] = a.data.jstree[h]); + if (a && "object" == typeof a.state) + for (h in a.state) a.state.hasOwnProperty(h) && (l.state[h] = a.state[h]); + if (a && "object" == typeof a.li_attr) + for (h in a.li_attr) + a.li_attr.hasOwnProperty(h) && (l.li_attr[h] = a.li_attr[h]); + if ((l.li_attr.id || (l.li_attr.id = e), a && "object" == typeof a.a_attr)) + for (h in a.a_attr) + a.a_attr.hasOwnProperty(h) && (l.a_attr[h] = a.a_attr[h]); + for ( + a && + a.children && + a.children === !0 && + ((l.state.loaded = !1), (l.children = []), (l.children_d = [])), + f[l.id] = l, + h = 0, + i = l.children.length; + i > h; + h++ + ) + ((j = this._parse_model_from_flat_json(f[l.children[h]], l.id, d)), + (k = f[j]), + l.children_d.push(j), + k.children_d.length && + (l.children_d = l.children_d.concat(k.children_d))); + return ( + delete a.data, + delete a.children, + (f[l.id].original = a), + l.state.selected && this._data.core.selected.push(l.id), + l.id + ); + }, + _parse_model_from_json: function (a, c, d) { + ((d = d ? d.concat() : []), c && d.unshift(c)); + var e = !1, + f, + g, + h, + i, + j = this._model.data, + k = this._model.default_state, + l; + do e = "j" + this._id + "_" + ++this._cnt; + while (j[e]); + l = { + id: !1, + text: "string" == typeof a ? a : "", + icon: "object" == typeof a && a.icon !== b ? a.icon : !0, + parent: c, + parents: d, + children: [], + children_d: [], + data: null, + state: {}, + li_attr: { id: !1 }, + a_attr: { href: "#" }, + original: !1, + }; + for (f in k) k.hasOwnProperty(f) && (l.state[f] = k[f]); + if ( + (a && a.id && (l.id = a.id.toString()), + a && a.text && (l.text = a.text), + a && + a.data && + a.data.jstree && + a.data.jstree.icon && + (l.icon = a.data.jstree.icon), + (l.icon === b || null === l.icon || "" === l.icon) && (l.icon = !0), + a && a.data && ((l.data = a.data), a.data.jstree)) + ) + for (f in a.data.jstree) + a.data.jstree.hasOwnProperty(f) && (l.state[f] = a.data.jstree[f]); + if (a && "object" == typeof a.state) + for (f in a.state) a.state.hasOwnProperty(f) && (l.state[f] = a.state[f]); + if (a && "object" == typeof a.li_attr) + for (f in a.li_attr) + a.li_attr.hasOwnProperty(f) && (l.li_attr[f] = a.li_attr[f]); + if ( + (l.li_attr.id && !l.id && (l.id = l.li_attr.id.toString()), + l.id || (l.id = e), + l.li_attr.id || (l.li_attr.id = l.id), + a && "object" == typeof a.a_attr) + ) + for (f in a.a_attr) + a.a_attr.hasOwnProperty(f) && (l.a_attr[f] = a.a_attr[f]); + if (a && a.children && a.children.length) { + for (f = 0, g = a.children.length; g > f; f++) + ((h = this._parse_model_from_json(a.children[f], l.id, d)), + (i = j[h]), + l.children.push(h), + i.children_d.length && + (l.children_d = l.children_d.concat(i.children_d))); + l.children_d = l.children_d.concat(l.children); + } + return ( + a && + a.children && + a.children === !0 && + ((l.state.loaded = !1), (l.children = []), (l.children_d = [])), + delete a.data, + delete a.children, + (l.original = a), + (j[l.id] = l), + l.state.selected && this._data.core.selected.push(l.id), + l.id + ); + }, + _redraw: function () { + var b = this._model.force_full_redraw + ? this._model.data[a.jstree.root].children.concat([]) + : this._model.changed.concat([]), + c = i.createElement("UL"), + d, + e, + f, + g = this._data.core.focused; + for (e = 0, f = b.length; f > e; e++) + ((d = this.redraw_node(b[e], !0, this._model.force_full_redraw)), + d && this._model.force_full_redraw && c.appendChild(d)); + (this._model.force_full_redraw && + ((c.className = this.get_container_ul()[0].className), + c.setAttribute("role", "group"), + this.element.empty().append(c)), + null !== g && + this.settings.core.restore_focus && + ((d = this.get_node(g, !0)), + d && d.length && d.children(".jstree-anchor")[0] !== i.activeElement + ? d.children(".jstree-anchor").focus() + : (this._data.core.focused = null)), + (this._model.force_full_redraw = !1), + (this._model.changed = []), + this.trigger("redraw", { nodes: b })); + }, + redraw: function (a) { + (a && (this._model.force_full_redraw = !0), this._redraw()); + }, + draw_children: function (b) { + var c = this.get_node(b), + d = !1, + e = !1, + f = !1, + g = i; + if (!c) return !1; + if (c.id === a.jstree.root) return this.redraw(!0); + if (((b = this.get_node(b, !0)), !b || !b.length)) return !1; + if ( + (b.children(".jstree-children").remove(), + (b = b[0]), + c.children.length && c.state.loaded) + ) { + for ( + f = g.createElement("UL"), + f.setAttribute("role", "group"), + f.className = "jstree-children", + d = 0, + e = c.children.length; + e > d; + d++ + ) + f.appendChild(this.redraw_node(c.children[d], !0, !0)); + b.appendChild(f); + } + }, + redraw_node: function (b, c, d, e) { + var f = this.get_node(b), + g = !1, + h = !1, + j = !1, + k = !1, + l = !1, + m = !1, + n = "", + o = i, + p = this._model.data, + q = !1, + r = !1, + s = null, + t = 0, + u = 0, + v = !1, + w = !1; + if (!f) return !1; + if (f.id === a.jstree.root) return this.redraw(!0); + if ( + ((c = c || 0 === f.children.length), + (b = i.querySelector + ? this.element[0].querySelector( + "#" + + (-1 !== "0123456789".indexOf(f.id[0]) + ? "\\3" + + f.id[0] + + " " + + f.id.substr(1).replace(a.jstree.idregex, "\\$&") + : f.id.replace(a.jstree.idregex, "\\$&")), + ) + : i.getElementById(f.id))) + ) + ((b = a(b)), + d || + ((g = b.parent().parent()[0]), + g === this.element[0] && (g = null), + (h = b.index())), + c || + !f.children.length || + b.children(".jstree-children").length || + (c = !0), + c || (j = b.children(".jstree-children")[0]), + (q = b.children(".jstree-anchor")[0] === i.activeElement), + b.remove()); + else if (((c = !0), !d)) { + if ( + ((g = + f.parent !== a.jstree.root + ? a("#" + f.parent.replace(a.jstree.idregex, "\\$&"), this.element)[0] + : null), + !(null === g || (g && p[f.parent].state.opened))) + ) + return !1; + h = a.inArray( + f.id, + null === g ? p[a.jstree.root].children : p[f.parent].children, + ); + } + ((b = this._data.core.node.cloneNode(!0)), (n = "jstree-node ")); + for (k in f.li_attr) + if (f.li_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + "class" !== k ? b.setAttribute(k, f.li_attr[k]) : (n += f.li_attr[k]); + } + for ( + f.a_attr.id || (f.a_attr.id = f.id + "_anchor"), + b.setAttribute("aria-selected", !!f.state.selected), + b.setAttribute("aria-level", f.parents.length), + b.setAttribute("aria-labelledby", f.a_attr.id), + f.state.disabled && b.setAttribute("aria-disabled", !0), + k = 0, + l = f.children.length; + l > k; + k++ + ) + if (!p[f.children[k]].state.hidden) { + v = !0; + break; + } + if ( + null !== f.parent && + p[f.parent] && + !f.state.hidden && + ((k = a.inArray(f.id, p[f.parent].children)), (w = f.id), -1 !== k) + ) + for (k++, l = p[f.parent].children.length; l > k; k++) + if ( + (p[p[f.parent].children[k]].state.hidden || + (w = p[f.parent].children[k]), + w !== f.id) + ) + break; + (f.state.hidden && (n += " jstree-hidden"), + f.state.loading && (n += " jstree-loading"), + f.state.loaded && !v + ? (n += " jstree-leaf") + : ((n += + f.state.opened && f.state.loaded ? " jstree-open" : " jstree-closed"), + b.setAttribute("aria-expanded", f.state.opened && f.state.loaded)), + w === f.id && (n += " jstree-last"), + (b.id = f.id), + (b.className = n), + (n = + (f.state.selected ? " jstree-clicked" : "") + + (f.state.disabled ? " jstree-disabled" : ""))); + for (l in f.a_attr) + if (f.a_attr.hasOwnProperty(l)) { + if ("href" === l && "#" === f.a_attr[l]) continue; + "class" !== l + ? b.childNodes[1].setAttribute(l, f.a_attr[l]) + : (n += " " + f.a_attr[l]); + } + if ( + (n.length && (b.childNodes[1].className = "jstree-anchor " + n), + ((f.icon && f.icon !== !0) || f.icon === !1) && + (f.icon === !1 + ? (b.childNodes[1].childNodes[0].className += + " jstree-themeicon-hidden") + : -1 === f.icon.indexOf("/") && -1 === f.icon.indexOf(".") + ? (b.childNodes[1].childNodes[0].className += + " " + f.icon + " jstree-themeicon-custom") + : ((b.childNodes[1].childNodes[0].style.backgroundImage = + 'url("' + f.icon + '")'), + (b.childNodes[1].childNodes[0].style.backgroundPosition = + "center center"), + (b.childNodes[1].childNodes[0].style.backgroundSize = "auto"), + (b.childNodes[1].childNodes[0].className += + " jstree-themeicon-custom"))), + this.settings.core.force_text + ? b.childNodes[1].appendChild(o.createTextNode(f.text)) + : (b.childNodes[1].innerHTML += f.text), + c && f.children.length && (f.state.opened || e) && f.state.loaded) + ) { + for ( + m = o.createElement("UL"), + m.setAttribute("role", "group"), + m.className = "jstree-children", + k = 0, + l = f.children.length; + l > k; + k++ + ) + m.appendChild(this.redraw_node(f.children[k], c, !0)); + b.appendChild(m); + } + if ((j && b.appendChild(j), !d)) { + for (g || (g = this.element[0]), k = 0, l = g.childNodes.length; l > k; k++) + if ( + g.childNodes[k] && + g.childNodes[k].className && + -1 !== g.childNodes[k].className.indexOf("jstree-children") + ) { + s = g.childNodes[k]; + break; + } + (s || + ((s = o.createElement("UL")), + s.setAttribute("role", "group"), + (s.className = "jstree-children"), + g.appendChild(s)), + (g = s), + h < g.childNodes.length + ? g.insertBefore(b, g.childNodes[h]) + : g.appendChild(b), + q && + ((t = this.element[0].scrollTop), + (u = this.element[0].scrollLeft), + b.childNodes[1].focus(), + (this.element[0].scrollTop = t), + (this.element[0].scrollLeft = u))); + } + return ( + f.state.opened && + !f.state.loaded && + ((f.state.opened = !1), + setTimeout( + a.proxy(function () { + this.open_node(f.id, !1, 0); + }, this), + 0, + )), + b + ); + }, + open_node: function (c, d, e) { + var f, g, h, i; + if (a.isArray(c)) { + for (c = c.slice(), f = 0, g = c.length; g > f; f++) + this.open_node(c[f], d, e); + return !0; + } + return ( + (c = this.get_node(c)), + c && c.id !== a.jstree.root + ? ((e = e === b ? this.settings.core.animation : e), + this.is_closed(c) + ? this.is_loaded(c) + ? ((h = this.get_node(c, !0)), + (i = this), + h.length && + (e && + h.children(".jstree-children").length && + h.children(".jstree-children").stop(!0, !0), + c.children.length && + !this._firstChild(h.children(".jstree-children")[0]) && + this.draw_children(c), + e + ? (this.trigger("before_open", { node: c }), + h + .children(".jstree-children") + .css("display", "none") + .end() + .removeClass("jstree-closed") + .addClass("jstree-open") + .attr("aria-expanded", !0) + .children(".jstree-children") + .stop(!0, !0) + .slideDown(e, function () { + ((this.style.display = ""), + i.element && i.trigger("after_open", { node: c })); + })) + : (this.trigger("before_open", { node: c }), + (h[0].className = h[0].className.replace( + "jstree-closed", + "jstree-open", + )), + h[0].setAttribute("aria-expanded", !0))), + (c.state.opened = !0), + d && d.call(this, c, !0), + h.length || this.trigger("before_open", { node: c }), + this.trigger("open_node", { node: c }), + (e && h.length) || this.trigger("after_open", { node: c }), + !0) + : this.is_loading(c) + ? setTimeout( + a.proxy(function () { + this.open_node(c, d, e); + }, this), + 500, + ) + : void this.load_node(c, function (a, b) { + return b + ? this.open_node(a, d, e) + : d + ? d.call(this, a, !1) + : !1; + }) + : (d && d.call(this, c, !1), !1)) + : !1 + ); + }, + _open_to: function (b) { + if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; + var c, + d, + e = b.parents; + for (c = 0, d = e.length; d > c; c += 1) + c !== a.jstree.root && this.open_node(e[c], !1, 0); + return a("#" + b.id.replace(a.jstree.idregex, "\\$&"), this.element); + }, + close_node: function (c, d) { + var e, f, g, h; + if (a.isArray(c)) { + for (c = c.slice(), e = 0, f = c.length; f > e; e++) + this.close_node(c[e], d); + return !0; + } + return ( + (c = this.get_node(c)), + c && c.id !== a.jstree.root + ? this.is_closed(c) + ? !1 + : ((d = d === b ? this.settings.core.animation : d), + (g = this), + (h = this.get_node(c, !0)), + (c.state.opened = !1), + this.trigger("close_node", { node: c }), + void (h.length + ? d + ? h + .children(".jstree-children") + .attr("style", "display:block !important") + .end() + .removeClass("jstree-open") + .addClass("jstree-closed") + .attr("aria-expanded", !1) + .children(".jstree-children") + .stop(!0, !0) + .slideUp(d, function () { + ((this.style.display = ""), + h.children(".jstree-children").remove(), + g.element && g.trigger("after_close", { node: c })); + }) + : ((h[0].className = h[0].className.replace( + "jstree-open", + "jstree-closed", + )), + h + .attr("aria-expanded", !1) + .children(".jstree-children") + .remove(), + this.trigger("after_close", { node: c })) + : this.trigger("after_close", { node: c }))) + : !1 + ); + }, + toggle_node: function (b) { + var c, d; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.toggle_node(b[c]); + return !0; + } + return this.is_closed(b) + ? this.open_node(b) + : this.is_open(b) + ? this.close_node(b) + : void 0; + }, + open_all: function (b, c, d) { + if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; + var e = + b.id === a.jstree.root ? this.get_container_ul() : this.get_node(b, !0), + f, + g, + h; + if (!e.length) { + for (f = 0, g = b.children_d.length; g > f; f++) + this.is_closed(this._model.data[b.children_d[f]]) && + (this._model.data[b.children_d[f]].state.opened = !0); + return this.trigger("open_all", { node: b }); + } + ((d = d || e), + (h = this), + (e = this.is_closed(b) + ? e.find(".jstree-closed").addBack() + : e.find(".jstree-closed")), + e.each(function () { + h.open_node( + this, + function (a, b) { + b && this.is_parent(a) && this.open_all(a, c, d); + }, + c || 0, + ); + }), + 0 === d.find(".jstree-closed").length && + this.trigger("open_all", { node: this.get_node(d) })); + }, + close_all: function (b, c) { + if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; + var d = + b.id === a.jstree.root ? this.get_container_ul() : this.get_node(b, !0), + e = this, + f, + g; + for ( + d.length && + ((d = this.is_open(b) + ? d.find(".jstree-open").addBack() + : d.find(".jstree-open")), + a(d.get().reverse()).each(function () { + e.close_node(this, c || 0); + })), + f = 0, + g = b.children_d.length; + g > f; + f++ + ) + this._model.data[b.children_d[f]].state.opened = !1; + this.trigger("close_all", { node: b }); + }, + is_disabled: function (a) { + return ((a = this.get_node(a)), a && a.state && a.state.disabled); + }, + enable_node: function (b) { + var c, d; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.enable_node(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((b.state.disabled = !1), + this.get_node(b, !0) + .children(".jstree-anchor") + .removeClass("jstree-disabled") + .attr("aria-disabled", !1), + void this.trigger("enable_node", { node: b })) + : !1 + ); + }, + disable_node: function (b) { + var c, d; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) + this.disable_node(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((b.state.disabled = !0), + this.get_node(b, !0) + .children(".jstree-anchor") + .addClass("jstree-disabled") + .attr("aria-disabled", !0), + void this.trigger("disable_node", { node: b })) + : !1 + ); + }, + is_hidden: function (a) { + return ((a = this.get_node(a)), a.state.hidden === !0); + }, + hide_node: function (b, c) { + var d, e; + if (a.isArray(b)) { + for (b = b.slice(), d = 0, e = b.length; e > d; d++) + this.hide_node(b[d], !0); + return (c || this.redraw(), !0); + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? void ( + b.state.hidden || + ((b.state.hidden = !0), + this._node_changed(b.parent), + c || this.redraw(), + this.trigger("hide_node", { node: b })) + ) + : !1 + ); + }, + show_node: function (b, c) { + var d, e; + if (a.isArray(b)) { + for (b = b.slice(), d = 0, e = b.length; e > d; d++) + this.show_node(b[d], !0); + return (c || this.redraw(), !0); + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? void ( + b.state.hidden && + ((b.state.hidden = !1), + this._node_changed(b.parent), + c || this.redraw(), + this.trigger("show_node", { node: b })) + ) + : !1 + ); + }, + hide_all: function (b) { + var c, + d = this._model.data, + e = []; + for (c in d) + d.hasOwnProperty(c) && + c !== a.jstree.root && + !d[c].state.hidden && + ((d[c].state.hidden = !0), e.push(c)); + return ( + (this._model.force_full_redraw = !0), + b || this.redraw(), + this.trigger("hide_all", { nodes: e }), + e + ); + }, + show_all: function (b) { + var c, + d = this._model.data, + e = []; + for (c in d) + d.hasOwnProperty(c) && + c !== a.jstree.root && + d[c].state.hidden && + ((d[c].state.hidden = !1), e.push(c)); + return ( + (this._model.force_full_redraw = !0), + b || this.redraw(), + this.trigger("show_all", { nodes: e }), + e + ); + }, + activate_node: function (a, c) { + if (this.is_disabled(a)) return !1; + if ( + ((c && "object" == typeof c) || (c = {}), + (this._data.core.last_clicked = + this._data.core.last_clicked && this._data.core.last_clicked.id !== b + ? this.get_node(this._data.core.last_clicked.id) + : null), + this._data.core.last_clicked && + !this._data.core.last_clicked.state.selected && + (this._data.core.last_clicked = null), + !this._data.core.last_clicked && + this._data.core.selected.length && + (this._data.core.last_clicked = this.get_node( + this._data.core.selected[this._data.core.selected.length - 1], + )), + this.settings.core.multiple && + (c.metaKey || c.ctrlKey || c.shiftKey) && + (!c.shiftKey || + (this._data.core.last_clicked && + this.get_parent(a) && + this.get_parent(a) === this._data.core.last_clicked.parent))) + ) + if (c.shiftKey) { + var d = this.get_node(a).id, + e = this._data.core.last_clicked.id, + f = this.get_node(this._data.core.last_clicked.parent).children, + g = !1, + h, + i; + for (h = 0, i = f.length; i > h; h += 1) + (f[h] === d && (g = !g), + f[h] === e && (g = !g), + this.is_disabled(f[h]) || (!g && f[h] !== d && f[h] !== e) + ? this.deselect_node(f[h], !0, c) + : this.is_hidden(f[h]) || this.select_node(f[h], !0, !1, c)); + this.trigger("changed", { + action: "select_node", + node: this.get_node(a), + selected: this._data.core.selected, + event: c, + }); + } else + this.is_selected(a) + ? this.deselect_node(a, !1, c) + : this.select_node(a, !1, !1, c); + else + !this.settings.core.multiple && + (c.metaKey || c.ctrlKey || c.shiftKey) && + this.is_selected(a) + ? this.deselect_node(a, !1, c) + : (this.deselect_all(!0), + this.select_node(a, !1, !1, c), + (this._data.core.last_clicked = this.get_node(a))); + this.trigger("activate_node", { node: this.get_node(a), event: c }); + }, + hover_node: function (a) { + if ( + ((a = this.get_node(a, !0)), + !a || !a.length || a.children(".jstree-hovered").length) + ) + return !1; + var b = this.element.find(".jstree-hovered"), + c = this.element; + (b && b.length && this.dehover_node(b), + a.children(".jstree-anchor").addClass("jstree-hovered"), + this.trigger("hover_node", { node: this.get_node(a) }), + setTimeout(function () { + c.attr("aria-activedescendant", a[0].id); + }, 0)); + }, + dehover_node: function (a) { + return ( + (a = this.get_node(a, !0)), + a && a.length && a.children(".jstree-hovered").length + ? (a.children(".jstree-anchor").removeClass("jstree-hovered"), + void this.trigger("dehover_node", { node: this.get_node(a) })) + : !1 + ); + }, + select_node: function (b, c, d, e) { + var f, g, h, i; + if (a.isArray(b)) { + for (b = b.slice(), g = 0, h = b.length; h > g; g++) + this.select_node(b[g], c, d, e); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((f = this.get_node(b, !0)), + void ( + b.state.selected || + ((b.state.selected = !0), + this._data.core.selected.push(b.id), + d || (f = this._open_to(b)), + f && + f.length && + f + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass("jstree-clicked"), + this.trigger("select_node", { + node: b, + selected: this._data.core.selected, + event: e, + }), + c || + this.trigger("changed", { + action: "select_node", + node: b, + selected: this._data.core.selected, + event: e, + })) + )) + : !1 + ); + }, + deselect_node: function (b, c, d) { + var e, f, g; + if (a.isArray(b)) { + for (b = b.slice(), e = 0, f = b.length; f > e; e++) + this.deselect_node(b[e], c, d); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((g = this.get_node(b, !0)), + void ( + b.state.selected && + ((b.state.selected = !1), + (this._data.core.selected = a.vakata.array_remove_item( + this._data.core.selected, + b.id, + )), + g.length && + g + .attr("aria-selected", !1) + .children(".jstree-anchor") + .removeClass("jstree-clicked"), + this.trigger("deselect_node", { + node: b, + selected: this._data.core.selected, + event: d, + }), + c || + this.trigger("changed", { + action: "deselect_node", + node: b, + selected: this._data.core.selected, + event: d, + })) + )) + : !1 + ); + }, + select_all: function (b) { + var c = this._data.core.selected.concat([]), + d, + e; + for ( + this._data.core.selected = + this._model.data[a.jstree.root].children_d.concat(), + d = 0, + e = this._data.core.selected.length; + e > d; + d++ + ) + this._model.data[this._data.core.selected[d]] && + (this._model.data[this._data.core.selected[d]].state.selected = !0); + (this.redraw(!0), + this.trigger("select_all", { selected: this._data.core.selected }), + b || + this.trigger("changed", { + action: "select_all", + selected: this._data.core.selected, + old_selection: c, + })); + }, + deselect_all: function (a) { + var b = this._data.core.selected.concat([]), + c, + d; + for (c = 0, d = this._data.core.selected.length; d > c; c++) + this._model.data[this._data.core.selected[c]] && + (this._model.data[this._data.core.selected[c]].state.selected = !1); + ((this._data.core.selected = []), + this.element + .find(".jstree-clicked") + .removeClass("jstree-clicked") + .parent() + .attr("aria-selected", !1), + this.trigger("deselect_all", { + selected: this._data.core.selected, + node: b, + }), + a || + this.trigger("changed", { + action: "deselect_all", + selected: this._data.core.selected, + old_selection: b, + })); + }, + is_selected: function (b) { + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root ? b.state.selected : !1 + ); + }, + get_selected: function (b) { + return b + ? a.map( + this._data.core.selected, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : this._data.core.selected.slice(); + }, + get_top_selected: function (b) { + var c = this.get_selected(!0), + d = {}, + e, + f, + g, + h; + for (e = 0, f = c.length; f > e; e++) d[c[e].id] = c[e]; + for (e = 0, f = c.length; f > e; e++) + for (g = 0, h = c[e].children_d.length; h > g; g++) + d[c[e].children_d[g]] && delete d[c[e].children_d[g]]; + c = []; + for (e in d) d.hasOwnProperty(e) && c.push(e); + return b + ? a.map( + c, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : c; + }, + get_bottom_selected: function (b) { + var c = this.get_selected(!0), + d = [], + e, + f; + for (e = 0, f = c.length; f > e; e++) c[e].children.length || d.push(c[e].id); + return b + ? a.map( + d, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : d; + }, + get_state: function () { + var b = { + core: { + open: [], + loaded: [], + scroll: { + left: this.element.scrollLeft(), + top: this.element.scrollTop(), + }, + selected: [], + }, + }, + c; + for (c in this._model.data) + this._model.data.hasOwnProperty(c) && + c !== a.jstree.root && + (this._model.data[c].state.loaded && + this.settings.core.loaded_state && + b.core.loaded.push(c), + this._model.data[c].state.opened && b.core.open.push(c), + this._model.data[c].state.selected && b.core.selected.push(c)); + return b; + }, + set_state: function (c, d) { + if (c) { + if ( + (c.core && + c.core.selected && + c.core.initial_selection === b && + (c.core.initial_selection = this._data.core.selected + .concat([]) + .sort() + .join(",")), + c.core) + ) { + var e, f, g, h, i; + if (c.core.loaded) + return ( + this.settings.core.loaded_state && + a.isArray(c.core.loaded) && + c.core.loaded.length + ? this._load_nodes(c.core.loaded, function (a) { + (delete c.core.loaded, this.set_state(c, d)); + }) + : (delete c.core.loaded, this.set_state(c, d)), + !1 + ); + if (c.core.open) + return ( + a.isArray(c.core.open) && c.core.open.length + ? this._load_nodes(c.core.open, function (a) { + (this.open_node(a, !1, 0), + delete c.core.open, + this.set_state(c, d)); + }) + : (delete c.core.open, this.set_state(c, d)), + !1 + ); + if (c.core.scroll) + return ( + c.core.scroll && + c.core.scroll.left !== b && + this.element.scrollLeft(c.core.scroll.left), + c.core.scroll && + c.core.scroll.top !== b && + this.element.scrollTop(c.core.scroll.top), + delete c.core.scroll, + this.set_state(c, d), + !1 + ); + if (c.core.selected) + return ( + (h = this), + (c.core.initial_selection === b || + c.core.initial_selection === + this._data.core.selected.concat([]).sort().join(",")) && + (this.deselect_all(), + a.each(c.core.selected, function (a, b) { + h.select_node(b, !1, !0); + })), + delete c.core.initial_selection, + delete c.core.selected, + this.set_state(c, d), + !1 + ); + for (i in c) + c.hasOwnProperty(i) && + "core" !== i && + -1 === a.inArray(i, this.settings.plugins) && + delete c[i]; + if (a.isEmptyObject(c.core)) + return (delete c.core, this.set_state(c, d), !1); + } + return a.isEmptyObject(c) + ? ((c = null), d && d.call(this), this.trigger("set_state"), !1) + : !0; + } + return !1; + }, + refresh: function (b, c) { + ((this._data.core.state = c === !0 ? {} : this.get_state()), + c && + a.isFunction(c) && + (this._data.core.state = c.call(this, this._data.core.state)), + (this._cnt = 0), + (this._model.data = {}), + (this._model.data[a.jstree.root] = { + id: a.jstree.root, + parent: null, + parents: [], + children: [], + children_d: [], + state: { loaded: !1 }, + }), + (this._data.core.selected = []), + (this._data.core.last_clicked = null), + (this._data.core.focused = null)); + var d = this.get_container_ul()[0].className; + (b || + (this.element.html( + "", + ), + this.element.attr("aria-activedescendant", "j" + this._id + "_loading")), + this.load_node(a.jstree.root, function (b, c) { + (c && + ((this.get_container_ul()[0].className = d), + this._firstChild(this.get_container_ul()[0]) && + this.element.attr( + "aria-activedescendant", + this._firstChild(this.get_container_ul()[0]).id, + ), + this.set_state(a.extend(!0, {}, this._data.core.state), function () { + this.trigger("refresh"); + })), + (this._data.core.state = null)); + })); + }, + refresh_node: function (b) { + if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; + var c = [], + d = [], + e = this._data.core.selected.concat([]); + (d.push(b.id), + b.state.opened === !0 && c.push(b.id), + this.get_node(b, !0) + .find(".jstree-open") + .each(function () { + (d.push(this.id), c.push(this.id)); + }), + this._load_nodes( + d, + a.proxy(function (a) { + (this.open_node(c, !1, 0), + this.select_node(e), + this.trigger("refresh_node", { node: b, nodes: a })); + }, this), + !1, + !0, + )); + }, + set_id: function (b, c) { + if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; + var d, + e, + f = this._model.data, + g = b.id; + for ( + c = c.toString(), + f[b.parent].children[a.inArray(b.id, f[b.parent].children)] = c, + d = 0, + e = b.parents.length; + e > d; + d++ + ) + f[b.parents[d]].children_d[a.inArray(b.id, f[b.parents[d]].children_d)] = c; + for (d = 0, e = b.children.length; e > d; d++) f[b.children[d]].parent = c; + for (d = 0, e = b.children_d.length; e > d; d++) + f[b.children_d[d]].parents[a.inArray(b.id, f[b.children_d[d]].parents)] = c; + return ( + (d = a.inArray(b.id, this._data.core.selected)), + -1 !== d && (this._data.core.selected[d] = c), + (d = this.get_node(b.id, !0)), + d && + (d.attr("id", c), + this.element.attr("aria-activedescendant") === b.id && + this.element.attr("aria-activedescendant", c)), + delete f[b.id], + (b.id = c), + (b.li_attr.id = c), + (f[c] = b), + this.trigger("set_id", { node: b, new: b.id, old: g }), + !0 + ); + }, + get_text: function (b) { + return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.text : !1); + }, + set_text: function (b, c) { + var d, e; + if (a.isArray(b)) { + for (b = b.slice(), d = 0, e = b.length; e > d; d++) this.set_text(b[d], c); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((b.text = c), + this.get_node(b, !0).length && this.redraw_node(b.id), + this.trigger("set_text", { obj: b, text: c }), + !0) + : !1 + ); + }, + get_json: function (b, c, d) { + if (((b = this.get_node(b || a.jstree.root)), !b)) return !1; + c && c.flat && !d && (d = []); + var e = { + id: b.id, + text: b.text, + icon: this.get_icon(b), + li_attr: a.extend(!0, {}, b.li_attr), + a_attr: a.extend(!0, {}, b.a_attr), + state: {}, + data: + c && c.no_data ? !1 : a.extend(!0, a.isArray(b.data) ? [] : {}, b.data), + }, + f, + g; + if ( + (c && c.flat ? (e.parent = b.parent) : (e.children = []), c && c.no_state) + ) + delete e.state; + else + for (f in b.state) b.state.hasOwnProperty(f) && (e.state[f] = b.state[f]); + if ( + (c && c.no_li_attr && delete e.li_attr, + c && c.no_a_attr && delete e.a_attr, + c && + c.no_id && + (delete e.id, + e.li_attr && e.li_attr.id && delete e.li_attr.id, + e.a_attr && e.a_attr.id && delete e.a_attr.id), + c && c.flat && b.id !== a.jstree.root && d.push(e), + !c || !c.no_children) + ) + for (f = 0, g = b.children.length; g > f; f++) + c && c.flat + ? this.get_json(b.children[f], c, d) + : e.children.push(this.get_json(b.children[f], c)); + return c && c.flat ? d : b.id === a.jstree.root ? e.children : e; + }, + create_node: function (c, d, e, f, g) { + if ((null === c && (c = a.jstree.root), (c = this.get_node(c)), !c)) + return !1; + if ( + ((e = e === b ? "last" : e), + !e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(c)) + ) + return this.load_node(c, function () { + this.create_node(c, d, e, f, !0); + }); + (d || (d = { text: this.get_string("New node") }), + (d = "string" == typeof d ? { text: d } : a.extend(!0, {}, d)), + d.text === b && (d.text = this.get_string("New node"))); + var h, i, j, k; + switch ( + (c.id === a.jstree.root && + ("before" === e && (e = "first"), "after" === e && (e = "last")), + e) + ) { + case "before": + ((h = this.get_node(c.parent)), + (e = a.inArray(c.id, h.children)), + (c = h)); + break; + case "after": + ((h = this.get_node(c.parent)), + (e = a.inArray(c.id, h.children) + 1), + (c = h)); + break; + case "inside": + case "first": + e = 0; + break; + case "last": + e = c.children.length; + break; + default: + e || (e = 0); + } + if ( + (e > c.children.length && (e = c.children.length), + d.id || (d.id = !0), + !this.check("create_node", d, c, e)) + ) + return ( + this.settings.core.error.call(this, this._data.core.last_error), + !1 + ); + if ( + (d.id === !0 && delete d.id, + (d = this._parse_model_from_json(d, c.id, c.parents.concat())), + !d) + ) + return !1; + for ( + h = this.get_node(d), + i = [], + i.push(d), + i = i.concat(h.children_d), + this.trigger("model", { nodes: i, parent: c.id }), + c.children_d = c.children_d.concat(i), + j = 0, + k = c.parents.length; + k > j; + j++ + ) + this._model.data[c.parents[j]].children_d = + this._model.data[c.parents[j]].children_d.concat(i); + for (d = h, h = [], j = 0, k = c.children.length; k > j; j++) + h[j >= e ? j + 1 : j] = c.children[j]; + return ( + (h[e] = d.id), + (c.children = h), + this.redraw_node(c, !0), + this.trigger("create_node", { + node: this.get_node(d), + parent: c.id, + position: e, + }), + f && f.call(this, this.get_node(d)), + d.id + ); + }, + rename_node: function (b, c) { + var d, e, f; + if (a.isArray(b)) { + for (b = b.slice(), d = 0, e = b.length; e > d; d++) + this.rename_node(b[d], c); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((f = b.text), + this.check("rename_node", b, this.get_parent(b), c) + ? (this.set_text(b, c), + this.trigger("rename_node", { node: b, text: c, old: f }), + !0) + : (this.settings.core.error.call(this, this._data.core.last_error), + !1)) + : !1 + ); + }, + delete_node: function (b) { + var c, d, e, f, g, h, i, j, k, l, m, n; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.delete_node(b[c]); + return !0; + } + if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; + if ( + ((e = this.get_node(b.parent)), + (f = a.inArray(b.id, e.children)), + (l = !1), + !this.check("delete_node", b, e, f)) + ) + return ( + this.settings.core.error.call(this, this._data.core.last_error), + !1 + ); + for ( + -1 !== f && (e.children = a.vakata.array_remove(e.children, f)), + g = b.children_d.concat([]), + g.push(b.id), + h = 0, + i = b.parents.length; + i > h; + h++ + ) + this._model.data[b.parents[h]].children_d = a.vakata.array_filter( + this._model.data[b.parents[h]].children_d, + function (b) { + return -1 === a.inArray(b, g); + }, + ); + for (j = 0, k = g.length; k > j; j++) + if (this._model.data[g[j]].state.selected) { + l = !0; + break; + } + for ( + l && + (this._data.core.selected = a.vakata.array_filter( + this._data.core.selected, + function (b) { + return -1 === a.inArray(b, g); + }, + )), + this.trigger("delete_node", { node: b, parent: e.id }), + l && + this.trigger("changed", { + action: "delete_node", + node: b, + selected: this._data.core.selected, + parent: e.id, + }), + j = 0, + k = g.length; + k > j; + j++ + ) + delete this._model.data[g[j]]; + return ( + -1 !== a.inArray(this._data.core.focused, g) && + ((this._data.core.focused = null), + (m = this.element[0].scrollTop), + (n = this.element[0].scrollLeft), + e.id === a.jstree.root + ? this._model.data[a.jstree.root].children[0] && + this.get_node(this._model.data[a.jstree.root].children[0], !0) + .children(".jstree-anchor") + .focus() + : this.get_node(e, !0).children(".jstree-anchor").focus(), + (this.element[0].scrollTop = m), + (this.element[0].scrollLeft = n)), + this.redraw_node(e, !0), + !0 + ); + }, + check: function (b, c, d, e, f) { + ((c = c && c.id ? c : this.get_node(c)), + (d = d && d.id ? d : this.get_node(d))); + var g = b.match(/^move_node|copy_node|create_node$/i) ? d : c, + h = this.settings.core.check_callback; + return ("move_node" !== b && "copy_node" !== b) || + (f && f.is_multi) || + (c.id !== d.id && + ("move_node" !== b || a.inArray(c.id, d.children) !== e) && + -1 === a.inArray(d.id, c.children_d)) + ? (g && g.data && (g = g.data), + g && g.functions && (g.functions[b] === !1 || g.functions[b] === !0) + ? (g.functions[b] === !1 && + (this._data.core.last_error = { + error: "check", + plugin: "core", + id: "core_02", + reason: "Node data prevents function: " + b, + data: JSON.stringify({ + chk: b, + pos: e, + obj: c && c.id ? c.id : !1, + par: d && d.id ? d.id : !1, + }), + }), + g.functions[b]) + : h === !1 || + (a.isFunction(h) && h.call(this, b, c, d, e, f) === !1) || + (h && h[b] === !1) + ? ((this._data.core.last_error = { + error: "check", + plugin: "core", + id: "core_03", + reason: + "User config for core.check_callback prevents function: " + b, + data: JSON.stringify({ + chk: b, + pos: e, + obj: c && c.id ? c.id : !1, + par: d && d.id ? d.id : !1, + }), + }), + !1) + : !0) + : ((this._data.core.last_error = { + error: "check", + plugin: "core", + id: "core_01", + reason: "Moving parent inside child", + data: JSON.stringify({ + chk: b, + pos: e, + obj: c && c.id ? c.id : !1, + par: d && d.id ? d.id : !1, + }), + }), + !1); + }, + last_error: function () { + return this._data.core.last_error; + }, + move_node: function (c, d, e, f, g, h, i) { + var j, k, l, m, n, o, p, q, r, s, t, u, v, w; + if (((d = this.get_node(d)), (e = e === b ? 0 : e), !d)) return !1; + if (!e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(d)) + return this.load_node(d, function () { + this.move_node(c, d, e, f, !0, !1, i); + }); + if (a.isArray(c)) { + if (1 !== c.length) { + for (j = 0, k = c.length; k > j; j++) + (r = this.move_node(c[j], d, e, f, g, !1, i)) && + ((d = r), (e = "after")); + return (this.redraw(), !0); + } + c = c[0]; + } + if (((c = c && c.id ? c : this.get_node(c)), !c || c.id === a.jstree.root)) + return !1; + if ( + ((l = (c.parent || a.jstree.root).toString()), + (n = + e.toString().match(/^(before|after)$/) && d.id !== a.jstree.root + ? this.get_node(d.parent) + : d), + (o = i ? i : this._model.data[c.id] ? this : a.jstree.reference(c.id)), + (p = !o || !o._id || this._id !== o._id), + (m = + o && o._id && l && o._model.data[l] && o._model.data[l].children + ? a.inArray(c.id, o._model.data[l].children) + : -1), + o && o._id && (c = o._model.data[c.id]), + p) + ) + return (r = this.copy_node(c, d, e, f, g, !1, i)) + ? (o && o.delete_node(c), r) + : !1; + switch ( + (d.id === a.jstree.root && + ("before" === e && (e = "first"), "after" === e && (e = "last")), + e) + ) { + case "before": + e = a.inArray(d.id, n.children); + break; + case "after": + e = a.inArray(d.id, n.children) + 1; + break; + case "inside": + case "first": + e = 0; + break; + case "last": + e = n.children.length; + break; + default: + e || (e = 0); + } + if ( + (e > n.children.length && (e = n.children.length), + !this.check("move_node", c, n, e, { + core: !0, + origin: i, + is_multi: o && o._id && o._id !== this._id, + is_foreign: !o || !o._id, + })) + ) + return ( + this.settings.core.error.call(this, this._data.core.last_error), + !1 + ); + if (c.parent === n.id) { + for ( + q = n.children.concat(), + r = a.inArray(c.id, q), + -1 !== r && ((q = a.vakata.array_remove(q, r)), e > r && e--), + r = [], + s = 0, + t = q.length; + t > s; + s++ + ) + r[s >= e ? s + 1 : s] = q[s]; + ((r[e] = c.id), + (n.children = r), + this._node_changed(n.id), + this.redraw(n.id === a.jstree.root)); + } else { + for ( + r = c.children_d.concat(), r.push(c.id), s = 0, t = c.parents.length; + t > s; + s++ + ) { + for ( + q = [], w = o._model.data[c.parents[s]].children_d, u = 0, v = w.length; + v > u; + u++ + ) + -1 === a.inArray(w[u], r) && q.push(w[u]); + o._model.data[c.parents[s]].children_d = q; + } + for ( + o._model.data[l].children = a.vakata.array_remove_item( + o._model.data[l].children, + c.id, + ), + s = 0, + t = n.parents.length; + t > s; + s++ + ) + this._model.data[n.parents[s]].children_d = + this._model.data[n.parents[s]].children_d.concat(r); + for (q = [], s = 0, t = n.children.length; t > s; s++) + q[s >= e ? s + 1 : s] = n.children[s]; + for ( + q[e] = c.id, + n.children = q, + n.children_d.push(c.id), + n.children_d = n.children_d.concat(c.children_d), + c.parent = n.id, + r = n.parents.concat(), + r.unshift(n.id), + w = c.parents.length, + c.parents = r, + r = r.concat(), + s = 0, + t = c.children_d.length; + t > s; + s++ + ) + ((this._model.data[c.children_d[s]].parents = this._model.data[ + c.children_d[s] + ].parents.slice(0, -1 * w)), + Array.prototype.push.apply( + this._model.data[c.children_d[s]].parents, + r, + )); + ((l === a.jstree.root || n.id === a.jstree.root) && + (this._model.force_full_redraw = !0), + this._model.force_full_redraw || + (this._node_changed(l), this._node_changed(n.id)), + h || this.redraw()); + } + return ( + f && f.call(this, c, n, e), + this.trigger("move_node", { + node: c, + parent: n.id, + position: e, + old_parent: l, + old_position: m, + is_multi: o && o._id && o._id !== this._id, + is_foreign: !o || !o._id, + old_instance: o, + new_instance: this, + }), + c.id + ); + }, + copy_node: function (c, d, e, f, g, h, i) { + var j, k, l, m, n, o, p, q, r, s, t; + if (((d = this.get_node(d)), (e = e === b ? 0 : e), !d)) return !1; + if (!e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(d)) + return this.load_node(d, function () { + this.copy_node(c, d, e, f, !0, !1, i); + }); + if (a.isArray(c)) { + if (1 !== c.length) { + for (j = 0, k = c.length; k > j; j++) + (m = this.copy_node(c[j], d, e, f, g, !0, i)) && + ((d = m), (e = "after")); + return (this.redraw(), !0); + } + c = c[0]; + } + if (((c = c && c.id ? c : this.get_node(c)), !c || c.id === a.jstree.root)) + return !1; + switch ( + ((q = (c.parent || a.jstree.root).toString()), + (r = + e.toString().match(/^(before|after)$/) && d.id !== a.jstree.root + ? this.get_node(d.parent) + : d), + (s = i ? i : this._model.data[c.id] ? this : a.jstree.reference(c.id)), + (t = !s || !s._id || this._id !== s._id), + s && s._id && (c = s._model.data[c.id]), + d.id === a.jstree.root && + ("before" === e && (e = "first"), "after" === e && (e = "last")), + e) + ) { + case "before": + e = a.inArray(d.id, r.children); + break; + case "after": + e = a.inArray(d.id, r.children) + 1; + break; + case "inside": + case "first": + e = 0; + break; + case "last": + e = r.children.length; + break; + default: + e || (e = 0); + } + if ( + (e > r.children.length && (e = r.children.length), + !this.check("copy_node", c, r, e, { + core: !0, + origin: i, + is_multi: s && s._id && s._id !== this._id, + is_foreign: !s || !s._id, + })) + ) + return ( + this.settings.core.error.call(this, this._data.core.last_error), + !1 + ); + if ( + ((p = s ? s.get_json(c, { no_id: !0, no_data: !0, no_state: !0 }) : c), !p) + ) + return !1; + if ( + (p.id === !0 && delete p.id, + (p = this._parse_model_from_json(p, r.id, r.parents.concat())), + !p) + ) + return !1; + for ( + m = this.get_node(p), + c && c.state && c.state.loaded === !1 && (m.state.loaded = !1), + l = [], + l.push(p), + l = l.concat(m.children_d), + this.trigger("model", { nodes: l, parent: r.id }), + n = 0, + o = r.parents.length; + o > n; + n++ + ) + this._model.data[r.parents[n]].children_d = + this._model.data[r.parents[n]].children_d.concat(l); + for (l = [], n = 0, o = r.children.length; o > n; n++) + l[n >= e ? n + 1 : n] = r.children[n]; + return ( + (l[e] = m.id), + (r.children = l), + r.children_d.push(m.id), + (r.children_d = r.children_d.concat(m.children_d)), + r.id === a.jstree.root && (this._model.force_full_redraw = !0), + this._model.force_full_redraw || this._node_changed(r.id), + h || this.redraw(r.id === a.jstree.root), + f && f.call(this, m, r, e), + this.trigger("copy_node", { + node: m, + original: c, + parent: r.id, + position: e, + old_parent: q, + old_position: + s && s._id && q && s._model.data[q] && s._model.data[q].children + ? a.inArray(c.id, s._model.data[q].children) + : -1, + is_multi: s && s._id && s._id !== this._id, + is_foreign: !s || !s._id, + old_instance: s, + new_instance: this, + }), + m.id + ); + }, + cut: function (b) { + if ( + (b || (b = this._data.core.selected.concat()), + a.isArray(b) || (b = [b]), + !b.length) + ) + return !1; + var c = [], + g, + h, + i; + for (h = 0, i = b.length; i > h; h++) + ((g = this.get_node(b[h])), + g && g.id && g.id !== a.jstree.root && c.push(g)); + return c.length + ? ((d = c), + (f = this), + (e = "move_node"), + void this.trigger("cut", { node: b })) + : !1; + }, + copy: function (b) { + if ( + (b || (b = this._data.core.selected.concat()), + a.isArray(b) || (b = [b]), + !b.length) + ) + return !1; + var c = [], + g, + h, + i; + for (h = 0, i = b.length; i > h; h++) + ((g = this.get_node(b[h])), + g && g.id && g.id !== a.jstree.root && c.push(g)); + return c.length + ? ((d = c), + (f = this), + (e = "copy_node"), + void this.trigger("copy", { node: b })) + : !1; + }, + get_buffer: function () { + return { mode: e, node: d, inst: f }; + }, + can_paste: function () { + return e !== !1 && d !== !1; + }, + paste: function (a, b) { + return ( + (a = this.get_node(a)), + a && e && e.match(/^(copy_node|move_node)$/) && d + ? (this[e](d, a, b, !1, !1, !1, f) && + this.trigger("paste", { parent: a.id, node: d, mode: e }), + (d = !1), + (e = !1), + void (f = !1)) + : !1 + ); + }, + clear_buffer: function () { + ((d = !1), (e = !1), (f = !1), this.trigger("clear_buffer")); + }, + edit: function (b, c, d) { + var e, + f, + g, + h, + j, + k, + l, + m, + n, + o = !1; + return (b = this.get_node(b)) + ? this.check("edit", b, this.get_parent(b)) + ? ((n = b), + (c = "string" == typeof c ? c : b.text), + this.set_text(b, ""), + (b = this._open_to(b)), + (n.text = c), + (e = this._data.core.rtl), + (f = this.element.width()), + (this._data.core.focused = n.id), + (g = b.children(".jstree-anchor").focus()), + (h = a("")), + (j = c), + (k = a("
    ", { + css: { + position: "absolute", + top: "-200px", + left: e ? "0px" : "-1000px", + visibility: "hidden", + }, + }).appendTo(i.body)), + (l = a("", { + value: j, + class: "jstree-rename-input", + css: { + padding: "0", + border: "1px solid silver", + "box-sizing": "border-box", + display: "inline-block", + height: this._data.core.li_height + "px", + lineHeight: this._data.core.li_height + "px", + width: "150px", + }, + blur: a.proxy(function (c) { + (c.stopImmediatePropagation(), c.preventDefault()); + var e = h.children(".jstree-rename-input"), + f = e.val(), + i = this.settings.core.force_text, + m; + ("" === f && (f = j), + k.remove(), + h.replaceWith(g), + h.remove(), + (j = i ? j : a("
    ").append(a.parseHTML(j)).html()), + (b = this.get_node(b)), + this.set_text(b, j), + (m = !!this.rename_node( + b, + i + ? a("
    ").text(f).text() + : a("
    ").append(a.parseHTML(f)).html(), + )), + m || this.set_text(b, j), + (this._data.core.focused = n.id), + setTimeout( + a.proxy(function () { + var a = this.get_node(n.id, !0); + a.length && + ((this._data.core.focused = n.id), + a.children(".jstree-anchor").focus()); + }, this), + 0, + ), + d && d.call(this, n, m, o), + (l = null)); + }, this), + keydown: function (a) { + var b = a.which; + (27 === b && ((o = !0), (this.value = j)), + (27 === b || + 13 === b || + 37 === b || + 38 === b || + 39 === b || + 40 === b || + 32 === b) && + a.stopImmediatePropagation(), + (27 === b || 13 === b) && (a.preventDefault(), this.blur())); + }, + click: function (a) { + a.stopImmediatePropagation(); + }, + mousedown: function (a) { + a.stopImmediatePropagation(); + }, + keyup: function (a) { + l.width(Math.min(k.text("pW" + this.value).width(), f)); + }, + keypress: function (a) { + return 13 === a.which ? !1 : void 0; + }, + })), + (m = { + fontFamily: g.css("fontFamily") || "", + fontSize: g.css("fontSize") || "", + fontWeight: g.css("fontWeight") || "", + fontStyle: g.css("fontStyle") || "", + fontStretch: g.css("fontStretch") || "", + fontVariant: g.css("fontVariant") || "", + letterSpacing: g.css("letterSpacing") || "", + wordSpacing: g.css("wordSpacing") || "", + }), + h.attr("class", g.attr("class")).append(g.contents().clone()).append(l), + g.replaceWith(h), + k.css(m), + l + .css(m) + .width(Math.min(k.text("pW" + l[0].value).width(), f))[0] + .select(), + void a(i).one( + "mousedown.jstree touchstart.jstree dnd_start.vakata", + function (b) { + l && b.target !== l && a(l).blur(); + }, + )) + : (this.settings.core.error.call(this, this._data.core.last_error), !1) + : !1; + }, + set_theme: function (b, c) { + if (!b) return !1; + if (c === !0) { + var d = this.settings.core.themes.dir; + (d || (d = a.jstree.path + "/themes"), (c = d + "/" + b + "/style.css")); + } + (c && + -1 === a.inArray(c, g) && + (a("head").append( + '', + ), + g.push(c)), + this._data.core.themes.name && + this.element.removeClass("jstree-" + this._data.core.themes.name), + (this._data.core.themes.name = b), + this.element.addClass("jstree-" + b), + this.element[ + this.settings.core.themes.responsive ? "addClass" : "removeClass" + ]("jstree-" + b + "-responsive"), + this.trigger("set_theme", { theme: b })); + }, + get_theme: function () { + return this._data.core.themes.name; + }, + set_theme_variant: function (a) { + (this._data.core.themes.variant && + this.element.removeClass( + "jstree-" + + this._data.core.themes.name + + "-" + + this._data.core.themes.variant, + ), + (this._data.core.themes.variant = a), + a && + this.element.addClass( + "jstree-" + + this._data.core.themes.name + + "-" + + this._data.core.themes.variant, + )); + }, + get_theme_variant: function () { + return this._data.core.themes.variant; + }, + show_stripes: function () { + ((this._data.core.themes.stripes = !0), + this.get_container_ul().addClass("jstree-striped"), + this.trigger("show_stripes")); + }, + hide_stripes: function () { + ((this._data.core.themes.stripes = !1), + this.get_container_ul().removeClass("jstree-striped"), + this.trigger("hide_stripes")); + }, + toggle_stripes: function () { + this._data.core.themes.stripes ? this.hide_stripes() : this.show_stripes(); + }, + show_dots: function () { + ((this._data.core.themes.dots = !0), + this.get_container_ul().removeClass("jstree-no-dots"), + this.trigger("show_dots")); + }, + hide_dots: function () { + ((this._data.core.themes.dots = !1), + this.get_container_ul().addClass("jstree-no-dots"), + this.trigger("hide_dots")); + }, + toggle_dots: function () { + this._data.core.themes.dots ? this.hide_dots() : this.show_dots(); + }, + show_icons: function () { + ((this._data.core.themes.icons = !0), + this.get_container_ul().removeClass("jstree-no-icons"), + this.trigger("show_icons")); + }, + hide_icons: function () { + ((this._data.core.themes.icons = !1), + this.get_container_ul().addClass("jstree-no-icons"), + this.trigger("hide_icons")); + }, + toggle_icons: function () { + this._data.core.themes.icons ? this.hide_icons() : this.show_icons(); + }, + show_ellipsis: function () { + ((this._data.core.themes.ellipsis = !0), + this.get_container_ul().addClass("jstree-ellipsis"), + this.trigger("show_ellipsis")); + }, + hide_ellipsis: function () { + ((this._data.core.themes.ellipsis = !1), + this.get_container_ul().removeClass("jstree-ellipsis"), + this.trigger("hide_ellipsis")); + }, + toggle_ellipsis: function () { + this._data.core.themes.ellipsis ? this.hide_ellipsis() : this.show_ellipsis(); + }, + set_icon: function (c, d) { + var e, f, g, h; + if (a.isArray(c)) { + for (c = c.slice(), e = 0, f = c.length; f > e; e++) this.set_icon(c[e], d); + return !0; + } + return ( + (c = this.get_node(c)), + c && c.id !== a.jstree.root + ? ((h = c.icon), + (c.icon = d === !0 || null === d || d === b || "" === d ? !0 : d), + (g = this.get_node(c, !0) + .children(".jstree-anchor") + .children(".jstree-themeicon")), + d === !1 + ? (g + .removeClass("jstree-themeicon-custom " + h) + .css("background", "") + .removeAttr("rel"), + this.hide_icon(c)) + : d === !0 || null === d || d === b || "" === d + ? (g + .removeClass("jstree-themeicon-custom " + h) + .css("background", "") + .removeAttr("rel"), + h === !1 && this.show_icon(c)) + : -1 === d.indexOf("/") && -1 === d.indexOf(".") + ? (g.removeClass(h).css("background", ""), + g.addClass(d + " jstree-themeicon-custom").attr("rel", d), + h === !1 && this.show_icon(c)) + : (g.removeClass(h).css("background", ""), + g + .addClass("jstree-themeicon-custom") + .css("background", "url('" + d + "') center center no-repeat") + .attr("rel", d), + h === !1 && this.show_icon(c)), + !0) + : !1 + ); + }, + get_icon: function (b) { + return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.icon : !1); + }, + hide_icon: function (b) { + var c, d; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.hide_icon(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b !== a.jstree.root + ? ((b.icon = !1), + this.get_node(b, !0) + .children(".jstree-anchor") + .children(".jstree-themeicon") + .addClass("jstree-themeicon-hidden"), + !0) + : !1 + ); + }, + show_icon: function (b) { + var c, d, e; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.show_icon(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b !== a.jstree.root + ? ((e = this.get_node(b, !0)), + (b.icon = e.length + ? e + .children(".jstree-anchor") + .children(".jstree-themeicon") + .attr("rel") + : !0), + b.icon || (b.icon = !0), + e + .children(".jstree-anchor") + .children(".jstree-themeicon") + .removeClass("jstree-themeicon-hidden"), + !0) + : !1 + ); + }, + }), + (a.vakata = {}), + (a.vakata.attributes = function (b, c) { + b = a(b)[0]; + var d = c ? {} : []; + return ( + b && + b.attributes && + a.each(b.attributes, function (b, e) { + -1 === + a.inArray(e.name.toLowerCase(), [ + "style", + "contenteditable", + "hasfocus", + "tabindex", + ]) && + null !== e.value && + "" !== a.trim(e.value) && + (c ? (d[e.name] = e.value) : d.push(e.name)); + }), + d + ); + }), + (a.vakata.array_unique = function (a) { + var c = [], + d, + e, + f, + g = {}; + for (d = 0, f = a.length; f > d; d++) + g[a[d]] === b && (c.push(a[d]), (g[a[d]] = !0)); + return c; + }), + (a.vakata.array_remove = function (a, b) { + return (a.splice(b, 1), a); + }), + (a.vakata.array_remove_item = function (b, c) { + var d = a.inArray(c, b); + return -1 !== d ? a.vakata.array_remove(b, d) : b; + }), + (a.vakata.array_filter = function (a, b, c, d, e) { + if (a.filter) return a.filter(b, c); + d = []; + for (e in a) + ~~e + "" == e + "" && e >= 0 && b.call(c, a[e], +e, a) && d.push(a[e]); + return d; + }), + (a.jstree.plugins.changed = function (a, b) { + var c = []; + ((this.trigger = function (a, d) { + var e, f; + if ((d || (d = {}), "changed" === a.replace(".jstree", ""))) { + d.changed = { selected: [], deselected: [] }; + var g = {}; + for (e = 0, f = c.length; f > e; e++) g[c[e]] = 1; + for (e = 0, f = d.selected.length; f > e; e++) + g[d.selected[e]] + ? (g[d.selected[e]] = 2) + : d.changed.selected.push(d.selected[e]); + for (e = 0, f = c.length; f > e; e++) + 1 === g[c[e]] && d.changed.deselected.push(c[e]); + c = d.selected.slice(); + } + b.trigger.call(this, a, d); + }), + (this.refresh = function (a, d) { + return ((c = []), b.refresh.apply(this, arguments)); + })); + })); + var j = i.createElement("I"); + ((j.className = "jstree-icon jstree-checkbox"), + j.setAttribute("role", "presentation"), + (a.jstree.defaults.checkbox = { + visible: !0, + three_state: !0, + whole_node: !0, + keep_selected_style: !0, + cascade: "", + tie_selection: !0, + cascade_to_disabled: !0, + cascade_to_hidden: !0, + }), + (a.jstree.plugins.checkbox = function (c, d) { + ((this.bind = function () { + (d.bind.call(this), + (this._data.checkbox.uto = !1), + (this._data.checkbox.selected = []), + this.settings.checkbox.three_state && + (this.settings.checkbox.cascade = "up+down+undetermined"), + this.element + .on( + "init.jstree", + a.proxy(function () { + ((this._data.checkbox.visible = this.settings.checkbox.visible), + this.settings.checkbox.keep_selected_style || + this.element.addClass("jstree-checkbox-no-clicked"), + this.settings.checkbox.tie_selection && + this.element.addClass("jstree-checkbox-selection")); + }, this), + ) + .on( + "loading.jstree", + a.proxy(function () { + this[ + this._data.checkbox.visible ? "show_checkboxes" : "hide_checkboxes" + ](); + }, this), + ), + -1 !== this.settings.checkbox.cascade.indexOf("undetermined") && + this.element.on( + "changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree", + a.proxy(function () { + (this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), + (this._data.checkbox.uto = setTimeout( + a.proxy(this._undetermined, this), + 50, + ))); + }, this), + ), + this.settings.checkbox.tie_selection || + this.element.on( + "model.jstree", + a.proxy(function (a, b) { + var c = this._model.data, + d = c[b.parent], + e = b.nodes, + f, + g; + for (f = 0, g = e.length; g > f; f++) + ((c[e[f]].state.checked = + c[e[f]].state.checked || + (c[e[f]].original && + c[e[f]].original.state && + c[e[f]].original.state.checked)), + c[e[f]].state.checked && this._data.checkbox.selected.push(e[f])); + }, this), + ), + (-1 !== this.settings.checkbox.cascade.indexOf("up") || + -1 !== this.settings.checkbox.cascade.indexOf("down")) && + this.element + .on( + "model.jstree", + a.proxy(function (b, c) { + var d = this._model.data, + e = d[c.parent], + f = c.nodes, + g = [], + h, + i, + j, + k, + l, + m, + n = this.settings.checkbox.cascade, + o = this.settings.checkbox.tie_selection; + if (-1 !== n.indexOf("down")) + if (e.state[o ? "selected" : "checked"]) { + for (i = 0, j = f.length; j > i; i++) + d[f[i]].state[o ? "selected" : "checked"] = !0; + this._data[o ? "core" : "checkbox"].selected = + this._data[o ? "core" : "checkbox"].selected.concat(f); + } else + for (i = 0, j = f.length; j > i; i++) + if (d[f[i]].state[o ? "selected" : "checked"]) { + for (k = 0, l = d[f[i]].children_d.length; l > k; k++) + d[d[f[i]].children_d[k]].state[ + o ? "selected" : "checked" + ] = !0; + this._data[o ? "core" : "checkbox"].selected = this._data[ + o ? "core" : "checkbox" + ].selected.concat(d[f[i]].children_d); + } + if (-1 !== n.indexOf("up")) { + for (i = 0, j = e.children_d.length; j > i; i++) + d[e.children_d[i]].children.length || + g.push(d[e.children_d[i]].parent); + for ( + g = a.vakata.array_unique(g), k = 0, l = g.length; + l > k; + k++ + ) { + e = d[g[k]]; + while (e && e.id !== a.jstree.root) { + for (h = 0, i = 0, j = e.children.length; j > i; i++) + h += d[e.children[i]].state[o ? "selected" : "checked"]; + if (h !== j) break; + ((e.state[o ? "selected" : "checked"] = !0), + this._data[o ? "core" : "checkbox"].selected.push(e.id), + (m = this.get_node(e, !0)), + m && + m.length && + m + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(o ? "jstree-clicked" : "jstree-checked"), + (e = this.get_node(e.parent))); + } + } + } + this._data[o ? "core" : "checkbox"].selected = + a.vakata.array_unique( + this._data[o ? "core" : "checkbox"].selected, + ); + }, this), + ) + .on( + this.settings.checkbox.tie_selection + ? "select_node.jstree" + : "check_node.jstree", + a.proxy(function (b, c) { + var d = this, + e = c.node, + f = this._model.data, + g = this.get_node(e.parent), + h, + i, + j, + k, + l = this.settings.checkbox.cascade, + m = this.settings.checkbox.tie_selection, + n = {}, + o = this._data[m ? "core" : "checkbox"].selected; + for (h = 0, i = o.length; i > h; h++) n[o[h]] = !0; + if (-1 !== l.indexOf("down")) { + var p = this._cascade_new_checked_state(e.id, !0), + q = e.children_d.concat(e.id); + for (h = 0, i = q.length; i > h; h++) + p.indexOf(q[h]) > -1 ? (n[q[h]] = !0) : delete n[q[h]]; + } + if (-1 !== l.indexOf("up")) + while (g && g.id !== a.jstree.root) { + for (j = 0, h = 0, i = g.children.length; i > h; h++) + j += f[g.children[h]].state[m ? "selected" : "checked"]; + if (j !== i) break; + ((g.state[m ? "selected" : "checked"] = !0), + (n[g.id] = !0), + (k = this.get_node(g, !0)), + k && + k.length && + k + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(m ? "jstree-clicked" : "jstree-checked"), + (g = this.get_node(g.parent))); + } + o = []; + for (h in n) n.hasOwnProperty(h) && o.push(h); + this._data[m ? "core" : "checkbox"].selected = o; + }, this), + ) + .on( + this.settings.checkbox.tie_selection + ? "deselect_all.jstree" + : "uncheck_all.jstree", + a.proxy(function (b, c) { + var d = this.get_node(a.jstree.root), + e = this._model.data, + f, + g, + h; + for (f = 0, g = d.children_d.length; g > f; f++) + ((h = e[d.children_d[f]]), + h && + h.original && + h.original.state && + h.original.state.undetermined && + (h.original.state.undetermined = !1)); + }, this), + ) + .on( + this.settings.checkbox.tie_selection + ? "deselect_node.jstree" + : "uncheck_node.jstree", + a.proxy(function (a, b) { + var c = this, + d = b.node, + e = this.get_node(d, !0), + f, + g, + h, + i = this.settings.checkbox.cascade, + j = this.settings.checkbox.tie_selection, + k = this._data[j ? "core" : "checkbox"].selected, + l = {}, + m = [], + n = d.children_d.concat(d.id); + if (-1 !== i.indexOf("down")) { + var o = this._cascade_new_checked_state(d.id, !1); + k = k.filter(function (a) { + return -1 === n.indexOf(a) || o.indexOf(a) > -1; + }); + } + if (-1 !== i.indexOf("up") && -1 === k.indexOf(d.id)) { + for (f = 0, g = d.parents.length; g > f; f++) + ((h = this._model.data[d.parents[f]]), + (h.state[j ? "selected" : "checked"] = !1), + h && + h.original && + h.original.state && + h.original.state.undetermined && + (h.original.state.undetermined = !1), + (h = this.get_node(d.parents[f], !0)), + h && + h.length && + h + .attr("aria-selected", !1) + .children(".jstree-anchor") + .removeClass(j ? "jstree-clicked" : "jstree-checked")); + k = k.filter(function (a) { + return -1 === d.parents.indexOf(a); + }); + } + this._data[j ? "core" : "checkbox"].selected = k; + }, this), + ), + -1 !== this.settings.checkbox.cascade.indexOf("up") && + this.element + .on( + "delete_node.jstree", + a.proxy(function (b, c) { + var d = this.get_node(c.parent), + e = this._model.data, + f, + g, + h, + i, + j = this.settings.checkbox.tie_selection; + while ( + d && + d.id !== a.jstree.root && + !d.state[j ? "selected" : "checked"] + ) { + for (h = 0, f = 0, g = d.children.length; g > f; f++) + h += e[d.children[f]].state[j ? "selected" : "checked"]; + if (!(g > 0 && h === g)) break; + ((d.state[j ? "selected" : "checked"] = !0), + this._data[j ? "core" : "checkbox"].selected.push(d.id), + (i = this.get_node(d, !0)), + i && + i.length && + i + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(j ? "jstree-clicked" : "jstree-checked"), + (d = this.get_node(d.parent))); + } + }, this), + ) + .on( + "move_node.jstree", + a.proxy(function (b, c) { + var d = c.is_multi, + e = c.old_parent, + f = this.get_node(c.parent), + g = this._model.data, + h, + i, + j, + k, + l, + m = this.settings.checkbox.tie_selection; + if (!d) { + h = this.get_node(e); + while ( + h && + h.id !== a.jstree.root && + !h.state[m ? "selected" : "checked"] + ) { + for (i = 0, j = 0, k = h.children.length; k > j; j++) + i += g[h.children[j]].state[m ? "selected" : "checked"]; + if (!(k > 0 && i === k)) break; + ((h.state[m ? "selected" : "checked"] = !0), + this._data[m ? "core" : "checkbox"].selected.push(h.id), + (l = this.get_node(h, !0)), + l && + l.length && + l + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(m ? "jstree-clicked" : "jstree-checked"), + (h = this.get_node(h.parent))); + } + } + h = f; + while (h && h.id !== a.jstree.root) { + for (i = 0, j = 0, k = h.children.length; k > j; j++) + i += g[h.children[j]].state[m ? "selected" : "checked"]; + if (i === k) + h.state[m ? "selected" : "checked"] || + ((h.state[m ? "selected" : "checked"] = !0), + this._data[m ? "core" : "checkbox"].selected.push(h.id), + (l = this.get_node(h, !0)), + l && + l.length && + l + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(m ? "jstree-clicked" : "jstree-checked")); + else { + if (!h.state[m ? "selected" : "checked"]) break; + ((h.state[m ? "selected" : "checked"] = !1), + (this._data[m ? "core" : "checkbox"].selected = + a.vakata.array_remove_item( + this._data[m ? "core" : "checkbox"].selected, + h.id, + )), + (l = this.get_node(h, !0)), + l && + l.length && + l + .attr("aria-selected", !1) + .children(".jstree-anchor") + .removeClass(m ? "jstree-clicked" : "jstree-checked")); + } + h = this.get_node(h.parent); + } + }, this), + )); + }), + (this.get_undetermined = function (c) { + if (-1 === this.settings.checkbox.cascade.indexOf("undetermined")) + return []; + var d, + e, + f, + g, + h = {}, + i = this._model.data, + j = this.settings.checkbox.tie_selection, + k = this._data[j ? "core" : "checkbox"].selected, + l = [], + m = this, + n = []; + for (d = 0, e = k.length; e > d; d++) + if (i[k[d]] && i[k[d]].parents) + for (f = 0, g = i[k[d]].parents.length; g > f; f++) { + if (h[i[k[d]].parents[f]] !== b) break; + i[k[d]].parents[f] !== a.jstree.root && + ((h[i[k[d]].parents[f]] = !0), l.push(i[k[d]].parents[f])); + } + for ( + this.element + .find(".jstree-closed") + .not(":has(.jstree-children)") + .each(function () { + var c = m.get_node(this), + j; + if (c) + if (c.state.loaded) { + for (d = 0, e = c.children_d.length; e > d; d++) + if ( + ((j = i[c.children_d[d]]), + !j.state.loaded && + j.original && + j.original.state && + j.original.state.undetermined && + j.original.state.undetermined === !0) + ) + for ( + h[j.id] === b && + j.id !== a.jstree.root && + ((h[j.id] = !0), l.push(j.id)), + f = 0, + g = j.parents.length; + g > f; + f++ + ) + h[j.parents[f]] === b && + j.parents[f] !== a.jstree.root && + ((h[j.parents[f]] = !0), l.push(j.parents[f])); + } else if ( + c.original && + c.original.state && + c.original.state.undetermined && + c.original.state.undetermined === !0 + ) + for ( + h[c.id] === b && + c.id !== a.jstree.root && + ((h[c.id] = !0), l.push(c.id)), + f = 0, + g = c.parents.length; + g > f; + f++ + ) + h[c.parents[f]] === b && + c.parents[f] !== a.jstree.root && + ((h[c.parents[f]] = !0), l.push(c.parents[f])); + }), + d = 0, + e = l.length; + e > d; + d++ + ) + i[l[d]].state[j ? "selected" : "checked"] || n.push(c ? i[l[d]] : l[d]); + return n; + }), + (this._undetermined = function () { + if (null !== this.element) { + var a = this.get_undetermined(!1), + b, + c, + d; + for ( + this.element + .find(".jstree-undetermined") + .removeClass("jstree-undetermined"), + b = 0, + c = a.length; + c > b; + b++ + ) + ((d = this.get_node(a[b], !0)), + d && + d.length && + d + .children(".jstree-anchor") + .children(".jstree-checkbox") + .addClass("jstree-undetermined")); + } + }), + (this.redraw_node = function (b, c, e, f) { + if ((b = d.redraw_node.apply(this, arguments))) { + var g, + h, + i = null, + k = null; + for (g = 0, h = b.childNodes.length; h > g; g++) + if ( + b.childNodes[g] && + b.childNodes[g].className && + -1 !== b.childNodes[g].className.indexOf("jstree-anchor") + ) { + i = b.childNodes[g]; + break; + } + i && + (!this.settings.checkbox.tie_selection && + this._model.data[b.id].state.checked && + (i.className += " jstree-checked"), + (k = j.cloneNode(!1)), + this._model.data[b.id].state.checkbox_disabled && + (k.className += " jstree-checkbox-disabled"), + i.insertBefore(k, i.childNodes[0])); + } + return ( + e || + -1 === this.settings.checkbox.cascade.indexOf("undetermined") || + (this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), + (this._data.checkbox.uto = setTimeout( + a.proxy(this._undetermined, this), + 50, + ))), + b + ); + }), + (this.show_checkboxes = function () { + ((this._data.core.themes.checkboxes = !0), + this.get_container_ul().removeClass("jstree-no-checkboxes")); + }), + (this.hide_checkboxes = function () { + ((this._data.core.themes.checkboxes = !1), + this.get_container_ul().addClass("jstree-no-checkboxes")); + }), + (this.toggle_checkboxes = function () { + this._data.core.themes.checkboxes + ? this.hide_checkboxes() + : this.show_checkboxes(); + }), + (this.is_undetermined = function (b) { + b = this.get_node(b); + var c = this.settings.checkbox.cascade, + d, + e, + f = this.settings.checkbox.tie_selection, + g = this._data[f ? "core" : "checkbox"].selected, + h = this._model.data; + if ( + !b || + b.state[f ? "selected" : "checked"] === !0 || + -1 === c.indexOf("undetermined") || + (-1 === c.indexOf("down") && -1 === c.indexOf("up")) + ) + return !1; + if (!b.state.loaded && b.original.state.undetermined === !0) return !0; + for (d = 0, e = b.children_d.length; e > d; d++) + if ( + -1 !== a.inArray(b.children_d[d], g) || + (!h[b.children_d[d]].state.loaded && + h[b.children_d[d]].original.state.undetermined) + ) + return !0; + return !1; + }), + (this.disable_checkbox = function (b) { + var c, d, e; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) + this.disable_checkbox(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((e = this.get_node(b, !0)), + void ( + b.state.checkbox_disabled || + ((b.state.checkbox_disabled = !0), + e && + e.length && + e + .children(".jstree-anchor") + .children(".jstree-checkbox") + .addClass("jstree-checkbox-disabled"), + this.trigger("disable_checkbox", { node: b })) + )) + : !1 + ); + }), + (this.enable_checkbox = function (b) { + var c, d, e; + if (a.isArray(b)) { + for (b = b.slice(), c = 0, d = b.length; d > c; c++) + this.enable_checkbox(b[c]); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((e = this.get_node(b, !0)), + void ( + b.state.checkbox_disabled && + ((b.state.checkbox_disabled = !1), + e && + e.length && + e + .children(".jstree-anchor") + .children(".jstree-checkbox") + .removeClass("jstree-checkbox-disabled"), + this.trigger("enable_checkbox", { node: b })) + )) + : !1 + ); + }), + (this.activate_node = function (b, c) { + return a(c.target).hasClass("jstree-checkbox-disabled") + ? !1 + : (this.settings.checkbox.tie_selection && + (this.settings.checkbox.whole_node || + a(c.target).hasClass("jstree-checkbox")) && + (c.ctrlKey = !0), + this.settings.checkbox.tie_selection || + (!this.settings.checkbox.whole_node && + !a(c.target).hasClass("jstree-checkbox")) + ? d.activate_node.call(this, b, c) + : this.is_disabled(b) + ? !1 + : (this.is_checked(b) + ? this.uncheck_node(b, c) + : this.check_node(b, c), + void this.trigger("activate_node", { node: this.get_node(b) }))); + }), + (this._cascade_new_checked_state = function (a, b) { + var c = this, + d = this.settings.checkbox.tie_selection, + e = this._model.data[a], + f = [], + g = [], + h, + i, + j; + if ( + (!this.settings.checkbox.cascade_to_disabled && e.state.disabled) || + (!this.settings.checkbox.cascade_to_hidden && e.state.hidden) + ) + ((j = this.get_checked_descendants(a)), + e.state[d ? "selected" : "checked"] && j.push(e.id), + (f = f.concat(j))); + else { + if (e.children) + for (h = 0, i = e.children.length; i > h; h++) { + var k = e.children[h]; + ((j = c._cascade_new_checked_state(k, b)), + (f = f.concat(j)), + j.indexOf(k) > -1 && g.push(k)); + } + var l = c.get_node(e, !0), + m = g.length > 0 && g.length < e.children.length; + (e.original && + e.original.state && + e.original.state.undetermined && + (e.original.state.undetermined = m), + m + ? ((e.state[d ? "selected" : "checked"] = !1), + l + .attr("aria-selected", !1) + .children(".jstree-anchor") + .removeClass(d ? "jstree-clicked" : "jstree-checked")) + : b && g.length === e.children.length + ? ((e.state[d ? "selected" : "checked"] = b), + f.push(e.id), + l + .attr("aria-selected", !0) + .children(".jstree-anchor") + .addClass(d ? "jstree-clicked" : "jstree-checked")) + : ((e.state[d ? "selected" : "checked"] = !1), + l + .attr("aria-selected", !1) + .children(".jstree-anchor") + .removeClass(d ? "jstree-clicked" : "jstree-checked"))); + } + return f; + }), + (this.get_checked_descendants = function (a) { + var b = this, + c = b.settings.checkbox.tie_selection, + d = b._model.data[a]; + return d.children_d.filter(function (a) { + return b._model.data[a].state[c ? "selected" : "checked"]; + }); + }), + (this.check_node = function (b, c) { + if (this.settings.checkbox.tie_selection) + return this.select_node(b, !1, !0, c); + var d, e, f, g; + if (a.isArray(b)) { + for (b = b.slice(), e = 0, f = b.length; f > e; e++) + this.check_node(b[e], c); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((d = this.get_node(b, !0)), + void ( + b.state.checked || + ((b.state.checked = !0), + this._data.checkbox.selected.push(b.id), + d && + d.length && + d.children(".jstree-anchor").addClass("jstree-checked"), + this.trigger("check_node", { + node: b, + selected: this._data.checkbox.selected, + event: c, + })) + )) + : !1 + ); + }), + (this.uncheck_node = function (b, c) { + if (this.settings.checkbox.tie_selection) + return this.deselect_node(b, !1, c); + var d, e, f; + if (a.isArray(b)) { + for (b = b.slice(), d = 0, e = b.length; e > d; d++) + this.uncheck_node(b[d], c); + return !0; + } + return ( + (b = this.get_node(b)), + b && b.id !== a.jstree.root + ? ((f = this.get_node(b, !0)), + void ( + b.state.checked && + ((b.state.checked = !1), + (this._data.checkbox.selected = a.vakata.array_remove_item( + this._data.checkbox.selected, + b.id, + )), + f.length && + f.children(".jstree-anchor").removeClass("jstree-checked"), + this.trigger("uncheck_node", { + node: b, + selected: this._data.checkbox.selected, + event: c, + })) + )) + : !1 + ); + }), + (this.check_all = function () { + if (this.settings.checkbox.tie_selection) return this.select_all(); + var b = this._data.checkbox.selected.concat([]), + c, + d; + for ( + this._data.checkbox.selected = + this._model.data[a.jstree.root].children_d.concat(), + c = 0, + d = this._data.checkbox.selected.length; + d > c; + c++ + ) + this._model.data[this._data.checkbox.selected[c]] && + (this._model.data[this._data.checkbox.selected[c]].state.checked = !0); + (this.redraw(!0), + this.trigger("check_all", { selected: this._data.checkbox.selected })); + }), + (this.uncheck_all = function () { + if (this.settings.checkbox.tie_selection) return this.deselect_all(); + var a = this._data.checkbox.selected.concat([]), + b, + c; + for (b = 0, c = this._data.checkbox.selected.length; c > b; b++) + this._model.data[this._data.checkbox.selected[b]] && + (this._model.data[this._data.checkbox.selected[b]].state.checked = !1); + ((this._data.checkbox.selected = []), + this.element.find(".jstree-checked").removeClass("jstree-checked"), + this.trigger("uncheck_all", { + selected: this._data.checkbox.selected, + node: a, + })); + }), + (this.is_checked = function (b) { + return this.settings.checkbox.tie_selection + ? this.is_selected(b) + : ((b = this.get_node(b)), + b && b.id !== a.jstree.root ? b.state.checked : !1); + }), + (this.get_checked = function (b) { + return this.settings.checkbox.tie_selection + ? this.get_selected(b) + : b + ? a.map( + this._data.checkbox.selected, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : this._data.checkbox.selected; + }), + (this.get_top_checked = function (b) { + if (this.settings.checkbox.tie_selection) return this.get_top_selected(b); + var c = this.get_checked(!0), + d = {}, + e, + f, + g, + h; + for (e = 0, f = c.length; f > e; e++) d[c[e].id] = c[e]; + for (e = 0, f = c.length; f > e; e++) + for (g = 0, h = c[e].children_d.length; h > g; g++) + d[c[e].children_d[g]] && delete d[c[e].children_d[g]]; + c = []; + for (e in d) d.hasOwnProperty(e) && c.push(e); + return b + ? a.map( + c, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : c; + }), + (this.get_bottom_checked = function (b) { + if (this.settings.checkbox.tie_selection) + return this.get_bottom_selected(b); + var c = this.get_checked(!0), + d = [], + e, + f; + for (e = 0, f = c.length; f > e; e++) + c[e].children.length || d.push(c[e].id); + return b + ? a.map( + d, + a.proxy(function (a) { + return this.get_node(a); + }, this), + ) + : d; + }), + (this.load_node = function (b, c) { + var e, f, g, h, i, j; + if ( + !a.isArray(b) && + !this.settings.checkbox.tie_selection && + ((j = this.get_node(b)), j && j.state.loaded) + ) + for (e = 0, f = j.children_d.length; f > e; e++) + this._model.data[j.children_d[e]].state.checked && + ((i = !0), + (this._data.checkbox.selected = a.vakata.array_remove_item( + this._data.checkbox.selected, + j.children_d[e], + ))); + return d.load_node.apply(this, arguments); + }), + (this.get_state = function () { + var a = d.get_state.apply(this, arguments); + return this.settings.checkbox.tie_selection + ? a + : ((a.checkbox = this._data.checkbox.selected.slice()), a); + }), + (this.set_state = function (b, c) { + var e = d.set_state.apply(this, arguments); + if (e && b.checkbox) { + if (!this.settings.checkbox.tie_selection) { + this.uncheck_all(); + var f = this; + a.each(b.checkbox, function (a, b) { + f.check_node(b); + }); + } + return (delete b.checkbox, this.set_state(b, c), !1); + } + return e; + }), + (this.refresh = function (a, b) { + return ( + this.settings.checkbox.tie_selection && + (this._data.checkbox.selected = []), + d.refresh.apply(this, arguments) + ); + })); + }), + (a.jstree.defaults.conditionalselect = function () { + return !0; + }), + (a.jstree.plugins.conditionalselect = function (a, b) { + this.activate_node = function (a, c) { + return this.settings.conditionalselect.call(this, this.get_node(a), c) + ? b.activate_node.call(this, a, c) + : void 0; + }; + }), + (a.jstree.defaults.contextmenu = { + select_node: !0, + show_at_node: !0, + items: function (b, c) { + return { + create: { + separator_before: !1, + separator_after: !0, + _disabled: !1, + label: "Create", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.create_node(d, {}, "last", function (a) { + try { + c.edit(a); + } catch (b) { + setTimeout(function () { + c.edit(a); + }, 0); + } + }); + }, + }, + rename: { + separator_before: !1, + separator_after: !1, + _disabled: !1, + label: "Rename", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.edit(d); + }, + }, + remove: { + separator_before: !1, + icon: !1, + separator_after: !1, + _disabled: !1, + label: "Delete", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.is_selected(d) ? c.delete_node(c.get_selected()) : c.delete_node(d); + }, + }, + ccp: { + separator_before: !0, + icon: !1, + separator_after: !1, + label: "Edit", + action: !1, + submenu: { + cut: { + separator_before: !1, + separator_after: !1, + label: "Cut", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.is_selected(d) ? c.cut(c.get_top_selected()) : c.cut(d); + }, + }, + copy: { + separator_before: !1, + icon: !1, + separator_after: !1, + label: "Copy", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.is_selected(d) ? c.copy(c.get_top_selected()) : c.copy(d); + }, + }, + paste: { + separator_before: !1, + icon: !1, + _disabled: function (b) { + return !a.jstree.reference(b.reference).can_paste(); + }, + separator_after: !1, + label: "Paste", + action: function (b) { + var c = a.jstree.reference(b.reference), + d = c.get_node(b.reference); + c.paste(d); + }, + }, + }, + }, + }; + }, + }), + (a.jstree.plugins.contextmenu = function (c, d) { + ((this.bind = function () { + d.bind.call(this); + var b = 0, + c = null, + e, + f; + (this.element + .on( + "init.jstree loading.jstree ready.jstree", + a.proxy(function () { + this.get_container_ul().addClass("jstree-contextmenu"); + }, this), + ) + .on( + "contextmenu.jstree", + ".jstree-anchor", + a.proxy(function (a, d) { + "input" !== a.target.tagName.toLowerCase() && + (a.preventDefault(), + (b = a.ctrlKey ? +new Date() : 0), + (d || c) && (b = +new Date() + 1e4), + c && clearTimeout(c), + this.is_loading(a.currentTarget) || + this.show_contextmenu(a.currentTarget, a.pageX, a.pageY, a)); + }, this), + ) + .on( + "click.jstree", + ".jstree-anchor", + a.proxy(function (c) { + (this._data.contextmenu.visible && + (!b || +new Date() - b > 250) && + a.vakata.context.hide(), + (b = 0)); + }, this), + ) + .on("touchstart.jstree", ".jstree-anchor", function (b) { + b.originalEvent && + b.originalEvent.changedTouches && + b.originalEvent.changedTouches[0] && + ((e = b.originalEvent.changedTouches[0].clientX), + (f = b.originalEvent.changedTouches[0].clientY), + (c = setTimeout(function () { + a(b.currentTarget).trigger("contextmenu", !0); + }, 750))); + }) + .on("touchmove.vakata.jstree", function (b) { + c && + b.originalEvent && + b.originalEvent.changedTouches && + b.originalEvent.changedTouches[0] && + (Math.abs(e - b.originalEvent.changedTouches[0].clientX) > 10 || + Math.abs(f - b.originalEvent.changedTouches[0].clientY) > 10) && + (clearTimeout(c), a.vakata.context.hide()); + }) + .on("touchend.vakata.jstree", function (a) { + c && clearTimeout(c); + }), + a(i).on( + "context_hide.vakata.jstree", + a.proxy(function (b, c) { + ((this._data.contextmenu.visible = !1), + a(c.reference).removeClass("jstree-context")); + }, this), + )); + }), + (this.teardown = function () { + (this._data.contextmenu.visible && a.vakata.context.hide(), + d.teardown.call(this)); + }), + (this.show_contextmenu = function (c, d, e, f) { + if (((c = this.get_node(c)), !c || c.id === a.jstree.root)) return !1; + var g = this.settings.contextmenu, + h = this.get_node(c, !0), + i = h.children(".jstree-anchor"), + j = !1, + k = !1; + ((g.show_at_node || d === b || e === b) && + ((j = i.offset()), (d = j.left), (e = j.top + this._data.core.li_height)), + this.settings.contextmenu.select_node && + !this.is_selected(c) && + this.activate_node(c, f), + (k = g.items), + a.isFunction(k) && + (k = k.call( + this, + c, + a.proxy(function (a) { + this._show_contextmenu(c, d, e, a); + }, this), + )), + a.isPlainObject(k) && this._show_contextmenu(c, d, e, k)); + }), + (this._show_contextmenu = function (b, c, d, e) { + var f = this.get_node(b, !0), + g = f.children(".jstree-anchor"); + (a(i).one( + "context_show.vakata.jstree", + a.proxy(function (b, c) { + var d = + "jstree-contextmenu jstree-" + this.get_theme() + "-contextmenu"; + (a(c.element).addClass(d), g.addClass("jstree-context")); + }, this), + ), + (this._data.contextmenu.visible = !0), + a.vakata.context.show(g, { x: c, y: d }, e), + this.trigger("show_contextmenu", { node: b, x: c, y: d })); + })); + }), + (function (a) { + var b = !1, + c = { + element: !1, + reference: !1, + position_x: 0, + position_y: 0, + items: [], + html: "", + is_visible: !1, + }; + ((a.vakata.context = { + settings: { hide_onmouseleave: 0, icons: !0 }, + _trigger: function (b) { + a(i).triggerHandler("context_" + b + ".vakata", { + reference: c.reference, + element: c.element, + position: { x: c.position_x, y: c.position_y }, + }); + }, + _execute: function (b) { + return ( + (b = c.items[b]), + b && + (!b._disabled || + (a.isFunction(b._disabled) && + !b._disabled({ + item: b, + reference: c.reference, + element: c.element, + }))) && + b.action + ? b.action.call(null, { + item: b, + reference: c.reference, + element: c.element, + position: { x: c.position_x, y: c.position_y }, + }) + : !1 + ); + }, + _parse: function (b, d) { + if (!b) return !1; + d || ((c.html = ""), (c.items = [])); + var e = "", + f = !1, + g; + return ( + d && (e += ""), + d || ((c.html = e), a.vakata.context._trigger("parse")), + e.length > 10 ? e : !1 + ); + }, + _show_submenu: function (c) { + if (((c = a(c)), c.length && c.children("ul").length)) { + var d = c.children("ul"), + e = c.offset().left, + f = e + c.outerWidth(), + g = c.offset().top, + h = d.width(), + i = d.height(), + j = a(window).width() + a(window).scrollLeft(), + k = a(window).height() + a(window).scrollTop(); + (b + ? c[f - (h + 10 + c.outerWidth()) < 0 ? "addClass" : "removeClass"]( + "vakata-context-left", + ) + : c[f + h > j && e > j - f ? "addClass" : "removeClass"]( + "vakata-context-right", + ), + g + i + 10 > k && d.css("bottom", "-1px"), + c.hasClass("vakata-context-right") + ? h > e && d.css("margin-right", e - h) + : h > j - f && d.css("margin-left", j - f - h), + d.show()); + } + }, + show: function (d, e, f) { + var g, + h, + j, + k, + l, + m, + n, + o, + p = !0; + switch ((c.element && c.element.length && c.element.width(""), p)) { + case !e && !d: + return !1; + case !!e && !!d: + ((c.reference = d), (c.position_x = e.x), (c.position_y = e.y)); + break; + case !e && !!d: + ((c.reference = d), + (g = d.offset()), + (c.position_x = g.left + d.outerHeight()), + (c.position_y = g.top)); + break; + case !!e && !d: + ((c.position_x = e.x), (c.position_y = e.y)); + } + (d && + !f && + a(d).data("vakata_contextmenu") && + (f = a(d).data("vakata_contextmenu")), + a.vakata.context._parse(f) && c.element.html(c.html), + c.items.length && + (c.element.appendTo(i.body), + (h = c.element), + (j = c.position_x), + (k = c.position_y), + (l = h.width()), + (m = h.height()), + (n = a(window).width() + a(window).scrollLeft()), + (o = a(window).height() + a(window).scrollTop()), + b && + ((j -= h.outerWidth() - a(d).outerWidth()), + j < a(window).scrollLeft() + 20 && (j = a(window).scrollLeft() + 20)), + j + l + 20 > n && (j = n - (l + 20)), + k + m + 20 > o && (k = o - (m + 20)), + c.element + .css({ left: j, top: k }) + .show() + .find("a") + .first() + .focus() + .parent() + .addClass("vakata-context-hover"), + (c.is_visible = !0), + a.vakata.context._trigger("show"))); + }, + hide: function () { + c.is_visible && + (c.element + .hide() + .find("ul") + .hide() + .end() + .find(":focus") + .blur() + .end() + .detach(), + (c.is_visible = !1), + a.vakata.context._trigger("hide")); + }, + }), + a(function () { + b = "rtl" === a(i.body).css("direction"); + var d = !1; + ((c.element = a("
      ")), + c.element + .on("mouseenter", "li", function (b) { + (b.stopImmediatePropagation(), + a.contains(this, b.relatedTarget) || + (d && clearTimeout(d), + c.element + .find(".vakata-context-hover") + .removeClass("vakata-context-hover") + .end(), + a(this) + .siblings() + .find("ul") + .hide() + .end() + .end() + .parentsUntil(".vakata-context", "li") + .addBack() + .addClass("vakata-context-hover"), + a.vakata.context._show_submenu(this))); + }) + .on("mouseleave", "li", function (b) { + a.contains(this, b.relatedTarget) || + a(this) + .find(".vakata-context-hover") + .addBack() + .removeClass("vakata-context-hover"); + }) + .on("mouseleave", function (b) { + (a(this) + .find(".vakata-context-hover") + .removeClass("vakata-context-hover"), + a.vakata.context.settings.hide_onmouseleave && + (d = setTimeout( + (function (b) { + return function () { + a.vakata.context.hide(); + }; + })(this), + a.vakata.context.settings.hide_onmouseleave, + ))); + }) + .on("click", "a", function (b) { + (b.preventDefault(), + a(this).blur().parent().hasClass("vakata-context-disabled") || + a.vakata.context._execute(a(this).attr("rel")) === !1 || + a.vakata.context.hide()); + }) + .on("keydown", "a", function (b) { + var d = null; + switch (b.which) { + case 13: + case 32: + ((b.type = "click"), + b.preventDefault(), + a(b.currentTarget).trigger(b)); + break; + case 37: + c.is_visible && + (c.element + .find(".vakata-context-hover") + .last() + .closest("li") + .first() + .find("ul") + .hide() + .find(".vakata-context-hover") + .removeClass("vakata-context-hover") + .end() + .end() + .children("a") + .focus(), + b.stopImmediatePropagation(), + b.preventDefault()); + break; + case 38: + c.is_visible && + ((d = c.element + .find("ul:visible") + .addBack() + .last() + .children(".vakata-context-hover") + .removeClass("vakata-context-hover") + .prevAll("li:not(.vakata-context-separator)") + .first()), + d.length || + (d = c.element + .find("ul:visible") + .addBack() + .last() + .children("li:not(.vakata-context-separator)") + .last()), + d.addClass("vakata-context-hover").children("a").focus(), + b.stopImmediatePropagation(), + b.preventDefault()); + break; + case 39: + c.is_visible && + (c.element + .find(".vakata-context-hover") + .last() + .children("ul") + .show() + .children("li:not(.vakata-context-separator)") + .removeClass("vakata-context-hover") + .first() + .addClass("vakata-context-hover") + .children("a") + .focus(), + b.stopImmediatePropagation(), + b.preventDefault()); + break; + case 40: + c.is_visible && + ((d = c.element + .find("ul:visible") + .addBack() + .last() + .children(".vakata-context-hover") + .removeClass("vakata-context-hover") + .nextAll("li:not(.vakata-context-separator)") + .first()), + d.length || + (d = c.element + .find("ul:visible") + .addBack() + .last() + .children("li:not(.vakata-context-separator)") + .first()), + d.addClass("vakata-context-hover").children("a").focus(), + b.stopImmediatePropagation(), + b.preventDefault()); + break; + case 27: + (a.vakata.context.hide(), b.preventDefault()); + } + }) + .on("keydown", function (a) { + a.preventDefault(); + var b = c.element + .find(".vakata-contextmenu-shortcut-" + a.which) + .parent(); + b.parent().not(".vakata-context-disabled") && b.click(); + }), + a(i) + .on("mousedown.vakata.jstree", function (b) { + c.is_visible && + c.element[0] !== b.target && + !a.contains(c.element[0], b.target) && + a.vakata.context.hide(); + }) + .on("context_show.vakata.jstree", function (a, d) { + (c.element + .find("li:has(ul)") + .children("a") + .addClass("vakata-context-parent"), + b && + c.element.addClass("vakata-context-rtl").css("direction", "rtl"), + c.element.find("ul").hide().end()); + })); + })); + })(a), + (a.jstree.defaults.dnd = { + copy: !0, + open_timeout: 500, + is_draggable: !0, + check_while_dragging: !0, + always_copy: !1, + inside_pos: 0, + drag_selection: !0, + touch: !0, + large_drop_target: !1, + large_drag_target: !1, + use_html5: !1, + })); + var k, l; + ((a.jstree.plugins.dnd = function (b, c) { + ((this.init = function (a, b) { + (c.init.call(this, a, b), + (this.settings.dnd.use_html5 = + this.settings.dnd.use_html5 && "draggable" in i.createElement("span"))); + }), + (this.bind = function () { + (c.bind.call(this), + this.element.on( + this.settings.dnd.use_html5 + ? "dragstart.jstree" + : "mousedown.jstree touchstart.jstree", + this.settings.dnd.large_drag_target ? ".jstree-node" : ".jstree-anchor", + a.proxy(function (b) { + if ( + this.settings.dnd.large_drag_target && + a(b.target).closest(".jstree-node")[0] !== b.currentTarget + ) + return !0; + if ( + "touchstart" === b.type && + (!this.settings.dnd.touch || + ("selected" === this.settings.dnd.touch && + !a(b.currentTarget) + .closest(".jstree-node") + .children(".jstree-anchor") + .hasClass("jstree-clicked"))) + ) + return !0; + var c = this.get_node(b.target), + d = + this.is_selected(c) && this.settings.dnd.drag_selection + ? this.get_top_selected().length + : 1, + e = + d > 1 + ? d + " " + this.get_string("nodes") + : this.get_text(b.currentTarget); + if ( + (this.settings.core.force_text && (e = a.vakata.html.escape(e)), + c && + c.id && + c.id !== a.jstree.root && + (1 === b.which || + "touchstart" === b.type || + "dragstart" === b.type) && + (this.settings.dnd.is_draggable === !0 || + (a.isFunction(this.settings.dnd.is_draggable) && + this.settings.dnd.is_draggable.call( + this, + d > 1 ? this.get_top_selected(!0) : [c], + b, + )))) + ) { + if ( + ((k = { + jstree: !0, + origin: this, + obj: this.get_node(c, !0), + nodes: d > 1 ? this.get_top_selected() : [c.id], + }), + (l = b.currentTarget), + !this.settings.dnd.use_html5) + ) + return ( + this.element.trigger("mousedown.jstree"), + a.vakata.dnd.start( + b, + k, + '
      ' + + e + + '
      ', + ) + ); + a.vakata.dnd._trigger("start", b, { + helper: a(), + element: l, + data: k, + }); + } + }, this), + ), + this.settings.dnd.use_html5 && + this.element + .on("dragover.jstree", function (b) { + return ( + b.preventDefault(), + a.vakata.dnd._trigger("move", b, { + helper: a(), + element: l, + data: k, + }), + !1 + ); + }) + .on( + "drop.jstree", + a.proxy(function (b) { + return ( + b.preventDefault(), + a.vakata.dnd._trigger("stop", b, { + helper: a(), + element: l, + data: k, + }), + !1 + ); + }, this), + )); + }), + (this.redraw_node = function (a, b, d, e) { + if ( + ((a = c.redraw_node.apply(this, arguments)), + a && this.settings.dnd.use_html5) + ) + if (this.settings.dnd.large_drag_target) a.setAttribute("draggable", !0); + else { + var f, + g, + h = null; + for (f = 0, g = a.childNodes.length; g > f; f++) + if ( + a.childNodes[f] && + a.childNodes[f].className && + -1 !== a.childNodes[f].className.indexOf("jstree-anchor") + ) { + h = a.childNodes[f]; + break; + } + h && h.setAttribute("draggable", !0); + } + return a; + })); + }), + a(function () { + var c = !1, + d = !1, + e = !1, + f = !1, + g = a('
       
      ').hide(); + a(i) + .on("dragover.vakata.jstree", function (b) { + l && a.vakata.dnd._trigger("move", b, { helper: a(), element: l, data: k }); + }) + .on("drop.vakata.jstree", function (b) { + l && + (a.vakata.dnd._trigger("stop", b, { helper: a(), element: l, data: k }), + (l = null), + (k = null)); + }) + .on("dnd_start.vakata.jstree", function (a, b) { + ((c = !1), (e = !1), b && b.data && b.data.jstree && g.appendTo(i.body)); + }) + .on("dnd_move.vakata.jstree", function (h, i) { + var j = i.event.target !== e.target; + if ( + (f && (!i.event || "dragover" !== i.event.type || j) && clearTimeout(f), + i && + i.data && + i.data.jstree && + (!i.event.target.id || "jstree-marker" !== i.event.target.id)) + ) { + e = i.event; + var k = a.jstree.reference(i.event.target), + l = !1, + m = !1, + n = !1, + o, + p, + q, + r, + s, + t, + u, + v, + w, + x, + y, + z, + A, + B, + C, + D, + E; + if (k && k._data && k._data.dnd) + if ( + (g.attr( + "class", + "jstree-" + + k.get_theme() + + (k.settings.core.themes.responsive + ? " jstree-dnd-responsive" + : ""), + ), + (D = + i.data.origin && + (i.data.origin.settings.dnd.always_copy || + (i.data.origin.settings.dnd.copy && + (i.event.metaKey || i.event.ctrlKey)))), + i.helper + .children() + .attr( + "class", + "jstree-" + + k.get_theme() + + " jstree-" + + k.get_theme() + + "-" + + k.get_theme_variant() + + " " + + (k.settings.core.themes.responsive + ? " jstree-dnd-responsive" + : ""), + ) + .find(".jstree-copy") + .first() + [D ? "show" : "hide"](), + (i.event.target !== k.element[0] && + i.event.target !== k.get_container_ul()[0]) || + 0 !== k.get_container_ul().children().length) + ) { + if ( + ((l = k.settings.dnd.large_drop_target + ? a(i.event.target) + .closest(".jstree-node") + .children(".jstree-anchor") + : a(i.event.target).closest(".jstree-anchor")), + l && + l.length && + l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf") && + ((m = l.offset()), + (n = + (i.event.pageY !== b + ? i.event.pageY + : i.event.originalEvent.pageY) - m.top), + (r = l.outerHeight()), + (u = + r / 3 > n + ? ["b", "i", "a"] + : n > r - r / 3 + ? ["a", "i", "b"] + : n > r / 2 + ? ["i", "a", "b"] + : ["i", "b", "a"]), + a.each(u, function (b, e) { + switch (e) { + case "b": + ((p = m.left - 6), + (q = m.top), + (s = k.get_parent(l)), + (t = l.parent().index())); + break; + case "i": + ((B = k.settings.dnd.inside_pos), + (C = k.get_node(l.parent())), + (p = m.left - 2), + (q = m.top + r / 2 + 1), + (s = C.id), + (t = + "first" === B + ? 0 + : "last" === B + ? C.children.length + : Math.min(B, C.children.length))); + break; + case "a": + ((p = m.left - 6), + (q = m.top + r), + (s = k.get_parent(l)), + (t = l.parent().index() + 1)); + } + for (v = !0, w = 0, x = i.data.nodes.length; x > w; w++) + if ( + ((y = + i.data.origin && + (i.data.origin.settings.dnd.always_copy || + (i.data.origin.settings.dnd.copy && + (i.event.metaKey || i.event.ctrlKey))) + ? "copy_node" + : "move_node"), + (z = t), + "move_node" === y && + "a" === e && + i.data.origin && + i.data.origin === k && + s === k.get_parent(i.data.nodes[w]) && + ((A = k.get_node(s)), + z > a.inArray(i.data.nodes[w], A.children) && (z -= 1)), + (v = + v && + ((k && + k.settings && + k.settings.dnd && + k.settings.dnd.check_while_dragging === !1) || + k.check( + y, + i.data.origin && i.data.origin !== k + ? i.data.origin.get_node(i.data.nodes[w]) + : i.data.nodes[w], + s, + z, + { + dnd: !0, + ref: k.get_node(l.parent()), + pos: e, + origin: i.data.origin, + is_multi: i.data.origin && i.data.origin !== k, + is_foreign: !i.data.origin, + }, + ))), + !v) + ) { + k && k.last_error && (d = k.last_error()); + break; + } + return ( + "i" === e && + l.parent().is(".jstree-closed") && + k.settings.dnd.open_timeout && + (!i.event || "dragover" !== i.event.type || j) && + (f && clearTimeout(f), + (f = setTimeout( + (function (a, b) { + return function () { + a.open_node(b); + }; + })(k, l), + k.settings.dnd.open_timeout, + ))), + v + ? ((E = k.get_node(s, !0)), + E.hasClass(".jstree-dnd-parent") || + (a(".jstree-dnd-parent").removeClass( + "jstree-dnd-parent", + ), + E.addClass("jstree-dnd-parent")), + (c = { + ins: k, + par: s, + pos: + "i" !== e || "last" !== B || 0 !== t || k.is_loaded(C) + ? t + : "last", + }), + g.css({ left: p + "px", top: q + "px" }).show(), + i.helper + .find(".jstree-icon") + .first() + .removeClass("jstree-er") + .addClass("jstree-ok"), + i.event.originalEvent && + i.event.originalEvent.dataTransfer && + (i.event.originalEvent.dataTransfer.dropEffect = D + ? "copy" + : "move"), + (d = {}), + (u = !0), + !1) + : void 0 + ); + }), + u === !0)) + ) + return; + } else { + for (v = !0, w = 0, x = i.data.nodes.length; x > w; w++) + if ( + ((v = + v && + k.check( + i.data.origin && + (i.data.origin.settings.dnd.always_copy || + (i.data.origin.settings.dnd.copy && + (i.event.metaKey || i.event.ctrlKey))) + ? "copy_node" + : "move_node", + i.data.origin && i.data.origin !== k + ? i.data.origin.get_node(i.data.nodes[w]) + : i.data.nodes[w], + a.jstree.root, + "last", + { + dnd: !0, + ref: k.get_node(a.jstree.root), + pos: "i", + origin: i.data.origin, + is_multi: i.data.origin && i.data.origin !== k, + is_foreign: !i.data.origin, + }, + )), + !v) + ) + break; + if (v) + return ( + (c = { ins: k, par: a.jstree.root, pos: "last" }), + g.hide(), + i.helper + .find(".jstree-icon") + .first() + .removeClass("jstree-er") + .addClass("jstree-ok"), + void ( + i.event.originalEvent && + i.event.originalEvent.dataTransfer && + (i.event.originalEvent.dataTransfer.dropEffect = D + ? "copy" + : "move") + ) + ); + } + (a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"), + (c = !1), + i.helper + .find(".jstree-icon") + .removeClass("jstree-ok") + .addClass("jstree-er"), + i.event.originalEvent && i.event.originalEvent.dataTransfer, + g.hide()); + } + }) + .on("dnd_scroll.vakata.jstree", function (a, b) { + b && + b.data && + b.data.jstree && + (g.hide(), + (c = !1), + (e = !1), + b.helper + .find(".jstree-icon") + .first() + .removeClass("jstree-ok") + .addClass("jstree-er")); + }) + .on("dnd_stop.vakata.jstree", function (b, h) { + if ( + (a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"), + f && clearTimeout(f), + h && h.data && h.data.jstree) + ) { + g.hide().detach(); + var i, + j, + k = []; + if (c) { + for (i = 0, j = h.data.nodes.length; j > i; i++) + k[i] = h.data.origin + ? h.data.origin.get_node(h.data.nodes[i]) + : h.data.nodes[i]; + c.ins[ + h.data.origin && + (h.data.origin.settings.dnd.always_copy || + (h.data.origin.settings.dnd.copy && + (h.event.metaKey || h.event.ctrlKey))) + ? "copy_node" + : "move_node" + ](k, c.par, c.pos, !1, !1, !1, h.data.origin); + } else + ((i = a(h.event.target).closest(".jstree")), + i.length && + d && + d.error && + "check" === d.error && + ((i = i.jstree(!0)), i && i.settings.core.error.call(this, d))); + ((e = !1), (c = !1)); + } + }) + .on("keyup.jstree keydown.jstree", function (b, h) { + ((h = a.vakata.dnd._get()), + h && + h.data && + h.data.jstree && + ("keyup" === b.type && 27 === b.which + ? (f && clearTimeout(f), + (c = !1), + (d = !1), + (e = !1), + (f = !1), + g.hide().detach(), + a.vakata.dnd._clean()) + : (h.helper + .find(".jstree-copy") + .first() + [ + h.data.origin && + (h.data.origin.settings.dnd.always_copy || + (h.data.origin.settings.dnd.copy && (b.metaKey || b.ctrlKey))) + ? "show" + : "hide" + ](), + e && + ((e.metaKey = b.metaKey), + (e.ctrlKey = b.ctrlKey), + a.vakata.dnd._trigger("move", e))))); + }); + }), + (function (a) { + a.vakata.html = { + div: a("
      "), + escape: function (b) { + return a.vakata.html.div.text(b).html(); + }, + strip: function (b) { + return a.vakata.html.div.empty().append(a.parseHTML(b)).text(); + }, + }; + var c = { + element: !1, + target: !1, + is_down: !1, + is_drag: !1, + helper: !1, + helper_w: 0, + data: !1, + init_x: 0, + init_y: 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: !1, + scroll_i: !1, + is_touch: !1, + }; + a.vakata.dnd = { + settings: { + scroll_speed: 10, + scroll_proximity: 20, + helper_left: 5, + helper_top: 10, + threshold: 5, + threshold_touch: 10, + }, + _trigger: function (c, d, e) { + (e === b && (e = a.vakata.dnd._get()), + (e.event = d), + a(i).triggerHandler("dnd_" + c + ".vakata", e)); + }, + _get: function () { + return { data: c.data, element: c.element, helper: c.helper }; + }, + _clean: function () { + (c.helper && c.helper.remove(), + c.scroll_i && (clearInterval(c.scroll_i), (c.scroll_i = !1)), + (c = { + element: !1, + target: !1, + is_down: !1, + is_drag: !1, + helper: !1, + helper_w: 0, + data: !1, + init_x: 0, + init_y: 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: !1, + scroll_i: !1, + is_touch: !1, + }), + a(i).off( + "mousemove.vakata.jstree touchmove.vakata.jstree", + a.vakata.dnd.drag, + ), + a(i).off( + "mouseup.vakata.jstree touchend.vakata.jstree", + a.vakata.dnd.stop, + )); + }, + _scroll: function (b) { + if (!c.scroll_e || (!c.scroll_l && !c.scroll_t)) + return (c.scroll_i && (clearInterval(c.scroll_i), (c.scroll_i = !1)), !1); + if (!c.scroll_i) + return ((c.scroll_i = setInterval(a.vakata.dnd._scroll, 100)), !1); + if (b === !0) return !1; + var d = c.scroll_e.scrollTop(), + e = c.scroll_e.scrollLeft(); + (c.scroll_e.scrollTop(d + c.scroll_t * a.vakata.dnd.settings.scroll_speed), + c.scroll_e.scrollLeft( + e + c.scroll_l * a.vakata.dnd.settings.scroll_speed, + ), + (d !== c.scroll_e.scrollTop() || e !== c.scroll_e.scrollLeft()) && + a.vakata.dnd._trigger("scroll", c.scroll_e)); + }, + start: function (b, d, e) { + ("touchstart" === b.type && + b.originalEvent && + b.originalEvent.changedTouches && + b.originalEvent.changedTouches[0] && + ((b.pageX = b.originalEvent.changedTouches[0].pageX), + (b.pageY = b.originalEvent.changedTouches[0].pageY), + (b.target = i.elementFromPoint( + b.originalEvent.changedTouches[0].pageX - window.pageXOffset, + b.originalEvent.changedTouches[0].pageY - window.pageYOffset, + ))), + c.is_drag && a.vakata.dnd.stop({})); + try { + ((b.currentTarget.unselectable = "on"), + (b.currentTarget.onselectstart = function () { + return !1; + }), + b.currentTarget.style && + ((b.currentTarget.style.touchAction = "none"), + (b.currentTarget.style.msTouchAction = "none"), + (b.currentTarget.style.MozUserSelect = "none"))); + } catch (f) {} + return ( + (c.init_x = b.pageX), + (c.init_y = b.pageY), + (c.data = d), + (c.is_down = !0), + (c.element = b.currentTarget), + (c.target = b.target), + (c.is_touch = "touchstart" === b.type), + e !== !1 && + (c.helper = a("
      ").html(e).css({ + display: "block", + margin: "0", + padding: "0", + position: "absolute", + top: "-2000px", + lineHeight: "16px", + zIndex: "10000", + })), + a(i).on( + "mousemove.vakata.jstree touchmove.vakata.jstree", + a.vakata.dnd.drag, + ), + a(i).on( + "mouseup.vakata.jstree touchend.vakata.jstree", + a.vakata.dnd.stop, + ), + !1 + ); + }, + drag: function (b) { + if ( + ("touchmove" === b.type && + b.originalEvent && + b.originalEvent.changedTouches && + b.originalEvent.changedTouches[0] && + ((b.pageX = b.originalEvent.changedTouches[0].pageX), + (b.pageY = b.originalEvent.changedTouches[0].pageY), + (b.target = i.elementFromPoint( + b.originalEvent.changedTouches[0].pageX - window.pageXOffset, + b.originalEvent.changedTouches[0].pageY - window.pageYOffset, + ))), + c.is_down) + ) { + if (!c.is_drag) { + if ( + !( + Math.abs(b.pageX - c.init_x) > + (c.is_touch + ? a.vakata.dnd.settings.threshold_touch + : a.vakata.dnd.settings.threshold) || + Math.abs(b.pageY - c.init_y) > + (c.is_touch + ? a.vakata.dnd.settings.threshold_touch + : a.vakata.dnd.settings.threshold) + ) + ) + return; + (c.helper && + (c.helper.appendTo(i.body), (c.helper_w = c.helper.outerWidth())), + (c.is_drag = !0), + a(c.target).one("click.vakata", !1), + a.vakata.dnd._trigger("start", b)); + } + var d = !1, + e = !1, + f = !1, + g = !1, + h = !1, + j = !1, + k = !1, + l = !1, + m = !1, + n = !1; + return ( + (c.scroll_t = 0), + (c.scroll_l = 0), + (c.scroll_e = !1), + a(a(b.target).parentsUntil("body").addBack().get().reverse()) + .filter(function () { + return ( + /^auto|scroll$/.test(a(this).css("overflow")) && + (this.scrollHeight > this.offsetHeight || + this.scrollWidth > this.offsetWidth) + ); + }) + .each(function () { + var d = a(this), + e = d.offset(); + return ( + this.scrollHeight > this.offsetHeight && + (e.top + d.height() - b.pageY < + a.vakata.dnd.settings.scroll_proximity && (c.scroll_t = 1), + b.pageY - e.top < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_t = -1)), + this.scrollWidth > this.offsetWidth && + (e.left + d.width() - b.pageX < + a.vakata.dnd.settings.scroll_proximity && (c.scroll_l = 1), + b.pageX - e.left < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_l = -1)), + c.scroll_t || c.scroll_l ? ((c.scroll_e = a(this)), !1) : void 0 + ); + }), + c.scroll_e || + ((d = a(i)), + (e = a(window)), + (f = d.height()), + (g = e.height()), + (h = d.width()), + (j = e.width()), + (k = d.scrollTop()), + (l = d.scrollLeft()), + f > g && + b.pageY - k < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_t = -1), + f > g && + g - (b.pageY - k) < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_t = 1), + h > j && + b.pageX - l < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_l = -1), + h > j && + j - (b.pageX - l) < a.vakata.dnd.settings.scroll_proximity && + (c.scroll_l = 1), + (c.scroll_t || c.scroll_l) && (c.scroll_e = d)), + c.scroll_e && a.vakata.dnd._scroll(!0), + c.helper && + ((m = parseInt(b.pageY + a.vakata.dnd.settings.helper_top, 10)), + (n = parseInt(b.pageX + a.vakata.dnd.settings.helper_left, 10)), + f && m + 25 > f && (m = f - 50), + h && n + c.helper_w > h && (n = h - (c.helper_w + 2)), + c.helper.css({ left: n + "px", top: m + "px" })), + a.vakata.dnd._trigger("move", b), + !1 + ); + } + }, + stop: function (b) { + if ( + ("touchend" === b.type && + b.originalEvent && + b.originalEvent.changedTouches && + b.originalEvent.changedTouches[0] && + ((b.pageX = b.originalEvent.changedTouches[0].pageX), + (b.pageY = b.originalEvent.changedTouches[0].pageY), + (b.target = i.elementFromPoint( + b.originalEvent.changedTouches[0].pageX - window.pageXOffset, + b.originalEvent.changedTouches[0].pageY - window.pageYOffset, + ))), + c.is_drag) + ) + (b.target !== c.target && a(c.target).off("click.vakata"), + a.vakata.dnd._trigger("stop", b)); + else if ("touchend" === b.type && b.target === c.target) { + var d = setTimeout(function () { + a(b.target).click(); + }, 100); + a(b.target).one("click", function () { + d && clearTimeout(d); + }); + } + return (a.vakata.dnd._clean(), !1); + }, + }; + })(a), + (a.jstree.defaults.massload = null), + (a.jstree.plugins.massload = function (b, c) { + ((this.init = function (a, b) { + ((this._data.massload = {}), c.init.call(this, a, b)); + }), + (this._load_nodes = function (b, d, e, f) { + var g = this.settings.massload, + h = JSON.stringify(b), + i = [], + j = this._model.data, + k, + l, + m; + if (!e) { + for (k = 0, l = b.length; l > k; k++) + (!j[b[k]] || (!j[b[k]].state.loaded && !j[b[k]].state.failed) || f) && + (i.push(b[k]), + (m = this.get_node(b[k], !0)), + m && m.length && m.addClass("jstree-loading").attr("aria-busy", !0)); + if (((this._data.massload = {}), i.length)) { + if (a.isFunction(g)) + return g.call( + this, + i, + a.proxy(function (a) { + var g, h; + if (a) + for (g in a) + a.hasOwnProperty(g) && (this._data.massload[g] = a[g]); + for (g = 0, h = b.length; h > g; g++) + ((m = this.get_node(b[g], !0)), + m && + m.length && + m.removeClass("jstree-loading").attr("aria-busy", !1)); + c._load_nodes.call(this, b, d, e, f); + }, this), + ); + if ("object" == typeof g && g && g.url) + return ( + (g = a.extend(!0, {}, g)), + a.isFunction(g.url) && (g.url = g.url.call(this, i)), + a.isFunction(g.data) && (g.data = g.data.call(this, i)), + a + .ajax(g) + .done( + a.proxy(function (a, g, h) { + var i, j; + if (a) + for (i in a) + a.hasOwnProperty(i) && (this._data.massload[i] = a[i]); + for (i = 0, j = b.length; j > i; i++) + ((m = this.get_node(b[i], !0)), + m && + m.length && + m.removeClass("jstree-loading").attr("aria-busy", !1)); + c._load_nodes.call(this, b, d, e, f); + }, this), + ) + .fail( + a.proxy(function (a) { + c._load_nodes.call(this, b, d, e, f); + }, this), + ) + ); + } + } + return c._load_nodes.call(this, b, d, e, f); + }), + (this._load_node = function (b, d) { + var e = this._data.massload[b.id], + f = null, + g; + return e + ? ((f = this[ + "string" == typeof e ? "_append_html_data" : "_append_json_data" + ]( + b, + "string" == typeof e + ? a(a.parseHTML(e)).filter(function () { + return 3 !== this.nodeType; + }) + : e, + function (a) { + d.call(this, a); + }, + )), + (g = this.get_node(b.id, !0)), + g && g.length && g.removeClass("jstree-loading").attr("aria-busy", !1), + delete this._data.massload[b.id], + f) + : c._load_node.call(this, b, d); + })); + }), + (a.jstree.defaults.search = { + ajax: !1, + fuzzy: !1, + case_sensitive: !1, + show_only_matches: !1, + show_only_matches_children: !1, + close_opened_onclear: !0, + search_leaves_only: !1, + search_callback: !1, + }), + (a.jstree.plugins.search = function (c, d) { + ((this.bind = function () { + (d.bind.call(this), + (this._data.search.str = ""), + (this._data.search.dom = a()), + (this._data.search.res = []), + (this._data.search.opn = []), + (this._data.search.som = !1), + (this._data.search.smc = !1), + (this._data.search.hdn = []), + this.element + .on( + "search.jstree", + a.proxy(function (b, c) { + if (this._data.search.som && c.res.length) { + var d = this._model.data, + e, + f, + g = [], + h, + i; + for (e = 0, f = c.res.length; f > e; e++) + if ( + d[c.res[e]] && + !d[c.res[e]].state.hidden && + (g.push(c.res[e]), + (g = g.concat(d[c.res[e]].parents)), + this._data.search.smc) + ) + for (h = 0, i = d[c.res[e]].children_d.length; i > h; h++) + d[d[c.res[e]].children_d[h]] && + !d[d[c.res[e]].children_d[h]].state.hidden && + g.push(d[c.res[e]].children_d[h]); + ((g = a.vakata.array_remove_item( + a.vakata.array_unique(g), + a.jstree.root, + )), + (this._data.search.hdn = this.hide_all(!0)), + this.show_node(g, !0), + this.redraw(!0)); + } + }, this), + ) + .on( + "clear_search.jstree", + a.proxy(function (a, b) { + this._data.search.som && + b.res.length && + (this.show_node(this._data.search.hdn, !0), this.redraw(!0)); + }, this), + )); + }), + (this.search = function (c, d, e, f, g, h) { + if (c === !1 || "" === a.trim(c.toString())) return this.clear_search(); + ((f = this.get_node(f)), (f = f && f.id ? f.id : null), (c = c.toString())); + var i = this.settings.search, + j = i.ajax ? i.ajax : !1, + k = this._model.data, + l = null, + m = [], + n = [], + o, + p; + if ( + (this._data.search.res.length && !g && this.clear_search(), + e === b && (e = i.show_only_matches), + h === b && (h = i.show_only_matches_children), + !d && j !== !1) + ) + return a.isFunction(j) + ? j.call( + this, + c, + a.proxy(function (b) { + (b && b.d && (b = b.d), + this._load_nodes( + a.isArray(b) ? a.vakata.array_unique(b) : [], + function () { + this.search(c, !0, e, f, g, h); + }, + )); + }, this), + f, + ) + : ((j = a.extend({}, j)), + j.data || (j.data = {}), + (j.data.str = c), + f && (j.data.inside = f), + this._data.search.lastRequest && + this._data.search.lastRequest.abort(), + (this._data.search.lastRequest = a + .ajax(j) + .fail( + a.proxy(function () { + ((this._data.core.last_error = { + error: "ajax", + plugin: "search", + id: "search_01", + reason: "Could not load search parents", + data: JSON.stringify(j), + }), + this.settings.core.error.call( + this, + this._data.core.last_error, + )); + }, this), + ) + .done( + a.proxy(function (b) { + (b && b.d && (b = b.d), + this._load_nodes( + a.isArray(b) ? a.vakata.array_unique(b) : [], + function () { + this.search(c, !0, e, f, g, h); + }, + )); + }, this), + )), + this._data.search.lastRequest); + if ( + (g || + ((this._data.search.str = c), + (this._data.search.dom = a()), + (this._data.search.res = []), + (this._data.search.opn = []), + (this._data.search.som = e), + (this._data.search.smc = h)), + (l = new a.vakata.search(c, !0, { + caseSensitive: i.case_sensitive, + fuzzy: i.fuzzy, + })), + a.each(k[f ? f : a.jstree.root].children_d, function (a, b) { + var d = k[b]; + d.text && + !d.state.hidden && + (!i.search_leaves_only || + (d.state.loaded && 0 === d.children.length)) && + ((i.search_callback && i.search_callback.call(this, c, d)) || + (!i.search_callback && l.search(d.text).isMatch)) && + (m.push(b), (n = n.concat(d.parents))); + }), + m.length) + ) { + for (n = a.vakata.array_unique(n), o = 0, p = n.length; p > o; o++) + n[o] !== a.jstree.root && + k[n[o]] && + this.open_node(n[o], null, 0) === !0 && + this._data.search.opn.push(n[o]); + (g + ? ((this._data.search.dom = this._data.search.dom.add( + a( + this.element[0].querySelectorAll( + "#" + + a + .map(m, function (b) { + return -1 !== "0123456789".indexOf(b[0]) + ? "\\3" + + b[0] + + " " + + b.substr(1).replace(a.jstree.idregex, "\\$&") + : b.replace(a.jstree.idregex, "\\$&"); + }) + .join(", #"), + ), + ), + )), + (this._data.search.res = a.vakata.array_unique( + this._data.search.res.concat(m), + ))) + : ((this._data.search.dom = a( + this.element[0].querySelectorAll( + "#" + + a + .map(m, function (b) { + return -1 !== "0123456789".indexOf(b[0]) + ? "\\3" + + b[0] + + " " + + b.substr(1).replace(a.jstree.idregex, "\\$&") + : b.replace(a.jstree.idregex, "\\$&"); + }) + .join(", #"), + ), + )), + (this._data.search.res = m)), + this._data.search.dom + .children(".jstree-anchor") + .addClass("jstree-search")); + } + this.trigger("search", { + nodes: this._data.search.dom, + str: c, + res: this._data.search.res, + show_only_matches: e, + }); + }), + (this.clear_search = function () { + (this.settings.search.close_opened_onclear && + this.close_node(this._data.search.opn, 0), + this.trigger("clear_search", { + nodes: this._data.search.dom, + str: this._data.search.str, + res: this._data.search.res, + }), + this._data.search.res.length && + ((this._data.search.dom = a( + this.element[0].querySelectorAll( + "#" + + a + .map(this._data.search.res, function (b) { + return -1 !== "0123456789".indexOf(b[0]) + ? "\\3" + + b[0] + + " " + + b.substr(1).replace(a.jstree.idregex, "\\$&") + : b.replace(a.jstree.idregex, "\\$&"); + }) + .join(", #"), + ), + )), + this._data.search.dom + .children(".jstree-anchor") + .removeClass("jstree-search")), + (this._data.search.str = ""), + (this._data.search.res = []), + (this._data.search.opn = []), + (this._data.search.dom = a())); + }), + (this.redraw_node = function (b, c, e, f) { + if ( + ((b = d.redraw_node.apply(this, arguments)), + b && -1 !== a.inArray(b.id, this._data.search.res)) + ) { + var g, + h, + i = null; + for (g = 0, h = b.childNodes.length; h > g; g++) + if ( + b.childNodes[g] && + b.childNodes[g].className && + -1 !== b.childNodes[g].className.indexOf("jstree-anchor") + ) { + i = b.childNodes[g]; + break; + } + i && (i.className += " jstree-search"); + } + return b; + })); + }), + (function (a) { + ((a.vakata.search = function (b, c, d) { + ((d = d || {}), + (d = a.extend({}, a.vakata.search.defaults, d)), + d.fuzzy !== !1 && (d.fuzzy = !0), + (b = d.caseSensitive ? b : b.toLowerCase())); + var e = d.location, + f = d.distance, + g = d.threshold, + h = b.length, + i, + j, + k, + l; + return ( + h > 32 && (d.fuzzy = !1), + d.fuzzy && + ((i = 1 << (h - 1)), + (j = (function () { + var a = {}, + c = 0; + for (c = 0; h > c; c++) a[b.charAt(c)] = 0; + for (c = 0; h > c; c++) a[b.charAt(c)] |= 1 << (h - c - 1); + return a; + })()), + (k = function (a, b) { + var c = a / h, + d = Math.abs(e - b); + return f ? c + d / f : d ? 1 : c; + })), + (l = function (a) { + if ( + ((a = d.caseSensitive ? a : a.toLowerCase()), + b === a || -1 !== a.indexOf(b)) + ) + return { isMatch: !0, score: 0 }; + if (!d.fuzzy) return { isMatch: !1, score: 1 }; + var c, + f, + l = a.length, + m = g, + n = a.indexOf(b, e), + o, + p, + q = h + l, + r, + s, + t, + u, + v, + w = 1, + x = []; + for ( + -1 !== n && + ((m = Math.min(k(0, n), m)), + (n = a.lastIndexOf(b, e + h)), + -1 !== n && (m = Math.min(k(0, n), m))), + n = -1, + c = 0; + h > c; + c++ + ) { + ((o = 0), (p = q)); + while (p > o) + (k(c, e + p) <= m ? (o = p) : (q = p), + (p = Math.floor((q - o) / 2 + o))); + for ( + q = p, + s = Math.max(1, e - p + 1), + t = Math.min(e + p, l) + h, + u = new Array(t + 2), + u[t + 1] = (1 << c) - 1, + f = t; + f >= s; + f-- + ) + if ( + ((v = j[a.charAt(f - 1)]), + 0 === c + ? (u[f] = ((u[f + 1] << 1) | 1) & v) + : (u[f] = + (((u[f + 1] << 1) | 1) & v) | + (((r[f + 1] | r[f]) << 1) | 1) | + r[f + 1]), + u[f] & i && ((w = k(c, f - 1)), m >= w)) + ) { + if (((m = w), (n = f - 1), x.push(n), !(n > e))) break; + s = Math.max(1, 2 * e - n); + } + if (k(c + 1, e) > m) break; + r = u; + } + return { isMatch: n >= 0, score: w }; + }), + c === !0 ? { search: l } : l(c) + ); + }), + (a.vakata.search.defaults = { + location: 0, + distance: 100, + threshold: 0.6, + fuzzy: !1, + caseSensitive: !1, + })); + })(a), + (a.jstree.defaults.sort = function (a, b) { + return this.get_text(a) > this.get_text(b) ? 1 : -1; + }), + (a.jstree.plugins.sort = function (b, c) { + ((this.bind = function () { + (c.bind.call(this), + this.element + .on( + "model.jstree", + a.proxy(function (a, b) { + this.sort(b.parent, !0); + }, this), + ) + .on( + "rename_node.jstree create_node.jstree", + a.proxy(function (a, b) { + (this.sort(b.parent || b.node.parent, !1), + this.redraw_node(b.parent || b.node.parent, !0)); + }, this), + ) + .on( + "move_node.jstree copy_node.jstree", + a.proxy(function (a, b) { + (this.sort(b.parent, !1), this.redraw_node(b.parent, !0)); + }, this), + )); + }), + (this.sort = function (b, c) { + var d, e; + if ( + ((b = this.get_node(b)), + b && + b.children && + b.children.length && + (b.children.sort(a.proxy(this.settings.sort, this)), c)) + ) + for (d = 0, e = b.children_d.length; e > d; d++) + this.sort(b.children_d[d], !1); + })); + })); + var m = !1; + ((a.jstree.defaults.state = { + key: "jstree", + events: + "changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree", + ttl: !1, + filter: !1, + preserve_loaded: !1, + }), + (a.jstree.plugins.state = function (b, c) { + ((this.bind = function () { + c.bind.call(this); + var b = a.proxy(function () { + (this.element.on( + this.settings.state.events, + a.proxy(function () { + (m && clearTimeout(m), + (m = setTimeout( + a.proxy(function () { + this.save_state(); + }, this), + 100, + ))); + }, this), + ), + this.trigger("state_ready")); + }, this); + this.element.on( + "ready.jstree", + a.proxy(function (a, c) { + (this.element.one("restore_state.jstree", b), + this.restore_state() || b()); + }, this), + ); + }), + (this.save_state = function () { + var b = this.get_state(); + this.settings.state.preserve_loaded || delete b.core.loaded; + var c = { state: b, ttl: this.settings.state.ttl, sec: +new Date() }; + a.vakata.storage.set(this.settings.state.key, JSON.stringify(c)); + }), + (this.restore_state = function () { + var b = a.vakata.storage.get(this.settings.state.key); + if (b) + try { + b = JSON.parse(b); + } catch (c) { + return !1; + } + return b && b.ttl && b.sec && +new Date() - b.sec > b.ttl + ? !1 + : (b && b.state && (b = b.state), + b && + a.isFunction(this.settings.state.filter) && + (b = this.settings.state.filter.call(this, b)), + b + ? (this.settings.state.preserve_loaded || delete b.core.loaded, + this.element.one("set_state.jstree", function (c, d) { + d.instance.trigger("restore_state", { + state: a.extend(!0, {}, b), + }); + }), + this.set_state(b), + !0) + : !1); + }), + (this.clear_state = function () { + return a.vakata.storage.del(this.settings.state.key); + })); + }), + (function (a, b) { + a.vakata.storage = { + set: function (a, b) { + return window.localStorage.setItem(a, b); + }, + get: function (a) { + return window.localStorage.getItem(a); + }, + del: function (a) { + return window.localStorage.removeItem(a); + }, + }; + })(a), + (a.jstree.defaults.types = { default: {} }), + (a.jstree.defaults.types[a.jstree.root] = {}), + (a.jstree.plugins.types = function (c, d) { + ((this.init = function (c, e) { + var f, g; + if (e && e.types && e.types["default"]) + for (f in e.types) + if ("default" !== f && f !== a.jstree.root && e.types.hasOwnProperty(f)) + for (g in e.types["default"]) + e.types["default"].hasOwnProperty(g) && + e.types[f][g] === b && + (e.types[f][g] = e.types["default"][g]); + (d.init.call(this, c, e), + (this._model.data[a.jstree.root].type = a.jstree.root)); + }), + (this.refresh = function (b, c) { + (d.refresh.call(this, b, c), + (this._model.data[a.jstree.root].type = a.jstree.root)); + }), + (this.bind = function () { + (this.element.on( + "model.jstree", + a.proxy(function (c, d) { + var e = this._model.data, + f = d.nodes, + g = this.settings.types, + h, + i, + j = "default", + k; + for (h = 0, i = f.length; i > h; h++) { + if ( + ((j = "default"), + e[f[h]].original && + e[f[h]].original.type && + g[e[f[h]].original.type] && + (j = e[f[h]].original.type), + e[f[h]].data && + e[f[h]].data.jstree && + e[f[h]].data.jstree.type && + g[e[f[h]].data.jstree.type] && + (j = e[f[h]].data.jstree.type), + (e[f[h]].type = j), + e[f[h]].icon === !0 && + g[j].icon !== b && + (e[f[h]].icon = g[j].icon), + g[j].li_attr !== b && "object" == typeof g[j].li_attr) + ) + for (k in g[j].li_attr) + if (g[j].li_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + e[f[h]].li_attr[k] === b + ? (e[f[h]].li_attr[k] = g[j].li_attr[k]) + : "class" === k && + (e[f[h]].li_attr["class"] = + g[j].li_attr["class"] + " " + e[f[h]].li_attr["class"]); + } + if (g[j].a_attr !== b && "object" == typeof g[j].a_attr) + for (k in g[j].a_attr) + if (g[j].a_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + e[f[h]].a_attr[k] === b + ? (e[f[h]].a_attr[k] = g[j].a_attr[k]) + : "href" === k && "#" === e[f[h]].a_attr[k] + ? (e[f[h]].a_attr.href = g[j].a_attr.href) + : "class" === k && + (e[f[h]].a_attr["class"] = + g[j].a_attr["class"] + " " + e[f[h]].a_attr["class"]); + } + } + e[a.jstree.root].type = a.jstree.root; + }, this), + ), + d.bind.call(this)); + }), + (this.get_json = function (b, c, e) { + var f, + g, + h = this._model.data, + i = c ? a.extend(!0, {}, c, { no_id: !1 }) : {}, + j = d.get_json.call(this, b, i, e); + if (j === !1) return !1; + if (a.isArray(j)) + for (f = 0, g = j.length; g > f; f++) + ((j[f].type = + j[f].id && h[j[f].id] && h[j[f].id].type + ? h[j[f].id].type + : "default"), + c && + c.no_id && + (delete j[f].id, + j[f].li_attr && j[f].li_attr.id && delete j[f].li_attr.id, + j[f].a_attr && j[f].a_attr.id && delete j[f].a_attr.id)); + else + ((j.type = j.id && h[j.id] && h[j.id].type ? h[j.id].type : "default"), + c && c.no_id && (j = this._delete_ids(j))); + return j; + }), + (this._delete_ids = function (b) { + if (a.isArray(b)) { + for (var c = 0, d = b.length; d > c; c++) b[c] = this._delete_ids(b[c]); + return b; + } + return ( + delete b.id, + b.li_attr && b.li_attr.id && delete b.li_attr.id, + b.a_attr && b.a_attr.id && delete b.a_attr.id, + b.children && + a.isArray(b.children) && + (b.children = this._delete_ids(b.children)), + b + ); + }), + (this.check = function (c, e, f, g, h) { + if (d.check.call(this, c, e, f, g, h) === !1) return !1; + ((e = e && e.id ? e : this.get_node(e)), + (f = f && f.id ? f : this.get_node(f))); + var i = + e && e.id + ? h && h.origin + ? h.origin + : a.jstree.reference(e.id) + : null, + j, + k, + l, + m; + switch (((i = i && i._model && i._model.data ? i._model.data : null), c)) { + case "create_node": + case "move_node": + case "copy_node": + if ("move_node" !== c || -1 === a.inArray(e.id, f.children)) { + if ( + ((j = this.get_rules(f)), + j.max_children !== b && + -1 !== j.max_children && + j.max_children === f.children.length) + ) + return ( + (this._data.core.last_error = { + error: "check", + plugin: "types", + id: "types_01", + reason: "max_children prevents function: " + c, + data: JSON.stringify({ + chk: c, + pos: g, + obj: e && e.id ? e.id : !1, + par: f && f.id ? f.id : !1, + }), + }), + !1 + ); + if ( + j.valid_children !== b && + -1 !== j.valid_children && + -1 === a.inArray(e.type || "default", j.valid_children) + ) + return ( + (this._data.core.last_error = { + error: "check", + plugin: "types", + id: "types_02", + reason: "valid_children prevents function: " + c, + data: JSON.stringify({ + chk: c, + pos: g, + obj: e && e.id ? e.id : !1, + par: f && f.id ? f.id : !1, + }), + }), + !1 + ); + if (i && e.children_d && e.parents) { + for (k = 0, l = 0, m = e.children_d.length; m > l; l++) + k = Math.max(k, i[e.children_d[l]].parents.length); + k = k - e.parents.length + 1; + } + (0 >= k || k === b) && (k = 1); + do { + if (j.max_depth !== b && -1 !== j.max_depth && j.max_depth < k) + return ( + (this._data.core.last_error = { + error: "check", + plugin: "types", + id: "types_03", + reason: "max_depth prevents function: " + c, + data: JSON.stringify({ + chk: c, + pos: g, + obj: e && e.id ? e.id : !1, + par: f && f.id ? f.id : !1, + }), + }), + !1 + ); + ((f = this.get_node(f.parent)), (j = this.get_rules(f)), k++); + } while (f); + } + } + return !0; + }), + (this.get_rules = function (a) { + if (((a = this.get_node(a)), !a)) return !1; + var c = this.get_type(a, !0); + return ( + c.max_depth === b && (c.max_depth = -1), + c.max_children === b && (c.max_children = -1), + c.valid_children === b && (c.valid_children = -1), + c + ); + }), + (this.get_type = function (b, c) { + return ( + (b = this.get_node(b)), + b + ? c + ? a.extend({ type: b.type }, this.settings.types[b.type]) + : b.type + : !1 + ); + }), + (this.set_type = function (c, d) { + var e = this._model.data, + f, + g, + h, + i, + j, + k, + l, + m; + if (a.isArray(c)) { + for (c = c.slice(), g = 0, h = c.length; h > g; g++) + this.set_type(c[g], d); + return !0; + } + if (((f = this.settings.types), (c = this.get_node(c)), !f[d] || !c)) + return !1; + if ( + ((l = this.get_node(c, !0)), + l && l.length && (m = l.children(".jstree-anchor")), + (i = c.type), + (j = this.get_icon(c)), + (c.type = d), + (j === !0 || !f[i] || (f[i].icon !== b && j === f[i].icon)) && + this.set_icon(c, f[d].icon !== b ? f[d].icon : !0), + f[i] && f[i].li_attr !== b && "object" == typeof f[i].li_attr) + ) + for (k in f[i].li_attr) + if (f[i].li_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + "class" === k + ? ((e[c.id].li_attr["class"] = ( + e[c.id].li_attr["class"] || "" + ).replace(f[i].li_attr[k], "")), + l && l.removeClass(f[i].li_attr[k])) + : e[c.id].li_attr[k] === f[i].li_attr[k] && + ((e[c.id].li_attr[k] = null), l && l.removeAttr(k)); + } + if (f[i] && f[i].a_attr !== b && "object" == typeof f[i].a_attr) + for (k in f[i].a_attr) + if (f[i].a_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + "class" === k + ? ((e[c.id].a_attr["class"] = ( + e[c.id].a_attr["class"] || "" + ).replace(f[i].a_attr[k], "")), + m && m.removeClass(f[i].a_attr[k])) + : e[c.id].a_attr[k] === f[i].a_attr[k] && + ("href" === k + ? ((e[c.id].a_attr[k] = "#"), m && m.attr("href", "#")) + : (delete e[c.id].a_attr[k], m && m.removeAttr(k))); + } + if (f[d].li_attr !== b && "object" == typeof f[d].li_attr) + for (k in f[d].li_attr) + if (f[d].li_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + e[c.id].li_attr[k] === b + ? ((e[c.id].li_attr[k] = f[d].li_attr[k]), + l && + ("class" === k + ? l.addClass(f[d].li_attr[k]) + : l.attr(k, f[d].li_attr[k]))) + : "class" === k && + ((e[c.id].li_attr["class"] = + f[d].li_attr[k] + " " + e[c.id].li_attr["class"]), + l && l.addClass(f[d].li_attr[k])); + } + if (f[d].a_attr !== b && "object" == typeof f[d].a_attr) + for (k in f[d].a_attr) + if (f[d].a_attr.hasOwnProperty(k)) { + if ("id" === k) continue; + e[c.id].a_attr[k] === b + ? ((e[c.id].a_attr[k] = f[d].a_attr[k]), + m && + ("class" === k + ? m.addClass(f[d].a_attr[k]) + : m.attr(k, f[d].a_attr[k]))) + : "href" === k && "#" === e[c.id].a_attr[k] + ? ((e[c.id].a_attr.href = f[d].a_attr.href), + m && m.attr("href", f[d].a_attr.href)) + : "class" === k && + ((e[c.id].a_attr["class"] = + f[d].a_attr["class"] + " " + e[c.id].a_attr["class"]), + m && m.addClass(f[d].a_attr[k])); + } + return !0; + })); + }), + (a.jstree.defaults.unique = { + case_sensitive: !1, + trim_whitespace: !1, + duplicate: function (a, b) { + return a + " (" + b + ")"; + }, + }), + (a.jstree.plugins.unique = function (c, d) { + ((this.check = function (b, c, e, f, g) { + if (d.check.call(this, b, c, e, f, g) === !1) return !1; + if ( + ((c = c && c.id ? c : this.get_node(c)), + (e = e && e.id ? e : this.get_node(e)), + !e || !e.children) + ) + return !0; + var h = "rename_node" === b ? f : c.text, + i = [], + j = this.settings.unique.case_sensitive, + k = this.settings.unique.trim_whitespace, + l = this._model.data, + m, + n, + o; + for (m = 0, n = e.children.length; n > m; m++) + ((o = l[e.children[m]].text), + j || (o = o.toLowerCase()), + k && (o = o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), + i.push(o)); + switch ( + (j || (h = h.toLowerCase()), + k && (h = h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), + b) + ) { + case "delete_node": + return !0; + case "rename_node": + return ( + (o = c.text || ""), + j || (o = o.toLowerCase()), + k && (o = o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), + (m = -1 === a.inArray(h, i) || (c.text && o === h)), + m || + (this._data.core.last_error = { + error: "check", + plugin: "unique", + id: "unique_01", + reason: + "Child with name " + h + " already exists. Preventing: " + b, + data: JSON.stringify({ + chk: b, + pos: f, + obj: c && c.id ? c.id : !1, + par: e && e.id ? e.id : !1, + }), + }), + m + ); + case "create_node": + return ( + (m = -1 === a.inArray(h, i)), + m || + (this._data.core.last_error = { + error: "check", + plugin: "unique", + id: "unique_04", + reason: + "Child with name " + h + " already exists. Preventing: " + b, + data: JSON.stringify({ + chk: b, + pos: f, + obj: c && c.id ? c.id : !1, + par: e && e.id ? e.id : !1, + }), + }), + m + ); + case "copy_node": + return ( + (m = -1 === a.inArray(h, i)), + m || + (this._data.core.last_error = { + error: "check", + plugin: "unique", + id: "unique_02", + reason: + "Child with name " + h + " already exists. Preventing: " + b, + data: JSON.stringify({ + chk: b, + pos: f, + obj: c && c.id ? c.id : !1, + par: e && e.id ? e.id : !1, + }), + }), + m + ); + case "move_node": + return ( + (m = + (c.parent === e.id && (!g || !g.is_multi)) || -1 === a.inArray(h, i)), + m || + (this._data.core.last_error = { + error: "check", + plugin: "unique", + id: "unique_03", + reason: + "Child with name " + h + " already exists. Preventing: " + b, + data: JSON.stringify({ + chk: b, + pos: f, + obj: c && c.id ? c.id : !1, + par: e && e.id ? e.id : !1, + }), + }), + m + ); + } + return !0; + }), + (this.create_node = function (c, e, f, g, h) { + if (!e || e.text === b) { + if ((null === c && (c = a.jstree.root), (c = this.get_node(c)), !c)) + return d.create_node.call(this, c, e, f, g, h); + if ( + ((f = f === b ? "last" : f), + !f.toString().match(/^(before|after)$/) && !h && !this.is_loaded(c)) + ) + return d.create_node.call(this, c, e, f, g, h); + e || (e = {}); + var i, + j, + k, + l, + m, + n = this._model.data, + o = this.settings.unique.case_sensitive, + p = this.settings.unique.trim_whitespace, + q = this.settings.unique.duplicate, + r; + for ( + j = i = this.get_string("New node"), + k = [], + l = 0, + m = c.children.length; + m > l; + l++ + ) + ((r = n[c.children[l]].text), + o || (r = r.toLowerCase()), + p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), + k.push(r)); + ((l = 1), + (r = j), + o || (r = r.toLowerCase()), + p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""))); + while (-1 !== a.inArray(r, k)) + ((j = q.call(this, i, ++l).toString()), + (r = j), + o || (r = r.toLowerCase()), + p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""))); + e.text = j; + } + return d.create_node.call(this, c, e, f, g, h); + })); + })); + var n = i.createElement("DIV"); + if ( + (n.setAttribute("unselectable", "on"), + n.setAttribute("role", "presentation"), + (n.className = "jstree-wholerow"), + (n.innerHTML = " "), + (a.jstree.plugins.wholerow = function (b, c) { + ((this.bind = function () { + (c.bind.call(this), + this.element + .on( + "ready.jstree set_state.jstree", + a.proxy(function () { + this.hide_dots(); + }, this), + ) + .on( + "init.jstree loading.jstree ready.jstree", + a.proxy(function () { + this.get_container_ul().addClass("jstree-wholerow-ul"); + }, this), + ) + .on( + "deselect_all.jstree", + a.proxy(function (a, b) { + this.element + .find(".jstree-wholerow-clicked") + .removeClass("jstree-wholerow-clicked"); + }, this), + ) + .on( + "changed.jstree", + a.proxy(function (a, b) { + this.element + .find(".jstree-wholerow-clicked") + .removeClass("jstree-wholerow-clicked"); + var c = !1, + d, + e; + for (d = 0, e = b.selected.length; e > d; d++) + ((c = this.get_node(b.selected[d], !0)), + c && + c.length && + c + .children(".jstree-wholerow") + .addClass("jstree-wholerow-clicked")); + }, this), + ) + .on( + "open_node.jstree", + a.proxy(function (a, b) { + this.get_node(b.node, !0) + .find(".jstree-clicked") + .parent() + .children(".jstree-wholerow") + .addClass("jstree-wholerow-clicked"); + }, this), + ) + .on( + "hover_node.jstree dehover_node.jstree", + a.proxy(function (a, b) { + ("hover_node" === a.type && this.is_disabled(b.node)) || + this.get_node(b.node, !0) + .children(".jstree-wholerow") + [ + "hover_node" === a.type ? "addClass" : "removeClass" + ]("jstree-wholerow-hovered"); + }, this), + ) + .on( + "contextmenu.jstree", + ".jstree-wholerow", + a.proxy(function (b) { + if (this._data.contextmenu) { + b.preventDefault(); + var c = a.Event("contextmenu", { + metaKey: b.metaKey, + ctrlKey: b.ctrlKey, + altKey: b.altKey, + shiftKey: b.shiftKey, + pageX: b.pageX, + pageY: b.pageY, + }); + a(b.currentTarget) + .closest(".jstree-node") + .children(".jstree-anchor") + .first() + .trigger(c); + } + }, this), + ) + .on("click.jstree", ".jstree-wholerow", function (b) { + b.stopImmediatePropagation(); + var c = a.Event("click", { + metaKey: b.metaKey, + ctrlKey: b.ctrlKey, + altKey: b.altKey, + shiftKey: b.shiftKey, + }); + a(b.currentTarget) + .closest(".jstree-node") + .children(".jstree-anchor") + .first() + .trigger(c) + .focus(); + }) + .on("dblclick.jstree", ".jstree-wholerow", function (b) { + b.stopImmediatePropagation(); + var c = a.Event("dblclick", { + metaKey: b.metaKey, + ctrlKey: b.ctrlKey, + altKey: b.altKey, + shiftKey: b.shiftKey, + }); + a(b.currentTarget) + .closest(".jstree-node") + .children(".jstree-anchor") + .first() + .trigger(c) + .focus(); + }) + .on( + "click.jstree", + ".jstree-leaf > .jstree-ocl", + a.proxy(function (b) { + b.stopImmediatePropagation(); + var c = a.Event("click", { + metaKey: b.metaKey, + ctrlKey: b.ctrlKey, + altKey: b.altKey, + shiftKey: b.shiftKey, + }); + a(b.currentTarget) + .closest(".jstree-node") + .children(".jstree-anchor") + .first() + .trigger(c) + .focus(); + }, this), + ) + .on( + "mouseover.jstree", + ".jstree-wholerow, .jstree-icon", + a.proxy(function (a) { + return ( + a.stopImmediatePropagation(), + this.is_disabled(a.currentTarget) || + this.hover_node(a.currentTarget), + !1 + ); + }, this), + ) + .on( + "mouseleave.jstree", + ".jstree-node", + a.proxy(function (a) { + this.dehover_node(a.currentTarget); + }, this), + )); + }), + (this.teardown = function () { + (this.settings.wholerow && this.element.find(".jstree-wholerow").remove(), + c.teardown.call(this)); + }), + (this.redraw_node = function (b, d, e, f) { + if ((b = c.redraw_node.apply(this, arguments))) { + var g = n.cloneNode(!0); + (-1 !== a.inArray(b.id, this._data.core.selected) && + (g.className += " jstree-wholerow-clicked"), + this._data.core.focused && + this._data.core.focused === b.id && + (g.className += " jstree-wholerow-hovered"), + b.insertBefore(g, b.childNodes[0])); + } + return b; + })); + }), + window.customElements && Object && Object.create) + ) { + var o = Object.create(HTMLElement.prototype); + o.createdCallback = function () { + var b = { core: {}, plugins: [] }, + c; + for (c in a.jstree.plugins) + a.jstree.plugins.hasOwnProperty(c) && + this.attributes[c] && + (b.plugins.push(c), + this.getAttribute(c) && + JSON.parse(this.getAttribute(c)) && + (b[c] = JSON.parse(this.getAttribute(c)))); + for (c in a.jstree.defaults.core) + a.jstree.defaults.core.hasOwnProperty(c) && + this.attributes[c] && + (b.core[c] = JSON.parse(this.getAttribute(c)) || this.getAttribute(c)); + a(this).jstree(b); + }; + try { + window.customElements.define("vakata-jstree", function () {}, { prototype: o }); + } catch (p) {} + } + } +}); diff --git a/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js b/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js index 6c8e746..7e3d52c 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js +++ b/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js @@ -1,7 +1,153596 @@ /** -* plotly.js v1.37.1 -* Copyright 2012-2018, Plotly, Inc. -* All rights reserved. -* Licensed under the MIT license -*/ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;oMath.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":41,"has-passive-events":297,"mouse-change":320,"mouse-event-offset":321,"mouse-wheel":323,"right-now":382}],41:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return"M"+r+","+l+"C"+o+","+l+" "+s+","+u+" "+i+","+u+"L"+i+","+f+"C"+s+","+f+" "+o+","+c+" "+r+","+c+"Z"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&void 0!==e?i(r,t("d3-array"),t("d3-collection"),t("d3-interpolate")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":122,"d3-collection":123,"d3-interpolate":127}],43:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,i=t("gl-buffer"),a=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":210,"gl-vao":279,"weak-map":432}],44:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;si&&(i=t[o]),t[o]=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&m(i,r,"Missing expected exception"+n);var o="string"==typeof n,s=!t&&a.isError(i),l=!t&&i&&!r;if((s&&o&&b(i,r)||l)&&m(i,r,"Got unwanted exception"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(g((e=this).actual),128)+" "+e.operator+" "+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":429}],53:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],54:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o0?l-4:l;var u=0;for(e=0;e>16&255,s[u++]=n>>8&255,s[u++]=255&n;2===o?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[u++]=255&n):1===o&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[u++]=n>>8&255,s[u++]=255&n);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a="",o=[],s=0,l=r-i;sl?l:s+16383));1===i?(e=t[r-1],a+=n[e>>2],a+=n[e<<4&63],a+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],a+=n[e>>10],a+=n[e>>4&63],a+=n[e<<2&63],a+="=");return o.push(a),o.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function u(t,e,r){for(var i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],56:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":66}],57:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],58:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":66}],59:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,f;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if("string"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{"./div":58,"./is-rat":60,"./lib/is-bn":64,"./lib/num-to-bn":65,"./lib/rationalize":66,"./lib/str-to-bn":67}],60:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":64}],61:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":75}],62:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20)return 52;return r+32}},{"bit-twiddle":73,"double-bits":133}],64:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":75}],65:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":75,"double-bits":133}],66:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":61,"./num-to-bn":65}],67:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":75}],68:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":66}],69:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":61}],70:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":66}],71:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":62,"./lib/ctz":63}],72:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],73:[function(t,e,r){"use strict";"use restrict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],74:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,C=0|o[6],E=8191&C,L=C>>>13,z=0|o[7],P=8191&z,D=z>>>13,O=0|o[8],I=8191&O,R=O>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(D,V)|0,a=Math.imul(D,U),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(M,J)|0,a=a+Math.imul(M,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(I,V),i=(i=Math.imul(I,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(D,H)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(D,Y)|0,a=a+Math.imul(D,X)|0,n=n+Math.imul(E,J)|0,i=(i=i+Math.imul(E,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(E,at)|0,i=(i=i+Math.imul(E,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Ct=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Et=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(D,lt)|0,a=a+Math.imul(D,ct)|0,n=n+Math.imul(E,ft)|0,i=(i=i+Math.imul(E,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(D,ft)|0,a=a+Math.imul(D,ht)|0;var zt=(c+(n=n+Math.imul(E,dt)|0)|0)+((8191&(i=(i=i+Math.imul(E,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(D,dt)|0))<<13)|0;c=((a=a+Math.imul(D,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Dt=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Ct,l[13]=Et,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Dt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:84}],76:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":79,"./lib/sweep":83,"typedarray-pool":423}],78:[function(t,e,r){"use strict";var n="d",i="ax",a="vv",o="fp",s="es",l="rs",c="re",u="rb",f="ri",h="rp",p="bs",d="be",g="bb",m="bi",v="bp",y="rv",x="Q",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+h+"="+s+"*"+l+";i<"+c+";++i,"+h+"+="+s+"){var x0="+u+"["+i+"+"+h+"],x1="+u+"["+i+"+"+h+"+"+n+"],xi="+f+"[i];",k="for(var j="+p+","+v+"="+s+"*"+p+";j<"+d+";++j,"+v+"+="+s+"){var y0="+g+"["+i+"+"+v+"],"+(r?"y1="+g+"["+i+"+"+v+"+"+n+"],":"")+"yi="+m+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var M=r.join("")+w.join("");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],79:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,S,C,E,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length0;){var O=(P-=1)*b,I=w[O],R=w[O+1],B=w[O+2],F=w[O+3],N=w[O+4],j=w[O+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=E,Z=L;if(H&&(W=E,Y=L,X=u,Z=S),!(2&j&&(B=m(t,I,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,I,R,B,W,Y,U))>=B)){var J=B-R,K=N-F;if(G){if(t*J*(J+K)=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),m=u("lo>>1,h=2*t,p=f,d=s[h*f+e];for(;c=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;Mr&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d=0&&i.push("lo=e[k+n]");t.indexOf("hi")>=0&&i.push("hi=e[k+o]");return r.push(n.replace("_",i.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],82:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var C=f[2*_];var E=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var D=2*p;var O=2*g;var I=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[D+R]=B,f[O+R]=F,f[I+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,C,E,f))for(;;){if(u(M,C,E,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--Mt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function u(t,e,r,n){var i=n[t*=2];return i>>1;a(p,S);for(var C=0,E=0,k=0;k=o)d(c,u,E--,L=L-o|0);else if(L>=0)d(s,l,C--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z>>1;a(p,C);for(var E=0,L=0,z=0,M=0;M>1==p[2*M+3]>>1&&(D=2,M+=1),P<0){for(var O=-(P>>1)-1,I=0;I>1)-1;0===D?d(s,l,E--,O):1===D?d(c,u,L--,O):2===D&&d(f,h,z--,O)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A>>1;a(p,E);for(var L=0,A=0;A=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var D=y[T],O=b*T,I=v[O+e+1],R=v[O+e+1+t];t:for(var B=0;B>>1;a(p,k);for(var M=0,x=0;x=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,C=h[S+e+1],E=h[S+e+1+t];t:for(var L=0;L=0;--L)if(s[L]===b){for(var O=L+1;Oa)throw new RangeError("Invalid typed array length");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(t)}return l(t,e,r)}function l(t,e,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return j(t)||t&&j(t.buffer)?function(t,e,r){if(e<0||t.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return F(t).length;default:if(n)return B(t).length;e=(""+e).toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,r);case"utf8":case"utf-8":return M(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(I,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function V(t){return t!=t}},{"base64-js":55,ieee754:298}],86:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),f=!!c(r,"interior",!0),h=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{"binary-search-bounds":91,"robust-in-sphere":386}],88:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":91,"robust-orientation":388}],90:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],92:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;rr?r:t:te?e:t}},{}],96:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;ae[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,C=(S=n[--a])[1];i?e.push([T,C,A]):e.push([T,C]),T=C}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{"./lib/rat-seg-intersect":97,"big-rat":59,"big-rat/cmp":57,"big-rat/to-float":71,"box-intersect":77,nextafter:336,"rat-vec":370,"robust-segment-intersect":391,"union-find":424}],97:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":58,"big-rat/mul":68,"big-rat/sign":69,"big-rat/sub":70,"rat-vec/add":369,"rat-vec/muls":371,"rat-vec/sub":372}],98:[function(t,e,r){"use strict";var n=t("clamp");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:95}],99:[function(t,e,r){"use strict";e.exports={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]}},{}],100:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s="uint8"!==e&&"uint8_clamped"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:95,"color-rgba":102,dtype:135}],101:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],u=p.replace(/a$/,"");s=u;var f="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if("number"==typeof t)s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":99,defined:131,"is-plain-obj":308}],102:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e;if("string"!=typeof t)throw Error("Argument should be a string");var r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:95,"color-parse":101,"color-space/hsl":103}],103:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":104}],104:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],105:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],106:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");u=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);u=f.slice()}if(u.length>p)throw new Error(f+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),v=[];for(g=0;g0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{"robust-orientation":388,"robust-product":389,"robust-sum":393,signum:394,"two-sum":422}],108:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],112:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":46,"incremental-convex-hull":299}],114:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],115:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],116:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===a)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===a){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===a){if(e.shapeArgs.push(i),ir.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":118}],117:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l0&&v.push("var "+y.join(",")),l=0;l3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=function(t){for(var e=0,r=t[0].length;e0,c=[],u=0;u0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u3&&v.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+v.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",m.join(","),"){",v.join("\n"),"} return ",A].join(""))()}},{uniq:425}],118:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;ue?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;af;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++hl.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],124:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),f=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),h=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),p=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,r,n)}function k(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new M;if(t instanceof M)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r0&&c<1?0:s,new M(s,l,c,t.opacity)}(t):new M(t,e,r,null==i?1:i)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function A(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(M,k,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(A(t>=240?t-240:t+120,i,n),A(t,i,n),A(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var T=Math.PI/180,S=180/Math.PI,C=.95047,E=1,L=1.08883,z=4/29,P=6/29,D=3*P*P,O=P*P*P;function I(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=F((.4124564*r+.3575761*n+.1804375*i)/C),o=F((.2126729*r+.7151522*n+.072175*i)/E);return new B(116*o-16,500*(a-o),200*(o-F((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?I(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function F(t){return t>O?Math.pow(t,1/3):t/D+z}function N(t){return t>P?t*t*t:D*(t-z)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof B||(t=I(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,R,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return t=E*N(t),new _(j(3.2404542*(e=C*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return I(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=k,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],125:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l0)for(var r,n,i=new Array(r),a=0;ah+c||np+c||au.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;vt.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+""}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;nf&&(f=i),ah&&(h=a));for(ft||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],130:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[D(t,"matchesSelector")];return(W=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?I:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Dt(t){return t>1?0:t<-1?At:Math.acos(t)}function Ot(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function C(t){m++||t({type:"zoomstart"})}function E(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),E(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);ss.call(e),C(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);ss.call(r);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Et)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ce(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ee[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ze=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ce(e,r))).toFixed(Math.max(0,Math.min(20,Ce(e*(1+1e-15),r))))}});function Pe(t){return t+""}var De=t.time={},Oe=Date;function Ie(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Ie.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r1)for(;o68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,"0",2)+Ue(i,"0",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===i&&"="===s)&&(u=i="0",s="="),d){case"n":h=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=a[0],v=a[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var M=x?e.lastIndexOf("e"):-1;M<0?(_=e,w=""):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A"===s?T+a+e:"^"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Oe=Ie);return r._=t,e(r)}finally{Oe=Date}}return r.parse=function(t){try{Oe=Ie;var r=e.parse(t);return r&&r._}finally{Oe=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach(function(t,e){h.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+De.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(De.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(De.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ar};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Cr.add(Math.atan2(h,f)),r=t,n=l,i=c}Er.point=function(o,s){Er.point=a,r=(t=o)*Et,n=Math.cos(s=(e=s)*Et/2+At/4),i=Math.sin(s)},Er.lineEnd=function(){a(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ir(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Br(t){return[Math.atan2(t[1],t[0]),Ot(t[2])]}function Fr(t,e){return y(t[0]-e[0])kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),ai&&(i=a)}function d(t,o){var s=zr([t*Et,o*Et]);if(l){var c=Dr(l,s),u=Dr([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*ai&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&di&&(i=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Er.point(t,e),d(t,e)}function x(){Er.lineStart()}function b(){v(o,s),Er.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n=0?1:-1,k=w*_,M=k>At,A=d*x;if(Cr.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Dr(zr(f),zr(t));Rr(T);var S=Dr(i,T);Rr(S);var C=(M^_>=0?-1:1)*Ot(S[2]);(n>C||n===C&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:I,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]0)){if(a/=h,h<0){if(a0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a0)){if(a/=p,p<0){if(a0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;in&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return k};function a(t,i){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Ot((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:I,lineStart:I,lineEnd:I,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=I,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){tfn&&(fn=t);ehn&&(hn=e)},lineStart:I,lineEnd:I,polygonStart:I,polygonEnd:I};function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var vn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function kn(t){var e=.5,r=Math.cos(30*Et),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return An(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g0&&16,i):Math.sqrt(e)},i}function Mn(t){this.stream=t}function An(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=kn(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Et,t[1]*Et))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=zn(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Fr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},In(t,6*Et),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Dr(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Dr(i,a),h=Ir(i,c);Or(h,Ir(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Ir(p,(-d-v)/g);if(Or(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)0^x[1]<(y(x[0]-_)At^(_<=x[0]&&x[0]<=w)){var S=Ir(p,(-d+v)/g);return Or(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Et),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Et,p=t[1]%360*Et,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Et,g=t[1]%360*Et,m=t.length>2?t[2]%360*Et:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Cn(t){return An(t,function(e,r){t.point(e*Et,r*Et)})}function En(t,e){return[t,e]}function Ln(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),On(e,r)):Dn(t):e||r?On(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=Pn(t);return e.invert=Pn(-t),e}function On(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),Ot(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Ot(u*r-s*n)]},o}function In(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?ia)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u2?t[2]*Et:0),e.invert=function(e){return(e=t.invert(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=En,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Et,-t[1]*Et,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=In((t=+r)*Et,n*Et),i):t},i.precision=function(r){return arguments.length?(e=In(t*Et,(n=+r)*Et),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Et,i=t[1]*Et,a=e[1]*Et,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%m)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=Bn(o,a,90),u=Fn(r,e,v),f=Bn(l,s,90),h=Fn(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Et,n=t[1]*Et,i=e[0]*Et,a=e[1]*Et,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return vn=0,t.geo.stream(e,Vn),vn};var Vn={sphere:I,point:I,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Et),o=Math.cos(i),s=y((n*=Et)-t),l=Math.cos(s);vn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Et,e=Math.sin(a*=Et),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=I}},lineEnd:I,polygonStart:I,polygonEnd:I};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Zn(Qn),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;nkt)s=s.L;else{if(!((i=a-xi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ci.insert(e,l),e||r){if(e===r)return ki(e),r=di(e.site),ci.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){ki(e),ki(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};Si(r.edge,c,d,b),l.edge=Ti(c,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=fi._;x;)if(v.y=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.xkt||y(i-r)>kt)&&(s.splice(o,0,new Ci((v=a.site,x=u,b=y(n-f)kt?{x:f,y:y(e-f)kt?{x:y(r-d)kt?{x:h,y:y(e-h)kt?{x:y(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Oi(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Oi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(_i),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return ag&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;fg&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),u?i=l:o=l,f?a=c:s=c,M(t,e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h=_)<<1|e>=b,k=w+4;w=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ea(t){return 1-Math.cos(t*Ct)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):"in";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=aa,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new oa(e?e.matrix:ca)})(e)},oa.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ca={a:1,b:0,c:0,d:1,e:0,f:0};function ua(t){return t.length?t.pop()+",":""}function fa(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ua(r)+"rotate(",null,")")-2,x:Vi(t,e)})):e&&r.push(ua(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ua(r)+"skewX(",null,")")-2,x:Vi(t,e)}):e&&r.push(ua(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ua(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ua(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Me(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function Aa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Aa(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ma(t,function(t){t.children&&(t.value=0)}),Aa(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Za),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Ua(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Aa(s,function(t){t.r=+u(t.value)}),Aa(s,Xa),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Aa(s,function(t){t.r+=f}),Aa(s,Xa),Aa(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ma(u,function(t){t.x=(t.x+g)*m,t.y=t.depth*v})}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!to(o)&&(o.t=s,o.m+=f-u),a&&!$a(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},ka(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Aa(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Aa(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},ka(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?fo:so,s=i?pa:ha;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return mo(e,t)};l.tickFormat=function(t,r){return vo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c0;h--)e.push(s(c)*h);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?i[t-1]:r[0],tf?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,C=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Co?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ot(m/c*Math.sin(v))),s&&(T=Ot(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var E=Math.abs(f-u-2*S)<=At?0:1;if(S&&Oo(y,x,b,_)===p^E){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Oo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function Io(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,C=M-d,E=A-g;return T*T+S*S>C*C+E*E&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Fo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push("M",i(t(c),o))}for(;++u1&&i.push("H",n[0]);return i.join("")},"step-before":jo,"step-after":Vo,basis:Ho,"basis-open":function(t){if(t.length<4)return Fo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+","+Go(Xo,o)),--n;for(;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Fo(t){return t.length>1?t.join("L"):t+"Z"}function No(t){return t.join("L")+"Z"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cAt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=me(e),n):t},n.target=function(t){return arguments.length?(e=me(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ct;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var is=t.map({circle:ns,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*os)),r=e*os;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/as),r=e*as/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/as),r=e*as/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Et);Y.transition=function(t){for(var e,r,n=us||++ps,i=ms(t),a=[],o=fs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}hs.call=Y.call,hs.empty=Y.empty,hs.node=Y.node,hs.size=Y.size,t.transition=function(e,r){return e&&e.transition?us?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=hs,hs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed("extent"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on("keydown.brush",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on("keyup.brush",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var C=+/w$/.test(_),E=+/^n/.test(_);m=[s[1-C]-T[0],l[1-E]-T[1]],T[0]=s[C],T[1]=l[E]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=Es(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Es(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Es(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Cs(e.copy(),r,n)},ho(i,e)}function Es(t){return new Date(t)}Ms.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,De.second=Be(function(t){return new Oe(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),De.seconds=De.second.range,De.seconds.utc=De.second.utc.range,De.minute=Be(function(t){return new Oe(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),De.minutes=De.minute.range,De.minutes.utc=De.minute.utc.range,De.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Oe(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),De.hours=De.hour.range,De.hours.utc=De.hour.utc.range,De.month=Be(function(t){return(t=De.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),De.months=De.month.range,De.months.utc=De.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[De.second,1],[De.second,5],[De.second,15],[De.second,30],[De.minute,1],[De.minute,5],[De.minute,15],[De.minute,30],[De.hour,1],[De.hour,3],[De.hour,6],[De.hour,12],[De.day,1],[De.day,2],[De.week,1],[De.month,1],[De.month,3],[De.year,1]],Ps=Ms.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Wr]]),Ds={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Es)},floor:z,ceil:z};zs.year=De.year,De.scale=function(){return Cs(t.scale.linear(),zs,Ps)};var Os=zs.map(function(t){return[t[0].utc,t[1]]}),Is=As.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Bs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Os.year=De.year.utc,De.scale.utc=function(){return Cs(t.scale.linear(),Os,Is)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",Rs,e)},t.html=function(t,e){return ye(t,"text/html",Bs,e)},t.xml=ve(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],131:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":299,uniq:425}],133:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:85}],134:[function(t,e,r){var n=t("abs-svg-path"),i=t("normalize-svg-path"),a={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":44,"normalize-svg-path":337}],135:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],136:[function(t,e,r){"use strict";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],138:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,M,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r0?1:-1}},{}],149:[function(t,e,r){"use strict";var n=t("../math/sign"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{"../math/sign":146}],150:[function(t,e,r){"use strict";var n=t("./to-integer"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{"./to-integer":149}],151:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./valid-value"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{"./valid-callable":169,"./valid-value":171}],152:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":153,"./shim":154}],153:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],154:[function(t,e,r){"use strict";var n=t("../keys"),i=t("../valid-value"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],175:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],176:[function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],177:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":180,d:121,"es5-ext/object/set-prototype-of":166,"es5-ext/string/#/contains":172,"es6-symbol":185}],178:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/valid-callable"),a=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{"./get":179,"es5-ext/function/is-arguments":143,"es5-ext/object/valid-callable":169,"es5-ext/string/is-string":175}],179:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/string/is-string"),a=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{"./array":177,"./string":182,"./valid-iterable":183,"es5-ext/function/is-arguments":143,"es5-ext/string/is-string":175,"es6-symbol":185}],180:[function(t,e,r){"use strict";var n,i=t("es5-ext/array/#/clear"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:121,"d/auto-bind":120,"es5-ext/array/#/clear":139,"es5-ext/object/assign":152,"es5-ext/object/valid-callable":169,"es5-ext/object/valid-value":171,"es6-symbol":185}],181:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/is-value"),a=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":143,"es5-ext/object/is-value":160,"es5-ext/string/is-string":175,"es6-symbol":185}],182:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":180,d:121,"es5-ext/object/set-prototype-of":166,"es6-symbol":185}],183:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":181}],184:[function(t,e,r){(function(n,i){!function(t,n){"object"==typeof r&&void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!i(e))throw TypeError("listener must be a function");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(o=(r=this._events[t]).length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(a(r)){for(s=o;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],195:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],196:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}(r))return!1}else if("number"!==e)return!1;return t-t<1}},{}],197:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),i=t("binary-search-bounds");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":72,"cubic-hermite":115}],198:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&&"string"!=typeof e||(e=new(n(e||"float32"))(a+r));var o=e.length-r;if(a!==o)throw new Error("source length "+a+" ("+i+"x"+t.length+") does not match destination length "+o);for(var s=0,l=r;s=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new f(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return te?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+11&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],200:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],201:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var C=0;C<2;++C){var E=(M+1+C)%3,L=(M+1+(1^C))%3;this.gridEnable[E]&&this._lines.drawGrid(E,L,this.bounds,S,this.gridColor[E],this.gridWidth[E]*this.pixelRatio)}for(C=0;C<2;++C){E=(M+1+C)%3,L=(M+1+(1^C))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(E,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var O=k/r[5*C];z[C]*=D[C]*O,P[C]*=D[C]*O}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var I=A[M].primalMinor,R=c(x,A[M].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[M]&&(R[C]+=k*I[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);if(this.tickEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.labelPad[C]/r[5*C];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":203,"./lib/cube.js":204,"./lib/lines.js":205,"./lib/text.js":207,"./lib/ticks.js":208}],203:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":206,"gl-buffer":210,"gl-vao":279}],204:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]S&&(_|=1<S&&(_|=1<c[y][1]&&(I=y));for(var R=-1,y=0;y<3;++y){var B=I^1<c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^I)]=I&R,N[n.log2(I^F)]=I&F;var j=7^F;j===_||j===O?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1< 0.0) {\n vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n colorChannel = abs(normal);\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] + \n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":263,glslify:295}],207:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn("error vectorizing text:",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var f=""+c;f.length=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=new s(t,r,t.createBuffer(),0,n);return i.update(e),i}},{ndarray:335,"ndarray-ops":329,"typedarray-pool":423}],211:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],212:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":211}],213:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return this.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":214,"gl-buffer":210,"gl-vao":279}],214:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":263,glslify:295}],215:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;vi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":263,glslify:295}],221:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),"opacity"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,"dashes"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:295}],244:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},M.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],Mi[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r0&&0===E[e-1];)E.pop(),L.pop().dispose()}window.addEventListener("resize",N),B.update=function(t){e||(t=t||{},z=!0,P=!0)},B.add=function(t){e||(t.axes=M,S.push(t),C.push(-1),z=!0,P=!0,j())},B.remove=function(t){if(!e){var r=S.indexOf(t);r<0||(S.splice(r,1),C.pop(),z=!0,P=!0,j())}},B.dispose=function(){if(!e&&(e=!0,window.removeEventListener("resize",N),r.removeEventListener("webglcontextlost",q),B.mouseListener.enabled=!1,!B.contextLost)){M.dispose(),T.dispose();for(var t=0;tx.distance)continue;for(var u=0;u0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function g(t){return"boolean"!=typeof t||t}},{"./lib/shader":252,"3d-view-controls":40,"a-big-triangle":43,"gl-axes3d":202,"gl-axes3d/properties":209,"gl-fbo":215,"gl-mat4/perspective":233,"gl-select-static":262,"gl-spikes3d":272,"is-mobile":306,"mouse-change":320}],254:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:295}],255:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{"./lib/shader":254,"gl-buffer":210,"gl-shader":263,"typedarray-pool":423}],256:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],257:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var d=[0,0],g=[0,0,0],m=[0,0,0],v=[0,0,0,1],y=[0,0,0,1],x=c.slice(),b=[0,0,0],_=[[0,0,0],[0,0,0]];function w(t){return t[0]=t[1]=t[2]=0,t}function k(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function M(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function A(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,A=r.projection||c,T=e.axesBounds,S=function(t){for(var e=_,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],d[0]=2/l.drawingBufferWidth,d[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=A,u.screenSize=d,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var C=0;C<3;++C)if(s[C]&&e.projectOpacity[C]<1===n){u.scale=e.projectScale[C],u.opacity=e.projectOpacity[C];for(var E=x,L=0;L<16;++L)E[L]=0;for(L=0;L<4;++L)E[5*L]=1;E[5*C]=0,a[C]<0?E[12+C]=T[0][C]:E[12+C]=T[1][C],o(E,h,E),u.model=E;var z=(C+1)%3,P=(C+2)%3,D=w(g),O=w(m);D[z]=1,O[P]=1;var I=f(0,0,0,k(v,D)),R=f(0,0,0,k(y,O));if(Math.abs(I[1])>Math.abs(R[1])){var B=I;I=R,R=B,B=D,D=O,O=B;var F=z;z=P,P=F}I[0]<0&&(D[z]=-1),R[1]>0&&(O[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);D[z]/=Math.sqrt(N),O[P]/=Math.sqrt(j),u.axes[0]=D,u.axes[1]=O,u.fragClipBounds[0]=M(b,S[0],C,-1e8),u.fragClipBounds[1]=M(b,S[1],C,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var T=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function S(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,d[0]=2/o.drawingBufferWidth,d[1]=2/o.drawingBufferHeight,s.screenSize=d,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=T,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}A(e,r,n,i),r.vao.unbind()}p.draw=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},p.drawTransparent=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},p.drawPick=function(t){S(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},p.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},p.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if("projectOpacity"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}"opacity"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||"normal",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":260,"gl-buffer":210,"gl-shader":263}],262:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new l(t,r,a)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_fthis.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A=0;)T+=1;_[y]=T}var S=new Array(r.length);function C(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p,i,d,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],c=[],u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c1)for(var l=0;l 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z = clipPosition.z + zOffset;\n\n gl_Position = clipPosition;\n value = f;\n kill = -1.0;\n worldCoordinate = dataCoordinate;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if(kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":263,glslify:295}],274:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,T,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new S(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var T=256;function S(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=S.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function z(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},D=k.slice(),O=[1,0,0,0,1,0,0,0,1];function I(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=z(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},C.update=function(t){t=t||{},this.dirty=!0,"contourWidth"in t&&(this.contourWidth=F(t.contourWidth,Number)),"showContour"in t&&(this.showContour=F(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=F(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=F(t.contourProject,function(t){return F(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=F(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=F(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),B(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error("gl-surface: coords have incorrect shape");B(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=f(v)),v.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,B(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,m=0;if(2===o.length)m=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(v,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,m=0,v=d(p,f.stride.slice());"float32"===h?g=t.FLOAT:"float64"===h?(g=t.FLOAT,v=!1,h="float32"):"uint8"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:335,"ndarray-ops":329,"typedarray-pool":423}],276:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],285:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],286:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],287:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function G(){return"."===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):"x"===e&&1===S.length&&"0"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function W(){return"f"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\d\w_]/.test(e)){var t=S.join("");return T=R.indexOf(t)>-1?y:I.indexOf(t)>-1?v:m,B(S.join("")),T=l,M}return S.push(e),r=e,M+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":290,"./lib/builtins-300es":289,"./lib/literals":292,"./lib/literals-300es":291,"./lib/operators":293}],289:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":290}],290:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],291:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":292}],292:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],293:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],294:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":288}],295:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],299:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),C=0,E=0;E<=n;++E){var L=w[E];L<0||E===b||(S[C++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":388,"simplicial-complex":398}],300:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r>1],i=[],a=[],s=[];for(r=0;r3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left;c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;var c}},s.queryPoint=function(t,e){if(tthis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":72}],301:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r4))}},{}],310:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],311:[function(t,e,r){(function(n){"use strict";!function(t){"object"==typeof r&&void 0!==e?e.exports=t():("undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:this).mapboxgl=t()}(function(){return function e(r,n,i){function a(s,l){if(!n[s]){if(!r[s]){var c="function"==typeof t&&t;if(!l&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var f=n[s]={exports:{}};r[s][0].call(f.exports,function(t){var e=r[s][1][t];return a(e||t)},f,f.exports,e,r,n,i)}return n[s].exports}for(var o="function"==typeof t&&t,s=0;s0){e+=Math.abs(i(t[0]));for(var r=1;r2){for(l=0;li.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||ru)&&(f=2*Math.max(t,u)),(ll)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;rthis.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},"object"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function i(t,e,r,n,i,o,s){for(var l=0;ln)return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t("./lib/vectortile.js"),e.exports.VectorTileFeature=t("./lib/vectortilefeature.js"),e.exports.VectorTileLayer=t("./lib/vectortilelayer.js")},{"./lib/vectortile.js":9,"./lib/vectortilefeature.js":10,"./lib/vectortilelayer.js":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t("./vectortilelayer");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{"./vectortilelayer":11}],10:[function(t,e,r){function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),is&&(s=i),ac&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}var a=t("./vectortilefeature.js");e.exports=n,n.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{"./vectortilefeature.js":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+","+i[1]+","+a[0]+","+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+"?"+["bbox="+e(n,i,a),"format="+(o.format||"image/png"),"service="+(o.service||"WMS"),"version="+(o.version||"1.1.1"),"request="+(o.request||"GetMap"),"srs="+(o.srs||"EPSG:3857"),"width="+(o.width||256),"height="+(o.height||256),"layers="+r].join("&")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}("%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}var s={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in s)return s[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf("("),c=r.indexOf(")");if(-1!==l&&c+1===r.length){var u=r.substr(0,l),f=r.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=a(f.pop());case"rgb":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case"hsla":if(4!==f.length)return null;h=a(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r=0}(t)===e?t:t.reverse()}var o=t("@mapbox/geojson-area");e.exports=function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(n(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=i(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{"@mapbox/geojson-area":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var c=[],u=0===i?s:l,f=0;f=r&&u(c,h,p,g,m,r):v>n?y<=n&&u(c,h,p,g,m,n):o(c,h,p,d),y=r&&(u(c,h,p,g,m,r),x=!0),y>n&&v<=n&&(u(c,h,p,g,m,n),x=!0),!a&&x&&(c.size=t.size,e.push(c),c=[])}var b=t.length-3;h=t[b],p=t[b+1],d=t[b+2],(v=0===i?h:p)>=r&&v<=n&&o(c,h,p,d),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&o(c,c[0],c[1],c[2]),c.length&&(c.size=t.size,e.push(c))}function a(t,e,r,n,a,o){for(var s=0;s=(r/=e)&&u<=o)return t;if(l>o||u=r&&v<=o)f.push(p);else if(!(m>o||v0&&(o+=n?(i*h-f*a)/2:Math.sqrt(Math.pow(f-i,2)+Math.pow(h-a,2))),i=f,a=h}var p=e.length-3;e[2]=1,c(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i1?1:r}e.exports=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var i=0;i24)throw new Error("maxZoom should be in the 0-24 range");var n=1<1&&console.time("creation"),g=this.tiles[d]=c(t,p,r,n,m,e===f.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),h)){h>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd("creation"));var v="z"+e;this.stats[v]=(this.stats[v]||0)+1,this.total++}if(g.source=t,a){if(e===f.maxZoom||e===a)continue;var y=1<1&&console.time("clipping");var x,b,_,w,k,M,A=.5*f.buffer/f.extent,T=.5-A,S=.5+A,C=1+A;x=b=_=w=null,k=s(t,p,r-A,r+S,0,g.minX,g.maxX),M=s(t,p,r+T,r+C,0,g.minX,g.maxX),t=null,k&&(x=s(k,p,n-A,n+S,1,g.minY,g.maxY),b=s(k,p,n+T,n+C,1,g.minY,g.maxY),k=null),M&&(_=s(M,p,n-A,n+S,1,g.minY,g.maxY),w=s(M,p,n+T,n+C,1,g.minY,g.maxY),M=null),h>1&&console.timeEnd("clipping"),u.push(x||[],e+1,2*r,2*n),u.push(b||[],e+1,2*r,2*n+1),u.push(_||[],e+1,2*r+1,2*n),u.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var u,f=t,h=e,p=r;!u&&f>0;)f--,h=Math.floor(h/2),p=Math.floor(p/2),u=this.tiles[i(f,h,p)];return u&&u.source?(s>1&&console.log("found parent tile z%d-%d-%d",f,h,p),s>1&&console.time("drilling down"),this.splitTile(u.source,f,h,p,t,e,r),s>1&&console.timeEnd("drilling down"),this.tiles[c]?o.tile(this.tiles[c],a):null):null}},{"./clip":16,"./convert":17,"./tile":21,"./transform":22,"./wrap":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],c=e[r+1],u=e[i],f=e[i+1],h=r+3;hs&&(o=h,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if("Point"===o||"MultiPoint"===o)for(var l=0;ls)&&(r.numSimplified++,l.push(e[c]),l.push(e[c+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;ns.maxX&&(s.maxX=f),h>s.maxY&&(s.maxY=h)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,c=i-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-c*f/l+h)),Math.min(o,Math.floor(i+(l-c)*f/l+h)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);dp;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h<=o)for(var p=h;p<=f;p++)n(e[2*p],e[2*p+1],r,i)<=c&&l.push(t[p]);else{var d=Math.floor((h+f)/2),g=e[2*d],m=e[2*d+1];n(g,m,r,i)<=c&&l.push(t[d]);var v=(u+1)%2;(0===u?r-a<=g:i-a<=m)&&(s.push(h),s.push(d-1),s.push(v)),(0===u?r+a>=g:i+a>=m)&&(s.push(d+1),s.push(f),s.push(v))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t("ieee754");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=m(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=m(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,f,e)},writePackedFloat:function(t,e){this.writeMessage(t,c,e)},writePackedDouble:function(t,e){this.writeMessage(t,u,e)},writePackedFixed32:function(t,e){this.writeMessage(t,h,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return te?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,c=r-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=u(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:"Feature",properties:s(t),geometry:{type:"Point",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return u(u({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function c(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function u(t,e){for(var r in e)t[r]=e[r];return t}function f(t){return t.x}function h(t){return t.y}var p=t("kdbush");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time("total time");var r="prepare "+t.length+" points";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,f,h,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log("z%d: %d clusters in %dms",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,f,h,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),c(t[3]),l(t[2]),c(t[1])),i=[],a=0;a0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return te?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new f;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r>31}function c(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,c=0;c=u||f<0||f>=u)){var h=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=h.vertexLength;n(r.layoutVertexArray,c,f,-1,-1),n(r.layoutVertexArray,c,f,1,-1),n(r.layoutVertexArray,c,f,1,1),n(r.layoutVertexArray,c,f,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},f("CircleBucket",h,{omit:["layers"]}),e.exports=h},{"../../util/web_worker_transfer":278,"../array_types":39,"../extent":53,"../index_array_type":55,"../load_geometry":56,"../program_configuration":58,"../segment":60,"./circle_attributes":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{"../../util/struct_array":271,dup:41}],44:[function(t,e,r){var n=t("../array_types").FillLayoutArray,i=t("./fill_attributes").members,a=t("../segment").SegmentVector,o=t("../program_configuration").ProgramConfigurationSet,s=t("../index_array_type"),l=s.LineIndexArray,c=s.TriangleIndexArray,u=t("../load_geometry"),f=t("earcut"),h=t("../../util/classify_rings"),p=t("../../util/web_worker_transfer").register,d=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new n,this.indexArray=new c,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;nd)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t("../array_types").FillExtrusionLayoutArray,s=t("./fill_extrusion_attributes").members,l=t("../segment"),c=l.SegmentVector,u=l.MAX_VERTEX_ARRAY_LENGTH,f=t("../program_configuration").ProgramConfigurationSet,h=t("../index_array_type").TriangleIndexArray,p=t("../load_geometry"),d=t("../extent"),g=t("earcut"),m=t("../../util/classify_rings"),v=t("../../util/web_worker_transfer").register,y=Math.pow(2,13),x=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new o,this.indexArray=new h,this.programConfigurations=new f(s,t.layers,t.zoom),this.segments=new c};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>u&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var k=_.sub(w)._perp()._unit(),M=w.dist(_);x+M>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,1,x),x+=M,n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,1,x);var A=p.vertexLength;r.indexArray.emplaceBack(A,A+1,A+2),r.indexArray.emplaceBack(A+1,A+2,A+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+c>u&&(p=r.segments.prepareSegment(c,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],C=p.vertexLength,E=0,L=l;E>6)}var i=t("../array_types").LineLayoutArray,a=t("./line_attributes").members,o=t("../segment").SegmentVector,s=t("../program_configuration").ProgramConfigurationSet,l=t("../index_array_type").TriangleIndexArray,c=t("../load_geometry"),u=t("../extent"),f=t("@mapbox/vector-tile").VectorTileFeature.types,h=t("../../util/web_worker_transfer").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,m=Math.pow(2,14)/g,v=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};v.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;cc){var z=m.dist(w);if(z>2*h){var P=m.sub(m.sub(w)._mult(h/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,M.mult(1),0,0,!1,g),w=P}}var D=w&&k,O=D?r:k?x:b;if(D&&"round"===O&&(Ei&&(O="bevel"),"bevel"===O&&(E>2&&(O="flipbevel"),E100)S=A.clone().mult(-1);else{var I=M.x*A.y-M.y*A.x>0?-1:1,R=E*M.add(A).mag()/M.sub(A).mag();S._perp()._mult(R*I)}o.addCurrentVertex(m,o.distance,S,0,0,!1,g),o.addCurrentVertex(m,o.distance,S.mult(-1),0,0,!1,g)}else if("bevel"===O||"fakeround"===O){var B=M.x*A.y-M.y*A.x>0,F=-Math.sqrt(E*E-1);if(B?(y=0,v=F):(v=0,y=F),_||o.addCurrentVertex(m,o.distance,M,v,y,!1,g),"fakeround"===O){for(var N=Math.floor(8*(.5-(C-.5))),j=void 0,V=0;V=0;U--)j=M.mult((U+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g)}k&&o.addCurrentVertex(m,o.distance,A,-v,-y,!1,g)}else"butt"===O?(_||o.addCurrentVertex(m,o.distance,M,0,0,!1,g),k&&o.addCurrentVertex(m,o.distance,A,0,0,!1,g)):"square"===O?(_||(o.addCurrentVertex(m,o.distance,M,1,1,!1,g),o.e1=o.e2=-1),k&&o.addCurrentVertex(m,o.distance,A,-1,-1,!1,g)):"round"===O&&(_||(o.addCurrentVertex(m,o.distance,M,0,0,!1,g),o.addCurrentVertex(m,o.distance,M,1,1,!0,g),o.e1=o.e2=-1),k&&(o.addCurrentVertex(m,o.distance,A,-1,-1,!0,g),o.addCurrentVertex(m,o.distance,A,0,0,!1,g)));if(L&&T2*h){var H=m.add(k.sub(m)._mult(h/q)._round());o.distance+=H.dist(m),o.addCurrentVertex(H,o.distance,A.mult(1),0,0,!1,g),m=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},v.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(c,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(c,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>m/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},v.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},h("LineBucket",v,{omit:["layers"]}),e.exports=v},{"../../util/web_worker_transfer":278,"../array_types":39,"../extent":53,"../index_array_type":55,"../load_geometry":56,"../program_configuration":58,"../segment":60,"./line_attributes":48,"@mapbox/vector-tile":8}],50:[function(t,e,r){var n=t("../../util/struct_array").createLayout,i={symbolLayoutAttributes:n([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),dynamicLayoutAttributes:n([{name:"a_projected_pos",components:3,type:"Float32"}],4),placementOpacityAttributes:n([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),collisionVertexAttributes:n([{name:"a_placed",components:2,type:"Uint8"}],4),collisionBox:n([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),collisionBoxLayout:n([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),collisionCircleLayout:n([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),placement:n([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"hidden"}]),glyphOffset:n([{type:"Float32",name:"offsetX"}]),lineVertex:n([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}])};e.exports=i},{"../../util/struct_array":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var a=t("./symbol_attributes"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,c=a.collisionCircleLayout,u=a.dynamicLayoutAttributes,f=t("../array_types"),h=f.SymbolLayoutArray,p=f.SymbolDynamicLayoutArray,d=f.SymbolOpacityArray,g=f.CollisionBoxLayoutArray,m=f.CollisionCircleLayoutArray,v=f.CollisionVertexArray,y=f.PlacedSymbolArray,x=f.GlyphOffsetArray,b=f.SymbolLineVertexArray,_=t("@mapbox/point-geometry"),w=t("../segment").SegmentVector,k=t("../program_configuration").ProgramConfigurationSet,M=t("../index_array_type"),A=M.TriangleIndexArray,T=M.LineIndexArray,S=t("../../symbol/transform_text"),C=t("../../symbol/mergelines"),E=t("../../util/script_detection"),L=t("../load_geometry"),z=t("@mapbox/vector-tile").VectorTileFeature.types,P=t("../../util/verticalize_punctuation"),D=(t("../../symbol/anchor"),t("../../symbol/symbol_size").getSizeData),O=t("../../util/web_worker_transfer").register,I=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}],R=function(t){this.layoutVertexArray=new h,this.indexArray=new A,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,u.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,I,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},O("SymbolBuffers",R);var B=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new v};B.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},B.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},O("CollisionBuffers",B);var F=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=D(this.zoom,e["text-size"]),this.iconSizeData=D(this.zoom,e["icon-size"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")};F.prototype.createArrays=function(){this.text=new R(new k(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new k(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new B(g,l.members,T),this.collisionCircle=new B(m,c.members,A),this.glyphOffsetArray=new x,this.lineVertexArray=new b},F.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get("text-font"),a=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==a.value.kind||a.value.value.length>0)&&("constant"!==i.value.kind||i.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f={zoom:this.zoom},h=0,p=t;h=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0;t.addCollisionDebugVertices(l,c,u,f,h?t.collisionCircle:t.collisionBox,s.anchorPoint,n,h)}}}},F.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o0},F.prototype.hasIconData=function(){return this.icon.segments.get().length>0},F.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},F.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},F.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError("out of range source coordinates for DEM data");return(e+this.border)*this.stride+(t+this.border)},a("Level",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError("DEM tiles must be square");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;no.max||c.yo.max)&&i.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}},{"../util/util":275,"./extent":53}],57:[function(t,e,r){var n=t("../util/struct_array").createLayout;e.exports=n([{name:"a_pos",type:"Int16",components:2}])},{"../util/struct_array":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(t,e){return{"text-opacity":"opacity","icon-opacity":"opacity","text-color":"fill_color","icon-color":"fill_color","text-halo-color":"halo_color","icon-halo-color":"halo_color","text-halo-blur":"halo_blur","icon-halo-blur":"halo_blur","text-halo-width":"halo_width","icon-halo-width":"halo_width","line-gap-width":"gapwidth"}[t]||t.replace(e+"-","").replace(/-/g,"_")}var a=t("../shaders/encode_attribute").packUint8ToFloat,o=(t("../style-spec/util/color"),t("../util/web_worker_transfer").register),s=t("../style/properties").PossiblyEvaluatedPropertyValue,l=t("./array_types"),c=l.StructArrayLayout1f4,u=l.StructArrayLayout2f8,f=l.StructArrayLayout4f16,h=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};h.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]},h.prototype.populatePaintArray=function(){},h.prototype.upload=function(){},h.prototype.destroy=function(){},h.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;"color"===this.type?a.uniform4f(e.uniforms["u_"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms["u_"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n="color"===r?u:c;this.paintVertexAttributes=[{name:"a_"+e,type:"Float32",components:"color"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if("color"===this.type)for(var o=n(a),s=i;sa&&n("Max vertices per segment is "+a+": bucket requested "+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.prototype.destroy=function(){for(var t=0,e=this.segments;t90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t("./lng_lat_bounds"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},e.exports=i},{"../util/util":275,"./lng_lat_bounds":63}],63:[function(t,e,r){var n=t("./lng_lat"),i=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{"./lng_lat":62}],64:[function(t,e,r){var n=t("./lng_lat"),i=t("@mapbox/point-geometry"),a=t("./coordinate"),o=t("../util/util"),s=t("../style-spec/util/interpolate").number,l=t("../util/tile_cover"),c=t("../source/tile_id"),u=(c.CanonicalTileID,c.UnwrappedTileID),f=t("../data/extent"),h=t("@mapbox/gl-matrix"),p=h.vec4,d=h.mat4,g=h.mat2,m=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},v={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};m.prototype.clone=function(){var t=new m(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},v.minZoom.get=function(){return this._minZoom},v.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},v.maxZoom.get=function(){return this._maxZoom},v.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},v.renderWorldCopies.get=function(){return this._renderWorldCopies},v.worldSize.get=function(){return this.tileSize*this.scale},v.centerPoint.get=function(){return this.size._div(2)},v.size.get=function(){return new i(this.width,this.height)},v.bearing.get=function(){return-this.angle/Math.PI*180},v.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},v.pitch.get=function(){return this._pitch/Math.PI*180},v.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},v.fov.get=function(){return this._fov/Math.PI*180},v.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},v.zoom.get=function(){return this._zoom},v.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},v.center.get=function(){return this._center},v.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},m.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},m.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new u(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new u(s,t));return o},m.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&et.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},m.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},v.unmodified.get=function(){return this._unmodified},m.prototype.zoomScale=function(t){return Math.pow(2,t)},m.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},m.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},m.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},v.x.get=function(){return this.lngX(this.center.lng)},v.y.get=function(){return this.latY(this.center.lat)},v.point.get=function(){return new i(this.x,this.y)},m.prototype.lngX=function(t){return(180+t)*this.worldSize/360},m.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},m.prototype.xLng=function(t){return 360*t/this.worldSize-180},m.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},m.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},m.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},m.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},m.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},m.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},m.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,c=n[1]/o,u=r[2]/i,f=n[2]/o,h=u===f?0:(0-u)/(f-u);return new a(s(r[0]/i,n[0]/o,h)/this.tileSize,s(l,c,h)/this.tileSize,this.zoom)._zoomTo(e)},m.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},m.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/f,a/f,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},m.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),t=(o=this.latY(f[0]))-ao&&(n=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-vl&&(r=l-v)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=u,this._constraining=!1}},m.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,g=new Float64Array(o);if(d.translate(g,g,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(m.prototype,v),e.exports=m},{"../data/extent":53,"../source/tile_id":114,"../style-spec/util/interpolate":158,"../util/tile_cover":273,"../util/util":275,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":2,"@mapbox/point-geometry":4}],65:[function(t,e,r){var n=t("../style-spec/util/color"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{"../style-spec/util/color":153}],66:[function(t,e,r){var n=t("./index_buffer"),i=t("./vertex_buffer"),a=t("./framebuffer"),o=(t("./depth_mode"),t("./stencil_mode"),t("./color_mode")),s=t("../util/util"),l=t("./value"),c=l.ClearColor,u=l.ClearDepth,f=l.ClearStencil,h=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,m=l.StencilOp,v=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,k=l.BlendColor,M=l.Program,A=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,C=l.BindFramebuffer,E=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,D=l.BindVertexArrayOES,O=l.PixelStoreUnpack,I=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new c(this),this.clearDepth=new u(this),this.clearStencil=new f(this),this.colorMask=new h(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new m(this),this.stencilTest=new v(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new k(this),this.program=new M(this),this.lineWidth=new A(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new C(this),this.bindRenderbuffer=new E(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new D(this),this.pixelStoreUnpack=new O(this),this.pixelStoreUnpackPremultiplyAlpha=new I(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},R.prototype.setStencilMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{"../util/util":275,"./color_mode":65,"./depth_mode":67,"./framebuffer":68,"./index_buffer":69,"./stencil_mode":70,"./value":71,"./vertex_buffer":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t("./value"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{"./value":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t("../style-spec/util/color"),i=t("../util/util"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var c=function(t){this.context=t,this.current=!0};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var u=function(t){this.context=t,this.current=255};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var f=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var h=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var m=function(t){this.context=t,this.current=t.gl.LESS};m.prototype.get=function(){return this.current},m.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var v=function(t){this.context=t,this.current=!1};v.prototype.get=function(){return this.current},v.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var k=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};k.prototype.get=function(){return this.current},k.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var M=function(t){this.context=t,this.current=null};M.prototype.get=function(){return this.current},M.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var D=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:c,StencilMask:u,StencilFunc:f,StencilOp:h,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:m,Blend:v,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:k,BindFramebuffer:M,BindRenderbuffer:A,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:C,BindVertexArrayOES:E,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:D,DepthAttachment:O}},{"../style-spec/util/color":153,"../util/util":275}],72:[function(t,e,r){var n={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{"../data/array_types":39,"../data/extent":53,"../data/pos_attributes":57,"../gl/depth_mode":67,"../gl/stencil_mode":70,"../util/browser":252,"./vertex_array_object":95,"@mapbox/gl-matrix":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get("fill-pattern"),t))for(var a=!0,o=0,l=n;o0){var l=o.now(),c=(l-t.timeAdded)/s,u=e?(l-e.timeAdded)/s:-1,f=r.getSource(),h=a.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=p&&t.refreshedUponExpiration?1:i.clamp(p?c:1-u,0,1);return t.refreshedUponExpiration&&c>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t("../util/util"),a=t("../source/image_source"),o=t("../util/browser"),s=t("../gl/stencil_mode"),l=t("../gl/depth_mode");e.exports=function(t,e,r,i){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")){var o=t.context,c=o.gl,u=e.getSource(),f=t.useProgram("raster");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),c.uniform1f(f.uniforms.u_brightness_low,r.paint.get("raster-brightness-min")),c.uniform1f(f.uniforms.u_brightness_high,r.paint.get("raster-brightness-max")),c.uniform1f(f.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get("raster-saturation"))),c.uniform1f(f.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get("raster-contrast"))),c.uniform3fv(f.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get("raster-hue-rotate"))),c.uniform1f(f.uniforms.u_buffer_scale,1),c.uniform1i(f.uniforms.u_image0,0),c.uniform1i(f.uniforms.u_image1,1);for(var h=i.length&&i[0].overscaledZ,p=0,d=i;p65535)e(new Error("glyphs > 65535 not supported"));else{var c=o.requests[l];c||(c=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=c;nthis.height)return n.warnOnce("LineAtlas out of space"),null;for(var o=0,s=0;s=0;this.currentLayer--){var m=r.style._layers[o[r.currentLayer]];m.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[m.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,m,g)}this.renderPass="translucent";var v,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new y(this.context,v[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{"../data/array_types":39,"../data/extent":53,"../data/pos_attributes":57,"../data/program_configuration":58,"../data/raster_bounds_attributes":59,"../gl/color_mode":65,"../gl/context":66,"../gl/depth_mode":67,"../gl/stencil_mode":70,"../shaders":97,"../source/pixels_to_tile_units":104,"../source/source_cache":111,"../style-spec/util/color":153,"../symbol/cross_tile_symbol_index":218,"../util/browser":252,"../util/util":275,"./draw_background":74,"./draw_circle":75,"./draw_debug":77,"./draw_fill":78,"./draw_fill_extrusion":79,"./draw_heatmap":80,"./draw_hillshade":81,"./draw_line":82,"./draw_raster":83,"./draw_symbol":84,"./program":92,"./texture":93,"./tile_mask":94,"./vertex_array_object":95,"@mapbox/gl-matrix":2}],91:[function(t,e,r){var n=t("../source/pixels_to_tile_units");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{"../source/pixels_to_tile_units":104}],92:[function(t,e,r){var n=t("../util/browser"),i=t("../shaders"),a=(t("../data/program_configuration").ProgramConfiguration,t("./vertex_array_object")),o=(t("../gl/context"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat("#define DEVICE_PIXEL_RATIO "+n.devicePixelRatio.toFixed(1));a&&l.push("#define OVERDRAW_INSPECTOR;");var c=l.concat(i.prelude.fragmentSource,e.fragmentSource).join("\n"),u=l.concat(i.prelude.vertexSource,e.vertexSource).join("\n"),f=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);var h=s.createShader(s.VERTEX_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);for(var p=r.layoutAttributes||[],d=0;d 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n"},collisionCircle:{fragmentSource:"\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},hillshadePrepare:{fragmentSource:"#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\n // maxzoom of the tile source. here we use a=0.3 which works out to the\n // expression below. see nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n"},hillshade:{fragmentSource:"uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n"}},i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o="float"===i?"vec2":"vec4";return r[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t("./image_source"),i=t("../util/window"),a=t("../data/raster_bounds_attributes"),o=t("../render/vertex_array_object"),s=t("../render/texture"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire("error",new Error("Canvas dimensions cannot be less than or equal to zero.")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];"loaded"!==l.state&&(l.state="loaded",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:"canvas",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire("data",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire("dataloading",{dataType:"source"}),this._updateWorkerData(function(t){if(t)return e.fire("error",{error:t});var r={dataType:"source",sourceDataType:"content"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire("data",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;"string"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement("a");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+".loadData",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||"expired"===t.state?"loadTile":"reloadTile",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,"reloadTile"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{"../data/extent":53,"../util/ajax":251,"../util/browser":252,"../util/evented":260,"../util/util":275,"../util/window":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t("../util/ajax"),a=t("../util/performance"),o=t("geojson-rewind"),s=t("./geojson_wrapper"),l=t("vt-pbf"),c=t("supercluster"),u=t("geojson-vt"),f=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if("object"!=typeof i)return e(new Error("Input data is not a valid GeoJSON object."));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?c(t.superclusterOptions).load(i.features):u(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if("string"!=typeof t.data)return e(new Error("Input data is not a valid GeoJSON object."));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error("Input data is not a valid GeoJSON object."))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t("./vector_tile_worker_source"));e.exports=f},{"../util/ajax":251,"../util/performance":268,"./geojson_wrapper":101,"./vector_tile_worker_source":116,"geojson-rewind":15,"geojson-vt":19,supercluster:32,"vt-pbf":34}],101:[function(t,e,r){var n=t("@mapbox/point-geometry"),i=t("@mapbox/vector-tile").VectorTileFeature.prototype.toGeoJSON,a=t("../data/extent"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+11||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;ne)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),c=this._updateRetainedTiles(n,o),f={};if(i(this._source.type))for(var h=Object.keys(c),g=0;g=p.now())){r._findLoadedChildren(v,l,c)&&(c[m]=v);var x=r.findLoadedParent(v,s,f);x&&r._addTile(x.tileID)}}for(a in f)c[a]||(r._coveredTiles[a]=!0);for(a in f)c[a]=f[a];for(var b=u.keysDifference(this._tiles,c),_=0;_n._source.maxzoom){var p=c.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:h=!1}else{n._findLoadedChildren(c,s,i);for(var g=c.children(n._source.maxzoom),m=0;m=o;--v){var y=c.scaledTo(v);if(a[y.key])break;if(a[y.key]=!0,!(u=n.getTile(y))&&f&&(u=n._addTile(y)),u&&(i[y.key]=y,f=u.wasRequested(),u.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire("dataloading",{tile:e,coord:e.tileID,dataType:"source"}),e):null},e.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u=0&&m[1].y>=0){for(var v=[],y=0;y=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{"../data/extent":53,"../geo/coordinate":61,"../gl/context":66,"../util/browser":252,"../util/evented":260,"../util/lru_cache":266,"../util/util":275,"./source":110,"./tile":112,"./tile_id":114,"@mapbox/point-geometry":4}],112:[function(t,e,r){var n=t("../util/util"),i=t("../data/bucket").deserialize,a=(t("../data/feature_index"),t("@mapbox/vector-tile")),o=t("pbf"),s=t("../util/vectortile_to_geojson"),l=t("../style-spec/feature_filter"),c=(t("../symbol/collision_index"),t("../data/bucket/symbol_bucket")),u=t("../data/array_types"),f=u.RasterBoundsArray,h=u.CollisionBoxArray,p=t("../data/raster_bounds_attributes"),d=t("../data/extent"),g=t("@mapbox/point-geometry"),m=t("../render/texture"),v=t("../data/segment").SegmentVector,y=t("../data/index_array_type").TriangleIndexArray,x=t("../util/browser"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state="loading"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e>s.z,c=new g(s.x*l,s.y*l),u=new g(c.x+l,c.y+l),h=this.segments.prepareSegment(4,r,i);r.emplaceBack(c.x,c.y,c.x,c.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,u.y,u.x,u.y);var m=h.vertexLength;i.emplaceBack(m,m+1,m+2),i.emplaceBack(m+1,m+2,m+3),h.vertexLength+=4,h.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime=e&&t.x=r&&t.y0;a--)i+=(e&(n=1<this.canonical.z?new c(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new c(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},c.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},c.prototype.children=function(t){if(this.overscaledZ>=t)return[new c(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new c(e,this.wrap,e,r,n),new c(e,this.wrap,e,r+1,n),new c(e,this.wrap,e,r,n+1),new c(e,this.wrap,e,r+1,n+1)]},c.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=E.maxzoom||"none"===E.visibility||(n(C,d.zoom),(v[E.id]=E.createBucket({index:m.bucketLayerIDs.length,layers:C,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(k,y),m.bucketLayerIDs.push(C.map(function(t){return t.id})))}}}var L,z,P,D=c.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(D).length?r.send("getGlyphs",{uid:this.uid,stacks:D},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var O=Object.keys(y.iconDependencies);O.length?r.send("getImages",{icons:O},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{"../data/array_types":39,"../data/bucket/symbol_bucket":51,"../data/feature_index":54,"../render/glyph_atlas":85,"../render/image_atlas":87,"../style/evaluation_parameters":182,"../symbol/symbol_layout":227,"../util/dictionary_coder":257,"../util/util":275,"./tile_id":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)"ref"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t("./util/ref_properties");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r4)return e.error("Expected 1, 2, or 3 arguments, but found "+(t.length-1)+" instead.");var r,n;if(t.length>2){var i=t[1];if("string"!=typeof i||!(i in p))return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to "array" must be a positive integer literal',2);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(u(this.type,f(e)))throw new h("Expected value to be of type "+i(this.type)+", but found "+i(f(e))+" instead.");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{"../runtime_error":143,"../types":146,"../values":147}],125:[function(t,e,r){var n=t("../types"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,c=t("../runtime_error"),u=t("../types"),f=u.checkSubtype,h=u.toString,p=t("../values").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");for(var r=t[0],n=d[r],i=[],o=1;o=r.length)throw new s("Array index out of bounds: "+e+" > "+r.length+".");if(e!==Math.floor(e))throw new s("Array index must be an integer, but found "+e+" instead.");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{"../runtime_error":143,"../types":146}],127:[function(t,e,r){var n=t("../types").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var a=[],o=1;o4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":c(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new u(r||"Could not parse color from value '"+("string"==typeof e?e:JSON.stringify(e))+"'")}for(var o=null,s=0,f=this.args;sn.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var f=t("../types"),h=f.NumberType,p=f.StringType,d=f.BooleanType,g=f.ColorType,m=f.ObjectType,v=f.ValueType,y=f.ErrorType,x=f.array,b=f.toString,_=t("../values"),w=_.typeOf,k=_.Color,M=_.validateRGBA,A=t("../compound_expression"),T=A.CompoundExpression,S=A.varargs,C=t("../runtime_error"),E=t("./let"),L=t("./var"),z=t("./literal"),P=t("./assertion"),D=t("./array"),O=t("./coercion"),I=t("./at"),R=t("./match"),B=t("./case"),F=t("./step"),N=t("./interpolate"),j=t("./coalesce"),V=t("./equals"),U={"==":V.Equals,"!=":V.NotEquals,array:D,at:I,boolean:P,case:B,coalesce:j,interpolate:N,let:E,literal:z,match:R,number:P,object:P,step:F,string:P,"to-color":O,"to-number":O,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new C(r.evaluate(t))}],typeof:[p,[v],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],"to-string":[p,[v],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||"string"===n||"number"===n||"boolean"===n?String(r):r instanceof k?r.toString():JSON.stringify(r)}],"to-boolean":[d,[v],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],"to-rgba":[x(h,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[h,h,h],n],rgba:[g,[h,h,h,h],n],length:{type:h,overloads:[[[p],o],[[x(v)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:v,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[m,[],function(t){return t.properties()}],"geometry-type":[p,[],function(t){return t.geometryType()}],id:[v,[],function(t){return t.id()}],zoom:[h,[],function(t){return t.globals.zoom}],"heatmap-density":[h,[],function(t){return t.globals.heatmapDensity||0}],"+":[h,S(h),function(t,e){for(var r=0,n=0,i=e;n":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[d,[v],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[d,[],function(t){return null!==t.id()}],"filter-type-in":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[d,[x(v)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[d,[p,x(v)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[d,[p,x(v)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],">":{type:d,overloads:[[[h,h],l],[[p,p],l]]},"<":{type:d,overloads:[[[h,h],s],[[p,p],s]]},">=":{type:d,overloads:[[[h,h],u],[[p,p],u]]},"<=":{type:d,overloads:[[[h,h],c],[[p,p],c]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:o}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(n=e.parse(n,2,l)))return null;var c=[],f=null;e.expectedType&&"value"!==e.expectedType.kind&&(f=e.expectedType);for(var h=0;h=p)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',g);var v=e.parse(d,m,f);if(!v)return null;f=f||v.type,c.push([p,v])}return"number"===f.kind||"color"===f.kind||"array"===f.kind&&"number"===f.itemType.kind&&"number"==typeof f.N?new u(f,r,n,c):e.error("Type "+s(f)+" is not interpolatable.")},u.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=c(e,n),s=e[o],l=e[o+1],f=u.interpolationFactor(this.interpolation,n,s,l),h=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](h,p,f)},u.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;eNumber.MAX_SAFE_INTEGER)return f.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof d&&Math.floor(d)!==d)return f.error("Numeric branch labels must be integer values.");if(r){if(f.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return f.error("Branch labels must be unique.");o[String(d)]=s.length}var g=e.parse(u,l,a);if(!g)return null;a=a||g.type,s.push(g)}var m=e.parse(t[1],1,r);if(!m)return null;var v=e.parse(t[t.length-1],t.length-1,a);return v?new i(r,a,m,o,s,v):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{"../values":147}],136:[function(t,e,r){var n=t("../types").NumberType,i=t("../stops").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=c)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',f);var p=e.parse(u,h,s);if(!p)return null;s=s||p.type,o.push([c,p])}return new a(s,r,o)},a.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&"string"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:D,enum:P,boolean:O};return"array"===t.type?R(e[t.value]||I,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),"error"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=m.isFeatureConstant(n);if(!a&&!e["property-function"])return b([new s("","property expressions not supported")]);var o=m.isGlobalPropertyConstant(n,["zoom"]);if(!o&&!1===e["zoom-function"])return b([new s("","zoom expressions not supported")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{"./compound_expression":123}],141:[function(t,e,r){var n=t("./scope"),i=t("./types").checkSubtype,a=t("./parsing_error"),o=t("./definitions/literal"),s=t("./definitions/assertion"),l=t("./definitions/array"),c=t("./definitions/coercion"),u=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=i,this.errors=a,this.expectedType=r};u.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var u=this;if(r&&(u=u.concat(r,n,i)),null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return u.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var f=e[0];if("string"!=typeof f)return u.error("Expression name must be a string, but found "+typeof f+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var h=u.registry[f];if(h){var p=h.parse(e,u);if(!p)return null;if(u.expectedType){var d=u.expectedType,g=p.type;if("string"!==d.kind&&"number"!==d.kind&&"boolean"!==d.kind||"value"!==g.kind)if("array"===d.kind&&"value"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if("color"!==d.kind||"value"!==g.kind&&"string"!==g.kind){if(u.checkSubtype(u.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new c(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t("./compound_expression").CompoundExpression,n=t("./is_constant"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t("./definitions/var"))return!1;if(e instanceof r&&"error"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,["zoom","heatmap-density"])}(p)){var m=new(t("./evaluation_context"));try{p=new o(p.type,p.evaluate(m))}catch(e){return u.error(e.message),null}}return p}return u.error('Unknown expression "'+f+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===e?u.error("'undefined' value invalid. Use null instead."):"object"==typeof e?u.error('Bare objects invalid. Use ["literal", {...}] instead.'):u.error("Expected an array, but found "+typeof e+" instead.")},u.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new u(this.registry,n,e||null,i,this.errors)},u.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=""+this.key+r.map(function(t){return"["+t+"]"}).join("");this.errors.push(new a(i,t))},u.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=u},{"./compound_expression":123,"./definitions/array":124,"./definitions/assertion":125,"./definitions/coercion":129,"./definitions/literal":134,"./definitions/var":137,"./evaluation_context":138,"./is_constant":140,"./parsing_error":142,"./scope":144,"./types":146}],142:[function(t,e,r){var n=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name="ExpressionEvaluationError",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;rr&&ee))throw new n("Input is not a number.");o=s-1}}return Math.max(s-1,0)}}},{"./runtime_error":143}],146:[function(t,e,r){function n(t,e){return{kind:"array",itemType:t,N:e}}function i(t){if("array"===t.kind){var e=i(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var a={kind:"null"},o={kind:"number"},s={kind:"string"},l={kind:"boolean"},c={kind:"color"},u={kind:"object"},f={kind:"value"},h=[a,o,s,l,c,u,n(f)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:c,ObjectType:u,ValueType:f,array:n,ErrorType:{kind:"error"},toString:i,checkSubtype:function t(e,r){if("error"===r.kind)return null;if("array"===e.kind){if("array"===r.kind&&!t(e.itemType,r.itemType)&&("number"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if("value"===e.kind)for(var n=0,a=h;n=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."},isValue:function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?"any"!==e:"=="===e?o(t[1],t[2],"=="):"!="===e?c(o(t[1],t[2],"==")):"<"===e||">"===e||"<="===e||">="===e?o(t[1],t[2],e):"any"===e?function(t){return["any"].concat(t.map(a))}(t.slice(1)):"all"===e?["all"].concat(t.slice(1).map(a)):"none"===e?["all"].concat(t.slice(1).map(a).map(c)):"in"===e?s(t[1],t.slice(2)):"!in"===e?c(s(t[1],t.slice(2))):"has"===e?l(t[1]):"!has"!==e||c(l(t[1]))}function o(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function s(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(i)]]:["filter-in-small",t,["literal",e]]}}function l(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function c(t){return["!",t]}var u=t("../expression").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=u(t,f);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var f={type:"boolean",default:!1,function:!0,"property-function":!0,"zoom-function":!0}},{"../expression":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if("number"!==p(r))return i(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=c(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if("number"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=c(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),f=t.stops[s][1],h=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&"rgb"!==t.colorSpace){var m=u[t.colorSpace];g=function(t,e){return m.reverse(m.interpolate(m.forward(t),m.forward(e),l))}}return"function"==typeof f.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=f.evaluate.apply(void 0,e),i=h.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(f,h,l)}function l(t,e,r){return"color"===e.type?r=f.parse(r):p(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function c(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&ee&&(a=o-1)}return Math.max(o-1,0)}var u=t("../util/color_spaces"),f=t("../util/color"),h=t("../util/extend"),p=t("../util/get_type"),d=t("../util/interpolate"),g=t("../expression/definitions/interpolate");e.exports={createFunction:function t(e,r){var n,c,p,d="color"===r.type,m=e.stops&&"object"==typeof e.stops[0][0],v=m||void 0!==e.property,y=m||!v,x=e.type||("interpolated"===r.function?"exponential":"interval");if(d&&((e=h({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],f.parse(t[1])]})),e.default?e.default=f.parse(e.default):e.default=f.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!u[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===x)n=s;else if("interval"===x)n=o;else if("categorical"===x){n=a,c=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];c[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if("identity"!==x)throw new Error('Unknown function type "'+x+'"');n=l}if(m){for(var k={},M=[],A=0;A":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!1,units:"milliseconds"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,function:"interpolated","zoom-function":!0,transition:!1},"hillshade-illumination-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"hillshade-shadow-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-accent-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],153:[function(t,e,r){var n=t("csscolorparser").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if("string"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return"rgba("+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(",")+")"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>v?Math.pow(t,1/3):t/m+d}function i(t){return t>g?t*t*t:m*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/f),s=n((.2126729*e+.7151522*r+.072175*i)/h);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=h*i(e),r=f*i(r),n=p*i(n),new c(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var c=t("./color"),u=t("./interpolate").number,f=.95047,h=1,p=1.08883,d=4/29,g=6/29,m=3*g*g,v=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:u(t.l,e.l,r),a:u(t.a,e.a,r),b:u(t.b,e.b,r),alpha:u(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:u(t.c,e.c,r),l:u(t.l,e.l,r),alpha:u(t.alpha,e.alpha,r)}}}}},{"./color":153,"./interpolate":158}],155:[function(t,e,r){e.exports=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0;)r[n]=e[n+1];for(var i=0,a=r;i":case">=":r.length>=2&&"$type"===s(r[1])&&u.push(new n(i,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&u.push(new n(i,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(l=o(r[1]))&&u.push(new n(i+"[1]",r[1],"string expected, "+l+" found"));for(var f=2;fc(s[0].zoom))return[new n(u,s[0].zoom,"stop zoom values must appear in ascending order")];c(s[0].zoom)!==h&&(h=c(s[0].zoom),f=void 0,g={}),e=e.concat(o({key:u+"[0]",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:u+"[0]",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:u+"[1]",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=c(t.value),o=null!==t.value?t.value:e;if(u){if(r!==u)return[new n(t.key,o,r+" stop domain type must match previous stop domain type "+u)]}else u=r;if("number"!==r&&"string"!==r&&"boolean"!==r)return[new n(t.key,o,"stop domain value must be a number, string, or boolean")];if("number"!==r&&"categorical"!==d){var s="number expected, "+r+" found";return p["property-function"]&&void 0===d&&(s+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new n(t.key,o,s)]}return"categorical"!==d||"number"!==r||isFinite(a)&&Math.floor(a)===a?"categorical"!==d&&"number"===r&&void 0!==f&&a=8&&(v&&!t.valueSpec["property-function"]?x.push(new n(t.key,t.value,"property functions not supported")):m&&!t.valueSpec["zoom-function"]&&"heatmap-color"!==t.objectKey&&x.push(new n(t.key,t.value,"zoom functions not supported"))),"categorical"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'"property" property is required')),x}},{"../error/validation_error":122,"../util/get_type":157,"../util/unbundle_jsonlint":161,"./validate":162,"./validate_array":163,"./validate_number":175,"./validate_object":176}],171:[function(t,e,r){var n=t("../error/validation_error"),i=t("./validate_string");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf("{fontstack}")&&a.push(new n(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&a.push(new n(r,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":122,"./validate_string":180}],172:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/unbundle_jsonlint"),a=t("./validate_object"),o=t("./validate_filter"),s=t("./validate_paint_property"),l=t("./validate_layout_property"),c=t("./validate"),u=t("../util/extend");e.exports=function(t){var e=[],r=t.value,f=t.key,h=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(f,r,'either "type" or "ref" is required'));var d,g=i(r.type),m=i(r.ref);if(r.id)for(var v=i(r.id),y=0;ya.maximum?[new i(e,r,r+" is greater than the maximum value "+a.maximum)]:[]}},{"../error/validation_error":122,"../util/get_type":157}],176:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/get_type"),a=t("./validate");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if("object"!==f)return[new n(e,r,"object expected, "+f+" found")];for(var h in r){var p=h.split(".")[0],d=o[p]||o["*"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s["*"])g=s["*"];else{if(!o["*"]){u.push(new n(e,r[h],'unknown property "'+h+'"'));continue}g=a}u=u.concat(g({key:(e?e+".":e)+h,value:r[h],valueSpec:d,style:l,styleSpec:c,object:r,objectKey:h},r))}for(var m in o)s[m]||o[m].required&&void 0===o[m].default&&void 0===r[m]&&u.push(new n(e,r,'missing required property "'+m+'"'));return u}},{"../error/validation_error":122,"../util/get_type":157,"./validate":162}],177:[function(t,e,r){var n=t("./validate_property");e.exports=function(t){return n(t,"paint")}},{"./validate_property":178}],178:[function(t,e,r){var n=t("./validate"),i=t("../error/validation_error"),a=t("../util/get_type"),o=t("../function").isFunction,s=t("../util/unbundle_jsonlint");e.exports=function(t,e){var r=t.key,l=t.style,c=t.styleSpec,u=t.value,f=t.objectKey,h=c[e+"_"+t.layerType];if(!h)return[];var p=f.match(/^(.*)-transition$/);if("paint"===e&&p&&h[p[1]]&&h[p[1]].transition)return n({key:r,value:u,valueSpec:c.transition,style:l,styleSpec:c});var d,g=t.valueSpec||h[f];if(!g)return[new i(r,u,'unknown property "'+f+'"')];if("string"===a(u)&&g["property-function"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(u)))return[new i(r,u,'"'+f+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(d[1])+" }`.")];var m=[];return"symbol"===t.layerType&&("text-field"===f&&l&&!l.glyphs&&m.push(new i(r,u,'use of "text-field" requires a style "glyphs" property')),"text-font"===f&&o(s.deep(u))&&"identity"===s(u.type)&&m.push(new i(r,u,'"text-font" does not support identity functions'))),m.concat(n({key:t.key,value:u,valueSpec:g,style:l,styleSpec:c,expressionContext:"property",propertyKey:f}))}},{"../error/validation_error":122,"../function":149,"../util/get_type":157,"../util/unbundle_jsonlint":161,"./validate":162}],179:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/unbundle_jsonlint"),a=t("./validate_object"),o=t("./validate_enum");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'"type" is required')];var c=i(e.type),u=[];switch(c){case"vector":case"raster":case"raster-dem":if(u=u.concat(a({key:r,value:e,valueSpec:s["source_"+c.replace("-","_")],style:t.style,styleSpec:s})),"url"in e)for(var f in e)["type","url","tileSize"].indexOf(f)<0&&u.push(new n(r+"."+f,e[f],'a source with a "url" property may not include a "'+f+'" property'));return u;case"geojson":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case"video":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case"image":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case"canvas":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image","canvas"]},style:l,styleSpec:s})}}},{"../error/validation_error":122,"../util/unbundle_jsonlint":161,"./validate_enum":167,"./validate_object":176}],180:[function(t,e,r){var n=t("../util/get_type"),i=t("../error/validation_error");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return"string"!==a?[new i(r,e,"string expected, "+a+" found")]:[]}},{"../error/validation_error":122,"../util/get_type":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c,"*":function(){return[]}}})),t.constants&&(r=r.concat(o({key:"constants",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t("./validate/validate_constants"),s=t("./validate/validate"),l=t("./reference/latest"),c=t("./validate/validate_glyphs_url");n.source=a(t("./validate/validate_source")),n.light=a(t("./validate/validate_light")),n.layer=a(t("./validate/validate_layer")),n.filter=a(t("./validate/validate_filter")),n.paintProperty=a(t("./validate/validate_paint_property")),n.layoutProperty=a(t("./validate/validate_layout_property")),e.exports=n},{"./reference/latest":151,"./validate/validate":162,"./validate/validate_constants":166,"./validate/validate_filter":169,"./validate/validate_glyphs_url":171,"./validate/validate_layer":172,"./validate/validate_layout_property":173,"./validate/validate_light":174,"./validate/validate_paint_property":177,"./validate/validate_source":179}],182:[function(t,e,r){var n=t("./zoom_history"),i=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{"./zoom_history":212}],183:[function(t,e,r){var n=t("../style-spec/reference/latest"),i=t("../util/util"),a=t("../util/evented"),o=t("./validate_style"),s=t("../util/util").sphericalToCartesian,l=(t("../style-spec/util/color"),t("../style-spec/util/interpolate")),c=t("./properties"),u=c.Properties,f=c.Transitionable,h=(c.Transitioning,c.PossiblyEvaluated,c.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new u({anchor:new h(n.light.anchor),position:new p,color:new h(n.light.color),intensity:new h(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new f(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,"-transition")?this._transitionable.setTransition(e.slice(0,-"-transition".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{"../style-spec/reference/latest":151,"../style-spec/util/color":153,"../style-spec/util/interpolate":158,"../util/evented":260,"../util/util":275,"./properties":188,"./validate_style":211}],184:[function(t,e,r){var n=t("../util/mapbox").normalizeGlyphsURL,i=t("../util/ajax"),a=t("./parse_glyph_pbf");e.exports=function(t,e,r,o,s){var l=256*e,c=l+255,u=o(n(r).replace("{fontstack}",t).replace("{range}",l+"-"+c),i.ResourceType.Glyphs);i.getArrayBuffer(u,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n1?"@2x":"";n.getJSON(e(a(t,f,".json"),n.ResourceType.SpriteJSON),function(t,e){u||(u=t,l=e,s())}),n.getImage(e(a(t,f,".png"),n.ResourceType.SpriteImage),function(t,e){u||(u=t,c=e,s())})}},{"../util/ajax":251,"../util/browser":252,"../util/image":263,"../util/mapbox":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,c=n.width,u=n.height,f=n.left,h=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:c+2*l,height:u+2*l},s),metrics:{width:c,height:u,left:f,top:h,advance:p}})}}function a(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var o=t("../util/image").AlphaImage,s=t("pbf"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{"../util/image":263,pbf:30}],187:[function(t,e,r){var n=t("../util/browser"),i=t("../symbol/placement"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],c=i.placement.collisionIndex.transform.zoom;if("symbol"===l.type&&(!l.minzoom||l.minzoom<=c)&&(!l.maxzoom||l.maxzoom>c)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{"../symbol/placement":223,"../util/browser":252}],188:[function(t,e,r){var n=t("../util/util"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t("../style-spec/util/interpolate"),l=t("../style-spec/expression").normalizePropertyExpression,c=(t("../style-spec/util/color"),t("../util/web_worker_transfer").register),u=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};u.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},u.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var f=function(t){this.property=t,this.value=new u(t,void 0)};f.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},f.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var h=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};h.prototype.getValue=function(t){return i(this._values[t].value.value)},h.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].value=new u(this._values[t].property,null===e?void 0:i(e))},h.prototype.getTransition=function(t){return i(this._values[t].transition)},h.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].transition=i(e)||void 0},h.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);rthis.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(en.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};c("DataDrivenProperty",x),c("DataConstantProperty",y),c("CrossFadedProperty",b),c("HeatmapColorProperty",_),e.exports={PropertyValue:u,Transitionable:h,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:m,PossiblyEvaluated:v,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new u(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new f(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{"../style-spec/expression":139,"../style-spec/util/color":153,"../style-spec/util/interpolate":158,"../util/util":275,"../util/web_worker_transfer":278}],189:[function(t,e,r){var n=t("@mapbox/point-geometry");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);"viewport"===r&&o._rotate(-i);for(var s=[],l=0;l0)throw new Error("Unimplemented: "+n.map(function(t){return t.command}).join(", ")+".");return r.forEach(function(t){"setTransition"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire("error",{error:new Error("An image with this name already exists.")});this.imageManager.addImage(t,e),this.fire("data",{dataType:"style"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire("error",{error:new Error("No image with this name exists.")});this.imageManager.removeImage(t),this.fire("data",{dataType:"style"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!e.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(e).join(", ")+".");if(!(["vector","raster","geojson","video","image","canvas"].indexOf(e.type)>=0&&this._validate(g.source,"sources."+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(var r in e._layers)if(e._layers[r].source===t)return e.fire("error",{error:new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire("data",{sourceDataType:"metadata",dataType:"source",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if("object"==typeof t.source&&(this.addSource(n,t.source),t=u.clone(t),t=u.extend(t,{source:n})),!this._validate(g.layer,"layers."+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire("error",{error:new Error('Layer with id "'+e+'" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire("error",{error:new Error('Layer with id "'+e+'" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return u.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,"layers."+r.id+".filter",e)||(r.filter=u.clone(e),this._updateLayer(r)));this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")})},e.prototype.getFilter=function(t){return u.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?u.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!u.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return u.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:u.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return"none"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility="none"),n.filterObject(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=u;var f={circle:t("./style_layer/circle_style_layer"),heatmap:t("./style_layer/heatmap_style_layer"),hillshade:t("./style_layer/hillshade_style_layer"),fill:t("./style_layer/fill_style_layer"),"fill-extrusion":t("./style_layer/fill_extrusion_style_layer"),line:t("./style_layer/line_style_layer"),symbol:t("./style_layer/symbol_style_layer"),background:t("./style_layer/background_style_layer"),raster:t("./style_layer/raster_style_layer")};u.create=function(t){return new f[t.type](t)}},{"../style-spec/reference/latest":151,"../util/evented":260,"../util/util":275,"./properties":188,"./style_layer/background_style_layer":192,"./style_layer/circle_style_layer":194,"./style_layer/fill_extrusion_style_layer":196,"./style_layer/fill_style_layer":198,"./style_layer/heatmap_style_layer":200,"./style_layer/hillshade_style_layer":202,"./style_layer/line_style_layer":204,"./style_layer/raster_style_layer":206,"./style_layer/symbol_style_layer":208,"./validate_style":211}],192:[function(t,e,r){var n=t("../style_layer"),i=t("./background_style_layer_properties"),a=t("../properties"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{"../properties":188,"../style_layer":191,"./background_style_layer_properties":193}],193:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({"background-color":new o(n.paint_background["background-color"]),"background-pattern":new s(n.paint_background["background-pattern"]),"background-opacity":new o(n.paint_background["background-opacity"])}));e.exports={paint:l}},{"../../style-spec/reference/latest":151,"../properties":188}],194:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/circle_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiPoint,o=t("../query_utils"),s=o.getMaximumPaintValue,l=o.translateDistance,c=o.translate,u=t("./circle_style_layer_properties"),f=t("../properties"),h=(f.Transitionable,f.Transitioning,f.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s("circle-radius",this,e)+s("circle-stroke-width",this,e)+l(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=c(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i,o),l=this.paint.get("circle-radius").evaluate(e)*o,u=this.paint.get("circle-stroke-width").evaluate(e)*o;return a(s,r,l+u)},e}(n));e.exports=h},{"../../data/bucket/circle_bucket":42,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./circle_style_layer_properties":195}],195:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({"circle-radius":new s(n.paint_circle["circle-radius"]),"circle-color":new s(n.paint_circle["circle-color"]),"circle-blur":new s(n.paint_circle["circle-blur"]),"circle-opacity":new s(n.paint_circle["circle-opacity"]),"circle-translate":new o(n.paint_circle["circle-translate"]),"circle-translate-anchor":new o(n.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new o(n.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new o(n.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new s(n.paint_circle["circle-stroke-width"]),"circle-stroke-color":new s(n.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new s(n.paint_circle["circle-stroke-opacity"])}));e.exports={paint:l}},{"../../style-spec/reference/latest":151,"../properties":188}],196:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/fill_extrusion_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,o=t("../query_utils"),s=o.translateDistance,l=o.translate,c=t("./fill_extrusion_style_layer_properties"),u=t("../properties"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get("fill-extrusion-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("fill-extrusion-opacity")&&"none"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=f},{"../../data/bucket/fill_extrusion_bucket":46,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./fill_extrusion_style_layer_properties":197}],197:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({"fill-extrusion-opacity":new o(n["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new s(n["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new o(n["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new o(n["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new l(n["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new s(n["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new s(n["paint_fill-extrusion"]["fill-extrusion-base"])}));e.exports={paint:c}},{"../../style-spec/reference/latest":151,"../properties":188}],198:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/fill_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,o=t("../query_utils"),s=o.translateDistance,l=o.translate,c=t("./fill_style_layer_properties"),u=t("../properties"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue("fill-outline-color")&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i,o);return a(s,r)},e}(n));e.exports=f},{"../../data/bucket/fill_bucket":44,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./fill_style_layer_properties":199}],199:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({"fill-antialias":new o(n.paint_fill["fill-antialias"]),"fill-opacity":new s(n.paint_fill["fill-opacity"]),"fill-color":new s(n.paint_fill["fill-color"]),"fill-outline-color":new s(n.paint_fill["fill-outline-color"]),"fill-translate":new o(n.paint_fill["fill-translate"]),"fill-translate-anchor":new o(n.paint_fill["fill-translate-anchor"]),"fill-pattern":new l(n.paint_fill["fill-pattern"])}));e.exports={paint:c}},{"../../style-spec/reference/latest":151,"../properties":188}],200:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/heatmap_bucket"),a=t("../../util/image").RGBAImage,o=t("./heatmap_style_layer_properties"),s=t("../properties"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),"heatmap-color"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values["heatmap-color"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n0?e+2*t:t}var i=t("@mapbox/point-geometry"),a=t("../style_layer"),o=t("../../data/bucket/line_bucket"),s=t("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiLine,l=t("../query_utils"),c=l.getMaximumPaintValue,u=l.translateDistance,f=l.translate,h=t("./line_style_layer_properties"),p=t("../../util/util").extend,d=t("../evaluation_parameters"),g=t("../properties"),m=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(h.paint.properties["line-width"].specification));m.useIntegerZoom=!0;var v=function(t){function e(e){t.call(this,e,h)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=m.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(c("line-width",this,e),c("line-gap-width",this,e)),i=c("line-offset",this,e);return r/2+Math.abs(i)+u(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var c=f(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o,l),u=l/2*n(this.paint.get("line-width").evaluate(e),this.paint.get("line-gap-width").evaluate(e)),h=this.paint.get("line-offset").evaluate(e);return h&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;ar?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}},{}],215:[function(t,e,r){var n=t("@mapbox/point-geometry");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s=i&&h.x>=i||(f.x>=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}},{"@mapbox/point-geometry":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_i&&(k+=w-i),!(k=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)L)n(t,z,!1);else{var R=m.projectPoint(h,P,D),B=O*S;if(v.length>0){var F=R.x-v[v.length-4],N=R.y-v[v.length-3];if(B*B*2>F*F+N*N&&z+8-E&&j=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{"../symbol/projection":224,"../util/intersection_tests":264,"./grid_index":220,"@mapbox/gl-matrix":2,"@mapbox/point-geometry":4}],218:[function(t,e,r){var n=t("../data/extent"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;it.overscaledZ)for(var c in l){var u=l[c];u.tileID.isChildOf(t)&&u.findMatches(e.symbolInstances,t,o)}else{var f=l[t.scaledTo(Number(s)).key];f&&f.findMatches(e.symbolInstances,t,o)}}for(var h=0,p=e.symbolInstances;h=0&&A=0&&T=0&&v+p<=d){var S=new i(A,T,k,x);S._round(),s&&!a(e,S,c,s,l)||y.push(S)}}m+=w}return f||y.length||u||(y=t(e,m/2,o,s,l,c,u,!0,h)),y}(t,d?e/2*u%e:(p/2+2*l)*c*u%e,e,h,r,p*c,d,!1,f)}},{"../style-spec/util/interpolate":158,"../symbol/anchor":213,"./check_max_angle":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;athis.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f=u[d+0]&&n>=u[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;vo*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var a={},o={},s=[],l=0,c=0;c0,M=M&&A.offscreen);var C=_.collisionArrays.textCircles;if(C){var E=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,m,E);T=d.collisionIndex.placeCollisionCircles(C,g.get("text-allow-overlap"),i,a,_.key,E,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,"map"===g.get("text-pitch-alignment")),w=g.get("text-allow-overlap")||T.circles.length>0,M=M&&T.offscreen}_.collisionArrays.iconBox&&(k=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get("icon-allow-overlap"),a,e)).box.length>0,M=M&&S.offscreen),v||y?y?v||(k=k&&w):w=k&&w:k=w=k&&w,w&&A&&d.collisionIndex.insertCollisionBox(A.box,g.get("text-ignore-placement"),f,h,t.bucketInstanceId,_.textBoxStartIndex),k&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get("icon-ignore-placement"),f,h,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get("text-ignore-placement"),f,h,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,k,M||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new h(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new h(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var c in a){var u=a[c];if(!r.opacities[c]){var f=new h(u,i,!1,!1);f.isHidden()||(r.opacities[c]=f,n=n||u.text.placed||u.icon.placed)}}n?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(f){for(var d=i(u.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,m=0;mt},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),m=Math.pow(2,24),v=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{"../data/extent":53,"../source/pixels_to_tile_units":104,"../style/style_layer/symbol_style_layer_properties":209,"./collision_index":217,"./projection":224,"./symbol_size":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];f(r,r,e);var n=r[3];return{point:new h(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function a(t,e,r,n,i,a,o,s,l,u,f,h){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,m=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(p-1),y=c(t*m,r,n,i,a,o,s.segment,d,g,l,u,f,h);if(!y)return null;var x=c(t*v,r,n,i,a,o,s.segment,d,g,l,u,f,h);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.yr.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,u,f,p,d,g,m,y,x,b){var _,w=e/24,k=t.lineOffsetX*e,M=t.lineOffsetY*e;if(t.numGlyphs>1){var A=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,C=a(w,p,k,M,r,m,y,t,d,u,x,!1);if(!C)return{notEnoughRoom:!0};var E=n(C.first.point,f).point,L=n(C.last.point,f).point;if(i&&!r){var z=o(t.writingMode,E,L,b);if(z)return z}_=[C.first];for(var P=t.glyphStartIndex+1;P0?R.point:l(y,I,D,1,s),F=o(t.writingMode,D,B,b);if(F)return F}var N=c(w*p.getoffsetX(t.glyphStartIndex),k,M,r,m,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,u,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j0?1:-1,y=0;i&&(v*=-1,y=Math.PI),v<0&&(y+=Math.PI);for(var x=v>0?c+s:c+s+1,b=x,_=a,w=a,k=0,M=0,A=Math.abs(m);k+M<=A;){if((x+=v)=u)return null;if(w=_,void 0===(_=d[x])){var T=new h(f.getx(x),f.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var C=x-v;_=l(0===k?o:new h(f.getx(C),f.gety(C)),T,w,A-k+1,p)}}k+=M,M=w.dist(_)}var E=(A-k)/M,L=_.sub(w),z=L.mult(E)._add(w);return z._add(L._unit()._perp()._mult(r*v)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-v===b?0:f.gettileUnitDistanceFromAnchor(x-v),lastSegmentViewportDistance:A-k}:null}}function u(t,e){for(var r=0;r=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,u,f,h,d,g,x,b,_,w,M,A,T,S,C){var E,L,z=t.addToLineVertexArray(e,r),P=0,D=0,O=0,I=n.horizontal?n.horizontal.text:"",R=[];n.horizontal&&(E=new v(s,r,e,l,u,f,n.horizontal,h,d,g,t.overscaling),D+=i(t,e,n.horizontal,o,g,A,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,C),n.vertical&&(O+=i(t,e,n.vertical,o,g,A,T,x,z,p.vertical,R,S,C)));var B=E?E.boxStartIndex:t.collisionBoxArray.length,F=E?E.boxEndIndex:t.collisionBoxArray.length;if(a){var N=m(e,a,o,w,n.horizontal,A,T);L=new v(s,r,e,l,u,f,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;"source"===j.functionType?V=[10*o.layout.get("icon-size").evaluate(T)]:"composite"===j.functionType&&(V=[10*C.compositeIconSizes[0].evaluate(T),10*C.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,M,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=k.MAX_GLYPHS&&y.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),{key:I,textBoxStartIndex:B,textBoxEndIndex:F,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:M,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:D,numVerticalGlyphVertices:O,numIconVertices:P,textOpacityState:new c,iconOpacityState:new c,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,O,M,E,P,I,A,{zoom:t.zoom},e,u,f))};if("line"===x.get("symbol-placement"))for(var F=0,N=l(e.geometry,0,0,w,w);F=0;o--)if(n.dist(a[o])1||(h?(clearTimeout(h),h=null,o("dblclick",e)):h=setTimeout(r,300))},!1),l.addEventListener("touchend",function(t){s("touchend",t)},!1),l.addEventListener("touchmove",function(t){s("touchmove",t)},!1),l.addEventListener("touchcancel",function(t){s("touchcancel",t)},!1),l.addEventListener("click",function(t){n.mousePos(l,t).equals(f)&&o("click",t)},!1),l.addEventListener("dblclick",function(t){o("dblclick",t),t.preventDefault()},!1),l.addEventListener("contextmenu",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u||r?u&&(c=e):o("contextmenu",e),e.preventDefault()},!1)}},{"../util/dom":259,"./handler/box_zoom":239,"./handler/dblclick_zoom":240,"./handler/drag_pan":241,"./handler/drag_rotate":242,"./handler/keyboard":243,"./handler/scroll_zoom":244,"./handler/touch_zoom_rotate":245,"@mapbox/point-geometry":4}],231:[function(t,e,r){var n=t("../util/util"),i=t("../style-spec/util/interpolate").number,a=t("../util/browser"),o=t("../geo/lng_lat"),s=t("../geo/lng_lat_bounds"),l=t("@mapbox/point-geometry"),c=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),["bottom","left","right","top"]))return n.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),c=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var u=l.convert(e.offset),f=this.transform,h=f.project(t.getNorthWest()),p=f.project(t.getSouthEast()),d=p.sub(h),g=(f.width-2*o-2*Math.abs(u.x))/d.x,m=(f.height-2*c-2*Math.abs(u.y))/d.y;return m<0||g<0?(n.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(e.center=f.unproject(h.add(p).div(2)),e.zoom=Math.min(f.scaleZoom(f.scale*Math.min(g,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire("movestart",e).fire("move",e),n&&this.fire("zoomstart",e).fire("zoom",e).fire("zoomend",e),i&&this.fire("rotate",e),a&&this.fire("pitchstart",e).fire("pitch",e).fire("pitchend",e),this.fire("moveend",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),c=this.getBearing(),u=this.getPitch(),f="zoom"in t?+t.zoom:s,h="bearing"in t?this._normalizeBearing(t.bearing,c):c,p="pitch"in t?+t.pitch:u,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),m=o.convert(t.center||g);this._normalizeCenter(m);var v,y,x=a.project(g),b=a.project(m).sub(x),_=a.zoomScale(f-s);return t.around&&(v=o.convert(t.around),y=a.locationPoint(v)),this.zooming=f!==s,this.rotating=c!==h,this.pitching=p!==u,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,f,t)),r.rotating&&(a.bearing=i(c,h,t)),r.pitching&&(a.pitch=i(u,p,t)),v)a.setLocationAtPoint(v,y);else{var n=a.zoomScale(a.zoom-s),o=f>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire("movestart",t),this.zooming&&this.fire("zoomstart",t),this.pitching&&this.fire("pitchstart",t)},e.prototype._fireMoveEvents=function(t){this.fire("move",t),this.zooming&&this.fire("zoom",t),this.rotating&&this.fire("rotate",t),this.pitching&&this.fire("pitch",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire("zoomend",t),r&&this.fire("pitchend",t),this.fire("moveend",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(A*A-M*M+(t?-1:1)*E*E*T*T)/(2*(t?A:M)*E*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var c=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var u=this.transform,f=this.getZoom(),h=this.getBearing(),p=this.getPitch(),d="zoom"in t?n.clamp(+t.zoom,u.minZoom,u.maxZoom):f,g="bearing"in t?this._normalizeBearing(t.bearing,h):h,m="pitch"in t?+t.pitch:p,v=u.zoomScale(d-f),y=u.centerPoint.add(l.convert(t.offset)),x=u.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=u.project(x),w=u.project(b).sub(_),k=t.curve,M=Math.max(u.width,u.height),A=M/v,T=w.mag();if("minZoom"in t){var S=n.clamp(Math.min(t.minZoom,f,d),u.minZoom,u.maxZoom),C=M/u.zoomScale(S-f);k=Math.sqrt(C/T*2)}var E=k*k,L=r(0),z=function(t){return s(L)/s(L+k*t)},P=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+k*t)-a(L))/E)/T},D=(r(1)-L)/k;if(Math.abs(T)<1e-6||!isFinite(D)){if(Math.abs(M-A)<1e-6)return this.easeTo(t,e);var O=At.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=h!==g,this.pitching=m!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*D,n=1/z(r);u.zoom=f+u.scaleZoom(n),c.rotating&&(u.bearing=i(h,g,t)),c.pitching&&(u.pitch=i(p,m,t));var a=u.unproject(_.add(w.mult(P(r))).mult(n));u.setLocationAtPoint(u.renderWorldCopies?a.wrap():a,y),c._fireMoveEvents(e)},function(){return c._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)180?-360:r<-180?360:0}},e}(t("../util/evented"));e.exports=c},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../style-spec/util/interpolate":158,"../util/browser":252,"../util/evented":260,"../util/util":275,"@mapbox/point-geometry":4}],232:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/config"),o=function(t){this.options=t,i.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};o.prototype.getDefaultPosition=function(){return"bottom-right"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var e=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+"="+r.value+(n=0)return!1;return!0})).length?(this._container.innerHTML=t.join(" | "),this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")},e.exports=o},{"../../util/config":256,"../../util/dom":259,"../../util/util":275}],233:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=function(){this._fullscreen=!1,i.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in a.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in a.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in a.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in a.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",i.warnOnce("This device does not support fullscreen mode.")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);t.setAttribute("aria-label","Toggle fullscreen"),t.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{"../../util/dom":259,"../../util/util":275,"../../util/window":254}],234:[function(t,e,r){var n,i=t("../../util/evented"),a=t("../../util/dom"),o=t("../../util/window"),s=t("../../util/util"),l=t("../../geo/lng_lat"),c=t("../marker"),u={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},f=function(t){function e(e){t.call(this),this.options=s.extend({},u,e),s.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker","_onClickGeolocate"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:"geolocation"}).then(function(e){n="denied"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire("geolocate",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire("error",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=a.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new c(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==e._watchState||(e._watchState="BACKGROUND",e._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),e._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),e.fire("trackuserlocationend"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire("trackuserlocationstart");break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire("trackuserlocationend");break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire("trackuserlocationstart")}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},e}(i);e.exports=f},{"../../geo/lng_lat":62,"../../util/dom":259,"../../util/evented":260,"../../util/util":275,"../../util/window":254,"../marker":248}],235:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=function(){i.bindAll(["_updateLogo"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create("div","mapboxgl-ctrl");var e=n.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off("sourcedata",this._updateLogo)},a.prototype.getDefaultPosition=function(){return"bottom-left"},a.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},a.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},e.exports=a},{"../../util/dom":259,"../../util/util":275}],236:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../handler/drag_rotate"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return e._map.resetNorth()}),this._compassArrow=n.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};s.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:"left",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off("rotate",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create("button",t,this._container);return i.type="button",i.setAttribute("aria-label",e),i.addEventListener("click",r),i},e.exports=s},{"../../util/dom":259,"../../util/util":275,"../handler/drag_rotate":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&"imperial"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,"mi"):i(e,n,s,"ft")}else if(r&&"nautical"===r.unit){i(e,n,o/1852,"nm")}else i(e,n,o,"m")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}var a=t("../../util/dom"),o=t("../../util/util"),s=function(t){this.options=t,o.bindAll(["_onMove"],this)};s.prototype.getDefaultPosition=function(){return"bottom-left"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},e.exports=s},{"../../util/dom":259,"../../util/util":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t("../../util/dom"),i=t("../../geo/lng_lat_bounds"),a=t("../../util/util"),o=t("../../util/window"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener("mousedown",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener("mousemove",this._onMouseMove,!1),o.document.addEventListener("keydown",this._onKeyDown,!1),o.document.addEventListener("mouseup",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,"translate("+i+"px,"+o+"px)"),this._box.style.width=a-i+"px",this._box.style.height=s-o+"px"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent("boxzoomcancel",t):this._map.fitBounds(a,{linear:!0}).fire("boxzoomend",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener("mousemove",this._onMouseMove,!1),o.document.removeEventListener("keydown",this._onKeyDown,!1),o.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{"../../geo/lng_lat_bounds":63,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],240:[function(t,e,r){var n=t("../../util/util"),i=function(t){this._map=t,n.bindAll(["_onDblClick","_onZoomEnd"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)},e.exports=i},{"../../util/util":275}],241:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp","_onDragFrame","_onDragFinished"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener("touchmove",this._onMove),a.document.addEventListener("touchend",this._onTouchEnd)):(a.document.addEventListener("mousemove",this._onMove),a.document.addEventListener("mouseup",this._onMouseUp)),a.addEventListener("blur",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent("drag",e),this._fireEvent("move",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent("dragend",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent("moveend",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var c=o.mult(.3/l),u=c.mag();u>1400&&(u=1400,c._unit()._mult(u));var f=u/750,h=c.mult(-f/2);this._map.panBy(h,{duration:1e3*f,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener("mousemove",this._onMove),a.document.removeEventListener("mouseup",this._onMouseUp),a.removeEventListener("blur",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener("touchmove",this._onMove),a.document.removeEventListener("touchend",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||"mousemove"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],242:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||"right",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll(["_onDown","_onMove","_onUp","_onDragFrame","_onDragFinished"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if("right"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener("mousemove",this._onMove,{capture:!0}),a.document.addEventListener("mouseup",this._onUp),a.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener("mousemove",this._onMove,{capture:!0}),a.document.removeEventListener("mouseup",this._onUp),a.removeEventListener("blur",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([o.now(),this._map._normalizeBearing(s,u[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",e),t.pitch=l),this._fireEvent("rotate",e),this._fireEvent("move",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)180&&(d=180);var g=d/180;u+=h*d*(g/2),Math.abs(r._normalizeBearing(u,0))0&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t("../../util/util"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onKeyDown"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),c={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(c,{originalEvent:t})}},e.exports=a},{"../../util/util":275}],244:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/browser"),o=t("../../util/window"),s=t("../../style-spec/util/interpolate").number,l=t("../../geo/lng_lat"),c=o.navigator.userAgent.toLowerCase(),u=-1!==c.indexOf("firefox"),f=-1!==c.indexOf("safari")&&-1===c.indexOf("chrom"),h=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};h.prototype.isEnabled=function(){return!!this._enabled},h.prototype.isActive=function(){return!!this._active},h.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},h.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},h.prototype._onWheel=function(t){var e=0;"wheel"===t.type?(e=t.deltaY,u&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):"mousewheel"===t.type&&(e=-t.wheelDeltaY,f&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},h.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},h.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire("movestart",{originalEvent:t}),this._map.fire("zoomstart",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},h.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if("wheel"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire("move",{originalEvent:this._lastWheelEvent}),this._map.fire("zoom",{originalEvent:this._lastWheelEvent})}},h.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire("zoomend"),t._map.fire("moveend"),delete t._targetZoom},200))},h.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=h},{"../../geo/lng_lat":62,"../../style-spec/util/interpolate":158,"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],245:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onStart","_onMove","_onEnd"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener("touchmove",this._onMove,!1),a.document.addEventListener("touchend",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,c=this._map;if(this._gestureIntent){var u={duration:0,around:c.unproject(i)};"rotate"===this._gestureIntent&&(u.bearing=this._startBearing+l),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(u.zoom=c.transform.scaleZoom(this._startScale*s)),c.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),c.easeTo(u,{originalEvent:t})}else{var f=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent="rotate":f&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=a,this._startScale=c.transform.scale,this._startBearing=c.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener("touchmove",this._onMove),a.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),c=o-l,u=(n[0]-i[0])/1e3,f=n[2];if(0!==u&&o!==l){var h=.15*c/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var p=1e3*Math.abs(h/(12*.15)),d=o+h*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(f)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],246:[function(t,e,r){var n=t("../util/util"),i=t("../util/window"),a=t("../util/throttle"),o=function(){n.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+a+"/"+o+"/"+r:"#"+r+"/"+o+"/"+a,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},o.prototype._onHashChange=function(){var t=i.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState("","",t)},e.exports=o},{"../util/throttle":272,"../util/util":275,"../util/window":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t("../util/util"),a=t("../util/browser"),o=t("../util/window"),s=t("../util/window"),l=s.HTMLImageElement,c=s.HTMLElement,u=t("../util/dom"),f=t("../util/ajax"),h=t("../style/style"),p=t("../style/evaluation_parameters"),d=t("../render/painter"),g=t("../geo/transform"),m=t("./hash"),v=t("./bind_handlers"),y=t("./camera"),x=t("../geo/lng_lat"),b=t("../geo/lng_lat_bounds"),_=t("@mapbox/point-geometry"),w=t("./control/attribution_control"),k=t("./control/logo_control"),M=t("@mapbox/mapbox-gl-supported"),A=t("../util/image").RGBAImage;t("./events");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error("Container '"+e.container+"' not found.");this._container=a}else{if(!(e.container instanceof c))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener("online",this._onWindowOnline,!1),o.addEventListener("resize",this._onWindowResize,!1)),v(this,e),this._hash=e.hash&&(new m).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new k,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if("mouseenter"===e||"mouseover"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if("mouseleave"===e||"mouseout"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;athis._map.transform.height-i?["bottom"]:[],t.xthis._map.transform.width-n/2&&e.push("right"),e=0===e.length?"bottom":e.join("-")}var o=t.add(r[e]).round(),l={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},u=this._container.classList;for(var f in l)u.remove("mapboxgl-popup-anchor-"+f);u.add("mapboxgl-popup-anchor-"+e),a.setTransform(this._container,l[e]+" translate("+o.x+"px,"+o.y+"px)")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=f},{"../geo/lng_lat":62,"../util/dom":259,"../util/evented":260,"../util/smart_wrap":270,"../util/util":275,"../util/window":254,"@mapbox/point-geometry":4}],250:[function(t,e,r){var n=t("./util"),i=t("./web_worker_transfer"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll(["receive"],this),this.target.addEventListener("message",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:"",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(""===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(".");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},e.exports=s},{"./util":275,"./web_worker_transfer":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open("GET",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials="include"===t.credentials,e}function i(t){var e=a.document.createElement("a");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t("./window"),o={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};r.ResourceType=o,"function"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader("Accept","application/json"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType="arraybuffer",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error("http status 200 returned without content."));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},r.getVideo=function(t,e){var r=a.document.createElement("video");r.onloadstart=function(){e(null,r)};for(var n=0;n1)for(var f=0;f0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{"./util":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=f.y>t.y&&t.x<(f.x-u.x)*(t.y-u.y)/(f.y-u.y)+u.x&&(r=!r),n=Math.min(n,s(t,u,f))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t("tinyqueue"),o=t("@mapbox/point-geometry"),s=t("./intersection_tests").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,c=-1/0,u=-1/0,f=t[0],h=0;hc)&&(c=p.x),(!h||p.y>u)&&(u=p.y)}var d=c-s,g=u-l,m=Math.min(d,g),v=m/2,y=new a(null,n);if(0===m)return new o(s,l);for(var x=s;x_.d||!_.d)&&(_=k,r&&console.log("found best %d after %d probes",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=e||(v=k.h/2,y.push(new i(k.p.x-v,k.p.y-v,v,t)),y.push(new i(k.p.x+v,k.p.y-v,v,t)),y.push(new i(k.p.x-v,k.p.y+v,v,t)),y.push(new i(k.p.x+v,k.p.y+v,v,t)),w+=4)}return r&&(console.log("num probes: "+w),console.log("best distance: "+_.d)),_.p}},{"./intersection_tests":264,"@mapbox/point-geometry":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t("./worker_pool");e.exports=function(){return n||(n=new i),n}},{"./worker_pool":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l1){if(i(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function c(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var u=t("./util").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n=3)for(var l=0;l=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,"/"!==r.path&&(t.path=""+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+c);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+c);return t.params.push("access_token="+e),o(t)}function i(t){return 0===t.indexOf("mapbox:")}function a(t){var e=t.match(f);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function o(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var s=t("./config"),l=t("./browser"),c="See https://www.mapbox.com/api-documentation/#access-tokens";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/styles/v1"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/fonts/v1"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path="/styles/v1"+l.path+"/sprite"+e+r,n(l,s)):(l.path+=""+e+r,o(l))};var u=/(\.(png|jpg)\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),c=l.devicePixelRatio>=2||512===r?"@2x":"",f=l.supportsWebp?".webp":"$1";return n.path=n.path.replace(u,""+c+f),function(t){for(var e=0;e=65097&&t<=65103)||n["CJK Compatibility Ideographs"](t)||n["CJK Compatibility"](t)||n["CJK Radicals Supplement"](t)||n["CJK Strokes"](t)||!(!n["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n["CJK Unified Ideographs Extension A"](t)||n["CJK Unified Ideographs"](t)||n["Enclosed CJK Letters and Months"](t)||n["Hangul Compatibility Jamo"](t)||n["Hangul Jamo Extended-A"](t)||n["Hangul Jamo Extended-B"](t)||n["Hangul Jamo"](t)||n["Hangul Syllables"](t)||n.Hiragana(t)||n["Ideographic Description Characters"](t)||n.Kanbun(t)||n["Kangxi Radicals"](t)||n["Katakana Phonetic Extensions"](t)||n.Katakana(t)&&12540!==t||!(!n["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!n["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n["Unified Canadian Aboriginal Syllabics"](t)||n["Unified Canadian Aboriginal Syllabics Extended"](t)||n["Vertical Forms"](t)||n["Yijing Hexagram Symbols"](t)||n["Yi Syllables"](t)||n["Yi Radicals"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||n["Letterlike Symbols"](t)||n["Number Forms"](t)||n["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||n["Control Pictures"](t)&&9251!==t||n["Optical Character Recognition"](t)||n["Enclosed Alphanumerics"](t)||n["Geometric Shapes"](t)||n["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||n["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n["CJK Symbols and Punctuation"](t)||n.Katakana(t)||n["Private Use Area"](t)||n["CJK Compatibility Forms"](t)||n["Small Form Variants"](t)||n["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{"./is_char_in_unicode_block":265}],270:[function(t,e,r){var n=t("../geo/lng_lat");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{"../geo/lng_lat":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},a.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")},e.exports.StructArray=a,e.exports.Struct=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx0,f=e.dx<0,h=a;hu.dy&&(l=c,c=u,u=l),c.dy>f.dy&&(l=c,c=f,f=l),u.dy>f.dy&&(l=u,u=f,f=l),c.dy&&i(f,c,a,o,s),u.dy&&i(f,u,a,o,s)}t("../geo/coordinate");var o=t("../source/tile_id").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var c,u,f;if(a>=0&&a<=s)for(c=e;c=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||("undefined"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}},{"../geo/coordinate":61,"../style-spec/util/deep_equal":155,"@mapbox/point-geometry":4,"@mapbox/unitbezier":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},i.geometry.set=function(t){this._geometry=t},n.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t("./script_detection");e.exports=function(t){for(var r="",i=0;i":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"}},{"./script_detection":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t("grid-index"),a=t("../style-spec/util/color"),o=t("../style-spec/expression"),s=o.StylePropertyFunction,l=o.StyleExpression,c=o.StyleExpressionWithErrorHandling,u=o.ZoomDependentExpression,f=o.ZoomConstantExpression,h=t("../style-spec/expression/compound_expression").CompoundExpression,p=t("../style-spec/expression/definitions"),d=t("./window").ImageData,g={};for(var m in n("Object",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n("Grid",i),n("Color",a),n("StylePropertyFunction",s),n("StyleExpression",l,{omit:["_evaluator"]}),n("StyleExpressionWithErrorHandling",c,{omit:["_evaluator"]}),n("ZoomDependentExpression",u),n("ZoomConstantExpression",f),n("CompoundExpression",h,{omit:["_evaluate"]}),p)p[m]._classRegistryKey||n("Expression_"+m,p[m]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a=0)){var h=e[f];u[f]=g[c].shallow.indexOf(f)>=0?h:t(h,r)}return{name:c,properties:u}}throw new Error("can't serialize object of type "+typeof e)},deserialize:function t(e){if(null===e||void 0===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if("object"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error("can't deserialize object of anonymous class");var a=g[n].klass;if(!a)throw new Error("can't deserialize unregistered class "+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s=0?i[c]:t(i[c])}return o}throw new Error("can't deserialize object of type "+typeof e)}}},{"../style-spec/expression":139,"../style-spec/expression/compound_expression":123,"../style-spec/expression/definitions":131,"../style-spec/util/color":153,"./window":254,"grid-index":24}],279:[function(t,e,r){var n=t("./web_worker"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t("../").workerCount;for(this.workers=[];this.workers.lengthp[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":314,"gl-mat4/clone":224,"gl-mat4/create":225,"gl-mat4/determinant":226,"gl-mat4/invert":230,"gl-mat4/transpose":240,"gl-vec3/cross":280,"gl-vec3/dot":281,"gl-vec3/length":282,"gl-vec3/normalize":284}],314:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],315:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":226,"gl-vec3/lerp":283,"mat4-decompose":313,"mat4-recompose":316,"quat-slerp":367}],316:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":225,"gl-mat4/fromRotationTranslation":228,"gl-mat4/identity":229,"gl-mat4/multiply":232,"gl-mat4/scale":238,"gl-mat4/translate":239}],317:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],318:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":388}],320:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":322}],321:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],322:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var C=t.getters||[],E=new Array(T),L=0;L=0?E[L]=!0:E[L]=!1;return function(t,e,r,T,S,C){var E=C.length,L=S.length;if(L<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var z="extractContour"+S.join("_"),P=[],D=[],O=[],I=0;I0&&N.push(l(I,S[R-1])+"*"+s(S[R-1])),D.push(d(I,S[R])+"=("+N.join("-")+")|0")}for(var I=0;I=0;--I)j.push(s(S[I]));D.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),D.push(g(0)+"=0");for(var R=1;R<1<0;M=M-1&d)w.push(x+"["+k+"+"+v(M)+"]");w.push(y(0));for(var M=0;M=0;--e)G(e,0);for(var r=[],e=0;e0){",p(S[e]),"=1;");t(e-1,r|1<=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var c=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(c=""),i>0){n.push("if(1");for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l1){dst.set(",s.join(),",",u,",0.5*(src.get(",h.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",f,",src.pick(",h.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",f,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===i?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",f,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":116}],330:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":331,ndarray:335}],331:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":116}],332:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",d,"=s",d,"-d",f,"*n",f].join("")):s.push(["d",d,"=s",d].join("")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push(["e",p,"=s",p,"-e",h,"*n",h,",f",p,"=",c[p],"-f",h,"*n",h].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),h=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e);return m(v,function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=a(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],p=1;p=0;--a)0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"1)for(a=0;a1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(i)),">",g(d(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++u;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",i].join(""))}function k(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function M(e,r,i){t.length>1?(v([e,r,i],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+i))}function S(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function C(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(i,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),M("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),C("less",1,"++less"),C("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v))}},{"typedarray-pool":423}],333:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":332}],334:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":119,"ndarray-linear-interpolate":328}],335:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+u+",v)}"):a.push("return this.data["+u+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+u+")}"):a.push("return this.data["+u+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":133}],337:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));k=t<_?n-k:k,M=f<_?n-M:M,k<0&&(k=2*n+k),M<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var C=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var E=Math.tan((M-k)/4),L=4/3*r*E,z=4/3*a*E,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;C&&(P=P.concat(C));for(var D=0;D7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case"Q":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=a(p,d,v[1],v[2]);break;case"H":v=a(p,d,v[1],d);break;case"V":v=a(p,d,p,v[1]);break;case"Z":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],338:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;oa)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],339:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],341:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],C=M[3],E=A*w+C*x+T*_-S*b,L=T*w+C*b+S*x-A*_,z=S*w+C*_+A*b-T*x,P=C*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var D=Math.sin(n)/l(x,b,_);x*=D,b*=D,_*=D,P=P*(w=Math.cos(e))-(E=E*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-E*_)*b-(z=z*w+P*_+E*b-L*x)*_}var O=c(E,L,z,P);O>1e-6?(E/=O,L/=O,z/=O,P/=O):(E=L=z=0,P=1),this.rotation.set(t,E,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":340,"filtered-vector":197,"gl-mat4/fromQuat":227,"gl-mat4/invert":230,"gl-mat4/lookAt":231}],342:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},{"repeat-string":381}],343:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":349}],344:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{"invert-permutation":301,"typedarray-pool":423}],349:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,a,o={};if("string"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o0;){a[0][o].length;var g=f(o,p);h(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":107}],351:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s0})).length,m=new Array(g),v=new Array(g),p=0;p0;){var N=B.pop(),j=E[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;vr){for(var h=0;hl||A>c||T=E||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],C=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),D=.5*i,O=a+1;e(r,n,D,O,_,k||C||L||P),e(r,n+D,D,O,k,C||L||P),e(r+D,n,D,O,C,L||P),e(r+D,n+D,D,O,L,P)}}}(0,0,1,0,0,1),z},d;function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],360:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l1)for(var r=1;r0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":92,"compare-cell":108,"compare-oriented-cell":109}],374:[function(t,e,r){"use strict";var n=t("array-bounds"),i=t("color-normalize"),a=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,f=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:h}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * scale + translate;\n\tvec2 aBotPosition = (aBotCoord) * scale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * scale + translate;\n\tvec2 bBotPosition = (bBotCoord) * scale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);var n;("number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity)&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),u.vert=l(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\n\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),h&&(u.frag=u.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(u)}e.exports=v,v.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;in)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var p={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(p):e.elements=l.elements(p)}return a({data:d(t),usage:"dynamic"}),s({data:g(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;oi*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},v.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];if(t.length){for(var r=0;rM))&&(s.lower||!(k>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function c(t){Y[s(t.byteLength)>>2].push(t)}function u(t,e,r,n,i,a){for(var o=0;o(i=l)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if("number"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||G(t)||a(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=u[t.type]),"length"in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&&5124!==h||(s*=4))),o(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType="elements",l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function m(t){for(var e=X.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function E(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=C();return"number"==typeof t?A(a,0|t,"number"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,O(i),S(a,3553),P(r,3553),I(),E(a),s.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new D(3553);return ft[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,O(i),d(o,3553,e,r,a),I(),M(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,O(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return I(),s.profile&&(i.stats.size=k(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType="texture2d",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(L.call(l),o=0;6>o;++o)m[o]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)T(m[0],t),T(m[1],e),T(m[2],r),T(m[3],n),T(m[4],i),T(m[5],a);else if(z(l,t),u(h,t),"faces"in t)for(t=t.faces,o=0;6>o;++o)c(m[o],h),T(m[o],t[o]);else for(o=0;6>o;++o)T(m[o],t)}else for(t=0|t||1,o=0;6>o;++o)A(m[o],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,O(h),o=0;6>o;++o)S(m[o],34069+o);for(P(l,34067),I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=nt[l.wrapS],f.wrapT=nt[l.wrapT],o=0;6>o;++o)E(m[o]);return f}var h=new D(34067);ft[h.id]=h,o.cubeCount++;var m=Array(6);return f(e,r,n,i,a,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,O(h),d(a,34069+t,r,n,i),I(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,O(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,s.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);P(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)?r=i:"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=k++,M[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;ni;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){W(M).forEach(m)},restore:function(){W(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;rt&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(c).forEach(e),c={},W(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t="+e+"?"+i+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",i,".buffer)){",u,"=",s,".createStream(",34962,",",i,".buffer);","}else{",u,"=",s,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new O(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(i,".","framebufferHeight","-",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new O(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new O(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,a),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=B(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return yt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[vt["srcRGB"in t?t.srcRGB:t.src],vt["dstRGB"in t?t.dstRGB:t.dst],vt["srcAlpha"in t?t.srcAlpha:t.src],vt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]});case"blend.color":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[yt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,xt[e.fail||"keep"],xt[e.zfail||"keep"],xt[e.zpass||"keep"]]},function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return bt[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return o(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=m("scissor.box")])&&(c[f]=s),(a={framebuffer:a,draw:l,shader:u,state:c,dirty:s=0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","elements"),i&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),g=i("offset"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var v=p+".type",y=h.elements&&I(h.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),E(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,"."+e,n.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),D(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],"["+n+"]",r)}):i.set(a.next,"."+e,n)}),F(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,"."+e,""+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,"."+t,n[t])})}),n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){W(u).forEach(o)},restore:function(){W(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=["x","y","z","w"],mt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),vt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},yt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new O(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0=X.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=p(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function p(){return(H()-k)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=Z;break;case"restore":r=J;break;case"destroy":r=K}return r.push(e),{cancel:function(){for(var t=0;t=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],382:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],383:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function f(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h=n?(i=f,(l+=1)=n?(i=f,(l+=1)0?1:0}},{}],395:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":76,"reduce-simplicial-complex":373}],396:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,void 0===s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(var a=t+1;a>1;--a){a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0){var n=v(r);if(e0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var M=[],A=new Array(a),f=0;f>1;f>=0;--f)x(f);for(;;){var C=_();if(C<0||c[C]>r)break;k(C)}for(var E=[],f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:E,edges:z}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":388,"simplicial-complex":400}],403:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{"./lib/order-segments":403,"binary-search-bounds":72,"functional-red-black-tree":199,"robust-orientation":388}],405:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":385,"robust-sum":393}],406:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function e(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a=0),s[8]){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case"e":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case"f":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case"g":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case"t":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),c=s[4]?"0"===s[4]?"0":s[4].charAt(1):" ",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):"",g+=s[5]?h+i+l:"0"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");a.push(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);void 0!==r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],407:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c>>7){");for(var c=0;c<1<<(1<128&&c%128==0){f.length>0&&h.push("}}");var p="vExtra"+f.length;a.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),h=["function ",p,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;xx)&&!(c&1<<_)!=!(c&1<0&&(A="+"+m[b]+"*c");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push("d"+b+"-"+S+"-"+T+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}h.push("a.push([",M.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");for(var C=[],c=0;c<1<1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),C=s(k,M,A,T);return 0===c&&C>0&&(C-=i),1===c&&C<0&&(C+=i),[_,w,S,C]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],C=A[2],E=A[3],L=Math.max(Math.ceil(Math.abs(E)/(i/4)),1);E/=L;for(var z=0;ze[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":44,assert:52,"is-svg-path":309,"normalize-svg-path":412,"parse-svg-path":344}],412:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{"svg-arc-to-cubic-bezier":410}],413:[function(t,e,r){(function(r){"use strict";var n=t("svg-path-bounds"),i=t("parse-svg-path"),a=t("draw-svg-path"),o=t("is-svg-path"),s=t("bitmap-sdf"),l=document.createElement("canvas"),c=l.getContext("2d");e.exports=function(t,e){if(!o(t))throw Error("Argument should be valid svg path string");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle="black",c.fillRect(0,0,u,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bitmap-sdf":74,"draw-svg-path":134,"is-svg-path":309,"parse-svg-path":344,"svg-path-bounds":411}],414:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var p,d,g;return a=E(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=E(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16)),D(I(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+"%",g:a(100*L(this._g,255))+"%",b:a(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%)":"rgba("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(C[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=c(t);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function E(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function D(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F="[\\s|\\(]+("+(B="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",N="[\\s|\\(]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",{CSS_UNIT:new RegExp(B),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],416:[function(t,e,r){"use strict";function n(t){if(t instanceof Float32Array)return t;if("number"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if("number"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;rf&&(f=l[0]),l[1]h&&(h=l[1])}function i(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(i);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++ef&&(f=l[0]),l[1]h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:a}:null==n?{type:"Feature",id:r,properties:i,geometry:a}:{type:"Feature",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i1)for(var a,o,c=1,u=l(i[0]);cu&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r>>1;t[i]=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);iMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,C=this.computedMatrix;for(a=0;a<3;++a){var E=_*r[a]+w*h[a]+k*e[a];C[4*a+1]=M*r[a]+A*h[a]+T*e[a],C[4*a+2]=E,C[4*a+3]=0}var L=C[1],z=C[5],P=C[9],D=C[2],O=C[6],I=C[10],R=z*I-P*O,B=P*D-L*I,F=L*O-z*D,N=c(R,B,F);R/=N,B/=N,F/=N,C[0]=R,C[4]=B,C[8]=F;for(a=0;a<3;++a)S[a]=b[a]+C[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=C[a+4*j]*S[j];C[12+a]=-u}C[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var C=e[1],E=e[5],L=e[9],z=C*x+E*b+L*_,P=C*M+E*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var D=e[2],O=e[6],I=e[10],R=D*s+O*l+I*f,B=D*x+O*b+I*_,F=D*M+O*A+I*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),C=Math.atan2(T,A),E=this.angle._state,L=E[E.length-1],z=E[E.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-C),D=Math.abs(L-C),O=Math.abs(L-2*Math.PI-C);P0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return m(t);case"int32":return v(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":73,buffer:85,dup:136}],424:[function(t,e,r){"use strict";"use restrict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e=a)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return f(e)}var c,b="",M=!1,A=["{","}"];(p(e)&&(M=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===M(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===M(t)}function w(t){return b(t)&&("[object Error]"===M(t)||t instanceof Error)}function k(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},r.isBuffer=t("./support/isBuffer");var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),T[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":428,_process:366,inherits:427}],430:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t("./lib/vtext"),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},{"./lib/vtext":431}],431:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||"normal";return r.font=a+"px "+o,r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error("vectorize-text: String too long (sorry, this will get fixed later)");var o=3*n;t.height=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error("bogus call to permitHostObjects___");a=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],433:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":434}],434:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],435:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":433}],436:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":201}],437:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p>13;!x||m=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},{"../main":451,"object-assign":339}],440:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{"../main":451,"object-assign":339}],441:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":451,"object-assign":339}],442:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t=t<=0?t+1:t,r+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{"../main":451,"object-assign":339}],443:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{"../main":451,"object-assign":339}],444:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{"../main":451,"object-assign":339}],445:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{"../main":451,"object-assign":339}],446:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":451,"object-assign":339}],448:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":451,"object-assign":339}],449:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":451,"object-assign":339}],450:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":451,"object-assign":339}],451:[function(t,e,r){var n=t("object-assign");function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(!function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":339}],452:[function(t,e,r){var n=t("object-assign"),i=t("./main");n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s-1){p=1,d=g;for(var C=this.daysInMonth(h,p);d>C;C=this.daysInMonth(h,p))p++,d-=C}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},{"./main":451,"object-assign":339}],453:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":116}],454:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":453}],455:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./common_defaults"),o=t("./attributes");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c("visible",!(l=l||{}).itemIsNotPlainObject),f=c("clicktoshow");if(!u&&!f)return e;a(t,e,r,c);for(var h=e.showarrow,p=["x","y"],d=[-10,-30],g={_fullLayout:r},m=0;m<2;m++){var v=p[m],y=i.coerceRef(t,e,g,v,"","paper");if(i.coercePosition(e,g,c,y,v,.5),h){var x="a"+v,b=i.coerceRef(t,e,g,x,"pixel");"pixel"!==b&&b!==y&&(b=e[x]="pixel");var _="pixel"===b?d[m]:.4;i.coercePosition(e,g,c,b,x,_)}c(v+"anchor"),c(v+"shift")}if(n.noneOrAll(t,e,["x","y"]),h&&n.noneOrAll(t,e,["ax","ay"]),f){var w=c("xclick"),k=c("yclick");e._xclick=void 0===w?e.x:i.cleanPosition(w,g,e.xref),e._yclick=void 0===k?e.y:i.cleanPosition(k,g,e.yref)}return e}},{"../../lib":602,"../../plots/cartesian/axes":648,"./attributes":457,"./common_defaults":460}],456:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],457:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants");e.exports={_isLinkedToArray:"annotation",visible:{valType:"boolean",dflt:!0,editType:"calcIfAutorange+arraydraw"},text:{valType:"string",editType:"calcIfAutorange+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calcIfAutorange+arraydraw"},font:i({editType:"calcIfAutorange+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calcIfAutorange+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calcIfAutorange+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calcIfAutorange+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calcIfAutorange+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calcIfAutorange+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calcIfAutorange+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calcIfAutorange+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calcIfAutorange+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calcIfAutorange+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calcIfAutorange+arraydraw"},ax:{valType:"any",editType:"calcIfAutorange+arraydraw"},ay:{valType:"any",editType:"calcIfAutorange+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calcIfAutorange+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calcIfAutorange+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calcIfAutorange+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calcIfAutorange+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calcIfAutorange+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calcIfAutorange+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}}},{"../../plots/cartesian/constants":653,"../../plots/font_attributes":674,"./arrow_paths":456}],458:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r,n,a,o,s=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&&s.autorange&&(r=c+e.xshift,n=c-e.xshift,a=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(i.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),i.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,a),ppadminus:Math.max(e._xpadminus,o)})):(a=e.ax?a+e.ax:a,o=e.ax?o-e.ax:o,i.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,a),ppadminus:Math.max(e._xpadminus,n,o)}))),l&&l.autorange&&(r=c-e.yshift,n=c+e.yshift,a=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(i.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),i.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,a),ppadminus:Math.max(e._ypadminus,o)})):(a=e.ay?a+e.ay:a,o=e.ay?o-e.ay:o,i.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,a),ppadminus:Math.max(e._ypadminus,n,o)})))})}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};for(var l in r.forEach(function(t){s[t.xref]=1,s[t.yref]=1}),s){var c=i.getFromId(t,l);if(c&&c.autorange)return n.syncOrAsync([a,o],t)}}}},{"../../lib":602,"../../plots/cartesian/axes":648,"./draw":463}],459:[function(t,e,r){"use strict";var n=t("../../registry");function i(t,e){var r,n,i,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,a=i(t,e),o=a.on,s=a.off.concat(a.explicitOff),l={};if(!o.length&&!s.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}e._w=I,e._h=B;for(var V=!1,U=["x","y"],q=0;q1)&&(K===J?((ot=Q.r2fraction(e["a"+Z]))<0||ot>1)&&(V=!0):V=!0,V))continue;H=Q._offset+Q.r2p(e[Z]),Y=.5}else"x"===Z?(W=e[Z],H=x.l+x.w*W):(W=1-e[Z],H=x.t+x.h*W),Y=e.showarrow?.5:W;if(e.showarrow){at.head=H;var st=e["a"+Z];X=tt*j(.5,e.xanchor)-et*j(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=y["x"===Z?"width":"height"];if("paper"===J&&(at.head=o.constrain(at.head,1,lt-1)),"pixel"===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct>0?(at.tail+=ct,at.text+=ct):ut>0&&(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*j(Y,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e["_"+Z+"padplus"]=rt/2+G,e["_"+Z+"padminus"]=rt/2-G,e["_"+Z+"size"]=rt,e["_"+Z+"shift"]=X}if(V)C.remove();else{var ft=0,ht=0;if("left"!==e.align&&(ft=(I-S)*("center"===e.align?.5:1)),"top"!==e.valign&&(ht=(B-L)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:z+ft-1,y:z+ht}).call(c.setClipUrl,D?_:null);else{var pt=z+ht-m.top,dt=z+ft-m.left;R.call(f.positionText,dt,pt).call(c.setClipUrl,D?_:null)}O.select("rect").call(c.setRect,z,z,I,B),P.call(c.setRect,E/2,E/2,F-E,N-E),C.call(c.setTranslate,Math.round(w.x.text-F/2),Math.round(w.y.text-N/2)),A.attr({transform:"rotate("+k+","+w.x.text+","+w.y.text+")"});var gt,mt,vt=function(r,n){M.selectAll(".annotation-arrow-g").remove();var u=w.x.head,f=w.y.head,h=w.x.tail+r,m=w.y.tail+n,y=w.x.text+r,_=w.y.text+n,T=o.rotationXYMatrix(k,y,_),S=o.apply2DTransform(T),E=o.apply2DTransform2(T),L=+P.attr("width"),z=+P.attr("height"),D=y-.5*L,O=D+L,I=_-.5*z,R=I+z,B=[[D,I,D,R],[D,R,O,R],[O,R,O,I],[O,I,D,I]].map(E);if(!B.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){B.forEach(function(t){var e=o.segmentsIntersect(h,m,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,m=e.y)});var F=e.arrowwidth,N=e.arrowcolor,j=e.arrowside,V=M.append("g").style({opacity:l.opacity(N)}).classed("annotation-arrow-g",!0),U=V.append("path").attr("d","M"+h+","+m+"L"+u+","+f).style("stroke-width",F+"px").call(l.stroke,l.rgb(N));if(d(U,j,e),b.annotationPosition&&U.node().parentNode&&!a){var q=u,H=f;if(e.standoff){var G=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-m,2));q+=e.standoff*(h-u)/G,H+=e.standoff*(m-f)/G}var W,Y,X,Z=V.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-q)+","+(m-H),transform:"translate("+q+","+H+")"}).style("stroke-width",F+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:Z.node(),gd:t,prepFn:function(){var t=c.getTranslate(C);Y=t.x,X=t.y,W={},s&&s.autorange&&(W[s._name+".autorange"]=!0),g&&g.autorange&&(W[g._name+".autorange"]=!0)},moveFn:function(t,r){var n=S(Y,X),i=n[0]+t,a=n[1]+r;C.call(c.setTranslate,i,a),W[v+".x"]=s?s.p2r(s.r2p(e.x)+t):e.x+t/x.w,W[v+".y"]=g?g.p2r(g.r2p(e.y)+r):e.y-r/x.h,e.axref===e.xref&&(W[v+".ax"]=s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&(W[v+".ay"]=g.p2r(g.r2p(e.ay)+r)),V.attr("transform","translate("+t+","+r+")"),A.attr({transform:"rotate("+k+","+i+","+a+")"})},doneFn:function(){i.call("relayout",t,W);var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&vt(0,0),T)p.init({element:C.node(),gd:t,prepFn:function(){mt=A.attr("transform"),gt={}},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?gt[v+".ax"]=s.p2r(s.r2p(e.ax)+t):gt[v+".ax"]=e.ax+t,e.ayref===e.yref?gt[v+".ay"]=g.p2r(g.r2p(e.ay)+r):gt[v+".ay"]=e.ay+r,vt(t,r);else{if(a)return;if(s)gt[v+".x"]=s.p2r(s.r2p(e.x)+t);else{var i=e._xsize/x.w,o=e.x+(e._xshift-e.xshift)/x.w-i/2;gt[v+".x"]=p.align(o+t/x.w,i,0,1,e.xanchor)}if(g)gt[v+".y"]=g.p2r(g.r2p(e.y)+r);else{var l=e._ysize/x.h,c=e.y-(e._yshift+e.yshift)/x.h-l/2;gt[v+".y"]=p.align(c-r/x.h,l,0,1,e.yanchor)}s&&g||(n=p.getCursor(s?.5:gt[v+".x"],g?.5:gt[v+".y"],e.xanchor,e.yanchor))}A.attr({transform:"translate("+t+","+r+")"+mt}),h(C,n)},doneFn:function(){h(C),i.call("relayout",t,gt);var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,m=e.indexOf("end")>=0,v=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void z();if(v){if(v*v>x*x+b*b)return void z();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),T="";if(A1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":699,"../annotations/draw":463}],470:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e0?A>=P:A<=P));T++)A>O&&A0?A>=P:A<=P));T++)A>S[0]&&A1){var nt=Math.pow(10,Math.floor(Math.log(rt)/Math.LN10));tt*=nt*c.roundUp(rt/nt,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(Q.tick0=0)}Q.dtick=tt}Q.domain=[X+G,X+U-G],Q.setScale();var it=c.ensureSingle(b._infolayer,"g",e,function(t){t.classed(_.colorbar,!0).each(function(){var t=n.select(this);t.append("rect").classed(_.cbbg,!0),t.append("g").classed(_.cbfills,!0),t.append("g").classed(_.cblines,!0),t.append("g").classed(_.cbaxis,!0).classed(_.crisp,!0),t.append("g").classed(_.cbtitleunshift,!0).append("g").classed(_.cbtitle,!0),t.append("rect").classed(_.cboutline,!0),t.select(".cbtitle").datum(0)})});it.attr("transform","translate("+Math.round(M.l)+","+Math.round(M.t)+")");var at=it.select(".cbtitleunshift").attr("transform","translate(-"+Math.round(M.l)+",-"+Math.round(M.t)+")");Q._axislayer=it.select(".cbaxis");var ot=0;if(-1!==["top","bottom"].indexOf(r.titleside)){var st,lt=M.l+(r.x+q)*M.w,ct=Q.titlefont.size;st="top"===r.titleside?(1-(X+U-G))*M.h+M.t+3+.75*ct:(1-(X+G))*M.h+M.t-3-.25*ct,gt(Q._id+"title",{attributes:{x:lt,y:st,"text-anchor":"start"}})}var ut,ft,ht,pt=c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(r.titleside)){var e=it.select(".cbtitle"),a=e.select("text"),o=[-r.outlinewidth/2,r.outlinewidth/2],l=e.select(".h"+Q._id+"title-math-group").node(),u=15.6;if(a.node()&&(u=parseInt(a.node().style.fontSize,10)*m),l?(ot=h.bBox(l).height)>u&&(o[1]-=(ot-u)/2):a.node()&&!a.classed(_.jsPlaceholder)&&(ot=h.bBox(a.node()).height),ot){if(ot+=5,"top"===r.titleside)Q.domain[1]-=ot/M.h,o[1]*=-1;else{Q.domain[0]+=ot/M.h;var f=g.lineCount(a);o[1]+=(1-f)*u}e.attr("transform","translate("+o+")"),Q.setScale()}}it.selectAll(".cbfills,.cblines").attr("transform","translate(0,"+Math.round(M.h*(1-Q.domain[1]))+")"),Q._axislayer.attr("transform","translate(0,"+Math.round(-M.t)+")");var p=it.select(".cbfills").selectAll("rect.cbfill").data(E);p.enter().append("rect").classed(_.cbfill,!0).style("stroke","none"),p.exit().remove(),p.each(function(t,e){var r=[0===e?S[0]:(E[e]+E[e-1])/2,e===E.length-1?S[1]:(E[e]+E[e+1])/2].map(Q.c2p).map(Math.round);e!==E.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=z(t).replace("e-",""),o=i(a).toHexString();n.select(this).attr({x:W,width:Math.max(N,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var d=it.select(".cblines").selectAll("path.cbline").data(r.line.color&&r.line.width?C:[]);return d.enter().append("path").classed(_.cbline,!0),d.exit().remove(),d.each(function(t){n.select(this).attr("d","M"+W+","+(Math.round(Q.c2p(t))+r.line.width/2%1)+"h"+N).call(h.lineGroupStyle,r.line.width,L(t),r.line.dash)}),Q._axislayer.selectAll("g."+Q._id+"tick,path").remove(),Q._pos=W+N+(r.outlinewidth||0)/2-("outside"===r.ticks?1:0),Q.side="right",c.syncOrAsync([function(){return s.doTicks(t,Q,!0)},function(){if(-1===["top","bottom"].indexOf(r.titleside)){var e=Q.titlefont.size,i=Q._offset+Q._length/2,a=M.l+(Q.position||0)*M.w+("right"===Q.side?10+e*(Q.showticklabels?1:.5):-10-e*(Q.showticklabels?.5:0));gt("h"+Q._id+"title",{avoid:{selection:n.select(t).selectAll("g."+Q._id+"tick"),side:r.titleside,offsetLeft:M.l,offsetTop:0,maxShift:b.width},attributes:{x:a,y:i,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}])},a.previousPromises,function(){var n=N+r.outlinewidth/2+h.bBox(Q._axislayer.node()).width;if((R=at.select("text")).node()&&!R.classed(_.jsPlaceholder)){var i,o=at.select(".h"+Q._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(at.node()).right-W-M.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=Z-J;it.select(".cbbg").attr({x:W-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:J-H,width:Math.max(s,2),height:Math.max(l+2*H,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({"stroke-width":r.borderwidth}),it.selectAll(".cboutline").attr({x:W,y:J+r.ypad+("top"===r.titleside?ot:0),width:Math.max(N,2),height:Math.max(l-2*r.ypad-ot,2)}).call(p.stroke,r.outlinecolor).style({fill:"None","stroke-width":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;it.attr("transform","translate("+(M.l-c)+","+M.t+")"),a.autoMargin(t,e,{x:r.x,y:r.y,l:s*({right:1,center:.5}[r.xanchor]||0),r:s*({left:1,center:.5}[r.xanchor]||0),t:l*({bottom:1,middle:.5}[r.yanchor]||0),b:l*({top:1,middle:.5}[r.yanchor]||0)})}],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition)l.init({element:it.node(),gd:t,prepFn:function(){ut=it.attr("transform"),f(it)},moveFn:function(t,e){it.attr("transform",ut+" translate("+t+","+e+")"),ft=l.align(Y+t/M.w,j,0,1,r.xanchor),ht=l.align(X-e/M.h,U,0,1,r.yanchor);var n=l.getCursor(ft,ht,r.xanchor,r.yanchor);f(it,n)},doneFn:function(){f(it),void 0!==ft&&void 0!==ht&&o.call("restyle",t,{"colorbar.x":ft,"colorbar.y":ht},k().index)}});return pt}function dt(t,e){return c.coerce(K,Q,x,t,e)}function gt(e,r){var n,i=k();n=o.traceIs(i,"markerColorscale")?"marker.colorbar.title":"colorbar.title";var a={propContainer:Q,propName:n,traceIndex:i.index,placeholder:b._dfltTitle.colorbar,containerGroup:it.select(".cbtitle")},s="h"===e.charAt(0)?e.substr(1):"h"+e;it.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(t,e,u(a,r||{}))}b._infolayer.selectAll("g."+e).remove()}function k(){var r,n,i=e.substr(2);for(r=0;r=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f("autocolorscale",!1))}},{"../../lib":602,"./flip_scale":486,"./scales":493}],482:[function(t,e,r){"use strict";var n=t("./attributes"),i=t("../../lib/extend").extendFlat;t("./scales.js");e.exports=function(t,e,r){return{color:{valType:"color",arrayOk:!0,editType:e||"style"},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{"../../lib/extend":591,"./attributes":480,"./scales.js":493}],483:[function(t,e,r){"use strict";var n=t("./scales");e.exports=n.RdBu},{"./scales":493}],484:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./is_valid_scale"),l=t("./flip_scale");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+"min"],y=g[p+"max"],x=g.colorscale;c(h+p+"auto",!(n(v)&&n(y)&&v=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],487:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./default_scale"),a=t("./is_valid_scale_array");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),a(t)?t:e}},{"./default_scale":483,"./is_valid_scale_array":491,"./scales":493}],488:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./is_valid_scale");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l4/3-s?o:s}},{}],495:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":602}],496:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../plots/cartesian/constants"),c=t("../../constants/interactions"),u=e.exports={};u.align=t("./align"),u.getCursor=t("./cursor");var f=t("./unhover");function h(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents="all",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener("touchstart",_._ontouchstart),_._ontouchstart=k,_.addEventListener("touchstart",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=p(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call("plot",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{"../../constants/interactions":578,"../../lib":602,"../../plots/cartesian/constants":653,"../../registry":732,"./align":494,"./cursor":495,"./unhover":497,"has-hover":296,"has-passive-events":297,"mouse-event-offset":321}],497:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/get_graph_div"),o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/events":590,"../../lib/get_graph_div":597,"../../lib/throttle":627,"../fx/constants":511}],498:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],499:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),f=t("../../constants/xmlns_namespaces"),h=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform","translate("+a+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},m.hideOutsideRangePoints=function(t,e,r){if(e._hasClipOnAxisFalse){r=r||".point,.textpoint";var i=e.xaxis,a=e.yaxis;t.each(function(e){var o=e[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(r).each(function(t){m.hideOutsideRangePoint(t,n.select(this),i,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0};m.gradient=function(t,e,r,i,o,l){var u=e._fullLayout._defs.select(".gradients").selectAll("#"+r).data([i+o+l],c.identity);u.exit().remove(),u.enter().append("radial"===i?"radialGradient":"linearGradient").each(function(){var t=n.select(this);"horizontal"===i?t.attr(_):"vertical"===i&&t.attr(w),t.attr("id",r);var e=a(o),c=a(l);t.append("stop").attr({offset:"0%","stop-color":s.tinyRGB(c),"stop-opacity":c.getAlpha()}),t.append("stop").attr({offset:"100%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})}),t.style({fill:"url(#"+r+")","fill-opacity":null})},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr("d",b(u,l))}var f,h,p,d=!1;if(t.so?(p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor):(p=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))),t.om)e.call(s.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",p+"px");var g=a.gradient,v=t.mgt;if(v?d=!0:v=g&&g.type,v&&"none"!==v){var y=t.mgc;y?d=!0:y=g.color;var x="g"+i._fullLayout._uid+"-"+r.uid;d&&(x+="-"+t.i),e.call(m.gradient,i,x,v,f,y)}else e.call(s.fill,f);p&&e.call(s.stroke,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,"tx","text");if(o){var s=t.tp||e.textposition,l=A(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(M,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=A(t,e);s.fill(i,a),M(i,o,l,t.mrc2||t.mrc)})}};var T=.5;function S(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,T/2),u=Math.pow(s*s+l*l,T/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=1e4&&(m.savedBBoxes={},L=0),r&&(m.savedBBoxes[r]=v),L++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select("base");r.size()&&r.attr("href")?m.baseUrl=window.location.href.split("#")[0]:m.baseUrl=""}t.attr("clip-path","url("+m.baseUrl+"#"+e+")")}else t.attr("clip-path",null)},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=" translate("+e+", "+r+")").trim(),t[i]("transform",a),a},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+=" scale("+e+", "+r+")").trim(),t[i]("transform",a),a},m.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?"":" scale("+e+","+r+")",a=/\s*sc.*/,t.each(function(){n=(this.getAttribute("transform")||"").replace(a,""),n=(n+=i).trim(),this.setAttribute("transform",n)}),i};var P=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t.each(function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(P);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),i.attr("transform",t.join(" "))}})}},{"../../constants/alignment":574,"../../constants/interactions":578,"../../constants/xmlns_namespaces":581,"../../lib":602,"../../lib/svg_text_utils":626,"../../registry":732,"../../traces/scatter/make_bubble_size_func":943,"../../traces/scatter/subtypes":948,"../color":474,"../colorscale":489,"./symbol_defs":500,d3:130,"fast-isnumeric":196,tinycolor2:415}],500:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+a+","+c+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:130}],501:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],502:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("./compute_error");function s(t,e,r,i){var s=e["error_"+i]||{},l=[];if(s.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=o(s),u=0;u0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll("g.errorbar").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll("path.xerror").remove(),p.visible||g.selectAll("path.yerror").remove(),g.style("opacity",1);var m=g.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(r.duration).style("opacity",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select("path.yerror");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o="M"+(a.x-f)+","+a.yh+"h"+2*f+"m-"+f+",0V"+a.ys,a.noYS||(o+="m-"+f+",0h"+2*f),!u.size()?u=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr("d",o)}else u.remove();var g=e.select("path.xerror");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o="M"+a.xh+","+(a.y-m)+"v"+2*m+"m0,-"+m+"H"+a.xs,a.noXS||(o+="m0,-"+m+"v"+2*m),!g.size()?g=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr("d",o)}else g.remove()}})}})}},{"../../traces/scatter/subtypes":948,"../drawing":499,d3:130,"fast-isnumeric":196}],507:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)})}},{"../color":474,d3:130}],508:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes");e.exports={hoverlabel:{bgcolor:{valType:"color",arrayOk:!0,editType:"none"},bordercolor:{valType:"color",arrayOk:!0,editType:"none"},font:n({arrayOk:!0,editType:"none"}),namelength:{valType:"integer",min:-1,arrayOk:!0,editType:"none"},editType:"calc"}}},{"../../plots/font_attributes":674}],509:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index-1&&o.length>y&&(o=y>3?o.substr(0,y-3)+"...":o.substr(0,y))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+="x: "+t.xLabel+"
      "),void 0!==t.yLabel&&(c+="y: "+t.yLabel+"
      "),c+=(c?"z: ":"")+t.zLabel):L&&t[i+"Label"]===M?c=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",t.text&&!Array.isArray(t.text)&&(c+=(c?"
      ":"")+t.text),void 0!==t.extraText&&(c+=(c?"
      ":"")+t.extraText),""===c&&(""===o&&e.remove(),c=o);var x=e.select("text.nums").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||m).text(c).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),b=e.select("text.name"),_=0;o&&o!==c?(b.call(u.font,t.fontFamily||d,t.fontSize||g,p).text(o).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=b.node().getBoundingClientRect().width+2*k):(b.remove(),e.select("rect").remove()),e.select("path").style({fill:p,stroke:m});var A,T,z=x.node().getBoundingClientRect(),P=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,O=Math.abs(t.x1-t.x0),I=Math.abs(t.y1-t.y0),R=z.width+w+k+_;t.ty0=S-z.top,t.bx=z.width+2*k,t.by=z.height+2*k,t.anchor="start",t.txwidth=z.width,t.tx2width=_,t.offset=0,a?(t.pos=P,A=D+I/2+R<=E,T=D-I/2-R>=0,"top"!==t.idealAlign&&A||!T?A?(D+=I/2,t.anchor="start"):t.anchor="middle":(D-=I/2,t.anchor="end")):(t.pos=D,A=P+O/2+R<=C,T=P-O/2-R>=0,"left"!==t.idealAlign&&A||!T?A?(P+=O/2,t.anchor="start"):t.anchor="middle":(P-=O/2,t.anchor="end")),x.attr("text-anchor",t.anchor),_&&b.attr("text-anchor",t.anchor),e.attr("transform","translate("+P+","+D+")"+(a?"rotate("+v+")":""))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i="end"===t.anchor?-1:1,a=r.select("text.nums"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;"middle"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select("path").attr("d","middle"===t.anchor?"M-"+(t.bx/2+t.tx2width/2)+","+(h-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(i*w+f)+","+(w+h)+"v"+(t.by/2-w)+"h"+i*t.bx+"v-"+t.by+"H"+(i*w+f)+"V"+(h-w)+"Z"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select("text.name").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l("hoverinfo","hi","hoverinfo"),l("color","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),t.posref="y"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var c=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+c+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+c,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+u+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+u,"y"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return"all"!==f&&(-1===(f=Array.isArray(f)?f:f.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===f.indexOf("y")&&(t.yLabel=void 0),-1===f.indexOf("z")&&(t.zLabel=void 0),-1===f.indexOf("text")&&(t.text=void 0),-1===f.indexOf("name")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(".spikeline").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,"cursor"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2w[0]._length||tt<0||tt>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=$+w[0]._offset,e.pointerY=tt+k[0]._offset,I="xval"in e?g.flat(l,e.xval):g.p2c(w,$),R="yval"in e?g.flat(l,e.yval):g.p2c(k,tt),!i(I[0])||!i(R[0]))return o.warn("Fx.hover failed",e,t),h.unhoverRaw(t,e)}var nt=1/0;for(F=0;FY&&(J.splice(0,Y),nt=J[0].distance),y&&0!==Z&&0===J.length){W.distance=Z,W.index=!1;var lt=j._module.hoverPoints(W,H,G,"closest",u._hoverlayer);if(lt&&(lt=lt.filter(function(t){return t.spikeDistance<=Z})),lt&<.length){var ct,ut=lt.filter(function(t){return t.xa.showspikes});if(ut.length){var ft=ut[0];i(ft.x0)&&i(ft.y0)&&(ct=gt(ft),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>ct.spikeDistance)&&(Q.vLinePoint=ct))}var ht=lt.filter(function(t){return t.ya.showspikes});if(ht.length){var pt=ht[0];i(pt.x0)&&i(pt.y0)&&(ct=gt(pt),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>ct.spikeDistance)&&(Q.hLinePoint=ct))}}}}function dt(t,e){for(var r,n=null,i=1/0,a=0;a1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Et={hovermode:O,rotateLabels:St,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Lt=M(J,Et,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*("x"===i._id.charAt(0)?x:1)/2,pmin:0,pmax:"x"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function h(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o.01&&g.pmin===m.pmin&&g.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),f.splice(o+1,1),c=0,s=p.length-1;s>=0;s--)c+=p[s].dp;for(a=c/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}f.forEach(h)}for(o=f.length-1;o>=0;o--){var v=f[o];for(s=v.length-1;s>=0;s--){var y=v[s],b=t[y.i];b.offset=y.dp,b.del=y.del}}}(J,St?"xa":"ya",u),A(Lt,St),e.target&&e.target.tagName){var zt=d.getComponentMethod("annotations","hasClickToShow")(t,At);c(n.select(e.target),zt?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,Mt))return;Mt&&t.emit("plotly_unhover",{event:e,points:Mt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:I,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{"../../lib":602,"../../lib/events":590,"../../lib/override_cursor":613,"../../lib/svg_text_utils":626,"../../plots/cartesian/axes":648,"../../registry":732,"../color":474,"../dragelement":496,"../drawing":499,"./constants":511,"./helpers":513,d3:130,"fast-isnumeric":196,tinycolor2:415}],515:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){r("hoverlabel.bgcolor",(i=i||{}).bgcolor),r("hoverlabel.bordercolor",i.bordercolor),r("hoverlabel.namelength",i.namelength),n.coerceFont(r,"hoverlabel.font",i.font)}},{"../../lib":602}],516:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t("./hover").hover,unhover:a.unhover,loneHover:t("./hover").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":602,"../dragelement":496,"./attributes":508,"./calc":509,"./click":510,"./constants":511,"./defaults":512,"./helpers":513,"./hover":514,"./layout_attributes":517,"./layout_defaults":518,"./layout_global_defaults":519,d3:130}],517:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../plots/font_attributes")({editType:"none"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable"],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:i,namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":674,"./constants":511}],518:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o;"select"===a("dragmode")&&a("selectdirection"),e._has("cartesian")?(e._isHoriz=function(t){for(var e=!0,r=0;r1){f||h||p||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var y,x,b="top to bottom"===k("roworder"),_=f?.2:.1,w=f?.3:.1;d&&(y="bottom",x="left"),g._domains={x:c("x",k,_,y,v),y:c("y",k,w,x,m,b)}}}function k(t,e){return n.coerce(r,g,s,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,c,f,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];c=r.subplots=new Array(g);var b=1;for(n=0;n=2/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],527:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},x:{valType:"number",min:-2,max:3,dflt:1.02,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,dflt:1,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":674,"../color/attributes":473}],528:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4}},{}],529:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./attributes"),o=t("../../plots/layout_attributes"),s=t("./helpers");e.exports=function(t,e,r){for(var l,c,u,f,h=t.legend||{},p={},d=0,g="normal",m=0;m1)){if(e.legend=p,y("bgcolor",e.paper_bgcolor),y("bordercolor"),y("borderwidth"),i.coerceFont(y,"font",e.font),y("orientation"),"h"===p.orientation){var x=t.xaxis;x&&x.rangeslider&&x.rangeslider.visible?(l=0,u="left",c=1.1,f="bottom"):(l=0,u="left",c=-.1,f="top")}y("traceorder",g),s.isGrouped(e.legend)&&y("tracegroupgap"),y("x",l),y("xanchor",u),y("y",c),y("yanchor",f),i.noneOrAll(h,p,["x","y"])}}},{"../../lib":602,"../../plots/layout_attributes":701,"../../registry":732,"./attributes":527,"./helpers":533}],530:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),p=t("./constants"),d=t("../../constants/interactions"),g=t("../../constants/alignment"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t("./get_legend_data"),b=t("./style"),_=t("./helpers"),w=t("./anchor_utils"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),"pie"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,"pie"),u=s.index,h=l?n.label:s.name,p=e._context.edits.legendText&&!l,d=i.ensureSingle(t,"text","legendtext");function g(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select("g[class*=math-group]"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(".legendtext"),h=f.lineCount(u),p=u.node();n=s*h,i=p?c.bBox(p).width:0;var d=s*(.3+(1-h)/2);f.positionText(u,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}d.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,a.legend.font).text(p?T(h,r):h),p?d.call(f.makeEditable,{gd:e,text:h}).call(g).on("edit",function(t){this.text(T(t,r)).call(g);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var l=o.getTransformIndices(a,"groupby"),c=l[l.length-1],f=i.keyedContainer(a,"transforms["+c+"].styles","target","value.name");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call("restyle",e,s,u)}):g(d)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function S(t,e){var r,a=1,o=i.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});o.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTimek&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function C(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;ho+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i.width-(i.margin.r+i.margin.l)&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),r.each(function(e){var r=e[0],i=n.select(this).select(".legendtoggle");c.setRect(i,0,-r.height/2,(t._context.edits.legendText?0:a._width)+l,r.height)})}function E(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");var n="top";w.isBottomAnchor(e)?n="bottom":w.isMiddleAnchor(e)&&(n="middle"),a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),void a.autoMargin(t,"legend");for(var d=0,g=0;gN?function(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");a.autoMargin(t,"legend",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):E(t);var j=e._size,V=j.l+j.w*s.x,U=j.t+j.h*(1-s.y);w.isRightAnchor(s)?V-=s._width:w.isCenterAnchor(s)&&(V-=s._width/2),w.isBottomAnchor(s)?U-=s._height:w.isMiddleAnchor(s)&&(U-=s._height/2);var q=s._width,H=j.w;q>H?(V=j.l,q=H):(V+q>F&&(V=F-q),V<0&&(V=0),q=Math.min(F-V,s._width));var G,W,Y,X,Z=s._height,J=j.h;if(Z>J?(U=j.t,Z=J):(U+Z>N&&(U=N-Z),U<0&&(U=0),Z=Math.min(N-U,s._height)),c.setTranslate(z,V,U),I.on(".drag",null),z.on("wheel",null),s._height<=Z||t._context.staticPlot)D.attr({width:q-s.borderwidth,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(O,0,0),P.select("rect").attr({width:q-2*s.borderwidth,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(O,r),c.setRect(I,0,0,0,0),delete s._scrollY;else{var K,Q,$=Math.max(p.scrollBarMinHeight,Z*Z/s._height),tt=Z-$-2*p.scrollBarMargin,et=s._height-Z,rt=tt/et,nt=Math.min(s._scrollY||0,et);D.attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select("rect").attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+nt}),c.setClipUrl(O,r),at(nt,$,rt),z.on("wheel",function(){at(nt=i.constrain(s._scrollY+n.event.deltaY/tt*et,0,et),$,rt),0!==nt&&nt!==et&&n.event.preventDefault()});var it=n.behavior.drag().on("dragstart",function(){K=n.event.sourceEvent.clientY,Q=nt}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||at(nt=i.constrain((t.clientY-K)/rt+Q,0,et),$,rt)});I.call(it)}if(t._context.edits.legendPosition)z.classed("cursor-move",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Y=t.x,X=t.y},moveFn:function(t,e){var r=Y+t,n=X+e;c.setTranslate(z,r,n),G=l.align(r,0,j.l,j.l+j.w,s.xanchor),W=l.align(n,0,j.t+j.h,j.t,s.yanchor)},doneFn:function(){void 0!==G&&void 0!==W&&o.call("relayout",t,{"legend.x":G,"legend.y":W})},clickFn:function(r,n){var i=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&M(t,z,i,r,n)}})}function at(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(O,0,-e),c.setRect(I,q,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select("rect").attr({y:s.borderwidth+e})}}},{"../../constants/alignment":574,"../../constants/interactions":578,"../../lib":602,"../../lib/events":590,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../../registry":732,"../color":474,"../dragelement":496,"../drawing":499,"./anchor_utils":526,"./constants":528,"./get_legend_data":531,"./handle_click":532,"./helpers":533,"./style":535,d3:130}],531:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;rr[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};u&&(g.mc=p("marker.color",d),g.mo=p("marker.opacity",a.mean,[.2,1]),g.ms=p("marker.size",a.mean,[2,16]),g.mlc=p("marker.line.color",d),g.mlw=p("marker.line.width",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:"diameter"}),h&&(m.line={width:p("line.width",d,[0,10])}),f&&(g.tx="Aa",g.tp=p("textposition",d),g.ts=10,g.tc=p("textfont.color",d),g.tf=p("textfont.family",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var v=n.select(this).select("g.legendpoints"),y=v.selectAll("path.scatterpts").data(u?r:[]);y.enter().append("path").classed("scatterpts",!0).attr("transform","translate(20,0)"),y.exit().remove(),y.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var x=v.selectAll("g.pointtext").data(f?r:[]);x.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),x.exit().remove(),x.selectAll("text").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data("candlestick"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,o=n.select(this);o.style("stroke-width",a+"px").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data("ohlc"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,l=n.select(this);l.style("fill","none").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{"../../lib":602,"../../registry":732,"../../traces/pie/style_one":912,"../../traces/scatter/subtypes":948,"../color":474,"../drawing":499,d3:130}],536:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../../build/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h="on";if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i1?(_=["toggleHover"],w=["resetViews"]):f?(b=["zoomInGeo","zoomOutGeo"],_=["hoverClosestGeo"],w=["resetGeo"]):u?(_=["hoverClosest3d"],w=["resetCameraDefault3d","resetCameraLastSave3d"]):g?(_=["toggleHover"],w=["resetViewMapbox"]):_=p?["hoverClosestGl2d"]:h?["hoverClosestPie"]:["toggleHover"];c&&(_=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);!c&&!p||v||(b=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==w[0]&&(w=["resetScale2d"]));u?k=["zoom3d","pan3d","orbitRotation","tableRotation"]:(c||p)&&!v||d?k=["zoom2d","pan2d"]:g||f?k=["pan2d"]:m&&(k=["zoom2d"]);(function(t){for(var e=!1,r=0;r0)){var p=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a0?f+l:l;return{ppad:l,ppadplus:c?p:d,ppadminus:c?d:p}}return{ppad:l}}function u(t,e,r,n,i){var s="category"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;og?(M=u,C=n+".y0",P="y0",A=g,E=n+".y1",D="y1"):(M=g,C=n+".y1",P="y1",A=u,E=n+".y0",D="y0");o={},J(e),Z.moveFn="move"===H?K:Q},doneFn:function(){c(e),n.call("relayout",t,o)}};function J(t){var r=Z.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=n>G&&i>W&&!t.shiftKey?l.getCursor(a/n,1-o/i):"move";c(e,s),H=s.split("-")[0]}function K(n,i){if("path"===r.type){var a=function(t){return t},l=a,c=a;Y?o[w]=r.xanchor=U(m+n):(l=function(t){return U(j(t)+n)},F&&"date"===F.type&&(l=f.encodeDate(l))),X?o[k]=r.yanchor=q(v+i):(c=function(t){return q(V(t)+i)},N&&"date"===N.type&&(c=f.encodeDate(c))),r.path=d(R,l,c),o[B]=r.path}else Y?o[w]=r.xanchor=U(m+n):(o[y]=r.x0=U(s+n),o[b]=r.x1=U(h+n)),X?o[k]=r.yanchor=q(v+i):(o[x]=r.y0=q(u+i),o[_]=r.y1=q(g+i));e.attr("d",p(t,r))}function Q(n,i){if("path"===r.type){var a=function(t){return t},s=a,l=a;Y?o[w]=r.xanchor=U(m+n):(s=function(t){return U(j(t)+n)},F&&"date"===F.type&&(s=f.encodeDate(s))),X?o[k]=r.yanchor=q(v+i):(l=function(t){return q(V(t)+i)},N&&"date"===N.type&&(l=f.encodeDate(l))),r.path=d(R,s,l),o[B]=r.path}else{var c=~H.indexOf("n")?M+i:M,u=~H.indexOf("s")?A+i:A,h=~H.indexOf("w")?T+n:T,g=~H.indexOf("e")?S+n:S;~H.indexOf("n")&&X&&(c=M-i),~H.indexOf("s")&&X&&(u=A-i),(!X&&u-c>W||X&&c-u>W)&&(o[C]=r[P]=X?c:q(c),o[E]=r[D]=X?u:q(u)),g-h>G&&(o[L]=r[O]=Y?h:U(h),o[z]=r[I]=Y?g:U(g))}e.attr("d",p(t,r))}l.init(Z),e.node().onmousemove=J}(t,g,i,e)}}function p(t,e){var r,n,o,s,l,c,h,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=f.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),m&&"date"===m.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(u.segmentRE,function(t){var n=0,c=t.charAt(0),f=u.paramIsX[c],h=u.paramIsY[c],p=u.numParams[c],d=t.substr(1).replace(u.paramRE,function(t){return f[n]?t="pixel"===a?e(s)+Number(t):e(t):h[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);h=x-e.y0,p=x-e.y1}else h=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+h+"L"+c+","+p;if("rect"===d)return"M"+l+","+h+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(h+p)/2,w=Math.abs(b-l),k=Math.abs(_-h),M="A"+w+","+k,A=b+w+","+_;return"M"+A+M+" 0 1,1 "+(b+","+(_-k))+M+" 0 0,1 "+A+"Z"}function d(t,e,r){return t.replace(u.segmentRE,function(t){var n=0,i=t.charAt(0),a=u.paramIsX[i],o=u.paramIsY[i],s=u.numParams[i];return i+t.substr(1).replace(u.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i0)&&(i("active"),i("x"),i("y"),n.noneOrAll(t,e,["x","y"]),i("xanchor"),i("yanchor"),i("len"),i("lenmode"),i("pad.t"),i("pad.r"),i("pad.b"),i("pad.l"),n.coerceFont(i,"font",r.font),i("currentvalue.visible")&&(i("currentvalue.xanchor"),i("currentvalue.prefix"),i("currentvalue.suffix"),i("currentvalue.offset"),n.coerceFont(i,"currentvalue.font",e.font)),i("transition.duration"),i("transition.easing"),i("bgcolor"),i("activebgcolor"),i("bordercolor"),i("borderwidth"),i("ticklen"),i("tickwidth"),i("tickcolor"),i("minorticklen"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":602,"../../plots/array_container_defaults":644,"./attributes":562,"./constants":563}],565:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("./constants"),f=t("../../constants/alignment"),h=f.LINE_SPACING,p=f.FROM_TL,d=f.FROM_BR;function g(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+u.labelGroupClass).data(e.steps);r.enter().append("g").classed(u.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=x(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var f=e._dims={};f.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var h=t._fullLayout._size;f.lx=h.l+h.w*e.x,f.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?f.outerLength=Math.round(h.w*e.len):f.outerLength=e.len,f.inputAreaStart=0,f.inputAreaLength=Math.round(f.outerLength-e.pad.l-e.pad.r);var g=(f.inputAreaLength-2*u.stepInset)/(e.steps.length-1),m=a+u.labelPadding;if(f.labelStride=Math.max(1,Math.ceil(m/g)),f.labelHeight=s,f.currentValueMaxWidth=0,f.currentValueHeight=0,f.currentValueTotalHeight=0,f.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append("g");r.each(function(t){var r=v(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);f.currentValueMaxWidth=Math.max(f.currentValueMaxWidth,Math.ceil(n.width)),f.currentValueHeight=Math.max(f.currentValueHeight,Math.ceil(n.height)),f.currentValueMaxLines=Math.max(f.currentValueMaxLines,i)}),f.currentValueTotalHeight=f.currentValueHeight+e.currentvalue.offset,y.remove()}f.height=f.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+f.labelHeight+e.pad.t+e.pad.b;var b="left";c.isRightAnchor(e)&&(f.lx-=f.outerLength,b="right"),c.isCenterAnchor(e)&&(f.lx-=f.outerLength/2,b="center");var _="top";c.isBottomAnchor(e)&&(f.ly-=f.height,_="bottom"),c.isMiddleAnchor(e)&&(f.ly-=f.height/2,_="middle"),f.outerLength=Math.ceil(f.outerLength),f.height=Math.ceil(f.height),f.lx=Math.round(f.lx),f.ly=Math.round(f.ly),i.autoMargin(t,u.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:f.outerLength*p[b],r:f.outerLength*d[b],b:f.height*d[_],t:f.height*p[_]})}function v(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-u.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=u.currentValueInset,i="left"}var c=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":i,"data-notex":1})}),f=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)f+=r;else f+=e.steps[e.active].label;e.currentvalue.suffix&&(f+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(f).call(l.convertToTspans,e._gd);var p=l.lineCount(c),d=(a.currentValueMaxLines+1-p)*e.currentvalue.font.size*h;return l.positionText(c,n,d),c}}function y(t,e,r){s.ensureSingle(t,"rect",u.gripRectClass,function(n){n.call(k,e,t,r).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function x(t,e,r){var n=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function b(t,e){var r=s.ensureSingle(t,"g",u.labelsClass),i=e._dims,a=r.selectAll("g."+u.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(u.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(x,t,e),o.setTranslate(r,T(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*h+u.labelOffset+i.currentValueTotalHeight)})}function _(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&w(t,e,r,a,!0,i)}function w(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(A,r,r.active/(r.steps.length-1),o),e.call(v,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function k(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=S(t,n.mouse(i)[0]);_(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),a=S(t,n.mouse(i)[0]);_(e,r,t,a,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function M(t,e){var r=t.selectAll("rect."+u.tickRectClass).data(e.steps),i=e._dims;r.enter().append("rect").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,T(e,r/(e.steps.length-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+i.currentValueTotalHeight)})}function A(t,e,r,n){var i=t.select("rect."+u.gripRectClass),a=T(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr("transform","translate("+(a-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function T(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function S(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(k,e,t,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function E(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,i=s.ensureSingle(t,"rect",u.railRectClass);i.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],i=0;i0?[0]:[]);if(a.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n=r.steps.length&&(r.active=0);e.call(v,r).call(E,r).call(b,r).call(M,r).call(C,t,r).call(y,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(A,r,r.active/(r.steps.length-1),!1),e.call(v,r)}(t,n.select(this),e)}})}}},{"../../constants/alignment":574,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../color":474,"../drawing":499,"../legend/anchor_utils":526,"./constants":563,d3:130}],566:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":562,"./constants":563,"./defaults":564,"./draw":565}],567:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),f=t("../../constants/interactions");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,C=!1,E=(d.title||"").trim();"title"===g?p="titleText":-1!==g.indexOf("axis")?p="axisTitleText":g.indexOf(!0)&&(p="colorbarTitleText");var L=t._context.edits[p];""===E?S=0:E.replace(h," % ")===m.replace(h," % ")&&(S=.2,C=!0,L||(E=""));var z=E||L;_||(_=s.ensureSingle(w._infolayer,"g","g-"+e));var P=_.selectAll("text").data(z?[0]:[]);if(P.enter().append("text"),P.text(E).attr("class",e),P.exit().remove(),!z)return _;function D(t){s.syncOrAsync([O,I],t)}function O(e){var r;return b?(r="",b.rotate&&(r+="rotate("+[b.rotate,x.x,x.y]+")"),b.offset&&(r+="translate(0, "+b.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":M,"font-size":n.round(A,2)+"px",fill:c.rgb(T),opacity:S*c.opacity(T),"font-weight":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function I(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&E){e.attr("transform",null);var r=0,a={left:"right",right:"left",top:"bottom",bottom:"top"}[y.side],o=-1!==["left","top"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*("left"===y.side||"top"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr("transform","translate("+g+")")}}}P.call(D),L&&(E?P.on(".opacity",null):(S=0,C=!0,P.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)})),P.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==v?o.call("restyle",t,g,e,v):o.call("relayout",t,g,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,x.x,x.y)}));return P.classed("js-placeholder",C),_}};var h=/ [XY][0-9]* /},{"../../constants/interactions":578,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../../registry":732,"../color":474,"../drawing":499,d3:130,"fast-isnumeric":196}],568:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes");e.exports=o({_isLinkedToArray:"updatemenu",_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:{_isLinkedToArray:"button",method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}},x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a({},s,{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}},"arraydraw","from-root")},{"../../lib/extend":591,"../../plot_api/edit_types":633,"../../plots/font_attributes":674,"../../plots/pad_attributes":709,"../color/attributes":473}],569:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],570:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("visible",function(t,e){var r,i,a=t.buttons||[],o=e.buttons=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c0)&&(i("active"),i("direction"),i("type"),i("showactive"),i("x"),i("y"),n.noneOrAll(t,e,["x","y"]),i("xanchor"),i("yanchor"),i("pad.t"),i("pad.r"),i("pad.b"),i("pad.l"),n.coerceFont(i,"font",r.font),i("bgcolor",r.paper_bgcolor),i("bordercolor"),i("borderwidth"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":602,"../../plots/array_container_defaults":644,"./attributes":568,"./constants":569}],571:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e._input.active=e.active=o,"buttons"===e.type?v(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,function(t){t.style("pointer-events","all")}),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])}).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",function(){r.call(T),r.attr(f.menuIndexAttrName,d(r,i)?-1:String(i._index)),v(t,e,r,n,i)}),a.on("mouseover",function(){a.call(w)}),a.on("mouseout",function(){a.call(k,i)}),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var s=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,l="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+l).data(s),u=c.enter().append("g").classed(l,!0),h=c.exit();"dropdown"===o.type?(u.attr("opacity","0").transition().attr("opacity","1"),h.transition().attr("opacity","0").remove()):h.remove();var p=0,d=0,m=o._dims,v=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(v?d=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+d+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},b={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each(function(s,l){var u=n.select(this);u.call(y,o,s,t).call(A,o,x),u.on("click",function(){n.event.defaultPrevented||(g(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),u.on("mouseover",function(){u.call(w)}),u.on("mouseout",function(){u.call(k,o),c.call(_,o)})}),c.call(_,o),v?(b.w=Math.max(m.openWidth,m.headerWidth),b.h=x.y-b.t):(b.w=x.x-b.l,b.h=Math.max(m.openHeight,m.headerHeight)),b.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;nw,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,C=m+v;C+T>c&&(C=c-T);var E=this.container.selectAll("rect.scrollbar-horizontal").data(M?[0]:[]);E.exit().on(".drag",null).remove(),E.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),M?(this.hbar=E.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:C,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,D=d+g,O=m;D+z>l&&(D=l-z);var I=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);I.exit().on(".drag",null).remove(),I.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:D,y:O,width:z,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),M||L?(this._clipRect=V.select("rect").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),M||L){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));M&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":602,"../color":474,"../drawing":499,d3:130}],574:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],575:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],576:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],577:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],578:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],579:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:"\u2212"}},{}],580:[function(t,e,r){"use strict";e.exports={entityToUnicode:{mu:"\u03bc","#956":"\u03bc",amp:"&","#28":"&",lt:"<","#60":"<",gt:">","#62":">",nbsp:"\xa0","#160":"\xa0",times:"\xd7","#215":"\xd7",plusmn:"\xb1","#177":"\xb1",deg:"\xb0","#176":"\xb0"}}},{}],581:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],582:[function(t,e,r){"use strict";r.version="1.37.1",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config");for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;s180&&(t-=360*Math.round(t/360)),t}},{}],585:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../constants/numerical").BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},{"../constants/numerical":579,"fast-isnumeric":196}],586:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],587:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../plots/attributes"),o=t("../components/colorscale/get_scale"),s=(Object.keys(t("../components/colorscale/scales")),t("./nested_property")),l=t("./regex").counter,c=t("../constants/interactions").DESELECTDIM,u=t("./angles").wrap180,f=t("./is_array").isArrayOrTypedArray;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;ni.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a=n&&t<=i?t:u;if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var a=_(e),o=t.charAt(0);!a||"G"!==o&&"g"!==o||(t=t.substr(1),e="");var s=a&&"chinese"===e.substr(0,7),l=t.match(s?x:y);if(!l)return u;var c=l[1],v=l[3]||"1",w=Number(l[5]||1),k=Number(l[7]||0),M=Number(l[9]||0),A=Number(l[11]||0);if(a){if(2===c.length)return u;var T;c=Number(c);try{var S=m.getComponentMethod("calendars","getCal")(e);if(s){var C="i"===v.charAt(v.length-1);v=parseInt(v,10),T=S.newDate(c,S.toMonthIndex(c,v,C),w)}else T=S.newDate(c,Number(v),w)}catch(t){return u}return T?(T.toJD()-g)*f+k*h+M*p+A*d:u}c=2===c.length?(Number(c)+2e3-b)%100+b:Number(c),v-=1;var E=new Date(Date.UTC(2e3,v,w,k,M));return E.setUTCFullYear(c),E.getUTCMonth()!==v?u:E.getUTCDate()!==w?u:E.getTime()+A*d},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,C=Math.floor(l(t,f));try{a=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=v("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||"number"==typeof t){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function C(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var E=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),E[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},{"./mod":609}],597:[function(t,e,r){"use strict";e.exports=function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null===t||void 0===t)throw new Error("DOM element provided is null or undefined");return t}},{}],598:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("color-normalize"),a=t("../components/colorscale"),o=t("../components/color/attributes").defaultLine,s=t("./is_array").isArrayOrTypedArray,l=i(o),c=1;function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return l;var e=i(t);return e.length?e:l}function h(t){return n(t)?t:c}e.exports=function(t,e,r){var n,o,p,d,g,m=t.color,v=s(m),y=s(e),x=[];if(n=void 0!==t.colorscale?a.makeColorScaleFunc(a.extractScale(t.colorscale,t.cmin,t.cmax)):f,o=v?function(t,e){return void 0===t[e]?l:i(n(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?c:h(t[e])}:h,v||y)for(var b=0;b=0;){var n=t.indexOf(";",r);if(n/g,"")}(function(t){for(var e=0;(e=t.indexOf("",e))>=0;){var r=t.indexOf("",e);if(r/g,"\n"))))}},{"../constants/string_mappings":580,"superscript-text":408}],601:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],602:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../constants/numerical"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.mod=t("./mod"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private"),l.ensureArray=t("./ensure_array");var c=t("./is_array");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D;var u=t("./coerce");l.valObjectMeta=u.valObjectMeta,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.coerceSelectionMarkerOpacity=u.coerceSelectionMarkerOpacity,l.validate=u.validate;var f=t("./dates");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var h=t("./search");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var p=t("./stats");l.aggNums=p.aggNums,l.len=p.len,l.mean=p.mean,l.variance=p.variance,l.stdev=p.stdev,l.interp=p.interp;var d=t("./matrix");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var g=t("./angles");l.deg2rad=g.deg2rad,l.rad2deg=g.rad2deg,l.wrap360=g.wrap360,l.wrap180=g.wrap180;var m=t("./geometry2d");l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var v=t("./extend");l.extendFlat=v.extendFlat,l.extendDeep=v.extendDeep,l.extendDeepAll=v.extendDeepAll,l.extendDeepNoArrays=v.extendDeepNoArrays;var y=t("./loggers");l.log=y.log,l.warn=y.warn,l.error=y.error;var x=t("./regex");l.counterRegex=x.counter;var b=t("./throttle");l.throttle=b.throttle,l.throttleDone=b.done,l.clearThrottle=b.clear,l.getGraphDiv=t("./get_graph_div"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.noop=t("./noop"),l.identity=t("./identity"),l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;ir?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n=0&&a%1==0){var d=n?n[p]:p,g=r?r[d]:d;f(g)&&(t[g].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};var k=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(k,function(t,n){return M.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var A=2e9;l.seedPseudoRandom=function(){A=2e9},l.pseudoRandom=function(){var t=A;return A=(69069*A+1)%4294967296,Math.abs(A-t)<429496729?l.pseudoRandom():A/4294967296}},{"../constants/numerical":579,"./angles":584,"./clean_number":585,"./coerce":587,"./dates":588,"./ensure_array":589,"./extend":591,"./filter_unique":592,"./filter_visible":593,"./geometry2d":596,"./get_graph_div":597,"./identity":601,"./is_array":603,"./is_plain_object":604,"./keyed_container":605,"./localize":606,"./loggers":607,"./matrix":608,"./mod":609,"./nested_property":610,"./noop":611,"./notifier":612,"./push_unique":616,"./regex":618,"./relative_attr":619,"./relink_private":620,"./search":621,"./stats":624,"./throttle":627,"./to_log_range":628,d3:130,"fast-isnumeric":196}],603:[function(t,e,r){"use strict";var n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],604:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],605:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o1){for(var t=["LOG:"],e=0;e0){for(var t=["WARN:"],e=0;e0){for(var t=["ERROR:"],e=0;e/g),o=0;oo||a===i||al||e&&c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||ao||c===i||cl)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;uMath.max(f,m)||c>Math.max(h,v)))if(cu||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{"../constants/numerical":579,"./matrix":608}],615:[function(t,e,r){(function(r){"use strict";var n=t("regl");e.exports=function(t,e){t._fullLayout._glcanvas.each(function(i){i.regl||(i.regl=n({canvas:this,attributes:{antialias:!i.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]}))})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{regl:380}],616:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;ri.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function l(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var c,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?a:o:r?l:s,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;se[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./is_array":603,"fast-isnumeric":196}],625:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":100}],626:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../constants/xmlns_namespaces"),o=t("../constants/string_mappings"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,o){var v=t.text(),E=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&v.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr("class")?t.attr("class").split(" ")[0]:"text";return z+="-math",L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove(),t.style("display",null).attr({"data-unformatted":v,"data-math":"N"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a="math-output-"+i.randstr([],64),o=n.select("body").append("div").attr({id:a}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text((s=t,s.replace(u,"\\lt ").replace(f,"\\gt ")));var s;MathJax.Hub.Queue(["Typeset",MathJax.Hub,o.node()],function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(o.select(".MathJax_SVG").empty()||!o.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var a=o.select("svg").node().getBoundingClientRect();r(o.select(".MathJax_SVG"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return P(),void e();var c=L.append("g").classed(z+"-group",!0).attr({"pointer-events":"none","data-unformatted":v,"data-math":"Y"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:z,height:a.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var u=t.node().style.fill||"black";s.select("g").attr({fill:u,stroke:u});var f=l(s,"width"),h=l(s,"height"),p=+t.attr("x")-f*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||l(t,"height"))/4;"y"===z[0]?(c.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-f/2,d-h/2]+")"}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===z[0]?s.attr({x:t.attr("x"),y:d-h/2}):"a"===z[0]?s.attr({x:0,y:d}):s.attr({x:p,y:+t.attr("y")+d-h/2}),o&&o.call(t,c),e(c)})})):P(),t}function P(){L.empty()||(z=t.attr("class")+"-math",L.select("svg."+z).remove()),t.text("").style("white-space","pre"),function(t,e){e=(r=e,function(t,e){if(!t)return"";for(var r=0;r1)for(var i=1;i doesnt match end tag <"+t+">. Pretending it did match.",e),o=c[c.length-1].node}else i.log("Ignoring unexpected end tag .",e)}w.test(e)?f():(o=t,c=[{node:t}]);for(var z=e.split(b),P=0;P|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},g="\u200b",m=["http:","https:","mailto:","",void 0,":"],v=new RegExp("]*)?/?>","g"),y=Object.keys(o.entityToUnicode).map(function(t){return{regExp:new RegExp("&"+t+";","g"),sub:o.entityToUnicode[t]}}),x=/(\r\n?|\n)/g,b=/(<[^<>]*>)/,_=/<(\/?)([^ >]*)(\s+(.*))?>/i,w=//i,k=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,M=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,A=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function S(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var C=/(^|;)\s*color:/;function E(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+"px",left:a()-c.left+"px","z-index":1e3}),this}}r.plainText=function(t){return(t||"").replace(v," ")},r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var i=n.select(r).select(".svg-container"),o=i.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(E(t,i,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(E(t,i,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr("class");(i=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},{"../constants/alignment":574,"../constants/string_mappings":580,"../constants/xmlns_namespaces":581,"../lib":602,d3:130}],627:[function(t,e,r){"use strict";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].tsa.ts+e?l():a.timer=setTimeout(function(){l(),a.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],628:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":196}],629:[function(t,e,r){"use strict";var n=e.exports={},i=t("../plots/geo/constants").locationmodeToLayer,a=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{"../plots/geo/constants":676,"topojson-client":418}],630:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],631:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],632:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e3?(T.x=1.02,T.xanchor="left"):T.x<-2&&(T.x=-.02,T.xanchor="right"),T.y>3?(T.y=1.02,T.yanchor="bottom"):T.y<-2&&(T.y=-.02,T.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),f.clean(t),t},r.cleanData=function(t,e){for(var n=[],i=t.concat(Array.isArray(e)?e:[]).filter(function(t){return"uid"in t}).map(function(t){return t.uid}),l=0;l0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&o.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),C=S||[],E=n(v,f).get(),L=[],z=-1,P=C.length;for(x=0;xC.length-(A?0:1))o.warn("index out of range",f,_);else if(void 0!==M)k.length>1&&o.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(M)?L.push(_):A?("add"===M&&(M={}),C.splice(_,0,M),E&&E.splice(_,0,{})):o.warn("Unrecognized full object edit value",f,_,M),-1===z&&(z=_);else for(b=0;b=0;x--)C.splice(L[x],1),E&&E.splice(L[x],1);if(C.length?S||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==a){var D;if(-1===z)D=T;else{for(P=Math.max(C.length,P),D=[],x=0;x=z);x++)D.push(_);for(x=z;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),L(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&L(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function P(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in L(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=E(r,t.data.length-1),e)for(var d=0;d0&&"string"!=typeof E.parts[z-1];)P--;var D=E.parts[P],I=E.parts[P-1]+"."+D,R=E.parts.slice(0,P).join("."),N=o.nestedProperty(t.layout,R).get(),j=o.nestedProperty(s,R).get(),V=E.get();if(void 0!==L){y[C]=L,x[C]="reverse"===D?L:O(V);var U=u.getLayoutValObject(s,E.parts);if(U&&U.impliedEdits&&null!==L)for(var q in U.impliedEdits)w(o.relativeAttr(C,q),U.impliedEdits[q]);if(-1!==["width","height"].indexOf(C)&&null===L)s[C]=t._initialAutoSize[C];else if(I.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))S(I),o.nestedProperty(s,R+"._inputRange").set(null);else if(I.match(/^[xyz]axis[0-9]*\.autorange$/)){S(I),o.nestedProperty(s,R+"._inputRange").set(null);var H=o.nestedProperty(s,R).get();H._inputDomain&&(H._input.domain=H._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&&o.nestedProperty(s,R+"._inputDomain").set(null);if("type"===D){var G=N,W="linear"===j.type&&"log"===L,Y="log"===j.type&&"linear"===L;if(W||Y){if(G&&G.range)if(j.autorange)W&&(G.range=G.range[1]>G.range[0]?[1,2]:[2,1]);else{var X=G.range[0],Z=G.range[1];W?(X<=0&&Z<=0&&w(R+".autorange",!0),X<=0?X=Z/1e6:Z<=0&&(Z=X/1e6),w(R+".range[0]",Math.log(X)/Math.LN10),w(R+".range[1]",Math.log(Z)/Math.LN10)):(w(R+".range[0]",Math.pow(10,X)),w(R+".range[1]",Math.pow(10,Z)))}else w(R+".autorange",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[E.parts[0]]&&"radialaxis"===E.parts[1]&&delete s[E.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,j,L,w),c.getComponentMethod("images","convertCoords")(t,j,L,w)}else w(R+".autorange",!0),w(R+".range",null);o.nestedProperty(s,R+"._inputRange").set(null)}else if(D.match(M)){var J=o.nestedProperty(s,C).get(),K=(L||{}).type;K&&"-"!==K||(K="linear"),c.getComponentMethod("annotations","convertCoords")(t,J,K,w),c.getComponentMethod("images","convertCoords")(t,J,K,w)}var Q=b.containerArrayMatch(C);if(Q){r=Q.array,n=Q.index;var $=Q.property,tt=(o.nestedProperty(a,r)||[])[n]||{},et=tt,rt=U||{editType:"calc"},nt=-1!==rt.editType.indexOf("calcIfAutorange");""===n?(nt?v.calc=!0:k.update(v,rt),nt=!1):""===$&&(et=L,b.isAddVal(L)?x[C]=null:b.isRemoveVal(L)?(x[C]=tt,et=tt):o.warn("unrecognized full object value",e)),nt&&(F(t,et,"x")||F(t,et,"y"))?v.calc=!0:k.update(v,rt),h[r]||(h[r]={});var it=h[r][n];it||(it=h[r][n]={}),it[$]=L,delete e[C]}else"reverse"===D?(N.range?N.range.reverse():(w(R+".autorange",!0),N.range=[1,0]),j.autorange?v.calc=!0:v.plot=!0):(s._has("scatter-like")&&s._has("regl")&&"dragmode"===C&&("lasso"===L||"select"===L)&&"lasso"!==V&&"select"!==V?v.plot=!0:U?k.update(v,U):v.calc=!0,E.set(L))}}for(r in h){b.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var at=s._axisConstraintGroups||[];for(A in T)for(n=0;n=0&&r=0&&r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=void 0===e||null===e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d0&&MM)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{"../components/color":474,"../components/drawing":499,"../constants/xmlns_namespaces":581,"../lib":602,"../lib/events":590,"../lib/queue":617,"../lib/svg_text_utils":626,"../plots/cartesian/axes":648,"../plots/cartesian/constants":653,"../plots/cartesian/graph_interact":657,"../plots/plots":710,"../plots/polar/legacy":718,"../registry":732,"./edit_types":633,"./helpers":634,"./manage_arrays":636,"./plot_config":638,"./plot_schema":639,"./subroutines":640,d3:130,"fast-isnumeric":196,"has-hover":296}],638:[function(t,e,r){"use strict";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:"reset+autosize",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:"Edit chart",showSources:!1,displayModeBar:"hover",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:"transparent",topojsonURL:"https://cdn.plot.ly/",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:"en-US",locales:{}}},{}],639:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("../plots/polar/legacy/area_attributes"),u=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g="_isSubplotObj",m="_isLinkedToArray",v=[g,m,"_arrayAttrRegexps","_deprecated"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):d(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(d(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}(r,n,w)){var s=a.node(),l=e.bg=o.ensureSingle(a,"rect","bg");s.insertBefore(l.node(),s.childNodes[0])}else a.select("rect.bg").remove(),_.push(t),w.push([r,n])});var k=i._bgLayer.selectAll(".bg").data(_);return k.enter().append("rect").classed("bg",!0),k.exit().remove(),k.each(function(t){i._plots[t].bg=n.select(this)}),x.each(function(t){var e=i._plots[t],r=e.xaxis,n=e.yaxis;e.bg&&d&&e.bg.call(c.setRect,r._offset-s,n._offset-s,r._length+2*s,n._length+2*s).call(l.fill,i.plot_bgcolor).style("stroke-width",0);var a,f,h=e.clipId="clip"+i._uid+t+"plot",p=o.ensureSingleById(i._clips,"clipPath",h,function(t){t.classed("plotclip",!0).append("rect")});if(e.clipRect=p.select("rect").attr({width:r._length,height:n._length}),c.setTranslate(e.plot,r._offset,n._offset),e._hasClipOnAxisFalse?(a=null,f=h):(a=h,f=null),c.setClipUrl(e.plot,a),e.layerClipId=f,d){var m,v,x,_,w,k,M,A,T,S,C,E,L,z="M0,0";y(r,t)&&(w=b(r,"left",n,u),m=r._offset-(w?s+w:0),k=b(r,"right",n,u),v=r._offset+r._length+(k?s+k:0),x=g(r,n,"bottom"),_=g(r,n,"top"),(L=!r._anchorAxis||t!==r._mainSubplot)&&r.ticks&&"allticks"===r.mirror&&(r._linepositions[t]=[x,_]),z=I(r,D,function(t){return"M"+r._offset+","+t+"h"+r._length}),L&&r.showline&&("all"===r.mirror||"allticks"===r.mirror)&&(z+=D(x)+D(_)),e.xlines.style("stroke-width",r._lw+"px").call(l.stroke,r.showline?r.linecolor:"rgba(0,0,0,0)")),e.xlines.attr("d",z);var P="M0,0";y(n,t)&&(C=b(n,"bottom",r,u),M=n._offset+n._length+(C?s:0),E=b(n,"top",r,u),A=n._offset-(E?s:0),T=g(n,r,"left"),S=g(n,r,"right"),(L=!n._anchorAxis||t!==r._mainSubplot)&&n.ticks&&"allticks"===n.mirror&&(n._linepositions[t]=[T,S]),P=I(n,O,function(t){return"M"+t+","+n._offset+"v"+n._length}),L&&n.showline&&("all"===n.mirror||"allticks"===n.mirror)&&(P+=O(T)+O(S)),e.ylines.style("stroke-width",n._lw+"px").call(l.stroke,n.showline?n.linecolor:"rgba(0,0,0,0)")),e.ylines.attr("d",P)}function D(t){return"M"+m+","+t+"H"+v}function O(t){return"M"+t+","+A+"V"+M}function I(e,r,n){if(!e.showline||t!==e._mainSubplot)return"";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,"gtitle",{propContainer:e,propName:"title",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,"text-anchor":"middle"}})},r.doTraceStyle=function(t){for(var e=0;ex.length&&i.push(p("unused",a,v.concat(x.length)));var M,A,T,S,C,E=x.length,L=Array.isArray(k);if(L&&(E=Math.min(E,k.length)),2===b.dimensions)for(A=0;Ax[A].length&&i.push(p("unused",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],C=x[A][M],n.validate(S,T)?C!==S&&C!==+S&&i.push(p("dynamic",a,v.concat(A,M),S,C)):i.push(p("value",a,v.concat(A,M),S))}else i.push(p("array",a,v.concat(A),y[A]));else for(A=0;A1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v0&&c>0&&u/c>d&&(o=n,l=a,d=u/c);if(h===p){var y=h-1,x=h+1;f="tozero"===t.rangemode?h<0?[y,0]:[0,x]:"nonnegative"===t.rangemode?[Math.max(0,y),Math.max(0,x)]:[y,x]}else d&&("linear"!==t.type&&"-"!==t.type||("tozero"===t.rangemode?(o.val>=0&&(o={val:0,pad:0}),l.val<=0&&(l={val:0,pad:0})):"nonnegative"===t.rangemode&&(o.val-d*m(o)<0&&(o={val:0,pad:0}),l.val<0&&(l={val:1,pad:0})),d=(l.val-o.val)/(t._length-m(o)-m(l))),f=[o.val-d*m(o),l.val+d*m(l)]);return f[0]===f[1]&&("tozero"===t.rangemode?f=f[0]<0?[f[0],0]:f[0]>0?[0,f[0]]:[0,1]:(f=[f[0]-1,f[0]+1],"nonnegative"===t.rangemode&&(f[0]=Math.max(0,f[0])))),g&&f.reverse(),i.simpleMap(f,t.l2r||Number)}function s(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function l(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=o(t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&"auto"===n.rangemode&&(n.range=r?o(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=i.extendFlat({},n)}},expand:function(t,e,r){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);r||(r={});t._m||t.setScale();var i,o,s,f,h,p,d,g,m,v,y,x,b=e.length,_=r.padded||!1,w=r.tozero&&("linear"===t.type||"-"===t.type),k="log"===t.type,M=!1;function A(t){if(Array.isArray(t))return M=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var T=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),E=A(r.vpadminus||r.vpad);if(!M){if(y=1/0,x=-1/0,k)for(i=0;i0&&(y=f),f>x&&f-a&&(y=f),f>x&&f=b&&(f.extrapad||!_)){v=!1;break}M(i,f.val)&&f.pad<=b&&(_||!f.extrapad)&&(a.splice(o,1),o--)}if(v){var A=w&&0===i;a.push({val:i,pad:A?0:b,extrapad:!A&&_})}}}}var z=Math.min(6,b);for(i=0;i=z;i--)L(i)}}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],648:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("../../constants/numerical"),p=h.ONEAVGYEAR,d=h.ONEAVGMONTH,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=h.MINUS_SIGN,b=h.BADNUM,_=t("../../constants/alignment").MID_SHIFT,w=t("../../constants/alignment").LINE_SPACING,k=e.exports={};k.setConvert=t("./set_convert");var M=t("./axis_autotype"),A=t("./axis_ids");k.id2name=A.id2name,k.name2id=A.name2id,k.cleanId=A.cleanId,k.list=A.list,k.listIds=A.listIds,k.getFromId=A.getFromId,k.getFromTrace=A.getFromTrace;var T=t("./autorange");k.expand=T.expand,k.getAutoRange=T.getAutoRange,k.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:"enumerated",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},k.coercePosition=function(t,e,r,n,i,a){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(i,a);else{var c=k.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},k.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:k.getFromId(e,r).cleanPos)(t)};var S=k.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:M(n),_categories:[]},k.setConvert(i),"category"===i.type)for(var o=0;o2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},k.saveRangeInitial=function(t,e){for(var r=k.list(t,"",!0),n=!1,i=0;i.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=k.tickIncrement(t,"M6","reverse")+1.5*g:a.exactMonths>.8?t=k.tickIncrement(t,"M1","reverse")+15.5*g:t-=g/2;var l=k.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,l.dtick,c,a)),d=m,0;d<=u;)d=k.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(m,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},k.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),k.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),F(t)},k.calcTicks=function(t){k.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(r=0;ru&&e=n:c<=n)&&!(a.length>l||c===o);c=k.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);"angular"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead="",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=g&&a<=10||e>=15*g)t._tickround="d";else if(e>=v&&a<=16||e>=m)t._tickround="M";else if(e>=y&&a<=19||e>=v)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(V(t.exponentformat)&&!U(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function N(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}k.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var a=2*e;a>p?(e/=p,r=n(10),t.dtick="M"+12*B(e,r,L)):a>d?(e/=d,t.dtick="M"+B(e,1,z)):a>g?(t.dtick=B(e,g,D),t.tick0=s.dateTick0(t.calendar,!0)):a>m?t.dtick=B(e,m,z):a>v?t.dtick=B(e,v,P):a>y?t.dtick=B(e,y,P):(r=n(10),t.dtick=B(e,r,L))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+B(e,r,L)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):"angular"===t._id?(t.tick0=0,r=1,t.dtick=B(e,r,R)):(t.tick0=0,r=n(10),t.dtick=B(e,r,L));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},k.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?I:O,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},k.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat;"never"===a&&(a="");!n||"string"==typeof o&&"L"===o.charAt(0)||(o="L3");if(c||"string"==typeof o&&"L"===o.charAt(0))e.text=q(Math.pow(10,l),t,a,n);else if(i(o)||"D"===o.charAt(0)&&s.mod(l+.01,1)<.1){var u=Math.round(l);-1!==["e","E","power"].indexOf(t.exponentformat)||V(t.exponentformat)&&U(u)?(e.text=0===u?1:1===u?"10":u>1?"10"+u+"":"10"+x+-u+"",e.fontSize*=1.25):(e.text=q(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==o.charAt(0))throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var f=String(e.text).charAt(0);"0"!==f&&"1"!==f||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,n):"category"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"angular"===t._id?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=q(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=q(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=x+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=q(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},k.hoverLabelText=function(t,e,r){if(r!==b&&r!==e)return k.hoverLabelText(t,e)+" - "+k.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=k.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":x+i:i};var j=["f","p","n","\u03bc","m","","k","M","G","T"];function V(t){return"SI"===t||"B"===t}function U(t){return t>14||t<-15}function q(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=k.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};F(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,x);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":V(l)&&(t+=j[c/3+5]));return a?x+t:t}function H(t,e){for(var r=0;r=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=a(n))){r=t.tickformatstops[e];break}break;case"log":for(e=0;e1&&e1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s2*n}(t)?"category":function(t){if(!t)return!1;for(var e=0;en?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{"../../registry":732,"./constants":653}],652:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;no*y)||w)for(r=0;rP&&IL&&(L=I);h/=(L-E)/(2*z),E=c.l2r(E),L=c.l2r(L),c.range=c._input.range=T=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function P(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",i+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function O(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),I(t,e,i,a)}function I(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function R(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function B(t){A&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),A=!1)}function F(t){return"lasso"===t||"select"===t}function N(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function j(t,e){if(a){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function V(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,A,T){var I,U,q,H,G,W,Y,X,Z,J,K,Q,$,tt,et,rt,nt,it=t._fullLayout._zoomlayer,at=A+T==="nsew",ot=1===(A+T).length;function st(){if(I=e.xaxis,U=e.yaxis,Z=I._length,J=U._length,Y=I._offset,X=U._offset,(q={})[I._id]=I,(H={})[U._id]=U,A&&T)for(var r=e.overlays,n=0;nM||o>M?(mt="xy",a/Z>o/J?(o=a*J/Z,ft>i?ht.t=ft-o:ht.b=ft+o):(a=o*Z/J,ut>n?ht.l=ut-a:ht.r=ut+a),yt.attr("d",N(ht))):s():!$||o10||r.scrollWidth-r.clientWidth>10)){clearTimeout(Mt);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Tt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(rt){for(T||(l=.5),i=0;ig[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":602,"fast-isnumeric":196}],664:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{"../../constants/alignment":574}],665:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib/polygon"),l=t("../../lib/throttle"),c=t("../../components/fx/helpers").makeEventData,u=t("./axis_ids").getFromId,f=t("../sort_modules").sortModules,h=t("./constants"),p=h.MINSELECT,d=s.filter,g=s.tester,m=s.multitester;function v(t){return t._id}function y(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*u*Math.abs(n-i))}return h}function v(e,r,n){var a=l(e,n||t.calendar);if(a===h){if(!i(e))return h;a=l(new Date(+e))}return a}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l="log"===t.type?m:c,t.l2c="log"===t.type?g:c,t.l2p=_,t.p2l=w,t.c2p="log"===t.type?function(t,e){return _(m(t,e))}:_,t.p2c="log"===t.type?function(t){return g(w(t))}:w,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=w,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return m(o(t),e)},t.r2d=t.r2c=function(t){return g(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=m,t.l2d=g,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return g(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):"category"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,n){n||(n={}),e||(e="range");var o,s,l=a.nestedProperty(t,e).get();if(s=(s="date"===t.type?a.dfltRange(t.calendar):"y"===r?p.DFLTRANGEY:n.dfltRange||p.DFLTRANGEX).slice(),l&&2===l.length)for("date"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if("date"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=d.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?"_r":"range",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if("y"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o0?Number(u):c;else if("string"!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)<=0||!("date"===o&&"M"===f&&h===Math.round(h)||"log"===o&&"L"===f||"log"===o&&"D"===f&&(1===h||2===h)))&&(e.dtick=c)}var p="date"===o?i.dateTick0(e.calendar):0,d=r("tick0",p);"date"===o?e.tick0=i.cleanDate(d,p):n(d)&&"D1"!==u&&"D2"!==u?e.tick0=Number(d):e.tick0=p}else{void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],670:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../components/drawing"),o=t("./axes"),s=t("./constants").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split("."))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i rect").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;nr.duration?(function(){for(var e={},r=0;r0&&i["_"+r+"axes"][e])return i;if((i[r+"axis"]||r)===e){if(s(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,r,a);if(!l)return;if("histogram"===l.type&&a==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=a+"calendar",f=l[u];if(s(l,a)){var h=o(l),p=[];for(c=0;c0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;fi*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(d.precision),i&&r.clipAngle(i-d.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,g=function(t,e){var r=d.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,g);var m=this.bounds=u.getBounds(g),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k0&&w<0&&(w+=360);var k,M,A,T=(_+w)/2;if(!c){var S=u?s.projRotate:[T,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(M=-96.6,A=38.7):(M=u?T:k,A=(b[0]+b[1])/2),r("center.lon",M),r("center.lat",A),f)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==a)&&(r("countrycolor"),r("countrywidth")),("usa"===a||"north america"===a&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:a,handleDefaults:s,partition:"y"})}},{"../../subplot_defaults":724,"../constants":676,"./layout_attributes":681}],681:[function(t,e,r){"use strict";var n=t("../../../components/color/attributes"),i=t("../../domain").attributes,a=t("../constants"),o=t("../../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number"},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};e.exports=o({domain:i({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")},{"../../../components/color/attributes":473,"../../../plot_api/edit_types":633,"../../domain":673,"../constants":676}],682:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++rn^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var C=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function E(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(C)}).raw=C,E.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(E)}).raw=E;var L=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function D(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function O(t,e){var r=D(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,D.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(D)}).raw=D,O.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(O)}).raw=O}},{}],683:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+"."+t]=e)}r(c),c("projection.scale",e.scale()/t.fitScale),a.emit("plotly_relayout",l)}function f(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(s)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on("zoomend",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g=c(0,e),m=2;function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=v(r)}).on("zoom",function(){if(h=n.mouse(this),l=e(v(s=r)),Math.abs(l[0]-s[0])>m||Math.abs(l[1]-s[1])>m)return g.scale(e.scale()),void g.translate(e.translate());var s,l;e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?v(h)&&(d=v(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=v(r=h),t.render()}).on("zoomend",function(){n.select(this).style(l),u(t,e,y)}),g}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,C);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=C),e.rotate(M),C=M}}else r=d(e,T=b);h.of(this,arguments)({type:"zoom"})}),A=h.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(l),m.call(f,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),u(t,e,x)}).on("zoom.redraw",function(){t.render()}),n.rebind(f,h,"on")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(l.boxEnd[1]=l.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),l.boxEnd[1]u[3]&&(l.boxEnd[1]=u[3],l.boxEnd[0]=l.boxStart[0]+(u[3]-l.boxStart[1])/Math.abs(_))):(l.boxEnd[0]=l.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),l.boxEnd[0]u[2]&&(l.boxEnd[0]=u[2],l.boxEnd[1]=l.boxStart[1]+(u[2]-l.boxStart[0])*Math.abs(_)))}}else l.boxEnabled?(a=l.boxStart[0]!==l.boxEnd[0],s=l.boxStart[1]!==l.boxEnd[1],a||s?(a&&(m(0,l.boxStart[0],l.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,l.boxStart[1],l.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),l.boxEnabled=!1,l.boxInited=!1):l.boxInited&&(l.boxInited=!1);break;case"pan":l.boxEnabled=!1,l.boxInited=!1,e?(l.panning||(l.dragStart[0]=n,l.dragStart[1]=i),Math.abs(l.dragStart[0]-n)Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":41,"has-passive-events":297,"mouse-change":320,"mouse-event-offset":321,"mouse-wheel":323,"right-now":382}],690:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../components/fx/layout_attributes"),a=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":474,"../../../lib":602,"../../../registry":732,"../../subplot_defaults":724,"./axis_defaults":693,"./layout_attributes":696}],696:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],dflt:"turntable",editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":602,"../../../lib/extend":591,"../../domain":673,"./axis_attributes":692}],697:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":625}],698:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if("auto"===f.tickmode){f.tickmode="linear";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;gf[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;ag[1][a])g[0][a]=-1,g[1][a]=1;else{var T=g[1][a]-g[0][a];g[0][a]-=T/32,g[1][a]+=T/32}}else{var S=s.range;g[0][a]=s.r2l(S[0]),g[1][a]=s.r2l(S[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var C=[1,1,1];for(a=0;a<3;++a){var E=v[l=(s=c[w[a]]).type];C[a]=Math.pow(E.acc,1/E.count)/p[a]}var L;if("auto"===c.aspectmode)L=Math.max.apply(null,C)/Math.min.apply(null,C)<=4?C:[1,1,1];else if("cube"===c.aspectmode)L=[1,1,1];else if("data"===c.aspectmode)L=C;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var z=c.aspectratio;L=[z.x,z.y,z.z]}c.aspectratio.x=u.aspectratio.x=L[0],c.aspectratio.y=u.aspectratio.y=L[1],c.aspectratio.z=u.aspectratio.z=L[2],this.glplot.aspect=L;var P=c.domain||null,D=e._size||null;if(P&&D){var O=this.container.style;O.position="absolute",O.left=D.l+P.x[0]*D.w+"px",O.top=D.t+(1-P.y[1])*D.h+"px",O.width=D.w*(P.x[1]-P.x[0])+"px",O.height=D.h*(P.y[1]-P.y[0])+"px"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),A(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+".camera"),n=r.get(),i=!1;function a(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&("orbit"===t?(r.mode="orbit",r.keyBindingMode="rotate"):"turntable"===t?(r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o0}function l(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset}),n.extendFlat(r,{"icon-color":t.color,"text-color":a.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};"geojson"===r?e="data":"vector"===r&&(e="string"==typeof n?"url":"tiles");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.mapbox.setOptions(this.idLayer,"setPaintProperty",e.paint)}},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{"../../lib":602,"./convert_text_opts":703}],706:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").defaultLine,a=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=o({});c.family.dflt="Open Sans Regular, Arial Unicode MS Regular",e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],dflt:"basic"},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:{_isLinkedToArray:"layer",sourcetype:{valType:"enumerated",values:["geojson","vector"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},type:{valType:"enumerated",values:["circle","line","fill","symbol"],dflt:"circle"},below:{valType:"string",dflt:""},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},"plot","from-root")},{"../../components/color":474,"../../lib":602,"../../plot_api/edit_types":633,"../../traces/scatter/attributes":926,"../domain":673,"../font_attributes":674}],707:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("./layout_attributes");function o(t,e,r,i){r("accesstoken",i.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),function(t,e){var r,i,o=t.layers||[],s=e.layers=[];function l(t,e){return n.coerce(r,i,a.layers,t,e)}for(var c=0;c=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),c=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),c.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||"https://plot.ly",r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var x,b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a1&&O.length>1){for(a.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has("cartesian"),l._hasGeo=l._has("geo"),l._hasGL3D=l._has("gl3d"),l._hasGL2D=l._has("gl2d"),l._hasTernary=l._has("ternary"),l._hasPie=l._has("pie"),m.linkSubplots(p,l,h,i),m.cleanPlot(p,l,h,i,y),d(l,i),m.doAutoMargin(t);var F=u.list(t);for(o=0;o0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*l,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,a=parseFloat(g.height)||r.height}var v=m.layoutAttributes.width.min,y=m.layoutAttributes.height.min;n1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,l,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(l=c[i]).includeBasePlot&&l.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(a.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(s.subplotSort);for(o=0;o.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var f in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var h=u[f].l||{},p=u[f].b||{},d=h.val,g=h.size,m=p.val,v=p.size;for(var y in u){if(i(g)&&u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x>d){var _=(g*x+(b-e.width)*d)/(x-d),w=(b*(1-d)+(g-e.width)*(1-x))/(x-d);_>=0&&w>=0&&_+w>o+s&&(o=_,s=w)}}if(i(v)&&u[y].t){var k=u[y].t.val,M=u[y].t.size;if(k>m){var A=(v*k+(M-e.height)*m)/(k-m),T=(M*(1-m)+(v-e.height)*(1-k))/(k-m);A>=0&&T>=0&&A+T>c+l&&(c=A,l=T)}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&"{}"!==n&&n!==JSON.stringify(e._size))return a.call("plot",t)},m.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(s.isPlainObject(t)){var e,n,i={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!s.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):s.isJSDate(t)?s.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=c(l)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var n,l,c=0,u=0;function f(){return c++,function(){var r;p||++u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(l=0;l=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:c,y:c}]),a[0].t||(a[0].t={}),a[0].trace=r,p[e]=a}}for(m&&M(l),i=0;i=0?h.angularAxis.domain:n.extent(w),S=Math.abs(w[1]-w[0]);M&&!k&&(S=0);var C=T.slice();A&&k&&(C[1]+=S);var E=h.angularAxis.ticksCount||4;E>8&&(E=E/(E/8)+E%8),h.angularAxis.ticksStep&&(E=(C[1]-C[0])/E);var L=h.angularAxis.ticksStep||(C[1]-C[0])/(E*(h.minorTicks+1));_&&(L=Math.max(Math.round(L),1)),C[2]||(C[2]=L);var z=n.range.apply(this,C);if(z=z.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?S:0,void 0===(t=n.select(this).select("svg.chart-root"))||t.empty()){var P=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),D=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(D)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var O,I=t.select(".chart-group"),R={fill:"none",stroke:h.tickColor},B={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+h.font.outlineColor}).join(",")};if(h.showLegend){O=t.select(".legend-group").attr({transform:"translate("+[y,h.margin.top]+")"}).style({display:"block"});var F=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:F,reverseOrder:h.legend.reverseOrder})})();var N=O.node().getBBox();y=Math.min(h.width-N.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,y=Math.max(10,y),b=[h.margin.left+y,h.margin.top+y],r.range([0,y]),u.layout.radialAxis.domain=r.domain(),O.attr("transform","translate("+[b[0]+y,b[1]-y]+")")}else O=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),I.attr("transform","translate("+b+")").style({cursor:"crosshair"});var j=[(h.width-(h.margin.left+h.margin.right+2*y+(N?N.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*y))/2];if(j[0]=Math.max(0,j[0]),j[1]=Math.max(0,j[1]),t.select(".outer-group").attr("transform","translate("+j+")"),h.title){var V=t.select("g.title-group text").style(B).text(h.title),U=V.node().getBBox();V.attr({x:b[0]-U.width/2,y:b[1]-y-20})}var q=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var H=q.selectAll("circle.grid-circle").data(r.ticks(5));H.enter().append("circle").attr({class:"grid-circle"}).style(R),H.attr("r",r),H.exit().remove()}q.select("circle.outside-circle").attr({r:y}).style(R);var G=t.select("circle.background-circle").attr({r:y}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var Y=n.svg.axis().scale(r).ticks(5).tickSize(5);q.call(Y).attr({transform:"rotate("+h.radialAxis.orientation+")"}),q.selectAll(".domain").style(R),q.selectAll("g>text").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),q.selectAll("g>line").style({stroke:"black"})}var X=t.select(".angular.axis-group").selectAll("g.angular-tick").data(z),Z=X.enter().append("g").classed("angular-tick",!0);X.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),X.exit().remove(),Z.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(h.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(".minor").style({stroke:h.minorTickColor}),X.select("line.grid-line").attr({x1:h.tickLength?y-h.tickLength:0,x2:y}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),Z.append("text").classed("axis-text",!0).style(B);var J=X.select("text.axis-text").attr({x:y+h.labelOffset,dy:a+"em",transform:function(t,e){var r=W(t),n=y+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(h.minorTicks+1)!=0?"":_?_[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(B);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(I.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:"translate("+[y+K,h.margin.top]+")"});var Q=t.select("g.geometry-group").selectAll("g").size()>0,$=t.select("g.geometry-group").selectAll("g.geometry").data(p);if($.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||"unstacked"}).entries(tt).forEach(function(t,e){"unstacked"===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(".guides-group"),at=t.select(".tooltips-group"),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});I.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(G).angle;ct.attr({x2:-y,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(y+12,r+180);ot.text(o.util.round(rt)).move([i[0]+b[0],i[1]+b[1]])}).on("mouseout.angular-guide",function(t,e){it.select("line").style({opacity:0})})}var ut=it.select("circle").style({stroke:"grey",fill:"none"});I.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(G).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(G).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+b[0],i[1]+b[1]])}).on("mouseout.radial-guide",function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=_[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-j[0]-h.left,f.top+f.height/2-j[1]-h.top];lt.config({color:s}).text(u),lt.move(p)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&<.show()}).on("mouseout.tooltip",function(t,e){lt.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,i,a)},"stroke-width":function(t,e){return d["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data(function(t,e){return t});m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()})}return a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||void 0===e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),p=h.enter().append("svg").attr({width:300,height:f+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var v=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=h.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=i||"";e.style({fill:u,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,"stroke-width":"2px"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*h]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&void 0!==s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&void 0!==s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&void 0!==s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":574,"../../../lib":602,d3:130}],720:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":474,"../../../lib":602,"./micropolar":719,"./undo_manager":721,d3:130}],721:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r0?1:-1}function F(t){return B(Math.cos(t))}function N(t){return B(Math.sin(t))}e.exports=function(t,e){return new S(t,e)},C.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(v),x=y[2]-y[0],b=y[3]-y[1],w=m/g,M=Math.abs(b/x);w>M?(c=g,d=(m-(f=g*M))/i.h/2,h=[a[0],a[1]],p=[o[0]+d,o[1]-d]):(f=m,d=(g-(c=m/M))/i.w/2,h=[a[0]+d,a[1]-d],p=[o[0],o[1]]),r.xLength2=c,r.yLength2=f,r.xDomain2=h,r.yDomain2=p;var A=r.xOffset2=i.l+i.w*h[0],T=r.yOffset2=i.t+i.h*(1-p[1]),S=r.radius=c/x,C=r.cx=A-S*y[0],E=r.cy=T+S*y[3],L=r.cxx=C-A,z=r.cyy=E-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var D=r.radialAxis.range,O=D[1]-D[0],R=r.xaxis={type:"linear",_id:"x",range:[y[0]*O,y[2]*O],domain:h};u.setConvert(R,t),R.setScale();var B=r.yaxis={type:"linear",_id:"y",range:[y[1]*O,y[3]*O],domain:p};u.setConvert(B,t),B.setScale(),R.isPtWithinRange=function(t){return r.isPtWithinSector(t)},B.isPtWithinRange=function(){return!0},n.frontplot.attr("transform",I(A,T)).call(l.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:P(S,v),transform:I(C,E)}).call(s.fill,e.bgcolor),r.clipPaths.circle.select("path").attr("d",P(S,v)).attr("transform",I(L,z)),r.framework.selectAll(".crisp").classed("crisp",0)},C.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,l=this.cy,c=t._size,h=e.radialaxis,p=e.sector,d=k(p[0]);this.fillViewInitialKey("radialaxis.angle",h.angle);var g=this.radialAxis=o.extendFlat({},h,{_axislayer:n["radial-axis"],_gridlayer:n["radial-grid"],_id:"x",_pos:0,side:{counterclockwise:"top",clockwise:"bottom"}[h.side],domain:[0,i/c.w],anchor:"free",position:0,_counteraxis:!0,automargin:!1});E(g,h,t),f(g),h.range=g.range.slice(),h._input.range=g.range.slice(),this.fillViewInitialKey("radialaxis.range",g.range.slice()),"auto"===g.tickangle&&d>90&&d<=270&&(g.tickangle=180),g._transfn=function(t){return"translate("+g.l2p(t.x)+",0)"},g._gridpath=function(t){return z(g.r2p(t.x),p)};var m=L(h);this.radialTickLayout!==m&&(n["radial-axis"].selectAll(".xtick").remove(),this.radialTickLayout=m),u.doTicks(r,g,!0),O(n["radial-axis"],h.showticklabels||h.ticks,{transform:I(a,l)+R(-h.angle)}),O(n["radial-grid"],h.showgrid,{transform:I(a,l)}).selectAll("path").attr("transform",null),O(n["radial-line"].select("line"),h.showline,{x1:0,y1:0,x2:i,y2:0,transform:I(a,l)+R(-h.angle)}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},C.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:s.angle,f=_(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var m=l.bBox(this.layers["radial-axis"].node()).height,v=s.titlefont.size;d="counterclockwise"===s.side?-m-.4*v:m+.8*v}this.layers["radial-axis-title"]=g.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:b(n,"Click to enter radial axis title"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,"text-anchor":"middle"},transform:{rotate:-u}})},C.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.cx,f=r.cy,h=e.angularaxis,p=e.sector,d=p.map(_);r.fillViewInitialKey("angularaxis.rotation",h.rotation);var g=r.angularAxis=o.extendFlat({},h,{_axislayer:a["angular-axis"],_gridlayer:a["angular-grid"],_id:"angular",_pos:0,side:"right",domain:[0,Math.PI],anchor:"free",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if("linear"===g.type)D(p)?g.range=p.slice():g.range=d.map(g.unTransformRad).map(w),"radians"===g.thetaunit&&(g.tick0=w(g.tick0),g.dtick=w(g.dtick));else if("category"===g.type){var m=h.period?Math.max(h.period,h._categories.length):h._categories.length;g.range=[0,m],g._tickFilter=function(t){return r.isPtWithinSector({r:r.radialAxis.range[1],rad:g.c2rad(t.x)})}}function v(t){return g.c2rad(t.x,"degrees")}function y(t){return[l*Math.cos(t),l*Math.sin(t)]}E(g,h,t),g._transfn=function(t){var e=v(t),r=y(e),i=I(c+r[0],f-r[1]),a=n.select(this);return a&&a.node()&&a.classed("ticks")&&(i+=R(-w(e))),i},g._gridpath=function(t){var e=y(v(t));return"M0,0L"+-e[0]+","+e[1]};var b="outside"!==h.ticks?.7:.5;g._labelx=function(t){var e=v(t),r=g._labelStandoff,n=g._pad;return(0===N(e)?0:Math.cos(e)*(r+n+b*t.fontSize))+F(e)*(t.dx+r+n)},g._labely=function(t){var e=v(t),r=g._labelStandoff,n=g._labelShift,i=g._pad;return t.dy+t.fontSize*x-n+-Math.sin(e)*(r+i+b*t.fontSize)},g._labelanchor=function(t,e){var r=v(e);return 0===N(r)?F(r)>0?"start":"end":"middle"};var k=L(h);r.angularTickLayout!==k&&(a["angular-axis"].selectAll(".angulartick").remove(),r.angularTickLayout=k),u.doTicks(i,g,!0),O(a["angular-line"].select("path"),h.showline,{d:P(l,p),transform:I(c,f)}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},C.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},C.updateMainDrag=function(t,e){var r=this,o=r.gd,s=r.layers,l=t._zoomlayer,c=T.MINZOOM,u=T.OFFEDGE,f=r.radius,g=r.cx,y=r.cy,x=r.cxx,b=r.cyy,_=e.sector,w=p.makeDragger(s,"path","maindrag","crosshair");n.select(w).attr("d",P(f,_)).attr("transform",I(g,y));var k,M,A,S,C,E,L,z,D,O={element:w,gd:o,subplot:r.id,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis},xaxes:[r.xaxis],yaxes:[r.yaxis]};function R(t,e){var r=t-x,n=e-b;return Math.sqrt(r*r+n*n)}function B(t,e){return Math.atan2(b-e,t-x)}function F(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function N(t,e){var r=T.cornerLen,n=T.cornerHalfWidth;if(0===t)return P(2*n,_);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,f)),l=s-n,c=s+n;return"M"+F(l,a)+"A"+[l,l]+" 0,0,0 "+F(l,o)+"L"+F(c,o)+"A"+[c,c]+" 0,0,1 "+F(c,a)+"Z"}function j(t,e){var r,n,i=k+t,a=M+e,o=R(k,M),s=Math.min(R(i,a),f),l=B(k,M),h=B(i,a);oc?(o0==h>y[0]){S=d.range[1]=h,u.doTicks(i,r.radialAxis,!0),s["radial-grid"].attr("transform",I(c,f)).selectAll("path").attr("transform",null);var p=S-y[0],g=r.sectorBBox;for(var v in r.xaxis.range=[g[0]*p,g[2]*p],r.yaxis.range=[g[1]*p,g[3]*p],r.xaxis.setScale(),r.yaxis.setScale(),r.traceHash){var b=r.traceHash[v],_=o.filterVisible(b),w=b[0][0].trace._module,k=i._fullLayout[r.id];if(w.plot(i,r,_,k),!a.traceIs(v,"gl"))for(var M=0;M<_.length;M++)w.style(i,_[M])}}}},C.updateAngularDrag=function(t,e){var r=this,i=r.gd,s=r.layers,c=r.radius,f=r.cx,d=r.cy,g=r.cxx,m=r.cyy,x=e.sector,b=T.angularDragBoxSize,k=p.makeDragger(s,"path","angulardrag","move"),S={element:k,gd:i};function C(t,e){return Math.atan2(m+b-e,t-g-b)}n.select(k).attr("d",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return"A"+[t,t]+" "+[0,o,r]+" "+s(t,e)}return D(r)?(n=0,a=2*Math.PI,i=Math.PI,"M"+s(t,n)+l(t,i,0)+l(t,a,0)+"ZM"+s(e,n)+l(e,i,1)+l(e,a,1)+"Z"):(n=_(r[0]),a=_(r[1]),"M"+s(t,n)+"L"+s(e,n)+l(e,a,0)+"L"+s(t,a)+l(t,n,1)+"Z")}(c,c+b,x)).attr("transform",I(f,d)).call(y,"move");var E,L,z,P,O,B,F=s.frontplot.select(".scatterlayer").selectAll(".trace"),N=F.selectAll(".point"),j=F.selectAll(".textpoint");function V(t,e){var c=C(E+t,L+e),f=w(c-B);P=z+f,s.frontplot.attr("transform",I(r.xOffset2,r.yOffset2)+R([-f,g,m])),r.clipPaths.circle.select("path").attr("transform",I(g,m)+R(f)),N.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",I(e.x,e.y)+R([f]))}),j.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",R([f,e.attr("x"),e.attr("y")])+I(r.x,r.y))});var h=r.angularAxis;for(var p in h.rotation=M(P),"linear"!==h.type||D(x)||(h.range=O.map(_).map(h.unTransformRad).map(w)),A(h),u.doTicks(i,h,!0),r._hasClipOnAxisFalse&&!D(x)&&(r.sector=[O[0]-f,O[1]-f],F.call(l.hideOutsideRangePoints,r)),r.traceHash)if(a.traceIs(p,"gl")){var d=r.traceHash[p],v=o.filterVisible(d),y=d[0][0].trace._module,b=i._fullLayout[r.id];y.plot(i,r,v,b)}}function U(){j.select("text").attr("transform",null);var t={};t[r.id+".angularaxis.rotation"]=P,a.call("relayout",i,t)}S.prepFn=function(e,n,i){var a=t[r.id];O=a.sector.slice(),z=a.angularaxis.rotation;var o=k.getBoundingClientRect();E=n-o.left,L=i-o.top,B=C(E,L),S.moveFn=V,S.doneFn=U,v(t._zoomlayer)},h.init(S)},C.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=k(e[0]),o=k(e[1]);a>o&&(o+=360);var s,l,c=k(w(t.rad)),u=c+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(D(e)||c>=a&&c<=o||u>=a&&u<=o)},C.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":474,"../../components/dragelement":496,"../../components/drawing":499,"../../components/fx":516,"../../components/titles":567,"../../constants/alignment":574,"../../lib":602,"../../lib/setcursor":622,"../../registry":732,"../cartesian/autorange":647,"../cartesian/axes":648,"../cartesian/dragbox":656,"../cartesian/select":665,"../plots":710,"./constants":711,"./helpers":712,d3:130,tinycolor2:415}],723:[function(t,e,r){"use strict";function n(t,e){return"splom"===t?-1:"splom"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],724:[function(t,e,r){"use strict";var n=t("../lib"),i=t("./domain").defaults;e.exports=function(t,e,r,a){var o,s,l=a.type,c=a.attributes,u=a.handleDefaults,f=a.partition||"x",h=e._subplots[l],p=h.length;function d(t,e){return n.coerce(o,s,c,t,e)}for(var g=0;g=f&&(p.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}e.exports=function(t,e,r){i(t,e,r,{type:"ternary",attributes:a,handleDefaults:l,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../../components/color":474,"../../subplot_defaults":724,"./axis_defaults":728,"./layout_attributes":730}],730:[function(t,e,r){"use strict";var n=t("../../../components/color/attributes"),i=t("../../domain").attributes,a=t("./axis_attributes"),o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:a,baxis:a,caxis:a},"plot","from-root")},{"../../../components/color/attributes":473,"../../../plot_api/edit_types":633,"../../domain":673,"./axis_attributes":727}],731:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),f=t("../../lib/extend").extendFlat,h=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),m=t("../../components/titles"),v=t("../cartesian/select").prepSelect,y=t("../cartesian/select").clearSelect,x=t("../cartesian/constants");function b(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}e.exports=b;var _=b.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;iw*x?i=(a=x)*w:a=(i=y)/w,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:"linear",range:[_+2*M-b,b-_-2*k],domain:[d-o/2,d+o/2],_id:"x"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:"linear",range:[_,b-k-M],domain:[g-s/2,g+s/2],_id:"y"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-k-M],side:"left",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l"+a+",-"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,k],side:"bottom",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,_pos:0,_id:"x",_length:i,_gridpath:"M0,0l-"+i/2+",-"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var C=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-k,M],side:"right",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l-"+a+","+i/2,automargin:!1});u(C,h.graphDiv._fullLayout),C.setScale();var E="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDef.select("path").attr("d",E),h.layers.plotbg.select("path").attr("d",E);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDefRelative.select("path").attr("d",L);var z="translate("+r+","+n+")";h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",z),h.clipDefRelative.select("path").attr("transform",null);var P="translate("+(r-S._offset)+","+(n+a)+")";h.layers.baxis.attr("transform",P),h.layers.bgrid.attr("transform",P);var D="translate("+(r+i/2)+","+n+")rotate(30)translate(0,"+-T._offset+")";h.layers.aaxis.attr("transform",D),h.layers.agrid.attr("transform",D);var O="translate("+(r+i/2)+","+n+")rotate(-30)translate(0,"+-C._offset+")";h.layers.caxis.attr("transform",O),h.layers.cgrid.attr("transform",O),h.drawAxes(!0),h.plotContainer.selectAll(".crisp").classed("crisp",!1),h.layers.aline.select("path").attr("d",T.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,T.linecolor||"#000").style("stroke-width",(T.linewidth||0)+"px"),h.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),h.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.aaxis,i=this.baxis,a=this.caxis;if(p.doTicks(e,n,!0),p.doTicks(e,i,!0),p.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+("outside"===a.ticks?.87*a.ticklen:0));this.layers["a-title"]=m.draw(e,"a"+r,{propContainer:n,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,"text-anchor":"middle"}});var l=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;this.layers["b-title"]=m.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-l,y:this.y0+this.h+.83*i.titlefont.size+l,"text-anchor":"middle"}}),this.layers["c-title"]=m.draw(e,"c"+r,{propContainer:a,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+l,y:this.y0+this.h+.83*a.titlefont.size+l,"text-anchor":"middle"}})}};var k=x.MINZOOM/2+.87,M="m-0.87,.5h"+k+"v3h-"+(k+5.2)+"l"+(k/2+2.6)+",-"+(.87*k+4.5)+"l2.6,1.5l-"+k/2+","+.87*k+"Z",A="m0.87,.5h-"+k+"v3h"+(k+5.2)+"l-"+(k/2+2.6)+",-"+(.87*k+4.5)+"l-2.6,1.5l"+k/2+","+.87*k+"Z",T="m0,1l"+k/2+","+.87*k+"l2.6,-1.5l-"+(k/2+2.6)+",-"+(.87*k+4.5)+"l-"+(k/2+2.6)+","+(.87*k+4.5)+"l2.6,1.5l"+k/2+",-"+.87*k+"Z",S="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",C=!0;function E(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}_.initInteractions=function(){var t,e,r,n,u,f,h,p,m,b,_=this,k=_.layers.plotbg.select("path").node(),L=_.graphDiv,z=L._fullLayout._zoomlayer,P={element:k,gd:L,plotinfo:{xaxis:_.xaxis,yaxis:_.yaxis},subplot:_.id,prepFn:function(a,o,s){P.xaxes=[_.xaxis],P.yaxes=[_.yaxis];var c=L._fullLayout.dragmode;a.shiftKey&&(c="pan"===c?"zoom":"pan"),P.minDrag="lasso"===c?1:void 0,"zoom"===c?(P.moveFn=R,P.doneFn=B,function(a,o,s){var c=k.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,n=_.aaxis.range[1]-r.a,f=i(_.graphDiv._fullLayout[_.id].bgcolor).getLuminance(),h="M0,"+_.h+"L"+_.w/2+", 0L"+_.w+","+_.h+"Z",p=!1,m=z.append("path").attr("class","zoombox").attr("transform","translate("+_.x0+", "+_.y0+")").style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),b=z.append("path").attr("class","zoombox-corners").attr("transform","translate("+_.x0+", "+_.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),y(z)}(0,o,s)):"pan"===c?(P.moveFn=F,P.doneFn=N,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,y(z)):"select"!==c&&"lasso"!==c||v(a,o,s,P,c)},clickFn:function(t,e){if(E(L),2===t){var r={};r[_.id+".aaxis.min"]=0,r[_.id+".baxis.min"]=0,r[_.id+".caxis.min"]=0,L.emit("plotly_doubleclick",null),a.call("relayout",L,r)}g.click(L,e,_.id)}};function D(t,e){return 1-e/_.h}function O(t,e){return 1-(t+(_.h-e)/Math.sqrt(3))/_.w}function I(t,e){return(t-(_.h-e)/Math.sqrt(3))/_.w}function R(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,O(t,e),O(o,s))),d=Math.max(0,Math.min(1,I(t,e),I(o,s))),g=(l/2+d)*_.w,v=(1-l/2-c)*_.w,y=(g+v)/2,k=v-g,C=(1-l)*_.h,E=C-k/w;k.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),b.transition().style("opacity",1).duration(200),p=!0)}function B(){if(E(L),u!==r){var t={};t[_.id+".aaxis.min"]=u.a,t[_.id+".baxis.min"]=u.b,t[_.id+".caxis.min"]=u.c,a.call("relayout",L,t),C&&L.data&&L._context.showTips&&(o.notifier(s(L,"Double-click to zoom back out"),"long"),C=!1)}}function F(t,e){var n=t/_.xaxis._m,i=e/_.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*_.yaxis._m,t=(r.c-u.c-r.b+u.b)*_.xaxis._m);var f="translate("+(_.x0+t)+","+(_.y0+e)+")";_.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var h="translate("+-t+","+-e+")";_.clipDefRelative.select("path").attr("transform",h),_.aaxis.range=[u.a,_.sum-u.b-u.c],_.baxis.range=[_.sum-u.a-u.c,u.b],_.caxis.range=[_.sum-u.a-u.b,u.c],_.drawAxes(!1),_.plotContainer.selectAll(".crisp").classed("crisp",!1),_._hasClipOnAxisFalse&&_.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,_)}function N(){var t={};t[_.id+".aaxis.min"]=u.a,t[_.id+".baxis.min"]=u.b,t[_.id+".caxis.min"]=u.c,a.call("relayout",L,t)}k.onmousemove=function(t){g.hover(L,t,_.id),L._fullLayout._lasthover=k,L._fullLayout._hoversubplot=_.id},k.onmouseout=function(t){L._dragging||d.unhover(L,t)},d.init(P)}},{"../../components/color":474,"../../components/dragelement":496,"../../components/drawing":499,"../../components/fx":516,"../../components/titles":567,"../../lib":602,"../../lib/extend":591,"../../registry":732,"../cartesian/axes":648,"../cartesian/constants":653,"../cartesian/select":665,"../cartesian/set_convert":666,"../plots":710,d3:130,tinycolor2:415}],732:[function(t,e,r){"use strict";var n=t("./lib/loggers"),i=t("./lib/noop"),a=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/extend"),l=t("./plots/attributes"),c=t("./plots/layout_attributes"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s-1&&(u[h[r]].title="");for(r=0;r")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":474,"../components/drawing":499,"../constants/xmlns_namespaces":581,"../lib":602,d3:130}],741:[function(t,e,r){"use strict";var n=t("../../lib").mergeArray;e.exports=function(t,e){for(var r=0;ra;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e.01?N:function(t,e){return Math.abs(t-e)>=2?N(t):t>e?Math.ceil(t):Math.floor(t)};C=F(C,A=F(A,C)),L=F(L,E=F(E,L))}o.ensureSingle(z,"path").style("vector-effect","non-scaling-stroke").attr("d","M"+A+","+E+"V"+L+"H"+C+"V"+E+"Z").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+f,transform:"","text-anchor":"middle","data-notex":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(!A)return;if("none"===(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n)))return;var T,S,C,E,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),D=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),O=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),I=t._fullLayout.barmode,R="stack"===I||"relative"===I,B=r[n],F=!R||B._outmost,N=Math.abs(a-i)-2*v,j=Math.abs(u-l)-2*v;"outside"===f&&(F||(f="inside"));if("auto"===f)if(F){f="inside",T=w(e,A,D),S=c.bBox(T.node()),C=S.width,E=S.height;var V=C>0&&E>0,U=C<=N&&E<=j,q=C<=j&&E<=N,H="h"===M?N>=C*(j/E):j>=E*(N/C);V&&(U||q||H)?f="inside":(f="outside",T.remove(),T=null)}else f="inside";if(!T&&(T=w(e,A,"outside"===f?O:D),S=c.bBox(T.node()),C=S.width,E=S.height,C<=0||E<=0))return void T.remove();"outside"===f?(z="both"===k.constraintext||"outside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l="h"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c="h"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,"h"===a?er?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z="both"===k.constraintext||"inside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):dr?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr("transform",L)}(t,z,r,u,A,C,E,L),e.layerClipId&&c.hideOutsideRangePoint(r[u],z.select("text"),f,w,M.xcalendar,M.ycalendar)}else z.remove();function N(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-B,2):t}});var E=!1===r[0].trace.cliponaxis;c.setClipUrl(A,E?null:e.layerClipId)}),u.getComponentMethod("errorbars","plot")(M,e)}},{"../../components/color":474,"../../components/drawing":499,"../../lib":602,"../../lib/svg_text_utils":626,"../../registry":732,"./attributes":742,d3:130,"fast-isnumeric":196,tinycolor2:415}],750:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;rf+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),r.selectAll("g.points").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod("errorbars","style")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path"),n),i.selectedTextStyle(r.selectAll("text"),n)):o(r,n,t)}}},{"../../components/drawing":499,"../../registry":732,d3:130}],754:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),i(t,"marker")&&a(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":474,"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488}],755:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/color/attributes"),a=t("../../lib/extend").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:a({},n.text,{}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calcIfAutorange"},notched:{valType:"boolean",editType:"calcIfAutorange"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calcIfAutorange"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calcIfAutorange"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calcIfAutorange"},jitter:{valType:"number",min:0,max:1,editType:"calcIfAutorange"},pointpos:{valType:"number",min:-2,max:2,editType:"calcIfAutorange"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:a({},o.symbol,{arrayOk:!1,editType:"plot"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:a({},o.size,{arrayOk:!1,editType:"calcIfAutorange"}),color:a({},o.color,{arrayOk:!1,editType:"style"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":473,"../../lib/extend":591,"../scatter/attributes":926}],756:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),m=o.getFromId(t,e.yaxis||"y"),v=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,f="x",h=m,p="y"):(u=m,f="y",h=g,p="x");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||i.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l=r.d2c(s,0,t[e+"calendar"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&C0){var L=T[r].sort(l),z=L.map(c),P=z.length,D={pos:w[r],pts:L};D.min=z[0],D.max=z[P-1],D.mean=i.mean(z,P),D.sd=i.stdev(z,P,D.mean),D.q1=i.interp(z,.25),D.med=i.interp(z,.5),D.q3=i.interp(z,.75),D.lf=Math.min(D.q1,z[Math.min(i.findBin(2.5*D.q1-1.5*D.q3,z,!0)+1,P-1)]),D.uf=Math.max(D.q3,z[Math.max(i.findBin(2.5*D.q3-1.5*D.q1,z),0)]),D.lo=4*D.q1-3*D.q3,D.uo=4*D.q3-3*D.q1;var O=1.57*(D.q3-D.q1)/Math.sqrt(P);D.ln=D.med-O,D.un=D.med+O,v.push(D)}return function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,"median:"),min:a(t,"min:"),q1:a(t,"q1:"),q3:a(t,"q3:"),max:a(t,"max:"),mean:"sd"===e.boxmean?a(t,"mean \xb1 \u03c3:"):a(t,"mean:"),lf:a(t,"lower fence:"),uf:a(t,"upper fence:")}},d[y]++,v):[{t:{empty:!0}}]}},{"../../lib":602,"../../plots/cartesian/axes":648,"fast-isnumeric":196}],757:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../components/color"),o=t("./attributes");function s(t,e,r,n){var a,o,s=r("y"),l=r("x"),c=l&&l.length;if(s&&s.length)a="v",c?o=Math.min(l.length,s.length):(r("x0"),o=s.length);else{if(!c)return void(e.visible=!1);a="h",r("y0"),o=l.length}e._length=o,i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],n),r("orientation",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(a+"points",s||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text")):delete e.marker,r("hoveron"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c("line.color",(t.marker||{}).color||r),c("line.width"),c("fillcolor",a.addOpacity(e.line.color,.5)),c("whiskerwidth"),c("boxmean"),c("notched",void 0!==t.notchwidth)&&c("notchwidth"),l(t,e,c,{prefix:"box"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{"../../components/color":474,"../../lib":602,"../../registry":732,"./attributes":755}],758:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../scatter/fill_hover_text");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A="violin"===k.type,T=[],S=M.bdPos,C=M.wHover,E=function(t){return t.pos+M.bPos-p};A&&"both"!==k.side?("positive"===k.side&&(m=function(t){var e=E(t);return a.inbox(e,e+C,v)}),"negative"===k.side&&(m=function(t){var e=E(t);return a.inbox(e-C,e,v)})):m=function(t){var e=E(t);return a.inbox(e-C,e+C,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},"h"===k.orientation?(h=e,p=r,d=x,g=m,l="y",u=w,c="x",f=_):(h=r,p=e,d=m,g=x,l="x",u=_,c="y",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var D=b[t.index],O=k.line.color,I=(k.marker||{}).color;o.opacity(O)&&k.line.width?t.color=O:o.opacity(I)&&k.boxpoints?t.color=I:t.color=k.fillcolor,t[l+"0"]=u.c2p(D.pos+M.bPos-S,!0),t[l+"1"]=u.c2p(D.pos+M.bPos+S,!0),t[l+"LabelVal"]=D.pos;var R=l+"Spike";t.spikeDistance=z(D)*y/v,t[R]=u.c2p(D.pos,!0);var B={},F=["med","min","q1","q3","max"];(k.boxmean||(k.meanline||{}).visible)&&F.push("mean"),(k.boxpoints||k.points)&&F.push("lf","uf");for(var N=0;Nt.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;et.lo&&(_.so=!0)}return a});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var h=t.selectAll("path.mean").data(i.identity);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,h=c.c2p(t.mean,!0),p=c.c2p(t.mean-t.sd,!0),d=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+h+","+i+"V"+a+("sd"===r.boxmean?"m0,0L"+p+","+e+"L"+h+","+i+"L"+d+","+e+"Z":"")):n.select(this).attr("d","M"+i+","+h+"H"+a+("sd"===r.boxmean?"m0,0L"+e+","+p+"L"+i+","+h+"L"+e+","+d+"Z":""))})}e.exports={plot:function(t,e,r,i){var a=t._fullLayout,o=e.xaxis,s=e.yaxis,f=i.selectAll("g.trace.boxes").data(r,function(t){return t[0].trace.uid});f.enter().append("g").attr("class","trace boxes"),f.exit().remove(),f.order(),f.each(function(t){var r=t[0],i=r.t,f=r.trace,h=n.select(this);e.isRangePlot||(r.node3=h);var p,d,g=a._numBoxes,m=1-a.boxgap,v="group"===a.boxmode&&g>1,y=i.dPos*m*(1-a.boxgroupgap)/(v?g:1),x=v?2*i.dPos*((i.num+.5)/g-.5)*m:0,b=y*f.whiskerwidth;!0!==f.visible||i.empty?h.remove():("h"===f.orientation?(p=s,d=o):(p=o,d=s),i.bPos=x,i.bdPos=y,i.wdPos=b,i.wHover=i.dPos*(v?m/g:1),l(h,{pos:p,val:d},f,i),f.boxpoints&&c(h,{x:o,y:s},f,i),f.boxmean&&u(h,{pos:p,val:d},f,i))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":499,"../../lib":602,d3:130}],763:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s0?Math.floor:Math.ceil,P=E>0?Math.ceil:Math.floor,D=E>0?Math.min:Math.max,O=E>0?Math.max:Math.min,I=z(S+L),R=P(C-L),B=[[f=T(S)]];for(a=I;a*E=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],778:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,C=T[0].length,E=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function D(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,"b"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;hx.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;ax[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(D(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;hx[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(D(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":591,"../../plots/cartesian/axes":648}],779:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],793:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment"),f=t("../../plots/get_data").getUidsFromCalcData;function h(t,e,r,n){var i=r[0],l=r[0].trace,u=e.xaxis,f=e.yaxis,h=l.aaxis,g=l.baxis,m=t._fullLayout._clips,y=c.ensureSingle(n,"g","carpet"+l.uid).classed("trace",!0),x=c.ensureSingle(y,"g","minorlayer"),b=c.ensureSingle(y,"g","majorlayer"),_=c.ensureSingle(y,"g","boundarylayer"),w=c.ensureSingle(y,"g","labellayer");y.style("opacity",l.opacity),p(u,f,b,h,"a",h._gridlines),p(u,f,b,g,"b",g._gridlines),p(u,f,x,h,"a",h._minorgridlines),p(u,f,x,g,"b",g._minorgridlines),p(u,f,_,h,"a-boundary",h._boundarylines),p(u,f,_,g,"b-boundary",g._boundarylines),function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,w,l,i,u,f,d(t,u,f,l,i,w,h._labels,"a-label"),d(t,u,f,l,i,w,g._labels,"b-label")),function(t,e,r,n,i){var s,l,u,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,g=[];for(f=0;f0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*h+","+.3*m.height+")"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var a=f(r);i.selectAll("g.trace").each(function(){var t=n.select(this).attr("class").split("carpet")[1].split(/\s/)[0];a[t]||n.select(this).remove()});for(var o=0;o90&&d<270,y=n.select(this);y.text(u.title||"").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+m)*g*a-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(i.font,u.titlefont)}),y.exit().remove()}},{"../../components/drawing":499,"../../constants/alignment":574,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/get_data":684,"./makepath":790,"./map_1d_array":791,"./orient_text":792,d3:130}],794:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/search").findBin,a=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&tg&&ed||em},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];ne[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":621,"./compute_control_points":782,"./constants":783,"./create_i_derivative_evaluator":784,"./create_j_derivative_evaluator":785,"./create_spline_evaluator":786}],795:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",M,"after",A,"iterations"),t}},{"../../lib":602}],796:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":602}],797:[function(t,e,r){"use strict";var n=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend"),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:n.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]})},c({},i,{zmax:{editType:"calc"},zmin:{editType:"calc"}}),{colorbar:a})},{"../../components/colorbar/attributes":475,"../../components/colorscale/attributes":480,"../../lib/extend":591,"../../plots/attributes":645,"../scattergeo/attributes":964}],798:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c")}(t,f,o,h.mockAxis),[t]}},{"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934,"./attributes":797}],802:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../heatmap/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="choropleth",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","noOpacity"],n.meta={},e.exports=n},{"../../plots/geo":678,"../heatmap/colorbar":838,"./attributes":797,"./calc":798,"./defaults":799,"./event_data":800,"./hover":801,"./plot":803,"./select":804,"./style":805}],803:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case"MultiPolygon":for(r=0;r":f.value>h&&(s.prefixBoundary=!0);break;case"<":f.valueh)&&(s.prefixBoundary=!0);break;case"][":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),ah&&(s.prefixBoundary=!0)}}},{}],809:[function(t,e,r){"use strict";var n=t("../../plots/plots"),i=t("../../components/colorbar/draw"),a=t("./make_color_map"),o=t("./end_plus");e.exports=function(t,e){var r=e[0].trace,s="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,p=a(r,{isColorbar:!0});"heatmap"===h&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor("fill"===h||"heatmap"===h?p:"").line({color:"lines"===h?p:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{"../../components/colorbar/draw":478,"../../plots/plots":710,"./end_plus":817,"./make_color_map":822}],810:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],811:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./label_defaults"),a=t("../../components/color"),o=a.addOpacity,s=a.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?h=g.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),i(r,a,p,f)}},{"../../components/color":474,"../../constants/filter_ops":575,"./label_defaults":821,"fast-isnumeric":196}],812:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),i=t("fast-isnumeric");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":575,"fast-isnumeric":196}],813:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],814:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":602,"./constraint_mapping":812,"./end_plus":817}],817:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants");function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(","),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(",");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(",")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O=a(d[0],d[d.length-1],o,l),I=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c=F;c--)if((x=B[c])=F&&x+B[b]T&&S--,t.edgepaths[S]=E.concat(d,C));break}U||(t.edgepaths[T]=d.concat(C))}for(T=0;Tt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;rt.level}return r?"M"+e.join("L")+"Z":""}(t,e),h=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(o.convertToTspans,r)}),s){for(var c="",u=0;ue.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if("constraint"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{"../../lib":602,"../../plots/cartesian/axes":648}],826:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,f=!u&&"lines"===a.coloring,h=!u&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),a(t)}},{"../../components/drawing":499,"../heatmap/style":848,"./make_color_map":822,d3:130}],827:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),i=t("./label_defaults");e.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&n(t,e,a,r,{prefix:"",cLetter:"z"}),r("line.smoothing"),i(r,a,c,o)}},{"../../components/colorscale/defaults":484,"./label_defaults":821}],828:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=i.contours,o=t("../scatter/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/colorbar/attributes"),c=t("../../lib/extend").extendFlat,u=o.line;e.exports=c({},{carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:"plot"}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{"../../components/colorbar/attributes":475,"../../components/colorscale/attributes":480,"../../lib/extend":591,"../contour/attributes":806,"../heatmap/attributes":835,"../scatter/attributes":926}],829:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../../lib").isArray1D,a=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/max_row_length"),l=t("../heatmap/interp2d"),c=t("../heatmap/find_empties"),u=t("../heatmap/make_bound_array"),f=t("./defaults"),h=t("../carpet/lookup_carpetid"),p=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,"a","b",["z"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],p=p?x.makeCalcdata(e,"_b"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),e._interpz=l(m,e._emptypoints,e._interpz);var b=s(m),_="scaled"===e.xtype?"":r,w=u(e,_,f,h,b,y),k="scaled"===e.ytype?"":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(e,m,"","z");return[A]}(0,e);return p(e),m}}},{"../../components/colorscale/calc":481,"../../lib":602,"../carpet/lookup_carpetid":789,"../contour/set_contours":825,"../heatmap/clean_2d_array":837,"../heatmap/convert_column_xyz":839,"../heatmap/find_empties":841,"../heatmap/interp2d":844,"../heatmap/make_bound_array":845,"../heatmap/max_row_length":846,"./defaults":830}],830:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text");var f="constraint"===u("contours.type");f||delete e.showlegend,f?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":602,"../contour/constraint_defaults":811,"../contour/contours_defaults":813,"../contour/style_defaults":827,"../heatmap/xyz_defaults":850,"./attributes":828}],831:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../contour/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../contour/style"),n.moduleType="trace",n.name="contourcarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"../contour/colorbar":809,"../contour/style":826,"./attributes":828,"./calc":829,"./defaults":830,"./plot":834}],832:[function(t,e,r){"use strict";var n=t("../../components/drawing"),i=t("../carpet/axis_aligned_line"),a=t("../../lib");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,v,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])=0&&(p=E,g=m):Math.abs(h[1]-p[1])=0&&(p=E,g=m):a.log("endpt to newendpt is not vert. or horz.",h,p,E)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log("unclosed perimeter path");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+"Z",h=null)}for(f=0;f=0;q--)j=M.clipsegments[q],V=i([],j.x,E.c2p),U=i([],j.y,L.c2p),V.reverse(),U.reverse(),G.push(a(V,U,j.bicubic));var W="M"+G.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;hm&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),h.LABELMAX),a=0;az){E("x scale is not linear");break}}if(m.length&&"fast"===S){var P=(m[m.length-1]-m[0])/(m.length-1),D=Math.abs(P/100);for(b=0;bD){E("y scale is not linear");break}}}var O=c(x),I="scaled"===e.xtype?"":r,R=p(e,I,d,g,O,w),B="scaled"===e.ytype?"":m,F=p(e,B,v,y,x.length,k);T||(a.expand(w,R),a.expand(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(I&&I.length===R.length-1&&(N.xCenter=I),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&"constraint"===e.contours.type||s(e,x,"","z"),M&&e.contours&&"heatmap"===e.contours.coloring){var j={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,I,d,g,O,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{"../../components/colorscale/calc":481,"../../lib":602,"../../plots/cartesian/axes":648,"../../registry":732,"../histogram2d/calc":867,"./clean_2d_array":837,"./convert_column_xyz":839,"./find_empties":841,"./interp2d":844,"./make_bound_array":845,"./max_row_length":846}],837:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{"./max_row_length":846}],842:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;Sg&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e,r){var i,s,l=1;if(Array.isArray(r))for(i=0;i.01;i++)l=o(t,e,a(l));return l>.01&&n.log("interp2d didn't converge quickly",l),t}},{"../../lib":602}],845:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u0;)f=_.c2p(A[y]),y--;for(f0;)v=w.c2p(T[y]),y--;if(v image").each(function(t){var e=t.trace||{};a[e.uid]||n.select(this.parentNode).remove()});for(var o=0;o0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&vo){var y=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cu.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s=0&&w=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),J=[],K=0,Q=Z-1;for(r=0;r=K;r--)if(d[r]){Q=r;break}for(r=K;r<=Q;r++)if(n(f[r])&&n(d[r])){var $={p:f[r],s:d[r],b:0};x.enabled||($.pts=z[r],H?$.p0=$.p1=z[r].length?A[z[r][0]]:f[r]:($.p0=U(S[r]),$.p1=U(S[r+1],!0))),J.push($)}return 1===J.length&&(J[0].width1=a.tickIncrement(J[0].p,M.size,!1,y)-J[0].p),o(J,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(J,e,Y),J}}},{"../../constants/numerical":579,"../../lib":602,"../../plots/cartesian/axes":648,"../bar/arrays_to_calcdata":741,"./average":855,"./bin_functions":857,"./bin_label_vals":858,"./clean_bins":860,"./norm_functions":865,"fast-isnumeric":196}],860:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").cleanDate,a=t("../../constants/numerical"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+"bins",c=t[l];c||(c=t[l]={});var u="date"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f="date"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if("string"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||"date"!==a||"M"!==p||d!==Math.round(d))&&(c.size=f)}var g="autobin"+r;"boolean"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t["nbins"+r],delete t._fullInput["nbins"+r])}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],861:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/color"),o=t("./bin_defaults"),s=t("../bar/style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u("x"),h=u("y");u("cumulative.enabled")&&(u("cumulative.direction"),u("cumulative.currentbin")),u("text");var p=u("orientation",h&&!f?"h":"v"),d="v"===p?"x":"y",g="v"===p?"y":"x",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],c),e[g]&&u("histfunc"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,a.defaultLine,{axis:"y"}),v(t,e,a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{"../../components/color":474,"../../lib":602,"../../registry":732,"../bar/style_defaults":754,"./attributes":854,"./bin_defaults":856}],862:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;sA&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,"x",m,g,_,k,x),u(e,"y",y,v,w,M,b);var T=[],S=[],C=[],E="string"==typeof e.xbins.size,L="string"==typeof e.ybins.size,z=[],P=[],D=E?z:e.xbins,O=L?P:e.ybins,I=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf("density"),V="max"===N||"min"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Y&&"count"!==N&&(H="avg"===N,U=a[N]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r=0&&c=0&&d0)c=o(t.alphahull,u);else{var p=["x","y","z"].indexOf(t.delaunayaxis);c=a(u.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:u,cells:c,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color="#fff",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=t.colorscale.map(function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=f(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=f(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../lib/str2rgbarray":625,"alpha-shape":48,"convex-hull":110,"delaunay-triangulate":132,"gl-mesh3d":244,tinycolor2:415}],879:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c(["x","y","z"]),f=c(["i","j","k"]);u?(f&&f.forEach(function(t){for(var e=0;ed):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?"increasing":"decreasing",h&&(w.tx=e.text[m]),g.push(w)}}return a.expand(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a"),t.y0=t.y1=f.c2p(C.yc,!0),[t]}},{"../../components/color":474,"../../components/fx":516,"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934}],885:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),selectPoints:t("./select")}},{"../../plots/cartesian":659,"./attributes":881,"./calc":882,"./defaults":883,"./hover":884,"./plot":887,"./select":888,"./style":889}],886:[function(t,e,r){"use strict";var n=t("../../registry");e.exports=function(t,e,r,i){var a=r("x"),o=r("open"),s=r("high"),l=r("low"),c=r("close");if(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{"../../registry":732}],887:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis,l=a.selectAll("g.trace").data(r,function(t){return t[0].trace.uid});l.enter().append("g").attr("class","trace ohlc"),l.exit().remove(),l.order(),l.each(function(t){var r=t[0],a=r.t,l=r.trace,c=n.select(this);if(e.isRangePlot||(r.node3=c),!0!==l.visible||a.empty)c.remove();else{var u=a.tickLen,f=c.selectAll("path").data(i.identity);f.enter().append("path"),f.exit().remove(),f.attr("d",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":602,d3:130}],888:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function m(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function v(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;se){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on("mousemove",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r="crosshair";e.clickableOrdinalRange?r="pointer":e.region&&(r=e.region+"-resize"),i.select(document.body).style("cursor",r)}}).on("mouseleave",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on("dragstart",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar="ns"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s["s"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on("drag",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on("dragend",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,a);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(g).call(m).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(b);var i=t.selectAll(".highlight").data(o);i.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),i.attr("y1",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":602,"../../lib/gup":599,"./constants":895,d3:130}],892:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":581,"../../plots/get_data":684,"./plot":900,d3:130}],893:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("../../lib"),o=t("../../lib/gup").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;rs&&(n.log("parcoords traces support up to "+s+" dimensions at the moment"),l.splice(s)),o=0;o>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t["p"+n.toString(16)](M(e,r,n))}(E,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var D=[0,1];var O=[];function I(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:D,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){D[0]=t[0],D[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;ic&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasXn._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function C(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var E=1;E=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style("opacity",function(t){return t.pick?.01:1}),e.style("background","rgba(255, 255, 255, 0)");var A=e.selectAll("."+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append("g").classed(i.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),A.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var T=A.selectAll("."+i.cn.parcoordsControlView).data(u,c);T.enter().append("g").classed(i.cn.parcoordsControlView,!0),T.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var S=T.selectAll("."+i.cn.yAxis).data(function(t){return t.dimensions},c);function C(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;aline").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),L.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var z=E.selectAll("."+i.cn.axisHeading).data(u,c);z.enter().append("g").classed(i.cn.axisHeading,!0);var P=z.selectAll("."+i.cn.axisTitle).data(u,c);P.enter().append("text").classed(i.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),P.attr("transform","translate(0,"+-i.axisTitleOffset+")").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var D=E.selectAll("."+i.cn.axisExtent).data(u,c);D.enter().append("g").classed(i.cn.axisExtent,!0);var O=D.selectAll("."+i.cn.axisExtentTop).data(u,c);O.enter().append("g").classed(i.cn.axisExtentTop,!0),O.attr("transform","translate(0,"+-i.axisExtentOffset+")");var I=O.selectAll("."+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return"";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}I.enter().append("text").classed(i.cn.axisExtentTopText,!0).call(y),I.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=D.selectAll("."+i.cn.axisExtentBottom).data(u,c);B.enter().append("g").classed(i.cn.axisExtentBottom,!0),B.attr("transform",function(t){return"translate(0,"+(t.model.height+i.axisExtentOffset)+")"});var F=B.selectAll("."+i.cn.axisExtentBottomText).data(u,c);F.enter().append("text").classed(i.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(E)}},{"../../components/drawing":499,"../../lib":602,"../../lib/gup":599,"./axisbrush":891,"./constants":895,"./lines":898,d3:130}],900:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;i(t);var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o["dimensions["+r+"].constraintrange"]=a,t.emit("plotly_restyle",[o,[e]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){function n(t){return!("visible"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit("plotly_restyle")}})}},{"../../lib/prepare_regl":615,"./parcoords":899}],901:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../../plots/font_attributes"),a=t("../../plots/attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=i({editType:"calc",colorEditType:"style"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:n.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:s({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}},{"../../components/color/attributes":473,"../../lib/extend":591,"../../plots/attributes":645,"../../plots/domain":673,"../../plots/font_attributes":674}],902:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/get_data").getModuleCalcData;r.name="pie",r.plot=function(t){var e=n.getModule("pie"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has("pie"),a=e._has&&e._has("pie");i&&!a&&n._pielayer.selectAll("g.trace").remove()}},{"../../plots/get_data":684,"../../registry":732}],903:[function(t,e,r){"use strict";var n,i=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,o=t("tinycolor2"),s=t("../../components/color"),l=t("./helpers");function c(t,e){if(!n){var r=s.defaults;n=u(r)}var i=e||n;return i[t%i.length]}function u(t){var e,r=t.slice();for(e=0;e")}}return y}},{"../../components/color":474,"../../lib":602,"./helpers":906,"fast-isnumeric":196,tinycolor2:415}],904:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s("values"),f=n.isArrayOrTypedArray(u),h=s("labels");if(Array.isArray(h)&&(l=h.length,f&&(l=Math.min(l,u.length))),!Array.isArray(h)){if(!f)return void(e.visible=!1);l=u.length,s("label0"),s("dlabel")}if(l){e._length=l,s("marker.line.width")&&s("marker.line.color"),s("marker.colors"),s("scalegroup");var p=s("text"),d=s("textinfo",Array.isArray(p)?"text+percent":"percent");if(s("hovertext"),d&&"none"!==d){var g=s("textposition"),m=Array.isArray(g)||"auto"===g,v=m||"inside"===g,y=m||"outside"===g;if(v||y){var x=c(s,"textfont",o.font);v&&c(s,"insidetextfont",x),y&&c(s,"outsidetextfont",x)}}a(e,o,s),s("hole"),s("sort"),s("direction"),s("rotation"),s("pull")}else e.visible=!1}},{"../../lib":602,"../../plots/domain":673,"./attributes":901}],905:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{"../../components/fx/helpers":513}],906:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;il&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;ai.vTotal/2?1:0)}(e),p.each(function(){var p=n.select(this).selectAll("g.slice").data(e);p.enter().append("g").classed("slice",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll("path,g").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll("path.surface").data([e]),b=!1,_=!1;if(x.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),y.select("path.textline").remove(),y.on("mouseover",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),"all"===l&&(l="label+text+value+percent+name"),"none"!==l&&"skip"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf("label")&&x.push(e.label),-1!==l.indexOf("text")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf("value")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf("percent")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join("
      "),name:-1!==l.indexOf("name")?s.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit("plotly_hover",{points:[u(e,s)],event:n.event}),_=!0}}).on("mouseout",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit("plotly_unhover",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on("click",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M="M"+(a+e.px0[0])+","+(p+e.px0[1])+E(e.px0,e.pxmid,!0,1)+E(e.pxmid,e.px0,!0,1)+"Z";k?x.attr("d","M"+(a+k*e.px0[0])+","+(p+k*e.px0[1])+E(e.px0,e.pxmid,!1,k)+E(e.pxmid,e.px0,!1,k)+"Z"+M):x.attr("d",M)}else{var A=E(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr("d","M"+(a+k*e.px1[0])+","+(p+k*e.px1[1])+E(e.px1,e.px0,!1,k)+"l"+T*e.px0[0]+","+T*e.px0[1]+A+"Z")}else x.attr("d","M"+a+","+p+"l"+e.px0[0]+","+e.px0[1]+A+"Z")}var S=c.castOption(g.textposition,e.pts),C=y.selectAll("g.slicetext").data(e.text&&"none"!==S?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each(function(){var r=s.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});r.text(e.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,"outside"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());"outside"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),"auto"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr("transform","translate("+u+","+m+")"+(i.scale<1?"scale("+i.scale+")":"")+(i.rotate?"rotate("+i.rotate+")":"")+"translate("+-(c.left+c.right)/2+","+-(c.top+c.bottom)/2+")")})}function E(t,r,n,i){return"a"+i*d.r+","+i*d.r+" 0 "+e.largeArc+(n?" 1 ":" 0 ")+i*(r[0]-t[0])+","+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;pMath.abs(c)?o+="l"+c*t.pxmid[0]/t.pxmid[1]+","+c+"H"+(i+t.labelExtraX+s):o+="l"+t.labelExtraX+","+l+"v"+(c-l)+"h"+s}else o+="V"+(t.yLabelMid+t.labelExtraY)+"h"+s;e.append("path").classed("textline",!0).call(a.stroke,g.outsidetextfont.color).attr({"stroke-width":Math.min(2,g.outsidetextfont.size/8),d:o,fill:"none"})}})})}),setTimeout(function(){p.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)}},{"../../components/color":474,"../../components/drawing":499,"../../components/fx":516,"../../lib":602,"../../lib/svg_text_utils":626,"./event_data":905,"./helpers":906,d3:130}],911:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(i,t,e)})})}},{"./style_one":912,d3:130}],912:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./helpers").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({"stroke-width":s}).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":474,"./helpers":906}],913:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"}}},{"../scatter/attributes":926}],914:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),i=t("../../lib/str2rgbarray"),a=t("../../plots/cartesian/autorange").expand,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,a,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,h=t.indices,p=this.bounds;if(u){if(n=u,e=u.length>>>1,f)p[0]=t.xbounds[0],p[2]=t.xbounds[1],p[1]=t.ybounds[0],p[3]=t.ybounds[1];else for(s=0;sp[2]&&(p[2]=a),op[3]&&(p[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;sp[2]&&(p[2]=a),op[3]&&(p[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var d=i(t.marker.color),g=i(t.marker.border.color),m=t.opacity*t.marker.opacity;d[3]*=m,this.pointcloudOptions.color=d;var v=t.marker.blend;if(null===v){v=l.length<100||c.length<100}this.pointcloudOptions.blend=v,g[3]*=m,this.pointcloudOptions.borderColor=g;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(p,x/2)},l.expandAxesFast=function(t,e){var r=e||.5;a(this.scene.xaxis,[t[0],t[2]],{ppad:r}),a(this.scene.yaxis,[t[1],t[3]],{ppad:r})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":625,"../../plots/cartesian/autorange":647,"../scatter/get_trace_color":936,"gl-pointcloud2d":255}],915:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},{"../../lib":602,"./attributes":913}],916:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../scatter3d/calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="pointcloud",n.basePlotModule=t("../../plots/gl2d"),n.categories=["gl","gl2d","showLegend"],n.meta={},e.exports=n},{"../../plots/gl2d":687,"../scatter3d/calc":952,"./attributes":913,"./convert":914,"./defaults":915}],917:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/attributes"),a=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=t("../../plot_api/edit_types").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]}}},"calc","nested")},{"../../components/color/attributes":473,"../../components/fx/attributes":508,"../../lib/extend":591,"../../plot_api/edit_types":633,"../../plots/attributes":645,"../../plots/domain":673,"../../plots/font_attributes":674}],918:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../components/fx/layout_attributes");r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=i(t.calcdata,"sankey")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("sankey"),a=e._has&&e._has("sankey");i&&!a&&n._paperdiv.selectAll(".sankey").remove()}},{"../../components/fx/layout_attributes":517,"../../plot_api/edit_types":633,"../../plots/get_data":684,"./plot":923}],919:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a1})}(e.node.label,e.link.source,e.link.target)&&(i.error("Circularity is present in the Sankey data. Removing all nodes and links."),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{"../../lib":602,"../../lib/gup":599,"strongly-connected-components":407}],920:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"cubic-in-out",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],921:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c("node.label"),c("node.pad"),c("node.thickness"),c("node.line.color"),c("node.line.width");var u=l.colorway;c("node.color",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c("link.label"),c("link.source"),c("link.target"),c("link.value"),c("link.line.color"),c("link.line.width"),c("link.color",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)"})),s(e,l,c),c("orientation"),c("valueformat"),c("valuesuffix"),c("arrangement"),n.coerceFont(c,"textfont",n.extendFlat({},l.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&n.warn("Some of the nodes are neither sources nor targets, they will not be displayed."),e._length=null}},{"../../components/color":474,"../../lib":602,"../../plots/domain":673,"./attributes":917,tinycolor2:415}],922:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.moduleType="trace",n.name="sankey",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":917,"./base_plot":918,"./calc":919,"./defaults":921,"./plot":923}],923:[function(t,e,r){"use strict";var n=t("d3"),i=t("./render"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",.4),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",.4),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,"source:")+" ",g=c(t,"target:")+" ",_=c(t,"incoming flow count:")+" ",w=c(t,"outgoing flow count:")+" ";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){n.select(e).call(y.bind(0,r,i,!0)),t.emit("plotly_hover",{event:n.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||"",d+i.link.source.label,g+i.link.target.label].filter(u).join("
      "),color:b(s,"bgcolor")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),idealAlign:n.event.x"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),idealAlign:"left"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)},unhover:function(e,i,o){n.select(e).call(v,i,o),t.emit("plotly_unhover",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":474,"../../components/fx":516,"../../lib":602,"./constants":920,"./render":924,d3:130}],924:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey").sankey,c=t("d3-force"),u=t("../../lib"),f=t("../../lib/gup").keyFun,h=t("../../lib/gup").repeat,p=t("../../lib/gup").unwrap;function d(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function g(t){return function(e){return e.node.originalX===t.node.originalX}}function m(t){for(var e=0;e1||t.linkLineWidth>0}function k(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function M(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function A(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function T(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function S(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function C(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function E(t){return t.horizontal&&t.left?"100%":"0%"}function L(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function z(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on("dragstart",function(i){if("fixed"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,d(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var a=i.traceId+"|"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force("collide",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,i){return function(){for(var t=0,a=0;a0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x=n,r.node.y=a):("freeform"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),d(r.node),"snap"!==r.arrangement&&(r.sankey.relayout(),b(t.filter(g(r)),e))}}).on("dragend",function(t){t.interactionState.dragInProgress=!1});t.on(".drag",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll("."+n.cn.sankey).data(e.filter(function(t){return p(t).trace.visible}).map(function(t,e,r){for(var i,a=p(e).trace,o=a.domain,s=a.node,c=a.link,f=a.arrangement,h="h"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,x=a.link.line.color,b=a.link.line.width,_=a.valueformat,w=a.valuesuffix,k=a.textfont,M=t.width*(o.x[1]-o.x[0]),A=t.height*(o.y[1]-o.y[0]),T=s.label.map(function(t,e){return{pointNumber:e,label:t,color:u.isArrayOrTypedArray(s.color)?s.color[e]:s.color}}),S=c.value.map(function(t,e){return{pointNumber:e,label:c.label[e],color:u.isArrayOrTypedArray(c.color)?c.color[e]:c.color,source:c.source[e],target:c.target[e],value:t}}),C=l().size(h?[M,A]:[A,M]).nodeWidth(g).nodePadding(d).nodes(T).links(S).layout(n.sankeyIterations),E=C.nodes(),L=0;L5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),B.transition().ease(n.ease).duration(n.duration).attr("startOffset",E).style("fill",C)}},{"../../components/color":474,"../../components/drawing":499,"../../lib":602,"../../lib/gup":599,"./constants":920,"@plotly/d3-sankey":42,d3:130,"d3-force":126,tinycolor2:415}],925:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],930:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../components/colorscale"),s=t("../../components/colorbar/draw");e.exports=function(t,e){var r=e[0].trace,l=r.marker,c="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{"../../components/colorbar/draw":478,"../../components/colorscale":489,"../../lib":602,"../../plots/plots":710,"fast-isnumeric":196}],931:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("./subtypes");e.exports=function(t){a.hasLines(t)&&n(t,"line")&&i(t,t.line.color,"line","c"),a.hasMarkers(t)&&(n(t,"marker")&&i(t,t.marker.color,"marker","c"),n(t,"marker.line")&&i(t,t.marker.line.color,"marker.line","c"))}},{"../../components/colorscale/calc":481,"../../components/colorscale/has_colorscale":488,"./subtypes":948}],932:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],933:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./marker_defaults"),u=t("./line_defaults"),f=t("./line_shape_defaults"),h=t("./text_defaults"),p=t("./fillcolor_defaults");e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=l(t,e,d,g),v=mV!=(D=C[T][1])>=V&&(L=C[T-1][0],z=C[T][0],D-P&&(E=L+(z-L)*(V-P)/(D-P),B=Math.min(B,E),F=Math.max(F,E)));B=Math.max(B,0),F=Math.min(F,h._length);var U=s.defaultLine;return s.opacity(f.fillcolor)?U=f.fillcolor:s.opacity((f.line||{}).color)&&(U=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:B,x1:F,y0:V,y1:V,color:U}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":474,"../../components/fx":516,"../../lib":602,"../../registry":732,"./fill_hover_text":934,"./get_trace_color":936}],938:[function(t,e,r){"use strict";var n={},i=t("./subtypes");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.cleanData=t("./clean_data"),n.calc=t("./calc").calc,n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.colorbar=t("./colorbar"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("./select"),n.animatable=!0,n.moduleType="trace",n.name="scatter",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","markerColorscale","errorBarsOK","showLegend","scatter-like","draggedPts"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"./arrays_to_calcdata":925,"./attributes":926,"./calc":927,"./clean_data":929,"./colorbar":930,"./defaults":933,"./hover":937,"./plot":945,"./select":946,"./style":947,"./subtypes":948}],939:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488,"../../lib":602}],940:[function(t,e,r){"use strict";var n=t("../../constants/numerical").BADNUM,i=t("../../lib"),a=i.segmentsIntersect,o=i.constrain,s=t("./constants");e.exports=function(t,e){var r,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=e.xaxis,M=e.yaxis,A=e.simplify,T=e.connectGaps,S=e.baseTolerance,C=e.shape,E="linear"===C,L=[],z=s.minTolerance,P=new Array(t.length),D=0;function O(e){var r=t[e],i=k.c2p(r.x),a=M.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function I(t){var e=t[0]/k._length,r=t[1]/M._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*S}function R(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}A||(S=z=-1);var B,F,N,j,V,U,q,H=s.maxScreensAway,G=-k._length*H,W=k._length*(1+H),Y=-M._length*H,X=M._length*(1+H),Z=[[G,Y,W,Y],[W,Y,W,X],[W,X,G,X],[G,X,G,Y]];function J(t){if(t[0]W||t[1]X)return[o(t[0],G,W),o(t[1],Y,X)]}function K(t,e){return t[0]===e[0]&&(t[0]===G||t[0]===W)||(t[1]===e[1]&&(t[1]===Y||t[1]===X)||void 0)}function Q(t,e,r){return function(n,a){var o=J(n),s=J(a),l=[];if(o&&s&&K(o,s))return l;o&&l.push(o),s&&l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);c&&((o&&s?c>0==o[t]>s[t]?o:s:o||s)[t]+=c);return l}}function $(t){var e=t[0],r=t[1],n=e===P[D-1][0],i=r===P[D-1][1];if(!n||!i)if(D>1){var a=e===P[D-2][0],o=r===P[D-2][1];n&&(e===G||e===W)&&a?o?D--:P[D-1]=t:i&&(r===Y||r===X)&&o?a?D--:P[D-1]=t:P[D++]=t}else P[D++]=t}function tt(t){P[D-1][0]!==t[0]&&P[D-1][1]!==t[1]&&$([N,j]),$(t),V=null,N=j=0}function et(t){if(B=t[0]W?W:0,F=t[1]X?X:0,B||F){if(D)if(V){var e=q(V,t);e.length>1&&(tt(e[0]),P[D++]=e[1])}else U=q(P[D-1],t)[0],P[D++]=U;else P[D++]=[B||t[0],F||t[1]];var r=P[D-1];B&&F&&(r[0]!==B||r[1]!==F)?(V&&(N!==B&&j!==F?$(N&&j?(n=V,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?G:W,X]:[o>0?W:G,Y]):[N||B,j||F]):N&&j&&$([N,j])),$([B,F])):N-B&&j-F&&$([B||N,F||j]),V=t,N=B,j=F}else V&&tt(q(V,t)[0]),P[D++]=t;var n,i,a,o}for("linear"===C||"spline"===C?q=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var o=Z[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&&(!n||Math.abs(s.x-r[0][0])>1||Math.abs(s.y-r[0][1])>1)&&(s=[s.x,s.y],n&&R(s,t)I(h))break;c=h,(x=g[0]*d[0]+g[1]*d[1])>v?(v=x,u=h,p=!1):x=t.length||!h)break;et(h),l=h}}else et(u)}V&&$([N||V[0],j||V[1]]),L.push(P.slice(0,D))}return L}},{"../../constants/numerical":579,"../../lib":602,"./constants":932}],941:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],942:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,a=null;for(i=0;i0?Math.max(e,i):0}}},{"fast-isnumeric":196}],944:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":474,"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488,"./subtypes":948}],945:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../../components/drawing"),s=t("./subtypes"),l=t("./line_points"),c=t("./link_traces"),u=t("../../lib/polygon").tester;function f(t,e,r,c,f,h,p){var d,g;!function(t,e,r,i,o){var l=r.xaxis,c=r.yaxis,u=n.extent(a.simpleMap(l.range,l.r2c)),f=n.extent(a.simpleMap(c.range,c.r2c)),h=i[0].trace;if(!s.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;s.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function v(t){return m?t.transition():t}var y=r.xaxis,x=r.yaxis,b=c[0].trace,_=b.line,w=n.select(h);if(i.getComponentMethod("errorbars","plot")(w,r,p),!0===b.visible){var k,M;v(w).style("opacity",b.opacity);var A=b.fill.charAt(b.fill.length-1);"x"!==A&&"y"!==A&&(A=""),r.isRangePlot||(c[0].node3=w);var T="",S=[],C=b._prevtrace;C&&(T=C._prevRevpath||"",M=C._nextFill,S=C._polygons);var E,L,z,P,D,O,I,R,B,F="",N="",j=[],V=a.noop;if(k=b._ownFill,s.hasLines(b)||"none"!==b.fill){for(M&&M.datum(c),-1!==["hv","vh","hvh","vhv"].indexOf(_.shape)?(z=o.steps(_.shape),P=o.steps(_.shape.split("").reverse().join(""))):z=P="spline"===_.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?o.smoothclosed(t.slice(1),_.smoothing):o.smoothopen(t,_.smoothing)}:function(t){return"M"+t.join("L")},D=function(t){return P(t.reverse())},j=l(c,{xaxis:y,yaxis:x,connectGaps:b.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,simplify:_.simplify}),B=b._polygons=new Array(j.length),g=0;g1){var r=n.select(this);if(r.datum(c),t)v(r.style("opacity",0).attr("d",E).call(o.lineGroupStyle)).style("opacity",1);else{var i=v(r);i.attr("d",E),o.singleLineStyle(c,i)}}}}}var U=w.selectAll(".js-line").data(j);v(U.exit()).style("opacity",0).remove(),U.each(V(!1)),U.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(o.lineGroupStyle).each(V(!0)),o.setClipUrl(U,r.layerClipId),j.length?(k?O&&R&&(A?("y"===A?O[1]=R[1]=x.c2p(0,!0):"x"===A&&(O[0]=R[0]=y.c2p(0,!0)),v(k).attr("d","M"+R+"L"+O+"L"+F.substr(1)).call(o.singleFillStyle)):v(k).attr("d",F+"Z").call(o.singleFillStyle)):M&&("tonext"===b.fill.substr(0,6)&&F&&T?("tonext"===b.fill?v(M).attr("d",F+"Z"+T+"Z").call(o.singleFillStyle):v(M).attr("d",F+"L"+T.substr(1)+"Z").call(o.singleFillStyle),b._polygons=b._polygons.concat(S)):(H(M),b._polygons=null)),b._prevRevpath=N,b._prevPolygons=B):(k?H(k):M&&H(M),b._polygons=b._prevRevpath=b._prevPolygons=null);var q=w.selectAll(".points");d=q.data([c]),q.each(Z),d.enter().append("g").classed("points",!0).each(Z),d.exit().remove(),d.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(n.select(this),e?null:r.layerClipId)})}function H(t){v(t).attr("d","M0,0Z")}function G(t){return t.filter(function(t){return t.vis})}function W(t){return t.id}function Y(t){if(t.ids)return W}function X(){return!1}function Z(e){var i,l=e[0].trace,c=n.select(this),u=s.hasMarkers(l),f=s.hasText(l),h=Y(l),p=X,d=X;u&&(p=l.marker.maxdisplayed||l._needsCull?G:a.identity),f&&(d=l.marker.maxdisplayed||l._needsCull?G:a.identity);var g,b=(i=c.selectAll("path.point").data(p,h)).enter().append("path").classed("point",!0);m&&b.call(o.pointStyle,l,t).call(o.translatePoints,y,x).style("opacity",0).transition().style("opacity",1),i.order(),u&&(g=o.makePointStyleFns(l)),i.each(function(e){var i=n.select(this),a=v(i);o.translatePoint(e,a,y,x)?(o.singlePointStyle(e,a,l,g,t),r.layerClipId&&o.hideOutsideRangePoint(e,a,y,x,l.xcalendar,l.ycalendar),l.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()}),m?i.exit().transition().style("opacity",0).remove():i.exit().remove(),(i=c.selectAll("g").data(d,h)).enter().append("g").classed("textpoint",!0).append("text"),i.order(),i.each(function(t){var e=n.select(this),i=v(e.select("text"));o.translatePoint(t,i,y,x)?r.layerClipId&&o.hideOutsideRangePoint(t,e,y,x,l.xcalendar,l.ycalendar):e.remove()}),i.selectAll("text").call(o.textPointStyle,l,t).each(function(t){var e=y.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){v(n.select(this)).attr({x:e,y:r})})}),i.exit().remove()}}e.exports=function(t,e,r,i,a,s){var l,u,h,p,d=!a,g=!!a&&a.duration>0;for((h=i.selectAll("g.trace").data(r,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),c(t,e,r),function(t,e,r){var i;e.selectAll("g.trace").each(function(t){var e=n.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=e.select(".js-fill.js-tonext"),!i._nextFill.size()){var a=":first-child";e.select(".js-fill.js-tozero").size()&&(a+=" + *"),i._nextFill=e.insert("path",a).attr("class","js-fill js-tonext")}}else e.selectAll(".js-fill.js-tonext").remove(),i._nextFill=null;i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=e.select(".js-fill.js-tozero"),i._ownFill.size()||(i._ownFill=e.insert("path",":first-child").attr("class","js-fill js-tozero"))):(e.selectAll(".js-fill.js-tozero").remove(),i._ownFill=null),e.selectAll(".js-fill").call(o.setClipUrl,r.layerClipId)})}(0,i,e),l=0,u={};lu[e[0].trace.uid]?1:-1}),g)?(s&&(p=s()),n.transition().duration(a.duration).ease(a.easing).each("end",function(){p&&p()}).each("interrupt",function(){p&&p()}).each(function(){i.selectAll("g.trace").each(function(n,i){f(t,i,e,n,r,this,a)})})):i.selectAll("g.trace").each(function(n,i){f(t,i,e,n,r,this,a)});d&&h.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":499,"../../lib":602,"../../lib/polygon":614,"../../registry":732,"./line_points":940,"./link_traces":942,"./subtypes":948,d3:130}],946:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r=0&&(p[1]+=1),h.indexOf("top")>=0&&(p[1]-=1),h.indexOf("left")>=0&&(p[0]-=1),h.indexOf("right")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,E),r.textSize=x(e.textfont.size,E,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var O=["x","y","z"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var I=e.projection[O[n]];(r.project[n]=I.show)&&(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=d(e,b);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=c(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel="";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:u,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:u,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:u,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];f(m+".show")&&(f(m+".opacity"),f(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,r,{axis:"z"}),v(t,e,r,{axis:"y",inherit:"z"}),v(t,e,r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":602,"../../registry":732,"../scatter/line_defaults":939,"../scatter/marker_defaults":944,"../scatter/subtypes":948,"../scatter/text_defaults":949,"./attributes":951}],956:[function(t,e,r){"use strict";var n={};n.plot=t("./convert"),n.attributes=t("./attributes"),n.markerSymbols=t("../../constants/gl3d_markers"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.moduleType="trace",n.name="scatter3d",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d","symbols","markerColorscale","showLegend"],n.meta={},e.exports=n},{"../../constants/gl3d_markers":577,"../../plots/gl3d":690,"../scatter/colorbar":930,"./attributes":951,"./calc":952,"./convert":954,"./defaults":955}],957:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/color_attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:s({},n.mode,{dflt:"markers"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:["none","toself","tonext"]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:"calc"},a("marker".line)),gradient:l.gradient,editType:"calc"},a("marker"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":475,"../../components/colorscale/color_attributes":482,"../../lib/extend":591,"../../plots/attributes":645,"../scatter/attributes":926}],958:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../scatter/hover":937}],962:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scattercarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["svg","carpet","symbols","markerColorscale","showLegend","carpetDependent","draggedPts"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"../scatter/colorbar":930,"../scatter/select":946,"../scatter/style":947,"./attributes":957,"./calc":958,"./defaults":959,"./event_data":960,"./hover":961,"./plot":963}],963:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../plots/cartesian/axes"),a=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||"x"),yaxis:i.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,f,r,o),s=0;s")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{"../../components/fx":516,"../../constants/numerical":579,"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934,"../scatter/get_trace_color":936,"./attributes":964}],969:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style"),n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="scattergeo",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","symbols","markerColorscale","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/geo":678,"../scatter/colorbar":930,"../scatter/style":947,"./attributes":964,"./calc":965,"./defaults":966,"./event_data":967,"./hover":968,"./plot":970,"./select":971,"./style":972}],970:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;lh.TOO_MANY_POINTS?"rect":u.hasMarkers(e)?"rect":"round";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i1&&c.extendFlat(i.line,b(t,r,n)),i.errorX||i.errorY){var a=_(t,r,n);i.errorX&&c.extendFlat(i.errorX,a.x),i.errorY&&c.extendFlat(i.errorY,a.y)}return i}function A(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=c.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n=k&&(T.marker.cluster=m.tree),S.lineOptions.push(T.line),S.errorXOptions.push(T.errorX),S.errorYOptions.push(T.errorY),S.fillOptions.push(T.fill),S.markerOptions.push(T.marker),S.selectedOptions.push(T.selected),S.unselectedOptions.push(T.unselected),S.count++,m._scene=S,m.index=S.count-1,m.x=v,m.y=y,m.positions=x,m.count=u,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,e,r){if(r.length){var o=t._fullLayout,s=r[0][0].t._scene,l=o.dragmode;if(s){var c=o._size,h=o.width,p=o.height;u(t,["ANGLE_instanced_arrays","OES_element_index_uint"]);var d=o._glcanvas.data()[0].regl;if(m(t,e,r),s.dirty){if(!0===s.error2d&&(s.error2d=a(d)),!0===s.line2d&&(s.line2d=i(d)),!0===s.scatter2d&&(s.scatter2d=n(d)),!0===s.fill2d&&(s.fill2d=i(d)),s.line2d&&s.line2d.update(s.lineOptions),s.error2d){var g=(s.errorXOptions||[]).concat(s.errorYOptions||[]);s.error2d.update(g)}s.scatter2d&&s.scatter2d.update(s.markerOptions),s.fill2d&&(s.fillOptions=s.fillOptions.map(function(t,e){var n=r[e];if(!(t&&n&&n[0]&&n[0].trace))return null;var i,a,o=n[0],l=o.trace,c=o.t,u=s.lineOptions[e],f=[],h=u&&u.positions||c.positions;if("tozeroy"===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if("tozerox"===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if("toself"===l.fill||"tonext"===l.fill){for(f=[],i=0,a=0;a=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.wrap180(e[0]),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.wrap180(m[0])+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||a&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("
      ")}(c,g,l[0].t.labels),[t]}}},{"../../components/fx":516,"../../constants/numerical":579,"../../lib":602,"../scatter/fill_hover_text":934,"../scatter/get_trace_color":936}],983:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("../scattergeo/calc"),n.plot=t("./plot"),n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType="trace",n.name="scattermapbox",n.basePlotModule=t("../../plots/mapbox"),n.categories=["mapbox","gl","symbols","markerColorscale","showLegend","scatterlike"],n.meta={},e.exports=n},{"../../plots/mapbox":704,"../scatter/colorbar":930,"../scattergeo/calc":965,"./attributes":978,"./defaults":980,"./event_data":981,"./hover":982,"./plot":984,"./select":985}],984:[function(t,e,r){"use strict";var n=t("./convert");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+"-source-fill",line:e+"-source-line",circle:e+"-source-circle",symbol:e+"-source-symbol"},this.layerIds={fill:e+"-layer-fill",line:e+"-layer-line",circle:e+"-layer-circle",symbol:e+"-layer-symbol"},this.order=["fill","line","circle","symbol"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=o(c,u,l),a}},makeHoverPointText:o}},{"../../lib":602,"../../plots/cartesian/axes":648,"../scatter/hover":937}],990:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","markerColorscale","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":713,"../scatter/select":946,"../scatter/style":947,"./attributes":986,"./calc":987,"./defaults":988,"./hover":989,"./plot":991}],991:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]>u[1]?function(t){return t<=0}:function(t){return t>=0},a=0;a=0?(m=o.c2r(g)-l[0],T=v,y=s.c2rad(T,b.thetaunit),E[d]=C[2*d]=m*Math.cos(y),L[d]=C[2*d+1]=m*Math.sin(y)):E[d]=L[d]=C[2*d]=C[2*d+1]=NaN;var z=a.sceneOptions(t,e,b,C);z.fill&&!f.fill2d&&(f.fill2d=!0),z.marker&&!f.scatter2d&&(f.scatter2d=!0),z.line&&!f.line2d&&(f.line2d=!0),!z.errorX&&!z.errorY||f.error2d||(f.error2d=!0),_.tree=n(C),z.marker&&S>=u&&(z.marker.cluster=_.tree),c.hasMarkers(b)&&(z.selected.positions=z.unselected.positions=z.marker.positions),f.lineOptions.push(z.line),f.errorXOptions.push(z.errorX),f.errorYOptions.push(z.errorY),f.fillOptions.push(z.fill),f.markerOptions.push(z.marker),f.selectedOptions.push(z.selected),f.unselectedOptions.push(z.unselected),f.count=r.length,_._scene=f,_.index=p,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=k,_.positions=C,_.count=S}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,p=u.cd[u.index],d=u.trace;if(p.r=o[u.index],p.theta=s[u.index],p.rad=h.c2rad(p.theta,d.thetaunit),f.isPtWithinSector(p))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(p,d,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{"../../plots/cartesian/axes":648,"../../plots/polar":713,"../scatter/colorscale_calc":931,"../scatter/subtypes":948,"../scattergl":977,"../scattergl/constants":974,"../scatterpolar/hover":989,"./attributes":992,"./defaults":993,"fast-isnumeric":196,"point-cluster":353}],995:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/color_attributes"),o=t("../../components/colorbar/attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:["none","toself","tonext"]}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:"calc"},a("marker.line")),gradient:c.gradient,editType:"calc"},a("marker"),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":475,"../../components/colorscale/color_attributes":482,"../../components/drawing/attributes":498,"../../lib/extend":591,"../../plots/attributes":645,"../scatter/attributes":926}],996:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r"),o}function v(t,e){m.push(t._hovertitle+": "+i.tickText(t,e,"hover").text)}}},{"../../plots/cartesian/axes":648,"../scatter/hover":937}],1000:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scatterternary",n.basePlotModule=t("../../plots/ternary"),n.categories=["ternary","symbols","markerColorscale","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/ternary":725,"../scatter/colorbar":930,"../scatter/select":946,"../scatter/style":947,"./attributes":995,"./calc":996,"./defaults":997,"./event_data":998,"./hover":999,"./plot":1001}],1001:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,a,r,o)}},{"../scatter/plot":945}],1002:[function(t,e,r){"use strict";var n=t("../scattergl/attributes"),i=t("../../plots/cartesian/constants").idRegex;function a(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:i[t],editType:"plot"}}}e.exports={dimensions:{_isLinkedToArray:"dimension",visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"},text:n.text,marker:n.marker,xaxes:a("x"),yaxes:a("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:n.selected.marker,editType:"calc"},unselected:{marker:n.unselected.marker,editType:"calc"},opacity:n.opacity}},{"../../plots/cartesian/constants":653,"../scattergl/attributes":973}],1003:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib"),o=t("../../lib/prepare_regl"),s=t("../../plots/get_data").getModuleCalcData,l=t("../../plots/cartesian"),c=t("../../plots/cartesian/axis_ids"),u="splom";function f(t,e,r){for(var n=e.dimensions,i=r.matrixOptions.data.length,a=new Array(i),o=0,s=0;o1&&ra&&f?r._splomSubplots[y]=1:iv;for(r=0,n=0;r",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1016:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/extend").extendFlat,a=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1}),C=S.reduce(s,0);S=S.map(function(t){return t/C*v});var E=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:E,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:T[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return L.columns.forEach(function(t){t.calcdata=L,t.x=u(t)}),L}},{"../../lib/extend":591,"./constants":1015,"fast-isnumeric":196}],1017:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":591}],1018:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u="string"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(D(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);T(t,u,l)}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function E(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll("tspan.line").remove(),x(a.select("."+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll("."+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+z(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+a+")"}),o.settledY=!0}}}function z(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function P(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+O(e,1/0)},0);return"translate(0 "+(O(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=I(t[n]);return r}function O(t,e){for(var r=0,n=0;n0){var y,x,b,_,w,k=t.xa,M=t.ya;"h"===h.orientation?(w=e,y="y",b=M,x="x",_=k):(w=r,y="x",b=k,x="y",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),C=o.getKdeValue(A,h,w),E=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+"0"]=E[0],T[y+"1"]=E[1],T[x+"0"]=T[x+"1"]=S,T[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+C.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+"Spike";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+"1"]=n.constrain(L+E[0],L,L+z),u[y+"2"]=n.constrain(L+E[1],L,L+z),u[x+"1"]=u[x+"2"]=_._offset+S}}}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return D.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),D.exit().remove(),D.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":602,"../../plots/cartesian/axes":648,"../box/hover":758,"./helpers":1024}],1026:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),setPositions:t("./set_positions"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","draggedPts","violinLayout"],meta:{}}},{"../../plots/cartesian":659,"../box/select":763,"../scatter/style":947,"./attributes":1021,"./calc":1022,"./defaults":1023,"./hover":1025,"./layout_attributes":1027,"./layout_defaults":1028,"./plot":1029,"./set_positions":1030,"./style":1031}],1027:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),i=t("../../lib").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{"../../lib":602,"../box/layout_attributes":760}],1028:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../box/layout_defaults");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},"violin")}},{"../../lib":602,"../box/layout_defaults":761,"./layout_attributes":1027}],1029:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0});return a.smoothopen(e[0],1)}var d=c.selectAll("g.trace.violins").data(r,function(t){return t[0].trace.uid});d.enter().append("g").attr("class","trace violins"),d.exit().remove(),d.order(),d.each(function(t){var r=t[0],a=r.t,s=r.trace,c=n.select(this);e.isRangePlot||(r.node3=c);var d=u._numViolins,g="group"===u.violinmode&&d>1,m=1-u.violingap,v=a.bdPos=a.dPos*m*(1-u.violingroupgap)/(g?d:1),y=a.bPos=g?2*a.dPos*((a.num+.5)/d-.5)*m:0;if(a.wHover=a.dPos*(g?m/d:1),!0!==s.visible||a.empty)n.select(this).remove();else{var x=e[a.valLetter+"axis"],b=e[a.posLetter+"axis"],_="both"===s.side,w=_||"positive"===s.side,k=_||"negative"===s.side,M=s.box&&s.box.visible,A=s.meanline&&s.meanline.visible,T=u._violinScaleGroupStats[s.scalegroup],S=c.selectAll("path.violin").data(i.identity);if(S.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),S.exit().remove(),S.each(function(t){var e,r,i,o,l,c,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,M=b.c2p(m);switch(s.scalemode){case"width":e=T.maxWidth/v;break;case"count":e=T.maxWidth/v*(T.maxCount/t.pts.length)}if(w){for(u=new Array(g),l=0;la&&(a=u,o=c)}}return a?i(o):s};case"rms":return function(t,e){for(var r=0,a=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),M(m);for(var w=o(e.transforms,r),k=0;k1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;a Math.abs(e)) + c.rotate( + o, + 0, + 0, + (-t * i * Math.PI * d.rotateSpeed) / window.innerWidth, + ); + else { + var s = + (((d.zoomSpeed * a * e) / window.innerHeight) * (o - c.lastT())) / + 100; + c.pan(o, 0, 0, f * (Math.exp(s) - 1)); + } + }, + !0, + ), + d + ); + }; + var n = t("right-now"), + i = t("3d-view"), + a = t("mouse-change"), + o = t("mouse-wheel"), + s = t("mouse-event-offset"), + l = t("has-passive-events"); + }, + { + "3d-view": 41, + "has-passive-events": 297, + "mouse-change": 320, + "mouse-event-offset": 321, + "mouse-wheel": 323, + "right-now": 382, + }, + ], + 41: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = (t = t || {}).eye || [0, 0, 1], + r = t.center || [0, 0, 0], + s = t.up || [0, 1, 0], + l = t.distanceLimits || [0, 1 / 0], + c = t.mode || "turntable", + u = n(), + f = i(), + h = a(); + return ( + u.setDistanceLimits(l[0], l[1]), + u.lookAt(0, e, r, s), + f.setDistanceLimits(l[0], l[1]), + f.lookAt(0, e, r, s), + h.setDistanceLimits(l[0], l[1]), + h.lookAt(0, e, r, s), + new o({ turntable: u, orbit: f, matrix: h }, c) + ); + }; + var n = t("turntable-camera-controller"), + i = t("orbit-camera-controller"), + a = t("matrix-camera-controller"); + function o(t, e) { + ((this._controllerNames = Object.keys(t)), + (this._controllerList = this._controllerNames.map(function (e) { + return t[e]; + })), + (this._mode = e), + (this._active = t[e]), + this._active || + ((this._mode = "turntable"), (this._active = t.turntable)), + (this.modes = this._controllerNames), + (this.computedMatrix = this._active.computedMatrix), + (this.computedEye = this._active.computedEye), + (this.computedUp = this._active.computedUp), + (this.computedCenter = this._active.computedCenter), + (this.computedRadius = this._active.computedRadius)); + } + var s = o.prototype; + ([ + ["flush", 1], + ["idle", 1], + ["lookAt", 4], + ["rotate", 4], + ["pan", 4], + ["translate", 4], + ["setMatrix", 2], + ["setDistanceLimits", 2], + ["setDistance", 2], + ].forEach(function (t) { + for (var e = t[0], r = [], n = 0; n < t[1]; ++n) r.push("a" + n); + var i = + "var cc=this._controllerList;for(var i=0;i 0; --t) (p((c *= 0.99)), d(), h(c), d()); + function h(t) { + function r(t) { + return u(t.source) * t.value; + } + i.forEach(function (n) { + n.forEach(function (n) { + if (n.targetLinks.length) { + var i = + e.sum(n.targetLinks, r) / e.sum(n.targetLinks, f); + n.y += (i - u(n)) * t; + } + }); + }); + } + function p(t) { + function r(t) { + return u(t.target) * t.value; + } + i.slice() + .reverse() + .forEach(function (n) { + n.forEach(function (n) { + if (n.sourceLinks.length) { + var i = + e.sum(n.sourceLinks, r) / e.sum(n.sourceLinks, f); + n.y += (i - u(n)) * t; + } + }); + }); + } + function d() { + i.forEach(function (t) { + var e, + r, + n, + i = 0, + s = t.length; + for (t.sort(g), n = 0; n < s; ++n) + ((e = t[n]), + (r = i - e.y) > 0 && (e.y += r), + (i = e.y + e.dy + a)); + if ((r = i - a - o[1]) > 0) + for (i = e.y -= r, n = s - 2; n >= 0; --n) + ((e = t[n]), + (r = e.y + e.dy + a - i) > 0 && (e.y -= r), + (i = e.y)); + }); + } + function g(t, e) { + return t.y - e.y; + } + })(n), + c(), + t + ); + }), + (t.relayout = function () { + return (c(), t); + }), + (t.link = function () { + var t = 0.5; + function e(e) { + var r = e.source.x + e.source.dx, + i = e.target.x, + a = n.interpolateNumber(r, i), + o = a(t), + s = a(1 - t), + l = e.source.y + e.sy, + c = l + e.dy, + u = e.target.y + e.ty, + f = u + e.dy; + return ( + "M" + + r + + "," + + l + + "C" + + o + + "," + + l + + " " + + s + + "," + + u + + " " + + i + + "," + + u + + "L" + + i + + "," + + f + + "C" + + s + + "," + + f + + " " + + o + + "," + + c + + " " + + r + + "," + + c + + "Z" + ); + } + return ( + (e.curvature = function (r) { + return arguments.length ? ((t = +r), e) : t; + }), + e + ); + }), + t + ); + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + }), + "object" == typeof r && void 0 !== e + ? i(r, t("d3-array"), t("d3-collection"), t("d3-interpolate")) + : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3)); + }, + { "d3-array": 122, "d3-collection": 123, "d3-interpolate": 127 }, + ], + 43: [ + function (t, e, r) { + "use strict"; + var n = "undefined" == typeof WeakMap ? t("weak-map") : WeakMap, + i = t("gl-buffer"), + a = t("gl-vao"), + o = new n(); + e.exports = function (t) { + var e = o.get(t), + r = e && (e._triangleBuffer.handle || e._triangleBuffer.buffer); + if (!r || !t.isBuffer(r)) { + var n = i(t, new Float32Array([-1, -1, -1, 4, 4, -1])); + (((e = a(t, [{ buffer: n, type: t.FLOAT, size: 2 }]))._triangleBuffer = + n), + o.set(t, e)); + } + (e.bind(), t.drawArrays(t.TRIANGLES, 0, 3), e.unbind()); + }; + }, + { "gl-buffer": 210, "gl-vao": 279, "weak-map": 432 }, + ], + 44: [ + function (t, e, r) { + e.exports = function (t) { + var e = 0, + r = 0, + n = 0, + i = 0; + return t.map(function (t) { + var a = (t = t.slice())[0], + o = a.toUpperCase(); + if (a != o) + switch (((t[0] = o), a)) { + case "a": + ((t[6] += n), (t[7] += i)); + break; + case "v": + t[1] += i; + break; + case "h": + t[1] += n; + break; + default: + for (var s = 1; s < t.length; ) ((t[s++] += n), (t[s++] += i)); + } + switch (o) { + case "Z": + ((n = e), (i = r)); + break; + case "H": + n = t[1]; + break; + case "V": + i = t[1]; + break; + case "M": + ((n = e = t[1]), (i = r = t[2])); + break; + default: + ((n = t[t.length - 2]), (i = t[t.length - 1])); + } + return t; + }); + }; + }, + {}, + ], + 45: [ + function (t, e, r) { + var n = t("pad-left"); + e.exports = function (t, e, r) { + ((e = "number" == typeof e ? e : 1), (r = r || ": ")); + var i = t.split(/\r?\n/), + a = String(i.length + e - 1).length; + return i + .map(function (t, i) { + var o = i + e, + s = String(o).length, + l = n(o, a - s); + return l + r + t; + }) + .join("\n"); + }; + }, + { "pad-left": 342 }, + ], + 46: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [0]; + for (var r = t[0].length, n = [t[0]], a = [0], o = 1; o < e; ++o) + if ((n.push(t[o]), i(n, r))) { + if ((a.push(o), a.length === r + 1)) return a; + } else n.pop(); + return a; + }; + var n = t("robust-orientation"); + function i(t, e) { + for (var r = new Array(e + 1), i = 0; i < t.length; ++i) r[i] = t[i]; + for (i = 0; i <= t.length; ++i) { + for (var a = t.length; a <= e; ++a) { + for (var o = new Array(e), s = 0; s < e; ++s) + o[s] = Math.pow(a + 1 - i, s); + r[a] = o; + } + if (n.apply(void 0, r)) return !0; + } + return !1; + } + }, + { "robust-orientation": 388 }, + ], + 47: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return n(e).filter(function (r) { + for (var n = new Array(r.length), a = 0; a < r.length; ++a) + n[a] = e[r[a]]; + return i(n) * t < 1; + }); + }; + var n = t("delaunay-triangulate"), + i = t("circumradius"); + }, + { circumradius: 94, "delaunay-triangulate": 132 }, + ], + 48: [ + function (t, e, r) { + e.exports = function (t, e) { + return i(n(t, e)); + }; + var n = t("alpha-complex"), + i = t("simplicial-complex-boundary"); + }, + { "alpha-complex": 47, "simplicial-complex-boundary": 395 }, + ], + 49: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + if (!t || null == t.length) throw Error("Argument should be an array"); + e = null == e ? 1 : Math.floor(e); + for (var r = Array(2 * e), n = 0; n < e; n++) { + for (var i = -1 / 0, a = 1 / 0, o = n, s = t.length; o < s; o += e) + (t[o] > i && (i = t[o]), t[o] < a && (a = t[o])); + ((r[n] = a), (r[e + n] = i)); + } + return r; + }; + }, + {}, + ], + 50: [ + function (t, e, r) { + "use strict"; + var n = t("array-bounds"); + e.exports = function (t, e, r) { + if (!t || null == t.length) throw Error("Argument should be an array"); + null == e && (e = 1); + null == r && (r = n(t, e)); + for (var i = 0; i < e; i++) { + var a = r[e + i], + o = r[i], + s = i, + l = t.length; + if (a === 1 / 0 && o === -1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : t[s] === o ? 0 : 0.5; + else if (a === 1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : 0; + else if (o === -1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === o ? 0 : 1; + else { + var c = a - o; + for (s = i; s < l; s += e) t[s] = 0 === c ? 0.5 : (t[s] - o) / c; + } + } + return t; + }; + }, + { "array-bounds": 49 }, + ], + 51: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = "number" == typeof t, + n = "number" == typeof e; + r && !n ? ((e = t), (t = 0)) : r || n || ((t = 0), (e = 0)); + var i = (e |= 0) - (t |= 0); + if (i < 0) throw new Error("array length must be positive"); + for (var a = new Array(i), o = 0, s = t; o < i; o++, s++) a[o] = s; + return a; + }; + }, + {}, + ], + 52: [ + function (t, e, r) { + (function (r) { + "use strict"; + function n(t, e) { + if (t === e) return 0; + for ( + var r = t.length, n = e.length, i = 0, a = Math.min(r, n); + i < a; + ++i + ) + if (t[i] !== e[i]) { + ((r = t[i]), (n = e[i])); + break; + } + return r < n ? -1 : n < r ? 1 : 0; + } + function i(t) { + return r.Buffer && "function" == typeof r.Buffer.isBuffer + ? r.Buffer.isBuffer(t) + : !(null == t || !t._isBuffer); + } + var a = t("util/"), + o = Object.prototype.hasOwnProperty, + s = Array.prototype.slice, + l = "foo" === function () {}.name; + function c(t) { + return Object.prototype.toString.call(t); + } + function u(t) { + return ( + !i(t) && + "function" == typeof r.ArrayBuffer && + ("function" == typeof ArrayBuffer.isView + ? ArrayBuffer.isView(t) + : !!t && + (t instanceof DataView || + !!(t.buffer && t.buffer instanceof ArrayBuffer))) + ); + } + var f = (e.exports = v), + h = /\s*function\s+([^\(\s]*)\s*/; + function p(t) { + if (a.isFunction(t)) { + if (l) return t.name; + var e = t.toString().match(h); + return e && e[1]; + } + } + function d(t, e) { + return "string" == typeof t ? (t.length < e ? t : t.slice(0, e)) : t; + } + function g(t) { + if (l || !a.isFunction(t)) return a.inspect(t); + var e = p(t); + return "[Function" + (e ? ": " + e : "") + "]"; + } + function m(t, e, r, n, i) { + throw new f.AssertionError({ + message: r, + actual: t, + expected: e, + operator: n, + stackStartFunction: i, + }); + } + function v(t, e) { + t || m(t, !0, e, "==", f.ok); + } + function y(t, e, r, o) { + if (t === e) return !0; + if (i(t) && i(e)) return 0 === n(t, e); + if (a.isDate(t) && a.isDate(e)) return t.getTime() === e.getTime(); + if (a.isRegExp(t) && a.isRegExp(e)) + return ( + t.source === e.source && + t.global === e.global && + t.multiline === e.multiline && + t.lastIndex === e.lastIndex && + t.ignoreCase === e.ignoreCase + ); + if ( + (null !== t && "object" == typeof t) || + (null !== e && "object" == typeof e) + ) { + if ( + u(t) && + u(e) && + c(t) === c(e) && + !(t instanceof Float32Array || t instanceof Float64Array) + ) + return 0 === n(new Uint8Array(t.buffer), new Uint8Array(e.buffer)); + if (i(t) !== i(e)) return !1; + var l = (o = o || { actual: [], expected: [] }).actual.indexOf(t); + return ( + (-1 !== l && l === o.expected.indexOf(e)) || + (o.actual.push(t), + o.expected.push(e), + (function (t, e, r, n) { + if (null === t || void 0 === t || null === e || void 0 === e) + return !1; + if (a.isPrimitive(t) || a.isPrimitive(e)) return t === e; + if (r && Object.getPrototypeOf(t) !== Object.getPrototypeOf(e)) + return !1; + var i = x(t), + o = x(e); + if ((i && !o) || (!i && o)) return !1; + if (i) return ((t = s.call(t)), (e = s.call(e)), y(t, e, r)); + var l, + c, + u = w(t), + f = w(e); + if (u.length !== f.length) return !1; + for (u.sort(), f.sort(), c = u.length - 1; c >= 0; c--) + if (u[c] !== f[c]) return !1; + for (c = u.length - 1; c >= 0; c--) + if (((l = u[c]), !y(t[l], e[l], r, n))) return !1; + return !0; + })(t, e, r, o)) + ); + } + return r ? t === e : t == e; + } + function x(t) { + return "[object Arguments]" == Object.prototype.toString.call(t); + } + function b(t, e) { + if (!t || !e) return !1; + if ("[object RegExp]" == Object.prototype.toString.call(e)) + return e.test(t); + try { + if (t instanceof e) return !0; + } catch (t) {} + return !Error.isPrototypeOf(e) && !0 === e.call({}, t); + } + function _(t, e, r, n) { + var i; + if ("function" != typeof e) + throw new TypeError('"block" argument must be a function'); + ("string" == typeof r && ((n = r), (r = null)), + (i = (function (t) { + var e; + try { + t(); + } catch (t) { + e = t; + } + return e; + })(e)), + (n = (r && r.name ? " (" + r.name + ")." : ".") + (n ? " " + n : ".")), + t && !i && m(i, r, "Missing expected exception" + n)); + var o = "string" == typeof n, + s = !t && a.isError(i), + l = !t && i && !r; + if ( + (((s && o && b(i, r)) || l) && m(i, r, "Got unwanted exception" + n), + (t && i && r && !b(i, r)) || (!t && i)) + ) + throw i; + } + ((f.AssertionError = function (t) { + var e; + ((this.name = "AssertionError"), + (this.actual = t.actual), + (this.expected = t.expected), + (this.operator = t.operator), + t.message + ? ((this.message = t.message), (this.generatedMessage = !1)) + : ((this.message = + d(g((e = this).actual), 128) + + " " + + e.operator + + " " + + d(g(e.expected), 128)), + (this.generatedMessage = !0))); + var r = t.stackStartFunction || m; + if (Error.captureStackTrace) Error.captureStackTrace(this, r); + else { + var n = new Error(); + if (n.stack) { + var i = n.stack, + a = p(r), + o = i.indexOf("\n" + a); + if (o >= 0) { + var s = i.indexOf("\n", o + 1); + i = i.substring(s + 1); + } + this.stack = i; + } + } + }), + a.inherits(f.AssertionError, Error), + (f.fail = m), + (f.ok = v), + (f.equal = function (t, e, r) { + t != e && m(t, e, r, "==", f.equal); + }), + (f.notEqual = function (t, e, r) { + t == e && m(t, e, r, "!=", f.notEqual); + }), + (f.deepEqual = function (t, e, r) { + y(t, e, !1) || m(t, e, r, "deepEqual", f.deepEqual); + }), + (f.deepStrictEqual = function (t, e, r) { + y(t, e, !0) || m(t, e, r, "deepStrictEqual", f.deepStrictEqual); + }), + (f.notDeepEqual = function (t, e, r) { + y(t, e, !1) && m(t, e, r, "notDeepEqual", f.notDeepEqual); + }), + (f.notDeepStrictEqual = function t(e, r, n) { + y(e, r, !0) && m(e, r, n, "notDeepStrictEqual", t); + }), + (f.strictEqual = function (t, e, r) { + t !== e && m(t, e, r, "===", f.strictEqual); + }), + (f.notStrictEqual = function (t, e, r) { + t === e && m(t, e, r, "!==", f.notStrictEqual); + }), + (f.throws = function (t, e, r) { + _(!0, t, e, r); + }), + (f.doesNotThrow = function (t, e, r) { + _(!1, t, e, r); + }), + (f.ifError = function (t) { + if (t) throw t; + })); + var w = + Object.keys || + function (t) { + var e = []; + for (var r in t) o.call(t, r) && e.push(r); + return e; + }; + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { "util/": 429 }, + ], + 53: [ + function (t, e, r) { + e.exports = function (t) { + return atob(t); + }; + }, + {}, + ], + 54: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for (var r = e.length, a = new Array(r + 1), o = 0; o < r; ++o) { + for (var s = new Array(r + 1), l = 0; l <= r; ++l) s[l] = t[l][o]; + a[o] = s; + } + a[r] = new Array(r + 1); + for (var o = 0; o <= r; ++o) a[r][o] = 1; + for (var c = new Array(r + 1), o = 0; o < r; ++o) c[o] = e[o]; + c[r] = 1; + var u = n(a, c), + f = i(u[r + 1]); + 0 === f && (f = 1); + for (var h = new Array(r + 1), o = 0; o <= r; ++o) h[o] = i(u[o]) / f; + return h; + }; + var n = t("robust-linear-solve"); + function i(t) { + for (var e = 0, r = 0; r < t.length; ++r) e += t[r]; + return e; + } + }, + { "robust-linear-solve": 387 }, + ], + 55: [ + function (t, e, r) { + "use strict"; + ((r.byteLength = function (t) { + return (3 * t.length) / 4 - c(t); + }), + (r.toByteArray = function (t) { + var e, + r, + n, + o, + s, + l = t.length; + ((o = c(t)), (s = new a((3 * l) / 4 - o)), (r = o > 0 ? l - 4 : l)); + var u = 0; + for (e = 0; e < r; e += 4) + ((n = + (i[t.charCodeAt(e)] << 18) | + (i[t.charCodeAt(e + 1)] << 12) | + (i[t.charCodeAt(e + 2)] << 6) | + i[t.charCodeAt(e + 3)]), + (s[u++] = (n >> 16) & 255), + (s[u++] = (n >> 8) & 255), + (s[u++] = 255 & n)); + 2 === o + ? ((n = (i[t.charCodeAt(e)] << 2) | (i[t.charCodeAt(e + 1)] >> 4)), + (s[u++] = 255 & n)) + : 1 === o && + ((n = + (i[t.charCodeAt(e)] << 10) | + (i[t.charCodeAt(e + 1)] << 4) | + (i[t.charCodeAt(e + 2)] >> 2)), + (s[u++] = (n >> 8) & 255), + (s[u++] = 255 & n)); + return s; + }), + (r.fromByteArray = function (t) { + for ( + var e, r = t.length, i = r % 3, a = "", o = [], s = 0, l = r - i; + s < l; + s += 16383 + ) + o.push(u(t, s, s + 16383 > l ? l : s + 16383)); + 1 === i + ? ((e = t[r - 1]), + (a += n[e >> 2]), + (a += n[(e << 4) & 63]), + (a += "==")) + : 2 === i && + ((e = (t[r - 2] << 8) + t[r - 1]), + (a += n[e >> 10]), + (a += n[(e >> 4) & 63]), + (a += n[(e << 2) & 63]), + (a += "=")); + return (o.push(a), o.join("")); + })); + for ( + var n = [], + i = [], + a = "undefined" != typeof Uint8Array ? Uint8Array : Array, + o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + s = 0, + l = o.length; + s < l; + ++s + ) + ((n[s] = o[s]), (i[o.charCodeAt(s)] = s)); + function c(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error("Invalid string. Length must be a multiple of 4"); + return "=" === t[e - 2] ? 2 : "=" === t[e - 1] ? 1 : 0; + } + function u(t, e, r) { + for (var i, a, o = [], s = e; s < r; s += 3) + ((i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + n[((a = i) >> 18) & 63] + + n[(a >> 12) & 63] + + n[(a >> 6) & 63] + + n[63 & a], + )); + return o.join(""); + } + ((i["-".charCodeAt(0)] = 62), (i["_".charCodeAt(0)] = 63)); + }, + {}, + ], + 56: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/rationalize"); + e.exports = function (t, e) { + return n(t[0].mul(e[1]).add(e[0].mul(t[1])), t[1].mul(e[1])); + }; + }, + { "./lib/rationalize": 66 }, + ], + 57: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return t[0].mul(e[1]).cmp(e[0].mul(t[1])); + }; + }, + {}, + ], + 58: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/rationalize"); + e.exports = function (t, e) { + return n(t[0].mul(e[1]), t[1].mul(e[0])); + }; + }, + { "./lib/rationalize": 66 }, + ], + 59: [ + function (t, e, r) { + "use strict"; + var n = t("./is-rat"), + i = t("./lib/is-bn"), + a = t("./lib/num-to-bn"), + o = t("./lib/str-to-bn"), + s = t("./lib/rationalize"), + l = t("./div"); + e.exports = function t(e, r) { + if (n(e)) return r ? l(e, t(r)) : [e[0].clone(), e[1].clone()]; + var c = 0; + var u, f; + if (i(e)) u = e.clone(); + else if ("string" == typeof e) u = o(e); + else { + if (0 === e) return [a(0), a(1)]; + if (e === Math.floor(e)) u = a(e); + else { + for (; e !== Math.floor(e); ) ((e *= Math.pow(2, 256)), (c -= 256)); + u = a(e); + } + } + if (n(r)) (u.mul(r[1]), (f = r[0].clone())); + else if (i(r)) f = r.clone(); + else if ("string" == typeof r) f = o(r); + else if (r) + if (r === Math.floor(r)) f = a(r); + else { + for (; r !== Math.floor(r); ) ((r *= Math.pow(2, 256)), (c += 256)); + f = a(r); + } + else f = a(1); + c > 0 ? (u = u.ushln(c)) : c < 0 && (f = f.ushln(-c)); + return s(u, f); + }; + }, + { + "./div": 58, + "./is-rat": 60, + "./lib/is-bn": 64, + "./lib/num-to-bn": 65, + "./lib/rationalize": 66, + "./lib/str-to-bn": 67, + }, + ], + 60: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/is-bn"); + e.exports = function (t) { + return Array.isArray(t) && 2 === t.length && n(t[0]) && n(t[1]); + }; + }, + { "./lib/is-bn": 64 }, + ], + 61: [ + function (t, e, r) { + "use strict"; + var n = t("bn.js"); + e.exports = function (t) { + return t.cmp(new n(0)); + }; + }, + { "bn.js": 75 }, + ], + 62: [ + function (t, e, r) { + "use strict"; + var n = t("./bn-sign"); + e.exports = function (t) { + var e = t.length, + r = t.words, + i = 0; + if (1 === e) i = r[0]; + else if (2 === e) i = r[0] + 67108864 * r[1]; + else + for (var a = 0; a < e; a++) { + var o = r[a]; + i += o * Math.pow(67108864, a); + } + return n(t) * i; + }; + }, + { "./bn-sign": 61 }, + ], + 63: [ + function (t, e, r) { + "use strict"; + var n = t("double-bits"), + i = t("bit-twiddle").countTrailingZeros; + e.exports = function (t) { + var e = i(n.lo(t)); + if (e < 32) return e; + var r = i(n.hi(t)); + if (r > 20) return 52; + return r + 32; + }; + }, + { "bit-twiddle": 73, "double-bits": 133 }, + ], + 64: [ + function (t, e, r) { + "use strict"; + t("bn.js"); + e.exports = function (t) { + return t && "object" == typeof t && Boolean(t.words); + }; + }, + { "bn.js": 75 }, + ], + 65: [ + function (t, e, r) { + "use strict"; + var n = t("bn.js"), + i = t("double-bits"); + e.exports = function (t) { + var e = i.exponent(t); + return e < 52 ? new n(t) : new n(t * Math.pow(2, 52 - e)).ushln(e - 52); + }; + }, + { "bn.js": 75, "double-bits": 133 }, + ], + 66: [ + function (t, e, r) { + "use strict"; + var n = t("./num-to-bn"), + i = t("./bn-sign"); + e.exports = function (t, e) { + var r = i(t), + a = i(e); + if (0 === r) return [n(0), n(1)]; + if (0 === a) return [n(0), n(0)]; + a < 0 && ((t = t.neg()), (e = e.neg())); + var o = t.gcd(e); + if (o.cmpn(1)) return [t.div(o), e.div(o)]; + return [t, e]; + }; + }, + { "./bn-sign": 61, "./num-to-bn": 65 }, + ], + 67: [ + function (t, e, r) { + "use strict"; + var n = t("bn.js"); + e.exports = function (t) { + return new n(t); + }; + }, + { "bn.js": 75 }, + ], + 68: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/rationalize"); + e.exports = function (t, e) { + return n(t[0].mul(e[0]), t[1].mul(e[1])); + }; + }, + { "./lib/rationalize": 66 }, + ], + 69: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/bn-sign"); + e.exports = function (t) { + return n(t[0]) * n(t[1]); + }; + }, + { "./lib/bn-sign": 61 }, + ], + 70: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/rationalize"); + e.exports = function (t, e) { + return n(t[0].mul(e[1]).sub(t[1].mul(e[0])), t[1].mul(e[1])); + }; + }, + { "./lib/rationalize": 66 }, + ], + 71: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/bn-to-num"), + i = t("./lib/ctz"); + e.exports = function (t) { + var e = t[0], + r = t[1]; + if (0 === e.cmpn(0)) return 0; + var a = e.abs().divmod(r.abs()), + o = a.div, + s = n(o), + l = a.mod, + c = e.negative !== r.negative ? -1 : 1; + if (0 === l.cmpn(0)) return c * s; + if (s) { + var u = i(s) + 4, + f = n(l.ushln(u).divRound(r)); + return c * (s + f * Math.pow(2, -u)); + } + var h = r.bitLength() - l.bitLength() + 53, + f = n(l.ushln(h).divRound(r)); + return h < 1023 + ? c * f * Math.pow(2, -h) + : ((f *= Math.pow(2, -1023)), c * f * Math.pow(2, 1023 - h)); + }; + }, + { "./lib/bn-to-num": 62, "./lib/ctz": 63 }, + ], + 72: [ + function (t, e, r) { + "use strict"; + function n(t, e, r, n, i, a) { + var o = [ + "function ", + t, + "(a,l,h,", + n.join(","), + "){", + a ? "" : "var i=", + r ? "l-1" : "h+1", + ";while(l<=h){var m=(l+h)>>>1,x=a", + i ? ".get(m)" : "[m]", + ]; + return ( + a + ? e.indexOf("c") < 0 + ? o.push(";if(x===y){return m}else if(x<=y){") + : o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){") + : o.push(";if(", e, "){i=m;"), + r ? o.push("l=m+1}else{h=m-1}") : o.push("h=m-1}else{l=m+1}"), + o.push("}"), + a ? o.push("return -1};") : o.push("return i};"), + o.join("") + ); + } + function i(t, e, r, i) { + return new Function( + [ + n("A", "x" + t + "y", e, ["y"], !1, i), + n("B", "x" + t + "y", e, ["y"], !0, i), + n("P", "c(x,y)" + t + "0", e, ["y", "c"], !1, i), + n("Q", "c(x,y)" + t + "0", e, ["y", "c"], !0, i), + "function dispatchBsearch", + r, + "(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch", + r, + ].join(""), + )(); + } + e.exports = { + ge: i(">=", !1, "GE"), + gt: i(">", !1, "GT"), + lt: i("<", !0, "LT"), + le: i("<=", !0, "LE"), + eq: i("-", !0, "EQ", !0), + }; + }, + {}, + ], + 73: [ + function (t, e, r) { + "use strict"; + "use restrict"; + function n(t) { + var e = 32; + return ( + (t &= -t) && e--, + 65535 & t && (e -= 16), + 16711935 & t && (e -= 8), + 252645135 & t && (e -= 4), + 858993459 & t && (e -= 2), + 1431655765 & t && (e -= 1), + e + ); + } + ((r.INT_BITS = 32), + (r.INT_MAX = 2147483647), + (r.INT_MIN = -1 << 31), + (r.sign = function (t) { + return (t > 0) - (t < 0); + }), + (r.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (r.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (r.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (r.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (r.log2 = function (t) { + var e, r; + return ( + (e = (t > 65535) << 4), + (e |= r = ((t >>>= e) > 255) << 3), + (e |= r = ((t >>>= r) > 15) << 2), + (e |= r = ((t >>>= r) > 3) << 1) | ((t >>>= r) >> 1) + ); + }), + (r.log10 = function (t) { + return t >= 1e9 + ? 9 + : t >= 1e8 + ? 8 + : t >= 1e7 + ? 7 + : t >= 1e6 + ? 6 + : t >= 1e5 + ? 5 + : t >= 1e4 + ? 4 + : t >= 1e3 + ? 3 + : t >= 100 + ? 2 + : t >= 10 + ? 1 + : 0; + }), + (r.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (r.countTrailingZeros = n), + (r.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) + 1 + ); + }), + (r.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (r.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + })); + var i = new Array(256); + (!(function (t) { + for (var e = 0; e < 256; ++e) { + var r = e, + n = e, + i = 7; + for (r >>>= 1; r; r >>>= 1) ((n <<= 1), (n |= 1 & r), --i); + t[e] = (n << i) & 255; + } + })(i), + (r.reverse = function (t) { + return ( + (i[255 & t] << 24) | + (i[(t >>> 8) & 255] << 16) | + (i[(t >>> 16) & 255] << 8) | + i[(t >>> 24) & 255] + ); + }), + (r.interleave2 = function (t, e) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = 16711935 & ((t &= 65535) | (t << 8))) | (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = 16711935 & ((e &= 65535) | (e << 8))) | (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + }), + (r.deinterleave2 = function (t, e) { + return ( + ((t = + 65535 & + ((t = + 16711935 & + ((t = + 252645135 & + ((t = 858993459 & ((t = (t >>> e) & 1431655765) | (t >>> 1))) | + (t >>> 2))) | + (t >>> 4))) | + (t >>> 16))) << + 16) >> + 16 + ); + }), + (r.interleave3 = function (t, e, r) { + return ( + (t = + 1227133513 & + ((t = + 3272356035 & + ((t = + 251719695 & + ((t = 4278190335 & ((t &= 1023) | (t << 16))) | (t << 8))) | + (t << 4))) | + (t << 2))), + (t |= + (e = + 1227133513 & + ((e = + 3272356035 & + ((e = + 251719695 & + ((e = 4278190335 & ((e &= 1023) | (e << 16))) | (e << 8))) | + (e << 4))) | + (e << 2))) << 1) | + ((r = + 1227133513 & + ((r = + 3272356035 & + ((r = + 251719695 & + ((r = 4278190335 & ((r &= 1023) | (r << 16))) | (r << 8))) | + (r << 4))) | + (r << 2))) << + 2) + ); + }), + (r.deinterleave3 = function (t, e) { + return ( + ((t = + 1023 & + ((t = + 4278190335 & + ((t = + 251719695 & + ((t = 3272356035 & ((t = (t >>> e) & 1227133513) | (t >>> 2))) | + (t >>> 4))) | + (t >>> 8))) | + (t >>> 16))) << + 22) >> + 22 + ); + }), + (r.nextCombination = function (t) { + var e = t | (t - 1); + return (e + 1) | (((~e & -~e) - 1) >>> (n(t) + 1)); + })); + }, + {}, + ], + 74: [ + function (t, e, r) { + "use strict"; + var n = t("clamp"); + e.exports = function (t, e) { + e || (e = {}); + var r, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m = null == e.cutoff ? 0.25 : e.cutoff, + v = null == e.radius ? 8 : e.radius, + y = e.channel || 0; + if (ArrayBuffer.isView(t) || Array.isArray(t)) { + if (!e.width || !e.height) + throw Error( + "For raw data width and height should be provided by options", + ); + ((r = e.width), + (o = e.height), + (l = t), + (u = e.stride ? e.stride : Math.floor(t.length / r / o))); + } else + window.HTMLCanvasElement && t instanceof window.HTMLCanvasElement + ? ((f = (h = t).getContext("2d")), + (r = h.width), + (o = h.height), + (p = f.getImageData(0, 0, r, o)), + (l = p.data), + (u = 4)) + : window.CanvasRenderingContext2D && + t instanceof window.CanvasRenderingContext2D + ? ((h = t.canvas), + (f = t), + (r = h.width), + (o = h.height), + (p = f.getImageData(0, 0, r, o)), + (l = p.data), + (u = 4)) + : window.ImageData && + t instanceof window.ImageData && + ((p = t), (r = t.width), (o = t.height), (l = p.data), (u = 4)); + if ( + ((s = Math.max(r, o)), + (window.Uint8ClampedArray && l instanceof window.Uint8ClampedArray) || + (window.Uint8Array && l instanceof window.Uint8Array)) + ) + for (c = l, l = Array(r * o), d = 0, g = c.length; d < g; d++) + l[d] = c[d * u + y] / 255; + else if (1 !== u) throw Error("Raw data can have only 1 value per pixel"); + var x = Array(r * o), + b = Array(r * o), + _ = Array(s), + w = Array(s), + k = Array(s + 1), + M = Array(s); + for (d = 0, g = r * o; d < g; d++) { + var A = l[d]; + ((x[d] = 1 === A ? 0 : 0 === A ? i : Math.pow(Math.max(0, 0.5 - A), 2)), + (b[d] = 1 === A ? i : 0 === A ? 0 : Math.pow(Math.max(0, A - 0.5), 2))); + } + (a(x, r, o, _, w, M, k), a(b, r, o, _, w, M, k)); + var T = window.Float32Array ? new Float32Array(r * o) : new Array(r * o); + for (d = 0, g = r * o; d < g; d++) + T[d] = n(1 - ((x[d] - b[d]) / v + m), 0, 1); + return T; + }; + var i = 1e20; + function a(t, e, r, n, i, a, s) { + for (var l = 0; l < e; l++) { + for (var c = 0; c < r; c++) n[c] = t[c * e + l]; + for (o(n, i, a, s, r), c = 0; c < r; c++) t[c * e + l] = i[c]; + } + for (c = 0; c < r; c++) { + for (l = 0; l < e; l++) n[l] = t[c * e + l]; + for (o(n, i, a, s, e), l = 0; l < e; l++) t[c * e + l] = Math.sqrt(i[l]); + } + } + function o(t, e, r, n, a) { + ((r[0] = 0), (n[0] = -i), (n[1] = +i)); + for (var o = 1, s = 0; o < a; o++) { + for ( + var l = (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / (2 * o - 2 * r[s]); + l <= n[s]; + + ) + (s--, + (l = (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / (2 * o - 2 * r[s]))); + ((r[++s] = o), (n[s] = l), (n[s + 1] = +i)); + } + for (o = 0, s = 0; o < a; o++) { + for (; n[s + 1] < o; ) s++; + e[o] = (o - r[s]) * (o - r[s]) + t[r[s]]; + } + } + }, + { clamp: 95 }, + ], + 75: [ + function (t, e, r) { + !(function (e, r) { + "use strict"; + function n(t, e) { + if (!t) throw new Error(e || "Assertion failed"); + } + function i(t, e) { + t.super_ = e; + var r = function () {}; + ((r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t)); + } + function a(t, e, r) { + if (a.isBN(t)) return t; + ((this.negative = 0), + (this.words = null), + (this.length = 0), + (this.red = null), + null !== t && + (("le" !== e && "be" !== e) || ((r = e), (e = 10)), + this._init(t || 0, e || 10, r || "be"))); + } + var o; + ("object" == typeof e ? (e.exports = a) : (r.BN = a), + (a.BN = a), + (a.wordSize = 26)); + try { + o = t("buffer").Buffer; + } catch (t) {} + function s(t, e, r) { + for (var n = 0, i = Math.min(t.length, r), a = e; a < i; a++) { + var o = t.charCodeAt(a) - 48; + ((n <<= 4), + (n |= + o >= 49 && o <= 54 + ? o - 49 + 10 + : o >= 17 && o <= 22 + ? o - 17 + 10 + : 15 & o)); + } + return n; + } + function l(t, e, r, n) { + for (var i = 0, a = Math.min(t.length, r), o = e; o < a; o++) { + var s = t.charCodeAt(o) - 48; + ((i *= n), (i += s >= 49 ? s - 49 + 10 : s >= 17 ? s - 17 + 10 : s)); + } + return i; + } + ((a.isBN = function (t) { + return ( + t instanceof a || + (null !== t && + "object" == typeof t && + t.constructor.wordSize === a.wordSize && + Array.isArray(t.words)) + ); + }), + (a.max = function (t, e) { + return t.cmp(e) > 0 ? t : e; + }), + (a.min = function (t, e) { + return t.cmp(e) < 0 ? t : e; + }), + (a.prototype._init = function (t, e, r) { + if ("number" == typeof t) return this._initNumber(t, e, r); + if ("object" == typeof t) return this._initArray(t, e, r); + ("hex" === e && (e = 16), n(e === (0 | e) && e >= 2 && e <= 36)); + var i = 0; + ("-" === (t = t.toString().replace(/\s+/g, ""))[0] && i++, + 16 === e ? this._parseHex(t, i) : this._parseBase(t, e, i), + "-" === t[0] && (this.negative = 1), + this.strip(), + "le" === r && this._initArray(this.toArray(), e, r)); + }), + (a.prototype._initNumber = function (t, e, r) { + (t < 0 && ((this.negative = 1), (t = -t)), + t < 67108864 + ? ((this.words = [67108863 & t]), (this.length = 1)) + : t < 4503599627370496 + ? ((this.words = [67108863 & t, (t / 67108864) & 67108863]), + (this.length = 2)) + : (n(t < 9007199254740992), + (this.words = [67108863 & t, (t / 67108864) & 67108863, 1]), + (this.length = 3)), + "le" === r && this._initArray(this.toArray(), e, r)); + }), + (a.prototype._initArray = function (t, e, r) { + if ((n("number" == typeof t.length), t.length <= 0)) + return ((this.words = [0]), (this.length = 1), this); + ((this.length = Math.ceil(t.length / 3)), + (this.words = new Array(this.length))); + for (var i = 0; i < this.length; i++) this.words[i] = 0; + var a, + o, + s = 0; + if ("be" === r) + for (i = t.length - 1, a = 0; i >= 0; i -= 3) + ((o = t[i] | (t[i - 1] << 8) | (t[i - 2] << 16)), + (this.words[a] |= (o << s) & 67108863), + (this.words[a + 1] = (o >>> (26 - s)) & 67108863), + (s += 24) >= 26 && ((s -= 26), a++)); + else if ("le" === r) + for (i = 0, a = 0; i < t.length; i += 3) + ((o = t[i] | (t[i + 1] << 8) | (t[i + 2] << 16)), + (this.words[a] |= (o << s) & 67108863), + (this.words[a + 1] = (o >>> (26 - s)) & 67108863), + (s += 24) >= 26 && ((s -= 26), a++)); + return this.strip(); + }), + (a.prototype._parseHex = function (t, e) { + ((this.length = Math.ceil((t.length - e) / 6)), + (this.words = new Array(this.length))); + for (var r = 0; r < this.length; r++) this.words[r] = 0; + var n, + i, + a = 0; + for (r = t.length - 6, n = 0; r >= e; r -= 6) + ((i = s(t, r, r + 6)), + (this.words[n] |= (i << a) & 67108863), + (this.words[n + 1] |= (i >>> (26 - a)) & 4194303), + (a += 24) >= 26 && ((a -= 26), n++)); + (r + 6 !== e && + ((i = s(t, e, r + 6)), + (this.words[n] |= (i << a) & 67108863), + (this.words[n + 1] |= (i >>> (26 - a)) & 4194303)), + this.strip()); + }), + (a.prototype._parseBase = function (t, e, r) { + ((this.words = [0]), (this.length = 1)); + for (var n = 0, i = 1; i <= 67108863; i *= e) n++; + (n--, (i = (i / e) | 0)); + for ( + var a = t.length - r, + o = a % n, + s = Math.min(a, a - o) + r, + c = 0, + u = r; + u < s; + u += n + ) + ((c = l(t, u, u + n, e)), + this.imuln(i), + this.words[0] + c < 67108864 + ? (this.words[0] += c) + : this._iaddn(c)); + if (0 !== o) { + var f = 1; + for (c = l(t, u, t.length, e), u = 0; u < o; u++) f *= e; + (this.imuln(f), + this.words[0] + c < 67108864 + ? (this.words[0] += c) + : this._iaddn(c)); + } + }), + (a.prototype.copy = function (t) { + t.words = new Array(this.length); + for (var e = 0; e < this.length; e++) t.words[e] = this.words[e]; + ((t.length = this.length), + (t.negative = this.negative), + (t.red = this.red)); + }), + (a.prototype.clone = function () { + var t = new a(null); + return (this.copy(t), t); + }), + (a.prototype._expand = function (t) { + for (; this.length < t; ) this.words[this.length++] = 0; + return this; + }), + (a.prototype.strip = function () { + for (; this.length > 1 && 0 === this.words[this.length - 1]; ) + this.length--; + return this._normSign(); + }), + (a.prototype._normSign = function () { + return ( + 1 === this.length && 0 === this.words[0] && (this.negative = 0), + this + ); + }), + (a.prototype.inspect = function () { + return (this.red ? ""; + })); + var c = [ + "", + "0", + "00", + "000", + "0000", + "00000", + "000000", + "0000000", + "00000000", + "000000000", + "0000000000", + "00000000000", + "000000000000", + "0000000000000", + "00000000000000", + "000000000000000", + "0000000000000000", + "00000000000000000", + "000000000000000000", + "0000000000000000000", + "00000000000000000000", + "000000000000000000000", + "0000000000000000000000", + "00000000000000000000000", + "000000000000000000000000", + "0000000000000000000000000", + ], + u = [ + 0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + ], + f = [ + 0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, + 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, + 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, + 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, + 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, + 60466176, + ]; + function h(t, e, r) { + r.negative = e.negative ^ t.negative; + var n = (t.length + e.length) | 0; + ((r.length = n), (n = (n - 1) | 0)); + var i = 0 | t.words[0], + a = 0 | e.words[0], + o = i * a, + s = 67108863 & o, + l = (o / 67108864) | 0; + r.words[0] = s; + for (var c = 1; c < n; c++) { + for ( + var u = l >>> 26, + f = 67108863 & l, + h = Math.min(c, e.length - 1), + p = Math.max(0, c - t.length + 1); + p <= h; + p++ + ) { + var d = (c - p) | 0; + ((u += + ((o = (i = 0 | t.words[d]) * (a = 0 | e.words[p]) + f) / 67108864) | + 0), + (f = 67108863 & o)); + } + ((r.words[c] = 0 | f), (l = 0 | u)); + } + return (0 !== l ? (r.words[c] = 0 | l) : r.length--, r.strip()); + } + ((a.prototype.toString = function (t, e) { + var r; + if (((t = t || 10), (e = 0 | e || 1), 16 === t || "hex" === t)) { + r = ""; + for (var i = 0, a = 0, o = 0; o < this.length; o++) { + var s = this.words[o], + l = (16777215 & ((s << i) | a)).toString(16); + ((r = + 0 !== (a = (s >>> (24 - i)) & 16777215) || o !== this.length - 1 + ? c[6 - l.length] + l + r + : l + r), + (i += 2) >= 26 && ((i -= 26), o--)); + } + for (0 !== a && (r = a.toString(16) + r); r.length % e != 0; ) + r = "0" + r; + return (0 !== this.negative && (r = "-" + r), r); + } + if (t === (0 | t) && t >= 2 && t <= 36) { + var h = u[t], + p = f[t]; + r = ""; + var d = this.clone(); + for (d.negative = 0; !d.isZero(); ) { + var g = d.modn(p).toString(t); + r = (d = d.idivn(p)).isZero() ? g + r : c[h - g.length] + g + r; + } + for (this.isZero() && (r = "0" + r); r.length % e != 0; ) r = "0" + r; + return (0 !== this.negative && (r = "-" + r), r); + } + n(!1, "Base should be between 2 and 36"); + }), + (a.prototype.toNumber = function () { + var t = this.words[0]; + return ( + 2 === this.length + ? (t += 67108864 * this.words[1]) + : 3 === this.length && 1 === this.words[2] + ? (t += 4503599627370496 + 67108864 * this.words[1]) + : this.length > 2 && + n(!1, "Number can only safely store up to 53 bits"), + 0 !== this.negative ? -t : t + ); + }), + (a.prototype.toJSON = function () { + return this.toString(16); + }), + (a.prototype.toBuffer = function (t, e) { + return (n(void 0 !== o), this.toArrayLike(o, t, e)); + }), + (a.prototype.toArray = function (t, e) { + return this.toArrayLike(Array, t, e); + }), + (a.prototype.toArrayLike = function (t, e, r) { + var i = this.byteLength(), + a = r || Math.max(1, i); + (n(i <= a, "byte array longer than desired length"), + n(a > 0, "Requested array length <= 0"), + this.strip()); + var o, + s, + l = "le" === e, + c = new t(a), + u = this.clone(); + if (l) { + for (s = 0; !u.isZero(); s++) + ((o = u.andln(255)), u.iushrn(8), (c[s] = o)); + for (; s < a; s++) c[s] = 0; + } else { + for (s = 0; s < a - i; s++) c[s] = 0; + for (s = 0; !u.isZero(); s++) + ((o = u.andln(255)), u.iushrn(8), (c[a - s - 1] = o)); + } + return c; + }), + Math.clz32 + ? (a.prototype._countBits = function (t) { + return 32 - Math.clz32(t); + }) + : (a.prototype._countBits = function (t) { + var e = t, + r = 0; + return ( + e >= 4096 && ((r += 13), (e >>>= 13)), + e >= 64 && ((r += 7), (e >>>= 7)), + e >= 8 && ((r += 4), (e >>>= 4)), + e >= 2 && ((r += 2), (e >>>= 2)), + r + e + ); + }), + (a.prototype._zeroBits = function (t) { + if (0 === t) return 26; + var e = t, + r = 0; + return ( + 0 == (8191 & e) && ((r += 13), (e >>>= 13)), + 0 == (127 & e) && ((r += 7), (e >>>= 7)), + 0 == (15 & e) && ((r += 4), (e >>>= 4)), + 0 == (3 & e) && ((r += 2), (e >>>= 2)), + 0 == (1 & e) && r++, + r + ); + }), + (a.prototype.bitLength = function () { + var t = this.words[this.length - 1], + e = this._countBits(t); + return 26 * (this.length - 1) + e; + }), + (a.prototype.zeroBits = function () { + if (this.isZero()) return 0; + for (var t = 0, e = 0; e < this.length; e++) { + var r = this._zeroBits(this.words[e]); + if (((t += r), 26 !== r)) break; + } + return t; + }), + (a.prototype.byteLength = function () { + return Math.ceil(this.bitLength() / 8); + }), + (a.prototype.toTwos = function (t) { + return 0 !== this.negative + ? this.abs().inotn(t).iaddn(1) + : this.clone(); + }), + (a.prototype.fromTwos = function (t) { + return this.testn(t - 1) ? this.notn(t).iaddn(1).ineg() : this.clone(); + }), + (a.prototype.isNeg = function () { + return 0 !== this.negative; + }), + (a.prototype.neg = function () { + return this.clone().ineg(); + }), + (a.prototype.ineg = function () { + return (this.isZero() || (this.negative ^= 1), this); + }), + (a.prototype.iuor = function (t) { + for (; this.length < t.length; ) this.words[this.length++] = 0; + for (var e = 0; e < t.length; e++) + this.words[e] = this.words[e] | t.words[e]; + return this.strip(); + }), + (a.prototype.ior = function (t) { + return (n(0 == (this.negative | t.negative)), this.iuor(t)); + }), + (a.prototype.or = function (t) { + return this.length > t.length + ? this.clone().ior(t) + : t.clone().ior(this); + }), + (a.prototype.uor = function (t) { + return this.length > t.length + ? this.clone().iuor(t) + : t.clone().iuor(this); + }), + (a.prototype.iuand = function (t) { + var e; + e = this.length > t.length ? t : this; + for (var r = 0; r < e.length; r++) + this.words[r] = this.words[r] & t.words[r]; + return ((this.length = e.length), this.strip()); + }), + (a.prototype.iand = function (t) { + return (n(0 == (this.negative | t.negative)), this.iuand(t)); + }), + (a.prototype.and = function (t) { + return this.length > t.length + ? this.clone().iand(t) + : t.clone().iand(this); + }), + (a.prototype.uand = function (t) { + return this.length > t.length + ? this.clone().iuand(t) + : t.clone().iuand(this); + }), + (a.prototype.iuxor = function (t) { + var e, r; + this.length > t.length ? ((e = this), (r = t)) : ((e = t), (r = this)); + for (var n = 0; n < r.length; n++) + this.words[n] = e.words[n] ^ r.words[n]; + if (this !== e) for (; n < e.length; n++) this.words[n] = e.words[n]; + return ((this.length = e.length), this.strip()); + }), + (a.prototype.ixor = function (t) { + return (n(0 == (this.negative | t.negative)), this.iuxor(t)); + }), + (a.prototype.xor = function (t) { + return this.length > t.length + ? this.clone().ixor(t) + : t.clone().ixor(this); + }), + (a.prototype.uxor = function (t) { + return this.length > t.length + ? this.clone().iuxor(t) + : t.clone().iuxor(this); + }), + (a.prototype.inotn = function (t) { + n("number" == typeof t && t >= 0); + var e = 0 | Math.ceil(t / 26), + r = t % 26; + (this._expand(e), r > 0 && e--); + for (var i = 0; i < e; i++) this.words[i] = 67108863 & ~this.words[i]; + return ( + r > 0 && (this.words[i] = ~this.words[i] & (67108863 >> (26 - r))), + this.strip() + ); + }), + (a.prototype.notn = function (t) { + return this.clone().inotn(t); + }), + (a.prototype.setn = function (t, e) { + n("number" == typeof t && t >= 0); + var r = (t / 26) | 0, + i = t % 26; + return ( + this._expand(r + 1), + (this.words[r] = e + ? this.words[r] | (1 << i) + : this.words[r] & ~(1 << i)), + this.strip() + ); + }), + (a.prototype.iadd = function (t) { + var e, r, n; + if (0 !== this.negative && 0 === t.negative) + return ( + (this.negative = 0), + (e = this.isub(t)), + (this.negative ^= 1), + this._normSign() + ); + if (0 === this.negative && 0 !== t.negative) + return ( + (t.negative = 0), + (e = this.isub(t)), + (t.negative = 1), + e._normSign() + ); + this.length > t.length ? ((r = this), (n = t)) : ((r = t), (n = this)); + for (var i = 0, a = 0; a < n.length; a++) + ((e = (0 | r.words[a]) + (0 | n.words[a]) + i), + (this.words[a] = 67108863 & e), + (i = e >>> 26)); + for (; 0 !== i && a < r.length; a++) + ((e = (0 | r.words[a]) + i), + (this.words[a] = 67108863 & e), + (i = e >>> 26)); + if (((this.length = r.length), 0 !== i)) + ((this.words[this.length] = i), this.length++); + else if (r !== this) + for (; a < r.length; a++) this.words[a] = r.words[a]; + return this; + }), + (a.prototype.add = function (t) { + var e; + return 0 !== t.negative && 0 === this.negative + ? ((t.negative = 0), (e = this.sub(t)), (t.negative ^= 1), e) + : 0 === t.negative && 0 !== this.negative + ? ((this.negative = 0), (e = t.sub(this)), (this.negative = 1), e) + : this.length > t.length + ? this.clone().iadd(t) + : t.clone().iadd(this); + }), + (a.prototype.isub = function (t) { + if (0 !== t.negative) { + t.negative = 0; + var e = this.iadd(t); + return ((t.negative = 1), e._normSign()); + } + if (0 !== this.negative) + return ( + (this.negative = 0), + this.iadd(t), + (this.negative = 1), + this._normSign() + ); + var r, + n, + i = this.cmp(t); + if (0 === i) + return ( + (this.negative = 0), + (this.length = 1), + (this.words[0] = 0), + this + ); + i > 0 ? ((r = this), (n = t)) : ((r = t), (n = this)); + for (var a = 0, o = 0; o < n.length; o++) + ((a = (e = (0 | r.words[o]) - (0 | n.words[o]) + a) >> 26), + (this.words[o] = 67108863 & e)); + for (; 0 !== a && o < r.length; o++) + ((a = (e = (0 | r.words[o]) + a) >> 26), + (this.words[o] = 67108863 & e)); + if (0 === a && o < r.length && r !== this) + for (; o < r.length; o++) this.words[o] = r.words[o]; + return ( + (this.length = Math.max(this.length, o)), + r !== this && (this.negative = 1), + this.strip() + ); + }), + (a.prototype.sub = function (t) { + return this.clone().isub(t); + })); + var p = function (t, e, r) { + var n, + i, + a, + o = t.words, + s = e.words, + l = r.words, + c = 0, + u = 0 | o[0], + f = 8191 & u, + h = u >>> 13, + p = 0 | o[1], + d = 8191 & p, + g = p >>> 13, + m = 0 | o[2], + v = 8191 & m, + y = m >>> 13, + x = 0 | o[3], + b = 8191 & x, + _ = x >>> 13, + w = 0 | o[4], + k = 8191 & w, + M = w >>> 13, + A = 0 | o[5], + T = 8191 & A, + S = A >>> 13, + C = 0 | o[6], + E = 8191 & C, + L = C >>> 13, + z = 0 | o[7], + P = 8191 & z, + D = z >>> 13, + O = 0 | o[8], + I = 8191 & O, + R = O >>> 13, + B = 0 | o[9], + F = 8191 & B, + N = B >>> 13, + j = 0 | s[0], + V = 8191 & j, + U = j >>> 13, + q = 0 | s[1], + H = 8191 & q, + G = q >>> 13, + W = 0 | s[2], + Y = 8191 & W, + X = W >>> 13, + Z = 0 | s[3], + J = 8191 & Z, + K = Z >>> 13, + Q = 0 | s[4], + $ = 8191 & Q, + tt = Q >>> 13, + et = 0 | s[5], + rt = 8191 & et, + nt = et >>> 13, + it = 0 | s[6], + at = 8191 & it, + ot = it >>> 13, + st = 0 | s[7], + lt = 8191 & st, + ct = st >>> 13, + ut = 0 | s[8], + ft = 8191 & ut, + ht = ut >>> 13, + pt = 0 | s[9], + dt = 8191 & pt, + gt = pt >>> 13; + ((r.negative = t.negative ^ e.negative), (r.length = 19)); + var mt = + (((c + (n = Math.imul(f, V))) | 0) + + ((8191 & (i = ((i = Math.imul(f, U)) + Math.imul(h, V)) | 0)) << + 13)) | + 0; + ((c = ((((a = Math.imul(h, U)) + (i >>> 13)) | 0) + (mt >>> 26)) | 0), + (mt &= 67108863), + (n = Math.imul(d, V)), + (i = ((i = Math.imul(d, U)) + Math.imul(g, V)) | 0), + (a = Math.imul(g, U))); + var vt = + (((c + (n = (n + Math.imul(f, H)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, G)) | 0) + Math.imul(h, H)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, G)) | 0) + (i >>> 13)) | 0) + (vt >>> 26)) | + 0), + (vt &= 67108863), + (n = Math.imul(v, V)), + (i = ((i = Math.imul(v, U)) + Math.imul(y, V)) | 0), + (a = Math.imul(y, U)), + (n = (n + Math.imul(d, H)) | 0), + (i = ((i = (i + Math.imul(d, G)) | 0) + Math.imul(g, H)) | 0), + (a = (a + Math.imul(g, G)) | 0)); + var yt = + (((c + (n = (n + Math.imul(f, Y)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, X)) | 0) + Math.imul(h, Y)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, X)) | 0) + (i >>> 13)) | 0) + (yt >>> 26)) | + 0), + (yt &= 67108863), + (n = Math.imul(b, V)), + (i = ((i = Math.imul(b, U)) + Math.imul(_, V)) | 0), + (a = Math.imul(_, U)), + (n = (n + Math.imul(v, H)) | 0), + (i = ((i = (i + Math.imul(v, G)) | 0) + Math.imul(y, H)) | 0), + (a = (a + Math.imul(y, G)) | 0), + (n = (n + Math.imul(d, Y)) | 0), + (i = ((i = (i + Math.imul(d, X)) | 0) + Math.imul(g, Y)) | 0), + (a = (a + Math.imul(g, X)) | 0)); + var xt = + (((c + (n = (n + Math.imul(f, J)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, K)) | 0) + Math.imul(h, J)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, K)) | 0) + (i >>> 13)) | 0) + (xt >>> 26)) | + 0), + (xt &= 67108863), + (n = Math.imul(k, V)), + (i = ((i = Math.imul(k, U)) + Math.imul(M, V)) | 0), + (a = Math.imul(M, U)), + (n = (n + Math.imul(b, H)) | 0), + (i = ((i = (i + Math.imul(b, G)) | 0) + Math.imul(_, H)) | 0), + (a = (a + Math.imul(_, G)) | 0), + (n = (n + Math.imul(v, Y)) | 0), + (i = ((i = (i + Math.imul(v, X)) | 0) + Math.imul(y, Y)) | 0), + (a = (a + Math.imul(y, X)) | 0), + (n = (n + Math.imul(d, J)) | 0), + (i = ((i = (i + Math.imul(d, K)) | 0) + Math.imul(g, J)) | 0), + (a = (a + Math.imul(g, K)) | 0)); + var bt = + (((c + (n = (n + Math.imul(f, $)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, tt)) | 0) + Math.imul(h, $)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, tt)) | 0) + (i >>> 13)) | 0) + (bt >>> 26)) | + 0), + (bt &= 67108863), + (n = Math.imul(T, V)), + (i = ((i = Math.imul(T, U)) + Math.imul(S, V)) | 0), + (a = Math.imul(S, U)), + (n = (n + Math.imul(k, H)) | 0), + (i = ((i = (i + Math.imul(k, G)) | 0) + Math.imul(M, H)) | 0), + (a = (a + Math.imul(M, G)) | 0), + (n = (n + Math.imul(b, Y)) | 0), + (i = ((i = (i + Math.imul(b, X)) | 0) + Math.imul(_, Y)) | 0), + (a = (a + Math.imul(_, X)) | 0), + (n = (n + Math.imul(v, J)) | 0), + (i = ((i = (i + Math.imul(v, K)) | 0) + Math.imul(y, J)) | 0), + (a = (a + Math.imul(y, K)) | 0), + (n = (n + Math.imul(d, $)) | 0), + (i = ((i = (i + Math.imul(d, tt)) | 0) + Math.imul(g, $)) | 0), + (a = (a + Math.imul(g, tt)) | 0)); + var _t = + (((c + (n = (n + Math.imul(f, rt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, nt)) | 0) + Math.imul(h, rt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, nt)) | 0) + (i >>> 13)) | 0) + (_t >>> 26)) | + 0), + (_t &= 67108863), + (n = Math.imul(E, V)), + (i = ((i = Math.imul(E, U)) + Math.imul(L, V)) | 0), + (a = Math.imul(L, U)), + (n = (n + Math.imul(T, H)) | 0), + (i = ((i = (i + Math.imul(T, G)) | 0) + Math.imul(S, H)) | 0), + (a = (a + Math.imul(S, G)) | 0), + (n = (n + Math.imul(k, Y)) | 0), + (i = ((i = (i + Math.imul(k, X)) | 0) + Math.imul(M, Y)) | 0), + (a = (a + Math.imul(M, X)) | 0), + (n = (n + Math.imul(b, J)) | 0), + (i = ((i = (i + Math.imul(b, K)) | 0) + Math.imul(_, J)) | 0), + (a = (a + Math.imul(_, K)) | 0), + (n = (n + Math.imul(v, $)) | 0), + (i = ((i = (i + Math.imul(v, tt)) | 0) + Math.imul(y, $)) | 0), + (a = (a + Math.imul(y, tt)) | 0), + (n = (n + Math.imul(d, rt)) | 0), + (i = ((i = (i + Math.imul(d, nt)) | 0) + Math.imul(g, rt)) | 0), + (a = (a + Math.imul(g, nt)) | 0)); + var wt = + (((c + (n = (n + Math.imul(f, at)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, ot)) | 0) + Math.imul(h, at)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, ot)) | 0) + (i >>> 13)) | 0) + (wt >>> 26)) | + 0), + (wt &= 67108863), + (n = Math.imul(P, V)), + (i = ((i = Math.imul(P, U)) + Math.imul(D, V)) | 0), + (a = Math.imul(D, U)), + (n = (n + Math.imul(E, H)) | 0), + (i = ((i = (i + Math.imul(E, G)) | 0) + Math.imul(L, H)) | 0), + (a = (a + Math.imul(L, G)) | 0), + (n = (n + Math.imul(T, Y)) | 0), + (i = ((i = (i + Math.imul(T, X)) | 0) + Math.imul(S, Y)) | 0), + (a = (a + Math.imul(S, X)) | 0), + (n = (n + Math.imul(k, J)) | 0), + (i = ((i = (i + Math.imul(k, K)) | 0) + Math.imul(M, J)) | 0), + (a = (a + Math.imul(M, K)) | 0), + (n = (n + Math.imul(b, $)) | 0), + (i = ((i = (i + Math.imul(b, tt)) | 0) + Math.imul(_, $)) | 0), + (a = (a + Math.imul(_, tt)) | 0), + (n = (n + Math.imul(v, rt)) | 0), + (i = ((i = (i + Math.imul(v, nt)) | 0) + Math.imul(y, rt)) | 0), + (a = (a + Math.imul(y, nt)) | 0), + (n = (n + Math.imul(d, at)) | 0), + (i = ((i = (i + Math.imul(d, ot)) | 0) + Math.imul(g, at)) | 0), + (a = (a + Math.imul(g, ot)) | 0)); + var kt = + (((c + (n = (n + Math.imul(f, lt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, ct)) | 0) + Math.imul(h, lt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, ct)) | 0) + (i >>> 13)) | 0) + (kt >>> 26)) | + 0), + (kt &= 67108863), + (n = Math.imul(I, V)), + (i = ((i = Math.imul(I, U)) + Math.imul(R, V)) | 0), + (a = Math.imul(R, U)), + (n = (n + Math.imul(P, H)) | 0), + (i = ((i = (i + Math.imul(P, G)) | 0) + Math.imul(D, H)) | 0), + (a = (a + Math.imul(D, G)) | 0), + (n = (n + Math.imul(E, Y)) | 0), + (i = ((i = (i + Math.imul(E, X)) | 0) + Math.imul(L, Y)) | 0), + (a = (a + Math.imul(L, X)) | 0), + (n = (n + Math.imul(T, J)) | 0), + (i = ((i = (i + Math.imul(T, K)) | 0) + Math.imul(S, J)) | 0), + (a = (a + Math.imul(S, K)) | 0), + (n = (n + Math.imul(k, $)) | 0), + (i = ((i = (i + Math.imul(k, tt)) | 0) + Math.imul(M, $)) | 0), + (a = (a + Math.imul(M, tt)) | 0), + (n = (n + Math.imul(b, rt)) | 0), + (i = ((i = (i + Math.imul(b, nt)) | 0) + Math.imul(_, rt)) | 0), + (a = (a + Math.imul(_, nt)) | 0), + (n = (n + Math.imul(v, at)) | 0), + (i = ((i = (i + Math.imul(v, ot)) | 0) + Math.imul(y, at)) | 0), + (a = (a + Math.imul(y, ot)) | 0), + (n = (n + Math.imul(d, lt)) | 0), + (i = ((i = (i + Math.imul(d, ct)) | 0) + Math.imul(g, lt)) | 0), + (a = (a + Math.imul(g, ct)) | 0)); + var Mt = + (((c + (n = (n + Math.imul(f, ft)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, ht)) | 0) + Math.imul(h, ft)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, ht)) | 0) + (i >>> 13)) | 0) + (Mt >>> 26)) | + 0), + (Mt &= 67108863), + (n = Math.imul(F, V)), + (i = ((i = Math.imul(F, U)) + Math.imul(N, V)) | 0), + (a = Math.imul(N, U)), + (n = (n + Math.imul(I, H)) | 0), + (i = ((i = (i + Math.imul(I, G)) | 0) + Math.imul(R, H)) | 0), + (a = (a + Math.imul(R, G)) | 0), + (n = (n + Math.imul(P, Y)) | 0), + (i = ((i = (i + Math.imul(P, X)) | 0) + Math.imul(D, Y)) | 0), + (a = (a + Math.imul(D, X)) | 0), + (n = (n + Math.imul(E, J)) | 0), + (i = ((i = (i + Math.imul(E, K)) | 0) + Math.imul(L, J)) | 0), + (a = (a + Math.imul(L, K)) | 0), + (n = (n + Math.imul(T, $)) | 0), + (i = ((i = (i + Math.imul(T, tt)) | 0) + Math.imul(S, $)) | 0), + (a = (a + Math.imul(S, tt)) | 0), + (n = (n + Math.imul(k, rt)) | 0), + (i = ((i = (i + Math.imul(k, nt)) | 0) + Math.imul(M, rt)) | 0), + (a = (a + Math.imul(M, nt)) | 0), + (n = (n + Math.imul(b, at)) | 0), + (i = ((i = (i + Math.imul(b, ot)) | 0) + Math.imul(_, at)) | 0), + (a = (a + Math.imul(_, ot)) | 0), + (n = (n + Math.imul(v, lt)) | 0), + (i = ((i = (i + Math.imul(v, ct)) | 0) + Math.imul(y, lt)) | 0), + (a = (a + Math.imul(y, ct)) | 0), + (n = (n + Math.imul(d, ft)) | 0), + (i = ((i = (i + Math.imul(d, ht)) | 0) + Math.imul(g, ft)) | 0), + (a = (a + Math.imul(g, ht)) | 0)); + var At = + (((c + (n = (n + Math.imul(f, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(f, gt)) | 0) + Math.imul(h, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(h, gt)) | 0) + (i >>> 13)) | 0) + (At >>> 26)) | + 0), + (At &= 67108863), + (n = Math.imul(F, H)), + (i = ((i = Math.imul(F, G)) + Math.imul(N, H)) | 0), + (a = Math.imul(N, G)), + (n = (n + Math.imul(I, Y)) | 0), + (i = ((i = (i + Math.imul(I, X)) | 0) + Math.imul(R, Y)) | 0), + (a = (a + Math.imul(R, X)) | 0), + (n = (n + Math.imul(P, J)) | 0), + (i = ((i = (i + Math.imul(P, K)) | 0) + Math.imul(D, J)) | 0), + (a = (a + Math.imul(D, K)) | 0), + (n = (n + Math.imul(E, $)) | 0), + (i = ((i = (i + Math.imul(E, tt)) | 0) + Math.imul(L, $)) | 0), + (a = (a + Math.imul(L, tt)) | 0), + (n = (n + Math.imul(T, rt)) | 0), + (i = ((i = (i + Math.imul(T, nt)) | 0) + Math.imul(S, rt)) | 0), + (a = (a + Math.imul(S, nt)) | 0), + (n = (n + Math.imul(k, at)) | 0), + (i = ((i = (i + Math.imul(k, ot)) | 0) + Math.imul(M, at)) | 0), + (a = (a + Math.imul(M, ot)) | 0), + (n = (n + Math.imul(b, lt)) | 0), + (i = ((i = (i + Math.imul(b, ct)) | 0) + Math.imul(_, lt)) | 0), + (a = (a + Math.imul(_, ct)) | 0), + (n = (n + Math.imul(v, ft)) | 0), + (i = ((i = (i + Math.imul(v, ht)) | 0) + Math.imul(y, ft)) | 0), + (a = (a + Math.imul(y, ht)) | 0)); + var Tt = + (((c + (n = (n + Math.imul(d, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(d, gt)) | 0) + Math.imul(g, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(g, gt)) | 0) + (i >>> 13)) | 0) + (Tt >>> 26)) | + 0), + (Tt &= 67108863), + (n = Math.imul(F, Y)), + (i = ((i = Math.imul(F, X)) + Math.imul(N, Y)) | 0), + (a = Math.imul(N, X)), + (n = (n + Math.imul(I, J)) | 0), + (i = ((i = (i + Math.imul(I, K)) | 0) + Math.imul(R, J)) | 0), + (a = (a + Math.imul(R, K)) | 0), + (n = (n + Math.imul(P, $)) | 0), + (i = ((i = (i + Math.imul(P, tt)) | 0) + Math.imul(D, $)) | 0), + (a = (a + Math.imul(D, tt)) | 0), + (n = (n + Math.imul(E, rt)) | 0), + (i = ((i = (i + Math.imul(E, nt)) | 0) + Math.imul(L, rt)) | 0), + (a = (a + Math.imul(L, nt)) | 0), + (n = (n + Math.imul(T, at)) | 0), + (i = ((i = (i + Math.imul(T, ot)) | 0) + Math.imul(S, at)) | 0), + (a = (a + Math.imul(S, ot)) | 0), + (n = (n + Math.imul(k, lt)) | 0), + (i = ((i = (i + Math.imul(k, ct)) | 0) + Math.imul(M, lt)) | 0), + (a = (a + Math.imul(M, ct)) | 0), + (n = (n + Math.imul(b, ft)) | 0), + (i = ((i = (i + Math.imul(b, ht)) | 0) + Math.imul(_, ft)) | 0), + (a = (a + Math.imul(_, ht)) | 0)); + var St = + (((c + (n = (n + Math.imul(v, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(v, gt)) | 0) + Math.imul(y, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(y, gt)) | 0) + (i >>> 13)) | 0) + (St >>> 26)) | + 0), + (St &= 67108863), + (n = Math.imul(F, J)), + (i = ((i = Math.imul(F, K)) + Math.imul(N, J)) | 0), + (a = Math.imul(N, K)), + (n = (n + Math.imul(I, $)) | 0), + (i = ((i = (i + Math.imul(I, tt)) | 0) + Math.imul(R, $)) | 0), + (a = (a + Math.imul(R, tt)) | 0), + (n = (n + Math.imul(P, rt)) | 0), + (i = ((i = (i + Math.imul(P, nt)) | 0) + Math.imul(D, rt)) | 0), + (a = (a + Math.imul(D, nt)) | 0), + (n = (n + Math.imul(E, at)) | 0), + (i = ((i = (i + Math.imul(E, ot)) | 0) + Math.imul(L, at)) | 0), + (a = (a + Math.imul(L, ot)) | 0), + (n = (n + Math.imul(T, lt)) | 0), + (i = ((i = (i + Math.imul(T, ct)) | 0) + Math.imul(S, lt)) | 0), + (a = (a + Math.imul(S, ct)) | 0), + (n = (n + Math.imul(k, ft)) | 0), + (i = ((i = (i + Math.imul(k, ht)) | 0) + Math.imul(M, ft)) | 0), + (a = (a + Math.imul(M, ht)) | 0)); + var Ct = + (((c + (n = (n + Math.imul(b, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(b, gt)) | 0) + Math.imul(_, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(_, gt)) | 0) + (i >>> 13)) | 0) + (Ct >>> 26)) | + 0), + (Ct &= 67108863), + (n = Math.imul(F, $)), + (i = ((i = Math.imul(F, tt)) + Math.imul(N, $)) | 0), + (a = Math.imul(N, tt)), + (n = (n + Math.imul(I, rt)) | 0), + (i = ((i = (i + Math.imul(I, nt)) | 0) + Math.imul(R, rt)) | 0), + (a = (a + Math.imul(R, nt)) | 0), + (n = (n + Math.imul(P, at)) | 0), + (i = ((i = (i + Math.imul(P, ot)) | 0) + Math.imul(D, at)) | 0), + (a = (a + Math.imul(D, ot)) | 0), + (n = (n + Math.imul(E, lt)) | 0), + (i = ((i = (i + Math.imul(E, ct)) | 0) + Math.imul(L, lt)) | 0), + (a = (a + Math.imul(L, ct)) | 0), + (n = (n + Math.imul(T, ft)) | 0), + (i = ((i = (i + Math.imul(T, ht)) | 0) + Math.imul(S, ft)) | 0), + (a = (a + Math.imul(S, ht)) | 0)); + var Et = + (((c + (n = (n + Math.imul(k, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(k, gt)) | 0) + Math.imul(M, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(M, gt)) | 0) + (i >>> 13)) | 0) + (Et >>> 26)) | + 0), + (Et &= 67108863), + (n = Math.imul(F, rt)), + (i = ((i = Math.imul(F, nt)) + Math.imul(N, rt)) | 0), + (a = Math.imul(N, nt)), + (n = (n + Math.imul(I, at)) | 0), + (i = ((i = (i + Math.imul(I, ot)) | 0) + Math.imul(R, at)) | 0), + (a = (a + Math.imul(R, ot)) | 0), + (n = (n + Math.imul(P, lt)) | 0), + (i = ((i = (i + Math.imul(P, ct)) | 0) + Math.imul(D, lt)) | 0), + (a = (a + Math.imul(D, ct)) | 0), + (n = (n + Math.imul(E, ft)) | 0), + (i = ((i = (i + Math.imul(E, ht)) | 0) + Math.imul(L, ft)) | 0), + (a = (a + Math.imul(L, ht)) | 0)); + var Lt = + (((c + (n = (n + Math.imul(T, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(T, gt)) | 0) + Math.imul(S, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(S, gt)) | 0) + (i >>> 13)) | 0) + (Lt >>> 26)) | + 0), + (Lt &= 67108863), + (n = Math.imul(F, at)), + (i = ((i = Math.imul(F, ot)) + Math.imul(N, at)) | 0), + (a = Math.imul(N, ot)), + (n = (n + Math.imul(I, lt)) | 0), + (i = ((i = (i + Math.imul(I, ct)) | 0) + Math.imul(R, lt)) | 0), + (a = (a + Math.imul(R, ct)) | 0), + (n = (n + Math.imul(P, ft)) | 0), + (i = ((i = (i + Math.imul(P, ht)) | 0) + Math.imul(D, ft)) | 0), + (a = (a + Math.imul(D, ht)) | 0)); + var zt = + (((c + (n = (n + Math.imul(E, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(E, gt)) | 0) + Math.imul(L, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(L, gt)) | 0) + (i >>> 13)) | 0) + (zt >>> 26)) | + 0), + (zt &= 67108863), + (n = Math.imul(F, lt)), + (i = ((i = Math.imul(F, ct)) + Math.imul(N, lt)) | 0), + (a = Math.imul(N, ct)), + (n = (n + Math.imul(I, ft)) | 0), + (i = ((i = (i + Math.imul(I, ht)) | 0) + Math.imul(R, ft)) | 0), + (a = (a + Math.imul(R, ht)) | 0)); + var Pt = + (((c + (n = (n + Math.imul(P, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(P, gt)) | 0) + Math.imul(D, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(D, gt)) | 0) + (i >>> 13)) | 0) + (Pt >>> 26)) | + 0), + (Pt &= 67108863), + (n = Math.imul(F, ft)), + (i = ((i = Math.imul(F, ht)) + Math.imul(N, ft)) | 0), + (a = Math.imul(N, ht))); + var Dt = + (((c + (n = (n + Math.imul(I, dt)) | 0)) | 0) + + ((8191 & + (i = ((i = (i + Math.imul(I, gt)) | 0) + Math.imul(R, dt)) | 0)) << + 13)) | + 0; + ((c = + ((((a = (a + Math.imul(R, gt)) | 0) + (i >>> 13)) | 0) + (Dt >>> 26)) | + 0), + (Dt &= 67108863)); + var Ot = + (((c + (n = Math.imul(F, dt))) | 0) + + ((8191 & (i = ((i = Math.imul(F, gt)) + Math.imul(N, dt)) | 0)) << + 13)) | + 0; + return ( + (c = ((((a = Math.imul(N, gt)) + (i >>> 13)) | 0) + (Ot >>> 26)) | 0), + (Ot &= 67108863), + (l[0] = mt), + (l[1] = vt), + (l[2] = yt), + (l[3] = xt), + (l[4] = bt), + (l[5] = _t), + (l[6] = wt), + (l[7] = kt), + (l[8] = Mt), + (l[9] = At), + (l[10] = Tt), + (l[11] = St), + (l[12] = Ct), + (l[13] = Et), + (l[14] = Lt), + (l[15] = zt), + (l[16] = Pt), + (l[17] = Dt), + (l[18] = Ot), + 0 !== c && ((l[19] = c), r.length++), + r + ); + }; + function d(t, e, r) { + return new g().mulp(t, e, r); + } + function g(t, e) { + ((this.x = t), (this.y = e)); + } + (Math.imul || (p = h), + (a.prototype.mulTo = function (t, e) { + var r = this.length + t.length; + return 10 === this.length && 10 === t.length + ? p(this, t, e) + : r < 63 + ? h(this, t, e) + : r < 1024 + ? (function (t, e, r) { + ((r.negative = e.negative ^ t.negative), + (r.length = t.length + e.length)); + for (var n = 0, i = 0, a = 0; a < r.length - 1; a++) { + var o = i; + i = 0; + for ( + var s = 67108863 & n, + l = Math.min(a, e.length - 1), + c = Math.max(0, a - t.length + 1); + c <= l; + c++ + ) { + var u = a - c, + f = (0 | t.words[u]) * (0 | e.words[c]), + h = 67108863 & f; + ((s = 67108863 & (h = (h + s) | 0)), + (i += + (o = + ((o = (o + ((f / 67108864) | 0)) | 0) + + (h >>> 26)) | + 0) >>> 26), + (o &= 67108863)); + } + ((r.words[a] = s), (n = o), (o = i)); + } + return (0 !== n ? (r.words[a] = n) : r.length--, r.strip()); + })(this, t, e) + : d(this, t, e); + }), + (g.prototype.makeRBT = function (t) { + for ( + var e = new Array(t), r = a.prototype._countBits(t) - 1, n = 0; + n < t; + n++ + ) + e[n] = this.revBin(n, r, t); + return e; + }), + (g.prototype.revBin = function (t, e, r) { + if (0 === t || t === r - 1) return t; + for (var n = 0, i = 0; i < e; i++) + ((n |= (1 & t) << (e - i - 1)), (t >>= 1)); + return n; + }), + (g.prototype.permute = function (t, e, r, n, i, a) { + for (var o = 0; o < a; o++) ((n[o] = e[t[o]]), (i[o] = r[t[o]])); + }), + (g.prototype.transform = function (t, e, r, n, i, a) { + this.permute(a, t, e, r, n, i); + for (var o = 1; o < i; o <<= 1) + for ( + var s = o << 1, + l = Math.cos((2 * Math.PI) / s), + c = Math.sin((2 * Math.PI) / s), + u = 0; + u < i; + u += s + ) + for (var f = l, h = c, p = 0; p < o; p++) { + var d = r[u + p], + g = n[u + p], + m = r[u + p + o], + v = n[u + p + o], + y = f * m - h * v; + ((v = f * v + h * m), + (m = y), + (r[u + p] = d + m), + (n[u + p] = g + v), + (r[u + p + o] = d - m), + (n[u + p + o] = g - v), + p !== s && ((y = l * f - c * h), (h = l * h + c * f), (f = y))); + } + }), + (g.prototype.guessLen13b = function (t, e) { + var r = 1 | Math.max(e, t), + n = 1 & r, + i = 0; + for (r = (r / 2) | 0; r; r >>>= 1) i++; + return 1 << (i + 1 + n); + }), + (g.prototype.conjugate = function (t, e, r) { + if (!(r <= 1)) + for (var n = 0; n < r / 2; n++) { + var i = t[n]; + ((t[n] = t[r - n - 1]), + (t[r - n - 1] = i), + (i = e[n]), + (e[n] = -e[r - n - 1]), + (e[r - n - 1] = -i)); + } + }), + (g.prototype.normalize13b = function (t, e) { + for (var r = 0, n = 0; n < e / 2; n++) { + var i = + 8192 * Math.round(t[2 * n + 1] / e) + Math.round(t[2 * n] / e) + r; + ((t[n] = 67108863 & i), (r = i < 67108864 ? 0 : (i / 67108864) | 0)); + } + return t; + }), + (g.prototype.convert13b = function (t, e, r, i) { + for (var a = 0, o = 0; o < e; o++) + ((a += 0 | t[o]), + (r[2 * o] = 8191 & a), + (a >>>= 13), + (r[2 * o + 1] = 8191 & a), + (a >>>= 13)); + for (o = 2 * e; o < i; ++o) r[o] = 0; + (n(0 === a), n(0 == (-8192 & a))); + }), + (g.prototype.stub = function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0; + return e; + }), + (g.prototype.mulp = function (t, e, r) { + var n = 2 * this.guessLen13b(t.length, e.length), + i = this.makeRBT(n), + a = this.stub(n), + o = new Array(n), + s = new Array(n), + l = new Array(n), + c = new Array(n), + u = new Array(n), + f = new Array(n), + h = r.words; + ((h.length = n), + this.convert13b(t.words, t.length, o, n), + this.convert13b(e.words, e.length, c, n), + this.transform(o, a, s, l, n, i), + this.transform(c, a, u, f, n, i)); + for (var p = 0; p < n; p++) { + var d = s[p] * u[p] - l[p] * f[p]; + ((l[p] = s[p] * f[p] + l[p] * u[p]), (s[p] = d)); + } + return ( + this.conjugate(s, l, n), + this.transform(s, l, h, a, n, i), + this.conjugate(h, a, n), + this.normalize13b(h, n), + (r.negative = t.negative ^ e.negative), + (r.length = t.length + e.length), + r.strip() + ); + }), + (a.prototype.mul = function (t) { + var e = new a(null); + return ( + (e.words = new Array(this.length + t.length)), + this.mulTo(t, e) + ); + }), + (a.prototype.mulf = function (t) { + var e = new a(null); + return ((e.words = new Array(this.length + t.length)), d(this, t, e)); + }), + (a.prototype.imul = function (t) { + return this.clone().mulTo(t, this); + }), + (a.prototype.imuln = function (t) { + (n("number" == typeof t), n(t < 67108864)); + for (var e = 0, r = 0; r < this.length; r++) { + var i = (0 | this.words[r]) * t, + a = (67108863 & i) + (67108863 & e); + ((e >>= 26), + (e += (i / 67108864) | 0), + (e += a >>> 26), + (this.words[r] = 67108863 & a)); + } + return (0 !== e && ((this.words[r] = e), this.length++), this); + }), + (a.prototype.muln = function (t) { + return this.clone().imuln(t); + }), + (a.prototype.sqr = function () { + return this.mul(this); + }), + (a.prototype.isqr = function () { + return this.imul(this.clone()); + }), + (a.prototype.pow = function (t) { + var e = (function (t) { + for (var e = new Array(t.bitLength()), r = 0; r < e.length; r++) { + var n = (r / 26) | 0, + i = r % 26; + e[r] = (t.words[n] & (1 << i)) >>> i; + } + return e; + })(t); + if (0 === e.length) return new a(1); + for (var r = this, n = 0; n < e.length && 0 === e[n]; n++, r = r.sqr()); + if (++n < e.length) + for (var i = r.sqr(); n < e.length; n++, i = i.sqr()) + 0 !== e[n] && (r = r.mul(i)); + return r; + }), + (a.prototype.iushln = function (t) { + n("number" == typeof t && t >= 0); + var e, + r = t % 26, + i = (t - r) / 26, + a = (67108863 >>> (26 - r)) << (26 - r); + if (0 !== r) { + var o = 0; + for (e = 0; e < this.length; e++) { + var s = this.words[e] & a, + l = ((0 | this.words[e]) - s) << r; + ((this.words[e] = l | o), (o = s >>> (26 - r))); + } + o && ((this.words[e] = o), this.length++); + } + if (0 !== i) { + for (e = this.length - 1; e >= 0; e--) + this.words[e + i] = this.words[e]; + for (e = 0; e < i; e++) this.words[e] = 0; + this.length += i; + } + return this.strip(); + }), + (a.prototype.ishln = function (t) { + return (n(0 === this.negative), this.iushln(t)); + }), + (a.prototype.iushrn = function (t, e, r) { + var i; + (n("number" == typeof t && t >= 0), (i = e ? (e - (e % 26)) / 26 : 0)); + var a = t % 26, + o = Math.min((t - a) / 26, this.length), + s = 67108863 ^ ((67108863 >>> a) << a), + l = r; + if (((i -= o), (i = Math.max(0, i)), l)) { + for (var c = 0; c < o; c++) l.words[c] = this.words[c]; + l.length = o; + } + if (0 === o); + else if (this.length > o) + for (this.length -= o, c = 0; c < this.length; c++) + this.words[c] = this.words[c + o]; + else ((this.words[0] = 0), (this.length = 1)); + var u = 0; + for (c = this.length - 1; c >= 0 && (0 !== u || c >= i); c--) { + var f = 0 | this.words[c]; + ((this.words[c] = (u << (26 - a)) | (f >>> a)), (u = f & s)); + } + return ( + l && 0 !== u && (l.words[l.length++] = u), + 0 === this.length && ((this.words[0] = 0), (this.length = 1)), + this.strip() + ); + }), + (a.prototype.ishrn = function (t, e, r) { + return (n(0 === this.negative), this.iushrn(t, e, r)); + }), + (a.prototype.shln = function (t) { + return this.clone().ishln(t); + }), + (a.prototype.ushln = function (t) { + return this.clone().iushln(t); + }), + (a.prototype.shrn = function (t) { + return this.clone().ishrn(t); + }), + (a.prototype.ushrn = function (t) { + return this.clone().iushrn(t); + }), + (a.prototype.testn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + return !(this.length <= r) && !!(this.words[r] & i); + }), + (a.prototype.imaskn = function (t) { + n("number" == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26; + if ( + (n(0 === this.negative, "imaskn works only with positive numbers"), + this.length <= r) + ) + return this; + if ( + (0 !== e && r++, (this.length = Math.min(r, this.length)), 0 !== e) + ) { + var i = 67108863 ^ ((67108863 >>> e) << e); + this.words[this.length - 1] &= i; + } + return this.strip(); + }), + (a.prototype.maskn = function (t) { + return this.clone().imaskn(t); + }), + (a.prototype.iaddn = function (t) { + return ( + n("number" == typeof t), + n(t < 67108864), + t < 0 + ? this.isubn(-t) + : 0 !== this.negative + ? 1 === this.length && (0 | this.words[0]) < t + ? ((this.words[0] = t - (0 | this.words[0])), + (this.negative = 0), + this) + : ((this.negative = 0), + this.isubn(t), + (this.negative = 1), + this) + : this._iaddn(t) + ); + }), + (a.prototype._iaddn = function (t) { + this.words[0] += t; + for (var e = 0; e < this.length && this.words[e] >= 67108864; e++) + ((this.words[e] -= 67108864), + e === this.length - 1 + ? (this.words[e + 1] = 1) + : this.words[e + 1]++); + return ((this.length = Math.max(this.length, e + 1)), this); + }), + (a.prototype.isubn = function (t) { + if ((n("number" == typeof t), n(t < 67108864), t < 0)) + return this.iaddn(-t); + if (0 !== this.negative) + return ( + (this.negative = 0), + this.iaddn(t), + (this.negative = 1), + this + ); + if (((this.words[0] -= t), 1 === this.length && this.words[0] < 0)) + ((this.words[0] = -this.words[0]), (this.negative = 1)); + else + for (var e = 0; e < this.length && this.words[e] < 0; e++) + ((this.words[e] += 67108864), (this.words[e + 1] -= 1)); + return this.strip(); + }), + (a.prototype.addn = function (t) { + return this.clone().iaddn(t); + }), + (a.prototype.subn = function (t) { + return this.clone().isubn(t); + }), + (a.prototype.iabs = function () { + return ((this.negative = 0), this); + }), + (a.prototype.abs = function () { + return this.clone().iabs(); + }), + (a.prototype._ishlnsubmul = function (t, e, r) { + var i, + a, + o = t.length + r; + this._expand(o); + var s = 0; + for (i = 0; i < t.length; i++) { + a = (0 | this.words[i + r]) + s; + var l = (0 | t.words[i]) * e; + ((s = ((a -= 67108863 & l) >> 26) - ((l / 67108864) | 0)), + (this.words[i + r] = 67108863 & a)); + } + for (; i < this.length - r; i++) + ((s = (a = (0 | this.words[i + r]) + s) >> 26), + (this.words[i + r] = 67108863 & a)); + if (0 === s) return this.strip(); + for (n(-1 === s), s = 0, i = 0; i < this.length; i++) + ((s = (a = -(0 | this.words[i]) + s) >> 26), + (this.words[i] = 67108863 & a)); + return ((this.negative = 1), this.strip()); + }), + (a.prototype._wordDiv = function (t, e) { + var r = (this.length, t.length), + n = this.clone(), + i = t, + o = 0 | i.words[i.length - 1]; + 0 !== (r = 26 - this._countBits(o)) && + ((i = i.ushln(r)), n.iushln(r), (o = 0 | i.words[i.length - 1])); + var s, + l = n.length - i.length; + if ("mod" !== e) { + (((s = new a(null)).length = l + 1), (s.words = new Array(s.length))); + for (var c = 0; c < s.length; c++) s.words[c] = 0; + } + var u = n.clone()._ishlnsubmul(i, 1, l); + 0 === u.negative && ((n = u), s && (s.words[l] = 1)); + for (var f = l - 1; f >= 0; f--) { + var h = + 67108864 * (0 | n.words[i.length + f]) + + (0 | n.words[i.length + f - 1]); + for ( + h = Math.min((h / o) | 0, 67108863), n._ishlnsubmul(i, h, f); + 0 !== n.negative; + + ) + (h--, + (n.negative = 0), + n._ishlnsubmul(i, 1, f), + n.isZero() || (n.negative ^= 1)); + s && (s.words[f] = h); + } + return ( + s && s.strip(), + n.strip(), + "div" !== e && 0 !== r && n.iushrn(r), + { div: s || null, mod: n } + ); + }), + (a.prototype.divmod = function (t, e, r) { + return ( + n(!t.isZero()), + this.isZero() + ? { div: new a(0), mod: new a(0) } + : 0 !== this.negative && 0 === t.negative + ? ((s = this.neg().divmod(t, e)), + "mod" !== e && (i = s.div.neg()), + "div" !== e && + ((o = s.mod.neg()), r && 0 !== o.negative && o.iadd(t)), + { div: i, mod: o }) + : 0 === this.negative && 0 !== t.negative + ? ((s = this.divmod(t.neg(), e)), + "mod" !== e && (i = s.div.neg()), + { div: i, mod: s.mod }) + : 0 != (this.negative & t.negative) + ? ((s = this.neg().divmod(t.neg(), e)), + "div" !== e && + ((o = s.mod.neg()), r && 0 !== o.negative && o.isub(t)), + { div: s.div, mod: o }) + : t.length > this.length || this.cmp(t) < 0 + ? { div: new a(0), mod: this } + : 1 === t.length + ? "div" === e + ? { div: this.divn(t.words[0]), mod: null } + : "mod" === e + ? { div: null, mod: new a(this.modn(t.words[0])) } + : { + div: this.divn(t.words[0]), + mod: new a(this.modn(t.words[0])), + } + : this._wordDiv(t, e) + ); + var i, o, s; + }), + (a.prototype.div = function (t) { + return this.divmod(t, "div", !1).div; + }), + (a.prototype.mod = function (t) { + return this.divmod(t, "mod", !1).mod; + }), + (a.prototype.umod = function (t) { + return this.divmod(t, "mod", !0).mod; + }), + (a.prototype.divRound = function (t) { + var e = this.divmod(t); + if (e.mod.isZero()) return e.div; + var r = 0 !== e.div.negative ? e.mod.isub(t) : e.mod, + n = t.ushrn(1), + i = t.andln(1), + a = r.cmp(n); + return a < 0 || (1 === i && 0 === a) + ? e.div + : 0 !== e.div.negative + ? e.div.isubn(1) + : e.div.iaddn(1); + }), + (a.prototype.modn = function (t) { + n(t <= 67108863); + for (var e = (1 << 26) % t, r = 0, i = this.length - 1; i >= 0; i--) + r = (e * r + (0 | this.words[i])) % t; + return r; + }), + (a.prototype.idivn = function (t) { + n(t <= 67108863); + for (var e = 0, r = this.length - 1; r >= 0; r--) { + var i = (0 | this.words[r]) + 67108864 * e; + ((this.words[r] = (i / t) | 0), (e = i % t)); + } + return this.strip(); + }), + (a.prototype.divn = function (t) { + return this.clone().idivn(t); + }), + (a.prototype.egcd = function (t) { + (n(0 === t.negative), n(!t.isZero())); + var e = this, + r = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i = new a(1), o = new a(0), s = new a(0), l = new a(1), c = 0; + e.isEven() && r.isEven(); + + ) + (e.iushrn(1), r.iushrn(1), ++c); + for (var u = r.clone(), f = e.clone(); !e.isZero(); ) { + for (var h = 0, p = 1; 0 == (e.words[0] & p) && h < 26; ++h, p <<= 1); + if (h > 0) + for (e.iushrn(h); h-- > 0; ) + ((i.isOdd() || o.isOdd()) && (i.iadd(u), o.isub(f)), + i.iushrn(1), + o.iushrn(1)); + for (var d = 0, g = 1; 0 == (r.words[0] & g) && d < 26; ++d, g <<= 1); + if (d > 0) + for (r.iushrn(d); d-- > 0; ) + ((s.isOdd() || l.isOdd()) && (s.iadd(u), l.isub(f)), + s.iushrn(1), + l.iushrn(1)); + e.cmp(r) >= 0 + ? (e.isub(r), i.isub(s), o.isub(l)) + : (r.isub(e), s.isub(i), l.isub(o)); + } + return { a: s, b: l, gcd: r.iushln(c) }; + }), + (a.prototype._invmp = function (t) { + (n(0 === t.negative), n(!t.isZero())); + var e = this, + r = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i, o = new a(1), s = new a(0), l = r.clone(); + e.cmpn(1) > 0 && r.cmpn(1) > 0; + + ) { + for (var c = 0, u = 1; 0 == (e.words[0] & u) && c < 26; ++c, u <<= 1); + if (c > 0) + for (e.iushrn(c); c-- > 0; ) (o.isOdd() && o.iadd(l), o.iushrn(1)); + for (var f = 0, h = 1; 0 == (r.words[0] & h) && f < 26; ++f, h <<= 1); + if (f > 0) + for (r.iushrn(f); f-- > 0; ) (s.isOdd() && s.iadd(l), s.iushrn(1)); + e.cmp(r) >= 0 ? (e.isub(r), o.isub(s)) : (r.isub(e), s.isub(o)); + } + return ((i = 0 === e.cmpn(1) ? o : s).cmpn(0) < 0 && i.iadd(t), i); + }), + (a.prototype.gcd = function (t) { + if (this.isZero()) return t.abs(); + if (t.isZero()) return this.abs(); + var e = this.clone(), + r = t.clone(); + ((e.negative = 0), (r.negative = 0)); + for (var n = 0; e.isEven() && r.isEven(); n++) + (e.iushrn(1), r.iushrn(1)); + for (;;) { + for (; e.isEven(); ) e.iushrn(1); + for (; r.isEven(); ) r.iushrn(1); + var i = e.cmp(r); + if (i < 0) { + var a = e; + ((e = r), (r = a)); + } else if (0 === i || 0 === r.cmpn(1)) break; + e.isub(r); + } + return r.iushln(n); + }), + (a.prototype.invm = function (t) { + return this.egcd(t).a.umod(t); + }), + (a.prototype.isEven = function () { + return 0 == (1 & this.words[0]); + }), + (a.prototype.isOdd = function () { + return 1 == (1 & this.words[0]); + }), + (a.prototype.andln = function (t) { + return this.words[0] & t; + }), + (a.prototype.bincn = function (t) { + n("number" == typeof t); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + if (this.length <= r) + return (this._expand(r + 1), (this.words[r] |= i), this); + for (var a = i, o = r; 0 !== a && o < this.length; o++) { + var s = 0 | this.words[o]; + ((a = (s += a) >>> 26), (s &= 67108863), (this.words[o] = s)); + } + return (0 !== a && ((this.words[o] = a), this.length++), this); + }), + (a.prototype.isZero = function () { + return 1 === this.length && 0 === this.words[0]; + }), + (a.prototype.cmpn = function (t) { + var e, + r = t < 0; + if (0 !== this.negative && !r) return -1; + if (0 === this.negative && r) return 1; + if ((this.strip(), this.length > 1)) e = 1; + else { + (r && (t = -t), n(t <= 67108863, "Number is too big")); + var i = 0 | this.words[0]; + e = i === t ? 0 : i < t ? -1 : 1; + } + return 0 !== this.negative ? 0 | -e : e; + }), + (a.prototype.cmp = function (t) { + if (0 !== this.negative && 0 === t.negative) return -1; + if (0 === this.negative && 0 !== t.negative) return 1; + var e = this.ucmp(t); + return 0 !== this.negative ? 0 | -e : e; + }), + (a.prototype.ucmp = function (t) { + if (this.length > t.length) return 1; + if (this.length < t.length) return -1; + for (var e = 0, r = this.length - 1; r >= 0; r--) { + var n = 0 | this.words[r], + i = 0 | t.words[r]; + if (n !== i) { + n < i ? (e = -1) : n > i && (e = 1); + break; + } + } + return e; + }), + (a.prototype.gtn = function (t) { + return 1 === this.cmpn(t); + }), + (a.prototype.gt = function (t) { + return 1 === this.cmp(t); + }), + (a.prototype.gten = function (t) { + return this.cmpn(t) >= 0; + }), + (a.prototype.gte = function (t) { + return this.cmp(t) >= 0; + }), + (a.prototype.ltn = function (t) { + return -1 === this.cmpn(t); + }), + (a.prototype.lt = function (t) { + return -1 === this.cmp(t); + }), + (a.prototype.lten = function (t) { + return this.cmpn(t) <= 0; + }), + (a.prototype.lte = function (t) { + return this.cmp(t) <= 0; + }), + (a.prototype.eqn = function (t) { + return 0 === this.cmpn(t); + }), + (a.prototype.eq = function (t) { + return 0 === this.cmp(t); + }), + (a.red = function (t) { + return new w(t); + }), + (a.prototype.toRed = function (t) { + return ( + n(!this.red, "Already a number in reduction context"), + n(0 === this.negative, "red works only with positives"), + t.convertTo(this)._forceRed(t) + ); + }), + (a.prototype.fromRed = function () { + return ( + n(this.red, "fromRed works only with numbers in reduction context"), + this.red.convertFrom(this) + ); + }), + (a.prototype._forceRed = function (t) { + return ((this.red = t), this); + }), + (a.prototype.forceRed = function (t) { + return ( + n(!this.red, "Already a number in reduction context"), + this._forceRed(t) + ); + }), + (a.prototype.redAdd = function (t) { + return ( + n(this.red, "redAdd works only with red numbers"), + this.red.add(this, t) + ); + }), + (a.prototype.redIAdd = function (t) { + return ( + n(this.red, "redIAdd works only with red numbers"), + this.red.iadd(this, t) + ); + }), + (a.prototype.redSub = function (t) { + return ( + n(this.red, "redSub works only with red numbers"), + this.red.sub(this, t) + ); + }), + (a.prototype.redISub = function (t) { + return ( + n(this.red, "redISub works only with red numbers"), + this.red.isub(this, t) + ); + }), + (a.prototype.redShl = function (t) { + return ( + n(this.red, "redShl works only with red numbers"), + this.red.shl(this, t) + ); + }), + (a.prototype.redMul = function (t) { + return ( + n(this.red, "redMul works only with red numbers"), + this.red._verify2(this, t), + this.red.mul(this, t) + ); + }), + (a.prototype.redIMul = function (t) { + return ( + n(this.red, "redMul works only with red numbers"), + this.red._verify2(this, t), + this.red.imul(this, t) + ); + }), + (a.prototype.redSqr = function () { + return ( + n(this.red, "redSqr works only with red numbers"), + this.red._verify1(this), + this.red.sqr(this) + ); + }), + (a.prototype.redISqr = function () { + return ( + n(this.red, "redISqr works only with red numbers"), + this.red._verify1(this), + this.red.isqr(this) + ); + }), + (a.prototype.redSqrt = function () { + return ( + n(this.red, "redSqrt works only with red numbers"), + this.red._verify1(this), + this.red.sqrt(this) + ); + }), + (a.prototype.redInvm = function () { + return ( + n(this.red, "redInvm works only with red numbers"), + this.red._verify1(this), + this.red.invm(this) + ); + }), + (a.prototype.redNeg = function () { + return ( + n(this.red, "redNeg works only with red numbers"), + this.red._verify1(this), + this.red.neg(this) + ); + }), + (a.prototype.redPow = function (t) { + return ( + n(this.red && !t.red, "redPow(normalNum)"), + this.red._verify1(this), + this.red.pow(this, t) + ); + })); + var m = { k256: null, p224: null, p192: null, p25519: null }; + function v(t, e) { + ((this.name = t), + (this.p = new a(e, 16)), + (this.n = this.p.bitLength()), + (this.k = new a(1).iushln(this.n).isub(this.p)), + (this.tmp = this._tmp())); + } + function y() { + v.call( + this, + "k256", + "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", + ); + } + function x() { + v.call( + this, + "p224", + "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", + ); + } + function b() { + v.call( + this, + "p192", + "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", + ); + } + function _() { + v.call( + this, + "25519", + "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + ); + } + function w(t) { + if ("string" == typeof t) { + var e = a._prime(t); + ((this.m = e.p), (this.prime = e)); + } else + (n(t.gtn(1), "modulus must be greater than 1"), + (this.m = t), + (this.prime = null)); + } + function k(t) { + (w.call(this, t), + (this.shift = this.m.bitLength()), + this.shift % 26 != 0 && (this.shift += 26 - (this.shift % 26)), + (this.r = new a(1).iushln(this.shift)), + (this.r2 = this.imod(this.r.sqr())), + (this.rinv = this.r._invmp(this.m)), + (this.minv = this.rinv.mul(this.r).isubn(1).div(this.m)), + (this.minv = this.minv.umod(this.r)), + (this.minv = this.r.sub(this.minv))); + } + ((v.prototype._tmp = function () { + var t = new a(null); + return ((t.words = new Array(Math.ceil(this.n / 13))), t); + }), + (v.prototype.ireduce = function (t) { + var e, + r = t; + do { + (this.split(r, this.tmp), + (e = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength())); + } while (e > this.n); + var n = e < this.n ? -1 : r.ucmp(this.p); + return ( + 0 === n + ? ((r.words[0] = 0), (r.length = 1)) + : n > 0 + ? r.isub(this.p) + : r.strip(), + r + ); + }), + (v.prototype.split = function (t, e) { + t.iushrn(this.n, 0, e); + }), + (v.prototype.imulK = function (t) { + return t.imul(this.k); + }), + i(y, v), + (y.prototype.split = function (t, e) { + for (var r = Math.min(t.length, 9), n = 0; n < r; n++) + e.words[n] = t.words[n]; + if (((e.length = r), t.length <= 9)) + return ((t.words[0] = 0), void (t.length = 1)); + var i = t.words[9]; + for (e.words[e.length++] = 4194303 & i, n = 10; n < t.length; n++) { + var a = 0 | t.words[n]; + ((t.words[n - 10] = ((4194303 & a) << 4) | (i >>> 22)), (i = a)); + } + ((i >>>= 22), + (t.words[n - 10] = i), + 0 === i && t.length > 10 ? (t.length -= 10) : (t.length -= 9)); + }), + (y.prototype.imulK = function (t) { + ((t.words[t.length] = 0), (t.words[t.length + 1] = 0), (t.length += 2)); + for (var e = 0, r = 0; r < t.length; r++) { + var n = 0 | t.words[r]; + ((e += 977 * n), + (t.words[r] = 67108863 & e), + (e = 64 * n + ((e / 67108864) | 0))); + } + return ( + 0 === t.words[t.length - 1] && + (t.length--, 0 === t.words[t.length - 1] && t.length--), + t + ); + }), + i(x, v), + i(b, v), + i(_, v), + (_.prototype.imulK = function (t) { + for (var e = 0, r = 0; r < t.length; r++) { + var n = 19 * (0 | t.words[r]) + e, + i = 67108863 & n; + ((n >>>= 26), (t.words[r] = i), (e = n)); + } + return (0 !== e && (t.words[t.length++] = e), t); + }), + (a._prime = function (t) { + if (m[t]) return m[t]; + var e; + if ("k256" === t) e = new y(); + else if ("p224" === t) e = new x(); + else if ("p192" === t) e = new b(); + else { + if ("p25519" !== t) throw new Error("Unknown prime " + t); + e = new _(); + } + return ((m[t] = e), e); + }), + (w.prototype._verify1 = function (t) { + (n(0 === t.negative, "red works only with positives"), + n(t.red, "red works only with red numbers")); + }), + (w.prototype._verify2 = function (t, e) { + (n(0 == (t.negative | e.negative), "red works only with positives"), + n(t.red && t.red === e.red, "red works only with red numbers")); + }), + (w.prototype.imod = function (t) { + return this.prime + ? this.prime.ireduce(t)._forceRed(this) + : t.umod(this.m)._forceRed(this); + }), + (w.prototype.neg = function (t) { + return t.isZero() ? t.clone() : this.m.sub(t)._forceRed(this); + }), + (w.prototype.add = function (t, e) { + this._verify2(t, e); + var r = t.add(e); + return (r.cmp(this.m) >= 0 && r.isub(this.m), r._forceRed(this)); + }), + (w.prototype.iadd = function (t, e) { + this._verify2(t, e); + var r = t.iadd(e); + return (r.cmp(this.m) >= 0 && r.isub(this.m), r); + }), + (w.prototype.sub = function (t, e) { + this._verify2(t, e); + var r = t.sub(e); + return (r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this)); + }), + (w.prototype.isub = function (t, e) { + this._verify2(t, e); + var r = t.isub(e); + return (r.cmpn(0) < 0 && r.iadd(this.m), r); + }), + (w.prototype.shl = function (t, e) { + return (this._verify1(t), this.imod(t.ushln(e))); + }), + (w.prototype.imul = function (t, e) { + return (this._verify2(t, e), this.imod(t.imul(e))); + }), + (w.prototype.mul = function (t, e) { + return (this._verify2(t, e), this.imod(t.mul(e))); + }), + (w.prototype.isqr = function (t) { + return this.imul(t, t.clone()); + }), + (w.prototype.sqr = function (t) { + return this.mul(t, t); + }), + (w.prototype.sqrt = function (t) { + if (t.isZero()) return t.clone(); + var e = this.m.andln(3); + if ((n(e % 2 == 1), 3 === e)) { + var r = this.m.add(new a(1)).iushrn(2); + return this.pow(t, r); + } + for (var i = this.m.subn(1), o = 0; !i.isZero() && 0 === i.andln(1); ) + (o++, i.iushrn(1)); + n(!i.isZero()); + var s = new a(1).toRed(this), + l = s.redNeg(), + c = this.m.subn(1).iushrn(1), + u = this.m.bitLength(); + for (u = new a(2 * u * u).toRed(this); 0 !== this.pow(u, c).cmp(l); ) + u.redIAdd(l); + for ( + var f = this.pow(u, i), + h = this.pow(t, i.addn(1).iushrn(1)), + p = this.pow(t, i), + d = o; + 0 !== p.cmp(s); + + ) { + for (var g = p, m = 0; 0 !== g.cmp(s); m++) g = g.redSqr(); + n(m < d); + var v = this.pow(f, new a(1).iushln(d - m - 1)); + ((h = h.redMul(v)), (f = v.redSqr()), (p = p.redMul(f)), (d = m)); + } + return h; + }), + (w.prototype.invm = function (t) { + var e = t._invmp(this.m); + return 0 !== e.negative + ? ((e.negative = 0), this.imod(e).redNeg()) + : this.imod(e); + }), + (w.prototype.pow = function (t, e) { + if (e.isZero()) return new a(1).toRed(this); + if (0 === e.cmpn(1)) return t.clone(); + var r = new Array(16); + ((r[0] = new a(1).toRed(this)), (r[1] = t)); + for (var n = 2; n < r.length; n++) r[n] = this.mul(r[n - 1], t); + var i = r[0], + o = 0, + s = 0, + l = e.bitLength() % 26; + for (0 === l && (l = 26), n = e.length - 1; n >= 0; n--) { + for (var c = e.words[n], u = l - 1; u >= 0; u--) { + var f = (c >> u) & 1; + (i !== r[0] && (i = this.sqr(i)), + 0 !== f || 0 !== o + ? ((o <<= 1), + (o |= f), + (4 === ++s || (0 === n && 0 === u)) && + ((i = this.mul(i, r[o])), (s = 0), (o = 0))) + : (s = 0)); + } + l = 26; + } + return i; + }), + (w.prototype.convertTo = function (t) { + var e = t.umod(this.m); + return e === t ? e.clone() : e; + }), + (w.prototype.convertFrom = function (t) { + var e = t.clone(); + return ((e.red = null), e); + }), + (a.mont = function (t) { + return new k(t); + }), + i(k, w), + (k.prototype.convertTo = function (t) { + return this.imod(t.ushln(this.shift)); + }), + (k.prototype.convertFrom = function (t) { + var e = this.imod(t.mul(this.rinv)); + return ((e.red = null), e); + }), + (k.prototype.imul = function (t, e) { + if (t.isZero() || e.isZero()) + return ((t.words[0] = 0), (t.length = 1), t); + var r = t.imul(e), + n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), + i = r.isub(n).iushrn(this.shift), + a = i; + return ( + i.cmp(this.m) >= 0 + ? (a = i.isub(this.m)) + : i.cmpn(0) < 0 && (a = i.iadd(this.m)), + a._forceRed(this) + ); + }), + (k.prototype.mul = function (t, e) { + if (t.isZero() || e.isZero()) return new a(0)._forceRed(this); + var r = t.mul(e), + n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), + i = r.isub(n).iushrn(this.shift), + o = i; + return ( + i.cmp(this.m) >= 0 + ? (o = i.isub(this.m)) + : i.cmpn(0) < 0 && (o = i.iadd(this.m)), + o._forceRed(this) + ); + }), + (k.prototype.invm = function (t) { + return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this); + })); + })(void 0 === e || e, this); + }, + { buffer: 84 }, + ], + 76: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e, + r, + n, + i = t.length, + a = 0; + for (e = 0; e < i; ++e) a += t[e].length; + var o = new Array(a), + s = 0; + for (e = 0; e < i; ++e) { + var l = t[e], + c = l.length; + for (r = 0; r < c; ++r) { + var u = (o[s++] = new Array(c - 1)), + f = 0; + for (n = 0; n < c; ++n) n !== r && (u[f++] = l[n]); + if (1 & r) { + var h = u[1]; + ((u[1] = u[0]), (u[0] = h)); + } + } + } + return o; + }; + }, + {}, + ], + 77: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + switch (arguments.length) { + case 1: + return ((n = []), c((i = t), i, u, !0), n); + case 2: + return "function" == typeof e + ? c(t, t, e, !0) + : (function (t, e) { + return ((n = []), c(t, e, u, !1), n); + })(t, e); + case 3: + return c(t, e, r, !1); + default: + throw new Error("box-intersect: Invalid arguments"); + } + var i; + }; + var n, + i = t("typedarray-pool"), + a = t("./lib/sweep"), + o = t("./lib/intersect"); + function s(t, e) { + for (var r = 0; r < t; ++r) if (!(e[r] <= e[r + t])) return !0; + return !1; + } + function l(t, e, r, n) { + for (var i = 0, a = 0, o = 0, l = t.length; o < l; ++o) { + var c = t[o]; + if (!s(e, c)) { + for (var u = 0; u < 2 * e; ++u) r[i++] = c[u]; + n[a++] = o; + } + } + return a; + } + function c(t, e, r, n) { + var s = t.length, + c = e.length; + if (!(s <= 0 || c <= 0)) { + var u = t[0].length >>> 1; + if (!(u <= 0)) { + var f, + h = i.mallocDouble(2 * u * s), + p = i.mallocInt32(s); + if ((s = l(t, u, h, p)) > 0) { + if (1 === u && n) + (a.init(s), (f = a.sweepComplete(u, r, 0, s, h, p, 0, s, h, p))); + else { + var d = i.mallocDouble(2 * u * c), + g = i.mallocInt32(c); + (c = l(e, u, d, g)) > 0 && + (a.init(s + c), + (f = + 1 === u + ? a.sweepBipartite(u, r, 0, s, h, p, 0, c, d, g) + : o(u, r, n, s, h, p, c, d, g)), + i.free(d), + i.free(g)); + } + (i.free(h), i.free(p)); + } + return f; + } + } + } + function u(t, e) { + n.push([t, e]); + } + }, + { "./lib/intersect": 79, "./lib/sweep": 83, "typedarray-pool": 423 }, + ], + 78: [ + function (t, e, r) { + "use strict"; + var n = "d", + i = "ax", + a = "vv", + o = "fp", + s = "es", + l = "rs", + c = "re", + u = "rb", + f = "ri", + h = "rp", + p = "bs", + d = "be", + g = "bb", + m = "bi", + v = "bp", + y = "rv", + x = "Q", + b = [n, i, a, l, c, u, f, p, d, g, m]; + function _(t) { + var e = "bruteForce" + (t ? "Full" : "Partial"), + r = [], + _ = b.slice(); + t || _.splice(3, 0, o); + var w = ["function " + e + "(" + _.join() + "){"]; + function k(e, o) { + var _ = (function (t, e, r) { + var o = + "bruteForce" + + (t ? "Red" : "Blue") + + (e ? "Flip" : "") + + (r ? "Full" : ""), + _ = ["function ", o, "(", b.join(), "){", "var ", s, "=2*", n, ";"], + w = + "for(var i=" + + l + + "," + + h + + "=" + + s + + "*" + + l + + ";i<" + + c + + ";++i," + + h + + "+=" + + s + + "){var x0=" + + u + + "[" + + i + + "+" + + h + + "],x1=" + + u + + "[" + + i + + "+" + + h + + "+" + + n + + "],xi=" + + f + + "[i];", + k = + "for(var j=" + + p + + "," + + v + + "=" + + s + + "*" + + p + + ";j<" + + d + + ";++j," + + v + + "+=" + + s + + "){var y0=" + + g + + "[" + + i + + "+" + + v + + "]," + + (r ? "y1=" + g + "[" + i + "+" + v + "+" + n + "]," : "") + + "yi=" + + m + + "[j];"; + return ( + t ? _.push(w, x, ":", k) : _.push(k, x, ":", w), + r + ? _.push("if(y1" + d + "-" + p + "){"), + t + ? (k(!0, !1), w.push("}else{"), k(!1, !1)) + : (w.push("if(" + o + "){"), + k(!0, !0), + w.push("}else{"), + k(!0, !1), + w.push("}}else{if(" + o + "){"), + k(!1, !0), + w.push("}else{"), + k(!1, !1), + w.push("}")), + w.push("}}return " + e)); + var M = r.join("") + w.join(""); + return new Function(M)(); + } + ((r.partial = _(!1)), (r.full = _(!0))); + }, + {}, + ], + 79: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, a, u, S, C, E, L) { + !(function (t, e) { + var r = (8 * i.log2(e + 1) * (t + 1)) | 0, + a = i.nextPow2(b * r); + w.length < a && (n.free(w), (w = n.mallocInt32(a))); + var o = i.nextPow2(_ * r); + k < o && (n.free(k), (k = n.mallocDouble(o))); + })(t, a + C); + var z, + P = 0, + D = 2 * t; + (M(P++, 0, 0, a, 0, C, r ? 16 : 0, -1 / 0, 1 / 0), + r || M(P++, 0, 0, C, 0, a, 1, -1 / 0, 1 / 0)); + for (; P > 0; ) { + var O = (P -= 1) * b, + I = w[O], + R = w[O + 1], + B = w[O + 2], + F = w[O + 3], + N = w[O + 4], + j = w[O + 5], + V = P * _, + U = k[V], + q = k[V + 1], + H = 1 & j, + G = !!(16 & j), + W = u, + Y = S, + X = E, + Z = L; + if ( + (H && ((W = E), (Y = L), (X = u), (Z = S)), + !( + (2 & j && ((B = m(t, I, R, B, W, Y, q)), R >= B)) || + (4 & j && (R = v(t, I, R, B, W, Y, U)) >= B) + )) + ) { + var J = B - R, + K = N - F; + if (G) { + if (t * J * (J + K) < p) { + if ( + void 0 !== (z = l.scanComplete(t, I, e, R, B, W, Y, F, N, X, Z)) + ) + return z; + continue; + } + } else { + if (t * Math.min(J, K) < f) { + if (void 0 !== (z = o(t, I, e, H, R, B, W, Y, F, N, X, Z))) + return z; + continue; + } + if (t * J * K < h) { + if ( + void 0 !== + (z = l.scanBipartite(t, I, e, H, R, B, W, Y, F, N, X, Z)) + ) + return z; + continue; + } + } + var Q = d(t, I, R, B, W, Y, U, q); + if (R < Q) + if (t * (Q - R) < f) { + if (void 0 !== (z = s(t, I + 1, e, R, Q, W, Y, F, N, X, Z))) + return z; + } else if (I === t - 2) { + if ( + void 0 !== + (z = H + ? l.sweepBipartite(t, e, F, N, X, Z, R, Q, W, Y) + : l.sweepBipartite(t, e, R, Q, W, Y, F, N, X, Z)) + ) + return z; + } else + (M(P++, I + 1, R, Q, F, N, H, -1 / 0, 1 / 0), + M(P++, I + 1, F, N, R, Q, 1 ^ H, -1 / 0, 1 / 0)); + if (Q < B) { + var $ = c(t, I, F, N, X, Z), + tt = X[D * $ + I], + et = g(t, I, $, N, X, Z, tt); + if ( + (et < N && M(P++, I, Q, B, et, N, (4 | H) + (G ? 16 : 0), tt, q), + F < $ && M(P++, I, Q, B, F, $, (2 | H) + (G ? 16 : 0), U, tt), + $ + 1 === et) + ) { + if ( + void 0 !== + (z = G + ? T(t, I, e, Q, B, W, Y, $, X, Z[$]) + : A(t, I, e, H, Q, B, W, Y, $, X, Z[$])) + ) + return z; + } else if ($ < et) { + var rt; + if (G) { + if (((rt = y(t, I, Q, B, W, Y, tt)), Q < rt)) { + var nt = g(t, I, Q, rt, W, Y, tt); + if (I === t - 2) { + if ( + Q < nt && + void 0 !== + (z = l.sweepComplete(t, e, Q, nt, W, Y, $, et, X, Z)) + ) + return z; + if ( + nt < rt && + void 0 !== + (z = l.sweepBipartite(t, e, nt, rt, W, Y, $, et, X, Z)) + ) + return z; + } else + (Q < nt && M(P++, I + 1, Q, nt, $, et, 16, -1 / 0, 1 / 0), + nt < rt && + (M(P++, I + 1, nt, rt, $, et, 0, -1 / 0, 1 / 0), + M(P++, I + 1, $, et, nt, rt, 1, -1 / 0, 1 / 0))); + } + } else + ((rt = H ? x(t, I, Q, B, W, Y, tt) : y(t, I, Q, B, W, Y, tt)), + Q < rt && + (I === t - 2 + ? (z = H + ? l.sweepBipartite(t, e, $, et, X, Z, Q, rt, W, Y) + : l.sweepBipartite(t, e, Q, rt, W, Y, $, et, X, Z)) + : (M(P++, I + 1, Q, rt, $, et, H, -1 / 0, 1 / 0), + M(P++, I + 1, $, et, Q, rt, 1 ^ H, -1 / 0, 1 / 0)))); + } + } + } + } + }; + var n = t("typedarray-pool"), + i = t("bit-twiddle"), + a = t("./brute"), + o = a.partial, + s = a.full, + l = t("./sweep"), + c = t("./median"), + u = t("./partition"), + f = 128, + h = 1 << 22, + p = 1 << 22, + d = u("!(lo>=p0)&&!(p1>=hi)", ["p0", "p1"]), + g = u("lo===p0", ["p0"]), + m = u("lo>> 1, + h = 2 * t, + p = f, + d = s[h * f + e]; + for (; c < u; ) { + if (u - c < i) { + (a(t, e, c, u, s, l), (d = s[h * f + e])); + break; + } + var g = u - c, + m = (Math.random() * g + c) | 0, + v = s[h * m + e], + y = (Math.random() * g + c) | 0, + x = s[h * y + e], + b = (Math.random() * g + c) | 0, + _ = s[h * b + e]; + v <= x + ? _ >= x + ? ((p = y), (d = x)) + : v >= _ + ? ((p = m), (d = v)) + : ((p = b), (d = _)) + : x >= _ + ? ((p = y), (d = x)) + : _ >= v + ? ((p = m), (d = v)) + : ((p = b), (d = _)); + for (var w = h * (u - 1), k = h * p, M = 0; M < h; ++M, ++w, ++k) { + var A = s[w]; + ((s[w] = s[k]), (s[k] = A)); + } + var T = l[u - 1]; + ((l[u - 1] = l[p]), (l[p] = T), (p = n(t, e, c, u - 1, s, l, d))); + for (var w = h * (u - 1), k = h * p, M = 0; M < h; ++M, ++w, ++k) { + var A = s[w]; + ((s[w] = s[k]), (s[k] = A)); + } + var T = l[u - 1]; + if (((l[u - 1] = l[p]), (l[p] = T), f < p)) { + for (u = p - 1; c < u && s[h * (u - 1) + e] === d; ) u -= 1; + u += 1; + } else { + if (!(p < f)) break; + for (c = p + 1; c < u && s[h * c + e] === d; ) c += 1; + } + } + return n(t, e, r, f, s, l, s[h * f + e]); + }; + var n = t("./partition")("lo r && i[f + e] > c; + --u, f -= o + ) { + for (var h = f, p = f + o, d = 0; d < o; ++d, ++h, ++p) { + var g = i[h]; + ((i[h] = i[p]), (i[p] = g)); + } + var m = a[u]; + ((a[u] = a[u - 1]), (a[u - 1] = m)); + } + } + }, + { "./partition": 81 }, + ], + 81: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = "abcdef".split("").concat(e), + i = []; + t.indexOf("lo") >= 0 && i.push("lo=e[k+n]"); + t.indexOf("hi") >= 0 && i.push("hi=e[k+o]"); + return ( + r.push(n.replace("_", i.join()).replace("$", t)), + Function.apply(void 0, r) + ); + }; + var n = + "for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"; + }, + {}, + ], + 82: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + e <= 4 * n + ? i(0, e - 1, t) + : (function t(e, r, f) { + var h = ((r - e + 1) / 6) | 0, + p = e + h, + d = r - h, + g = (e + r) >> 1, + m = g - h, + v = g + h, + y = p, + x = m, + b = g, + _ = v, + w = d, + k = e + 1, + M = r - 1, + A = 0; + c(y, x, f) && ((A = y), (y = x), (x = A)); + c(_, w, f) && ((A = _), (_ = w), (w = A)); + c(y, b, f) && ((A = y), (y = b), (b = A)); + c(x, b, f) && ((A = x), (x = b), (b = A)); + c(y, _, f) && ((A = y), (y = _), (_ = A)); + c(b, _, f) && ((A = b), (b = _), (_ = A)); + c(x, w, f) && ((A = x), (x = w), (w = A)); + c(x, b, f) && ((A = x), (x = b), (b = A)); + c(_, w, f) && ((A = _), (_ = w), (w = A)); + var T = f[2 * x]; + var S = f[2 * x + 1]; + var C = f[2 * _]; + var E = f[2 * _ + 1]; + var L = 2 * y; + var z = 2 * b; + var P = 2 * w; + var D = 2 * p; + var O = 2 * g; + var I = 2 * d; + for (var R = 0; R < 2; ++R) { + var B = f[L + R], + F = f[z + R], + N = f[P + R]; + ((f[D + R] = B), (f[O + R] = F), (f[I + R] = N)); + } + o(m, e, f); + o(v, r, f); + for (var j = k; j <= M; ++j) + if (u(j, T, S, f)) (j !== k && a(j, k, f), ++k); + else if (!u(j, C, E, f)) + for (;;) { + if (u(M, C, E, f)) { + u(M, T, S, f) ? (s(j, k, M, f), ++k, --M) : (a(j, M, f), --M); + break; + } + if (--M < j) break; + } + l(e, k - 1, T, S, f); + l(r, M + 1, C, E, f); + k - 2 - e <= n ? i(e, k - 2, f) : t(e, k - 2, f); + r - (M + 2) <= n ? i(M + 2, r, f) : t(M + 2, r, f); + M - k <= n ? i(k, M, f) : t(k, M, f); + })(0, e - 1, t); + }; + var n = 32; + function i(t, e, r) { + for (var n = 2 * (t + 1), i = t + 1; i <= e; ++i) { + for (var a = r[n++], o = r[n++], s = i, l = n - 2; s-- > t; ) { + var c = r[l - 2], + u = r[l - 1]; + if (c < a) break; + if (c === a && u < o) break; + ((r[l] = c), (r[l + 1] = u), (l -= 2)); + } + ((r[l] = a), (r[l + 1] = o)); + } + } + function a(t, e, r) { + e *= 2; + var n = r[(t *= 2)], + i = r[t + 1]; + ((r[t] = r[e]), (r[t + 1] = r[e + 1]), (r[e] = n), (r[e + 1] = i)); + } + function o(t, e, r) { + ((e *= 2), (r[(t *= 2)] = r[e]), (r[t + 1] = r[e + 1])); + } + function s(t, e, r, n) { + ((e *= 2), (r *= 2)); + var i = n[(t *= 2)], + a = n[t + 1]; + ((n[t] = n[e]), + (n[t + 1] = n[e + 1]), + (n[e] = n[r]), + (n[e + 1] = n[r + 1]), + (n[r] = i), + (n[r + 1] = a)); + } + function l(t, e, r, n, i) { + ((e *= 2), + (i[(t *= 2)] = i[e]), + (i[e] = r), + (i[t + 1] = i[e + 1]), + (i[e + 1] = n)); + } + function c(t, e, r) { + e *= 2; + var n = r[(t *= 2)], + i = r[e]; + return !(n < i) && (n !== i || r[t + 1] > r[e + 1]); + } + function u(t, e, r, n) { + var i = n[(t *= 2)]; + return i < e || (i === e && n[t + 1] < r); + } + }, + {}, + ], + 83: [ + function (t, e, r) { + "use strict"; + e.exports = { + init: function (t) { + var e = i.nextPow2(t); + s.length < e && (n.free(s), (s = n.mallocInt32(e))); + l.length < e && (n.free(l), (l = n.mallocInt32(e))); + c.length < e && (n.free(c), (c = n.mallocInt32(e))); + u.length < e && (n.free(u), (u = n.mallocInt32(e))); + f.length < e && (n.free(f), (f = n.mallocInt32(e))); + h.length < e && (n.free(h), (h = n.mallocInt32(e))); + var r = 8 * e; + p.length < r && (n.free(p), (p = n.mallocDouble(r))); + }, + sweepBipartite: function (t, e, r, n, i, f, h, m, v, y) { + for (var x = 0, b = 2 * t, _ = t - 1, w = b - 1, k = r; k < n; ++k) { + var M = f[k], + A = b * k; + ((p[x++] = i[A + _]), + (p[x++] = -(M + 1)), + (p[x++] = i[A + w]), + (p[x++] = M)); + } + for (var k = h; k < m; ++k) { + var M = y[k] + o, + T = b * k; + ((p[x++] = v[T + _]), (p[x++] = -M), (p[x++] = v[T + w]), (p[x++] = M)); + } + var S = x >>> 1; + a(p, S); + for (var C = 0, E = 0, k = 0; k < S; ++k) { + var L = 0 | p[2 * k + 1]; + if (L >= o) d(c, u, E--, (L = (L - o) | 0)); + else if (L >= 0) d(s, l, C--, L); + else if (L <= -o) { + L = (-L - o) | 0; + for (var z = 0; z < C; ++z) { + var P = e(s[z], L); + if (void 0 !== P) return P; + } + g(c, u, E++, L); + } else { + L = (-L - 1) | 0; + for (var z = 0; z < E; ++z) { + var P = e(L, c[z]); + if (void 0 !== P) return P; + } + g(s, l, C++, L); + } + } + }, + sweepComplete: function (t, e, r, n, i, o, m, v, y, x) { + for (var b = 0, _ = 2 * t, w = t - 1, k = _ - 1, M = r; M < n; ++M) { + var A = (o[M] + 1) << 1, + T = _ * M; + ((p[b++] = i[T + w]), (p[b++] = -A), (p[b++] = i[T + k]), (p[b++] = A)); + } + for (var M = m; M < v; ++M) { + var A = (x[M] + 1) << 1, + S = _ * M; + ((p[b++] = y[S + w]), + (p[b++] = 1 | -A), + (p[b++] = y[S + k]), + (p[b++] = 1 | A)); + } + var C = b >>> 1; + a(p, C); + for (var E = 0, L = 0, z = 0, M = 0; M < C; ++M) { + var P = 0 | p[2 * M + 1], + D = 1 & P; + if ( + (M < C - 1 && P >> 1 == p[2 * M + 3] >> 1 && ((D = 2), (M += 1)), + P < 0) + ) { + for (var O = -(P >> 1) - 1, I = 0; I < z; ++I) { + var R = e(f[I], O); + if (void 0 !== R) return R; + } + if (0 !== D) + for (var I = 0; I < E; ++I) { + var R = e(s[I], O); + if (void 0 !== R) return R; + } + if (1 !== D) + for (var I = 0; I < L; ++I) { + var R = e(c[I], O); + if (void 0 !== R) return R; + } + 0 === D + ? g(s, l, E++, O) + : 1 === D + ? g(c, u, L++, O) + : 2 === D && g(f, h, z++, O); + } else { + var O = (P >> 1) - 1; + 0 === D + ? d(s, l, E--, O) + : 1 === D + ? d(c, u, L--, O) + : 2 === D && d(f, h, z--, O); + } + } + }, + scanBipartite: function (t, e, r, n, i, c, u, f, h, m, v, y) { + var x = 0, + b = 2 * t, + _ = e, + w = e + t, + k = 1, + M = 1; + n ? (M = o) : (k = o); + for (var A = i; A < c; ++A) { + var T = A + k, + S = b * A; + ((p[x++] = u[S + _]), (p[x++] = -T), (p[x++] = u[S + w]), (p[x++] = T)); + } + for (var A = h; A < m; ++A) { + var T = A + M, + C = b * A; + ((p[x++] = v[C + _]), (p[x++] = -T)); + } + var E = x >>> 1; + a(p, E); + for (var L = 0, A = 0; A < E; ++A) { + var z = 0 | p[2 * A + 1]; + if (z < 0) { + var T = -z, + P = !1; + if ((T >= o ? ((P = !n), (T -= o)) : ((P = !!n), (T -= 1)), P)) + g(s, l, L++, T); + else { + var D = y[T], + O = b * T, + I = v[O + e + 1], + R = v[O + e + 1 + t]; + t: for (var B = 0; B < L; ++B) { + var F = s[B], + N = b * F; + if (!(R < u[N + e + 1] || u[N + e + 1 + t] < I)) { + for (var j = e + 2; j < t; ++j) + if (v[O + j + t] < u[N + j] || u[N + j + t] < v[O + j]) + continue t; + var V, + U = f[F]; + if (void 0 !== (V = n ? r(D, U) : r(U, D))) return V; + } + } + } + } else d(s, l, L--, z - k); + } + }, + scanComplete: function (t, e, r, n, i, l, c, u, f, h, d) { + for (var g = 0, m = 2 * t, v = e, y = e + t, x = n; x < i; ++x) { + var b = x + o, + _ = m * x; + ((p[g++] = l[_ + v]), (p[g++] = -b), (p[g++] = l[_ + y]), (p[g++] = b)); + } + for (var x = u; x < f; ++x) { + var b = x + 1, + w = m * x; + ((p[g++] = h[w + v]), (p[g++] = -b)); + } + var k = g >>> 1; + a(p, k); + for (var M = 0, x = 0; x < k; ++x) { + var A = 0 | p[2 * x + 1]; + if (A < 0) { + var b = -A; + if (b >= o) s[M++] = b - o; + else { + var T = d[(b -= 1)], + S = m * b, + C = h[S + e + 1], + E = h[S + e + 1 + t]; + t: for (var L = 0; L < M; ++L) { + var z = s[L], + P = c[z]; + if (P === T) break; + var D = m * z; + if (!(E < l[D + e + 1] || l[D + e + 1 + t] < C)) { + for (var O = e + 2; O < t; ++O) + if (h[S + O + t] < l[D + O] || l[D + O + t] < h[S + O]) + continue t; + var I = r(P, T); + if (void 0 !== I) return I; + } + } + } + } else { + for (var b = A - o, L = M - 1; L >= 0; --L) + if (s[L] === b) { + for (var O = L + 1; O < M; ++O) s[O - 1] = s[O]; + break; + } + --M; + } + } + }, + }; + var n = t("typedarray-pool"), + i = t("bit-twiddle"), + a = t("./sort"), + o = 1 << 28, + s = n.mallocInt32(1024), + l = n.mallocInt32(1024), + c = n.mallocInt32(1024), + u = n.mallocInt32(1024), + f = n.mallocInt32(1024), + h = n.mallocInt32(1024), + p = n.mallocDouble(8192); + function d(t, e, r, n) { + var i = e[n], + a = t[r - 1]; + ((t[i] = a), (e[a] = i)); + } + function g(t, e, r, n) { + ((t[r] = n), (e[n] = r)); + } + }, + { "./sort": 82, "bit-twiddle": 73, "typedarray-pool": 423 }, + ], + 84: [function (t, e, r) {}, {}], + 85: [ + function (t, e, r) { + "use strict"; + var n = t("base64-js"), + i = t("ieee754"); + ((r.Buffer = s), + (r.SlowBuffer = function (t) { + +t != t && (t = 0); + return s.alloc(+t); + }), + (r.INSPECT_MAX_BYTES = 50)); + var a = 2147483647; + function o(t) { + if (t > a) throw new RangeError("Invalid typed array length"); + var e = new Uint8Array(t); + return ((e.__proto__ = s.prototype), e); + } + function s(t, e, r) { + if ("number" == typeof t) { + if ("string" == typeof e) + throw new Error( + "If encoding is specified then the first argument must be a string", + ); + return u(t); + } + return l(t, e, r); + } + function l(t, e, r) { + if ("number" == typeof t) + throw new TypeError('"value" argument must not be a number'); + return j(t) || (t && j(t.buffer)) + ? (function (t, e, r) { + if (e < 0 || t.byteLength < e) + throw new RangeError('"offset" is outside of buffer bounds'); + if (t.byteLength < e + (r || 0)) + throw new RangeError('"length" is outside of buffer bounds'); + var n; + n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r); + return ((n.__proto__ = s.prototype), n); + })(t, e, r) + : "string" == typeof t + ? (function (t, e) { + ("string" == typeof e && "" !== e) || (e = "utf8"); + if (!s.isEncoding(e)) throw new TypeError("Unknown encoding: " + e); + var r = 0 | p(t, e), + n = o(r), + i = n.write(t, e); + i !== r && (n = n.slice(0, i)); + return n; + })(t, e) + : (function (t) { + if (s.isBuffer(t)) { + var e = 0 | h(t.length), + r = o(e); + return 0 === r.length ? r : (t.copy(r, 0, 0, e), r); + } + if (t) { + if (ArrayBuffer.isView(t) || "length" in t) + return "number" != typeof t.length || V(t.length) ? o(0) : f(t); + if ("Buffer" === t.type && Array.isArray(t.data)) + return f(t.data); + } + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.", + ); + })(t); + } + function c(t) { + if ("number" != typeof t) + throw new TypeError('"size" argument must be of type number'); + if (t < 0) throw new RangeError('"size" argument must not be negative'); + } + function u(t) { + return (c(t), o(t < 0 ? 0 : 0 | h(t))); + } + function f(t) { + for ( + var e = t.length < 0 ? 0 : 0 | h(t.length), r = o(e), n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function h(t) { + if (t >= a) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + + a.toString(16) + + " bytes", + ); + return 0 | t; + } + function p(t, e) { + if (s.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || j(t)) return t.byteLength; + "string" != typeof t && (t = "" + t); + var r = t.length; + if (0 === r) return 0; + for (var n = !1; ; ) + switch (e) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + case void 0: + return B(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return F(t).length; + default: + if (n) return B(t).length; + ((e = ("" + e).toLowerCase()), (n = !0)); + } + } + function d(t, e, r) { + var n = t[e]; + ((t[e] = t[r]), (t[r] = n)); + } + function g(t, e, r, n, i) { + if (0 === t.length) return -1; + if ( + ("string" == typeof r + ? ((n = r), (r = 0)) + : r > 2147483647 + ? (r = 2147483647) + : r < -2147483648 && (r = -2147483648), + V((r = +r)) && (r = i ? 0 : t.length - 1), + r < 0 && (r = t.length + r), + r >= t.length) + ) { + if (i) return -1; + r = t.length - 1; + } else if (r < 0) { + if (!i) return -1; + r = 0; + } + if (("string" == typeof e && (e = s.from(e, n)), s.isBuffer(e))) + return 0 === e.length ? -1 : m(t, e, r, n, i); + if ("number" == typeof e) + return ( + (e &= 255), + "function" == typeof Uint8Array.prototype.indexOf + ? i + ? Uint8Array.prototype.indexOf.call(t, e, r) + : Uint8Array.prototype.lastIndexOf.call(t, e, r) + : m(t, [e], r, n, i) + ); + throw new TypeError("val must be string, number or Buffer"); + } + function m(t, e, r, n, i) { + var a, + o = 1, + s = t.length, + l = e.length; + if ( + void 0 !== n && + ("ucs2" === (n = String(n).toLowerCase()) || + "ucs-2" === n || + "utf16le" === n || + "utf-16le" === n) + ) { + if (t.length < 2 || e.length < 2) return -1; + ((o = 2), (s /= 2), (l /= 2), (r /= 2)); + } + function c(t, e) { + return 1 === o ? t[e] : t.readUInt16BE(e * o); + } + if (i) { + var u = -1; + for (a = r; a < s; a++) + if (c(t, a) === c(e, -1 === u ? 0 : a - u)) { + if ((-1 === u && (u = a), a - u + 1 === l)) return u * o; + } else (-1 !== u && (a -= a - u), (u = -1)); + } else + for (r + l > s && (r = s - l), a = r; a >= 0; a--) { + for (var f = !0, h = 0; h < l; h++) + if (c(t, a + h) !== c(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function v(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : (n = i); + var a = e.length; + n > a / 2 && (n = a / 2); + for (var o = 0; o < n; ++o) { + var s = parseInt(e.substr(2 * o, 2), 16); + if (V(s)) return o; + t[r + o] = s; + } + return o; + } + function y(t, e, r, n) { + return N(B(e, t.length - r), t, r, n); + } + function x(t, e, r, n) { + return N( + (function (t) { + for (var e = [], r = 0; r < t.length; ++r) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n, + ); + } + function b(t, e, r, n) { + return x(t, e, r, n); + } + function _(t, e, r, n) { + return N(F(e), t, r, n); + } + function w(t, e, r, n) { + return N( + (function (t, e) { + for (var r, n, i, a = [], o = 0; o < t.length && !((e -= 2) < 0); ++o) + ((r = t.charCodeAt(o)), + (n = r >> 8), + (i = r % 256), + a.push(i), + a.push(n)); + return a; + })(e, t.length - r), + t, + r, + n, + ); + } + function k(t, e, r) { + return 0 === e && r === t.length + ? n.fromByteArray(t) + : n.fromByteArray(t.slice(e, r)); + } + function M(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a, + o, + s, + l, + c = t[i], + u = null, + f = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1; + if (i + f <= r) + switch (f) { + case 1: + c < 128 && (u = c); + break; + case 2: + 128 == (192 & (a = t[i + 1])) && + (l = ((31 & c) << 6) | (63 & a)) > 127 && + (u = l); + break; + case 3: + ((a = t[i + 1]), + (o = t[i + 2]), + 128 == (192 & a) && + 128 == (192 & o) && + (l = ((15 & c) << 12) | ((63 & a) << 6) | (63 & o)) > 2047 && + (l < 55296 || l > 57343) && + (u = l)); + break; + case 4: + ((a = t[i + 1]), + (o = t[i + 2]), + (s = t[i + 3]), + 128 == (192 & a) && + 128 == (192 & o) && + 128 == (192 & s) && + (l = + ((15 & c) << 18) | + ((63 & a) << 12) | + ((63 & o) << 6) | + (63 & s)) > 65535 && + l < 1114112 && + (u = l)); + } + (null === u + ? ((u = 65533), (f = 1)) + : u > 65535 && + ((u -= 65536), + n.push(((u >>> 10) & 1023) | 55296), + (u = 56320 | (1023 & u))), + n.push(u), + (i += f)); + } + return (function (t) { + var e = t.length; + if (e <= A) return String.fromCharCode.apply(String, t); + var r = "", + n = 0; + for (; n < e; ) + r += String.fromCharCode.apply(String, t.slice(n, (n += A))); + return r; + })(n); + } + ((r.kMaxLength = a), + (s.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1); + return ( + (t.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function () { + return 42; + }, + }), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + s.TYPED_ARRAY_SUPPORT || + "undefined" == typeof console || + "function" != typeof console.error || + console.error( + "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.", + ), + Object.defineProperty(s.prototype, "parent", { + get: function () { + if (this instanceof s) return this.buffer; + }, + }), + Object.defineProperty(s.prototype, "offset", { + get: function () { + if (this instanceof s) return this.byteOffset; + }, + }), + "undefined" != typeof Symbol && + Symbol.species && + s[Symbol.species] === s && + Object.defineProperty(s, Symbol.species, { + value: null, + configurable: !0, + enumerable: !1, + writable: !1, + }), + (s.poolSize = 8192), + (s.from = function (t, e, r) { + return l(t, e, r); + }), + (s.prototype.__proto__ = Uint8Array.prototype), + (s.__proto__ = Uint8Array), + (s.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + c(t), + t <= 0 + ? o(t) + : void 0 !== e + ? "string" == typeof r + ? o(t).fill(e, r) + : o(t).fill(e) + : o(t) + ); + })(t, e, r); + }), + (s.allocUnsafe = function (t) { + return u(t); + }), + (s.allocUnsafeSlow = function (t) { + return u(t); + }), + (s.isBuffer = function (t) { + return null != t && !0 === t._isBuffer; + }), + (s.compare = function (t, e) { + if (!s.isBuffer(t) || !s.isBuffer(e)) + throw new TypeError("Arguments must be Buffers"); + if (t === e) return 0; + for ( + var r = t.length, n = e.length, i = 0, a = Math.min(r, n); + i < a; + ++i + ) + if (t[i] !== e[i]) { + ((r = t[i]), (n = e[i])); + break; + } + return r < n ? -1 : n < r ? 1 : 0; + }), + (s.isEncoding = function (t) { + switch (String(t).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return !0; + default: + return !1; + } + }), + (s.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === t.length) return s.alloc(0); + var r; + if (void 0 === e) for (e = 0, r = 0; r < t.length; ++r) e += t[r].length; + var n = s.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var a = t[r]; + if ((ArrayBuffer.isView(a) && (a = s.from(a)), !s.isBuffer(a))) + throw new TypeError('"list" argument must be an Array of Buffers'); + (a.copy(n, i), (i += a.length)); + } + return n; + }), + (s.byteLength = p), + (s.prototype._isBuffer = !0), + (s.prototype.swap16 = function () { + var t = this.length; + if (t % 2 != 0) + throw new RangeError("Buffer size must be a multiple of 16-bits"); + for (var e = 0; e < t; e += 2) d(this, e, e + 1); + return this; + }), + (s.prototype.swap32 = function () { + var t = this.length; + if (t % 4 != 0) + throw new RangeError("Buffer size must be a multiple of 32-bits"); + for (var e = 0; e < t; e += 4) (d(this, e, e + 3), d(this, e + 1, e + 2)); + return this; + }), + (s.prototype.swap64 = function () { + var t = this.length; + if (t % 8 != 0) + throw new RangeError("Buffer size must be a multiple of 64-bits"); + for (var e = 0; e < t; e += 8) + (d(this, e, e + 7), + d(this, e + 1, e + 6), + d(this, e + 2, e + 5), + d(this, e + 3, e + 4)); + return this; + }), + (s.prototype.toString = function () { + var t = this.length; + return 0 === t + ? "" + : 0 === arguments.length + ? M(this, 0, t) + : function (t, e, r) { + var n = !1; + if (((void 0 === e || e < 0) && (e = 0), e > this.length)) + return ""; + if ( + ((void 0 === r || r > this.length) && (r = this.length), r <= 0) + ) + return ""; + if ((r >>>= 0) <= (e >>>= 0)) return ""; + for (t || (t = "utf8"); ; ) + switch (t) { + case "hex": + return C(this, e, r); + case "utf8": + case "utf-8": + return M(this, e, r); + case "ascii": + return T(this, e, r); + case "latin1": + case "binary": + return S(this, e, r); + case "base64": + return k(this, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return E(this, e, r); + default: + if (n) throw new TypeError("Unknown encoding: " + t); + ((t = (t + "").toLowerCase()), (n = !0)); + } + }.apply(this, arguments); + }), + (s.prototype.toLocaleString = s.prototype.toString), + (s.prototype.equals = function (t) { + if (!s.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); + return this === t || 0 === s.compare(this, t); + }), + (s.prototype.inspect = function () { + var t = "", + e = r.INSPECT_MAX_BYTES; + return ( + this.length > 0 && + ((t = this.toString("hex", 0, e).match(/.{2}/g).join(" ")), + this.length > e && (t += " ... ")), + "" + ); + }), + (s.prototype.compare = function (t, e, r, n, i) { + if (!s.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); + if ( + (void 0 === e && (e = 0), + void 0 === r && (r = t ? t.length : 0), + void 0 === n && (n = 0), + void 0 === i && (i = this.length), + e < 0 || r > t.length || n < 0 || i > this.length) + ) + throw new RangeError("out of range index"); + if (n >= i && e >= r) return 0; + if (n >= i) return -1; + if (e >= r) return 1; + if (((e >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === t)) + return 0; + for ( + var a = i - n, + o = r - e, + l = Math.min(a, o), + c = this.slice(n, i), + u = t.slice(e, r), + f = 0; + f < l; + ++f + ) + if (c[f] !== u[f]) { + ((a = c[f]), (o = u[f])); + break; + } + return a < o ? -1 : o < a ? 1 : 0; + }), + (s.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (s.prototype.indexOf = function (t, e, r) { + return g(this, t, e, r, !0); + }), + (s.prototype.lastIndexOf = function (t, e, r) { + return g(this, t, e, r, !1); + }), + (s.prototype.write = function (t, e, r, n) { + if (void 0 === e) ((n = "utf8"), (r = this.length), (e = 0)); + else if (void 0 === r && "string" == typeof e) + ((n = e), (r = this.length), (e = 0)); + else { + if (!isFinite(e)) + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported", + ); + ((e >>>= 0), + isFinite(r) + ? ((r >>>= 0), void 0 === n && (n = "utf8")) + : ((n = r), (r = void 0))); + } + var i = this.length - e; + if ( + ((void 0 === r || r > i) && (r = i), + (t.length > 0 && (r < 0 || e < 0)) || e > this.length) + ) + throw new RangeError("Attempt to write outside buffer bounds"); + n || (n = "utf8"); + for (var a = !1; ; ) + switch (n) { + case "hex": + return v(this, t, e, r); + case "utf8": + case "utf-8": + return y(this, t, e, r); + case "ascii": + return x(this, t, e, r); + case "latin1": + case "binary": + return b(this, t, e, r); + case "base64": + return _(this, t, e, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return w(this, t, e, r); + default: + if (a) throw new TypeError("Unknown encoding: " + n); + ((n = ("" + n).toLowerCase()), (a = !0)); + } + }), + (s.prototype.toJSON = function () { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0), + }; + })); + var A = 4096; + function T(t, e, r) { + var n = ""; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) n += String.fromCharCode(127 & t[i]); + return n; + } + function S(t, e, r) { + var n = ""; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) n += String.fromCharCode(t[i]); + return n; + } + function C(t, e, r) { + var n = t.length; + ((!e || e < 0) && (e = 0), (!r || r < 0 || r > n) && (r = n)); + for (var i = "", a = e; a < r; ++a) i += R(t[a]); + return i; + } + function E(t, e, r) { + for (var n = t.slice(e, r), i = "", a = 0; a < n.length; a += 2) + i += String.fromCharCode(n[a] + 256 * n[a + 1]); + return i; + } + function L(t, e, r) { + if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint"); + if (t + e > r) + throw new RangeError("Trying to access beyond buffer length"); + } + function z(t, e, r, n, i, a) { + if (!s.isBuffer(t)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (e > i || e < a) + throw new RangeError('"value" argument is out of bounds'); + if (r + n > t.length) throw new RangeError("Index out of range"); + } + function P(t, e, r, n, i, a) { + if (r + n > t.length) throw new RangeError("Index out of range"); + if (r < 0) throw new RangeError("Index out of range"); + } + function D(t, e, r, n, a) { + return ( + (e = +e), + (r >>>= 0), + a || P(t, 0, r, 4), + i.write(t, e, r, n, 23, 4), + r + 4 + ); + } + function O(t, e, r, n, a) { + return ( + (e = +e), + (r >>>= 0), + a || P(t, 0, r, 8), + i.write(t, e, r, n, 52, 8), + r + 8 + ); + } + ((s.prototype.slice = function (t, e) { + var r = this.length; + ((t = ~~t), + (e = void 0 === e ? r : ~~e), + t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), + e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), + e < t && (e = t)); + var n = this.subarray(t, e); + return ((n.__proto__ = s.prototype), n); + }), + (s.prototype.readUIntLE = function (t, e, r) { + ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); + for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) + n += this[t + a] * i; + return n; + }), + (s.prototype.readUIntBE = function (t, e, r) { + ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); + for (var n = this[t + --e], i = 1; e > 0 && (i *= 256); ) + n += this[t + --e] * i; + return n; + }), + (s.prototype.readUInt8 = function (t, e) { + return ((t >>>= 0), e || L(t, 1, this.length), this[t]); + }), + (s.prototype.readUInt16LE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (s.prototype.readUInt16BE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (s.prototype.readUInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + (this[t] | (this[t + 1] << 8) | (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (s.prototype.readUInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | (this[t + 2] << 8) | this[t + 3]) + ); + }), + (s.prototype.readIntLE = function (t, e, r) { + ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); + for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) + n += this[t + a] * i; + return (n >= (i *= 128) && (n -= Math.pow(2, 8 * e)), n); + }), + (s.prototype.readIntBE = function (t, e, r) { + ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); + for (var n = e, i = 1, a = this[t + --n]; n > 0 && (i *= 256); ) + a += this[t + --n] * i; + return (a >= (i *= 128) && (a -= Math.pow(2, 8 * e)), a); + }), + (s.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 1, this.length), + 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + ); + }), + (s.prototype.readInt16LE = function (t, e) { + ((t >>>= 0), e || L(t, 2, this.length)); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (s.prototype.readInt16BE = function (t, e) { + ((t >>>= 0), e || L(t, 2, this.length)); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (s.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + this[t] | (this[t + 1] << 8) | (this[t + 2] << 16) | (this[t + 3] << 24) + ); + }), + (s.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + (this[t] << 24) | (this[t + 1] << 16) | (this[t + 2] << 8) | this[t + 3] + ); + }), + (s.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + i.read(this, t, !0, 23, 4) + ); + }), + (s.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 4, this.length), + i.read(this, t, !1, 23, 4) + ); + }), + (s.prototype.readDoubleLE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 8, this.length), + i.read(this, t, !0, 52, 8) + ); + }), + (s.prototype.readDoubleBE = function (t, e) { + return ( + (t >>>= 0), + e || L(t, 8, this.length), + i.read(this, t, !1, 52, 8) + ); + }), + (s.prototype.writeUIntLE = function (t, e, r, n) { + ((t = +t), (e >>>= 0), (r >>>= 0), n) || + z(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = 1, + a = 0; + for (this[e] = 255 & t; ++a < r && (i *= 256); ) + this[e + a] = (t / i) & 255; + return e + r; + }), + (s.prototype.writeUIntBE = function (t, e, r, n) { + ((t = +t), (e >>>= 0), (r >>>= 0), n) || + z(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = r - 1, + a = 1; + for (this[e + i] = 255 & t; --i >= 0 && (a *= 256); ) + this[e + i] = (t / a) & 255; + return e + r; + }), + (s.prototype.writeUInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (s.prototype.writeUInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (s.prototype.writeUInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (s.prototype.writeUInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 4, 4294967295, 0), + (this[e + 3] = t >>> 24), + (this[e + 2] = t >>> 16), + (this[e + 1] = t >>> 8), + (this[e] = 255 & t), + e + 4 + ); + }), + (s.prototype.writeUInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 4, 4294967295, 0), + (this[e] = t >>> 24), + (this[e + 1] = t >>> 16), + (this[e + 2] = t >>> 8), + (this[e + 3] = 255 & t), + e + 4 + ); + }), + (s.prototype.writeIntLE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + z(this, t, e, r, i - 1, -i); + } + var a = 0, + o = 1, + s = 0; + for (this[e] = 255 & t; ++a < r && (o *= 256); ) + (t < 0 && 0 === s && 0 !== this[e + a - 1] && (s = 1), + (this[e + a] = (((t / o) >> 0) - s) & 255)); + return e + r; + }), + (s.prototype.writeIntBE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + z(this, t, e, r, i - 1, -i); + } + var a = r - 1, + o = 1, + s = 0; + for (this[e + a] = 255 & t; --a >= 0 && (o *= 256); ) + (t < 0 && 0 === s && 0 !== this[e + a + 1] && (s = 1), + (this[e + a] = (((t / o) >> 0) - s) & 255)); + return e + r; + }), + (s.prototype.writeInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (s.prototype.writeInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (s.prototype.writeInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (s.prototype.writeInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 4, 2147483647, -2147483648), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + (this[e + 2] = t >>> 16), + (this[e + 3] = t >>> 24), + e + 4 + ); + }), + (s.prototype.writeInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || z(this, t, e, 4, 2147483647, -2147483648), + t < 0 && (t = 4294967295 + t + 1), + (this[e] = t >>> 24), + (this[e + 1] = t >>> 16), + (this[e + 2] = t >>> 8), + (this[e + 3] = 255 & t), + e + 4 + ); + }), + (s.prototype.writeFloatLE = function (t, e, r) { + return D(this, t, e, !0, r); + }), + (s.prototype.writeFloatBE = function (t, e, r) { + return D(this, t, e, !1, r); + }), + (s.prototype.writeDoubleLE = function (t, e, r) { + return O(this, t, e, !0, r); + }), + (s.prototype.writeDoubleBE = function (t, e, r) { + return O(this, t, e, !1, r); + }), + (s.prototype.copy = function (t, e, r, n) { + if (!s.isBuffer(t)) throw new TypeError("argument should be a Buffer"); + if ( + (r || (r = 0), + n || 0 === n || (n = this.length), + e >= t.length && (e = t.length), + e || (e = 0), + n > 0 && n < r && (n = r), + n === r) + ) + return 0; + if (0 === t.length || 0 === this.length) return 0; + if (e < 0) throw new RangeError("targetStart out of bounds"); + if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); + if (n < 0) throw new RangeError("sourceEnd out of bounds"); + (n > this.length && (n = this.length), + t.length - e < n - r && (n = t.length - e + r)); + var i = n - r; + if (this === t && "function" == typeof Uint8Array.prototype.copyWithin) + this.copyWithin(e, r, n); + else if (this === t && r < e && e < n) + for (var a = i - 1; a >= 0; --a) t[a + e] = this[a + r]; + else Uint8Array.prototype.set.call(t, this.subarray(r, n), e); + return i; + }), + (s.prototype.fill = function (t, e, r, n) { + if ("string" == typeof t) { + if ( + ("string" == typeof e + ? ((n = e), (e = 0), (r = this.length)) + : "string" == typeof r && ((n = r), (r = this.length)), + void 0 !== n && "string" != typeof n) + ) + throw new TypeError("encoding must be a string"); + if ("string" == typeof n && !s.isEncoding(n)) + throw new TypeError("Unknown encoding: " + n); + if (1 === t.length) { + var i = t.charCodeAt(0); + (("utf8" === n && i < 128) || "latin1" === n) && (t = i); + } + } else "number" == typeof t && (t &= 255); + if (e < 0 || this.length < e || this.length < r) + throw new RangeError("Out of range index"); + if (r <= e) return this; + var a; + if ( + ((e >>>= 0), + (r = void 0 === r ? this.length : r >>> 0), + t || (t = 0), + "number" == typeof t) + ) + for (a = e; a < r; ++a) this[a] = t; + else { + var o = s.isBuffer(t) ? t : new s(t, n), + l = o.length; + if (0 === l) + throw new TypeError( + 'The value "' + t + '" is invalid for argument "value"', + ); + for (a = 0; a < r - e; ++a) this[a + e] = o[a % l]; + } + return this; + })); + var I = /[^+/0-9A-Za-z-_]/g; + function R(t) { + return t < 16 ? "0" + t.toString(16) : t.toString(16); + } + function B(t, e) { + var r; + e = e || 1 / 0; + for (var n = t.length, i = null, a = [], o = 0; o < n; ++o) { + if ((r = t.charCodeAt(o)) > 55295 && r < 57344) { + if (!i) { + if (r > 56319) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue; + } + if (o + 1 === n) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue; + } + i = r; + continue; + } + if (r < 56320) { + ((e -= 3) > -1 && a.push(239, 191, 189), (i = r)); + continue; + } + r = 65536 + (((i - 55296) << 10) | (r - 56320)); + } else i && (e -= 3) > -1 && a.push(239, 191, 189); + if (((i = null), r < 128)) { + if ((e -= 1) < 0) break; + a.push(r); + } else if (r < 2048) { + if ((e -= 2) < 0) break; + a.push((r >> 6) | 192, (63 & r) | 128); + } else if (r < 65536) { + if ((e -= 3) < 0) break; + a.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128); + } else { + if (!(r < 1114112)) throw new Error("Invalid code point"); + if ((e -= 4) < 0) break; + a.push( + (r >> 18) | 240, + ((r >> 12) & 63) | 128, + ((r >> 6) & 63) | 128, + (63 & r) | 128, + ); + } + } + return a; + } + function F(t) { + return n.toByteArray( + (function (t) { + if ((t = (t = t.split("=")[0]).trim().replace(I, "")).length < 2) + return ""; + for (; t.length % 4 != 0; ) t += "="; + return t; + })(t), + ); + } + function N(t, e, r, n) { + for (var i = 0; i < n && !(i + r >= e.length || i >= t.length); ++i) + e[i + r] = t[i]; + return i; + } + function j(t) { + return ( + t instanceof ArrayBuffer || + (null != t && + null != t.constructor && + "ArrayBuffer" === t.constructor.name && + "number" == typeof t.byteLength) + ); + } + function V(t) { + return t != t; + } + }, + { "base64-js": 55, ieee754: 298 }, + ], + 86: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/monotone"), + i = t("./lib/triangulation"), + a = t("./lib/delaunay"), + o = t("./lib/filter"); + function s(t) { + return [Math.min(t[0], t[1]), Math.max(t[0], t[1])]; + } + function l(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function c(t, e, r) { + return e in t ? t[e] : r; + } + e.exports = function (t, e, r) { + Array.isArray(e) + ? ((r = r || {}), (e = e || [])) + : ((r = e || {}), (e = [])); + var u = !!c(r, "delaunay", !0), + f = !!c(r, "interior", !0), + h = !!c(r, "exterior", !0), + p = !!c(r, "infinity", !1); + if ((!f && !h) || 0 === t.length) return []; + var d = n(t, e); + if (u || f !== h || p) { + for ( + var g = i( + t.length, + (function (t) { + return t.map(s).sort(l); + })(e), + ), + m = 0; + m < d.length; + ++m + ) { + var v = d[m]; + g.addTriangle(v[0], v[1], v[2]); + } + return ( + u && a(t, g), + h ? (f ? (p ? o(g, 0, p) : g.cells()) : o(g, 1, p)) : o(g, -1) + ); + } + return d; + }; + }, + { + "./lib/delaunay": 87, + "./lib/filter": 88, + "./lib/monotone": 89, + "./lib/triangulation": 90, + }, + ], + 87: [ + function (t, e, r) { + "use strict"; + var n = t("robust-in-sphere")[4]; + t("binary-search-bounds"); + function i(t, e, r, i, a, o) { + var s = e.opposite(i, a); + if (!(s < 0)) { + if (a < i) { + var l = i; + ((i = a), (a = l), (l = o), (o = s), (s = l)); + } + e.isConstraint(i, a) || (n(t[i], t[a], t[o], t[s]) < 0 && r.push(i, a)); + } + } + e.exports = function (t, e) { + for (var r = [], a = t.length, o = e.stars, s = 0; s < a; ++s) + for (var l = o[s], c = 1; c < l.length; c += 2) { + var u = l[c]; + if (!(u < s) && !e.isConstraint(s, u)) { + for (var f = l[c - 1], h = -1, p = 1; p < l.length; p += 2) + if (l[p - 1] === u) { + h = l[p]; + break; + } + h < 0 || (n(t[s], t[u], t[f], t[h]) < 0 && r.push(s, u)); + } + } + for (; r.length > 0; ) { + for ( + var u = r.pop(), s = r.pop(), f = -1, h = -1, l = o[s], d = 1; + d < l.length; + d += 2 + ) { + var g = l[d - 1], + m = l[d]; + g === u ? (h = m) : m === u && (f = g); + } + f < 0 || + h < 0 || + n(t[s], t[u], t[f], t[h]) >= 0 || + (e.flip(s, u), + i(t, e, r, f, s, h), + i(t, e, r, s, h, f), + i(t, e, r, h, u, f), + i(t, e, r, u, f, h)); + } + }; + }, + { "binary-search-bounds": 91, "robust-in-sphere": 386 }, + ], + 88: [ + function (t, e, r) { + "use strict"; + var n, + i = t("binary-search-bounds"); + function a(t, e, r, n, i, a, o) { + ((this.cells = t), + (this.neighbor = e), + (this.flags = n), + (this.constraint = r), + (this.active = i), + (this.next = a), + (this.boundary = o)); + } + function o(t, e) { + return t[0] - e[0] || t[1] - e[1] || t[2] - e[2]; + } + ((e.exports = function (t, e, r) { + var n = (function (t, e) { + for (var r = t.cells(), n = r.length, i = 0; i < n; ++i) { + var s = r[i], + l = s[0], + c = s[1], + u = s[2]; + c < u + ? c < l && ((s[0] = c), (s[1] = u), (s[2] = l)) + : u < l && ((s[0] = u), (s[1] = l), (s[2] = c)); + } + r.sort(o); + for (var f = new Array(n), i = 0; i < f.length; ++i) f[i] = 0; + var h = [], + p = [], + d = new Array(3 * n), + g = new Array(3 * n), + m = null; + e && (m = []); + for (var v = new a(r, d, g, f, h, p, m), i = 0; i < n; ++i) + for (var s = r[i], y = 0; y < 3; ++y) { + var l = s[y], + c = s[(y + 1) % 3], + x = (d[3 * i + y] = v.locate(c, l, t.opposite(c, l))), + b = (g[3 * i + y] = t.isConstraint(l, c)); + x < 0 && + (b ? p.push(i) : (h.push(i), (f[i] = 1)), e && m.push([c, l, -1])); + } + return v; + })(t, r); + if (0 === e) return r ? n.cells.concat(n.boundary) : n.cells; + var i = 1, + s = n.active, + l = n.next, + c = n.flags, + u = n.cells, + f = n.constraint, + h = n.neighbor; + for (; s.length > 0 || l.length > 0; ) { + for (; s.length > 0; ) { + var p = s.pop(); + if (c[p] !== -i) { + c[p] = i; + u[p]; + for (var d = 0; d < 3; ++d) { + var g = h[3 * p + d]; + g >= 0 && + 0 === c[g] && + (f[3 * p + d] ? l.push(g) : (s.push(g), (c[g] = i))); + } + } + } + var m = l; + ((l = s), (s = m), (l.length = 0), (i = -i)); + } + var v = (function (t, e, r) { + for (var n = 0, i = 0; i < t.length; ++i) e[i] === r && (t[n++] = t[i]); + return ((t.length = n), t); + })(u, c, e); + if (r) return v.concat(n.boundary); + return v; + }), + (a.prototype.locate = + ((n = [0, 0, 0]), + function (t, e, r) { + var a = t, + s = e, + l = r; + return ( + e < r + ? e < t && ((a = e), (s = r), (l = t)) + : r < t && ((a = r), (s = t), (l = e)), + a < 0 + ? -1 + : ((n[0] = a), (n[1] = s), (n[2] = l), i.eq(this.cells, n, o)) + ); + }))); + }, + { "binary-search-bounds": 91 }, + ], + 89: [ + function (t, e, r) { + "use strict"; + var n = t("binary-search-bounds"), + i = t("robust-orientation")[3], + a = 0, + o = 1, + s = 2; + function l(t, e, r, n, i) { + ((this.a = t), + (this.b = e), + (this.idx = r), + (this.lowerIds = n), + (this.upperIds = i)); + } + function c(t, e, r, n) { + ((this.a = t), (this.b = e), (this.type = r), (this.idx = n)); + } + function u(t, e) { + var r = t.a[0] - e.a[0] || t.a[1] - e.a[1] || t.type - e.type; + return r || (t.type !== a && (r = i(t.a, t.b, e.b)) ? r : t.idx - e.idx); + } + function f(t, e) { + return i(t.a, t.b, e); + } + function h(t, e, r, a, o) { + for (var s = n.lt(e, a, f), l = n.gt(e, a, f), c = s; c < l; ++c) { + for ( + var u = e[c], h = u.lowerIds, p = h.length; + p > 1 && i(r[h[p - 2]], r[h[p - 1]], a) > 0; + + ) + (t.push([h[p - 1], h[p - 2], o]), (p -= 1)); + ((h.length = p), h.push(o)); + var d = u.upperIds; + for (p = d.length; p > 1 && i(r[d[p - 2]], r[d[p - 1]], a) < 0; ) + (t.push([d[p - 2], d[p - 1], o]), (p -= 1)); + ((d.length = p), d.push(o)); + } + } + function p(t, e) { + var r; + return (r = t.a[0] < e.a[0] ? i(t.a, t.b, e.a) : i(e.b, e.a, t.a)) + ? r + : (r = e.b[0] < t.b[0] ? i(t.a, t.b, e.b) : i(e.b, e.a, t.b)) || + t.idx - e.idx; + } + function d(t, e, r) { + var i = n.le(t, r, p), + a = t[i], + o = a.upperIds, + s = o[o.length - 1]; + ((a.upperIds = [s]), t.splice(i + 1, 0, new l(r.a, r.b, r.idx, [s], o))); + } + function g(t, e, r) { + var i = r.a; + ((r.a = r.b), (r.b = i)); + var a = n.eq(t, r, p), + o = t[a]; + ((t[a - 1].upperIds = o.upperIds), t.splice(a, 1)); + } + e.exports = function (t, e) { + for (var r = t.length, n = e.length, i = [], f = 0; f < r; ++f) + i.push(new c(t[f], null, a, f)); + for (var f = 0; f < n; ++f) { + var p = e[f], + m = t[p[0]], + v = t[p[1]]; + m[0] < v[0] + ? i.push(new c(m, v, s, f), new c(v, m, o, f)) + : m[0] > v[0] && i.push(new c(v, m, s, f), new c(m, v, o, f)); + } + i.sort(u); + for ( + var y = i[0].a[0] - (1 + Math.abs(i[0].a[0])) * Math.pow(2, -52), + x = [new l([y, 1], [y, 0], -1, [], [], [], [])], + b = [], + f = 0, + _ = i.length; + f < _; + ++f + ) { + var w = i[f], + k = w.type; + k === a ? h(b, x, t, w.a, w.idx) : k === s ? d(x, t, w) : g(x, t, w); + } + return b; + }; + }, + { "binary-search-bounds": 91, "robust-orientation": 388 }, + ], + 90: [ + function (t, e, r) { + "use strict"; + var n = t("binary-search-bounds"); + function i(t, e) { + ((this.stars = t), (this.edges = e)); + } + e.exports = function (t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = []; + return new i(r, e); + }; + var a = i.prototype; + function o(t, e, r) { + for (var n = 1, i = t.length; n < i; n += 2) + if (t[n - 1] === e && t[n] === r) + return ( + (t[n - 1] = t[i - 2]), + (t[n] = t[i - 1]), + void (t.length = i - 2) + ); + } + ((a.isConstraint = (function () { + var t = [0, 0]; + function e(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + return function (r, i) { + return ( + (t[0] = Math.min(r, i)), + (t[1] = Math.max(r, i)), + n.eq(this.edges, t, e) >= 0 + ); + }; + })()), + (a.removeTriangle = function (t, e, r) { + var n = this.stars; + (o(n[t], e, r), o(n[e], r, t), o(n[r], t, e)); + }), + (a.addTriangle = function (t, e, r) { + var n = this.stars; + (n[t].push(e, r), n[e].push(r, t), n[r].push(t, e)); + }), + (a.opposite = function (t, e) { + for (var r = this.stars[e], n = 1, i = r.length; n < i; n += 2) + if (r[n] === t) return r[n - 1]; + return -1; + }), + (a.flip = function (t, e) { + var r = this.opposite(t, e), + n = this.opposite(e, t); + (this.removeTriangle(t, e, r), + this.removeTriangle(e, t, n), + this.addTriangle(t, n, r), + this.addTriangle(e, r, n)); + }), + (a.edges = function () { + for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; a += 2) + e.push([i[a], i[a + 1]]); + return e; + }), + (a.cells = function () { + for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; a += 2) { + var s = i[a], + l = i[a + 1]; + r < Math.min(s, l) && e.push([r, s, l]); + } + return e; + })); + }, + { "binary-search-bounds": 91 }, + ], + 91: [ + function (t, e, r) { + "use strict"; + function n(t, e, r, n, i) { + var a = [ + "function ", + t, + "(a,l,h,", + n.join(","), + "){", + i ? "" : "var i=", + r ? "l-1" : "h+1", + ";while(l<=h){var m=(l+h)>>>1,x=a[m]", + ]; + return ( + i + ? e.indexOf("c") < 0 + ? a.push(";if(x===y){return m}else if(x<=y){") + : a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){") + : a.push(";if(", e, "){i=m;"), + r ? a.push("l=m+1}else{h=m-1}") : a.push("h=m-1}else{l=m+1}"), + a.push("}"), + i ? a.push("return -1};") : a.push("return i};"), + a.join("") + ); + } + function i(t, e, r, i) { + return new Function( + [ + n("A", "x" + t + "y", e, ["y"], i), + n("P", "c(x,y)" + t + "0", e, ["y", "c"], i), + "function dispatchBsearch", + r, + "(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch", + r, + ].join(""), + )(); + } + e.exports = { + ge: i(">=", !1, "GE"), + gt: i(">", !1, "GT"), + lt: i("<", !0, "LT"), + le: i("<=", !0, "LE"), + eq: i("-", !0, "EQ", !0), + }; + }, + {}, + ], + 92: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = 1, r = 1; r < t.length; ++r) + for (var n = 0; n < r; ++n) + if (t[r] < t[n]) e = -e; + else if (t[n] === t[r]) return 0; + return e; + }; + }, + {}, + ], + 93: [ + function (t, e, r) { + "use strict"; + var n = t("dup"), + i = t("robust-linear-solve"); + function a(t, e) { + for (var r = 0, n = t.length, i = 0; i < n; ++i) r += t[i] * e[i]; + return r; + } + function o(t) { + var e = t.length; + if (0 === e) return []; + t[0].length; + var r = n([t.length + 1, t.length + 1], 1), + o = n([t.length + 1], 1); + r[e][e] = 0; + for (var s = 0; s < e; ++s) { + for (var l = 0; l <= s; ++l) r[l][s] = r[s][l] = 2 * a(t[s], t[l]); + o[s] = a(t[s], t[s]); + } + var c = i(r, o), + u = 0, + f = c[e + 1]; + for (s = 0; s < f.length; ++s) u += f[s]; + var h = new Array(e); + for (s = 0; s < e; ++s) { + f = c[s]; + var p = 0; + for (l = 0; l < f.length; ++l) p += f[l]; + h[s] = p / u; + } + return h; + } + function s(t) { + if (0 === t.length) return []; + for (var e = t[0].length, r = n([e]), i = o(t), a = 0; a < t.length; ++a) + for (var s = 0; s < e; ++s) r[s] += t[a][s] * i[a]; + return r; + } + ((s.barycenetric = o), (e.exports = s)); + }, + { dup: 136, "robust-linear-solve": 387 }, + ], + 94: [ + function (t, e, r) { + e.exports = function (t) { + for (var e = n(t), r = 0, i = 0; i < t.length; ++i) + for (var a = t[i], o = 0; o < e.length; ++o) + r += Math.pow(a[o] - e[o], 2); + return Math.sqrt(r / t.length); + }; + var n = t("circumcenter"); + }, + { circumcenter: 93 }, + ], + 95: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return e < r ? (t < e ? e : t > r ? r : t) : t < r ? r : t > e ? e : t; + }; + }, + {}, + ], + 96: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var n; + if (r) { + n = e; + for (var i = new Array(e.length), a = 0; a < e.length; ++a) { + var o = e[a]; + i[a] = [o[0], o[1], r[a]]; + } + e = i; + } + var s = (function (t, e, r) { + var n = d(t, [], p(t)); + return (v(e, n, r), !!n); + })(t, e, !!r); + for (; y(t, e, !!r); ) s = !0; + if (r && s) { + ((n.length = 0), (r.length = 0)); + for (var a = 0; a < e.length; ++a) { + var o = e[a]; + (n.push([o[0], o[1]]), r.push(o[2])); + } + } + return s; + }; + var n = t("union-find"), + i = t("box-intersect"), + a = t("robust-segment-intersect"), + o = t("big-rat"), + s = t("big-rat/cmp"), + l = t("big-rat/to-float"), + c = t("rat-vec"), + u = t("nextafter"), + f = t("./lib/rat-seg-intersect"); + function h(t) { + var e = l(t); + return [u(e, -1 / 0), u(e, 1 / 0)]; + } + function p(t) { + for (var e = new Array(t.length), r = 0; r < t.length; ++r) { + var n = t[r]; + e[r] = [u(n[0], -1 / 0), u(n[1], -1 / 0), u(n[0], 1 / 0), u(n[1], 1 / 0)]; + } + return e; + } + function d(t, e, r) { + for (var a = e.length, o = new n(a), s = [], l = 0; l < e.length; ++l) { + var c = e[l], + f = h(c[0]), + p = h(c[1]); + s.push([ + u(f[0], -1 / 0), + u(p[0], -1 / 0), + u(f[1], 1 / 0), + u(p[1], 1 / 0), + ]); + } + i(s, function (t, e) { + o.link(t, e); + }); + var d = !0, + g = new Array(a); + for (l = 0; l < a; ++l) { + (v = o.find(l)) !== l && + ((d = !1), + (t[v] = [Math.min(t[l][0], t[v][0]), Math.min(t[l][1], t[v][1])])); + } + if (d) return null; + var m = 0; + for (l = 0; l < a; ++l) { + var v; + (v = o.find(l)) === l ? ((g[l] = m), (t[m++] = t[l])) : (g[l] = -1); + } + t.length = m; + for (l = 0; l < a; ++l) g[l] < 0 && (g[l] = g[o.find(l)]); + return g; + } + function g(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function m(t, e) { + var r = t[0] - e[0] || t[1] - e[1]; + return r || (t[2] < e[2] ? -1 : t[2] > e[2] ? 1 : 0); + } + function v(t, e, r) { + if (0 !== t.length) { + if (e) + for (var n = 0; n < t.length; ++n) { + var i = e[(o = t[n])[0]], + a = e[o[1]]; + ((o[0] = Math.min(i, a)), (o[1] = Math.max(i, a))); + } + else + for (n = 0; n < t.length; ++n) { + var o; + ((i = (o = t[n])[0]), (a = o[1])); + ((o[0] = Math.min(i, a)), (o[1] = Math.max(i, a))); + } + r ? t.sort(m) : t.sort(g); + var s = 1; + for (n = 1; n < t.length; ++n) { + var l = t[n - 1], + c = t[n]; + (c[0] !== l[0] || c[1] !== l[1] || (r && c[2] !== l[2])) && + (t[s++] = c); + } + t.length = s; + } + } + function y(t, e, r) { + var n = (function (t, e) { + for (var r = new Array(e.length), n = 0; n < e.length; ++n) { + var i = e[n], + a = t[i[0]], + o = t[i[1]]; + r[n] = [ + u(Math.min(a[0], o[0]), -1 / 0), + u(Math.min(a[1], o[1]), -1 / 0), + u(Math.max(a[0], o[0]), 1 / 0), + u(Math.max(a[1], o[1]), 1 / 0), + ]; + } + return r; + })(t, e), + h = (function (t, e, r) { + var n = []; + return ( + i(r, function (r, i) { + var o = e[r], + s = e[i]; + if ( + o[0] !== s[0] && + o[0] !== s[1] && + o[1] !== s[0] && + o[1] !== s[1] + ) { + var l = t[o[0]], + c = t[o[1]], + u = t[s[0]], + f = t[s[1]]; + a(l, c, u, f) && n.push([r, i]); + } + }), + n + ); + })(t, e, n), + g = p(t), + m = (function (t, e, r, n) { + var o = []; + return ( + i(r, n, function (r, n) { + var i = e[r]; + if (i[0] !== n && i[1] !== n) { + var s = t[n], + l = t[i[0]], + c = t[i[1]]; + a(l, c, s, s) && o.push([r, n]); + } + }), + o + ); + })(t, e, n, g), + y = d( + t, + (function (t, e, r, n, i) { + var a, + u, + h = t.map(function (t) { + return [o(t[0]), o(t[1])]; + }); + for (a = 0; a < r.length; ++a) { + var p = r[a]; + u = p[0]; + var d = p[1], + g = e[u], + m = e[d], + v = f(c(t[g[0]]), c(t[g[1]]), c(t[m[0]]), c(t[m[1]])); + if (v) { + var y = t.length; + (t.push([l(v[0]), l(v[1])]), h.push(v), n.push([u, y], [d, y])); + } + } + for ( + n.sort(function (t, e) { + if (t[0] !== e[0]) return t[0] - e[0]; + var r = h[t[1]], + n = h[e[1]]; + return s(r[0], n[0]) || s(r[1], n[1]); + }), + a = n.length - 1; + a >= 0; + --a + ) { + var x = e[(u = (S = n[a])[0])], + b = x[0], + _ = x[1], + w = t[b], + k = t[_]; + if ((w[0] - k[0] || w[1] - k[1]) < 0) { + var M = b; + ((b = _), (_ = M)); + } + x[0] = b; + var A, + T = (x[1] = S[1]); + for (i && (A = x[2]); a > 0 && n[a - 1][0] === u; ) { + var S, + C = (S = n[--a])[1]; + (i ? e.push([T, C, A]) : e.push([T, C]), (T = C)); + } + i ? e.push([T, _, A]) : e.push([T, _]); + } + return h; + })(t, e, h, m, r), + ); + return (v(e, y, r), !!y || h.length > 0 || m.length > 0); + } + }, + { + "./lib/rat-seg-intersect": 97, + "big-rat": 59, + "big-rat/cmp": 57, + "big-rat/to-float": 71, + "box-intersect": 77, + nextafter: 336, + "rat-vec": 370, + "robust-segment-intersect": 391, + "union-find": 424, + }, + ], + 97: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + var a = s(e, t), + f = s(n, r), + h = u(a, f); + if (0 === o(h)) return null; + var p = s(t, r), + d = u(f, p), + g = i(d, h), + m = c(a, g); + return l(t, m); + }; + var n = t("big-rat/mul"), + i = t("big-rat/div"), + a = t("big-rat/sub"), + o = t("big-rat/sign"), + s = t("rat-vec/sub"), + l = t("rat-vec/add"), + c = t("rat-vec/muls"); + function u(t, e) { + return a(n(t[0], e[1]), n(t[1], e[0])); + } + }, + { + "big-rat/div": 58, + "big-rat/mul": 68, + "big-rat/sign": 69, + "big-rat/sub": 70, + "rat-vec/add": 369, + "rat-vec/muls": 371, + "rat-vec/sub": 372, + }, + ], + 98: [ + function (t, e, r) { + "use strict"; + var n = t("clamp"); + function i(t, e) { + null == e && (e = !0); + var r = t[0], + i = t[1], + a = t[2], + o = t[3]; + return ( + null == o && (o = e ? 1 : 255), + e && ((r *= 255), (i *= 255), (a *= 255), (o *= 255)), + 16777216 * (r = 255 & n(r, 0, 255)) + + ((i = 255 & n(i, 0, 255)) << 16) + + ((a = 255 & n(a, 0, 255)) << 8) + + (o = 255 & n(o, 0, 255)) + ); + } + ((e.exports = i), + (e.exports.to = i), + (e.exports.from = function (t, e) { + var r = (t = +t) >>> 24, + n = (16711680 & t) >>> 16, + i = (65280 & t) >>> 8, + a = 255 & t; + return !1 === e ? [r, n, i, a] : [r / 255, n / 255, i / 255, a / 255]; + })); + }, + { clamp: 95 }, + ], + 99: [ + function (t, e, r) { + "use strict"; + e.exports = { + 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], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + 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], + rebeccapurple: [102, 51, 153], + 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], + }; + }, + {}, + ], + 100: [ + function (t, e, r) { + "use strict"; + var n = t("color-rgba"), + i = t("clamp"), + a = t("dtype"); + e.exports = function (t, e) { + (("float" !== e && e) || (e = "array"), + "uint" === e && (e = "uint8"), + "uint_clamped" === e && (e = "uint8_clamped")); + var r = a(e), + o = new r(4); + if (t instanceof r) return Array.isArray(t) ? t.slice() : (o.set(t), o); + var s = "uint8" !== e && "uint8_clamped" !== e; + return t instanceof Uint8Array || t instanceof Uint8ClampedArray + ? ((o[0] = t[0]), + (o[1] = t[1]), + (o[2] = t[2]), + (o[3] = null != t[3] ? t[3] : 255), + s && ((o[0] /= 255), (o[1] /= 255), (o[2] /= 255), (o[3] /= 255)), + o) + : ((t.length && "string" != typeof t) || + (((t = n(t))[0] /= 255), (t[1] /= 255), (t[2] /= 255)), + s + ? ((o[0] = t[0]), + (o[1] = t[1]), + (o[2] = t[2]), + (o[3] = null != t[3] ? t[3] : 1)) + : ((o[0] = i(Math.round(255 * t[0]), 0, 255)), + (o[1] = i(Math.round(255 * t[1]), 0, 255)), + (o[2] = i(Math.round(255 * t[2]), 0, 255)), + (o[3] = null == t[3] ? 255 : i(Math.floor(255 * t[3]), 0, 255))), + o); + }; + }, + { clamp: 95, "color-rgba": 102, dtype: 135 }, + ], + 101: [ + function (t, e, r) { + (function (r) { + "use strict"; + var n = t("color-name"), + i = t("is-plain-obj"), + a = t("defined"); + e.exports = function (t) { + var e, + s, + l = [], + c = 1; + if ("string" == typeof t) + if (n[t]) ((l = n[t].slice()), (s = "rgb")); + else if ("transparent" === t) ((c = 0), (s = "rgb"), (l = [0, 0, 0])); + else if (/^#[A-Fa-f0-9]+$/.test(t)) { + var u = t.slice(1), + f = u.length, + h = f <= 4; + ((c = 1), + h + ? ((l = [ + parseInt(u[0] + u[0], 16), + parseInt(u[1] + u[1], 16), + parseInt(u[2] + u[2], 16), + ]), + 4 === f && (c = parseInt(u[3] + u[3], 16) / 255)) + : ((l = [ + parseInt(u[0] + u[1], 16), + parseInt(u[2] + u[3], 16), + parseInt(u[4] + u[5], 16), + ]), + 8 === f && (c = parseInt(u[6] + u[7], 16) / 255)), + l[0] || (l[0] = 0), + l[1] || (l[1] = 0), + l[2] || (l[2] = 0), + (s = "rgb")); + } else if ( + (e = + /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec( + t, + )) + ) { + var p = e[1], + u = p.replace(/a$/, ""); + s = u; + var f = "cmyk" === u ? 4 : "gray" === u ? 1 : 3; + ((l = e[2] + .trim() + .split(/\s*,\s*/) + .map(function (t, e) { + if (/%$/.test(t)) + return e === f + ? parseFloat(t) / 100 + : "rgb" === u + ? (255 * parseFloat(t)) / 100 + : parseFloat(t); + if ("h" === u[e]) { + if (/deg$/.test(t)) return parseFloat(t); + if (void 0 !== o[t]) return o[t]; + } + return parseFloat(t); + })), + p === u && l.push(1), + (c = void 0 === l[f] ? 1 : l[f]), + (l = l.slice(0, f))); + } else + t.length > 10 && + /[0-9](?:\s|\/)/.test(t) && + ((l = t.match(/([0-9]+)/g).map(function (t) { + return parseFloat(t); + })), + (s = t + .match(/([a-z])/gi) + .join("") + .toLowerCase())); + else if ("number" == typeof t) + ((s = "rgb"), (l = [t >>> 16, (65280 & t) >>> 8, 255 & t])); + else if (i(t)) { + var d = a(t.r, t.red, t.R, null); + (null !== d + ? ((s = "rgb"), (l = [d, a(t.g, t.green, t.G), a(t.b, t.blue, t.B)])) + : ((s = "hsl"), + (l = [ + a(t.h, t.hue, t.H), + a(t.s, t.saturation, t.S), + a(t.l, t.lightness, t.L, t.b, t.brightness), + ])), + (c = a(t.a, t.alpha, t.opacity, 1)), + null != t.opacity && (c /= 100)); + } else + (Array.isArray(t) || + (r.ArrayBuffer && ArrayBuffer.isView && ArrayBuffer.isView(t))) && + ((l = [t[0], t[1], t[2]]), + (s = "rgb"), + (c = 4 === t.length ? t[3] : 1)); + return { space: s, values: l, alpha: c }; + }; + var o = { + red: 0, + orange: 60, + yellow: 120, + green: 180, + blue: 240, + purple: 300, + }; + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { "color-name": 99, defined: 131, "is-plain-obj": 308 }, + ], + 102: [ + function (t, e, r) { + "use strict"; + var n = t("color-parse"), + i = t("color-space/hsl"), + a = t("clamp"); + e.exports = function (t) { + var e; + if ("string" != typeof t) throw Error("Argument should be a string"); + var r = n(t); + return r.space + ? (((e = Array(3))[0] = a(r.values[0], 0, 255)), + (e[1] = a(r.values[1], 0, 255)), + (e[2] = a(r.values[2], 0, 255)), + "h" === r.space[0] && (e = i.rgb(e)), + e.push(a(r.alpha, 0, 1)), + e) + : []; + }; + }, + { clamp: 95, "color-parse": 101, "color-space/hsl": 103 }, + ], + 103: [ + function (t, e, r) { + "use strict"; + var n = t("./rgb"); + ((e.exports = { + name: "hsl", + min: [0, 0, 0], + max: [360, 100, 100], + channel: ["hue", "saturation", "lightness"], + alias: ["HSL"], + rgb: function (t) { + var e, + r, + n, + i, + a, + o = t[0] / 360, + s = t[1] / 100, + l = t[2] / 100; + if (0 === s) return [(a = 255 * l), a, a]; + ((e = 2 * l - (r = l < 0.5 ? l * (1 + s) : l + s - l * s)), + (i = [0, 0, 0])); + for (var c = 0; c < 3; c++) + ((n = o + (1 / 3) * -(c - 1)) < 0 ? n++ : n > 1 && n--, + (a = + 6 * n < 1 + ? e + 6 * (r - e) * n + : 2 * n < 1 + ? r + : 3 * n < 2 + ? e + (r - e) * (2 / 3 - n) * 6 + : e), + (i[c] = 255 * a)); + return i; + }, + }), + (n.hsl = function (t) { + var e, + r, + n = t[0] / 255, + i = t[1] / 255, + a = t[2] / 255, + o = Math.min(n, i, a), + s = Math.max(n, i, a), + l = s - o; + return ( + s === o + ? (e = 0) + : n === s + ? (e = (i - a) / l) + : i === s + ? (e = 2 + (a - n) / l) + : a === s && (e = 4 + (n - i) / l), + (e = Math.min(60 * e, 360)) < 0 && (e += 360), + (r = (o + s) / 2), + [ + e, + 100 * (s === o ? 0 : r <= 0.5 ? l / (s + o) : l / (2 - s - o)), + 100 * r, + ] + ); + })); + }, + { "./rgb": 104 }, + ], + 104: [ + function (t, e, r) { + "use strict"; + e.exports = { + name: "rgb", + min: [0, 0, 0], + max: [255, 255, 255], + channel: ["red", "green", "blue"], + alias: ["RGB"], + }; + }, + {}, + ], + 105: [ + function (t, e, r) { + e.exports = { + jet: [ + { index: 0, rgb: [0, 0, 131] }, + { index: 0.125, rgb: [0, 60, 170] }, + { index: 0.375, rgb: [5, 255, 255] }, + { index: 0.625, rgb: [255, 255, 0] }, + { index: 0.875, rgb: [250, 0, 0] }, + { index: 1, rgb: [128, 0, 0] }, + ], + hsv: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 0.169, rgb: [253, 255, 2] }, + { index: 0.173, rgb: [247, 255, 2] }, + { index: 0.337, rgb: [0, 252, 4] }, + { index: 0.341, rgb: [0, 252, 10] }, + { index: 0.506, rgb: [1, 249, 255] }, + { index: 0.671, rgb: [2, 0, 253] }, + { index: 0.675, rgb: [8, 0, 253] }, + { index: 0.839, rgb: [255, 0, 251] }, + { index: 0.843, rgb: [255, 0, 245] }, + { index: 1, rgb: [255, 0, 6] }, + ], + hot: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.3, rgb: [230, 0, 0] }, + { index: 0.6, rgb: [255, 210, 0] }, + { index: 1, rgb: [255, 255, 255] }, + ], + cool: [ + { index: 0, rgb: [0, 255, 255] }, + { index: 1, rgb: [255, 0, 255] }, + ], + spring: [ + { index: 0, rgb: [255, 0, 255] }, + { index: 1, rgb: [255, 255, 0] }, + ], + summer: [ + { index: 0, rgb: [0, 128, 102] }, + { index: 1, rgb: [255, 255, 102] }, + ], + autumn: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 1, rgb: [255, 255, 0] }, + ], + winter: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 1, rgb: [0, 255, 128] }, + ], + bone: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.376, rgb: [84, 84, 116] }, + { index: 0.753, rgb: [169, 200, 200] }, + { index: 1, rgb: [255, 255, 255] }, + ], + copper: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.804, rgb: [255, 160, 102] }, + { index: 1, rgb: [255, 199, 127] }, + ], + greys: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 1, rgb: [255, 255, 255] }, + ], + yignbu: [ + { index: 0, rgb: [8, 29, 88] }, + { index: 0.125, rgb: [37, 52, 148] }, + { index: 0.25, rgb: [34, 94, 168] }, + { index: 0.375, rgb: [29, 145, 192] }, + { index: 0.5, rgb: [65, 182, 196] }, + { index: 0.625, rgb: [127, 205, 187] }, + { index: 0.75, rgb: [199, 233, 180] }, + { index: 0.875, rgb: [237, 248, 217] }, + { index: 1, rgb: [255, 255, 217] }, + ], + greens: [ + { index: 0, rgb: [0, 68, 27] }, + { index: 0.125, rgb: [0, 109, 44] }, + { index: 0.25, rgb: [35, 139, 69] }, + { index: 0.375, rgb: [65, 171, 93] }, + { index: 0.5, rgb: [116, 196, 118] }, + { index: 0.625, rgb: [161, 217, 155] }, + { index: 0.75, rgb: [199, 233, 192] }, + { index: 0.875, rgb: [229, 245, 224] }, + { index: 1, rgb: [247, 252, 245] }, + ], + yiorrd: [ + { index: 0, rgb: [128, 0, 38] }, + { index: 0.125, rgb: [189, 0, 38] }, + { index: 0.25, rgb: [227, 26, 28] }, + { index: 0.375, rgb: [252, 78, 42] }, + { index: 0.5, rgb: [253, 141, 60] }, + { index: 0.625, rgb: [254, 178, 76] }, + { index: 0.75, rgb: [254, 217, 118] }, + { index: 0.875, rgb: [255, 237, 160] }, + { index: 1, rgb: [255, 255, 204] }, + ], + bluered: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rdbu: [ + { index: 0, rgb: [5, 10, 172] }, + { index: 0.35, rgb: [106, 137, 247] }, + { index: 0.5, rgb: [190, 190, 190] }, + { index: 0.6, rgb: [220, 170, 132] }, + { index: 0.7, rgb: [230, 145, 90] }, + { index: 1, rgb: [178, 10, 28] }, + ], + picnic: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 0.1, rgb: [51, 153, 255] }, + { index: 0.2, rgb: [102, 204, 255] }, + { index: 0.3, rgb: [153, 204, 255] }, + { index: 0.4, rgb: [204, 204, 255] }, + { index: 0.5, rgb: [255, 255, 255] }, + { index: 0.6, rgb: [255, 204, 255] }, + { index: 0.7, rgb: [255, 153, 255] }, + { index: 0.8, rgb: [255, 102, 204] }, + { index: 0.9, rgb: [255, 102, 102] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rainbow: [ + { index: 0, rgb: [150, 0, 90] }, + { index: 0.125, rgb: [0, 0, 200] }, + { index: 0.25, rgb: [0, 25, 255] }, + { index: 0.375, rgb: [0, 152, 255] }, + { index: 0.5, rgb: [44, 255, 150] }, + { index: 0.625, rgb: [151, 255, 0] }, + { index: 0.75, rgb: [255, 234, 0] }, + { index: 0.875, rgb: [255, 111, 0] }, + { index: 1, rgb: [255, 0, 0] }, + ], + portland: [ + { index: 0, rgb: [12, 51, 131] }, + { index: 0.25, rgb: [10, 136, 186] }, + { index: 0.5, rgb: [242, 211, 56] }, + { index: 0.75, rgb: [242, 143, 56] }, + { index: 1, rgb: [217, 30, 30] }, + ], + blackbody: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.2, rgb: [230, 0, 0] }, + { index: 0.4, rgb: [230, 210, 0] }, + { index: 0.7, rgb: [255, 255, 255] }, + { index: 1, rgb: [160, 200, 255] }, + ], + earth: [ + { index: 0, rgb: [0, 0, 130] }, + { index: 0.1, rgb: [0, 180, 180] }, + { index: 0.2, rgb: [40, 210, 40] }, + { index: 0.4, rgb: [230, 230, 50] }, + { index: 0.6, rgb: [120, 70, 20] }, + { index: 1, rgb: [255, 255, 255] }, + ], + electric: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.15, rgb: [30, 0, 100] }, + { index: 0.4, rgb: [120, 0, 100] }, + { index: 0.6, rgb: [160, 90, 0] }, + { index: 0.8, rgb: [230, 200, 0] }, + { index: 1, rgb: [255, 250, 220] }, + ], + alpha: [ + { index: 0, rgb: [255, 255, 255, 0] }, + { index: 1, rgb: [255, 255, 255, 1] }, + ], + viridis: [ + { index: 0, rgb: [68, 1, 84] }, + { index: 0.13, rgb: [71, 44, 122] }, + { index: 0.25, rgb: [59, 81, 139] }, + { index: 0.38, rgb: [44, 113, 142] }, + { index: 0.5, rgb: [33, 144, 141] }, + { index: 0.63, rgb: [39, 173, 129] }, + { index: 0.75, rgb: [92, 200, 99] }, + { index: 0.88, rgb: [170, 220, 50] }, + { index: 1, rgb: [253, 231, 37] }, + ], + inferno: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [31, 12, 72] }, + { index: 0.25, rgb: [85, 15, 109] }, + { index: 0.38, rgb: [136, 34, 106] }, + { index: 0.5, rgb: [186, 54, 85] }, + { index: 0.63, rgb: [227, 89, 51] }, + { index: 0.75, rgb: [249, 140, 10] }, + { index: 0.88, rgb: [249, 201, 50] }, + { index: 1, rgb: [252, 255, 164] }, + ], + magma: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [28, 16, 68] }, + { index: 0.25, rgb: [79, 18, 123] }, + { index: 0.38, rgb: [129, 37, 129] }, + { index: 0.5, rgb: [181, 54, 122] }, + { index: 0.63, rgb: [229, 80, 100] }, + { index: 0.75, rgb: [251, 135, 97] }, + { index: 0.88, rgb: [254, 194, 135] }, + { index: 1, rgb: [252, 253, 191] }, + ], + plasma: [ + { index: 0, rgb: [13, 8, 135] }, + { index: 0.13, rgb: [75, 3, 161] }, + { index: 0.25, rgb: [125, 3, 168] }, + { index: 0.38, rgb: [168, 34, 150] }, + { index: 0.5, rgb: [203, 70, 121] }, + { index: 0.63, rgb: [229, 107, 93] }, + { index: 0.75, rgb: [248, 148, 65] }, + { index: 0.88, rgb: [253, 195, 40] }, + { index: 1, rgb: [240, 249, 33] }, + ], + warm: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [172, 0, 187] }, + { index: 0.25, rgb: [219, 0, 170] }, + { index: 0.38, rgb: [255, 0, 130] }, + { index: 0.5, rgb: [255, 63, 74] }, + { index: 0.63, rgb: [255, 123, 0] }, + { index: 0.75, rgb: [234, 176, 0] }, + { index: 0.88, rgb: [190, 228, 0] }, + { index: 1, rgb: [147, 255, 0] }, + ], + cool: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [116, 0, 218] }, + { index: 0.25, rgb: [98, 74, 237] }, + { index: 0.38, rgb: [68, 146, 231] }, + { index: 0.5, rgb: [0, 204, 197] }, + { index: 0.63, rgb: [0, 247, 146] }, + { index: 0.75, rgb: [0, 255, 88] }, + { index: 0.88, rgb: [40, 255, 8] }, + { index: 1, rgb: [147, 255, 0] }, + ], + "rainbow-soft": [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.1, rgb: [199, 0, 180] }, + { index: 0.2, rgb: [255, 0, 121] }, + { index: 0.3, rgb: [255, 108, 0] }, + { index: 0.4, rgb: [222, 194, 0] }, + { index: 0.5, rgb: [150, 255, 0] }, + { index: 0.6, rgb: [0, 255, 55] }, + { index: 0.7, rgb: [0, 246, 150] }, + { index: 0.8, rgb: [50, 167, 222] }, + { index: 0.9, rgb: [103, 51, 235] }, + { index: 1, rgb: [124, 0, 186] }, + ], + bathymetry: [ + { index: 0, rgb: [40, 26, 44] }, + { index: 0.13, rgb: [59, 49, 90] }, + { index: 0.25, rgb: [64, 76, 139] }, + { index: 0.38, rgb: [63, 110, 151] }, + { index: 0.5, rgb: [72, 142, 158] }, + { index: 0.63, rgb: [85, 174, 163] }, + { index: 0.75, rgb: [120, 206, 163] }, + { index: 0.88, rgb: [187, 230, 172] }, + { index: 1, rgb: [253, 254, 204] }, + ], + cdom: [ + { index: 0, rgb: [47, 15, 62] }, + { index: 0.13, rgb: [87, 23, 86] }, + { index: 0.25, rgb: [130, 28, 99] }, + { index: 0.38, rgb: [171, 41, 96] }, + { index: 0.5, rgb: [206, 67, 86] }, + { index: 0.63, rgb: [230, 106, 84] }, + { index: 0.75, rgb: [242, 149, 103] }, + { index: 0.88, rgb: [249, 193, 135] }, + { index: 1, rgb: [254, 237, 176] }, + ], + chlorophyll: [ + { index: 0, rgb: [18, 36, 20] }, + { index: 0.13, rgb: [25, 63, 41] }, + { index: 0.25, rgb: [24, 91, 59] }, + { index: 0.38, rgb: [13, 119, 72] }, + { index: 0.5, rgb: [18, 148, 80] }, + { index: 0.63, rgb: [80, 173, 89] }, + { index: 0.75, rgb: [132, 196, 122] }, + { index: 0.88, rgb: [175, 221, 162] }, + { index: 1, rgb: [215, 249, 208] }, + ], + density: [ + { index: 0, rgb: [54, 14, 36] }, + { index: 0.13, rgb: [89, 23, 80] }, + { index: 0.25, rgb: [110, 45, 132] }, + { index: 0.38, rgb: [120, 77, 178] }, + { index: 0.5, rgb: [120, 113, 213] }, + { index: 0.63, rgb: [115, 151, 228] }, + { index: 0.75, rgb: [134, 185, 227] }, + { index: 0.88, rgb: [177, 214, 227] }, + { index: 1, rgb: [230, 241, 241] }, + ], + "freesurface-blue": [ + { index: 0, rgb: [30, 4, 110] }, + { index: 0.13, rgb: [47, 14, 176] }, + { index: 0.25, rgb: [41, 45, 236] }, + { index: 0.38, rgb: [25, 99, 212] }, + { index: 0.5, rgb: [68, 131, 200] }, + { index: 0.63, rgb: [114, 156, 197] }, + { index: 0.75, rgb: [157, 181, 203] }, + { index: 0.88, rgb: [200, 208, 216] }, + { index: 1, rgb: [241, 237, 236] }, + ], + "freesurface-red": [ + { index: 0, rgb: [60, 9, 18] }, + { index: 0.13, rgb: [100, 17, 27] }, + { index: 0.25, rgb: [142, 20, 29] }, + { index: 0.38, rgb: [177, 43, 27] }, + { index: 0.5, rgb: [192, 87, 63] }, + { index: 0.63, rgb: [205, 125, 105] }, + { index: 0.75, rgb: [216, 162, 148] }, + { index: 0.88, rgb: [227, 199, 193] }, + { index: 1, rgb: [241, 237, 236] }, + ], + oxygen: [ + { index: 0, rgb: [64, 5, 5] }, + { index: 0.13, rgb: [106, 6, 15] }, + { index: 0.25, rgb: [144, 26, 7] }, + { index: 0.38, rgb: [168, 64, 3] }, + { index: 0.5, rgb: [188, 100, 4] }, + { index: 0.63, rgb: [206, 136, 11] }, + { index: 0.75, rgb: [220, 174, 25] }, + { index: 0.88, rgb: [231, 215, 44] }, + { index: 1, rgb: [248, 254, 105] }, + ], + par: [ + { index: 0, rgb: [51, 20, 24] }, + { index: 0.13, rgb: [90, 32, 35] }, + { index: 0.25, rgb: [129, 44, 34] }, + { index: 0.38, rgb: [159, 68, 25] }, + { index: 0.5, rgb: [182, 99, 19] }, + { index: 0.63, rgb: [199, 134, 22] }, + { index: 0.75, rgb: [212, 171, 35] }, + { index: 0.88, rgb: [221, 210, 54] }, + { index: 1, rgb: [225, 253, 75] }, + ], + phase: [ + { index: 0, rgb: [145, 105, 18] }, + { index: 0.13, rgb: [184, 71, 38] }, + { index: 0.25, rgb: [186, 58, 115] }, + { index: 0.38, rgb: [160, 71, 185] }, + { index: 0.5, rgb: [110, 97, 218] }, + { index: 0.63, rgb: [50, 123, 164] }, + { index: 0.75, rgb: [31, 131, 110] }, + { index: 0.88, rgb: [77, 129, 34] }, + { index: 1, rgb: [145, 105, 18] }, + ], + salinity: [ + { index: 0, rgb: [42, 24, 108] }, + { index: 0.13, rgb: [33, 50, 162] }, + { index: 0.25, rgb: [15, 90, 145] }, + { index: 0.38, rgb: [40, 118, 137] }, + { index: 0.5, rgb: [59, 146, 135] }, + { index: 0.63, rgb: [79, 175, 126] }, + { index: 0.75, rgb: [120, 203, 104] }, + { index: 0.88, rgb: [193, 221, 100] }, + { index: 1, rgb: [253, 239, 154] }, + ], + temperature: [ + { index: 0, rgb: [4, 35, 51] }, + { index: 0.13, rgb: [23, 51, 122] }, + { index: 0.25, rgb: [85, 59, 157] }, + { index: 0.38, rgb: [129, 79, 143] }, + { index: 0.5, rgb: [175, 95, 130] }, + { index: 0.63, rgb: [222, 112, 101] }, + { index: 0.75, rgb: [249, 146, 66] }, + { index: 0.88, rgb: [249, 196, 65] }, + { index: 1, rgb: [232, 250, 91] }, + ], + turbidity: [ + { index: 0, rgb: [34, 31, 27] }, + { index: 0.13, rgb: [65, 50, 41] }, + { index: 0.25, rgb: [98, 69, 52] }, + { index: 0.38, rgb: [131, 89, 57] }, + { index: 0.5, rgb: [161, 112, 59] }, + { index: 0.63, rgb: [185, 140, 66] }, + { index: 0.75, rgb: [202, 174, 88] }, + { index: 0.88, rgb: [216, 209, 126] }, + { index: 1, rgb: [233, 246, 171] }, + ], + "velocity-blue": [ + { index: 0, rgb: [17, 32, 64] }, + { index: 0.13, rgb: [35, 52, 116] }, + { index: 0.25, rgb: [29, 81, 156] }, + { index: 0.38, rgb: [31, 113, 162] }, + { index: 0.5, rgb: [50, 144, 169] }, + { index: 0.63, rgb: [87, 173, 176] }, + { index: 0.75, rgb: [149, 196, 189] }, + { index: 0.88, rgb: [203, 221, 211] }, + { index: 1, rgb: [254, 251, 230] }, + ], + "velocity-green": [ + { index: 0, rgb: [23, 35, 19] }, + { index: 0.13, rgb: [24, 64, 38] }, + { index: 0.25, rgb: [11, 95, 45] }, + { index: 0.38, rgb: [39, 123, 35] }, + { index: 0.5, rgb: [95, 146, 12] }, + { index: 0.63, rgb: [152, 165, 18] }, + { index: 0.75, rgb: [201, 186, 69] }, + { index: 0.88, rgb: [233, 216, 137] }, + { index: 1, rgb: [255, 253, 205] }, + ], + cubehelix: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.07, rgb: [22, 5, 59] }, + { index: 0.13, rgb: [60, 4, 105] }, + { index: 0.2, rgb: [109, 1, 135] }, + { index: 0.27, rgb: [161, 0, 147] }, + { index: 0.33, rgb: [210, 2, 142] }, + { index: 0.4, rgb: [251, 11, 123] }, + { index: 0.47, rgb: [255, 29, 97] }, + { index: 0.53, rgb: [255, 54, 69] }, + { index: 0.6, rgb: [255, 85, 46] }, + { index: 0.67, rgb: [255, 120, 34] }, + { index: 0.73, rgb: [255, 157, 37] }, + { index: 0.8, rgb: [241, 191, 57] }, + { index: 0.87, rgb: [224, 220, 93] }, + { index: 0.93, rgb: [218, 241, 142] }, + { index: 1, rgb: [227, 253, 198] }, + ], + }; + }, + {}, + ], + 106: [ + function (t, e, r) { + "use strict"; + var n = t("./colorScale"), + i = t("lerp"); + function a(t) { + return [t[0] / 255, t[1] / 255, t[2] / 255, t[3]]; + } + function o(t) { + for (var e, r = "#", n = 0; n < 3; ++n) + r += ("00" + (e = (e = t[n]).toString(16))).substr(e.length); + return r; + } + function s(t) { + return "rgba(" + t.join(",") + ")"; + } + e.exports = function (t) { + var e, r, l, c, u, f, h, p, d, g; + t || (t = {}); + ((p = (t.nshades || 72) - 1), + (h = t.format || "hex"), + (f = t.colormap) || (f = "jet")); + if ("string" == typeof f) { + if (((f = f.toLowerCase()), !n[f])) + throw Error(f + " not a supported colorscale"); + u = n[f]; + } else { + if (!Array.isArray(f)) throw Error("unsupported colormap option", f); + u = f.slice(); + } + if (u.length > p) + throw new Error( + f + " map requires nshades to be at least size " + u.length, + ); + d = Array.isArray(t.alpha) + ? 2 !== t.alpha.length + ? [1, 1] + : t.alpha.slice() + : "number" == typeof t.alpha + ? [t.alpha, t.alpha] + : [1, 1]; + ((e = u.map(function (t) { + return Math.round(t.index * p); + })), + (d[0] = Math.min(Math.max(d[0], 0), 1)), + (d[1] = Math.min(Math.max(d[1], 0), 1))); + var m = u.map(function (t, e) { + var r = u[e].index, + n = u[e].rgb.slice(); + return 4 === n.length && n[3] >= 0 && n[3] <= 1 + ? n + : ((n[3] = d[0] + (d[1] - d[0]) * r), n); + }), + v = []; + for (g = 0; g < e.length - 1; ++g) { + ((c = e[g + 1] - e[g]), (r = m[g]), (l = m[g + 1])); + for (var y = 0; y < c; y++) { + var x = y / c; + v.push([ + Math.round(i(r[0], l[0], x)), + Math.round(i(r[1], l[1], x)), + Math.round(i(r[2], l[2], x)), + i(r[3], l[3], x), + ]); + } + } + (v.push(u[u.length - 1].rgb.concat(d[1])), + "hex" === h + ? (v = v.map(o)) + : "rgbaString" === h + ? (v = v.map(s)) + : "float" === h && (v = v.map(a))); + return v; + }; + }, + { "./colorScale": 105, lerp: 310 }, + ], + 107: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, a) { + var o = n(e, r, a); + if (0 === o) { + var s = i(n(t, e, r)), + c = i(n(t, e, a)); + if (s === c) { + if (0 === s) { + var u = l(t, e, r), + f = l(t, e, a); + return u === f ? 0 : u ? 1 : -1; + } + return 0; + } + return 0 === c + ? s > 0 + ? -1 + : l(t, e, a) + ? -1 + : 1 + : 0 === s + ? c > 0 + ? 1 + : l(t, e, r) + ? 1 + : -1 + : i(c - s); + } + var h = n(t, e, r); + if (h > 0) return o > 0 && n(t, e, a) > 0 ? 1 : -1; + if (h < 0) return o > 0 || n(t, e, a) > 0 ? 1 : -1; + var p = n(t, e, a); + return p > 0 ? 1 : l(t, e, r) ? 1 : -1; + }; + var n = t("robust-orientation"), + i = t("signum"), + a = t("two-sum"), + o = t("robust-product"), + s = t("robust-sum"); + function l(t, e, r) { + var n = a(t[0], -e[0]), + i = a(t[1], -e[1]), + l = a(r[0], -e[0]), + c = a(r[1], -e[1]), + u = s(o(n, l), o(i, c)); + return u[u.length - 1] >= 0; + } + }, + { + "robust-orientation": 388, + "robust-product": 389, + "robust-sum": 393, + signum: 394, + "two-sum": 422, + }, + ], + 108: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = t.length, + a = t.length - e.length; + if (a) return a; + switch (r) { + case 0: + return 0; + case 1: + return t[0] - e[0]; + case 2: + return t[0] + t[1] - e[0] - e[1] || n(t[0], t[1]) - n(e[0], e[1]); + case 3: + var o = t[0] + t[1], + s = e[0] + e[1]; + if ((a = o + t[2] - (s + e[2]))) return a; + var l = n(t[0], t[1]), + c = n(e[0], e[1]); + return n(l, t[2]) - n(c, e[2]) || n(l + t[2], o) - n(c + e[2], s); + case 4: + var u = t[0], + f = t[1], + h = t[2], + p = t[3], + d = e[0], + g = e[1], + m = e[2], + v = e[3]; + return ( + u + f + h + p - (d + g + m + v) || + n(u, f, h, p) - n(d, g, m, v, d) || + n(u + f, u + h, u + p, f + h, f + p, h + p) - + n(d + g, d + m, d + v, g + m, g + v, m + v) || + n(u + f + h, u + f + p, u + h + p, f + h + p) - + n(d + g + m, d + g + v, d + m + v, g + m + v) + ); + default: + for ( + var y = t.slice().sort(i), x = e.slice().sort(i), b = 0; + b < r; + ++b + ) + if ((a = y[b] - x[b])) return a; + return 0; + } + }; + var n = Math.min; + function i(t, e) { + return t - e; + } + }, + {}, + ], + 109: [ + function (t, e, r) { + "use strict"; + var n = t("compare-cell"), + i = t("cell-orientation"); + e.exports = function (t, e) { + return n(t, e) || i(t) - i(e); + }; + }, + { "cell-orientation": 92, "compare-cell": 108 }, + ], + 110: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/ch1d"), + i = t("./lib/ch2d"), + a = t("./lib/chnd"); + e.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [[0]]; + var r = t[0].length; + if (0 === r) return []; + if (1 === r) return n(t); + if (2 === r) return i(t); + return a(t, r); + }; + }, + { "./lib/ch1d": 111, "./lib/ch2d": 112, "./lib/chnd": 113 }, + ], + 111: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = 0, r = 0, n = 1; n < t.length; ++n) + (t[n][0] < t[e][0] && (e = n), t[n][0] > t[r][0] && (r = n)); + return e < r ? [[e], [r]] : e > r ? [[r], [e]] : [[e]]; + }; + }, + {}, + ], + 112: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = n(t), + r = e.length; + if (r <= 2) return []; + for (var i = new Array(r), a = e[r - 1], o = 0; o < r; ++o) { + var s = e[o]; + ((i[o] = [a, s]), (a = s)); + } + return i; + }; + var n = t("monotone-convex-hull-2d"); + }, + { "monotone-convex-hull-2d": 319 }, + ], + 113: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + try { + return n(t, !0); + } catch (s) { + var r = i(t); + if (r.length <= e) return []; + var a = (function (t, e) { + for (var r = t.length, n = new Array(r), i = 0; i < e.length; ++i) + n[i] = t[e[i]]; + for (var a = e.length, i = 0; i < r; ++i) + e.indexOf(i) < 0 && (n[a++] = t[i]); + return n; + })(t, r), + o = n(a, !0); + return (function (t, e) { + for (var r = t.length, n = e.length, i = 0; i < r; ++i) + for (var a = t[i], o = 0; o < a.length; ++o) { + var s = a[o]; + if (s < n) a[o] = e[s]; + else { + s -= n; + for (var l = 0; l < n; ++l) s >= e[l] && (s += 1); + a[o] = s; + } + } + return t; + })(o, r); + } + }; + var n = t("incremental-convex-hull"), + i = t("affine-hull"); + }, + { "affine-hull": 46, "incremental-convex-hull": 299 }, + ], + 114: [ + function (t, e, r) { + e.exports = { + AFG: "afghan", + ALA: "\\b\\wland", + ALB: "albania", + DZA: "algeria", + ASM: "^(?=.*americ).*samoa", + AND: "andorra", + AGO: "angola", + AIA: "anguill?a", + ATA: "antarctica", + ATG: "antigua", + ARG: "argentin", + ARM: "armenia", + ABW: "^(?!.*bonaire).*\\baruba", + AUS: "australia", + AUT: "^(?!.*hungary).*austria|\\baustri.*\\bemp", + AZE: "azerbaijan", + BHS: "bahamas", + BHR: "bahrain", + BGD: "bangladesh|^(?=.*east).*paki?stan", + BRB: "barbados", + BLR: "belarus|byelo", + BEL: "^(?!.*luxem).*belgium", + BLZ: "belize|^(?=.*british).*honduras", + BEN: "benin|dahome", + BMU: "bermuda", + BTN: "bhutan", + BOL: "bolivia", + BES: "^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands", + BIH: "herzegovina|bosnia", + BWA: "botswana|bechuana", + BVT: "bouvet", + BRA: "brazil", + IOT: "british.?indian.?ocean", + BRN: "brunei", + BGR: "bulgaria", + BFA: "burkina|\\bfaso|upper.?volta", + BDI: "burundi", + CPV: "verde", + KHM: "cambodia|kampuchea|khmer", + CMR: "cameroon", + CAN: "canada", + CYM: "cayman", + CAF: "\\bcentral.african.republic", + TCD: "\\bchad", + CHL: "\\bchile", + CHN: "^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china", + CXR: "christmas", + CCK: "\\bcocos|keeling", + COL: "colombia", + COM: "comoro", + COG: "^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo", + COK: "\\bcook", + CRI: "costa.?rica", + CIV: "ivoire|ivory", + HRV: "croatia", + CUB: "\\bcuba", + CUW: "^(?!.*bonaire).*\\bcura(c|\xe7)ao", + CYP: "cyprus", + CSK: "czechoslovakia", + CZE: "^(?=.*rep).*czech|czechia|bohemia", + COD: "\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc", + DNK: "denmark", + DJI: "djibouti", + DMA: "dominica(?!n)", + DOM: "dominican.rep", + ECU: "ecuador", + EGY: "egypt", + SLV: "el.?salvador", + GNQ: "guine.*eq|eq.*guine|^(?=.*span).*guinea", + ERI: "eritrea", + EST: "estonia", + ETH: "ethiopia|abyssinia", + FLK: "falkland|malvinas", + FRO: "faroe|faeroe", + FJI: "fiji", + FIN: "finland", + FRA: "^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul", + GUF: "^(?=.*french).*guiana", + PYF: "french.?polynesia|tahiti", + ATF: "french.?southern", + GAB: "gabon", + GMB: "gambia", + GEO: "^(?!.*south).*georgia", + DDR: "german.?democratic.?republic|democratic.?republic.*germany|east.germany", + DEU: "^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german", + GHA: "ghana|gold.?coast", + GIB: "gibraltar", + GRC: "greece|hellenic|hellas", + GRL: "greenland", + GRD: "grenada", + GLP: "guadeloupe", + GUM: "\\bguam", + GTM: "guatemala", + GGY: "guernsey", + GIN: "^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea", + GNB: "bissau|^(?=.*portu).*guinea", + GUY: "guyana|british.?guiana", + HTI: "haiti", + HMD: "heard.*mcdonald", + VAT: "holy.?see|vatican|papal.?st", + HND: "^(?!.*brit).*honduras", + HKG: "hong.?kong", + HUN: "^(?!.*austr).*hungary", + ISL: "iceland", + IND: "india(?!.*ocea)", + IDN: "indonesia", + IRN: "\\biran|persia", + IRQ: "\\biraq|mesopotamia", + IRL: "(^ireland)|(^republic.*ireland)", + IMN: "^(?=.*isle).*\\bman", + ISR: "israel", + ITA: "italy", + JAM: "jamaica", + JPN: "japan", + JEY: "jersey", + JOR: "jordan", + KAZ: "kazak", + KEN: "kenya|british.?east.?africa|east.?africa.?prot", + KIR: "kiribati", + PRK: "^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)", + KWT: "kuwait", + KGZ: "kyrgyz|kirghiz", + LAO: "\\blaos?\\b", + LVA: "latvia", + LBN: "lebanon", + LSO: "lesotho|basuto", + LBR: "liberia", + LBY: "libya", + LIE: "liechtenstein", + LTU: "lithuania", + LUX: "^(?!.*belg).*luxem", + MAC: "maca(o|u)", + MDG: "madagascar|malagasy", + MWI: "malawi|nyasa", + MYS: "malaysia", + MDV: "maldive", + MLI: "\\bmali\\b", + MLT: "\\bmalta", + MHL: "marshall", + MTQ: "martinique", + MRT: "mauritania", + MUS: "mauritius", + MYT: "\\bmayotte", + MEX: "\\bmexic", + FSM: "fed.*micronesia|micronesia.*fed", + MCO: "monaco", + MNG: "mongolia", + MNE: "^(?!.*serbia).*montenegro", + MSR: "montserrat", + MAR: "morocco|\\bmaroc", + MOZ: "mozambique", + MMR: "myanmar|burma", + NAM: "namibia", + NRU: "nauru", + NPL: "nepal", + NLD: "^(?!.*\\bant)(?!.*\\bcarib).*netherlands", + ANT: "^(?=.*\\bant).*(nether|dutch)", + NCL: "new.?caledonia", + NZL: "new.?zealand", + NIC: "nicaragua", + NER: "\\bniger(?!ia)", + NGA: "nigeria", + NIU: "niue", + NFK: "norfolk", + MNP: "mariana", + NOR: "norway", + OMN: "\\boman|trucial", + PAK: "^(?!.*east).*paki?stan", + PLW: "palau", + PSE: "palestin|\\bgaza|west.?bank", + PAN: "panama", + PNG: "papua|new.?guinea", + PRY: "paraguay", + PER: "peru", + PHL: "philippines", + PCN: "pitcairn", + POL: "poland", + PRT: "portugal", + PRI: "puerto.?rico", + QAT: "qatar", + KOR: "^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)", + MDA: "moldov|b(a|e)ssarabia", + REU: "r(e|\xe9)union", + ROU: "r(o|u|ou)mania", + RUS: "\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics", + RWA: "rwanda", + BLM: "barth(e|\xe9)lemy", + SHN: "helena", + KNA: "kitts|\\bnevis", + LCA: "\\blucia", + MAF: "^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)", + SPM: "miquelon", + VCT: "vincent", + WSM: "^(?!.*amer).*samoa", + SMR: "san.?marino", + STP: "\\bs(a|\xe3)o.?tom(e|\xe9)", + SAU: "\\bsa\\w*.?arabia", + SEN: "senegal", + SRB: "^(?!.*monte).*serbia", + SYC: "seychell", + SLE: "sierra", + SGP: "singapore", + SXM: "^(?!.*martin)(?!.*saba).*maarten", + SVK: "^(?!.*cze).*slovak", + SVN: "slovenia", + SLB: "solomon", + SOM: "somali", + ZAF: "south.africa|s\\\\..?africa", + SGS: "south.?georgia|sandwich", + SSD: "\\bs\\w*.?sudan", + ESP: "spain", + LKA: "sri.?lanka|ceylon", + SDN: "^(?!.*\\bs(?!u)).*sudan", + SUR: "surinam|dutch.?guiana", + SJM: "svalbard", + SWZ: "swaziland", + SWE: "sweden", + CHE: "switz|swiss", + SYR: "syria", + TWN: "taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china", + TJK: "tajik", + THA: "thailand|\\bsiam", + MKD: "macedonia|fyrom", + TLS: "^(?=.*leste).*timor|^(?=.*east).*timor", + TGO: "togo", + TKL: "tokelau", + TON: "tonga", + TTO: "trinidad|tobago", + TUN: "tunisia", + TUR: "turkey", + TKM: "turkmen", + TCA: "turks", + TUV: "tuvalu", + UGA: "uganda", + UKR: "ukrain", + ARE: "emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em", + GBR: "united.?kingdom|britain|^u\\.?k\\.?$", + TZA: "tanzania", + USA: "united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)", + UMI: "minor.?outlying.?is", + URY: "uruguay", + UZB: "uzbek", + VUT: "vanuatu|new.?hebrides", + VEN: "venezuela", + VNM: "^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam", + VGB: "^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin", + VIR: "^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin", + WLF: "futuna|wallis", + ESH: "western.sahara", + YEM: "^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen", + YMD: "^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen", + YUG: "yugoslavia", + ZMB: "zambia|northern.?rhodesia", + EAZ: "zanzibar", + ZWE: "zimbabwe|^(?!.*northern).*rhodesia", + }; + }, + {}, + ], + 115: [ + function (t, e, r) { + "use strict"; + ((e.exports = function (t, e, r, n, i, a) { + var o = i - 1, + s = i * i, + l = o * o, + c = (1 + 2 * i) * l, + u = i * l, + f = s * (3 - 2 * i), + h = s * o; + if (t.length) { + a || (a = new Array(t.length)); + for (var p = t.length - 1; p >= 0; --p) + a[p] = c * t[p] + u * e[p] + f * r[p] + h * n[p]; + return a; + } + return c * t + u * e + f * r + h * n; + }), + (e.exports.derivative = function (t, e, r, n, i, a) { + var o = 6 * i * i - 6 * i, + s = 3 * i * i - 4 * i + 1, + l = -6 * i * i + 6 * i, + c = 3 * i * i - 2 * i; + if (t.length) { + a || (a = new Array(t.length)); + for (var u = t.length - 1; u >= 0; --u) + a[u] = o * t[u] + s * e[u] + l * r[u] + c * n[u]; + return a; + } + return o * t + s * e + l * r[u] + c * n; + })); + }, + {}, + ], + 116: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/thunk.js"); + e.exports = function (t) { + var e = new (function () { + ((this.argTypes = []), + (this.shimArgs = []), + (this.arrayArgs = []), + (this.arrayBlockIndices = []), + (this.scalarArgs = []), + (this.offsetArgs = []), + (this.offsetArgIndex = []), + (this.indexArgs = []), + (this.shapeArgs = []), + (this.funcName = ""), + (this.pre = null), + (this.body = null), + (this.post = null), + (this.debug = !1)); + })(); + ((e.pre = t.pre), (e.body = t.body), (e.post = t.post)); + var r = t.args.slice(0); + e.argTypes = r; + for (var i = 0; i < r.length; ++i) { + var a = r[i]; + if ("array" === a || ("object" == typeof a && a.blockIndices)) { + if ( + ((e.argTypes[i] = "array"), + e.arrayArgs.push(i), + e.arrayBlockIndices.push(a.blockIndices ? a.blockIndices : 0), + e.shimArgs.push("array" + i), + i < e.pre.args.length && e.pre.args[i].count > 0) + ) + throw new Error("cwise: pre() block may not reference array args"); + if (i < e.post.args.length && e.post.args[i].count > 0) + throw new Error("cwise: post() block may not reference array args"); + } else if ("scalar" === a) + (e.scalarArgs.push(i), e.shimArgs.push("scalar" + i)); + else if ("index" === a) { + if ( + (e.indexArgs.push(i), + i < e.pre.args.length && e.pre.args[i].count > 0) + ) + throw new Error("cwise: pre() block may not reference array index"); + if (i < e.body.args.length && e.body.args[i].lvalue) + throw new Error("cwise: body() block may not write to array index"); + if (i < e.post.args.length && e.post.args[i].count > 0) + throw new Error("cwise: post() block may not reference array index"); + } else if ("shape" === a) { + if ( + (e.shapeArgs.push(i), i < e.pre.args.length && e.pre.args[i].lvalue) + ) + throw new Error("cwise: pre() block may not write to array shape"); + if (i < e.body.args.length && e.body.args[i].lvalue) + throw new Error("cwise: body() block may not write to array shape"); + if (i < e.post.args.length && e.post.args[i].lvalue) + throw new Error("cwise: post() block may not write to array shape"); + } else { + if ("object" != typeof a || !a.offset) + throw new Error("cwise: Unknown argument type " + r[i]); + ((e.argTypes[i] = "offset"), + e.offsetArgs.push({ array: a.array, offset: a.offset }), + e.offsetArgIndex.push(i)); + } + } + if (e.arrayArgs.length <= 0) + throw new Error("cwise: No array arguments specified"); + if (e.pre.args.length > r.length) + throw new Error("cwise: Too many arguments in pre() block"); + if (e.body.args.length > r.length) + throw new Error("cwise: Too many arguments in body() block"); + if (e.post.args.length > r.length) + throw new Error("cwise: Too many arguments in post() block"); + return ( + (e.debug = !!t.printCode || !!t.debug), + (e.funcName = t.funcName || "cwise"), + (e.blockSize = t.blockSize || 64), + n(e) + ); + }; + }, + { "./lib/thunk.js": 118 }, + ], + 117: [ + function (t, e, r) { + "use strict"; + var n = t("uniq"); + function i(t, e, r) { + var n, + i, + a = t.length, + o = e.arrayArgs.length, + s = e.indexArgs.length > 0, + l = [], + c = [], + u = 0, + f = 0; + for (n = 0; n < a; ++n) c.push(["i", n, "=0"].join("")); + for (i = 0; i < o; ++i) + for (n = 0; n < a; ++n) + ((f = u), + (u = t[n]), + 0 === n + ? c.push(["d", i, "s", n, "=t", i, "p", u].join("")) + : c.push( + [ + "d", + i, + "s", + n, + "=(t", + i, + "p", + u, + "-s", + f, + "*t", + i, + "p", + f, + ")", + ].join(""), + )); + for (c.length > 0 && l.push("var " + c.join(",")), n = a - 1; n >= 0; --n) + ((u = t[n]), + l.push(["for(i", n, "=0;i", n, " 0 && l.push(["index[", f, "]-=s", f].join("")), + l.push(["++index[", u, "]"].join(""))), + l.push("}")); + } + return l.join("\n"); + } + function a(t, e, r) { + for (var n = t.body, i = [], a = [], o = 0; o < t.args.length; ++o) { + var s = t.args[o]; + if (!(s.count <= 0)) { + var l = new RegExp(s.name, "g"), + c = "", + u = e.arrayArgs.indexOf(o); + switch (e.argTypes[o]) { + case "offset": + var f = e.offsetArgIndex.indexOf(o); + ((u = e.offsetArgs[f].array), (c = "+q" + f)); + case "array": + c = "p" + u + c; + var h = "l" + o, + p = "a" + u; + if (0 === e.arrayBlockIndices[u]) + 1 === s.count + ? "generic" === r[u] + ? s.lvalue + ? (i.push(["var ", h, "=", p, ".get(", c, ")"].join("")), + (n = n.replace(l, h)), + a.push([p, ".set(", c, ",", h, ")"].join(""))) + : (n = n.replace(l, [p, ".get(", c, ")"].join(""))) + : (n = n.replace(l, [p, "[", c, "]"].join(""))) + : "generic" === r[u] + ? (i.push(["var ", h, "=", p, ".get(", c, ")"].join("")), + (n = n.replace(l, h)), + s.lvalue && a.push([p, ".set(", c, ",", h, ")"].join(""))) + : (i.push(["var ", h, "=", p, "[", c, "]"].join("")), + (n = n.replace(l, h)), + s.lvalue && a.push([p, "[", c, "]=", h].join(""))); + else { + for ( + var d = [s.name], g = [c], m = 0; + m < Math.abs(e.arrayBlockIndices[u]); + m++ + ) + (d.push("\\s*\\[([^\\]]+)\\]"), + g.push("$" + (m + 1) + "*t" + u + "b" + m)); + if ( + ((l = new RegExp(d.join(""), "g")), + (c = g.join("+")), + "generic" === r[u]) + ) + throw new Error( + "cwise: Generic arrays not supported in combination with blocks!", + ); + n = n.replace(l, [p, "[", c, "]"].join("")); + } + break; + case "scalar": + n = n.replace(l, "Y" + e.scalarArgs.indexOf(o)); + break; + case "index": + n = n.replace(l, "index"); + break; + case "shape": + n = n.replace(l, "shape"); + } + } + } + return [i.join("\n"), n, a.join("\n")].join("\n").trim(); + } + e.exports = function (t, e) { + for ( + var r = (e[1].length - Math.abs(t.arrayBlockIndices[0])) | 0, + o = new Array(t.arrayArgs.length), + s = new Array(t.arrayArgs.length), + l = 0; + l < t.arrayArgs.length; + ++l + ) + ((s[l] = e[2 * l]), (o[l] = e[2 * l + 1])); + var c = [], + u = [], + f = [], + h = [], + p = []; + for (l = 0; l < t.arrayArgs.length; ++l) { + t.arrayBlockIndices[l] < 0 + ? (f.push(0), h.push(r), c.push(r), u.push(r + t.arrayBlockIndices[l])) + : (f.push(t.arrayBlockIndices[l]), + h.push(t.arrayBlockIndices[l] + r), + c.push(0), + u.push(t.arrayBlockIndices[l])); + for (var d = [], g = 0; g < o[l].length; g++) + f[l] <= o[l][g] && o[l][g] < h[l] && d.push(o[l][g] - f[l]); + p.push(d); + } + var m = ["SS"], + v = ["'use strict'"], + y = []; + for (g = 0; g < r; ++g) y.push(["s", g, "=SS[", g, "]"].join("")); + for (l = 0; l < t.arrayArgs.length; ++l) { + for (m.push("a" + l), m.push("t" + l), m.push("p" + l), g = 0; g < r; ++g) + y.push(["t", l, "p", g, "=t", l, "[", f[l] + g, "]"].join("")); + for (g = 0; g < Math.abs(t.arrayBlockIndices[l]); ++g) + y.push(["t", l, "b", g, "=t", l, "[", c[l] + g, "]"].join("")); + } + for (l = 0; l < t.scalarArgs.length; ++l) m.push("Y" + l); + if ( + (t.shapeArgs.length > 0 && y.push("shape=SS.slice(0)"), + t.indexArgs.length > 0) + ) { + var x = new Array(r); + for (l = 0; l < r; ++l) x[l] = "0"; + y.push(["index=[", x.join(","), "]"].join("")); + } + for (l = 0; l < t.offsetArgs.length; ++l) { + var b = t.offsetArgs[l], + _ = []; + for (g = 0; g < b.offset.length; ++g) + 0 !== b.offset[g] && + (1 === b.offset[g] + ? _.push(["t", b.array, "p", g].join("")) + : _.push([b.offset[g], "*t", b.array, "p", g].join(""))); + 0 === _.length + ? y.push("q" + l + "=0") + : y.push(["q", l, "=", _.join("+")].join("")); + } + var w = n( + [].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars), + ); + for ( + (y = y.concat(w)).length > 0 && v.push("var " + y.join(",")), l = 0; + l < t.arrayArgs.length; + ++l + ) + v.push("p" + l + "|=0"); + t.pre.body.length > 3 && v.push(a(t.pre, t, s)); + var k = a(t.body, t, s), + M = (function (t) { + for (var e = 0, r = t[0].length; e < r; ) { + for (var n = 1; n < t.length; ++n) if (t[n][e] !== t[0][e]) return e; + ++e; + } + return e; + })(p); + (M < r + ? v.push( + (function (t, e, r, n) { + for ( + var a = e.length, + o = r.arrayArgs.length, + s = r.blockSize, + l = r.indexArgs.length > 0, + c = [], + u = 0; + u < o; + ++u + ) + c.push(["var offset", u, "=p", u].join("")); + for (u = t; u < a; ++u) + (c.push( + ["for(var j" + u + "=SS[", e[u], "]|0;j", u, ">0;){"].join(""), + ), + c.push(["if(j", u, "<", s, "){"].join("")), + c.push(["s", e[u], "=j", u].join("")), + c.push(["j", u, "=0"].join("")), + c.push(["}else{s", e[u], "=", s].join("")), + c.push(["j", u, "-=", s, "}"].join("")), + l && c.push(["index[", e[u], "]=j", u].join(""))); + for (u = 0; u < o; ++u) { + for (var f = ["offset" + u], h = t; h < a; ++h) + f.push(["j", h, "*t", u, "p", e[h]].join("")); + c.push(["p", u, "=(", f.join("+"), ")"].join("")); + } + for (c.push(i(e, r, n)), u = t; u < a; ++u) c.push("}"); + return c.join("\n"); + })(M, p[0], t, k), + ) + : v.push(i(p[0], t, k)), + t.post.body.length > 3 && v.push(a(t.post, t, s)), + t.debug && + console.log( + "-----Generated cwise routine for ", + e, + ":\n" + v.join("\n") + "\n----------", + )); + var A = [ + t.funcName || "unnamed", + "_cwise_loop_", + o[0].join("s"), + "m", + M, + (function (t) { + for (var e = new Array(t.length), r = !0, n = 0; n < t.length; ++n) { + var i = t[n], + a = i.match(/\d+/); + ((a = a ? a[0] : ""), + 0 === i.charAt(0) + ? (e[n] = "u" + i.charAt(1) + a) + : (e[n] = i.charAt(0) + a), + n > 0 && (r = r && e[n] === e[n - 1])); + } + return r ? e[0] : e.join(""); + })(s), + ].join(""); + return new Function( + [ + "function ", + A, + "(", + m.join(","), + "){", + v.join("\n"), + "} return ", + A, + ].join(""), + )(); + }; + }, + { uniq: 425 }, + ], + 118: [ + function (t, e, r) { + "use strict"; + var n = t("./compile.js"); + e.exports = function (t) { + var e = ["'use strict'", "var CACHED={}"], + r = [], + i = t.funcName + "_cwise_thunk"; + e.push(["return function ", i, "(", t.shimArgs.join(","), "){"].join("")); + for ( + var a = [], + o = [], + s = [ + [ + "array", + t.arrayArgs[0], + ".shape.slice(", + Math.max(0, t.arrayBlockIndices[0]), + t.arrayBlockIndices[0] < 0 + ? "," + t.arrayBlockIndices[0] + ")" + : ")", + ].join(""), + ], + l = [], + c = [], + u = 0; + u < t.arrayArgs.length; + ++u + ) { + var f = t.arrayArgs[u]; + (r.push( + ["t", f, "=array", f, ".dtype,", "r", f, "=array", f, ".order"].join( + "", + ), + ), + a.push("t" + f), + a.push("r" + f), + o.push("t" + f), + o.push("r" + f + ".join()"), + s.push("array" + f + ".data"), + s.push("array" + f + ".stride"), + s.push("array" + f + ".offset|0"), + u > 0 && + (l.push( + "array" + + t.arrayArgs[0] + + ".shape.length===array" + + f + + ".shape.length+" + + (Math.abs(t.arrayBlockIndices[0]) - + Math.abs(t.arrayBlockIndices[u])), + ), + c.push( + "array" + + t.arrayArgs[0] + + ".shape[shapeIndex+" + + Math.max(0, t.arrayBlockIndices[0]) + + "]===array" + + f + + ".shape[shapeIndex+" + + Math.max(0, t.arrayBlockIndices[u]) + + "]", + ))); + } + for ( + t.arrayArgs.length > 1 && + (e.push( + "if (!(" + + l.join(" && ") + + ")) throw new Error('cwise: Arrays do not all have the same dimensionality!')", + ), + e.push( + "for(var shapeIndex=array" + + t.arrayArgs[0] + + ".shape.length-" + + Math.abs(t.arrayBlockIndices[0]) + + "; shapeIndex--\x3e0;) {", + ), + e.push( + "if (!(" + + c.join(" && ") + + ")) throw new Error('cwise: Arrays do not all have the same shape!')", + ), + e.push("}")), + u = 0; + u < t.scalarArgs.length; + ++u + ) + s.push("scalar" + t.scalarArgs[u]); + return ( + r.push(["type=[", o.join(","), "].join()"].join("")), + r.push("proc=CACHED[type]"), + e.push("var " + r.join(",")), + e.push( + [ + "if(!proc){", + "CACHED[type]=proc=compile([", + a.join(","), + "])}", + "return proc(", + s.join(","), + ")}", + ].join(""), + ), + t.debug && + console.log("-----Generated thunk:\n" + e.join("\n") + "\n----------"), + new Function("compile", e.join("\n"))(n.bind(void 0, t)) + ); + }; + }, + { "./compile.js": 117 }, + ], + 119: [ + function (t, e, r) { + e.exports = t("cwise-compiler"); + }, + { "cwise-compiler": 116 }, + ], + 120: [ + function (t, e, r) { + "use strict"; + var n, + i = t("es5-ext/object/copy"), + a = t("es5-ext/object/normalize-options"), + o = t("es5-ext/object/valid-callable"), + s = t("es5-ext/object/map"), + l = t("es5-ext/object/valid-callable"), + c = t("es5-ext/object/valid-value"), + u = Function.prototype.bind, + f = Object.defineProperty, + h = Object.prototype.hasOwnProperty; + ((n = function (t, e, r) { + var n, + a = c(e) && l(e.value); + return ( + delete (n = i(e)).writable, + delete n.value, + (n.get = function () { + return !r.overwriteDefinition && h.call(this, t) + ? a + : ((e.value = u.call( + a, + r.resolveContext ? r.resolveContext(this) : this, + )), + f(this, t, e), + this[t]); + }), + n + ); + }), + (e.exports = function (t) { + var e = a(arguments[1]); + return ( + null != e.resolveContext && o(e.resolveContext), + s(t, function (t, r) { + return n(r, t, e); + }) + ); + })); + }, + { + "es5-ext/object/copy": 155, + "es5-ext/object/map": 164, + "es5-ext/object/normalize-options": 165, + "es5-ext/object/valid-callable": 169, + "es5-ext/object/valid-value": 171, + }, + ], + 121: [ + function (t, e, r) { + "use strict"; + var n = t("es5-ext/object/assign"), + i = t("es5-ext/object/normalize-options"), + a = t("es5-ext/object/is-callable"), + o = t("es5-ext/string/#/contains"); + (e.exports = function (t, e) { + var r, a, s, l, c; + return ( + arguments.length < 2 || "string" != typeof t + ? ((l = e), (e = t), (t = null)) + : (l = arguments[2]), + null == t + ? ((r = s = !0), (a = !1)) + : ((r = o.call(t, "c")), (a = o.call(t, "e")), (s = o.call(t, "w"))), + (c = { value: e, configurable: r, enumerable: a, writable: s }), + l ? n(i(l), c) : c + ); + }).gs = function (t, e, r) { + var s, l, c, u; + return ( + "string" != typeof t + ? ((c = r), (r = e), (e = t), (t = null)) + : (c = arguments[3]), + null == e + ? (e = void 0) + : a(e) + ? null == r + ? (r = void 0) + : a(r) || ((c = r), (r = void 0)) + : ((c = e), (e = r = void 0)), + null == t + ? ((s = !0), (l = !1)) + : ((s = o.call(t, "c")), (l = o.call(t, "e"))), + (u = { get: e, set: r, configurable: s, enumerable: l }), + c ? n(i(c), u) : u + ); + }; + }, + { + "es5-ext/object/assign": 152, + "es5-ext/object/is-callable": 158, + "es5-ext/object/normalize-options": 165, + "es5-ext/string/#/contains": 172, + }, + ], + 122: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + var e = function (t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + }, + r = function (t) { + var r; + return ( + 1 === t.length && + ((r = t), + (t = function (t, n) { + return e(r(t), n); + })), + { + left: function (e, r, n, i) { + for ( + null == n && (n = 0), null == i && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) < 0 ? (n = a + 1) : (i = a); + } + return n; + }, + right: function (e, r, n, i) { + for ( + null == n && (n = 0), null == i && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) > 0 ? (i = a) : (n = a + 1); + } + return n; + }, + } + ); + }; + var n = r(e), + i = n.right, + a = n.left; + function o(t, e) { + return [t, e]; + } + var s = function (t) { + return null === t ? NaN : +t; + }, + l = function (t, e) { + var r, + n, + i = t.length, + a = 0, + o = -1, + l = 0, + c = 0; + if (null == e) + for (; ++o < i; ) + isNaN((r = s(t[o]))) || (c += (n = r - l) * (r - (l += n / ++a))); + else + for (; ++o < i; ) + isNaN((r = s(e(t[o], o, t)))) || + (c += (n = r - l) * (r - (l += n / ++a))); + if (a > 1) return c / (a - 1); + }, + c = function (t, e) { + var r = l(t, e); + return r ? Math.sqrt(r) : r; + }, + u = function (t, e) { + var r, + n, + i, + a = t.length, + o = -1; + if (null == e) { + for (; ++o < a; ) + if (null != (r = t[o]) && r >= r) + for (n = i = r; ++o < a; ) + null != (r = t[o]) && (n > r && (n = r), i < r && (i = r)); + } else + for (; ++o < a; ) + if (null != (r = e(t[o], o, t)) && r >= r) + for (n = i = r; ++o < a; ) + null != (r = e(t[o], o, t)) && + (n > r && (n = r), i < r && (i = r)); + return [n, i]; + }, + f = Array.prototype, + h = f.slice, + p = f.map, + d = function (t) { + return function () { + return t; + }; + }, + g = function (t) { + return t; + }, + m = function (t, e, r) { + ((t = +t), + (e = +e), + (r = + (i = arguments.length) < 2 + ? ((e = t), (t = 0), 1) + : i < 3 + ? 1 + : +r)); + for ( + var n = -1, + i = 0 | Math.max(0, Math.ceil((e - t) / r)), + a = new Array(i); + ++n < i; + + ) + a[n] = t + n * r; + return a; + }, + v = Math.sqrt(50), + y = Math.sqrt(10), + x = Math.sqrt(2); + function b(t, e, r) { + var n = (e - t) / Math.max(0, r), + i = Math.floor(Math.log(n) / Math.LN10), + a = n / Math.pow(10, i); + return i >= 0 + ? (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1) * Math.pow(10, i) + : -Math.pow(10, -i) / (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1); + } + function _(t, e, r) { + var n = Math.abs(e - t) / Math.max(0, r), + i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), + a = n / i; + return ( + a >= v ? (i *= 10) : a >= y ? (i *= 5) : a >= x && (i *= 2), + e < t ? -i : i + ); + } + var w = function (t) { + return Math.ceil(Math.log(t.length) / Math.LN2) + 1; + }, + k = function (t, e, r) { + if ((null == r && (r = s), (n = t.length))) { + if ((e = +e) <= 0 || n < 2) return +r(t[0], 0, t); + if (e >= 1) return +r(t[n - 1], n - 1, t); + var n, + i = (n - 1) * e, + a = Math.floor(i), + o = +r(t[a], a, t); + return o + (+r(t[a + 1], a + 1, t) - o) * (i - a); + } + }, + M = function (t, e) { + var r, + n, + i = t.length, + a = -1; + if (null == e) { + for (; ++a < i; ) + if (null != (r = t[a]) && r >= r) + for (n = r; ++a < i; ) null != (r = t[a]) && n > r && (n = r); + } else + for (; ++a < i; ) + if (null != (r = e(t[a], a, t)) && r >= r) + for (n = r; ++a < i; ) + null != (r = e(t[a], a, t)) && n > r && (n = r); + return n; + }, + A = function (t) { + if (!(i = t.length)) return []; + for (var e = -1, r = M(t, T), n = new Array(r); ++e < r; ) + for (var i, a = -1, o = (n[e] = new Array(i)); ++a < i; ) + o[a] = t[a][e]; + return n; + }; + function T(t) { + return t.length; + } + ((t.bisect = i), + (t.bisectRight = i), + (t.bisectLeft = a), + (t.ascending = e), + (t.bisector = r), + (t.cross = function (t, e, r) { + var n, + i, + a, + s, + l = t.length, + c = e.length, + u = new Array(l * c); + for (null == r && (r = o), n = a = 0; n < l; ++n) + for (s = t[n], i = 0; i < c; ++i, ++a) u[a] = r(s, e[i]); + return u; + }), + (t.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (t.deviation = c), + (t.extent = u), + (t.histogram = function () { + var t = g, + e = u, + r = w; + function n(n) { + var a, + o, + s = n.length, + l = new Array(s); + for (a = 0; a < s; ++a) l[a] = t(n[a], a, n); + var c = e(l), + u = c[0], + f = c[1], + h = r(l, u, f); + Array.isArray(h) || + ((h = _(u, f, h)), + (h = m(Math.ceil(u / h) * h, Math.floor(f / h) * h, h))); + for (var p = h.length; h[0] <= u; ) (h.shift(), --p); + for (; h[p - 1] > f; ) (h.pop(), --p); + var d, + g = new Array(p + 1); + for (a = 0; a <= p; ++a) + (((d = g[a] = []).x0 = a > 0 ? h[a - 1] : u), + (d.x1 = a < p ? h[a] : f)); + for (a = 0; a < s; ++a) + u <= (o = l[a]) && o <= f && g[i(h, o, 0, p)].push(n[a]); + return g; + } + return ( + (n.value = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : d(e)), n) + : t; + }), + (n.domain = function (t) { + return arguments.length + ? ((e = "function" == typeof t ? t : d([t[0], t[1]])), n) + : e; + }), + (n.thresholds = function (t) { + return arguments.length + ? ((r = + "function" == typeof t + ? t + : Array.isArray(t) + ? d(h.call(t)) + : d(t)), + n) + : r; + }), + n + ); + }), + (t.thresholdFreedmanDiaconis = function (t, r, n) { + return ( + (t = p.call(t, s).sort(e)), + Math.ceil( + (n - r) / + (2 * (k(t, 0.75) - k(t, 0.25)) * Math.pow(t.length, -1 / 3)), + ) + ); + }), + (t.thresholdScott = function (t, e, r) { + return Math.ceil((r - e) / (3.5 * c(t) * Math.pow(t.length, -1 / 3))); + }), + (t.thresholdSturges = w), + (t.max = function (t, e) { + var r, + n, + i = t.length, + a = -1; + if (null == e) { + for (; ++a < i; ) + if (null != (r = t[a]) && r >= r) + for (n = r; ++a < i; ) null != (r = t[a]) && r > n && (n = r); + } else + for (; ++a < i; ) + if (null != (r = e(t[a], a, t)) && r >= r) + for (n = r; ++a < i; ) + null != (r = e(t[a], a, t)) && r > n && (n = r); + return n; + }), + (t.mean = function (t, e) { + var r, + n = t.length, + i = n, + a = -1, + o = 0; + if (null == e) + for (; ++a < n; ) isNaN((r = s(t[a]))) ? --i : (o += r); + else for (; ++a < n; ) isNaN((r = s(e(t[a], a, t)))) ? --i : (o += r); + if (i) return o / i; + }), + (t.median = function (t, r) { + var n, + i = t.length, + a = -1, + o = []; + if (null == r) for (; ++a < i; ) isNaN((n = s(t[a]))) || o.push(n); + else for (; ++a < i; ) isNaN((n = s(r(t[a], a, t)))) || o.push(n); + return k(o.sort(e), 0.5); + }), + (t.merge = function (t) { + for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) + o += t[a].length; + for (r = new Array(o); --i >= 0; ) + for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; + return r; + }), + (t.min = M), + (t.pairs = function (t, e) { + null == e && (e = o); + for ( + var r = 0, n = t.length - 1, i = t[0], a = new Array(n < 0 ? 0 : n); + r < n; + + ) + a[r] = e(i, (i = t[++r])); + return a; + }), + (t.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; + return n; + }), + (t.quantile = k), + (t.range = m), + (t.scan = function (t, r) { + if ((n = t.length)) { + var n, + i, + a = 0, + o = 0, + s = t[o]; + for (null == r && (r = e); ++a < n; ) + (r((i = t[a]), s) < 0 || 0 !== r(s, s)) && ((s = i), (o = a)); + return 0 === r(s, s) ? o : void 0; + } + }), + (t.shuffle = function (t, e, r) { + for ( + var n, i, a = (null == r ? t.length : r) - (e = null == e ? 0 : +e); + a; + + ) + ((i = (Math.random() * a--) | 0), + (n = t[a + e]), + (t[a + e] = t[i + e]), + (t[i + e] = n)); + return t; + }), + (t.sum = function (t, e) { + var r, + n = t.length, + i = -1, + a = 0; + if (null == e) for (; ++i < n; ) (r = +t[i]) && (a += r); + else for (; ++i < n; ) (r = +e(t[i], i, t)) && (a += r); + return a; + }), + (t.ticks = function (t, e, r) { + var n, + i, + a, + o, + s = -1; + if (((r = +r), (t = +t) == (e = +e) && r > 0)) return [t]; + if ( + ((n = e < t) && ((i = t), (t = e), (e = i)), + 0 === (o = b(t, e, r)) || !isFinite(o)) + ) + return []; + if (o > 0) + for ( + t = Math.ceil(t / o), + e = Math.floor(e / o), + a = new Array((i = Math.ceil(e - t + 1))); + ++s < i; + + ) + a[s] = (t + s) * o; + else + for ( + t = Math.floor(t * o), + e = Math.ceil(e * o), + a = new Array((i = Math.ceil(t - e + 1))); + ++s < i; + + ) + a[s] = (t - s) / o; + return (n && a.reverse(), a); + }), + (t.tickIncrement = b), + (t.tickStep = _), + (t.transpose = A), + (t.variance = l), + (t.zip = function () { + return A(arguments); + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 123: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + function e() {} + function r(t, r) { + var n = new e(); + if (t instanceof e) + t.each(function (t, e) { + n.set(e, t); + }); + else if (Array.isArray(t)) { + var i, + a = -1, + o = t.length; + if (null == r) for (; ++a < o; ) n.set(a, t[a]); + else for (; ++a < o; ) n.set(r((i = t[a]), a, t), i); + } else if (t) for (var s in t) n.set(s, t[s]); + return n; + } + e.prototype = r.prototype = { + constructor: e, + has: function (t) { + return "$" + t in this; + }, + get: function (t) { + return this["$" + t]; + }, + set: function (t, e) { + return ((this["$" + t] = e), this); + }, + remove: function (t) { + var e = "$" + t; + return e in this && delete this[e]; + }, + clear: function () { + for (var t in this) "$" === t[0] && delete this[t]; + }, + keys: function () { + var t = []; + for (var e in this) "$" === e[0] && t.push(e.slice(1)); + return t; + }, + values: function () { + var t = []; + for (var e in this) "$" === e[0] && t.push(this[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this) + "$" === e[0] && t.push({ key: e.slice(1), value: this[e] }); + return t; + }, + size: function () { + var t = 0; + for (var e in this) "$" === e[0] && ++t; + return t; + }, + empty: function () { + for (var t in this) if ("$" === t[0]) return !1; + return !0; + }, + each: function (t) { + for (var e in this) "$" === e[0] && t(this[e], e.slice(1), this); + }, + }; + function n() { + return {}; + } + function i(t, e, r) { + t[e] = r; + } + function a() { + return r(); + } + function o(t, e, r) { + t.set(e, r); + } + function s() {} + var l = r.prototype; + function c(t, e) { + var r = new s(); + if (t instanceof s) + t.each(function (t) { + r.add(t); + }); + else if (t) { + var n = -1, + i = t.length; + if (null == e) for (; ++n < i; ) r.add(t[n]); + else for (; ++n < i; ) r.add(e(t[n], n, t)); + } + return r; + } + s.prototype = c.prototype = { + constructor: s, + has: l.has, + add: function (t) { + return ((this["$" + (t += "")] = t), this); + }, + remove: l.remove, + clear: l.clear, + values: l.keys, + size: l.size, + empty: l.empty, + each: l.each, + }; + ((t.nest = function () { + var t, + e, + s, + l = [], + c = []; + function u(n, i, a, o) { + if (i >= l.length) + return (null != t && n.sort(t), null != e ? e(n) : n); + for ( + var s, c, f, h = -1, p = n.length, d = l[i++], g = r(), m = a(); + ++h < p; + + ) + (f = g.get((s = d((c = n[h])) + ""))) ? f.push(c) : g.set(s, [c]); + return ( + g.each(function (t, e) { + o(m, e, u(t, i, a, o)); + }), + m + ); + } + return (s = { + object: function (t) { + return u(t, 0, n, i); + }, + map: function (t) { + return u(t, 0, a, o); + }, + entries: function (t) { + return (function t(r, n) { + if (++n > l.length) return r; + var i, + a = c[n - 1]; + return ( + null != e && n >= l.length + ? (i = r.entries()) + : ((i = []), + r.each(function (e, r) { + i.push({ key: r, values: t(e, n) }); + })), + null != a + ? i.sort(function (t, e) { + return a(t.key, e.key); + }) + : i + ); + })(u(t, 0, a, o), 0); + }, + key: function (t) { + return (l.push(t), s); + }, + sortKeys: function (t) { + return ((c[l.length - 1] = t), s); + }, + sortValues: function (e) { + return ((t = e), s); + }, + rollup: function (t) { + return ((e = t), s); + }, + }); + }), + (t.set = c), + (t.map = r), + (t.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 124: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + var e = function (t, e, r) { + ((t.prototype = e.prototype = r), (r.constructor = t)); + }; + function r(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + function n() {} + var i = "\\s*([+-]?\\d+)\\s*", + a = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", + o = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + s = /^#([0-9a-f]{3})$/, + l = /^#([0-9a-f]{6})$/, + c = new RegExp("^rgb\\(" + [i, i, i] + "\\)$"), + u = new RegExp("^rgb\\(" + [o, o, o] + "\\)$"), + f = new RegExp("^rgba\\(" + [i, i, i, a] + "\\)$"), + h = new RegExp("^rgba\\(" + [o, o, o, a] + "\\)$"), + p = new RegExp("^hsl\\(" + [a, o, o] + "\\)$"), + d = new RegExp("^hsla\\(" + [a, o, o, a] + "\\)$"), + g = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }; + function m(t) { + var e; + return ( + (t = (t + "").trim().toLowerCase()), + (e = s.exec(t)) + ? new _( + (((e = parseInt(e[1], 16)) >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + ((15 & e) << 4) | (15 & e), + 1, + ) + : (e = l.exec(t)) + ? v(parseInt(e[1], 16)) + : (e = c.exec(t)) + ? new _(e[1], e[2], e[3], 1) + : (e = u.exec(t)) + ? new _( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + 1, + ) + : (e = f.exec(t)) + ? y(e[1], e[2], e[3], e[4]) + : (e = h.exec(t)) + ? y( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + e[4], + ) + : (e = p.exec(t)) + ? w(e[1], e[2] / 100, e[3] / 100, 1) + : (e = d.exec(t)) + ? w(e[1], e[2] / 100, e[3] / 100, e[4]) + : g.hasOwnProperty(t) + ? v(g[t]) + : "transparent" === t + ? new _(NaN, NaN, NaN, 0) + : null + ); + } + function v(t) { + return new _((t >> 16) & 255, (t >> 8) & 255, 255 & t, 1); + } + function y(t, e, r, n) { + return (n <= 0 && (t = e = r = NaN), new _(t, e, r, n)); + } + function x(t) { + return ( + t instanceof n || (t = m(t)), + t ? new _((t = t.rgb()).r, t.g, t.b, t.opacity) : new _() + ); + } + function b(t, e, r, n) { + return 1 === arguments.length + ? x(t) + : new _(t, e, r, null == n ? 1 : n); + } + function _(t, e, r, n) { + ((this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n)); + } + function w(t, e, r, n) { + return ( + n <= 0 + ? (t = e = r = NaN) + : r <= 0 || r >= 1 + ? (t = e = NaN) + : e <= 0 && (t = NaN), + new M(t, e, r, n) + ); + } + function k(t, e, r, i) { + return 1 === arguments.length + ? (function (t) { + if (t instanceof M) return new M(t.h, t.s, t.l, t.opacity); + if ((t instanceof n || (t = m(t)), !t)) return new M(); + if (t instanceof M) return t; + var e = (t = t.rgb()).r / 255, + r = t.g / 255, + i = t.b / 255, + a = Math.min(e, r, i), + o = Math.max(e, r, i), + s = NaN, + l = o - a, + c = (o + a) / 2; + return ( + l + ? ((s = + e === o + ? (r - i) / l + 6 * (r < i) + : r === o + ? (i - e) / l + 2 + : (e - r) / l + 4), + (l /= c < 0.5 ? o + a : 2 - o - a), + (s *= 60)) + : (l = c > 0 && c < 1 ? 0 : s), + new M(s, l, c, t.opacity) + ); + })(t) + : new M(t, e, r, null == i ? 1 : i); + } + function M(t, e, r, n) { + ((this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n)); + } + function A(t, e, r) { + return ( + 255 * + (t < 60 + ? e + ((r - e) * t) / 60 + : t < 180 + ? r + : t < 240 + ? e + ((r - e) * (240 - t)) / 60 + : e) + ); + } + (e(n, m, { + displayable: function () { + return this.rgb().displayable(); + }, + toString: function () { + return this.rgb() + ""; + }, + }), + e( + _, + b, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new _(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new _(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + rgb: function () { + return this; + }, + displayable: function () { + return ( + 0 <= this.r && + this.r <= 255 && + 0 <= this.g && + this.g <= 255 && + 0 <= this.b && + this.b <= 255 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + toString: function () { + var t = this.opacity; + return ( + (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) + ? "rgb(" + : "rgba(") + + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + + ", " + + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + + ", " + + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + + (1 === t ? ")" : ", " + t + ")") + ); + }, + }), + ), + e( + M, + k, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new M(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new M(this.h, this.s, this.l * t, this.opacity) + ); + }, + rgb: function () { + var t = (this.h % 360) + 360 * (this.h < 0), + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + r = this.l, + n = r + (r < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new _( + A(t >= 240 ? t - 240 : t + 120, i, n), + A(t, i, n), + A(t < 120 ? t + 240 : t - 120, i, n), + this.opacity, + ); + }, + displayable: function () { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + }), + )); + var T = Math.PI / 180, + S = 180 / Math.PI, + C = 0.95047, + E = 1, + L = 1.08883, + z = 4 / 29, + P = 6 / 29, + D = 3 * P * P, + O = P * P * P; + function I(t) { + if (t instanceof B) return new B(t.l, t.a, t.b, t.opacity); + if (t instanceof q) { + var e = t.h * T; + return new B(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); + } + t instanceof _ || (t = x(t)); + var r = V(t.r), + n = V(t.g), + i = V(t.b), + a = F((0.4124564 * r + 0.3575761 * n + 0.1804375 * i) / C), + o = F((0.2126729 * r + 0.7151522 * n + 0.072175 * i) / E); + return new B( + 116 * o - 16, + 500 * (a - o), + 200 * (o - F((0.0193339 * r + 0.119192 * n + 0.9503041 * i) / L)), + t.opacity, + ); + } + function R(t, e, r, n) { + return 1 === arguments.length + ? I(t) + : new B(t, e, r, null == n ? 1 : n); + } + function B(t, e, r, n) { + ((this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n)); + } + function F(t) { + return t > O ? Math.pow(t, 1 / 3) : t / D + z; + } + function N(t) { + return t > P ? t * t * t : D * (t - z); + } + function j(t) { + return ( + 255 * + (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function V(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function U(t, e, r, n) { + return 1 === arguments.length + ? (function (t) { + if (t instanceof q) return new q(t.h, t.c, t.l, t.opacity); + t instanceof B || (t = I(t)); + var e = Math.atan2(t.b, t.a) * S; + return new q( + e < 0 ? e + 360 : e, + Math.sqrt(t.a * t.a + t.b * t.b), + t.l, + t.opacity, + ); + })(t) + : new q(t, e, r, null == n ? 1 : n); + } + function q(t, e, r, n) { + ((this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n)); + } + (e( + B, + R, + r(n, { + brighter: function (t) { + return new B( + this.l + 18 * (null == t ? 1 : t), + this.a, + this.b, + this.opacity, + ); + }, + darker: function (t) { + return new B( + this.l - 18 * (null == t ? 1 : t), + this.a, + this.b, + this.opacity, + ); + }, + rgb: function () { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + r = isNaN(this.b) ? t : t - this.b / 200; + return ( + (t = E * N(t)), + new _( + j( + 3.2404542 * (e = C * N(e)) - + 1.5371385 * t - + 0.4985314 * (r = L * N(r)), + ), + j(-0.969266 * e + 1.8760108 * t + 0.041556 * r), + j(0.0556434 * e - 0.2040259 * t + 1.0572252 * r), + this.opacity, + ) + ); + }, + }), + ), + e( + q, + U, + r(n, { + brighter: function (t) { + return new q( + this.h, + this.c, + this.l + 18 * (null == t ? 1 : t), + this.opacity, + ); + }, + darker: function (t) { + return new q( + this.h, + this.c, + this.l - 18 * (null == t ? 1 : t), + this.opacity, + ); + }, + rgb: function () { + return I(this).rgb(); + }, + }), + )); + var H = -0.14861, + G = 1.78277, + W = -0.29227, + Y = -0.90649, + X = 1.97294, + Z = X * Y, + J = X * G, + K = G * W - Y * H; + function Q(t, e, r, n) { + return 1 === arguments.length + ? (function (t) { + if (t instanceof $) return new $(t.h, t.s, t.l, t.opacity); + t instanceof _ || (t = x(t)); + var e = t.r / 255, + r = t.g / 255, + n = t.b / 255, + i = (K * n + Z * e - J * r) / (K + Z - J), + a = n - i, + o = (X * (r - i) - W * a) / Y, + s = Math.sqrt(o * o + a * a) / (X * i * (1 - i)), + l = s ? Math.atan2(o, a) * S - 120 : NaN; + return new $(l < 0 ? l + 360 : l, s, i, t.opacity); + })(t) + : new $(t, e, r, null == n ? 1 : n); + } + function $(t, e, r, n) { + ((this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n)); + } + (e( + $, + Q, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new $(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new $(this.h, this.s, this.l * t, this.opacity) + ); + }, + rgb: function () { + var t = isNaN(this.h) ? 0 : (this.h + 120) * T, + e = +this.l, + r = isNaN(this.s) ? 0 : this.s * e * (1 - e), + n = Math.cos(t), + i = Math.sin(t); + return new _( + 255 * (e + r * (H * n + G * i)), + 255 * (e + r * (W * n + Y * i)), + 255 * (e + r * (X * n)), + this.opacity, + ); + }, + }), + ), + (t.color = m), + (t.rgb = b), + (t.hsl = k), + (t.lab = R), + (t.hcl = U), + (t.cubehelix = Q), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 125: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + var e = { value: function () {} }; + function r() { + for (var t, e = 0, r = arguments.length, i = {}; e < r; ++e) { + if (!(t = arguments[e] + "") || t in i) + throw new Error("illegal type: " + t); + i[t] = []; + } + return new n(i); + } + function n(t) { + this._ = t; + } + function i(t, e) { + for (var r, n = 0, i = t.length; n < i; ++n) + if ((r = t[n]).name === e) return r.value; + } + function a(t, r, n) { + for (var i = 0, a = t.length; i < a; ++i) + if (t[i].name === r) { + ((t[i] = e), (t = t.slice(0, i).concat(t.slice(i + 1)))); + break; + } + return (null != n && t.push({ name: r, value: n }), t); + } + ((n.prototype = r.prototype = + { + constructor: n, + on: function (t, e) { + var r, + n, + o = this._, + s = + ((n = o), + (t + "") + .trim() + .split(/^|\s+/) + .map(function (t) { + var e = "", + r = t.indexOf("."); + if ( + (r >= 0 && ((e = t.slice(r + 1)), (t = t.slice(0, r))), + t && !n.hasOwnProperty(t)) + ) + throw new Error("unknown type: " + t); + return { type: t, name: e }; + })), + l = -1, + c = s.length; + if (!(arguments.length < 2)) { + if (null != e && "function" != typeof e) + throw new Error("invalid callback: " + e); + for (; ++l < c; ) + if ((r = (t = s[l]).type)) o[r] = a(o[r], t.name, e); + else if (null == e) for (r in o) o[r] = a(o[r], t.name, null); + return this; + } + for (; ++l < c; ) + if ((r = (t = s[l]).type) && (r = i(o[r], t.name))) return r; + }, + copy: function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new n(t); + }, + call: function (t, e) { + if ((r = arguments.length - 2) > 0) + for (var r, n, i = new Array(r), a = 0; a < r; ++a) + i[a] = arguments[a + 2]; + if (!this._.hasOwnProperty(t)) + throw new Error("unknown type: " + t); + for (a = 0, r = (n = this._[t]).length; a < r; ++a) + n[a].value.apply(e, i); + }, + apply: function (t, e, r) { + if (!this._.hasOwnProperty(t)) + throw new Error("unknown type: " + t); + for (var n = this._[t], i = 0, a = n.length; i < a; ++i) + n[i].value.apply(e, r); + }, + }), + (t.dispatch = r), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 126: [ + function (t, e, r) { + var n, i; + ((n = this), + (i = function (t, e, r, n, i) { + "use strict"; + var a = function (t) { + return function () { + return t; + }; + }, + o = function () { + return 1e-6 * (Math.random() - 0.5); + }; + function s(t) { + return t.x + t.vx; + } + function l(t) { + return t.y + t.vy; + } + function c(t) { + return t.index; + } + function u(t, e) { + var r = t.get(e); + if (!r) throw new Error("missing: " + e); + return r; + } + function f(t) { + return t.x; + } + function h(t) { + return t.y; + } + var p = 10, + d = Math.PI * (3 - Math.sqrt(5)); + ((t.forceCenter = function (t, e) { + var r; + function n() { + var n, + i, + a = r.length, + o = 0, + s = 0; + for (n = 0; n < a; ++n) ((o += (i = r[n]).x), (s += i.y)); + for (o = o / a - t, s = s / a - e, n = 0; n < a; ++n) + (((i = r[n]).x -= o), (i.y -= s)); + } + return ( + null == t && (t = 0), + null == e && (e = 0), + (n.initialize = function (t) { + r = t; + }), + (n.x = function (e) { + return arguments.length ? ((t = +e), n) : t; + }), + (n.y = function (t) { + return arguments.length ? ((e = +t), n) : e; + }), + n + ); + }), + (t.forceCollide = function (t) { + var r, + n, + i = 1, + c = 1; + function u() { + for (var t, a, u, h, p, d, g, m = r.length, v = 0; v < c; ++v) + for (a = e.quadtree(r, s, l).visitAfter(f), t = 0; t < m; ++t) + ((u = r[t]), + (d = n[u.index]), + (g = d * d), + (h = u.x + u.vx), + (p = u.y + u.vy), + a.visit(y)); + function y(t, e, r, n, a) { + var s = t.data, + l = t.r, + c = d + l; + if (!s) return e > h + c || n < h - c || r > p + c || a < p - c; + if (s.index > u.index) { + var f = h - s.x - s.vx, + m = p - s.y - s.vy, + v = f * f + m * m; + v < c * c && + (0 === f && (v += (f = o()) * f), + 0 === m && (v += (m = o()) * m), + (v = ((c - (v = Math.sqrt(v))) / v) * i), + (u.vx += (f *= v) * (c = (l *= l) / (g + l))), + (u.vy += (m *= v) * c), + (s.vx -= f * (c = 1 - c)), + (s.vy -= m * c)); + } + } + } + function f(t) { + if (t.data) return (t.r = n[t.data.index]); + for (var e = (t.r = 0); e < 4; ++e) + t[e] && t[e].r > t.r && (t.r = t[e].r); + } + function h() { + if (r) { + var e, + i, + a = r.length; + for (n = new Array(a), e = 0; e < a; ++e) + ((i = r[e]), (n[i.index] = +t(i, e, r))); + } + } + return ( + "function" != typeof t && (t = a(null == t ? 1 : +t)), + (u.initialize = function (t) { + ((r = t), h()); + }), + (u.iterations = function (t) { + return arguments.length ? ((c = +t), u) : c; + }), + (u.strength = function (t) { + return arguments.length ? ((i = +t), u) : i; + }), + (u.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : a(+e)), h(), u) + : t; + }), + u + ); + }), + (t.forceLink = function (t) { + var e, + n, + i, + s, + l, + f = c, + h = function (t) { + return 1 / Math.min(s[t.source.index], s[t.target.index]); + }, + p = a(30), + d = 1; + function g(r) { + for (var i = 0, a = t.length; i < d; ++i) + for (var s, c, u, f, h, p, g, m = 0; m < a; ++m) + ((c = (s = t[m]).source), + (f = (u = s.target).x + u.vx - c.x - c.vx || o()), + (h = u.y + u.vy - c.y - c.vy || o()), + (f *= p = + (((p = Math.sqrt(f * f + h * h)) - n[m]) / p) * r * e[m]), + (h *= p), + (u.vx -= f * (g = l[m])), + (u.vy -= h * g), + (c.vx += f * (g = 1 - g)), + (c.vy += h * g)); + } + function m() { + if (i) { + var a, + o, + c = i.length, + h = t.length, + p = r.map(i, f); + for (a = 0, s = new Array(c); a < h; ++a) + (((o = t[a]).index = a), + "object" != typeof o.source && (o.source = u(p, o.source)), + "object" != typeof o.target && (o.target = u(p, o.target)), + (s[o.source.index] = (s[o.source.index] || 0) + 1), + (s[o.target.index] = (s[o.target.index] || 0) + 1)); + for (a = 0, l = new Array(h); a < h; ++a) + ((o = t[a]), + (l[a] = + s[o.source.index] / + (s[o.source.index] + s[o.target.index]))); + ((e = new Array(h)), v(), (n = new Array(h)), y()); + } + } + function v() { + if (i) + for (var r = 0, n = t.length; r < n; ++r) e[r] = +h(t[r], r, t); + } + function y() { + if (i) + for (var e = 0, r = t.length; e < r; ++e) n[e] = +p(t[e], e, t); + } + return ( + null == t && (t = []), + (g.initialize = function (t) { + ((i = t), m()); + }), + (g.links = function (e) { + return arguments.length ? ((t = e), m(), g) : t; + }), + (g.id = function (t) { + return arguments.length ? ((f = t), g) : f; + }), + (g.iterations = function (t) { + return arguments.length ? ((d = +t), g) : d; + }), + (g.strength = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : a(+t)), v(), g) + : h; + }), + (g.distance = function (t) { + return arguments.length + ? ((p = "function" == typeof t ? t : a(+t)), y(), g) + : p; + }), + g + ); + }), + (t.forceManyBody = function () { + var t, + r, + n, + i, + s = a(-30), + l = 1, + c = 1 / 0, + u = 0.81; + function p(i) { + var a, + o = t.length, + s = e.quadtree(t, f, h).visitAfter(g); + for (n = i, a = 0; a < o; ++a) ((r = t[a]), s.visit(m)); + } + function d() { + if (t) { + var e, + r, + n = t.length; + for (i = new Array(n), e = 0; e < n; ++e) + ((r = t[e]), (i[r.index] = +s(r, e, t))); + } + } + function g(t) { + var e, + r, + n, + a, + o, + s = 0, + l = 0; + if (t.length) { + for (n = a = o = 0; o < 4; ++o) + (e = t[o]) && + (r = Math.abs(e.value)) && + ((s += e.value), (l += r), (n += r * e.x), (a += r * e.y)); + ((t.x = n / l), (t.y = a / l)); + } else { + (((e = t).x = e.data.x), (e.y = e.data.y)); + do { + s += i[e.data.index]; + } while ((e = e.next)); + } + t.value = s; + } + function m(t, e, a, s) { + if (!t.value) return !0; + var f = t.x - r.x, + h = t.y - r.y, + p = s - e, + d = f * f + h * h; + if ((p * p) / u < d) + return ( + d < c && + (0 === f && (d += (f = o()) * f), + 0 === h && (d += (h = o()) * h), + d < l && (d = Math.sqrt(l * d)), + (r.vx += (f * t.value * n) / d), + (r.vy += (h * t.value * n) / d)), + !0 + ); + if (!(t.length || d >= c)) { + (t.data !== r || t.next) && + (0 === f && (d += (f = o()) * f), + 0 === h && (d += (h = o()) * h), + d < l && (d = Math.sqrt(l * d))); + do { + t.data !== r && + ((p = (i[t.data.index] * n) / d), + (r.vx += f * p), + (r.vy += h * p)); + } while ((t = t.next)); + } + } + return ( + (p.initialize = function (e) { + ((t = e), d()); + }), + (p.strength = function (t) { + return arguments.length + ? ((s = "function" == typeof t ? t : a(+t)), d(), p) + : s; + }), + (p.distanceMin = function (t) { + return arguments.length ? ((l = t * t), p) : Math.sqrt(l); + }), + (p.distanceMax = function (t) { + return arguments.length ? ((c = t * t), p) : Math.sqrt(c); + }), + (p.theta = function (t) { + return arguments.length ? ((u = t * t), p) : Math.sqrt(u); + }), + p + ); + }), + (t.forceRadial = function (t, e, r) { + var n, + i, + o, + s = a(0.1); + function l(t) { + for (var a = 0, s = n.length; a < s; ++a) { + var l = n[a], + c = l.x - e || 1e-6, + u = l.y - r || 1e-6, + f = Math.sqrt(c * c + u * u), + h = ((o[a] - f) * i[a] * t) / f; + ((l.vx += c * h), (l.vy += u * h)); + } + } + function c() { + if (n) { + var e, + r = n.length; + for (i = new Array(r), o = new Array(r), e = 0; e < r; ++e) + ((o[e] = +t(n[e], e, n)), + (i[e] = isNaN(o[e]) ? 0 : +s(n[e], e, n))); + } + } + return ( + "function" != typeof t && (t = a(+t)), + null == e && (e = 0), + null == r && (r = 0), + (l.initialize = function (t) { + ((n = t), c()); + }), + (l.strength = function (t) { + return arguments.length + ? ((s = "function" == typeof t ? t : a(+t)), c(), l) + : s; + }), + (l.radius = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : a(+e)), c(), l) + : t; + }), + (l.x = function (t) { + return arguments.length ? ((e = +t), l) : e; + }), + (l.y = function (t) { + return arguments.length ? ((r = +t), l) : r; + }), + l + ); + }), + (t.forceSimulation = function (t) { + var e, + a = 1, + o = 0.001, + s = 1 - Math.pow(o, 1 / 300), + l = 0, + c = 0.6, + u = r.map(), + f = i.timer(g), + h = n.dispatch("tick", "end"); + function g() { + (m(), h.call("tick", e), a < o && (f.stop(), h.call("end", e))); + } + function m() { + var e, + r, + n = t.length; + for ( + a += (l - a) * s, + u.each(function (t) { + t(a); + }), + e = 0; + e < n; + ++e + ) + (null == (r = t[e]).fx + ? (r.x += r.vx *= c) + : ((r.x = r.fx), (r.vx = 0)), + null == r.fy ? (r.y += r.vy *= c) : ((r.y = r.fy), (r.vy = 0))); + } + function v() { + for (var e, r = 0, n = t.length; r < n; ++r) { + if ((((e = t[r]).index = r), isNaN(e.x) || isNaN(e.y))) { + var i = p * Math.sqrt(r), + a = r * d; + ((e.x = i * Math.cos(a)), (e.y = i * Math.sin(a))); + } + (isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0); + } + } + function y(e) { + return (e.initialize && e.initialize(t), e); + } + return ( + null == t && (t = []), + v(), + (e = { + tick: m, + restart: function () { + return (f.restart(g), e); + }, + stop: function () { + return (f.stop(), e); + }, + nodes: function (r) { + return arguments.length ? ((t = r), v(), u.each(y), e) : t; + }, + alpha: function (t) { + return arguments.length ? ((a = +t), e) : a; + }, + alphaMin: function (t) { + return arguments.length ? ((o = +t), e) : o; + }, + alphaDecay: function (t) { + return arguments.length ? ((s = +t), e) : +s; + }, + alphaTarget: function (t) { + return arguments.length ? ((l = +t), e) : l; + }, + velocityDecay: function (t) { + return arguments.length ? ((c = 1 - t), e) : 1 - c; + }, + force: function (t, r) { + return arguments.length > 1 + ? (null == r ? u.remove(t) : u.set(t, y(r)), e) + : u.get(t); + }, + find: function (e, r, n) { + var i, + a, + o, + s, + l, + c = 0, + u = t.length; + for (null == n ? (n = 1 / 0) : (n *= n), c = 0; c < u; ++c) + (o = (i = e - (s = t[c]).x) * i + (a = r - s.y) * a) < n && + ((l = s), (n = o)); + return l; + }, + on: function (t, r) { + return arguments.length > 1 ? (h.on(t, r), e) : h.on(t); + }, + }) + ); + }), + (t.forceX = function (t) { + var e, + r, + n, + i = a(0.1); + function o(t) { + for (var i, a = 0, o = e.length; a < o; ++a) + (i = e[a]).vx += (n[a] - i.x) * r[a] * t; + } + function s() { + if (e) { + var a, + o = e.length; + for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) + r[a] = isNaN((n[a] = +t(e[a], a, e))) ? 0 : +i(e[a], a, e); + } + } + return ( + "function" != typeof t && (t = a(null == t ? 0 : +t)), + (o.initialize = function (t) { + ((e = t), s()); + }), + (o.strength = function (t) { + return arguments.length + ? ((i = "function" == typeof t ? t : a(+t)), s(), o) + : i; + }), + (o.x = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : a(+e)), s(), o) + : t; + }), + o + ); + }), + (t.forceY = function (t) { + var e, + r, + n, + i = a(0.1); + function o(t) { + for (var i, a = 0, o = e.length; a < o; ++a) + (i = e[a]).vy += (n[a] - i.y) * r[a] * t; + } + function s() { + if (e) { + var a, + o = e.length; + for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) + r[a] = isNaN((n[a] = +t(e[a], a, e))) ? 0 : +i(e[a], a, e); + } + } + return ( + "function" != typeof t && (t = a(null == t ? 0 : +t)), + (o.initialize = function (t) { + ((e = t), s()); + }), + (o.strength = function (t) { + return arguments.length + ? ((i = "function" == typeof t ? t : a(+t)), s(), o) + : i; + }), + (o.y = function (e) { + return arguments.length + ? ((t = "function" == typeof e ? e : a(+e)), s(), o) + : t; + }), + o + ); + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + }), + "object" == typeof r && void 0 !== e + ? i( + r, + t("d3-quadtree"), + t("d3-collection"), + t("d3-dispatch"), + t("d3-timer"), + ) + : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3, n.d3)); + }, + { + "d3-collection": 123, + "d3-dispatch": 125, + "d3-quadtree": 128, + "d3-timer": 129, + }, + ], + 127: [ + function (t, e, r) { + var n, i; + ((n = this), + (i = function (t, e) { + "use strict"; + function r(t, e, r, n, i) { + var a = t * t, + o = a * t; + return ( + ((1 - 3 * t + 3 * a - o) * e + + (4 - 6 * a + 3 * o) * r + + (1 + 3 * t + 3 * a - 3 * o) * n + + o * i) / + 6 + ); + } + var n = function (t) { + var e = t.length - 1; + return function (n) { + var i = + n <= 0 + ? (n = 0) + : n >= 1 + ? ((n = 1), e - 1) + : Math.floor(n * e), + a = t[i], + o = t[i + 1], + s = i > 0 ? t[i - 1] : 2 * a - o, + l = i < e - 1 ? t[i + 2] : 2 * o - a; + return r((n - i / e) * e, s, a, o, l); + }; + }, + i = function (t) { + var e = t.length; + return function (n) { + var i = Math.floor(((n %= 1) < 0 ? ++n : n) * e), + a = t[(i + e - 1) % e], + o = t[i % e], + s = t[(i + 1) % e], + l = t[(i + 2) % e]; + return r((n - i / e) * e, a, o, s, l); + }; + }, + a = function (t) { + return function () { + return t; + }; + }; + function o(t, e) { + return function (r) { + return t + r * e; + }; + } + function s(t, e) { + var r = e - t; + return r + ? o(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) + : a(isNaN(t) ? e : t); + } + function l(t) { + return 1 == (t = +t) + ? c + : function (e, r) { + return r - e + ? (function (t, e, r) { + return ( + (t = Math.pow(t, r)), + (e = Math.pow(e, r) - t), + (r = 1 / r), + function (n) { + return Math.pow(t + n * e, r); + } + ); + })(e, r, t) + : a(isNaN(e) ? r : e); + }; + } + function c(t, e) { + var r = e - t; + return r ? o(t, r) : a(isNaN(t) ? e : t); + } + var u = (function t(r) { + var n = l(r); + function i(t, r) { + var i = n((t = e.rgb(t)).r, (r = e.rgb(r)).r), + a = n(t.g, r.g), + o = n(t.b, r.b), + s = c(t.opacity, r.opacity); + return function (e) { + return ( + (t.r = i(e)), + (t.g = a(e)), + (t.b = o(e)), + (t.opacity = s(e)), + t + "" + ); + }; + } + return ((i.gamma = t), i); + })(1); + function f(t) { + return function (r) { + var n, + i, + a = r.length, + o = new Array(a), + s = new Array(a), + l = new Array(a); + for (n = 0; n < a; ++n) + ((i = e.rgb(r[n])), + (o[n] = i.r || 0), + (s[n] = i.g || 0), + (l[n] = i.b || 0)); + return ( + (o = t(o)), + (s = t(s)), + (l = t(l)), + (i.opacity = 1), + function (t) { + return ((i.r = o(t)), (i.g = s(t)), (i.b = l(t)), i + ""); + } + ); + }; + } + var h = f(n), + p = f(i), + d = function (t, e) { + var r, + n = e ? e.length : 0, + i = t ? Math.min(n, t.length) : 0, + a = new Array(i), + o = new Array(n); + for (r = 0; r < i; ++r) a[r] = A(t[r], e[r]); + for (; r < n; ++r) o[r] = e[r]; + return function (t) { + for (r = 0; r < i; ++r) o[r] = a[r](t); + return o; + }; + }, + g = function (t, e) { + var r = new Date(); + return ( + (e -= t = +t), + function (n) { + return (r.setTime(t + e * n), r); + } + ); + }, + m = function (t, e) { + return ( + (e -= t = +t), + function (r) { + return t + e * r; + } + ); + }, + v = function (t, e) { + var r, + n = {}, + i = {}; + for (r in ((null !== t && "object" == typeof t) || (t = {}), + (null !== e && "object" == typeof e) || (e = {}), + e)) + r in t ? (n[r] = A(t[r], e[r])) : (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + }, + y = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + x = new RegExp(y.source, "g"); + var b, + _, + w, + k, + M = function (t, e) { + var r, + n, + i, + a = (y.lastIndex = x.lastIndex = 0), + o = -1, + s = [], + l = []; + for (t += "", e += ""; (r = y.exec(t)) && (n = x.exec(e)); ) + ((i = n.index) > a && + ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), + (r = r[0]) === (n = n[0]) + ? s[o] + ? (s[o] += n) + : (s[++o] = n) + : ((s[++o] = null), l.push({ i: o, x: m(r, n) })), + (a = x.lastIndex)); + return ( + a < e.length && + ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), + s.length < 2 + ? l[0] + ? (function (t) { + return function (e) { + return t(e) + ""; + }; + })(l[0].x) + : (function (t) { + return function () { + return t; + }; + })(e) + : ((e = l.length), + function (t) { + for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); + return s.join(""); + }) + ); + }, + A = function (t, r) { + var n, + i = typeof r; + return null == r || "boolean" === i + ? a(r) + : ("number" === i + ? m + : "string" === i + ? (n = e.color(r)) + ? ((r = n), u) + : M + : r instanceof e.color + ? u + : r instanceof Date + ? g + : Array.isArray(r) + ? d + : ("function" != typeof r.valueOf && + "function" != typeof r.toString) || + isNaN(r) + ? v + : m)(t, r); + }, + T = 180 / Math.PI, + S = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1, + }, + C = function (t, e, r, n, i, a) { + var o, s, l; + return ( + (o = Math.sqrt(t * t + e * e)) && ((t /= o), (e /= o)), + (l = t * r + e * n) && ((r -= t * l), (n -= e * l)), + (s = Math.sqrt(r * r + n * n)) && ((r /= s), (n /= s), (l /= s)), + t * n < e * r && ((t = -t), (e = -e), (l = -l), (o = -o)), + { + translateX: i, + translateY: a, + rotate: Math.atan2(e, t) * T, + skewX: Math.atan(l) * T, + scaleX: o, + scaleY: s, + } + ); + }; + function E(t, e, r, n) { + function i(t) { + return t.length ? t.pop() + " " : ""; + } + return function (a, o) { + var s = [], + l = []; + return ( + (a = t(a)), + (o = t(o)), + (function (t, n, i, a, o, s) { + if (t !== i || n !== a) { + var l = o.push("translate(", null, e, null, r); + s.push({ i: l - 4, x: m(t, i) }, { i: l - 2, x: m(n, a) }); + } else (i || a) && o.push("translate(" + i + e + a + r); + })(a.translateX, a.translateY, o.translateX, o.translateY, s, l), + (function (t, e, r, a) { + t !== e + ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), + a.push({ + i: r.push(i(r) + "rotate(", null, n) - 2, + x: m(t, e), + })) + : e && r.push(i(r) + "rotate(" + e + n); + })(a.rotate, o.rotate, s, l), + (function (t, e, r, a) { + t !== e + ? a.push({ + i: r.push(i(r) + "skewX(", null, n) - 2, + x: m(t, e), + }) + : e && r.push(i(r) + "skewX(" + e + n); + })(a.skewX, o.skewX, s, l), + (function (t, e, r, n, a, o) { + if (t !== r || e !== n) { + var s = a.push(i(a) + "scale(", null, ",", null, ")"); + o.push({ i: s - 4, x: m(t, r) }, { i: s - 2, x: m(e, n) }); + } else + (1 === r && 1 === n) || + a.push(i(a) + "scale(" + r + "," + n + ")"); + })(a.scaleX, a.scaleY, o.scaleX, o.scaleY, s, l), + (a = o = null), + function (t) { + for (var e, r = -1, n = l.length; ++r < n; ) + s[(e = l[r]).i] = e.x(t); + return s.join(""); + } + ); + }; + } + var L = E( + function (t) { + return "none" === t + ? S + : (b || + ((b = document.createElement("DIV")), + (_ = document.documentElement), + (w = document.defaultView)), + (b.style.transform = t), + (t = w + .getComputedStyle(_.appendChild(b), null) + .getPropertyValue("transform")), + _.removeChild(b), + (t = t.slice(7, -1).split(",")), + C(+t[0], +t[1], +t[2], +t[3], +t[4], +t[5])); + }, + "px, ", + "px)", + "deg)", + ), + z = E( + function (t) { + return null == t + ? S + : (k || + (k = document.createElementNS( + "http://www.w3.org/2000/svg", + "g", + )), + k.setAttribute("transform", t), + (t = k.transform.baseVal.consolidate()) + ? ((t = t.matrix), C(t.a, t.b, t.c, t.d, t.e, t.f)) + : S); + }, + ", ", + ")", + ")", + ), + P = Math.SQRT2; + function D(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + function O(t) { + return function (r, n) { + var i = t((r = e.hsl(r)).h, (n = e.hsl(n)).h), + a = c(r.s, n.s), + o = c(r.l, n.l), + s = c(r.opacity, n.opacity); + return function (t) { + return ( + (r.h = i(t)), + (r.s = a(t)), + (r.l = o(t)), + (r.opacity = s(t)), + r + "" + ); + }; + }; + } + var I = O(s), + R = O(c); + function B(t) { + return function (r, n) { + var i = t((r = e.hcl(r)).h, (n = e.hcl(n)).h), + a = c(r.c, n.c), + o = c(r.l, n.l), + s = c(r.opacity, n.opacity); + return function (t) { + return ( + (r.h = i(t)), + (r.c = a(t)), + (r.l = o(t)), + (r.opacity = s(t)), + r + "" + ); + }; + }; + } + var F = B(s), + N = B(c); + function j(t) { + return (function r(n) { + function i(r, i) { + var a = t((r = e.cubehelix(r)).h, (i = e.cubehelix(i)).h), + o = c(r.s, i.s), + s = c(r.l, i.l), + l = c(r.opacity, i.opacity); + return function (t) { + return ( + (r.h = a(t)), + (r.s = o(t)), + (r.l = s(Math.pow(t, n))), + (r.opacity = l(t)), + r + "" + ); + }; + } + return ((n = +n), (i.gamma = r), i); + })(1); + } + var V = j(s), + U = j(c); + ((t.interpolate = A), + (t.interpolateArray = d), + (t.interpolateBasis = n), + (t.interpolateBasisClosed = i), + (t.interpolateDate = g), + (t.interpolateNumber = m), + (t.interpolateObject = v), + (t.interpolateRound = function (t, e) { + return ( + (e -= t = +t), + function (r) { + return Math.round(t + e * r); + } + ); + }), + (t.interpolateString = M), + (t.interpolateTransformCss = L), + (t.interpolateTransformSvg = z), + (t.interpolateZoom = function (t, e) { + var r, + n, + i = t[0], + a = t[1], + o = t[2], + s = e[0], + l = e[1], + c = e[2], + u = s - i, + f = l - a, + h = u * u + f * f; + if (h < 1e-12) + ((n = Math.log(c / o) / P), + (r = function (t) { + return [i + t * u, a + t * f, o * Math.exp(P * t * n)]; + })); + else { + var p = Math.sqrt(h), + d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), + g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), + m = Math.log(Math.sqrt(d * d + 1) - d), + v = Math.log(Math.sqrt(g * g + 1) - g); + ((n = (v - m) / P), + (r = function (t) { + var e, + r = t * n, + s = D(m), + l = + (o / (2 * p)) * + (s * + ((e = P * r + m), ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(m)); + return [i + l * u, a + l * f, (o * s) / D(P * r + m)]; + })); + } + return ((r.duration = 1e3 * n), r); + }), + (t.interpolateRgb = u), + (t.interpolateRgbBasis = h), + (t.interpolateRgbBasisClosed = p), + (t.interpolateHsl = I), + (t.interpolateHslLong = R), + (t.interpolateLab = function (t, r) { + var n = c((t = e.lab(t)).l, (r = e.lab(r)).l), + i = c(t.a, r.a), + a = c(t.b, r.b), + o = c(t.opacity, r.opacity); + return function (e) { + return ( + (t.l = n(e)), + (t.a = i(e)), + (t.b = a(e)), + (t.opacity = o(e)), + t + "" + ); + }; + }), + (t.interpolateHcl = F), + (t.interpolateHclLong = N), + (t.interpolateCubehelix = V), + (t.interpolateCubehelixLong = U), + (t.quantize = function (t, e) { + for (var r = new Array(e), n = 0; n < e; ++n) r[n] = t(n / (e - 1)); + return r; + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + }), + "object" == typeof r && void 0 !== e + ? i(r, t("d3-color")) + : i((n.d3 = n.d3 || {}), n.d3)); + }, + { "d3-color": 124 }, + ], + 128: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + function e(t, e, r, n) { + if (isNaN(e) || isNaN(r)) return t; + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p = t._root, + d = { data: n }, + g = t._x0, + m = t._y0, + v = t._x1, + y = t._y1; + if (!p) return ((t._root = d), t); + for (; p.length; ) + if ( + ((c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), + (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o), + (i = p), + !(p = p[(f = (u << 1) | c)])) + ) + return ((i[f] = d), t); + if ( + ((s = +t._x.call(null, p.data)), + (l = +t._y.call(null, p.data)), + e === s && r === l) + ) + return ((d.next = p), i ? (i[f] = d) : (t._root = d), t); + do { + ((i = i ? (i[f] = new Array(4)) : (t._root = new Array(4))), + (c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), + (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o)); + } while ((f = (u << 1) | c) == (h = ((l >= o) << 1) | (s >= a))); + return ((i[h] = p), (i[f] = d), t); + } + var r = function (t, e, r, n, i) { + ((this.node = t), + (this.x0 = e), + (this.y0 = r), + (this.x1 = n), + (this.y1 = i)); + }; + function n(t) { + return t[0]; + } + function i(t) { + return t[1]; + } + function a(t, e, r) { + var a = new o(null == e ? n : e, null == r ? i : r, NaN, NaN, NaN, NaN); + return null == t ? a : a.addAll(t); + } + function o(t, e, r, n, i, a) { + ((this._x = t), + (this._y = e), + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + (this._root = void 0)); + } + function s(t) { + for (var e = { data: t.data }, r = e; (t = t.next); ) + r = r.next = { data: t.data }; + return e; + } + var l = (a.prototype = o.prototype); + ((l.copy = function () { + var t, + e, + r = new o(this._x, this._y, this._x0, this._y0, this._x1, this._y1), + n = this._root; + if (!n) return r; + if (!n.length) return ((r._root = s(n)), r); + for ( + t = [{ source: n, target: (r._root = new Array(4)) }]; + (n = t.pop()); + + ) + for (var i = 0; i < 4; ++i) + (e = n.source[i]) && + (e.length + ? t.push({ source: e, target: (n.target[i] = new Array(4)) }) + : (n.target[i] = s(e))); + return r; + }), + (l.add = function (t) { + var r = +this._x.call(null, t), + n = +this._y.call(null, t); + return e(this.cover(r, n), r, n, t); + }), + (l.addAll = function (t) { + var r, + n, + i, + a, + o = t.length, + s = new Array(o), + l = new Array(o), + c = 1 / 0, + u = 1 / 0, + f = -1 / 0, + h = -1 / 0; + for (n = 0; n < o; ++n) + isNaN((i = +this._x.call(null, (r = t[n])))) || + isNaN((a = +this._y.call(null, r))) || + ((s[n] = i), + (l[n] = a), + i < c && (c = i), + i > f && (f = i), + a < u && (u = a), + a > h && (h = a)); + for ( + f < c && ((c = this._x0), (f = this._x1)), + h < u && ((u = this._y0), (h = this._y1)), + this.cover(c, u).cover(f, h), + n = 0; + n < o; + ++n + ) + e(this, s[n], l[n], t[n]); + return this; + }), + (l.cover = function (t, e) { + if (isNaN((t = +t)) || isNaN((e = +e))) return this; + var r = this._x0, + n = this._y0, + i = this._x1, + a = this._y1; + if (isNaN(r)) + ((i = (r = Math.floor(t)) + 1), (a = (n = Math.floor(e)) + 1)); + else { + if (!(r > t || t > i || n > e || e > a)) return this; + var o, + s, + l = i - r, + c = this._root; + switch ((s = ((e < (n + a) / 2) << 1) | (t < (r + i) / 2))) { + case 0: + do { + (((o = new Array(4))[s] = c), (c = o)); + } while (((a = n + (l *= 2)), t > (i = r + l) || e > a)); + break; + case 1: + do { + (((o = new Array(4))[s] = c), (c = o)); + } while (((a = n + (l *= 2)), (r = i - l) > t || e > a)); + break; + case 2: + do { + (((o = new Array(4))[s] = c), (c = o)); + } while (((n = a - (l *= 2)), t > (i = r + l) || n > e)); + break; + case 3: + do { + (((o = new Array(4))[s] = c), (c = o)); + } while (((n = a - (l *= 2)), (r = i - l) > t || n > e)); + } + this._root && this._root.length && (this._root = c); + } + return ( + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + this + ); + }), + (l.data = function () { + var t = []; + return ( + this.visit(function (e) { + if (!e.length) + do { + t.push(e.data); + } while ((e = e.next)); + }), + t + ); + }), + (l.extent = function (t) { + return arguments.length + ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) + : isNaN(this._x0) + ? void 0 + : [ + [this._x0, this._y0], + [this._x1, this._y1], + ]; + }), + (l.find = function (t, e, n) { + var i, + a, + o, + s, + l, + c, + u, + f = this._x0, + h = this._y0, + p = this._x1, + d = this._y1, + g = [], + m = this._root; + for ( + m && g.push(new r(m, f, h, p, d)), + null == n + ? (n = 1 / 0) + : ((f = t - n), + (h = e - n), + (p = t + n), + (d = e + n), + (n *= n)); + (c = g.pop()); + + ) + if ( + !( + !(m = c.node) || + (a = c.x0) > p || + (o = c.y0) > d || + (s = c.x1) < f || + (l = c.y1) < h + ) + ) + if (m.length) { + var v = (a + s) / 2, + y = (o + l) / 2; + (g.push( + new r(m[3], v, y, s, l), + new r(m[2], a, y, v, l), + new r(m[1], v, o, s, y), + new r(m[0], a, o, v, y), + ), + (u = ((e >= y) << 1) | (t >= v)) && + ((c = g[g.length - 1]), + (g[g.length - 1] = g[g.length - 1 - u]), + (g[g.length - 1 - u] = c))); + } else { + var x = t - +this._x.call(null, m.data), + b = e - +this._y.call(null, m.data), + _ = x * x + b * b; + if (_ < n) { + var w = Math.sqrt((n = _)); + ((f = t - w), + (h = e - w), + (p = t + w), + (d = e + w), + (i = m.data)); + } + } + return i; + }), + (l.remove = function (t) { + if ( + isNaN((a = +this._x.call(null, t))) || + isNaN((o = +this._y.call(null, t))) + ) + return this; + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p = this._root, + d = this._x0, + g = this._y0, + m = this._x1, + v = this._y1; + if (!p) return this; + if (p.length) + for (;;) { + if ( + ((c = a >= (s = (d + m) / 2)) ? (d = s) : (m = s), + (u = o >= (l = (g + v) / 2)) ? (g = l) : (v = l), + (e = p), + !(p = p[(f = (u << 1) | c)])) + ) + return this; + if (!p.length) break; + (e[(f + 1) & 3] || e[(f + 2) & 3] || e[(f + 3) & 3]) && + ((r = e), (h = f)); + } + for (; p.data !== t; ) if (((n = p), !(p = p.next))) return this; + return ( + (i = p.next) && delete p.next, + n + ? (i ? (n.next = i) : delete n.next, this) + : e + ? (i ? (e[f] = i) : delete e[f], + (p = e[0] || e[1] || e[2] || e[3]) && + p === (e[3] || e[2] || e[1] || e[0]) && + !p.length && + (r ? (r[h] = p) : (this._root = p)), + this) + : ((this._root = i), this) + ); + }), + (l.removeAll = function (t) { + for (var e = 0, r = t.length; e < r; ++e) this.remove(t[e]); + return this; + }), + (l.root = function () { + return this._root; + }), + (l.size = function () { + var t = 0; + return ( + this.visit(function (e) { + if (!e.length) + do { + ++t; + } while ((e = e.next)); + }), + t + ); + }), + (l.visit = function (t) { + var e, + n, + i, + a, + o, + s, + l = [], + c = this._root; + for ( + c && l.push(new r(c, this._x0, this._y0, this._x1, this._y1)); + (e = l.pop()); + + ) + if ( + !t( + (c = e.node), + (i = e.x0), + (a = e.y0), + (o = e.x1), + (s = e.y1), + ) && + c.length + ) { + var u = (i + o) / 2, + f = (a + s) / 2; + ((n = c[3]) && l.push(new r(n, u, f, o, s)), + (n = c[2]) && l.push(new r(n, i, f, u, s)), + (n = c[1]) && l.push(new r(n, u, a, o, f)), + (n = c[0]) && l.push(new r(n, i, a, u, f))); + } + return this; + }), + (l.visitAfter = function (t) { + var e, + n = [], + i = []; + for ( + this._root && + n.push(new r(this._root, this._x0, this._y0, this._x1, this._y1)); + (e = n.pop()); + + ) { + var a = e.node; + if (a.length) { + var o, + s = e.x0, + l = e.y0, + c = e.x1, + u = e.y1, + f = (s + c) / 2, + h = (l + u) / 2; + ((o = a[0]) && n.push(new r(o, s, l, f, h)), + (o = a[1]) && n.push(new r(o, f, l, c, h)), + (o = a[2]) && n.push(new r(o, s, h, f, u)), + (o = a[3]) && n.push(new r(o, f, h, c, u))); + } + i.push(e); + } + for (; (e = i.pop()); ) t(e.node, e.x0, e.y0, e.x1, e.y1); + return this; + }), + (l.x = function (t) { + return arguments.length ? ((this._x = t), this) : this._x; + }), + (l.y = function (t) { + return arguments.length ? ((this._y = t), this) : this._y; + }), + (t.quadtree = a), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 129: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + var e, + r, + n = 0, + i = 0, + a = 0, + o = 1e3, + s = 0, + l = 0, + c = 0, + u = + "object" == typeof performance && performance.now + ? performance + : Date, + f = + "object" == typeof window && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }; + function h() { + return l || (f(p), (l = u.now() + c)); + } + function p() { + l = 0; + } + function d() { + this._call = this._time = this._next = null; + } + function g(t, e, r) { + var n = new d(); + return (n.restart(t, e, r), n); + } + function m() { + (h(), ++n); + for (var t, r = e; r; ) + ((t = l - r._time) >= 0 && r._call.call(null, t), (r = r._next)); + --n; + } + function v() { + ((l = (s = u.now()) + c), (n = i = 0)); + try { + m(); + } finally { + ((n = 0), + (function () { + var t, + n, + i = e, + a = 1 / 0; + for (; i; ) + i._call + ? (a > i._time && (a = i._time), (t = i), (i = i._next)) + : ((n = i._next), + (i._next = null), + (i = t ? (t._next = n) : (e = n))); + ((r = t), x(a)); + })(), + (l = 0)); + } + } + function y() { + var t = u.now(), + e = t - s; + e > o && ((c -= e), (s = t)); + } + function x(t) { + n || + (i && (i = clearTimeout(i)), + t - l > 24 + ? (t < 1 / 0 && (i = setTimeout(v, t - u.now() - c)), + a && (a = clearInterval(a))) + : (a || ((s = u.now()), (a = setInterval(y, o))), (n = 1), f(v))); + } + d.prototype = g.prototype = { + constructor: d, + restart: function (t, n, i) { + if ("function" != typeof t) + throw new TypeError("callback is not a function"); + ((i = (null == i ? h() : +i) + (null == n ? 0 : +n)), + this._next || + r === this || + (r ? (r._next = this) : (e = this), (r = this)), + (this._call = t), + (this._time = i), + x()); + }, + stop: function () { + this._call && ((this._call = null), (this._time = 1 / 0), x()); + }, + }; + ((t.now = h), + (t.timer = g), + (t.timerFlush = m), + (t.timeout = function (t, e, r) { + var n = new d(); + return ( + (e = null == e ? 0 : +e), + n.restart( + function (r) { + (n.stop(), t(r + e)); + }, + e, + r, + ), + n + ); + }), + (t.interval = function (t, e, r) { + var n = new d(), + i = e; + return null == e + ? (n.restart(t, e, r), n) + : ((e = +e), + (r = null == r ? h() : +r), + n.restart( + function a(o) { + ((o += i), n.restart(a, (i += e), r), t(o)); + }, + e, + r, + ), + n); + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); + }, + {}, + ], + 130: [ + function (t, e, r) { + !(function () { + var t = { version: "3.5.17" }, + r = [].slice, + n = function (t) { + return r.call(t); + }, + i = this.document; + function a(t) { + return t && (t.ownerDocument || t.document || t).documentElement; + } + function o(t) { + return ( + t && + ((t.ownerDocument && t.ownerDocument.defaultView) || + (t.document && t) || + t.defaultView) + ); + } + if (i) + try { + n(i.documentElement.childNodes)[0].nodeType; + } catch (t) { + n = function (t) { + for (var e = t.length, r = new Array(e); e--; ) r[e] = t[e]; + return r; + }; + } + if ( + (Date.now || + (Date.now = function () { + return +new Date(); + }), + i) + ) + try { + i.createElement("DIV").style.setProperty("opacity", 0, ""); + } catch (t) { + var s = this.Element.prototype, + l = s.setAttribute, + c = s.setAttributeNS, + u = this.CSSStyleDeclaration.prototype, + f = u.setProperty; + ((s.setAttribute = function (t, e) { + l.call(this, t, e + ""); + }), + (s.setAttributeNS = function (t, e, r) { + c.call(this, t, e, r + ""); + }), + (u.setProperty = function (t, e, r) { + f.call(this, t, e + "", r); + })); + } + function h(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function p(t) { + return null === t ? NaN : +t; + } + function d(t) { + return !isNaN(t); + } + function g(t) { + return { + left: function (e, r, n, i) { + for ( + arguments.length < 3 && (n = 0), + arguments.length < 4 && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) < 0 ? (n = a + 1) : (i = a); + } + return n; + }, + right: function (e, r, n, i) { + for ( + arguments.length < 3 && (n = 0), + arguments.length < 4 && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) > 0 ? (i = a) : (n = a + 1); + } + return n; + }, + }; + } + ((t.ascending = h), + (t.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (t.min = function (t, e) { + var r, + n, + i = -1, + a = t.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (n = t[i]) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) null != (n = t[i]) && r > n && (r = n); + } else { + for (; ++i < a; ) + if (null != (n = e.call(t, t[i], i)) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) + null != (n = e.call(t, t[i], i)) && r > n && (r = n); + } + return r; + }), + (t.max = function (t, e) { + var r, + n, + i = -1, + a = t.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (n = t[i]) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) null != (n = t[i]) && n > r && (r = n); + } else { + for (; ++i < a; ) + if (null != (n = e.call(t, t[i], i)) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) + null != (n = e.call(t, t[i], i)) && n > r && (r = n); + } + return r; + }), + (t.extent = function (t, e) { + var r, + n, + i, + a = -1, + o = t.length; + if (1 === arguments.length) { + for (; ++a < o; ) + if (null != (n = t[a]) && n >= n) { + r = i = n; + break; + } + for (; ++a < o; ) + null != (n = t[a]) && (r > n && (r = n), i < n && (i = n)); + } else { + for (; ++a < o; ) + if (null != (n = e.call(t, t[a], a)) && n >= n) { + r = i = n; + break; + } + for (; ++a < o; ) + null != (n = e.call(t, t[a], a)) && + (r > n && (r = n), i < n && (i = n)); + } + return [r, i]; + }), + (t.sum = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1; + if (1 === arguments.length) + for (; ++a < i; ) d((r = +t[a])) && (n += r); + else for (; ++a < i; ) d((r = +e.call(t, t[a], a))) && (n += r); + return n; + }), + (t.mean = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1, + o = i; + if (1 === arguments.length) + for (; ++a < i; ) d((r = p(t[a]))) ? (n += r) : --o; + else for (; ++a < i; ) d((r = p(e.call(t, t[a], a)))) ? (n += r) : --o; + if (o) return n / o; + }), + (t.quantile = function (t, e) { + var r = (t.length - 1) * e + 1, + n = Math.floor(r), + i = +t[n - 1], + a = r - n; + return a ? i + a * (t[n] - i) : i; + }), + (t.median = function (e, r) { + var n, + i = [], + a = e.length, + o = -1; + if (1 === arguments.length) + for (; ++o < a; ) d((n = p(e[o]))) && i.push(n); + else for (; ++o < a; ) d((n = p(r.call(e, e[o], o)))) && i.push(n); + if (i.length) return t.quantile(i.sort(h), 0.5); + }), + (t.variance = function (t, e) { + var r, + n, + i = t.length, + a = 0, + o = 0, + s = -1, + l = 0; + if (1 === arguments.length) + for (; ++s < i; ) + d((r = p(t[s]))) && (o += (n = r - a) * (r - (a += n / ++l))); + else + for (; ++s < i; ) + d((r = p(e.call(t, t[s], s)))) && + (o += (n = r - a) * (r - (a += n / ++l))); + if (l > 1) return o / (l - 1); + }), + (t.deviation = function () { + var e = t.variance.apply(this, arguments); + return e ? Math.sqrt(e) : e; + })); + var m = g(h); + function v(t) { + return t.length; + } + ((t.bisectLeft = m.left), + (t.bisect = t.bisectRight = m.right), + (t.bisector = function (t) { + return g( + 1 === t.length + ? function (e, r) { + return h(t(e), r); + } + : t, + ); + }), + (t.shuffle = function (t, e, r) { + (a = arguments.length) < 3 && ((r = t.length), a < 2 && (e = 0)); + for (var n, i, a = r - e; a; ) + ((i = (Math.random() * a--) | 0), + (n = t[a + e]), + (t[a + e] = t[i + e]), + (t[i + e] = n)); + return t; + }), + (t.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; + return n; + }), + (t.pairs = function (t) { + for ( + var e = 0, r = t.length - 1, n = t[0], i = new Array(r < 0 ? 0 : r); + e < r; + + ) + i[e] = [n, (n = t[++e])]; + return i; + }), + (t.transpose = function (e) { + if (!(a = e.length)) return []; + for (var r = -1, n = t.min(e, v), i = new Array(n); ++r < n; ) + for (var a, o = -1, s = (i[r] = new Array(a)); ++o < a; ) + s[o] = e[o][r]; + return i; + }), + (t.zip = function () { + return t.transpose(arguments); + }), + (t.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + (t.merge = function (t) { + for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) + o += t[a].length; + for (r = new Array(o); --i >= 0; ) + for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; + return r; + })); + var y = Math.abs; + function x(t, e) { + for (var r in e) + Object.defineProperty(t.prototype, r, { value: e[r], enumerable: !1 }); + } + function b() { + this._ = Object.create(null); + } + ((t.range = function (t, e, r) { + if ( + (arguments.length < 3 && + ((r = 1), arguments.length < 2 && ((e = t), (t = 0))), + (e - t) / r == 1 / 0) + ) + throw new Error("infinite range"); + var n, + i = [], + a = (function (t) { + var e = 1; + for (; (t * e) % 1; ) e *= 10; + return e; + })(y(r)), + o = -1; + if (((t *= a), (e *= a), (r *= a) < 0)) + for (; (n = t + r * ++o) > e; ) i.push(n / a); + else for (; (n = t + r * ++o) < e; ) i.push(n / a); + return i; + }), + (t.map = function (t, e) { + var r = new b(); + if (t instanceof b) + t.forEach(function (t, e) { + r.set(t, e); + }); + else if (Array.isArray(t)) { + var n, + i = -1, + a = t.length; + if (1 === arguments.length) for (; ++i < a; ) r.set(i, t[i]); + else for (; ++i < a; ) r.set(e.call(t, (n = t[i]), i), n); + } else for (var o in t) r.set(o, t[o]); + return r; + })); + var _ = "__proto__", + w = "\0"; + function k(t) { + return (t += "") === _ || t[0] === w ? w + t : t; + } + function M(t) { + return (t += "")[0] === w ? t.slice(1) : t; + } + function A(t) { + return k(t) in this._; + } + function T(t) { + return (t = k(t)) in this._ && delete this._[t]; + } + function S() { + var t = []; + for (var e in this._) t.push(M(e)); + return t; + } + function C() { + var t = 0; + for (var e in this._) ++t; + return t; + } + function E() { + for (var t in this._) return !1; + return !0; + } + function L() { + this._ = Object.create(null); + } + function z(t) { + return t; + } + function P(t, e, r) { + return function () { + var n = r.apply(e, arguments); + return n === e ? t : n; + }; + } + function D(t, e) { + if (e in t) return e; + e = e.charAt(0).toUpperCase() + e.slice(1); + for (var r = 0, n = O.length; r < n; ++r) { + var i = O[r] + e; + if (i in t) return i; + } + } + (x(b, { + has: A, + get: function (t) { + return this._[k(t)]; + }, + set: function (t, e) { + return (this._[k(t)] = e); + }, + remove: T, + keys: S, + values: function () { + var t = []; + for (var e in this._) t.push(this._[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this._) t.push({ key: M(e), value: this._[e] }); + return t; + }, + size: C, + empty: E, + forEach: function (t) { + for (var e in this._) t.call(this, M(e), this._[e]); + }, + }), + (t.nest = function () { + var e, + r, + n = {}, + i = [], + a = []; + function o(t, a, s) { + if (s >= i.length) return r ? r.call(n, a) : e ? a.sort(e) : a; + for ( + var l, c, u, f, h = -1, p = a.length, d = i[s++], g = new b(); + ++h < p; + + ) + (f = g.get((l = d((c = a[h]))))) ? f.push(c) : g.set(l, [c]); + return ( + t + ? ((c = t()), + (u = function (e, r) { + c.set(e, o(t, r, s)); + })) + : ((c = {}), + (u = function (e, r) { + c[e] = o(t, r, s); + })), + g.forEach(u), + c + ); + } + return ( + (n.map = function (t, e) { + return o(e, t, 0); + }), + (n.entries = function (e) { + return (function t(e, r) { + if (r >= i.length) return e; + var n = [], + o = a[r++]; + return ( + e.forEach(function (e, i) { + n.push({ key: e, values: t(i, r) }); + }), + o + ? n.sort(function (t, e) { + return o(t.key, e.key); + }) + : n + ); + })(o(t.map, e, 0), 0); + }), + (n.key = function (t) { + return (i.push(t), n); + }), + (n.sortKeys = function (t) { + return ((a[i.length - 1] = t), n); + }), + (n.sortValues = function (t) { + return ((e = t), n); + }), + (n.rollup = function (t) { + return ((r = t), n); + }), + n + ); + }), + (t.set = function (t) { + var e = new L(); + if (t) for (var r = 0, n = t.length; r < n; ++r) e.add(t[r]); + return e; + }), + x(L, { + has: A, + add: function (t) { + return ((this._[k((t += ""))] = !0), t); + }, + remove: T, + values: S, + size: C, + empty: E, + forEach: function (t) { + for (var e in this._) t.call(this, M(e)); + }, + }), + (t.behavior = {}), + (t.rebind = function (t, e) { + for (var r, n = 1, i = arguments.length; ++n < i; ) + t[(r = arguments[n])] = P(t, e, e[r]); + return t; + })); + var O = ["webkit", "ms", "moz", "Moz", "o", "O"]; + function I() {} + function R() {} + function B(t) { + var e = [], + r = new b(); + function n() { + for (var r, n = e, i = -1, a = n.length; ++i < a; ) + (r = n[i].on) && r.apply(this, arguments); + return t; + } + return ( + (n.on = function (n, i) { + var a, + o = r.get(n); + return arguments.length < 2 + ? o && o.on + : (o && + ((o.on = null), + (e = e.slice(0, (a = e.indexOf(o))).concat(e.slice(a + 1))), + r.remove(n)), + i && e.push(r.set(n, { on: i })), + t); + }), + n + ); + } + function F() { + t.event.preventDefault(); + } + function N() { + for (var e, r = t.event; (e = r.sourceEvent); ) r = e; + return r; + } + function j(e) { + for (var r = new R(), n = 0, i = arguments.length; ++n < i; ) + r[arguments[n]] = B(r); + return ( + (r.of = function (n, i) { + return function (a) { + try { + var o = (a.sourceEvent = t.event); + ((a.target = e), (t.event = a), r[a.type].apply(n, i)); + } finally { + t.event = o; + } + }; + }), + r + ); + } + ((t.dispatch = function () { + for (var t = new R(), e = -1, r = arguments.length; ++e < r; ) + t[arguments[e]] = B(t); + return t; + }), + (R.prototype.on = function (t, e) { + var r = t.indexOf("."), + n = ""; + if ((r >= 0 && ((n = t.slice(r + 1)), (t = t.slice(0, r))), t)) + return arguments.length < 2 ? this[t].on(n) : this[t].on(n, e); + if (2 === arguments.length) { + if (null == e) + for (t in this) this.hasOwnProperty(t) && this[t].on(n, null); + return this; + } + }), + (t.event = null), + (t.requote = function (t) { + return t.replace(V, "\\$&"); + })); + var V = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, + U = {}.__proto__ + ? function (t, e) { + t.__proto__ = e; + } + : function (t, e) { + for (var r in e) t[r] = e[r]; + }; + function q(t) { + return (U(t, Y), t); + } + var H = function (t, e) { + return e.querySelector(t); + }, + G = function (t, e) { + return e.querySelectorAll(t); + }, + W = function (t, e) { + var r = t.matches || t[D(t, "matchesSelector")]; + return (W = function (t, e) { + return r.call(t, e); + })(t, e); + }; + ("function" == typeof Sizzle && + ((H = function (t, e) { + return Sizzle(t, e)[0] || null; + }), + (G = Sizzle), + (W = Sizzle.matchesSelector)), + (t.selection = function () { + return t.select(i.documentElement); + })); + var Y = (t.selection.prototype = []); + function X(t) { + return "function" == typeof t + ? t + : function () { + return H(t, this); + }; + } + function Z(t) { + return "function" == typeof t + ? t + : function () { + return G(t, this); + }; + } + ((Y.select = function (t) { + var e, + r, + n, + i, + a = []; + t = X(t); + for (var o = -1, s = this.length; ++o < s; ) { + (a.push((e = [])), (e.parentNode = (n = this[o]).parentNode)); + for (var l = -1, c = n.length; ++l < c; ) + (i = n[l]) + ? (e.push((r = t.call(i, i.__data__, l, o))), + r && "__data__" in i && (r.__data__ = i.__data__)) + : e.push(null); + } + return q(a); + }), + (Y.selectAll = function (t) { + var e, + r, + i = []; + t = Z(t); + for (var a = -1, o = this.length; ++a < o; ) + for (var s = this[a], l = -1, c = s.length; ++l < c; ) + (r = s[l]) && + (i.push((e = n(t.call(r, r.__data__, l, a)))), + (e.parentNode = r)); + return q(i); + })); + var J = "http://www.w3.org/1999/xhtml", + K = { + svg: "http://www.w3.org/2000/svg", + xhtml: J, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + }; + function Q(e, r) { + return ( + (e = t.ns.qualify(e)), + null == r + ? e.local + ? function () { + this.removeAttributeNS(e.space, e.local); + } + : function () { + this.removeAttribute(e); + } + : "function" == typeof r + ? e.local + ? function () { + var t = r.apply(this, arguments); + null == t + ? this.removeAttributeNS(e.space, e.local) + : this.setAttributeNS(e.space, e.local, t); + } + : function () { + var t = r.apply(this, arguments); + null == t ? this.removeAttribute(e) : this.setAttribute(e, t); + } + : e.local + ? function () { + this.setAttributeNS(e.space, e.local, r); + } + : function () { + this.setAttribute(e, r); + } + ); + } + function $(t) { + return t.trim().replace(/\s+/g, " "); + } + function tt(e) { + return new RegExp("(?:^|\\s+)" + t.requote(e) + "(?:\\s+|$)", "g"); + } + function et(t) { + return (t + "").trim().split(/^|\s+/); + } + function rt(t, e) { + var r = (t = et(t).map(nt)).length; + return "function" == typeof e + ? function () { + for (var n = -1, i = e.apply(this, arguments); ++n < r; ) + t[n](this, i); + } + : function () { + for (var n = -1; ++n < r; ) t[n](this, e); + }; + } + function nt(t) { + var e = tt(t); + return function (r, n) { + if ((i = r.classList)) return n ? i.add(t) : i.remove(t); + var i = r.getAttribute("class") || ""; + n + ? ((e.lastIndex = 0), + e.test(i) || r.setAttribute("class", $(i + " " + t))) + : r.setAttribute("class", $(i.replace(e, " "))); + }; + } + function it(t, e, r) { + return null == e + ? function () { + this.style.removeProperty(t); + } + : "function" == typeof e + ? function () { + var n = e.apply(this, arguments); + null == n + ? this.style.removeProperty(t) + : this.style.setProperty(t, n, r); + } + : function () { + this.style.setProperty(t, e, r); + }; + } + function at(t, e) { + return null == e + ? function () { + delete this[t]; + } + : "function" == typeof e + ? function () { + var r = e.apply(this, arguments); + null == r ? delete this[t] : (this[t] = r); + } + : function () { + this[t] = e; + }; + } + function ot(e) { + return "function" == typeof e + ? e + : (e = t.ns.qualify(e)).local + ? function () { + return this.ownerDocument.createElementNS(e.space, e.local); + } + : function () { + var t = this.ownerDocument, + r = this.namespaceURI; + return r === J && t.documentElement.namespaceURI === J + ? t.createElement(e) + : t.createElementNS(r, e); + }; + } + function st() { + var t = this.parentNode; + t && t.removeChild(this); + } + function lt(t) { + return { __data__: t }; + } + function ct(t) { + return function () { + return W(this, t); + }; + } + function ut(t, e) { + for (var r = 0, n = t.length; r < n; r++) + for (var i, a = t[r], o = 0, s = a.length; o < s; o++) + (i = a[o]) && e(i, o, r); + return t; + } + function ft(t) { + return (U(t, ht), t); + } + ((t.ns = { + prefix: K, + qualify: function (t) { + var e = t.indexOf(":"), + r = t; + return ( + e >= 0 && "xmlns" !== (r = t.slice(0, e)) && (t = t.slice(e + 1)), + K.hasOwnProperty(r) ? { space: K[r], local: t } : t + ); + }, + }), + (Y.attr = function (e, r) { + if (arguments.length < 2) { + if ("string" == typeof e) { + var n = this.node(); + return (e = t.ns.qualify(e)).local + ? n.getAttributeNS(e.space, e.local) + : n.getAttribute(e); + } + for (r in e) this.each(Q(r, e[r])); + return this; + } + return this.each(Q(e, r)); + }), + (Y.classed = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) { + var r = this.node(), + n = (t = et(t)).length, + i = -1; + if ((e = r.classList)) { + for (; ++i < n; ) if (!e.contains(t[i])) return !1; + } else + for (e = r.getAttribute("class"); ++i < n; ) + if (!tt(t[i]).test(e)) return !1; + return !0; + } + for (e in t) this.each(rt(e, t[e])); + return this; + } + return this.each(rt(t, e)); + }), + (Y.style = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ("string" != typeof t) { + for (r in (n < 2 && (e = ""), t)) this.each(it(r, t[r], e)); + return this; + } + if (n < 2) { + var i = this.node(); + return o(i).getComputedStyle(i, null).getPropertyValue(t); + } + r = ""; + } + return this.each(it(t, e, r)); + }), + (Y.property = function (t, e) { + if (arguments.length < 2) { + if ("string" == typeof t) return this.node()[t]; + for (e in t) this.each(at(e, t[e])); + return this; + } + return this.each(at(t, e)); + }), + (Y.text = function (t) { + return arguments.length + ? this.each( + "function" == typeof t + ? function () { + var e = t.apply(this, arguments); + this.textContent = null == e ? "" : e; + } + : null == t + ? function () { + this.textContent = ""; + } + : function () { + this.textContent = t; + }, + ) + : this.node().textContent; + }), + (Y.html = function (t) { + return arguments.length + ? this.each( + "function" == typeof t + ? function () { + var e = t.apply(this, arguments); + this.innerHTML = null == e ? "" : e; + } + : null == t + ? function () { + this.innerHTML = ""; + } + : function () { + this.innerHTML = t; + }, + ) + : this.node().innerHTML; + }), + (Y.append = function (t) { + return ( + (t = ot(t)), + this.select(function () { + return this.appendChild(t.apply(this, arguments)); + }) + ); + }), + (Y.insert = function (t, e) { + return ( + (t = ot(t)), + (e = X(e)), + this.select(function () { + return this.insertBefore( + t.apply(this, arguments), + e.apply(this, arguments) || null, + ); + }) + ); + }), + (Y.remove = function () { + return this.each(st); + }), + (Y.data = function (t, e) { + var r, + n, + i = -1, + a = this.length; + if (!arguments.length) { + for (t = new Array((a = (r = this[0]).length)); ++i < a; ) + (n = r[i]) && (t[i] = n.__data__); + return t; + } + function o(t, r) { + var n, + i, + a, + o = t.length, + u = r.length, + f = Math.min(o, u), + h = new Array(u), + p = new Array(u), + d = new Array(o); + if (e) { + var g, + m = new b(), + v = new Array(o); + for (n = -1; ++n < o; ) + (i = t[n]) && + (m.has((g = e.call(i, i.__data__, n))) + ? (d[n] = i) + : m.set(g, i), + (v[n] = g)); + for (n = -1; ++n < u; ) + ((i = m.get((g = e.call(r, (a = r[n]), n)))) + ? !0 !== i && ((h[n] = i), (i.__data__ = a)) + : (p[n] = lt(a)), + m.set(g, !0)); + for (n = -1; ++n < o; ) + n in v && !0 !== m.get(v[n]) && (d[n] = t[n]); + } else { + for (n = -1; ++n < f; ) + ((i = t[n]), + (a = r[n]), + i ? ((i.__data__ = a), (h[n] = i)) : (p[n] = lt(a))); + for (; n < u; ++n) p[n] = lt(r[n]); + for (; n < o; ++n) d[n] = t[n]; + } + ((p.update = h), + (p.parentNode = h.parentNode = d.parentNode = t.parentNode), + s.push(p), + l.push(h), + c.push(d)); + } + var s = ft([]), + l = q([]), + c = q([]); + if ("function" == typeof t) + for (; ++i < a; ) + o((r = this[i]), t.call(r, r.parentNode.__data__, i)); + else for (; ++i < a; ) o((r = this[i]), t); + return ( + (l.enter = function () { + return s; + }), + (l.exit = function () { + return c; + }), + l + ); + }), + (Y.datum = function (t) { + return arguments.length + ? this.property("__data__", t) + : this.property("__data__"); + }), + (Y.filter = function (t) { + var e, + r, + n, + i = []; + "function" != typeof t && (t = ct(t)); + for (var a = 0, o = this.length; a < o; a++) { + (i.push((e = [])), (e.parentNode = (r = this[a]).parentNode)); + for (var s = 0, l = r.length; s < l; s++) + (n = r[s]) && t.call(n, n.__data__, s, a) && e.push(n); + } + return q(i); + }), + (Y.order = function () { + for (var t = -1, e = this.length; ++t < e; ) + for (var r, n = this[t], i = n.length - 1, a = n[i]; --i >= 0; ) + (r = n[i]) && + (a && a !== r.nextSibling && a.parentNode.insertBefore(r, a), + (a = r)); + return this; + }), + (Y.sort = function (t) { + t = function (t) { + arguments.length || (t = h); + return function (e, r) { + return e && r ? t(e.__data__, r.__data__) : !e - !r; + }; + }.apply(this, arguments); + for (var e = -1, r = this.length; ++e < r; ) this[e].sort(t); + return this.order(); + }), + (Y.each = function (t) { + return ut(this, function (e, r, n) { + t.call(e, e.__data__, r, n); + }); + }), + (Y.call = function (t) { + var e = n(arguments); + return (t.apply((e[0] = this), e), this); + }), + (Y.empty = function () { + return !this.node(); + }), + (Y.node = function () { + for (var t = 0, e = this.length; t < e; t++) + for (var r = this[t], n = 0, i = r.length; n < i; n++) { + var a = r[n]; + if (a) return a; + } + return null; + }), + (Y.size = function () { + var t = 0; + return ( + ut(this, function () { + ++t; + }), + t + ); + })); + var ht = []; + function pt(e, r, i) { + var a = "__on" + e, + o = e.indexOf("."), + s = gt; + o > 0 && (e = e.slice(0, o)); + var l = dt.get(e); + function c() { + var t = this[a]; + t && (this.removeEventListener(e, t, t.$), delete this[a]); + } + return ( + l && ((e = l), (s = mt)), + o + ? r + ? function () { + var t = s(r, n(arguments)); + (c.call(this), + this.addEventListener(e, (this[a] = t), (t.$ = i)), + (t._ = r)); + } + : c + : r + ? I + : function () { + var r, + n = new RegExp("^__on([^.]+)" + t.requote(e) + "$"); + for (var i in this) + if ((r = i.match(n))) { + var a = this[i]; + (this.removeEventListener(r[1], a, a.$), delete this[i]); + } + } + ); + } + ((t.selection.enter = ft), + (t.selection.enter.prototype = ht), + (ht.append = Y.append), + (ht.empty = Y.empty), + (ht.node = Y.node), + (ht.call = Y.call), + (ht.size = Y.size), + (ht.select = function (t) { + for (var e, r, n, i, a, o = [], s = -1, l = this.length; ++s < l; ) { + ((n = (i = this[s]).update), + o.push((e = [])), + (e.parentNode = i.parentNode)); + for (var c = -1, u = i.length; ++c < u; ) + (a = i[c]) + ? (e.push((n[c] = r = t.call(i.parentNode, a.__data__, c, s))), + (r.__data__ = a.__data__)) + : e.push(null); + } + return q(o); + }), + (ht.insert = function (t, e) { + var r, n, i; + return ( + arguments.length < 2 && + ((r = this), + (e = function (t, e, a) { + var o, + s = r[a].update, + l = s.length; + for ( + a != i && ((i = a), (n = 0)), e >= n && (n = e + 1); + !(o = s[n]) && ++n < l; + + ); + return o; + })), + Y.insert.call(this, t, e) + ); + }), + (t.select = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = [H(t, i)]).parentNode = i.documentElement) + : ((e = [t]).parentNode = a(t)), + q([e]) + ); + }), + (t.selectAll = function (t) { + var e; + return ( + "string" == typeof t + ? ((e = n(G(t, i))).parentNode = i.documentElement) + : ((e = n(t)).parentNode = null), + q([e]) + ); + }), + (Y.on = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ("string" != typeof t) { + for (r in (n < 2 && (e = !1), t)) this.each(pt(r, t[r], e)); + return this; + } + if (n < 2) return (n = this.node()["__on" + t]) && n._; + r = !1; + } + return this.each(pt(t, e, r)); + })); + var dt = t.map({ mouseenter: "mouseover", mouseleave: "mouseout" }); + function gt(e, r) { + return function (n) { + var i = t.event; + ((t.event = n), (r[0] = this.__data__)); + try { + e.apply(this, r); + } finally { + t.event = i; + } + }; + } + function mt(t, e) { + var r = gt(t, e); + return function (t) { + var e = t.relatedTarget; + (e && (e === this || 8 & e.compareDocumentPosition(this))) || + r.call(this, t); + }; + } + i && + dt.forEach(function (t) { + "on" + t in i && dt.remove(t); + }); + var vt, + yt = 0; + function xt(e) { + var r = ".dragsuppress-" + ++yt, + n = "click" + r, + i = t + .select(o(e)) + .on("touchmove" + r, F) + .on("dragstart" + r, F) + .on("selectstart" + r, F); + if ( + (null == vt && + (vt = !("onselectstart" in e) && D(e.style, "userSelect")), + vt) + ) { + var s = a(e).style, + l = s[vt]; + s[vt] = "none"; + } + return function (t) { + if ((i.on(r, null), vt && (s[vt] = l), t)) { + var e = function () { + i.on(n, null); + }; + (i.on( + n, + function () { + (F(), e()); + }, + !0, + ), + setTimeout(e, 0)); + } + }; + } + t.mouse = function (t) { + return _t(t, N()); + }; + var bt = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0; + function _t(e, r) { + r.changedTouches && (r = r.changedTouches[0]); + var n = e.ownerSVGElement || e; + if (n.createSVGPoint) { + var i = n.createSVGPoint(); + if (bt < 0) { + var a = o(e); + if (a.scrollX || a.scrollY) { + var s = (n = t.select("body").append("svg").style( + { + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none", + }, + "important", + ))[0][0].getScreenCTM(); + ((bt = !(s.f || s.e)), n.remove()); + } + } + return ( + bt + ? ((i.x = r.pageX), (i.y = r.pageY)) + : ((i.x = r.clientX), (i.y = r.clientY)), + [(i = i.matrixTransform(e.getScreenCTM().inverse())).x, i.y] + ); + } + var l = e.getBoundingClientRect(); + return [ + r.clientX - l.left - e.clientLeft, + r.clientY - l.top - e.clientTop, + ]; + } + function wt() { + return t.event.changedTouches[0].identifier; + } + ((t.touch = function (t, e, r) { + if ((arguments.length < 3 && ((r = e), (e = N().changedTouches)), e)) + for (var n, i = 0, a = e.length; i < a; ++i) + if ((n = e[i]).identifier === r) return _t(t, n); + }), + (t.behavior.drag = function () { + var e = j(a, "drag", "dragstart", "dragend"), + r = null, + n = s(I, t.mouse, o, "mousemove", "mouseup"), + i = s(wt, t.touch, z, "touchmove", "touchend"); + function a() { + this.on("mousedown.drag", n).on("touchstart.drag", i); + } + function s(n, i, a, o, s) { + return function () { + var l, + c = t.event.target.correspondingElement || t.event.target, + u = this.parentNode, + f = e.of(this, arguments), + h = 0, + p = n(), + d = ".drag" + (null == p ? "" : "-" + p), + g = t + .select(a(c)) + .on(o + d, function () { + var t, + e, + r = i(u, p); + if (!r) return; + ((t = r[0] - v[0]), + (e = r[1] - v[1]), + (h |= t | e), + (v = r), + f({ + type: "drag", + x: r[0] + l[0], + y: r[1] + l[1], + dx: t, + dy: e, + })); + }) + .on(s + d, function () { + if (!i(u, p)) return; + (g.on(o + d, null).on(s + d, null), + m(h), + f({ type: "dragend" })); + }), + m = xt(c), + v = i(u, p); + ((l = r + ? [(l = r.apply(this, arguments)).x - v[0], l.y - v[1]] + : [0, 0]), + f({ type: "dragstart" })); + }; + } + return ( + (a.origin = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + t.rebind(a, e, "on") + ); + }), + (t.touches = function (t, e) { + return ( + arguments.length < 2 && (e = N().touches), + e + ? n(e).map(function (e) { + var r = _t(t, e); + return ((r.identifier = e.identifier), r); + }) + : [] + ); + })); + var kt = 1e-6, + Mt = kt * kt, + At = Math.PI, + Tt = 2 * At, + St = Tt - kt, + Ct = At / 2, + Et = At / 180, + Lt = 180 / At; + function zt(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function Pt(t, e, r) { + return (e[0] - t[0]) * (r[1] - t[1]) - (e[1] - t[1]) * (r[0] - t[0]); + } + function Dt(t) { + return t > 1 ? 0 : t < -1 ? At : Math.acos(t); + } + function Ot(t) { + return t > 1 ? Ct : t < -1 ? -Ct : Math.asin(t); + } + function It(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + function Rt(t) { + return (t = Math.sin(t / 2)) * t; + } + var Bt = Math.SQRT2; + ((t.interpolateZoom = function (t, e) { + var r, + n, + i = t[0], + a = t[1], + o = t[2], + s = e[0], + l = e[1], + c = e[2], + u = s - i, + f = l - a, + h = u * u + f * f; + if (h < Mt) + ((n = Math.log(c / o) / Bt), + (r = function (t) { + return [i + t * u, a + t * f, o * Math.exp(Bt * t * n)]; + })); + else { + var p = Math.sqrt(h), + d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), + g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), + m = Math.log(Math.sqrt(d * d + 1) - d), + v = Math.log(Math.sqrt(g * g + 1) - g); + ((n = (v - m) / Bt), + (r = function (t) { + var e, + r = t * n, + s = It(m), + l = + (o / (2 * p)) * + (s * ((e = Bt * r + m), ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(m)); + return [i + l * u, a + l * f, (o * s) / It(Bt * r + m)]; + })); + } + return ((r.duration = 1e3 * n), r); + }), + (t.behavior.zoom = function () { + var e, + r, + n, + a, + s, + l, + c, + u, + f, + h = { x: 0, y: 0, k: 1 }, + p = [960, 500], + d = jt, + g = 250, + m = 0, + v = "mousedown.zoom", + y = "mousemove.zoom", + x = "mouseup.zoom", + b = "touchstart.zoom", + _ = j(w, "zoomstart", "zoom", "zoomend"); + function w(t) { + t.on(v, z) + .on(Nt + ".zoom", D) + .on("dblclick.zoom", O) + .on(b, P); + } + function k(t) { + return [(t[0] - h.x) / h.k, (t[1] - h.y) / h.k]; + } + function M(t) { + h.k = Math.max(d[0], Math.min(d[1], t)); + } + function A(t, e) { + ((e = (function (t) { + return [t[0] * h.k + h.x, t[1] * h.k + h.y]; + })(e)), + (h.x += t[0] - e[0]), + (h.y += t[1] - e[1])); + } + function T(e, n, i, a) { + ((e.__chart__ = { x: h.x, y: h.y, k: h.k }), + M(Math.pow(2, a)), + A((r = n), i), + (e = t.select(e)), + g > 0 && (e = e.transition().duration(g)), + e.call(w.event)); + } + function S() { + (c && + c.domain( + l + .range() + .map(function (t) { + return (t - h.x) / h.k; + }) + .map(l.invert), + ), + f && + f.domain( + u + .range() + .map(function (t) { + return (t - h.y) / h.k; + }) + .map(u.invert), + )); + } + function C(t) { + m++ || t({ type: "zoomstart" }); + } + function E(t) { + (S(), t({ type: "zoom", scale: h.k, translate: [h.x, h.y] })); + } + function L(t) { + --m || (t({ type: "zoomend" }), (r = null)); + } + function z() { + var e = this, + r = _.of(e, arguments), + n = 0, + i = t + .select(o(e)) + .on(y, function () { + ((n = 1), A(t.mouse(e), a), E(r)); + }) + .on(x, function () { + (i.on(y, null).on(x, null), s(n), L(r)); + }), + a = k(t.mouse(e)), + s = xt(e); + (ss.call(e), C(r)); + } + function P() { + var e, + r = this, + n = _.of(r, arguments), + i = {}, + a = 0, + o = ".zoom-" + t.event.changedTouches[0].identifier, + l = "touchmove" + o, + c = "touchend" + o, + u = [], + f = t.select(r), + p = xt(r); + function d() { + var n = t.touches(r); + return ( + (e = h.k), + n.forEach(function (t) { + t.identifier in i && (i[t.identifier] = k(t)); + }), + n + ); + } + function g() { + var e = t.event.target; + (t.select(e).on(l, m).on(c, y), u.push(e)); + for ( + var n = t.event.changedTouches, o = 0, f = n.length; + o < f; + ++o + ) + i[n[o].identifier] = null; + var p = d(), + g = Date.now(); + if (1 === p.length) { + if (g - s < 500) { + var v = p[0]; + (T( + r, + v, + i[v.identifier], + Math.floor(Math.log(h.k) / Math.LN2) + 1, + ), + F()); + } + s = g; + } else if (p.length > 1) { + v = p[0]; + var x = p[1], + b = v[0] - x[0], + _ = v[1] - x[1]; + a = b * b + _ * _; + } + } + function m() { + var o, + l, + c, + u, + f = t.touches(r); + ss.call(r); + for (var h = 0, p = f.length; h < p; ++h, u = null) + if (((c = f[h]), (u = i[c.identifier]))) { + if (l) break; + ((o = c), (l = u)); + } + if (u) { + var d = (d = c[0] - o[0]) * d + (d = c[1] - o[1]) * d, + g = a && Math.sqrt(d / a); + ((o = [(o[0] + c[0]) / 2, (o[1] + c[1]) / 2]), + (l = [(l[0] + u[0]) / 2, (l[1] + u[1]) / 2]), + M(g * e)); + } + ((s = null), A(o, l), E(n)); + } + function y() { + if (t.event.touches.length) { + for ( + var e = t.event.changedTouches, r = 0, a = e.length; + r < a; + ++r + ) + delete i[e[r].identifier]; + for (var s in i) return void d(); + } + (t.selectAll(u).on(o, null), f.on(v, z).on(b, P), p(), L(n)); + } + (g(), C(n), f.on(v, null).on(b, g)); + } + function D() { + var i = _.of(this, arguments); + (a + ? clearTimeout(a) + : (ss.call(this), (e = k((r = n || t.mouse(this)))), C(i)), + (a = setTimeout(function () { + ((a = null), L(i)); + }, 50)), + F(), + M(Math.pow(2, 0.002 * Ft()) * h.k), + A(r, e), + E(i)); + } + function O() { + var e = t.mouse(this), + r = Math.log(h.k) / Math.LN2; + T( + this, + e, + k(e), + t.event.shiftKey ? Math.ceil(r) - 1 : Math.floor(r) + 1, + ); + } + return ( + Nt || + (Nt = + "onwheel" in i + ? ((Ft = function () { + return -t.event.deltaY * (t.event.deltaMode ? 120 : 1); + }), + "wheel") + : "onmousewheel" in i + ? ((Ft = function () { + return t.event.wheelDelta; + }), + "mousewheel") + : ((Ft = function () { + return -t.event.detail; + }), + "MozMousePixelScroll")), + (w.event = function (e) { + e.each(function () { + var e = _.of(this, arguments), + n = h; + us + ? t + .select(this) + .transition() + .each("start.zoom", function () { + ((h = this.__chart__ || { x: 0, y: 0, k: 1 }), C(e)); + }) + .tween("zoom:zoom", function () { + var i = p[0], + a = p[1], + o = r ? r[0] : i / 2, + s = r ? r[1] : a / 2, + l = t.interpolateZoom( + [(o - h.x) / h.k, (s - h.y) / h.k, i / h.k], + [(o - n.x) / n.k, (s - n.y) / n.k, i / n.k], + ); + return function (t) { + var r = l(t), + n = i / r[2]; + ((this.__chart__ = h = + { x: o - r[0] * n, y: s - r[1] * n, k: n }), + E(e)); + }; + }) + .each("interrupt.zoom", function () { + L(e); + }) + .each("end.zoom", function () { + L(e); + }) + : ((this.__chart__ = h), C(e), E(e), L(e)); + }); + }), + (w.translate = function (t) { + return arguments.length + ? ((h = { x: +t[0], y: +t[1], k: h.k }), S(), w) + : [h.x, h.y]; + }), + (w.scale = function (t) { + return arguments.length + ? ((h = { x: h.x, y: h.y, k: null }), M(+t), S(), w) + : h.k; + }), + (w.scaleExtent = function (t) { + return arguments.length + ? ((d = null == t ? jt : [+t[0], +t[1]]), w) + : d; + }), + (w.center = function (t) { + return arguments.length ? ((n = t && [+t[0], +t[1]]), w) : n; + }), + (w.size = function (t) { + return arguments.length ? ((p = t && [+t[0], +t[1]]), w) : p; + }), + (w.duration = function (t) { + return arguments.length ? ((g = +t), w) : g; + }), + (w.x = function (t) { + return arguments.length + ? ((c = t), (l = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) + : c; + }), + (w.y = function (t) { + return arguments.length + ? ((f = t), (u = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) + : f; + }), + t.rebind(w, _, "on") + ); + })); + var Ft, + Nt, + jt = [0, 1 / 0]; + function Vt() {} + function Ut(t, e, r) { + return this instanceof Ut + ? ((this.h = +t), (this.s = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof Ut + ? new Ut(t.h, t.s, t.l) + : ue("" + t, fe, Ut) + : new Ut(t, e, r); + } + ((t.color = Vt), + (Vt.prototype.toString = function () { + return this.rgb() + ""; + }), + (t.hsl = Ut)); + var qt = (Ut.prototype = new Vt()); + function Ht(t, e, r) { + var n, i; + function a(t) { + return Math.round( + 255 * + (function (t) { + return ( + t > 360 ? (t -= 360) : t < 0 && (t += 360), + t < 60 + ? n + ((i - n) * t) / 60 + : t < 180 + ? i + : t < 240 + ? n + ((i - n) * (240 - t)) / 60 + : n + ); + })(t), + ); + } + return ( + (t = isNaN(t) ? 0 : (t %= 360) < 0 ? t + 360 : t), + (e = isNaN(e) ? 0 : e < 0 ? 0 : e > 1 ? 1 : e), + (n = + 2 * (r = r < 0 ? 0 : r > 1 ? 1 : r) - + (i = r <= 0.5 ? r * (1 + e) : r + e - r * e)), + new ae(a(t + 120), a(t), a(t - 120)) + ); + } + function Gt(e, r, n) { + return this instanceof Gt + ? ((this.h = +e), (this.c = +r), void (this.l = +n)) + : arguments.length < 2 + ? e instanceof Gt + ? new Gt(e.h, e.c, e.l) + : ee( + e instanceof Xt ? e.l : (e = he((e = t.rgb(e)).r, e.g, e.b)).l, + e.a, + e.b, + ) + : new Gt(e, r, n); + } + ((qt.brighter = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Ut(this.h, this.s, this.l / t) + ); + }), + (qt.darker = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new Ut(this.h, this.s, t * this.l) + ); + }), + (qt.rgb = function () { + return Ht(this.h, this.s, this.l); + }), + (t.hcl = Gt)); + var Wt = (Gt.prototype = new Vt()); + function Yt(t, e, r) { + return ( + isNaN(t) && (t = 0), + isNaN(e) && (e = 0), + new Xt(r, Math.cos((t *= Et)) * e, Math.sin(t) * e) + ); + } + function Xt(t, e, r) { + return this instanceof Xt + ? ((this.l = +t), (this.a = +e), void (this.b = +r)) + : arguments.length < 2 + ? t instanceof Xt + ? new Xt(t.l, t.a, t.b) + : t instanceof Gt + ? Yt(t.h, t.c, t.l) + : he((t = ae(t)).r, t.g, t.b) + : new Xt(t, e, r); + } + ((Wt.brighter = function (t) { + return new Gt( + this.h, + this.c, + Math.min(100, this.l + Zt * (arguments.length ? t : 1)), + ); + }), + (Wt.darker = function (t) { + return new Gt( + this.h, + this.c, + Math.max(0, this.l - Zt * (arguments.length ? t : 1)), + ); + }), + (Wt.rgb = function () { + return Yt(this.h, this.c, this.l).rgb(); + }), + (t.lab = Xt)); + var Zt = 18, + Jt = 0.95047, + Kt = 1, + Qt = 1.08883, + $t = (Xt.prototype = new Vt()); + function te(t, e, r) { + var n = (t + 16) / 116, + i = n + e / 500, + a = n - r / 200; + return new ae( + ie( + 3.2404542 * (i = re(i) * Jt) - + 1.5371385 * (n = re(n) * Kt) - + 0.4985314 * (a = re(a) * Qt), + ), + ie(-0.969266 * i + 1.8760108 * n + 0.041556 * a), + ie(0.0556434 * i - 0.2040259 * n + 1.0572252 * a), + ); + } + function ee(t, e, r) { + return t > 0 + ? new Gt(Math.atan2(r, e) * Lt, Math.sqrt(e * e + r * r), t) + : new Gt(NaN, NaN, t); + } + function re(t) { + return t > 0.206893034 ? t * t * t : (t - 4 / 29) / 7.787037; + } + function ne(t) { + return t > 0.008856 ? Math.pow(t, 1 / 3) : 7.787037 * t + 4 / 29; + } + function ie(t) { + return Math.round( + 255 * (t <= 0.00304 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055), + ); + } + function ae(t, e, r) { + return this instanceof ae + ? ((this.r = ~~t), (this.g = ~~e), void (this.b = ~~r)) + : arguments.length < 2 + ? t instanceof ae + ? new ae(t.r, t.g, t.b) + : ue("" + t, ae, Ht) + : new ae(t, e, r); + } + function oe(t) { + return new ae(t >> 16, (t >> 8) & 255, 255 & t); + } + function se(t) { + return oe(t) + ""; + } + (($t.brighter = function (t) { + return new Xt( + Math.min(100, this.l + Zt * (arguments.length ? t : 1)), + this.a, + this.b, + ); + }), + ($t.darker = function (t) { + return new Xt( + Math.max(0, this.l - Zt * (arguments.length ? t : 1)), + this.a, + this.b, + ); + }), + ($t.rgb = function () { + return te(this.l, this.a, this.b); + }), + (t.rgb = ae)); + var le = (ae.prototype = new Vt()); + function ce(t) { + return t < 16 + ? "0" + Math.max(0, t).toString(16) + : Math.min(255, t).toString(16); + } + function ue(t, e, r) { + var n, + i, + a, + o = 0, + s = 0, + l = 0; + if ((n = /([a-z]+)\((.*)\)/.exec((t = t.toLowerCase())))) + switch (((i = n[2].split(",")), n[1])) { + case "hsl": + return r( + parseFloat(i[0]), + parseFloat(i[1]) / 100, + parseFloat(i[2]) / 100, + ); + case "rgb": + return e(de(i[0]), de(i[1]), de(i[2])); + } + return (a = ge.get(t)) + ? e(a.r, a.g, a.b) + : (null == t || + "#" !== t.charAt(0) || + isNaN((a = parseInt(t.slice(1), 16))) || + (4 === t.length + ? ((o = (3840 & a) >> 4), + (o |= o >> 4), + (s = 240 & a), + (s |= s >> 4), + (l = 15 & a), + (l |= l << 4)) + : 7 === t.length && + ((o = (16711680 & a) >> 16), + (s = (65280 & a) >> 8), + (l = 255 & a))), + e(o, s, l)); + } + function fe(t, e, r) { + var n, + i, + a = Math.min((t /= 255), (e /= 255), (r /= 255)), + o = Math.max(t, e, r), + s = o - a, + l = (o + a) / 2; + return ( + s + ? ((i = l < 0.5 ? s / (o + a) : s / (2 - o - a)), + (n = + t == o + ? (e - r) / s + (e < r ? 6 : 0) + : e == o + ? (r - t) / s + 2 + : (t - e) / s + 4), + (n *= 60)) + : ((n = NaN), (i = l > 0 && l < 1 ? 0 : n)), + new Ut(n, i, l) + ); + } + function he(t, e, r) { + var n = ne( + (0.4124564 * (t = pe(t)) + + 0.3575761 * (e = pe(e)) + + 0.1804375 * (r = pe(r))) / + Jt, + ), + i = ne((0.2126729 * t + 0.7151522 * e + 0.072175 * r) / Kt); + return Xt( + 116 * i - 16, + 500 * (n - i), + 200 * (i - ne((0.0193339 * t + 0.119192 * e + 0.9503041 * r) / Qt)), + ); + } + function pe(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function de(t) { + var e = parseFloat(t); + return "%" === t.charAt(t.length - 1) ? Math.round(2.55 * e) : e; + } + ((le.brighter = function (t) { + t = Math.pow(0.7, arguments.length ? t : 1); + var e = this.r, + r = this.g, + n = this.b, + i = 30; + return e || r || n + ? (e && e < i && (e = i), + r && r < i && (r = i), + n && n < i && (n = i), + new ae( + Math.min(255, e / t), + Math.min(255, r / t), + Math.min(255, n / t), + )) + : new ae(i, i, i); + }), + (le.darker = function (t) { + return new ae( + (t = Math.pow(0.7, arguments.length ? t : 1)) * this.r, + t * this.g, + t * this.b, + ); + }), + (le.hsl = function () { + return fe(this.r, this.g, this.b); + }), + (le.toString = function () { + return "#" + ce(this.r) + ce(this.g) + ce(this.b); + })); + var ge = t.map({ + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }); + function me(t) { + return "function" == typeof t + ? t + : function () { + return t; + }; + } + function ve(t) { + return function (e, r, n) { + return ( + 2 === arguments.length && + "function" == typeof r && + ((n = r), (r = null)), + ye(e, r, t, n) + ); + }; + } + function ye(e, r, i, a) { + var o = {}, + s = t.dispatch("beforesend", "progress", "load", "error"), + l = {}, + c = new XMLHttpRequest(), + u = null; + function f() { + var t, + e = c.status; + if ( + (!e && + (function (t) { + var e = t.responseType; + return e && "text" !== e ? t.response : t.responseText; + })(c)) || + (e >= 200 && e < 300) || + 304 === e + ) { + try { + t = i.call(o, c); + } catch (t) { + return void s.error.call(o, t); + } + s.load.call(o, t); + } else s.error.call(o, c); + } + return ( + !this.XDomainRequest || + "withCredentials" in c || + !/^(http(s)?:)?\/\//.test(e) || + (c = new XDomainRequest()), + "onload" in c + ? (c.onload = c.onerror = f) + : (c.onreadystatechange = function () { + c.readyState > 3 && f(); + }), + (c.onprogress = function (e) { + var r = t.event; + t.event = e; + try { + s.progress.call(o, c); + } finally { + t.event = r; + } + }), + (o.header = function (t, e) { + return ( + (t = (t + "").toLowerCase()), + arguments.length < 2 + ? l[t] + : (null == e ? delete l[t] : (l[t] = e + ""), o) + ); + }), + (o.mimeType = function (t) { + return arguments.length ? ((r = null == t ? null : t + ""), o) : r; + }), + (o.responseType = function (t) { + return arguments.length ? ((u = t), o) : u; + }), + (o.response = function (t) { + return ((i = t), o); + }), + ["get", "post"].forEach(function (t) { + o[t] = function () { + return o.send.apply(o, [t].concat(n(arguments))); + }; + }), + (o.send = function (t, n, i) { + if ( + (2 === arguments.length && + "function" == typeof n && + ((i = n), (n = null)), + c.open(t, e, !0), + null == r || "accept" in l || (l.accept = r + ",*/*"), + c.setRequestHeader) + ) + for (var a in l) c.setRequestHeader(a, l[a]); + return ( + null != r && c.overrideMimeType && c.overrideMimeType(r), + null != u && (c.responseType = u), + null != i && + o.on("error", i).on("load", function (t) { + i(null, t); + }), + s.beforesend.call(o, c), + c.send(null == n ? null : n), + o + ); + }), + (o.abort = function () { + return (c.abort(), o); + }), + t.rebind(o, s, "on"), + null == a + ? o + : o.get( + (function (t) { + return 1 === t.length + ? function (e, r) { + t(null == e ? r : null); + } + : t; + })(a), + ) + ); + } + (ge.forEach(function (t, e) { + ge.set(t, oe(e)); + }), + (t.functor = me), + (t.xhr = ve(z)), + (t.dsv = function (t, e) { + var r = new RegExp('["' + t + "\n]"), + n = t.charCodeAt(0); + function i(t, r, n) { + arguments.length < 3 && ((n = r), (r = null)); + var i = ye(t, e, null == r ? a : o(r), n); + return ( + (i.row = function (t) { + return arguments.length + ? i.response(null == (r = t) ? a : o(t)) + : r; + }), + i + ); + } + function a(t) { + return i.parse(t.responseText); + } + function o(t) { + return function (e) { + return i.parse(e.responseText, t); + }; + } + function s(e) { + return e.map(l).join(t); + } + function l(t) { + return r.test(t) ? '"' + t.replace(/\"/g, '""') + '"' : t; + } + return ( + (i.parse = function (t, e) { + var r; + return i.parseRows(t, function (t, n) { + if (r) return r(t, n - 1); + var i = new Function( + "d", + "return {" + + t + .map(function (t, e) { + return JSON.stringify(t) + ": d[" + e + "]"; + }) + .join(",") + + "}", + ); + r = e + ? function (t, r) { + return e(i(t), r); + } + : i; + }); + }), + (i.parseRows = function (t, e) { + var r, + i, + a = {}, + o = {}, + s = [], + l = t.length, + c = 0, + u = 0; + function f() { + if (c >= l) return o; + if (i) return ((i = !1), a); + var e = c; + if (34 === t.charCodeAt(e)) { + for (var r = e; r++ < l; ) + if (34 === t.charCodeAt(r)) { + if (34 !== t.charCodeAt(r + 1)) break; + ++r; + } + return ( + (c = r + 2), + 13 === (s = t.charCodeAt(r + 1)) + ? ((i = !0), 10 === t.charCodeAt(r + 2) && ++c) + : 10 === s && (i = !0), + t.slice(e + 1, r).replace(/""/g, '"') + ); + } + for (; c < l; ) { + var s, + u = 1; + if (10 === (s = t.charCodeAt(c++))) i = !0; + else if (13 === s) + ((i = !0), 10 === t.charCodeAt(c) && (++c, ++u)); + else if (s !== n) continue; + return t.slice(e, c - u); + } + return t.slice(e); + } + for (; (r = f()) !== o; ) { + for (var h = []; r !== a && r !== o; ) (h.push(r), (r = f())); + (e && null == (h = e(h, u++))) || s.push(h); + } + return s; + }), + (i.format = function (e) { + if (Array.isArray(e[0])) return i.formatRows(e); + var r = new L(), + n = []; + return ( + e.forEach(function (t) { + for (var e in t) r.has(e) || n.push(r.add(e)); + }), + [n.map(l).join(t)] + .concat( + e.map(function (e) { + return n + .map(function (t) { + return l(e[t]); + }) + .join(t); + }), + ) + .join("\n") + ); + }), + (i.formatRows = function (t) { + return t.map(s).join("\n"); + }), + i + ); + }), + (t.csv = t.dsv(",", "text/csv")), + (t.tsv = t.dsv("\t", "text/tab-separated-values"))); + var xe, + be, + _e, + we, + ke = + this[D(this, "requestAnimationFrame")] || + function (t) { + setTimeout(t, 17); + }; + function Me(t, e, r) { + var n = arguments.length; + (n < 2 && (e = 0), n < 3 && (r = Date.now())); + var i = { c: t, t: r + e, n: null }; + return ( + be ? (be.n = i) : (xe = i), + (be = i), + _e || ((we = clearTimeout(we)), (_e = 1), ke(Ae)), + i + ); + } + function Ae() { + var t = Te(), + e = Se() - t; + e > 24 + ? (isFinite(e) && (clearTimeout(we), (we = setTimeout(Ae, e))), + (_e = 0)) + : ((_e = 1), ke(Ae)); + } + function Te() { + for (var t = Date.now(), e = xe; e; ) + (t >= e.t && e.c(t - e.t) && (e.c = null), (e = e.n)); + return t; + } + function Se() { + for (var t, e = xe, r = 1 / 0; e; ) + e.c + ? (e.t < r && (r = e.t), (e = (t = e).n)) + : (e = t ? (t.n = e.n) : (xe = e.n)); + return ((be = t), r); + } + function Ce(t, e) { + return e - (t ? Math.ceil(Math.log(t) / Math.LN10) : 1); + } + ((t.timer = function () { + Me.apply(this, arguments); + }), + (t.timer.flush = function () { + (Te(), Se()); + }), + (t.round = function (t, e) { + return e ? Math.round(t * (e = Math.pow(10, e))) / e : Math.round(t); + })); + var Ee = [ + "y", + "z", + "a", + "f", + "p", + "n", + "\xb5", + "m", + "", + "k", + "M", + "G", + "T", + "P", + "E", + "Z", + "Y", + ].map(function (t, e) { + var r = Math.pow(10, 3 * y(8 - e)); + return { + scale: + e > 8 + ? function (t) { + return t / r; + } + : function (t) { + return t * r; + }, + symbol: t, + }; + }); + t.formatPrefix = function (e, r) { + var n = 0; + return ( + (e = +e) && + (e < 0 && (e *= -1), + r && (e = t.round(e, Ce(e, r))), + (n = 1 + Math.floor(1e-12 + Math.log(e) / Math.LN10)), + (n = Math.max(-24, Math.min(24, 3 * Math.floor((n - 1) / 3))))), + Ee[8 + n / 3] + ); + }; + var Le = + /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, + ze = t.map({ + b: function (t) { + return t.toString(2); + }, + c: function (t) { + return String.fromCharCode(t); + }, + o: function (t) { + return t.toString(8); + }, + x: function (t) { + return t.toString(16); + }, + X: function (t) { + return t.toString(16).toUpperCase(); + }, + g: function (t, e) { + return t.toPrecision(e); + }, + e: function (t, e) { + return t.toExponential(e); + }, + f: function (t, e) { + return t.toFixed(e); + }, + r: function (e, r) { + return (e = t.round(e, Ce(e, r))).toFixed( + Math.max(0, Math.min(20, Ce(e * (1 + 1e-15), r))), + ); + }, + }); + function Pe(t) { + return t + ""; + } + var De = (t.time = {}), + Oe = Date; + function Ie() { + this._ = new Date( + arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0], + ); + } + Ie.prototype = { + getDate: function () { + return this._.getUTCDate(); + }, + getDay: function () { + return this._.getUTCDay(); + }, + getFullYear: function () { + return this._.getUTCFullYear(); + }, + getHours: function () { + return this._.getUTCHours(); + }, + getMilliseconds: function () { + return this._.getUTCMilliseconds(); + }, + getMinutes: function () { + return this._.getUTCMinutes(); + }, + getMonth: function () { + return this._.getUTCMonth(); + }, + getSeconds: function () { + return this._.getUTCSeconds(); + }, + getTime: function () { + return this._.getTime(); + }, + getTimezoneOffset: function () { + return 0; + }, + valueOf: function () { + return this._.valueOf(); + }, + setDate: function () { + Re.setUTCDate.apply(this._, arguments); + }, + setDay: function () { + Re.setUTCDay.apply(this._, arguments); + }, + setFullYear: function () { + Re.setUTCFullYear.apply(this._, arguments); + }, + setHours: function () { + Re.setUTCHours.apply(this._, arguments); + }, + setMilliseconds: function () { + Re.setUTCMilliseconds.apply(this._, arguments); + }, + setMinutes: function () { + Re.setUTCMinutes.apply(this._, arguments); + }, + setMonth: function () { + Re.setUTCMonth.apply(this._, arguments); + }, + setSeconds: function () { + Re.setUTCSeconds.apply(this._, arguments); + }, + setTime: function () { + Re.setTime.apply(this._, arguments); + }, + }; + var Re = Date.prototype; + function Be(t, e, r) { + function n(e) { + var r = t(e), + n = a(r, 1); + return e - r < n - e ? r : n; + } + function i(r) { + return (e((r = t(new Oe(r - 1))), 1), r); + } + function a(t, r) { + return (e((t = new Oe(+t)), r), t); + } + function o(t, n, a) { + var o = i(t), + s = []; + if (a > 1) for (; o < n; ) (r(o) % a || s.push(new Date(+o)), e(o, 1)); + else for (; o < n; ) (s.push(new Date(+o)), e(o, 1)); + return s; + } + ((t.floor = t), + (t.round = n), + (t.ceil = i), + (t.offset = a), + (t.range = o)); + var s = (t.utc = Fe(t)); + return ( + (s.floor = s), + (s.round = Fe(n)), + (s.ceil = Fe(i)), + (s.offset = Fe(a)), + (s.range = function (t, e, r) { + try { + Oe = Ie; + var n = new Ie(); + return ((n._ = t), o(n, e, r)); + } finally { + Oe = Date; + } + }), + t + ); + } + function Fe(t) { + return function (e, r) { + try { + Oe = Ie; + var n = new Ie(); + return ((n._ = e), t(n, r)._); + } finally { + Oe = Date; + } + }; + } + ((De.year = Be( + function (t) { + return ((t = De.day(t)).setMonth(0, 1), t); + }, + function (t, e) { + t.setFullYear(t.getFullYear() + e); + }, + function (t) { + return t.getFullYear(); + }, + )), + (De.years = De.year.range), + (De.years.utc = De.year.utc.range), + (De.day = Be( + function (t) { + var e = new Oe(2e3, 0); + return (e.setFullYear(t.getFullYear(), t.getMonth(), t.getDate()), e); + }, + function (t, e) { + t.setDate(t.getDate() + e); + }, + function (t) { + return t.getDate() - 1; + }, + )), + (De.days = De.day.range), + (De.days.utc = De.day.utc.range), + (De.dayOfYear = function (t) { + var e = De.year(t); + return Math.floor( + (t - e - 6e4 * (t.getTimezoneOffset() - e.getTimezoneOffset())) / + 864e5, + ); + }), + [ + "sunday", + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + ].forEach(function (t, e) { + e = 7 - e; + var r = (De[t] = Be( + function (t) { + return ( + (t = De.day(t)).setDate(t.getDate() - ((t.getDay() + e) % 7)), + t + ); + }, + function (t, e) { + t.setDate(t.getDate() + 7 * Math.floor(e)); + }, + function (t) { + var r = De.year(t).getDay(); + return ( + Math.floor((De.dayOfYear(t) + ((r + e) % 7)) / 7) - (r !== e) + ); + }, + )); + ((De[t + "s"] = r.range), + (De[t + "s"].utc = r.utc.range), + (De[t + "OfYear"] = function (t) { + var r = De.year(t).getDay(); + return Math.floor((De.dayOfYear(t) + ((r + e) % 7)) / 7); + })); + }), + (De.week = De.sunday), + (De.weeks = De.sunday.range), + (De.weeks.utc = De.sunday.utc.range), + (De.weekOfYear = De.sundayOfYear)); + var Ne = { "-": "", _: " ", 0: "0" }, + je = /^\s*\d+/, + Ve = /^%/; + function Ue(t, e, r) { + var n = t < 0 ? "-" : "", + i = (n ? -t : t) + "", + a = i.length; + return n + (a < r ? new Array(r - a + 1).join(e) + i : i); + } + function qe(e) { + return new RegExp("^(?:" + e.map(t.requote).join("|") + ")", "i"); + } + function He(t) { + for (var e = new b(), r = -1, n = t.length; ++r < n; ) + e.set(t[r].toLowerCase(), r); + return e; + } + function Ge(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function We(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function Ye(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function Xe(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function Ze(t, e, r) { + je.lastIndex = 0; + var n, + i = je.exec(e.slice(r, r + 2)); + return i + ? ((t.y = (n = +i[0]) + (n > 68 ? 1900 : 2e3)), r + i[0].length) + : -1; + } + function Je(t, e, r) { + return /^[+-]\d{4}$/.test((e = e.slice(r, r + 5))) + ? ((t.Z = -e), r + 5) + : -1; + } + function Ke(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function Qe(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function $e(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 3)); + return n ? ((t.j = +n[0]), r + n[0].length) : -1; + } + function tr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function er(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function rr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function nr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function ir(t) { + var e = t.getTimezoneOffset(), + r = e > 0 ? "-" : "+", + n = (y(e) / 60) | 0, + i = y(e) % 60; + return r + Ue(n, "0", 2) + Ue(i, "0", 2); + } + function ar(t, e, r) { + Ve.lastIndex = 0; + var n = Ve.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function or(t) { + for (var e = t.length, r = -1; ++r < e; ) t[r][0] = this(t[r][0]); + return function (e) { + for (var r = 0, n = t[r]; !n[1](e); ) n = t[++r]; + return n[0](e); + }; + } + t.locale = function (e) { + return { + numberFormat: (function (e) { + var r = e.decimal, + n = e.thousands, + i = e.grouping, + a = e.currency, + o = + i && n + ? function (t, e) { + for ( + var r = t.length, a = [], o = 0, s = i[0], l = 0; + r > 0 && + s > 0 && + (l + s + 1 > e && (s = Math.max(1, e - l)), + a.push(t.substring((r -= s), r + s)), + !((l += s + 1) > e)); + + ) + s = i[(o = (o + 1) % i.length)]; + return a.reverse().join(n); + } + : z; + return function (e) { + var n = Le.exec(e), + i = n[1] || " ", + s = n[2] || ">", + l = n[3] || "-", + c = n[4] || "", + u = n[5], + f = +n[6], + h = n[7], + p = n[8], + d = n[9], + g = 1, + m = "", + v = "", + y = !1, + x = !0; + switch ( + (p && (p = +p.substring(1)), + (u || ("0" === i && "=" === s)) && ((u = i = "0"), (s = "=")), + d) + ) { + case "n": + ((h = !0), (d = "g")); + break; + case "%": + ((g = 100), (v = "%"), (d = "f")); + break; + case "p": + ((g = 100), (v = "%"), (d = "r")); + break; + case "b": + case "o": + case "x": + case "X": + "#" === c && (m = "0" + d.toLowerCase()); + case "c": + x = !1; + case "d": + ((y = !0), (p = 0)); + break; + case "s": + ((g = -1), (d = "r")); + } + ("$" === c && ((m = a[0]), (v = a[1])), + "r" != d || p || (d = "g"), + null != p && + ("g" == d + ? (p = Math.max(1, Math.min(21, p))) + : ("e" != d && "f" != d) || + (p = Math.max(0, Math.min(20, p)))), + (d = ze.get(d) || Pe)); + var b = u && h; + return function (e) { + var n = v; + if (y && e % 1) return ""; + var a = + e < 0 || (0 === e && 1 / e < 0) + ? ((e = -e), "-") + : "-" === l + ? "" + : l; + if (g < 0) { + var c = t.formatPrefix(e, p); + ((e = c.scale(e)), (n = c.symbol + v)); + } else e *= g; + var _, + w, + k = (e = d(e, p)).lastIndexOf("."); + if (k < 0) { + var M = x ? e.lastIndexOf("e") : -1; + M < 0 + ? ((_ = e), (w = "")) + : ((_ = e.substring(0, M)), (w = e.substring(M))); + } else ((_ = e.substring(0, k)), (w = r + e.substring(k + 1))); + !u && h && (_ = o(_, 1 / 0)); + var A = m.length + _.length + w.length + (b ? 0 : a.length), + T = A < f ? new Array((A = f - A + 1)).join(i) : ""; + return ( + b && (_ = o(T + _, T.length ? f - w.length : 1 / 0)), + (a += m), + (e = _ + w), + ("<" === s + ? a + e + T + : ">" === s + ? T + a + e + : "^" === s + ? T.substring(0, (A >>= 1)) + a + e + T.substring(A) + : a + (b ? e : T + e)) + n + ); + }; + }; + })(e), + timeFormat: (function (e) { + var r = e.dateTime, + n = e.date, + i = e.time, + a = e.periods, + o = e.days, + s = e.shortDays, + l = e.months, + c = e.shortMonths; + function u(t) { + var e = t.length; + function r(r) { + for (var n, i, a, o = [], s = -1, l = 0; ++s < e; ) + 37 === t.charCodeAt(s) && + (o.push(t.slice(l, s)), + null != (i = Ne[(n = t.charAt(++s))]) && (n = t.charAt(++s)), + (a = _[n]) && + (n = a(r, null == i ? ("e" === n ? " " : "0") : i)), + o.push(n), + (l = s + 1)); + return (o.push(t.slice(l, s)), o.join("")); + } + return ( + (r.parse = function (e) { + var r = { + y: 1900, + m: 0, + d: 1, + H: 0, + M: 0, + S: 0, + L: 0, + Z: null, + }; + if (f(r, t, e, 0) != e.length) return null; + "p" in r && (r.H = (r.H % 12) + 12 * r.p); + var n = null != r.Z && Oe !== Ie, + i = new (n ? Ie : Oe)(); + return ( + "j" in r + ? i.setFullYear(r.y, 0, r.j) + : "W" in r || "U" in r + ? ("w" in r || (r.w = "W" in r ? 1 : 0), + i.setFullYear(r.y, 0, 1), + i.setFullYear( + r.y, + 0, + "W" in r + ? ((r.w + 6) % 7) + 7 * r.W - ((i.getDay() + 5) % 7) + : r.w + 7 * r.U - ((i.getDay() + 6) % 7), + )) + : i.setFullYear(r.y, r.m, r.d), + i.setHours( + r.H + ((r.Z / 100) | 0), + r.M + (r.Z % 100), + r.S, + r.L, + ), + n ? i._ : i + ); + }), + (r.toString = function () { + return t; + }), + r + ); + } + function f(t, e, r, n) { + for (var i, a, o, s = 0, l = e.length, c = r.length; s < l; ) { + if (n >= c) return -1; + if (37 === (i = e.charCodeAt(s++))) { + if ( + ((o = e.charAt(s++)), + !(a = w[o in Ne ? e.charAt(s++) : o]) || (n = a(t, r, n)) < 0) + ) + return -1; + } else if (i != r.charCodeAt(n++)) return -1; + } + return n; + } + ((u.utc = function (t) { + var e = u(t); + function r(t) { + try { + var r = new (Oe = Ie)(); + return ((r._ = t), e(r)); + } finally { + Oe = Date; + } + } + return ( + (r.parse = function (t) { + try { + Oe = Ie; + var r = e.parse(t); + return r && r._; + } finally { + Oe = Date; + } + }), + (r.toString = e.toString), + r + ); + }), + (u.multi = u.utc.multi = or)); + var h = t.map(), + p = qe(o), + d = He(o), + g = qe(s), + m = He(s), + v = qe(l), + y = He(l), + x = qe(c), + b = He(c); + a.forEach(function (t, e) { + h.set(t.toLowerCase(), e); + }); + var _ = { + a: function (t) { + return s[t.getDay()]; + }, + A: function (t) { + return o[t.getDay()]; + }, + b: function (t) { + return c[t.getMonth()]; + }, + B: function (t) { + return l[t.getMonth()]; + }, + c: u(r), + d: function (t, e) { + return Ue(t.getDate(), e, 2); + }, + e: function (t, e) { + return Ue(t.getDate(), e, 2); + }, + H: function (t, e) { + return Ue(t.getHours(), e, 2); + }, + I: function (t, e) { + return Ue(t.getHours() % 12 || 12, e, 2); + }, + j: function (t, e) { + return Ue(1 + De.dayOfYear(t), e, 3); + }, + L: function (t, e) { + return Ue(t.getMilliseconds(), e, 3); + }, + m: function (t, e) { + return Ue(t.getMonth() + 1, e, 2); + }, + M: function (t, e) { + return Ue(t.getMinutes(), e, 2); + }, + p: function (t) { + return a[+(t.getHours() >= 12)]; + }, + S: function (t, e) { + return Ue(t.getSeconds(), e, 2); + }, + U: function (t, e) { + return Ue(De.sundayOfYear(t), e, 2); + }, + w: function (t) { + return t.getDay(); + }, + W: function (t, e) { + return Ue(De.mondayOfYear(t), e, 2); + }, + x: u(n), + X: u(i), + y: function (t, e) { + return Ue(t.getFullYear() % 100, e, 2); + }, + Y: function (t, e) { + return Ue(t.getFullYear() % 1e4, e, 4); + }, + Z: ir, + "%": function () { + return "%"; + }, + }, + w = { + a: function (t, e, r) { + g.lastIndex = 0; + var n = g.exec(e.slice(r)); + return n + ? ((t.w = m.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + A: function (t, e, r) { + p.lastIndex = 0; + var n = p.exec(e.slice(r)); + return n + ? ((t.w = d.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + b: function (t, e, r) { + x.lastIndex = 0; + var n = x.exec(e.slice(r)); + return n + ? ((t.m = b.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + B: function (t, e, r) { + v.lastIndex = 0; + var n = v.exec(e.slice(r)); + return n + ? ((t.m = y.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + c: function (t, e, r) { + return f(t, _.c.toString(), e, r); + }, + d: Qe, + e: Qe, + H: tr, + I: tr, + j: $e, + L: nr, + m: Ke, + M: er, + p: function (t, e, r) { + var n = h.get(e.slice(r, (r += 2)).toLowerCase()); + return null == n ? -1 : ((t.p = n), r); + }, + S: rr, + U: We, + w: Ge, + W: Ye, + x: function (t, e, r) { + return f(t, _.x.toString(), e, r); + }, + X: function (t, e, r) { + return f(t, _.X.toString(), e, r); + }, + y: Ze, + Y: Xe, + Z: Je, + "%": ar, + }; + return u; + })(e), + }; + }; + var sr = t.locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + dateTime: "%a %b %e %X %Y", + date: "%m/%d/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + shortMonths: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + }); + function lr() {} + ((t.format = sr.numberFormat), + (t.geo = {}), + (lr.prototype = { + s: 0, + t: 0, + add: function (t) { + (ur(t, this.t, cr), + ur(cr.s, this.s, this), + this.s ? (this.t += cr.t) : (this.s = cr.t)); + }, + reset: function () { + this.s = this.t = 0; + }, + valueOf: function () { + return this.s; + }, + })); + var cr = new lr(); + function ur(t, e, r) { + var n = (r.s = t + e), + i = n - t, + a = n - i; + r.t = t - a + (e - i); + } + function fr(t, e) { + t && pr.hasOwnProperty(t.type) && pr[t.type](t, e); + } + t.geo.stream = function (t, e) { + t && hr.hasOwnProperty(t.type) ? hr[t.type](t, e) : fr(t, e); + }; + var hr = { + Feature: function (t, e) { + fr(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for (var r = t.features, n = -1, i = r.length; ++n < i; ) + fr(r[n].geometry, e); + }, + }, + pr = { + Sphere: function (t, e) { + e.sphere(); + }, + Point: function (t, e) { + ((t = t.coordinates), e.point(t[0], t[1], t[2])); + }, + MultiPoint: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + ((t = r[n]), e.point(t[0], t[1], t[2])); + }, + LineString: function (t, e) { + dr(t.coordinates, e, 0); + }, + MultiLineString: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + dr(r[n], e, 0); + }, + Polygon: function (t, e) { + gr(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + gr(r[n], e); + }, + GeometryCollection: function (t, e) { + for (var r = t.geometries, n = -1, i = r.length; ++n < i; ) + fr(r[n], e); + }, + }; + function dr(t, e, r) { + var n, + i = -1, + a = t.length - r; + for (e.lineStart(); ++i < a; ) ((n = t[i]), e.point(n[0], n[1], n[2])); + e.lineEnd(); + } + function gr(t, e) { + var r = -1, + n = t.length; + for (e.polygonStart(); ++r < n; ) dr(t[r], e, 1); + e.polygonEnd(); + } + t.geo.area = function (e) { + return ((mr = 0), t.geo.stream(e, Er), mr); + }; + var mr, + vr, + yr, + xr, + br, + _r, + wr, + kr, + Mr, + Ar, + Tr, + Sr, + Cr = new lr(), + Er = { + sphere: function () { + mr += 4 * At; + }, + point: I, + lineStart: I, + lineEnd: I, + polygonStart: function () { + (Cr.reset(), (Er.lineStart = Lr)); + }, + polygonEnd: function () { + var t = 2 * Cr; + ((mr += t < 0 ? 4 * At + t : t), + (Er.lineStart = Er.lineEnd = Er.point = I)); + }, + }; + function Lr() { + var t, e, r, n, i; + function a(t, e) { + e = (e * Et) / 2 + At / 4; + var a = (t *= Et) - r, + o = a >= 0 ? 1 : -1, + s = o * a, + l = Math.cos(e), + c = Math.sin(e), + u = i * c, + f = n * l + u * Math.cos(s), + h = u * o * Math.sin(s); + (Cr.add(Math.atan2(h, f)), (r = t), (n = l), (i = c)); + } + ((Er.point = function (o, s) { + ((Er.point = a), + (r = (t = o) * Et), + (n = Math.cos((s = ((e = s) * Et) / 2 + At / 4))), + (i = Math.sin(s))); + }), + (Er.lineEnd = function () { + a(t, e); + })); + } + function zr(t) { + var e = t[0], + r = t[1], + n = Math.cos(r); + return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; + } + function Pr(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + } + function Dr(t, e) { + return [ + t[1] * e[2] - t[2] * e[1], + t[2] * e[0] - t[0] * e[2], + t[0] * e[1] - t[1] * e[0], + ]; + } + function Or(t, e) { + ((t[0] += e[0]), (t[1] += e[1]), (t[2] += e[2])); + } + function Ir(t, e) { + return [t[0] * e, t[1] * e, t[2] * e]; + } + function Rr(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); + ((t[0] /= e), (t[1] /= e), (t[2] /= e)); + } + function Br(t) { + return [Math.atan2(t[1], t[0]), Ot(t[2])]; + } + function Fr(t, e) { + return y(t[0] - e[0]) < kt && y(t[1] - e[1]) < kt; + } + ((t.geo.bounds = (function () { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h = { + point: p, + lineStart: g, + lineEnd: m, + polygonStart: function () { + ((h.point = v), + (h.lineStart = x), + (h.lineEnd = b), + (c = 0), + Er.polygonStart()); + }, + polygonEnd: function () { + (Er.polygonEnd(), + (h.point = p), + (h.lineStart = g), + (h.lineEnd = m), + Cr < 0 + ? ((e = -(n = 180)), (r = -(i = 90))) + : c > kt + ? (i = 90) + : c < -kt && (r = -90), + (f[0] = e), + (f[1] = n)); + }, + }; + function p(t, a) { + (u.push((f = [(e = t), (n = t)])), a < r && (r = a), a > i && (i = a)); + } + function d(t, o) { + var s = zr([t * Et, o * Et]); + if (l) { + var c = Dr(l, s), + u = Dr([c[1], -c[0], 0], c); + (Rr(u), (u = Br(u))); + var f = t - a, + h = f > 0 ? 1 : -1, + d = u[0] * Lt * h, + g = y(f) > 180; + if (g ^ (h * a < d && d < h * t)) (m = u[1] * Lt) > i && (i = m); + else if (g ^ (h * a < (d = ((d + 360) % 360) - 180) && d < h * t)) { + var m; + (m = -u[1] * Lt) < r && (r = m); + } else (o < r && (r = o), o > i && (i = o)); + g + ? t < a + ? _(e, t) > _(e, n) && (n = t) + : _(t, n) > _(e, n) && (e = t) + : n >= e + ? (t < e && (e = t), t > n && (n = t)) + : t > a + ? _(e, t) > _(e, n) && (n = t) + : _(t, n) > _(e, n) && (e = t); + } else p(t, o); + ((l = s), (a = t)); + } + function g() { + h.point = d; + } + function m() { + ((f[0] = e), (f[1] = n), (h.point = p), (l = null)); + } + function v(t, e) { + if (l) { + var r = t - a; + c += y(r) > 180 ? r + (r > 0 ? 360 : -360) : r; + } else ((o = t), (s = e)); + (Er.point(t, e), d(t, e)); + } + function x() { + Er.lineStart(); + } + function b() { + (v(o, s), + Er.lineEnd(), + y(c) > kt && (e = -(n = 180)), + (f[0] = e), + (f[1] = n), + (l = null)); + } + function _(t, e) { + return (e -= t) < 0 ? e + 360 : e; + } + function w(t, e) { + return t[0] - e[0]; + } + function k(t, e) { + return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t; + } + return function (a) { + if ( + ((i = n = -(e = r = 1 / 0)), + (u = []), + t.geo.stream(a, h), + (c = u.length)) + ) { + u.sort(w); + for (var o = 1, s = [(g = u[0])]; o < c; ++o) + k((p = u[o])[0], g) || k(p[1], g) + ? (_(g[0], p[1]) > _(g[0], g[1]) && (g[1] = p[1]), + _(p[0], g[1]) > _(g[0], g[1]) && (g[0] = p[0])) + : s.push((g = p)); + for ( + var l, c, p, d = -1 / 0, g = ((o = 0), s[(c = s.length - 1)]); + o <= c; + g = p, ++o + ) + ((p = s[o]), + (l = _(g[1], p[0])) > d && ((d = l), (e = p[0]), (n = g[1]))); + } + return ( + (u = f = null), + e === 1 / 0 || r === 1 / 0 + ? [ + [NaN, NaN], + [NaN, NaN], + ] + : [ + [e, r], + [n, i], + ] + ); + }; + })()), + (t.geo.centroid = function (e) { + ((vr = yr = xr = br = _r = wr = kr = Mr = Ar = Tr = Sr = 0), + t.geo.stream(e, Nr)); + var r = Ar, + n = Tr, + i = Sr, + a = r * r + n * n + i * i; + return a < Mt && + ((r = wr), + (n = kr), + (i = Mr), + yr < kt && ((r = xr), (n = br), (i = _r)), + (a = r * r + n * n + i * i) < Mt) + ? [NaN, NaN] + : [Math.atan2(n, r) * Lt, Ot(i / Math.sqrt(a)) * Lt]; + })); + var Nr = { + sphere: I, + point: jr, + lineStart: Ur, + lineEnd: qr, + polygonStart: function () { + Nr.lineStart = Hr; + }, + polygonEnd: function () { + Nr.lineStart = Ur; + }, + }; + function jr(t, e) { + t *= Et; + var r = Math.cos((e *= Et)); + Vr(r * Math.cos(t), r * Math.sin(t), Math.sin(e)); + } + function Vr(t, e, r) { + ((xr += (t - xr) / ++vr), (br += (e - br) / vr), (_r += (r - _r) / vr)); + } + function Ur() { + var t, e, r; + function n(n, i) { + n *= Et; + var a = Math.cos((i *= Et)), + o = a * Math.cos(n), + s = a * Math.sin(n), + l = Math.sin(i), + c = Math.atan2( + Math.sqrt( + (c = e * l - r * s) * c + + (c = r * o - t * l) * c + + (c = t * s - e * o) * c, + ), + t * o + e * s + r * l, + ); + ((yr += c), + (wr += c * (t + (t = o))), + (kr += c * (e + (e = s))), + (Mr += c * (r + (r = l))), + Vr(t, e, r)); + } + Nr.point = function (i, a) { + i *= Et; + var o = Math.cos((a *= Et)); + ((t = o * Math.cos(i)), + (e = o * Math.sin(i)), + (r = Math.sin(a)), + (Nr.point = n), + Vr(t, e, r)); + }; + } + function qr() { + Nr.point = jr; + } + function Hr() { + var t, e, r, n, i; + function a(t, e) { + t *= Et; + var a = Math.cos((e *= Et)), + o = a * Math.cos(t), + s = a * Math.sin(t), + l = Math.sin(e), + c = n * l - i * s, + u = i * o - r * l, + f = r * s - n * o, + h = Math.sqrt(c * c + u * u + f * f), + p = r * o + n * s + i * l, + d = h && -Dt(p) / h, + g = Math.atan2(h, p); + ((Ar += d * c), + (Tr += d * u), + (Sr += d * f), + (yr += g), + (wr += g * (r + (r = o))), + (kr += g * (n + (n = s))), + (Mr += g * (i + (i = l))), + Vr(r, n, i)); + } + ((Nr.point = function (o, s) { + ((t = o), (e = s), (Nr.point = a), (o *= Et)); + var l = Math.cos((s *= Et)); + ((r = l * Math.cos(o)), + (n = l * Math.sin(o)), + (i = Math.sin(s)), + Vr(r, n, i)); + }), + (Nr.lineEnd = function () { + (a(t, e), (Nr.lineEnd = qr), (Nr.point = jr)); + })); + } + function Gr(t, e) { + function r(r, n) { + return ((r = t(r, n)), e(r[0], r[1])); + } + return ( + t.invert && + e.invert && + (r.invert = function (r, n) { + return (r = e.invert(r, n)) && t.invert(r[0], r[1]); + }), + r + ); + } + function Wr() { + return !0; + } + function Yr(t, e, r, n, i) { + var a = [], + o = []; + if ( + (t.forEach(function (t) { + if (!((e = t.length - 1) <= 0)) { + var e, + r = t[0], + n = t[e]; + if (Fr(r, n)) { + i.lineStart(); + for (var s = 0; s < e; ++s) i.point((r = t[s])[0], r[1]); + i.lineEnd(); + } else { + var l = new Zr(r, t, null, !0), + c = new Zr(r, null, l, !1); + ((l.o = c), + a.push(l), + o.push(c), + (c = new Zr(n, null, (l = new Zr(n, t, null, !1)), !0)), + (l.o = c), + a.push(l), + o.push(c)); + } + } + }), + o.sort(e), + Xr(a), + Xr(o), + a.length) + ) { + for (var s = 0, l = r, c = o.length; s < c; ++s) o[s].e = l = !l; + for (var u, f, h = a[0]; ; ) { + for (var p = h, d = !0; p.v; ) if ((p = p.n) === h) return; + ((u = p.z), i.lineStart()); + do { + if (((p.v = p.o.v = !0), p.e)) { + if (d) + for (s = 0, c = u.length; s < c; ++s) + i.point((f = u[s])[0], f[1]); + else n(p.x, p.n.x, 1, i); + p = p.n; + } else { + if (d) + for (s = (u = p.p.z).length - 1; s >= 0; --s) + i.point((f = u[s])[0], f[1]); + else n(p.x, p.p.x, -1, i); + p = p.p; + } + ((u = (p = p.o).z), (d = !d)); + } while (!p.v); + i.lineEnd(); + } + } + } + function Xr(t) { + if ((e = t.length)) { + for (var e, r, n = 0, i = t[0]; ++n < e; ) + ((i.n = r = t[n]), (r.p = i), (i = r)); + ((i.n = r = t[0]), (r.p = i)); + } + } + function Zr(t, e, r, n) { + ((this.x = t), + (this.z = e), + (this.o = r), + (this.e = n), + (this.v = !1), + (this.n = this.p = null)); + } + function Jr(e, r, n, i) { + return function (a, o) { + var s, + l = r(o), + c = a.invert(i[0], i[1]), + u = { + point: f, + lineStart: p, + lineEnd: d, + polygonStart: function () { + ((u.point = b), + (u.lineStart = _), + (u.lineEnd = w), + (s = []), + (g = [])); + }, + polygonEnd: function () { + ((u.point = f), + (u.lineStart = p), + (u.lineEnd = d), + (s = t.merge(s))); + var e = (function (t, e) { + var r = t[0], + n = t[1], + i = [Math.sin(r), -Math.cos(r), 0], + a = 0, + o = 0; + Cr.reset(); + for (var s = 0, l = e.length; s < l; ++s) { + var c = e[s], + u = c.length; + if (u) + for ( + var f = c[0], + h = f[0], + p = f[1] / 2 + At / 4, + d = Math.sin(p), + g = Math.cos(p), + m = 1; + ; + + ) { + m === u && (m = 0); + var v = (t = c[m])[0], + y = t[1] / 2 + At / 4, + x = Math.sin(y), + b = Math.cos(y), + _ = v - h, + w = _ >= 0 ? 1 : -1, + k = w * _, + M = k > At, + A = d * x; + if ( + (Cr.add( + Math.atan2( + A * w * Math.sin(k), + g * b + A * Math.cos(k), + ), + ), + (a += M ? _ + w * Tt : _), + M ^ (h >= r) ^ (v >= r)) + ) { + var T = Dr(zr(f), zr(t)); + Rr(T); + var S = Dr(i, T); + Rr(S); + var C = (M ^ (_ >= 0) ? -1 : 1) * Ot(S[2]); + (n > C || (n === C && (T[0] || T[1]))) && + (o += M ^ (_ >= 0) ? 1 : -1); + } + if (!m++) break; + ((h = v), (d = x), (g = b), (f = t)); + } + } + return (a < -kt || (a < kt && Cr < -kt)) ^ (1 & o); + })(c, g); + (s.length + ? (x || (o.polygonStart(), (x = !0)), Yr(s, $r, e, n, o)) + : e && + (x || (o.polygonStart(), (x = !0)), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd()), + x && (o.polygonEnd(), (x = !1)), + (s = g = null)); + }, + sphere: function () { + (o.polygonStart(), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd(), + o.polygonEnd()); + }, + }; + function f(t, r) { + var n = a(t, r); + e((t = n[0]), (r = n[1])) && o.point(t, r); + } + function h(t, e) { + var r = a(t, e); + l.point(r[0], r[1]); + } + function p() { + ((u.point = h), l.lineStart()); + } + function d() { + ((u.point = f), l.lineEnd()); + } + var g, + m, + v = Qr(), + y = r(v), + x = !1; + function b(t, e) { + m.push([t, e]); + var r = a(t, e); + y.point(r[0], r[1]); + } + function _() { + (y.lineStart(), (m = [])); + } + function w() { + (b(m[0][0], m[0][1]), y.lineEnd()); + var t, + e = y.clean(), + r = v.buffer(), + n = r.length; + if ((m.pop(), g.push(m), (m = null), n)) + if (1 & e) { + var i, + a = -1; + if ((n = (t = r[0]).length - 1) > 0) { + for ( + x || (o.polygonStart(), (x = !0)), o.lineStart(); + ++a < n; + + ) + o.point((i = t[a])[0], i[1]); + o.lineEnd(); + } + } else + (n > 1 && 2 & e && r.push(r.pop().concat(r.shift())), + s.push(r.filter(Kr))); + } + return u; + }; + } + function Kr(t) { + return t.length > 1; + } + function Qr() { + var t, + e = []; + return { + lineStart: function () { + e.push((t = [])); + }, + point: function (e, r) { + t.push([e, r]); + }, + lineEnd: I, + buffer: function () { + var r = e; + return ((e = []), (t = null), r); + }, + rejoin: function () { + e.length > 1 && e.push(e.pop().concat(e.shift())); + }, + }; + } + function $r(t, e) { + return ( + ((t = t.x)[0] < 0 ? t[1] - Ct - kt : Ct - t[1]) - + ((e = e.x)[0] < 0 ? e[1] - Ct - kt : Ct - e[1]) + ); + } + var tn = Jr( + Wr, + function (t) { + var e, + r = NaN, + n = NaN, + i = NaN; + return { + lineStart: function () { + (t.lineStart(), (e = 1)); + }, + point: function (a, o) { + var s = a > 0 ? At : -At, + l = y(a - r); + (y(l - At) < kt + ? (t.point(r, (n = (n + o) / 2 > 0 ? Ct : -Ct)), + t.point(i, n), + t.lineEnd(), + t.lineStart(), + t.point(s, n), + t.point(a, n), + (e = 0)) + : i !== s && + l >= At && + (y(r - i) < kt && (r -= i * kt), + y(a - s) < kt && (a -= s * kt), + (n = (function (t, e, r, n) { + var i, + a, + o = Math.sin(t - r); + return y(o) > kt + ? Math.atan( + (Math.sin(e) * (a = Math.cos(n)) * Math.sin(r) - + Math.sin(n) * (i = Math.cos(e)) * Math.sin(t)) / + (i * a * o), + ) + : (e + n) / 2; + })(r, n, a, o)), + t.point(i, n), + t.lineEnd(), + t.lineStart(), + t.point(s, n), + (e = 0)), + t.point((r = a), (n = o)), + (i = s)); + }, + lineEnd: function () { + (t.lineEnd(), (r = n = NaN)); + }, + clean: function () { + return 2 - e; + }, + }; + }, + function (t, e, r, n) { + var i; + if (null == t) + ((i = r * Ct), + n.point(-At, i), + n.point(0, i), + n.point(At, i), + n.point(At, 0), + n.point(At, -i), + n.point(0, -i), + n.point(-At, -i), + n.point(-At, 0), + n.point(-At, i)); + else if (y(t[0] - e[0]) > kt) { + var a = t[0] < e[0] ? At : -At; + ((i = (r * a) / 2), n.point(-a, i), n.point(0, i), n.point(a, i)); + } else n.point(e[0], e[1]); + }, + [-At, -At / 2], + ); + function en(t, e, r, n) { + return function (i) { + var a, + o = i.a, + s = i.b, + l = o.x, + c = o.y, + u = 0, + f = 1, + h = s.x - l, + p = s.y - c; + if (((a = t - l), h || !(a > 0))) { + if (((a /= h), h < 0)) { + if (a < u) return; + a < f && (f = a); + } else if (h > 0) { + if (a > f) return; + a > u && (u = a); + } + if (((a = r - l), h || !(a < 0))) { + if (((a /= h), h < 0)) { + if (a > f) return; + a > u && (u = a); + } else if (h > 0) { + if (a < u) return; + a < f && (f = a); + } + if (((a = e - c), p || !(a > 0))) { + if (((a /= p), p < 0)) { + if (a < u) return; + a < f && (f = a); + } else if (p > 0) { + if (a > f) return; + a > u && (u = a); + } + if (((a = n - c), p || !(a < 0))) { + if (((a /= p), p < 0)) { + if (a > f) return; + a > u && (u = a); + } else if (p > 0) { + if (a < u) return; + a < f && (f = a); + } + return ( + u > 0 && (i.a = { x: l + u * h, y: c + u * p }), + f < 1 && (i.b = { x: l + f * h, y: c + f * p }), + i + ); + } + } + } + } + }; + } + var rn = 1e9; + function nn(e, r, n, i) { + return function (l) { + var c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b = l, + _ = Qr(), + w = en(e, r, n, i), + k = { + point: T, + lineStart: function () { + ((k.point = S), u && u.push((f = []))); + ((y = !0), (v = !1), (g = m = NaN)); + }, + lineEnd: function () { + c && (S(h, p), d && v && _.rejoin(), c.push(_.buffer())); + ((k.point = T), v && l.lineEnd()); + }, + polygonStart: function () { + ((l = _), (c = []), (u = []), (x = !0)); + }, + polygonEnd: function () { + ((l = b), (c = t.merge(c))); + var r = (function (t) { + for (var e = 0, r = u.length, n = t[1], i = 0; i < r; ++i) + for ( + var a, o = 1, s = u[i], l = s.length, c = s[0]; + o < l; + ++o + ) + ((a = s[o]), + c[1] <= n + ? a[1] > n && Pt(c, a, t) > 0 && ++e + : a[1] <= n && Pt(c, a, t) < 0 && --e, + (c = a)); + return 0 !== e; + })([e, i]), + n = x && r, + a = c.length; + ((n || a) && + (l.polygonStart(), + n && (l.lineStart(), M(null, null, 1, l), l.lineEnd()), + a && Yr(c, o, r, M, l), + l.polygonEnd()), + (c = u = f = null)); + }, + }; + function M(t, o, l, c) { + var u = 0, + f = 0; + if ( + null == t || + (u = a(t, l)) !== (f = a(o, l)) || + (s(t, o) < 0) ^ (l > 0) + ) + do { + c.point(0 === u || 3 === u ? e : n, u > 1 ? i : r); + } while ((u = (u + l + 4) % 4) !== f); + else c.point(o[0], o[1]); + } + function A(t, a) { + return e <= t && t <= n && r <= a && a <= i; + } + function T(t, e) { + A(t, e) && l.point(t, e); + } + function S(t, e) { + var r = A( + (t = Math.max(-rn, Math.min(rn, t))), + (e = Math.max(-rn, Math.min(rn, e))), + ); + if ((u && f.push([t, e]), y)) + ((h = t), + (p = e), + (d = r), + (y = !1), + r && (l.lineStart(), l.point(t, e))); + else if (r && v) l.point(t, e); + else { + var n = { a: { x: g, y: m }, b: { x: t, y: e } }; + w(n) + ? (v || (l.lineStart(), l.point(n.a.x, n.a.y)), + l.point(n.b.x, n.b.y), + r || l.lineEnd(), + (x = !1)) + : r && (l.lineStart(), l.point(t, e), (x = !1)); + } + ((g = t), (m = e), (v = r)); + } + return k; + }; + function a(t, i) { + return y(t[0] - e) < kt + ? i > 0 + ? 0 + : 3 + : y(t[0] - n) < kt + ? i > 0 + ? 2 + : 1 + : y(t[1] - r) < kt + ? i > 0 + ? 1 + : 0 + : i > 0 + ? 3 + : 2; + } + function o(t, e) { + return s(t.x, e.x); + } + function s(t, e) { + var r = a(t, 1), + n = a(e, 1); + return r !== n + ? r - n + : 0 === r + ? e[1] - t[1] + : 1 === r + ? t[0] - e[0] + : 2 === r + ? t[1] - e[1] + : e[0] - t[0]; + } + } + function an(t) { + var e = 0, + r = At / 3, + n = Sn(t), + i = n(e, r); + return ( + (i.parallels = function (t) { + return arguments.length + ? n((e = (t[0] * At) / 180), (r = (t[1] * At) / 180)) + : [(e / At) * 180, (r / At) * 180]; + }), + i + ); + } + function on(t, e) { + var r = Math.sin(t), + n = (r + Math.sin(e)) / 2, + i = 1 + r * (2 * n - r), + a = Math.sqrt(i) / n; + function o(t, e) { + var r = Math.sqrt(i - 2 * n * Math.sin(e)) / n; + return [r * Math.sin((t *= n)), a - r * Math.cos(t)]; + } + return ( + (o.invert = function (t, e) { + var r = a - e; + return [ + Math.atan2(t, r) / n, + Ot((i - (t * t + r * r) * n * n) / (2 * n)), + ]; + }), + o + ); + } + ((t.geo.clipExtent = function () { + var t, + e, + r, + n, + i, + a, + o = { + stream: function (t) { + return (i && (i.valid = !1), ((i = a(t)).valid = !0), i); + }, + extent: function (s) { + return arguments.length + ? ((a = nn( + (t = +s[0][0]), + (e = +s[0][1]), + (r = +s[1][0]), + (n = +s[1][1]), + )), + i && ((i.valid = !1), (i = null)), + o) + : [ + [t, e], + [r, n], + ]; + }, + }; + return o.extent([ + [0, 0], + [960, 500], + ]); + }), + ((t.geo.conicEqualArea = function () { + return an(on); + }).raw = on), + (t.geo.albers = function () { + return t.geo + .conicEqualArea() + .rotate([96, 0]) + .center([-0.6, 38.7]) + .parallels([29.5, 45.5]) + .scale(1070); + }), + (t.geo.albersUsa = function () { + var e, + r, + n, + i, + a = t.geo.albers(), + o = t.geo + .conicEqualArea() + .rotate([154, 0]) + .center([-2, 58.5]) + .parallels([55, 65]), + s = t.geo + .conicEqualArea() + .rotate([157, 0]) + .center([-3, 19.9]) + .parallels([8, 18]), + l = { + point: function (t, r) { + e = [t, r]; + }, + }; + function c(t) { + var a = t[0], + o = t[1]; + return ((e = null), r(a, o), e || (n(a, o), e) || i(a, o), e); + } + return ( + (c.invert = function (t) { + var e = a.scale(), + r = a.translate(), + n = (t[0] - r[0]) / e, + i = (t[1] - r[1]) / e; + return ( + i >= 0.12 && i < 0.234 && n >= -0.425 && n < -0.214 + ? o + : i >= 0.166 && i < 0.234 && n >= -0.214 && n < -0.115 + ? s + : a + ).invert(t); + }), + (c.stream = function (t) { + var e = a.stream(t), + r = o.stream(t), + n = s.stream(t); + return { + point: function (t, i) { + (e.point(t, i), r.point(t, i), n.point(t, i)); + }, + sphere: function () { + (e.sphere(), r.sphere(), n.sphere()); + }, + lineStart: function () { + (e.lineStart(), r.lineStart(), n.lineStart()); + }, + lineEnd: function () { + (e.lineEnd(), r.lineEnd(), n.lineEnd()); + }, + polygonStart: function () { + (e.polygonStart(), r.polygonStart(), n.polygonStart()); + }, + polygonEnd: function () { + (e.polygonEnd(), r.polygonEnd(), n.polygonEnd()); + }, + }; + }), + (c.precision = function (t) { + return arguments.length + ? (a.precision(t), o.precision(t), s.precision(t), c) + : a.precision(); + }), + (c.scale = function (t) { + return arguments.length + ? (a.scale(t), + o.scale(0.35 * t), + s.scale(t), + c.translate(a.translate())) + : a.scale(); + }), + (c.translate = function (t) { + if (!arguments.length) return a.translate(); + var e = a.scale(), + u = +t[0], + f = +t[1]; + return ( + (r = a + .translate(t) + .clipExtent([ + [u - 0.455 * e, f - 0.238 * e], + [u + 0.455 * e, f + 0.238 * e], + ]) + .stream(l).point), + (n = o + .translate([u - 0.307 * e, f + 0.201 * e]) + .clipExtent([ + [u - 0.425 * e + kt, f + 0.12 * e + kt], + [u - 0.214 * e - kt, f + 0.234 * e - kt], + ]) + .stream(l).point), + (i = s + .translate([u - 0.205 * e, f + 0.212 * e]) + .clipExtent([ + [u - 0.214 * e + kt, f + 0.166 * e + kt], + [u - 0.115 * e - kt, f + 0.234 * e - kt], + ]) + .stream(l).point), + c + ); + }), + c.scale(1070) + ); + })); + var sn, + ln, + cn, + un, + fn, + hn, + pn = { + point: I, + lineStart: I, + lineEnd: I, + polygonStart: function () { + ((ln = 0), (pn.lineStart = dn)); + }, + polygonEnd: function () { + ((pn.lineStart = pn.lineEnd = pn.point = I), (sn += y(ln / 2))); + }, + }; + function dn() { + var t, e, r, n; + function i(t, e) { + ((ln += n * t - r * e), (r = t), (n = e)); + } + ((pn.point = function (a, o) { + ((pn.point = i), (t = r = a), (e = n = o)); + }), + (pn.lineEnd = function () { + i(t, e); + })); + } + var gn = { + point: function (t, e) { + t < cn && (cn = t); + t > fn && (fn = t); + e < un && (un = e); + e > hn && (hn = e); + }, + lineStart: I, + lineEnd: I, + polygonStart: I, + polygonEnd: I, + }; + function mn(t) { + return ( + "m0," + + t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + -2 * t + + "a" + + t + + "," + + t + + " 0 1,1 0," + + 2 * t + + "z" + ); + } + var vn, + yn = { + point: xn, + lineStart: bn, + lineEnd: _n, + polygonStart: function () { + yn.lineStart = wn; + }, + polygonEnd: function () { + ((yn.point = xn), (yn.lineStart = bn), (yn.lineEnd = _n)); + }, + }; + function xn(t, e) { + ((xr += t), (br += e), ++_r); + } + function bn() { + var t, e; + function r(r, n) { + var i = r - t, + a = n - e, + o = Math.sqrt(i * i + a * a); + ((wr += (o * (t + r)) / 2), + (kr += (o * (e + n)) / 2), + (Mr += o), + xn((t = r), (e = n))); + } + yn.point = function (n, i) { + ((yn.point = r), xn((t = n), (e = i))); + }; + } + function _n() { + yn.point = xn; + } + function wn() { + var t, e, r, n; + function i(t, e) { + var i = t - r, + a = e - n, + o = Math.sqrt(i * i + a * a); + ((wr += (o * (r + t)) / 2), + (kr += (o * (n + e)) / 2), + (Mr += o), + (Ar += (o = n * t - r * e) * (r + t)), + (Tr += o * (n + e)), + (Sr += 3 * o), + xn((r = t), (n = e))); + } + ((yn.point = function (a, o) { + ((yn.point = i), xn((t = r = a), (e = n = o))); + }), + (yn.lineEnd = function () { + i(t, e); + })); + } + function kn(t) { + var e = 0.5, + r = Math.cos(30 * Et), + n = 16; + function i(e) { + return ( + n + ? function (e) { + var r, + i, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m = { + point: v, + lineStart: y, + lineEnd: b, + polygonStart: function () { + (e.polygonStart(), (m.lineStart = _)); + }, + polygonEnd: function () { + (e.polygonEnd(), (m.lineStart = y)); + }, + }; + function v(r, n) { + ((r = t(r, n)), e.point(r[0], r[1])); + } + function y() { + ((f = NaN), (m.point = x), e.lineStart()); + } + function x(r, i) { + var o = zr([r, i]), + s = t(r, i); + (a( + f, + h, + u, + p, + d, + g, + (f = s[0]), + (h = s[1]), + (u = r), + (p = o[0]), + (d = o[1]), + (g = o[2]), + n, + e, + ), + e.point(f, h)); + } + function b() { + ((m.point = v), e.lineEnd()); + } + function _() { + (y(), (m.point = w), (m.lineEnd = k)); + } + function w(t, e) { + (x((r = t), e), + (i = f), + (o = h), + (s = p), + (l = d), + (c = g), + (m.point = x)); + } + function k() { + (a(f, h, u, p, d, g, i, o, r, s, l, c, n, e), + (m.lineEnd = b), + b()); + } + return m; + } + : function (e) { + return An(e, function (r, n) { + ((r = t(r, n)), e.point(r[0], r[1])); + }); + } + )(e); + } + function a(n, i, o, s, l, c, u, f, h, p, d, g, m, v) { + var x = u - n, + b = f - i, + _ = x * x + b * b; + if (_ > 4 * e && m--) { + var w = s + p, + k = l + d, + M = c + g, + A = Math.sqrt(w * w + k * k + M * M), + T = Math.asin((M /= A)), + S = + y(y(M) - 1) < kt || y(o - h) < kt + ? (o + h) / 2 + : Math.atan2(k, w), + C = t(S, T), + E = C[0], + L = C[1], + z = E - n, + P = L - i, + D = b * z - x * P; + ((D * D) / _ > e || + y((x * z + b * P) / _ - 0.5) > 0.3 || + s * p + l * d + c * g < r) && + (a(n, i, o, s, l, c, E, L, S, (w /= A), (k /= A), M, m, v), + v.point(E, L), + a(E, L, S, w, k, M, u, f, h, p, d, g, m, v)); + } + } + return ( + (i.precision = function (t) { + return arguments.length + ? ((n = (e = t * t) > 0 && 16), i) + : Math.sqrt(e); + }), + i + ); + } + function Mn(t) { + this.stream = t; + } + function An(t, e) { + return { + point: e, + sphere: function () { + t.sphere(); + }, + lineStart: function () { + t.lineStart(); + }, + lineEnd: function () { + t.lineEnd(); + }, + polygonStart: function () { + t.polygonStart(); + }, + polygonEnd: function () { + t.polygonEnd(); + }, + }; + } + function Tn(t) { + return Sn(function () { + return t; + })(); + } + function Sn(e) { + var r, + n, + i, + a, + o, + s, + l = kn(function (t, e) { + return [(t = r(t, e))[0] * c + a, o - t[1] * c]; + }), + c = 150, + u = 480, + f = 250, + h = 0, + p = 0, + d = 0, + g = 0, + m = 0, + v = tn, + x = z, + b = null, + _ = null; + function w(t) { + return [(t = i(t[0] * Et, t[1] * Et))[0] * c + a, o - t[1] * c]; + } + function k(t) { + return ( + (t = i.invert((t[0] - a) / c, (o - t[1]) / c)) && [ + t[0] * Lt, + t[1] * Lt, + ] + ); + } + function M() { + i = Gr((n = zn(d, g, m)), r); + var t = r(h, p); + return ((a = u - t[0] * c), (o = f + t[1] * c), A()); + } + function A() { + return (s && ((s.valid = !1), (s = null)), w); + } + return ( + (w.stream = function (t) { + return (s && (s.valid = !1), ((s = Cn(v(n, l(x(t))))).valid = !0), s); + }), + (w.clipAngle = function (t) { + return arguments.length + ? ((v = + null == t + ? ((b = t), tn) + : (function (t) { + var e = Math.cos(t), + r = e > 0, + n = y(e) > kt; + return Jr( + i, + function (t) { + var e, s, l, c, u; + return { + lineStart: function () { + ((c = l = !1), (u = 1)); + }, + point: function (f, h) { + var p, + d = [f, h], + g = i(f, h), + m = r + ? g + ? 0 + : o(f, h) + : g + ? o(f + (f < 0 ? At : -At), h) + : 0; + if ( + (!e && (c = l = g) && t.lineStart(), + g !== l && + ((p = a(e, d)), + (Fr(e, p) || Fr(d, p)) && + ((d[0] += kt), + (d[1] += kt), + (g = i(d[0], d[1])))), + g !== l) + ) + ((u = 0), + g + ? (t.lineStart(), + (p = a(d, e)), + t.point(p[0], p[1])) + : ((p = a(e, d)), + t.point(p[0], p[1]), + t.lineEnd()), + (e = p)); + else if (n && e && r ^ g) { + var v; + m & s || + !(v = a(d, e, !0)) || + ((u = 0), + r + ? (t.lineStart(), + t.point(v[0][0], v[0][1]), + t.point(v[1][0], v[1][1]), + t.lineEnd()) + : (t.point(v[1][0], v[1][1]), + t.lineEnd(), + t.lineStart(), + t.point(v[0][0], v[0][1]))); + } + (!g || (e && Fr(e, d)) || t.point(d[0], d[1]), + (e = d), + (l = g), + (s = m)); + }, + lineEnd: function () { + (l && t.lineEnd(), (e = null)); + }, + clean: function () { + return u | ((c && l) << 1); + }, + }; + }, + In(t, 6 * Et), + r ? [0, -t] : [-At, t - At], + ); + function i(t, r) { + return Math.cos(t) * Math.cos(r) > e; + } + function a(t, r, n) { + var i = [1, 0, 0], + a = Dr(zr(t), zr(r)), + o = Pr(a, a), + s = a[0], + l = o - s * s; + if (!l) return !n && t; + var c = (e * o) / l, + u = (-e * s) / l, + f = Dr(i, a), + h = Ir(i, c); + Or(h, Ir(a, u)); + var p = f, + d = Pr(h, p), + g = Pr(p, p), + m = d * d - g * (Pr(h, h) - 1); + if (!(m < 0)) { + var v = Math.sqrt(m), + x = Ir(p, (-d - v) / g); + if ((Or(x, h), (x = Br(x)), !n)) return x; + var b, + _ = t[0], + w = r[0], + k = t[1], + M = r[1]; + w < _ && ((b = _), (_ = w), (w = b)); + var A = w - _, + T = y(A - At) < kt; + if ( + (!T && M < k && ((b = k), (k = M), (M = b)), + T || A < kt + ? T + ? (k + M > 0) ^ + (x[1] < (y(x[0] - _) < kt ? k : M)) + : k <= x[1] && x[1] <= M + : (A > At) ^ (_ <= x[0] && x[0] <= w)) + ) { + var S = Ir(p, (-d + v) / g); + return (Or(S, h), [x, Br(S)]); + } + } + } + function o(e, n) { + var i = r ? t : At - t, + a = 0; + return ( + e < -i ? (a |= 1) : e > i && (a |= 2), + n < -i ? (a |= 4) : n > i && (a |= 8), + a + ); + } + })((b = +t) * Et)), + A()) + : b; + }), + (w.clipExtent = function (t) { + return arguments.length + ? ((_ = t), + (x = t ? nn(t[0][0], t[0][1], t[1][0], t[1][1]) : z), + A()) + : _; + }), + (w.scale = function (t) { + return arguments.length ? ((c = +t), M()) : c; + }), + (w.translate = function (t) { + return arguments.length ? ((u = +t[0]), (f = +t[1]), M()) : [u, f]; + }), + (w.center = function (t) { + return arguments.length + ? ((h = (t[0] % 360) * Et), (p = (t[1] % 360) * Et), M()) + : [h * Lt, p * Lt]; + }), + (w.rotate = function (t) { + return arguments.length + ? ((d = (t[0] % 360) * Et), + (g = (t[1] % 360) * Et), + (m = t.length > 2 ? (t[2] % 360) * Et : 0), + M()) + : [d * Lt, g * Lt, m * Lt]; + }), + t.rebind(w, l, "precision"), + function () { + return ( + (r = e.apply(this, arguments)), + (w.invert = r.invert && k), + M() + ); + } + ); + } + function Cn(t) { + return An(t, function (e, r) { + t.point(e * Et, r * Et); + }); + } + function En(t, e) { + return [t, e]; + } + function Ln(t, e) { + return [t > At ? t - Tt : t < -At ? t + Tt : t, e]; + } + function zn(t, e, r) { + return t + ? e || r + ? Gr(Dn(t), On(e, r)) + : Dn(t) + : e || r + ? On(e, r) + : Ln; + } + function Pn(t) { + return function (e, r) { + return [(e += t) > At ? e - Tt : e < -At ? e + Tt : e, r]; + }; + } + function Dn(t) { + var e = Pn(t); + return ((e.invert = Pn(-t)), e); + } + function On(t, e) { + var r = Math.cos(t), + n = Math.sin(t), + i = Math.cos(e), + a = Math.sin(e); + function o(t, e) { + var o = Math.cos(e), + s = Math.cos(t) * o, + l = Math.sin(t) * o, + c = Math.sin(e), + u = c * r + s * n; + return [Math.atan2(l * i - u * a, s * r - c * n), Ot(u * i + l * a)]; + } + return ( + (o.invert = function (t, e) { + var o = Math.cos(e), + s = Math.cos(t) * o, + l = Math.sin(t) * o, + c = Math.sin(e), + u = c * i - l * a; + return [Math.atan2(l * i + c * a, s * r + u * n), Ot(u * r - s * n)]; + }), + o + ); + } + function In(t, e) { + var r = Math.cos(t), + n = Math.sin(t); + return function (i, a, o, s) { + var l = o * e; + null != i + ? ((i = Rn(r, i)), + (a = Rn(r, a)), + (o > 0 ? i < a : i > a) && (i += o * Tt)) + : ((i = t + o * Tt), (a = t - 0.5 * l)); + for (var c, u = i; o > 0 ? u > a : u < a; u -= l) + s.point((c = Br([r, -n * Math.cos(u), -n * Math.sin(u)]))[0], c[1]); + }; + } + function Rn(t, e) { + var r = zr(e); + ((r[0] -= t), Rr(r)); + var n = Dt(-r[1]); + return ((-r[2] < 0 ? -n : n) + 2 * Math.PI - kt) % (2 * Math.PI); + } + function Bn(e, r, n) { + var i = t.range(e, r - kt, n).concat(r); + return function (t) { + return i.map(function (e) { + return [t, e]; + }); + }; + } + function Fn(e, r, n) { + var i = t.range(e, r - kt, n).concat(r); + return function (t) { + return i.map(function (e) { + return [e, t]; + }); + }; + } + function Nn(t) { + return t.source; + } + function jn(t) { + return t.target; + } + ((t.geo.path = function () { + var e, + r, + n, + i, + a, + o = 4.5; + function s(e) { + return ( + e && + ("function" == typeof o && i.pointRadius(+o.apply(this, arguments)), + (a && a.valid) || (a = n(i)), + t.geo.stream(e, a)), + i.result() + ); + } + function l() { + return ((a = null), s); + } + return ( + (s.area = function (e) { + return ((sn = 0), t.geo.stream(e, n(pn)), sn); + }), + (s.centroid = function (e) { + return ( + (xr = br = _r = wr = kr = Mr = Ar = Tr = Sr = 0), + t.geo.stream(e, n(yn)), + Sr + ? [Ar / Sr, Tr / Sr] + : Mr + ? [wr / Mr, kr / Mr] + : _r + ? [xr / _r, br / _r] + : [NaN, NaN] + ); + }), + (s.bounds = function (e) { + return ( + (fn = hn = -(cn = un = 1 / 0)), + t.geo.stream(e, n(gn)), + [ + [cn, un], + [fn, hn], + ] + ); + }), + (s.projection = function (t) { + return arguments.length + ? ((n = (e = t) + ? t.stream || + ((r = t), + (i = kn(function (t, e) { + return r([t * Lt, e * Lt]); + })), + function (t) { + return Cn(i(t)); + }) + : z), + l()) + : e; + var r, i; + }), + (s.context = function (t) { + return arguments.length + ? ((i = + null == (r = t) + ? new (function () { + var t = mn(4.5), + e = [], + r = { + point: n, + lineStart: function () { + r.point = i; + }, + lineEnd: o, + polygonStart: function () { + r.lineEnd = s; + }, + polygonEnd: function () { + ((r.lineEnd = o), (r.point = n)); + }, + pointRadius: function (e) { + return ((t = mn(e)), r); + }, + result: function () { + if (e.length) { + var t = e.join(""); + return ((e = []), t); + } + }, + }; + function n(r, n) { + e.push("M", r, ",", n, t); + } + function i(t, n) { + (e.push("M", t, ",", n), (r.point = a)); + } + function a(t, r) { + e.push("L", t, ",", r); + } + function o() { + r.point = n; + } + function s() { + e.push("Z"); + } + return r; + })() + : new (function (t) { + var e = 4.5, + r = { + point: n, + lineStart: function () { + r.point = i; + }, + lineEnd: o, + polygonStart: function () { + r.lineEnd = s; + }, + polygonEnd: function () { + ((r.lineEnd = o), (r.point = n)); + }, + pointRadius: function (t) { + return ((e = t), r); + }, + result: I, + }; + function n(r, n) { + (t.moveTo(r + e, n), t.arc(r, n, e, 0, Tt)); + } + function i(e, n) { + (t.moveTo(e, n), (r.point = a)); + } + function a(e, r) { + t.lineTo(e, r); + } + function o() { + r.point = n; + } + function s() { + t.closePath(); + } + return r; + })(t)), + "function" != typeof o && i.pointRadius(o), + l()) + : r; + }), + (s.pointRadius = function (t) { + return arguments.length + ? ((o = "function" == typeof t ? t : (i.pointRadius(+t), +t)), s) + : o; + }), + s.projection(t.geo.albersUsa()).context(null) + ); + }), + (t.geo.transform = function (t) { + return { + stream: function (e) { + var r = new Mn(e); + for (var n in t) r[n] = t[n]; + return r; + }, + }; + }), + (Mn.prototype = { + point: function (t, e) { + this.stream.point(t, e); + }, + sphere: function () { + this.stream.sphere(); + }, + lineStart: function () { + this.stream.lineStart(); + }, + lineEnd: function () { + this.stream.lineEnd(); + }, + polygonStart: function () { + this.stream.polygonStart(); + }, + polygonEnd: function () { + this.stream.polygonEnd(); + }, + }), + (t.geo.projection = Tn), + (t.geo.projectionMutator = Sn), + ((t.geo.equirectangular = function () { + return Tn(En); + }).raw = En.invert = + En), + (t.geo.rotation = function (t) { + function e(e) { + return (((e = t(e[0] * Et, e[1] * Et))[0] *= Lt), (e[1] *= Lt), e); + } + return ( + (t = zn((t[0] % 360) * Et, t[1] * Et, t.length > 2 ? t[2] * Et : 0)), + (e.invert = function (e) { + return ( + ((e = t.invert(e[0] * Et, e[1] * Et))[0] *= Lt), + (e[1] *= Lt), + e + ); + }), + e + ); + }), + (Ln.invert = En), + (t.geo.circle = function () { + var t, + e, + r = [0, 0], + n = 6; + function i() { + var t = "function" == typeof r ? r.apply(this, arguments) : r, + n = zn(-t[0] * Et, -t[1] * Et, 0).invert, + i = []; + return ( + e(null, null, 1, { + point: function (t, e) { + (i.push((t = n(t, e))), (t[0] *= Lt), (t[1] *= Lt)); + }, + }), + { type: "Polygon", coordinates: [i] } + ); + } + return ( + (i.origin = function (t) { + return arguments.length ? ((r = t), i) : r; + }), + (i.angle = function (r) { + return arguments.length ? ((e = In((t = +r) * Et, n * Et)), i) : t; + }), + (i.precision = function (r) { + return arguments.length ? ((e = In(t * Et, (n = +r) * Et)), i) : n; + }), + i.angle(90) + ); + }), + (t.geo.distance = function (t, e) { + var r, + n = (e[0] - t[0]) * Et, + i = t[1] * Et, + a = e[1] * Et, + o = Math.sin(n), + s = Math.cos(n), + l = Math.sin(i), + c = Math.cos(i), + u = Math.sin(a), + f = Math.cos(a); + return Math.atan2( + Math.sqrt((r = f * o) * r + (r = c * u - l * f * s) * r), + l * u + c * f * s, + ); + }), + (t.geo.graticule = function () { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p = 10, + d = p, + g = 90, + m = 360, + v = 2.5; + function x() { + return { type: "MultiLineString", coordinates: b() }; + } + function b() { + return t + .range(Math.ceil(i / g) * g, n, g) + .map(f) + .concat(t.range(Math.ceil(l / m) * m, s, m).map(h)) + .concat( + t + .range(Math.ceil(r / p) * p, e, p) + .filter(function (t) { + return y(t % g) > kt; + }) + .map(c), + ) + .concat( + t + .range(Math.ceil(o / d) * d, a, d) + .filter(function (t) { + return y(t % m) > kt; + }) + .map(u), + ); + } + return ( + (x.lines = function () { + return b().map(function (t) { + return { type: "LineString", coordinates: t }; + }); + }), + (x.outline = function () { + return { + type: "Polygon", + coordinates: [ + f(i).concat( + h(s).slice(1), + f(n).reverse().slice(1), + h(l).reverse().slice(1), + ), + ], + }; + }), + (x.extent = function (t) { + return arguments.length + ? x.majorExtent(t).minorExtent(t) + : x.minorExtent(); + }), + (x.majorExtent = function (t) { + return arguments.length + ? ((i = +t[0][0]), + (n = +t[1][0]), + (l = +t[0][1]), + (s = +t[1][1]), + i > n && ((t = i), (i = n), (n = t)), + l > s && ((t = l), (l = s), (s = t)), + x.precision(v)) + : [ + [i, l], + [n, s], + ]; + }), + (x.minorExtent = function (t) { + return arguments.length + ? ((r = +t[0][0]), + (e = +t[1][0]), + (o = +t[0][1]), + (a = +t[1][1]), + r > e && ((t = r), (r = e), (e = t)), + o > a && ((t = o), (o = a), (a = t)), + x.precision(v)) + : [ + [r, o], + [e, a], + ]; + }), + (x.step = function (t) { + return arguments.length + ? x.majorStep(t).minorStep(t) + : x.minorStep(); + }), + (x.majorStep = function (t) { + return arguments.length ? ((g = +t[0]), (m = +t[1]), x) : [g, m]; + }), + (x.minorStep = function (t) { + return arguments.length ? ((p = +t[0]), (d = +t[1]), x) : [p, d]; + }), + (x.precision = function (t) { + return arguments.length + ? ((v = +t), + (c = Bn(o, a, 90)), + (u = Fn(r, e, v)), + (f = Bn(l, s, 90)), + (h = Fn(i, n, v)), + x) + : v; + }), + x + .majorExtent([ + [-180, -90 + kt], + [180, 90 - kt], + ]) + .minorExtent([ + [-180, -80 - kt], + [180, 80 + kt], + ]) + ); + }), + (t.geo.greatArc = function () { + var e, + r, + n = Nn, + i = jn; + function a() { + return { + type: "LineString", + coordinates: [ + e || n.apply(this, arguments), + r || i.apply(this, arguments), + ], + }; + } + return ( + (a.distance = function () { + return t.geo.distance( + e || n.apply(this, arguments), + r || i.apply(this, arguments), + ); + }), + (a.source = function (t) { + return arguments.length + ? ((n = t), (e = "function" == typeof t ? null : t), a) + : n; + }), + (a.target = function (t) { + return arguments.length + ? ((i = t), (r = "function" == typeof t ? null : t), a) + : i; + }), + (a.precision = function () { + return arguments.length ? a : 0; + }), + a + ); + }), + (t.geo.interpolate = function (t, e) { + return ( + (r = t[0] * Et), + (n = t[1] * Et), + (i = e[0] * Et), + (a = e[1] * Et), + (o = Math.cos(n)), + (s = Math.sin(n)), + (l = Math.cos(a)), + (c = Math.sin(a)), + (u = o * Math.cos(r)), + (f = o * Math.sin(r)), + (h = l * Math.cos(i)), + (p = l * Math.sin(i)), + (d = 2 * Math.asin(Math.sqrt(Rt(a - n) + o * l * Rt(i - r)))), + (g = 1 / Math.sin(d)), + ((m = d + ? function (t) { + var e = Math.sin((t *= d)) * g, + r = Math.sin(d - t) * g, + n = r * u + e * h, + i = r * f + e * p, + a = r * s + e * c; + return [ + Math.atan2(i, n) * Lt, + Math.atan2(a, Math.sqrt(n * n + i * i)) * Lt, + ]; + } + : function () { + return [r * Lt, n * Lt]; + }).distance = d), + m + ); + var r, n, i, a, o, s, l, c, u, f, h, p, d, g, m; + }), + (t.geo.length = function (e) { + return ((vn = 0), t.geo.stream(e, Vn), vn); + })); + var Vn = { + sphere: I, + point: I, + lineStart: function () { + var t, e, r; + function n(n, i) { + var a = Math.sin((i *= Et)), + o = Math.cos(i), + s = y((n *= Et) - t), + l = Math.cos(s); + ((vn += Math.atan2( + Math.sqrt((s = o * Math.sin(s)) * s + (s = r * a - e * o * l) * s), + e * a + r * o * l, + )), + (t = n), + (e = a), + (r = o)); + } + ((Vn.point = function (i, a) { + ((t = i * Et), + (e = Math.sin((a *= Et))), + (r = Math.cos(a)), + (Vn.point = n)); + }), + (Vn.lineEnd = function () { + Vn.point = Vn.lineEnd = I; + })); + }, + lineEnd: I, + polygonStart: I, + polygonEnd: I, + }; + function Un(t, e) { + function r(e, r) { + var n = Math.cos(e), + i = Math.cos(r), + a = t(n * i); + return [a * i * Math.sin(e), a * Math.sin(r)]; + } + return ( + (r.invert = function (t, r) { + var n = Math.sqrt(t * t + r * r), + i = e(n), + a = Math.sin(i), + o = Math.cos(i); + return [Math.atan2(t * a, n * o), Math.asin(n && (r * a) / n)]; + }), + r + ); + } + var qn = Un( + function (t) { + return Math.sqrt(2 / (1 + t)); + }, + function (t) { + return 2 * Math.asin(t / 2); + }, + ); + (t.geo.azimuthalEqualArea = function () { + return Tn(qn); + }).raw = qn; + var Hn = Un(function (t) { + var e = Math.acos(t); + return e && e / Math.sin(e); + }, z); + function Gn(t, e) { + var r = Math.cos(t), + n = function (t) { + return Math.tan(At / 4 + t / 2); + }, + i = + t === e + ? Math.sin(t) + : Math.log(r / Math.cos(e)) / Math.log(n(e) / n(t)), + a = (r * Math.pow(n(t), i)) / i; + if (!i) return Xn; + function o(t, e) { + a > 0 ? e < -Ct + kt && (e = -Ct + kt) : e > Ct - kt && (e = Ct - kt); + var r = a / Math.pow(n(e), i); + return [r * Math.sin(i * t), a - r * Math.cos(i * t)]; + } + return ( + (o.invert = function (t, e) { + var r = a - e, + n = zt(i) * Math.sqrt(t * t + r * r); + return [ + Math.atan2(t, r) / i, + 2 * Math.atan(Math.pow(a / n, 1 / i)) - Ct, + ]; + }), + o + ); + } + function Wn(t, e) { + var r = Math.cos(t), + n = t === e ? Math.sin(t) : (r - Math.cos(e)) / (e - t), + i = r / n + t; + if (y(n) < kt) return En; + function a(t, e) { + var r = i - e; + return [r * Math.sin(n * t), i - r * Math.cos(n * t)]; + } + return ( + (a.invert = function (t, e) { + var r = i - e; + return [Math.atan2(t, r) / n, i - zt(n) * Math.sqrt(t * t + r * r)]; + }), + a + ); + } + (((t.geo.azimuthalEquidistant = function () { + return Tn(Hn); + }).raw = Hn), + ((t.geo.conicConformal = function () { + return an(Gn); + }).raw = Gn), + ((t.geo.conicEquidistant = function () { + return an(Wn); + }).raw = Wn)); + var Yn = Un(function (t) { + return 1 / t; + }, Math.atan); + function Xn(t, e) { + return [t, Math.log(Math.tan(At / 4 + e / 2))]; + } + function Zn(t) { + var e, + r = Tn(t), + n = r.scale, + i = r.translate, + a = r.clipExtent; + return ( + (r.scale = function () { + var t = n.apply(r, arguments); + return t === r ? (e ? r.clipExtent(null) : r) : t; + }), + (r.translate = function () { + var t = i.apply(r, arguments); + return t === r ? (e ? r.clipExtent(null) : r) : t; + }), + (r.clipExtent = function (t) { + var o = a.apply(r, arguments); + if (o === r) { + if ((e = null == t)) { + var s = At * n(), + l = i(); + a([ + [l[0] - s, l[1] - s], + [l[0] + s, l[1] + s], + ]); + } + } else e && (o = null); + return o; + }), + r.clipExtent(null) + ); + } + (((t.geo.gnomonic = function () { + return Tn(Yn); + }).raw = Yn), + (Xn.invert = function (t, e) { + return [t, 2 * Math.atan(Math.exp(e)) - Ct]; + }), + ((t.geo.mercator = function () { + return Zn(Xn); + }).raw = Xn)); + var Jn = Un(function () { + return 1; + }, Math.asin); + (t.geo.orthographic = function () { + return Tn(Jn); + }).raw = Jn; + var Kn = Un( + function (t) { + return 1 / (1 + t); + }, + function (t) { + return 2 * Math.atan(t); + }, + ); + function Qn(t, e) { + return [Math.log(Math.tan(At / 4 + e / 2)), -t]; + } + function $n(t) { + return t[0]; + } + function ti(t) { + return t[1]; + } + function ei(t) { + for (var e = t.length, r = [0, 1], n = 2, i = 2; i < e; i++) { + for (; n > 1 && Pt(t[r[n - 2]], t[r[n - 1]], t[i]) <= 0; ) --n; + r[n++] = i; + } + return r.slice(0, n); + } + function ri(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + (((t.geo.stereographic = function () { + return Tn(Kn); + }).raw = Kn), + (Qn.invert = function (t, e) { + return [-e, 2 * Math.atan(Math.exp(t)) - Ct]; + }), + ((t.geo.transverseMercator = function () { + var t = Zn(Qn), + e = t.center, + r = t.rotate; + return ( + (t.center = function (t) { + return t ? e([-t[1], t[0]]) : [(t = e())[1], -t[0]]; + }), + (t.rotate = function (t) { + return t + ? r([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) + : [(t = r())[0], t[1], t[2] - 90]; + }), + r([0, 0, 90]) + ); + }).raw = Qn), + (t.geom = {}), + (t.geom.hull = function (t) { + var e = $n, + r = ti; + if (arguments.length) return n(t); + function n(t) { + if (t.length < 3) return []; + var n, + i = me(e), + a = me(r), + o = t.length, + s = [], + l = []; + for (n = 0; n < o; n++) + s.push([+i.call(this, t[n], n), +a.call(this, t[n], n), n]); + for (s.sort(ri), n = 0; n < o; n++) l.push([s[n][0], -s[n][1]]); + var c = ei(s), + u = ei(l), + f = u[0] === c[0], + h = u[u.length - 1] === c[c.length - 1], + p = []; + for (n = c.length - 1; n >= 0; --n) p.push(t[s[c[n]][2]]); + for (n = +f; n < u.length - h; ++n) p.push(t[s[u[n]][2]]); + return p; + } + return ( + (n.x = function (t) { + return arguments.length ? ((e = t), n) : e; + }), + (n.y = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + n + ); + }), + (t.geom.polygon = function (t) { + return (U(t, ni), t); + })); + var ni = (t.geom.polygon.prototype = []); + function ii(t, e, r) { + return (r[0] - e[0]) * (t[1] - e[1]) < (r[1] - e[1]) * (t[0] - e[0]); + } + function ai(t, e, r, n) { + var i = t[0], + a = r[0], + o = e[0] - i, + s = n[0] - a, + l = t[1], + c = r[1], + u = e[1] - l, + f = n[1] - c, + h = (s * (l - c) - f * (i - a)) / (f * o - s * u); + return [i + h * o, l + h * u]; + } + function oi(t) { + var e = t[0], + r = t[t.length - 1]; + return !(e[0] - r[0] || e[1] - r[1]); + } + ((ni.area = function () { + for (var t, e = -1, r = this.length, n = this[r - 1], i = 0; ++e < r; ) + ((t = n), (n = this[e]), (i += t[1] * n[0] - t[0] * n[1])); + return 0.5 * i; + }), + (ni.centroid = function (t) { + var e, + r, + n = -1, + i = this.length, + a = 0, + o = 0, + s = this[i - 1]; + for (arguments.length || (t = -1 / (6 * this.area())); ++n < i; ) + ((e = s), + (s = this[n]), + (r = e[0] * s[1] - s[0] * e[1]), + (a += (e[0] + s[0]) * r), + (o += (e[1] + s[1]) * r)); + return [a * t, o * t]; + }), + (ni.clip = function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s = oi(t), + l = -1, + c = this.length - oi(this), + u = this[c - 1]; + ++l < c; + + ) { + for ( + e = t.slice(), + t.length = 0, + i = this[l], + a = e[(n = e.length - s) - 1], + r = -1; + ++r < n; + + ) + (ii((o = e[r]), u, i) + ? (ii(a, u, i) || t.push(ai(a, o, u, i)), t.push(o)) + : ii(a, u, i) && t.push(ai(a, o, u, i)), + (a = o)); + (s && t.push(t[0]), (u = i)); + } + return t; + })); + var si, + li, + ci, + ui, + fi, + hi = [], + pi = []; + function di(t) { + var e = + hi.pop() || + new (function () { + (Li(this), (this.edge = this.site = this.circle = null)); + })(); + return ((e.site = t), e); + } + function gi(t) { + (ki(t), ci.remove(t), hi.push(t), Li(t)); + } + function mi(t) { + var e = t.circle, + r = e.x, + n = e.cy, + i = { x: r, y: n }, + a = t.P, + o = t.N, + s = [t]; + gi(t); + for ( + var l = a; + l.circle && y(r - l.circle.x) < kt && y(n - l.circle.cy) < kt; + + ) + ((a = l.P), s.unshift(l), gi(l), (l = a)); + (s.unshift(l), ki(l)); + for ( + var c = o; + c.circle && y(r - c.circle.x) < kt && y(n - c.circle.cy) < kt; + + ) + ((o = c.N), s.push(c), gi(c), (c = o)); + (s.push(c), ki(c)); + var u, + f = s.length; + for (u = 1; u < f; ++u) + ((c = s[u]), (l = s[u - 1]), Si(c.edge, l.site, c.site, i)); + ((l = s[0]), + ((c = s[f - 1]).edge = Ti(l.site, c.site, null, i)), + wi(l), + wi(c)); + } + function vi(t) { + for (var e, r, n, i, a = t.x, o = t.y, s = ci._; s; ) + if ((n = yi(s, o) - a) > kt) s = s.L; + else { + if (!((i = a - xi(s, o)) > kt)) { + n > -kt + ? ((e = s.P), (r = s)) + : i > -kt + ? ((e = s), (r = s.N)) + : (e = r = s); + break; + } + if (!s.R) { + e = s; + break; + } + s = s.R; + } + var l = di(t); + if ((ci.insert(e, l), e || r)) { + if (e === r) + return ( + ki(e), + (r = di(e.site)), + ci.insert(l, r), + (l.edge = r.edge = Ti(e.site, l.site)), + wi(e), + void wi(r) + ); + if (r) { + (ki(e), ki(r)); + var c = e.site, + u = c.x, + f = c.y, + h = t.x - u, + p = t.y - f, + d = r.site, + g = d.x - u, + m = d.y - f, + v = 2 * (h * m - p * g), + y = h * h + p * p, + x = g * g + m * m, + b = { x: (m * y - p * x) / v + u, y: (h * x - g * y) / v + f }; + (Si(r.edge, c, d, b), + (l.edge = Ti(c, t, null, b)), + (r.edge = Ti(t, d, null, b)), + wi(e), + wi(r)); + } else l.edge = Ti(e.site, l.site); + } + } + function yi(t, e) { + var r = t.site, + n = r.x, + i = r.y, + a = i - e; + if (!a) return n; + var o = t.P; + if (!o) return -1 / 0; + var s = (r = o.site).x, + l = r.y, + c = l - e; + if (!c) return s; + var u = s - n, + f = 1 / a - 1 / c, + h = u / c; + return f + ? (-h + + Math.sqrt( + h * h - 2 * f * ((u * u) / (-2 * c) - l + c / 2 + i - a / 2), + )) / + f + + n + : (n + s) / 2; + } + function xi(t, e) { + var r = t.N; + if (r) return yi(r, e); + var n = t.site; + return n.y === e ? n.x : 1 / 0; + } + function bi(t) { + ((this.site = t), (this.edges = [])); + } + function _i(t, e) { + return e.angle - t.angle; + } + function wi(t) { + var e = t.P, + r = t.N; + if (e && r) { + var n = e.site, + i = t.site, + a = r.site; + if (n !== a) { + var o = i.x, + s = i.y, + l = n.x - o, + c = n.y - s, + u = a.x - o, + f = 2 * (l * (m = a.y - s) - c * u); + if (!(f >= -Mt)) { + var h = l * l + c * c, + p = u * u + m * m, + d = (m * h - c * p) / f, + g = (l * p - u * h) / f, + m = g + s, + v = + pi.pop() || + new (function () { + (Li(this), + (this.x = this.y = this.arc = this.site = this.cy = null)); + })(); + ((v.arc = t), + (v.site = i), + (v.x = d + o), + (v.y = m + Math.sqrt(d * d + g * g)), + (v.cy = m), + (t.circle = v)); + for (var y = null, x = fi._; x; ) + if (v.y < x.y || (v.y === x.y && v.x <= x.x)) { + if (!x.L) { + y = x.P; + break; + } + x = x.L; + } else { + if (!x.R) { + y = x; + break; + } + x = x.R; + } + (fi.insert(y, v), y || (ui = v)); + } + } + } + } + function ki(t) { + var e = t.circle; + e && + (e.P || (ui = e.N), fi.remove(e), pi.push(e), Li(e), (t.circle = null)); + } + function Mi(t, e) { + var r = t.b; + if (r) return !0; + var n, + i, + a = t.a, + o = e[0][0], + s = e[1][0], + l = e[0][1], + c = e[1][1], + u = t.l, + f = t.r, + h = u.x, + p = u.y, + d = f.x, + g = f.y, + m = (h + d) / 2, + v = (p + g) / 2; + if (g === p) { + if (m < o || m >= s) return; + if (h > d) { + if (a) { + if (a.y >= c) return; + } else a = { x: m, y: l }; + r = { x: m, y: c }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: m, y: c }; + r = { x: m, y: l }; + } + } else if (((i = v - (n = (h - d) / (g - p)) * m), n < -1 || n > 1)) + if (h > d) { + if (a) { + if (a.y >= c) return; + } else a = { x: (l - i) / n, y: l }; + r = { x: (c - i) / n, y: c }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: (c - i) / n, y: c }; + r = { x: (l - i) / n, y: l }; + } + else if (p < g) { + if (a) { + if (a.x >= s) return; + } else a = { x: o, y: n * o + i }; + r = { x: s, y: n * s + i }; + } else { + if (a) { + if (a.x < o) return; + } else a = { x: s, y: n * s + i }; + r = { x: o, y: n * o + i }; + } + return ((t.a = a), (t.b = r), !0); + } + function Ai(t, e) { + ((this.l = t), (this.r = e), (this.a = this.b = null)); + } + function Ti(t, e, r, n) { + var i = new Ai(t, e); + return ( + si.push(i), + r && Si(i, t, e, r), + n && Si(i, e, t, n), + li[t.i].edges.push(new Ci(i, t, e)), + li[e.i].edges.push(new Ci(i, e, t)), + i + ); + } + function Si(t, e, r, n) { + t.a || t.b + ? t.l === r + ? (t.b = n) + : (t.a = n) + : ((t.a = n), (t.l = e), (t.r = r)); + } + function Ci(t, e, r) { + var n = t.a, + i = t.b; + ((this.edge = t), + (this.site = e), + (this.angle = r + ? Math.atan2(r.y - e.y, r.x - e.x) + : t.l === e + ? Math.atan2(i.x - n.x, n.y - i.y) + : Math.atan2(n.x - i.x, i.y - n.y))); + } + function Ei() { + this._ = null; + } + function Li(t) { + t.U = t.C = t.L = t.R = t.P = t.N = null; + } + function zi(t, e) { + var r = e, + n = e.R, + i = r.U; + (i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), + (n.U = i), + (r.U = n), + (r.R = n.L), + r.R && (r.R.U = r), + (n.L = r)); + } + function Pi(t, e) { + var r = e, + n = e.L, + i = r.U; + (i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), + (n.U = i), + (r.U = n), + (r.L = n.R), + r.L && (r.L.U = r), + (n.R = r)); + } + function Di(t) { + for (; t.L; ) t = t.L; + return t; + } + function Oi(t, e) { + var r, + n, + i, + a = t.sort(Ii).pop(); + for (si = [], li = new Array(t.length), ci = new Ei(), fi = new Ei(); ; ) + if (((i = ui), a && (!i || a.y < i.y || (a.y === i.y && a.x < i.x)))) + ((a.x === r && a.y === n) || + ((li[a.i] = new bi(a)), vi(a), (r = a.x), (n = a.y)), + (a = t.pop())); + else { + if (!i) break; + mi(i.arc); + } + e && + ((function (t) { + for ( + var e, + r = si, + n = en(t[0][0], t[0][1], t[1][0], t[1][1]), + i = r.length; + i--; + + ) + (!Mi((e = r[i]), t) || + !n(e) || + (y(e.a.x - e.b.x) < kt && y(e.a.y - e.b.y) < kt)) && + ((e.a = e.b = null), r.splice(i, 1)); + })(e), + (function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f = t[0][0], + h = t[1][0], + p = t[0][1], + d = t[1][1], + g = li, + m = g.length; + m--; + + ) + if ((a = g[m]) && a.prepare()) + for (l = (s = a.edges).length, o = 0; o < l; ) + ((n = (u = s[o].end()).x), + (i = u.y), + (e = (c = s[++o % l].start()).x), + (r = c.y), + (y(n - e) > kt || y(i - r) > kt) && + (s.splice( + o, + 0, + new Ci( + ((v = a.site), + (x = u), + (b = + y(n - f) < kt && d - i > kt + ? { x: f, y: y(e - f) < kt ? r : d } + : y(i - d) < kt && h - n > kt + ? { x: y(r - d) < kt ? e : h, y: d } + : y(n - h) < kt && i - p > kt + ? { x: h, y: y(e - h) < kt ? r : p } + : y(i - p) < kt && n - f > kt + ? { x: y(r - p) < kt ? e : f, y: p } + : null), + (_ = void 0), + (_ = new Ai(v, null)), + (_.a = x), + (_.b = b), + si.push(_), + _), + a.site, + null, + ), + ), + ++l)); + var v, x, b, _; + })(e)); + var o = { cells: li, edges: si }; + return ((ci = fi = si = li = null), o); + } + function Ii(t, e) { + return e.y - t.y || e.x - t.x; + } + ((bi.prototype.prepare = function () { + for (var t, e = this.edges, r = e.length; r--; ) + ((t = e[r].edge).b && t.a) || e.splice(r, 1); + return (e.sort(_i), e.length); + }), + (Ci.prototype = { + start: function () { + return this.edge.l === this.site ? this.edge.a : this.edge.b; + }, + end: function () { + return this.edge.l === this.site ? this.edge.b : this.edge.a; + }, + }), + (Ei.prototype = { + insert: function (t, e) { + var r, n, i; + if (t) { + if (((e.P = t), (e.N = t.N), t.N && (t.N.P = e), (t.N = e), t.R)) { + for (t = t.R; t.L; ) t = t.L; + t.L = e; + } else t.R = e; + r = t; + } else + this._ + ? ((t = Di(this._)), + (e.P = null), + (e.N = t), + (t.P = t.L = e), + (r = t)) + : ((e.P = e.N = null), (this._ = e), (r = null)); + for (e.L = e.R = null, e.U = r, e.C = !0, t = e; r && r.C; ) + (r === (n = r.U).L + ? (i = n.R) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.R && (zi(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + Pi(this, n)) + : (i = n.L) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.L && (Pi(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + zi(this, n)), + (r = t.U)); + this._.C = !1; + }, + remove: function (t) { + (t.N && (t.N.P = t.P), t.P && (t.P.N = t.N), (t.N = t.P = null)); + var e, + r, + n, + i = t.U, + a = t.L, + o = t.R; + if ( + ((r = a ? (o ? Di(o) : a) : o), + i ? (i.L === t ? (i.L = r) : (i.R = r)) : (this._ = r), + a && o + ? ((n = r.C), + (r.C = t.C), + (r.L = a), + (a.U = r), + r !== o + ? ((i = r.U), + (r.U = t.U), + (t = r.R), + (i.L = t), + (r.R = o), + (o.U = r)) + : ((r.U = i), (i = r), (t = r.R))) + : ((n = t.C), (t = r)), + t && (t.U = i), + !n) + ) + if (t && t.C) t.C = !1; + else { + do { + if (t === this._) break; + if (t === i.L) { + if ( + ((e = i.R).C && + ((e.C = !1), (i.C = !0), zi(this, i), (e = i.R)), + (e.L && e.L.C) || (e.R && e.R.C)) + ) { + ((e.R && e.R.C) || + ((e.L.C = !1), (e.C = !0), Pi(this, e), (e = i.R)), + (e.C = i.C), + (i.C = e.R.C = !1), + zi(this, i), + (t = this._)); + break; + } + } else if ( + ((e = i.L).C && + ((e.C = !1), (i.C = !0), Pi(this, i), (e = i.L)), + (e.L && e.L.C) || (e.R && e.R.C)) + ) { + ((e.L && e.L.C) || + ((e.R.C = !1), (e.C = !0), zi(this, e), (e = i.L)), + (e.C = i.C), + (i.C = e.L.C = !1), + Pi(this, i), + (t = this._)); + break; + } + ((e.C = !0), (t = i), (i = i.U)); + } while (!t.C); + t && (t.C = !1); + } + }, + }), + (t.geom.voronoi = function (t) { + var e = $n, + r = ti, + n = e, + i = r, + a = Ri; + if (t) return o(t); + function o(t) { + var e = new Array(t.length), + r = a[0][0], + n = a[0][1], + i = a[1][0], + o = a[1][1]; + return ( + Oi(s(t), a).cells.forEach(function (a, s) { + var l = a.edges, + c = a.site; + (e[s] = l.length + ? l.map(function (t) { + var e = t.start(); + return [e.x, e.y]; + }) + : c.x >= r && c.x <= i && c.y >= n && c.y <= o + ? [ + [r, o], + [i, o], + [i, n], + [r, n], + ] + : []).point = t[s]; + }), + e + ); + } + function s(t) { + return t.map(function (t, e) { + return { + x: Math.round(n(t, e) / kt) * kt, + y: Math.round(i(t, e) / kt) * kt, + i: e, + }; + }); + } + return ( + (o.links = function (t) { + return Oi(s(t)) + .edges.filter(function (t) { + return t.l && t.r; + }) + .map(function (e) { + return { source: t[e.l.i], target: t[e.r.i] }; + }); + }), + (o.triangles = function (t) { + var e = []; + return ( + Oi(s(t)).cells.forEach(function (r, n) { + for ( + var i, + a, + o, + s, + l = r.site, + c = r.edges.sort(_i), + u = -1, + f = c.length, + h = c[f - 1].edge, + p = h.l === l ? h.r : h.l; + ++u < f; + + ) + (h, + (i = p), + (p = (h = c[u].edge).l === l ? h.r : h.l), + n < i.i && + n < p.i && + ((o = i), + (s = p), + ((a = l).x - s.x) * (o.y - a.y) - + (a.x - o.x) * (s.y - a.y) < + 0) && + e.push([t[n], t[i.i], t[p.i]])); + }), + e + ); + }), + (o.x = function (t) { + return arguments.length ? ((n = me((e = t))), o) : e; + }), + (o.y = function (t) { + return arguments.length ? ((i = me((r = t))), o) : r; + }), + (o.clipExtent = function (t) { + return arguments.length + ? ((a = null == t ? Ri : t), o) + : a === Ri + ? null + : a; + }), + (o.size = function (t) { + return arguments.length + ? o.clipExtent(t && [[0, 0], t]) + : a === Ri + ? null + : a && a[1]; + }), + o + ); + })); + var Ri = [ + [-1e6, -1e6], + [1e6, 1e6], + ]; + function Bi(t) { + return t.x; + } + function Fi(t) { + return t.y; + } + function Ni(e, r) { + ((e = t.rgb(e)), (r = t.rgb(r))); + var n = e.r, + i = e.g, + a = e.b, + o = r.r - n, + s = r.g - i, + l = r.b - a; + return function (t) { + return ( + "#" + + ce(Math.round(n + o * t)) + + ce(Math.round(i + s * t)) + + ce(Math.round(a + l * t)) + ); + }; + } + function ji(t, e) { + var r, + n = {}, + i = {}; + for (r in t) r in e ? (n[r] = Gi(t[r], e[r])) : (i[r] = t[r]); + for (r in e) r in t || (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + } + function Vi(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function Ui(t, e) { + var r, + n, + i, + a = (qi.lastIndex = Hi.lastIndex = 0), + o = -1, + s = [], + l = []; + for (t += "", e += ""; (r = qi.exec(t)) && (n = Hi.exec(e)); ) + ((i = n.index) > a && + ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), + (r = r[0]) === (n = n[0]) + ? s[o] + ? (s[o] += n) + : (s[++o] = n) + : ((s[++o] = null), l.push({ i: o, x: Vi(r, n) })), + (a = Hi.lastIndex)); + return ( + a < e.length && ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), + s.length < 2 + ? l[0] + ? ((e = l[0].x), + function (t) { + return e(t) + ""; + }) + : function () { + return e; + } + : ((e = l.length), + function (t) { + for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); + return s.join(""); + }) + ); + } + ((t.geom.delaunay = function (e) { + return t.geom.voronoi().triangles(e); + }), + (t.geom.quadtree = function (t, e, r, n, i) { + var a, + o = $n, + s = ti; + if ((a = arguments.length)) + return ( + (o = Bi), + (s = Fi), + 3 === a && ((i = r), (n = e), (r = e = 0)), + l(t) + ); + function l(t) { + var l, + c, + u, + f, + h, + p, + d, + g, + m, + v = me(o), + x = me(s); + if (null != e) ((p = e), (d = r), (g = n), (m = i)); + else if ( + ((g = m = -(p = d = 1 / 0)), (c = []), (u = []), (h = t.length), a) + ) + for (f = 0; f < h; ++f) + ((l = t[f]).x < p && (p = l.x), + l.y < d && (d = l.y), + l.x > g && (g = l.x), + l.y > m && (m = l.y), + c.push(l.x), + u.push(l.y)); + else + for (f = 0; f < h; ++f) { + var b = +v((l = t[f]), f), + _ = +x(l, f); + (b < p && (p = b), + _ < d && (d = _), + b > g && (g = b), + _ > m && (m = _), + c.push(b), + u.push(_)); + } + var w = g - p, + k = m - d; + function M(t, e, r, n, i, a, o, s) { + if (!isNaN(r) && !isNaN(n)) + if (t.leaf) { + var l = t.x, + c = t.y; + if (null != l) + if (y(l - r) + y(c - n) < 0.01) A(t, e, r, n, i, a, o, s); + else { + var u = t.point; + ((t.x = t.y = t.point = null), + A(t, u, l, c, i, a, o, s), + A(t, e, r, n, i, a, o, s)); + } + else ((t.x = r), (t.y = n), (t.point = e)); + } else A(t, e, r, n, i, a, o, s); + } + function A(t, e, r, n, i, a, o, s) { + var l = 0.5 * (i + o), + c = 0.5 * (a + s), + u = r >= l, + f = n >= c, + h = (f << 1) | u; + ((t.leaf = !1), + (t = + t.nodes[h] || + (t.nodes[h] = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function (t) { + M(T, t, +v(t, ++f), +x(t, f), p, d, g, m); + }, + })), + u ? (i = l) : (o = l), + f ? (a = c) : (s = c), + M(t, e, r, n, i, a, o, s)); + } + w > k ? (m = d + w) : (g = p + k); + var T = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function (t) { + M(T, t, +v(t, ++f), +x(t, f), p, d, g, m); + }, + }; + if ( + ((T.visit = function (t) { + !(function t(e, r, n, i, a, o) { + if (!e(r, n, i, a, o)) { + var s = 0.5 * (n + a), + l = 0.5 * (i + o), + c = r.nodes; + (c[0] && t(e, c[0], n, i, s, l), + c[1] && t(e, c[1], s, i, a, l), + c[2] && t(e, c[2], n, l, s, o), + c[3] && t(e, c[3], s, l, a, o)); + } + })(t, T, p, d, g, m); + }), + (T.find = function (t) { + return (function (t, e, r, n, i, a, o) { + var s, + l = 1 / 0; + return ( + (function t(c, u, f, h, p) { + if (!(u > a || f > o || h < n || p < i)) { + if ((d = c.point)) { + var d, + g = e - c.x, + m = r - c.y, + v = g * g + m * m; + if (v < l) { + var y = Math.sqrt((l = v)); + ((n = e - y), + (i = r - y), + (a = e + y), + (o = r + y), + (s = d)); + } + } + for ( + var x = c.nodes, + b = 0.5 * (u + h), + _ = 0.5 * (f + p), + w = ((r >= _) << 1) | (e >= b), + k = w + 4; + w < k; + ++w + ) + if ((c = x[3 & w])) + switch (3 & w) { + case 0: + t(c, u, f, b, _); + break; + case 1: + t(c, b, f, h, _); + break; + case 2: + t(c, u, _, b, p); + break; + case 3: + t(c, b, _, h, p); + } + } + })(t, n, i, a, o), + s + ); + })(T, t[0], t[1], p, d, g, m); + }), + (f = -1), + null == e) + ) { + for (; ++f < h; ) M(T, t[f], c[f], u[f], p, d, g, m); + --f; + } else t.forEach(T.add); + return ((c = u = t = l = null), T); + } + return ( + (l.x = function (t) { + return arguments.length ? ((o = t), l) : o; + }), + (l.y = function (t) { + return arguments.length ? ((s = t), l) : s; + }), + (l.extent = function (t) { + return arguments.length + ? (null == t + ? (e = r = n = i = null) + : ((e = +t[0][0]), + (r = +t[0][1]), + (n = +t[1][0]), + (i = +t[1][1])), + l) + : null == e + ? null + : [ + [e, r], + [n, i], + ]; + }), + (l.size = function (t) { + return arguments.length + ? (null == t + ? (e = r = n = i = null) + : ((e = r = 0), (n = +t[0]), (i = +t[1])), + l) + : null == e + ? null + : [n - e, i - r]; + }), + l + ); + }), + (t.interpolateRgb = Ni), + (t.interpolateObject = ji), + (t.interpolateNumber = Vi), + (t.interpolateString = Ui)); + var qi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Hi = new RegExp(qi.source, "g"); + function Gi(e, r) { + for ( + var n, i = t.interpolators.length; + --i >= 0 && !(n = t.interpolators[i](e, r)); + + ); + return n; + } + function Wi(t, e) { + var r, + n = [], + i = [], + a = t.length, + o = e.length, + s = Math.min(t.length, e.length); + for (r = 0; r < s; ++r) n.push(Gi(t[r], e[r])); + for (; r < a; ++r) i[r] = t[r]; + for (; r < o; ++r) i[r] = e[r]; + return function (t) { + for (r = 0; r < s; ++r) i[r] = n[r](t); + return i; + }; + } + ((t.interpolate = Gi), + (t.interpolators = [ + function (t, e) { + var r = typeof e; + return ( + "string" === r + ? ge.has(e.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(e) + ? Ni + : Ui + : e instanceof Vt + ? Ni + : Array.isArray(e) + ? Wi + : "object" === r && isNaN(e) + ? ji + : Vi + )(t, e); + }, + ]), + (t.interpolateArray = Wi)); + var Yi = function () { + return z; + }, + Xi = t.map({ + linear: Yi, + poly: function (t) { + return function (e) { + return Math.pow(e, t); + }; + }, + quad: function () { + return Qi; + }, + cubic: function () { + return $i; + }, + sin: function () { + return ea; + }, + exp: function () { + return ra; + }, + circle: function () { + return na; + }, + elastic: function (t, e) { + var r; + arguments.length < 2 && (e = 0.45); + arguments.length + ? (r = (e / Tt) * Math.asin(1 / t)) + : ((t = 1), (r = e / 4)); + return function (n) { + return 1 + t * Math.pow(2, -10 * n) * Math.sin(((n - r) * Tt) / e); + }; + }, + back: function (t) { + t || (t = 1.70158); + return function (e) { + return e * e * ((t + 1) * e - t); + }; + }, + bounce: function () { + return ia; + }, + }), + Zi = t.map({ + in: z, + out: Ji, + "in-out": Ki, + "out-in": function (t) { + return Ki(Ji(t)); + }, + }); + function Ji(t) { + return function (e) { + return 1 - t(1 - e); + }; + } + function Ki(t) { + return function (e) { + return 0.5 * (e < 0.5 ? t(2 * e) : 2 - t(2 - 2 * e)); + }; + } + function Qi(t) { + return t * t; + } + function $i(t) { + return t * t * t; + } + function ta(t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + } + function ea(t) { + return 1 - Math.cos(t * Ct); + } + function ra(t) { + return Math.pow(2, 10 * (t - 1)); + } + function na(t) { + return 1 - Math.sqrt(1 - t * t); + } + function ia(t) { + return t < 1 / 2.75 + ? 7.5625 * t * t + : t < 2 / 2.75 + ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 + : t < 2.5 / 2.75 + ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 + : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; + } + function aa(t, e) { + return ( + (e -= t), + function (r) { + return Math.round(t + e * r); + } + ); + } + function oa(t) { + var e, + r, + n, + i = [t.a, t.b], + a = [t.c, t.d], + o = la(i), + s = sa(i, a), + l = + la((((e = a)[0] += (n = -s) * (r = i)[0]), (e[1] += n * r[1]), e)) || + 0; + (i[0] * a[1] < a[0] * i[1] && + ((i[0] *= -1), (i[1] *= -1), (o *= -1), (s *= -1)), + (this.rotate = + (o ? Math.atan2(i[1], i[0]) : Math.atan2(-a[0], a[1])) * Lt), + (this.translate = [t.e, t.f]), + (this.scale = [o, l]), + (this.skew = l ? Math.atan2(s, l) * Lt : 0)); + } + function sa(t, e) { + return t[0] * e[0] + t[1] * e[1]; + } + function la(t) { + var e = Math.sqrt(sa(t, t)); + return (e && ((t[0] /= e), (t[1] /= e)), e); + } + ((t.ease = function (t) { + var e, + n = t.indexOf("-"), + i = n >= 0 ? t.slice(0, n) : t, + a = n >= 0 ? t.slice(n + 1) : "in"; + return ( + (i = Xi.get(i) || Yi), + (a = Zi.get(a) || z), + (e = a(i.apply(null, r.call(arguments, 1)))), + function (t) { + return t <= 0 ? 0 : t >= 1 ? 1 : e(t); + } + ); + }), + (t.interpolateHcl = function (e, r) { + ((e = t.hcl(e)), (r = t.hcl(r))); + var n = e.h, + i = e.c, + a = e.l, + o = r.h - n, + s = r.c - i, + l = r.l - a; + isNaN(s) && ((s = 0), (i = isNaN(i) ? r.c : i)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? r.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function (t) { + return Yt(n + o * t, i + s * t, a + l * t) + ""; + }; + }), + (t.interpolateHsl = function (e, r) { + ((e = t.hsl(e)), (r = t.hsl(r))); + var n = e.h, + i = e.s, + a = e.l, + o = r.h - n, + s = r.s - i, + l = r.l - a; + isNaN(s) && ((s = 0), (i = isNaN(i) ? r.s : i)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? r.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function (t) { + return Ht(n + o * t, i + s * t, a + l * t) + ""; + }; + }), + (t.interpolateLab = function (e, r) { + ((e = t.lab(e)), (r = t.lab(r))); + var n = e.l, + i = e.a, + a = e.b, + o = r.l - n, + s = r.a - i, + l = r.b - a; + return function (t) { + return te(n + o * t, i + s * t, a + l * t) + ""; + }; + }), + (t.interpolateRound = aa), + (t.transform = function (e) { + var r = i.createElementNS(t.ns.prefix.svg, "g"); + return (t.transform = function (t) { + if (null != t) { + r.setAttribute("transform", t); + var e = r.transform.baseVal.consolidate(); + } + return new oa(e ? e.matrix : ca); + })(e); + }), + (oa.prototype.toString = function () { + return ( + "translate(" + + this.translate + + ")rotate(" + + this.rotate + + ")skewX(" + + this.skew + + ")scale(" + + this.scale + + ")" + ); + })); + var ca = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; + function ua(t) { + return t.length ? t.pop() + "," : ""; + } + function fa(e, r) { + var n = [], + i = []; + return ( + (e = t.transform(e)), + (r = t.transform(r)), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push("translate(", null, ",", null, ")"); + n.push( + { i: i - 4, x: Vi(t[0], e[0]) }, + { i: i - 2, x: Vi(t[1], e[1]) }, + ); + } else (e[0] || e[1]) && r.push("translate(" + e + ")"); + })(e.translate, r.translate, n, i), + (function (t, e, r, n) { + t !== e + ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), + n.push({ + i: r.push(ua(r) + "rotate(", null, ")") - 2, + x: Vi(t, e), + })) + : e && r.push(ua(r) + "rotate(" + e + ")"); + })(e.rotate, r.rotate, n, i), + (function (t, e, r, n) { + t !== e + ? n.push({ + i: r.push(ua(r) + "skewX(", null, ")") - 2, + x: Vi(t, e), + }) + : e && r.push(ua(r) + "skewX(" + e + ")"); + })(e.skew, r.skew, n, i), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push(ua(r) + "scale(", null, ",", null, ")"); + n.push( + { i: i - 4, x: Vi(t[0], e[0]) }, + { i: i - 2, x: Vi(t[1], e[1]) }, + ); + } else + (1 === e[0] && 1 === e[1]) || r.push(ua(r) + "scale(" + e + ")"); + })(e.scale, r.scale, n, i), + (e = r = null), + function (t) { + for (var e, r = -1, a = i.length; ++r < a; ) n[(e = i[r]).i] = e.x(t); + return n.join(""); + } + ); + } + function ha(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return (r - t) / e; + } + ); + } + function pa(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return Math.max(0, Math.min(1, (r - t) / e)); + } + ); + } + function da(t) { + for ( + var e = t.source, + r = t.target, + n = (function (t, e) { + if (t === e) return t; + var r = ga(t), + n = ga(e), + i = r.pop(), + a = n.pop(), + o = null; + for (; i === a; ) ((o = i), (i = r.pop()), (a = n.pop())); + return o; + })(e, r), + i = [e]; + e !== n; + + ) + ((e = e.parent), i.push(e)); + for (var a = i.length; r !== n; ) (i.splice(a, 0, r), (r = r.parent)); + return i; + } + function ga(t) { + for (var e = [], r = t.parent; null != r; ) + (e.push(t), (t = r), (r = r.parent)); + return (e.push(t), e); + } + function ma(t) { + t.fixed |= 2; + } + function va(t) { + t.fixed &= -7; + } + function ya(t) { + ((t.fixed |= 4), (t.px = t.x), (t.py = t.y)); + } + function xa(t) { + t.fixed &= -5; + } + ((t.interpolateTransform = fa), + (t.layout = {}), + (t.layout.bundle = function () { + return function (t) { + for (var e = [], r = -1, n = t.length; ++r < n; ) e.push(da(t[r])); + return e; + }; + }), + (t.layout.chord = function () { + var e, + r, + n, + i, + a, + o, + s, + l = {}, + c = 0; + function u() { + var l, + u, + h, + p, + d, + g = {}, + m = [], + v = t.range(i), + y = []; + for (e = [], r = [], l = 0, p = -1; ++p < i; ) { + for (u = 0, d = -1; ++d < i; ) u += n[p][d]; + (m.push(u), y.push(t.range(i)), (l += u)); + } + for ( + a && + v.sort(function (t, e) { + return a(m[t], m[e]); + }), + o && + y.forEach(function (t, e) { + t.sort(function (t, r) { + return o(n[e][t], n[e][r]); + }); + }), + l = (Tt - c * i) / l, + u = 0, + p = -1; + ++p < i; + + ) { + for (h = u, d = -1; ++d < i; ) { + var x = v[p], + b = y[x][d], + _ = n[x][b], + w = u, + k = (u += _ * l); + g[x + "-" + b] = { + index: x, + subindex: b, + startAngle: w, + endAngle: k, + value: _, + }; + } + ((r[x] = { index: x, startAngle: h, endAngle: u, value: m[x] }), + (u += c)); + } + for (p = -1; ++p < i; ) + for (d = p - 1; ++d < i; ) { + var M = g[p + "-" + d], + A = g[d + "-" + p]; + (M.value || A.value) && + e.push( + M.value < A.value + ? { source: A, target: M } + : { source: M, target: A }, + ); + } + s && f(); + } + function f() { + e.sort(function (t, e) { + return s( + (t.source.value + t.target.value) / 2, + (e.source.value + e.target.value) / 2, + ); + }); + } + return ( + (l.matrix = function (t) { + return arguments.length + ? ((i = (n = t) && n.length), (e = r = null), l) + : n; + }), + (l.padding = function (t) { + return arguments.length ? ((c = t), (e = r = null), l) : c; + }), + (l.sortGroups = function (t) { + return arguments.length ? ((a = t), (e = r = null), l) : a; + }), + (l.sortSubgroups = function (t) { + return arguments.length ? ((o = t), (e = null), l) : o; + }), + (l.sortChords = function (t) { + return arguments.length ? ((s = t), e && f(), l) : s; + }), + (l.chords = function () { + return (e || u(), e); + }), + (l.groups = function () { + return (r || u(), r); + }), + l + ); + }), + (t.layout.force = function () { + var e, + r, + n, + i, + a, + o, + s = {}, + l = t.dispatch("start", "tick", "end"), + c = [1, 1], + u = 0.9, + f = ba, + h = _a, + p = -30, + d = wa, + g = 0.1, + m = 0.64, + v = [], + y = []; + function x(t) { + return function (e, r, n, i) { + if (e.point !== t) { + var a = e.cx - t.x, + o = e.cy - t.y, + s = i - r, + l = a * a + o * o; + if ((s * s) / m < l) { + if (l < d) { + var c = e.charge / l; + ((t.px -= a * c), (t.py -= o * c)); + } + return !0; + } + if (e.point && l && l < d) { + c = e.pointCharge / l; + ((t.px -= a * c), (t.py -= o * c)); + } + } + return !e.charge; + }; + } + function b(e) { + ((e.px = t.event.x), (e.py = t.event.y), s.resume()); + } + return ( + (s.tick = function () { + if ((n *= 0.99) < 0.005) + return ((e = null), l.end({ type: "end", alpha: (n = 0) }), !0); + var r, + s, + f, + h, + d, + m, + b, + _, + w, + k = v.length, + M = y.length; + for (s = 0; s < M; ++s) + ((h = (f = y[s]).source), + (m = (_ = (d = f.target).x - h.x) * _ + (w = d.y - h.y) * w) && + ((_ *= m = (n * a[s] * ((m = Math.sqrt(m)) - i[s])) / m), + (w *= m), + (d.x -= + _ * + (b = + h.weight + d.weight + ? h.weight / (h.weight + d.weight) + : 0.5)), + (d.y -= w * b), + (h.x += _ * (b = 1 - b)), + (h.y += w * b))); + if ((b = n * g) && ((_ = c[0] / 2), (w = c[1] / 2), (s = -1), b)) + for (; ++s < k; ) + (((f = v[s]).x += (_ - f.x) * b), (f.y += (w - f.y) * b)); + if (p) + for ( + !(function t(e, r, n) { + var i = 0, + a = 0; + e.charge = 0; + if (!e.leaf) + for (var o, s = e.nodes, l = s.length, c = -1; ++c < l; ) + null != (o = s[c]) && + (t(o, r, n), + (e.charge += o.charge), + (i += o.charge * o.cx), + (a += o.charge * o.cy)); + if (e.point) { + e.leaf || + ((e.point.x += Math.random() - 0.5), + (e.point.y += Math.random() - 0.5)); + var u = r * n[e.point.index]; + ((e.charge += e.pointCharge = u), + (i += u * e.point.x), + (a += u * e.point.y)); + } + e.cx = i / e.charge; + e.cy = a / e.charge; + })((r = t.geom.quadtree(v)), n, o), + s = -1; + ++s < k; + + ) + (f = v[s]).fixed || r.visit(x(f)); + for (s = -1; ++s < k; ) + (f = v[s]).fixed + ? ((f.x = f.px), (f.y = f.py)) + : ((f.x -= (f.px - (f.px = f.x)) * u), + (f.y -= (f.py - (f.py = f.y)) * u)); + l.tick({ type: "tick", alpha: n }); + }), + (s.nodes = function (t) { + return arguments.length ? ((v = t), s) : v; + }), + (s.links = function (t) { + return arguments.length ? ((y = t), s) : y; + }), + (s.size = function (t) { + return arguments.length ? ((c = t), s) : c; + }), + (s.linkDistance = function (t) { + return arguments.length + ? ((f = "function" == typeof t ? t : +t), s) + : f; + }), + (s.distance = s.linkDistance), + (s.linkStrength = function (t) { + return arguments.length + ? ((h = "function" == typeof t ? t : +t), s) + : h; + }), + (s.friction = function (t) { + return arguments.length ? ((u = +t), s) : u; + }), + (s.charge = function (t) { + return arguments.length + ? ((p = "function" == typeof t ? t : +t), s) + : p; + }), + (s.chargeDistance = function (t) { + return arguments.length ? ((d = t * t), s) : Math.sqrt(d); + }), + (s.gravity = function (t) { + return arguments.length ? ((g = +t), s) : g; + }), + (s.theta = function (t) { + return arguments.length ? ((m = t * t), s) : Math.sqrt(m); + }), + (s.alpha = function (t) { + return arguments.length + ? ((t = +t), + n + ? t > 0 + ? (n = t) + : ((e.c = null), + (e.t = NaN), + (e = null), + l.end({ type: "end", alpha: (n = 0) })) + : t > 0 && + (l.start({ type: "start", alpha: (n = t) }), + (e = Me(s.tick))), + s) + : n; + }), + (s.start = function () { + var t, + e, + r, + n = v.length, + l = y.length, + u = c[0], + d = c[1]; + for (t = 0; t < n; ++t) (((r = v[t]).index = t), (r.weight = 0)); + for (t = 0; t < l; ++t) + ("number" == typeof (r = y[t]).source && (r.source = v[r.source]), + "number" == typeof r.target && (r.target = v[r.target]), + ++r.source.weight, + ++r.target.weight); + for (t = 0; t < n; ++t) + ((r = v[t]), + isNaN(r.x) && (r.x = g("x", u)), + isNaN(r.y) && (r.y = g("y", d)), + isNaN(r.px) && (r.px = r.x), + isNaN(r.py) && (r.py = r.y)); + if (((i = []), "function" == typeof f)) + for (t = 0; t < l; ++t) i[t] = +f.call(this, y[t], t); + else for (t = 0; t < l; ++t) i[t] = f; + if (((a = []), "function" == typeof h)) + for (t = 0; t < l; ++t) a[t] = +h.call(this, y[t], t); + else for (t = 0; t < l; ++t) a[t] = h; + if (((o = []), "function" == typeof p)) + for (t = 0; t < n; ++t) o[t] = +p.call(this, v[t], t); + else for (t = 0; t < n; ++t) o[t] = p; + function g(r, i) { + if (!e) { + for (e = new Array(n), c = 0; c < n; ++c) e[c] = []; + for (c = 0; c < l; ++c) { + var a = y[c]; + (e[a.source.index].push(a.target), + e[a.target.index].push(a.source)); + } + } + for (var o, s = e[t], c = -1, u = s.length; ++c < u; ) + if (!isNaN((o = s[c][r]))) return o; + return Math.random() * i; + } + return s.resume(); + }), + (s.resume = function () { + return s.alpha(0.1); + }), + (s.stop = function () { + return s.alpha(0); + }), + (s.drag = function () { + if ( + (r || + (r = t.behavior + .drag() + .origin(z) + .on("dragstart.force", ma) + .on("drag.force", b) + .on("dragend.force", va)), + !arguments.length) + ) + return r; + this.on("mouseover.force", ya).on("mouseout.force", xa).call(r); + }), + t.rebind(s, l, "on") + ); + })); + var ba = 20, + _a = 1, + wa = 1 / 0; + function ka(e, r) { + return ( + t.rebind(e, r, "sort", "children", "value"), + (e.nodes = e), + (e.links = Ea), + e + ); + } + function Ma(t, e) { + for (var r = [t]; null != (t = r.pop()); ) + if ((e(t), (i = t.children) && (n = i.length))) + for (var n, i; --n >= 0; ) r.push(i[n]); + } + function Aa(t, e) { + for (var r = [t], n = []; null != (t = r.pop()); ) + if ((n.push(t), (a = t.children) && (i = a.length))) + for (var i, a, o = -1; ++o < i; ) r.push(a[o]); + for (; null != (t = n.pop()); ) e(t); + } + function Ta(t) { + return t.children; + } + function Sa(t) { + return t.value; + } + function Ca(t, e) { + return e.value - t.value; + } + function Ea(e) { + return t.merge( + e.map(function (t) { + return (t.children || []).map(function (e) { + return { source: t, target: e }; + }); + }), + ); + } + ((t.layout.hierarchy = function () { + var t = Ca, + e = Ta, + r = Sa; + function n(i) { + var a, + o = [i], + s = []; + for (i.depth = 0; null != (a = o.pop()); ) + if ((s.push(a), (c = e.call(n, a, a.depth)) && (l = c.length))) { + for (var l, c, u; --l >= 0; ) + (o.push((u = c[l])), (u.parent = a), (u.depth = a.depth + 1)); + (r && (a.value = 0), (a.children = c)); + } else + (r && (a.value = +r.call(n, a, a.depth) || 0), delete a.children); + return ( + Aa(i, function (e) { + var n, i; + (t && (n = e.children) && n.sort(t), + r && (i = e.parent) && (i.value += e.value)); + }), + s + ); + } + return ( + (n.sort = function (e) { + return arguments.length ? ((t = e), n) : t; + }), + (n.children = function (t) { + return arguments.length ? ((e = t), n) : e; + }), + (n.value = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + (n.revalue = function (t) { + return ( + r && + (Ma(t, function (t) { + t.children && (t.value = 0); + }), + Aa(t, function (t) { + var e; + (t.children || (t.value = +r.call(n, t, t.depth) || 0), + (e = t.parent) && (e.value += t.value)); + })), + t + ); + }), + n + ); + }), + (t.layout.partition = function () { + var e = t.layout.hierarchy(), + r = [1, 1]; + function n(t, n) { + var i = e.call(this, t, n); + return ( + (function t(e, r, n, i) { + var a = e.children; + if ( + ((e.x = r), + (e.y = e.depth * i), + (e.dx = n), + (e.dy = i), + a && (o = a.length)) + ) { + var o, + s, + l, + c = -1; + for (n = e.value ? n / e.value : 0; ++c < o; ) + (t((s = a[c]), r, (l = s.value * n), i), (r += l)); + } + })( + i[0], + 0, + r[0], + r[1] / + (function t(e) { + var r = e.children, + n = 0; + if (r && (i = r.length)) + for (var i, a = -1; ++a < i; ) n = Math.max(n, t(r[a])); + return 1 + n; + })(i[0]), + ), + i + ); + } + return ( + (n.size = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + ka(n, e) + ); + }), + (t.layout.pie = function () { + var e = Number, + r = La, + n = 0, + i = Tt, + a = 0; + function o(s) { + var l, + c = s.length, + u = s.map(function (t, r) { + return +e.call(o, t, r); + }), + f = +("function" == typeof n ? n.apply(this, arguments) : n), + h = ("function" == typeof i ? i.apply(this, arguments) : i) - f, + p = Math.min( + Math.abs(h) / c, + +("function" == typeof a ? a.apply(this, arguments) : a), + ), + d = p * (h < 0 ? -1 : 1), + g = t.sum(u), + m = g ? (h - c * d) / g : 0, + v = t.range(c), + y = []; + return ( + null != r && + v.sort( + r === La + ? function (t, e) { + return u[e] - u[t]; + } + : function (t, e) { + return r(s[t], s[e]); + }, + ), + v.forEach(function (t) { + y[t] = { + data: s[t], + value: (l = u[t]), + startAngle: f, + endAngle: (f += l * m + d), + padAngle: p, + }; + }), + y + ); + } + return ( + (o.value = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.sort = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.startAngle = function (t) { + return arguments.length ? ((n = t), o) : n; + }), + (o.endAngle = function (t) { + return arguments.length ? ((i = t), o) : i; + }), + (o.padAngle = function (t) { + return arguments.length ? ((a = t), o) : a; + }), + o + ); + })); + var La = {}; + function za(t) { + return t.x; + } + function Pa(t) { + return t.y; + } + function Da(t, e, r) { + ((t.y0 = e), (t.y = r)); + } + t.layout.stack = function () { + var e = z, + r = Ra, + n = Ba, + i = Da, + a = za, + o = Pa; + function s(l, c) { + if (!(p = l.length)) return l; + var u = l.map(function (t, r) { + return e.call(s, t, r); + }), + f = u.map(function (t) { + return t.map(function (t, e) { + return [a.call(s, t, e), o.call(s, t, e)]; + }); + }), + h = r.call(s, f, c); + ((u = t.permute(u, h)), (f = t.permute(f, h))); + var p, + d, + g, + m, + v = n.call(s, f, c), + y = u[0].length; + for (g = 0; g < y; ++g) + for (i.call(s, u[0][g], (m = v[g]), f[0][g][1]), d = 1; d < p; ++d) + i.call(s, u[d][g], (m += f[d - 1][g][1]), f[d][g][1]); + return l; + } + return ( + (s.values = function (t) { + return arguments.length ? ((e = t), s) : e; + }), + (s.order = function (t) { + return arguments.length + ? ((r = "function" == typeof t ? t : Oa.get(t) || Ra), s) + : r; + }), + (s.offset = function (t) { + return arguments.length + ? ((n = "function" == typeof t ? t : Ia.get(t) || Ba), s) + : n; + }), + (s.x = function (t) { + return arguments.length ? ((a = t), s) : a; + }), + (s.y = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + (s.out = function (t) { + return arguments.length ? ((i = t), s) : i; + }), + s + ); + }; + var Oa = t.map({ + "inside-out": function (e) { + var r, + n, + i = e.length, + a = e.map(Fa), + o = e.map(Na), + s = t.range(i).sort(function (t, e) { + return a[t] - a[e]; + }), + l = 0, + c = 0, + u = [], + f = []; + for (r = 0; r < i; ++r) + ((n = s[r]), + l < c ? ((l += o[n]), u.push(n)) : ((c += o[n]), f.push(n))); + return f.reverse().concat(u); + }, + reverse: function (e) { + return t.range(e.length).reverse(); + }, + default: Ra, + }), + Ia = t.map({ + silhouette: function (t) { + var e, + r, + n, + i = t.length, + a = t[0].length, + o = [], + s = 0, + l = []; + for (r = 0; r < a; ++r) { + for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; + (n > s && (s = n), o.push(n)); + } + for (r = 0; r < a; ++r) l[r] = (s - o[r]) / 2; + return l; + }, + wiggle: function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u = t.length, + f = t[0], + h = f.length, + p = []; + for (p[0] = l = c = 0, r = 1; r < h; ++r) { + for (e = 0, i = 0; e < u; ++e) i += t[e][r][1]; + for (e = 0, a = 0, s = f[r][0] - f[r - 1][0]; e < u; ++e) { + for ( + n = 0, o = (t[e][r][1] - t[e][r - 1][1]) / (2 * s); + n < e; + ++n + ) + o += (t[n][r][1] - t[n][r - 1][1]) / s; + a += o * t[e][r][1]; + } + ((p[r] = l -= i ? (a / i) * s : 0), l < c && (c = l)); + } + for (r = 0; r < h; ++r) p[r] -= c; + return p; + }, + expand: function (t) { + var e, + r, + n, + i = t.length, + a = t[0].length, + o = 1 / i, + s = []; + for (r = 0; r < a; ++r) { + for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; + if (n) for (e = 0; e < i; e++) t[e][r][1] /= n; + else for (e = 0; e < i; e++) t[e][r][1] = o; + } + for (r = 0; r < a; ++r) s[r] = 0; + return s; + }, + zero: Ba, + }); + function Ra(e) { + return t.range(e.length); + } + function Ba(t) { + for (var e = -1, r = t[0].length, n = []; ++e < r; ) n[e] = 0; + return n; + } + function Fa(t) { + for (var e, r = 1, n = 0, i = t[0][1], a = t.length; r < a; ++r) + (e = t[r][1]) > i && ((n = r), (i = e)); + return n; + } + function Na(t) { + return t.reduce(ja, 0); + } + function ja(t, e) { + return t + e[1]; + } + function Va(t, e) { + return Ua(t, Math.ceil(Math.log(e.length) / Math.LN2 + 1)); + } + function Ua(t, e) { + for (var r = -1, n = +t[0], i = (t[1] - n) / e, a = []; ++r <= e; ) + a[r] = i * r + n; + return a; + } + function qa(e) { + return [t.min(e), t.max(e)]; + } + function Ha(t, e) { + return t.value - e.value; + } + function Ga(t, e) { + var r = t._pack_next; + ((t._pack_next = e), + (e._pack_prev = t), + (e._pack_next = r), + (r._pack_prev = e)); + } + function Wa(t, e) { + ((t._pack_next = e), (e._pack_prev = t)); + } + function Ya(t, e) { + var r = e.x - t.x, + n = e.y - t.y, + i = t.r + e.r; + return 0.999 * i * i > r * r + n * n; + } + function Xa(t) { + if ((e = t.children) && (l = e.length)) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1 / 0, + u = -1 / 0, + f = 1 / 0, + h = -1 / 0; + if ( + (e.forEach(Za), + ((r = e[0]).x = -r.r), + (r.y = 0), + x(r), + l > 1 && (((n = e[1]).x = n.r), (n.y = 0), x(n), l > 2)) + ) + for ( + Ka(r, n, (i = e[2])), + x(i), + Ga(r, i), + r._pack_prev = i, + Ga(i, n), + n = r._pack_next, + a = 3; + a < l; + a++ + ) { + Ka(r, n, (i = e[a])); + var p = 0, + d = 1, + g = 1; + for (o = n._pack_next; o !== n; o = o._pack_next, d++) + if (Ya(o, i)) { + p = 1; + break; + } + if (1 == p) + for ( + s = r._pack_prev; + s !== o._pack_prev && !Ya(s, i); + s = s._pack_prev, g++ + ); + p + ? (d < g || (d == g && n.r < r.r) + ? Wa(r, (n = o)) + : Wa((r = s), n), + a--) + : (Ga(r, i), (n = i), x(i)); + } + var m = (c + u) / 2, + v = (f + h) / 2, + y = 0; + for (a = 0; a < l; a++) + (((i = e[a]).x -= m), + (i.y -= v), + (y = Math.max(y, i.r + Math.sqrt(i.x * i.x + i.y * i.y)))); + ((t.r = y), e.forEach(Ja)); + } + function x(t) { + ((c = Math.min(t.x - t.r, c)), + (u = Math.max(t.x + t.r, u)), + (f = Math.min(t.y - t.r, f)), + (h = Math.max(t.y + t.r, h))); + } + } + function Za(t) { + t._pack_next = t._pack_prev = t; + } + function Ja(t) { + (delete t._pack_next, delete t._pack_prev); + } + function Ka(t, e, r) { + var n = t.r + r.r, + i = e.x - t.x, + a = e.y - t.y; + if (n && (i || a)) { + var o = e.r + r.r, + s = i * i + a * a, + l = 0.5 + ((n *= n) - (o *= o)) / (2 * s), + c = + Math.sqrt(Math.max(0, 2 * o * (n + s) - (n -= s) * n - o * o)) / + (2 * s); + ((r.x = t.x + l * i + c * a), (r.y = t.y + l * a - c * i)); + } else ((r.x = t.x + n), (r.y = t.y)); + } + function Qa(t, e) { + return t.parent == e.parent ? 1 : 2; + } + function $a(t) { + var e = t.children; + return e.length ? e[0] : t.t; + } + function to(t) { + var e, + r = t.children; + return (e = r.length) ? r[e - 1] : t.t; + } + function eo(t, e, r) { + var n = r / (e.i - t.i); + ((e.c -= n), (e.s += r), (t.c += n), (e.z += r), (e.m += r)); + } + function ro(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function no(t) { + return { x: t.x, y: t.y, dx: t.dx, dy: t.dy }; + } + function io(t, e) { + var r = t.x + e[3], + n = t.y + e[0], + i = t.dx - e[1] - e[3], + a = t.dy - e[0] - e[2]; + return ( + i < 0 && ((r += i / 2), (i = 0)), + a < 0 && ((n += a / 2), (a = 0)), + { x: r, y: n, dx: i, dy: a } + ); + } + function ao(t) { + var e = t[0], + r = t[t.length - 1]; + return e < r ? [e, r] : [r, e]; + } + function oo(t) { + return t.rangeExtent ? t.rangeExtent() : ao(t.range()); + } + function so(t, e, r, n) { + var i = r(t[0], t[1]), + a = n(e[0], e[1]); + return function (t) { + return a(i(t)); + }; + } + function lo(t, e) { + var r, + n = 0, + i = t.length - 1, + a = t[n], + o = t[i]; + return ( + o < a && ((r = n), (n = i), (i = r), (r = a), (a = o), (o = r)), + (t[n] = e.floor(a)), + (t[i] = e.ceil(o)), + t + ); + } + function co(t) { + return t + ? { + floor: function (e) { + return Math.floor(e / t) * t; + }, + ceil: function (e) { + return Math.ceil(e / t) * t; + }, + } + : uo; + } + ((t.layout.histogram = function () { + var e = !0, + r = Number, + n = qa, + i = Va; + function a(a, o) { + for ( + var s, + l, + c = [], + u = a.map(r, this), + f = n.call(this, u, o), + h = i.call(this, f, u, o), + p = ((o = -1), u.length), + d = h.length - 1, + g = e ? 1 : 1 / p; + ++o < d; + + ) + (((s = c[o] = []).dx = h[o + 1] - (s.x = h[o])), (s.y = 0)); + if (d > 0) + for (o = -1; ++o < p; ) + (l = u[o]) >= f[0] && + l <= f[1] && + (((s = c[t.bisect(h, l, 1, d) - 1]).y += g), s.push(a[o])); + return c; + } + return ( + (a.value = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.range = function (t) { + return arguments.length ? ((n = me(t)), a) : n; + }), + (a.bins = function (t) { + return arguments.length + ? ((i = + "number" == typeof t + ? function (e) { + return Ua(e, t); + } + : me(t)), + a) + : i; + }), + (a.frequency = function (t) { + return arguments.length ? ((e = !!t), a) : e; + }), + a + ); + }), + (t.layout.pack = function () { + var e, + r = t.layout.hierarchy().sort(Ha), + n = 0, + i = [1, 1]; + function a(t, a) { + var o = r.call(this, t, a), + s = o[0], + l = i[0], + c = i[1], + u = + null == e + ? Math.sqrt + : "function" == typeof e + ? e + : function () { + return e; + }; + if ( + ((s.x = s.y = 0), + Aa(s, function (t) { + t.r = +u(t.value); + }), + Aa(s, Xa), + n) + ) { + var f = (n * (e ? 1 : Math.max((2 * s.r) / l, (2 * s.r) / c))) / 2; + (Aa(s, function (t) { + t.r += f; + }), + Aa(s, Xa), + Aa(s, function (t) { + t.r -= f; + })); + } + return ( + (function t(e, r, n, i) { + var a = e.children; + e.x = r += i * e.x; + e.y = n += i * e.y; + e.r *= i; + if (a) for (var o = -1, s = a.length; ++o < s; ) t(a[o], r, n, i); + })( + s, + l / 2, + c / 2, + e ? 1 : 1 / Math.max((2 * s.r) / l, (2 * s.r) / c), + ), + o + ); + } + return ( + (a.size = function (t) { + return arguments.length ? ((i = t), a) : i; + }), + (a.radius = function (t) { + return arguments.length + ? ((e = null == t || "function" == typeof t ? t : +t), a) + : e; + }), + (a.padding = function (t) { + return arguments.length ? ((n = +t), a) : n; + }), + ka(a, r) + ); + }), + (t.layout.tree = function () { + var e = t.layout.hierarchy().sort(null).value(null), + r = Qa, + n = [1, 1], + i = null; + function a(t, a) { + var c = e.call(this, t, a), + u = c[0], + f = (function (t) { + var e, + r = { A: null, children: [t] }, + n = [r]; + for (; null != (e = n.pop()); ) + for (var i, a = e.children, o = 0, s = a.length; o < s; ++o) + n.push( + ((a[o] = i = + { + _: a[o], + parent: e, + children: ((i = a[o].children) && i.slice()) || [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: o, + }).a = i), + ); + return r.children[0]; + })(u); + if ((Aa(f, o), (f.parent.m = -f.z), Ma(f, s), i)) Ma(u, l); + else { + var h = u, + p = u, + d = u; + Ma(u, function (t) { + (t.x < h.x && (h = t), + t.x > p.x && (p = t), + t.depth > d.depth && (d = t)); + }); + var g = r(h, p) / 2 - h.x, + m = n[0] / (p.x + r(p, h) / 2 + g), + v = n[1] / (d.depth || 1); + Ma(u, function (t) { + ((t.x = (t.x + g) * m), (t.y = t.depth * v)); + }); + } + return c; + } + function o(t) { + var e = t.children, + n = t.parent.children, + i = t.i ? n[t.i - 1] : null; + if (e.length) { + !(function (t) { + var e, + r = 0, + n = 0, + i = t.children, + a = i.length; + for (; --a >= 0; ) + (((e = i[a]).z += r), (e.m += r), (r += e.s + (n += e.c))); + })(t); + var a = (e[0].z + e[e.length - 1].z) / 2; + i ? ((t.z = i.z + r(t._, i._)), (t.m = t.z - a)) : (t.z = a); + } else i && (t.z = i.z + r(t._, i._)); + t.parent.A = (function (t, e, n) { + if (e) { + for ( + var i, + a = t, + o = t, + s = e, + l = a.parent.children[0], + c = a.m, + u = o.m, + f = s.m, + h = l.m; + (s = to(s)), (a = $a(a)), s && a; + + ) + ((l = $a(l)), + ((o = to(o)).a = t), + (i = s.z + f - a.z - c + r(s._, a._)) > 0 && + (eo(ro(s, t, n), t, i), (c += i), (u += i)), + (f += s.m), + (c += a.m), + (h += l.m), + (u += o.m)); + (s && !to(o) && ((o.t = s), (o.m += f - u)), + a && !$a(l) && ((l.t = a), (l.m += c - h), (n = t))); + } + return n; + })(t, i, t.parent.A || n[0]); + } + function s(t) { + ((t._.x = t.z + t.parent.m), (t.m += t.parent.m)); + } + function l(t) { + ((t.x *= n[0]), (t.y = t.depth * n[1])); + } + return ( + (a.separation = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.size = function (t) { + return arguments.length + ? ((i = null == (n = t) ? l : null), a) + : i + ? null + : n; + }), + (a.nodeSize = function (t) { + return arguments.length + ? ((i = null == (n = t) ? null : l), a) + : i + ? n + : null; + }), + ka(a, e) + ); + }), + (t.layout.cluster = function () { + var e = t.layout.hierarchy().sort(null).value(null), + r = Qa, + n = [1, 1], + i = !1; + function a(a, o) { + var s, + l = e.call(this, a, o), + c = l[0], + u = 0; + Aa(c, function (e) { + var n = e.children; + n && n.length + ? ((e.x = (function (t) { + return ( + t.reduce(function (t, e) { + return t + e.x; + }, 0) / t.length + ); + })(n)), + (e.y = (function (e) { + return ( + 1 + + t.max(e, function (t) { + return t.y; + }) + ); + })(n))) + : ((e.x = s ? (u += r(e, s)) : 0), (e.y = 0), (s = e)); + }); + var f = (function t(e) { + var r = e.children; + return r && r.length ? t(r[0]) : e; + })(c), + h = (function t(e) { + var r, + n = e.children; + return n && (r = n.length) ? t(n[r - 1]) : e; + })(c), + p = f.x - r(f, h) / 2, + d = h.x + r(h, f) / 2; + return ( + Aa( + c, + i + ? function (t) { + ((t.x = (t.x - c.x) * n[0]), (t.y = (c.y - t.y) * n[1])); + } + : function (t) { + ((t.x = ((t.x - p) / (d - p)) * n[0]), + (t.y = (1 - (c.y ? t.y / c.y : 1)) * n[1])); + }, + ), + l + ); + } + return ( + (a.separation = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.size = function (t) { + return arguments.length ? ((i = null == (n = t)), a) : i ? null : n; + }), + (a.nodeSize = function (t) { + return arguments.length ? ((i = null != (n = t)), a) : i ? n : null; + }), + ka(a, e) + ); + }), + (t.layout.treemap = function () { + var e, + r = t.layout.hierarchy(), + n = Math.round, + i = [1, 1], + a = null, + o = no, + s = !1, + l = "squarify", + c = 0.5 * (1 + Math.sqrt(5)); + function u(t, e) { + for (var r, n, i = -1, a = t.length; ++i < a; ) + ((n = (r = t[i]).value * (e < 0 ? 0 : e)), + (r.area = isNaN(n) || n <= 0 ? 0 : n)); + } + function f(t) { + var e = t.children; + if (e && e.length) { + var r, + n, + i, + a = o(t), + s = [], + c = e.slice(), + h = 1 / 0, + g = + "slice" === l + ? a.dx + : "dice" === l + ? a.dy + : "slice-dice" === l + ? 1 & t.depth + ? a.dy + : a.dx + : Math.min(a.dx, a.dy); + for ( + u(c, (a.dx * a.dy) / t.value), s.area = 0; + (i = c.length) > 0; + + ) + (s.push((r = c[i - 1])), + (s.area += r.area), + "squarify" !== l || (n = p(s, g)) <= h + ? (c.pop(), (h = n)) + : ((s.area -= s.pop().area), + d(s, g, a, !1), + (g = Math.min(a.dx, a.dy)), + (s.length = s.area = 0), + (h = 1 / 0))); + (s.length && (d(s, g, a, !0), (s.length = s.area = 0)), + e.forEach(f)); + } + } + function h(t) { + var e = t.children; + if (e && e.length) { + var r, + n = o(t), + i = e.slice(), + a = []; + for (u(i, (n.dx * n.dy) / t.value), a.area = 0; (r = i.pop()); ) + (a.push(r), + (a.area += r.area), + null != r.z && + (d(a, r.z ? n.dx : n.dy, n, !i.length), + (a.length = a.area = 0))); + e.forEach(h); + } + } + function p(t, e) { + for ( + var r, n = t.area, i = 0, a = 1 / 0, o = -1, s = t.length; + ++o < s; + + ) + (r = t[o].area) && (r < a && (a = r), r > i && (i = r)); + return ( + (e *= e), + (n *= n) ? Math.max((e * i * c) / n, n / (e * a * c)) : 1 / 0 + ); + } + function d(t, e, r, i) { + var a, + o = -1, + s = t.length, + l = r.x, + c = r.y, + u = e ? n(t.area / e) : 0; + if (e == r.dx) { + for ((i || u > r.dy) && (u = r.dy); ++o < s; ) + (((a = t[o]).x = l), + (a.y = c), + (a.dy = u), + (l += a.dx = Math.min(r.x + r.dx - l, u ? n(a.area / u) : 0))); + ((a.z = !0), (a.dx += r.x + r.dx - l), (r.y += u), (r.dy -= u)); + } else { + for ((i || u > r.dx) && (u = r.dx); ++o < s; ) + (((a = t[o]).x = l), + (a.y = c), + (a.dx = u), + (c += a.dy = Math.min(r.y + r.dy - c, u ? n(a.area / u) : 0))); + ((a.z = !1), (a.dy += r.y + r.dy - c), (r.x += u), (r.dx -= u)); + } + } + function g(t) { + var n = e || r(t), + a = n[0]; + return ( + (a.x = a.y = 0), + a.value ? ((a.dx = i[0]), (a.dy = i[1])) : (a.dx = a.dy = 0), + e && r.revalue(a), + u([a], (a.dx * a.dy) / a.value), + (e ? h : f)(a), + s && (e = n), + n + ); + } + return ( + (g.size = function (t) { + return arguments.length ? ((i = t), g) : i; + }), + (g.padding = function (t) { + if (!arguments.length) return a; + function e(e) { + return io(e, t); + } + var r; + return ( + (o = + null == (a = t) + ? no + : "function" == (r = typeof t) + ? function (e) { + var r = t.call(g, e, e.depth); + return null == r + ? no(e) + : io(e, "number" == typeof r ? [r, r, r, r] : r); + } + : "number" === r + ? ((t = [t, t, t, t]), e) + : e), + g + ); + }), + (g.round = function (t) { + return arguments.length + ? ((n = t ? Math.round : Number), g) + : n != Number; + }), + (g.sticky = function (t) { + return arguments.length ? ((s = t), (e = null), g) : s; + }), + (g.ratio = function (t) { + return arguments.length ? ((c = t), g) : c; + }), + (g.mode = function (t) { + return arguments.length ? ((l = t + ""), g) : l; + }), + ka(g, r) + ); + }), + (t.random = { + normal: function (t, e) { + var r = arguments.length; + return ( + r < 2 && (e = 1), + r < 1 && (t = 0), + function () { + var r, n, i; + do { + i = + (r = 2 * Math.random() - 1) * r + + (n = 2 * Math.random() - 1) * n; + } while (!i || i > 1); + return t + e * r * Math.sqrt((-2 * Math.log(i)) / i); + } + ); + }, + logNormal: function () { + var e = t.random.normal.apply(t, arguments); + return function () { + return Math.exp(e()); + }; + }, + bates: function (e) { + var r = t.random.irwinHall(e); + return function () { + return r() / e; + }; + }, + irwinHall: function (t) { + return function () { + for (var e = 0, r = 0; r < t; r++) e += Math.random(); + return e; + }; + }, + }), + (t.scale = {})); + var uo = { floor: z, ceil: z }; + function fo(e, r, n, i) { + var a = [], + o = [], + s = 0, + l = Math.min(e.length, r.length) - 1; + for ( + e[l] < e[0] && ((e = e.slice().reverse()), (r = r.slice().reverse())); + ++s <= l; + + ) + (a.push(n(e[s - 1], e[s])), o.push(i(r[s - 1], r[s]))); + return function (r) { + var n = t.bisect(e, r, 1, l) - 1; + return o[n](a[n](r)); + }; + } + function ho(e, r) { + return t.rebind(e, r, "range", "rangeRound", "interpolate", "clamp"); + } + function po(t, e) { + return (lo(t, co(go(t, e)[2])), lo(t, co(go(t, e)[2])), t); + } + function go(t, e) { + null == e && (e = 10); + var r = ao(t), + n = r[1] - r[0], + i = Math.pow(10, Math.floor(Math.log(n / e) / Math.LN10)), + a = (e / n) * i; + return ( + a <= 0.15 ? (i *= 10) : a <= 0.35 ? (i *= 5) : a <= 0.75 && (i *= 2), + (r[0] = Math.ceil(r[0] / i) * i), + (r[1] = Math.floor(r[1] / i) * i + 0.5 * i), + (r[2] = i), + r + ); + } + function mo(e, r) { + return t.range.apply(t, go(e, r)); + } + function vo(e, r, n) { + var i = go(e, r); + if (n) { + var a = Le.exec(n); + if ((a.shift(), "s" === a[8])) { + var o = t.formatPrefix(Math.max(y(i[0]), y(i[1]))); + return ( + a[7] || (a[7] = "." + xo(o.scale(i[2]))), + (a[8] = "f"), + (n = t.format(a.join(""))), + function (t) { + return n(o.scale(t)) + o.symbol; + } + ); + } + (a[7] || + (a[7] = + "." + + (function (t, e) { + var r = xo(e[2]); + return t in yo + ? Math.abs(r - xo(Math.max(y(e[0]), y(e[1])))) + +("e" !== t) + : r - 2 * ("%" === t); + })(a[8], i)), + (n = a.join(""))); + } else n = ",." + xo(i[2]) + "f"; + return t.format(n); + } + t.scale.linear = function () { + return (function t(e, r, n, i) { + var a, o; + function s() { + var t = Math.min(e.length, r.length) > 2 ? fo : so, + s = i ? pa : ha; + return ((a = t(e, r, s, n)), (o = t(r, e, s, Gi)), l); + } + function l(t) { + return a(t); + } + l.invert = function (t) { + return o(t); + }; + l.domain = function (t) { + return arguments.length ? ((e = t.map(Number)), s()) : e; + }; + l.range = function (t) { + return arguments.length ? ((r = t), s()) : r; + }; + l.rangeRound = function (t) { + return l.range(t).interpolate(aa); + }; + l.clamp = function (t) { + return arguments.length ? ((i = t), s()) : i; + }; + l.interpolate = function (t) { + return arguments.length ? ((n = t), s()) : n; + }; + l.ticks = function (t) { + return mo(e, t); + }; + l.tickFormat = function (t, r) { + return vo(e, t, r); + }; + l.nice = function (t) { + return (po(e, t), s()); + }; + l.copy = function () { + return t(e, r, n, i); + }; + return s(); + })([0, 1], [0, 1], Gi, !1); + }; + var yo = { s: 1, g: 1, p: 1, r: 1, e: 1 }; + function xo(t) { + return -Math.floor(Math.log(t) / Math.LN10 + 0.01); + } + t.scale.log = function () { + return (function e(r, n, i, a) { + function o(t) { + return ( + (i ? Math.log(t < 0 ? 0 : t) : -Math.log(t > 0 ? 0 : -t)) / + Math.log(n) + ); + } + function s(t) { + return i ? Math.pow(n, t) : -Math.pow(n, -t); + } + function l(t) { + return r(o(t)); + } + l.invert = function (t) { + return s(r.invert(t)); + }; + l.domain = function (t) { + return arguments.length + ? ((i = t[0] >= 0), r.domain((a = t.map(Number)).map(o)), l) + : a; + }; + l.base = function (t) { + return arguments.length ? ((n = +t), r.domain(a.map(o)), l) : n; + }; + l.nice = function () { + var t = lo(a.map(o), i ? Math : _o); + return (r.domain(t), (a = t.map(s)), l); + }; + l.ticks = function () { + var t = ao(a), + e = [], + r = t[0], + l = t[1], + c = Math.floor(o(r)), + u = Math.ceil(o(l)), + f = n % 1 ? 2 : n; + if (isFinite(u - c)) { + if (i) { + for (; c < u; c++) for (var h = 1; h < f; h++) e.push(s(c) * h); + e.push(s(c)); + } else + for (e.push(s(c)); c++ < u; ) + for (var h = f - 1; h > 0; h--) e.push(s(c) * h); + for (c = 0; e[c] < r; c++); + for (u = e.length; e[u - 1] > l; u--); + e = e.slice(c, u); + } + return e; + }; + l.tickFormat = function (e, r) { + if (!arguments.length) return bo; + arguments.length < 2 + ? (r = bo) + : "function" != typeof r && (r = t.format(r)); + var i = Math.max(1, (n * e) / l.ticks().length); + return function (t) { + var e = t / s(Math.round(o(t))); + return (e * n < n - 0.5 && (e *= n), e <= i ? r(t) : ""); + }; + }; + l.copy = function () { + return e(r.copy(), n, i, a); + }; + return ho(l, r); + })(t.scale.linear().domain([0, 1]), 10, !0, [1, 10]); + }; + var bo = t.format(".0e"), + _o = { + floor: function (t) { + return -Math.ceil(-t); + }, + ceil: function (t) { + return -Math.floor(-t); + }, + }; + function wo(t) { + return function (e) { + return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); + }; + } + ((t.scale.pow = function () { + return (function t(e, r, n) { + var i = wo(r), + a = wo(1 / r); + function o(t) { + return e(i(t)); + } + o.invert = function (t) { + return a(e.invert(t)); + }; + o.domain = function (t) { + return arguments.length + ? (e.domain((n = t.map(Number)).map(i)), o) + : n; + }; + o.ticks = function (t) { + return mo(n, t); + }; + o.tickFormat = function (t, e) { + return vo(n, t, e); + }; + o.nice = function (t) { + return o.domain(po(n, t)); + }; + o.exponent = function (t) { + return arguments.length + ? ((i = wo((r = t))), (a = wo(1 / r)), e.domain(n.map(i)), o) + : r; + }; + o.copy = function () { + return t(e.copy(), r, n); + }; + return ho(o, e); + })(t.scale.linear(), 1, [0, 1]); + }), + (t.scale.sqrt = function () { + return t.scale.pow().exponent(0.5); + }), + (t.scale.ordinal = function () { + return (function e(r, n) { + var i, a, o; + function s(t) { + return a[ + ((i.get(t) || ("range" === n.t ? i.set(t, r.push(t)) : NaN)) - + 1) % + a.length + ]; + } + function l(e, n) { + return t.range(r.length).map(function (t) { + return e + n * t; + }); + } + s.domain = function (t) { + if (!arguments.length) return r; + ((r = []), (i = new b())); + for (var e, a = -1, o = t.length; ++a < o; ) + i.has((e = t[a])) || i.set(e, r.push(e)); + return s[n.t].apply(s, n.a); + }; + s.range = function (t) { + return arguments.length + ? ((a = t), (o = 0), (n = { t: "range", a: arguments }), s) + : a; + }; + s.rangePoints = function (t, e) { + arguments.length < 2 && (e = 0); + var i = t[0], + c = t[1], + u = + r.length < 2 + ? ((i = (i + c) / 2), 0) + : (c - i) / (r.length - 1 + e); + return ( + (a = l(i + (u * e) / 2, u)), + (o = 0), + (n = { t: "rangePoints", a: arguments }), + s + ); + }; + s.rangeRoundPoints = function (t, e) { + arguments.length < 2 && (e = 0); + var i = t[0], + c = t[1], + u = + r.length < 2 + ? ((i = c = Math.round((i + c) / 2)), 0) + : ((c - i) / (r.length - 1 + e)) | 0; + return ( + (a = l( + i + + Math.round( + (u * e) / 2 + (c - i - (r.length - 1 + e) * u) / 2, + ), + u, + )), + (o = 0), + (n = { t: "rangeRoundPoints", a: arguments }), + s + ); + }; + s.rangeBands = function (t, e, i) { + (arguments.length < 2 && (e = 0), arguments.length < 3 && (i = e)); + var c = t[1] < t[0], + u = t[c - 0], + f = t[1 - c], + h = (f - u) / (r.length - e + 2 * i); + return ( + (a = l(u + h * i, h)), + c && a.reverse(), + (o = h * (1 - e)), + (n = { t: "rangeBands", a: arguments }), + s + ); + }; + s.rangeRoundBands = function (t, e, i) { + (arguments.length < 2 && (e = 0), arguments.length < 3 && (i = e)); + var c = t[1] < t[0], + u = t[c - 0], + f = t[1 - c], + h = Math.floor((f - u) / (r.length - e + 2 * i)); + return ( + (a = l(u + Math.round((f - u - (r.length - e) * h) / 2), h)), + c && a.reverse(), + (o = Math.round(h * (1 - e))), + (n = { t: "rangeRoundBands", a: arguments }), + s + ); + }; + s.rangeBand = function () { + return o; + }; + s.rangeExtent = function () { + return ao(n.a[0]); + }; + s.copy = function () { + return e(r, n); + }; + return s.domain(r); + })([], { t: "range", a: [[]] }); + }), + (t.scale.category10 = function () { + return t.scale.ordinal().range(ko); + }), + (t.scale.category20 = function () { + return t.scale.ordinal().range(Mo); + }), + (t.scale.category20b = function () { + return t.scale.ordinal().range(Ao); + }), + (t.scale.category20c = function () { + return t.scale.ordinal().range(To); + })); + var ko = [ + 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, + 8355711, 12369186, 1556175, + ].map(se), + Mo = [ + 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, + 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, + 8355711, 13092807, 12369186, 14408589, 1556175, 10410725, + ].map(se), + Ao = [ + 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, + 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, + 14049643, 15177372, 8077683, 10834324, 13528509, 14589654, + ].map(se), + To = [ + 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, + 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, + 12369372, 14342891, 6513507, 9868950, 12434877, 14277081, + ].map(se); + function So() { + return 0; + } + ((t.scale.quantile = function () { + return (function e(r, n) { + var i; + function a() { + var e = 0, + a = n.length; + for (i = []; ++e < a; ) i[e - 1] = t.quantile(r, e / a); + return o; + } + function o(e) { + if (!isNaN((e = +e))) return n[t.bisect(i, e)]; + } + o.domain = function (t) { + return arguments.length ? ((r = t.map(p).filter(d).sort(h)), a()) : r; + }; + o.range = function (t) { + return arguments.length ? ((n = t), a()) : n; + }; + o.quantiles = function () { + return i; + }; + o.invertExtent = function (t) { + return (t = n.indexOf(t)) < 0 + ? [NaN, NaN] + : [t > 0 ? i[t - 1] : r[0], t < i.length ? i[t] : r[r.length - 1]]; + }; + o.copy = function () { + return e(r, n); + }; + return a(); + })([], []); + }), + (t.scale.quantize = function () { + return (function t(e, r, n) { + var i, a; + function o(t) { + return n[Math.max(0, Math.min(a, Math.floor(i * (t - e))))]; + } + function s() { + return ((i = n.length / (r - e)), (a = n.length - 1), o); + } + o.domain = function (t) { + return arguments.length + ? ((e = +t[0]), (r = +t[t.length - 1]), s()) + : [e, r]; + }; + o.range = function (t) { + return arguments.length ? ((n = t), s()) : n; + }; + o.invertExtent = function (t) { + return [(t = (t = n.indexOf(t)) < 0 ? NaN : t / i + e), t + 1 / i]; + }; + o.copy = function () { + return t(e, r, n); + }; + return s(); + })(0, 1, [0, 1]); + }), + (t.scale.threshold = function () { + return (function e(r, n) { + function i(e) { + if (e <= e) return n[t.bisect(r, e)]; + } + i.domain = function (t) { + return arguments.length ? ((r = t), i) : r; + }; + i.range = function (t) { + return arguments.length ? ((n = t), i) : n; + }; + i.invertExtent = function (t) { + return ((t = n.indexOf(t)), [r[t - 1], r[t]]); + }; + i.copy = function () { + return e(r, n); + }; + return i; + })([0.5], [0, 1]); + }), + (t.scale.identity = function () { + return (function t(e) { + function r(t) { + return +t; + } + r.invert = r; + r.domain = r.range = function (t) { + return arguments.length ? ((e = t.map(r)), r) : e; + }; + r.ticks = function (t) { + return mo(e, t); + }; + r.tickFormat = function (t, r) { + return vo(e, t, r); + }; + r.copy = function () { + return t(e); + }; + return r; + })([0, 1]); + }), + (t.svg = {}), + (t.svg.arc = function () { + var t = Eo, + e = Lo, + r = So, + n = Co, + i = zo, + a = Po, + o = Do; + function s() { + var s = Math.max(0, +t.apply(this, arguments)), + c = Math.max(0, +e.apply(this, arguments)), + u = i.apply(this, arguments) - Ct, + f = a.apply(this, arguments) - Ct, + h = Math.abs(f - u), + p = u > f ? 0 : 1; + if ((c < s && ((d = c), (c = s), (s = d)), h >= St)) + return l(c, p) + (s ? l(s, 1 - p) : "") + "Z"; + var d, + g, + m, + v, + y, + x, + b, + _, + w, + k, + M, + A, + T = 0, + S = 0, + C = []; + if ( + ((v = (+o.apply(this, arguments) || 0) / 2) && + ((m = + n === Co + ? Math.sqrt(s * s + c * c) + : +n.apply(this, arguments)), + p || (S *= -1), + c && (S = Ot((m / c) * Math.sin(v))), + s && (T = Ot((m / s) * Math.sin(v)))), + c) + ) { + ((y = c * Math.cos(u + S)), + (x = c * Math.sin(u + S)), + (b = c * Math.cos(f - S)), + (_ = c * Math.sin(f - S))); + var E = Math.abs(f - u - 2 * S) <= At ? 0 : 1; + if (S && (Oo(y, x, b, _) === p) ^ E) { + var L = (u + f) / 2; + ((y = c * Math.cos(L)), (x = c * Math.sin(L)), (b = _ = null)); + } + } else y = x = 0; + if (s) { + ((w = s * Math.cos(f - T)), + (k = s * Math.sin(f - T)), + (M = s * Math.cos(u + T)), + (A = s * Math.sin(u + T))); + var z = Math.abs(u - f + 2 * T) <= At ? 0 : 1; + if (T && (Oo(w, k, M, A) === 1 - p) ^ z) { + var P = (u + f) / 2; + ((w = s * Math.cos(P)), (k = s * Math.sin(P)), (M = A = null)); + } + } else w = k = 0; + if ( + h > kt && + (d = Math.min(Math.abs(c - s) / 2, +r.apply(this, arguments))) > + 0.001 + ) { + g = (s < c) ^ p ? 0 : 1; + var D = d, + O = d; + if (h < At) { + var I = + null == M + ? [w, k] + : null == b + ? [y, x] + : ai([y, x], [M, A], [b, _], [w, k]), + R = y - I[0], + B = x - I[1], + F = b - I[0], + N = _ - I[1], + j = + 1 / + Math.sin( + Math.acos( + (R * F + B * N) / + (Math.sqrt(R * R + B * B) * Math.sqrt(F * F + N * N)), + ) / 2, + ), + V = Math.sqrt(I[0] * I[0] + I[1] * I[1]); + ((O = Math.min(d, (s - V) / (j - 1))), + (D = Math.min(d, (c - V) / (j + 1)))); + } + if (null != b) { + var U = Io(null == M ? [w, k] : [M, A], [y, x], c, D, p), + q = Io([b, _], [w, k], c, D, p); + d === D + ? C.push( + "M", + U[0], + "A", + D, + ",", + D, + " 0 0,", + g, + " ", + U[1], + "A", + c, + ",", + c, + " 0 ", + (1 - p) ^ Oo(U[1][0], U[1][1], q[1][0], q[1][1]), + ",", + p, + " ", + q[1], + "A", + D, + ",", + D, + " 0 0,", + g, + " ", + q[0], + ) + : C.push("M", U[0], "A", D, ",", D, " 0 1,", g, " ", q[0]); + } else C.push("M", y, ",", x); + if (null != M) { + var H = Io([y, x], [M, A], s, -O, p), + G = Io([w, k], null == b ? [y, x] : [b, _], s, -O, p); + d === O + ? C.push( + "L", + G[0], + "A", + O, + ",", + O, + " 0 0,", + g, + " ", + G[1], + "A", + s, + ",", + s, + " 0 ", + p ^ Oo(G[1][0], G[1][1], H[1][0], H[1][1]), + ",", + 1 - p, + " ", + H[1], + "A", + O, + ",", + O, + " 0 0,", + g, + " ", + H[0], + ) + : C.push("L", G[0], "A", O, ",", O, " 0 0,", g, " ", H[0]); + } else C.push("L", w, ",", k); + } else + (C.push("M", y, ",", x), + null != b && + C.push("A", c, ",", c, " 0 ", E, ",", p, " ", b, ",", _), + C.push("L", w, ",", k), + null != M && + C.push("A", s, ",", s, " 0 ", z, ",", 1 - p, " ", M, ",", A)); + return (C.push("Z"), C.join("")); + } + function l(t, e) { + return ( + "M0," + + t + + "A" + + t + + "," + + t + + " 0 1," + + e + + " 0," + + -t + + "A" + + t + + "," + + t + + " 0 1," + + e + + " 0," + + t + ); + } + return ( + (s.innerRadius = function (e) { + return arguments.length ? ((t = me(e)), s) : t; + }), + (s.outerRadius = function (t) { + return arguments.length ? ((e = me(t)), s) : e; + }), + (s.cornerRadius = function (t) { + return arguments.length ? ((r = me(t)), s) : r; + }), + (s.padRadius = function (t) { + return arguments.length ? ((n = t == Co ? Co : me(t)), s) : n; + }), + (s.startAngle = function (t) { + return arguments.length ? ((i = me(t)), s) : i; + }), + (s.endAngle = function (t) { + return arguments.length ? ((a = me(t)), s) : a; + }), + (s.padAngle = function (t) { + return arguments.length ? ((o = me(t)), s) : o; + }), + (s.centroid = function () { + var r = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, + n = + (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - + Ct; + return [Math.cos(n) * r, Math.sin(n) * r]; + }), + s + ); + })); + var Co = "auto"; + function Eo(t) { + return t.innerRadius; + } + function Lo(t) { + return t.outerRadius; + } + function zo(t) { + return t.startAngle; + } + function Po(t) { + return t.endAngle; + } + function Do(t) { + return t && t.padAngle; + } + function Oo(t, e, r, n) { + return (t - r) * e - (e - n) * t > 0 ? 0 : 1; + } + function Io(t, e, r, n, i) { + var a = t[0] - e[0], + o = t[1] - e[1], + s = (i ? n : -n) / Math.sqrt(a * a + o * o), + l = s * o, + c = -s * a, + u = t[0] + l, + f = t[1] + c, + h = e[0] + l, + p = e[1] + c, + d = (u + h) / 2, + g = (f + p) / 2, + m = h - u, + v = p - f, + y = m * m + v * v, + x = r - n, + b = u * p - h * f, + _ = (v < 0 ? -1 : 1) * Math.sqrt(Math.max(0, x * x * y - b * b)), + w = (b * v - m * _) / y, + k = (-b * m - v * _) / y, + M = (b * v + m * _) / y, + A = (-b * m + v * _) / y, + T = w - d, + S = k - g, + C = M - d, + E = A - g; + return ( + T * T + S * S > C * C + E * E && ((w = M), (k = A)), + [ + [w - l, k - c], + [(w * r) / x, (k * r) / x], + ] + ); + } + function Ro(t) { + var e = $n, + r = ti, + n = Wr, + i = Fo, + a = i.key, + o = 0.7; + function s(a) { + var s, + l = [], + c = [], + u = -1, + f = a.length, + h = me(e), + p = me(r); + function d() { + l.push("M", i(t(c), o)); + } + for (; ++u < f; ) + n.call(this, (s = a[u]), u) + ? c.push([+h.call(this, s, u), +p.call(this, s, u)]) + : c.length && (d(), (c = [])); + return (c.length && d(), l.length ? l.join("") : null); + } + return ( + (s.x = function (t) { + return arguments.length ? ((e = t), s) : e; + }), + (s.y = function (t) { + return arguments.length ? ((r = t), s) : r; + }), + (s.defined = function (t) { + return arguments.length ? ((n = t), s) : n; + }), + (s.interpolate = function (t) { + return arguments.length + ? ((a = + "function" == typeof t ? (i = t) : (i = Bo.get(t) || Fo).key), + s) + : a; + }), + (s.tension = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + s + ); + } + t.svg.line = function () { + return Ro(z); + }; + var Bo = t.map({ + linear: Fo, + "linear-closed": No, + step: function (t) { + var e = 0, + r = t.length, + n = t[0], + i = [n[0], ",", n[1]]; + for (; ++e < r; ) i.push("H", (n[0] + (n = t[e])[0]) / 2, "V", n[1]); + r > 1 && i.push("H", n[0]); + return i.join(""); + }, + "step-before": jo, + "step-after": Vo, + basis: Ho, + "basis-open": function (t) { + if (t.length < 4) return Fo(t); + var e, + r = [], + n = -1, + i = t.length, + a = [0], + o = [0]; + for (; ++n < 3; ) ((e = t[n]), a.push(e[0]), o.push(e[1])); + (r.push(Go(Xo, a) + "," + Go(Xo, o)), --n); + for (; ++n < i; ) + ((e = t[n]), + a.shift(), + a.push(e[0]), + o.shift(), + o.push(e[1]), + Zo(r, a, o)); + return r.join(""); + }, + "basis-closed": function (t) { + var e, + r, + n = -1, + i = t.length, + a = i + 4, + o = [], + s = []; + for (; ++n < 4; ) ((r = t[n % i]), o.push(r[0]), s.push(r[1])); + ((e = [Go(Xo, o), ",", Go(Xo, s)]), --n); + for (; ++n < a; ) + ((r = t[n % i]), + o.shift(), + o.push(r[0]), + s.shift(), + s.push(r[1]), + Zo(e, o, s)); + return e.join(""); + }, + bundle: function (t, e) { + var r = t.length - 1; + if (r) + for ( + var n, + i, + a = t[0][0], + o = t[0][1], + s = t[r][0] - a, + l = t[r][1] - o, + c = -1; + ++c <= r; + + ) + ((n = t[c]), + (i = c / r), + (n[0] = e * n[0] + (1 - e) * (a + i * s)), + (n[1] = e * n[1] + (1 - e) * (o + i * l))); + return Ho(t); + }, + cardinal: function (t, e) { + return t.length < 3 ? Fo(t) : t[0] + Uo(t, qo(t, e)); + }, + "cardinal-open": function (t, e) { + return t.length < 4 ? Fo(t) : t[1] + Uo(t.slice(1, -1), qo(t, e)); + }, + "cardinal-closed": function (t, e) { + return t.length < 3 + ? No(t) + : t[0] + + Uo((t.push(t[0]), t), qo([t[t.length - 2]].concat(t, [t[1]]), e)); + }, + monotone: function (t) { + return t.length < 3 + ? Fo(t) + : t[0] + + Uo( + t, + (function (t) { + var e, + r, + n, + i, + a = [], + o = (function (t) { + var e = 0, + r = t.length - 1, + n = [], + i = t[0], + a = t[1], + o = (n[0] = Jo(i, a)); + for (; ++e < r; ) + n[e] = (o + (o = Jo((i = a), (a = t[e + 1])))) / 2; + return ((n[e] = o), n); + })(t), + s = -1, + l = t.length - 1; + for (; ++s < l; ) + ((e = Jo(t[s], t[s + 1])), + y(e) < kt + ? (o[s] = o[s + 1] = 0) + : ((r = o[s] / e), + (n = o[s + 1] / e), + (i = r * r + n * n) > 9 && + ((i = (3 * e) / Math.sqrt(i)), + (o[s] = i * r), + (o[s + 1] = i * n)))); + s = -1; + for (; ++s <= l; ) + ((i = + (t[Math.min(l, s + 1)][0] - t[Math.max(0, s - 1)][0]) / + (6 * (1 + o[s] * o[s]))), + a.push([i || 0, o[s] * i || 0])); + return a; + })(t), + ); + }, + }); + function Fo(t) { + return t.length > 1 ? t.join("L") : t + "Z"; + } + function No(t) { + return t.join("L") + "Z"; + } + function jo(t) { + for (var e = 0, r = t.length, n = t[0], i = [n[0], ",", n[1]]; ++e < r; ) + i.push("V", (n = t[e])[1], "H", n[0]); + return i.join(""); + } + function Vo(t) { + for (var e = 0, r = t.length, n = t[0], i = [n[0], ",", n[1]]; ++e < r; ) + i.push("H", (n = t[e])[0], "V", n[1]); + return i.join(""); + } + function Uo(t, e) { + if (e.length < 1 || (t.length != e.length && t.length != e.length + 2)) + return Fo(t); + var r = t.length != e.length, + n = "", + i = t[0], + a = t[1], + o = e[0], + s = o, + l = 1; + if ( + (r && + ((n += + "Q" + + (a[0] - (2 * o[0]) / 3) + + "," + + (a[1] - (2 * o[1]) / 3) + + "," + + a[0] + + "," + + a[1]), + (i = t[1]), + (l = 2)), + e.length > 1) + ) { + ((s = e[1]), + (a = t[l]), + l++, + (n += + "C" + + (i[0] + o[0]) + + "," + + (i[1] + o[1]) + + "," + + (a[0] - s[0]) + + "," + + (a[1] - s[1]) + + "," + + a[0] + + "," + + a[1])); + for (var c = 2; c < e.length; c++, l++) + ((a = t[l]), + (s = e[c]), + (n += + "S" + + (a[0] - s[0]) + + "," + + (a[1] - s[1]) + + "," + + a[0] + + "," + + a[1])); + } + if (r) { + var u = t[l]; + n += + "Q" + + (a[0] + (2 * s[0]) / 3) + + "," + + (a[1] + (2 * s[1]) / 3) + + "," + + u[0] + + "," + + u[1]; + } + return n; + } + function qo(t, e) { + for ( + var r, n = [], i = (1 - e) / 2, a = t[0], o = t[1], s = 1, l = t.length; + ++s < l; + + ) + ((r = a), + (a = o), + (o = t[s]), + n.push([i * (o[0] - r[0]), i * (o[1] - r[1])])); + return n; + } + function Ho(t) { + if (t.length < 3) return Fo(t); + var e = 1, + r = t.length, + n = t[0], + i = n[0], + a = n[1], + o = [i, i, i, (n = t[1])[0]], + s = [a, a, a, n[1]], + l = [i, ",", a, "L", Go(Xo, o), ",", Go(Xo, s)]; + for (t.push(t[r - 1]); ++e <= r; ) + ((n = t[e]), + o.shift(), + o.push(n[0]), + s.shift(), + s.push(n[1]), + Zo(l, o, s)); + return (t.pop(), l.push("L", n), l.join("")); + } + function Go(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3]; + } + Bo.forEach(function (t, e) { + ((e.key = t), (e.closed = /-closed$/.test(t))); + }); + var Wo = [0, 2 / 3, 1 / 3, 0], + Yo = [0, 1 / 3, 2 / 3, 0], + Xo = [0, 1 / 6, 2 / 3, 1 / 6]; + function Zo(t, e, r) { + t.push( + "C", + Go(Wo, e), + ",", + Go(Wo, r), + ",", + Go(Yo, e), + ",", + Go(Yo, r), + ",", + Go(Xo, e), + ",", + Go(Xo, r), + ); + } + function Jo(t, e) { + return (e[1] - t[1]) / (e[0] - t[0]); + } + function Ko(t) { + for (var e, r, n, i = -1, a = t.length; ++i < a; ) + ((r = (e = t[i])[0]), + (n = e[1] - Ct), + (e[0] = r * Math.cos(n)), + (e[1] = r * Math.sin(n))); + return t; + } + function Qo(t) { + var e = $n, + r = $n, + n = 0, + i = ti, + a = Wr, + o = Fo, + s = o.key, + l = o, + c = "L", + u = 0.7; + function f(s) { + var f, + h, + p, + d = [], + g = [], + m = [], + v = -1, + y = s.length, + x = me(e), + b = me(n), + _ = + e === r + ? function () { + return h; + } + : me(r), + w = + n === i + ? function () { + return p; + } + : me(i); + function k() { + d.push("M", o(t(m), u), c, l(t(g.reverse()), u), "Z"); + } + for (; ++v < y; ) + a.call(this, (f = s[v]), v) + ? (g.push([(h = +x.call(this, f, v)), (p = +b.call(this, f, v))]), + m.push([+_.call(this, f, v), +w.call(this, f, v)])) + : g.length && (k(), (g = []), (m = [])); + return (g.length && k(), d.length ? d.join("") : null); + } + return ( + (f.x = function (t) { + return arguments.length ? ((e = r = t), f) : r; + }), + (f.x0 = function (t) { + return arguments.length ? ((e = t), f) : e; + }), + (f.x1 = function (t) { + return arguments.length ? ((r = t), f) : r; + }), + (f.y = function (t) { + return arguments.length ? ((n = i = t), f) : i; + }), + (f.y0 = function (t) { + return arguments.length ? ((n = t), f) : n; + }), + (f.y1 = function (t) { + return arguments.length ? ((i = t), f) : i; + }), + (f.defined = function (t) { + return arguments.length ? ((a = t), f) : a; + }), + (f.interpolate = function (t) { + return arguments.length + ? ((s = + "function" == typeof t ? (o = t) : (o = Bo.get(t) || Fo).key), + (l = o.reverse || o), + (c = o.closed ? "M" : "L"), + f) + : s; + }), + (f.tension = function (t) { + return arguments.length ? ((u = t), f) : u; + }), + f + ); + } + function $o(t) { + return t.radius; + } + function ts(t) { + return [t.x, t.y]; + } + function es() { + return 64; + } + function rs() { + return "circle"; + } + function ns(t) { + var e = Math.sqrt(t / At); + return ( + "M0," + + e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + -e + + "A" + + e + + "," + + e + + " 0 1,1 0," + + e + + "Z" + ); + } + ((t.svg.line.radial = function () { + var t = Ro(Ko); + return ((t.radius = t.x), delete t.x, (t.angle = t.y), delete t.y, t); + }), + (jo.reverse = Vo), + (Vo.reverse = jo), + (t.svg.area = function () { + return Qo(z); + }), + (t.svg.area.radial = function () { + var t = Qo(Ko); + return ( + (t.radius = t.x), + delete t.x, + (t.innerRadius = t.x0), + delete t.x0, + (t.outerRadius = t.x1), + delete t.x1, + (t.angle = t.y), + delete t.y, + (t.startAngle = t.y0), + delete t.y0, + (t.endAngle = t.y1), + delete t.y1, + t + ); + }), + (t.svg.chord = function () { + var t = Nn, + e = jn, + r = $o, + n = zo, + i = Po; + function a(r, n) { + var i, + a, + c = o(this, t, r, n), + u = o(this, e, r, n); + return ( + "M" + + c.p0 + + s(c.r, c.p1, c.a1 - c.a0) + + ((a = u), + (i = c).a0 == a.a0 && i.a1 == a.a1 + ? l(c.r, c.p1, c.r, c.p0) + : l(c.r, c.p1, u.r, u.p0) + + s(u.r, u.p1, u.a1 - u.a0) + + l(u.r, u.p1, c.r, c.p0)) + + "Z" + ); + } + function o(t, e, a, o) { + var s = e.call(t, a, o), + l = r.call(t, s, o), + c = n.call(t, s, o) - Ct, + u = i.call(t, s, o) - Ct; + return { + r: l, + a0: c, + a1: u, + p0: [l * Math.cos(c), l * Math.sin(c)], + p1: [l * Math.cos(u), l * Math.sin(u)], + }; + } + function s(t, e, r) { + return "A" + t + "," + t + " 0 " + +(r > At) + ",1 " + e; + } + function l(t, e, r, n) { + return "Q 0,0 " + n; + } + return ( + (a.radius = function (t) { + return arguments.length ? ((r = me(t)), a) : r; + }), + (a.source = function (e) { + return arguments.length ? ((t = me(e)), a) : t; + }), + (a.target = function (t) { + return arguments.length ? ((e = me(t)), a) : e; + }), + (a.startAngle = function (t) { + return arguments.length ? ((n = me(t)), a) : n; + }), + (a.endAngle = function (t) { + return arguments.length ? ((i = me(t)), a) : i; + }), + a + ); + }), + (t.svg.diagonal = function () { + var t = Nn, + e = jn, + r = ts; + function n(n, i) { + var a = t.call(this, n, i), + o = e.call(this, n, i), + s = (a.y + o.y) / 2, + l = [a, { x: a.x, y: s }, { x: o.x, y: s }, o]; + return "M" + (l = l.map(r))[0] + "C" + l[1] + " " + l[2] + " " + l[3]; + } + return ( + (n.source = function (e) { + return arguments.length ? ((t = me(e)), n) : t; + }), + (n.target = function (t) { + return arguments.length ? ((e = me(t)), n) : e; + }), + (n.projection = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + n + ); + }), + (t.svg.diagonal.radial = function () { + var e = t.svg.diagonal(), + r = ts, + n = e.projection; + return ( + (e.projection = function (t) { + return arguments.length + ? n( + (function (t) { + return function () { + var e = t.apply(this, arguments), + r = e[0], + n = e[1] - Ct; + return [r * Math.cos(n), r * Math.sin(n)]; + }; + })((r = t)), + ) + : r; + }), + e + ); + }), + (t.svg.symbol = function () { + var t = rs, + e = es; + function r(r, n) { + return (is.get(t.call(this, r, n)) || ns)(e.call(this, r, n)); + } + return ( + (r.type = function (e) { + return arguments.length ? ((t = me(e)), r) : t; + }), + (r.size = function (t) { + return arguments.length ? ((e = me(t)), r) : e; + }), + r + ); + })); + var is = t.map({ + circle: ns, + cross: function (t) { + var e = Math.sqrt(t / 5) / 2; + return ( + "M" + + -3 * e + + "," + + -e + + "H" + + -e + + "V" + + -3 * e + + "H" + + e + + "V" + + -e + + "H" + + 3 * e + + "V" + + e + + "H" + + e + + "V" + + 3 * e + + "H" + + -e + + "V" + + e + + "H" + + -3 * e + + "Z" + ); + }, + diamond: function (t) { + var e = Math.sqrt(t / (2 * os)), + r = e * os; + return "M0," + -e + "L" + r + ",0 0," + e + " " + -r + ",0Z"; + }, + square: function (t) { + var e = Math.sqrt(t) / 2; + return ( + "M" + + -e + + "," + + -e + + "L" + + e + + "," + + -e + + " " + + e + + "," + + e + + " " + + -e + + "," + + e + + "Z" + ); + }, + "triangle-down": function (t) { + var e = Math.sqrt(t / as), + r = (e * as) / 2; + return "M0," + r + "L" + e + "," + -r + " " + -e + "," + -r + "Z"; + }, + "triangle-up": function (t) { + var e = Math.sqrt(t / as), + r = (e * as) / 2; + return "M0," + -r + "L" + e + "," + r + " " + -e + "," + r + "Z"; + }, + }); + t.svg.symbolTypes = is.keys(); + var as = Math.sqrt(3), + os = Math.tan(30 * Et); + ((Y.transition = function (t) { + for ( + var e, + r, + n = us || ++ps, + i = ms(t), + a = [], + o = fs || { time: Date.now(), ease: ta, delay: 0, duration: 250 }, + s = -1, + l = this.length; + ++s < l; + + ) { + a.push((e = [])); + for (var c = this[s], u = -1, f = c.length; ++u < f; ) + ((r = c[u]) && vs(r, u, i, n, o), e.push(r)); + } + return cs(a, i, n); + }), + (Y.interrupt = function (t) { + return this.each(null == t ? ss : ls(ms(t))); + })); + var ss = ls(ms()); + function ls(t) { + return function () { + var e, r, n; + (e = this[t]) && + (n = e[(r = e.active)]) && + ((n.timer.c = null), + (n.timer.t = NaN), + --e.count ? delete e[r] : delete this[t], + (e.active += 0.5), + n.event && n.event.interrupt.call(this, this.__data__, n.index)); + }; + } + function cs(t, e, r) { + return (U(t, hs), (t.namespace = e), (t.id = r), t); + } + var us, + fs, + hs = [], + ps = 0; + function ds(t, e, r, n) { + var i = t.id, + a = t.namespace; + return ut( + t, + "function" == typeof r + ? function (t, o, s) { + t[a][i].tween.set(e, n(r.call(t, t.__data__, o, s))); + } + : ((r = n(r)), + function (t) { + t[a][i].tween.set(e, r); + }), + ); + } + function gs(t) { + return ( + null == t && (t = ""), + function () { + this.textContent = t; + } + ); + } + function ms(t) { + return null == t ? "__transition__" : "__transition_" + t + "__"; + } + function vs(t, e, r, n, i) { + var a, + o, + s, + l, + c, + u = t[r] || (t[r] = { active: 0, count: 0 }), + f = u[n]; + function h(r) { + var i = u.active, + h = u[i]; + for (var d in (h && + ((h.timer.c = null), + (h.timer.t = NaN), + --u.count, + delete u[i], + h.event && h.event.interrupt.call(t, t.__data__, h.index)), + u)) + if (+d < n) { + var g = u[d]; + ((g.timer.c = null), (g.timer.t = NaN), --u.count, delete u[d]); + } + ((o.c = p), + Me( + function () { + return (o.c && p(r || 1) && ((o.c = null), (o.t = NaN)), 1); + }, + 0, + a, + ), + (u.active = n), + f.event && f.event.start.call(t, t.__data__, e), + (c = []), + f.tween.forEach(function (r, n) { + (n = n.call(t, t.__data__, e)) && c.push(n); + }), + (l = f.ease), + (s = f.duration)); + } + function p(i) { + for (var a = i / s, o = l(a), h = c.length; h > 0; ) c[--h].call(t, o); + if (a >= 1) + return ( + f.event && f.event.end.call(t, t.__data__, e), + --u.count ? delete u[n] : delete t[r], + 1 + ); + } + f || + ((a = i.time), + (o = Me( + function (t) { + var e = f.delay; + if (((o.t = e + a), e <= t)) return h(t - e); + o.c = h; + }, + 0, + a, + )), + (f = u[n] = + { + tween: new b(), + time: a, + timer: o, + delay: i.delay, + duration: i.duration, + ease: i.ease, + index: e, + }), + (i = null), + ++u.count); + } + ((hs.call = Y.call), + (hs.empty = Y.empty), + (hs.node = Y.node), + (hs.size = Y.size), + (t.transition = function (e, r) { + return e && e.transition + ? us + ? e.transition(r) + : e + : t.selection().transition(e); + }), + (t.transition.prototype = hs), + (hs.select = function (t) { + var e, + r, + n, + i = this.id, + a = this.namespace, + o = []; + t = X(t); + for (var s = -1, l = this.length; ++s < l; ) { + o.push((e = [])); + for (var c = this[s], u = -1, f = c.length; ++u < f; ) + (n = c[u]) && (r = t.call(n, n.__data__, u, s)) + ? ("__data__" in n && (r.__data__ = n.__data__), + vs(r, u, a, i, n[a][i]), + e.push(r)) + : e.push(null); + } + return cs(o, a, i); + }), + (hs.selectAll = function (t) { + var e, + r, + n, + i, + a, + o = this.id, + s = this.namespace, + l = []; + t = Z(t); + for (var c = -1, u = this.length; ++c < u; ) + for (var f = this[c], h = -1, p = f.length; ++h < p; ) + if ((n = f[h])) { + ((a = n[s][o]), + (r = t.call(n, n.__data__, h, c)), + l.push((e = []))); + for (var d = -1, g = r.length; ++d < g; ) + ((i = r[d]) && vs(i, d, s, o, a), e.push(i)); + } + return cs(l, s, o); + }), + (hs.filter = function (t) { + var e, + r, + n = []; + "function" != typeof t && (t = ct(t)); + for (var i = 0, a = this.length; i < a; i++) { + n.push((e = [])); + for (var o, s = 0, l = (o = this[i]).length; s < l; s++) + (r = o[s]) && t.call(r, r.__data__, s, i) && e.push(r); + } + return cs(n, this.namespace, this.id); + }), + (hs.tween = function (t, e) { + var r = this.id, + n = this.namespace; + return arguments.length < 2 + ? this.node()[n][r].tween.get(t) + : ut( + this, + null == e + ? function (e) { + e[n][r].tween.remove(t); + } + : function (i) { + i[n][r].tween.set(t, e); + }, + ); + }), + (hs.attr = function (e, r) { + if (arguments.length < 2) { + for (r in e) this.attr(r, e[r]); + return this; + } + var n = "transform" == e ? fa : Gi, + i = t.ns.qualify(e); + function a() { + this.removeAttribute(i); + } + function o() { + this.removeAttributeNS(i.space, i.local); + } + return ds( + this, + "attr." + e, + r, + i.local + ? function (t) { + return null == t + ? o + : ((t += ""), + function () { + var e, + r = this.getAttributeNS(i.space, i.local); + return ( + r !== t && + ((e = n(r, t)), + function (t) { + this.setAttributeNS(i.space, i.local, e(t)); + }) + ); + }); + } + : function (t) { + return null == t + ? a + : ((t += ""), + function () { + var e, + r = this.getAttribute(i); + return ( + r !== t && + ((e = n(r, t)), + function (t) { + this.setAttribute(i, e(t)); + }) + ); + }); + }, + ); + }), + (hs.attrTween = function (e, r) { + var n = t.ns.qualify(e); + return this.tween( + "attr." + e, + n.local + ? function (t, e) { + var i = r.call( + this, + t, + e, + this.getAttributeNS(n.space, n.local), + ); + return ( + i && + function (t) { + this.setAttributeNS(n.space, n.local, i(t)); + } + ); + } + : function (t, e) { + var i = r.call(this, t, e, this.getAttribute(n)); + return ( + i && + function (t) { + this.setAttribute(n, i(t)); + } + ); + }, + ); + }), + (hs.style = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ("string" != typeof t) { + for (r in (n < 2 && (e = ""), t)) this.style(r, t[r], e); + return this; + } + r = ""; + } + function i() { + this.style.removeProperty(t); + } + return ds(this, "style." + t, e, function (e) { + return null == e + ? i + : ((e += ""), + function () { + var n, + i = o(this).getComputedStyle(this, null).getPropertyValue(t); + return ( + i !== e && + ((n = Gi(i, e)), + function (e) { + this.style.setProperty(t, n(e), r); + }) + ); + }); + }); + }), + (hs.styleTween = function (t, e, r) { + return ( + arguments.length < 3 && (r = ""), + this.tween("style." + t, function (n, i) { + var a = e.call( + this, + n, + i, + o(this).getComputedStyle(this, null).getPropertyValue(t), + ); + return ( + a && + function (e) { + this.style.setProperty(t, a(e), r); + } + ); + }) + ); + }), + (hs.text = function (t) { + return ds(this, "text", t, gs); + }), + (hs.remove = function () { + var t = this.namespace; + return this.each("end.transition", function () { + var e; + this[t].count < 2 && (e = this.parentNode) && e.removeChild(this); + }); + }), + (hs.ease = function (e) { + var r = this.id, + n = this.namespace; + return arguments.length < 1 + ? this.node()[n][r].ease + : ("function" != typeof e && (e = t.ease.apply(t, arguments)), + ut(this, function (t) { + t[n][r].ease = e; + })); + }), + (hs.delay = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].delay + : ut( + this, + "function" == typeof t + ? function (n, i, a) { + n[r][e].delay = +t.call(n, n.__data__, i, a); + } + : ((t = +t), + function (n) { + n[r][e].delay = t; + }), + ); + }), + (hs.duration = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].duration + : ut( + this, + "function" == typeof t + ? function (n, i, a) { + n[r][e].duration = Math.max(1, t.call(n, n.__data__, i, a)); + } + : ((t = Math.max(1, t)), + function (n) { + n[r][e].duration = t; + }), + ); + }), + (hs.each = function (e, r) { + var n = this.id, + i = this.namespace; + if (arguments.length < 2) { + var a = fs, + o = us; + try { + ((us = n), + ut(this, function (t, r, a) { + ((fs = t[i][n]), e.call(t, t.__data__, r, a)); + })); + } finally { + ((fs = a), (us = o)); + } + } else + ut(this, function (a) { + var o = a[i][n]; + (o.event || (o.event = t.dispatch("start", "end", "interrupt"))).on( + e, + r, + ); + }); + return this; + }), + (hs.transition = function () { + for ( + var t, + e, + r, + n = this.id, + i = ++ps, + a = this.namespace, + o = [], + s = 0, + l = this.length; + s < l; + s++ + ) { + o.push((t = [])); + for (var c, u = 0, f = (c = this[s]).length; u < f; u++) + ((e = c[u]) && + vs(e, u, a, i, { + time: (r = e[a][n]).time, + ease: r.ease, + delay: r.delay + r.duration, + duration: r.duration, + }), + t.push(e)); + } + return cs(o, a, i); + }), + (t.svg.axis = function () { + var e, + r = t.scale.linear(), + i = ys, + a = 6, + o = 6, + s = 3, + l = [10], + c = null; + function u(n) { + n.each(function () { + var n, + u = t.select(this), + f = this.__chart__ || r, + h = (this.__chart__ = r.copy()), + p = null == c ? (h.ticks ? h.ticks.apply(h, l) : h.domain()) : c, + d = null == e ? (h.tickFormat ? h.tickFormat.apply(h, l) : z) : e, + g = u.selectAll(".tick").data(p, h), + m = g + .enter() + .insert("g", ".domain") + .attr("class", "tick") + .style("opacity", kt), + v = t.transition(g.exit()).style("opacity", kt).remove(), + y = t.transition(g.order()).style("opacity", 1), + x = Math.max(a, 0) + s, + b = oo(h), + _ = u.selectAll(".domain").data([0]), + w = + (_.enter().append("path").attr("class", "domain"), + t.transition(_)); + (m.append("line"), m.append("text")); + var k, + M, + A, + T, + S = m.select("line"), + C = y.select("line"), + E = g.select("text").text(d), + L = m.select("text"), + P = y.select("text"), + D = "top" === i || "left" === i ? -1 : 1; + if ( + ("bottom" === i || "top" === i + ? ((n = bs), + (k = "x"), + (A = "y"), + (M = "x2"), + (T = "y2"), + E.attr("dy", D < 0 ? "0em" : ".71em").style( + "text-anchor", + "middle", + ), + w.attr( + "d", + "M" + b[0] + "," + D * o + "V0H" + b[1] + "V" + D * o, + )) + : ((n = _s), + (k = "y"), + (A = "x"), + (M = "y2"), + (T = "x2"), + E.attr("dy", ".32em").style( + "text-anchor", + D < 0 ? "end" : "start", + ), + w.attr( + "d", + "M" + D * o + "," + b[0] + "H0V" + b[1] + "H" + D * o, + )), + S.attr(T, D * a), + L.attr(A, D * x), + C.attr(M, 0).attr(T, D * a), + P.attr(k, 0).attr(A, D * x), + h.rangeBand) + ) { + var O = h, + I = O.rangeBand() / 2; + f = h = function (t) { + return O(t) + I; + }; + } else f.rangeBand ? (f = h) : v.call(n, h, f); + (m.call(n, f, h), y.call(n, h, h)); + }); + } + return ( + (u.scale = function (t) { + return arguments.length ? ((r = t), u) : r; + }), + (u.orient = function (t) { + return arguments.length ? ((i = t in xs ? t + "" : ys), u) : i; + }), + (u.ticks = function () { + return arguments.length ? ((l = n(arguments)), u) : l; + }), + (u.tickValues = function (t) { + return arguments.length ? ((c = t), u) : c; + }), + (u.tickFormat = function (t) { + return arguments.length ? ((e = t), u) : e; + }), + (u.tickSize = function (t) { + var e = arguments.length; + return e ? ((a = +t), (o = +arguments[e - 1]), u) : a; + }), + (u.innerTickSize = function (t) { + return arguments.length ? ((a = +t), u) : a; + }), + (u.outerTickSize = function (t) { + return arguments.length ? ((o = +t), u) : o; + }), + (u.tickPadding = function (t) { + return arguments.length ? ((s = +t), u) : s; + }), + (u.tickSubdivide = function () { + return arguments.length && u; + }), + u + ); + })); + var ys = "bottom", + xs = { top: 1, right: 1, bottom: 1, left: 1 }; + function bs(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return "translate(" + (isFinite(n) ? n : r(t)) + ",0)"; + }); + } + function _s(t, e, r) { + t.attr("transform", function (t) { + var n = e(t); + return "translate(0," + (isFinite(n) ? n : r(t)) + ")"; + }); + } + t.svg.brush = function () { + var e, + r, + n = j(h, "brushstart", "brush", "brushend"), + i = null, + a = null, + s = [0, 0], + l = [0, 0], + c = !0, + u = !0, + f = ks[0]; + function h(e) { + e.each(function () { + var e = t + .select(this) + .style("pointer-events", "all") + .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") + .on("mousedown.brush", m) + .on("touchstart.brush", m), + r = e.selectAll(".background").data([0]); + (r + .enter() + .append("rect") + .attr("class", "background") + .style("visibility", "hidden") + .style("cursor", "crosshair"), + e + .selectAll(".extent") + .data([0]) + .enter() + .append("rect") + .attr("class", "extent") + .style("cursor", "move")); + var n = e.selectAll(".resize").data(f, z); + (n.exit().remove(), + n + .enter() + .append("g") + .attr("class", function (t) { + return "resize " + t; + }) + .style("cursor", function (t) { + return ws[t]; + }) + .append("rect") + .attr("x", function (t) { + return /[ew]$/.test(t) ? -3 : null; + }) + .attr("y", function (t) { + return /^[ns]/.test(t) ? -3 : null; + }) + .attr("width", 6) + .attr("height", 6) + .style("visibility", "hidden"), + n.style("display", h.empty() ? "none" : null)); + var o, + s = t.transition(e), + l = t.transition(r); + (i && + ((o = oo(i)), l.attr("x", o[0]).attr("width", o[1] - o[0]), d(s)), + a && + ((o = oo(a)), + l.attr("y", o[0]).attr("height", o[1] - o[0]), + g(s)), + p(s)); + }); + } + function p(t) { + t.selectAll(".resize").attr("transform", function (t) { + return "translate(" + s[+/e$/.test(t)] + "," + l[+/^s/.test(t)] + ")"; + }); + } + function d(t) { + (t.select(".extent").attr("x", s[0]), + t.selectAll(".extent,.n>rect,.s>rect").attr("width", s[1] - s[0])); + } + function g(t) { + (t.select(".extent").attr("y", l[0]), + t.selectAll(".extent,.e>rect,.w>rect").attr("height", l[1] - l[0])); + } + function m() { + var f, + m, + v = this, + y = t.select(t.event.target), + x = n.of(v, arguments), + b = t.select(v), + _ = y.datum(), + w = !/^(n|s)$/.test(_) && i, + k = !/^(e|w)$/.test(_) && a, + M = y.classed("extent"), + A = xt(v), + T = t.mouse(v), + S = t + .select(o(v)) + .on("keydown.brush", function () { + 32 == t.event.keyCode && + (M || ((f = null), (T[0] -= s[1]), (T[1] -= l[1]), (M = 2)), + F()); + }) + .on("keyup.brush", function () { + 32 == t.event.keyCode && + 2 == M && + ((T[0] += s[1]), (T[1] += l[1]), (M = 0), F()); + }); + if ( + (t.event.changedTouches + ? S.on("touchmove.brush", L).on("touchend.brush", P) + : S.on("mousemove.brush", L).on("mouseup.brush", P), + b.interrupt().selectAll("*").interrupt(), + M) + ) + ((T[0] = s[0] - T[0]), (T[1] = l[0] - T[1])); + else if (_) { + var C = +/w$/.test(_), + E = +/^n/.test(_); + ((m = [s[1 - C] - T[0], l[1 - E] - T[1]]), + (T[0] = s[C]), + (T[1] = l[E])); + } else t.event.altKey && (f = T.slice()); + function L() { + var e = t.mouse(v), + r = !1; + (m && ((e[0] += m[0]), (e[1] += m[1])), + M || + (t.event.altKey + ? (f || (f = [(s[0] + s[1]) / 2, (l[0] + l[1]) / 2]), + (T[0] = s[+(e[0] < f[0])]), + (T[1] = l[+(e[1] < f[1])])) + : (f = null)), + w && z(e, i, 0) && (d(b), (r = !0)), + k && z(e, a, 1) && (g(b), (r = !0)), + r && (p(b), x({ type: "brush", mode: M ? "move" : "resize" }))); + } + function z(t, n, i) { + var a, + o, + h = oo(n), + p = h[0], + d = h[1], + g = T[i], + m = i ? l : s, + v = m[1] - m[0]; + if ( + (M && ((p -= g), (d -= v + g)), + (a = (i ? u : c) ? Math.max(p, Math.min(d, t[i])) : t[i]), + M + ? (o = (a += g) + v) + : (f && (g = Math.max(p, Math.min(d, 2 * f[i] - a))), + g < a ? ((o = a), (a = g)) : (o = g)), + m[0] != a || m[1] != o) + ) + return (i ? (r = null) : (e = null), (m[0] = a), (m[1] = o), !0); + } + function P() { + (L(), + b + .style("pointer-events", "all") + .selectAll(".resize") + .style("display", h.empty() ? "none" : null), + t.select("body").style("cursor", null), + S.on("mousemove.brush", null) + .on("mouseup.brush", null) + .on("touchmove.brush", null) + .on("touchend.brush", null) + .on("keydown.brush", null) + .on("keyup.brush", null), + A(), + x({ type: "brushend" })); + } + (b + .style("pointer-events", "none") + .selectAll(".resize") + .style("display", null), + t.select("body").style("cursor", y.style("cursor")), + x({ type: "brushstart" }), + L()); + } + return ( + (h.event = function (i) { + i.each(function () { + var i = n.of(this, arguments), + a = { x: s, y: l, i: e, j: r }, + o = this.__chart__ || a; + ((this.__chart__ = a), + us + ? t + .select(this) + .transition() + .each("start.brush", function () { + ((e = o.i), + (r = o.j), + (s = o.x), + (l = o.y), + i({ type: "brushstart" })); + }) + .tween("brush:brush", function () { + var t = Wi(s, a.x), + n = Wi(l, a.y); + return ( + (e = r = null), + function (e) { + ((s = a.x = t(e)), + (l = a.y = n(e)), + i({ type: "brush", mode: "resize" })); + } + ); + }) + .each("end.brush", function () { + ((e = a.i), + (r = a.j), + i({ type: "brush", mode: "resize" }), + i({ type: "brushend" })); + }) + : (i({ type: "brushstart" }), + i({ type: "brush", mode: "resize" }), + i({ type: "brushend" }))); + }); + }), + (h.x = function (t) { + return arguments.length ? ((f = ks[(!(i = t) << 1) | !a]), h) : i; + }), + (h.y = function (t) { + return arguments.length ? ((f = ks[(!i << 1) | !(a = t)]), h) : a; + }), + (h.clamp = function (t) { + return arguments.length + ? (i && a + ? ((c = !!t[0]), (u = !!t[1])) + : i + ? (c = !!t) + : a && (u = !!t), + h) + : i && a + ? [c, u] + : i + ? c + : a + ? u + : null; + }), + (h.extent = function (t) { + var n, o, c, u, f; + return arguments.length + ? (i && + ((n = t[0]), + (o = t[1]), + a && ((n = n[0]), (o = o[0])), + (e = [n, o]), + i.invert && ((n = i(n)), (o = i(o))), + o < n && ((f = n), (n = o), (o = f)), + (n == s[0] && o == s[1]) || (s = [n, o])), + a && + ((c = t[0]), + (u = t[1]), + i && ((c = c[1]), (u = u[1])), + (r = [c, u]), + a.invert && ((c = a(c)), (u = a(u))), + u < c && ((f = c), (c = u), (u = f)), + (c == l[0] && u == l[1]) || (l = [c, u])), + h) + : (i && + (e + ? ((n = e[0]), (o = e[1])) + : ((n = s[0]), + (o = s[1]), + i.invert && ((n = i.invert(n)), (o = i.invert(o))), + o < n && ((f = n), (n = o), (o = f)))), + a && + (r + ? ((c = r[0]), (u = r[1])) + : ((c = l[0]), + (u = l[1]), + a.invert && ((c = a.invert(c)), (u = a.invert(u))), + u < c && ((f = c), (c = u), (u = f)))), + i && a + ? [ + [n, c], + [o, u], + ] + : i + ? [n, o] + : a && [c, u]); + }), + (h.clear = function () { + return (h.empty() || ((s = [0, 0]), (l = [0, 0]), (e = r = null)), h); + }), + (h.empty = function () { + return (!!i && s[0] == s[1]) || (!!a && l[0] == l[1]); + }), + t.rebind(h, n, "on") + ); + }; + var ws = { + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize", + }, + ks = [ + ["n", "e", "s", "w", "nw", "ne", "se", "sw"], + ["e", "w"], + ["n", "s"], + [], + ], + Ms = (De.format = sr.timeFormat), + As = Ms.utc, + Ts = As("%Y-%m-%dT%H:%M:%S.%LZ"); + function Ss(t) { + return t.toISOString(); + } + function Cs(e, r, n) { + function i(t) { + return e(t); + } + function a(e, n) { + var i = (e[1] - e[0]) / n, + a = t.bisect(Ls, i); + return a == Ls.length + ? [ + r.year, + go( + e.map(function (t) { + return t / 31536e6; + }), + n, + )[2], + ] + : a + ? r[i / Ls[a - 1] < Ls[a] / i ? a - 1 : a] + : [Ds, go(e, n)[2]]; + } + return ( + (i.invert = function (t) { + return Es(e.invert(t)); + }), + (i.domain = function (t) { + return arguments.length ? (e.domain(t), i) : e.domain().map(Es); + }), + (i.nice = function (t, e) { + var r = i.domain(), + n = ao(r), + o = null == t ? a(n, 10) : "number" == typeof t && a(n, t); + function s(r) { + return !isNaN(r) && !t.range(r, Es(+r + 1), e).length; + } + return ( + o && ((t = o[0]), (e = o[1])), + i.domain( + lo( + r, + e > 1 + ? { + floor: function (e) { + for (; s((e = t.floor(e))); ) e = Es(e - 1); + return e; + }, + ceil: function (e) { + for (; s((e = t.ceil(e))); ) e = Es(+e + 1); + return e; + }, + } + : t, + ), + ) + ); + }), + (i.ticks = function (t, e) { + var r = ao(i.domain()), + n = + null == t + ? a(r, 10) + : "number" == typeof t + ? a(r, t) + : !t.range && [{ range: t }, e]; + return ( + n && ((t = n[0]), (e = n[1])), + t.range(r[0], Es(+r[1] + 1), e < 1 ? 1 : e) + ); + }), + (i.tickFormat = function () { + return n; + }), + (i.copy = function () { + return Cs(e.copy(), r, n); + }), + ho(i, e) + ); + } + function Es(t) { + return new Date(t); + } + ((Ms.iso = + Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") + ? Ss + : Ts), + (Ss.parse = function (t) { + var e = new Date(t); + return isNaN(e) ? null : e; + }), + (Ss.toString = Ts.toString), + (De.second = Be( + function (t) { + return new Oe(1e3 * Math.floor(t / 1e3)); + }, + function (t, e) { + t.setTime(t.getTime() + 1e3 * Math.floor(e)); + }, + function (t) { + return t.getSeconds(); + }, + )), + (De.seconds = De.second.range), + (De.seconds.utc = De.second.utc.range), + (De.minute = Be( + function (t) { + return new Oe(6e4 * Math.floor(t / 6e4)); + }, + function (t, e) { + t.setTime(t.getTime() + 6e4 * Math.floor(e)); + }, + function (t) { + return t.getMinutes(); + }, + )), + (De.minutes = De.minute.range), + (De.minutes.utc = De.minute.utc.range), + (De.hour = Be( + function (t) { + var e = t.getTimezoneOffset() / 60; + return new Oe(36e5 * (Math.floor(t / 36e5 - e) + e)); + }, + function (t, e) { + t.setTime(t.getTime() + 36e5 * Math.floor(e)); + }, + function (t) { + return t.getHours(); + }, + )), + (De.hours = De.hour.range), + (De.hours.utc = De.hour.utc.range), + (De.month = Be( + function (t) { + return ((t = De.day(t)).setDate(1), t); + }, + function (t, e) { + t.setMonth(t.getMonth() + e); + }, + function (t) { + return t.getMonth(); + }, + )), + (De.months = De.month.range), + (De.months.utc = De.month.utc.range)); + var Ls = [ + 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, + 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6, + ], + zs = [ + [De.second, 1], + [De.second, 5], + [De.second, 15], + [De.second, 30], + [De.minute, 1], + [De.minute, 5], + [De.minute, 15], + [De.minute, 30], + [De.hour, 1], + [De.hour, 3], + [De.hour, 6], + [De.hour, 12], + [De.day, 1], + [De.day, 2], + [De.week, 1], + [De.month, 1], + [De.month, 3], + [De.year, 1], + ], + Ps = Ms.multi([ + [ + ".%L", + function (t) { + return t.getMilliseconds(); + }, + ], + [ + ":%S", + function (t) { + return t.getSeconds(); + }, + ], + [ + "%I:%M", + function (t) { + return t.getMinutes(); + }, + ], + [ + "%I %p", + function (t) { + return t.getHours(); + }, + ], + [ + "%a %d", + function (t) { + return t.getDay() && 1 != t.getDate(); + }, + ], + [ + "%b %d", + function (t) { + return 1 != t.getDate(); + }, + ], + [ + "%B", + function (t) { + return t.getMonth(); + }, + ], + ["%Y", Wr], + ]), + Ds = { + range: function (e, r, n) { + return t.range(Math.ceil(e / n) * n, +r, n).map(Es); + }, + floor: z, + ceil: z, + }; + ((zs.year = De.year), + (De.scale = function () { + return Cs(t.scale.linear(), zs, Ps); + })); + var Os = zs.map(function (t) { + return [t[0].utc, t[1]]; + }), + Is = As.multi([ + [ + ".%L", + function (t) { + return t.getUTCMilliseconds(); + }, + ], + [ + ":%S", + function (t) { + return t.getUTCSeconds(); + }, + ], + [ + "%I:%M", + function (t) { + return t.getUTCMinutes(); + }, + ], + [ + "%I %p", + function (t) { + return t.getUTCHours(); + }, + ], + [ + "%a %d", + function (t) { + return t.getUTCDay() && 1 != t.getUTCDate(); + }, + ], + [ + "%b %d", + function (t) { + return 1 != t.getUTCDate(); + }, + ], + [ + "%B", + function (t) { + return t.getUTCMonth(); + }, + ], + ["%Y", Wr], + ]); + function Rs(t) { + return JSON.parse(t.responseText); + } + function Bs(t) { + var e = i.createRange(); + return (e.selectNode(i.body), e.createContextualFragment(t.responseText)); + } + ((Os.year = De.year.utc), + (De.scale.utc = function () { + return Cs(t.scale.linear(), Os, Is); + }), + (t.text = ve(function (t) { + return t.responseText; + })), + (t.json = function (t, e) { + return ye(t, "application/json", Rs, e); + }), + (t.html = function (t, e) { + return ye(t, "text/html", Bs, e); + }), + (t.xml = ve(function (t) { + return t.responseXML; + })), + "object" == typeof e && e.exports ? (e.exports = t) : (this.d3 = t)); + })(); + }, + {}, + ], + 131: [ + function (t, e, r) { + e.exports = function () { + for (var t = 0; t < arguments.length; t++) + if (void 0 !== arguments[t]) return arguments[t]; + }; + }, + {}, + ], + 132: [ + function (t, e, r) { + "use strict"; + var n = t("incremental-convex-hull"), + i = t("uniq"); + function a(t, e) { + ((this.point = t), (this.index = e)); + } + function o(t, e) { + for (var r = t.point, n = e.point, i = r.length, a = 0; a < i; ++a) { + var o = n[a] - r[a]; + if (o) return o; + } + return 0; + } + e.exports = function (t, e) { + var r = t.length; + if (0 === r) return []; + var s = t[0].length; + if (s < 1) return []; + if (1 === s) + return (function (t, e, r) { + if (1 === t) return r ? [[-1, 0]] : []; + var n = e.map(function (t, e) { + return [t[0], e]; + }); + n.sort(function (t, e) { + return t[0] - e[0]; + }); + for (var i = new Array(t - 1), a = 1; a < t; ++a) { + var o = n[a - 1], + s = n[a]; + i[a - 1] = [o[1], s[1]]; + } + r && i.push([-1, i[0][1]], [i[t - 1][1], -1]); + return i; + })(r, t, e); + for (var l = new Array(r), c = 1, u = 0; u < r; ++u) { + for (var f = t[u], h = new Array(s + 1), p = 0, d = 0; d < s; ++d) { + var g = f[d]; + ((h[d] = g), (p += g * g)); + } + ((h[s] = p), (l[u] = new a(h, u)), (c = Math.max(p, c))); + } + (i(l, o), (r = l.length)); + for ( + var m = new Array(r + s + 1), + v = new Array(r + s + 1), + y = (s + 1) * (s + 1) * c, + x = new Array(s + 1), + u = 0; + u <= s; + ++u + ) + x[u] = 0; + ((x[s] = y), (m[0] = x.slice()), (v[0] = -1)); + for (var u = 0; u <= s; ++u) { + var h = x.slice(); + ((h[u] = 1), (m[u + 1] = h), (v[u + 1] = -1)); + } + for (var u = 0; u < r; ++u) { + var b = l[u]; + ((m[u + s + 1] = b.point), (v[u + s + 1] = b.index)); + } + var _ = n(m, !1); + _ = e + ? _.filter(function (t) { + for (var e = 0, r = 0; r <= s; ++r) { + var n = v[t[r]]; + if (n < 0 && ++e >= 2) return !1; + t[r] = n; + } + return !0; + }) + : _.filter(function (t) { + for (var e = 0; e <= s; ++e) { + var r = v[t[e]]; + if (r < 0) return !1; + t[e] = r; + } + return !0; + }); + if (1 & s) + for (var u = 0; u < _.length; ++u) { + var b = _[u], + h = b[0]; + ((b[0] = b[1]), (b[1] = h)); + } + return _; + }; + }, + { "incremental-convex-hull": 299, uniq: 425 }, + ], + 133: [ + function (t, e, r) { + (function (t) { + var r = !1; + if ("undefined" != typeof Float64Array) { + var n = new Float64Array(1), + i = new Uint32Array(n.buffer); + if (((n[0] = 1), (r = !0), 1072693248 === i[1])) { + ((e.exports = function (t) { + return ((n[0] = t), [i[0], i[1]]); + }), + (e.exports.pack = function (t, e) { + return ((i[0] = t), (i[1] = e), n[0]); + }), + (e.exports.lo = function (t) { + return ((n[0] = t), i[0]); + }), + (e.exports.hi = function (t) { + return ((n[0] = t), i[1]); + })); + } else if (1072693248 === i[0]) { + ((e.exports = function (t) { + return ((n[0] = t), [i[1], i[0]]); + }), + (e.exports.pack = function (t, e) { + return ((i[1] = t), (i[0] = e), n[0]); + }), + (e.exports.lo = function (t) { + return ((n[0] = t), i[1]); + }), + (e.exports.hi = function (t) { + return ((n[0] = t), i[0]); + })); + } else r = !1; + } + if (!r) { + var a = new t(8); + ((e.exports = function (t) { + return ( + a.writeDoubleLE(t, 0, !0), + [a.readUInt32LE(0, !0), a.readUInt32LE(4, !0)] + ); + }), + (e.exports.pack = function (t, e) { + return ( + a.writeUInt32LE(t, 0, !0), + a.writeUInt32LE(e, 4, !0), + a.readDoubleLE(0, !0) + ); + }), + (e.exports.lo = function (t) { + return (a.writeDoubleLE(t, 0, !0), a.readUInt32LE(0, !0)); + }), + (e.exports.hi = function (t) { + return (a.writeDoubleLE(t, 0, !0), a.readUInt32LE(4, !0)); + })); + } + ((e.exports.sign = function (t) { + return e.exports.hi(t) >>> 31; + }), + (e.exports.exponent = function (t) { + return ((e.exports.hi(t) << 1) >>> 21) - 1023; + }), + (e.exports.fraction = function (t) { + var r = e.exports.lo(t), + n = e.exports.hi(t), + i = 1048575 & n; + return (2146435072 & n && (i += 1 << 20), [r, i]); + }), + (e.exports.denormalized = function (t) { + return !(2146435072 & e.exports.hi(t)); + })); + }).call(this, t("buffer").Buffer); + }, + { buffer: 85 }, + ], + 134: [ + function (t, e, r) { + var n = t("abs-svg-path"), + i = t("normalize-svg-path"), + a = { M: "moveTo", C: "bezierCurveTo" }; + e.exports = function (t, e) { + (t.beginPath(), + i(n(e)).forEach(function (e) { + var r = e[0], + n = e.slice(1); + t[a[r]].apply(t, n); + }), + t.closePath()); + }; + }, + { "abs-svg-path": 44, "normalize-svg-path": 337 }, + ], + 135: [ + function (t, e, r) { + e.exports = function (t) { + switch (t) { + case "int8": + return Int8Array; + case "int16": + return Int16Array; + case "int32": + return Int32Array; + case "uint8": + return Uint8Array; + case "uint16": + return Uint16Array; + case "uint32": + return Uint32Array; + case "float32": + return Float32Array; + case "float64": + return Float64Array; + case "array": + return Array; + case "uint8_clamped": + return Uint8ClampedArray; + } + }; + }, + {}, + ], + 136: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + switch ((void 0 === e && (e = 0), typeof t)) { + case "number": + if (t > 0) + return (function (t, e) { + var r, n; + for (r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + })(0 | t, e); + break; + case "object": + if ("number" == typeof t.length) + return (function t(e, r, n) { + var i = 0 | e[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === e.length - 1) for (a = 0; a < i; ++a) o[a] = r; + else for (a = 0; a < i; ++a) o[a] = t(e, r, n + 1); + return o; + })(t, e, 0); + } + return []; + }; + }, + {}, + ], + 137: [ + function (t, e, r) { + "use strict"; + function n(t, e, r) { + r = r || 2; + var n, + s, + l, + c, + u, + p, + g, + m = e && e.length, + v = m ? e[0] * r : t.length, + y = i(t, 0, v, r, !0), + x = []; + if (!y) return x; + if ( + (m && + (y = (function (t, e, r, n) { + var o, + s, + l, + c, + u, + p = []; + for (o = 0, s = e.length; o < s; o++) + ((l = e[o] * n), + (c = o < s - 1 ? e[o + 1] * n : t.length), + (u = i(t, l, c, n, !1)) === u.next && (u.steiner = !0), + p.push(d(u))); + for (p.sort(f), o = 0; o < p.length; o++) + (h(p[o], r), (r = a(r, r.next))); + return r; + })(t, e, y, r)), + t.length > 80 * r) + ) { + ((n = l = t[0]), (s = c = t[1])); + for (var b = r; b < v; b += r) + ((u = t[b]), + (p = t[b + 1]), + u < n && (n = u), + p < s && (s = p), + u > l && (l = u), + p > c && (c = p)); + g = 0 !== (g = Math.max(l - n, c - s)) ? 1 / g : 0; + } + return (o(y, x, r, n, s, g), x); + } + function i(t, e, r, n, i) { + var a, o; + if (i === A(t, e, r, n) > 0) + for (a = e; a < r; a += n) o = w(a, t[a], t[a + 1], o); + else for (a = r - n; a >= e; a -= n) o = w(a, t[a], t[a + 1], o); + return (o && y(o, o.next) && (k(o), (o = o.next)), o); + } + function a(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), n.steiner || (!y(n, n.next) && 0 !== v(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((k(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function o(t, e, r, n, i, f, h) { + if (t) { + !h && + f && + (function (t, e, r, n) { + var i = t; + do { + (null === i.z && (i.z = p(i.x, i.y, e, r, n)), + (i.prevZ = i.prev), + (i.nextZ = i.next), + (i = i.next)); + } while (i !== t); + ((i.prevZ.nextZ = null), + (i.prevZ = null), + (function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1; + do { + for (r = t, t = null, a = null, o = 0; r; ) { + for ( + o++, n = r, s = 0, e = 0; + e < c && (s++, (n = n.nextZ)); + e++ + ); + for (l = c; s > 0 || (l > 0 && n); ) + (0 !== s && (0 === l || !n || r.z <= n.z) + ? ((i = r), (r = r.nextZ), s--) + : ((i = n), (n = n.nextZ), l--), + a ? (a.nextZ = i) : (t = i), + (i.prevZ = a), + (a = i)); + r = n; + } + ((a.nextZ = null), (c *= 2)); + } while (o > 1); + })(i)); + })(t, n, i, f); + for (var d, g, m = t; t.prev !== t.next; ) + if (((d = t.prev), (g = t.next), f ? l(t, n, i, f) : s(t))) + (e.push(d.i / r), + e.push(t.i / r), + e.push(g.i / r), + k(t), + (t = g.next), + (m = g.next)); + else if ((t = g) === m) { + h + ? 1 === h + ? o((t = c(t, e, r)), e, r, n, i, f, 2) + : 2 === h && u(t, e, r, n, i, f) + : o(a(t), e, r, n, i, f, 1); + break; + } + } + } + function s(t) { + var e = t.prev, + r = t, + n = t.next; + if (v(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + g(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + v(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function l(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (v(i, a, o) >= 0) return !1; + for ( + var s = i.x < a.x ? (i.x < o.x ? i.x : o.x) : a.x < o.x ? a.x : o.x, + l = i.y < a.y ? (i.y < o.y ? i.y : o.y) : a.y < o.y ? a.y : o.y, + c = i.x > a.x ? (i.x > o.x ? i.x : o.x) : a.x > o.x ? a.x : o.x, + u = i.y > a.y ? (i.y > o.y ? i.y : o.y) : a.y > o.y ? a.y : o.y, + f = p(s, l, e, r, n), + h = p(c, u, e, r, n), + d = t.prevZ, + m = t.nextZ; + d && d.z >= f && m && m.z <= h; + + ) { + if ( + d !== t.prev && + d !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + v(d.prev, d, d.next) >= 0 + ) + return !1; + if ( + ((d = d.prevZ), + m !== t.prev && + m !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && + v(m.prev, m, m.next) >= 0) + ) + return !1; + m = m.nextZ; + } + for (; d && d.z >= f; ) { + if ( + d !== t.prev && + d !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + v(d.prev, d, d.next) >= 0 + ) + return !1; + d = d.prevZ; + } + for (; m && m.z <= h; ) { + if ( + m !== t.prev && + m !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && + v(m.prev, m, m.next) >= 0 + ) + return !1; + m = m.nextZ; + } + return !0; + } + function c(t, e, r) { + var n = t; + do { + var i = n.prev, + a = n.next.next; + (!y(i, a) && + x(i, n, n.next, a) && + b(i, a) && + b(a, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(a.i / r), + k(n), + k(n.next), + (n = t = a)), + (n = n.next)); + } while (n !== t); + return n; + } + function u(t, e, r, n, i, s) { + var l = t; + do { + for (var c = l.next.next; c !== l.prev; ) { + if (l.i !== c.i && m(l, c)) { + var u = _(l, c); + return ( + (l = a(l, l.next)), + (u = a(u, u.next)), + o(l, e, r, n, i, s), + void o(u, e, r, n, i, s) + ); + } + c = c.next; + } + l = l.next; + } while (l !== t); + } + function f(t, e) { + return t.x - e.x; + } + function h(t, e) { + if ( + (e = (function (t, e) { + var r, + n = e, + i = t.x, + a = t.y, + o = -1 / 0; + do { + if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { + var s = n.x + ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if (s <= i && s > o) { + if (((o = s), s === i)) { + if (a === n.y) return n; + if (a === n.next.y) return n.next; + } + r = n.x < n.next.x ? n : n.next; + } + } + n = n.next; + } while (n !== e); + if (!r) return null; + if (i === o) return r.prev; + var l, + c = r, + u = r.x, + f = r.y, + h = 1 / 0; + n = r.next; + for (; n !== c; ) + (i >= n.x && + n.x >= u && + i !== n.x && + g(a < f ? i : o, a, u, f, a < f ? o : i, a, n.x, n.y) && + ((l = Math.abs(a - n.y) / (i - n.x)) < h || + (l === h && n.x > r.x)) && + b(n, t) && + ((r = n), (h = l)), + (n = n.next)); + return r; + })(t, e)) + ) { + var r = _(e, t); + a(r, r.next); + } + } + function p(t, e, r, n, i) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | + (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | + (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + } + function d(t) { + var e = t, + r = t; + do { + (e.x < r.x && (r = e), (e = e.next)); + } while (e !== t); + return r; + } + function g(t, e, r, n, i, a, o, s) { + return ( + (i - o) * (e - s) - (t - o) * (a - s) >= 0 && + (t - o) * (n - s) - (r - o) * (e - s) >= 0 && + (r - o) * (a - s) - (i - o) * (n - s) >= 0 + ); + } + function m(t, e) { + return ( + t.next.i !== e.i && + t.prev.i !== e.i && + !(function (t, e) { + var r = t; + do { + if ( + r.i !== t.i && + r.next.i !== t.i && + r.i !== e.i && + r.next.i !== e.i && + x(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + b(t, e) && + b(e, t) && + (function (t, e) { + var r = t, + n = !1, + i = (t.x + e.x) / 2, + a = (t.y + e.y) / 2; + do { + (r.y > a != r.next.y > a && + r.next.y !== r.y && + i < ((r.next.x - r.x) * (a - r.y)) / (r.next.y - r.y) + r.x && + (n = !n), + (r = r.next)); + } while (r !== t); + return n; + })(t, e) + ); + } + function v(t, e, r) { + return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); + } + function y(t, e) { + return t.x === e.x && t.y === e.y; + } + function x(t, e, r, n) { + return ( + !!((y(t, e) && y(r, n)) || (y(t, n) && y(r, e))) || + (v(t, e, r) > 0 != v(t, e, n) > 0 && v(r, n, t) > 0 != v(r, n, e) > 0) + ); + } + function b(t, e) { + return v(t.prev, t, t.next) < 0 + ? v(t, e, t.next) >= 0 && v(t, t.prev, e) >= 0 + : v(t, e, t.prev) < 0 || v(t, t.next, e) < 0; + } + function _(t, e) { + var r = new M(t.i, t.x, t.y), + n = new M(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function w(t, e, r, n) { + var i = new M(t, e, r); + return ( + n + ? ((i.next = n.next), (i.prev = n), (n.next.prev = i), (n.next = i)) + : ((i.prev = i), (i.next = i)), + i + ); + } + function k(t) { + ((t.next.prev = t.prev), + (t.prev.next = t.next), + t.prevZ && (t.prevZ.nextZ = t.nextZ), + t.nextZ && (t.nextZ.prevZ = t.prevZ)); + } + function M(t, e, r) { + ((this.i = t), + (this.x = e), + (this.y = r), + (this.prev = null), + (this.next = null), + (this.z = null), + (this.prevZ = null), + (this.nextZ = null), + (this.steiner = !1)); + } + function A(t, e, r, n) { + for (var i = 0, a = e, o = r - n; a < r; a += n) + ((i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a)); + return i; + } + ((e.exports = n), + (e.exports.default = n), + (n.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(A(t, 0, a, r)); + if (i) + for (var s = 0, l = e.length; s < l; s++) { + var c = e[s] * r, + u = s < l - 1 ? e[s + 1] * r : t.length; + o -= Math.abs(A(t, c, u, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (n.flatten = function (t) { + for ( + var e = t[0][0].length, + r = { vertices: [], holes: [], dimensions: e }, + n = 0, + i = 0; + i < t.length; + i++ + ) { + for (var a = 0; a < t[i].length; a++) + for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); + i > 0 && ((n += t[i - 1].length), r.holes.push(n)); + } + return r; + })); + }, + {}, + ], + 138: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = t.length; + if ("number" != typeof e) { + e = 0; + for (var i = 0; i < r; ++i) { + var a = t[i]; + e = Math.max(e, a[0], a[1]); + } + e = 1 + (0 | e); + } + e |= 0; + for (var o = new Array(e), i = 0; i < e; ++i) o[i] = []; + for (var i = 0; i < r; ++i) { + var a = t[i]; + (o[a[0]].push(a[1]), o[a[1]].push(a[0])); + } + for (var s = 0; s < e; ++s) + n(o[s], function (t, e) { + return t - e; + }); + return o; + }; + var n = t("uniq"); + }, + { uniq: 425 }, + ], + 139: [ + function (t, e, r) { + "use strict"; + var n = t("../../object/valid-value"); + e.exports = function () { + return ((n(this).length = 0), this); + }; + }, + { "../../object/valid-value": 171 }, + ], + 140: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Array.from : t("./shim"); + }, + { "./is-implemented": 141, "./shim": 142 }, + ], + 141: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + var t, + e, + r = Array.from; + return ( + "function" == typeof r && + ((e = r((t = ["raz", "dwa"]))), Boolean(e && e !== t && "dwa" === e[1])) + ); + }; + }, + {}, + ], + 142: [ + function (t, e, r) { + "use strict"; + var n = t("es6-symbol").iterator, + i = t("../../function/is-arguments"), + a = t("../../function/is-function"), + o = t("../../number/to-pos-integer"), + s = t("../../object/valid-callable"), + l = t("../../object/valid-value"), + c = t("../../object/is-value"), + u = t("../../string/is-string"), + f = Array.isArray, + h = Function.prototype.call, + p = { configurable: !0, enumerable: !0, writable: !0, value: null }, + d = Object.defineProperty; + e.exports = function (t) { + var e, + r, + g, + m, + v, + y, + x, + b, + _, + w, + k = arguments[1], + M = arguments[2]; + if (((t = Object(l(t))), c(k) && s(k), this && this !== Array && a(this))) + e = this; + else { + if (!k) { + if (i(t)) + return 1 !== (v = t.length) + ? Array.apply(null, t) + : (((m = new Array(1))[0] = t[0]), m); + if (f(t)) { + for (m = new Array((v = t.length)), r = 0; r < v; ++r) m[r] = t[r]; + return m; + } + } + m = []; + } + if (!f(t)) + if (void 0 !== (_ = t[n])) { + for ( + x = s(_).call(t), e && (m = new e()), b = x.next(), r = 0; + !b.done; + + ) + ((w = k ? h.call(k, M, b.value, r) : b.value), + e ? ((p.value = w), d(m, r, p)) : (m[r] = w), + (b = x.next()), + ++r); + v = r; + } else if (u(t)) { + for (v = t.length, e && (m = new e()), r = 0, g = 0; r < v; ++r) + ((w = t[r]), + r + 1 < v && + (y = w.charCodeAt(0)) >= 55296 && + y <= 56319 && + (w += t[++r]), + (w = k ? h.call(k, M, w, g) : w), + e ? ((p.value = w), d(m, g, p)) : (m[g] = w), + ++g); + v = g; + } + if (void 0 === v) + for (v = o(t.length), e && (m = new e(v)), r = 0; r < v; ++r) + ((w = k ? h.call(k, M, t[r], r) : t[r]), + e ? ((p.value = w), d(m, r, p)) : (m[r] = w)); + return (e && ((p.value = null), (m.length = v)), m); + }; + }, + { + "../../function/is-arguments": 143, + "../../function/is-function": 144, + "../../number/to-pos-integer": 150, + "../../object/is-value": 160, + "../../object/valid-callable": 169, + "../../object/valid-value": 171, + "../../string/is-string": 175, + "es6-symbol": 185, + }, + ], + 143: [ + function (t, e, r) { + "use strict"; + var n = Object.prototype.toString, + i = n.call( + (function () { + return arguments; + })(), + ); + e.exports = function (t) { + return n.call(t) === i; + }; + }, + {}, + ], + 144: [ + function (t, e, r) { + "use strict"; + var n = Object.prototype.toString, + i = n.call(t("./noop")); + e.exports = function (t) { + return "function" == typeof t && n.call(t) === i; + }; + }, + { "./noop": 145 }, + ], + 145: [ + function (t, e, r) { + "use strict"; + e.exports = function () {}; + }, + {}, + ], + 146: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Math.sign : t("./shim"); + }, + { "./is-implemented": 147, "./shim": 148 }, + ], + 147: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + var t = Math.sign; + return "function" == typeof t && 1 === t(10) && -1 === t(-20); + }; + }, + {}, + ], + 148: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return ((t = Number(t)), isNaN(t) || 0 === t ? t : t > 0 ? 1 : -1); + }; + }, + {}, + ], + 149: [ + function (t, e, r) { + "use strict"; + var n = t("../math/sign"), + i = Math.abs, + a = Math.floor; + e.exports = function (t) { + return isNaN(t) + ? 0 + : 0 !== (t = Number(t)) && isFinite(t) + ? n(t) * a(i(t)) + : t; + }; + }, + { "../math/sign": 146 }, + ], + 150: [ + function (t, e, r) { + "use strict"; + var n = t("./to-integer"), + i = Math.max; + e.exports = function (t) { + return i(0, n(t)); + }; + }, + { "./to-integer": 149 }, + ], + 151: [ + function (t, e, r) { + "use strict"; + var n = t("./valid-callable"), + i = t("./valid-value"), + a = Function.prototype.bind, + o = Function.prototype.call, + s = Object.keys, + l = Object.prototype.propertyIsEnumerable; + e.exports = function (t, e) { + return function (r, c) { + var u, + f = arguments[2], + h = arguments[3]; + return ( + (r = Object(i(r))), + n(c), + (u = s(r)), + h && u.sort("function" == typeof h ? a.call(h, r) : void 0), + "function" != typeof t && (t = u[t]), + o.call(t, u, function (t, n) { + return l.call(r, t) ? o.call(c, f, r[t], t, r, n) : e; + }) + ); + }; + }; + }, + { "./valid-callable": 169, "./valid-value": 171 }, + ], + 152: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Object.assign : t("./shim"); + }, + { "./is-implemented": 153, "./shim": 154 }, + ], + 153: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + var t, + e = Object.assign; + return ( + "function" == typeof e && + (e((t = { foo: "raz" }), { bar: "dwa" }, { trzy: "trzy" }), + t.foo + t.bar + t.trzy === "razdwatrzy") + ); + }; + }, + {}, + ], + 154: [ + function (t, e, r) { + "use strict"; + var n = t("../keys"), + i = t("../valid-value"), + a = Math.max; + e.exports = function (t, e) { + var r, + o, + s, + l = a(arguments.length, 2); + for ( + t = Object(i(t)), + s = function (n) { + try { + t[n] = e[n]; + } catch (t) { + r || (r = t); + } + }, + o = 1; + o < l; + ++o + ) + ((e = arguments[o]), n(e).forEach(s)); + if (void 0 !== r) throw r; + return t; + }; + }, + { "../keys": 161, "../valid-value": 171 }, + ], + 155: [ + function (t, e, r) { + "use strict"; + var n = t("../array/from"), + i = t("./assign"), + a = t("./valid-value"); + e.exports = function (t) { + var e = Object(a(t)), + r = arguments[1], + o = Object(arguments[2]); + if (e !== t && !r) return e; + var s = {}; + return ( + r + ? n(r, function (e) { + (o.ensure || e in t) && (s[e] = t[e]); + }) + : i(s, t), + s + ); + }; + }, + { "../array/from": 140, "./assign": 152, "./valid-value": 171 }, + ], + 156: [ + function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = Object.create; + (t("./set-prototype-of/is-implemented")() || + (n = t("./set-prototype-of/shim")), + (e.exports = n + ? 1 !== n.level + ? s + : ((i = {}), + (a = {}), + (o = { + configurable: !1, + enumerable: !1, + writable: !0, + value: void 0, + }), + Object.getOwnPropertyNames(Object.prototype).forEach(function (t) { + a[t] = + "__proto__" !== t + ? o + : { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + }), + Object.defineProperties(i, a), + Object.defineProperty(n, "nullPolyfill", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i, + }), + function (t, e) { + return s(null === t ? i : t, e); + }) + : s)); + }, + { "./set-prototype-of/is-implemented": 167, "./set-prototype-of/shim": 168 }, + ], + 157: [ + function (t, e, r) { + "use strict"; + e.exports = t("./_iterate")("forEach"); + }, + { "./_iterate": 151 }, + ], + 158: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return "function" == typeof t; + }; + }, + {}, + ], + 159: [ + function (t, e, r) { + "use strict"; + var n = t("./is-value"), + i = { function: !0, object: !0 }; + e.exports = function (t) { + return (n(t) && i[typeof t]) || !1; + }; + }, + { "./is-value": 160 }, + ], + 160: [ + function (t, e, r) { + "use strict"; + var n = t("../function/noop")(); + e.exports = function (t) { + return t !== n && null !== t; + }; + }, + { "../function/noop": 145 }, + ], + 161: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Object.keys : t("./shim"); + }, + { "./is-implemented": 162, "./shim": 163 }, + ], + 162: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + try { + return (Object.keys("primitive"), !0); + } catch (t) { + return !1; + } + }; + }, + {}, + ], + 163: [ + function (t, e, r) { + "use strict"; + var n = t("../is-value"), + i = Object.keys; + e.exports = function (t) { + return i(n(t) ? Object(t) : t); + }; + }, + { "../is-value": 160 }, + ], + 164: [ + function (t, e, r) { + "use strict"; + var n = t("./valid-callable"), + i = t("./for-each"), + a = Function.prototype.call; + e.exports = function (t, e) { + var r = {}, + o = arguments[2]; + return ( + n(e), + i(t, function (t, n, i, s) { + r[n] = a.call(e, o, t, n, i, s); + }), + r + ); + }; + }, + { "./for-each": 157, "./valid-callable": 169 }, + ], + 165: [ + function (t, e, r) { + "use strict"; + var n = t("./is-value"), + i = Array.prototype.forEach, + a = Object.create; + e.exports = function (t) { + var e = a(null); + return ( + i.call(arguments, function (t) { + n(t) && + (function (t, e) { + var r; + for (r in t) e[r] = t[r]; + })(Object(t), e); + }), + e + ); + }; + }, + { "./is-value": 160 }, + ], + 166: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Object.setPrototypeOf : t("./shim"); + }, + { "./is-implemented": 167, "./shim": 168 }, + ], + 167: [ + function (t, e, r) { + "use strict"; + var n = Object.create, + i = Object.getPrototypeOf, + a = {}; + e.exports = function () { + var t = Object.setPrototypeOf, + e = arguments[0] || n; + return "function" == typeof t && i(t(e(null), a)) === a; + }; + }, + {}, + ], + 168: [ + function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = t("../is-object"), + l = t("../valid-value"), + c = Object.prototype.isPrototypeOf, + u = Object.defineProperty, + f = { configurable: !0, enumerable: !1, writable: !0, value: void 0 }; + ((n = function (t, e) { + if ((l(t), null === e || s(e))) return t; + throw new TypeError("Prototype must be null or an object"); + }), + (e.exports = (i = (function () { + var t, + e = Object.create(null), + r = {}, + n = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__"); + if (n) { + try { + (t = n.set).call(e, r); + } catch (t) {} + if (Object.getPrototypeOf(e) === r) return { set: t, level: 2 }; + } + return ( + (e.__proto__ = r), + Object.getPrototypeOf(e) === r + ? { level: 2 } + : (((e = {}).__proto__ = r), + Object.getPrototypeOf(e) === r && { level: 1 }) + ); + })()) + ? (2 === i.level + ? i.set + ? ((o = i.set), + (a = function (t, e) { + return (o.call(n(t, e), e), t); + })) + : (a = function (t, e) { + return ((n(t, e).__proto__ = e), t); + }) + : (a = function t(e, r) { + var i; + return ( + n(e, r), + (i = c.call(t.nullPolyfill, e)) && + delete t.nullPolyfill.__proto__, + null === r && (r = t.nullPolyfill), + (e.__proto__ = r), + i && u(t.nullPolyfill, "__proto__", f), + e + ); + }), + Object.defineProperty(a, "level", { + configurable: !1, + enumerable: !1, + writable: !1, + value: i.level, + })) + : null), + t("../create")); + }, + { "../create": 156, "../is-object": 159, "../valid-value": 171 }, + ], + 169: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + if ("function" != typeof t) throw new TypeError(t + " is not a function"); + return t; + }; + }, + {}, + ], + 170: [ + function (t, e, r) { + "use strict"; + var n = t("./is-object"); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not an Object"); + return t; + }; + }, + { "./is-object": 159 }, + ], + 171: [ + function (t, e, r) { + "use strict"; + var n = t("./is-value"); + e.exports = function (t) { + if (!n(t)) throw new TypeError("Cannot use null or undefined"); + return t; + }; + }, + { "./is-value": 160 }, + ], + 172: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? String.prototype.contains : t("./shim"); + }, + { "./is-implemented": 173, "./shim": 174 }, + ], + 173: [ + function (t, e, r) { + "use strict"; + var n = "razdwatrzy"; + e.exports = function () { + return ( + "function" == typeof n.contains && + !0 === n.contains("dwa") && + !1 === n.contains("foo") + ); + }; + }, + {}, + ], + 174: [ + function (t, e, r) { + "use strict"; + var n = String.prototype.indexOf; + e.exports = function (t) { + return n.call(this, t, arguments[1]) > -1; + }; + }, + {}, + ], + 175: [ + function (t, e, r) { + "use strict"; + var n = Object.prototype.toString, + i = n.call(""); + e.exports = function (t) { + return ( + "string" == typeof t || + (t && "object" == typeof t && (t instanceof String || n.call(t) === i)) || + !1 + ); + }; + }, + {}, + ], + 176: [ + function (t, e, r) { + "use strict"; + var n = Object.create(null), + i = Math.random; + e.exports = function () { + var t; + do { + t = i().toString(36).slice(2); + } while (n[t]); + return t; + }; + }, + {}, + ], + 177: [ + function (t, e, r) { + "use strict"; + var n, + i = t("es5-ext/object/set-prototype-of"), + a = t("es5-ext/string/#/contains"), + o = t("d"), + s = t("es6-symbol"), + l = t("./"), + c = Object.defineProperty; + ((n = e.exports = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + (l.call(this, t), + (e = e + ? a.call(e, "key+value") + ? "key+value" + : a.call(e, "key") + ? "key" + : "value" + : "value"), + c(this, "__kind__", o("", e))); + }), + i && i(n, l), + delete n.prototype.constructor, + (n.prototype = Object.create(l.prototype, { + _resolve: o(function (t) { + return "value" === this.__kind__ + ? this.__list__[t] + : "key+value" === this.__kind__ + ? [t, this.__list__[t]] + : t; + }), + })), + c(n.prototype, s.toStringTag, o("c", "Array Iterator"))); + }, + { + "./": 180, + d: 121, + "es5-ext/object/set-prototype-of": 166, + "es5-ext/string/#/contains": 172, + "es6-symbol": 185, + }, + ], + 178: [ + function (t, e, r) { + "use strict"; + var n = t("es5-ext/function/is-arguments"), + i = t("es5-ext/object/valid-callable"), + a = t("es5-ext/string/is-string"), + o = t("./get"), + s = Array.isArray, + l = Function.prototype.call, + c = Array.prototype.some; + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d, + g, + m, + v = arguments[2]; + if ( + (s(t) || n(t) ? (r = "array") : a(t) ? (r = "string") : (t = o(t)), + i(e), + (f = function () { + h = !0; + }), + "array" !== r) + ) + if ("string" !== r) + for (u = t.next(); !u.done; ) { + if ((l.call(e, v, u.value, f), h)) return; + u = t.next(); + } + else + for ( + d = t.length, p = 0; + p < d && + ((g = t[p]), + p + 1 < d && + (m = g.charCodeAt(0)) >= 55296 && + m <= 56319 && + (g += t[++p]), + l.call(e, v, g, f), + !h); + ++p + ); + else + c.call(t, function (t) { + return (l.call(e, v, t, f), h); + }); + }; + }, + { + "./get": 179, + "es5-ext/function/is-arguments": 143, + "es5-ext/object/valid-callable": 169, + "es5-ext/string/is-string": 175, + }, + ], + 179: [ + function (t, e, r) { + "use strict"; + var n = t("es5-ext/function/is-arguments"), + i = t("es5-ext/string/is-string"), + a = t("./array"), + o = t("./string"), + s = t("./valid-iterable"), + l = t("es6-symbol").iterator; + e.exports = function (t) { + return "function" == typeof s(t)[l] + ? t[l]() + : n(t) + ? new a(t) + : i(t) + ? new o(t) + : new a(t); + }; + }, + { + "./array": 177, + "./string": 182, + "./valid-iterable": 183, + "es5-ext/function/is-arguments": 143, + "es5-ext/string/is-string": 175, + "es6-symbol": 185, + }, + ], + 180: [ + function (t, e, r) { + "use strict"; + var n, + i = t("es5-ext/array/#/clear"), + a = t("es5-ext/object/assign"), + o = t("es5-ext/object/valid-callable"), + s = t("es5-ext/object/valid-value"), + l = t("d"), + c = t("d/auto-bind"), + u = t("es6-symbol"), + f = Object.defineProperty, + h = Object.defineProperties; + ((e.exports = n = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + (h(this, { + __list__: l("w", s(t)), + __context__: l("w", e), + __nextIndex__: l("w", 0), + }), + e && + (o(e.on), + e.on("_add", this._onAdd), + e.on("_delete", this._onDelete), + e.on("_clear", this._onClear))); + }), + delete n.prototype.constructor, + h( + n.prototype, + a( + { + _next: l(function () { + var t; + if (this.__list__) + return this.__redo__ && void 0 !== (t = this.__redo__.shift()) + ? t + : this.__nextIndex__ < this.__list__.length + ? this.__nextIndex__++ + : void this._unBind(); + }), + next: l(function () { + return this._createResult(this._next()); + }), + _createResult: l(function (t) { + return void 0 === t + ? { done: !0, value: void 0 } + : { done: !1, value: this._resolve(t) }; + }), + _resolve: l(function (t) { + return this.__list__[t]; + }), + _unBind: l(function () { + ((this.__list__ = null), + delete this.__redo__, + this.__context__ && + (this.__context__.off("_add", this._onAdd), + this.__context__.off("_delete", this._onDelete), + this.__context__.off("_clear", this._onClear), + (this.__context__ = null))); + }), + toString: l(function () { + return "[object " + (this[u.toStringTag] || "Object") + "]"; + }), + }, + c({ + _onAdd: l(function (t) { + t >= this.__nextIndex__ || + (++this.__nextIndex__, + this.__redo__ + ? (this.__redo__.forEach(function (e, r) { + e >= t && (this.__redo__[r] = ++e); + }, this), + this.__redo__.push(t)) + : f(this, "__redo__", l("c", [t]))); + }), + _onDelete: l(function (t) { + var e; + t >= this.__nextIndex__ || + (--this.__nextIndex__, + this.__redo__ && + (-1 !== (e = this.__redo__.indexOf(t)) && + this.__redo__.splice(e, 1), + this.__redo__.forEach(function (e, r) { + e > t && (this.__redo__[r] = --e); + }, this))); + }), + _onClear: l(function () { + (this.__redo__ && i.call(this.__redo__), (this.__nextIndex__ = 0)); + }), + }), + ), + ), + f( + n.prototype, + u.iterator, + l(function () { + return this; + }), + )); + }, + { + d: 121, + "d/auto-bind": 120, + "es5-ext/array/#/clear": 139, + "es5-ext/object/assign": 152, + "es5-ext/object/valid-callable": 169, + "es5-ext/object/valid-value": 171, + "es6-symbol": 185, + }, + ], + 181: [ + function (t, e, r) { + "use strict"; + var n = t("es5-ext/function/is-arguments"), + i = t("es5-ext/object/is-value"), + a = t("es5-ext/string/is-string"), + o = t("es6-symbol").iterator, + s = Array.isArray; + e.exports = function (t) { + return !!i(t) && (!!s(t) || !!a(t) || !!n(t) || "function" == typeof t[o]); + }; + }, + { + "es5-ext/function/is-arguments": 143, + "es5-ext/object/is-value": 160, + "es5-ext/string/is-string": 175, + "es6-symbol": 185, + }, + ], + 182: [ + function (t, e, r) { + "use strict"; + var n, + i = t("es5-ext/object/set-prototype-of"), + a = t("d"), + o = t("es6-symbol"), + s = t("./"), + l = Object.defineProperty; + ((n = e.exports = + function (t) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + ((t = String(t)), + s.call(this, t), + l(this, "__length__", a("", t.length))); + }), + i && i(n, s), + delete n.prototype.constructor, + (n.prototype = Object.create(s.prototype, { + _next: a(function () { + if (this.__list__) + return this.__nextIndex__ < this.__length__ + ? this.__nextIndex__++ + : void this._unBind(); + }), + _resolve: a(function (t) { + var e, + r = this.__list__[t]; + return this.__nextIndex__ === this.__length__ + ? r + : (e = r.charCodeAt(0)) >= 55296 && e <= 56319 + ? r + this.__list__[this.__nextIndex__++] + : r; + }), + })), + l(n.prototype, o.toStringTag, a("c", "String Iterator"))); + }, + { + "./": 180, + d: 121, + "es5-ext/object/set-prototype-of": 166, + "es6-symbol": 185, + }, + ], + 183: [ + function (t, e, r) { + "use strict"; + var n = t("./is-iterable"); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not iterable"); + return t; + }; + }, + { "./is-iterable": 181 }, + ], + 184: [ + function (t, e, r) { + (function (n, i) { + !(function (t, n) { + "object" == typeof r && void 0 !== e + ? (e.exports = n()) + : (t.ES6Promise = n()); + })(this, function () { + "use strict"; + function e(t) { + return "function" == typeof t; + } + var r = Array.isArray + ? Array.isArray + : function (t) { + return "[object Array]" === Object.prototype.toString.call(t); + }, + a = 0, + o = void 0, + s = void 0, + l = function (t, e) { + ((g[a] = t), (g[a + 1] = e), 2 === (a += 2) && (s ? s(m) : _())); + }; + var c = "undefined" != typeof window ? window : void 0, + u = c || {}, + f = u.MutationObserver || u.WebKitMutationObserver, + h = + "undefined" == typeof self && + void 0 !== n && + "[object process]" === {}.toString.call(n), + p = + "undefined" != typeof Uint8ClampedArray && + "undefined" != typeof importScripts && + "undefined" != typeof MessageChannel; + function d() { + var t = setTimeout; + return function () { + return t(m, 1); + }; + } + var g = new Array(1e3); + function m() { + for (var t = 0; t < a; t += 2) { + ((0, g[t])(g[t + 1]), (g[t] = void 0), (g[t + 1] = void 0)); + } + a = 0; + } + var v, + y, + x, + b, + _ = void 0; + function w(t, e) { + var r = arguments, + n = this, + i = new this.constructor(A); + void 0 === i[M] && U(i); + var a, + o = n._state; + return ( + o + ? ((a = r[o - 1]), + l(function () { + return j(o, i, a, n._result); + })) + : R(n, i, t, e), + i + ); + } + function k(t) { + if (t && "object" == typeof t && t.constructor === this) return t; + var e = new this(A); + return (P(e, t), e); + } + h + ? (_ = function () { + return n.nextTick(m); + }) + : f + ? ((y = 0), + (x = new f(m)), + (b = document.createTextNode("")), + x.observe(b, { characterData: !0 }), + (_ = function () { + b.data = y = ++y % 2; + })) + : p + ? (((v = new MessageChannel()).port1.onmessage = m), + (_ = function () { + return v.port2.postMessage(0); + })) + : (_ = + void 0 === c && "function" == typeof t + ? (function () { + try { + var e = t("vertx"); + return ( + (o = e.runOnLoop || e.runOnContext), + function () { + o(m); + } + ); + } catch (t) { + return d(); + } + })() + : d()); + var M = Math.random().toString(36).substring(16); + function A() {} + var T = void 0, + S = 1, + C = 2, + E = new F(); + function L(t) { + try { + return t.then; + } catch (t) { + return ((E.error = t), E); + } + } + function z(t, r, n) { + r.constructor === t.constructor && + n === w && + r.constructor.resolve === k + ? (function (t, e) { + e._state === S + ? O(t, e._result) + : e._state === C + ? I(t, e._result) + : R( + e, + void 0, + function (e) { + return P(t, e); + }, + function (e) { + return I(t, e); + }, + ); + })(t, r) + : n === E + ? I(t, E.error) + : void 0 === n + ? O(t, r) + : e(n) + ? (function (t, e, r) { + l(function (t) { + var n = !1, + i = (function (t, e, r, n) { + try { + t.call(e, r, n); + } catch (t) { + return t; + } + })( + r, + e, + function (r) { + n || ((n = !0), e !== r ? P(t, r) : O(t, r)); + }, + function (e) { + n || ((n = !0), I(t, e)); + }, + t._label, + ); + !n && i && ((n = !0), I(t, i)); + }, t); + })(t, r, n) + : O(t, r); + } + function P(t, e) { + var r; + t === e + ? I(t, new TypeError("You cannot resolve a promise with itself")) + : "function" == typeof (r = e) || ("object" == typeof r && null !== r) + ? z(t, e, L(e)) + : O(t, e); + } + function D(t) { + (t._onerror && t._onerror(t._result), B(t)); + } + function O(t, e) { + t._state === T && + ((t._result = e), + (t._state = S), + 0 !== t._subscribers.length && l(B, t)); + } + function I(t, e) { + t._state === T && ((t._state = C), (t._result = e), l(D, t)); + } + function R(t, e, r, n) { + var i = t._subscribers, + a = i.length; + ((t._onerror = null), + (i[a] = e), + (i[a + S] = r), + (i[a + C] = n), + 0 === a && t._state && l(B, t)); + } + function B(t) { + var e = t._subscribers, + r = t._state; + if (0 !== e.length) { + for ( + var n = void 0, i = void 0, a = t._result, o = 0; + o < e.length; + o += 3 + ) + ((n = e[o]), (i = e[o + r]), n ? j(r, n, i, a) : i(a)); + t._subscribers.length = 0; + } + } + function F() { + this.error = null; + } + var N = new F(); + function j(t, r, n, i) { + var a = e(n), + o = void 0, + s = void 0, + l = void 0, + c = void 0; + if (a) { + if ( + ((o = (function (t, e) { + try { + return t(e); + } catch (t) { + return ((N.error = t), N); + } + })(n, i)) === N + ? ((c = !0), (s = o.error), (o = null)) + : (l = !0), + r === o) + ) + return void I( + r, + new TypeError( + "A promises callback cannot return that same promise.", + ), + ); + } else ((o = i), (l = !0)); + r._state !== T || + (a && l + ? P(r, o) + : c + ? I(r, s) + : t === S + ? O(r, o) + : t === C && I(r, o)); + } + var V = 0; + function U(t) { + ((t[M] = V++), + (t._state = void 0), + (t._result = void 0), + (t._subscribers = [])); + } + function q(t, e) { + ((this._instanceConstructor = t), + (this.promise = new t(A)), + this.promise[M] || U(this.promise), + r(e) + ? ((this._input = e), + (this.length = e.length), + (this._remaining = e.length), + (this._result = new Array(this.length)), + 0 === this.length + ? O(this.promise, this._result) + : ((this.length = this.length || 0), + this._enumerate(), + 0 === this._remaining && O(this.promise, this._result))) + : I( + this.promise, + new Error("Array Methods must be provided an Array"), + )); + } + function H(t) { + ((this[M] = V++), + (this._result = this._state = void 0), + (this._subscribers = []), + A !== t && + ("function" != typeof t && + (function () { + throw new TypeError( + "You must pass a resolver function as the first argument to the promise constructor", + ); + })(), + this instanceof H + ? (function (t, e) { + try { + e( + function (e) { + P(t, e); + }, + function (e) { + I(t, e); + }, + ); + } catch (e) { + I(t, e); + } + })(this, t) + : (function () { + throw new TypeError( + "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.", + ); + })())); + } + function G() { + var t = void 0; + if (void 0 !== i) t = i; + else if ("undefined" != typeof self) t = self; + else + try { + t = Function("return this")(); + } catch (t) { + throw new Error( + "polyfill failed because global object is unavailable in this environment", + ); + } + var e = t.Promise; + if (e) { + var r = null; + try { + r = Object.prototype.toString.call(e.resolve()); + } catch (t) {} + if ("[object Promise]" === r && !e.cast) return; + } + t.Promise = H; + } + return ( + (q.prototype._enumerate = function () { + for ( + var t = this.length, e = this._input, r = 0; + this._state === T && r < t; + r++ + ) + this._eachEntry(e[r], r); + }), + (q.prototype._eachEntry = function (t, e) { + var r = this._instanceConstructor, + n = r.resolve; + if (n === k) { + var i = L(t); + if (i === w && t._state !== T) + this._settledAt(t._state, e, t._result); + else if ("function" != typeof i) + (this._remaining--, (this._result[e] = t)); + else if (r === H) { + var a = new r(A); + (z(a, t, i), this._willSettleAt(a, e)); + } else + this._willSettleAt( + new r(function (e) { + return e(t); + }), + e, + ); + } else this._willSettleAt(n(t), e); + }), + (q.prototype._settledAt = function (t, e, r) { + var n = this.promise; + (n._state === T && + (this._remaining--, t === C ? I(n, r) : (this._result[e] = r)), + 0 === this._remaining && O(n, this._result)); + }), + (q.prototype._willSettleAt = function (t, e) { + var r = this; + R( + t, + void 0, + function (t) { + return r._settledAt(S, e, t); + }, + function (t) { + return r._settledAt(C, e, t); + }, + ); + }), + (H.all = function (t) { + return new q(this, t).promise; + }), + (H.race = function (t) { + var e = this; + return r(t) + ? new e(function (r, n) { + for (var i = t.length, a = 0; a < i; a++) + e.resolve(t[a]).then(r, n); + }) + : new e(function (t, e) { + return e(new TypeError("You must pass an array to race.")); + }); + }), + (H.resolve = k), + (H.reject = function (t) { + var e = new this(A); + return (I(e, t), e); + }), + (H._setScheduler = function (t) { + s = t; + }), + (H._setAsap = function (t) { + l = t; + }), + (H._asap = l), + (H.prototype = { + constructor: H, + then: w, + catch: function (t) { + return this.then(null, t); + }, + }), + G(), + (H.polyfill = G), + (H.Promise = H), + H + ); + }); + }).call( + this, + t("_process"), + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { _process: 366 }, + ], + 185: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? Symbol : t("./polyfill"); + }, + { "./is-implemented": 186, "./polyfill": 188 }, + ], + 186: [ + function (t, e, r) { + "use strict"; + var n = { object: !0, symbol: !0 }; + e.exports = function () { + var t; + if ("function" != typeof Symbol) return !1; + t = Symbol("test symbol"); + try { + String(t); + } catch (t) { + return !1; + } + return ( + !!n[typeof Symbol.iterator] && + !!n[typeof Symbol.toPrimitive] && + !!n[typeof Symbol.toStringTag] + ); + }; + }, + {}, + ], + 187: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return ( + !!t && + ("symbol" == typeof t || + (!!t.constructor && + "Symbol" === t.constructor.name && + "Symbol" === t[t.constructor.toStringTag])) + ); + }; + }, + {}, + ], + 188: [ + function (t, e, r) { + "use strict"; + var n, + i, + a, + o, + s = t("d"), + l = t("./validate-symbol"), + c = Object.create, + u = Object.defineProperties, + f = Object.defineProperty, + h = Object.prototype, + p = c(null); + if ("function" == typeof Symbol) { + n = Symbol; + try { + (String(n()), (o = !0)); + } catch (t) {} + } + var d, + g = + ((d = c(null)), + function (t) { + for (var e, r, n = 0; d[t + (n || "")]; ) ++n; + return ( + (d[(t += n || "")] = !0), + f( + h, + (e = "@@" + t), + s.gs(null, function (t) { + r || ((r = !0), f(this, e, s(t)), (r = !1)); + }), + ), + e + ); + }); + ((a = function (t) { + if (this instanceof a) throw new TypeError("Symbol is not a constructor"); + return i(t); + }), + (e.exports = i = + function t(e) { + var r; + if (this instanceof t) + throw new TypeError("Symbol is not a constructor"); + return o + ? n(e) + : ((r = c(a.prototype)), + (e = void 0 === e ? "" : String(e)), + u(r, { __description__: s("", e), __name__: s("", g(e)) })); + }), + u(i, { + for: s(function (t) { + return p[t] ? p[t] : (p[t] = i(String(t))); + }), + keyFor: s(function (t) { + var e; + for (e in (l(t), p)) if (p[e] === t) return e; + }), + hasInstance: s("", (n && n.hasInstance) || i("hasInstance")), + isConcatSpreadable: s( + "", + (n && n.isConcatSpreadable) || i("isConcatSpreadable"), + ), + iterator: s("", (n && n.iterator) || i("iterator")), + match: s("", (n && n.match) || i("match")), + replace: s("", (n && n.replace) || i("replace")), + search: s("", (n && n.search) || i("search")), + species: s("", (n && n.species) || i("species")), + split: s("", (n && n.split) || i("split")), + toPrimitive: s("", (n && n.toPrimitive) || i("toPrimitive")), + toStringTag: s("", (n && n.toStringTag) || i("toStringTag")), + unscopables: s("", (n && n.unscopables) || i("unscopables")), + }), + u(a.prototype, { + constructor: s(i), + toString: s("", function () { + return this.__name__; + }), + }), + u(i.prototype, { + toString: s(function () { + return "Symbol (" + l(this).__description__ + ")"; + }), + valueOf: s(function () { + return l(this); + }), + }), + f( + i.prototype, + i.toPrimitive, + s("", function () { + var t = l(this); + return "symbol" == typeof t ? t : t.toString(); + }), + ), + f(i.prototype, i.toStringTag, s("c", "Symbol")), + f(a.prototype, i.toStringTag, s("c", i.prototype[i.toStringTag])), + f(a.prototype, i.toPrimitive, s("c", i.prototype[i.toPrimitive]))); + }, + { "./validate-symbol": 189, d: 121 }, + ], + 189: [ + function (t, e, r) { + "use strict"; + var n = t("./is-symbol"); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + " is not a symbol"); + return t; + }; + }, + { "./is-symbol": 187 }, + ], + 190: [ + function (t, e, r) { + "use strict"; + e.exports = t("./is-implemented")() ? WeakMap : t("./polyfill"); + }, + { "./is-implemented": 191, "./polyfill": 193 }, + ], + 191: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + var t, e; + if ("function" != typeof WeakMap) return !1; + try { + t = new WeakMap([ + [(e = {}), "one"], + [{}, "two"], + [{}, "three"], + ]); + } catch (t) { + return !1; + } + return ( + "[object WeakMap]" === String(t) && + "function" == typeof t.set && + t.set({}, 1) === t && + "function" == typeof t.delete && + "function" == typeof t.has && + "one" === t.get(e) + ); + }; + }, + {}, + ], + 192: [ + function (t, e, r) { + "use strict"; + e.exports = + "function" == typeof WeakMap && + "[object WeakMap]" === Object.prototype.toString.call(new WeakMap()); + }, + {}, + ], + 193: [ + function (t, e, r) { + "use strict"; + var n, + i = t("es5-ext/object/set-prototype-of"), + a = t("es5-ext/object/valid-object"), + o = t("es5-ext/object/valid-value"), + s = t("es5-ext/string/random-uniq"), + l = t("d"), + c = t("es6-iterator/get"), + u = t("es6-iterator/for-of"), + f = t("es6-symbol").toStringTag, + h = t("./is-native-implemented"), + p = Array.isArray, + d = Object.defineProperty, + g = Object.prototype.hasOwnProperty, + m = Object.getPrototypeOf; + ((e.exports = n = + function () { + var t, + e = arguments[0]; + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + return ( + (t = h && i && WeakMap !== n ? i(new WeakMap(), m(this)) : this), + null != e && (p(e) || (e = c(e))), + d(t, "__weakMapData__", l("c", "$weakMap$" + s())), + e + ? (u(e, function (e) { + (o(e), t.set(e[0], e[1])); + }), + t) + : t + ); + }), + h && + (i && i(n, WeakMap), + (n.prototype = Object.create(WeakMap.prototype, { constructor: l(n) }))), + Object.defineProperties(n.prototype, { + delete: l(function (t) { + return ( + !!g.call(a(t), this.__weakMapData__) && + (delete t[this.__weakMapData__], !0) + ); + }), + get: l(function (t) { + if (g.call(a(t), this.__weakMapData__)) return t[this.__weakMapData__]; + }), + has: l(function (t) { + return g.call(a(t), this.__weakMapData__); + }), + set: l(function (t, e) { + return (d(a(t), this.__weakMapData__, l("c", e)), this); + }), + toString: l(function () { + return "[object WeakMap]"; + }), + }), + d(n.prototype, f, l("c", "WeakMap"))); + }, + { + "./is-native-implemented": 192, + d: 121, + "es5-ext/object/set-prototype-of": 166, + "es5-ext/object/valid-object": 170, + "es5-ext/object/valid-value": 171, + "es5-ext/string/random-uniq": 176, + "es6-iterator/for-of": 178, + "es6-iterator/get": 179, + "es6-symbol": 185, + }, + ], + 194: [ + function (t, e, r) { + function n() { + ((this._events = this._events || {}), + (this._maxListeners = this._maxListeners || void 0)); + } + function i(t) { + return "function" == typeof t; + } + function a(t) { + return "object" == typeof t && null !== t; + } + function o(t) { + return void 0 === t; + } + ((e.exports = n), + (n.EventEmitter = n), + (n.prototype._events = void 0), + (n.prototype._maxListeners = void 0), + (n.defaultMaxListeners = 10), + (n.prototype.setMaxListeners = function (t) { + if ("number" != typeof t || t < 0 || isNaN(t)) + throw TypeError("n must be a positive number"); + return ((this._maxListeners = t), this); + }), + (n.prototype.emit = function (t) { + var e, r, n, s, l, c; + if ( + (this._events || (this._events = {}), + "error" === t && + (!this._events.error || + (a(this._events.error) && !this._events.error.length))) + ) { + if ((e = arguments[1]) instanceof Error) throw e; + var u = new Error('Uncaught, unspecified "error" event. (' + e + ")"); + throw ((u.context = e), u); + } + if (o((r = this._events[t]))) return !1; + if (i(r)) + switch (arguments.length) { + case 1: + r.call(this); + break; + case 2: + r.call(this, arguments[1]); + break; + case 3: + r.call(this, arguments[1], arguments[2]); + break; + default: + ((s = Array.prototype.slice.call(arguments, 1)), r.apply(this, s)); + } + else if (a(r)) + for ( + s = Array.prototype.slice.call(arguments, 1), + n = (c = r.slice()).length, + l = 0; + l < n; + l++ + ) + c[l].apply(this, s); + return !0; + }), + (n.prototype.addListener = function (t, e) { + var r; + if (!i(e)) throw TypeError("listener must be a function"); + return ( + this._events || (this._events = {}), + this._events.newListener && + this.emit("newListener", t, i(e.listener) ? e.listener : e), + this._events[t] + ? a(this._events[t]) + ? this._events[t].push(e) + : (this._events[t] = [this._events[t], e]) + : (this._events[t] = e), + a(this._events[t]) && + !this._events[t].warned && + (r = o(this._maxListeners) + ? n.defaultMaxListeners + : this._maxListeners) && + r > 0 && + this._events[t].length > r && + ((this._events[t].warned = !0), + console.error( + "(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", + this._events[t].length, + ), + "function" == typeof console.trace && console.trace()), + this + ); + }), + (n.prototype.on = n.prototype.addListener), + (n.prototype.once = function (t, e) { + if (!i(e)) throw TypeError("listener must be a function"); + var r = !1; + function n() { + (this.removeListener(t, n), r || ((r = !0), e.apply(this, arguments))); + } + return ((n.listener = e), this.on(t, n), this); + }), + (n.prototype.removeListener = function (t, e) { + var r, n, o, s; + if (!i(e)) throw TypeError("listener must be a function"); + if (!this._events || !this._events[t]) return this; + if ( + ((o = (r = this._events[t]).length), + (n = -1), + r === e || (i(r.listener) && r.listener === e)) + ) + (delete this._events[t], + this._events.removeListener && this.emit("removeListener", t, e)); + else if (a(r)) { + for (s = o; s-- > 0; ) + if (r[s] === e || (r[s].listener && r[s].listener === e)) { + n = s; + break; + } + if (n < 0) return this; + (1 === r.length + ? ((r.length = 0), delete this._events[t]) + : r.splice(n, 1), + this._events.removeListener && this.emit("removeListener", t, e)); + } + return this; + }), + (n.prototype.removeAllListeners = function (t) { + var e, r; + if (!this._events) return this; + if (!this._events.removeListener) + return ( + 0 === arguments.length + ? (this._events = {}) + : this._events[t] && delete this._events[t], + this + ); + if (0 === arguments.length) { + for (e in this._events) + "removeListener" !== e && this.removeAllListeners(e); + return ( + this.removeAllListeners("removeListener"), + (this._events = {}), + this + ); + } + if (i((r = this._events[t]))) this.removeListener(t, r); + else if (r) for (; r.length; ) this.removeListener(t, r[r.length - 1]); + return (delete this._events[t], this); + }), + (n.prototype.listeners = function (t) { + return this._events && this._events[t] + ? i(this._events[t]) + ? [this._events[t]] + : this._events[t].slice() + : []; + }), + (n.prototype.listenerCount = function (t) { + if (this._events) { + var e = this._events[t]; + if (i(e)) return 1; + if (e) return e.length; + } + return 0; + }), + (n.listenerCount = function (t, e) { + return t.listenerCount(e); + })); + }, + {}, + ], + 195: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var n = e || 0, + i = r || 1; + return [ + [t[12] + t[0], t[13] + t[1], t[14] + t[2], t[15] + t[3]], + [t[12] - t[0], t[13] - t[1], t[14] - t[2], t[15] - t[3]], + [t[12] + t[4], t[13] + t[5], t[14] + t[6], t[15] + t[7]], + [t[12] - t[4], t[13] - t[5], t[14] - t[6], t[15] - t[7]], + [ + n * t[12] + t[8], + n * t[13] + t[9], + n * t[14] + t[10], + n * t[15] + t[11], + ], + [ + i * t[12] - t[8], + i * t[13] - t[9], + i * t[14] - t[10], + i * t[15] - t[11], + ], + ]; + }; + }, + {}, + ], + 196: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = typeof t; + if ("string" === e) { + var r = t; + if ( + 0 === (t = +t) && + (function (t) { + for (var e, r = t.length, n = 0; n < r; n++) + if ( + ((e = t.charCodeAt(n)) < 9 || e > 13) && + 32 !== e && + 133 !== e && + 160 !== e && + 5760 !== e && + 6158 !== e && + (e < 8192 || e > 8205) && + 8232 !== e && + 8233 !== e && + 8239 !== e && + 8287 !== e && + 8288 !== e && + 12288 !== e && + 65279 !== e + ) + return !1; + return !0; + })(r) + ) + return !1; + } else if ("number" !== e) return !1; + return t - t < 1; + }; + }, + {}, + ], + 197: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + switch (arguments.length) { + case 0: + return new o([0], [0], 0); + case 1: + if ("number" == typeof t) { + var n = l(t); + return new o(n, n, 0); + } + return new o(t, l(t.length), 0); + case 2: + if ("number" == typeof e) { + var n = l(t.length); + return new o(t, n, +e); + } + r = 0; + case 3: + if (t.length !== e.length) + throw new Error("state and velocity lengths must match"); + return new o(t, e, r); + } + }; + var n = t("cubic-hermite"), + i = t("binary-search-bounds"); + function a(t, e, r) { + return Math.min(e, Math.max(t, r)); + } + function o(t, e, r) { + ((this.dimension = t.length), + (this.bounds = [new Array(this.dimension), new Array(this.dimension)])); + for (var n = 0; n < this.dimension; ++n) + ((this.bounds[0][n] = -1 / 0), (this.bounds[1][n] = 1 / 0)); + ((this._state = t.slice().reverse()), + (this._velocity = e.slice().reverse()), + (this._time = [r]), + (this._scratch = [ + t.slice(), + t.slice(), + t.slice(), + t.slice(), + t.slice(), + ])); + } + var s = o.prototype; + function l(t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = 0; + return e; + } + ((s.flush = function (t) { + var e = i.gt(this._time, t) - 1; + e <= 0 || + (this._time.splice(0, e), + this._state.splice(0, e * this.dimension), + this._velocity.splice(0, e * this.dimension)); + }), + (s.curve = function (t) { + var e = this._time, + r = e.length, + o = i.le(e, t), + s = this._scratch[0], + l = this._state, + c = this._velocity, + u = this.dimension, + f = this.bounds; + if (o < 0) for (var h = u - 1, p = 0; p < u; ++p, --h) s[p] = l[h]; + else if (o >= r - 1) { + h = l.length - 1; + var d = t - e[r - 1]; + for (p = 0; p < u; ++p, --h) s[p] = l[h] + d * c[h]; + } else { + h = u * (o + 1) - 1; + var g = e[o], + m = e[o + 1] - g || 1, + v = this._scratch[1], + y = this._scratch[2], + x = this._scratch[3], + b = this._scratch[4], + _ = !0; + for (p = 0; p < u; ++p, --h) + ((v[p] = l[h]), + (x[p] = c[h] * m), + (y[p] = l[h + u]), + (b[p] = c[h + u] * m), + (_ = _ && v[p] === y[p] && x[p] === b[p] && 0 === x[p])); + if (_) for (p = 0; p < u; ++p) s[p] = v[p]; + else n(v, x, y, b, (t - g) / m, s); + } + var w = f[0], + k = f[1]; + for (p = 0; p < u; ++p) s[p] = a(w[p], k[p], s[p]); + return s; + }), + (s.dcurve = function (t) { + var e = this._time, + r = e.length, + a = i.le(e, t), + o = this._scratch[0], + s = this._state, + l = this._velocity, + c = this.dimension; + if (a >= r - 1) + for (var u = s.length - 1, f = (e[r - 1], 0); f < c; ++f, --u) + o[f] = l[u]; + else { + u = c * (a + 1) - 1; + var h = e[a], + p = e[a + 1] - h || 1, + d = this._scratch[1], + g = this._scratch[2], + m = this._scratch[3], + v = this._scratch[4], + y = !0; + for (f = 0; f < c; ++f, --u) + ((d[f] = s[u]), + (m[f] = l[u] * p), + (g[f] = s[u + c]), + (v[f] = l[u + c] * p), + (y = y && d[f] === g[f] && m[f] === v[f] && 0 === m[f])); + if (y) for (f = 0; f < c; ++f) o[f] = 0; + else { + n.derivative(d, m, g, v, (t - h) / p, o); + for (f = 0; f < c; ++f) o[f] /= p; + } + } + return o; + }), + (s.lastT = function () { + var t = this._time; + return t[t.length - 1]; + }), + (s.stable = function () { + for ( + var t = this._velocity, e = t.length, r = this.dimension - 1; + r >= 0; + --r + ) + if (t[--e]) return !1; + return !0; + }), + (s.jump = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + c = s[1]; + this._time.push(e, t); + for (var u = 0; u < 2; ++u) + for (var f = 0; f < r; ++f) (n.push(n[o++]), i.push(0)); + this._time.push(t); + for (f = r; f > 0; --f) + (n.push(a(l[f - 1], c[f - 1], arguments[f])), i.push(0)); + } + }), + (s.push = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = t - e, + l = this.bounds, + c = l[0], + u = l[1], + f = s > 1e-6 ? 1 / s : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = a(c[h - 1], u[h - 1], arguments[h]); + (n.push(p), i.push((p - n[o++]) * f)); + } + } + }), + (s.set = function (t) { + var e = this.dimension; + if (!(t < this.lastT() || arguments.length !== e + 1)) { + var r = this._state, + n = this._velocity, + i = this.bounds, + o = i[0], + s = i[1]; + this._time.push(t); + for (var l = e; l > 0; --l) + (r.push(a(o[l - 1], s[l - 1], arguments[l])), n.push(0)); + } + }), + (s.move = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t <= e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + c = s[1], + u = t - e, + f = u > 1e-6 ? 1 / u : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = arguments[h]; + (n.push(a(l[h - 1], c[h - 1], n[o++] + p)), i.push(p * f)); + } + } + }), + (s.idle = function (t) { + var e = this.lastT(); + if (!(t < e)) { + var r = this.dimension, + n = this._state, + i = this._velocity, + o = n.length - r, + s = this.bounds, + l = s[0], + c = s[1], + u = t - e; + this._time.push(t); + for (var f = r - 1; f >= 0; --f) + (n.push(a(l[f], c[f], n[o] + u * i[o])), i.push(0), (o += 1)); + } + })); + }, + { "binary-search-bounds": 72, "cubic-hermite": 115 }, + ], + 198: [ + function (t, e, r) { + var n = t("dtype"); + e.exports = function (t, e, r) { + if (!t) throw new TypeError("must specify data as first parameter"); + if (((r = 0 | +(r || 0)), Array.isArray(t) && Array.isArray(t[0]))) { + var i = t[0].length, + a = t.length * i; + (e && "string" != typeof e) || (e = new (n(e || "float32"))(a + r)); + var o = e.length - r; + if (a !== o) + throw new Error( + "source length " + + a + + " (" + + i + + "x" + + t.length + + ") does not match destination length " + + o, + ); + for (var s = 0, l = r; s < t.length; s++) + for (var c = 0; c < i; c++) e[l++] = t[s][c]; + } else if (e && "string" != typeof e) e.set(t, r); + else { + var u = n(e || "float32"); + 0 === r ? (e = new u(t)) : (e = new u(t.length + r)).set(t, r); + } + return e; + }; + }, + { dtype: 135 }, + ], + 199: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return new c(t || d, null); + }; + var n = 0, + i = 1; + function a(t, e, r, n, i, a) { + ((this._color = t), + (this.key = e), + (this.value = r), + (this.left = n), + (this.right = i), + (this._count = a)); + } + function o(t) { + return new a(t._color, t.key, t.value, t.left, t.right, t._count); + } + function s(t, e) { + return new a(t, e.key, e.value, e.left, e.right, e._count); + } + function l(t) { + t._count = + 1 + (t.left ? t.left._count : 0) + (t.right ? t.right._count : 0); + } + function c(t, e) { + ((this._compare = t), (this.root = e)); + } + var u = c.prototype; + function f(t, e) { + ((this.tree = t), (this._stack = e)); + } + (Object.defineProperty(u, "keys", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(e); + }), + t + ); + }, + }), + Object.defineProperty(u, "values", { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(r); + }), + t + ); + }, + }), + Object.defineProperty(u, "length", { + get: function () { + return this.root ? this.root._count : 0; + }, + }), + (u.insert = function (t, e) { + for (var r = this._compare, o = this.root, u = [], f = []; o; ) { + var h = r(t, o.key); + (u.push(o), f.push(h), (o = h <= 0 ? o.left : o.right)); + } + u.push(new a(n, t, e, null, null, 1)); + for (var p = u.length - 2; p >= 0; --p) { + o = u[p]; + f[p] <= 0 + ? (u[p] = new a( + o._color, + o.key, + o.value, + u[p + 1], + o.right, + o._count + 1, + )) + : (u[p] = new a( + o._color, + o.key, + o.value, + o.left, + u[p + 1], + o._count + 1, + )); + } + for (p = u.length - 1; p > 1; --p) { + var d = u[p - 1]; + o = u[p]; + if (d._color === i || o._color === i) break; + var g = u[p - 2]; + if (g.left === d) + if (d.left === o) { + if (!(m = g.right) || m._color !== n) { + if ( + ((g._color = n), + (g.left = d.right), + (d._color = i), + (d.right = g), + (u[p - 2] = d), + (u[p - 1] = o), + l(g), + l(d), + p >= 3) + ) + (v = u[p - 3]).left === g ? (v.left = d) : (v.right = d); + break; + } + ((d._color = i), (g.right = s(i, m)), (g._color = n), (p -= 1)); + } else { + if (!(m = g.right) || m._color !== n) { + if ( + ((d.right = o.left), + (g._color = n), + (g.left = o.right), + (o._color = i), + (o.left = d), + (o.right = g), + (u[p - 2] = o), + (u[p - 1] = d), + l(g), + l(d), + l(o), + p >= 3) + ) + (v = u[p - 3]).left === g ? (v.left = o) : (v.right = o); + break; + } + ((d._color = i), (g.right = s(i, m)), (g._color = n), (p -= 1)); + } + else if (d.right === o) { + if (!(m = g.left) || m._color !== n) { + if ( + ((g._color = n), + (g.right = d.left), + (d._color = i), + (d.left = g), + (u[p - 2] = d), + (u[p - 1] = o), + l(g), + l(d), + p >= 3) + ) + (v = u[p - 3]).right === g ? (v.right = d) : (v.left = d); + break; + } + ((d._color = i), (g.left = s(i, m)), (g._color = n), (p -= 1)); + } else { + var m; + if (!(m = g.left) || m._color !== n) { + var v; + if ( + ((d.left = o.right), + (g._color = n), + (g.right = o.left), + (o._color = i), + (o.right = d), + (o.left = g), + (u[p - 2] = o), + (u[p - 1] = d), + l(g), + l(d), + l(o), + p >= 3) + ) + (v = u[p - 3]).right === g ? (v.right = o) : (v.left = o); + break; + } + ((d._color = i), (g.left = s(i, m)), (g._color = n), (p -= 1)); + } + } + return ((u[0]._color = i), new c(r, u[0])); + }), + (u.forEach = function (t, e, r) { + if (this.root) + switch (arguments.length) { + case 1: + return (function t(e, r) { + var n; + if (r.left && (n = t(e, r.left))) return n; + return ( + (n = e(r.key, r.value)) || (r.right ? t(e, r.right) : void 0) + ); + })(t, this.root); + case 2: + return (function t(e, r, n, i) { + if (r(e, i.key) <= 0) { + var a; + if (i.left && (a = t(e, r, n, i.left))) return a; + if ((a = n(i.key, i.value))) return a; + } + if (i.right) return t(e, r, n, i.right); + })(e, this._compare, t, this.root); + case 3: + if (this._compare(e, r) >= 0) return; + return (function t(e, r, n, i, a) { + var o, + s = n(e, a.key), + l = n(r, a.key); + if (s <= 0) { + if (a.left && (o = t(e, r, n, i, a.left))) return o; + if (l > 0 && (o = i(a.key, a.value))) return o; + } + if (l > 0 && a.right) return t(e, r, n, i, a.right); + })(e, r, this._compare, t, this.root); + } + }), + Object.defineProperty(u, "begin", { + get: function () { + for (var t = [], e = this.root; e; ) (t.push(e), (e = e.left)); + return new f(this, t); + }, + }), + Object.defineProperty(u, "end", { + get: function () { + for (var t = [], e = this.root; e; ) (t.push(e), (e = e.right)); + return new f(this, t); + }, + }), + (u.at = function (t) { + if (t < 0) return new f(this, []); + for (var e = this.root, r = []; ; ) { + if ((r.push(e), e.left)) { + if (t < e.left._count) { + e = e.left; + continue; + } + t -= e.left._count; + } + if (!t) return new f(this, r); + if (((t -= 1), !e.right)) break; + if (t >= e.right._count) break; + e = e.right; + } + return new f(this, []); + }), + (u.ge = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + (n.push(r), a <= 0 && (i = n.length), (r = a <= 0 ? r.left : r.right)); + } + return ((n.length = i), new f(this, n)); + }), + (u.gt = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + (n.push(r), a < 0 && (i = n.length), (r = a < 0 ? r.left : r.right)); + } + return ((n.length = i), new f(this, n)); + }), + (u.lt = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + (n.push(r), a > 0 && (i = n.length), (r = a <= 0 ? r.left : r.right)); + } + return ((n.length = i), new f(this, n)); + }), + (u.le = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + (n.push(r), a >= 0 && (i = n.length), (r = a < 0 ? r.left : r.right)); + } + return ((n.length = i), new f(this, n)); + }), + (u.find = function (t) { + for (var e = this._compare, r = this.root, n = []; r; ) { + var i = e(t, r.key); + if ((n.push(r), 0 === i)) return new f(this, n); + r = i <= 0 ? r.left : r.right; + } + return new f(this, []); + }), + (u.remove = function (t) { + var e = this.find(t); + return e ? e.remove() : this; + }), + (u.get = function (t) { + for (var e = this._compare, r = this.root; r; ) { + var n = e(t, r.key); + if (0 === n) return r.value; + r = n <= 0 ? r.left : r.right; + } + })); + var h = f.prototype; + function p(t, e) { + ((t.key = e.key), + (t.value = e.value), + (t.left = e.left), + (t.right = e.right), + (t._color = e._color), + (t._count = e._count)); + } + function d(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + (Object.defineProperty(h, "valid", { + get: function () { + return this._stack.length > 0; + }, + }), + Object.defineProperty(h, "node", { + get: function () { + return this._stack.length > 0 + ? this._stack[this._stack.length - 1] + : null; + }, + enumerable: !0, + }), + (h.clone = function () { + return new f(this.tree, this._stack.slice()); + }), + (h.remove = function () { + var t = this._stack; + if (0 === t.length) return this.tree; + var e = new Array(t.length), + r = t[t.length - 1]; + e[e.length - 1] = new a( + r._color, + r.key, + r.value, + r.left, + r.right, + r._count, + ); + for (var u = t.length - 2; u >= 0; --u) { + (r = t[u]).left === t[u + 1] + ? (e[u] = new a( + r._color, + r.key, + r.value, + e[u + 1], + r.right, + r._count, + )) + : (e[u] = new a( + r._color, + r.key, + r.value, + r.left, + e[u + 1], + r._count, + )); + } + if ((r = e[e.length - 1]).left && r.right) { + var f = e.length; + for (r = r.left; r.right; ) (e.push(r), (r = r.right)); + var h = e[f - 1]; + (e.push(new a(r._color, h.key, h.value, r.left, r.right, r._count)), + (e[f - 1].key = r.key), + (e[f - 1].value = r.value)); + for (u = e.length - 2; u >= f; --u) + ((r = e[u]), + (e[u] = new a( + r._color, + r.key, + r.value, + r.left, + e[u + 1], + r._count, + ))); + e[f - 1].left = e[f]; + } + if ((r = e[e.length - 1])._color === n) { + var d = e[e.length - 2]; + (d.left === r ? (d.left = null) : d.right === r && (d.right = null), + e.pop()); + for (u = 0; u < e.length; ++u) e[u]._count--; + return new c(this.tree._compare, e[0]); + } + if (r.left || r.right) { + (r.left ? p(r, r.left) : r.right && p(r, r.right), (r._color = i)); + for (u = 0; u < e.length - 1; ++u) e[u]._count--; + return new c(this.tree._compare, e[0]); + } + if (1 === e.length) return new c(this.tree._compare, null); + for (u = 0; u < e.length; ++u) e[u]._count--; + var g = e[e.length - 2]; + return ( + (function (t) { + for (var e, r, a, c, u = t.length - 1; u >= 0; --u) { + if (((e = t[u]), 0 === u)) return void (e._color = i); + if ((r = t[u - 1]).left === e) { + if ((a = r.right).right && a.right._color === n) + return ( + (c = (a = r.right = o(a)).right = o(a.right)), + (r.right = a.left), + (a.left = r), + (a.right = c), + (a._color = r._color), + (e._color = i), + (r._color = i), + (c._color = i), + l(r), + l(a), + u > 1 && + ((f = t[u - 2]).left === r ? (f.left = a) : (f.right = a)), + void (t[u - 1] = a) + ); + if (a.left && a.left._color === n) + return ( + (c = (a = r.right = o(a)).left = o(a.left)), + (r.right = c.left), + (a.left = c.right), + (c.left = r), + (c.right = a), + (c._color = r._color), + (r._color = i), + (a._color = i), + (e._color = i), + l(r), + l(a), + l(c), + u > 1 && + ((f = t[u - 2]).left === r ? (f.left = c) : (f.right = c)), + void (t[u - 1] = c) + ); + if (a._color === i) { + if (r._color === n) + return ((r._color = i), void (r.right = s(n, a))); + r.right = s(n, a); + continue; + } + ((a = o(a)), + (r.right = a.left), + (a.left = r), + (a._color = r._color), + (r._color = n), + l(r), + l(a), + u > 1 && + ((f = t[u - 2]).left === r ? (f.left = a) : (f.right = a)), + (t[u - 1] = a), + (t[u] = r), + u + 1 < t.length ? (t[u + 1] = e) : t.push(e), + (u += 2)); + } else { + if ((a = r.left).left && a.left._color === n) + return ( + (c = (a = r.left = o(a)).left = o(a.left)), + (r.left = a.right), + (a.right = r), + (a.left = c), + (a._color = r._color), + (e._color = i), + (r._color = i), + (c._color = i), + l(r), + l(a), + u > 1 && + ((f = t[u - 2]).right === r ? (f.right = a) : (f.left = a)), + void (t[u - 1] = a) + ); + if (a.right && a.right._color === n) + return ( + (c = (a = r.left = o(a)).right = o(a.right)), + (r.left = c.right), + (a.right = c.left), + (c.right = r), + (c.left = a), + (c._color = r._color), + (r._color = i), + (a._color = i), + (e._color = i), + l(r), + l(a), + l(c), + u > 1 && + ((f = t[u - 2]).right === r ? (f.right = c) : (f.left = c)), + void (t[u - 1] = c) + ); + if (a._color === i) { + if (r._color === n) + return ((r._color = i), void (r.left = s(n, a))); + r.left = s(n, a); + continue; + } + var f; + ((a = o(a)), + (r.left = a.right), + (a.right = r), + (a._color = r._color), + (r._color = n), + l(r), + l(a), + u > 1 && + ((f = t[u - 2]).right === r ? (f.right = a) : (f.left = a)), + (t[u - 1] = a), + (t[u] = r), + u + 1 < t.length ? (t[u + 1] = e) : t.push(e), + (u += 2)); + } + } + })(e), + g.left === r ? (g.left = null) : (g.right = null), + new c(this.tree._compare, e[0]) + ); + }), + Object.defineProperty(h, "key", { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1].key; + }, + enumerable: !0, + }), + Object.defineProperty(h, "value", { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1].value; + }, + enumerable: !0, + }), + Object.defineProperty(h, "index", { + get: function () { + var t = 0, + e = this._stack; + if (0 === e.length) { + var r = this.tree.root; + return r ? r._count : 0; + } + e[e.length - 1].left && (t = e[e.length - 1].left._count); + for (var n = e.length - 2; n >= 0; --n) + e[n + 1] === e[n].right && + (++t, e[n].left && (t += e[n].left._count)); + return t; + }, + enumerable: !0, + }), + (h.next = function () { + var t = this._stack; + if (0 !== t.length) { + var e = t[t.length - 1]; + if (e.right) for (e = e.right; e; ) (t.push(e), (e = e.left)); + else + for (t.pop(); t.length > 0 && t[t.length - 1].right === e; ) + ((e = t[t.length - 1]), t.pop()); + } + }), + Object.defineProperty(h, "hasNext", { + get: function () { + var t = this._stack; + if (0 === t.length) return !1; + if (t[t.length - 1].right) return !0; + for (var e = t.length - 1; e > 0; --e) + if (t[e - 1].left === t[e]) return !0; + return !1; + }, + }), + (h.update = function (t) { + var e = this._stack; + if (0 === e.length) throw new Error("Can't update empty node!"); + var r = new Array(e.length), + n = e[e.length - 1]; + r[r.length - 1] = new a(n._color, n.key, t, n.left, n.right, n._count); + for (var i = e.length - 2; i >= 0; --i) + (n = e[i]).left === e[i + 1] + ? (r[i] = new a( + n._color, + n.key, + n.value, + r[i + 1], + n.right, + n._count, + )) + : (r[i] = new a( + n._color, + n.key, + n.value, + n.left, + r[i + 1], + n._count, + )); + return new c(this.tree._compare, r[0]); + }), + (h.prev = function () { + var t = this._stack; + if (0 !== t.length) { + var e = t[t.length - 1]; + if (e.left) for (e = e.left; e; ) (t.push(e), (e = e.right)); + else + for (t.pop(); t.length > 0 && t[t.length - 1].left === e; ) + ((e = t[t.length - 1]), t.pop()); + } + }), + Object.defineProperty(h, "hasPrev", { + get: function () { + var t = this._stack; + if (0 === t.length) return !1; + if (t[t.length - 1].left) return !0; + for (var e = t.length - 1; e > 0; --e) + if (t[e - 1].right === t[e]) return !0; + return !1; + }, + })); + }, + {}, + ], + 200: [ + function (t, e, r) { + var n = [ + 0.9999999999998099, 676.5203681218851, -1259.1392167224028, + 771.3234287776531, -176.6150291621406, 12.507343278686905, + -0.13857109526572012, 9984369578019572e-21, 1.5056327351493116e-7, + ], + i = 607 / 128, + a = [ + 0.9999999999999971, 57.15623566586292, -59.59796035547549, + 14.136097974741746, -0.4919138160976202, 3399464998481189e-20, + 4652362892704858e-20, -9837447530487956e-20, 0.0001580887032249125, + -0.00021026444172410488, 0.00021743961811521265, -0.0001643181065367639, + 8441822398385275e-20, -26190838401581408e-21, 36899182659531625e-22, + ]; + function o(t) { + if (t < 0) return Number("0/0"); + for (var e = a[0], r = a.length - 1; r > 0; --r) e += a[r] / (t + r); + var n = t + i + 0.5; + return ( + 0.5 * Math.log(2 * Math.PI) + + (t + 0.5) * Math.log(n) - + n + + Math.log(e) - + Math.log(t) + ); + } + ((e.exports = function t(e) { + if (e < 0.5) return Math.PI / (Math.sin(Math.PI * e) * t(1 - e)); + if (e > 100) return Math.exp(o(e)); + e -= 1; + for (var r = n[0], i = 1; i < 9; i++) r += n[i] / (e + i); + var a = e + 7 + 0.5; + return Math.sqrt(2 * Math.PI) * Math.pow(a, e + 0.5) * Math.exp(-a) * r; + }), + (e.exports.log = o)); + }, + {}, + ], + 201: [ + function (t, e, r) { + e.exports = function (t, e) { + if ("string" != typeof t) throw new TypeError("must specify type string"); + if (((e = e || {}), "undefined" == typeof document && !e.canvas)) + return null; + var r = e.canvas || document.createElement("canvas"); + "number" == typeof e.width && (r.width = e.width); + "number" == typeof e.height && (r.height = e.height); + var n, + i = e; + try { + var a = [t]; + 0 === t.indexOf("webgl") && a.push("experimental-" + t); + for (var o = 0; o < a.length; o++) + if ((n = r.getContext(a[o], i))) return n; + } catch (t) { + n = null; + } + return n || null; + }; + }, + {}, + ], + 202: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = new u(t); + return (r.update(e), r); + }; + var n = t("./lib/text.js"), + i = t("./lib/lines.js"), + a = t("./lib/background.js"), + o = t("./lib/cube.js"), + s = t("./lib/ticks.js"), + l = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); + function c(t, e) { + return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t); + } + function u(t) { + ((this.gl = t), + (this.pixelRatio = 1), + (this.bounds = [ + [-10, -10, -10], + [10, 10, 10], + ]), + (this.ticks = [[], [], []]), + (this.autoTicks = !0), + (this.tickSpacing = [1, 1, 1]), + (this.tickEnable = [!0, !0, !0]), + (this.tickFont = ["sans-serif", "sans-serif", "sans-serif"]), + (this.tickSize = [12, 12, 12]), + (this.tickAngle = [0, 0, 0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [10, 10, 10]), + (this.lastCubeProps = { cubeEdges: [0, 0, 0], axis: [0, 0, 0] }), + (this.labels = ["x", "y", "z"]), + (this.labelEnable = [!0, !0, !0]), + (this.labelFont = "sans-serif"), + (this.labelSize = [20, 20, 20]), + (this.labelAngle = [0, 0, 0]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [10, 10, 10]), + (this.lineEnable = [!0, !0, !0]), + (this.lineMirror = [!1, !1, !1]), + (this.lineWidth = [1, 1, 1]), + (this.lineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.lineTickEnable = [!0, !0, !0]), + (this.lineTickMirror = [!1, !1, !1]), + (this.lineTickLength = [0, 0, 0]), + (this.lineTickWidth = [1, 1, 1]), + (this.lineTickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.gridEnable = [!0, !0, !0]), + (this.gridWidth = [1, 1, 1]), + (this.gridColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroEnable = [!0, !0, !0]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroLineWidth = [2, 2, 2]), + (this.backgroundEnable = [!1, !1, !1]), + (this.backgroundColor = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._firstInit = !0), + (this._text = null), + (this._lines = null), + (this._background = a(t))); + } + var f = u.prototype; + function h() { + ((this.primalOffset = [0, 0, 0]), + (this.primalMinor = [0, 0, 0]), + (this.mirrorOffset = [0, 0, 0]), + (this.mirrorMinor = [0, 0, 0])); + } + f.update = function (t) { + function e(e, r, n) { + if (n in t) { + var i, + a = t[n], + o = this[n]; + (e ? Array.isArray(a) && Array.isArray(a[0]) : Array.isArray(a)) + ? (this[n] = i = [r(a[0]), r(a[1]), r(a[2])]) + : (this[n] = i = [r(a), r(a), r(a)]); + for (var s = 0; s < 3; ++s) if (i[s] !== o[s]) return !0; + } + return !1; + } + t = t || {}; + var r, + a = e.bind(this, !1, Number), + o = e.bind(this, !1, Boolean), + l = e.bind(this, !1, String), + c = e.bind(this, !0, function (t) { + if (Array.isArray(t)) { + if (3 === t.length) return [+t[0], +t[1], +t[2], 1]; + if (4 === t.length) return [+t[0], +t[1], +t[2], +t[3]]; + } + return [0, 0, 0, 1]; + }), + u = !1, + f = !1; + if ("bounds" in t) + for (var h = t.bounds, p = 0; p < 2; ++p) + for (var d = 0; d < 3; ++d) + (h[p][d] !== this.bounds[p][d] && (f = !0), + (this.bounds[p][d] = h[p][d])); + if ("ticks" in t) { + ((r = t.ticks), (u = !0), (this.autoTicks = !1)); + for (p = 0; p < 3; ++p) this.tickSpacing[p] = 0; + } else a("tickSpacing") && ((this.autoTicks = !0), (f = !0)); + if ( + (this._firstInit && + ("ticks" in t || "tickSpacing" in t || (this.autoTicks = !0), + (f = !0), + (u = !0), + (this._firstInit = !1)), + f && + this.autoTicks && + ((r = s.create(this.bounds, this.tickSpacing)), (u = !0)), + u) + ) { + for (p = 0; p < 3; ++p) + r[p].sort(function (t, e) { + return t.x - e.x; + }); + s.equal(r, this.ticks) ? (u = !1) : (this.ticks = r); + } + (o("tickEnable"), + l("tickFont") && (u = !0), + a("tickSize"), + a("tickAngle"), + a("tickPad"), + c("tickColor")); + var g = l("labels"); + (l("labelFont") && (g = !0), + o("labelEnable"), + a("labelSize"), + a("labelPad"), + c("labelColor"), + o("lineEnable"), + o("lineMirror"), + a("lineWidth"), + c("lineColor"), + o("lineTickEnable"), + o("lineTickMirror"), + a("lineTickLength"), + a("lineTickWidth"), + c("lineTickColor"), + o("gridEnable"), + a("gridWidth"), + c("gridColor"), + o("zeroEnable"), + c("zeroLineColor"), + a("zeroLineWidth"), + o("backgroundEnable"), + c("backgroundColor"), + this._text + ? this._text && + (g || u) && + this._text.update( + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + ) + : (this._text = n( + this.gl, + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont, + )), + this._lines && u && (this._lines.dispose(), (this._lines = null)), + this._lines || (this._lines = i(this.gl, this.bounds, this.ticks))); + }; + var p = [new h(), new h(), new h()]; + function d(t, e, r, n, i) { + for ( + var a = t.primalOffset, + o = t.primalMinor, + s = t.mirrorOffset, + l = t.mirrorMinor, + c = n[e], + u = 0; + u < 3; + ++u + ) + if (e !== u) { + var f = a, + h = s, + p = o, + d = l; + (c & (1 << u) && ((f = s), (h = a), (p = l), (d = o)), + (f[u] = r[0][u]), + (h[u] = r[1][u]), + i[u] > 0 ? ((p[u] = -1), (d[u] = 0)) : ((p[u] = 0), (d[u] = 1))); + } + } + var g = [0, 0, 0], + m = { model: l, view: l, projection: l }; + ((f.isOpaque = function () { + return !0; + }), + (f.isTransparent = function () { + return !1; + }), + (f.drawTransparent = function (t) {})); + var v = [0, 0, 0], + y = [0, 0, 0], + x = [0, 0, 0]; + ((f.draw = function (t) { + t = t || m; + for ( + var e = this.gl, + r = t.model || l, + n = t.view || l, + i = t.projection || l, + a = this.bounds, + s = o(r, n, i, a), + u = s.cubeEdges, + f = s.axis, + h = n[12], + b = n[13], + _ = n[14], + w = n[15], + k = + (this.pixelRatio * (i[3] * h + i[7] * b + i[11] * _ + i[15] * w)) / + e.drawingBufferHeight, + M = 0; + M < 3; + ++M + ) + ((this.lastCubeProps.cubeEdges[M] = u[M]), + (this.lastCubeProps.axis[M] = f[M])); + var A = p; + for (M = 0; M < 3; ++M) d(p[M], M, this.bounds, u, f); + e = this.gl; + var T = g; + for (M = 0; M < 3; ++M) + this.backgroundEnable[M] ? (T[M] = f[M]) : (T[M] = 0); + (this._background.draw(r, n, i, a, T, this.backgroundColor), + this._lines.bind(r, n, i, this)); + for (M = 0; M < 3; ++M) { + var S = [0, 0, 0]; + f[M] > 0 ? (S[M] = a[1][M]) : (S[M] = a[0][M]); + for (var C = 0; C < 2; ++C) { + var E = (M + 1 + C) % 3, + L = (M + 1 + (1 ^ C)) % 3; + this.gridEnable[E] && + this._lines.drawGrid( + E, + L, + this.bounds, + S, + this.gridColor[E], + this.gridWidth[E] * this.pixelRatio, + ); + } + for (C = 0; C < 2; ++C) { + ((E = (M + 1 + C) % 3), (L = (M + 1 + (1 ^ C)) % 3)); + this.zeroEnable[L] && + a[0][L] <= 0 && + a[1][L] >= 0 && + this._lines.drawZero( + E, + L, + this.bounds, + S, + this.zeroLineColor[L], + this.zeroLineWidth[L] * this.pixelRatio, + ); + } + } + for (M = 0; M < 3; ++M) { + (this.lineEnable[M] && + this._lines.drawAxisLine( + M, + this.bounds, + A[M].primalOffset, + this.lineColor[M], + this.lineWidth[M] * this.pixelRatio, + ), + this.lineMirror[M] && + this._lines.drawAxisLine( + M, + this.bounds, + A[M].mirrorOffset, + this.lineColor[M], + this.lineWidth[M] * this.pixelRatio, + )); + var z = c(v, A[M].primalMinor), + P = c(y, A[M].mirrorMinor), + D = this.lineTickLength; + for (C = 0; C < 3; ++C) { + var O = k / r[5 * C]; + ((z[C] *= D[C] * O), (P[C] *= D[C] * O)); + } + (this.lineTickEnable[M] && + this._lines.drawAxisTicks( + M, + A[M].primalOffset, + z, + this.lineTickColor[M], + this.lineTickWidth[M] * this.pixelRatio, + ), + this.lineTickMirror[M] && + this._lines.drawAxisTicks( + M, + A[M].mirrorOffset, + P, + this.lineTickColor[M], + this.lineTickWidth[M] * this.pixelRatio, + )); + } + (this._lines.unbind(), this._text.bind(r, n, i, this.pixelRatio)); + for (M = 0; M < 3; ++M) { + var I = A[M].primalMinor, + R = c(x, A[M].primalOffset); + for (C = 0; C < 3; ++C) + this.lineTickEnable[M] && + (R[C] += (k * I[C] * Math.max(this.lineTickLength[C], 0)) / r[5 * C]); + if (this.tickEnable[M]) { + for (C = 0; C < 3; ++C) R[C] += (k * I[C] * this.tickPad[C]) / r[5 * C]; + this._text.drawTicks( + M, + this.tickSize[M], + this.tickAngle[M], + R, + this.tickColor[M], + ); + } + if (this.labelEnable[M]) { + for (C = 0; C < 3; ++C) + R[C] += (k * I[C] * this.labelPad[C]) / r[5 * C]; + ((R[M] += 0.5 * (a[0][M] + a[1][M])), + this._text.drawLabel( + M, + this.labelSize[M], + this.labelAngle[M], + R, + this.labelColor[M], + )); + } + } + this._text.unbind(); + }), + (f.dispose = function () { + (this._text.dispose(), + this._lines.dispose(), + this._background.dispose(), + (this._lines = null), + (this._text = null), + (this._background = null), + (this.gl = null)); + })); + }, + { + "./lib/background.js": 203, + "./lib/cube.js": 204, + "./lib/lines.js": 205, + "./lib/text.js": 207, + "./lib/ticks.js": 208, + }, + ], + 203: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = [], r = [], s = 0, l = 0; l < 3; ++l) + for ( + var c = (l + 1) % 3, + u = (l + 2) % 3, + f = [0, 0, 0], + h = [0, 0, 0], + p = -1; + p <= 1; + p += 2 + ) { + (r.push(s, s + 2, s + 1, s + 1, s + 2, s + 3), (f[l] = p), (h[l] = p)); + for (var d = -1; d <= 1; d += 2) { + f[c] = d; + for (var g = -1; g <= 1; g += 2) + ((f[u] = g), e.push(f[0], f[1], f[2], h[0], h[1], h[2]), (s += 1)); + } + var m = c; + ((c = u), (u = m)); + } + var v = n(t, new Float32Array(e)), + y = n(t, new Uint16Array(r), t.ELEMENT_ARRAY_BUFFER), + x = i( + t, + [ + { buffer: v, type: t.FLOAT, size: 3, offset: 0, stride: 24 }, + { buffer: v, type: t.FLOAT, size: 3, offset: 12, stride: 24 }, + ], + y, + ), + b = a(t); + return ( + (b.attributes.position.location = 0), + (b.attributes.normal.location = 1), + new o(t, v, x, b) + ); + }; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("./shaders").bg; + function o(t, e, r, n) { + ((this.gl = t), (this.buffer = e), (this.vao = r), (this.shader = n)); + } + var s = o.prototype; + ((s.draw = function (t, e, r, n, i, a) { + for (var o = !1, s = 0; s < 3; ++s) o = o || i[s]; + if (o) { + var l = this.gl; + (l.enable(l.POLYGON_OFFSET_FILL), + l.polygonOffset(1, 2), + this.shader.bind(), + (this.shader.uniforms = { + model: t, + view: e, + projection: r, + bounds: n, + enable: i, + colors: a, + }), + this.vao.bind(), + this.vao.draw(this.gl.TRIANGLES, 36), + this.vao.unbind(), + l.disable(l.POLYGON_OFFSET_FILL)); + } + }), + (s.dispose = function () { + (this.vao.dispose(), this.buffer.dispose(), this.shader.dispose()); + })); + }, + { "./shaders": 206, "gl-buffer": 210, "gl-vao": 279 }, + ], + 204: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, a) { + (i(s, e, t), i(s, r, s)); + for (var p = 0, y = 0; y < 2; ++y) { + u[2] = a[y][2]; + for (var x = 0; x < 2; ++x) { + u[1] = a[x][1]; + for (var b = 0; b < 2; ++b) ((u[0] = a[b][0]), h(l[p], u, s), (p += 1)); + } + } + for (var _ = -1, y = 0; y < 8; ++y) { + for (var w = l[y][3], k = 0; k < 3; ++k) c[y][k] = l[y][k] / w; + w < 0 && (_ < 0 ? (_ = y) : c[y][2] < c[_][2] && (_ = y)); + } + if (_ < 0) { + _ = 0; + for (var M = 0; M < 3; ++M) { + for ( + var A = (M + 2) % 3, T = (M + 1) % 3, S = -1, C = -1, E = 0; + E < 2; + ++E + ) { + var L = E << M, + z = L + (E << A) + ((1 - E) << T), + P = L + ((1 - E) << A) + (E << T); + o(c[L], c[z], c[P], f) < 0 || (E ? (S = 1) : (C = 1)); + } + if (S < 0 || C < 0) C > S && (_ |= 1 << M); + else { + for (var E = 0; E < 2; ++E) { + var L = E << M, + z = L + (E << A) + ((1 - E) << T), + P = L + ((1 - E) << A) + (E << T), + D = d([l[L], l[z], l[P], l[L + (1 << A) + (1 << T)]]); + E ? (S = D) : (C = D); + } + C > S && (_ |= 1 << M); + } + } + } + for (var O = 7 ^ _, I = -1, y = 0; y < 8; ++y) + y !== _ && y !== O && (I < 0 ? (I = y) : c[I][1] > c[y][1] && (I = y)); + for (var R = -1, y = 0; y < 3; ++y) { + var B = I ^ (1 << y); + if (B !== _ && B !== O) { + R < 0 && (R = B); + var T = c[B]; + T[0] < c[R][0] && (R = B); + } + } + for (var F = -1, y = 0; y < 3; ++y) { + var B = I ^ (1 << y); + if (B !== _ && B !== O && B !== R) { + F < 0 && (F = B); + var T = c[B]; + T[0] > c[F][0] && (F = B); + } + } + var N = g; + ((N[0] = N[1] = N[2] = 0), + (N[n.log2(R ^ I)] = I & R), + (N[n.log2(I ^ F)] = I & F)); + var j = 7 ^ F; + j === _ || j === O + ? ((j = 7 ^ R), (N[n.log2(F ^ j)] = j & F)) + : (N[n.log2(R ^ j)] = j & R); + for (var V = m, U = _, M = 0; M < 3; ++M) V[M] = U & (1 << M) ? -1 : 1; + return v; + }; + var n = t("bit-twiddle"), + i = t("gl-mat4/multiply"), + a = (t("gl-mat4/invert"), t("split-polygon")), + o = t("robust-orientation"), + s = new Array(16), + l = (new Array(16), new Array(8)), + c = new Array(8), + u = new Array(3), + f = [0, 0, 0]; + function h(t, e, r) { + for (var n = 0; n < 4; ++n) { + t[n] = r[12 + n]; + for (var i = 0; i < 3; ++i) t[n] += e[i] * r[4 * i + n]; + } + } + !(function () { + for (var t = 0; t < 8; ++t) ((l[t] = [1, 1, 1, 1]), (c[t] = [1, 1, 1])); + })(); + var p = [ + [0, 0, 1, 0, 0], + [0, 0, -1, 1, 0], + [0, -1, 0, 1, 0], + [0, 1, 0, 1, 0], + [-1, 0, 0, 1, 0], + [1, 0, 0, 1, 0], + ]; + function d(t) { + for (var e = 0; e < p.length; ++e) + if ((t = a.positive(t, p[e])).length < 3) return 0; + var r = t[0], + n = r[0] / r[3], + i = r[1] / r[3], + o = 0; + for (e = 1; e + 1 < t.length; ++e) { + var s = t[e], + l = t[e + 1], + c = s[0] / s[3] - n, + u = s[1] / s[3] - i, + f = l[0] / l[3] - n, + h = l[1] / l[3] - i; + o += Math.abs(c * h - u * f); + } + return o; + } + var g = [1, 1, 1], + m = [0, 0, 0], + v = { cubeEdges: g, axis: m }; + }, + { + "bit-twiddle": 73, + "gl-mat4/invert": 230, + "gl-mat4/multiply": 232, + "robust-orientation": 388, + "split-polygon": 405, + }, + ], + 205: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var o = [], + s = [0, 0, 0], + l = [0, 0, 0], + c = [0, 0, 0], + u = [0, 0, 0]; + o.push(0, 0, 1, 0, 1, 1, 0, 0, -1, 0, 0, -1, 0, 1, 1, 0, 1, -1); + for (var f = 0; f < 3; ++f) { + for (var h = (o.length / 3) | 0, d = 0; d < r[f].length; ++d) { + var g = +r[f][d].x; + o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); + } + var m = (o.length / 3) | 0; + ((s[f] = h), (l[f] = m - h)); + for (var h = (o.length / 3) | 0, v = 0; v < r[f].length; ++v) { + var g = +r[f][v].x; + o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); + } + var m = (o.length / 3) | 0; + ((c[f] = h), (u[f] = m - h)); + } + var y = n(t, new Float32Array(o)), + x = i(t, [{ buffer: y, type: t.FLOAT, size: 3, stride: 0, offset: 0 }]), + b = a(t); + return ( + (b.attributes.position.location = 0), + new p(t, y, x, b, l, s, u, c) + ); + }; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("./shaders").line, + o = [0, 0, 0], + s = [0, 0, 0], + l = [0, 0, 0], + c = [0, 0, 0], + u = [1, 1]; + function f(t) { + return ((t[0] = t[1] = t[2] = 0), t); + } + function h(t, e) { + return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t); + } + function p(t, e, r, n, i, a, o, s) { + ((this.gl = t), + (this.vertBuffer = e), + (this.vao = r), + (this.shader = n), + (this.tickCount = i), + (this.tickOffset = a), + (this.gridCount = o), + (this.gridOffset = s)); + } + var d = p.prototype; + ((d.bind = function (t, e, r) { + (this.shader.bind(), + (this.shader.uniforms.model = t), + (this.shader.uniforms.view = e), + (this.shader.uniforms.projection = r), + (u[0] = this.gl.drawingBufferWidth), + (u[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.screenShape = u), + this.vao.bind()); + }), + (d.unbind = function () { + this.vao.unbind(); + }), + (d.drawAxisLine = function (t, e, r, n, i) { + var a = f(s); + ((this.shader.uniforms.majorAxis = s), + (a[t] = e[1][t] - e[0][t]), + (this.shader.uniforms.minorAxis = a)); + var o, + u = h(c, r); + ((u[t] += e[0][t]), + (this.shader.uniforms.offset = u), + (this.shader.uniforms.lineWidth = i), + (this.shader.uniforms.color = n), + ((o = f(l))[(t + 2) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6), + ((o = f(l))[(t + 1) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6)); + }), + (d.drawAxisTicks = function (t, e, r, n, i) { + if (this.tickCount[t]) { + var a = f(o); + ((a[t] = 1), + (this.shader.uniforms.majorAxis = a), + (this.shader.uniforms.offset = e), + (this.shader.uniforms.minorAxis = r), + (this.shader.uniforms.color = n), + (this.shader.uniforms.lineWidth = i)); + var s = f(l); + ((s[t] = 1), + (this.shader.uniforms.screenAxis = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + )); + } + }), + (d.drawGrid = function (t, e, r, n, i, a) { + if (this.gridCount[t]) { + var u = f(s); + ((u[e] = r[1][e] - r[0][e]), (this.shader.uniforms.minorAxis = u)); + var p = h(c, n); + ((p[e] += r[0][e]), (this.shader.uniforms.offset = p)); + var d = f(o); + ((d[t] = 1), (this.shader.uniforms.majorAxis = d)); + var g = f(l); + ((g[t] = 1), + (this.shader.uniforms.screenAxis = g), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw( + this.gl.TRIANGLES, + this.gridCount[t], + this.gridOffset[t], + )); + } + }), + (d.drawZero = function (t, e, r, n, i, a) { + var o = f(s); + ((this.shader.uniforms.majorAxis = o), + (o[t] = r[1][t] - r[0][t]), + (this.shader.uniforms.minorAxis = o)); + var u = h(c, n); + ((u[t] += r[0][t]), (this.shader.uniforms.offset = u)); + var p = f(l); + ((p[e] = 1), + (this.shader.uniforms.screenAxis = p), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw(this.gl.TRIANGLES, 6)); + }), + (d.dispose = function () { + (this.vao.dispose(), this.vertBuffer.dispose(), this.shader.dispose()); + })); + }, + { "./shaders": 206, "gl-buffer": 210, "gl-vao": 279 }, + ], + 206: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"), + i = t("gl-shader"), + a = n([ + "#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + r.line = function (t) { + return i(t, a, o, null, [{ name: "position", type: "vec3" }]); + }; + var s = n([ + "#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() { \n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n -sin(angle), cos(angle));\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n vec4 worldPosition = model * vec4(dataPosition, 1);\n \n //Compute clip position\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n //Apply text offset in clip coordinates\n clipPosition += vec4(viewOffset, 0, 0);\n\n //Done\n gl_Position = clipPosition;\n}", + ]), + l = n([ + "precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", + ]); + r.text = function (t) { + return i(t, s, l, null, [{ name: "position", type: "vec3" }]); + }; + var c = n([ + "#define GLSLIFY 1\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n if(dot(normal, enable) > 0.0) {\n vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n colorChannel = abs(normal);\n}", + ]), + u = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] + \n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}", + ]); + r.bg = function (t) { + return i(t, c, u, null, [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + ]); + }; + }, + { "gl-shader": 263, glslify: 295 }, + ], + 207: [ + function (t, e, r) { + (function (r) { + "use strict"; + e.exports = function (t, e, r, a, s, l) { + var u = n(t), + f = i(t, [{ buffer: u, size: 3 }]), + h = o(t); + h.attributes.position.location = 0; + var p = new c(t, h, u, f); + return (p.update(e, r, a, s, l), p); + }; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("vectorize-text"), + o = t("./shaders").text, + s = window || r.global || {}, + l = s.__TEXT_CACHE || {}; + s.__TEXT_CACHE = {}; + function c(t, e, r, n) { + ((this.gl = t), + (this.shader = e), + (this.buffer = r), + (this.vao = n), + (this.tickOffset = + this.tickCount = + this.labelOffset = + this.labelCount = + null)); + } + var u = c.prototype, + f = [0, 0]; + ((u.bind = function (t, e, r, n) { + (this.vao.bind(), this.shader.bind()); + var i = this.shader.uniforms; + ((i.model = t), + (i.view = e), + (i.projection = r), + (i.pixelScale = n), + (f[0] = this.gl.drawingBufferWidth), + (f[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.resolution = f)); + }), + (u.unbind = function () { + this.vao.unbind(); + }), + (u.update = function (t, e, r, n, i) { + this.gl; + var o = []; + function s(t, e, r, n) { + var i = l[r]; + i || (i = l[r] = {}); + var s = i[e]; + s || + (s = i[e] = + (function (t, e) { + try { + return a(t, e); + } catch (t) { + return ( + console.warn("error vectorizing text:", t), + { cells: [], positions: [] } + ); + } + })(e, { + triangles: !0, + font: r, + textAlign: "center", + textBaseline: "middle", + })); + for ( + var c = (n || 12) / 12, + u = s.positions, + f = s.cells, + h = 0, + p = f.length; + h < p; + ++h + ) + for (var d = f[h], g = 2; g >= 0; --g) { + var m = u[d[g]]; + o.push(c * m[0], -c * m[1], t); + } + } + for ( + var c = [0, 0, 0], u = [0, 0, 0], f = [0, 0, 0], h = [0, 0, 0], p = 0; + p < 3; + ++p + ) { + ((f[p] = (o.length / 3) | 0), + s(0.5 * (t[0][p] + t[1][p]), e[p], r), + (h[p] = ((o.length / 3) | 0) - f[p]), + (c[p] = (o.length / 3) | 0)); + for (var d = 0; d < n[p].length; ++d) + n[p][d].text && + s( + n[p][d].x, + n[p][d].text, + n[p][d].font || i, + n[p][d].fontSize || 12, + ); + u[p] = ((o.length / 3) | 0) - c[p]; + } + (this.buffer.update(o), + (this.tickOffset = c), + (this.tickCount = u), + (this.labelOffset = f), + (this.labelCount = h)); + })); + var h = [0, 0, 0]; + u.drawTicks = function (t, e, r, n, i) { + if (this.tickCount[t]) { + var a = h; + ((a[0] = a[1] = a[2] = 0), + (a[t] = 1), + (this.shader.uniforms.axis = a), + (this.shader.uniforms.color = i), + (this.shader.uniforms.angle = r), + (this.shader.uniforms.scale = e), + (this.shader.uniforms.offset = n), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t], + )); + } + }; + var p = [0, 0, 0]; + ((u.drawLabel = function (t, e, r, n, i) { + this.labelCount[t] && + ((this.shader.uniforms.axis = p), + (this.shader.uniforms.color = i), + (this.shader.uniforms.angle = r), + (this.shader.uniforms.scale = e), + (this.shader.uniforms.offset = n), + this.vao.draw( + this.gl.TRIANGLES, + this.labelCount[t], + this.labelOffset[t], + )); + }), + (u.dispose = function () { + (this.shader.dispose(), this.vao.dispose(), this.buffer.dispose()); + })); + }).call(this, t("_process")); + }, + { + "./shaders": 206, + _process: 366, + "gl-buffer": 210, + "gl-vao": 279, + "vectorize-text": 430, + }, + ], + 208: [ + function (t, e, r) { + "use strict"; + function n(t, e) { + var r = t + "", + n = r.indexOf("."), + i = 0; + n >= 0 && (i = r.length - n - 1); + var a = Math.pow(10, i), + o = Math.round(t * e * a), + s = o + ""; + if (s.indexOf("e") >= 0) return s; + var l = o / a, + c = o % a; + o < 0 + ? ((l = 0 | -Math.ceil(l)), (c = 0 | -c)) + : ((l = 0 | Math.floor(l)), (c |= 0)); + var u = "" + l; + if ((o < 0 && (u = "-" + u), i)) { + for (var f = "" + c; f.length < i; ) f = "0" + f; + return u + "." + f; + } + return u; + } + ((r.create = function (t, e) { + for (var r = [], i = 0; i < 3; ++i) { + for (var a = [], o = (t[0][i], t[1][i], 0); o * e[i] <= t[1][i]; ++o) + a.push({ x: o * e[i], text: n(e[i], o) }); + for (var o = -1; o * e[i] >= t[0][i]; --o) + a.push({ x: o * e[i], text: n(e[i], o) }); + r.push(a); + } + return r; + }), + (r.equal = function (t, e) { + for (var r = 0; r < 3; ++r) { + if (t[r].length !== e[r].length) return !1; + for (var n = 0; n < t[r].length; ++n) { + var i = t[r][n], + a = e[r][n]; + if ( + i.x !== a.x || + i.text !== a.text || + i.font !== a.font || + i.fontColor !== a.fontColor || + i.fontSize !== a.fontSize || + i.dx !== a.dx || + i.dy !== a.dy + ) + return !1; + } + } + return !0; + })); + }, + {}, + ], + 209: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, l, f) { + var h = e.model || c, + p = e.view || c, + v = e.projection || c, + y = t.bounds, + x = (f = f || a(h, p, v, y)).axis; + f.edges; + (o(u, p, h), o(u, v, u)); + for (var b = g, _ = 0; _ < 3; ++_) + ((b[_].lo = 1 / 0), (b[_].hi = -1 / 0), (b[_].pixelsPerDataUnit = 1 / 0)); + var w = n(s(u, u)); + s(u, u); + for (var k = 0; k < 3; ++k) { + var M = (k + 1) % 3, + A = (k + 2) % 3, + T = m; + t: for (var _ = 0; _ < 2; ++_) { + var S = []; + if (x[k] < 0 != !!_) { + T[k] = y[_][k]; + for (var C = 0; C < 2; ++C) { + T[M] = y[C ^ _][M]; + for (var E = 0; E < 2; ++E) + ((T[A] = y[E ^ C ^ _][A]), S.push(T.slice())); + } + for (var C = 0; C < w.length; ++C) { + if (0 === S.length) continue t; + S = i.positive(S, w[C]); + } + for (var C = 0; C < S.length; ++C) + for (var A = S[C], L = d(m, u, A, r, l), E = 0; E < 3; ++E) + ((b[E].lo = Math.min(b[E].lo, A[E])), + (b[E].hi = Math.max(b[E].hi, A[E])), + E !== k && + (b[E].pixelsPerDataUnit = Math.min( + b[E].pixelsPerDataUnit, + Math.abs(L[E]), + ))); + } + } + } + return b; + }; + var n = t("extract-frustum-planes"), + i = t("split-polygon"), + a = t("./lib/cube.js"), + o = t("gl-mat4/multiply"), + s = t("gl-mat4/transpose"), + l = t("gl-vec4/transformMat4"), + c = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]), + u = new Float32Array(16); + function f(t, e, r) { + ((this.lo = t), (this.hi = e), (this.pixelsPerDataUnit = r)); + } + var h = [0, 0, 0, 1], + p = [0, 0, 0, 1]; + function d(t, e, r, n, i) { + for (var a = 0; a < 3; ++a) { + for (var o = h, s = p, c = 0; c < 3; ++c) s[c] = o[c] = r[c]; + ((s[3] = o[3] = 1), + (s[a] += 1), + l(s, s, e), + s[3] < 0 && (t[a] = 1 / 0), + (o[a] -= 1), + l(o, o, e), + o[3] < 0 && (t[a] = 1 / 0)); + var u = (o[0] / o[3] - s[0] / s[3]) * n, + f = (o[1] / o[3] - s[1] / s[3]) * i; + t[a] = 0.25 * Math.sqrt(u * u + f * f); + } + return t; + } + var g = [ + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + ], + m = [0, 0, 0]; + }, + { + "./lib/cube.js": 204, + "extract-frustum-planes": 195, + "gl-mat4/multiply": 232, + "gl-mat4/transpose": 240, + "gl-vec4/transformMat4": 285, + "split-polygon": 405, + }, + ], + 210: [ + function (t, e, r) { + "use strict"; + var n = t("typedarray-pool"), + i = t("ndarray-ops"), + a = t("ndarray"), + o = [ + "uint8", + "uint8_clamped", + "uint16", + "uint32", + "int8", + "int16", + "int32", + "float32", + ]; + function s(t, e, r, n, i) { + ((this.gl = t), + (this.type = e), + (this.handle = r), + (this.length = n), + (this.usage = i)); + } + var l = s.prototype; + function c(t, e, r, n, i, a) { + var o = i.length * i.BYTES_PER_ELEMENT; + if (a < 0) return (t.bufferData(e, i, n), o); + if (o + a > r) + throw new Error("gl-buffer: If resizing buffer, must not specify offset"); + return (t.bufferSubData(e, a, i), r); + } + function u(t, e) { + for (var r = n.malloc(t.length, e), i = t.length, a = 0; a < i; ++a) + r[a] = t[a]; + return r; + } + ((l.bind = function () { + this.gl.bindBuffer(this.type, this.handle); + }), + (l.unbind = function () { + this.gl.bindBuffer(this.type, null); + }), + (l.dispose = function () { + this.gl.deleteBuffer(this.handle); + }), + (l.update = function (t, e) { + if ( + ("number" != typeof e && (e = -1), + this.bind(), + "object" == typeof t && void 0 !== t.shape) + ) { + var r = t.dtype; + if ( + (o.indexOf(r) < 0 && (r = "float32"), + this.type === this.gl.ELEMENT_ARRAY_BUFFER) + ) + r = + gl.getExtension("OES_element_index_uint") && "uint16" !== r + ? "uint32" + : "uint16"; + if ( + r === t.dtype && + (function (t, e) { + for (var r = 1, n = e.length - 1; n >= 0; --n) { + if (e[n] !== r) return !1; + r *= t[n]; + } + return !0; + })(t.shape, t.stride) + ) + 0 === t.offset && t.data.length === t.shape[0] + ? (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + t.data, + e, + )) + : (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + t.data.subarray(t.offset, t.shape[0]), + e, + )); + else { + var s = n.malloc(t.size, r), + l = a(s, t.shape); + (i.assign(l, t), + (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? s : s.subarray(0, t.size), + e, + )), + n.free(s)); + } + } else if (Array.isArray(t)) { + var f; + ((f = + this.type === this.gl.ELEMENT_ARRAY_BUFFER + ? u(t, "uint16") + : u(t, "float32")), + (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? f : f.subarray(0, t.length), + e, + )), + n.free(f)); + } else if ("object" == typeof t && "number" == typeof t.length) + this.length = c(this.gl, this.type, this.length, this.usage, t, e); + else { + if ("number" != typeof t && void 0 !== t) + throw new Error("gl-buffer: Invalid data type"); + if (e >= 0) + throw new Error( + "gl-buffer: Cannot specify offset when resizing buffer", + ); + ((t |= 0) <= 0 && (t = 1), + this.gl.bufferData(this.type, 0 | t, this.usage), + (this.length = t)); + } + }), + (e.exports = function (t, e, r, n) { + if ( + ((r = r || t.ARRAY_BUFFER), + (n = n || t.DYNAMIC_DRAW), + r !== t.ARRAY_BUFFER && r !== t.ELEMENT_ARRAY_BUFFER) + ) + throw new Error( + "gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER", + ); + if (n !== t.DYNAMIC_DRAW && n !== t.STATIC_DRAW && n !== t.STREAM_DRAW) + throw new Error( + "gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW", + ); + var i = new s(t, r, t.createBuffer(), 0, n); + return (i.update(e), i); + })); + }, + { ndarray: 335, "ndarray-ops": 329, "typedarray-pool": 423 }, + ], + 211: [ + function (t, e, r) { + e.exports = { + 0: "NONE", + 1: "ONE", + 2: "LINE_LOOP", + 3: "LINE_STRIP", + 4: "TRIANGLES", + 5: "TRIANGLE_STRIP", + 6: "TRIANGLE_FAN", + 256: "DEPTH_BUFFER_BIT", + 512: "NEVER", + 513: "LESS", + 514: "EQUAL", + 515: "LEQUAL", + 516: "GREATER", + 517: "NOTEQUAL", + 518: "GEQUAL", + 519: "ALWAYS", + 768: "SRC_COLOR", + 769: "ONE_MINUS_SRC_COLOR", + 770: "SRC_ALPHA", + 771: "ONE_MINUS_SRC_ALPHA", + 772: "DST_ALPHA", + 773: "ONE_MINUS_DST_ALPHA", + 774: "DST_COLOR", + 775: "ONE_MINUS_DST_COLOR", + 776: "SRC_ALPHA_SATURATE", + 1024: "STENCIL_BUFFER_BIT", + 1028: "FRONT", + 1029: "BACK", + 1032: "FRONT_AND_BACK", + 1280: "INVALID_ENUM", + 1281: "INVALID_VALUE", + 1282: "INVALID_OPERATION", + 1285: "OUT_OF_MEMORY", + 1286: "INVALID_FRAMEBUFFER_OPERATION", + 2304: "CW", + 2305: "CCW", + 2849: "LINE_WIDTH", + 2884: "CULL_FACE", + 2885: "CULL_FACE_MODE", + 2886: "FRONT_FACE", + 2928: "DEPTH_RANGE", + 2929: "DEPTH_TEST", + 2930: "DEPTH_WRITEMASK", + 2931: "DEPTH_CLEAR_VALUE", + 2932: "DEPTH_FUNC", + 2960: "STENCIL_TEST", + 2961: "STENCIL_CLEAR_VALUE", + 2962: "STENCIL_FUNC", + 2963: "STENCIL_VALUE_MASK", + 2964: "STENCIL_FAIL", + 2965: "STENCIL_PASS_DEPTH_FAIL", + 2966: "STENCIL_PASS_DEPTH_PASS", + 2967: "STENCIL_REF", + 2968: "STENCIL_WRITEMASK", + 2978: "VIEWPORT", + 3024: "DITHER", + 3042: "BLEND", + 3088: "SCISSOR_BOX", + 3089: "SCISSOR_TEST", + 3106: "COLOR_CLEAR_VALUE", + 3107: "COLOR_WRITEMASK", + 3317: "UNPACK_ALIGNMENT", + 3333: "PACK_ALIGNMENT", + 3379: "MAX_TEXTURE_SIZE", + 3386: "MAX_VIEWPORT_DIMS", + 3408: "SUBPIXEL_BITS", + 3410: "RED_BITS", + 3411: "GREEN_BITS", + 3412: "BLUE_BITS", + 3413: "ALPHA_BITS", + 3414: "DEPTH_BITS", + 3415: "STENCIL_BITS", + 3553: "TEXTURE_2D", + 4352: "DONT_CARE", + 4353: "FASTEST", + 4354: "NICEST", + 5120: "BYTE", + 5121: "UNSIGNED_BYTE", + 5122: "SHORT", + 5123: "UNSIGNED_SHORT", + 5124: "INT", + 5125: "UNSIGNED_INT", + 5126: "FLOAT", + 5386: "INVERT", + 5890: "TEXTURE", + 6401: "STENCIL_INDEX", + 6402: "DEPTH_COMPONENT", + 6406: "ALPHA", + 6407: "RGB", + 6408: "RGBA", + 6409: "LUMINANCE", + 6410: "LUMINANCE_ALPHA", + 7680: "KEEP", + 7681: "REPLACE", + 7682: "INCR", + 7683: "DECR", + 7936: "VENDOR", + 7937: "RENDERER", + 7938: "VERSION", + 9728: "NEAREST", + 9729: "LINEAR", + 9984: "NEAREST_MIPMAP_NEAREST", + 9985: "LINEAR_MIPMAP_NEAREST", + 9986: "NEAREST_MIPMAP_LINEAR", + 9987: "LINEAR_MIPMAP_LINEAR", + 10240: "TEXTURE_MAG_FILTER", + 10241: "TEXTURE_MIN_FILTER", + 10242: "TEXTURE_WRAP_S", + 10243: "TEXTURE_WRAP_T", + 10497: "REPEAT", + 10752: "POLYGON_OFFSET_UNITS", + 16384: "COLOR_BUFFER_BIT", + 32769: "CONSTANT_COLOR", + 32770: "ONE_MINUS_CONSTANT_COLOR", + 32771: "CONSTANT_ALPHA", + 32772: "ONE_MINUS_CONSTANT_ALPHA", + 32773: "BLEND_COLOR", + 32774: "FUNC_ADD", + 32777: "BLEND_EQUATION_RGB", + 32778: "FUNC_SUBTRACT", + 32779: "FUNC_REVERSE_SUBTRACT", + 32819: "UNSIGNED_SHORT_4_4_4_4", + 32820: "UNSIGNED_SHORT_5_5_5_1", + 32823: "POLYGON_OFFSET_FILL", + 32824: "POLYGON_OFFSET_FACTOR", + 32854: "RGBA4", + 32855: "RGB5_A1", + 32873: "TEXTURE_BINDING_2D", + 32926: "SAMPLE_ALPHA_TO_COVERAGE", + 32928: "SAMPLE_COVERAGE", + 32936: "SAMPLE_BUFFERS", + 32937: "SAMPLES", + 32938: "SAMPLE_COVERAGE_VALUE", + 32939: "SAMPLE_COVERAGE_INVERT", + 32968: "BLEND_DST_RGB", + 32969: "BLEND_SRC_RGB", + 32970: "BLEND_DST_ALPHA", + 32971: "BLEND_SRC_ALPHA", + 33071: "CLAMP_TO_EDGE", + 33170: "GENERATE_MIPMAP_HINT", + 33189: "DEPTH_COMPONENT16", + 33306: "DEPTH_STENCIL_ATTACHMENT", + 33635: "UNSIGNED_SHORT_5_6_5", + 33648: "MIRRORED_REPEAT", + 33901: "ALIASED_POINT_SIZE_RANGE", + 33902: "ALIASED_LINE_WIDTH_RANGE", + 33984: "TEXTURE0", + 33985: "TEXTURE1", + 33986: "TEXTURE2", + 33987: "TEXTURE3", + 33988: "TEXTURE4", + 33989: "TEXTURE5", + 33990: "TEXTURE6", + 33991: "TEXTURE7", + 33992: "TEXTURE8", + 33993: "TEXTURE9", + 33994: "TEXTURE10", + 33995: "TEXTURE11", + 33996: "TEXTURE12", + 33997: "TEXTURE13", + 33998: "TEXTURE14", + 33999: "TEXTURE15", + 34000: "TEXTURE16", + 34001: "TEXTURE17", + 34002: "TEXTURE18", + 34003: "TEXTURE19", + 34004: "TEXTURE20", + 34005: "TEXTURE21", + 34006: "TEXTURE22", + 34007: "TEXTURE23", + 34008: "TEXTURE24", + 34009: "TEXTURE25", + 34010: "TEXTURE26", + 34011: "TEXTURE27", + 34012: "TEXTURE28", + 34013: "TEXTURE29", + 34014: "TEXTURE30", + 34015: "TEXTURE31", + 34016: "ACTIVE_TEXTURE", + 34024: "MAX_RENDERBUFFER_SIZE", + 34041: "DEPTH_STENCIL", + 34055: "INCR_WRAP", + 34056: "DECR_WRAP", + 34067: "TEXTURE_CUBE_MAP", + 34068: "TEXTURE_BINDING_CUBE_MAP", + 34069: "TEXTURE_CUBE_MAP_POSITIVE_X", + 34070: "TEXTURE_CUBE_MAP_NEGATIVE_X", + 34071: "TEXTURE_CUBE_MAP_POSITIVE_Y", + 34072: "TEXTURE_CUBE_MAP_NEGATIVE_Y", + 34073: "TEXTURE_CUBE_MAP_POSITIVE_Z", + 34074: "TEXTURE_CUBE_MAP_NEGATIVE_Z", + 34076: "MAX_CUBE_MAP_TEXTURE_SIZE", + 34338: "VERTEX_ATTRIB_ARRAY_ENABLED", + 34339: "VERTEX_ATTRIB_ARRAY_SIZE", + 34340: "VERTEX_ATTRIB_ARRAY_STRIDE", + 34341: "VERTEX_ATTRIB_ARRAY_TYPE", + 34342: "CURRENT_VERTEX_ATTRIB", + 34373: "VERTEX_ATTRIB_ARRAY_POINTER", + 34466: "NUM_COMPRESSED_TEXTURE_FORMATS", + 34467: "COMPRESSED_TEXTURE_FORMATS", + 34660: "BUFFER_SIZE", + 34661: "BUFFER_USAGE", + 34816: "STENCIL_BACK_FUNC", + 34817: "STENCIL_BACK_FAIL", + 34818: "STENCIL_BACK_PASS_DEPTH_FAIL", + 34819: "STENCIL_BACK_PASS_DEPTH_PASS", + 34877: "BLEND_EQUATION_ALPHA", + 34921: "MAX_VERTEX_ATTRIBS", + 34922: "VERTEX_ATTRIB_ARRAY_NORMALIZED", + 34930: "MAX_TEXTURE_IMAGE_UNITS", + 34962: "ARRAY_BUFFER", + 34963: "ELEMENT_ARRAY_BUFFER", + 34964: "ARRAY_BUFFER_BINDING", + 34965: "ELEMENT_ARRAY_BUFFER_BINDING", + 34975: "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", + 35040: "STREAM_DRAW", + 35044: "STATIC_DRAW", + 35048: "DYNAMIC_DRAW", + 35632: "FRAGMENT_SHADER", + 35633: "VERTEX_SHADER", + 35660: "MAX_VERTEX_TEXTURE_IMAGE_UNITS", + 35661: "MAX_COMBINED_TEXTURE_IMAGE_UNITS", + 35663: "SHADER_TYPE", + 35664: "FLOAT_VEC2", + 35665: "FLOAT_VEC3", + 35666: "FLOAT_VEC4", + 35667: "INT_VEC2", + 35668: "INT_VEC3", + 35669: "INT_VEC4", + 35670: "BOOL", + 35671: "BOOL_VEC2", + 35672: "BOOL_VEC3", + 35673: "BOOL_VEC4", + 35674: "FLOAT_MAT2", + 35675: "FLOAT_MAT3", + 35676: "FLOAT_MAT4", + 35678: "SAMPLER_2D", + 35680: "SAMPLER_CUBE", + 35712: "DELETE_STATUS", + 35713: "COMPILE_STATUS", + 35714: "LINK_STATUS", + 35715: "VALIDATE_STATUS", + 35716: "INFO_LOG_LENGTH", + 35717: "ATTACHED_SHADERS", + 35718: "ACTIVE_UNIFORMS", + 35719: "ACTIVE_UNIFORM_MAX_LENGTH", + 35720: "SHADER_SOURCE_LENGTH", + 35721: "ACTIVE_ATTRIBUTES", + 35722: "ACTIVE_ATTRIBUTE_MAX_LENGTH", + 35724: "SHADING_LANGUAGE_VERSION", + 35725: "CURRENT_PROGRAM", + 36003: "STENCIL_BACK_REF", + 36004: "STENCIL_BACK_VALUE_MASK", + 36005: "STENCIL_BACK_WRITEMASK", + 36006: "FRAMEBUFFER_BINDING", + 36007: "RENDERBUFFER_BINDING", + 36048: "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", + 36049: "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", + 36050: "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", + 36051: "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", + 36053: "FRAMEBUFFER_COMPLETE", + 36054: "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", + 36055: "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", + 36057: "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", + 36061: "FRAMEBUFFER_UNSUPPORTED", + 36064: "COLOR_ATTACHMENT0", + 36096: "DEPTH_ATTACHMENT", + 36128: "STENCIL_ATTACHMENT", + 36160: "FRAMEBUFFER", + 36161: "RENDERBUFFER", + 36162: "RENDERBUFFER_WIDTH", + 36163: "RENDERBUFFER_HEIGHT", + 36164: "RENDERBUFFER_INTERNAL_FORMAT", + 36168: "STENCIL_INDEX8", + 36176: "RENDERBUFFER_RED_SIZE", + 36177: "RENDERBUFFER_GREEN_SIZE", + 36178: "RENDERBUFFER_BLUE_SIZE", + 36179: "RENDERBUFFER_ALPHA_SIZE", + 36180: "RENDERBUFFER_DEPTH_SIZE", + 36181: "RENDERBUFFER_STENCIL_SIZE", + 36194: "RGB565", + 36336: "LOW_FLOAT", + 36337: "MEDIUM_FLOAT", + 36338: "HIGH_FLOAT", + 36339: "LOW_INT", + 36340: "MEDIUM_INT", + 36341: "HIGH_INT", + 36346: "SHADER_COMPILER", + 36347: "MAX_VERTEX_UNIFORM_VECTORS", + 36348: "MAX_VARYING_VECTORS", + 36349: "MAX_FRAGMENT_UNIFORM_VECTORS", + 37440: "UNPACK_FLIP_Y_WEBGL", + 37441: "UNPACK_PREMULTIPLY_ALPHA_WEBGL", + 37442: "CONTEXT_LOST_WEBGL", + 37443: "UNPACK_COLORSPACE_CONVERSION_WEBGL", + 37444: "BROWSER_DEFAULT_WEBGL", + }; + }, + {}, + ], + 212: [ + function (t, e, r) { + var n = t("./1.0/numbers"); + e.exports = function (t) { + return n[t]; + }; + }, + { "./1.0/numbers": 211 }, + ], + 213: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e), + o = i(e, [ + { buffer: r, type: e.FLOAT, size: 3, offset: 0, stride: 40 }, + { buffer: r, type: e.FLOAT, size: 4, offset: 12, stride: 40 }, + { buffer: r, type: e.FLOAT, size: 3, offset: 28, stride: 40 }, + ]), + l = a(e); + ((l.attributes.position.location = 0), + (l.attributes.color.location = 1), + (l.attributes.offset.location = 2)); + var c = new s(e, r, o, l); + return (c.update(t), c); + }; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("./shaders/index"), + o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function s(t, e, r, n) { + ((this.gl = t), + (this.shader = n), + (this.buffer = e), + (this.vao = r), + (this.pixelRatio = 1), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.lineWidth = [1, 1, 1]), + (this.capSize = [10, 10, 10]), + (this.lineCount = [0, 0, 0]), + (this.lineOffset = [0, 0, 0]), + (this.opacity = 1)); + } + var l = s.prototype; + function c(t, e) { + for (var r = 0; r < 3; ++r) + ((t[0][r] = Math.min(t[0][r], e[r])), + (t[1][r] = Math.max(t[1][r], e[r]))); + } + ((l.isOpaque = function () { + return this.opacity >= 1; + }), + (l.isTransparent = function () { + return this.opacity < 1; + }), + (l.drawTransparent = l.draw = + function (t) { + var e = this.gl, + r = this.shader.uniforms; + this.shader.bind(); + var n = (r.view = t.view || o), + i = (r.projection = t.projection || o); + ((r.model = t.model || o), + (r.clipBounds = this.clipBounds), + (r.opacity = this.opacity)); + var a = n[12], + s = n[13], + l = n[14], + c = n[15], + u = + (this.pixelRatio * (i[3] * a + i[7] * s + i[11] * l + i[15] * c)) / + e.drawingBufferHeight; + this.vao.bind(); + for (var f = 0; f < 3; ++f) + (e.lineWidth(this.lineWidth[f]), + (r.capSize = this.capSize[f] * u), + this.lineCount[f] && + e.drawArrays(e.LINES, this.lineOffset[f], this.lineCount[f])); + this.vao.unbind(); + })); + var u = (function () { + for (var t = new Array(3), e = 0; e < 3; ++e) { + for (var r = [], n = 1; n <= 2; ++n) + for (var i = -1; i <= 1; i += 2) { + var a = [0, 0, 0]; + ((a[(n + e) % 3] = i), r.push(a)); + } + t[e] = r; + } + return t; + })(); + function f(t, e, r, n) { + for (var i = u[n], a = 0; a < i.length; ++a) { + var o = i[a]; + t.push(e[0], e[1], e[2], r[0], r[1], r[2], r[3], o[0], o[1], o[2]); + } + return i.length; + } + ((l.update = function (t) { + ("lineWidth" in (t = t || {}) && + ((this.lineWidth = t.lineWidth), + Array.isArray(this.lineWidth) || + (this.lineWidth = [this.lineWidth, this.lineWidth, this.lineWidth])), + "capSize" in t && + ((this.capSize = t.capSize), + Array.isArray(this.capSize) || + (this.capSize = [this.capSize, this.capSize, this.capSize])), + "opacity" in t && (this.opacity = t.opacity)); + var e = t.color || [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + r = t.position, + n = t.error; + if ((Array.isArray(e[0]) || (e = [e, e, e]), r && n)) { + var i = [], + a = r.length, + o = 0; + ((this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.lineCount = [0, 0, 0])); + for (var s = 0; s < 3; ++s) { + this.lineOffset[s] = o; + t: for (var l = 0; l < a; ++l) { + for (var u = r[l], h = 0; h < 3; ++h) + if (isNaN(u[h]) || !isFinite(u[h])) continue t; + var p = n[l], + d = e[s]; + if ( + (Array.isArray(d[0]) && (d = e[l]), + 3 === d.length && (d = [d[0], d[1], d[2], 1]), + !isNaN(p[0][s]) && !isNaN(p[1][s])) + ) { + var g; + if (p[0][s] < 0) + (((g = u.slice())[s] += p[0][s]), + i.push( + u[0], + u[1], + u[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + g[0], + g[1], + g[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + ), + c(this.bounds, g), + (o += 2 + f(i, g, d, s))); + if (p[1][s] > 0) + (((g = u.slice())[s] += p[1][s]), + i.push( + u[0], + u[1], + u[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + g[0], + g[1], + g[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + ), + c(this.bounds, g), + (o += 2 + f(i, g, d, s))); + } + } + this.lineCount[s] = o - this.lineOffset[s]; + } + this.buffer.update(i); + } + }), + (l.dispose = function () { + (this.shader.dispose(), this.buffer.dispose(), this.vao.dispose()); + })); + }, + { "./shaders/index": 214, "gl-buffer": 210, "gl-vao": 279 }, + ], + 214: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"), + i = t("gl-shader"), + a = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = opacity * fragColor;\n}", + ]); + e.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "offset", type: "vec3" }, + ]); + }; + }, + { "gl-shader": 263, glslify: 295 }, + ], + 215: [ + function (t, e, r) { + "use strict"; + var n = t("gl-texture2d"); + e.exports = function (t, e, r, n) { + i || + ((i = t.FRAMEBUFFER_UNSUPPORTED), + (a = t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT), + (o = t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS), + (s = t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)); + var c = t.getExtension("WEBGL_draw_buffers"); + !l && + c && + (function (t, e) { + var r = t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL); + l = new Array(r + 1); + for (var n = 0; n <= r; ++n) { + for (var i = new Array(r), a = 0; a < n; ++a) + i[a] = t.COLOR_ATTACHMENT0 + a; + for (var a = n; a < r; ++a) i[a] = t.NONE; + l[n] = i; + } + })(t, c); + Array.isArray(e) && ((n = r), (r = 0 | e[1]), (e = 0 | e[0])); + if ("number" != typeof e) + throw new Error("gl-fbo: Missing shape parameter"); + var u = t.getParameter(t.MAX_RENDERBUFFER_SIZE); + if (e < 0 || e > u || r < 0 || r > u) + throw new Error("gl-fbo: Parameters are too large for FBO"); + var f = 1; + if ("color" in (n = n || {})) { + if ((f = Math.max(0 | n.color, 0)) < 0) + throw new Error("gl-fbo: Must specify a nonnegative number of colors"); + if (f > 1) { + if (!c) + throw new Error( + "gl-fbo: Multiple draw buffer extension not supported", + ); + if (f > t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL)) + throw new Error( + "gl-fbo: Context does not support " + f + " draw buffers", + ); + } + } + var h = t.UNSIGNED_BYTE, + p = t.getExtension("OES_texture_float"); + if (n.float && f > 0) { + if (!p) + throw new Error( + "gl-fbo: Context does not support floating point textures", + ); + h = t.FLOAT; + } else n.preferFloat && f > 0 && p && (h = t.FLOAT); + var g = !0; + "depth" in n && (g = !!n.depth); + var m = !1; + "stencil" in n && (m = !!n.stencil); + return new d(t, e, r, h, f, g, m, c); + }; + var i, + a, + o, + s, + l = null; + function c(t) { + return [ + t.getParameter(t.FRAMEBUFFER_BINDING), + t.getParameter(t.RENDERBUFFER_BINDING), + t.getParameter(t.TEXTURE_BINDING_2D), + ]; + } + function u(t, e) { + (t.bindFramebuffer(t.FRAMEBUFFER, e[0]), + t.bindRenderbuffer(t.RENDERBUFFER, e[1]), + t.bindTexture(t.TEXTURE_2D, e[2])); + } + function f(t) { + switch (t) { + case i: + throw new Error("gl-fbo: Framebuffer unsupported"); + case a: + throw new Error("gl-fbo: Framebuffer incomplete attachment"); + case o: + throw new Error("gl-fbo: Framebuffer incomplete dimensions"); + case s: + throw new Error("gl-fbo: Framebuffer incomplete missing attachment"); + default: + throw new Error("gl-fbo: Framebuffer failed for unspecified reason"); + } + } + function h(t, e, r, i, a, o) { + if (!i) return null; + var s = n(t, e, r, a, i); + return ( + (s.magFilter = t.NEAREST), + (s.minFilter = t.NEAREST), + (s.mipSamples = 1), + s.bind(), + t.framebufferTexture2D(t.FRAMEBUFFER, o, t.TEXTURE_2D, s.handle, 0), + s + ); + } + function p(t, e, r, n, i) { + var a = t.createRenderbuffer(); + return ( + t.bindRenderbuffer(t.RENDERBUFFER, a), + t.renderbufferStorage(t.RENDERBUFFER, n, e, r), + t.framebufferRenderbuffer(t.FRAMEBUFFER, i, t.RENDERBUFFER, a), + a + ); + } + function d(t, e, r, n, i, a, o, s) { + ((this.gl = t), + (this._shape = [0 | e, 0 | r]), + (this._destroyed = !1), + (this._ext = s), + (this.color = new Array(i))); + for (var d = 0; d < i; ++d) this.color[d] = null; + ((this._color_rb = null), + (this.depth = null), + (this._depth_rb = null), + (this._colorType = n), + (this._useDepth = a), + (this._useStencil = o)); + var g = this, + m = [0 | e, 0 | r]; + (Object.defineProperties(m, { + 0: { + get: function () { + return g._shape[0]; + }, + set: function (t) { + return (g.width = t); + }, + }, + 1: { + get: function () { + return g._shape[1]; + }, + set: function (t) { + return (g.height = t); + }, + }, + }), + (this._shapeVector = m), + (function (t) { + var e = c(t.gl), + r = t.gl, + n = (t.handle = r.createFramebuffer()), + i = t._shape[0], + a = t._shape[1], + o = t.color.length, + s = t._ext, + d = t._useStencil, + g = t._useDepth, + m = t._colorType; + r.bindFramebuffer(r.FRAMEBUFFER, n); + for (var v = 0; v < o; ++v) + t.color[v] = h(r, i, a, m, r.RGBA, r.COLOR_ATTACHMENT0 + v); + 0 === o + ? ((t._color_rb = p(r, i, a, r.RGBA4, r.COLOR_ATTACHMENT0)), + s && s.drawBuffersWEBGL(l[0])) + : o > 1 && s.drawBuffersWEBGL(l[o]); + var y = r.getExtension("WEBGL_depth_texture"); + y + ? d + ? (t.depth = h( + r, + i, + a, + y.UNSIGNED_INT_24_8_WEBGL, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : g && + (t.depth = h( + r, + i, + a, + r.UNSIGNED_SHORT, + r.DEPTH_COMPONENT, + r.DEPTH_ATTACHMENT, + )) + : g && d + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT, + )) + : g + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_COMPONENT16, + r.DEPTH_ATTACHMENT, + )) + : d && + (t._depth_rb = p( + r, + i, + a, + r.STENCIL_INDEX, + r.STENCIL_ATTACHMENT, + )); + var x = r.checkFramebufferStatus(r.FRAMEBUFFER); + if (x !== r.FRAMEBUFFER_COMPLETE) { + for ( + t._destroyed = !0, + r.bindFramebuffer(r.FRAMEBUFFER, null), + r.deleteFramebuffer(t.handle), + t.handle = null, + t.depth && (t.depth.dispose(), (t.depth = null)), + t._depth_rb && + (r.deleteRenderbuffer(t._depth_rb), (t._depth_rb = null)), + v = 0; + v < t.color.length; + ++v + ) + (t.color[v].dispose(), (t.color[v] = null)); + (t._color_rb && + (r.deleteRenderbuffer(t._color_rb), (t._color_rb = null)), + u(r, e), + f(x)); + } + u(r, e); + })(this)); + } + var g = d.prototype; + function m(t, e, r) { + if (t._destroyed) throw new Error("gl-fbo: Can't resize destroyed FBO"); + if (t._shape[0] !== e || t._shape[1] !== r) { + var n = t.gl, + i = n.getParameter(n.MAX_RENDERBUFFER_SIZE); + if (e < 0 || e > i || r < 0 || r > i) + throw new Error("gl-fbo: Can't resize FBO, invalid dimensions"); + ((t._shape[0] = e), (t._shape[1] = r)); + for (var a = c(n), o = 0; o < t.color.length; ++o) + t.color[o].shape = t._shape; + (t._color_rb && + (n.bindRenderbuffer(n.RENDERBUFFER, t._color_rb), + n.renderbufferStorage( + n.RENDERBUFFER, + n.RGBA4, + t._shape[0], + t._shape[1], + )), + t.depth && (t.depth.shape = t._shape), + t._depth_rb && + (n.bindRenderbuffer(n.RENDERBUFFER, t._depth_rb), + t._useDepth && t._useStencil + ? n.renderbufferStorage( + n.RENDERBUFFER, + n.DEPTH_STENCIL, + t._shape[0], + t._shape[1], + ) + : t._useDepth + ? n.renderbufferStorage( + n.RENDERBUFFER, + n.DEPTH_COMPONENT16, + t._shape[0], + t._shape[1], + ) + : t._useStencil && + n.renderbufferStorage( + n.RENDERBUFFER, + n.STENCIL_INDEX, + t._shape[0], + t._shape[1], + )), + n.bindFramebuffer(n.FRAMEBUFFER, t.handle)); + var s = n.checkFramebufferStatus(n.FRAMEBUFFER); + (s !== n.FRAMEBUFFER_COMPLETE && (t.dispose(), u(n, a), f(s)), u(n, a)); + } + } + (Object.defineProperties(g, { + shape: { + get: function () { + return this._destroyed ? [0, 0] : this._shapeVector; + }, + set: function (t) { + if ((Array.isArray(t) || (t = [0 | t, 0 | t]), 2 !== t.length)) + throw new Error("gl-fbo: Shape vector must be length 2"); + var e = 0 | t[0], + r = 0 | t[1]; + return (m(this, e, r), [e, r]); + }, + enumerable: !1, + }, + width: { + get: function () { + return this._destroyed ? 0 : this._shape[0]; + }, + set: function (t) { + return (m(this, (t |= 0), this._shape[1]), t); + }, + enumerable: !1, + }, + height: { + get: function () { + return this._destroyed ? 0 : this._shape[1]; + }, + set: function (t) { + return ((t |= 0), m(this, this._shape[0], t), t); + }, + enumerable: !1, + }, + }), + (g.bind = function () { + if (!this._destroyed) { + var t = this.gl; + (t.bindFramebuffer(t.FRAMEBUFFER, this.handle), + t.viewport(0, 0, this._shape[0], this._shape[1])); + } + }), + (g.dispose = function () { + if (!this._destroyed) { + this._destroyed = !0; + var t = this.gl; + (t.deleteFramebuffer(this.handle), + (this.handle = null), + this.depth && (this.depth.dispose(), (this.depth = null)), + this._depth_rb && + (t.deleteRenderbuffer(this._depth_rb), (this._depth_rb = null))); + for (var e = 0; e < this.color.length; ++e) + (this.color[e].dispose(), (this.color[e] = null)); + this._color_rb && + (t.deleteRenderbuffer(this._color_rb), (this._color_rb = null)); + } + })); + }, + { "gl-texture2d": 275 }, + ], + 216: [ + function (t, e, r) { + var n = t("sprintf-js").sprintf, + i = t("gl-constants/lookup"), + a = t("glsl-shader-name"), + o = t("add-line-numbers"); + e.exports = function (t, e, r) { + "use strict"; + var s = a(e) || "of unknown name (see npm glsl-shader-name)", + l = "unknown type"; + void 0 !== r && (l = r === i.FRAGMENT_SHADER ? "fragment" : "vertex"); + for ( + var c = n("Error compiling %s shader %s:\n", l, s), + u = n("%s%s", c, t), + f = t.split("\n"), + h = {}, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + if ("" !== d && "\0" !== d) { + var g = parseInt(d.split(":")[2]); + if (isNaN(g)) throw new Error(n("Could not parse error: %s", d)); + h[g] = d; + } + } + for (var m = o(e).split("\n"), p = 0; p < m.length; p++) + if (h[p + 3] || h[p + 2] || h[p + 1]) { + var v = m[p]; + if (((c += v + "\n"), h[p + 1])) { + var y = h[p + 1]; + ((y = y.substr(y.split(":", 3).join(":").length + 1).trim()), + (c += n("^^^ %s\n\n", y))); + } + } + return { long: c.trim(), short: u.trim() }; + }; + }, + { + "add-line-numbers": 45, + "gl-constants/lookup": 212, + "glsl-shader-name": 287, + "sprintf-js": 406, + }, + ], + 217: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = t.gl, + n = o(r, l.vertex, l.fragment), + i = o(r, l.pickVertex, l.pickFragment), + a = s(r), + u = s(r), + f = s(r), + h = s(r), + p = new c(t, n, i, a, u, f, h); + return (p.update(e), t.addObject(p), p); + }; + var n = t("binary-search-bounds"), + i = t("iota-array"), + a = t("typedarray-pool"), + o = t("gl-shader"), + s = t("gl-buffer"), + l = t("./lib/shaders"); + function c(t, e, r, n, i, a, o) { + ((this.plot = t), + (this.shader = e), + (this.pickShader = r), + (this.positionBuffer = n), + (this.weightBuffer = i), + (this.colorBuffer = a), + (this.idBuffer = o), + (this.xData = []), + (this.yData = []), + (this.shape = [0, 0]), + (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.pickOffset = 0)); + } + var u, + f = c.prototype, + h = [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1]; + ((f.draw = + ((u = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + function () { + var t = this.plot, + e = this.shader, + r = this.bounds, + n = this.numVertices; + if (!(n <= 0)) { + var i = t.gl, + a = t.dataBox, + o = r[2] - r[0], + s = r[3] - r[1], + l = a[2] - a[0], + c = a[3] - a[1]; + ((u[0] = (2 * o) / l), + (u[4] = (2 * s) / c), + (u[6] = (2 * (r[0] - a[0])) / l - 1), + (u[7] = (2 * (r[1] - a[1])) / c - 1), + e.bind()); + var f = e.uniforms; + ((f.viewTransform = u), (f.shape = this.shape)); + var h = e.attributes; + (this.positionBuffer.bind(), + h.position.pointer(), + this.weightBuffer.bind(), + h.weight.pointer(i.UNSIGNED_BYTE, !1), + this.colorBuffer.bind(), + h.color.pointer(i.UNSIGNED_BYTE, !0), + i.drawArrays(i.TRIANGLES, 0, n)); + } + })), + (f.drawPick = (function () { + var t = [1, 0, 0, 0, 1, 0, 0, 0, 1], + e = [0, 0, 0, 0]; + return function (r) { + var n = this.plot, + i = this.pickShader, + a = this.bounds, + o = this.numVertices; + if (!(o <= 0)) { + var s = n.gl, + l = n.dataBox, + c = a[2] - a[0], + u = a[3] - a[1], + f = l[2] - l[0], + h = l[3] - l[1]; + ((t[0] = (2 * c) / f), + (t[4] = (2 * u) / h), + (t[6] = (2 * (a[0] - l[0])) / f - 1), + (t[7] = (2 * (a[1] - l[1])) / h - 1)); + for (var p = 0; p < 4; ++p) e[p] = (r >> (8 * p)) & 255; + ((this.pickOffset = r), i.bind()); + var d = i.uniforms; + ((d.viewTransform = t), (d.pickOffset = e), (d.shape = this.shape)); + var g = i.attributes; + return ( + this.positionBuffer.bind(), + g.position.pointer(), + this.weightBuffer.bind(), + g.weight.pointer(s.UNSIGNED_BYTE, !1), + this.idBuffer.bind(), + g.pickId.pointer(s.UNSIGNED_BYTE, !1), + s.drawArrays(s.TRIANGLES, 0, o), + r + this.shape[0] * this.shape[1] + ); + } + }; + })()), + (f.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.shape[0] * this.shape[1]; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.xData, + s = this.yData; + return { + object: this, + pointId: a, + dataCoord: [o[a % this.shape[0]], s[(a / this.shape[0]) | 0]], + }; + }), + (f.update = function (t) { + var e = (t = t || {}).shape || [0, 0], + r = t.x || i(e[0]), + o = t.y || i(e[1]), + s = t.z || new Float32Array(e[0] * e[1]); + ((this.xData = r), (this.yData = o)); + var l = t.colorLevels || [0], + c = t.colorValues || [0, 0, 0, 1], + u = l.length, + f = this.bounds, + p = (f[0] = r[0]), + d = (f[1] = o[0]), + g = 1 / ((f[2] = r[r.length - 1]) - p), + m = 1 / ((f[3] = o[o.length - 1]) - d), + v = e[0], + y = e[1]; + this.shape = [v, y]; + var x = (v - 1) * (y - 1) * (h.length >>> 1); + this.numVertices = x; + for ( + var b = a.mallocUint8(4 * x), + _ = a.mallocFloat32(2 * x), + w = a.mallocUint8(2 * x), + k = a.mallocUint32(x), + M = 0, + A = 0; + A < y - 1; + ++A + ) + for ( + var T = m * (o[A] - d), S = m * (o[A + 1] - d), C = 0; + C < v - 1; + ++C + ) + for ( + var E = g * (r[C] - p), L = g * (r[C + 1] - p), z = 0; + z < h.length; + z += 2 + ) { + var P, + D, + O, + I, + R = h[z], + B = h[z + 1], + F = s[(A + B) * v + (C + R)], + N = n.le(l, F); + if (N < 0) ((P = c[0]), (D = c[1]), (O = c[2]), (I = c[3])); + else if (N === u - 1) + ((P = c[4 * u - 4]), + (D = c[4 * u - 3]), + (O = c[4 * u - 2]), + (I = c[4 * u - 1])); + else { + var j = (F - l[N]) / (l[N + 1] - l[N]), + V = 1 - j, + U = 4 * N, + q = 4 * (N + 1); + ((P = V * c[U] + j * c[q]), + (D = V * c[U + 1] + j * c[q + 1]), + (O = V * c[U + 2] + j * c[q + 2]), + (I = V * c[U + 3] + j * c[q + 3])); + } + ((b[4 * M] = 255 * P), + (b[4 * M + 1] = 255 * D), + (b[4 * M + 2] = 255 * O), + (b[4 * M + 3] = 255 * I), + (_[2 * M] = 0.5 * E + 0.5 * L), + (_[2 * M + 1] = 0.5 * T + 0.5 * S), + (w[2 * M] = R), + (w[2 * M + 1] = B), + (k[M] = A * v + C), + (M += 1)); + } + (this.positionBuffer.update(_), + this.weightBuffer.update(w), + this.colorBuffer.update(b), + this.idBuffer.update(k), + a.free(_), + a.free(b), + a.free(w), + a.free(k)); + }), + (f.dispose = function () { + (this.shader.dispose(), + this.pickShader.dispose(), + this.positionBuffer.dispose(), + this.weightBuffer.dispose(), + this.colorBuffer.dispose(), + this.idBuffer.dispose(), + this.plot.removeObject(this)); + })); + }, + { + "./lib/shaders": 218, + "binary-search-bounds": 219, + "gl-buffer": 210, + "gl-shader": 263, + "iota-array": 302, + "typedarray-pool": 423, + }, + ], + 218: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"); + e.exports = { + fragment: n([ + "precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n", + ]), + vertex: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n", + ]), + pickFragment: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n", + ]), + pickVertex: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n", + ]), + }; + }, + { glslify: 295 }, + ], + 219: [ + function (t, e, r) { + arguments[4][91][0].apply(r, arguments); + }, + { dup: 91 }, + ], + 220: [ + function (t, e, r) { + var n = t("glslify"), + i = t("gl-shader"), + a = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvoid main() {\n vec4 projected = projection * view * model * vec4(position, 1.0);\n vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n vec2 tangent = normalize(screenShape * tangentClip.xy);\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n", + ]), + s = n([ + "precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n highp float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}", + ]), + l = [ + { name: "position", type: "vec3" }, + { name: "nextPosition", type: "vec3" }, + { name: "arcLength", type: "float" }, + { name: "lineWidth", type: "float" }, + { name: "color", type: "vec4" }, + ]; + ((r.createShader = function (t) { + return i(t, a, o, null, l); + }), + (r.createPickShader = function (t) { + return i(t, a, s, null, l); + })); + }, + { "gl-shader": 263, glslify: 295 }, + ], + 221: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl || (t.scene && t.scene.gl), + r = u(e); + ((r.attributes.position.location = 0), + (r.attributes.nextPosition.location = 1), + (r.attributes.arcLength.location = 2), + (r.attributes.lineWidth.location = 3), + (r.attributes.color.location = 4)); + var o = f(e); + ((o.attributes.position.location = 0), + (o.attributes.nextPosition.location = 1), + (o.attributes.arcLength.location = 2), + (o.attributes.lineWidth.location = 3), + (o.attributes.color.location = 4)); + for ( + var s = n(e), + c = i(e, [ + { buffer: s, size: 3, offset: 0, stride: 48 }, + { buffer: s, size: 3, offset: 12, stride: 48 }, + { buffer: s, size: 1, offset: 24, stride: 48 }, + { buffer: s, size: 1, offset: 28, stride: 48 }, + { buffer: s, size: 4, offset: 32, stride: 48 }, + ]), + h = l(new Array(1024), [256, 1, 4]), + p = 0; + p < 1024; + ++p + ) + h.data[p] = 255; + var d = a(e, h); + d.wrap = e.REPEAT; + var g = new m(e, r, o, s, c, d); + return (g.update(t), g); + }; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("gl-texture2d"), + o = t("glsl-read-float"), + s = t("binary-search-bounds"), + l = t("ndarray"), + c = t("./lib/shaders"), + u = c.createShader, + f = c.createPickShader, + h = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function p(t, e) { + for (var r = 0, n = 0; n < 3; ++n) { + var i = t[n] - e[n]; + r += i * i; + } + return Math.sqrt(r); + } + function d(t) { + for ( + var e = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + r = 0; + r < 3; + ++r + ) + ((e[0][r] = Math.max(t[0][r], e[0][r])), + (e[1][r] = Math.min(t[1][r], e[1][r]))); + return e; + } + function g(t, e, r, n) { + ((this.arcLength = t), + (this.position = e), + (this.index = r), + (this.dataCoordinate = n)); + } + function m(t, e, r, n, i, a) { + ((this.gl = t), + (this.shader = e), + (this.pickShader = r), + (this.buffer = n), + (this.vao = i), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.points = []), + (this.arcLength = []), + (this.vertexCount = 0), + (this.bounds = [ + [0, 0, 0], + [0, 0, 0], + ]), + (this.pickId = 0), + (this.lineWidth = 1), + (this.texture = a), + (this.dashScale = 1), + (this.opacity = 1), + (this.dirty = !0), + (this.pixelRatio = 1)); + } + var v = m.prototype; + ((v.isTransparent = function () { + return this.opacity < 1; + }), + (v.isOpaque = function () { + return this.opacity >= 1; + }), + (v.pickSlots = 1), + (v.setPickBase = function (t) { + this.pickId = t; + }), + (v.drawTransparent = v.draw = + function (t) { + var e = this.gl, + r = this.shader, + n = this.vao; + (r.bind(), + (r.uniforms = { + model: t.model || h, + view: t.view || h, + projection: t.projection || h, + clipBounds: d(this.clipBounds), + dashTexture: this.texture.bind(), + dashScale: + this.dashScale / this.arcLength[this.arcLength.length - 1], + opacity: this.opacity, + screenShape: [e.drawingBufferWidth, e.drawingBufferHeight], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw(e.TRIANGLE_STRIP, this.vertexCount), + n.unbind()); + }), + (v.drawPick = function (t) { + var e = this.gl, + r = this.pickShader, + n = this.vao; + (r.bind(), + (r.uniforms = { + model: t.model || h, + view: t.view || h, + projection: t.projection || h, + pickId: this.pickId, + clipBounds: d(this.clipBounds), + screenShape: [e.drawingBufferWidth, e.drawingBufferHeight], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw(e.TRIANGLE_STRIP, this.vertexCount), + n.unbind()); + }), + (v.update = function (t) { + var e, r; + this.dirty = !0; + var n = !!t.connectGaps; + ("dashScale" in t && (this.dashScale = t.dashScale), + "opacity" in t && (this.opacity = +t.opacity)); + var i = t.position || t.positions; + if (i) { + var a = t.color || t.colors || [0, 0, 0, 1], + o = t.lineWidth || 1, + c = [], + u = [], + f = [], + h = 0, + d = 0, + g = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + m = !1; + t: for (e = 1; e < i.length; ++e) { + var v, + y, + x, + b = i[e - 1], + _ = i[e]; + for (u.push(h), f.push(b.slice()), r = 0; r < 3; ++r) { + if ( + isNaN(b[r]) || + isNaN(_[r]) || + !isFinite(b[r]) || + !isFinite(_[r]) + ) { + if (!n && c.length > 0) { + for (var w = 0; w < 24; ++w) c.push(c[c.length - 12]); + ((d += 2), (m = !0)); + } + continue t; + } + ((g[0][r] = Math.min(g[0][r], b[r], _[r])), + (g[1][r] = Math.max(g[1][r], b[r], _[r]))); + } + (Array.isArray(a[0]) ? ((v = a[e - 1]), (y = a[e])) : (v = y = a), + 3 === v.length && (v = [v[0], v[1], v[2], 1]), + 3 === y.length && (y = [y[0], y[1], y[2], 1]), + (x = Array.isArray(o) ? o[e - 1] : o)); + var k = h; + if (((h += p(b, _)), m)) { + for (r = 0; r < 2; ++r) + c.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + k, + x, + v[0], + v[1], + v[2], + v[3], + ); + ((d += 2), (m = !1)); + } + (c.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + k, + x, + v[0], + v[1], + v[2], + v[3], + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + k, + -x, + v[0], + v[1], + v[2], + v[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + h, + -x, + y[0], + y[1], + y[2], + y[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + h, + x, + y[0], + y[1], + y[2], + y[3], + ), + (d += 4)); + } + if ( + (this.buffer.update(c), + u.push(h), + f.push(i[i.length - 1].slice()), + (this.bounds = g), + (this.vertexCount = d), + (this.points = f), + (this.arcLength = u), + "dashes" in t) + ) { + var M = t.dashes.slice(); + for (M.unshift(0), e = 1; e < M.length; ++e) M[e] = M[e - 1] + M[e]; + var A = l(new Array(1024), [256, 1, 4]); + for (e = 0; e < 256; ++e) { + for (r = 0; r < 4; ++r) A.set(e, 0, r, 0); + 1 & s.le(M, (M[M.length - 1] * e) / 255) + ? A.set(e, 0, 0, 0) + : A.set(e, 0, 0, 255); + } + this.texture.setPixels(A); + } + } + }), + (v.dispose = function () { + (this.shader.dispose(), this.vao.dispose(), this.buffer.dispose()); + }), + (v.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = o(t.value[0], t.value[1], t.value[2], 0), + r = s.le(this.arcLength, e); + if (r < 0) return null; + if (r === this.arcLength.length - 1) + return new g( + this.arcLength[this.arcLength.length - 1], + this.points[this.points.length - 1].slice(), + r, + ); + for ( + var n = this.points[r], + i = this.points[Math.min(r + 1, this.points.length - 1)], + a = + (e - this.arcLength[r]) / + (this.arcLength[r + 1] - this.arcLength[r]), + l = 1 - a, + c = [0, 0, 0], + u = 0; + u < 3; + ++u + ) + c[u] = l * n[u] + a * i[u]; + var f = Math.min(a < 0.5 ? r : r + 1, this.points.length - 1); + return new g(e, c, f, this.points[f]); + })); + }, + { + "./lib/shaders": 220, + "binary-search-bounds": 72, + "gl-buffer": 210, + "gl-texture2d": 275, + "gl-vao": 279, + "glsl-read-float": 286, + ndarray: 335, + }, + ], + 222: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r * a - i * n; + return o + ? ((o = 1 / o), + (t[0] = a * o), + (t[1] = -n * o), + (t[2] = -i * o), + (t[3] = r * o), + t) + : null; + }; + }, + {}, + ], + 223: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = u * o - s * c, + h = -u * a + s * l, + p = c * a - o * l, + d = r * f + n * h + i * p; + return d + ? ((d = 1 / d), + (t[0] = f * d), + (t[1] = (-u * n + i * c) * d), + (t[2] = (s * n - i * o) * d), + (t[3] = h * d), + (t[4] = (u * r - i * l) * d), + (t[5] = (-s * r + i * a) * d), + (t[6] = p * d), + (t[7] = (-c * r + n * l) * d), + (t[8] = (o * r - n * a) * d), + t) + : null; + }; + }, + {}, + ], + 224: [ + function (t, e, r) { + e.exports = function (t) { + var e = new Float32Array(16); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + (e[4] = t[4]), + (e[5] = t[5]), + (e[6] = t[6]), + (e[7] = t[7]), + (e[8] = t[8]), + (e[9] = t[9]), + (e[10] = t[10]), + (e[11] = t[11]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15]), + e + ); + }; + }, + {}, + ], + 225: [ + function (t, e, r) { + e.exports = function () { + var t = new Float32Array(16); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 226: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3], + a = t[4], + o = t[5], + s = t[6], + l = t[7], + c = t[8], + u = t[9], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + g = t[14], + m = t[15]; + return ( + (e * o - r * a) * (f * m - h * g) - + (e * s - n * a) * (u * m - h * d) + + (e * l - i * a) * (u * g - f * d) + + (r * s - n * o) * (c * m - h * p) - + (r * l - i * o) * (c * g - f * p) + + (n * l - i * s) * (c * d - u * p) + ); + }; + }, + {}, + ], + 227: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r + r, + s = n + n, + l = i + i, + c = r * o, + u = n * o, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + g = a * o, + m = a * s, + v = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = u + v), + (t[2] = h - m), + (t[3] = 0), + (t[4] = u - v), + (t[5] = 1 - c - d), + (t[6] = p + g), + (t[7] = 0), + (t[8] = h + m), + (t[9] = p - g), + (t[10] = 1 - c - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 228: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = n + n, + l = i + i, + c = a + a, + u = n * s, + f = n * l, + h = n * c, + p = i * l, + d = i * c, + g = a * c, + m = o * s, + v = o * l, + y = o * c; + return ( + (t[0] = 1 - (p + g)), + (t[1] = f + y), + (t[2] = h - v), + (t[3] = 0), + (t[4] = f - y), + (t[5] = 1 - (u + g)), + (t[6] = d + m), + (t[7] = 0), + (t[8] = h + v), + (t[9] = d - m), + (t[10] = 1 - (u + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 229: [ + function (t, e, r) { + e.exports = function (t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 230: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + g = e[13], + m = e[14], + v = e[15], + y = r * s - n * o, + x = r * l - i * o, + b = r * c - a * o, + _ = n * l - i * s, + w = n * c - a * s, + k = i * c - a * l, + M = u * g - f * d, + A = u * m - h * d, + T = u * v - p * d, + S = f * m - h * g, + C = f * v - p * g, + E = h * v - p * m, + L = y * E - x * C + b * S + _ * T - w * A + k * M; + if (!L) return null; + return ( + (L = 1 / L), + (t[0] = (s * E - l * C + c * S) * L), + (t[1] = (i * C - n * E - a * S) * L), + (t[2] = (g * k - m * w + v * _) * L), + (t[3] = (h * w - f * k - p * _) * L), + (t[4] = (l * T - o * E - c * A) * L), + (t[5] = (r * E - i * T + a * A) * L), + (t[6] = (m * b - d * k - v * x) * L), + (t[7] = (u * k - h * b + p * x) * L), + (t[8] = (o * C - s * T + c * M) * L), + (t[9] = (n * T - r * C - a * M) * L), + (t[10] = (d * w - g * b + v * y) * L), + (t[11] = (f * b - u * w - p * y) * L), + (t[12] = (s * A - o * S - l * M) * L), + (t[13] = (r * S - n * A + i * M) * L), + (t[14] = (g * x - d * _ - m * y) * L), + (t[15] = (u * _ - f * x + h * y) * L), + t + ); + }; + }, + {}, + ], + 231: [ + function (t, e, r) { + var n = t("./identity"); + e.exports = function (t, e, r, i) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = e[0], + m = e[1], + v = e[2], + y = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + k = r[2]; + if ( + Math.abs(g - _) < 1e-6 && + Math.abs(m - w) < 1e-6 && + Math.abs(v - k) < 1e-6 + ) + return n(t); + ((f = g - _), + (h = m - w), + (p = v - k), + (d = 1 / Math.sqrt(f * f + h * h + p * p)), + (a = x * (p *= d) - b * (h *= d)), + (o = b * (f *= d) - y * p), + (s = y * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), (o *= d), (s *= d)) + : ((a = 0), (o = 0), (s = 0))); + ((l = h * s - p * o), + (c = p * a - f * s), + (u = f * o - h * a), + (d = Math.sqrt(l * l + c * c + u * u)) + ? ((l *= d = 1 / d), (c *= d), (u *= d)) + : ((l = 0), (c = 0), (u = 0))); + return ( + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = c), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = u), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * g + o * m + s * v)), + (t[13] = -(l * g + c * m + u * v)), + (t[14] = -(f * g + h * m + p * v)), + (t[15] = 1), + t + ); + }; + }, + { "./identity": 229 }, + ], + 232: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = e[4], + l = e[5], + c = e[6], + u = e[7], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + g = e[12], + m = e[13], + v = e[14], + y = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * g), + (t[1] = x * i + b * l + _ * h + w * m), + (t[2] = x * a + b * c + _ * p + w * v), + (t[3] = x * o + b * u + _ * d + w * y), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * g), + (t[5] = x * i + b * l + _ * h + w * m), + (t[6] = x * a + b * c + _ * p + w * v), + (t[7] = x * o + b * u + _ * d + w * y), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * g), + (t[9] = x * i + b * l + _ * h + w * m), + (t[10] = x * a + b * c + _ * p + w * v), + (t[11] = x * o + b * u + _ * d + w * y), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * g), + (t[13] = x * i + b * l + _ * h + w * m), + (t[14] = x * a + b * c + _ * p + w * v), + (t[15] = x * o + b * u + _ * d + w * y), + t + ); + }; + }, + {}, + ], + 233: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i) { + var a = 1 / Math.tan(e / 2), + o = 1 / (n - i); + return ( + (t[0] = a / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = a), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = (i + n) * o), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = 2 * i * n * o), + (t[15] = 0), + t + ); + }; + }, + {}, + ], + 234: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + k, + M, + A, + T, + S, + C = n[0], + E = n[1], + L = n[2], + z = Math.sqrt(C * C + E * E + L * L); + if (Math.abs(z) < 1e-6) return null; + ((C *= z = 1 / z), + (E *= z), + (L *= z), + (i = Math.sin(r)), + (a = Math.cos(r)), + (o = 1 - a), + (s = e[0]), + (l = e[1]), + (c = e[2]), + (u = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (g = e[8]), + (m = e[9]), + (v = e[10]), + (y = e[11]), + (x = C * C * o + a), + (b = E * C * o + L * i), + (_ = L * C * o - E * i), + (w = C * E * o - L * i), + (k = E * E * o + a), + (M = L * E * o + C * i), + (A = C * L * o + E * i), + (T = E * L * o - C * i), + (S = L * L * o + a), + (t[0] = s * x + f * b + g * _), + (t[1] = l * x + h * b + m * _), + (t[2] = c * x + p * b + v * _), + (t[3] = u * x + d * b + y * _), + (t[4] = s * w + f * k + g * M), + (t[5] = l * w + h * k + m * M), + (t[6] = c * w + p * k + v * M), + (t[7] = u * w + d * k + y * M), + (t[8] = s * A + f * T + g * S), + (t[9] = l * A + h * T + m * S), + (t[10] = c * A + p * T + v * S), + (t[11] = u * A + d * T + y * S), + e !== t && + ((t[12] = e[12]), (t[13] = e[13]), (t[14] = e[14]), (t[15] = e[15]))); + return t; + }; + }, + {}, + ], + 235: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[4], + o = e[5], + s = e[6], + l = e[7], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + e !== t && + ((t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[4] = a * i + c * n), + (t[5] = o * i + u * n), + (t[6] = s * i + f * n), + (t[7] = l * i + h * n), + (t[8] = c * i - a * n), + (t[9] = u * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + {}, + ], + 236: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[0] = a * i - c * n), + (t[1] = o * i - u * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + c * i), + (t[9] = o * n + u * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + {}, + ], + 237: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[4], + u = e[5], + f = e[6], + h = e[7]; + e !== t && + ((t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[0] = a * i + c * n), + (t[1] = o * i + u * n), + (t[2] = s * i + f * n), + (t[3] = l * i + h * n), + (t[4] = c * i - a * n), + (t[5] = u * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + {}, + ], + 238: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = r[0], + i = r[1], + a = r[2]; + return ( + (t[0] = e[0] * n), + (t[1] = e[1] * n), + (t[2] = e[2] * n), + (t[3] = e[3] * n), + (t[4] = e[4] * i), + (t[5] = e[5] * i), + (t[6] = e[6] * i), + (t[7] = e[7] * i), + (t[8] = e[8] * a), + (t[9] = e[9] * a), + (t[10] = e[10] * a), + (t[11] = e[11] * a), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }; + }, + {}, + ], + 239: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = r[0], + m = r[1], + v = r[2]; + e === t + ? ((t[12] = e[0] * g + e[4] * m + e[8] * v + e[12]), + (t[13] = e[1] * g + e[5] * m + e[9] * v + e[13]), + (t[14] = e[2] * g + e[6] * m + e[10] * v + e[14]), + (t[15] = e[3] * g + e[7] * m + e[11] * v + e[15])) + : ((n = e[0]), + (i = e[1]), + (a = e[2]), + (o = e[3]), + (s = e[4]), + (l = e[5]), + (c = e[6]), + (u = e[7]), + (f = e[8]), + (h = e[9]), + (p = e[10]), + (d = e[11]), + (t[0] = n), + (t[1] = i), + (t[2] = a), + (t[3] = o), + (t[4] = s), + (t[5] = l), + (t[6] = c), + (t[7] = u), + (t[8] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * g + s * m + f * v + e[12]), + (t[13] = i * g + l * m + h * v + e[13]), + (t[14] = a * g + c * m + p * v + e[14]), + (t[15] = o * g + u * m + d * v + e[15])); + return t; + }; + }, + {}, + ], + 240: [ + function (t, e, r) { + e.exports = function (t, e) { + if (t === e) { + var r = e[1], + n = e[2], + i = e[3], + a = e[6], + o = e[7], + s = e[11]; + ((t[1] = e[4]), + (t[2] = e[8]), + (t[3] = e[12]), + (t[4] = r), + (t[6] = e[9]), + (t[7] = e[13]), + (t[8] = n), + (t[9] = a), + (t[11] = e[14]), + (t[12] = i), + (t[13] = o), + (t[14] = s)); + } else + ((t[0] = e[0]), + (t[1] = e[4]), + (t[2] = e[8]), + (t[3] = e[12]), + (t[4] = e[1]), + (t[5] = e[5]), + (t[6] = e[9]), + (t[7] = e[13]), + (t[8] = e[2]), + (t[9] = e[6]), + (t[10] = e[10]), + (t[11] = e[14]), + (t[12] = e[3]), + (t[13] = e[7]), + (t[14] = e[11]), + (t[15] = e[15])); + return t; + }; + }, + {}, + ], + 241: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + switch (e.length) { + case 0: + break; + case 1: + t[0] = 1 / e[0]; + break; + case 4: + n(t, e); + break; + case 9: + i(t, e); + break; + case 16: + a(t, e); + break; + default: + throw new Error("currently supports matrices up to 4x4"); + } + return t; + }; + var n = t("gl-mat2/invert"), + i = t("gl-mat3/invert"), + a = t("gl-mat4/invert"); + }, + { "gl-mat2/invert": 222, "gl-mat3/invert": 223, "gl-mat4/invert": 230 }, + ], + 242: [ + function (t, e, r) { + "use strict"; + var n = t("barycentric"), + i = t("polytope-closest-point/lib/closest_point_2d.js"); + function a(t, e) { + for (var r = [0, 0, 0, 0], n = 0; n < 4; ++n) + for (var i = 0; i < 4; ++i) r[i] += t[4 * n + i] * e[n]; + return r; + } + function o(t, e, r, n, i) { + for (var o = a(n, a(r, a(e, [t[0], t[1], t[2], 1]))), s = 0; s < 3; ++s) + o[s] /= o[3]; + return [0.5 * i[0] * (1 + o[0]), 0.5 * i[1] * (1 - o[1])]; + } + e.exports = function (t, e, r, a, s, l) { + if (1 === t.length) return [0, t[0].slice()]; + for (var c = new Array(t.length), u = 0; u < t.length; ++u) + c[u] = o(t[u], r, a, s, l); + for (var f = 0, h = 1 / 0, u = 0; u < c.length; ++u) { + for (var p = 0, d = 0; d < 2; ++d) p += Math.pow(c[u][d] - e[d], 2); + p < h && ((h = p), (f = u)); + } + for ( + var g = (function (t, e) { + if (2 === t.length) { + for (var r = 0, a = 0, o = 0; o < 2; ++o) + ((r += Math.pow(e[o] - t[0][o], 2)), + (a += Math.pow(e[o] - t[1][o], 2))); + return ( + (r = Math.sqrt(r)), + (a = Math.sqrt(a)), + r + a < 1e-6 ? [1, 0] : [a / (r + a), r / (a + r)] + ); + } + if (3 === t.length) { + var s = [0, 0]; + return (i(t[0], t[1], t[2], e, s), n(t, s)); + } + return []; + })(c, e), + m = 0, + u = 0; + u < 3; + ++u + ) { + if (g[u] < -0.001 || g[u] > 1.0001) return null; + m += g[u]; + } + if (Math.abs(m - 1) > 0.001) return null; + return [ + f, + (function (t, e) { + for (var r = [0, 0, 0], n = 0; n < t.length; ++n) + for (var i = t[n], a = e[n], o = 0; o < 3; ++o) r[o] += a * i[o]; + return r; + })(t, g), + g, + ]; + }; + }, + { barycentric: 54, "polytope-closest-point/lib/closest_point_2d.js": 365 }, + ], + 243: [ + function (t, e, r) { + var n = t("glslify"), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec4 m_position = model * vec4(position, 1.0);\n vec4 t_position = view * m_position;\n gl_Position = projection * t_position;\n f_color = color;\n f_normal = normal;\n f_data = position;\n f_eyeDirection = eyePosition - position;\n f_lightDirection = lightPosition - position;\n f_uv = uv;\n}\n", + ]), + a = n([ + "#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nvec3 normals(vec3 pos) {\n vec3 fdx = dFdx(pos);\n vec3 fdy = dFdy(pos);\n return normalize(cross(fdx, fdy));\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) ||\n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n vec3 normal = normals(f_data);\n\n if (\n dot(N, normal) < 0.0\n ) {\n N = -N;\n }\n\n float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}", + ]), + s = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) || \n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", + ]), + l = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}", + ]), + c = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", + ]), + u = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}", + ]), + f = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", + ]), + h = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}", + ]), + p = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}", + ]), + d = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\n}\n", + ]); + ((r.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: "position", type: "vec3" }, + { name: "normal", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (r.wireShader = { + vertex: o, + fragment: s, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + ], + }), + (r.pointShader = { + vertex: l, + fragment: c, + attributes: [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "uv", type: "vec2" }, + { name: "pointSize", type: "float" }, + ], + }), + (r.pickShader = { + vertex: u, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "id", type: "vec4" }, + ], + }), + (r.pointPickShader = { + vertex: h, + fragment: f, + attributes: [ + { name: "position", type: "vec3" }, + { name: "pointSize", type: "float" }, + { name: "id", type: "vec4" }, + ], + }), + (r.contourShader = { + vertex: p, + fragment: d, + attributes: [{ name: "position", type: "vec3" }], + })); + }, + { glslify: 295 }, + ], + 244: [ + function (t, e, r) { + "use strict"; + var n = t("gl-shader"), + i = t("gl-buffer"), + a = t("gl-vao"), + o = t("gl-texture2d"), + s = t("normals"), + l = t("gl-mat4/multiply"), + c = t("gl-mat4/invert"), + u = t("ndarray"), + f = t("colormap"), + h = t("simplicial-complex-contour"), + p = t("typedarray-pool"), + d = t("./lib/shaders"), + g = t("./lib/closest-point"), + m = d.meshShader, + v = d.wireShader, + y = d.pointShader, + x = d.pickShader, + b = d.pointPickShader, + _ = d.contourShader, + w = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function k( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + k, + M, + A, + T, + S, + ) { + ((this.gl = t), + (this.cells = []), + (this.positions = []), + (this.intensity = []), + (this.texture = e), + (this.dirty = !0), + (this.triShader = r), + (this.lineShader = n), + (this.pointShader = i), + (this.pickShader = a), + (this.pointPickShader = o), + (this.contourShader = s), + (this.trianglePositions = l), + (this.triangleColors = u), + (this.triangleNormals = h), + (this.triangleUVs = f), + (this.triangleIds = c), + (this.triangleVAO = p), + (this.triangleCount = 0), + (this.lineWidth = 1), + (this.edgePositions = d), + (this.edgeColors = m), + (this.edgeUVs = v), + (this.edgeIds = g), + (this.edgeVAO = y), + (this.edgeCount = 0), + (this.pointPositions = x), + (this.pointColors = _), + (this.pointUVs = k), + (this.pointSizes = M), + (this.pointIds = b), + (this.pointVAO = A), + (this.pointCount = 0), + (this.contourLineWidth = 1), + (this.contourPositions = T), + (this.contourVAO = S), + (this.contourCount = 0), + (this.contourColor = [0, 0, 0]), + (this.contourEnable = !0), + (this.pickId = 1), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.lightPosition = [1e5, 1e5, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this._model = w), + (this._view = w), + (this._projection = w), + (this._resolution = [1, 1])); + } + var M = k.prototype; + function A(t) { + var e = n(t, y.vertex, y.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.pointSize.location = 4), + e + ); + } + function T(t) { + var e = n(t, x.vertex, x.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + e + ); + } + function S(t) { + var e = n(t, b.vertex, b.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + (e.attributes.pointSize.location = 4), + e + ); + } + function C(t) { + var e = n(t, _.vertex, _.fragment); + return ((e.attributes.position.location = 0), e); + } + ((M.isOpaque = function () { + return this.opacity >= 1; + }), + (M.isTransparent = function () { + return this.opacity < 1; + }), + (M.pickSlots = 1), + (M.setPickBase = function (t) { + this.pickId = t; + }), + (M.highlight = function (t) { + if (t && this.contourEnable) { + for ( + var e = h(this.cells, this.intensity, t.intensity), + r = e.cells, + n = e.vertexIds, + i = e.vertexWeights, + a = r.length, + o = p.mallocFloat32(6 * a), + s = 0, + l = 0; + l < a; + ++l + ) + for (var c = r[l], u = 0; u < 2; ++u) { + var f = c[0]; + 2 === c.length && (f = c[u]); + for ( + var d = n[f][0], + g = n[f][1], + m = i[f], + v = 1 - m, + y = this.positions[d], + x = this.positions[g], + b = 0; + b < 3; + ++b + ) + o[s++] = m * y[b] + v * x[b]; + } + ((this.contourCount = (s / 3) | 0), + this.contourPositions.update(o.subarray(0, s)), + p.free(o)); + } else this.contourCount = 0; + }), + (M.update = function (t) { + t = t || {}; + var e = this.gl; + ((this.dirty = !0), + "contourEnable" in t && (this.contourEnable = t.contourEnable), + "contourColor" in t && (this.contourColor = t.contourColor), + "lineWidth" in t && (this.lineWidth = t.lineWidth), + "lightPosition" in t && (this.lightPosition = t.lightPosition), + "opacity" in t && (this.opacity = t.opacity), + "ambient" in t && (this.ambientLight = t.ambient), + "diffuse" in t && (this.diffuseLight = t.diffuse), + "specular" in t && (this.specularLight = t.specular), + "roughness" in t && (this.roughness = t.roughness), + "fresnel" in t && (this.fresnel = t.fresnel), + t.texture + ? (this.texture.dispose(), (this.texture = o(e, t.texture))) + : t.colormap && + ((this.texture.shape = [256, 256]), + (this.texture.minFilter = e.LINEAR_MIPMAP_LINEAR), + (this.texture.magFilter = e.LINEAR), + this.texture.setPixels( + (function (t) { + for ( + var e = f({ colormap: t, nshades: 256, format: "rgba" }), + r = new Uint8Array(1024), + n = 0; + n < 256; + ++n + ) { + for (var i = e[n], a = 0; a < 3; ++a) r[4 * n + a] = i[a]; + r[4 * n + 3] = 255 * i[3]; + } + return u(r, [256, 256, 4], [4, 0, 1]); + })(t.colormap), + ), + this.texture.generateMipmap())); + var r = t.cells, + n = t.positions; + if (n && r) { + var i = [], + a = [], + l = [], + c = [], + h = [], + p = [], + d = [], + g = [], + m = [], + v = [], + y = [], + x = [], + b = [], + _ = []; + ((this.cells = r), (this.positions = n)); + var w = t.vertexNormals, + k = t.cellNormals, + M = void 0 === t.vertexNormalsEpsilon ? 1e-6 : t.vertexNormalsEpsilon, + A = void 0 === t.faceNormalsEpsilon ? 1e-6 : t.faceNormalsEpsilon; + (t.useFacetNormals && !k && (k = s.faceNormals(r, n, A)), + k || w || (w = s.vertexNormals(r, n, M))); + var T = t.vertexColors, + S = t.cellColors, + C = t.meshColor || [1, 1, 1, 1], + E = t.vertexUVs, + L = t.vertexIntensity, + z = t.cellUVs, + P = t.cellIntensity, + D = 1 / 0, + O = -1 / 0; + if (!E && !z) + if (L) + if (t.vertexIntensityBounds) + ((D = +t.vertexIntensityBounds[0]), + (O = +t.vertexIntensityBounds[1])); + else + for (var I = 0; I < L.length; ++I) { + var R = L[I]; + ((D = Math.min(D, R)), (O = Math.max(O, R))); + } + else if (P) + for (I = 0; I < P.length; ++I) { + R = P[I]; + ((D = Math.min(D, R)), (O = Math.max(O, R))); + } + else + for (I = 0; I < n.length; ++I) { + R = n[I][2]; + ((D = Math.min(D, R)), (O = Math.max(O, R))); + } + this.intensity = + L || + (P + ? (function (t, e, r) { + for (var n = new Array(e), i = 0; i < e; ++i) n[i] = 0; + var a = t.length; + for (i = 0; i < a; ++i) + for (var o = t[i], s = 0; s < o.length; ++s) n[o[s]] = r[i]; + return n; + })(r, n.length, P) + : (function (t) { + for (var e = t.length, r = new Array(e), n = 0; n < e; ++n) + r[n] = t[n][2]; + return r; + })(n)); + var B = t.pointSizes, + F = t.pointSize || 1; + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (I = 0; I < n.length; ++I) + for (var N = n[I], j = 0; j < 3; ++j) + !isNaN(N[j]) && + isFinite(N[j]) && + ((this.bounds[0][j] = Math.min(this.bounds[0][j], N[j])), + (this.bounds[1][j] = Math.max(this.bounds[1][j], N[j]))); + var V = 0, + U = 0, + q = 0; + t: for (I = 0; I < r.length; ++I) { + var H = r[I]; + switch (H.length) { + case 1: + for (N = n[(W = H[0])], j = 0; j < 3; ++j) + if (isNaN(N[j]) || !isFinite(N[j])) continue t; + (v.push(N[0], N[1], N[2]), + 3 === (Y = T ? T[W] : S ? S[I] : C).length + ? y.push(Y[0], Y[1], Y[2], 1) + : y.push(Y[0], Y[1], Y[2], Y[3]), + (X = E + ? E[W] + : L + ? [(L[W] - D) / (O - D), 0] + : z + ? z[I] + : P + ? [(P[I] - D) / (O - D), 0] + : [(N[2] - D) / (O - D), 0]), + x.push(X[0], X[1]), + B ? b.push(B[W]) : b.push(F), + _.push(I), + (q += 1)); + break; + case 2: + for (j = 0; j < 2; ++j) { + N = n[(W = H[j])]; + for (var G = 0; G < 3; ++G) + if (isNaN(N[G]) || !isFinite(N[G])) continue t; + } + for (j = 0; j < 2; ++j) { + N = n[(W = H[j])]; + (p.push(N[0], N[1], N[2]), + 3 === (Y = T ? T[W] : S ? S[I] : C).length + ? d.push(Y[0], Y[1], Y[2], 1) + : d.push(Y[0], Y[1], Y[2], Y[3]), + (X = E + ? E[W] + : L + ? [(L[W] - D) / (O - D), 0] + : z + ? z[I] + : P + ? [(P[I] - D) / (O - D), 0] + : [(N[2] - D) / (O - D), 0]), + g.push(X[0], X[1]), + m.push(I)); + } + U += 1; + break; + case 3: + for (j = 0; j < 3; ++j) + for (N = n[(W = H[j])], G = 0; G < 3; ++G) + if (isNaN(N[G]) || !isFinite(N[G])) continue t; + for (j = 0; j < 3; ++j) { + var W, Y, X, Z; + N = n[(W = H[j])]; + (i.push(N[0], N[1], N[2]), + 3 === (Y = T ? T[W] : S ? S[I] : C).length + ? a.push(Y[0], Y[1], Y[2], 1) + : a.push(Y[0], Y[1], Y[2], Y[3]), + (X = E + ? E[W] + : L + ? [(L[W] - D) / (O - D), 0] + : z + ? z[I] + : P + ? [(P[I] - D) / (O - D), 0] + : [(N[2] - D) / (O - D), 0]), + c.push(X[0], X[1]), + (Z = w ? w[W] : k[I]), + l.push(Z[0], Z[1], Z[2]), + h.push(I)); + } + V += 1; + } + } + ((this.pointCount = q), + (this.edgeCount = U), + (this.triangleCount = V), + this.pointPositions.update(v), + this.pointColors.update(y), + this.pointUVs.update(x), + this.pointSizes.update(b), + this.pointIds.update(new Uint32Array(_)), + this.edgePositions.update(p), + this.edgeColors.update(d), + this.edgeUVs.update(g), + this.edgeIds.update(new Uint32Array(m)), + this.trianglePositions.update(i), + this.triangleColors.update(a), + this.triangleUVs.update(c), + this.triangleNormals.update(l), + this.triangleIds.update(new Uint32Array(h))); + } + }), + (M.drawTransparent = M.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + ((a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o]))); + var s = { + model: r, + view: n, + projection: i, + clipBounds: a, + kambient: this.ambientLight, + kdiffuse: this.diffuseLight, + kspecular: this.specularLight, + roughness: this.roughness, + fresnel: this.fresnel, + eyePosition: [0, 0, 0], + lightPosition: [0, 0, 0], + opacity: this.opacity, + contourColor: this.contourColor, + texture: 0, + }; + this.texture.bind(0); + var u = new Array(16); + (l(u, s.view, s.model), l(u, s.projection, u), c(u, u)); + for (o = 0; o < 3; ++o) s.eyePosition[o] = u[12 + o] / u[15]; + var f, + h = u[15]; + for (o = 0; o < 3; ++o) h += this.lightPosition[o] * u[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for (var p = u[12 + o], d = 0; d < 3; ++d) + p += u[4 * d + o] * this.lightPosition[d]; + s.lightPosition[o] = p / h; + } + this.triangleCount > 0 && + ((f = this.triShader).bind(), + (f.uniforms = s), + this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind()); + this.edgeCount > 0 && + this.lineWidth > 0 && + ((f = this.lineShader).bind(), + (f.uniforms = s), + this.edgeVAO.bind(), + e.lineWidth(this.lineWidth), + e.drawArrays(e.LINES, 0, 2 * this.edgeCount), + this.edgeVAO.unbind()); + this.pointCount > 0 && + ((f = this.pointShader).bind(), + (f.uniforms = s), + this.pointVAO.bind(), + e.drawArrays(e.POINTS, 0, this.pointCount), + this.pointVAO.unbind()); + this.contourEnable && + this.contourCount > 0 && + this.contourLineWidth > 0 && + ((f = this.contourShader).bind(), + (f.uniforms = s), + this.contourVAO.bind(), + e.drawArrays(e.LINES, 0, this.contourCount), + this.contourVAO.unbind()); + }), + (M.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + ((a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o]))); + ((this._model = [].slice.call(r)), + (this._view = [].slice.call(n)), + (this._projection = [].slice.call(i)), + (this._resolution = [e.drawingBufferWidth, e.drawingBufferHeight])); + var s, + l = { + model: r, + view: n, + projection: i, + clipBounds: a, + pickId: this.pickId / 255, + }; + ((s = this.pickShader).bind(), + (s.uniforms = l), + this.triangleCount > 0 && + (this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind()), + this.edgeCount > 0 && + (this.edgeVAO.bind(), + e.lineWidth(this.lineWidth), + e.drawArrays(e.LINES, 0, 2 * this.edgeCount), + this.edgeVAO.unbind()), + this.pointCount > 0) && + ((s = this.pointPickShader).bind(), + (s.uniforms = l), + this.pointVAO.bind(), + e.drawArrays(e.POINTS, 0, this.pointCount), + this.pointVAO.unbind()); + }), + (M.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + for ( + var e = t.value[0] + 256 * t.value[1] + 65536 * t.value[2], + r = this.cells[e], + n = this.positions, + i = new Array(r.length), + a = 0; + a < r.length; + ++a + ) + i[a] = n[r[a]]; + var o = g( + i, + [t.coord[0], this._resolution[1] - t.coord[1]], + this._model, + this._view, + this._projection, + this._resolution, + ); + if (!o) return null; + var s = o[2], + l = 0; + for (a = 0; a < r.length; ++a) l += s[a] * this.intensity[r[a]]; + return { + position: o[1], + index: r[o[0]], + cell: r, + cellId: e, + intensity: l, + dataCoordinate: this.positions[r[o[0]]], + }; + }), + (M.dispose = function () { + (this.texture.dispose(), + this.triShader.dispose(), + this.lineShader.dispose(), + this.pointShader.dispose(), + this.pickShader.dispose(), + this.pointPickShader.dispose(), + this.triangleVAO.dispose(), + this.trianglePositions.dispose(), + this.triangleColors.dispose(), + this.triangleUVs.dispose(), + this.triangleNormals.dispose(), + this.triangleIds.dispose(), + this.edgeVAO.dispose(), + this.edgePositions.dispose(), + this.edgeColors.dispose(), + this.edgeUVs.dispose(), + this.edgeIds.dispose(), + this.pointVAO.dispose(), + this.pointPositions.dispose(), + this.pointColors.dispose(), + this.pointUVs.dispose(), + this.pointSizes.dispose(), + this.pointIds.dispose(), + this.contourVAO.dispose(), + this.contourPositions.dispose(), + this.contourShader.dispose()); + }), + (e.exports = function (t, e) { + if ( + (1 === arguments.length && (t = (e = t).gl), + !( + t.getExtension("OES_standard_derivatives") || + t.getExtension("MOZ_OES_standard_derivatives") || + t.getExtension("WEBKIT_OES_standard_derivatives") + )) + ) + throw new Error("derivatives not supported"); + var r = (function (t) { + var e = n(t, m.vertex, m.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.normal.location = 4), + e + ); + })(t), + s = (function (t) { + var e = n(t, v.vertex, v.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + e + ); + })(t), + l = A(t), + c = T(t), + f = S(t), + h = C(t), + p = o(t, u(new Uint8Array([255, 255, 255, 255]), [1, 1, 4])); + (p.generateMipmap(), + (p.minFilter = t.LINEAR_MIPMAP_LINEAR), + (p.magFilter = t.LINEAR)); + var d = i(t), + g = i(t), + y = i(t), + x = i(t), + b = i(t), + _ = a(t, [ + { buffer: d, type: t.FLOAT, size: 3 }, + { buffer: b, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: g, type: t.FLOAT, size: 4 }, + { buffer: y, type: t.FLOAT, size: 2 }, + { buffer: x, type: t.FLOAT, size: 3 }, + ]), + w = i(t), + M = i(t), + E = i(t), + L = i(t), + z = a(t, [ + { buffer: w, type: t.FLOAT, size: 3 }, + { buffer: L, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: M, type: t.FLOAT, size: 4 }, + { buffer: E, type: t.FLOAT, size: 2 }, + ]), + P = i(t), + D = i(t), + O = i(t), + I = i(t), + R = i(t), + B = a(t, [ + { buffer: P, type: t.FLOAT, size: 3 }, + { buffer: R, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: D, type: t.FLOAT, size: 4 }, + { buffer: O, type: t.FLOAT, size: 2 }, + { buffer: I, type: t.FLOAT, size: 1 }, + ]), + F = i(t), + N = new k( + t, + p, + r, + s, + l, + c, + f, + h, + d, + b, + g, + y, + x, + _, + w, + L, + M, + E, + z, + P, + R, + D, + O, + I, + B, + F, + a(t, [{ buffer: F, type: t.FLOAT, size: 3 }]), + ); + return (N.update(e), N); + })); + }, + { + "./lib/closest-point": 242, + "./lib/shaders": 243, + colormap: 106, + "gl-buffer": 210, + "gl-mat4/invert": 230, + "gl-mat4/multiply": 232, + "gl-shader": 263, + "gl-texture2d": 275, + "gl-vao": 279, + ndarray: 335, + normals: 338, + "simplicial-complex-contour": 396, + "typedarray-pool": 423, + }, + ], + 245: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e, [0, 0, 0, 1, 1, 0, 1, 1]), + s = i(e, a.boxVert, a.lineFrag); + return new o(t, r, s); + }; + var n = t("gl-buffer"), + i = t("gl-shader"), + a = t("./shaders"); + function o(t, e, r) { + ((this.plot = t), (this.vbo = e), (this.shader = r)); + } + var s, + l, + c = o.prototype; + ((c.bind = function () { + var t = this.shader; + (this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox)); + }), + (c.drawBox = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i) { + var a = this.plot, + o = this.shader, + c = a.gl; + ((s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (o.uniforms.lo = s), + (o.uniforms.hi = l), + (o.uniforms.color = i), + c.drawArrays(c.TRIANGLE_STRIP, 0, 4)); + })), + (c.dispose = function () { + (this.vbo.dispose(), this.shader.dispose()); + })); + }, + { "./shaders": 248, "gl-buffer": 210, "gl-shader": 263 }, + ], + 246: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e), + a = i(e, o.gridVert, o.gridFrag), + l = i(e, o.tickVert, o.gridFrag); + return new s(t, r, a, l); + }; + var n = t("gl-buffer"), + i = t("gl-shader"), + a = t("binary-search-bounds"), + o = t("./shaders"); + function s(t, e, r, n) { + ((this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickShader = n), + (this.ticks = [[], []])); + } + function l(t, e) { + return t - e; + } + var c, + u, + f, + h, + p, + d = s.prototype; + ((d.draw = + ((c = [0, 0]), + (u = [0, 0]), + (f = [0, 0]), + function () { + for ( + var t = this.plot, + e = this.vbo, + r = this.shader, + n = this.ticks, + i = t.gl, + a = t._tickBounds, + o = t.dataBox, + s = t.viewBox, + l = t.gridLineWidth, + h = t.gridLineColor, + p = t.gridLineEnable, + d = t.pixelRatio, + g = 0; + g < 2; + ++g + ) { + var m = a[g], + v = a[g + 2] - m, + y = 0.5 * (o[g + 2] + o[g]), + x = o[g + 2] - o[g]; + ((u[g] = (2 * v) / x), (c[g] = (2 * (m - y)) / x)); + } + (r.bind(), + e.bind(), + r.attributes.dataCoord.pointer(), + (r.uniforms.dataShift = c), + (r.uniforms.dataScale = u)); + var b = 0; + for (g = 0; g < 2; ++g) { + ((f[0] = f[1] = 0), + (f[g] = 1), + (r.uniforms.dataAxis = f), + (r.uniforms.lineWidth = (l[g] / (s[g + 2] - s[g])) * d), + (r.uniforms.color = h[g])); + var _ = 6 * n[g].length; + (p[g] && _ && i.drawArrays(i.TRIANGLES, b, _), (b += _)); + } + })), + (d.drawTickMarks = (function () { + var t = [0, 0], + e = [0, 0], + r = [1, 0], + n = [0, 1], + i = [0, 0], + o = [0, 0]; + return function () { + for ( + var s = this.plot, + c = this.vbo, + u = this.tickShader, + f = this.ticks, + h = s.gl, + p = s._tickBounds, + d = s.dataBox, + g = s.viewBox, + m = s.pixelRatio, + v = s.screenBox, + y = v[2] - v[0], + x = v[3] - v[1], + b = g[2] - g[0], + _ = g[3] - g[1], + w = 0; + w < 2; + ++w + ) { + var k = p[w], + M = p[w + 2] - k, + A = 0.5 * (d[w + 2] + d[w]), + T = d[w + 2] - d[w]; + ((e[w] = (2 * M) / T), (t[w] = (2 * (k - A)) / T)); + } + ((e[0] *= b / y), + (t[0] *= b / y), + (e[1] *= _ / x), + (t[1] *= _ / x), + u.bind(), + c.bind(), + u.attributes.dataCoord.pointer()); + var S = u.uniforms; + ((S.dataShift = t), (S.dataScale = e)); + var C = s.tickMarkLength, + E = s.tickMarkWidth, + L = s.tickMarkColor, + z = 6 * f[0].length, + P = Math.min( + a.ge(f[0], (d[0] - p[0]) / (p[2] - p[0]), l), + f[0].length, + ), + D = Math.min( + a.gt(f[0], (d[2] - p[0]) / (p[2] - p[0]), l), + f[0].length, + ), + O = 0 + 6 * P, + I = 6 * Math.max(0, D - P), + R = Math.min( + a.ge(f[1], (d[1] - p[1]) / (p[3] - p[1]), l), + f[1].length, + ), + B = Math.min( + a.gt(f[1], (d[3] - p[1]) / (p[3] - p[1]), l), + f[1].length, + ), + F = z + 6 * R, + N = 6 * Math.max(0, B - R); + ((i[0] = (2 * (g[0] - C[1])) / y - 1), + (i[1] = (g[3] + g[1]) / x - 1), + (o[0] = (C[1] * m) / y), + (o[1] = (E[1] * m) / x), + N && + ((S.color = L[1]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, F, N)), + (i[0] = (g[2] + g[0]) / y - 1), + (i[1] = (2 * (g[1] - C[0])) / x - 1), + (o[0] = (E[0] * m) / y), + (o[1] = (C[0] * m) / x), + I && + ((S.color = L[0]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, O, I)), + (i[0] = (2 * (g[2] + C[3])) / y - 1), + (i[1] = (g[3] + g[1]) / x - 1), + (o[0] = (C[3] * m) / y), + (o[1] = (E[3] * m) / x), + N && + ((S.color = L[3]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, F, N)), + (i[0] = (g[2] + g[0]) / y - 1), + (i[1] = (2 * (g[3] + C[2])) / x - 1), + (o[0] = (E[2] * m) / y), + (o[1] = (C[2] * m) / x), + I && + ((S.color = L[2]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, O, I))); + }; + })()), + (d.update = + ((h = [1, 1, -1, -1, 1, -1]), + (p = [1, -1, 1, 1, -1, -1]), + function (t) { + for ( + var e = t.ticks, + r = t.bounds, + n = new Float32Array(18 * (e[0].length + e[1].length)), + i = (this.plot.zeroLineEnable, 0), + a = [[], []], + o = 0; + o < 2; + ++o + ) + for ( + var s = a[o], l = e[o], c = r[o], u = r[o + 2], f = 0; + f < l.length; + ++f + ) { + var d = (l[f].x - c) / (u - c); + s.push(d); + for (var g = 0; g < 6; ++g) + ((n[i++] = d), (n[i++] = h[g]), (n[i++] = p[g])); + } + ((this.ticks = a), this.vbo.update(n)); + })), + (d.dispose = function () { + (this.vbo.dispose(), this.shader.dispose(), this.tickShader.dispose()); + })); + }, + { + "./shaders": 248, + "binary-search-bounds": 250, + "gl-buffer": 210, + "gl-shader": 263, + }, + ], + 247: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e, [-1, -1, -1, 1, 1, -1, 1, 1]), + s = i(e, a.lineVert, a.lineFrag); + return new o(t, r, s); + }; + var n = t("gl-buffer"), + i = t("gl-shader"), + a = t("./shaders"); + function o(t, e, r) { + ((this.plot = t), (this.vbo = e), (this.shader = r)); + } + var s, + l, + c = o.prototype; + ((c.bind = function () { + var t = this.shader; + (this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox)); + }), + (c.drawLine = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i, a) { + var o = this.plot, + c = this.shader, + u = o.gl; + ((s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (c.uniforms.start = s), + (c.uniforms.end = l), + (c.uniforms.width = i * o.pixelRatio), + (c.uniforms.color = a), + u.drawArrays(u.TRIANGLE_STRIP, 0, 4)); + })), + (c.dispose = function () { + (this.vbo.dispose(), this.shader.dispose()); + })); + }, + { "./shaders": 248, "gl-buffer": 210, "gl-shader": 263 }, + ], + 248: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"), + i = n([ + "precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n", + ]); + e.exports = { + lineVert: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n", + ]), + lineFrag: i, + textVert: n([ + "#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n", + ]), + textFrag: i, + gridVert: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n", + ]), + gridFrag: i, + boxVert: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n", + ]), + tickVert: n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n", + ]), + }; + }, + { glslify: 295 }, + ], + 249: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e), + a = i(e, s.textVert, s.textFrag); + return new l(t, r, a); + }; + var n = t("gl-buffer"), + i = t("gl-shader"), + a = t("text-cache"), + o = t("binary-search-bounds"), + s = t("./shaders"); + function l(t, e, r) { + ((this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickOffset = [[], []]), + (this.tickX = [[], []]), + (this.labelOffset = [0, 0]), + (this.labelCount = [0, 0])); + } + var c, + u, + f, + h, + p, + d, + g = l.prototype; + ((g.drawTicks = + ((c = [0, 0]), + (u = [0, 0]), + (f = [0, 0]), + function (t) { + var e = this.plot, + r = this.shader, + n = this.tickX[t], + i = this.tickOffset[t], + a = e.gl, + s = e.viewBox, + l = e.dataBox, + h = e.screenBox, + p = e.pixelRatio, + d = e.tickEnable, + g = e.tickPad, + m = e.tickColor, + v = e.tickAngle, + y = e.labelEnable, + x = e.labelPad, + b = e.labelColor, + _ = e.labelAngle, + w = this.labelOffset[t], + k = this.labelCount[t], + M = o.lt(n, l[t]), + A = o.le(n, l[t + 2]); + ((c[0] = c[1] = 0), + (c[t] = 1), + (u[t] = (s[2 + t] + s[t]) / (h[2 + t] - h[t]) - 1)); + var T = 2 / h[2 + (1 ^ t)] - h[1 ^ t]; + ((u[1 ^ t] = T * s[1 ^ t] - 1), + d[t] && + ((u[1 ^ t] -= T * p * g[t]), + M < A && + i[A] > i[M] && + ((r.uniforms.dataAxis = c), + (r.uniforms.screenOffset = u), + (r.uniforms.color = m[t]), + (r.uniforms.angle = v[t]), + a.drawArrays(a.TRIANGLES, i[M], i[A] - i[M]))), + y[t] && + k && + ((u[1 ^ t] -= T * p * x[t]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = u), + (r.uniforms.color = b[t]), + (r.uniforms.angle = _[t]), + a.drawArrays(a.TRIANGLES, w, k)), + (u[1 ^ t] = T * s[2 + (1 ^ t)] - 1), + d[t + 2] && + ((u[1 ^ t] += T * p * g[t + 2]), + M < A && + i[A] > i[M] && + ((r.uniforms.dataAxis = c), + (r.uniforms.screenOffset = u), + (r.uniforms.color = m[t + 2]), + (r.uniforms.angle = v[t + 2]), + a.drawArrays(a.TRIANGLES, i[M], i[A] - i[M]))), + y[t + 2] && + k && + ((u[1 ^ t] += T * p * x[t + 2]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = u), + (r.uniforms.color = b[t + 2]), + (r.uniforms.angle = _[t + 2]), + a.drawArrays(a.TRIANGLES, w, k))); + })), + (g.drawTitle = (function () { + var t = [0, 0], + e = [0, 0]; + return function () { + var r = this.plot, + n = this.shader, + i = r.gl, + a = r.screenBox, + o = r.titleCenter, + s = r.titleAngle, + l = r.titleColor, + c = r.pixelRatio; + if (this.titleCount) { + for (var u = 0; u < 2; ++u) + e[u] = (2 * (o[u] * c - a[u])) / (a[2 + u] - a[u]) - 1; + (n.bind(), + (n.uniforms.dataAxis = t), + (n.uniforms.screenOffset = e), + (n.uniforms.angle = s), + (n.uniforms.color = l), + i.drawArrays(i.TRIANGLES, this.titleOffset, this.titleCount)); + } + }; + })()), + (g.bind = + ((h = [0, 0]), + (p = [0, 0]), + (d = [0, 0]), + function () { + var t = this.plot, + e = this.shader, + r = t._tickBounds, + n = t.dataBox, + i = t.screenBox, + a = t.viewBox; + e.bind(); + for (var o = 0; o < 2; ++o) { + var s = r[o], + l = r[o + 2] - s, + c = 0.5 * (n[o + 2] + n[o]), + u = n[o + 2] - n[o], + f = a[o], + g = a[o + 2] - f, + m = i[o], + v = i[o + 2] - m; + ((p[o] = (((2 * l) / u) * g) / v), + (h[o] = (((2 * (s - c)) / u) * g) / v)); + } + ((d[1] = (2 * t.pixelRatio) / (i[3] - i[1])), + (d[0] = (d[1] * (i[3] - i[1])) / (i[2] - i[0])), + (e.uniforms.dataScale = p), + (e.uniforms.dataShift = h), + (e.uniforms.textScale = d), + this.vbo.bind(), + e.attributes.textCoordinate.pointer()); + })), + (g.update = function (t) { + var e, + r, + n, + i, + o, + s = [], + l = t.ticks, + c = t.bounds; + for (o = 0; o < 2; ++o) { + var u = [Math.floor(s.length / 3)], + f = [-1 / 0], + h = l[o]; + for (e = 0; e < h.length; ++e) { + var p = h[e], + d = p.x, + g = p.text, + m = p.font || "sans-serif"; + i = p.fontSize || 12; + for ( + var v = 1 / (c[o + 2] - c[o]), y = c[o], x = g.split("\n"), b = 0; + b < x.length; + b++ + ) + for (n = a(m, x[b]).data, r = 0; r < n.length; r += 2) + s.push(n[r] * i, -n[r + 1] * i - b * i * 1.2, (d - y) * v); + (u.push(Math.floor(s.length / 3)), f.push(d)); + } + ((this.tickOffset[o] = u), (this.tickX[o] = f)); + } + for (o = 0; o < 2; ++o) { + for ( + this.labelOffset[o] = Math.floor(s.length / 3), + n = a(t.labelFont[o], t.labels[o], { textAlign: "center" }).data, + i = t.labelSize[o], + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + this.labelCount[o] = Math.floor(s.length / 3) - this.labelOffset[o]; + } + for ( + this.titleOffset = Math.floor(s.length / 3), + n = a(t.titleFont, t.title).data, + i = t.titleSize, + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + ((this.titleCount = Math.floor(s.length / 3) - this.titleOffset), + this.vbo.update(s)); + }), + (g.dispose = function () { + (this.vbo.dispose(), this.shader.dispose()); + })); + }, + { + "./shaders": 248, + "binary-search-bounds": 250, + "gl-buffer": 210, + "gl-shader": 263, + "text-cache": 414, + }, + ], + 250: [ + function (t, e, r) { + arguments[4][91][0].apply(r, arguments); + }, + { dup: 91 }, + ], + 251: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = n(e, [e.drawingBufferWidth, e.drawingBufferHeight]), + c = new l(e, r); + return ( + (c.grid = i(c)), + (c.text = a(c)), + (c.line = o(c)), + (c.box = s(c)), + c.update(t), + c + ); + }; + var n = t("gl-select-static"), + i = t("./lib/grid"), + a = t("./lib/text"), + o = t("./lib/line"), + s = t("./lib/box"); + function l(t, e) { + ((this.gl = t), + (this.pickBuffer = e), + (this.screenBox = [0, 0, t.drawingBufferWidth, t.drawingBufferHeight]), + (this.viewBox = [0, 0, 0, 0]), + (this.dataBox = [-10, -10, 10, 10]), + (this.gridLineEnable = [!0, !0]), + (this.gridLineWidth = [1, 1]), + (this.gridLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.pixelRatio = 1), + (this.tickMarkLength = [0, 0, 0, 0]), + (this.tickMarkWidth = [0, 0, 0, 0]), + (this.tickMarkColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [15, 15, 15, 15]), + (this.tickAngle = [0, 0, 0, 0]), + (this.tickEnable = [!0, !0, !0, !0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [15, 15, 15, 15]), + (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), + (this.labelEnable = [!0, !0, !0, !0]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.titleCenter = [0, 0]), + (this.titleEnable = !0), + (this.titleAngle = 0), + (this.titleColor = [0, 0, 0, 1]), + (this.borderColor = [0, 0, 0, 0]), + (this.backgroundColor = [0, 0, 0, 0]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [4, 4]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderLineEnable = [!0, !0, !0, !0]), + (this.borderLineWidth = [2, 2, 2, 2]), + (this.borderLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.grid = null), + (this.text = null), + (this.line = null), + (this.box = null), + (this.objects = []), + (this.overlays = []), + (this._tickBounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.static = !1), + (this.dirty = !1), + (this.pickDirty = !1), + (this.pickDelay = 120), + (this.pickRadius = 10), + (this._pickTimeout = null), + (this._drawPick = this.drawPick.bind(this)), + (this._depthCounter = 0)); + } + var c = l.prototype; + function u(t) { + for (var e = t.slice(), r = 0; r < e.length; ++r) e[r] = e[r].slice(); + return e; + } + function f(t, e) { + return t.x - e.x; + } + ((c.setDirty = function () { + this.dirty = this.pickDirty = !0; + }), + (c.setOverlayDirty = function () { + this.dirty = !0; + }), + (c.nextDepthValue = function () { + return this._depthCounter++ / 65536; + }), + (c.draw = function () { + var t = this.gl, + e = this.screenBox, + r = this.viewBox, + n = this.dataBox, + i = this.pixelRatio, + a = this.grid, + o = this.line, + s = this.text, + l = this.objects; + if ( + ((this._depthCounter = 0), + this.pickDirty && + (this._pickTimeout && clearTimeout(this._pickTimeout), + (this.pickDirty = !1), + (this._pickTimeout = setTimeout(this._drawPick, this.pickDelay))), + this.dirty) + ) { + if ( + ((this.dirty = !1), + t.bindFramebuffer(t.FRAMEBUFFER, null), + t.enable(t.SCISSOR_TEST), + t.disable(t.DEPTH_TEST), + t.depthFunc(t.LESS), + t.depthMask(!1), + t.enable(t.BLEND), + t.blendEquation(t.FUNC_ADD, t.FUNC_ADD), + t.blendFunc(t.ONE, t.ONE_MINUS_SRC_ALPHA), + this.borderColor) + ) { + t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]); + var c = this.borderColor; + (t.clearColor(c[0] * c[3], c[1] * c[3], c[2] * c[3], c[3]), + t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT)); + } + (t.scissor(r[0], r[1], r[2] - r[0], r[3] - r[1]), + t.viewport(r[0], r[1], r[2] - r[0], r[3] - r[1])); + var u = this.backgroundColor; + (t.clearColor(u[0] * u[3], u[1] * u[3], u[2] * u[3], u[3]), + t.clear(t.COLOR_BUFFER_BIT), + a.draw()); + var f = this.zeroLineEnable, + h = this.zeroLineColor, + p = this.zeroLineWidth; + if (f[0] || f[1]) { + o.bind(); + for (var d = 0; d < 2; ++d) + if (f[d] && n[d] <= 0 && n[d + 2] >= 0) { + var g = e[d] - (n[d] * (e[d + 2] - e[d])) / (n[d + 2] - n[d]); + 0 === d + ? o.drawLine(g, e[1], g, e[3], p[d], h[d]) + : o.drawLine(e[0], g, e[2], g, p[d], h[d]); + } + } + for (d = 0; d < l.length; ++d) l[d].draw(); + (t.viewport(e[0], e[1], e[2] - e[0], e[3] - e[1]), + t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]), + this.grid.drawTickMarks(), + o.bind()); + var m = this.borderLineEnable, + v = this.borderLineWidth, + y = this.borderLineColor; + for ( + m[1] && + o.drawLine( + r[0], + r[1] - 0.5 * v[1] * i, + r[0], + r[3] + 0.5 * v[3] * i, + v[1], + y[1], + ), + m[0] && + o.drawLine( + r[0] - 0.5 * v[0] * i, + r[1], + r[2] + 0.5 * v[2] * i, + r[1], + v[0], + y[0], + ), + m[3] && + o.drawLine( + r[2], + r[1] - 0.5 * v[1] * i, + r[2], + r[3] + 0.5 * v[3] * i, + v[3], + y[3], + ), + m[2] && + o.drawLine( + r[0] - 0.5 * v[0] * i, + r[3], + r[2] + 0.5 * v[2] * i, + r[3], + v[2], + y[2], + ), + s.bind(), + d = 0; + d < 2; + ++d + ) + s.drawTicks(d); + this.titleEnable && s.drawTitle(); + var x = this.overlays; + for (d = 0; d < x.length; ++d) x[d].draw(); + (t.disable(t.SCISSOR_TEST), t.disable(t.BLEND), t.depthMask(!0)); + } + }), + (c.drawPick = function () { + if (!this.static) { + var t = this.pickBuffer; + this.gl; + ((this._pickTimeout = null), t.begin()); + for (var e = 1, r = this.objects, n = 0; n < r.length; ++n) + e = r[n].drawPick(e); + t.end(); + } + }), + (c.pick = function (t, e) { + if (!this.static) { + var r = this.pixelRatio, + n = this.pickPixelRatio, + i = this.viewBox, + a = 0 | Math.round((t - i[0] / r) * n), + o = 0 | Math.round((e - i[1] / r) * n), + s = this.pickBuffer.query(a, o, this.pickRadius); + if (!s) return null; + for ( + var l = + s.id + + (s.value[0] << 8) + + (s.value[1] << 16) + + (s.value[2] << 24), + c = this.objects, + u = 0; + u < c.length; + ++u + ) { + var f = c[u].pick(a, o, l); + if (f) return f; + } + return null; + } + }), + (c.setScreenBox = function (t) { + var e = this.screenBox, + r = this.pixelRatio; + ((e[0] = 0 | Math.round(t[0] * r)), + (e[1] = 0 | Math.round(t[1] * r)), + (e[2] = 0 | Math.round(t[2] * r)), + (e[3] = 0 | Math.round(t[3] * r)), + this.setDirty()); + }), + (c.setDataBox = function (t) { + var e = this.dataBox; + (e[0] !== t[0] || e[1] !== t[1] || e[2] !== t[2] || e[3] !== t[3]) && + ((e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + this.setDirty()); + }), + (c.setViewBox = function (t) { + var e = this.pixelRatio, + r = this.viewBox; + ((r[0] = 0 | Math.round(t[0] * e)), + (r[1] = 0 | Math.round(t[1] * e)), + (r[2] = 0 | Math.round(t[2] * e)), + (r[3] = 0 | Math.round(t[3] * e))); + var n = this.pickPixelRatio; + ((this.pickBuffer.shape = [ + 0 | Math.round((t[2] - t[0]) * n), + 0 | Math.round((t[3] - t[1]) * n), + ]), + this.setDirty()); + }), + (c.update = function (t) { + t = t || {}; + var e = this.gl; + this.pixelRatio = t.pixelRatio || 1; + var r = this.pixelRatio; + ((this.pickPixelRatio = Math.max(r, 1)), + this.setScreenBox( + t.screenBox || [ + 0, + 0, + e.drawingBufferWidth / r, + e.drawingBufferHeight / r, + ], + )); + this.screenBox; + this.setViewBox( + t.viewBox || [ + (0.125 * (this.screenBox[2] - this.screenBox[0])) / r, + (0.125 * (this.screenBox[3] - this.screenBox[1])) / r, + (0.875 * (this.screenBox[2] - this.screenBox[0])) / r, + (0.875 * (this.screenBox[3] - this.screenBox[1])) / r, + ], + ); + var n = this.viewBox, + i = (n[2] - n[0]) / (n[3] - n[1]); + (this.setDataBox(t.dataBox || [-10, -10 / i, 10, 10 / i]), + (this.borderColor = + !1 !== t.borderColor && (t.borderColor || [0, 0, 0, 0]).slice()), + (this.backgroundColor = (t.backgroundColor || [0, 0, 0, 0]).slice()), + (this.gridLineEnable = (t.gridLineEnable || [!0, !0]).slice()), + (this.gridLineWidth = (t.gridLineWidth || [1, 1]).slice()), + (this.gridLineColor = u( + t.gridLineColor || [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ], + )), + (this.zeroLineEnable = (t.zeroLineEnable || [!0, !0]).slice()), + (this.zeroLineWidth = (t.zeroLineWidth || [4, 4]).slice()), + (this.zeroLineColor = u( + t.zeroLineColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.tickMarkLength = (t.tickMarkLength || [0, 0, 0, 0]).slice()), + (this.tickMarkWidth = (t.tickMarkWidth || [0, 0, 0, 0]).slice()), + (this.tickMarkColor = u( + t.tickMarkColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.titleCenter = ( + t.titleCenter || [(0.5 * (n[0] + n[2])) / r, (n[3] + 120) / r] + ).slice()), + (this.titleEnable = !("titleEnable" in t && !t.titleEnable)), + (this.titleAngle = t.titleAngle || 0), + (this.titleColor = (t.titleColor || [0, 0, 0, 1]).slice()), + (this.labelPad = (t.labelPad || [15, 15, 15, 15]).slice()), + (this.labelAngle = ( + t.labelAngle || [0, Math.PI / 2, 0, (3 * Math.PI) / 2] + ).slice()), + (this.labelEnable = (t.labelEnable || [!0, !0, !0, !0]).slice()), + (this.labelColor = u( + t.labelColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.tickPad = (t.tickPad || [15, 15, 15, 15]).slice()), + (this.tickAngle = (t.tickAngle || [0, 0, 0, 0]).slice()), + (this.tickEnable = (t.tickEnable || [!0, !0, !0, !0]).slice()), + (this.tickColor = u( + t.tickColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + )), + (this.borderLineEnable = ( + t.borderLineEnable || [!0, !0, !0, !0] + ).slice()), + (this.borderLineWidth = (t.borderLineWidth || [2, 2, 2, 2]).slice()), + (this.borderLineColor = u( + t.borderLineColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ], + ))); + var a = t.ticks || [[], []], + o = this._tickBounds; + ((o[0] = o[1] = 1 / 0), (o[2] = o[3] = -1 / 0)); + for (var s = 0; s < 2; ++s) { + var l = a[s].slice(0); + 0 !== l.length && + (l.sort(f), + (o[s] = Math.min(o[s], l[0].x)), + (o[s + 2] = Math.max(o[s + 2], l[l.length - 1].x))); + } + (this.grid.update({ bounds: o, ticks: a }), + this.text.update({ + bounds: o, + ticks: a, + labels: t.labels || ["x", "y"], + labelSize: t.labelSize || [12, 12], + labelFont: t.labelFont || ["sans-serif", "sans-serif"], + title: t.title || "", + titleSize: t.titleSize || 18, + titleFont: t.titleFont || "sans-serif", + }), + (this.static = !!t.static), + this.setDirty()); + }), + (c.dispose = function () { + (this.box.dispose(), + this.grid.dispose(), + this.text.dispose(), + this.line.dispose()); + for (var t = this.objects.length - 1; t >= 0; --t) + this.objects[t].dispose(); + this.objects.length = 0; + for (t = this.overlays.length - 1; t >= 0; --t) + this.overlays[t].dispose(); + ((this.overlays.length = 0), (this.gl = null)); + }), + (c.addObject = function (t) { + this.objects.indexOf(t) < 0 && (this.objects.push(t), this.setDirty()); + }), + (c.removeObject = function (t) { + for (var e = this.objects, r = 0; r < e.length; ++r) + if (e[r] === t) { + (e.splice(r, 1), this.setDirty()); + break; + } + }), + (c.addOverlay = function (t) { + this.overlays.indexOf(t) < 0 && + (this.overlays.push(t), this.setOverlayDirty()); + }), + (c.removeOverlay = function (t) { + for (var e = this.overlays, r = 0; r < e.length; ++r) + if (e[r] === t) { + (e.splice(r, 1), this.setOverlayDirty()); + break; + } + })); + }, + { + "./lib/box": 245, + "./lib/grid": 246, + "./lib/line": 247, + "./lib/text": 249, + "gl-select-static": 262, + }, + ], + 252: [ + function (t, e, r) { + var n = t("glslify"), + i = t("gl-shader"), + a = n([ + "precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}", + ]); + e.exports = function (t) { + return i(t, a, o, null, [{ name: "position", type: "vec2" }]); + }; + }, + { "gl-shader": 263, glslify: 295 }, + ], + 253: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = !1, + r = + ((t = t || {}).pixelRatio || parseFloat(window.devicePixelRatio), + t.canvas); + if (!r) + if (((r = document.createElement("canvas")), t.container)) { + var m = t.container; + m.appendChild(r); + } else document.body.appendChild(r); + var v = t.gl; + v || + (v = (function (t, e) { + var r = null; + try { + (r = t.getContext("webgl", e)) || + (r = t.getContext("experimental-webgl", e)); + } catch (t) { + return null; + } + return r; + })(r, t.glOptions || { premultipliedAlpha: !0, antialias: !0 })); + if (!v) throw new Error("webgl not supported"); + var y = t.bounds || [ + [-10, -10, -10], + [10, 10, 10], + ], + x = new (function () { + ((this.mouse = [-1, -1]), + (this.screen = null), + (this.distance = 1 / 0), + (this.index = null), + (this.dataCoordinate = null), + (this.dataPosition = null), + (this.object = null), + (this.data = null)); + })(), + b = l(v, [v.drawingBufferWidth, v.drawingBufferHeight], { + preferFloat: !p, + }), + _ = h(v), + w = t.camera || { + eye: [2, 0, 0], + center: [0, 0, 0], + up: [0, 1, 0], + zoomMin: 0.1, + zoomMax: 100, + mode: "turntable", + }, + k = t.axes || {}, + M = i(v, k); + M.enable = !k.disable; + var A = t.spikes || {}, + T = o(v, A), + S = [], + C = [], + E = [], + L = [], + z = !0, + P = !0, + D = new Array(16), + O = new Array(16), + I = { view: null, projection: D, model: O }, + P = !0, + R = [v.drawingBufferWidth, v.drawingBufferHeight], + B = { + gl: v, + contextLost: !1, + pixelRatio: t.pixelRatio || parseFloat(window.devicePixelRatio), + canvas: r, + selection: x, + camera: n(r, w), + axes: M, + axesPixels: null, + spikes: T, + bounds: y, + objects: S, + shape: R, + aspect: t.aspectRatio || [1, 1, 1], + pickRadius: t.pickRadius || 10, + zNear: t.zNear || 0.01, + zFar: t.zFar || 1e3, + fovy: t.fovy || Math.PI / 4, + clearColor: t.clearColor || [0, 0, 0, 0], + autoResize: g(t.autoResize), + autoBounds: g(t.autoBounds), + autoScale: !!t.autoScale, + autoCenter: g(t.autoCenter), + clipToBounds: g(t.clipToBounds), + snapToData: !!t.snapToData, + onselect: t.onselect || null, + onrender: t.onrender || null, + onclick: t.onclick || null, + cameraParams: I, + oncontextloss: null, + mouseListener: null, + }, + F = [ + (v.drawingBufferWidth / B.pixelRatio) | 0, + (v.drawingBufferHeight / B.pixelRatio) | 0, + ]; + function N() { + if (!e && B.autoResize) { + var t = r.parentNode, + n = 1, + i = 1; + t && t !== document.body + ? ((n = t.clientWidth), (i = t.clientHeight)) + : ((n = window.innerWidth), (i = window.innerHeight)); + var a = 0 | Math.ceil(n * B.pixelRatio), + o = 0 | Math.ceil(i * B.pixelRatio); + if (a !== r.width || o !== r.height) { + ((r.width = a), (r.height = o)); + var s = r.style; + ((s.position = s.position || "absolute"), + (s.left = "0px"), + (s.top = "0px"), + (s.width = n + "px"), + (s.height = i + "px"), + (z = !0)); + } + } + } + B.autoResize && N(); + function j() { + for (var t = S.length, e = L.length, r = 0; r < e; ++r) E[r] = 0; + t: for (var r = 0; r < t; ++r) { + var n = S[r], + i = n.pickSlots; + if (i) { + for (var a = 0; a < e; ++a) + if (E[a] + i < 255) { + ((C[r] = a), n.setPickBase(E[a] + 1), (E[a] += i)); + continue t; + } + var o = s(v, R); + ((C[r] = e), L.push(o), E.push(i), n.setPickBase(1), (e += 1)); + } else C[r] = -1; + } + for (; e > 0 && 0 === E[e - 1]; ) (E.pop(), L.pop().dispose()); + } + (window.addEventListener("resize", N), + (B.update = function (t) { + e || ((t = t || {}), (z = !0), (P = !0)); + }), + (B.add = function (t) { + e || ((t.axes = M), S.push(t), C.push(-1), (z = !0), (P = !0), j()); + }), + (B.remove = function (t) { + if (!e) { + var r = S.indexOf(t); + r < 0 || (S.splice(r, 1), C.pop(), (z = !0), (P = !0), j()); + } + }), + (B.dispose = function () { + if ( + !e && + ((e = !0), + window.removeEventListener("resize", N), + r.removeEventListener("webglcontextlost", q), + (B.mouseListener.enabled = !1), + !B.contextLost) + ) { + (M.dispose(), T.dispose()); + for (var t = 0; t < S.length; ++t) S[t].dispose(); + b.dispose(); + for (var t = 0; t < L.length; ++t) L[t].dispose(); + (_.dispose(), (v = null), (M = null), (T = null), (S = [])); + } + })); + var V = !1, + U = 0; + function q() { + if (B.contextLost) return !0; + v.isContextLost() && + ((B.contextLost = !0), + (B.mouseListener.enabled = !1), + (B.selection.object = null), + B.oncontextloss && B.oncontextloss()); + } + ((B.mouseListener = u(r, function (t, r, n) { + if (!e) { + var i = L.length, + a = S.length, + o = x.object; + ((x.distance = 1 / 0), + (x.mouse[0] = r), + (x.mouse[1] = n), + (x.object = null), + (x.screen = null), + (x.dataCoordinate = x.dataPosition = null)); + var s = !1; + if (t && U) V = !0; + else { + (V && (P = !0), (V = !1)); + for (var l = 0; l < i; ++l) { + var c = L[l].query(r, F[1] - n - 1, B.pickRadius); + if (c) { + if (c.distance > x.distance) continue; + for (var u = 0; u < a; ++u) { + var f = S[u]; + if (C[u] === l) { + var h = f.pick(c); + h && + ((x.buttons = t), + (x.screen = c.coord), + (x.distance = c.distance), + (x.object = f), + (x.index = h.distance), + (x.dataPosition = h.position), + (x.dataCoordinate = h.dataCoordinate), + (x.data = h), + (s = !0)); + } + } + } + } + } + (o && o !== x.object && (o.highlight && o.highlight(null), (z = !0)), + x.object && + (x.object.highlight && x.object.highlight(x.data), (z = !0)), + (s = s || x.object !== o) && B.onselect && B.onselect(x), + 1 & t && !(1 & U) && B.onclick && B.onclick(x), + (U = t)); + } + })), + r.addEventListener("webglcontextlost", q)); + var H = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + G = [H[0].slice(), H[1].slice()]; + function W() { + if (!q()) { + N(); + var t = B.camera.tick(); + ((I.view = B.camera.matrix), + (z = z || t), + (P = P || t), + (M.pixelRatio = B.pixelRatio), + (T.pixelRatio = B.pixelRatio)); + var e = S.length, + r = H[0], + n = H[1]; + ((r[0] = r[1] = r[2] = 1 / 0), (n[0] = n[1] = n[2] = -1 / 0)); + for (var i = 0; i < e; ++i) { + var o = S[i]; + ((o.pixelRatio = B.pixelRatio), + (o.axes = B.axes), + (z = z || !!o.dirty), + (P = P || !!o.dirty)); + var s = o.bounds; + if (s) + for (var l = s[0], u = s[1], h = 0; h < 3; ++h) + ((r[h] = Math.min(r[h], l[h])), (n[h] = Math.max(n[h], u[h]))); + } + var p = B.bounds; + if (B.autoBounds) + for (var h = 0; h < 3; ++h) { + if (n[h] < r[h]) ((r[h] = -1), (n[h] = 1)); + else { + r[h] === n[h] && ((r[h] -= 1), (n[h] += 1)); + var g = 0.05 * (n[h] - r[h]); + ((r[h] = r[h] - g), (n[h] = n[h] + g)); + } + ((p[0][h] = r[h]), (p[1][h] = n[h])); + } + for (var m = !1, h = 0; h < 3; ++h) + ((m = m || G[0][h] !== p[0][h] || G[1][h] !== p[1][h]), + (G[0][h] = p[0][h]), + (G[1][h] = p[1][h])); + if (((P = P || m), (z = z || m))) { + if (m) { + for (var y = [0, 0, 0], i = 0; i < 3; ++i) + y[i] = d((p[1][i] - p[0][i]) / 10); + M.autoTicks + ? M.update({ bounds: p, tickSpacing: y }) + : M.update({ bounds: p }); + } + var w = v.drawingBufferWidth, + k = v.drawingBufferHeight; + ((R[0] = w), + (R[1] = k), + (F[0] = 0 | Math.max(w / B.pixelRatio, 1)), + (F[1] = 0 | Math.max(k / B.pixelRatio, 1)), + f(D, B.fovy, w / k, B.zNear, B.zFar)); + for (var i = 0; i < 16; ++i) O[i] = 0; + O[15] = 1; + for (var A = 0, i = 0; i < 3; ++i) A = Math.max(A, p[1][i] - p[0][i]); + for (var i = 0; i < 3; ++i) + (B.autoScale + ? (O[5 * i] = B.aspect[i] / (p[1][i] - p[0][i])) + : (O[5 * i] = 1 / A), + B.autoCenter && + (O[12 + i] = 0.5 * -O[5 * i] * (p[0][i] + p[1][i]))); + for (var i = 0; i < e; ++i) { + var o = S[i]; + ((o.axesBounds = p), B.clipToBounds && (o.clipBounds = p)); + } + (x.object && + (B.snapToData + ? (T.position = x.dataCoordinate) + : (T.position = x.dataPosition), + (T.bounds = p)), + P && + ((P = !1), + (function () { + if (q()) return; + (v.colorMask(!0, !0, !0, !0), + v.depthMask(!0), + v.disable(v.BLEND), + v.enable(v.DEPTH_TEST)); + for (var t = S.length, e = L.length, r = 0; r < e; ++r) { + var n = L[r]; + ((n.shape = F), n.begin()); + for (var i = 0; i < t; ++i) + if (C[i] === r) { + var a = S[i]; + a.drawPick && ((a.pixelRatio = 1), a.drawPick(I)); + } + n.end(); + } + })()), + (B.axesPixels = a(B.axes, I, w, k)), + B.onrender && B.onrender(), + v.bindFramebuffer(v.FRAMEBUFFER, null), + v.viewport(0, 0, w, k)); + var E = B.clearColor; + (v.clearColor(E[0], E[1], E[2], E[3]), + v.clear(v.COLOR_BUFFER_BIT | v.DEPTH_BUFFER_BIT), + v.depthMask(!0), + v.colorMask(!0, !0, !0, !0), + v.enable(v.DEPTH_TEST), + v.depthFunc(v.LEQUAL), + v.disable(v.BLEND), + v.disable(v.CULL_FACE)); + var j = !1; + (M.enable && ((j = j || M.isTransparent()), M.draw(I)), + (T.axes = M), + x.object && T.draw(I), + v.disable(v.CULL_FACE)); + for (var i = 0; i < e; ++i) { + var o = S[i]; + ((o.axes = M), + (o.pixelRatio = B.pixelRatio), + o.isOpaque && o.isOpaque() && o.draw(I), + o.isTransparent && o.isTransparent() && (j = !0)); + } + if (j) { + ((b.shape = R), + b.bind(), + v.clear(v.DEPTH_BUFFER_BIT), + v.colorMask(!1, !1, !1, !1), + v.depthMask(!0), + v.depthFunc(v.LESS), + M.enable && M.isTransparent() && M.drawTransparent(I)); + for (var i = 0; i < e; ++i) { + var o = S[i]; + o.isOpaque && o.isOpaque() && o.draw(I); + } + (v.enable(v.BLEND), + v.blendEquation(v.FUNC_ADD), + v.blendFunc(v.ONE, v.ONE_MINUS_SRC_ALPHA), + v.colorMask(!0, !0, !0, !0), + v.depthMask(!1), + v.clearColor(0, 0, 0, 0), + v.clear(v.COLOR_BUFFER_BIT), + M.isTransparent() && M.drawTransparent(I)); + for (var i = 0; i < e; ++i) { + var o = S[i]; + o.isTransparent && o.isTransparent() && o.drawTransparent(I); + } + (v.bindFramebuffer(v.FRAMEBUFFER, null), + v.blendFunc(v.ONE, v.ONE_MINUS_SRC_ALPHA), + v.disable(v.DEPTH_TEST), + _.bind(), + b.color[0].bind(0), + (_.uniforms.accumBuffer = 0), + c(v), + v.disable(v.BLEND)); + } + z = !1; + for (var i = 0; i < e; ++i) S[i].dirty = !1; + } + } + } + return ( + (function t() { + e || B.contextLost || (requestAnimationFrame(t), W()); + })(), + (B.redraw = function () { + e || ((z = !0), W()); + }), + B + ); + }; + var n = t("3d-view-controls"), + i = t("gl-axes3d"), + a = t("gl-axes3d/properties"), + o = t("gl-spikes3d"), + s = t("gl-select-static"), + l = t("gl-fbo"), + c = t("a-big-triangle"), + u = t("mouse-change"), + f = t("gl-mat4/perspective"), + h = t("./lib/shader"), + p = t("is-mobile")(); + function d(t) { + var e = Math.round(Math.log(Math.abs(t)) / Math.log(10)); + if (e < 0) { + var r = Math.round(Math.pow(10, -e)); + return Math.ceil(t * r) / r; + } + if (e > 0) { + r = Math.round(Math.pow(10, e)); + return Math.ceil(t / r) * r; + } + return Math.ceil(t); + } + function g(t) { + return "boolean" != typeof t || t; + } + }, + { + "./lib/shader": 252, + "3d-view-controls": 40, + "a-big-triangle": 43, + "gl-axes3d": 202, + "gl-axes3d/properties": 209, + "gl-fbo": 215, + "gl-mat4/perspective": 233, + "gl-select-static": 262, + "gl-spikes3d": 272, + "is-mobile": 306, + "mouse-change": 320, + }, + ], + 254: [ + function (t, e, r) { + var n = t("glslify"); + ((r.pointVertex = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}", + ])), + (r.pointFragment = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n", + ])), + (r.pickVertex = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n", + ])), + (r.pickFragment = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n", + ]))); + }, + { glslify: 295 }, + ], + 255: [ + function (t, e, r) { + "use strict"; + var n = t("gl-shader"), + i = t("gl-buffer"), + a = t("typedarray-pool"), + o = t("./lib/shader"); + function s(t, e, r, n, i) { + ((this.plot = t), + (this.offsetBuffer = e), + (this.pickBuffer = r), + (this.shader = n), + (this.pickShader = i), + (this.sizeMin = 0.5), + (this.sizeMinCap = 2), + (this.sizeMax = 20), + (this.areaRatio = 1), + (this.pointCount = 0), + (this.color = [1, 0, 0, 1]), + (this.borderColor = [0, 0, 0, 1]), + (this.blend = !1), + (this.pickOffset = 0), + (this.points = null)); + } + e.exports = function (t, e) { + var r = t.gl, + a = i(r), + l = i(r), + c = n(r, o.pointVertex, o.pointFragment), + u = n(r, o.pickVertex, o.pickFragment), + f = new s(t, a, l, c, u); + return (f.update(e), t.addObject(f), f); + }; + var l, + c, + u = s.prototype; + ((u.dispose = function () { + (this.shader.dispose(), + this.pickShader.dispose(), + this.offsetBuffer.dispose(), + this.pickBuffer.dispose(), + this.plot.removeObject(this)); + }), + (u.update = function (t) { + var e; + function r(e, r) { + return e in t ? t[e] : r; + } + ((t = t || {}), + (this.sizeMin = r("sizeMin", 0.5)), + (this.sizeMax = r("sizeMax", 20)), + (this.color = r("color", [1, 0, 0, 1]).slice()), + (this.areaRatio = r("areaRatio", 1)), + (this.borderColor = r("borderColor", [0, 0, 0, 1]).slice()), + (this.blend = r("blend", !1))); + var n = t.positions.length >>> 1, + i = t.positions instanceof Float32Array, + o = t.idToIndex instanceof Int32Array && t.idToIndex.length >= n, + s = t.positions, + l = i ? s : a.mallocFloat32(s.length), + c = o ? t.idToIndex : a.mallocInt32(n); + if ((i || l.set(s), !o)) for (l.set(s), e = 0; e < n; e++) c[e] = e; + ((this.points = s), + this.offsetBuffer.update(l), + this.pickBuffer.update(c), + i || a.free(l), + o || a.free(c), + (this.pointCount = n), + (this.pickOffset = 0)); + }), + (u.unifiedDraw = + ((l = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + (c = [0, 0, 0, 0]), + function (t) { + var e = void 0 !== t, + r = e ? this.pickShader : this.shader, + n = this.plot.gl, + i = this.plot.dataBox; + if (0 === this.pointCount) return t; + var a = i[2] - i[0], + o = i[3] - i[1], + s = (function (t, e) { + var r, + n = 0, + i = t.length >>> 1; + for (r = 0; r < i; r++) { + var a = t[2 * r], + o = t[2 * r + 1]; + a >= e[0] && a <= e[2] && o >= e[1] && o <= e[3] && n++; + } + return n; + })(this.points, i), + u = + this.plot.pickPixelRatio * + Math.max( + Math.min(this.sizeMinCap, this.sizeMin), + Math.min(this.sizeMax, this.sizeMax / Math.pow(s, 0.33333)), + ); + ((l[0] = 2 / a), + (l[4] = 2 / o), + (l[6] = (-2 * i[0]) / a - 1), + (l[7] = (-2 * i[1]) / o - 1), + this.offsetBuffer.bind(), + r.bind(), + r.attributes.position.pointer(), + (r.uniforms.matrix = l), + (r.uniforms.color = this.color), + (r.uniforms.borderColor = this.borderColor), + (r.uniforms.pointCloud = u < 5), + (r.uniforms.pointSize = u), + (r.uniforms.centerFraction = Math.min( + 1, + Math.max(0, Math.sqrt(1 - this.areaRatio)), + )), + e && + ((c[0] = 255 & t), + (c[1] = (t >> 8) & 255), + (c[2] = (t >> 16) & 255), + (c[3] = (t >> 24) & 255), + this.pickBuffer.bind(), + r.attributes.pickId.pointer(n.UNSIGNED_BYTE), + (r.uniforms.pickOffset = c), + (this.pickOffset = t))); + var f = n.getParameter(n.BLEND), + h = n.getParameter(n.DITHER); + return ( + f && !this.blend && n.disable(n.BLEND), + h && n.disable(n.DITHER), + n.drawArrays(n.POINTS, 0, this.pointCount), + f && !this.blend && n.enable(n.BLEND), + h && n.enable(n.DITHER), + t + this.pointCount + ); + })), + (u.draw = u.unifiedDraw), + (u.drawPick = u.unifiedDraw), + (u.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.pointCount; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.points; + return { object: this, pointId: a, dataCoord: [o[2 * a], o[2 * a + 1]] }; + })); + }, + { + "./lib/shader": 254, + "gl-buffer": 210, + "gl-shader": 263, + "typedarray-pool": 423, + }, + ], + 256: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + c = e[0], + u = e[1], + f = e[2], + h = e[3], + p = r[0], + d = r[1], + g = r[2], + m = r[3]; + (a = c * p + u * d + f * g + h * m) < 0 && + ((a = -a), (p = -p), (d = -d), (g = -g), (m = -m)); + 1 - a > 1e-6 + ? ((i = Math.acos(a)), + (o = Math.sin(i)), + (s = Math.sin((1 - n) * i) / o), + (l = Math.sin(n * i) / o)) + : ((s = 1 - n), (l = n)); + return ( + (t[0] = s * c + l * p), + (t[1] = s * u + l * d), + (t[2] = s * f + l * g), + (t[3] = s * h + l * m), + t + ); + }; + }, + {}, + ], + 257: [ + function (t, e, r) { + "use strict"; + var n = t("vectorize-text"); + e.exports = function (t, e) { + var r = i[e]; + r || (r = i[e] = {}); + if (t in r) return r[t]; + for ( + var a = n(t, { + textAlign: "center", + textBaseline: "middle", + lineHeight: 1, + font: e, + }), + o = n(t, { + triangles: !0, + textAlign: "center", + textBaseline: "middle", + lineHeight: 1, + font: e, + }), + s = [ + [1 / 0, 1 / 0], + [-1 / 0, -1 / 0], + ], + l = 0; + l < a.positions.length; + ++l + ) + for (var c = a.positions[l], u = 0; u < 2; ++u) + ((s[0][u] = Math.min(s[0][u], c[u])), + (s[1][u] = Math.max(s[1][u], c[u]))); + return (r[t] = [o, a, s]); + }; + var i = {}; + }, + { "vectorize-text": 430 }, + ], + 258: [ + function (t, e, r) { + var n = t("gl-shader"), + i = t("glslify"), + a = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n \n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + o = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n \n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", + ]), + s = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) ||\n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n", + ]), + l = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) ||\n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = interpColor * opacity;\n }\n}\n", + ]), + c = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) || \n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n }\n}", + ]), + u = [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec4" }, + { name: "glyph", type: "vec2" }, + { name: "id", type: "vec4" }, + ], + f = { vertex: a, fragment: l, attributes: u }, + h = { vertex: o, fragment: l, attributes: u }, + p = { vertex: s, fragment: l, attributes: u }, + d = { vertex: a, fragment: c, attributes: u }, + g = { vertex: o, fragment: c, attributes: u }, + m = { vertex: s, fragment: c, attributes: u }; + function v(t, e) { + var r = n(t, e), + i = r.attributes; + return ( + (i.position.location = 0), + (i.color.location = 1), + (i.glyph.location = 2), + (i.id.location = 3), + r + ); + } + ((r.createPerspective = function (t) { + return v(t, f); + }), + (r.createOrtho = function (t) { + return v(t, h); + }), + (r.createProject = function (t) { + return v(t, p); + }), + (r.createPickPerspective = function (t) { + return v(t, d); + }), + (r.createPickOrtho = function (t) { + return v(t, g); + }), + (r.createPickProject = function (t) { + return v(t, m); + })); + }, + { "gl-shader": 263, glslify: 295 }, + ], + 259: [ + function (t, e, r) { + "use strict"; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("typedarray-pool"), + o = t("gl-mat4/multiply"), + s = t("./lib/shaders"), + l = t("./lib/glyphs"), + c = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function u(t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t[3]; + return ( + (t[0] = e[0] * r + e[4] * n + e[8] * i + e[12] * a), + (t[1] = e[1] * r + e[5] * n + e[9] * i + e[13] * a), + (t[2] = e[2] * r + e[6] * n + e[10] * i + e[14] * a), + (t[3] = e[3] * r + e[7] * n + e[11] * i + e[15] * a), + t + ); + } + function f(t, e, r, n) { + return (u(n, n), u(n, n), u(n, n)); + } + function h(t, e, r, n, i, a, o, s, l, c, u, f) { + ((this.gl = t), + (this.pixelRatio = 1), + (this.shader = e), + (this.orthoShader = r), + (this.projectShader = n), + (this.pointBuffer = i), + (this.colorBuffer = a), + (this.glyphBuffer = o), + (this.idBuffer = s), + (this.vao = l), + (this.vertexCount = 0), + (this.lineVertexCount = 0), + (this.opacity = 1), + (this.lineWidth = 0), + (this.projectScale = [2 / 3, 2 / 3, 2 / 3]), + (this.projectOpacity = [1, 1, 1]), + (this.pickId = 0), + (this.pickPerspectiveShader = c), + (this.pickOrthoShader = u), + (this.pickProjectShader = f), + (this.points = []), + (this._selectResult = new (function (t, e) { + ((this.index = t), (this.dataCoordinate = this.position = e)); + })(0, [0, 0, 0])), + (this.useOrtho = !0), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.axesProject = [!0, !0, !0]), + (this.axesBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.highlightId = [1, 1, 1, 1]), + (this.highlightScale = 2), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.dirty = !0)); + } + e.exports = function (t) { + var e = t.gl, + r = s.createPerspective(e), + a = s.createOrtho(e), + o = s.createProject(e), + l = s.createPickPerspective(e), + c = s.createPickOrtho(e), + u = s.createPickProject(e), + f = n(e), + p = n(e), + d = n(e), + g = n(e), + m = i(e, [ + { buffer: f, size: 3, type: e.FLOAT }, + { buffer: p, size: 4, type: e.FLOAT }, + { buffer: d, size: 2, type: e.FLOAT }, + { buffer: g, size: 4, type: e.UNSIGNED_BYTE, normalized: !0 }, + ]), + v = new h(e, r, a, o, f, p, d, g, m, l, c, u); + return (v.update(t), v); + }; + var p = h.prototype; + ((p.pickSlots = 1), + (p.setPickBase = function (t) { + this.pickId = t; + }), + (p.isTransparent = function () { + if (this.opacity < 1) return !0; + for (var t = 0; t < 3; ++t) + if (this.axesProject[t] && this.projectOpacity[t] < 1) return !0; + return !1; + }), + (p.isOpaque = function () { + if (this.opacity >= 1) return !0; + for (var t = 0; t < 3; ++t) + if (this.axesProject[t] && this.projectOpacity[t] >= 1) return !0; + return !1; + })); + var d = [0, 0], + g = [0, 0, 0], + m = [0, 0, 0], + v = [0, 0, 0, 1], + y = [0, 0, 0, 1], + x = c.slice(), + b = [0, 0, 0], + _ = [ + [0, 0, 0], + [0, 0, 0], + ]; + function w(t) { + return ((t[0] = t[1] = t[2] = 0), t); + } + function k(t, e) { + return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = 1), t); + } + function M(t, e, r, n) { + return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[r] = n), t); + } + function A(t, e, r, n, i) { + var a, + s = e.axesProject, + l = e.gl, + u = t.uniforms, + h = r.model || c, + p = r.view || c, + A = r.projection || c, + T = e.axesBounds, + S = (function (t) { + for (var e = _, r = 0; r < 2; ++r) + for (var n = 0; n < 3; ++n) + e[r][n] = Math.max(Math.min(t[r][n], 1e8), -1e8); + return e; + })(e.clipBounds); + ((a = + e.axes && e.axes.lastCubeProps ? e.axes.lastCubeProps.axis : [1, 1, 1]), + (d[0] = 2 / l.drawingBufferWidth), + (d[1] = 2 / l.drawingBufferHeight), + t.bind(), + (u.view = p), + (u.projection = A), + (u.screenSize = d), + (u.highlightId = e.highlightId), + (u.highlightScale = e.highlightScale), + (u.clipBounds = S), + (u.pickGroup = e.pickId / 255), + (u.pixelRatio = e.pixelRatio)); + for (var C = 0; C < 3; ++C) + if (s[C] && e.projectOpacity[C] < 1 === n) { + ((u.scale = e.projectScale[C]), (u.opacity = e.projectOpacity[C])); + for (var E = x, L = 0; L < 16; ++L) E[L] = 0; + for (L = 0; L < 4; ++L) E[5 * L] = 1; + ((E[5 * C] = 0), + a[C] < 0 ? (E[12 + C] = T[0][C]) : (E[12 + C] = T[1][C]), + o(E, h, E), + (u.model = E)); + var z = (C + 1) % 3, + P = (C + 2) % 3, + D = w(g), + O = w(m); + ((D[z] = 1), (O[P] = 1)); + var I = f(0, 0, 0, k(v, D)), + R = f(0, 0, 0, k(y, O)); + if (Math.abs(I[1]) > Math.abs(R[1])) { + var B = I; + ((I = R), (R = B), (B = D), (D = O), (O = B)); + var F = z; + ((z = P), (P = F)); + } + (I[0] < 0 && (D[z] = -1), R[1] > 0 && (O[P] = -1)); + var N = 0, + j = 0; + for (L = 0; L < 4; ++L) + ((N += Math.pow(h[4 * z + L], 2)), (j += Math.pow(h[4 * P + L], 2))); + ((D[z] /= Math.sqrt(N)), + (O[P] /= Math.sqrt(j)), + (u.axes[0] = D), + (u.axes[1] = O), + (u.fragClipBounds[0] = M(b, S[0], C, -1e8)), + (u.fragClipBounds[1] = M(b, S[1], C, 1e8)), + e.vao.draw(l.TRIANGLES, e.vertexCount), + e.lineWidth > 0 && + (l.lineWidth(e.lineWidth), + e.vao.draw(l.LINES, e.lineVertexCount, e.vertexCount))); + } + } + var T = [ + [-1e8, -1e8, -1e8], + [1e8, 1e8, 1e8], + ]; + function S(t, e, r, n, i, a) { + var o = r.gl; + if ((r.vao.bind(), i === r.opacity < 1 || a)) { + t.bind(); + var s = t.uniforms; + ((s.model = n.model || c), + (s.view = n.view || c), + (s.projection = n.projection || c), + (d[0] = 2 / o.drawingBufferWidth), + (d[1] = 2 / o.drawingBufferHeight), + (s.screenSize = d), + (s.highlightId = r.highlightId), + (s.highlightScale = r.highlightScale), + (s.fragClipBounds = T), + (s.clipBounds = r.axes.bounds), + (s.opacity = r.opacity), + (s.pickGroup = r.pickId / 255), + (s.pixelRatio = r.pixelRatio), + r.vao.draw(o.TRIANGLES, r.vertexCount), + r.lineWidth > 0 && + (o.lineWidth(r.lineWidth), + r.vao.draw(o.LINES, r.lineVertexCount, r.vertexCount))); + } + (A(e, r, n, i), r.vao.unbind()); + } + ((p.draw = function (t) { + S( + this.useOrtho ? this.orthoShader : this.shader, + this.projectShader, + this, + t, + !1, + !1, + ); + }), + (p.drawTransparent = function (t) { + S( + this.useOrtho ? this.orthoShader : this.shader, + this.projectShader, + this, + t, + !0, + !1, + ); + }), + (p.drawPick = function (t) { + S( + this.useOrtho ? this.pickOrthoShader : this.pickPerspectiveShader, + this.pickProjectShader, + this, + t, + !1, + !0, + ); + }), + (p.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = t.value[2] + (t.value[1] << 8) + (t.value[0] << 16); + if (e >= this.pointCount || e < 0) return null; + var r = this.points[e], + n = this._selectResult; + n.index = e; + for (var i = 0; i < 3; ++i) n.position[i] = n.dataCoordinate[i] = r[i]; + return n; + }), + (p.highlight = function (t) { + if (t) { + var e = t.index, + r = 255 & e, + n = (e >> 8) & 255, + i = (e >> 16) & 255; + this.highlightId = [r / 255, n / 255, i / 255, 0]; + } else this.highlightId = [1, 1, 1, 1]; + }), + (p.update = function (t) { + if ( + ("perspective" in (t = t || {}) && (this.useOrtho = !t.perspective), + "orthographic" in t && (this.useOrtho = !!t.orthographic), + "lineWidth" in t && (this.lineWidth = t.lineWidth), + "project" in t) + ) + if (Array.isArray(t.project)) this.axesProject = t.project; + else { + var e = !!t.project; + this.axesProject = [e, e, e]; + } + if ("projectScale" in t) + if (Array.isArray(t.projectScale)) + this.projectScale = t.projectScale.slice(); + else { + var r = +t.projectScale; + this.projectScale = [r, r, r]; + } + if ("projectOpacity" in t) + if (Array.isArray(t.projectOpacity)) + this.projectOpacity = t.projectOpacity.slice(); + else { + r = +t.projectOpacity; + this.projectOpacity = [r, r, r]; + } + ("opacity" in t && (this.opacity = t.opacity), (this.dirty = !0)); + var n = t.position; + if (n) { + var i = t.font || "normal", + o = t.alignment || [0, 0], + s = [1 / 0, 1 / 0, 1 / 0], + c = [-1 / 0, -1 / 0, -1 / 0], + u = t.glyph, + f = t.color, + h = t.size, + p = t.angle, + d = t.lineColor, + g = 0, + m = 0, + v = 0, + y = n.length; + t: for (var x = 0; x < y; ++x) { + for (var b = n[x], _ = 0; _ < 3; ++_) + if (isNaN(b[_]) || !isFinite(b[_])) continue t; + var w = (B = Array.isArray(u) ? l(u[x], i) : l(u || "\u25cf", i))[0], + k = B[1], + M = B[2]; + ((m += 3 * w.cells.length), (v += 2 * k.edges.length)); + } + var A = m + v, + T = a.mallocFloat(3 * A), + S = a.mallocFloat(4 * A), + C = a.mallocFloat(2 * A), + E = a.mallocUint32(A), + L = [0, o[1]], + z = 0, + P = m, + D = [0, 0, 0, 1], + O = [0, 0, 0, 1], + I = Array.isArray(f) && Array.isArray(f[0]), + R = Array.isArray(d) && Array.isArray(d[0]); + t: for (x = 0; x < y; ++x) { + var B; + for (b = n[x], _ = 0; _ < 3; ++_) { + if (isNaN(b[_]) || !isFinite(b[_])) { + g += 1; + continue t; + } + ((c[_] = Math.max(c[_], b[_])), (s[_] = Math.min(s[_], b[_]))); + } + var F; + ((w = (B = Array.isArray(u) ? l(u[x], i) : l(u || "\u25cf", i))[0]), + (k = B[1]), + (M = B[2])); + if (Array.isArray(f)) { + if (3 === (F = I ? f[x] : f).length) { + for (_ = 0; _ < 3; ++_) D[_] = F[_]; + D[3] = 1; + } else if (4 === F.length) for (_ = 0; _ < 4; ++_) D[_] = F[_]; + } else ((D[0] = D[1] = D[2] = 0), (D[3] = 1)); + if (Array.isArray(d)) { + if (3 === (F = R ? d[x] : d).length) { + for (_ = 0; _ < 3; ++_) O[_] = F[_]; + O[_] = 1; + } else if (4 === F.length) for (_ = 0; _ < 4; ++_) O[_] = F[_]; + } else ((O[0] = O[1] = O[2] = 0), (O[3] = 1)); + var N = 0.5; + Array.isArray(h) + ? (N = +h[x]) + : h + ? (N = +h) + : this.useOrtho && (N = 12); + var j = 0; + Array.isArray(p) ? (j = +p[x]) : p && (j = +p); + var V = Math.cos(j), + U = Math.sin(j); + for (b = n[x], _ = 0; _ < 3; ++_) + ((c[_] = Math.max(c[_], b[_])), (s[_] = Math.min(s[_], b[_]))); + o[0] < 0 + ? (L[0] = o[0] * (1 + M[1][0])) + : o[0] > 0 && (L[0] = -o[0] * (1 + M[0][0])); + var q = w.cells, + H = w.positions; + for (_ = 0; _ < q.length; ++_) + for (var G = q[_], W = 0; W < 3; ++W) { + for (var Y = 0; Y < 3; ++Y) T[3 * z + Y] = b[Y]; + for (Y = 0; Y < 4; ++Y) S[4 * z + Y] = D[Y]; + E[z] = g; + var X = H[G[W]]; + ((C[2 * z] = N * (V * X[0] - U * X[1] + L[0])), + (C[2 * z + 1] = N * (U * X[0] + V * X[1] + L[1])), + (z += 1)); + } + for (q = k.edges, H = k.positions, _ = 0; _ < q.length; ++_) + for (G = q[_], W = 0; W < 2; ++W) { + for (Y = 0; Y < 3; ++Y) T[3 * P + Y] = b[Y]; + for (Y = 0; Y < 4; ++Y) S[4 * P + Y] = O[Y]; + E[P] = g; + X = H[G[W]]; + ((C[2 * P] = N * (V * X[0] - U * X[1] + L[0])), + (C[2 * P + 1] = N * (U * X[0] + V * X[1] + L[1])), + (P += 1)); + } + g += 1; + } + ((this.vertexCount = m), + (this.lineVertexCount = v), + this.pointBuffer.update(T), + this.colorBuffer.update(S), + this.glyphBuffer.update(C), + this.idBuffer.update(new Uint32Array(E)), + a.free(T), + a.free(S), + a.free(C), + a.free(E), + (this.bounds = [s, c]), + (this.points = n), + (this.pointCount = n.length)); + } + }), + (p.dispose = function () { + (this.shader.dispose(), + this.orthoShader.dispose(), + this.pickPerspectiveShader.dispose(), + this.pickOrthoShader.dispose(), + this.vao.dispose(), + this.pointBuffer.dispose(), + this.colorBuffer.dispose(), + this.glyphBuffer.dispose(), + this.idBuffer.dispose()); + })); + }, + { + "./lib/glyphs": 257, + "./lib/shaders": 258, + "gl-buffer": 210, + "gl-mat4/multiply": 232, + "gl-vao": 279, + "typedarray-pool": 423, + }, + ], + 260: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"); + ((r.boxVertex = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n", + ])), + (r.boxFragment = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n", + ]))); + }, + { glslify: 295 }, + ], + 261: [ + function (t, e, r) { + "use strict"; + var n = t("gl-shader"), + i = t("gl-buffer"), + a = t("./lib/shaders"); + function o(t, e, r) { + ((this.plot = t), + (this.boxBuffer = e), + (this.boxShader = r), + (this.enabled = !0), + (this.selectBox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.borderColor = [0, 0, 0, 1]), + (this.innerFill = !1), + (this.innerColor = [0, 0, 0, 0.25]), + (this.outerFill = !0), + (this.outerColor = [0, 0, 0, 0.5]), + (this.borderWidth = 10)); + } + e.exports = function (t, e) { + var r = t.gl, + s = i(r, [0, 0, 0, 1, 1, 0, 1, 1]), + l = n(r, a.boxVertex, a.boxFragment), + c = new o(t, s, l); + return (c.update(e), t.addOverlay(c), c); + }; + var s = o.prototype; + ((s.draw = function () { + if (this.enabled) { + var t = this.plot, + e = this.selectBox, + r = this.borderWidth, + n = (this.innerFill, this.innerColor), + i = (this.outerFill, this.outerColor), + a = this.borderColor, + o = t.box, + s = t.screenBox, + l = t.dataBox, + c = t.viewBox, + u = t.pixelRatio, + f = ((e[0] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], + h = ((e[1] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1], + p = ((e[2] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], + d = ((e[3] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1]; + if ( + ((f = Math.max(f, c[0])), + (h = Math.max(h, c[1])), + (p = Math.min(p, c[2])), + (d = Math.min(d, c[3])), + !(p < f || d < h)) + ) { + o.bind(); + var g = s[2] - s[0], + m = s[3] - s[1]; + if ( + (this.outerFill && + (o.drawBox(0, 0, g, h, i), + o.drawBox(0, h, f, d, i), + o.drawBox(0, d, g, m, i), + o.drawBox(p, h, g, d, i)), + this.innerFill && o.drawBox(f, h, p, d, n), + r > 0) + ) { + var v = r * u; + (o.drawBox(f - v, h - v, p + v, h + v, a), + o.drawBox(f - v, d - v, p + v, d + v, a), + o.drawBox(f - v, h - v, f + v, d + v, a), + o.drawBox(p - v, h - v, p + v, d + v, a)); + } + } + } + }), + (s.update = function (t) { + ((t = t || {}), + (this.innerFill = !!t.innerFill), + (this.outerFill = !!t.outerFill), + (this.innerColor = (t.innerColor || [0, 0, 0, 0.5]).slice()), + (this.outerColor = (t.outerColor || [0, 0, 0, 0.5]).slice()), + (this.borderColor = (t.borderColor || [0, 0, 0, 1]).slice()), + (this.borderWidth = t.borderWidth || 0), + (this.selectBox = (t.selectBox || this.selectBox).slice())); + }), + (s.dispose = function () { + (this.boxBuffer.dispose(), + this.boxShader.dispose(), + this.plot.removeOverlay(this)); + })); + }, + { "./lib/shaders": 260, "gl-buffer": 210, "gl-shader": 263 }, + ], + 262: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = n(t, e), + a = i.mallocUint8(e[0] * e[1] * 4); + return new l(t, r, a); + }; + var n = t("gl-fbo"), + i = t("typedarray-pool"), + a = t("ndarray"), + o = t("bit-twiddle").nextPow2, + s = t("cwise/lib/wrapper")({ + args: [ + "array", + { offset: [0, 0, 1], array: 0 }, + { offset: [0, 0, 2], array: 0 }, + { offset: [0, 0, 3], array: 0 }, + "scalar", + "scalar", + "index", + ], + pre: { + body: "{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}", + args: [], + thisVars: ["this_closestD2", "this_closestX", "this_closestY"], + localVars: [], + }, + body: { + body: "{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f this.buffer.length) { + i.free(this.buffer); + for ( + var n = (this.buffer = i.mallocUint8(o(r * e * 4))), a = 0; + a < r * e * 4; + ++a + ) + n[a] = 255; + } + return t; + } + }, + }), + (c.begin = function () { + var t = this.gl; + this.shape; + t && + (this.fbo.bind(), + t.clearColor(1, 1, 1, 1), + t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT)); + }), + (c.end = function () { + var t = this.gl; + t && + (t.bindFramebuffer(t.FRAMEBUFFER, null), + this._readTimeout || clearTimeout(this._readTimeout), + (this._readTimeout = setTimeout(this._readCallback, 1))); + }), + (c.query = function (t, e, r) { + if (!this.gl) return null; + var n = this.fbo.shape.slice(); + ((t |= 0), (e |= 0), "number" != typeof r && (r = 1)); + var i = 0 | Math.min(Math.max(t - r, 0), n[0]), + o = 0 | Math.min(Math.max(t + r, 0), n[0]), + l = 0 | Math.min(Math.max(e - r, 0), n[1]), + c = 0 | Math.min(Math.max(e + r, 0), n[1]); + if (o <= i || c <= l) return null; + var u = [o - i, c - l], + f = a( + this.buffer, + [u[0], u[1], 4], + [4, 4 * n[0], 1], + 4 * (i + n[0] * l), + ), + h = s(f.hi(u[0], u[1], 1), r, r), + p = h[0], + d = h[1]; + return p < 0 || Math.pow(this.radius, 2) < h[2] + ? null + : new (function (t, e, r, n, i) { + ((this.coord = [t, e]), + (this.id = r), + (this.value = n), + (this.distance = i)); + })( + (p + i) | 0, + (d + l) | 0, + f.get(p, d, 0), + [f.get(p, d, 1), f.get(p, d, 2), f.get(p, d, 3)], + Math.sqrt(h[2]), + ); + }), + (c.dispose = function () { + this.gl && + (this.fbo.dispose(), + i.free(this.buffer), + (this.gl = null), + this._readTimeout && clearTimeout(this._readTimeout)); + })); + }, + { + "bit-twiddle": 73, + "cwise/lib/wrapper": 119, + "gl-fbo": 215, + ndarray: 335, + "typedarray-pool": 423, + }, + ], + 263: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/create-uniforms"), + i = t("./lib/create-attributes"), + a = t("./lib/reflect"), + o = t("./lib/shader-cache"), + s = t("./lib/runtime-reflect"), + l = t("./lib/GLError"); + function c(t) { + ((this.gl = t), + (this.gl.lastAttribCount = 0), + (this._vref = + this._fref = + this._relink = + this.vertShader = + this.fragShader = + this.program = + this.attributes = + this.uniforms = + this.types = + null)); + } + var u = c.prototype; + function f(t, e) { + return t.name < e.name ? -1 : 1; + } + ((u.bind = function () { + var t; + this.program || this._relink(); + var e = this.gl.getProgramParameter( + this.program, + this.gl.ACTIVE_ATTRIBUTES, + ), + r = this.gl.lastAttribCount; + if (e > r) for (t = r; t < e; t++) this.gl.enableVertexAttribArray(t); + else if (r > e) for (t = e; t < r; t++) this.gl.disableVertexAttribArray(t); + ((this.gl.lastAttribCount = e), this.gl.useProgram(this.program)); + }), + (u.dispose = function () { + for (var t = this.gl.lastAttribCount, e = 0; e < t; e++) + this.gl.disableVertexAttribArray(e); + ((this.gl.lastAttribCount = 0), + this._fref && this._fref.dispose(), + this._vref && this._vref.dispose(), + (this.attributes = + this.types = + this.vertShader = + this.fragShader = + this.program = + this._relink = + this._fref = + this._vref = + null)); + }), + (u.update = function (t, e, r, c) { + if (!e || 1 === arguments.length) { + var u = t; + ((t = u.vertex), + (e = u.fragment), + (r = u.uniforms), + (c = u.attributes)); + } + var h = this, + p = h.gl, + d = h._vref; + ((h._vref = o.shader(p, p.VERTEX_SHADER, t)), + d && d.dispose(), + (h.vertShader = h._vref.shader)); + var g = this._fref; + if ( + ((h._fref = o.shader(p, p.FRAGMENT_SHADER, e)), + g && g.dispose(), + (h.fragShader = h._fref.shader), + !r || !c) + ) { + var m = p.createProgram(); + if ( + (p.attachShader(m, h.fragShader), + p.attachShader(m, h.vertShader), + p.linkProgram(m), + !p.getProgramParameter(m, p.LINK_STATUS)) + ) { + var v = p.getProgramInfoLog(m); + throw new l(v, "Error linking program:" + v); + } + ((r = r || s.uniforms(p, m)), + (c = c || s.attributes(p, m)), + p.deleteProgram(m)); + } + (c = c.slice()).sort(f); + var y, + x = [], + b = [], + _ = []; + for (y = 0; y < c.length; ++y) { + var w = c[y]; + if (w.type.indexOf("mat") >= 0) { + for ( + var k = 0 | w.type.charAt(w.type.length - 1), + M = new Array(k), + A = 0; + A < k; + ++A + ) + ((M[A] = _.length), + b.push(w.name + "[" + A + "]"), + "number" == typeof w.location + ? _.push(w.location + A) + : Array.isArray(w.location) && + w.location.length === k && + "number" == typeof w.location[A] + ? _.push(0 | w.location[A]) + : _.push(-1)); + x.push({ name: w.name, type: w.type, locations: M }); + } else + (x.push({ name: w.name, type: w.type, locations: [_.length] }), + b.push(w.name), + "number" == typeof w.location + ? _.push(0 | w.location) + : _.push(-1)); + } + var T = 0; + for (y = 0; y < _.length; ++y) + if (_[y] < 0) { + for (; _.indexOf(T) >= 0; ) T += 1; + _[y] = T; + } + var S = new Array(r.length); + function C() { + h.program = o.program(p, h._vref, h._fref, b, _); + for (var t = 0; t < r.length; ++t) + S[t] = p.getUniformLocation(h.program, r[t].name); + } + (C(), + (h._relink = C), + (h.types = { uniforms: a(r), attributes: a(c) }), + (h.attributes = i(p, h, x, _)), + Object.defineProperty(h, "uniforms", n(p, h, r, S))); + }), + (e.exports = function (t, e, r, n, i) { + var a = new c(t); + return (a.update(e, r, n, i), a); + })); + }, + { + "./lib/GLError": 264, + "./lib/create-attributes": 265, + "./lib/create-uniforms": 266, + "./lib/reflect": 267, + "./lib/runtime-reflect": 268, + "./lib/shader-cache": 269, + }, + ], + 264: [ + function (t, e, r) { + function n(t, e, r) { + ((this.shortMessage = e || ""), + (this.longMessage = r || ""), + (this.rawError = t || ""), + (this.message = "gl-shader: " + (e || t || "") + (r ? "\n" + r : "")), + (this.stack = new Error().stack)); + } + ((n.prototype = new Error()), + (n.prototype.name = "GLError"), + (n.prototype.constructor = n), + (e.exports = n)); + }, + {}, + ], + 265: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, i) { + for (var a = {}, l = 0, c = r.length; l < c; ++l) { + var u = r[l], + f = u.name, + h = u.type, + p = u.locations; + switch (h) { + case "bool": + case "int": + case "float": + o(t, e, p[0], i, 1, a, f); + break; + default: + if (h.indexOf("vec") >= 0) { + var d = h.charCodeAt(h.length - 1) - 48; + if (d < 2 || d > 4) + throw new n( + "", + "Invalid data type for attribute " + f + ": " + h, + ); + o(t, e, p[0], i, d, a, f); + } else { + if (!(h.indexOf("mat") >= 0)) + throw new n( + "", + "Unknown data type for attribute " + f + ": " + h, + ); + var d = h.charCodeAt(h.length - 1) - 48; + if (d < 2 || d > 4) + throw new n( + "", + "Invalid data type for attribute " + f + ": " + h, + ); + s(t, e, p, i, d, a, f); + } + } + } + return a; + }; + var n = t("./GLError"); + function i(t, e, r, n, i, a) { + ((this._gl = t), + (this._wrapper = e), + (this._index = r), + (this._locations = n), + (this._dimension = i), + (this._constFunc = a)); + } + var a = i.prototype; + function o(t, e, r, n, a, o, s) { + for (var l = ["gl", "v"], c = [], u = 0; u < a; ++u) + (l.push("x" + u), c.push("x" + u)); + l.push( + "if(x0.length===void 0){return gl.vertexAttrib" + + a + + "f(v," + + c.join() + + ")}else{return gl.vertexAttrib" + + a + + "fv(v,x0)}", + ); + var f = Function.apply(null, l), + h = new i(t, e, r, n, a, f); + Object.defineProperty(o, s, { + set: function (e) { + return (t.disableVertexAttribArray(n[r]), f(t, n[r], e), e); + }, + get: function () { + return h; + }, + enumerable: !0, + }); + } + function s(t, e, r, n, i, a, s) { + for (var l = new Array(i), c = new Array(i), u = 0; u < i; ++u) + (o(t, e, r[u], n, i, l, u), (c[u] = l[u])); + (Object.defineProperty(l, "location", { + set: function (t) { + if (Array.isArray(t)) for (var e = 0; e < i; ++e) c[e].location = t[e]; + else for (e = 0; e < i; ++e) c[e].location = t + e; + return t; + }, + get: function () { + for (var t = new Array(i), e = 0; e < i; ++e) t[e] = n[r[e]]; + return t; + }, + enumerable: !0, + }), + (l.pointer = function (e, a, o, s) { + ((e = e || t.FLOAT), (a = !!a), (o = o || i * i), (s = s || 0)); + for (var l = 0; l < i; ++l) { + var c = n[r[l]]; + (t.vertexAttribPointer(c, i, e, a, o, s + l * i), + t.enableVertexAttribArray(c)); + } + })); + var f = new Array(i), + h = t["vertexAttrib" + i + "fv"]; + Object.defineProperty(a, s, { + set: function (e) { + for (var a = 0; a < i; ++a) { + var o = n[r[a]]; + if ((t.disableVertexAttribArray(o), Array.isArray(e[0]))) + h.call(t, o, e[a]); + else { + for (var s = 0; s < i; ++s) f[s] = e[i * a + s]; + h.call(t, o, f); + } + } + return e; + }, + get: function () { + return l; + }, + enumerable: !0, + }); + } + ((a.pointer = function (t, e, r, n) { + var i = this._gl, + a = this._locations[this._index]; + (i.vertexAttribPointer( + a, + this._dimension, + t || i.FLOAT, + !!e, + r || 0, + n || 0, + ), + i.enableVertexAttribArray(a)); + }), + (a.set = function (t, e, r, n) { + return this._constFunc(this._locations[this._index], t, e, r, n); + }), + Object.defineProperty(a, "location", { + get: function () { + return this._locations[this._index]; + }, + set: function (t) { + return ( + t !== this._locations[this._index] && + ((this._locations[this._index] = 0 | t), + (this._wrapper.program = null)), + 0 | t + ); + }, + })); + }, + { "./GLError": 264 }, + ], + 266: [ + function (t, e, r) { + "use strict"; + var n = t("./reflect"), + i = t("./GLError"); + function a(t) { + return new Function("y", "return function(){return y}")(t); + } + function o(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + } + e.exports = function (t, e, r, s) { + function l(t, e, r) { + switch (r) { + case "bool": + case "int": + case "sampler2D": + case "samplerCube": + return "gl.uniform1i(locations[" + e + "],obj" + t + ")"; + case "float": + return "gl.uniform1f(locations[" + e + "],obj" + t + ")"; + default: + var n = r.indexOf("vec"); + if (!(0 <= n && n <= 1 && r.length === 4 + n)) { + if (0 === r.indexOf("mat") && 4 === r.length) { + var a = r.charCodeAt(r.length - 1) - 48; + if (a < 2 || a > 4) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + r, + ); + return ( + "gl.uniformMatrix" + + a + + "fv(locations[" + + e + + "],false,obj" + + t + + ")" + ); + } + throw new i("", "Unknown uniform data type for " + name + ": " + r); + } + var a = r.charCodeAt(r.length - 1) - 48; + if (a < 2 || a > 4) throw new i("", "Invalid data type"); + switch (r.charAt(0)) { + case "b": + case "i": + return "gl.uniform" + a + "iv(locations[" + e + "],obj" + t + ")"; + case "v": + return "gl.uniform" + a + "fv(locations[" + e + "],obj" + t + ")"; + default: + throw new i( + "", + "Unrecognized data type for vector " + name + ": " + r, + ); + } + } + } + function c(e) { + for ( + var n = ["return function updateProperty(obj){"], + i = (function t(e, r) { + if ("object" != typeof r) return [[e, r]]; + var n = []; + for (var i in r) { + var a = r[i], + o = e; + (parseInt(i) + "" === i ? (o += "[" + i + "]") : (o += "." + i), + "object" == typeof a + ? n.push.apply(n, t(o, a)) + : n.push([o, a])); + } + return n; + })("", e), + a = 0; + a < i.length; + ++a + ) { + var o = i[a], + c = o[0], + u = o[1]; + s[u] && n.push(l(c, u, r[u].type)); + } + n.push("return obj}"); + var f = new Function("gl", "locations", n.join("\n")); + return f(t, s); + } + function u(n, l, u) { + if ("object" == typeof u) { + var h = f(u); + Object.defineProperty(n, l, { + get: a(h), + set: c(u), + enumerable: !0, + configurable: !1, + }); + } else + s[u] + ? Object.defineProperty(n, l, { + get: + ((p = u), + new Function( + "gl", + "wrapper", + "locations", + "return function(){return gl.getUniform(wrapper.program,locations[" + + p + + "])}", + )(t, e, s)), + set: c(u), + enumerable: !0, + configurable: !1, + }) + : (n[l] = (function (t) { + switch (t) { + case "bool": + return !1; + case "int": + case "sampler2D": + case "samplerCube": + case "float": + return 0; + default: + var e = t.indexOf("vec"); + if (0 <= e && e <= 1 && t.length === 4 + e) { + var r = t.charCodeAt(t.length - 1) - 48; + if (r < 2 || r > 4) throw new i("", "Invalid data type"); + return "b" === t.charAt(0) ? o(r, !1) : o(r, 0); + } + if (0 === t.indexOf("mat") && 4 === t.length) { + var r = t.charCodeAt(t.length - 1) - 48; + if (r < 2 || r > 4) + throw new i( + "", + "Invalid uniform dimension type for matrix " + + name + + ": " + + t, + ); + return o(r * r, 0); + } + throw new i( + "", + "Unknown uniform data type for " + name + ": " + t, + ); + } + })(r[u].type)); + var p; + } + function f(t) { + var e; + if (Array.isArray(t)) { + e = new Array(t.length); + for (var r = 0; r < t.length; ++r) u(e, r, t[r]); + } else for (var n in ((e = {}), t)) u(e, n, t[n]); + return e; + } + var h = n(r, !0); + return { get: a(f(h)), set: c(h), enumerable: !0, configurable: !0 }; + }; + }, + { "./GLError": 264, "./reflect": 267 }, + ], + 267: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for (var r = {}, n = 0; n < t.length; ++n) + for ( + var i = t[n].name, a = i.split("."), o = r, s = 0; + s < a.length; + ++s + ) { + var l = a[s].split("["); + if (l.length > 1) { + (l[0] in o || (o[l[0]] = []), (o = o[l[0]])); + for (var c = 1; c < l.length; ++c) { + var u = parseInt(l[c]); + c < l.length - 1 || s < a.length - 1 + ? (u in o || (c < l.length - 1 ? (o[u] = []) : (o[u] = {})), + (o = o[u])) + : (o[u] = e ? n : t[n].type); + } + } else + s < a.length - 1 + ? (l[0] in o || (o[l[0]] = {}), (o = o[l[0]])) + : (o[l[0]] = e ? n : t[n].type); + } + return r; + }; + }, + {}, + ], + 268: [ + function (t, e, r) { + "use strict"; + ((r.uniforms = function (t, e) { + for ( + var r = t.getProgramParameter(e, t.ACTIVE_UNIFORMS), n = [], i = 0; + i < r; + ++i + ) { + var o = t.getActiveUniform(e, i); + if (o) { + var s = a(t, o.type); + if (o.size > 1) + for (var l = 0; l < o.size; ++l) + n.push({ name: o.name.replace("[0]", "[" + l + "]"), type: s }); + else n.push({ name: o.name, type: s }); + } + } + return n; + }), + (r.attributes = function (t, e) { + for ( + var r = t.getProgramParameter(e, t.ACTIVE_ATTRIBUTES), n = [], i = 0; + i < r; + ++i + ) { + var o = t.getActiveAttrib(e, i); + o && n.push({ name: o.name, type: a(t, o.type) }); + } + return n; + })); + var n = { + FLOAT: "float", + FLOAT_VEC2: "vec2", + FLOAT_VEC3: "vec3", + FLOAT_VEC4: "vec4", + INT: "int", + INT_VEC2: "ivec2", + INT_VEC3: "ivec3", + INT_VEC4: "ivec4", + BOOL: "bool", + BOOL_VEC2: "bvec2", + BOOL_VEC3: "bvec3", + BOOL_VEC4: "bvec4", + FLOAT_MAT2: "mat2", + FLOAT_MAT3: "mat3", + FLOAT_MAT4: "mat4", + SAMPLER_2D: "sampler2D", + SAMPLER_CUBE: "samplerCube", + }, + i = null; + function a(t, e) { + if (!i) { + var r = Object.keys(n); + i = {}; + for (var a = 0; a < r.length; ++a) { + var o = r[a]; + i[t[o]] = n[o]; + } + } + return i[e]; + } + }, + {}, + ], + 269: [ + function (t, e, r) { + "use strict"; + ((r.shader = function (t, e, r) { + return u(t).getShaderReference(e, r); + }), + (r.program = function (t, e, r, n, i) { + return u(t).getProgram(e, r, n, i); + })); + var n = t("./GLError"), + i = t("gl-format-compiler-error"), + a = new ("undefined" == typeof WeakMap ? t("weakmap-shim") : WeakMap)(), + o = 0; + function s(t, e, r, n, i, a, o) { + ((this.id = t), + (this.src = e), + (this.type = r), + (this.shader = n), + (this.count = a), + (this.programs = []), + (this.cache = o)); + } + function l(t) { + ((this.gl = t), (this.shaders = [{}, {}]), (this.programs = {})); + } + s.prototype.dispose = function () { + if (0 == --this.count) { + for ( + var t = this.cache, e = t.gl, r = this.programs, n = 0, i = r.length; + n < i; + ++n + ) { + var a = t.programs[r[n]]; + a && (delete t.programs[n], e.deleteProgram(a)); + } + (e.deleteShader(this.shader), + delete t.shaders[(this.type === e.FRAGMENT_SHADER) | 0][this.src]); + } + }; + var c = l.prototype; + function u(t) { + var e = a.get(t); + return (e || ((e = new l(t)), a.set(t, e)), e); + } + ((c.getShaderReference = function (t, e) { + var r = this.gl, + a = this.shaders[(t === r.FRAGMENT_SHADER) | 0], + l = a[e]; + if (l && r.isShader(l.shader)) l.count += 1; + else { + var c = (function (t, e, r) { + var a = t.createShader(e); + if ( + (t.shaderSource(a, r), + t.compileShader(a), + !t.getShaderParameter(a, t.COMPILE_STATUS)) + ) { + var o = t.getShaderInfoLog(a); + try { + var s = i(o, r, e); + } catch (t) { + throw ( + console.warn("Failed to format compiler error: " + t), + new n(o, "Error compiling shader:\n" + o) + ); + } + throw new n(o, s.short, s.long); + } + return a; + })(r, t, e); + l = a[e] = new s(o++, e, t, c, [], 1, this); + } + return l; + }), + (c.getProgram = function (t, e, r, i) { + var a = [t.id, e.id, r.join(":"), i.join(":")].join("@"), + o = this.programs[a]; + return ( + (o && this.gl.isProgram(o)) || + ((this.programs[a] = o = + (function (t, e, r, i, a) { + var o = t.createProgram(); + (t.attachShader(o, e), t.attachShader(o, r)); + for (var s = 0; s < i.length; ++s) + t.bindAttribLocation(o, a[s], i[s]); + if ( + (t.linkProgram(o), !t.getProgramParameter(o, t.LINK_STATUS)) + ) { + var l = t.getProgramInfoLog(o); + throw new n(l, "Error linking program: " + l); + } + return o; + })(this.gl, t.shader, e.shader, r, i)), + t.programs.push(a), + e.programs.push(a)), + o + ); + })); + }, + { "./GLError": 264, "gl-format-compiler-error": 216, "weakmap-shim": 435 }, + ], + 270: [ + function (t, e, r) { + "use strict"; + function n(t) { + ((this.plot = t), + (this.enable = [!0, !0, !1, !1]), + (this.width = [1, 1, 1, 1]), + (this.color = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.center = [1 / 0, 1 / 0])); + } + e.exports = function (t, e) { + var r = new n(t); + return (r.update(e), t.addOverlay(r), r); + }; + var i = n.prototype; + ((i.update = function (t) { + ((t = t || {}), + (this.enable = (t.enable || [!0, !0, !1, !1]).slice()), + (this.width = (t.width || [1, 1, 1, 1]).slice()), + (this.color = ( + t.color || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + ).map(function (t) { + return t.slice(); + })), + (this.center = (t.center || [1 / 0, 1 / 0]).slice()), + this.plot.setOverlayDirty()); + }), + (i.draw = function () { + var t = this.enable, + e = this.width, + r = this.color, + n = this.center, + i = this.plot, + a = i.line, + o = i.dataBox, + s = i.viewBox; + if ( + (a.bind(), o[0] <= n[0] && n[0] <= o[2] && o[1] <= n[1] && n[1] <= o[3]) + ) { + var l = s[0] + ((n[0] - o[0]) / (o[2] - o[0])) * (s[2] - s[0]), + c = s[1] + ((n[1] - o[1]) / (o[3] - o[1])) * (s[3] - s[1]); + (t[0] && a.drawLine(l, c, s[0], c, e[0], r[0]), + t[1] && a.drawLine(l, c, l, s[1], e[1], r[1]), + t[2] && a.drawLine(l, c, s[2], c, e[2], r[2]), + t[3] && a.drawLine(l, c, l, s[3], e[3], r[3])); + } + }), + (i.dispose = function () { + this.plot.removeOverlay(this); + })); + }, + {}, + ], + 271: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"), + i = t("gl-shader"), + a = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n", + ]), + o = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}", + ]); + e.exports = function (t) { + return i(t, a, o, null, [ + { name: "position", type: "vec3" }, + { name: "color", type: "vec3" }, + { name: "weight", type: "float" }, + ]); + }; + }, + { "gl-shader": 263, glslify: 295 }, + ], + 272: [ + function (t, e, r) { + "use strict"; + var n = t("gl-buffer"), + i = t("gl-vao"), + a = t("./shaders/index"); + e.exports = function (t, e) { + var r = []; + function o(t, e, n, i, a, o) { + var s = [t, e, n, 0, 0, 0, 1]; + ((s[i + 3] = 1), + (s[i] = a), + r.push.apply(r, s), + (s[6] = -1), + r.push.apply(r, s), + (s[i] = o), + r.push.apply(r, s), + r.push.apply(r, s), + (s[6] = 1), + r.push.apply(r, s), + (s[i] = a), + r.push.apply(r, s)); + } + (o(0, 0, 0, 0, 0, 1), + o(0, 0, 0, 1, 0, 1), + o(0, 0, 0, 2, 0, 1), + o(1, 0, 0, 1, -1, 1), + o(1, 0, 0, 2, -1, 1), + o(0, 1, 0, 0, -1, 1), + o(0, 1, 0, 2, -1, 1), + o(0, 0, 1, 0, -1, 1), + o(0, 0, 1, 1, -1, 1)); + var l = n(t, r), + c = i(t, [ + { type: t.FLOAT, buffer: l, size: 3, offset: 0, stride: 28 }, + { type: t.FLOAT, buffer: l, size: 3, offset: 12, stride: 28 }, + { type: t.FLOAT, buffer: l, size: 1, offset: 24, stride: 28 }, + ]), + u = a(t); + ((u.attributes.position.location = 0), + (u.attributes.color.location = 1), + (u.attributes.weight.location = 2)); + var f = new s(t, l, c, u); + return (f.update(e), f); + }; + var o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function s(t, e, r, n) { + ((this.gl = t), + (this.buffer = e), + (this.vao = r), + (this.shader = n), + (this.pixelRatio = 1), + (this.bounds = [ + [-1e3, -1e3, -1e3], + [1e3, 1e3, 1e3], + ]), + (this.position = [0, 0, 0]), + (this.lineWidth = [2, 2, 2]), + (this.colors = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.enabled = [!0, !0, !0]), + (this.drawSides = [!0, !0, !0]), + (this.axes = null)); + } + var l = s.prototype, + c = [0, 0, 0], + u = [0, 0, 0], + f = [0, 0]; + ((l.isTransparent = function () { + return !1; + }), + (l.drawTransparent = function (t) {}), + (l.draw = function (t) { + var e = this.gl, + r = this.vao, + n = this.shader; + (r.bind(), n.bind()); + var i, + a = t.model || o, + s = t.view || o, + l = t.projection || o; + this.axes && (i = this.axes.lastCubeProps.axis); + for (var h = c, p = u, d = 0; d < 3; ++d) + i && i[d] < 0 + ? ((h[d] = this.bounds[0][d]), (p[d] = this.bounds[1][d])) + : ((h[d] = this.bounds[1][d]), (p[d] = this.bounds[0][d])); + ((f[0] = e.drawingBufferWidth), + (f[1] = e.drawingBufferHeight), + (n.uniforms.model = a), + (n.uniforms.view = s), + (n.uniforms.projection = l), + (n.uniforms.coordinates = [this.position, h, p]), + (n.uniforms.colors = this.colors), + (n.uniforms.screenShape = f)); + for (d = 0; d < 3; ++d) + ((n.uniforms.lineWidth = this.lineWidth[d] * this.pixelRatio), + this.enabled[d] && + (r.draw(e.TRIANGLES, 6, 6 * d), + this.drawSides[d] && r.draw(e.TRIANGLES, 12, 18 + 12 * d))); + r.unbind(); + }), + (l.update = function (t) { + t && + ("bounds" in t && (this.bounds = t.bounds), + "position" in t && (this.position = t.position), + "lineWidth" in t && (this.lineWidth = t.lineWidth), + "colors" in t && (this.colors = t.colors), + "enabled" in t && (this.enabled = t.enabled), + "drawSides" in t && (this.drawSides = t.drawSides)); + }), + (l.dispose = function () { + (this.vao.dispose(), this.buffer.dispose(), this.shader.dispose()); + })); + }, + { "./shaders/index": 271, "gl-buffer": 210, "gl-vao": 279 }, + ], + 273: [ + function (t, e, r) { + var n = t("gl-shader"), + i = t("glslify"), + a = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n worldCoordinate = vec3(uv.zw, f.x);\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n", + ]), + o = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n", + ]), + s = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z = clipPosition.z + zOffset;\n\n gl_Position = clipPosition;\n value = f;\n kill = -1.0;\n worldCoordinate = dataCoordinate;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n", + ]), + l = i([ + "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if(kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n", + ]); + ((r.createShader = function (t) { + var e = n(t, a, o, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "vec3" }, + { name: "normal", type: "vec3" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + (e.attributes.normal.location = 2), + e + ); + }), + (r.createPickShader = function (t) { + var e = n(t, a, l, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "vec3" }, + { name: "normal", type: "vec3" }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + (e.attributes.normal.location = 2), + e + ); + }), + (r.createContourShader = function (t) { + var e = n(t, s, o, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ((e.attributes.uv.location = 0), (e.attributes.f.location = 1), e); + }), + (r.createPickContourShader = function (t) { + var e = n(t, s, l, null, [ + { name: "uv", type: "vec4" }, + { name: "f", type: "float" }, + ]); + return ((e.attributes.uv.location = 0), (e.attributes.f.location = 1), e); + })); + }, + { "gl-shader": 263, glslify: 295 }, + ], + 274: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.gl, + r = y(e), + n = b(e), + s = x(e), + l = _(e), + c = i(e), + u = a(e, [ + { buffer: c, size: 4, stride: w, offset: 0 }, + { buffer: c, size: 3, stride: w, offset: 16 }, + { buffer: c, size: 3, stride: w, offset: 28 }, + ]), + f = i(e), + h = a(e, [ + { buffer: f, size: 4, stride: 20, offset: 0 }, + { buffer: f, size: 1, stride: 20, offset: 16 }, + ]), + p = i(e), + d = a(e, [{ buffer: p, size: 2, type: e.FLOAT }]), + g = o(e, 1, T, e.RGBA, e.UNSIGNED_BYTE); + ((g.minFilter = e.LINEAR), (g.magFilter = e.LINEAR)); + var m = new S( + e, + [0, 0], + [ + [0, 0, 0], + [0, 0, 0], + ], + r, + n, + c, + u, + g, + s, + l, + f, + h, + p, + d, + ), + v = { levels: [[], [], []] }; + for (var k in t) v[k] = t[k]; + return ((v.colormap = v.colormap || "jet"), m.update(v), m); + }; + var n = t("bit-twiddle"), + i = t("gl-buffer"), + a = t("gl-vao"), + o = t("gl-texture2d"), + s = t("typedarray-pool"), + l = t("colormap"), + c = t("ndarray-ops"), + u = t("ndarray-pack"), + f = t("ndarray"), + h = t("surface-nets"), + p = t("gl-mat4/multiply"), + d = t("gl-mat4/invert"), + g = t("binary-search-bounds"), + m = t("ndarray-gradient"), + v = t("./lib/shaders"), + y = v.createShader, + x = v.createContourShader, + b = v.createPickShader, + _ = v.createPickContourShader, + w = 40, + k = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + M = [ + [0, 0], + [0, 1], + [1, 0], + [1, 1], + [1, 0], + [0, 1], + ], + A = [ + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0], + ]; + !(function () { + for (var t = 0; t < 3; ++t) { + var e = A[t], + r = (t + 2) % 3; + ((e[((t + 1) % 3) + 0] = 1), (e[r + 3] = 1), (e[t + 6] = 1)); + } + })(); + var T = 256; + function S(t, e, r, n, i, a, o, l, c, u, h, p, d, g) { + ((this.gl = t), + (this.shape = e), + (this.bounds = r), + (this.intensityBounds = []), + (this._shader = n), + (this._pickShader = i), + (this._coordinateBuffer = a), + (this._vao = o), + (this._colorMap = l), + (this._contourShader = c), + (this._contourPickShader = u), + (this._contourBuffer = h), + (this._contourVAO = p), + (this._contourOffsets = [[], [], []]), + (this._contourCounts = [[], [], []]), + (this._vertexCount = 0), + (this._pickResult = new (function (t, e, r, n, i) { + ((this.position = t), + (this.index = e), + (this.uv = r), + (this.level = n), + (this.dataCoordinate = i)); + })([0, 0, 0], [0, 0], [0, 0], [0, 0, 0], [0, 0, 0])), + (this._dynamicBuffer = d), + (this._dynamicVAO = g), + (this._dynamicOffsets = [0, 0, 0]), + (this._dynamicCounts = [0, 0, 0]), + (this.contourWidth = [1, 1, 1]), + (this.contourLevels = [[1], [1], [1]]), + (this.contourTint = [0, 0, 0]), + (this.contourColor = [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ]), + (this.showContour = !0), + (this.showSurface = !0), + (this.enableHighlight = [!0, !0, !0]), + (this.highlightColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.highlightTint = [1, 1, 1]), + (this.highlightLevel = [-1, -1, -1]), + (this.enableDynamic = [!0, !0, !0]), + (this.dynamicLevel = [NaN, NaN, NaN]), + (this.dynamicColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.dynamicTint = [1, 1, 1]), + (this.dynamicWidth = [1, 1, 1]), + (this.axesBounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.surfaceProject = [!1, !1, !1]), + (this.contourProject = [ + [!1, !1, !1], + [!1, !1, !1], + [!1, !1, !1], + ]), + (this.colorBounds = [!1, !1]), + (this._field = [ + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + ]), + (this.pickId = 1), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.snapToData = !1), + (this.opacity = 1), + (this.lightPosition = [10, 1e4, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.vertexColor = 0), + (this.dirty = !0)); + } + var C = S.prototype; + ((C.isTransparent = function () { + return this.opacity < 1; + }), + (C.isOpaque = function () { + if (this.opacity >= 1) return !0; + for (var t = 0; t < 3; ++t) + if (this._contourCounts[t].length > 0 || this._dynamicCounts[t] > 0) + return !0; + return !1; + }), + (C.pickSlots = 1), + (C.setPickBase = function (t) { + this.pickId = t; + })); + var E = [0, 0, 0], + L = { + showSurface: !1, + showContour: !1, + projections: [k.slice(), k.slice(), k.slice()], + clipBounds: [ + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + ], + }; + function z(t, e) { + var r, + n, + i, + a = (e.axes && e.axes.lastCubeProps.axis) || E, + o = e.showSurface, + s = e.showContour; + for (r = 0; r < 3; ++r) + for (o = o || e.surfaceProject[r], n = 0; n < 3; ++n) + s = s || e.contourProject[r][n]; + for (r = 0; r < 3; ++r) { + var l = L.projections[r]; + for (n = 0; n < 16; ++n) l[n] = 0; + for (n = 0; n < 4; ++n) l[5 * n] = 1; + ((l[5 * r] = 0), + (l[12 + r] = e.axesBounds[+(a[r] > 0)][r]), + p(l, t.model, l)); + var c = L.clipBounds[r]; + for (i = 0; i < 2; ++i) + for (n = 0; n < 3; ++n) c[i][n] = t.clipBounds[i][n]; + ((c[0][r] = -1e8), (c[1][r] = 1e8)); + } + return ((L.showSurface = o), (L.showContour = s), L); + } + var P = { + model: k, + view: k, + projection: k, + inverseModel: k.slice(), + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + colorMap: 0, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + contourTint: 0, + contourColor: [0, 0, 0, 1], + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + zOffset: -1e-4, + kambient: 1, + kdiffuse: 1, + kspecular: 1, + lightPosition: [1e3, 1e3, 1e3], + eyePosition: [0, 0, 0], + roughness: 1, + fresnel: 1, + opacity: 1, + vertexColor: 0, + }, + D = k.slice(), + O = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + function I(t, e) { + t = t || {}; + var r = this.gl; + (r.disable(r.CULL_FACE), this._colorMap.bind(0)); + var n = P; + ((n.model = t.model || k), + (n.view = t.view || k), + (n.projection = t.projection || k), + (n.lowerBound = [ + this.bounds[0][0], + this.bounds[0][1], + this.colorBounds[0] || this.bounds[0][2], + ]), + (n.upperBound = [ + this.bounds[1][0], + this.bounds[1][1], + this.colorBounds[1] || this.bounds[1][2], + ]), + (n.contourColor = this.contourColor[0]), + (n.inverseModel = d(n.inverseModel, n.model))); + for (var i = 0; i < 2; ++i) + for (var a = n.clipBounds[i], o = 0; o < 3; ++o) + a[o] = Math.min(Math.max(this.clipBounds[i][o], -1e8), 1e8); + ((n.kambient = this.ambientLight), + (n.kdiffuse = this.diffuseLight), + (n.kspecular = this.specularLight), + (n.roughness = this.roughness), + (n.fresnel = this.fresnel), + (n.opacity = this.opacity), + (n.height = 0), + (n.permutation = O), + (n.vertexColor = this.vertexColor)); + var s = D; + for ( + p(s, n.view, n.model), p(s, n.projection, s), d(s, s), i = 0; + i < 3; + ++i + ) + n.eyePosition[i] = s[12 + i] / s[15]; + var l = s[15]; + for (i = 0; i < 3; ++i) l += this.lightPosition[i] * s[4 * i + 3]; + for (i = 0; i < 3; ++i) { + var c = s[12 + i]; + for (o = 0; o < 3; ++o) c += s[4 * o + i] * this.lightPosition[o]; + n.lightPosition[i] = c / l; + } + var u = z(n, this); + if (u.showSurface && e === this.opacity < 1) { + for ( + this._shader.bind(), + this._shader.uniforms = n, + this._vao.bind(), + this.showSurface && + this._vertexCount && + this._vao.draw(r.TRIANGLES, this._vertexCount), + i = 0; + i < 3; + ++i + ) + this.surfaceProject[i] && + this.vertexCount && + ((this._shader.uniforms.model = u.projections[i]), + (this._shader.uniforms.clipBounds = u.clipBounds[i]), + this._vao.draw(r.TRIANGLES, this._vertexCount)); + this._vao.unbind(); + } + if (u.showContour && !e) { + var f = this._contourShader; + ((n.kambient = 1), + (n.kdiffuse = 0), + (n.kspecular = 0), + (n.opacity = 1), + f.bind(), + (f.uniforms = n)); + var h = this._contourVAO; + for (h.bind(), i = 0; i < 3; ++i) + for ( + f.uniforms.permutation = A[i], + r.lineWidth(this.contourWidth[i]), + o = 0; + o < this.contourLevels[i].length; + ++o + ) + this._contourCounts[i][o] && + (o === this.highlightLevel[i] + ? ((f.uniforms.contourColor = this.highlightColor[i]), + (f.uniforms.contourTint = this.highlightTint[i])) + : (0 !== o && o - 1 !== this.highlightLevel[i]) || + ((f.uniforms.contourColor = this.contourColor[i]), + (f.uniforms.contourTint = this.contourTint[i])), + (f.uniforms.height = this.contourLevels[i][o]), + h.draw( + r.LINES, + this._contourCounts[i][o], + this._contourOffsets[i][o], + )); + for (i = 0; i < 3; ++i) + for ( + f.uniforms.model = u.projections[i], + f.uniforms.clipBounds = u.clipBounds[i], + o = 0; + o < 3; + ++o + ) + if (this.contourProject[i][o]) { + ((f.uniforms.permutation = A[o]), + r.lineWidth(this.contourWidth[o])); + for (var g = 0; g < this.contourLevels[o].length; ++g) + (g === this.highlightLevel[o] + ? ((f.uniforms.contourColor = this.highlightColor[o]), + (f.uniforms.contourTint = this.highlightTint[o])) + : (0 !== g && g - 1 !== this.highlightLevel[o]) || + ((f.uniforms.contourColor = this.contourColor[o]), + (f.uniforms.contourTint = this.contourTint[o])), + (f.uniforms.height = this.contourLevels[o][g]), + h.draw( + r.LINES, + this._contourCounts[o][g], + this._contourOffsets[o][g], + )); + } + for (h.unbind(), (h = this._dynamicVAO).bind(), i = 0; i < 3; ++i) + if (0 !== this._dynamicCounts[i]) + for ( + f.uniforms.model = n.model, + f.uniforms.clipBounds = n.clipBounds, + f.uniforms.permutation = A[i], + r.lineWidth(this.dynamicWidth[i]), + f.uniforms.contourColor = this.dynamicColor[i], + f.uniforms.contourTint = this.dynamicTint[i], + f.uniforms.height = this.dynamicLevel[i], + h.draw(r.LINES, this._dynamicCounts[i], this._dynamicOffsets[i]), + o = 0; + o < 3; + ++o + ) + this.contourProject[o][i] && + ((f.uniforms.model = u.projections[o]), + (f.uniforms.clipBounds = u.clipBounds[o]), + h.draw(r.LINES, this._dynamicCounts[i], this._dynamicOffsets[i])); + h.unbind(); + } + } + ((C.draw = function (t) { + return I.call(this, t, !1); + }), + (C.drawTransparent = function (t) { + return I.call(this, t, !0); + })); + var R = { + model: k, + view: k, + projection: k, + inverseModel: k, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + shape: [0, 0], + pickId: 0, + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + zOffset: 0, + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + lightPosition: [0, 0, 0], + eyePosition: [0, 0, 0], + }; + function B(t, e) { + var r = e.shape.slice(), + n = t.shape.slice(); + (c.assign(t.lo(1, 1).hi(r[0], r[1]), e), + c.assign(t.lo(1).hi(r[0], 1), e.hi(r[0], 1)), + c.assign(t.lo(1, n[1] - 1).hi(r[0], 1), e.lo(0, r[1] - 1).hi(r[0], 1)), + c.assign(t.lo(0, 1).hi(1, r[1]), e.hi(1)), + c.assign(t.lo(n[0] - 1, 1).hi(1, r[1]), e.lo(r[0] - 1)), + t.set(0, 0, e.get(0, 0)), + t.set(0, n[1] - 1, e.get(0, r[1] - 1)), + t.set(n[0] - 1, 0, e.get(r[0] - 1, 0)), + t.set(n[0] - 1, n[1] - 1, e.get(r[0] - 1, r[1] - 1))); + } + function F(t, e) { + return Array.isArray(t) ? [e(t[0]), e(t[1]), e(t[2])] : [e(t), e(t), e(t)]; + } + function N(t) { + return Array.isArray(t) + ? 3 === t.length + ? [t[0], t[1], t[2], 1] + : [t[0], t[1], t[2], t[3]] + : [0, 0, 0, 1]; + } + function j(t) { + if (Array.isArray(t)) { + if (Array.isArray(t)) return [N(t[0]), N(t[1]), N(t[2])]; + var e = N(t); + return [e.slice(), e.slice(), e.slice()]; + } + } + ((C.drawPick = function (t) { + t = t || {}; + var e = this.gl; + e.disable(e.CULL_FACE); + var r = R; + ((r.model = t.model || k), + (r.view = t.view || k), + (r.projection = t.projection || k), + (r.shape = this._field[2].shape), + (r.pickId = this.pickId / 255), + (r.lowerBound = this.bounds[0]), + (r.upperBound = this.bounds[1]), + (r.permutation = O)); + for (var n = 0; n < 2; ++n) + for (var i = r.clipBounds[n], a = 0; a < 3; ++a) + i[a] = Math.min(Math.max(this.clipBounds[n][a], -1e8), 1e8); + var o = z(r, this); + if (o.showSurface) { + for ( + this._pickShader.bind(), + this._pickShader.uniforms = r, + this._vao.bind(), + this._vao.draw(e.TRIANGLES, this._vertexCount), + n = 0; + n < 3; + ++n + ) + this.surfaceProject[n] && + ((this._pickShader.uniforms.model = o.projections[n]), + (this._pickShader.uniforms.clipBounds = o.clipBounds[n]), + this._vao.draw(e.TRIANGLES, this._vertexCount)); + this._vao.unbind(); + } + if (o.showContour) { + var s = this._contourPickShader; + (s.bind(), (s.uniforms = r)); + var l = this._contourVAO; + for (l.bind(), a = 0; a < 3; ++a) + for ( + e.lineWidth(this.contourWidth[a]), + s.uniforms.permutation = A[a], + n = 0; + n < this.contourLevels[a].length; + ++n + ) + this._contourCounts[a][n] && + ((s.uniforms.height = this.contourLevels[a][n]), + l.draw( + e.LINES, + this._contourCounts[a][n], + this._contourOffsets[a][n], + )); + for (n = 0; n < 3; ++n) + for ( + s.uniforms.model = o.projections[n], + s.uniforms.clipBounds = o.clipBounds[n], + a = 0; + a < 3; + ++a + ) + if (this.contourProject[n][a]) { + ((s.uniforms.permutation = A[a]), + e.lineWidth(this.contourWidth[a])); + for (var c = 0; c < this.contourLevels[a].length; ++c) + this._contourCounts[a][c] && + ((s.uniforms.height = this.contourLevels[a][c]), + l.draw( + e.LINES, + this._contourCounts[a][c], + this._contourOffsets[a][c], + )); + } + l.unbind(); + } + }), + (C.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = this._field[2].shape, + r = this._pickResult, + n = (e[0] * (t.value[0] + (t.value[2] >> 4) / 16)) / 255, + i = Math.floor(n), + a = n - i, + o = (e[1] * (t.value[1] + (15 & t.value[2]) / 16)) / 255, + s = Math.floor(o), + l = o - s; + ((i += 1), (s += 1)); + var c = r.position; + c[0] = c[1] = c[2] = 0; + for (var u = 0; u < 2; ++u) + for (var f = u ? a : 1 - a, h = 0; h < 2; ++h) + for ( + var p = i + u, d = s + h, m = f * (h ? l : 1 - l), v = 0; + v < 3; + ++v + ) + c[v] += this._field[v].get(p, d) * m; + for (var y = this._pickResult.level, x = 0; x < 3; ++x) + if (((y[x] = g.le(this.contourLevels[x], c[x])), y[x] < 0)) + this.contourLevels[x].length > 0 && (y[x] = 0); + else if (y[x] < this.contourLevels[x].length - 1) { + var b = this.contourLevels[x][y[x]], + _ = this.contourLevels[x][y[x] + 1]; + Math.abs(b - c[x]) > Math.abs(_ - c[x]) && (y[x] += 1); + } + for ( + r.index[0] = a < 0.5 ? i : i + 1, + r.index[1] = l < 0.5 ? s : s + 1, + r.uv[0] = n / e[0], + r.uv[1] = o / e[1], + v = 0; + v < 3; + ++v + ) + r.dataCoordinate[v] = this._field[v].get(r.index[0], r.index[1]); + return r; + }), + (C.update = function (t) { + ((t = t || {}), + (this.dirty = !0), + "contourWidth" in t && (this.contourWidth = F(t.contourWidth, Number)), + "showContour" in t && (this.showContour = F(t.showContour, Boolean)), + "showSurface" in t && (this.showSurface = !!t.showSurface), + "contourTint" in t && (this.contourTint = F(t.contourTint, Boolean)), + "contourColor" in t && (this.contourColor = j(t.contourColor)), + "contourProject" in t && + (this.contourProject = F(t.contourProject, function (t) { + return F(t, Boolean); + })), + "surfaceProject" in t && (this.surfaceProject = t.surfaceProject), + "dynamicColor" in t && (this.dynamicColor = j(t.dynamicColor)), + "dynamicTint" in t && (this.dynamicTint = F(t.dynamicTint, Number)), + "dynamicWidth" in t && (this.dynamicWidth = F(t.dynamicWidth, Number)), + "opacity" in t && (this.opacity = t.opacity), + "colorBounds" in t && (this.colorBounds = t.colorBounds), + "vertexColor" in t && (this.vertexColor = t.vertexColor ? 1 : 0)); + var e = t.field || (t.coords && t.coords[2]) || null, + r = !1; + if ( + (e || + (e = + this._field[2].shape[0] || this._field[2].shape[2] + ? this._field[2] + .lo(1, 1) + .hi(this._field[2].shape[0] - 2, this._field[2].shape[1] - 2) + : this._field[2].hi(0, 0)), + "field" in t || "coords" in t) + ) { + var i = (e.shape[0] + 2) * (e.shape[1] + 2); + (i > this._field[2].data.length && + (s.freeFloat(this._field[2].data), + (this._field[2].data = s.mallocFloat(n.nextPow2(i)))), + (this._field[2] = f(this._field[2].data, [ + e.shape[0] + 2, + e.shape[1] + 2, + ])), + B(this._field[2], e), + (this.shape = e.shape.slice())); + for (var a = this.shape, o = 0; o < 2; ++o) + (this._field[2].size > this._field[o].data.length && + (s.freeFloat(this._field[o].data), + (this._field[o].data = s.mallocFloat(this._field[2].size))), + (this._field[o] = f(this._field[o].data, [a[0] + 2, a[1] + 2]))); + if (t.coords) { + var p = t.coords; + if (!Array.isArray(p) || 3 !== p.length) + throw new Error("gl-surface: invalid coordinates for x/y"); + for (o = 0; o < 2; ++o) { + var d = p[o]; + for (b = 0; b < 2; ++b) + if (d.shape[b] !== a[b]) + throw new Error("gl-surface: coords have incorrect shape"); + B(this._field[o], d); + } + } else if (t.ticks) { + var g = t.ticks; + if (!Array.isArray(g) || 2 !== g.length) + throw new Error("gl-surface: invalid ticks"); + for (o = 0; o < 2; ++o) { + var v = g[o]; + if ( + ((Array.isArray(v) || v.length) && (v = f(v)), + v.shape[0] !== a[o]) + ) + throw new Error("gl-surface: invalid tick length"); + var y = f(v.data, a); + ((y.stride[o] = v.stride[0]), + (y.stride[1 ^ o] = 0), + B(this._field[o], y)); + } + } else { + for (o = 0; o < 2; ++o) { + var x = [0, 0]; + ((x[o] = 1), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + x, + 0, + ))); + } + this._field[0].set(0, 0, 0); + for (var b = 0; b < a[0]; ++b) this._field[0].set(b + 1, 0, b); + for ( + this._field[0].set(a[0] + 1, 0, a[0] - 1), + this._field[1].set(0, 0, 0), + b = 0; + b < a[1]; + ++b + ) + this._field[1].set(0, b + 1, b); + this._field[1].set(0, a[1] + 1, a[1] - 1); + } + var _ = this._field, + w = f(s.mallocFloat(3 * _[2].size * 2), [3, a[0] + 2, a[1] + 2, 2]); + for (o = 0; o < 3; ++o) m(w.pick(o), _[o], "mirror"); + var k = f(s.mallocFloat(3 * _[2].size), [a[0] + 2, a[1] + 2, 3]); + for (o = 0; o < a[0] + 2; ++o) + for (b = 0; b < a[1] + 2; ++b) { + var A = w.get(0, o, b, 0), + S = w.get(0, o, b, 1), + C = w.get(1, o, b, 0), + E = w.get(1, o, b, 1), + L = w.get(2, o, b, 0), + z = w.get(2, o, b, 1), + P = C * z - E * L, + D = L * S - z * A, + O = A * E - S * C, + I = Math.sqrt(P * P + D * D + O * O); + (I < 1e-8 + ? (I = Math.max(Math.abs(P), Math.abs(D), Math.abs(O))) < 1e-8 + ? ((O = 1), (D = P = 0), (I = 1)) + : (I = 1 / I) + : (I = 1 / Math.sqrt(I)), + k.set(o, b, 0, P * I), + k.set(o, b, 1, D * I), + k.set(o, b, 2, O * I)); + } + s.free(w.data); + var R = [1 / 0, 1 / 0, 1 / 0], + N = [-1 / 0, -1 / 0, -1 / 0], + V = 1 / 0, + U = -1 / 0, + q = (a[0] - 1) * (a[1] - 1) * 6, + H = s.mallocFloat(n.nextPow2(10 * q)), + G = 0, + W = 0; + for (o = 0; o < a[0] - 1; ++o) + t: for (b = 0; b < a[1] - 1; ++b) { + for (var Y = 0; Y < 2; ++Y) + for (var X = 0; X < 2; ++X) + for (var Z = 0; Z < 3; ++Z) { + var J = this._field[Z].get(1 + o + Y, 1 + b + X); + if (isNaN(J) || !isFinite(J)) continue t; + } + for (Z = 0; Z < 6; ++Z) { + var K = o + M[Z][0], + Q = b + M[Z][1], + $ = this._field[0].get(K + 1, Q + 1), + tt = this._field[1].get(K + 1, Q + 1), + et = (J = this._field[2].get(K + 1, Q + 1)); + ((P = k.get(K + 1, Q + 1, 0)), + (D = k.get(K + 1, Q + 1, 1)), + (O = k.get(K + 1, Q + 1, 2)), + t.intensity && (et = t.intensity.get(K, Q)), + (H[G++] = K), + (H[G++] = Q), + (H[G++] = $), + (H[G++] = tt), + (H[G++] = J), + (H[G++] = 0), + (H[G++] = et), + (H[G++] = P), + (H[G++] = D), + (H[G++] = O), + (R[0] = Math.min(R[0], $)), + (R[1] = Math.min(R[1], tt)), + (R[2] = Math.min(R[2], J)), + (V = Math.min(V, et)), + (N[0] = Math.max(N[0], $)), + (N[1] = Math.max(N[1], tt)), + (N[2] = Math.max(N[2], J)), + (U = Math.max(U, et)), + (W += 1)); + } + } + for ( + t.intensityBounds && + ((V = +t.intensityBounds[0]), (U = +t.intensityBounds[1])), + o = 6; + o < G; + o += 10 + ) + H[o] = (H[o] - V) / (U - V); + ((this._vertexCount = W), + this._coordinateBuffer.update(H.subarray(0, G)), + s.freeFloat(H), + s.free(k.data), + (this.bounds = [R, N]), + (this.intensity = t.intensity || this._field[2]), + (this.intensityBounds[0] === V && this.intensityBounds[1] === U) || + (r = !0), + (this.intensityBounds = [V, U])); + } + if ("levels" in t) { + var rt = t.levels; + for ( + rt = Array.isArray(rt[0]) ? rt.slice() : [[], [], rt], o = 0; + o < 3; + ++o + ) + ((rt[o] = rt[o].slice()), + rt.sort(function (t, e) { + return t - e; + })); + t: for (o = 0; o < 3; ++o) { + if (rt[o].length !== this.contourLevels[o].length) { + r = !0; + break; + } + for (b = 0; b < rt[o].length; ++b) + if (rt[o][b] !== this.contourLevels[o][b]) { + r = !0; + break t; + } + } + this.contourLevels = rt; + } + if (r) { + ((_ = this._field), (a = this.shape)); + for (var nt = [], it = 0; it < 3; ++it) { + rt = this.contourLevels[it]; + var at = [], + ot = [], + st = [0, 0, 0]; + for (o = 0; o < rt.length; ++o) { + var lt = h(this._field[it], rt[o]); + (at.push((nt.length / 5) | 0), (W = 0)); + t: for (b = 0; b < lt.cells.length; ++b) { + var ct = lt.cells[b]; + for (Z = 0; Z < 2; ++Z) { + var ut = lt.positions[ct[Z]], + ft = ut[0], + ht = 0 | Math.floor(ft), + pt = ft - ht, + dt = ut[1], + gt = 0 | Math.floor(dt), + mt = dt - gt, + vt = !1; + e: for (var yt = 0; yt < 3; ++yt) { + st[yt] = 0; + var xt = (it + yt + 1) % 3; + for (Y = 0; Y < 2; ++Y) { + var bt = Y ? pt : 1 - pt; + for ( + K = 0 | Math.min(Math.max(ht + Y, 0), a[0]), X = 0; + X < 2; + ++X + ) { + var _t = X ? mt : 1 - mt; + if ( + ((Q = 0 | Math.min(Math.max(gt + X, 0), a[1])), + (J = + yt < 2 + ? this._field[xt].get(K, Q) + : (this.intensity.get(K, Q) - + this.intensityBounds[0]) / + (this.intensityBounds[1] - + this.intensityBounds[0])), + !isFinite(J) || isNaN(J)) + ) { + vt = !0; + break e; + } + var wt = bt * _t; + st[yt] += wt * J; + } + } + } + if (vt) { + if (Z > 0) { + for (var kt = 0; kt < 5; ++kt) nt.pop(); + W -= 1; + } + continue t; + } + (nt.push(st[0], st[1], ut[0], ut[1], st[2]), (W += 1)); + } + } + ot.push(W); + } + ((this._contourOffsets[it] = at), (this._contourCounts[it] = ot)); + } + var Mt = s.mallocFloat(nt.length); + for (o = 0; o < nt.length; ++o) Mt[o] = nt[o]; + (this._contourBuffer.update(Mt), s.freeFloat(Mt)); + } + t.colormap && + this._colorMap.setPixels( + (function (t) { + var e = u([ + l({ colormap: t, nshades: T, format: "rgba" }).map(function (t) { + return [t[0], t[1], t[2], 255 * t[3]]; + }), + ]); + return (c.divseq(e, 255), e); + })(t.colormap), + ); + }), + (C.dispose = function () { + (this._shader.dispose(), + this._vao.dispose(), + this._coordinateBuffer.dispose(), + this._colorMap.dispose(), + this._contourBuffer.dispose(), + this._contourVAO.dispose(), + this._contourShader.dispose(), + this._contourPickShader.dispose(), + this._dynamicBuffer.dispose(), + this._dynamicVAO.dispose()); + for (var t = 0; t < 3; ++t) s.freeFloat(this._field[t].data); + }), + (C.highlight = function (t) { + if (!t) + return ( + (this._dynamicCounts = [0, 0, 0]), + (this.dyanamicLevel = [NaN, NaN, NaN]), + void (this.highlightLevel = [-1, -1, -1]) + ); + for (var e = 0; e < 3; ++e) + this.enableHighlight[e] + ? (this.highlightLevel[e] = t.level[e]) + : (this.highlightLevel[e] = -1); + var r; + if ( + ((r = this.snapToData ? t.dataCoordinate : t.position), + (this.enableDynamic[0] && r[0] !== this.dynamicLevel[0]) || + (this.enableDynamic[1] && r[1] !== this.dynamicLevel[1]) || + (this.enableDynamic[2] && r[2] !== this.dynamicLevel[2])) + ) { + for ( + var n = 0, i = this.shape, a = s.mallocFloat(12 * i[0] * i[1]), o = 0; + o < 3; + ++o + ) + if (this.enableDynamic[o]) { + this.dynamicLevel[o] = r[o]; + var l = (o + 1) % 3, + c = (o + 2) % 3, + u = this._field[o], + f = this._field[l], + p = this._field[c], + d = (this.intensity, h(u, r[o])), + g = d.cells, + m = d.positions; + for (this._dynamicOffsets[o] = n, e = 0; e < g.length; ++e) + for (var v = g[e], y = 0; y < 2; ++y) { + var x = m[v[y]], + b = +x[0], + _ = 0 | b, + w = 0 | Math.min(_ + 1, i[0]), + k = b - _, + M = 1 - k, + A = +x[1], + T = 0 | A, + S = 0 | Math.min(T + 1, i[1]), + C = A - T, + E = 1 - C, + L = M * E, + z = M * C, + P = k * E, + D = k * C, + O = + L * f.get(_, T) + + z * f.get(_, S) + + P * f.get(w, T) + + D * f.get(w, S), + I = + L * p.get(_, T) + + z * p.get(_, S) + + P * p.get(w, T) + + D * p.get(w, S); + if (isNaN(O) || isNaN(I)) { + y && (n -= 1); + break; + } + ((a[2 * n + 0] = O), (a[2 * n + 1] = I), (n += 1)); + } + this._dynamicCounts[o] = n - this._dynamicOffsets[o]; + } else ((this.dynamicLevel[o] = NaN), (this._dynamicCounts[o] = 0)); + (this._dynamicBuffer.update(a.subarray(0, 2 * n)), s.freeFloat(a)); + } + })); + }, + { + "./lib/shaders": 273, + "binary-search-bounds": 72, + "bit-twiddle": 73, + colormap: 106, + "gl-buffer": 210, + "gl-mat4/invert": 230, + "gl-mat4/multiply": 232, + "gl-texture2d": 275, + "gl-vao": 279, + ndarray: 335, + "ndarray-gradient": 326, + "ndarray-ops": 329, + "ndarray-pack": 330, + "surface-nets": 409, + "typedarray-pool": 423, + }, + ], + 275: [ + function (t, e, r) { + "use strict"; + var n = t("ndarray"), + i = t("ndarray-ops"), + a = t("typedarray-pool"); + e.exports = function (t) { + if (arguments.length <= 1) + throw new Error( + "gl-texture2d: Missing arguments for texture2d constructor", + ); + o || + (function (t) { + ((o = [ + t.LINEAR, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_NEAREST, + ]), + (s = [ + t.NEAREST, + t.LINEAR, + t.NEAREST_MIPMAP_NEAREST, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_LINEAR, + ]), + (l = [t.REPEAT, t.CLAMP_TO_EDGE, t.MIRRORED_REPEAT])); + })(t); + if ("number" == typeof arguments[1]) + return m( + t, + arguments[1], + arguments[2], + arguments[3] || t.RGBA, + arguments[4] || t.UNSIGNED_BYTE, + ); + if (Array.isArray(arguments[1])) + return m( + t, + 0 | arguments[1][0], + 0 | arguments[1][1], + arguments[2] || t.RGBA, + arguments[3] || t.UNSIGNED_BYTE, + ); + if ("object" == typeof arguments[1]) { + var e = arguments[1], + r = c(e) ? e : e.raw; + if (r) + return (function (t, e, r, n, i, a) { + var o = g(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, i, i, a, e), + new h(t, o, r, n, i, a) + ); + })( + t, + r, + 0 | e.width, + 0 | e.height, + arguments[2] || t.RGBA, + arguments[3] || t.UNSIGNED_BYTE, + ); + if (e.shape && e.data && e.stride) + return (function (t, e) { + var r = e.dtype, + o = e.shape.slice(), + s = t.getParameter(t.MAX_TEXTURE_SIZE); + if (o[0] < 0 || o[0] > s || o[1] < 0 || o[1] > s) + throw new Error("gl-texture2d: Invalid texture size"); + var l = d(o, e.stride.slice()), + c = 0; + "float32" === r + ? (c = t.FLOAT) + : "float64" === r + ? ((c = t.FLOAT), (l = !1), (r = "float32")) + : "uint8" === r + ? (c = t.UNSIGNED_BYTE) + : ((c = t.UNSIGNED_BYTE), (l = !1), (r = "uint8")); + var f, + p, + m = 0; + if (2 === o.length) + ((m = t.LUMINANCE), + (o = [o[0], o[1], 1]), + (e = n(e.data, o, [e.stride[0], e.stride[1], 1], e.offset))); + else { + if (3 !== o.length) + throw new Error("gl-texture2d: Invalid shape for texture"); + if (1 === o[2]) m = t.ALPHA; + else if (2 === o[2]) m = t.LUMINANCE_ALPHA; + else if (3 === o[2]) m = t.RGB; + else { + if (4 !== o[2]) + throw new Error("gl-texture2d: Invalid shape for pixel coords"); + m = t.RGBA; + } + } + c !== t.FLOAT || + t.getExtension("OES_texture_float") || + ((c = t.UNSIGNED_BYTE), (l = !1)); + var v = e.size; + if (l) + f = + 0 === e.offset && e.data.length === v + ? e.data + : e.data.subarray(e.offset, e.offset + v); + else { + var y = [o[2], o[2] * o[0], 1]; + p = a.malloc(v, r); + var x = n(p, o, y, 0); + (("float32" !== r && "float64" !== r) || c !== t.UNSIGNED_BYTE + ? i.assign(x, e) + : u(x, e), + (f = p.subarray(0, v))); + } + var b = g(t); + (t.texImage2D(t.TEXTURE_2D, 0, m, o[0], o[1], 0, m, c, f), + l || a.free(p)); + return new h(t, b, o[0], o[1], m, c); + })(t, e); + } + throw new Error( + "gl-texture2d: Invalid arguments for texture2d constructor", + ); + }; + var o = null, + s = null, + l = null; + function c(t) { + return ( + ("undefined" != typeof HTMLCanvasElement && + t instanceof HTMLCanvasElement) || + ("undefined" != typeof HTMLImageElement && + t instanceof HTMLImageElement) || + ("undefined" != typeof HTMLVideoElement && + t instanceof HTMLVideoElement) || + ("undefined" != typeof ImageData && t instanceof ImageData) + ); + } + var u = function (t, e) { + i.muls(t, e, 255); + }; + function f(t, e, r) { + var n = t.gl, + i = n.getParameter(n.MAX_TEXTURE_SIZE); + if (e < 0 || e > i || r < 0 || r > i) + throw new Error("gl-texture2d: Invalid texture size"); + return ( + (t._shape = [e, r]), + t.bind(), + n.texImage2D(n.TEXTURE_2D, 0, t.format, e, r, 0, t.format, t.type, null), + (t._mipLevels = [0]), + t + ); + } + function h(t, e, r, n, i, a) { + ((this.gl = t), + (this.handle = e), + (this.format = i), + (this.type = a), + (this._shape = [r, n]), + (this._mipLevels = [0]), + (this._magFilter = t.NEAREST), + (this._minFilter = t.NEAREST), + (this._wrapS = t.CLAMP_TO_EDGE), + (this._wrapT = t.CLAMP_TO_EDGE), + (this._anisoSamples = 1)); + var o = this, + s = [this._wrapS, this._wrapT]; + (Object.defineProperties(s, [ + { + get: function () { + return o._wrapS; + }, + set: function (t) { + return (o.wrapS = t); + }, + }, + { + get: function () { + return o._wrapT; + }, + set: function (t) { + return (o.wrapT = t); + }, + }, + ]), + (this._wrapVector = s)); + var l = [this._shape[0], this._shape[1]]; + (Object.defineProperties(l, [ + { + get: function () { + return o._shape[0]; + }, + set: function (t) { + return (o.width = t); + }, + }, + { + get: function () { + return o._shape[1]; + }, + set: function (t) { + return (o.height = t); + }, + }, + ]), + (this._shapeVector = l)); + } + var p = h.prototype; + function d(t, e) { + return 3 === t.length + ? 1 === e[2] && e[1] === t[0] * t[2] && e[0] === t[2] + : 1 === e[0] && e[1] === t[0]; + } + function g(t) { + var e = t.createTexture(); + return ( + t.bindTexture(t.TEXTURE_2D, e), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.NEAREST), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.NEAREST), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), + e + ); + } + function m(t, e, r, n, i) { + var a = t.getParameter(t.MAX_TEXTURE_SIZE); + if (e < 0 || e > a || r < 0 || r > a) + throw new Error("gl-texture2d: Invalid texture shape"); + if (i === t.FLOAT && !t.getExtension("OES_texture_float")) + throw new Error( + "gl-texture2d: Floating point textures not supported on this platform", + ); + var o = g(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, n, e, r, 0, n, i, null), + new h(t, o, e, r, n, i) + ); + } + (Object.defineProperties(p, { + minFilter: { + get: function () { + return this._minFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension("OES_texture_float_linear") || (t = e.NEAREST)), + s.indexOf(t) < 0) + ) + throw new Error("gl-texture2d: Unknown filter mode " + t); + return ( + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, t), + (this._minFilter = t) + ); + }, + }, + magFilter: { + get: function () { + return this._magFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension("OES_texture_float_linear") || (t = e.NEAREST)), + s.indexOf(t) < 0) + ) + throw new Error("gl-texture2d: Unknown filter mode " + t); + return ( + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, t), + (this._magFilter = t) + ); + }, + }, + mipSamples: { + get: function () { + return this._anisoSamples; + }, + set: function (t) { + var e = this._anisoSamples; + if ( + ((this._anisoSamples = 0 | Math.max(t, 1)), e !== this._anisoSamples) + ) { + var r = this.gl.getExtension("EXT_texture_filter_anisotropic"); + r && + this.gl.texParameterf( + this.gl.TEXTURE_2D, + r.TEXTURE_MAX_ANISOTROPY_EXT, + this._anisoSamples, + ); + } + return this._anisoSamples; + }, + }, + wrapS: { + get: function () { + return this._wrapS; + }, + set: function (t) { + if ((this.bind(), l.indexOf(t) < 0)) + throw new Error("gl-texture2d: Unknown wrap mode " + t); + return ( + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, t), + (this._wrapS = t) + ); + }, + }, + wrapT: { + get: function () { + return this._wrapT; + }, + set: function (t) { + if ((this.bind(), l.indexOf(t) < 0)) + throw new Error("gl-texture2d: Unknown wrap mode " + t); + return ( + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, t), + (this._wrapT = t) + ); + }, + }, + wrap: { + get: function () { + return this._wrapVector; + }, + set: function (t) { + if ((Array.isArray(t) || (t = [t, t]), 2 !== t.length)) + throw new Error( + "gl-texture2d: Must specify wrap mode for rows and columns", + ); + for (var e = 0; e < 2; ++e) + if (l.indexOf(t[e]) < 0) + throw new Error("gl-texture2d: Unknown wrap mode " + t); + ((this._wrapS = t[0]), (this._wrapT = t[1])); + var r = this.gl; + return ( + this.bind(), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, this._wrapS), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, this._wrapT), + t + ); + }, + }, + shape: { + get: function () { + return this._shapeVector; + }, + set: function (t) { + if (Array.isArray(t)) { + if (2 !== t.length) + throw new Error("gl-texture2d: Invalid texture shape"); + } else t = [0 | t, 0 | t]; + return (f(this, 0 | t[0], 0 | t[1]), [0 | t[0], 0 | t[1]]); + }, + }, + width: { + get: function () { + return this._shape[0]; + }, + set: function (t) { + return (f(this, (t |= 0), this._shape[1]), t); + }, + }, + height: { + get: function () { + return this._shape[1]; + }, + set: function (t) { + return ((t |= 0), f(this, this._shape[0], t), t); + }, + }, + }), + (p.bind = function (t) { + var e = this.gl; + return ( + void 0 !== t && e.activeTexture(e.TEXTURE0 + (0 | t)), + e.bindTexture(e.TEXTURE_2D, this.handle), + void 0 !== t ? 0 | t : e.getParameter(e.ACTIVE_TEXTURE) - e.TEXTURE0 + ); + }), + (p.dispose = function () { + this.gl.deleteTexture(this.handle); + }), + (p.generateMipmap = function () { + (this.bind(), this.gl.generateMipmap(this.gl.TEXTURE_2D)); + for ( + var t = Math.min(this._shape[0], this._shape[1]), e = 0; + t > 0; + ++e, t >>>= 1 + ) + this._mipLevels.indexOf(e) < 0 && this._mipLevels.push(e); + }), + (p.setPixels = function (t, e, r, o) { + var s = this.gl; + (this.bind(), + Array.isArray(e) + ? ((o = r), (r = 0 | e[1]), (e = 0 | e[0])) + : ((e = e || 0), (r = r || 0)), + (o = o || 0)); + var l = c(t) ? t : t.raw; + if (l) { + this._mipLevels.indexOf(o) < 0 + ? (s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + this.type, + l, + ), + this._mipLevels.push(o)) + : s.texSubImage2D(s.TEXTURE_2D, o, e, r, this.format, this.type, l); + } else { + if (!(t.shape && t.stride && t.data)) + throw new Error("gl-texture2d: Unsupported data type"); + if ( + t.shape.length < 2 || + e + t.shape[1] > this._shape[1] >>> o || + r + t.shape[0] > this._shape[0] >>> o || + e < 0 || + r < 0 + ) + throw new Error("gl-texture2d: Texture dimensions are out of bounds"); + !(function (t, e, r, o, s, l, c, f) { + var h = f.dtype, + p = f.shape.slice(); + if (p.length < 2 || p.length > 3) + throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d"); + var g = 0, + m = 0, + v = d(p, f.stride.slice()); + "float32" === h + ? (g = t.FLOAT) + : "float64" === h + ? ((g = t.FLOAT), (v = !1), (h = "float32")) + : "uint8" === h + ? (g = t.UNSIGNED_BYTE) + : ((g = t.UNSIGNED_BYTE), (v = !1), (h = "uint8")); + if (2 === p.length) + ((m = t.LUMINANCE), + (p = [p[0], p[1], 1]), + (f = n(f.data, p, [f.stride[0], f.stride[1], 1], f.offset))); + else { + if (3 !== p.length) + throw new Error("gl-texture2d: Invalid shape for texture"); + if (1 === p[2]) m = t.ALPHA; + else if (2 === p[2]) m = t.LUMINANCE_ALPHA; + else if (3 === p[2]) m = t.RGB; + else { + if (4 !== p[2]) + throw new Error("gl-texture2d: Invalid shape for pixel coords"); + m = t.RGBA; + } + p[2]; + } + (m !== t.LUMINANCE && m !== t.ALPHA) || + (s !== t.LUMINANCE && s !== t.ALPHA) || + (m = s); + if (m !== s) + throw new Error( + "gl-texture2d: Incompatible texture format for setPixels", + ); + var y = f.size, + x = c.indexOf(o) < 0; + x && c.push(o); + if (g === l && v) + 0 === f.offset && f.data.length === y + ? x + ? t.texImage2D(t.TEXTURE_2D, o, s, p[0], p[1], 0, s, l, f.data) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + f.data, + ) + : x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + f.data.subarray(f.offset, f.offset + y), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + f.data.subarray(f.offset, f.offset + y), + ); + else { + var b; + b = l === t.FLOAT ? a.mallocFloat32(y) : a.mallocUint8(y); + var _ = n(b, p, [p[2], p[2] * p[0], 1]); + (g === t.FLOAT && l === t.UNSIGNED_BYTE ? u(_, f) : i.assign(_, f), + x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + b.subarray(0, y), + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + b.subarray(0, y), + ), + l === t.FLOAT ? a.freeFloat32(b) : a.freeUint8(b)); + } + })(s, e, r, o, this.format, this.type, this._mipLevels, t); + } + })); + }, + { ndarray: 335, "ndarray-ops": 329, "typedarray-pool": 423 }, + ], + 276: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + e ? e.bind() : t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, null); + var n = 0 | t.getParameter(t.MAX_VERTEX_ATTRIBS); + if (r) { + if (r.length > n) throw new Error("gl-vao: Too many vertex attributes"); + for (var i = 0; i < r.length; ++i) { + var a = r[i]; + if (a.buffer) { + var o = a.buffer, + s = a.size || 4, + l = a.type || t.FLOAT, + c = !!a.normalized, + u = a.stride || 0, + f = a.offset || 0; + (o.bind(), + t.enableVertexAttribArray(i), + t.vertexAttribPointer(i, s, l, c, u, f)); + } else { + if ("number" == typeof a) t.vertexAttrib1f(i, a); + else if (1 === a.length) t.vertexAttrib1f(i, a[0]); + else if (2 === a.length) t.vertexAttrib2f(i, a[0], a[1]); + else if (3 === a.length) t.vertexAttrib3f(i, a[0], a[1], a[2]); + else { + if (4 !== a.length) + throw new Error("gl-vao: Invalid vertex attribute"); + t.vertexAttrib4f(i, a[0], a[1], a[2], a[3]); + } + t.disableVertexAttribArray(i); + } + } + for (; i < n; ++i) t.disableVertexAttribArray(i); + } else + for (t.bindBuffer(t.ARRAY_BUFFER, null), i = 0; i < n; ++i) + t.disableVertexAttribArray(i); + }; + }, + {}, + ], + 277: [ + function (t, e, r) { + "use strict"; + var n = t("./do-bind.js"); + function i(t) { + ((this.gl = t), + (this._elements = null), + (this._attributes = null), + (this._elementsType = t.UNSIGNED_SHORT)); + } + ((i.prototype.bind = function () { + n(this.gl, this._elements, this._attributes); + }), + (i.prototype.update = function (t, e, r) { + ((this._elements = e), + (this._attributes = t), + (this._elementsType = r || this.gl.UNSIGNED_SHORT)); + }), + (i.prototype.dispose = function () {}), + (i.prototype.unbind = function () {}), + (i.prototype.draw = function (t, e, r) { + r = r || 0; + var n = this.gl; + this._elements + ? n.drawElements(t, e, this._elementsType, r) + : n.drawArrays(t, r, e); + }), + (e.exports = function (t) { + return new i(t); + })); + }, + { "./do-bind.js": 276 }, + ], + 278: [ + function (t, e, r) { + "use strict"; + var n = t("./do-bind.js"); + function i(t, e, r, n, i, a) { + ((this.location = t), + (this.dimension = e), + (this.a = r), + (this.b = n), + (this.c = i), + (this.d = a)); + } + function a(t, e, r) { + ((this.gl = t), + (this._ext = e), + (this.handle = r), + (this._attribs = []), + (this._useElements = !1), + (this._elementsType = t.UNSIGNED_SHORT)); + } + ((i.prototype.bind = function (t) { + switch (this.dimension) { + case 1: + t.vertexAttrib1f(this.location, this.a); + break; + case 2: + t.vertexAttrib2f(this.location, this.a, this.b); + break; + case 3: + t.vertexAttrib3f(this.location, this.a, this.b, this.c); + break; + case 4: + t.vertexAttrib4f(this.location, this.a, this.b, this.c, this.d); + } + }), + (a.prototype.bind = function () { + this._ext.bindVertexArrayOES(this.handle); + for (var t = 0; t < this._attribs.length; ++t) + this._attribs[t].bind(this.gl); + }), + (a.prototype.unbind = function () { + this._ext.bindVertexArrayOES(null); + }), + (a.prototype.dispose = function () { + this._ext.deleteVertexArrayOES(this.handle); + }), + (a.prototype.update = function (t, e, r) { + if ( + (this.bind(), + n(this.gl, e, t), + this.unbind(), + (this._attribs.length = 0), + t) + ) + for (var a = 0; a < t.length; ++a) { + var o = t[a]; + "number" == typeof o + ? this._attribs.push(new i(a, 1, o)) + : Array.isArray(o) && + this._attribs.push(new i(a, o.length, o[0], o[1], o[2], o[3])); + } + ((this._useElements = !!e), + (this._elementsType = r || this.gl.UNSIGNED_SHORT)); + }), + (a.prototype.draw = function (t, e, r) { + r = r || 0; + var n = this.gl; + this._useElements + ? n.drawElements(t, e, this._elementsType, r) + : n.drawArrays(t, r, e); + }), + (e.exports = function (t, e) { + return new a(t, e, e.createVertexArrayOES()); + })); + }, + { "./do-bind.js": 276 }, + ], + 279: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/vao-native.js"), + i = t("./lib/vao-emulated.js"); + e.exports = function (t, e, r, a) { + var o, + s = t.createVertexArray + ? new (function (t) { + ((this.bindVertexArrayOES = t.bindVertexArray.bind(t)), + (this.createVertexArrayOES = t.createVertexArray.bind(t)), + (this.deleteVertexArrayOES = t.deleteVertexArray.bind(t))); + })(t) + : t.getExtension("OES_vertex_array_object"); + return ((o = s ? n(t, s) : i(t)).update(e, r, a), o); + }; + }, + { "./lib/vao-emulated.js": 277, "./lib/vao-native.js": 278 }, + ], + 280: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2]; + return ( + (t[0] = i * l - a * s), + (t[1] = a * o - n * l), + (t[2] = n * s - i * o), + t + ); + }; + }, + {}, + ], + 281: [ + function (t, e, r) { + e.exports = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }; + }, + {}, + ], + 282: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return Math.sqrt(e * e + r * r + n * n); + }; + }, + {}, + ], + 283: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = e[0], + a = e[1], + o = e[2]; + return ( + (t[0] = i + n * (r[0] - i)), + (t[1] = a + n * (r[1] - a)), + (t[2] = o + n * (r[2] - o)), + t + ); + }; + }, + {}, + ], + 284: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + a > 0 && + ((a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a)); + return t; + }; + }, + {}, + ], + 285: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3]; + return ( + (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), + (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), + (t[2] = r[2] * n + r[6] * i + r[10] * a + r[14] * o), + (t[3] = r[3] * n + r[7] * i + r[11] * a + r[15] * o), + t + ); + }; + }, + {}, + ], + 286: [ + function (t, e, r) { + e.exports = function (t, e, r, a) { + return ((n[0] = a), (n[1] = r), (n[2] = e), (n[3] = t), i[0]); + }; + var n = new Uint8Array(4), + i = new Float32Array(n.buffer); + }, + {}, + ], + 287: [ + function (t, e, r) { + var n = t("glsl-tokenizer"), + i = t("atob-lite"); + e.exports = function (t) { + for (var e = Array.isArray(t) ? t : n(t), r = 0; r < e.length; r++) { + var a = e[r]; + if ("preprocessor" === a.type) { + var o = a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/); + if (o && o[2]) { + var s = o[1], + l = o[2]; + return (s ? i(l) : l).trim(); + } + } + } + }; + }, + { "atob-lite": 53, "glsl-tokenizer": 294 }, + ], + 288: [ + function (t, e, r) { + e.exports = function (t) { + var e, + r, + k, + M = 0, + A = 0, + T = l, + S = [], + C = [], + E = 1, + L = 0, + z = 0, + P = !1, + D = !1, + O = "", + I = a, + R = n; + "300 es" === (t = t || {}).version && ((I = s), (R = o)); + return function (t) { + return ( + (C = []), + null !== t + ? (function (t) { + var r; + ((M = 0), (k = (O += t).length)); + for (; (e = O[M]), M < k; ) { + switch (((r = M), T)) { + case u: + M = V(); + break; + case f: + case h: + M = j(); + break; + case p: + M = U(); + break; + case d: + M = G(); + break; + case _: + M = H(); + break; + case g: + M = W(); + break; + case c: + M = Y(); + break; + case x: + M = N(); + break; + case l: + M = F(); + } + if (r !== M) + switch (O[r]) { + case "\n": + ((L = 0), ++E); + break; + default: + ++L; + } + } + return ((A += M), (O = O.slice(M)), C); + })(t.replace ? t.replace(/\r\n/g, "\n") : t) + : (function (t) { + S.length && B(S.join("")); + return ((T = b), B("(eof)"), C); + })() + ); + }; + function B(t) { + t.length && + C.push({ type: w[T], data: t, position: z, line: E, column: L }); + } + function F() { + return ( + (S = S.length ? [] : S), + "/" === r && "*" === e + ? ((z = A + M - 1), (T = u), (r = e), M + 1) + : "/" === r && "/" === e + ? ((z = A + M - 1), (T = f), (r = e), M + 1) + : "#" === e + ? ((T = h), (z = A + M), M) + : /\s/.test(e) + ? ((T = x), (z = A + M), M) + : ((P = /\d/.test(e)), + (D = /[^\w_]/.test(e)), + (z = A + M), + (T = P ? d : D ? p : c), + M) + ); + } + function N() { + return /[^\s]/g.test(e) + ? (B(S.join("")), (T = l), M) + : (S.push(e), (r = e), M + 1); + } + function j() { + return ("\r" !== e && "\n" !== e) || "\\" === r + ? (S.push(e), (r = e), M + 1) + : (B(S.join("")), (T = l), M); + } + function V() { + return "/" === e && "*" === r + ? (S.push(e), B(S.join("")), (T = l), M + 1) + : (S.push(e), (r = e), M + 1); + } + function U() { + if ("." === r && /\d/.test(e)) return ((T = g), M); + if ("/" === r && "*" === e) return ((T = u), M); + if ("/" === r && "/" === e) return ((T = f), M); + if ("." === e && S.length) { + for (; q(S); ); + return ((T = g), M); + } + if (";" === e || ")" === e || "(" === e) { + if (S.length) for (; q(S); ); + return (B(e), (T = l), M + 1); + } + var t = 2 === S.length && "=" !== e; + if (/[\w_\d\s]/.test(e) || t) { + for (; q(S); ); + return ((T = l), M); + } + return (S.push(e), (r = e), M + 1); + } + function q(t) { + for (var e, r, n = 0; ; ) { + if ( + ((e = i.indexOf(t.slice(0, t.length + n).join(""))), + (r = i[e]), + -1 === e) + ) { + if (n-- + t.length > 0) continue; + r = t.slice(0, 1).join(""); + } + return (B(r), (z += r.length), (S = S.slice(r.length)).length); + } + } + function H() { + return /[^a-fA-F0-9]/.test(e) + ? (B(S.join("")), (T = l), M) + : (S.push(e), (r = e), M + 1); + } + function G() { + return "." === e + ? (S.push(e), (T = g), (r = e), M + 1) + : /[eE]/.test(e) + ? (S.push(e), (T = g), (r = e), M + 1) + : "x" === e && 1 === S.length && "0" === S[0] + ? ((T = _), S.push(e), (r = e), M + 1) + : /[^\d]/.test(e) + ? (B(S.join("")), (T = l), M) + : (S.push(e), (r = e), M + 1); + } + function W() { + return ( + "f" === e && (S.push(e), (r = e), (M += 1)), + /[eE]/.test(e) + ? (S.push(e), (r = e), M + 1) + : "-" === e && /[eE]/.test(r) + ? (S.push(e), (r = e), M + 1) + : /[^\d]/.test(e) + ? (B(S.join("")), (T = l), M) + : (S.push(e), (r = e), M + 1) + ); + } + function Y() { + if (/[^\d\w_]/.test(e)) { + var t = S.join(""); + return ( + (T = R.indexOf(t) > -1 ? y : I.indexOf(t) > -1 ? v : m), + B(S.join("")), + (T = l), + M + ); + } + return (S.push(e), (r = e), M + 1); + } + }; + var n = t("./lib/literals"), + i = t("./lib/operators"), + a = t("./lib/builtins"), + o = t("./lib/literals-300es"), + s = t("./lib/builtins-300es"), + l = 999, + c = 9999, + u = 0, + f = 1, + h = 2, + p = 3, + d = 4, + g = 5, + m = 6, + v = 7, + y = 8, + x = 9, + b = 10, + _ = 11, + w = [ + "block-comment", + "line-comment", + "preprocessor", + "operator", + "integer", + "float", + "ident", + "builtin", + "keyword", + "whitespace", + "eof", + "integer", + ]; + }, + { + "./lib/builtins": 290, + "./lib/builtins-300es": 289, + "./lib/literals": 292, + "./lib/literals-300es": 291, + "./lib/operators": 293, + }, + ], + 289: [ + function (t, e, r) { + var n = t("./builtins"); + ((n = n.slice().filter(function (t) { + return !/^(gl\_|texture)/.test(t); + })), + (e.exports = n.concat([ + "gl_VertexID", + "gl_InstanceID", + "gl_Position", + "gl_PointSize", + "gl_FragCoord", + "gl_FrontFacing", + "gl_FragDepth", + "gl_PointCoord", + "gl_MaxVertexAttribs", + "gl_MaxVertexUniformVectors", + "gl_MaxVertexOutputVectors", + "gl_MaxFragmentInputVectors", + "gl_MaxVertexTextureImageUnits", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxTextureImageUnits", + "gl_MaxFragmentUniformVectors", + "gl_MaxDrawBuffers", + "gl_MinProgramTexelOffset", + "gl_MaxProgramTexelOffset", + "gl_DepthRangeParameters", + "gl_DepthRange", + "trunc", + "round", + "roundEven", + "isnan", + "isinf", + "floatBitsToInt", + "floatBitsToUint", + "intBitsToFloat", + "uintBitsToFloat", + "packSnorm2x16", + "unpackSnorm2x16", + "packUnorm2x16", + "unpackUnorm2x16", + "packHalf2x16", + "unpackHalf2x16", + "outerProduct", + "transpose", + "determinant", + "inverse", + "texture", + "textureSize", + "textureProj", + "textureLod", + "textureOffset", + "texelFetch", + "texelFetchOffset", + "textureProjOffset", + "textureLodOffset", + "textureProjLod", + "textureProjLodOffset", + "textureGrad", + "textureGradOffset", + "textureProjGrad", + "textureProjGradOffset", + ]))); + }, + { "./builtins": 290 }, + ], + 290: [ + function (t, e, r) { + e.exports = [ + "abs", + "acos", + "all", + "any", + "asin", + "atan", + "ceil", + "clamp", + "cos", + "cross", + "dFdx", + "dFdy", + "degrees", + "distance", + "dot", + "equal", + "exp", + "exp2", + "faceforward", + "floor", + "fract", + "gl_BackColor", + "gl_BackLightModelProduct", + "gl_BackLightProduct", + "gl_BackMaterial", + "gl_BackSecondaryColor", + "gl_ClipPlane", + "gl_ClipVertex", + "gl_Color", + "gl_DepthRange", + "gl_DepthRangeParameters", + "gl_EyePlaneQ", + "gl_EyePlaneR", + "gl_EyePlaneS", + "gl_EyePlaneT", + "gl_Fog", + "gl_FogCoord", + "gl_FogFragCoord", + "gl_FogParameters", + "gl_FragColor", + "gl_FragCoord", + "gl_FragData", + "gl_FragDepth", + "gl_FragDepthEXT", + "gl_FrontColor", + "gl_FrontFacing", + "gl_FrontLightModelProduct", + "gl_FrontLightProduct", + "gl_FrontMaterial", + "gl_FrontSecondaryColor", + "gl_LightModel", + "gl_LightModelParameters", + "gl_LightModelProducts", + "gl_LightProducts", + "gl_LightSource", + "gl_LightSourceParameters", + "gl_MaterialParameters", + "gl_MaxClipPlanes", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxDrawBuffers", + "gl_MaxFragmentUniformComponents", + "gl_MaxLights", + "gl_MaxTextureCoords", + "gl_MaxTextureImageUnits", + "gl_MaxTextureUnits", + "gl_MaxVaryingFloats", + "gl_MaxVertexAttribs", + "gl_MaxVertexTextureImageUnits", + "gl_MaxVertexUniformComponents", + "gl_ModelViewMatrix", + "gl_ModelViewMatrixInverse", + "gl_ModelViewMatrixInverseTranspose", + "gl_ModelViewMatrixTranspose", + "gl_ModelViewProjectionMatrix", + "gl_ModelViewProjectionMatrixInverse", + "gl_ModelViewProjectionMatrixInverseTranspose", + "gl_ModelViewProjectionMatrixTranspose", + "gl_MultiTexCoord0", + "gl_MultiTexCoord1", + "gl_MultiTexCoord2", + "gl_MultiTexCoord3", + "gl_MultiTexCoord4", + "gl_MultiTexCoord5", + "gl_MultiTexCoord6", + "gl_MultiTexCoord7", + "gl_Normal", + "gl_NormalMatrix", + "gl_NormalScale", + "gl_ObjectPlaneQ", + "gl_ObjectPlaneR", + "gl_ObjectPlaneS", + "gl_ObjectPlaneT", + "gl_Point", + "gl_PointCoord", + "gl_PointParameters", + "gl_PointSize", + "gl_Position", + "gl_ProjectionMatrix", + "gl_ProjectionMatrixInverse", + "gl_ProjectionMatrixInverseTranspose", + "gl_ProjectionMatrixTranspose", + "gl_SecondaryColor", + "gl_TexCoord", + "gl_TextureEnvColor", + "gl_TextureMatrix", + "gl_TextureMatrixInverse", + "gl_TextureMatrixInverseTranspose", + "gl_TextureMatrixTranspose", + "gl_Vertex", + "greaterThan", + "greaterThanEqual", + "inversesqrt", + "length", + "lessThan", + "lessThanEqual", + "log", + "log2", + "matrixCompMult", + "max", + "min", + "mix", + "mod", + "normalize", + "not", + "notEqual", + "pow", + "radians", + "reflect", + "refract", + "sign", + "sin", + "smoothstep", + "sqrt", + "step", + "tan", + "texture2D", + "texture2DLod", + "texture2DProj", + "texture2DProjLod", + "textureCube", + "textureCubeLod", + "texture2DLodEXT", + "texture2DProjLodEXT", + "textureCubeLodEXT", + "texture2DGradEXT", + "texture2DProjGradEXT", + "textureCubeGradEXT", + ]; + }, + {}, + ], + 291: [ + function (t, e, r) { + var n = t("./literals"); + e.exports = n + .slice() + .concat([ + "layout", + "centroid", + "smooth", + "case", + "mat2x2", + "mat2x3", + "mat2x4", + "mat3x2", + "mat3x3", + "mat3x4", + "mat4x2", + "mat4x3", + "mat4x4", + "uint", + "uvec2", + "uvec3", + "uvec4", + "samplerCubeShadow", + "sampler2DArray", + "sampler2DArrayShadow", + "isampler2D", + "isampler3D", + "isamplerCube", + "isampler2DArray", + "usampler2D", + "usampler3D", + "usamplerCube", + "usampler2DArray", + "coherent", + "restrict", + "readonly", + "writeonly", + "resource", + "atomic_uint", + "noperspective", + "patch", + "sample", + "subroutine", + "common", + "partition", + "active", + "filter", + "image1D", + "image2D", + "image3D", + "imageCube", + "iimage1D", + "iimage2D", + "iimage3D", + "iimageCube", + "uimage1D", + "uimage2D", + "uimage3D", + "uimageCube", + "image1DArray", + "image2DArray", + "iimage1DArray", + "iimage2DArray", + "uimage1DArray", + "uimage2DArray", + "image1DShadow", + "image2DShadow", + "image1DArrayShadow", + "image2DArrayShadow", + "imageBuffer", + "iimageBuffer", + "uimageBuffer", + "sampler1DArray", + "sampler1DArrayShadow", + "isampler1D", + "isampler1DArray", + "usampler1D", + "usampler1DArray", + "isampler2DRect", + "usampler2DRect", + "samplerBuffer", + "isamplerBuffer", + "usamplerBuffer", + "sampler2DMS", + "isampler2DMS", + "usampler2DMS", + "sampler2DMSArray", + "isampler2DMSArray", + "usampler2DMSArray", + ]); + }, + { "./literals": 292 }, + ], + 292: [ + function (t, e, r) { + e.exports = [ + "precision", + "highp", + "mediump", + "lowp", + "attribute", + "const", + "uniform", + "varying", + "break", + "continue", + "do", + "for", + "while", + "if", + "else", + "in", + "out", + "inout", + "float", + "int", + "void", + "bool", + "true", + "false", + "discard", + "return", + "mat2", + "mat3", + "mat4", + "vec2", + "vec3", + "vec4", + "ivec2", + "ivec3", + "ivec4", + "bvec2", + "bvec3", + "bvec4", + "sampler1D", + "sampler2D", + "sampler3D", + "samplerCube", + "sampler1DShadow", + "sampler2DShadow", + "struct", + "asm", + "class", + "union", + "enum", + "typedef", + "template", + "this", + "packed", + "goto", + "switch", + "default", + "inline", + "noinline", + "volatile", + "public", + "static", + "extern", + "external", + "interface", + "long", + "short", + "double", + "half", + "fixed", + "unsigned", + "input", + "output", + "hvec2", + "hvec3", + "hvec4", + "dvec2", + "dvec3", + "dvec4", + "fvec2", + "fvec3", + "fvec4", + "sampler2DRect", + "sampler3DRect", + "sampler2DRectShadow", + "sizeof", + "cast", + "namespace", + "using", + ]; + }, + {}, + ], + 293: [ + function (t, e, r) { + e.exports = [ + "<<=", + ">>=", + "++", + "--", + "<<", + ">>", + "<=", + ">=", + "==", + "!=", + "&&", + "||", + "+=", + "-=", + "*=", + "/=", + "%=", + "&=", + "^^", + "^=", + "|=", + "(", + ")", + "[", + "]", + ".", + "!", + "~", + "*", + "/", + "%", + "+", + "-", + "<", + ">", + "&", + "^", + "|", + "?", + ":", + "=", + ",", + ";", + "{", + "}", + ]; + }, + {}, + ], + 294: [ + function (t, e, r) { + var n = t("./index"); + e.exports = function (t, e) { + var r = n(e), + i = []; + return (i = (i = i.concat(r(t))).concat(r(null))); + }; + }, + { "./index": 288 }, + ], + 295: [ + function (t, e, r) { + e.exports = function (t) { + "string" == typeof t && (t = [t]); + for ( + var e = [].slice.call(arguments, 1), r = [], n = 0; + n < t.length - 1; + n++ + ) + r.push(t[n], e[n] || ""); + return (r.push(t[n]), r.join("")); + }; + }, + {}, + ], + 296: [ + function (t, e, r) { + (function (r) { + "use strict"; + var n, + i = t("is-browser"); + ((n = + "function" == typeof r.matchMedia + ? !r.matchMedia("(hover: none)").matches + : i), + (e.exports = n)); + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { "is-browser": 303 }, + ], + 297: [ + function (t, e, r) { + "use strict"; + var n = t("is-browser"); + e.exports = + n && + (function () { + var t = !1; + try { + var e = Object.defineProperty({}, "passive", { + get: function () { + t = !0; + }, + }); + (window.addEventListener("test", null, e), + window.removeEventListener("test", null, e)); + } catch (e) { + t = !1; + } + return t; + })(); + }, + { "is-browser": 303 }, + ], + 298: [ + function (t, e, r) { + ((r.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + c = l >> 1, + u = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; + u > 0; + a = 256 * a + t[e + f], f += h, u -= 8 + ); + for ( + o = a & ((1 << -u) - 1), a >>= -u, u += n; + u > 0; + o = 256 * o + t[e + f], f += h, u -= 8 + ); + if (0 === a) a = 1 - c; + else { + if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); + ((o += Math.pow(2, n)), (a -= c)); + } + return (p ? -1 : 1) * o * Math.pow(2, a - n); + }), + (r.write = function (t, e, r, n, i, a) { + var o, + s, + l, + c = 8 * a - i - 1, + u = (1 << c) - 1, + f = u >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; + for ( + e = Math.abs(e), + isNaN(e) || e === 1 / 0 + ? ((s = isNaN(e) ? 1 : 0), (o = u)) + : ((o = Math.floor(Math.log(e) / Math.LN2)), + e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), + (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * l >= 2 && + (o++, (l /= 2)), + o + f >= u + ? ((s = 0), (o = u)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) + : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), (o = 0))); + i >= 8; + t[r + p] = 255 & s, p += d, s /= 256, i -= 8 + ); + for ( + o = (o << i) | s, c += i; + c > 0; + t[r + p] = 255 & o, p += d, o /= 256, c -= 8 + ); + t[r + p - d] |= 128 * g; + })); + }, + {}, + ], + 299: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = t.length; + if (0 === r) throw new Error("Must have at least d+1 points"); + var i = t[0].length; + if (r <= i) throw new Error("Must input at least d+1 points"); + var o = t.slice(0, i + 1), + s = n.apply(void 0, o); + if (0 === s) throw new Error("Input not in general position"); + for (var l = new Array(i + 1), u = 0; u <= i; ++u) l[u] = u; + s < 0 && ((l[0] = 1), (l[1] = 0)); + for ( + var f = new a(l, new Array(i + 1), !1), + h = f.adjacent, + p = new Array(i + 2), + u = 0; + u <= i; + ++u + ) { + for (var d = l.slice(), g = 0; g <= i; ++g) g === u && (d[g] = -1); + var m = d[0]; + ((d[0] = d[1]), (d[1] = m)); + var v = new a(d, new Array(i + 1), !0); + ((h[u] = v), (p[u] = v)); + } + p[i + 1] = f; + for (var u = 0; u <= i; ++u) + for (var d = h[u].vertices, y = h[u].adjacent, g = 0; g <= i; ++g) { + var x = d[g]; + if (x < 0) y[g] = f; + else + for (var b = 0; b <= i; ++b) + h[b].vertices.indexOf(x) < 0 && (y[g] = h[b]); + } + for (var _ = new c(i, o, p), w = !!e, u = i + 1; u < r; ++u) + _.insert(t[u], w); + return _.boundary(); + }; + var n = t("robust-orientation"), + i = t("simplicial-complex").compareCells; + function a(t, e, r) { + ((this.vertices = t), + (this.adjacent = e), + (this.boundary = r), + (this.lastVisited = -1)); + } + function o(t, e, r) { + ((this.vertices = t), (this.cell = e), (this.index = r)); + } + function s(t, e) { + return i(t.vertices, e.vertices); + } + a.prototype.flip = function () { + var t = this.vertices[0]; + ((this.vertices[0] = this.vertices[1]), (this.vertices[1] = t)); + var e = this.adjacent[0]; + ((this.adjacent[0] = this.adjacent[1]), (this.adjacent[1] = e)); + }; + var l = []; + function c(t, e, r) { + ((this.dimension = t), + (this.vertices = e), + (this.simplices = r), + (this.interior = r.filter(function (t) { + return !t.boundary; + })), + (this.tuple = new Array(t + 1))); + for (var i = 0; i <= t; ++i) this.tuple[i] = this.vertices[i]; + var a = l[t]; + (a || + (a = l[t] = + (function (t) { + for ( + var e = ["function orient(){var tuple=this.tuple;return test("], + r = 0; + r <= t; + ++r + ) + (r > 0 && e.push(","), e.push("tuple[", r, "]")); + e.push(")}return orient"); + var i = new Function("test", e.join("")), + a = n[t + 1]; + return (a || (a = n), i(a)); + })(t)), + (this.orient = a)); + } + var u = c.prototype; + ((u.handleBoundaryDegeneracy = function (t, e) { + var r = this.dimension, + n = this.vertices.length - 1, + i = this.tuple, + a = this.vertices, + o = [t]; + for (t.lastVisited = -n; o.length > 0; ) { + (t = o.pop()).vertices; + for (var s = t.adjacent, l = 0; l <= r; ++l) { + var c = s[l]; + if (c.boundary && !(c.lastVisited <= -n)) { + for (var u = c.vertices, f = 0; f <= r; ++f) { + var h = u[f]; + i[f] = h < 0 ? e : a[h]; + } + var p = this.orient(); + if (p > 0) return c; + ((c.lastVisited = -n), 0 === p && o.push(c)); + } + } + } + return null; + }), + (u.walk = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + a = this.tuple, + o = e + ? (this.interior.length * Math.random()) | 0 + : this.interior.length - 1, + s = this.interior[o]; + t: for (; !s.boundary; ) { + for (var l = s.vertices, c = s.adjacent, u = 0; u <= n; ++u) + a[u] = i[l[u]]; + s.lastVisited = r; + for (u = 0; u <= n; ++u) { + var f = c[u]; + if (!(f.lastVisited >= r)) { + var h = a[u]; + a[u] = t; + var p = this.orient(); + if (((a[u] = h), p < 0)) { + s = f; + continue t; + } + f.boundary ? (f.lastVisited = -r) : (f.lastVisited = r); + } + } + return; + } + return s; + }), + (u.addPeaks = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + l = this.tuple, + c = this.interior, + u = this.simplices, + f = [e]; + ((e.lastVisited = r), + (e.vertices[e.vertices.indexOf(-1)] = r), + (e.boundary = !1), + c.push(e)); + for (var h = []; f.length > 0; ) { + var p = (e = f.pop()).vertices, + d = e.adjacent, + g = p.indexOf(r); + if (!(g < 0)) + for (var m = 0; m <= n; ++m) + if (m !== g) { + var v = d[m]; + if (v.boundary && !(v.lastVisited >= r)) { + var y = v.vertices; + if (v.lastVisited !== -r) { + for (var x = 0, b = 0; b <= n; ++b) + y[b] < 0 ? ((x = b), (l[b] = t)) : (l[b] = i[y[b]]); + if (this.orient() > 0) { + ((y[x] = r), + (v.boundary = !1), + c.push(v), + f.push(v), + (v.lastVisited = r)); + continue; + } + v.lastVisited = -r; + } + var _ = v.adjacent, + w = p.slice(), + k = d.slice(), + M = new a(w, k, !0); + u.push(M); + var A = _.indexOf(e); + if (!(A < 0)) { + ((_[A] = M), + (k[g] = v), + (w[m] = -1), + (k[m] = e), + (d[m] = M), + M.flip()); + for (b = 0; b <= n; ++b) { + var T = w[b]; + if (!(T < 0 || T === r)) { + for ( + var S = new Array(n - 1), C = 0, E = 0; + E <= n; + ++E + ) { + var L = w[E]; + L < 0 || E === b || (S[C++] = L); + } + h.push(new o(S, M, b)); + } + } + } + } + } + } + h.sort(s); + for (m = 0; m + 1 < h.length; m += 2) { + var z = h[m], + P = h[m + 1], + D = z.index, + O = P.index; + D < 0 || + O < 0 || + ((z.cell.adjacent[z.index] = P.cell), + (P.cell.adjacent[P.index] = z.cell)); + } + }), + (u.insert = function (t, e) { + var r = this.vertices; + r.push(t); + var n = this.walk(t, e); + if (n) { + for (var i = this.dimension, a = this.tuple, o = 0; o <= i; ++o) { + var s = n.vertices[o]; + a[o] = s < 0 ? t : r[s]; + } + var l = this.orient(a); + l < 0 || + ((0 !== l || (n = this.handleBoundaryDegeneracy(n, t))) && + this.addPeaks(t, n)); + } + }), + (u.boundary = function () { + for ( + var t = this.dimension, e = [], r = this.simplices, n = r.length, i = 0; + i < n; + ++i + ) { + var a = r[i]; + if (a.boundary) { + for ( + var o = new Array(t), s = a.vertices, l = 0, c = 0, u = 0; + u <= t; + ++u + ) + s[u] >= 0 ? (o[l++] = s[u]) : (c = 1 & u); + if (c === (1 & t)) { + var f = o[0]; + ((o[0] = o[1]), (o[1] = f)); + } + e.push(o); + } + } + return e; + })); + }, + { "robust-orientation": 388, "simplicial-complex": 398 }, + ], + 300: [ + function (t, e, r) { + "use strict"; + var n = t("binary-search-bounds"), + i = 0, + a = 1; + function o(t, e, r, n, i) { + ((this.mid = t), + (this.left = e), + (this.right = r), + (this.leftPoints = n), + (this.rightPoints = i), + (this.count = (e ? e.count : 0) + (r ? r.count : 0) + n.length)); + } + e.exports = function (t) { + if (!t || 0 === t.length) return new x(null); + return new x(y(t)); + }; + var s = o.prototype; + function l(t, e) { + ((t.mid = e.mid), + (t.left = e.left), + (t.right = e.right), + (t.leftPoints = e.leftPoints), + (t.rightPoints = e.rightPoints), + (t.count = e.count)); + } + function c(t, e) { + var r = y(e); + ((t.mid = r.mid), + (t.left = r.left), + (t.right = r.right), + (t.leftPoints = r.leftPoints), + (t.rightPoints = r.rightPoints), + (t.count = r.count)); + } + function u(t, e) { + var r = t.intervals([]); + (r.push(e), c(t, r)); + } + function f(t, e) { + var r = t.intervals([]), + n = r.indexOf(e); + return n < 0 ? i : (r.splice(n, 1), c(t, r), a); + } + function h(t, e, r) { + for (var n = 0; n < t.length && t[n][0] <= e; ++n) { + var i = r(t[n]); + if (i) return i; + } + } + function p(t, e, r) { + for (var n = t.length - 1; n >= 0 && t[n][1] >= e; --n) { + var i = r(t[n]); + if (i) return i; + } + } + function d(t, e) { + for (var r = 0; r < t.length; ++r) { + var n = e(t[r]); + if (n) return n; + } + } + function g(t, e) { + return t - e; + } + function m(t, e) { + var r = t[0] - e[0]; + return r || t[1] - e[1]; + } + function v(t, e) { + var r = t[1] - e[1]; + return r || t[0] - e[0]; + } + function y(t) { + if (0 === t.length) return null; + for (var e = [], r = 0; r < t.length; ++r) e.push(t[r][0], t[r][1]); + e.sort(g); + var n = e[e.length >> 1], + i = [], + a = [], + s = []; + for (r = 0; r < t.length; ++r) { + var l = t[r]; + l[1] < n ? i.push(l) : n < l[0] ? a.push(l) : s.push(l); + } + var c = s, + u = s.slice(); + return (c.sort(m), u.sort(v), new o(n, y(i), y(a), c, u)); + } + function x(t) { + this.root = t; + } + ((s.intervals = function (t) { + return ( + t.push.apply(t, this.leftPoints), + this.left && this.left.intervals(t), + this.right && this.right.intervals(t), + t + ); + }), + (s.insert = function (t) { + var e = this.count - this.leftPoints.length; + if (((this.count += 1), t[1] < this.mid)) + this.left + ? 4 * (this.left.count + 1) > 3 * (e + 1) + ? u(this, t) + : this.left.insert(t) + : (this.left = y([t])); + else if (t[0] > this.mid) + this.right + ? 4 * (this.right.count + 1) > 3 * (e + 1) + ? u(this, t) + : this.right.insert(t) + : (this.right = y([t])); + else { + var r = n.ge(this.leftPoints, t, m), + i = n.ge(this.rightPoints, t, v); + (this.leftPoints.splice(r, 0, t), this.rightPoints.splice(i, 0, t)); + } + }), + (s.remove = function (t) { + var e = this.count - this.leftPoints; + if (t[1] < this.mid) { + return this.left + ? 4 * (this.right ? this.right.count : 0) > 3 * (e - 1) + ? f(this, t) + : 2 === (c = this.left.remove(t)) + ? ((this.left = null), (this.count -= 1), a) + : (c === a && (this.count -= 1), c) + : i; + } else { + if (!(t[0] > this.mid)) { + if (1 === this.count) return this.leftPoints[0] === t ? 2 : i; + if (1 === this.leftPoints.length && this.leftPoints[0] === t) { + if (this.left && this.right) { + for (var r = this, o = this.left; o.right; ) + ((r = o), (o = o.right)); + if (r === this) o.right = this.right; + else { + var s = this.left; + c = this.right; + ((r.count -= o.count), + (r.right = o.left), + (o.left = s), + (o.right = c)); + } + (l(this, o), + (this.count = + (this.left ? this.left.count : 0) + + (this.right ? this.right.count : 0) + + this.leftPoints.length)); + } else this.left ? l(this, this.left) : l(this, this.right); + return a; + } + for ( + s = n.ge(this.leftPoints, t, m); + s < this.leftPoints.length && this.leftPoints[s][0] === t[0]; + ++s + ) + if (this.leftPoints[s] === t) { + ((this.count -= 1), this.leftPoints.splice(s, 1)); + for ( + c = n.ge(this.rightPoints, t, v); + c < this.rightPoints.length && this.rightPoints[c][1] === t[1]; + ++c + ) + if (this.rightPoints[c] === t) + return (this.rightPoints.splice(c, 1), a); + } + return i; + } + return this.right + ? 4 * (this.left ? this.left.count : 0) > 3 * (e - 1) + ? f(this, t) + : 2 === (c = this.right.remove(t)) + ? ((this.right = null), (this.count -= 1), a) + : (c === a && (this.count -= 1), c) + : i; + var c; + } + }), + (s.queryPoint = function (t, e) { + if (t < this.mid) { + if (this.left) if ((r = this.left.queryPoint(t, e))) return r; + return h(this.leftPoints, t, e); + } + if (t > this.mid) { + var r; + if (this.right) if ((r = this.right.queryPoint(t, e))) return r; + return p(this.rightPoints, t, e); + } + return d(this.leftPoints, e); + }), + (s.queryInterval = function (t, e, r) { + var n; + if (t < this.mid && this.left && (n = this.left.queryInterval(t, e, r))) + return n; + if (e > this.mid && this.right && (n = this.right.queryInterval(t, e, r))) + return n; + return e < this.mid + ? h(this.leftPoints, e, r) + : t > this.mid + ? p(this.rightPoints, t, r) + : d(this.leftPoints, r); + })); + var b = x.prototype; + ((b.insert = function (t) { + this.root + ? this.root.insert(t) + : (this.root = new o(t[0], null, null, [t], [t])); + }), + (b.remove = function (t) { + if (this.root) { + var e = this.root.remove(t); + return (2 === e && (this.root = null), e !== i); + } + return !1; + }), + (b.queryPoint = function (t, e) { + if (this.root) return this.root.queryPoint(t, e); + }), + (b.queryInterval = function (t, e, r) { + if (t <= e && this.root) return this.root.queryInterval(t, e, r); + }), + Object.defineProperty(b, "count", { + get: function () { + return this.root ? this.root.count : 0; + }, + }), + Object.defineProperty(b, "intervals", { + get: function () { + return this.root ? this.root.intervals([]) : []; + }, + })); + }, + { "binary-search-bounds": 72 }, + ], + 301: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + e = e || new Array(t.length); + for (var r = 0; r < t.length; ++r) e[t[r]] = r; + return e; + }; + }, + {}, + ], + 302: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = r; + return e; + }; + }, + {}, + ], + 303: [ + function (t, e, r) { + e.exports = !0; + }, + {}, + ], + 304: [ + function (t, e, r) { + function n(t) { + return ( + !!t.constructor && + "function" == typeof t.constructor.isBuffer && + t.constructor.isBuffer(t) + ); + } + e.exports = function (t) { + return ( + null != t && + (n(t) || + (function (t) { + return ( + "function" == typeof t.readFloatLE && + "function" == typeof t.slice && + n(t.slice(0, 0)) + ); + })(t) || + !!t._isBuffer) + ); + }; + }, + {}, + ], + 305: [ + function (t, e, r) { + "use strict"; + e.exports = + "undefined" != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion)); + }, + {}, + ], + 306: [ + function (t, e, r) { + e.exports = function (t) { + t || "undefined" == typeof navigator || (t = navigator.userAgent); + t && + t.headers && + "string" == typeof t.headers["user-agent"] && + (t = t.headers["user-agent"]); + return ( + "string" == typeof t && + (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test( + t, + ) || + /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( + t.substr(0, 4), + )) + ); + }; + }, + {}, + ], + 307: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = typeof t; + return null !== t && ("object" === e || "function" === e); + }; + }, + {}, + ], + 308: [ + function (t, e, r) { + "use strict"; + var n = Object.prototype.toString; + e.exports = function (t) { + var e; + return ( + "[object Object]" === n.call(t) && + (null === (e = Object.getPrototypeOf(t)) || + e === Object.getPrototypeOf({})) + ); + }; + }, + {}, + ], + 309: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return ( + "string" == typeof t && + ((t = t.trim()), + !!( + /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t) && + /[\dz]$/i.test(t) && + t.length > 4 + )) + ); + }; + }, + {}, + ], + 310: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return t * (1 - r) + e * r; + }; + }, + {}, + ], + 311: [ + function (t, e, r) { + (function (n) { + "use strict"; + !(function (t) { + "object" == typeof r && void 0 !== e + ? (e.exports = t()) + : (("undefined" != typeof window + ? window + : void 0 !== n + ? n + : "undefined" != typeof self + ? self + : this + ).mapboxgl = t()); + })(function () { + return (function e(r, n, i) { + function a(s, l) { + if (!n[s]) { + if (!r[s]) { + var c = "function" == typeof t && t; + if (!l && c) return c(s, !0); + if (o) return o(s, !0); + var u = new Error("Cannot find module '" + s + "'"); + throw ((u.code = "MODULE_NOT_FOUND"), u); + } + var f = (n[s] = { exports: {} }); + r[s][0].call( + f.exports, + function (t) { + var e = r[s][1][t]; + return a(e || t); + }, + f, + f.exports, + e, + r, + n, + i, + ); + } + return n[s].exports; + } + for (var o = "function" == typeof t && t, s = 0; s < i.length; s++) + a(i[s]); + return a; + })( + { + 1: [ + function (t, e, r) { + function n(t) { + var e = 0; + if (t && t.length > 0) { + e += Math.abs(i(t[0])); + for (var r = 1; r < t.length; r++) e -= Math.abs(i(t[r])); + } + return e; + } + function i(t) { + var e, + r, + n, + i, + s, + l, + c = 0, + u = t.length; + if (u > 2) { + for (l = 0; l < u; l++) + (l === u - 2 + ? ((n = u - 2), (i = u - 1), (s = 0)) + : l === u - 1 + ? ((n = u - 1), (i = 0), (s = 1)) + : ((n = l), (i = l + 1), (s = l + 2)), + (e = t[n]), + (r = t[i]), + (c += (a(t[s][0]) - a(e[0])) * Math.sin(a(r[1])))); + c = (c * o.RADIUS * o.RADIUS) / 2; + } + return c; + } + function a(t) { + return (t * Math.PI) / 180; + } + var o = t("wgs84"); + ((e.exports.geometry = function t(e) { + var r, + i = 0; + switch (e.type) { + case "Polygon": + return n(e.coordinates); + case "MultiPolygon": + for (r = 0; r < e.coordinates.length; r++) + i += n(e.coordinates[r]); + return i; + case "Point": + case "MultiPoint": + case "LineString": + case "MultiLineString": + return 0; + case "GeometryCollection": + for (r = 0; r < e.geometries.length; r++) + i += t(e.geometries[r]); + return i; + } + }), + (e.exports.ring = i)); + }, + { wgs84: 37 }, + ], + 2: [ + function (t, e, r) { + var n, i; + ((n = this), + (i = function () { + return ( + (function () { + var t = new Float32Array(3); + ((t[0] = 0), (t[1] = 0), (t[2] = 0)); + })(), + (function () { + var t = new Float32Array(4); + ((t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0)); + })(), + { + vec3: { + transformMat3: function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2]; + return ( + (t[0] = n * r[0] + i * r[3] + a * r[6]), + (t[1] = n * r[1] + i * r[4] + a * r[7]), + (t[2] = n * r[2] + i * r[5] + a * r[8]), + t + ); + }, + }, + vec4: { + transformMat4: function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3]; + return ( + (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), + (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), + (t[2] = + r[2] * n + r[6] * i + r[10] * a + r[14] * o), + (t[3] = + r[3] * n + r[7] * i + r[11] * a + r[15] * o), + t + ); + }, + }, + mat2: { + create: function () { + var t = new Float32Array(4); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 1), + t + ); + }, + rotate: function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = Math.sin(r), + l = Math.cos(r); + return ( + (t[0] = n * l + a * s), + (t[1] = i * l + o * s), + (t[2] = n * -s + a * l), + (t[3] = i * -s + o * l), + t + ); + }, + scale: function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = r[0], + l = r[1]; + return ( + (t[0] = n * s), + (t[1] = i * s), + (t[2] = a * l), + (t[3] = o * l), + t + ); + }, + }, + mat3: { + create: function () { + var t = new Float32Array(9); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 1), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 1), + t + ); + }, + fromRotation: function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = r), + (t[2] = 0), + (t[3] = -r), + (t[4] = n), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 1), + t + ); + }, + }, + mat4: { + create: function () { + var t = new Float32Array(16); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }, + identity: function (t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }, + translate: function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = r[0], + m = r[1], + v = r[2]; + return ( + e === t + ? ((t[12] = + e[0] * g + e[4] * m + e[8] * v + e[12]), + (t[13] = + e[1] * g + e[5] * m + e[9] * v + e[13]), + (t[14] = + e[2] * g + e[6] * m + e[10] * v + e[14]), + (t[15] = + e[3] * g + e[7] * m + e[11] * v + e[15])) + : ((n = e[0]), + (i = e[1]), + (a = e[2]), + (o = e[3]), + (s = e[4]), + (l = e[5]), + (c = e[6]), + (u = e[7]), + (f = e[8]), + (h = e[9]), + (p = e[10]), + (d = e[11]), + (t[0] = n), + (t[1] = i), + (t[2] = a), + (t[3] = o), + (t[4] = s), + (t[5] = l), + (t[6] = c), + (t[7] = u), + (t[8] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * g + s * m + f * v + e[12]), + (t[13] = i * g + l * m + h * v + e[13]), + (t[14] = a * g + c * m + p * v + e[14]), + (t[15] = o * g + u * m + d * v + e[15])), + t + ); + }, + scale: function (t, e, r) { + var n = r[0], + i = r[1], + a = r[2]; + return ( + (t[0] = e[0] * n), + (t[1] = e[1] * n), + (t[2] = e[2] * n), + (t[3] = e[3] * n), + (t[4] = e[4] * i), + (t[5] = e[5] * i), + (t[6] = e[6] * i), + (t[7] = e[7] * i), + (t[8] = e[8] * a), + (t[9] = e[9] * a), + (t[10] = e[10] * a), + (t[11] = e[11] * a), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }, + multiply: function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = e[4], + l = e[5], + c = e[6], + u = e[7], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + g = e[12], + m = e[13], + v = e[14], + y = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * g), + (t[1] = x * i + b * l + _ * h + w * m), + (t[2] = x * a + b * c + _ * p + w * v), + (t[3] = x * o + b * u + _ * d + w * y), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * g), + (t[5] = x * i + b * l + _ * h + w * m), + (t[6] = x * a + b * c + _ * p + w * v), + (t[7] = x * o + b * u + _ * d + w * y), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * g), + (t[9] = x * i + b * l + _ * h + w * m), + (t[10] = x * a + b * c + _ * p + w * v), + (t[11] = x * o + b * u + _ * d + w * y), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * g), + (t[13] = x * i + b * l + _ * h + w * m), + (t[14] = x * a + b * c + _ * p + w * v), + (t[15] = x * o + b * u + _ * d + w * y), + t + ); + }, + perspective: function (t, e, r, n, i) { + var a = 1 / Math.tan(e / 2), + o = 1 / (n - i); + return ( + (t[0] = a / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = a), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = (i + n) * o), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = 2 * i * n * o), + (t[15] = 0), + t + ); + }, + rotateX: function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[4], + o = e[5], + s = e[6], + l = e[7], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[4] = a * i + c * n), + (t[5] = o * i + u * n), + (t[6] = s * i + f * n), + (t[7] = l * i + h * n), + (t[8] = c * i - a * n), + (t[9] = u * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }, + rotateZ: function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[4], + u = e[5], + f = e[6], + h = e[7]; + return ( + e !== t && + ((t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i + c * n), + (t[1] = o * i + u * n), + (t[2] = s * i + f * n), + (t[3] = l * i + h * n), + (t[4] = c * i - a * n), + (t[5] = u * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }, + invert: function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + g = e[13], + m = e[14], + v = e[15], + y = r * s - n * o, + x = r * l - i * o, + b = r * c - a * o, + _ = n * l - i * s, + w = n * c - a * s, + k = i * c - a * l, + M = u * g - f * d, + A = u * m - h * d, + T = u * v - p * d, + S = f * m - h * g, + C = f * v - p * g, + E = h * v - p * m, + L = y * E - x * C + b * S + _ * T - w * A + k * M; + return L + ? ((L = 1 / L), + (t[0] = (s * E - l * C + c * S) * L), + (t[1] = (i * C - n * E - a * S) * L), + (t[2] = (g * k - m * w + v * _) * L), + (t[3] = (h * w - f * k - p * _) * L), + (t[4] = (l * T - o * E - c * A) * L), + (t[5] = (r * E - i * T + a * A) * L), + (t[6] = (m * b - d * k - v * x) * L), + (t[7] = (u * k - h * b + p * x) * L), + (t[8] = (o * C - s * T + c * M) * L), + (t[9] = (n * T - r * C - a * M) * L), + (t[10] = (d * w - g * b + v * y) * L), + (t[11] = (f * b - u * w - p * y) * L), + (t[12] = (s * A - o * S - l * M) * L), + (t[13] = (r * S - n * A + i * M) * L), + (t[14] = (g * x - d * _ - m * y) * L), + (t[15] = (u * _ - f * x + h * y) * L), + t) + : null; + }, + ortho: function (t, e, r, n, i, a, o) { + var s = 1 / (e - r), + l = 1 / (n - i), + c = 1 / (a - o); + return ( + (t[0] = -2 * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = -2 * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 2 * c), + (t[11] = 0), + (t[12] = (e + r) * s), + (t[13] = (i + n) * l), + (t[14] = (o + a) * c), + (t[15] = 1), + t + ); + }, + }, + } + ); + }), + "object" == typeof r && void 0 !== e + ? (e.exports = i()) + : (n.glMatrix = i())); + }, + {}, + ], + 3: [ + function (t, e, r) { + function n(t) { + return !!( + "undefined" != typeof window && + "undefined" != typeof document && + Array.prototype && + Array.prototype.every && + Array.prototype.filter && + Array.prototype.forEach && + Array.prototype.indexOf && + Array.prototype.lastIndexOf && + Array.prototype.map && + Array.prototype.some && + Array.prototype.reduce && + Array.prototype.reduceRight && + Array.isArray && + Function.prototype && + Function.prototype.bind && + Object.keys && + Object.create && + Object.getPrototypeOf && + Object.getOwnPropertyNames && + Object.isSealed && + Object.isFrozen && + Object.isExtensible && + Object.getOwnPropertyDescriptor && + Object.defineProperty && + Object.defineProperties && + Object.seal && + Object.freeze && + Object.preventExtensions && + "JSON" in window && + "parse" in JSON && + "stringify" in JSON && + (function () { + if (!("Worker" in window && "Blob" in window)) return !1; + var t, + e, + r = new Blob([""], { type: "text/javascript" }), + n = URL.createObjectURL(r); + try { + ((e = new Worker(n)), (t = !0)); + } catch (e) { + t = !1; + } + return (e && e.terminate(), URL.revokeObjectURL(n), t); + })() && + "Uint8ClampedArray" in window && + (function (t) { + return ( + void 0 === i[t] && + (i[t] = (function (t) { + var e = document.createElement("canvas"), + r = Object.create(n.webGLContextAttributes); + return ( + (r.failIfMajorPerformanceCaveat = t), + e.probablySupportsContext + ? e.probablySupportsContext("webgl", r) || + e.probablySupportsContext( + "experimental-webgl", + r, + ) + : e.supportsContext + ? e.supportsContext("webgl", r) || + e.supportsContext("experimental-webgl", r) + : e.getContext("webgl", r) || + e.getContext("experimental-webgl", r) + ); + })(t)), + i[t] + ); + })(t && t.failIfMajorPerformanceCaveat) + ); + } + void 0 !== e && e.exports + ? (e.exports = n) + : window && + ((window.mapboxgl = window.mapboxgl || {}), + (window.mapboxgl.supported = n)); + var i = {}; + n.webGLContextAttributes = { + antialias: !1, + alpha: !0, + stencil: !0, + depth: !0, + }; + }, + {}, + ], + 4: [ + function (t, e, r) { + function n(t, e) { + ((this.x = t), (this.y = e)); + } + ((e.exports = n), + (n.prototype = { + clone: function () { + return new n(this.x, this.y); + }, + add: function (t) { + return this.clone()._add(t); + }, + sub: function (t) { + return this.clone()._sub(t); + }, + multByPoint: function (t) { + return this.clone()._multByPoint(t); + }, + divByPoint: function (t) { + return this.clone()._divByPoint(t); + }, + mult: function (t) { + return this.clone()._mult(t); + }, + div: function (t) { + return this.clone()._div(t); + }, + rotate: function (t) { + return this.clone()._rotate(t); + }, + rotateAround: function (t, e) { + return this.clone()._rotateAround(t, e); + }, + matMult: function (t) { + return this.clone()._matMult(t); + }, + unit: function () { + return this.clone()._unit(); + }, + perp: function () { + return this.clone()._perp(); + }, + round: function () { + return this.clone()._round(); + }, + mag: function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }, + equals: function (t) { + return this.x === t.x && this.y === t.y; + }, + dist: function (t) { + return Math.sqrt(this.distSqr(t)); + }, + distSqr: function (t) { + var e = t.x - this.x, + r = t.y - this.y; + return e * e + r * r; + }, + angle: function () { + return Math.atan2(this.y, this.x); + }, + angleTo: function (t) { + return Math.atan2(this.y - t.y, this.x - t.x); + }, + angleWith: function (t) { + return this.angleWithSep(t.x, t.y); + }, + angleWithSep: function (t, e) { + return Math.atan2( + this.x * e - this.y * t, + this.x * t + this.y * e, + ); + }, + _matMult: function (t) { + var e = t[0] * this.x + t[1] * this.y, + r = t[2] * this.x + t[3] * this.y; + return ((this.x = e), (this.y = r), this); + }, + _add: function (t) { + return ((this.x += t.x), (this.y += t.y), this); + }, + _sub: function (t) { + return ((this.x -= t.x), (this.y -= t.y), this); + }, + _mult: function (t) { + return ((this.x *= t), (this.y *= t), this); + }, + _div: function (t) { + return ((this.x /= t), (this.y /= t), this); + }, + _multByPoint: function (t) { + return ((this.x *= t.x), (this.y *= t.y), this); + }, + _divByPoint: function (t) { + return ((this.x /= t.x), (this.y /= t.y), this); + }, + _unit: function () { + return (this._div(this.mag()), this); + }, + _perp: function () { + var t = this.y; + return ((this.y = this.x), (this.x = -t), this); + }, + _rotate: function (t) { + var e = Math.cos(t), + r = Math.sin(t), + n = e * this.x - r * this.y, + i = r * this.x + e * this.y; + return ((this.x = n), (this.y = i), this); + }, + _rotateAround: function (t, e) { + var r = Math.cos(t), + n = Math.sin(t), + i = e.x + r * (this.x - e.x) - n * (this.y - e.y), + a = e.y + n * (this.x - e.x) + r * (this.y - e.y); + return ((this.x = i), (this.y = a), this); + }, + _round: function () { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + this + ); + }, + }), + (n.convert = function (t) { + return t instanceof n + ? t + : Array.isArray(t) + ? new n(t[0], t[1]) + : t; + })); + }, + {}, + ], + 5: [ + function (t, e, r) { + var n, i; + ((n = this), + (i = function () { + function t(t, e, r) { + ((r = r || {}), + (this.w = t || 64), + (this.h = e || 64), + (this.autoResize = !!r.autoResize), + (this.shelves = []), + (this.freebins = []), + (this.stats = {}), + (this.bins = {}), + (this.maxId = 0)); + } + function e(t, e, r) { + ((this.x = 0), + (this.y = t), + (this.w = this.free = e), + (this.h = r)); + } + return ( + (t.prototype.pack = function (t, e) { + ((t = [].concat(t)), (e = e || {})); + for (var r, n, i, a, o = [], s = 0; s < t.length; s++) + if ( + ((r = t[s].w || t[s].width), + (n = t[s].h || t[s].height), + (i = t[s].id), + r && n) + ) { + if (!(a = this.packOne(r, n, i))) continue; + (e.inPlace && + ((t[s].x = a.x), (t[s].y = a.y), (t[s].id = a.id)), + o.push(a)); + } + return (this.shrink(), o); + }), + (t.prototype.packOne = function (t, r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h = { freebin: -1, shelf: -1, waste: 1 / 0 }, + p = 0; + if ("string" == typeof n || "number" == typeof n) { + if ((i = this.getBin(n))) return (this.ref(i), i); + "number" == typeof n && + (this.maxId = Math.max(n, this.maxId)); + } else n = ++this.maxId; + for (s = 0; s < this.freebins.length; s++) { + if (r === (i = this.freebins[s]).maxh && t === i.maxw) + return this.allocFreebin(s, t, r, n); + r > i.maxh || + t > i.maxw || + (r <= i.maxh && + t <= i.maxw && + (o = i.maxw * i.maxh - t * r) < h.waste && + ((h.waste = o), (h.freebin = s))); + } + for (s = 0; s < this.shelves.length; s++) + if (((p += (a = this.shelves[s]).h), !(t > a.free))) { + if (r === a.h) return this.allocShelf(s, t, r, n); + r > a.h || + (r < a.h && + (o = (a.h - r) * t) < h.waste && + ((h.freebin = -1), (h.waste = o), (h.shelf = s))); + } + return -1 !== h.freebin + ? this.allocFreebin(h.freebin, t, r, n) + : -1 !== h.shelf + ? this.allocShelf(h.shelf, t, r, n) + : r <= this.h - p && t <= this.w + ? ((a = new e(p, this.w, r)), + this.allocShelf( + this.shelves.push(a) - 1, + t, + r, + n, + )) + : this.autoResize + ? ((l = c = this.h), + ((u = f = this.w) <= l || t > u) && + (f = 2 * Math.max(t, u)), + (l < u || r > l) && (c = 2 * Math.max(r, l)), + this.resize(f, c), + this.packOne(t, r, n)) + : null; + }), + (t.prototype.allocFreebin = function (t, e, r, n) { + var i = this.freebins.splice(t, 1)[0]; + return ( + (i.id = n), + (i.w = e), + (i.h = r), + (i.refcount = 0), + (this.bins[n] = i), + this.ref(i), + i + ); + }), + (t.prototype.allocShelf = function (t, e, r, n) { + var i = this.shelves[t].alloc(e, r, n); + return ((this.bins[n] = i), this.ref(i), i); + }), + (t.prototype.shrink = function () { + if (this.shelves.length > 0) { + for ( + var t = 0, e = 0, r = 0; + r < this.shelves.length; + r++ + ) { + var n = this.shelves[r]; + ((e += n.h), (t = Math.max(n.w - n.free, t))); + } + this.resize(t, e); + } + }), + (t.prototype.getBin = function (t) { + return this.bins[t]; + }), + (t.prototype.ref = function (t) { + if (1 == ++t.refcount) { + var e = t.h; + this.stats[e] = 1 + (0 | this.stats[e]); + } + return t.refcount; + }), + (t.prototype.unref = function (t) { + return 0 === t.refcount + ? 0 + : (0 == --t.refcount && + (this.stats[t.h]--, + delete this.bins[t.id], + this.freebins.push(t)), + t.refcount); + }), + (t.prototype.clear = function () { + ((this.shelves = []), + (this.freebins = []), + (this.stats = {}), + (this.bins = {}), + (this.maxId = 0)); + }), + (t.prototype.resize = function (t, e) { + ((this.w = t), (this.h = e)); + for (var r = 0; r < this.shelves.length; r++) + this.shelves[r].resize(t); + return !0; + }), + (e.prototype.alloc = function (t, e, r) { + if (t > this.free || e > this.h) return null; + var n = this.x; + return ( + (this.x += t), + (this.free -= t), + new (function (t, e, r, n, i, a, o) { + ((this.id = t), + (this.x = e), + (this.y = r), + (this.w = n), + (this.h = i), + (this.maxw = a || n), + (this.maxh = o || i), + (this.refcount = 0)); + })(r, n, this.y, t, e, t, this.h) + ); + }), + (e.prototype.resize = function (t) { + return ((this.free += t - this.w), (this.w = t), !0); + }), + t + ); + }), + "object" == typeof r && void 0 !== e + ? (e.exports = i()) + : (n.ShelfPack = i())); + }, + {}, + ], + 6: [ + function (t, e, r) { + function n(t, e, r, n, i, a) { + ((this.fontSize = t || 24), + (this.buffer = void 0 === e ? 3 : e), + (this.cutoff = n || 0.25), + (this.fontFamily = i || "sans-serif"), + (this.fontWeight = a || "normal"), + (this.radius = r || 8)); + var o = (this.size = this.fontSize + 2 * this.buffer); + ((this.canvas = document.createElement("canvas")), + (this.canvas.width = this.canvas.height = o), + (this.ctx = this.canvas.getContext("2d")), + (this.ctx.font = + this.fontWeight + + " " + + this.fontSize + + "px " + + this.fontFamily), + (this.ctx.textBaseline = "middle"), + (this.ctx.fillStyle = "black"), + (this.gridOuter = new Float64Array(o * o)), + (this.gridInner = new Float64Array(o * o)), + (this.f = new Float64Array(o)), + (this.d = new Float64Array(o)), + (this.z = new Float64Array(o + 1)), + (this.v = new Int16Array(o)), + (this.middle = Math.round( + (o / 2) * + (navigator.userAgent.indexOf("Gecko/") >= 0 ? 1.2 : 1), + ))); + } + function i(t, e, r, n, i, o, s) { + for (var l = 0; l < e; l++) { + for (var c = 0; c < r; c++) n[c] = t[c * e + l]; + for (a(n, i, o, s, r), c = 0; c < r; c++) t[c * e + l] = i[c]; + } + for (c = 0; c < r; c++) { + for (l = 0; l < e; l++) n[l] = t[c * e + l]; + for (a(n, i, o, s, e), l = 0; l < e; l++) + t[c * e + l] = Math.sqrt(i[l]); + } + } + function a(t, e, r, n, i) { + ((r[0] = 0), (n[0] = -o), (n[1] = +o)); + for (var a = 1, s = 0; a < i; a++) { + for ( + var l = + (t[a] + a * a - (t[r[s]] + r[s] * r[s])) / + (2 * a - 2 * r[s]); + l <= n[s]; + + ) + (s--, + (l = + (t[a] + a * a - (t[r[s]] + r[s] * r[s])) / + (2 * a - 2 * r[s]))); + ((r[++s] = a), (n[s] = l), (n[s + 1] = +o)); + } + for (a = 0, s = 0; a < i; a++) { + for (; n[s + 1] < a; ) s++; + e[a] = (a - r[s]) * (a - r[s]) + t[r[s]]; + } + } + e.exports = n; + var o = 1e20; + n.prototype.draw = function (t) { + (this.ctx.clearRect(0, 0, this.size, this.size), + this.ctx.fillText(t, this.buffer, this.middle)); + for ( + var e = this.ctx.getImageData(0, 0, this.size, this.size), + r = new Uint8ClampedArray(this.size * this.size), + n = 0; + n < this.size * this.size; + n++ + ) { + var a = e.data[4 * n + 3] / 255; + ((this.gridOuter[n] = + 1 === a + ? 0 + : 0 === a + ? o + : Math.pow(Math.max(0, 0.5 - a), 2)), + (this.gridInner[n] = + 1 === a + ? o + : 0 === a + ? 0 + : Math.pow(Math.max(0, a - 0.5), 2))); + } + for ( + i( + this.gridOuter, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + i( + this.gridInner, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z, + ), + n = 0; + n < this.size * this.size; + n++ + ) { + var s = this.gridOuter[n] - this.gridInner[n]; + r[n] = Math.max( + 0, + Math.min( + 255, + Math.round(255 - 255 * (s / this.radius + this.cutoff)), + ), + ); + } + return r; + }; + }, + {}, + ], + 7: [ + function (t, e, r) { + function n(t, e, r, n) { + ((this.cx = 3 * t), + (this.bx = 3 * (r - t) - this.cx), + (this.ax = 1 - this.cx - this.bx), + (this.cy = 3 * e), + (this.by = 3 * (n - e) - this.cy), + (this.ay = 1 - this.cy - this.by), + (this.p1x = t), + (this.p1y = n), + (this.p2x = r), + (this.p2y = n)); + } + ((e.exports = n), + (n.prototype.sampleCurveX = function (t) { + return ((this.ax * t + this.bx) * t + this.cx) * t; + }), + (n.prototype.sampleCurveY = function (t) { + return ((this.ay * t + this.by) * t + this.cy) * t; + }), + (n.prototype.sampleCurveDerivativeX = function (t) { + return (3 * this.ax * t + 2 * this.bx) * t + this.cx; + }), + (n.prototype.solveCurveX = function (t, e) { + var r, n, i, a, o; + for (void 0 === e && (e = 1e-6), i = t, o = 0; o < 8; o++) { + if (((a = this.sampleCurveX(i) - t), Math.abs(a) < e)) + return i; + var s = this.sampleCurveDerivativeX(i); + if (Math.abs(s) < 1e-6) break; + i -= a / s; + } + if (((n = 1), (i = t) < (r = 0))) return r; + if (i > n) return n; + for (; r < n; ) { + if (((a = this.sampleCurveX(i)), Math.abs(a - t) < e)) + return i; + (t > a ? (r = i) : (n = i), (i = 0.5 * (n - r) + r)); + } + return i; + }), + (n.prototype.solve = function (t, e) { + return this.sampleCurveY(this.solveCurveX(t, e)); + })); + }, + {}, + ], + 8: [ + function (t, e, r) { + ((e.exports.VectorTile = t("./lib/vectortile.js")), + (e.exports.VectorTileFeature = t("./lib/vectortilefeature.js")), + (e.exports.VectorTileLayer = t("./lib/vectortilelayer.js"))); + }, + { + "./lib/vectortile.js": 9, + "./lib/vectortilefeature.js": 10, + "./lib/vectortilelayer.js": 11, + }, + ], + 9: [ + function (t, e, r) { + function n(t, e, r) { + if (3 === t) { + var n = new i(r, r.readVarint() + r.pos); + n.length && (e[n.name] = n); + } + } + var i = t("./vectortilelayer"); + e.exports = function (t, e) { + this.layers = t.readFields(n, {}, e); + }; + }, + { "./vectortilelayer": 11 }, + ], + 10: [ + function (t, e, r) { + function n(t, e, r, n, a) { + ((this.properties = {}), + (this.extent = r), + (this.type = 0), + (this._pbf = t), + (this._geometry = -1), + (this._keys = n), + (this._values = a), + t.readFields(i, this, e)); + } + function i(t, e, r) { + 1 == t + ? (e.id = r.readVarint()) + : 2 == t + ? (function (t, e) { + for (var r = t.readVarint() + t.pos; t.pos < r; ) { + var n = e._keys[t.readVarint()], + i = e._values[t.readVarint()]; + e.properties[n] = i; + } + })(r, e) + : 3 == t + ? (e.type = r.readVarint()) + : 4 == t && (e._geometry = r.pos); + } + function a(t) { + for ( + var e, r, n = 0, i = 0, a = t.length, o = a - 1; + i < a; + o = i++ + ) + ((e = t[i]), (n += ((r = t[o]).x - e.x) * (e.y + r.y))); + return n; + } + var o = t("@mapbox/point-geometry"); + ((e.exports = n), + (n.types = ["Unknown", "Point", "LineString", "Polygon"]), + (n.prototype.loadGeometry = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e, + r = t.readVarint() + t.pos, + n = 1, + i = 0, + a = 0, + s = 0, + l = []; + t.pos < r; + + ) { + if (!i) { + var c = t.readVarint(); + ((n = 7 & c), (i = c >> 3)); + } + if ((i--, 1 === n || 2 === n)) + ((a += t.readSVarint()), + (s += t.readSVarint()), + 1 === n && (e && l.push(e), (e = [])), + e.push(new o(a, s))); + else { + if (7 !== n) throw new Error("unknown command " + n); + e && e.push(e[0].clone()); + } + } + return (e && l.push(e), l); + }), + (n.prototype.bbox = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e = t.readVarint() + t.pos, + r = 1, + n = 0, + i = 0, + a = 0, + o = 1 / 0, + s = -1 / 0, + l = 1 / 0, + c = -1 / 0; + t.pos < e; + + ) { + if (!n) { + var u = t.readVarint(); + ((r = 7 & u), (n = u >> 3)); + } + if ((n--, 1 === r || 2 === r)) + ((i += t.readSVarint()), + (a += t.readSVarint()), + i < o && (o = i), + i > s && (s = i), + a < l && (l = a), + a > c && (c = a)); + else if (7 !== r) throw new Error("unknown command " + r); + } + return [o, l, s, c]; + }), + (n.prototype.toGeoJSON = function (t, e, r) { + function i(t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = 180 - (360 * (r.y + u)) / l; + t[e] = [ + (360 * (r.x + c)) / l - 180, + (360 / Math.PI) * + Math.atan(Math.exp((n * Math.PI) / 180)) - + 90, + ]; + } + } + var o, + s, + l = this.extent * Math.pow(2, r), + c = this.extent * t, + u = this.extent * e, + f = this.loadGeometry(), + h = n.types[this.type]; + switch (this.type) { + case 1: + var p = []; + for (o = 0; o < f.length; o++) p[o] = f[o][0]; + i((f = p)); + break; + case 2: + for (o = 0; o < f.length; o++) i(f[o]); + break; + case 3: + for ( + f = (function (t) { + var e = t.length; + if (e <= 1) return [t]; + for (var r, n, i = [], o = 0; o < e; o++) { + var s = a(t[o]); + 0 !== s && + (void 0 === n && (n = s < 0), + n === s < 0 + ? (r && i.push(r), (r = [t[o]])) + : r.push(t[o])); + } + return (r && i.push(r), i); + })(f), + o = 0; + o < f.length; + o++ + ) + for (s = 0; s < f[o].length; s++) i(f[o][s]); + } + 1 === f.length ? (f = f[0]) : (h = "Multi" + h); + var d = { + type: "Feature", + geometry: { type: h, coordinates: f }, + properties: this.properties, + }; + return ("id" in this && (d.id = this.id), d); + })); + }, + { "@mapbox/point-geometry": 4 }, + ], + 11: [ + function (t, e, r) { + function n(t, e) { + ((this.version = 1), + (this.name = null), + (this.extent = 4096), + (this.length = 0), + (this._pbf = t), + (this._keys = []), + (this._values = []), + (this._features = []), + t.readFields(i, this, e), + (this.length = this._features.length)); + } + function i(t, e, r) { + 15 === t + ? (e.version = r.readVarint()) + : 1 === t + ? (e.name = r.readString()) + : 5 === t + ? (e.extent = r.readVarint()) + : 2 === t + ? e._features.push(r.pos) + : 3 === t + ? e._keys.push(r.readString()) + : 4 === t && + e._values.push( + (function (t) { + for ( + var e = null, r = t.readVarint() + t.pos; + t.pos < r; + + ) { + var n = t.readVarint() >> 3; + e = + 1 === n + ? t.readString() + : 2 === n + ? t.readFloat() + : 3 === n + ? t.readDouble() + : 4 === n + ? t.readVarint64() + : 5 === n + ? t.readVarint() + : 6 === n + ? t.readSVarint() + : 7 === n + ? t.readBoolean() + : null; + } + return e; + })(r), + ); + } + var a = t("./vectortilefeature.js"); + ((e.exports = n), + (n.prototype.feature = function (t) { + if (t < 0 || t >= this._features.length) + throw new Error("feature index out of bounds"); + this._pbf.pos = this._features[t]; + var e = this._pbf.readVarint() + this._pbf.pos; + return new a( + this._pbf, + e, + this.extent, + this._keys, + this._values, + ); + })); + }, + { "./vectortilefeature.js": 10 }, + ], + 12: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + function e(t, e, n) { + var i = r(256 * t, 256 * (e = Math.pow(2, n) - e - 1), n), + a = r(256 * (t + 1), 256 * (e + 1), n); + return i[0] + "," + i[1] + "," + a[0] + "," + a[1]; + } + function r(t, e, r) { + var n = (2 * Math.PI * 6378137) / 256 / Math.pow(2, r); + return [ + t * n - (2 * Math.PI * 6378137) / 2, + e * n - (2 * Math.PI * 6378137) / 2, + ]; + } + ((t.getURL = function (t, r, n, i, a, o) { + return ( + (o = o || {}), + t + + "?" + + [ + "bbox=" + e(n, i, a), + "format=" + (o.format || "image/png"), + "service=" + (o.service || "WMS"), + "version=" + (o.version || "1.1.1"), + "request=" + (o.request || "GetMap"), + "srs=" + (o.srs || "EPSG:3857"), + "width=" + (o.width || 256), + "height=" + (o.height || 256), + "layers=" + r, + ].join("&") + ); + }), + (t.getTileBBox = e), + (t.getMercCoords = r), + Object.defineProperty(t, "__esModule", { value: !0 })); + })( + "object" == typeof r && void 0 !== e + ? r + : (n.WhooTS = n.WhooTS || {}), + )); + }, + {}, + ], + 13: [ + function (t, e, r) { + function n(t) { + return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t; + } + function i(t) { + return n( + "%" === t[t.length - 1] + ? (parseFloat(t) / 100) * 255 + : parseInt(t), + ); + } + function a(t) { + return (function (t) { + return t < 0 ? 0 : t > 1 ? 1 : t; + })( + "%" === t[t.length - 1] ? parseFloat(t) / 100 : parseFloat(t), + ); + } + function o(t, e, r) { + return ( + r < 0 ? (r += 1) : r > 1 && (r -= 1), + 6 * r < 1 + ? t + (e - t) * r * 6 + : 2 * r < 1 + ? e + : 3 * r < 2 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + var s = { + transparent: [0, 0, 0, 0], + aliceblue: [240, 248, 255, 1], + antiquewhite: [250, 235, 215, 1], + aqua: [0, 255, 255, 1], + aquamarine: [127, 255, 212, 1], + azure: [240, 255, 255, 1], + beige: [245, 245, 220, 1], + bisque: [255, 228, 196, 1], + black: [0, 0, 0, 1], + blanchedalmond: [255, 235, 205, 1], + blue: [0, 0, 255, 1], + blueviolet: [138, 43, 226, 1], + brown: [165, 42, 42, 1], + burlywood: [222, 184, 135, 1], + cadetblue: [95, 158, 160, 1], + chartreuse: [127, 255, 0, 1], + chocolate: [210, 105, 30, 1], + coral: [255, 127, 80, 1], + cornflowerblue: [100, 149, 237, 1], + cornsilk: [255, 248, 220, 1], + crimson: [220, 20, 60, 1], + cyan: [0, 255, 255, 1], + darkblue: [0, 0, 139, 1], + darkcyan: [0, 139, 139, 1], + darkgoldenrod: [184, 134, 11, 1], + darkgray: [169, 169, 169, 1], + darkgreen: [0, 100, 0, 1], + darkgrey: [169, 169, 169, 1], + darkkhaki: [189, 183, 107, 1], + darkmagenta: [139, 0, 139, 1], + darkolivegreen: [85, 107, 47, 1], + darkorange: [255, 140, 0, 1], + darkorchid: [153, 50, 204, 1], + darkred: [139, 0, 0, 1], + darksalmon: [233, 150, 122, 1], + darkseagreen: [143, 188, 143, 1], + darkslateblue: [72, 61, 139, 1], + darkslategray: [47, 79, 79, 1], + darkslategrey: [47, 79, 79, 1], + darkturquoise: [0, 206, 209, 1], + darkviolet: [148, 0, 211, 1], + deeppink: [255, 20, 147, 1], + deepskyblue: [0, 191, 255, 1], + dimgray: [105, 105, 105, 1], + dimgrey: [105, 105, 105, 1], + dodgerblue: [30, 144, 255, 1], + firebrick: [178, 34, 34, 1], + floralwhite: [255, 250, 240, 1], + forestgreen: [34, 139, 34, 1], + fuchsia: [255, 0, 255, 1], + gainsboro: [220, 220, 220, 1], + ghostwhite: [248, 248, 255, 1], + gold: [255, 215, 0, 1], + goldenrod: [218, 165, 32, 1], + gray: [128, 128, 128, 1], + green: [0, 128, 0, 1], + greenyellow: [173, 255, 47, 1], + grey: [128, 128, 128, 1], + honeydew: [240, 255, 240, 1], + hotpink: [255, 105, 180, 1], + indianred: [205, 92, 92, 1], + indigo: [75, 0, 130, 1], + ivory: [255, 255, 240, 1], + khaki: [240, 230, 140, 1], + lavender: [230, 230, 250, 1], + lavenderblush: [255, 240, 245, 1], + lawngreen: [124, 252, 0, 1], + lemonchiffon: [255, 250, 205, 1], + lightblue: [173, 216, 230, 1], + lightcoral: [240, 128, 128, 1], + lightcyan: [224, 255, 255, 1], + lightgoldenrodyellow: [250, 250, 210, 1], + lightgray: [211, 211, 211, 1], + lightgreen: [144, 238, 144, 1], + lightgrey: [211, 211, 211, 1], + lightpink: [255, 182, 193, 1], + lightsalmon: [255, 160, 122, 1], + lightseagreen: [32, 178, 170, 1], + lightskyblue: [135, 206, 250, 1], + lightslategray: [119, 136, 153, 1], + lightslategrey: [119, 136, 153, 1], + lightsteelblue: [176, 196, 222, 1], + lightyellow: [255, 255, 224, 1], + lime: [0, 255, 0, 1], + limegreen: [50, 205, 50, 1], + linen: [250, 240, 230, 1], + magenta: [255, 0, 255, 1], + maroon: [128, 0, 0, 1], + mediumaquamarine: [102, 205, 170, 1], + mediumblue: [0, 0, 205, 1], + mediumorchid: [186, 85, 211, 1], + mediumpurple: [147, 112, 219, 1], + mediumseagreen: [60, 179, 113, 1], + mediumslateblue: [123, 104, 238, 1], + mediumspringgreen: [0, 250, 154, 1], + mediumturquoise: [72, 209, 204, 1], + mediumvioletred: [199, 21, 133, 1], + midnightblue: [25, 25, 112, 1], + mintcream: [245, 255, 250, 1], + mistyrose: [255, 228, 225, 1], + moccasin: [255, 228, 181, 1], + navajowhite: [255, 222, 173, 1], + navy: [0, 0, 128, 1], + oldlace: [253, 245, 230, 1], + olive: [128, 128, 0, 1], + olivedrab: [107, 142, 35, 1], + orange: [255, 165, 0, 1], + orangered: [255, 69, 0, 1], + orchid: [218, 112, 214, 1], + palegoldenrod: [238, 232, 170, 1], + palegreen: [152, 251, 152, 1], + paleturquoise: [175, 238, 238, 1], + palevioletred: [219, 112, 147, 1], + papayawhip: [255, 239, 213, 1], + peachpuff: [255, 218, 185, 1], + peru: [205, 133, 63, 1], + pink: [255, 192, 203, 1], + plum: [221, 160, 221, 1], + powderblue: [176, 224, 230, 1], + purple: [128, 0, 128, 1], + rebeccapurple: [102, 51, 153, 1], + red: [255, 0, 0, 1], + rosybrown: [188, 143, 143, 1], + royalblue: [65, 105, 225, 1], + saddlebrown: [139, 69, 19, 1], + salmon: [250, 128, 114, 1], + sandybrown: [244, 164, 96, 1], + seagreen: [46, 139, 87, 1], + seashell: [255, 245, 238, 1], + sienna: [160, 82, 45, 1], + silver: [192, 192, 192, 1], + skyblue: [135, 206, 235, 1], + slateblue: [106, 90, 205, 1], + slategray: [112, 128, 144, 1], + slategrey: [112, 128, 144, 1], + snow: [255, 250, 250, 1], + springgreen: [0, 255, 127, 1], + steelblue: [70, 130, 180, 1], + tan: [210, 180, 140, 1], + teal: [0, 128, 128, 1], + thistle: [216, 191, 216, 1], + tomato: [255, 99, 71, 1], + turquoise: [64, 224, 208, 1], + violet: [238, 130, 238, 1], + wheat: [245, 222, 179, 1], + white: [255, 255, 255, 1], + whitesmoke: [245, 245, 245, 1], + yellow: [255, 255, 0, 1], + yellowgreen: [154, 205, 50, 1], + }; + try { + r.parseCSSColor = function (t) { + var e, + r = t.replace(/ /g, "").toLowerCase(); + if (r in s) return s[r].slice(); + if ("#" === r[0]) + return 4 === r.length + ? (e = parseInt(r.substr(1), 16)) >= 0 && e <= 4095 + ? [ + ((3840 & e) >> 4) | ((3840 & e) >> 8), + (240 & e) | ((240 & e) >> 4), + (15 & e) | ((15 & e) << 4), + 1, + ] + : null + : 7 === r.length && + (e = parseInt(r.substr(1), 16)) >= 0 && + e <= 16777215 + ? [(16711680 & e) >> 16, (65280 & e) >> 8, 255 & e, 1] + : null; + var l = r.indexOf("("), + c = r.indexOf(")"); + if (-1 !== l && c + 1 === r.length) { + var u = r.substr(0, l), + f = r.substr(l + 1, c - (l + 1)).split(","), + h = 1; + switch (u) { + case "rgba": + if (4 !== f.length) return null; + h = a(f.pop()); + case "rgb": + return 3 !== f.length + ? null + : [i(f[0]), i(f[1]), i(f[2]), h]; + case "hsla": + if (4 !== f.length) return null; + h = a(f.pop()); + case "hsl": + if (3 !== f.length) return null; + var p = (((parseFloat(f[0]) % 360) + 360) % 360) / 360, + d = a(f[1]), + g = a(f[2]), + m = g <= 0.5 ? g * (d + 1) : g + d - g * d, + v = 2 * g - m; + return [ + n(255 * o(v, m, p + 1 / 3)), + n(255 * o(v, m, p)), + n(255 * o(v, m, p - 1 / 3)), + h, + ]; + default: + return null; + } + } + return null; + }; + } catch (t) {} + }, + {}, + ], + 14: [ + function (t, e, r) { + function n(t, e, r) { + r = r || 2; + var n, + s, + l, + c, + u, + p, + g, + m = e && e.length, + v = m ? e[0] * r : t.length, + y = i(t, 0, v, r, !0), + x = []; + if (!y) return x; + if ( + (m && + (y = (function (t, e, r, n) { + var o, + s, + l, + c, + u, + p = []; + for (o = 0, s = e.length; o < s; o++) + ((l = e[o] * n), + (c = o < s - 1 ? e[o + 1] * n : t.length), + (u = i(t, l, c, n, !1)) === u.next && + (u.steiner = !0), + p.push(d(u))); + for (p.sort(f), o = 0; o < p.length; o++) + (h(p[o], r), (r = a(r, r.next))); + return r; + })(t, e, y, r)), + t.length > 80 * r) + ) { + ((n = l = t[0]), (s = c = t[1])); + for (var b = r; b < v; b += r) + ((u = t[b]), + (p = t[b + 1]), + u < n && (n = u), + p < s && (s = p), + u > l && (l = u), + p > c && (c = p)); + g = 0 !== (g = Math.max(l - n, c - s)) ? 1 / g : 0; + } + return (o(y, x, r, n, s, g), x); + } + function i(t, e, r, n, i) { + var a, o; + if (i === A(t, e, r, n) > 0) + for (a = e; a < r; a += n) o = w(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) o = w(a, t[a], t[a + 1], o); + return (o && y(o, o.next) && (k(o), (o = o.next)), o); + } + function a(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || (!y(n, n.next) && 0 !== v(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((k(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function o(t, e, r, n, i, f, h) { + if (t) { + !h && + f && + (function (t, e, r, n) { + var i = t; + do { + (null === i.z && (i.z = p(i.x, i.y, e, r, n)), + (i.prevZ = i.prev), + (i.nextZ = i.next), + (i = i.next)); + } while (i !== t); + ((i.prevZ.nextZ = null), + (i.prevZ = null), + (function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1; + do { + for (r = t, t = null, a = null, o = 0; r; ) { + for ( + o++, n = r, s = 0, e = 0; + e < c && (s++, (n = n.nextZ)); + e++ + ); + for (l = c; s > 0 || (l > 0 && n); ) + (0 !== s && (0 === l || !n || r.z <= n.z) + ? ((i = r), (r = r.nextZ), s--) + : ((i = n), (n = n.nextZ), l--), + a ? (a.nextZ = i) : (t = i), + (i.prevZ = a), + (a = i)); + r = n; + } + ((a.nextZ = null), (c *= 2)); + } while (o > 1); + })(i)); + })(t, n, i, f); + for (var d, g, m = t; t.prev !== t.next; ) + if (((d = t.prev), (g = t.next), f ? l(t, n, i, f) : s(t))) + (e.push(d.i / r), + e.push(t.i / r), + e.push(g.i / r), + k(t), + (t = g.next), + (m = g.next)); + else if ((t = g) === m) { + h + ? 1 === h + ? o((t = c(t, e, r)), e, r, n, i, f, 2) + : 2 === h && u(t, e, r, n, i, f) + : o(a(t), e, r, n, i, f, 1); + break; + } + } + } + function s(t) { + var e = t.prev, + r = t, + n = t.next; + if (v(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + g(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + v(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function l(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (v(i, a, o) >= 0) return !1; + for ( + var s = + i.x < a.x + ? i.x < o.x + ? i.x + : o.x + : a.x < o.x + ? a.x + : o.x, + l = + i.y < a.y + ? i.y < o.y + ? i.y + : o.y + : a.y < o.y + ? a.y + : o.y, + c = + i.x > a.x + ? i.x > o.x + ? i.x + : o.x + : a.x > o.x + ? a.x + : o.x, + u = + i.y > a.y + ? i.y > o.y + ? i.y + : o.y + : a.y > o.y + ? a.y + : o.y, + f = p(s, l, e, r, n), + h = p(c, u, e, r, n), + d = t.prevZ, + m = t.nextZ; + d && d.z >= f && m && m.z <= h; + + ) { + if ( + d !== t.prev && + d !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + v(d.prev, d, d.next) >= 0 + ) + return !1; + if ( + ((d = d.prevZ), + m !== t.prev && + m !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && + v(m.prev, m, m.next) >= 0) + ) + return !1; + m = m.nextZ; + } + for (; d && d.z >= f; ) { + if ( + d !== t.prev && + d !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && + v(d.prev, d, d.next) >= 0 + ) + return !1; + d = d.prevZ; + } + for (; m && m.z <= h; ) { + if ( + m !== t.prev && + m !== t.next && + g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && + v(m.prev, m, m.next) >= 0 + ) + return !1; + m = m.nextZ; + } + return !0; + } + function c(t, e, r) { + var n = t; + do { + var i = n.prev, + a = n.next.next; + (!y(i, a) && + x(i, n, n.next, a) && + b(i, a) && + b(a, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(a.i / r), + k(n), + k(n.next), + (n = t = a)), + (n = n.next)); + } while (n !== t); + return n; + } + function u(t, e, r, n, i, s) { + var l = t; + do { + for (var c = l.next.next; c !== l.prev; ) { + if (l.i !== c.i && m(l, c)) { + var u = _(l, c); + return ( + (l = a(l, l.next)), + (u = a(u, u.next)), + o(l, e, r, n, i, s), + void o(u, e, r, n, i, s) + ); + } + c = c.next; + } + l = l.next; + } while (l !== t); + } + function f(t, e) { + return t.x - e.x; + } + function h(t, e) { + if ( + (e = (function (t, e) { + var r, + n = e, + i = t.x, + a = t.y, + o = -1 / 0; + do { + if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { + var s = + n.x + + ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if (s <= i && s > o) { + if (((o = s), s === i)) { + if (a === n.y) return n; + if (a === n.next.y) return n.next; + } + r = n.x < n.next.x ? n : n.next; + } + } + n = n.next; + } while (n !== e); + if (!r) return null; + if (i === o) return r.prev; + var l, + c = r, + u = r.x, + f = r.y, + h = 1 / 0; + for (n = r.next; n !== c; ) + (i >= n.x && + n.x >= u && + i !== n.x && + g(a < f ? i : o, a, u, f, a < f ? o : i, a, n.x, n.y) && + ((l = Math.abs(a - n.y) / (i - n.x)) < h || + (l === h && n.x > r.x)) && + b(n, t) && + ((r = n), (h = l)), + (n = n.next)); + return r; + })(t, e)) + ) { + var r = _(e, t); + a(r, r.next); + } + } + function p(t, e, r, n, i) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = + 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | + (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = + 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | + (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + } + function d(t) { + var e = t, + r = t; + do { + (e.x < r.x && (r = e), (e = e.next)); + } while (e !== t); + return r; + } + function g(t, e, r, n, i, a, o, s) { + return ( + (i - o) * (e - s) - (t - o) * (a - s) >= 0 && + (t - o) * (n - s) - (r - o) * (e - s) >= 0 && + (r - o) * (a - s) - (i - o) * (n - s) >= 0 + ); + } + function m(t, e) { + return ( + t.next.i !== e.i && + t.prev.i !== e.i && + !(function (t, e) { + var r = t; + do { + if ( + r.i !== t.i && + r.next.i !== t.i && + r.i !== e.i && + r.next.i !== e.i && + x(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + b(t, e) && + b(e, t) && + (function (t, e) { + var r = t, + n = !1, + i = (t.x + e.x) / 2, + a = (t.y + e.y) / 2; + do { + (r.y > a != r.next.y > a && + r.next.y !== r.y && + i < + ((r.next.x - r.x) * (a - r.y)) / (r.next.y - r.y) + + r.x && + (n = !n), + (r = r.next)); + } while (r !== t); + return n; + })(t, e) + ); + } + function v(t, e, r) { + return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); + } + function y(t, e) { + return t.x === e.x && t.y === e.y; + } + function x(t, e, r, n) { + return ( + !!((y(t, e) && y(r, n)) || (y(t, n) && y(r, e))) || + (v(t, e, r) > 0 != v(t, e, n) > 0 && + v(r, n, t) > 0 != v(r, n, e) > 0) + ); + } + function b(t, e) { + return v(t.prev, t, t.next) < 0 + ? v(t, e, t.next) >= 0 && v(t, t.prev, e) >= 0 + : v(t, e, t.prev) < 0 || v(t, t.next, e) < 0; + } + function _(t, e) { + var r = new M(t.i, t.x, t.y), + n = new M(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function w(t, e, r, n) { + var i = new M(t, e, r); + return ( + n + ? ((i.next = n.next), + (i.prev = n), + (n.next.prev = i), + (n.next = i)) + : ((i.prev = i), (i.next = i)), + i + ); + } + function k(t) { + ((t.next.prev = t.prev), + (t.prev.next = t.next), + t.prevZ && (t.prevZ.nextZ = t.nextZ), + t.nextZ && (t.nextZ.prevZ = t.prevZ)); + } + function M(t, e, r) { + ((this.i = t), + (this.x = e), + (this.y = r), + (this.prev = null), + (this.next = null), + (this.z = null), + (this.prevZ = null), + (this.nextZ = null), + (this.steiner = !1)); + } + function A(t, e, r, n) { + for (var i = 0, a = e, o = r - n; a < r; a += n) + ((i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a)); + return i; + } + ((e.exports = n), + (e.exports.default = n), + (n.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(A(t, 0, a, r)); + if (i) + for (var s = 0, l = e.length; s < l; s++) { + var c = e[s] * r, + u = s < l - 1 ? e[s + 1] * r : t.length; + o -= Math.abs(A(t, c, u, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]), + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (n.flatten = function (t) { + for ( + var e = t[0][0].length, + r = { vertices: [], holes: [], dimensions: e }, + n = 0, + i = 0; + i < t.length; + i++ + ) { + for (var a = 0; a < t[i].length; a++) + for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); + i > 0 && ((n += t[i - 1].length), r.holes.push(n)); + } + return r; + })); + }, + {}, + ], + 15: [ + function (t, e, r) { + function n(t, e) { + return function (r) { + return t(r, e); + }; + } + function i(t, e) { + ((e = !!e), (t[0] = a(t[0], e))); + for (var r = 1; r < t.length; r++) t[r] = a(t[r], !e); + return t; + } + function a(t, e) { + return (function (t) { + return o.ring(t) >= 0; + })(t) === e + ? t + : t.reverse(); + } + var o = t("@mapbox/geojson-area"); + e.exports = function t(e, r) { + switch ((e && e.type) || null) { + case "FeatureCollection": + return ((e.features = e.features.map(n(t, r))), e); + case "Feature": + return ((e.geometry = t(e.geometry, r)), e); + case "Polygon": + case "MultiPolygon": + return (function (t, e) { + return ( + "Polygon" === t.type + ? (t.coordinates = i(t.coordinates, e)) + : "MultiPolygon" === t.type && + (t.coordinates = t.coordinates.map(n(i, e))), + t + ); + })(e, r); + default: + return e; + } + }; + }, + { "@mapbox/geojson-area": 1 }, + ], + 16: [ + function (t, e, r) { + function n(t, e, r, n, i) { + for (var a = 0; a < t.length; a += 3) { + var o = t[a + i]; + o >= r && + o <= n && + (e.push(t[a]), e.push(t[a + 1]), e.push(t[a + 2])); + } + } + function i(t, e, r, n, i, a) { + for ( + var c = [], u = 0 === i ? s : l, f = 0; + f < t.length - 3; + f += 3 + ) { + var h = t[f], + p = t[f + 1], + d = t[f + 2], + g = t[f + 3], + m = t[f + 4], + v = 0 === i ? h : p, + y = 0 === i ? g : m, + x = !1; + (v < r + ? y >= r && u(c, h, p, g, m, r) + : v > n + ? y <= n && u(c, h, p, g, m, n) + : o(c, h, p, d), + y < r && v >= r && (u(c, h, p, g, m, r), (x = !0)), + y > n && v <= n && (u(c, h, p, g, m, n), (x = !0)), + !a && x && ((c.size = t.size), e.push(c), (c = []))); + } + var b = t.length - 3; + ((h = t[b]), + (p = t[b + 1]), + (d = t[b + 2]), + (v = 0 === i ? h : p) >= r && v <= n && o(c, h, p, d), + (b = c.length - 3), + a && + b >= 3 && + (c[b] !== c[0] || c[b + 1] !== c[1]) && + o(c, c[0], c[1], c[2]), + c.length && ((c.size = t.size), e.push(c))); + } + function a(t, e, r, n, a, o) { + for (var s = 0; s < t.length; s++) i(t[s], e, r, n, a, o); + } + function o(t, e, r, n) { + (t.push(e), t.push(r), t.push(n)); + } + function s(t, e, r, n, i, a) { + (t.push(a), + t.push(r + ((a - e) * (i - r)) / (n - e)), + t.push(1)); + } + function l(t, e, r, n, i, a) { + (t.push(e + ((a - r) * (n - e)) / (i - r)), + t.push(a), + t.push(1)); + } + e.exports = function (t, e, r, o, s, l, u) { + if (((o /= e), l >= (r /= e) && u <= o)) return t; + if (l > o || u < r) return null; + for (var f = [], h = 0; h < t.length; h++) { + var p = t[h], + d = p.geometry, + g = p.type, + m = 0 === s ? p.minX : p.minY, + v = 0 === s ? p.maxX : p.maxY; + if (m >= r && v <= o) f.push(p); + else if (!(m > o || v < r)) { + var y = []; + if ("Point" === g || "MultiPoint" === g) n(d, y, r, o, s); + else if ("LineString" === g) i(d, y, r, o, s, !1); + else if ("MultiLineString" === g) a(d, y, r, o, s, !1); + else if ("Polygon" === g) a(d, y, r, o, s, !0); + else if ("MultiPolygon" === g) + for (var x = 0; x < d.length; x++) { + var b = []; + (a(d[x], b, r, o, s, !0), b.length && y.push(b)); + } + y.length && + (("LineString" !== g && "MultiLineString" !== g) || + (1 === y.length + ? ((g = "LineString"), (y = y[0])) + : (g = "MultiLineString")), + ("Point" !== g && "MultiPoint" !== g) || + (g = 3 === y.length ? "Point" : "MultiPoint"), + f.push(c(p.id, g, y, p.tags))); + } + } + return f.length ? f : null; + }; + var c = t("./feature"); + }, + { "./feature": 18 }, + ], + 17: [ + function (t, e, r) { + function n(t, e, r) { + if (e.geometry) { + var s = e.geometry.coordinates, + l = e.geometry.type, + c = r * r, + f = []; + if ("Point" === l) i(s, f); + else if ("MultiPoint" === l) + for (var h = 0; h < s.length; h++) i(s[h], f); + else if ("LineString" === l) a(s, f, c, !1); + else if ("MultiLineString" === l) o(s, f, c, !1); + else if ("Polygon" === l) o(s, f, c, !0); + else { + if ("MultiPolygon" !== l) { + if ("GeometryCollection" === l) { + for (h = 0; h < e.geometry.geometries.length; h++) + n( + t, + { + geometry: e.geometry.geometries[h], + properties: e.properties, + }, + r, + ); + return; + } + throw new Error( + "Input data is not a valid GeoJSON object.", + ); + } + for (h = 0; h < s.length; h++) { + var p = []; + (o(s[h], p, c, !0), f.push(p)); + } + } + t.push(u(e.id, l, f, e.properties)); + } + } + function i(t, e) { + (e.push(s(t[0])), e.push(l(t[1])), e.push(0)); + } + function a(t, e, r, n) { + for (var i, a, o = 0, u = 0; u < t.length; u++) { + var f = s(t[u][0]), + h = l(t[u][1]); + (e.push(f), + e.push(h), + e.push(0), + u > 0 && + (o += n + ? (i * h - f * a) / 2 + : Math.sqrt(Math.pow(f - i, 2) + Math.pow(h - a, 2))), + (i = f), + (a = h)); + } + var p = e.length - 3; + ((e[2] = 1), + c(e, 0, p, r), + (e[p + 2] = 1), + (e.size = Math.abs(o))); + } + function o(t, e, r, n) { + for (var i = 0; i < t.length; i++) { + var o = []; + (a(t[i], o, r, n), e.push(o)); + } + } + function s(t) { + return t / 360 + 0.5; + } + function l(t) { + var e = Math.sin((t * Math.PI) / 180), + r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + e.exports = function (t, e) { + var r = []; + if ("FeatureCollection" === t.type) + for (var i = 0; i < t.features.length; i++) + n(r, t.features[i], e); + else + "Feature" === t.type ? n(r, t, e) : n(r, { geometry: t }, e); + return r; + }; + var c = t("./simplify"), + u = t("./feature"); + }, + { "./feature": 18, "./simplify": 20 }, + ], + 18: [ + function (t, e, r) { + function n(t, e) { + for (var r = 0; r < e.length; r += 3) + ((t.minX = Math.min(t.minX, e[r])), + (t.minY = Math.min(t.minY, e[r + 1])), + (t.maxX = Math.max(t.maxX, e[r])), + (t.maxY = Math.max(t.maxY, e[r + 1]))); + } + e.exports = function (t, e, r, i) { + var a = { + id: t || null, + type: e, + geometry: r, + tags: i, + minX: 1 / 0, + minY: 1 / 0, + maxX: -1 / 0, + maxY: -1 / 0, + }; + return ( + (function (t) { + var e = t.geometry, + r = t.type; + if ( + "Point" === r || + "MultiPoint" === r || + "LineString" === r + ) + n(t, e); + else if ("Polygon" === r || "MultiLineString" === r) + for (var i = 0; i < e.length; i++) n(t, e[i]); + else if ("MultiPolygon" === r) + for (i = 0; i < e.length; i++) + for (var a = 0; a < e[i].length; a++) n(t, e[i][a]); + })(a), + a + ); + }; + }, + {}, + ], + 19: [ + function (t, e, r) { + function n(t, e) { + var r = (e = this.options = + (function (t, e) { + for (var r in e) t[r] = e[r]; + return t; + })(Object.create(this.options), e)).debug; + if ( + (r && console.time("preprocess data"), + e.maxZoom < 0 || e.maxZoom > 24) + ) + throw new Error("maxZoom should be in the 0-24 range"); + var n = 1 << e.maxZoom, + i = a(t, e.tolerance / (n * e.extent)); + ((this.tiles = {}), + (this.tileCoords = []), + r && + (console.timeEnd("preprocess data"), + console.log( + "index: maxZoom: %d, maxPoints: %d", + e.indexMaxZoom, + e.indexMaxPoints, + ), + console.time("generate tiles"), + (this.stats = {}), + (this.total = 0)), + (i = l(i, e.buffer / e.extent)).length && + this.splitTile(i, 0, 0, 0), + r && + (i.length && + console.log( + "features: %d, points: %d", + this.tiles[0].numFeatures, + this.tiles[0].numPoints, + ), + console.timeEnd("generate tiles"), + console.log( + "tiles generated:", + this.total, + JSON.stringify(this.stats), + ))); + } + function i(t, e, r) { + return 32 * ((1 << t) * r + e) + t; + } + e.exports = function (t, e) { + return new n(t, e); + }; + var a = t("./convert"), + o = t("./transform"), + s = t("./clip"), + l = t("./wrap"), + c = t("./tile"); + ((n.prototype.options = { + maxZoom: 14, + indexMaxZoom: 5, + indexMaxPoints: 1e5, + tolerance: 3, + extent: 4096, + buffer: 64, + debug: 0, + }), + (n.prototype.splitTile = function (t, e, r, n, a, o, l) { + for ( + var u = [t, e, r, n], f = this.options, h = f.debug; + u.length; + + ) { + ((n = u.pop()), + (r = u.pop()), + (e = u.pop()), + (t = u.pop())); + var p = 1 << e, + d = i(e, r, n), + g = this.tiles[d], + m = e === f.maxZoom ? 0 : f.tolerance / (p * f.extent); + if ( + !g && + (h > 1 && console.time("creation"), + (g = this.tiles[d] = c(t, p, r, n, m, e === f.maxZoom)), + this.tileCoords.push({ z: e, x: r, y: n }), + h) + ) { + h > 1 && + (console.log( + "tile z%d-%d-%d (features: %d, points: %d, simplified: %d)", + e, + r, + n, + g.numFeatures, + g.numPoints, + g.numSimplified, + ), + console.timeEnd("creation")); + var v = "z" + e; + ((this.stats[v] = (this.stats[v] || 0) + 1), + this.total++); + } + if (((g.source = t), a)) { + if (e === f.maxZoom || e === a) continue; + var y = 1 << (a - e); + if (r !== Math.floor(o / y) || n !== Math.floor(l / y)) + continue; + } else if ( + e === f.indexMaxZoom || + g.numPoints <= f.indexMaxPoints + ) + continue; + if (((g.source = null), 0 !== t.length)) { + h > 1 && console.time("clipping"); + var x, + b, + _, + w, + k, + M, + A = (0.5 * f.buffer) / f.extent, + T = 0.5 - A, + S = 0.5 + A, + C = 1 + A; + ((x = b = _ = w = null), + (k = s(t, p, r - A, r + S, 0, g.minX, g.maxX)), + (M = s(t, p, r + T, r + C, 0, g.minX, g.maxX)), + (t = null), + k && + ((x = s(k, p, n - A, n + S, 1, g.minY, g.maxY)), + (b = s(k, p, n + T, n + C, 1, g.minY, g.maxY)), + (k = null)), + M && + ((_ = s(M, p, n - A, n + S, 1, g.minY, g.maxY)), + (w = s(M, p, n + T, n + C, 1, g.minY, g.maxY)), + (M = null)), + h > 1 && console.timeEnd("clipping"), + u.push(x || [], e + 1, 2 * r, 2 * n), + u.push(b || [], e + 1, 2 * r, 2 * n + 1), + u.push(_ || [], e + 1, 2 * r + 1, 2 * n), + u.push(w || [], e + 1, 2 * r + 1, 2 * n + 1)); + } + } + }), + (n.prototype.getTile = function (t, e, r) { + var n = this.options, + a = n.extent, + s = n.debug; + if (t < 0 || t > 24) return null; + var l = 1 << t, + c = i(t, (e = ((e % l) + l) % l), r); + if (this.tiles[c]) return o.tile(this.tiles[c], a); + s > 1 && console.log("drilling down to z%d-%d-%d", t, e, r); + for (var u, f = t, h = e, p = r; !u && f > 0; ) + (f--, + (h = Math.floor(h / 2)), + (p = Math.floor(p / 2)), + (u = this.tiles[i(f, h, p)])); + return u && u.source + ? (s > 1 && + console.log("found parent tile z%d-%d-%d", f, h, p), + s > 1 && console.time("drilling down"), + this.splitTile(u.source, f, h, p, t, e, r), + s > 1 && console.timeEnd("drilling down"), + this.tiles[c] ? o.tile(this.tiles[c], a) : null) + : null; + })); + }, + { + "./clip": 16, + "./convert": 17, + "./tile": 21, + "./transform": 22, + "./wrap": 23, + }, + ], + 20: [ + function (t, e, r) { + function n(t, e, r, n, i, a) { + var o = i - r, + s = a - n; + if (0 !== o || 0 !== s) { + var l = ((t - r) * o + (e - n) * s) / (o * o + s * s); + l > 1 + ? ((r = i), (n = a)) + : l > 0 && ((r += o * l), (n += s * l)); + } + return (o = t - r) * o + (s = e - n) * s; + } + e.exports = function t(e, r, i, a) { + for ( + var o, + s = a, + l = e[r], + c = e[r + 1], + u = e[i], + f = e[i + 1], + h = r + 3; + h < i; + h += 3 + ) { + var p = n(e[h], e[h + 1], l, c, u, f); + p > s && ((o = h), (s = p)); + } + s > a && + (o - r > 3 && t(e, r, o, a), + (e[o + 2] = s), + i - o > 3 && t(e, o, i, a)); + }; + }, + {}, + ], + 21: [ + function (t, e, r) { + function n(t, e, r, n) { + var a = e.geometry, + o = e.type, + s = []; + if ("Point" === o || "MultiPoint" === o) + for (var l = 0; l < a.length; l += 3) + (s.push(a[l]), + s.push(a[l + 1]), + t.numPoints++, + t.numSimplified++); + else if ("LineString" === o) i(s, a, t, r, n, !1, !1); + else if ("MultiLineString" === o || "Polygon" === o) + for (l = 0; l < a.length; l++) + i(s, a[l], t, r, n, "Polygon" === o, 0 === l); + else if ("MultiPolygon" === o) + for (var c = 0; c < a.length; c++) { + var u = a[c]; + for (l = 0; l < u.length; l++) + i(s, u[l], t, r, n, !0, 0 === l); + } + if (s.length) { + var f = { + geometry: s, + type: + "Polygon" === o || "MultiPolygon" === o + ? 3 + : "LineString" === o || "MultiLineString" === o + ? 2 + : 1, + tags: e.tags || null, + }; + (null !== e.id && (f.id = e.id), t.features.push(f)); + } + } + function i(t, e, r, n, i, a, o) { + var s = n * n; + if (!i && e.size < (a ? s : n)) r.numPoints += e.length / 3; + else { + for (var l = [], c = 0; c < e.length; c += 3) + ((i || e[c + 2] > s) && + (r.numSimplified++, l.push(e[c]), l.push(e[c + 1])), + r.numPoints++); + (a && + (function (t, e) { + for ( + var r = 0, n = 0, i = t.length, a = i - 2; + n < i; + a = n, n += 2 + ) + r += (t[n] - t[a]) * (t[n + 1] + t[a + 1]); + if (r > 0 === e) + for (n = 0, i = t.length; n < i / 2; n += 2) { + var o = t[n], + s = t[n + 1]; + ((t[n] = t[i - 2 - n]), + (t[n + 1] = t[i - 1 - n]), + (t[i - 2 - n] = o), + (t[i - 1 - n] = s)); + } + })(l, o), + t.push(l)); + } + } + e.exports = function (t, e, r, i, a, o) { + for ( + var s = { + features: [], + numPoints: 0, + numSimplified: 0, + numFeatures: 0, + source: null, + x: r, + y: i, + z2: e, + transformed: !1, + minX: 2, + minY: 1, + maxX: -1, + maxY: 0, + }, + l = 0; + l < t.length; + l++ + ) { + (s.numFeatures++, n(s, t[l], a, o)); + var c = t[l].minX, + u = t[l].minY, + f = t[l].maxX, + h = t[l].maxY; + (c < s.minX && (s.minX = c), + u < s.minY && (s.minY = u), + f > s.maxX && (s.maxX = f), + h > s.maxY && (s.maxY = h)); + } + return s; + }; + }, + {}, + ], + 22: [ + function (t, e, r) { + function n(t, e, r, n, i, a) { + return [ + Math.round(r * (t * n - i)), + Math.round(r * (e * n - a)), + ]; + } + ((r.tile = function (t, e) { + if (t.transformed) return t; + var r, + i, + a, + o = t.z2, + s = t.x, + l = t.y; + for (r = 0; r < t.features.length; r++) { + var c = t.features[r], + u = c.geometry, + f = c.type; + if (((c.geometry = []), 1 === f)) + for (i = 0; i < u.length; i += 2) + c.geometry.push(n(u[i], u[i + 1], e, o, s, l)); + else + for (i = 0; i < u.length; i++) { + var h = []; + for (a = 0; a < u[i].length; a += 2) + h.push(n(u[i][a], u[i][a + 1], e, o, s, l)); + c.geometry.push(h); + } + } + return ((t.transformed = !0), t); + }), + (r.point = n)); + }, + {}, + ], + 23: [ + function (t, e, r) { + function n(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var a, + s = t[n], + l = s.type; + if ("Point" === l || "MultiPoint" === l || "LineString" === l) + a = i(s.geometry, e); + else if ("MultiLineString" === l || "Polygon" === l) { + a = []; + for (var c = 0; c < s.geometry.length; c++) + a.push(i(s.geometry[c], e)); + } else if ("MultiPolygon" === l) + for (a = [], c = 0; c < s.geometry.length; c++) { + for (var u = [], f = 0; f < s.geometry[c].length; f++) + u.push(i(s.geometry[c][f], e)); + a.push(u); + } + r.push(o(s.id, l, a, s.tags)); + } + return r; + } + function i(t, e) { + var r = []; + r.size = t.size; + for (var n = 0; n < t.length; n += 3) + r.push(t[n] + e, t[n + 1], t[n + 2]); + return r; + } + var a = t("./clip"), + o = t("./feature"); + e.exports = function (t, e) { + var r = t, + i = a(t, 1, -1 - e, e, 0, -1, 2), + o = a(t, 1, 1 - e, 2 + e, 0, -1, 2); + return ( + (i || o) && + ((r = a(t, 1, -e, 1 + e, 0, -1, 2) || []), + i && (r = n(i, 1).concat(r)), + o && (r = r.concat(n(o, -1)))), + r + ); + }; + }, + { "./clip": 16, "./feature": 18 }, + ], + 24: [ + function (t, e, r) { + function n(t, e, r) { + var n = (this.cells = []); + if (t instanceof ArrayBuffer) { + this.arrayBuffer = t; + var a = new Int32Array(this.arrayBuffer); + ((t = a[0]), (e = a[1]), (r = a[2]), (this.d = e + 2 * r)); + for (var o = 0; o < this.d * this.d; o++) { + var s = a[i + o], + l = a[i + o + 1]; + n.push(s === l ? null : a.subarray(s, l)); + } + var c = a[i + n.length], + u = a[i + n.length + 1]; + ((this.keys = a.subarray(c, u)), + (this.bboxes = a.subarray(u)), + (this.insert = this._insertReadonly)); + } else { + this.d = e + 2 * r; + for (var f = 0; f < this.d * this.d; f++) n.push([]); + ((this.keys = []), (this.bboxes = [])); + } + ((this.n = e), + (this.extent = t), + (this.padding = r), + (this.scale = e / t), + (this.uid = 0)); + var h = (r / e) * t; + ((this.min = -h), (this.max = t + h)); + } + e.exports = n; + var i = 3; + ((n.prototype.insert = function (t, e, r, n, i) { + (this._forEachCell(e, r, n, i, this._insertCell, this.uid++), + this.keys.push(t), + this.bboxes.push(e), + this.bboxes.push(r), + this.bboxes.push(n), + this.bboxes.push(i)); + }), + (n.prototype._insertReadonly = function () { + throw "Cannot insert into a GridIndex created from an ArrayBuffer."; + }), + (n.prototype._insertCell = function (t, e, r, n, i, a) { + this.cells[i].push(a); + }), + (n.prototype.query = function (t, e, r, n) { + var i = this.min, + a = this.max; + if (t <= i && e <= i && a <= r && a <= n) + return Array.prototype.slice.call(this.keys); + var o = []; + return ( + this._forEachCell(t, e, r, n, this._queryCell, o, {}), + o + ); + }), + (n.prototype._queryCell = function (t, e, r, n, i, a, o) { + var s = this.cells[i]; + if (null !== s) + for ( + var l = this.keys, c = this.bboxes, u = 0; + u < s.length; + u++ + ) { + var f = s[u]; + if (void 0 === o[f]) { + var h = 4 * f; + t <= c[h + 2] && + e <= c[h + 3] && + r >= c[h + 0] && + n >= c[h + 1] + ? ((o[f] = !0), a.push(l[f])) + : (o[f] = !1); + } + } + }), + (n.prototype._forEachCell = function (t, e, r, n, i, a, o) { + for ( + var s = this._convertToCellCoord(t), + l = this._convertToCellCoord(e), + c = this._convertToCellCoord(r), + u = this._convertToCellCoord(n), + f = s; + f <= c; + f++ + ) + for (var h = l; h <= u; h++) { + var p = this.d * h + f; + if (i.call(this, t, e, r, n, p, a, o)) return; + } + }), + (n.prototype._convertToCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.d - 1, + Math.floor(t * this.scale) + this.padding, + ), + ); + }), + (n.prototype.toArrayBuffer = function () { + if (this.arrayBuffer) return this.arrayBuffer; + for ( + var t = this.cells, + e = i + this.cells.length + 1 + 1, + r = 0, + n = 0; + n < this.cells.length; + n++ + ) + r += this.cells[n].length; + var a = new Int32Array( + e + r + this.keys.length + this.bboxes.length, + ); + ((a[0] = this.extent), + (a[1] = this.n), + (a[2] = this.padding)); + for (var o = e, s = 0; s < t.length; s++) { + var l = t[s]; + ((a[i + s] = o), a.set(l, o), (o += l.length)); + } + return ( + (a[i + t.length] = o), + a.set(this.keys, o), + (o += this.keys.length), + (a[i + t.length + 1] = o), + a.set(this.bboxes, o), + (o += this.bboxes.length), + a.buffer + ); + })); + }, + {}, + ], + 25: [ + function (t, e, r) { + ((r.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + c = l >> 1, + u = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; + u > 0; + a = 256 * a + t[e + f], f += h, u -= 8 + ); + for ( + o = a & ((1 << -u) - 1), a >>= -u, u += n; + u > 0; + o = 256 * o + t[e + f], f += h, u -= 8 + ); + if (0 === a) a = 1 - c; + else { + if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); + ((o += Math.pow(2, n)), (a -= c)); + } + return (p ? -1 : 1) * o * Math.pow(2, a - n); + }), + (r.write = function (t, e, r, n, i, a) { + var o, + s, + l, + c = 8 * a - i - 1, + u = (1 << c) - 1, + f = u >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; + for ( + e = Math.abs(e), + isNaN(e) || e === 1 / 0 + ? ((s = isNaN(e) ? 1 : 0), (o = u)) + : ((o = Math.floor(Math.log(e) / Math.LN2)), + e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), + (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= u + ? ((s = 0), (o = u)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) + : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), + (o = 0))); + i >= 8; + t[r + p] = 255 & s, p += d, s /= 256, i -= 8 + ); + for ( + o = (o << i) | s, c += i; + c > 0; + t[r + p] = 255 & o, p += d, o /= 256, c -= 8 + ); + t[r + p - d] |= 128 * g; + })); + }, + {}, + ], + 26: [ + function (t, e, r) { + function n(t, e, r, n, s) { + ((e = e || i), + (r = r || a), + (s = s || Array), + (this.nodeSize = n || 64), + (this.points = t), + (this.ids = new s(t.length)), + (this.coords = new s(2 * t.length))); + for (var l = 0; l < t.length; l++) + ((this.ids[l] = l), + (this.coords[2 * l] = e(t[l])), + (this.coords[2 * l + 1] = r(t[l]))); + o( + this.ids, + this.coords, + this.nodeSize, + 0, + this.ids.length - 1, + 0, + ); + } + function i(t) { + return t[0]; + } + function a(t) { + return t[1]; + } + var o = t("./sort"), + s = t("./range"), + l = t("./within"); + ((e.exports = function (t, e, r, i, a) { + return new n(t, e, r, i, a); + }), + (n.prototype = { + range: function (t, e, r, n) { + return s(this.ids, this.coords, t, e, r, n, this.nodeSize); + }, + within: function (t, e, r) { + return l(this.ids, this.coords, t, e, r, this.nodeSize); + }, + })); + }, + { "./range": 27, "./sort": 28, "./within": 29 }, + ], + 27: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i, a, o) { + for (var s, l, c = [0, t.length - 1, 0], u = []; c.length; ) { + var f = c.pop(), + h = c.pop(), + p = c.pop(); + if (h - p <= o) + for (var d = p; d <= h; d++) + ((s = e[2 * d]), + (l = e[2 * d + 1]), + s >= r && s <= i && l >= n && l <= a && u.push(t[d])); + else { + var g = Math.floor((p + h) / 2); + ((s = e[2 * g]), + (l = e[2 * g + 1]), + s >= r && s <= i && l >= n && l <= a && u.push(t[g])); + var m = (f + 1) % 2; + ((0 === f ? r <= s : n <= l) && + (c.push(p), c.push(g - 1), c.push(m)), + (0 === f ? i >= s : a >= l) && + (c.push(g + 1), c.push(h), c.push(m))); + } + } + return u; + }; + }, + {}, + ], + 28: [ + function (t, e, r) { + function n(t, e, r, n) { + (i(t, r, n), i(e, 2 * r, 2 * n), i(e, 2 * r + 1, 2 * n + 1)); + } + function i(t, e, r) { + var n = t[e]; + ((t[e] = t[r]), (t[r] = n)); + } + e.exports = function t(e, r, i, a, o, s) { + if (!(o - a <= i)) { + var l = Math.floor((a + o) / 2); + ((function t(e, r, i, a, o, s) { + for (; o > a; ) { + if (o - a > 600) { + var l = o - a + 1, + c = i - a + 1, + u = Math.log(l), + f = 0.5 * Math.exp((2 * u) / 3), + h = + 0.5 * + Math.sqrt((u * f * (l - f)) / l) * + (c - l / 2 < 0 ? -1 : 1); + t( + e, + r, + i, + Math.max(a, Math.floor(i - (c * f) / l + h)), + Math.min(o, Math.floor(i + ((l - c) * f) / l + h)), + s, + ); + } + var p = r[2 * i + s], + d = a, + g = o; + for ( + n(e, r, a, i), r[2 * o + s] > p && n(e, r, a, o); + d < g; + + ) { + for (n(e, r, d, g), d++, g--; r[2 * d + s] < p; ) d++; + for (; r[2 * g + s] > p; ) g--; + } + (r[2 * a + s] === p ? n(e, r, a, g) : n(e, r, ++g, o), + g <= i && (a = g + 1), + i <= g && (o = g - 1)); + } + })(e, r, l, a, o, s % 2), + t(e, r, i, a, l - 1, s + 1), + t(e, r, i, l + 1, o, s + 1)); + } + }; + }, + {}, + ], + 29: [ + function (t, e, r) { + function n(t, e, r, n) { + var i = t - r, + a = e - n; + return i * i + a * a; + } + e.exports = function (t, e, r, i, a, o) { + for ( + var s = [0, t.length - 1, 0], l = [], c = a * a; + s.length; + + ) { + var u = s.pop(), + f = s.pop(), + h = s.pop(); + if (f - h <= o) + for (var p = h; p <= f; p++) + n(e[2 * p], e[2 * p + 1], r, i) <= c && l.push(t[p]); + else { + var d = Math.floor((h + f) / 2), + g = e[2 * d], + m = e[2 * d + 1]; + n(g, m, r, i) <= c && l.push(t[d]); + var v = (u + 1) % 2; + ((0 === u ? r - a <= g : i - a <= m) && + (s.push(h), s.push(d - 1), s.push(v)), + (0 === u ? r + a >= g : i + a >= m) && + (s.push(d + 1), s.push(f), s.push(v))); + } + } + return l; + }; + }, + {}, + ], + 30: [ + function (t, e, r) { + function n(t) { + ((this.buf = + ArrayBuffer.isView && ArrayBuffer.isView(t) + ? t + : new Uint8Array(t || 0)), + (this.pos = 0), + (this.type = 0), + (this.length = this.buf.length)); + } + function i(t) { + return t.type === n.Bytes ? t.readVarint() + t.pos : t.pos + 1; + } + function a(t, e, r) { + return r + ? 4294967296 * e + (t >>> 0) + : 4294967296 * (e >>> 0) + (t >>> 0); + } + function o(t, e, r) { + var n = + e <= 16383 + ? 1 + : e <= 2097151 + ? 2 + : e <= 268435455 + ? 3 + : Math.ceil(Math.log(e) / (7 * Math.LN2)); + r.realloc(n); + for (var i = r.pos - 1; i >= t; i--) r.buf[i + n] = r.buf[i]; + } + function s(t, e) { + for (var r = 0; r < t.length; r++) e.writeVarint(t[r]); + } + function l(t, e) { + for (var r = 0; r < t.length; r++) e.writeSVarint(t[r]); + } + function c(t, e) { + for (var r = 0; r < t.length; r++) e.writeFloat(t[r]); + } + function u(t, e) { + for (var r = 0; r < t.length; r++) e.writeDouble(t[r]); + } + function f(t, e) { + for (var r = 0; r < t.length; r++) e.writeBoolean(t[r]); + } + function h(t, e) { + for (var r = 0; r < t.length; r++) e.writeFixed32(t[r]); + } + function p(t, e) { + for (var r = 0; r < t.length; r++) e.writeSFixed32(t[r]); + } + function d(t, e) { + for (var r = 0; r < t.length; r++) e.writeFixed64(t[r]); + } + function g(t, e) { + for (var r = 0; r < t.length; r++) e.writeSFixed64(t[r]); + } + function m(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + 16777216 * t[e + 3] + ); + } + function v(t, e, r) { + ((t[r] = e), + (t[r + 1] = e >>> 8), + (t[r + 2] = e >>> 16), + (t[r + 3] = e >>> 24)); + } + function y(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + (t[e + 3] << 24) + ); + } + e.exports = n; + var x = t("ieee754"); + ((n.Varint = 0), (n.Fixed64 = 1), (n.Bytes = 2), (n.Fixed32 = 5)); + n.prototype = { + destroy: function () { + this.buf = null; + }, + readFields: function (t, e, r) { + for (r = r || this.length; this.pos < r; ) { + var n = this.readVarint(), + i = n >> 3, + a = this.pos; + ((this.type = 7 & n), + t(i, e, this), + this.pos === a && this.skip(n)); + } + return e; + }, + readMessage: function (t, e) { + return this.readFields(t, e, this.readVarint() + this.pos); + }, + readFixed32: function () { + var t = m(this.buf, this.pos); + return ((this.pos += 4), t); + }, + readSFixed32: function () { + var t = y(this.buf, this.pos); + return ((this.pos += 4), t); + }, + readFixed64: function () { + var t = + m(this.buf, this.pos) + + 4294967296 * m(this.buf, this.pos + 4); + return ((this.pos += 8), t); + }, + readSFixed64: function () { + var t = + m(this.buf, this.pos) + + 4294967296 * y(this.buf, this.pos + 4); + return ((this.pos += 8), t); + }, + readFloat: function () { + var t = x.read(this.buf, this.pos, !0, 23, 4); + return ((this.pos += 4), t); + }, + readDouble: function () { + var t = x.read(this.buf, this.pos, !0, 52, 8); + return ((this.pos += 8), t); + }, + readVarint: function (t) { + var e, + r, + n = this.buf; + return ( + (e = 127 & (r = n[this.pos++])), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 7), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 14), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 21), + r < 128 + ? e + : (function (t, e, r) { + var n, + i, + o = r.buf; + if ( + ((n = (112 & (i = o[r.pos++])) >> 4), + i < 128) + ) + return a(t, n, e); + if ( + ((n |= (127 & (i = o[r.pos++])) << 3), + i < 128) + ) + return a(t, n, e); + if ( + ((n |= (127 & (i = o[r.pos++])) << 10), + i < 128) + ) + return a(t, n, e); + if ( + ((n |= (127 & (i = o[r.pos++])) << 17), + i < 128) + ) + return a(t, n, e); + if ( + ((n |= (127 & (i = o[r.pos++])) << 24), + i < 128) + ) + return a(t, n, e); + if ( + ((n |= (1 & (i = o[r.pos++])) << 31), + i < 128) + ) + return a(t, n, e); + throw new Error( + "Expected varint not more than 10 bytes", + ); + })( + (e |= (15 & (r = n[this.pos])) << 28), + t, + this, + )))) + ); + }, + readVarint64: function () { + return this.readVarint(!0); + }, + readSVarint: function () { + var t = this.readVarint(); + return t % 2 == 1 ? (t + 1) / -2 : t / 2; + }, + readBoolean: function () { + return Boolean(this.readVarint()); + }, + readString: function () { + var t = this.readVarint() + this.pos, + e = (function (t, e, r) { + for (var n = "", i = e; i < r; ) { + var a, + o, + s, + l = t[i], + c = null, + u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; + if (i + u > r) break; + (1 === u + ? l < 128 && (c = l) + : 2 === u + ? 128 == (192 & (a = t[i + 1])) && + (c = ((31 & l) << 6) | (63 & a)) <= 127 && + (c = null) + : 3 === u + ? ((a = t[i + 1]), + (o = t[i + 2]), + 128 == (192 & a) && + 128 == (192 & o) && + ((c = + ((15 & l) << 12) | + ((63 & a) << 6) | + (63 & o)) <= 2047 || + (c >= 55296 && c <= 57343)) && + (c = null)) + : 4 === u && + ((a = t[i + 1]), + (o = t[i + 2]), + (s = t[i + 3]), + 128 == (192 & a) && + 128 == (192 & o) && + 128 == (192 & s) && + ((c = + ((15 & l) << 18) | + ((63 & a) << 12) | + ((63 & o) << 6) | + (63 & s)) <= 65535 || + c >= 1114112) && + (c = null)), + null === c + ? ((c = 65533), (u = 1)) + : c > 65535 && + ((c -= 65536), + (n += String.fromCharCode( + ((c >>> 10) & 1023) | 55296, + )), + (c = 56320 | (1023 & c))), + (n += String.fromCharCode(c)), + (i += u)); + } + return n; + })(this.buf, this.pos, t); + return ((this.pos = t), e); + }, + readBytes: function () { + var t = this.readVarint() + this.pos, + e = this.buf.subarray(this.pos, t); + return ((this.pos = t), e); + }, + readPackedVarint: function (t, e) { + var r = i(this); + for (t = t || []; this.pos < r; ) t.push(this.readVarint(e)); + return t; + }, + readPackedSVarint: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readSVarint()); + return t; + }, + readPackedBoolean: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readBoolean()); + return t; + }, + readPackedFloat: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readFloat()); + return t; + }, + readPackedDouble: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readDouble()); + return t; + }, + readPackedFixed32: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readFixed32()); + return t; + }, + readPackedSFixed32: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readSFixed32()); + return t; + }, + readPackedFixed64: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readFixed64()); + return t; + }, + readPackedSFixed64: function (t) { + var e = i(this); + for (t = t || []; this.pos < e; ) t.push(this.readSFixed64()); + return t; + }, + skip: function (t) { + var e = 7 & t; + if (e === n.Varint) for (; this.buf[this.pos++] > 127; ); + else if (e === n.Bytes) + this.pos = this.readVarint() + this.pos; + else if (e === n.Fixed32) this.pos += 4; + else { + if (e !== n.Fixed64) + throw new Error("Unimplemented type: " + e); + this.pos += 8; + } + }, + writeTag: function (t, e) { + this.writeVarint((t << 3) | e); + }, + realloc: function (t) { + for (var e = this.length || 16; e < this.pos + t; ) e *= 2; + if (e !== this.length) { + var r = new Uint8Array(e); + (r.set(this.buf), (this.buf = r), (this.length = e)); + } + }, + finish: function () { + return ( + (this.length = this.pos), + (this.pos = 0), + this.buf.subarray(0, this.length) + ); + }, + writeFixed32: function (t) { + (this.realloc(4), v(this.buf, t, this.pos), (this.pos += 4)); + }, + writeSFixed32: function (t) { + (this.realloc(4), v(this.buf, t, this.pos), (this.pos += 4)); + }, + writeFixed64: function (t) { + (this.realloc(8), + v(this.buf, -1 & t, this.pos), + v(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), + (this.pos += 8)); + }, + writeSFixed64: function (t) { + (this.realloc(8), + v(this.buf, -1 & t, this.pos), + v(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), + (this.pos += 8)); + }, + writeVarint: function (t) { + (t = +t || 0) > 268435455 || t < 0 + ? (function (t, e) { + var r, n; + if ( + (t >= 0 + ? ((r = t % 4294967296 | 0), + (n = (t / 4294967296) | 0)) + : ((n = ~(-t / 4294967296)), + 4294967295 ^ (r = ~(-t % 4294967296)) + ? (r = (r + 1) | 0) + : ((r = 0), (n = (n + 1) | 0))), + t >= 0x10000000000000000 || t < -0x10000000000000000) + ) + throw new Error( + "Given varint doesn't fit into 10 bytes", + ); + (e.realloc(10), + (function (t, e, r) { + ((r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos] = 127 & t)); + })(r, 0, e), + (function (t, e) { + var r = (7 & t) << 4; + ((e.buf[e.pos++] |= r | ((t >>>= 3) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && (e.buf[e.pos++] = 127 & t)))))); + })(n, e)); + })(t, this) + : (this.realloc(4), + (this.buf[this.pos++] = (127 & t) | (t > 127 ? 128 : 0)), + t <= 127 || + ((this.buf[this.pos++] = + (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), + t <= 127 || + ((this.buf[this.pos++] = + (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), + t <= 127 || + (this.buf[this.pos++] = (t >>> 7) & 127)))); + }, + writeSVarint: function (t) { + this.writeVarint(t < 0 ? 2 * -t - 1 : 2 * t); + }, + writeBoolean: function (t) { + this.writeVarint(Boolean(t)); + }, + writeString: function (t) { + ((t = String(t)), this.realloc(4 * t.length), this.pos++); + var e = this.pos; + this.pos = (function (t, e, r) { + for (var n, i, a = 0; a < e.length; a++) { + if ((n = e.charCodeAt(a)) > 55295 && n < 57344) { + if (!i) { + n > 56319 || a + 1 === e.length + ? ((t[r++] = 239), (t[r++] = 191), (t[r++] = 189)) + : (i = n); + continue; + } + if (n < 56320) { + ((t[r++] = 239), + (t[r++] = 191), + (t[r++] = 189), + (i = n)); + continue; + } + ((n = ((i - 55296) << 10) | (n - 56320) | 65536), + (i = null)); + } else + i && + ((t[r++] = 239), + (t[r++] = 191), + (t[r++] = 189), + (i = null)); + n < 128 + ? (t[r++] = n) + : (n < 2048 + ? (t[r++] = (n >> 6) | 192) + : (n < 65536 + ? (t[r++] = (n >> 12) | 224) + : ((t[r++] = (n >> 18) | 240), + (t[r++] = ((n >> 12) & 63) | 128)), + (t[r++] = ((n >> 6) & 63) | 128)), + (t[r++] = (63 & n) | 128)); + } + return r; + })(this.buf, t, this.pos); + var r = this.pos - e; + (r >= 128 && o(e, r, this), + (this.pos = e - 1), + this.writeVarint(r), + (this.pos += r)); + }, + writeFloat: function (t) { + (this.realloc(4), + x.write(this.buf, t, this.pos, !0, 23, 4), + (this.pos += 4)); + }, + writeDouble: function (t) { + (this.realloc(8), + x.write(this.buf, t, this.pos, !0, 52, 8), + (this.pos += 8)); + }, + writeBytes: function (t) { + var e = t.length; + (this.writeVarint(e), this.realloc(e)); + for (var r = 0; r < e; r++) this.buf[this.pos++] = t[r]; + }, + writeRawMessage: function (t, e) { + this.pos++; + var r = this.pos; + t(e, this); + var n = this.pos - r; + (n >= 128 && o(r, n, this), + (this.pos = r - 1), + this.writeVarint(n), + (this.pos += n)); + }, + writeMessage: function (t, e, r) { + (this.writeTag(t, n.Bytes), this.writeRawMessage(e, r)); + }, + writePackedVarint: function (t, e) { + this.writeMessage(t, s, e); + }, + writePackedSVarint: function (t, e) { + this.writeMessage(t, l, e); + }, + writePackedBoolean: function (t, e) { + this.writeMessage(t, f, e); + }, + writePackedFloat: function (t, e) { + this.writeMessage(t, c, e); + }, + writePackedDouble: function (t, e) { + this.writeMessage(t, u, e); + }, + writePackedFixed32: function (t, e) { + this.writeMessage(t, h, e); + }, + writePackedSFixed32: function (t, e) { + this.writeMessage(t, p, e); + }, + writePackedFixed64: function (t, e) { + this.writeMessage(t, d, e); + }, + writePackedSFixed64: function (t, e) { + this.writeMessage(t, g, e); + }, + writeBytesField: function (t, e) { + (this.writeTag(t, n.Bytes), this.writeBytes(e)); + }, + writeFixed32Field: function (t, e) { + (this.writeTag(t, n.Fixed32), this.writeFixed32(e)); + }, + writeSFixed32Field: function (t, e) { + (this.writeTag(t, n.Fixed32), this.writeSFixed32(e)); + }, + writeFixed64Field: function (t, e) { + (this.writeTag(t, n.Fixed64), this.writeFixed64(e)); + }, + writeSFixed64Field: function (t, e) { + (this.writeTag(t, n.Fixed64), this.writeSFixed64(e)); + }, + writeVarintField: function (t, e) { + (this.writeTag(t, n.Varint), this.writeVarint(e)); + }, + writeSVarintField: function (t, e) { + (this.writeTag(t, n.Varint), this.writeSVarint(e)); + }, + writeStringField: function (t, e) { + (this.writeTag(t, n.Bytes), this.writeString(e)); + }, + writeFloatField: function (t, e) { + (this.writeTag(t, n.Fixed32), this.writeFloat(e)); + }, + writeDoubleField: function (t, e) { + (this.writeTag(t, n.Fixed64), this.writeDouble(e)); + }, + writeBooleanField: function (t, e) { + this.writeVarintField(t, Boolean(e)); + }, + }; + }, + { ieee754: 25 }, + ], + 31: [ + function (t, e, r) { + function n(t, e, r) { + var n = t[e]; + ((t[e] = t[r]), (t[r] = n)); + } + function i(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + e.exports = function t(e, r, a, o, s) { + for (a = a || 0, o = o || e.length - 1, s = s || i; o > a; ) { + if (o - a > 600) { + var l = o - a + 1, + c = r - a + 1, + u = Math.log(l), + f = 0.5 * Math.exp((2 * u) / 3), + h = + 0.5 * + Math.sqrt((u * f * (l - f)) / l) * + (c - l / 2 < 0 ? -1 : 1); + t( + e, + r, + Math.max(a, Math.floor(r - (c * f) / l + h)), + Math.min(o, Math.floor(r + ((l - c) * f) / l + h)), + s, + ); + } + var p = e[r], + d = a, + g = o; + for (n(e, a, r), s(e[o], p) > 0 && n(e, a, o); d < g; ) { + for (n(e, d, g), d++, g--; s(e[d], p) < 0; ) d++; + for (; s(e[g], p) > 0; ) g--; + } + (0 === s(e[a], p) ? n(e, a, g) : n(e, ++g, o), + g <= r && (a = g + 1), + r <= g && (o = g - 1)); + } + }; + }, + {}, + ], + 32: [ + function (t, e, r) { + function n(t) { + ((this.options = u(Object.create(this.options), t)), + (this.trees = new Array(this.options.maxZoom + 1))); + } + function i(t, e, r, n, i) { + return { + x: t, + y: e, + zoom: 1 / 0, + id: n, + properties: i, + parentId: -1, + numPoints: r, + }; + } + function a(t, e) { + var r = t.geometry.coordinates; + return { + x: l(r[0]), + y: c(r[1]), + zoom: 1 / 0, + id: e, + parentId: -1, + }; + } + function o(t) { + return { + type: "Feature", + properties: s(t), + geometry: { + type: "Point", + coordinates: [ + (function (t) { + return 360 * (t - 0.5); + })(t.x), + (function (t) { + var e = ((180 - 360 * t) * Math.PI) / 180; + return (360 * Math.atan(Math.exp(e))) / Math.PI - 90; + })(t.y), + ], + }, + }; + } + function s(t) { + var e = t.numPoints, + r = + e >= 1e4 + ? Math.round(e / 1e3) + "k" + : e >= 1e3 + ? Math.round(e / 100) / 10 + "k" + : e; + return u(u({}, t.properties), { + cluster: !0, + cluster_id: t.id, + point_count: e, + point_count_abbreviated: r, + }); + } + function l(t) { + return t / 360 + 0.5; + } + function c(t) { + var e = Math.sin((t * Math.PI) / 180), + r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function u(t, e) { + for (var r in e) t[r] = e[r]; + return t; + } + function f(t) { + return t.x; + } + function h(t) { + return t.y; + } + var p = t("kdbush"); + ((e.exports = function (t) { + return new n(t); + }), + (n.prototype = { + options: { + minZoom: 0, + maxZoom: 16, + radius: 40, + extent: 512, + nodeSize: 64, + log: !1, + reduce: null, + initial: function () { + return {}; + }, + map: function (t) { + return t; + }, + }, + load: function (t) { + var e = this.options.log; + e && console.time("total time"); + var r = "prepare " + t.length + " points"; + (e && console.time(r), (this.points = t)); + var n = t.map(a); + e && console.timeEnd(r); + for ( + var i = this.options.maxZoom; + i >= this.options.minZoom; + i-- + ) { + var o = +Date.now(); + ((this.trees[i + 1] = p( + n, + f, + h, + this.options.nodeSize, + Float32Array, + )), + (n = this._cluster(n, i)), + e && + console.log( + "z%d: %d clusters in %dms", + i, + n.length, + +Date.now() - o, + )); + } + return ( + (this.trees[this.options.minZoom] = p( + n, + f, + h, + this.options.nodeSize, + Float32Array, + )), + e && console.timeEnd("total time"), + this + ); + }, + getClusters: function (t, e) { + for ( + var r = this.trees[this._limitZoom(e)], + n = r.range(l(t[0]), c(t[3]), l(t[2]), c(t[1])), + i = [], + a = 0; + a < n.length; + a++ + ) { + var s = r.points[n[a]]; + i.push(s.numPoints ? o(s) : this.points[s.id]); + } + return i; + }, + getChildren: function (t, e) { + for ( + var r = this.trees[e + 1].points[t], + n = + this.options.radius / + (this.options.extent * Math.pow(2, e)), + i = this.trees[e + 1].within(r.x, r.y, n), + a = [], + s = 0; + s < i.length; + s++ + ) { + var l = this.trees[e + 1].points[i[s]]; + l.parentId === t && + a.push(l.numPoints ? o(l) : this.points[l.id]); + } + return a; + }, + getLeaves: function (t, e, r, n) { + ((r = r || 10), (n = n || 0)); + var i = []; + return (this._appendLeaves(i, t, e, r, n, 0), i); + }, + getTile: function (t, e, r) { + var n = this.trees[this._limitZoom(t)], + i = Math.pow(2, t), + a = this.options.extent, + o = this.options.radius / a, + s = (r - o) / i, + l = (r + 1 + o) / i, + c = { features: [] }; + return ( + this._addTileFeatures( + n.range((e - o) / i, s, (e + 1 + o) / i, l), + n.points, + e, + r, + i, + c, + ), + 0 === e && + this._addTileFeatures( + n.range(1 - o / i, s, 1, l), + n.points, + i, + r, + i, + c, + ), + e === i - 1 && + this._addTileFeatures( + n.range(0, s, o / i, l), + n.points, + -1, + r, + i, + c, + ), + c.features.length ? c : null + ); + }, + getClusterExpansionZoom: function (t, e) { + for (; e < this.options.maxZoom; ) { + var r = this.getChildren(t, e); + if ((e++, 1 !== r.length)) break; + t = r[0].properties.cluster_id; + } + return e; + }, + _appendLeaves: function (t, e, r, n, i, a) { + for ( + var o = this.getChildren(e, r), s = 0; + s < o.length; + s++ + ) { + var l = o[s].properties; + if ( + (l.cluster + ? a + l.point_count <= i + ? (a += l.point_count) + : (a = this._appendLeaves( + t, + l.cluster_id, + r + 1, + n, + i, + a, + )) + : a < i + ? a++ + : t.push(o[s]), + t.length === n) + ) + break; + } + return a; + }, + _addTileFeatures: function (t, e, r, n, i, a) { + for (var o = 0; o < t.length; o++) { + var l = e[t[o]]; + a.features.push({ + type: 1, + geometry: [ + [ + Math.round(this.options.extent * (l.x * i - r)), + Math.round(this.options.extent * (l.y * i - n)), + ], + ], + tags: l.numPoints ? s(l) : this.points[l.id].properties, + }); + } + }, + _limitZoom: function (t) { + return Math.max( + this.options.minZoom, + Math.min(t, this.options.maxZoom + 1), + ); + }, + _cluster: function (t, e) { + for ( + var r = [], + n = + this.options.radius / + (this.options.extent * Math.pow(2, e)), + a = 0; + a < t.length; + a++ + ) { + var o = t[a]; + if (!(o.zoom <= e)) { + o.zoom = e; + var s = this.trees[e + 1], + l = s.within(o.x, o.y, n), + c = o.numPoints || 1, + u = o.x * c, + f = o.y * c, + h = null; + this.options.reduce && + ((h = this.options.initial()), + this._accumulate(h, o)); + for (var p = 0; p < l.length; p++) { + var d = s.points[l[p]]; + if (e < d.zoom) { + var g = d.numPoints || 1; + ((d.zoom = e), + (u += d.x * g), + (f += d.y * g), + (c += g), + (d.parentId = a), + this.options.reduce && this._accumulate(h, d)); + } + } + 1 === c + ? r.push(o) + : ((o.parentId = a), + r.push(i(u / c, f / c, c, a, h))); + } + } + return r; + }, + _accumulate: function (t, e) { + var r = e.numPoints + ? e.properties + : this.options.map(this.points[e.id].properties); + this.options.reduce(t, r); + }, + })); + }, + { kdbush: 26 }, + ], + 33: [ + function (t, e, r) { + function n(t, e) { + if (!(this instanceof n)) return new n(t, e); + if ( + ((this.data = t || []), + (this.length = this.data.length), + (this.compare = e || i), + this.length > 0) + ) + for (var r = this.length >> 1; r >= 0; r--) this._down(r); + } + function i(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + ((e.exports = n), + (n.prototype = { + push: function (t) { + (this.data.push(t), + this.length++, + this._up(this.length - 1)); + }, + pop: function () { + if (0 !== this.length) { + var t = this.data[0]; + return ( + this.length--, + this.length > 0 && + ((this.data[0] = this.data[this.length]), + this._down(0)), + this.data.pop(), + t + ); + } + }, + peek: function () { + return this.data[0]; + }, + _up: function (t) { + for ( + var e = this.data, r = this.compare, n = e[t]; + t > 0; + + ) { + var i = (t - 1) >> 1, + a = e[i]; + if (r(n, a) >= 0) break; + ((e[t] = a), (t = i)); + } + e[t] = n; + }, + _down: function (t) { + for ( + var e = this.data, + r = this.compare, + n = this.length, + i = n >> 1, + a = e[t]; + t < i; + + ) { + var o = 1 + (t << 1), + s = o + 1, + l = e[o]; + if ( + (s < n && r(e[s], l) < 0 && ((o = s), (l = e[s])), + r(l, a) >= 0) + ) + break; + ((e[t] = l), (t = o)); + } + e[t] = a; + }, + })); + }, + {}, + ], + 34: [ + function (t, e, r) { + function n(t) { + var e = new f(); + return ( + (function (t, e) { + for (var r in t.layers) e.writeMessage(3, i, t.layers[r]); + })(t, e), + e.finish() + ); + } + function i(t, e) { + (e.writeVarintField(15, t.version || 1), + e.writeStringField(1, t.name || ""), + e.writeVarintField(5, t.extent || 4096)); + var r, + n = { keys: [], values: [], keycache: {}, valuecache: {} }; + for (r = 0; r < t.length; r++) + ((n.feature = t.feature(r)), e.writeMessage(2, a, n)); + var i = n.keys; + for (r = 0; r < i.length; r++) e.writeStringField(3, i[r]); + var o = n.values; + for (r = 0; r < o.length; r++) e.writeMessage(4, u, o[r]); + } + function a(t, e) { + var r = t.feature; + (void 0 !== r.id && e.writeVarintField(1, r.id), + e.writeMessage(2, o, t), + e.writeVarintField(3, r.type), + e.writeMessage(4, c, r)); + } + function o(t, e) { + var r = t.feature, + n = t.keys, + i = t.values, + a = t.keycache, + o = t.valuecache; + for (var s in r.properties) { + var l = a[s]; + (void 0 === l && (n.push(s), (l = n.length - 1), (a[s] = l)), + e.writeVarint(l)); + var c = r.properties[s], + u = typeof c; + "string" !== u && + "boolean" !== u && + "number" !== u && + (c = JSON.stringify(c)); + var f = u + ":" + c, + h = o[f]; + (void 0 === h && (i.push(c), (h = i.length - 1), (o[f] = h)), + e.writeVarint(h)); + } + } + function s(t, e) { + return (e << 3) + (7 & t); + } + function l(t) { + return (t << 1) ^ (t >> 31); + } + function c(t, e) { + for ( + var r = t.loadGeometry(), + n = t.type, + i = 0, + a = 0, + o = r.length, + c = 0; + c < o; + c++ + ) { + var u = r[c], + f = 1; + (1 === n && (f = u.length), e.writeVarint(s(1, f))); + for (var h = 0; h < u.length; h++) { + 1 === h && 1 !== n && e.writeVarint(s(2, u.length - 1)); + var p = u[h].x - i, + d = u[h].y - a; + (e.writeVarint(l(p)), + e.writeVarint(l(d)), + (i += p), + (a += d)); + } + } + } + function u(t, e) { + var r = typeof t; + "string" === r + ? e.writeStringField(1, t) + : "boolean" === r + ? e.writeBooleanField(7, t) + : "number" === r && + (t % 1 != 0 + ? e.writeDoubleField(3, t) + : t < 0 + ? e.writeSVarintField(6, t) + : e.writeVarintField(5, t)); + } + var f = t("pbf"), + h = t("./lib/geojson_wrapper"); + ((e.exports = n), + (e.exports.fromVectorTileJs = n), + (e.exports.fromGeojsonVt = function (t) { + var e = {}; + for (var r in t) + ((e[r] = new h(t[r].features)), (e[r].name = r)); + return n({ layers: e }); + }), + (e.exports.GeoJSONWrapper = h)); + }, + { "./lib/geojson_wrapper": 35, pbf: 30 }, + ], + 35: [ + function (t, e, r) { + function n(t) { + ((this.features = t), (this.length = t.length)); + } + function i(t) { + ((this.id = "number" == typeof t.id ? t.id : void 0), + (this.type = t.type), + (this.rawGeometry = 1 === t.type ? [t.geometry] : t.geometry), + (this.properties = t.tags), + (this.extent = 4096)); + } + var a = t("@mapbox/point-geometry"), + o = t("@mapbox/vector-tile").VectorTileFeature; + ((e.exports = n), + (n.prototype.feature = function (t) { + return new i(this.features[t]); + }), + (i.prototype.loadGeometry = function () { + var t = this.rawGeometry; + this.geometry = []; + for (var e = 0; e < t.length; e++) { + for (var r = t[e], n = [], i = 0; i < r.length; i++) + n.push(new a(r[i][0], r[i][1])); + this.geometry.push(n); + } + return this.geometry; + }), + (i.prototype.bbox = function () { + this.geometry || this.loadGeometry(); + for ( + var t = this.geometry, + e = 1 / 0, + r = -1 / 0, + n = 1 / 0, + i = -1 / 0, + a = 0; + a < t.length; + a++ + ) + for (var o = t[a], s = 0; s < o.length; s++) { + var l = o[s]; + ((e = Math.min(e, l.x)), + (r = Math.max(r, l.x)), + (n = Math.min(n, l.y)), + (i = Math.max(i, l.y))); + } + return [e, n, r, i]; + }), + (i.prototype.toGeoJSON = o.prototype.toGeoJSON)); + }, + { "@mapbox/point-geometry": 4, "@mapbox/vector-tile": 8 }, + ], + 36: [ + function (t, e, r) { + var n = arguments[3], + i = arguments[4], + a = arguments[5], + o = JSON.stringify; + e.exports = function (t, e) { + for ( + var r, s = Object.keys(a), l = 0, c = s.length; + l < c; + l++ + ) { + var u = s[l], + f = a[u].exports; + if (f === t || (f && f.default === t)) { + r = u; + break; + } + } + if (!r) { + r = Math.floor(Math.pow(16, 8) * Math.random()).toString(16); + var h = {}; + for (l = 0, c = s.length; l < c; l++) { + h[(u = s[l])] = u; + } + i[r] = [ + "function(require,module,exports){" + t + "(self); }", + h, + ]; + } + var p = Math.floor(Math.pow(16, 8) * Math.random()).toString( + 16, + ), + d = {}; + ((d[r] = r), + (i[p] = [ + "function(require,module,exports){var f = require(" + + o(r) + + ");(f.default ? f.default : f)(self);}", + d, + ])); + var g = {}; + !(function t(e) { + for (var r in ((g[e] = !0), i[e][1])) { + var n = i[e][1][r]; + g[n] || t(n); + } + })(p); + var m = + "(" + + n + + ")({" + + Object.keys(g) + .map(function (t) { + return o(t) + ":[" + i[t][0] + "," + o(i[t][1]) + "]"; + }) + .join(",") + + "},{},[" + + o(p) + + "])", + v = + window.URL || + window.webkitURL || + window.mozURL || + window.msURL, + y = new Blob([m], { type: "text/javascript" }); + if (e && e.bare) return y; + var x = v.createObjectURL(y), + b = new Worker(x); + return ((b.objectURL = x), b); + }; + }, + {}, + ], + 37: [ + function (t, e, r) { + ((e.exports.RADIUS = 6378137), + (e.exports.FLATTENING = 1 / 298.257223563), + (e.exports.POLAR_RADIUS = 6356752.3142)); + }, + {}, + ], + 38: [ + function (t, e, r) { + e.exports = { version: "0.44.1" }; + }, + {}, + ], + 39: [ + function (t, e, r) { + var n = t("../util/struct_array").StructArray, + i = t("../util/struct_array").Struct, + a = t("../util/web_worker_transfer").register, + o = t("@mapbox/point-geometry"), + s = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + this.resize(r + 1); + var n = 2 * r; + return ( + (this.int16[n + 0] = t), + (this.int16[n + 1] = e), + r + ); + }), + e + ); + })(n); + ((s.prototype.bytesPerElement = 4), a("StructArrayLayout2i4", s)); + var l = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n) { + var i = this.length; + this.resize(i + 1); + var a = 4 * i; + return ( + (this.int16[a + 0] = t), + (this.int16[a + 1] = e), + (this.int16[a + 2] = r), + (this.int16[a + 3] = n), + i + ); + }), + e + ); + })(n); + ((l.prototype.bytesPerElement = 8), a("StructArrayLayout4i8", l)); + var c = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a) { + var o = this.length; + this.resize(o + 1); + var s = 6 * o; + return ( + (this.int16[s + 0] = t), + (this.int16[s + 1] = e), + (this.int16[s + 2] = r), + (this.int16[s + 3] = n), + (this.int16[s + 4] = i), + (this.int16[s + 5] = a), + o + ); + }), + e + ); + })(n); + ((c.prototype.bytesPerElement = 12), + a("StructArrayLayout2i4i12", c)); + var u = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a, o, s) { + var l = this.length; + this.resize(l + 1); + var c = 6 * l, + u = 12 * l; + return ( + (this.int16[c + 0] = t), + (this.int16[c + 1] = e), + (this.int16[c + 2] = r), + (this.int16[c + 3] = n), + (this.uint8[u + 8] = i), + (this.uint8[u + 9] = a), + (this.uint8[u + 10] = o), + (this.uint8[u + 11] = s), + l + ); + }), + e + ); + })(n); + ((u.prototype.bytesPerElement = 12), + a("StructArrayLayout4i4ub12", u)); + var f = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a, o, s) { + var l = this.length; + this.resize(l + 1); + var c = 8 * l; + return ( + (this.int16[c + 0] = t), + (this.int16[c + 1] = e), + (this.int16[c + 2] = r), + (this.int16[c + 3] = n), + (this.uint16[c + 4] = i), + (this.uint16[c + 5] = a), + (this.uint16[c + 6] = o), + (this.uint16[c + 7] = s), + l + ); + }), + e + ); + })(n); + ((f.prototype.bytesPerElement = 16), + a("StructArrayLayout4i4ui16", f)); + var h = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + this.resize(n + 1); + var i = 3 * n; + return ( + (this.float32[i + 0] = t), + (this.float32[i + 1] = e), + (this.float32[i + 2] = r), + n + ); + }), + e + ); + })(n); + ((h.prototype.bytesPerElement = 12), + a("StructArrayLayout3f12", h)); + var p = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t) { + var e = this.length; + this.resize(e + 1); + var r = 1 * e; + return ((this.uint32[r + 0] = t), e); + }), + e + ); + })(n); + ((p.prototype.bytesPerElement = 4), + a("StructArrayLayout1ul4", p)); + var d = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + ) { + var f = this.length; + this.resize(f + 1); + var h = 12 * f, + p = 6 * f; + return ( + (this.int16[h + 0] = t), + (this.int16[h + 1] = e), + (this.int16[h + 2] = r), + (this.int16[h + 3] = n), + (this.int16[h + 4] = i), + (this.int16[h + 5] = a), + (this.uint32[p + 3] = o), + (this.uint16[h + 8] = s), + (this.uint16[h + 9] = l), + (this.int16[h + 10] = c), + (this.int16[h + 11] = u), + f + ); + }), + e + ); + })(n); + ((d.prototype.bytesPerElement = 24), + a("StructArrayLayout6i1ul2ui2i24", d)); + var g = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a) { + var o = this.length; + this.resize(o + 1); + var s = 6 * o; + return ( + (this.int16[s + 0] = t), + (this.int16[s + 1] = e), + (this.int16[s + 2] = r), + (this.int16[s + 3] = n), + (this.int16[s + 4] = i), + (this.int16[s + 5] = a), + o + ); + }), + e + ); + })(n); + ((g.prototype.bytesPerElement = 12), + a("StructArrayLayout2i2i2i12", g)); + var m = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + this.uint8 = new Uint8Array(this.arrayBuffer); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + this.resize(r + 1); + var n = 4 * r; + return ( + (this.uint8[n + 0] = t), + (this.uint8[n + 1] = e), + r + ); + }), + e + ); + })(n); + ((m.prototype.bytesPerElement = 4), + a("StructArrayLayout2ub4", m)); + var v = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + ) { + var d = this.length; + this.resize(d + 1); + var g = 20 * d, + m = 10 * d, + v = 40 * d; + return ( + (this.int16[g + 0] = t), + (this.int16[g + 1] = e), + (this.uint16[g + 2] = r), + (this.uint16[g + 3] = n), + (this.uint32[m + 2] = i), + (this.uint32[m + 3] = a), + (this.uint32[m + 4] = o), + (this.uint16[g + 10] = s), + (this.uint16[g + 11] = l), + (this.uint16[g + 12] = c), + (this.float32[m + 7] = u), + (this.float32[m + 8] = f), + (this.uint8[v + 36] = h), + (this.uint8[v + 37] = p), + d + ); + }), + e + ); + })(n); + ((v.prototype.bytesPerElement = 40), + a("StructArrayLayout2i2ui3ul3ui2f2ub40", v)); + var y = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t) { + var e = this.length; + this.resize(e + 1); + var r = 1 * e; + return ((this.float32[r + 0] = t), e); + }), + e + ); + })(n); + ((y.prototype.bytesPerElement = 4), a("StructArrayLayout1f4", y)); + var x = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + this.resize(n + 1); + var i = 3 * n; + return ( + (this.int16[i + 0] = t), + (this.int16[i + 1] = e), + (this.int16[i + 2] = r), + n + ); + }), + e + ); + })(n); + ((x.prototype.bytesPerElement = 6), a("StructArrayLayout3i6", x)); + var b = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + this.resize(n + 1); + var i = 2 * n, + a = 4 * n; + return ( + (this.uint32[i + 0] = t), + (this.uint16[a + 2] = e), + (this.uint16[a + 3] = r), + n + ); + }), + e + ); + })(n); + ((b.prototype.bytesPerElement = 8), + a("StructArrayLayout1ul2ui8", b)); + var _ = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + this.resize(n + 1); + var i = 3 * n; + return ( + (this.uint16[i + 0] = t), + (this.uint16[i + 1] = e), + (this.uint16[i + 2] = r), + n + ); + }), + e + ); + })(n); + ((_.prototype.bytesPerElement = 6), + a("StructArrayLayout3ui6", _)); + var w = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + this.resize(r + 1); + var n = 2 * r; + return ( + (this.uint16[n + 0] = t), + (this.uint16[n + 1] = e), + r + ); + }), + e + ); + })(n); + ((w.prototype.bytesPerElement = 4), + a("StructArrayLayout2ui4", w)); + var k = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + this.resize(r + 1); + var n = 2 * r; + return ( + (this.float32[n + 0] = t), + (this.float32[n + 1] = e), + r + ); + }), + e + ); + })(n); + ((k.prototype.bytesPerElement = 8), a("StructArrayLayout2f8", k)); + var M = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype._refreshViews = function () { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + }), + (e.prototype.emplaceBack = function (t, e, r, n) { + var i = this.length; + this.resize(i + 1); + var a = 4 * i; + return ( + (this.float32[a + 0] = t), + (this.float32[a + 1] = e), + (this.float32[a + 2] = r), + (this.float32[a + 3] = n), + i + ); + }), + e + ); + })(n); + ((M.prototype.bytesPerElement = 16), + a("StructArrayLayout4f16", M)); + var A = (function (t) { + function e() { + t.apply(this, arguments); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { + anchorPointX: {}, + anchorPointY: {}, + x1: {}, + y1: {}, + x2: {}, + y2: {}, + featureIndex: {}, + sourceLayerIndex: {}, + bucketIndex: {}, + radius: {}, + signedDistanceFromAnchor: {}, + anchorPoint: {}, + }; + return ( + (r.anchorPointX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorPointX.set = function (t) { + this._structArray.int16[this._pos2 + 0] = t; + }), + (r.anchorPointY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.anchorPointY.set = function (t) { + this._structArray.int16[this._pos2 + 1] = t; + }), + (r.x1.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.x1.set = function (t) { + this._structArray.int16[this._pos2 + 2] = t; + }), + (r.y1.get = function () { + return this._structArray.int16[this._pos2 + 3]; + }), + (r.y1.set = function (t) { + this._structArray.int16[this._pos2 + 3] = t; + }), + (r.x2.get = function () { + return this._structArray.int16[this._pos2 + 4]; + }), + (r.x2.set = function (t) { + this._structArray.int16[this._pos2 + 4] = t; + }), + (r.y2.get = function () { + return this._structArray.int16[this._pos2 + 5]; + }), + (r.y2.set = function (t) { + this._structArray.int16[this._pos2 + 5] = t; + }), + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.featureIndex.set = function (t) { + this._structArray.uint32[this._pos4 + 3] = t; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 8]; + }), + (r.sourceLayerIndex.set = function (t) { + this._structArray.uint16[this._pos2 + 8] = t; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 9]; + }), + (r.bucketIndex.set = function (t) { + this._structArray.uint16[this._pos2 + 9] = t; + }), + (r.radius.get = function () { + return this._structArray.int16[this._pos2 + 10]; + }), + (r.radius.set = function (t) { + this._structArray.int16[this._pos2 + 10] = t; + }), + (r.signedDistanceFromAnchor.get = function () { + return this._structArray.int16[this._pos2 + 11]; + }), + (r.signedDistanceFromAnchor.set = function (t) { + this._structArray.int16[this._pos2 + 11] = t; + }), + (r.anchorPoint.get = function () { + return new o(this.anchorPointX, this.anchorPointY); + }), + Object.defineProperties(e.prototype, r), + e + ); + })(i); + A.prototype.size = 24; + var T = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.get = function (t) { + return new A(this, t); + }), + e + ); + })(d); + a("CollisionBoxArray", T); + var S = (function (t) { + function e() { + t.apply(this, arguments); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { + anchorX: {}, + anchorY: {}, + glyphStartIndex: {}, + numGlyphs: {}, + vertexStartIndex: {}, + lineStartIndex: {}, + lineLength: {}, + segment: {}, + lowerSize: {}, + upperSize: {}, + lineOffsetX: {}, + lineOffsetY: {}, + writingMode: {}, + hidden: {}, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorX.set = function (t) { + this._structArray.int16[this._pos2 + 0] = t; + }), + (r.anchorY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.anchorY.set = function (t) { + this._structArray.int16[this._pos2 + 1] = t; + }), + (r.glyphStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.glyphStartIndex.set = function (t) { + this._structArray.uint16[this._pos2 + 2] = t; + }), + (r.numGlyphs.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + (r.numGlyphs.set = function (t) { + this._structArray.uint16[this._pos2 + 3] = t; + }), + (r.vertexStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 2]; + }), + (r.vertexStartIndex.set = function (t) { + this._structArray.uint32[this._pos4 + 2] = t; + }), + (r.lineStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.lineStartIndex.set = function (t) { + this._structArray.uint32[this._pos4 + 3] = t; + }), + (r.lineLength.get = function () { + return this._structArray.uint32[this._pos4 + 4]; + }), + (r.lineLength.set = function (t) { + this._structArray.uint32[this._pos4 + 4] = t; + }), + (r.segment.get = function () { + return this._structArray.uint16[this._pos2 + 10]; + }), + (r.segment.set = function (t) { + this._structArray.uint16[this._pos2 + 10] = t; + }), + (r.lowerSize.get = function () { + return this._structArray.uint16[this._pos2 + 11]; + }), + (r.lowerSize.set = function (t) { + this._structArray.uint16[this._pos2 + 11] = t; + }), + (r.upperSize.get = function () { + return this._structArray.uint16[this._pos2 + 12]; + }), + (r.upperSize.set = function (t) { + this._structArray.uint16[this._pos2 + 12] = t; + }), + (r.lineOffsetX.get = function () { + return this._structArray.float32[this._pos4 + 7]; + }), + (r.lineOffsetX.set = function (t) { + this._structArray.float32[this._pos4 + 7] = t; + }), + (r.lineOffsetY.get = function () { + return this._structArray.float32[this._pos4 + 8]; + }), + (r.lineOffsetY.set = function (t) { + this._structArray.float32[this._pos4 + 8] = t; + }), + (r.writingMode.get = function () { + return this._structArray.uint8[this._pos1 + 36]; + }), + (r.writingMode.set = function (t) { + this._structArray.uint8[this._pos1 + 36] = t; + }), + (r.hidden.get = function () { + return this._structArray.uint8[this._pos1 + 37]; + }), + (r.hidden.set = function (t) { + this._structArray.uint8[this._pos1 + 37] = t; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(i); + S.prototype.size = 40; + var C = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.get = function (t) { + return new S(this, t); + }), + e + ); + })(v); + a("PlacedSymbolArray", C); + var E = (function (t) { + function e() { + t.apply(this, arguments); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { offsetX: {} }; + return ( + (r.offsetX.get = function () { + return this._structArray.float32[this._pos4 + 0]; + }), + (r.offsetX.set = function (t) { + this._structArray.float32[this._pos4 + 0] = t; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(i); + E.prototype.size = 4; + var L = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getoffsetX = function (t) { + return this.float32[1 * t + 0]; + }), + (e.prototype.get = function (t) { + return new E(this, t); + }), + e + ); + })(y); + a("GlyphOffsetArray", L); + var z = (function (t) { + function e() { + t.apply(this, arguments); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { x: {}, y: {}, tileUnitDistanceFromAnchor: {} }; + return ( + (r.x.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.x.set = function (t) { + this._structArray.int16[this._pos2 + 0] = t; + }), + (r.y.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.y.set = function (t) { + this._structArray.int16[this._pos2 + 1] = t; + }), + (r.tileUnitDistanceFromAnchor.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.tileUnitDistanceFromAnchor.set = function (t) { + this._structArray.int16[this._pos2 + 2] = t; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(i); + z.prototype.size = 6; + var P = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getx = function (t) { + return this.int16[3 * t + 0]; + }), + (e.prototype.gety = function (t) { + return this.int16[3 * t + 1]; + }), + (e.prototype.gettileUnitDistanceFromAnchor = function (t) { + return this.int16[3 * t + 2]; + }), + (e.prototype.get = function (t) { + return new z(this, t); + }), + e + ); + })(x); + a("SymbolLineVertexArray", P); + var D = (function (t) { + function e() { + t.apply(this, arguments); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { + featureIndex: {}, + sourceLayerIndex: {}, + bucketIndex: {}, + }; + return ( + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 0]; + }), + (r.featureIndex.set = function (t) { + this._structArray.uint32[this._pos4 + 0] = t; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.sourceLayerIndex.set = function (t) { + this._structArray.uint16[this._pos2 + 2] = t; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + (r.bucketIndex.set = function (t) { + this._structArray.uint16[this._pos2 + 3] = t; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(i); + D.prototype.size = 8; + var O = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.get = function (t) { + return new D(this, t); + }), + e + ); + })(b); + (a("FeatureIndexArray", O), + (e.exports = { + StructArrayLayout2i4: s, + StructArrayLayout4i8: l, + StructArrayLayout2i4i12: c, + StructArrayLayout4i4ub12: u, + StructArrayLayout4i4ui16: f, + StructArrayLayout3f12: h, + StructArrayLayout1ul4: p, + StructArrayLayout6i1ul2ui2i24: d, + StructArrayLayout2i2i2i12: g, + StructArrayLayout2ub4: m, + StructArrayLayout2i2ui3ul3ui2f2ub40: v, + StructArrayLayout1f4: y, + StructArrayLayout3i6: x, + StructArrayLayout1ul2ui8: b, + StructArrayLayout3ui6: _, + StructArrayLayout2ui4: w, + StructArrayLayout2f8: k, + StructArrayLayout4f16: M, + PosArray: s, + RasterBoundsArray: l, + CircleLayoutArray: s, + FillLayoutArray: s, + FillExtrusionLayoutArray: c, + HeatmapLayoutArray: s, + LineLayoutArray: u, + SymbolLayoutArray: f, + SymbolDynamicLayoutArray: h, + SymbolOpacityArray: p, + CollisionBoxLayoutArray: g, + CollisionCircleLayoutArray: g, + CollisionVertexArray: m, + TriangleIndexArray: _, + LineIndexArray: w, + CollisionBoxArray: T, + PlacedSymbolArray: C, + GlyphOffsetArray: L, + SymbolLineVertexArray: P, + FeatureIndexArray: O, + })); + }, + { + "../util/struct_array": 271, + "../util/web_worker_transfer": 278, + "@mapbox/point-geometry": 4, + }, + ], + 40: [ + function (t, e, r) { + e.exports = { + deserialize: function (t, e) { + var r = {}; + if (!e) return r; + for (var n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.layerIds + .map(function (t) { + return e.getLayer(t); + }) + .filter(Boolean); + if (0 !== o.length) { + a.layers = o; + for (var s = 0, l = o; s < l.length; s += 1) + r[l[s].id] = a; + } + } + return r; + }, + }; + }, + {}, + ], + 41: [ + function (t, e, r) { + var n = t("../../util/struct_array").createLayout; + e.exports = n( + [{ name: "a_pos", components: 2, type: "Int16" }], + 4, + ); + }, + { "../../util/struct_array": 271 }, + ], + 42: [ + function (t, e, r) { + function n(t, e, r, n, i) { + t.emplaceBack(2 * e + (n + 1) / 2, 2 * r + (i + 1) / 2); + } + var i = t("../array_types").CircleLayoutArray, + a = t("./circle_attributes").members, + o = t("../segment").SegmentVector, + s = t("../program_configuration").ProgramConfigurationSet, + l = t("../index_array_type").TriangleIndexArray, + c = t("../load_geometry"), + u = t("../extent"), + f = t("../../util/web_worker_transfer").register, + h = function (t) { + ((this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.layoutVertexArray = new i()), + (this.indexArray = new l()), + (this.segments = new o()), + (this.programConfigurations = new s(a, t.layers, t.zoom))); + }; + ((h.prototype.populate = function (t, e) { + for (var r = this, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.index, + l = a.sourceLayerIndex; + if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { + var u = c(o); + (r.addFeature(o, u), + e.featureIndex.insert(o, u, s, l, r.index)); + } + } + }), + (h.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (h.prototype.upload = function (t) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + a, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + this.programConfigurations.upload(t)); + }), + (h.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (h.prototype.addFeature = function (t, e) { + for (var r = this, i = 0, a = e; i < a.length; i += 1) + for (var o = 0, s = a[i]; o < s.length; o += 1) { + var l = s[o], + c = l.x, + f = l.y; + if (!(c < 0 || c >= u || f < 0 || f >= u)) { + var h = r.segments.prepareSegment( + 4, + r.layoutVertexArray, + r.indexArray, + ), + p = h.vertexLength; + (n(r.layoutVertexArray, c, f, -1, -1), + n(r.layoutVertexArray, c, f, 1, -1), + n(r.layoutVertexArray, c, f, 1, 1), + n(r.layoutVertexArray, c, f, -1, 1), + r.indexArray.emplaceBack(p, p + 1, p + 2), + r.indexArray.emplaceBack(p, p + 3, p + 2), + (h.vertexLength += 4), + (h.primitiveLength += 2)); + } + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + ); + }), + f("CircleBucket", h, { omit: ["layers"] }), + (e.exports = h)); + }, + { + "../../util/web_worker_transfer": 278, + "../array_types": 39, + "../extent": 53, + "../index_array_type": 55, + "../load_geometry": 56, + "../program_configuration": 58, + "../segment": 60, + "./circle_attributes": 41, + }, + ], + 43: [ + function (t, e, r) { + arguments[4][41][0].apply(r, arguments); + }, + { "../../util/struct_array": 271, dup: 41 }, + ], + 44: [ + function (t, e, r) { + var n = t("../array_types").FillLayoutArray, + i = t("./fill_attributes").members, + a = t("../segment").SegmentVector, + o = t("../program_configuration").ProgramConfigurationSet, + s = t("../index_array_type"), + l = s.LineIndexArray, + c = s.TriangleIndexArray, + u = t("../load_geometry"), + f = t("earcut"), + h = t("../../util/classify_rings"), + p = t("../../util/web_worker_transfer").register, + d = function (t) { + ((this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.layoutVertexArray = new n()), + (this.indexArray = new c()), + (this.indexArray2 = new l()), + (this.programConfigurations = new o(i, t.layers, t.zoom)), + (this.segments = new a()), + (this.segments2 = new a())); + }; + ((d.prototype.populate = function (t, e) { + for (var r = this, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.index, + l = a.sourceLayerIndex; + if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { + var c = u(o); + (r.addFeature(o, c), + e.featureIndex.insert(o, c, s, l, r.index)); + } + } + }), + (d.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (d.prototype.upload = function (t) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + i, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + (this.indexBuffer2 = t.createIndexBuffer(this.indexArray2)), + this.programConfigurations.upload(t)); + }), + (d.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.indexBuffer2.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.segments2.destroy()); + }), + (d.prototype.addFeature = function (t, e) { + for ( + var r = this, n = 0, i = h(e, 500); + n < i.length; + n += 1 + ) { + for ( + var a = i[n], o = 0, s = 0, l = a; + s < l.length; + s += 1 + ) + o += l[s].length; + for ( + var c = r.segments.prepareSegment( + o, + r.layoutVertexArray, + r.indexArray, + ), + u = c.vertexLength, + p = [], + d = [], + g = 0, + m = a; + g < m.length; + g += 1 + ) { + var v = m[g]; + if (0 !== v.length) { + v !== a[0] && d.push(p.length / 2); + var y = r.segments2.prepareSegment( + v.length, + r.layoutVertexArray, + r.indexArray2, + ), + x = y.vertexLength; + (r.layoutVertexArray.emplaceBack(v[0].x, v[0].y), + r.indexArray2.emplaceBack(x + v.length - 1, x), + p.push(v[0].x), + p.push(v[0].y)); + for (var b = 1; b < v.length; b++) + (r.layoutVertexArray.emplaceBack(v[b].x, v[b].y), + r.indexArray2.emplaceBack(x + b - 1, x + b), + p.push(v[b].x), + p.push(v[b].y)); + ((y.vertexLength += v.length), + (y.primitiveLength += v.length)); + } + } + for (var _ = f(p, d), w = 0; w < _.length; w += 3) + r.indexArray.emplaceBack( + u + _[w], + u + _[w + 1], + u + _[w + 2], + ); + ((c.vertexLength += o), + (c.primitiveLength += _.length / 3)); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + ); + }), + p("FillBucket", d, { omit: ["layers"] }), + (e.exports = d)); + }, + { + "../../util/classify_rings": 255, + "../../util/web_worker_transfer": 278, + "../array_types": 39, + "../index_array_type": 55, + "../load_geometry": 56, + "../program_configuration": 58, + "../segment": 60, + "./fill_attributes": 43, + earcut: 14, + }, + ], + 45: [ + function (t, e, r) { + var n = t("../../util/struct_array").createLayout; + e.exports = n( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { name: "a_normal_ed", components: 4, type: "Int16" }, + ], + 4, + ); + }, + { "../../util/struct_array": 271 }, + ], + 46: [ + function (t, e, r) { + function n(t, e, r, n, i, a, o, s) { + t.emplaceBack( + e, + r, + 2 * Math.floor(n * y) + o, + i * y * 2, + a * y * 2, + Math.round(s), + ); + } + function i(t, e) { + return ( + (t.x === e.x && (t.x < 0 || t.x > d)) || + (t.y === e.y && (t.y < 0 || t.y > d)) + ); + } + function a(t) { + return ( + t.every(function (t) { + return t.x < 0; + }) || + t.every(function (t) { + return t.x > d; + }) || + t.every(function (t) { + return t.y < 0; + }) || + t.every(function (t) { + return t.y > d; + }) + ); + } + var o = t("../array_types").FillExtrusionLayoutArray, + s = t("./fill_extrusion_attributes").members, + l = t("../segment"), + c = l.SegmentVector, + u = l.MAX_VERTEX_ARRAY_LENGTH, + f = t("../program_configuration").ProgramConfigurationSet, + h = t("../index_array_type").TriangleIndexArray, + p = t("../load_geometry"), + d = t("../extent"), + g = t("earcut"), + m = t("../../util/classify_rings"), + v = t("../../util/web_worker_transfer").register, + y = Math.pow(2, 13), + x = function (t) { + ((this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.layoutVertexArray = new o()), + (this.indexArray = new h()), + (this.programConfigurations = new f(s, t.layers, t.zoom)), + (this.segments = new c())); + }; + ((x.prototype.populate = function (t, e) { + for (var r = this, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.index, + l = a.sourceLayerIndex; + if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { + var c = p(o); + (r.addFeature(o, c), + e.featureIndex.insert(o, c, s, l, r.index)); + } + } + }), + (x.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (x.prototype.upload = function (t) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + s, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + this.programConfigurations.upload(t)); + }), + (x.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (x.prototype.addFeature = function (t, e) { + for ( + var r = this, o = 0, s = m(e, 500); + o < s.length; + o += 1 + ) { + for ( + var l = s[o], c = 0, f = 0, h = l; + f < h.length; + f += 1 + ) + c += h[f].length; + for ( + var p = r.segments.prepareSegment( + 4, + r.layoutVertexArray, + r.indexArray, + ), + d = 0, + v = l; + d < v.length; + d += 1 + ) { + var y = v[d]; + if (0 !== y.length && !a(y)) + for (var x = 0, b = 0; b < y.length; b++) { + var _ = y[b]; + if (b >= 1) { + var w = y[b - 1]; + if (!i(_, w)) { + p.vertexLength + 4 > u && + (p = r.segments.prepareSegment( + 4, + r.layoutVertexArray, + r.indexArray, + )); + var k = _.sub(w)._perp()._unit(), + M = w.dist(_); + (x + M > 32768 && (x = 0), + n( + r.layoutVertexArray, + _.x, + _.y, + k.x, + k.y, + 0, + 0, + x, + ), + n( + r.layoutVertexArray, + _.x, + _.y, + k.x, + k.y, + 0, + 1, + x, + ), + (x += M), + n( + r.layoutVertexArray, + w.x, + w.y, + k.x, + k.y, + 0, + 0, + x, + ), + n( + r.layoutVertexArray, + w.x, + w.y, + k.x, + k.y, + 0, + 1, + x, + )); + var A = p.vertexLength; + (r.indexArray.emplaceBack(A, A + 1, A + 2), + r.indexArray.emplaceBack(A + 1, A + 2, A + 3), + (p.vertexLength += 4), + (p.primitiveLength += 2)); + } + } + } + } + p.vertexLength + c > u && + (p = r.segments.prepareSegment( + c, + r.layoutVertexArray, + r.indexArray, + )); + for ( + var T = [], S = [], C = p.vertexLength, E = 0, L = l; + E < L.length; + E += 1 + ) { + var z = L[E]; + if (0 !== z.length) { + z !== l[0] && S.push(T.length / 2); + for (var P = 0; P < z.length; P++) { + var D = z[P]; + (n(r.layoutVertexArray, D.x, D.y, 0, 0, 1, 1, 0), + T.push(D.x), + T.push(D.y)); + } + } + } + for (var O = g(T, S), I = 0; I < O.length; I += 3) + r.indexArray.emplaceBack( + C + O[I], + C + O[I + 1], + C + O[I + 2], + ); + ((p.primitiveLength += O.length / 3), + (p.vertexLength += c)); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + ); + }), + v("FillExtrusionBucket", x, { omit: ["layers"] }), + (e.exports = x)); + }, + { + "../../util/classify_rings": 255, + "../../util/web_worker_transfer": 278, + "../array_types": 39, + "../extent": 53, + "../index_array_type": 55, + "../load_geometry": 56, + "../program_configuration": 58, + "../segment": 60, + "./fill_extrusion_attributes": 45, + earcut: 14, + }, + ], + 47: [ + function (t, e, r) { + var n = t("./circle_bucket"), + i = t("../../util/web_worker_transfer").register, + a = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(n); + (i("HeatmapBucket", a, { omit: ["layers"] }), (e.exports = a)); + }, + { "../../util/web_worker_transfer": 278, "./circle_bucket": 42 }, + ], + 48: [ + function (t, e, r) { + var n = t("../../util/struct_array").createLayout; + e.exports = n( + [ + { name: "a_pos_normal", components: 4, type: "Int16" }, + { name: "a_data", components: 4, type: "Uint8" }, + ], + 4, + ); + }, + { "../../util/struct_array": 271 }, + ], + 49: [ + function (t, e, r) { + function n(t, e, r, n, i, a, o) { + t.emplaceBack( + e.x, + e.y, + n ? 1 : 0, + i ? 1 : -1, + Math.round(p * r.x) + 128, + Math.round(p * r.y) + 128, + (1 + (0 === a ? 0 : a < 0 ? -1 : 1)) | (((o * g) & 63) << 2), + (o * g) >> 6, + ); + } + var i = t("../array_types").LineLayoutArray, + a = t("./line_attributes").members, + o = t("../segment").SegmentVector, + s = t("../program_configuration").ProgramConfigurationSet, + l = t("../index_array_type").TriangleIndexArray, + c = t("../load_geometry"), + u = t("../extent"), + f = t("@mapbox/vector-tile").VectorTileFeature.types, + h = t("../../util/web_worker_transfer").register, + p = 63, + d = Math.cos((Math.PI / 180) * 37.5), + g = 0.5, + m = Math.pow(2, 14) / g, + v = function (t) { + ((this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.layoutVertexArray = new i()), + (this.indexArray = new l()), + (this.programConfigurations = new s(a, t.layers, t.zoom)), + (this.segments = new o())); + }; + ((v.prototype.populate = function (t, e) { + for (var r = this, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.index, + l = a.sourceLayerIndex; + if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { + var u = c(o); + (r.addFeature(o, u), + e.featureIndex.insert(o, u, s, l, r.index)); + } + } + }), + (v.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (v.prototype.upload = function (t) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + a, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + this.programConfigurations.upload(t)); + }), + (v.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (v.prototype.addFeature = function (t, e) { + for ( + var r = this.layers[0].layout, + n = r.get("line-join").evaluate(t), + i = r.get("line-cap"), + a = r.get("line-miter-limit"), + o = r.get("line-round-limit"), + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var c = l[s]; + this.addLine(c, t, n, i, a, o); + } + }), + (v.prototype.addLine = function (t, e, r, n, i, a) { + for ( + var o = this, s = "Polygon" === f[e.type], l = t.length; + l >= 2 && t[l - 1].equals(t[l - 2]); + + ) + l--; + for (var c = 0; c < l - 1 && t[c].equals(t[c + 1]); ) c++; + if (!(l < (s ? 3 : 2))) { + "bevel" === r && (i = 1.05); + var h = (u / (512 * this.overscaling)) * 15, + p = t[c], + g = this.segments.prepareSegment( + 10 * l, + this.layoutVertexArray, + this.indexArray, + ); + this.distance = 0; + var m, + v, + y, + x = n, + b = s ? "butt" : n, + _ = !0, + w = void 0, + k = void 0, + M = void 0, + A = void 0; + ((this.e1 = this.e2 = this.e3 = -1), + s && ((m = t[l - 2]), (A = p.sub(m)._unit()._perp()))); + for (var T = c; T < l; T++) + if ( + !(k = s && T === l - 1 ? t[c + 1] : t[T + 1]) || + !t[T].equals(k) + ) { + (A && (M = A), + m && (w = m), + (m = t[T]), + (A = k ? k.sub(m)._unit()._perp() : M)); + var S = (M = M || A).add(A); + (0 === S.x && 0 === S.y) || S._unit(); + var C = S.x * A.x + S.y * A.y, + E = 0 !== C ? 1 / C : 1 / 0, + L = C < d && w && k; + if (L && T > c) { + var z = m.dist(w); + if (z > 2 * h) { + var P = m.sub( + m + .sub(w) + ._mult(h / z) + ._round(), + ); + ((o.distance += P.dist(w)), + o.addCurrentVertex( + P, + o.distance, + M.mult(1), + 0, + 0, + !1, + g, + ), + (w = P)); + } + } + var D = w && k, + O = D ? r : k ? x : b; + if ( + (D && + "round" === O && + (E < a + ? (O = "miter") + : E <= 2 && (O = "fakeround")), + "miter" === O && E > i && (O = "bevel"), + "bevel" === O && + (E > 2 && (O = "flipbevel"), + E < i && (O = "miter")), + w && (o.distance += m.dist(w)), + "miter" === O) + ) + (S._mult(E), + o.addCurrentVertex(m, o.distance, S, 0, 0, !1, g)); + else if ("flipbevel" === O) { + if (E > 100) S = A.clone().mult(-1); + else { + var I = M.x * A.y - M.y * A.x > 0 ? -1 : 1, + R = (E * M.add(A).mag()) / M.sub(A).mag(); + S._perp()._mult(R * I); + } + (o.addCurrentVertex(m, o.distance, S, 0, 0, !1, g), + o.addCurrentVertex( + m, + o.distance, + S.mult(-1), + 0, + 0, + !1, + g, + )); + } else if ("bevel" === O || "fakeround" === O) { + var B = M.x * A.y - M.y * A.x > 0, + F = -Math.sqrt(E * E - 1); + if ( + (B ? ((y = 0), (v = F)) : ((v = 0), (y = F)), + _ || + o.addCurrentVertex(m, o.distance, M, v, y, !1, g), + "fakeround" === O) + ) { + for ( + var N = Math.floor(8 * (0.5 - (C - 0.5))), + j = void 0, + V = 0; + V < N; + V++ + ) + ((j = A.mult((V + 1) / (N + 1)) + ._add(M) + ._unit()), + o.addPieSliceVertex(m, o.distance, j, B, g)); + o.addPieSliceVertex(m, o.distance, S, B, g); + for (var U = N - 1; U >= 0; U--) + ((j = M.mult((U + 1) / (N + 1)) + ._add(A) + ._unit()), + o.addPieSliceVertex(m, o.distance, j, B, g)); + } + k && + o.addCurrentVertex(m, o.distance, A, -v, -y, !1, g); + } else + "butt" === O + ? (_ || + o.addCurrentVertex( + m, + o.distance, + M, + 0, + 0, + !1, + g, + ), + k && + o.addCurrentVertex( + m, + o.distance, + A, + 0, + 0, + !1, + g, + )) + : "square" === O + ? (_ || + (o.addCurrentVertex( + m, + o.distance, + M, + 1, + 1, + !1, + g, + ), + (o.e1 = o.e2 = -1)), + k && + o.addCurrentVertex( + m, + o.distance, + A, + -1, + -1, + !1, + g, + )) + : "round" === O && + (_ || + (o.addCurrentVertex( + m, + o.distance, + M, + 0, + 0, + !1, + g, + ), + o.addCurrentVertex( + m, + o.distance, + M, + 1, + 1, + !0, + g, + ), + (o.e1 = o.e2 = -1)), + k && + (o.addCurrentVertex( + m, + o.distance, + A, + -1, + -1, + !0, + g, + ), + o.addCurrentVertex( + m, + o.distance, + A, + 0, + 0, + !1, + g, + ))); + if (L && T < l - 1) { + var q = m.dist(k); + if (q > 2 * h) { + var H = m.add( + k + .sub(m) + ._mult(h / q) + ._round(), + ); + ((o.distance += H.dist(m)), + o.addCurrentVertex( + H, + o.distance, + A.mult(1), + 0, + 0, + !1, + g, + ), + (m = H)); + } + } + _ = !1; + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + e, + ); + } + }), + (v.prototype.addCurrentVertex = function (t, e, r, i, a, o, s) { + var l, + c = this.layoutVertexArray, + u = this.indexArray; + ((l = r.clone()), + i && l._sub(r.perp()._mult(i)), + n(c, t, l, o, !1, i, e), + (this.e3 = s.vertexLength++), + this.e1 >= 0 && + this.e2 >= 0 && + (u.emplaceBack(this.e1, this.e2, this.e3), + s.primitiveLength++), + (this.e1 = this.e2), + (this.e2 = this.e3), + (l = r.mult(-1)), + a && l._sub(r.perp()._mult(a)), + n(c, t, l, o, !0, -a, e), + (this.e3 = s.vertexLength++), + this.e1 >= 0 && + this.e2 >= 0 && + (u.emplaceBack(this.e1, this.e2, this.e3), + s.primitiveLength++), + (this.e1 = this.e2), + (this.e2 = this.e3), + e > m / 2 && + ((this.distance = 0), + this.addCurrentVertex(t, this.distance, r, i, a, o, s))); + }), + (v.prototype.addPieSliceVertex = function (t, e, r, i, a) { + r = r.mult(i ? -1 : 1); + var o = this.layoutVertexArray, + s = this.indexArray; + (n(o, t, r, !1, i, 0, e), + (this.e3 = a.vertexLength++), + this.e1 >= 0 && + this.e2 >= 0 && + (s.emplaceBack(this.e1, this.e2, this.e3), + a.primitiveLength++), + i ? (this.e2 = this.e3) : (this.e1 = this.e3)); + }), + h("LineBucket", v, { omit: ["layers"] }), + (e.exports = v)); + }, + { + "../../util/web_worker_transfer": 278, + "../array_types": 39, + "../extent": 53, + "../index_array_type": 55, + "../load_geometry": 56, + "../program_configuration": 58, + "../segment": 60, + "./line_attributes": 48, + "@mapbox/vector-tile": 8, + }, + ], + 50: [ + function (t, e, r) { + var n = t("../../util/struct_array").createLayout, + i = { + symbolLayoutAttributes: n([ + { name: "a_pos_offset", components: 4, type: "Int16" }, + { name: "a_data", components: 4, type: "Uint16" }, + ]), + dynamicLayoutAttributes: n( + [ + { + name: "a_projected_pos", + components: 3, + type: "Float32", + }, + ], + 4, + ), + placementOpacityAttributes: n( + [{ name: "a_fade_opacity", components: 1, type: "Uint32" }], + 4, + ), + collisionVertexAttributes: n( + [{ name: "a_placed", components: 2, type: "Uint8" }], + 4, + ), + collisionBox: n([ + { type: "Int16", name: "anchorPointX" }, + { type: "Int16", name: "anchorPointY" }, + { type: "Int16", name: "x1" }, + { type: "Int16", name: "y1" }, + { type: "Int16", name: "x2" }, + { type: "Int16", name: "y2" }, + { type: "Uint32", name: "featureIndex" }, + { type: "Uint16", name: "sourceLayerIndex" }, + { type: "Uint16", name: "bucketIndex" }, + { type: "Int16", name: "radius" }, + { type: "Int16", name: "signedDistanceFromAnchor" }, + ]), + collisionBoxLayout: n( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { name: "a_anchor_pos", components: 2, type: "Int16" }, + { name: "a_extrude", components: 2, type: "Int16" }, + ], + 4, + ), + collisionCircleLayout: n( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { name: "a_anchor_pos", components: 2, type: "Int16" }, + { name: "a_extrude", components: 2, type: "Int16" }, + ], + 4, + ), + placement: n([ + { type: "Int16", name: "anchorX" }, + { type: "Int16", name: "anchorY" }, + { type: "Uint16", name: "glyphStartIndex" }, + { type: "Uint16", name: "numGlyphs" }, + { type: "Uint32", name: "vertexStartIndex" }, + { type: "Uint32", name: "lineStartIndex" }, + { type: "Uint32", name: "lineLength" }, + { type: "Uint16", name: "segment" }, + { type: "Uint16", name: "lowerSize" }, + { type: "Uint16", name: "upperSize" }, + { type: "Float32", name: "lineOffsetX" }, + { type: "Float32", name: "lineOffsetY" }, + { type: "Uint8", name: "writingMode" }, + { type: "Uint8", name: "hidden" }, + ]), + glyphOffset: n([{ type: "Float32", name: "offsetX" }]), + lineVertex: n([ + { type: "Int16", name: "x" }, + { type: "Int16", name: "y" }, + { type: "Int16", name: "tileUnitDistanceFromAnchor" }, + ]), + }; + e.exports = i; + }, + { "../../util/struct_array": 271 }, + ], + 51: [ + function (t, e, r) { + function n(t, e, r, n, i, a, o, s) { + t.emplaceBack( + e, + r, + Math.round(64 * n), + Math.round(64 * i), + a, + o, + s ? s[0] : 0, + s ? s[1] : 0, + ); + } + function i(t, e, r) { + (t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r)); + } + var a = t("./symbol_attributes"), + o = a.symbolLayoutAttributes, + s = a.collisionVertexAttributes, + l = a.collisionBoxLayout, + c = a.collisionCircleLayout, + u = a.dynamicLayoutAttributes, + f = t("../array_types"), + h = f.SymbolLayoutArray, + p = f.SymbolDynamicLayoutArray, + d = f.SymbolOpacityArray, + g = f.CollisionBoxLayoutArray, + m = f.CollisionCircleLayoutArray, + v = f.CollisionVertexArray, + y = f.PlacedSymbolArray, + x = f.GlyphOffsetArray, + b = f.SymbolLineVertexArray, + _ = t("@mapbox/point-geometry"), + w = t("../segment").SegmentVector, + k = t("../program_configuration").ProgramConfigurationSet, + M = t("../index_array_type"), + A = M.TriangleIndexArray, + T = M.LineIndexArray, + S = t("../../symbol/transform_text"), + C = t("../../symbol/mergelines"), + E = t("../../util/script_detection"), + L = t("../load_geometry"), + z = t("@mapbox/vector-tile").VectorTileFeature.types, + P = t("../../util/verticalize_punctuation"), + D = + (t("../../symbol/anchor"), + t("../../symbol/symbol_size").getSizeData), + O = t("../../util/web_worker_transfer").register, + I = [ + { + name: "a_fade_opacity", + components: 1, + type: "Uint8", + offset: 0, + }, + ], + R = function (t) { + ((this.layoutVertexArray = new h()), + (this.indexArray = new A()), + (this.programConfigurations = t), + (this.segments = new w()), + (this.dynamicLayoutVertexArray = new p()), + (this.opacityVertexArray = new d()), + (this.placedSymbolArray = new y())); + }; + ((R.prototype.upload = function (t, e) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + o.members, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray, e)), + this.programConfigurations.upload(t), + (this.dynamicLayoutVertexBuffer = t.createVertexBuffer( + this.dynamicLayoutVertexArray, + u.members, + !0, + )), + (this.opacityVertexBuffer = t.createVertexBuffer( + this.opacityVertexArray, + I, + !0, + )), + (this.opacityVertexBuffer.itemSize = 1)); + }), + (R.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.dynamicLayoutVertexBuffer.destroy(), + this.opacityVertexBuffer.destroy()); + }), + O("SymbolBuffers", R)); + var B = function (t, e, r) { + ((this.layoutVertexArray = new t()), + (this.layoutAttributes = e), + (this.indexArray = new r()), + (this.segments = new w()), + (this.collisionVertexArray = new v())); + }; + ((B.prototype.upload = function (t) { + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + this.layoutAttributes, + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + (this.collisionVertexBuffer = t.createVertexBuffer( + this.collisionVertexArray, + s.members, + !0, + ))); + }), + (B.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + this.collisionVertexBuffer.destroy()); + }), + O("CollisionBuffers", B)); + var F = function (t) { + ((this.collisionBoxArray = t.collisionBoxArray), + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.pixelRatio = t.pixelRatio)); + var e = this.layers[0]._unevaluatedLayout._values; + ((this.textSizeData = D(this.zoom, e["text-size"])), + (this.iconSizeData = D(this.zoom, e["icon-size"]))); + var r = this.layers[0].layout; + this.sortFeaturesByY = + r.get("text-allow-overlap") || + r.get("icon-allow-overlap") || + r.get("text-ignore-placement") || + r.get("icon-ignore-placement"); + }; + ((F.prototype.createArrays = function () { + ((this.text = new R( + new k(o.members, this.layers, this.zoom, function (t) { + return /^text/.test(t); + }), + )), + (this.icon = new R( + new k(o.members, this.layers, this.zoom, function (t) { + return /^icon/.test(t); + }), + )), + (this.collisionBox = new B(g, l.members, T)), + (this.collisionCircle = new B(m, c.members, A)), + (this.glyphOffsetArray = new x()), + (this.lineVertexArray = new b())); + }), + (F.prototype.populate = function (t, e) { + var r = this.layers[0], + n = r.layout, + i = n.get("text-font"), + a = n.get("text-field"), + o = n.get("icon-image"), + s = + ("constant" !== a.value.kind || + a.value.value.length > 0) && + ("constant" !== i.value.kind || i.value.value.length > 0), + l = + "constant" !== o.value.kind || + (o.value.value && o.value.value.length > 0); + if (((this.features = []), s || l)) { + for ( + var c = e.iconDependencies, + u = e.glyphDependencies, + f = { zoom: this.zoom }, + h = 0, + p = t; + h < p.length; + h += 1 + ) { + var d = p[h], + g = d.feature, + m = d.index, + v = d.sourceLayerIndex; + if (r._featureFilter(f, g)) { + var y = void 0; + s && + ((y = r.getValueAndResolveTokens("text-field", g)), + (y = S(y, r, g))); + var x = void 0; + if ( + (l && + (x = r.getValueAndResolveTokens("icon-image", g)), + y || x) + ) { + var b = { + text: y, + icon: x, + index: m, + sourceLayerIndex: v, + geometry: L(g), + properties: g.properties, + type: z[g.type], + }; + if ( + (void 0 !== g.id && (b.id = g.id), + this.features.push(b), + x && (c[x] = !0), + y) + ) + for ( + var _ = i.evaluate(g).join(","), + w = (u[_] = u[_] || {}), + k = + "map" === n.get("text-rotation-alignment") && + "line" === n.get("symbol-placement"), + M = E.allowsVerticalWritingMode(y), + A = 0; + A < y.length; + A++ + ) + if (((w[y.charCodeAt(A)] = !0), k && M)) { + var T = P.lookup[y.charAt(A)]; + T && (w[T.charCodeAt(0)] = !0); + } + } + } + } + "line" === n.get("symbol-placement") && + (this.features = C(this.features)); + } + }), + (F.prototype.isEmpty = function () { + return 0 === this.symbolInstances.length; + }), + (F.prototype.upload = function (t) { + (this.text.upload(t, this.sortFeaturesByY), + this.icon.upload(t, this.sortFeaturesByY), + this.collisionBox.upload(t), + this.collisionCircle.upload(t)); + }), + (F.prototype.destroy = function () { + (this.text.destroy(), + this.icon.destroy(), + this.collisionBox.destroy(), + this.collisionCircle.destroy()); + }), + (F.prototype.addToLineVertexArray = function (t, e) { + var r = this.lineVertexArray.length; + if (void 0 !== t.segment) { + for ( + var n = t.dist(e[t.segment + 1]), + i = t.dist(e[t.segment]), + a = {}, + o = t.segment + 1; + o < e.length; + o++ + ) + ((a[o] = { + x: e[o].x, + y: e[o].y, + tileUnitDistanceFromAnchor: n, + }), + o < e.length - 1 && (n += e[o + 1].dist(e[o]))); + for (var s = t.segment || 0; s >= 0; s--) + ((a[s] = { + x: e[s].x, + y: e[s].y, + tileUnitDistanceFromAnchor: i, + }), + s > 0 && (i += e[s - 1].dist(e[s]))); + for (var l = 0; l < e.length; l++) { + var c = a[l]; + this.lineVertexArray.emplaceBack( + c.x, + c.y, + c.tileUnitDistanceFromAnchor, + ); + } + } + return { + lineStartIndex: r, + lineLength: this.lineVertexArray.length - r, + }; + }), + (F.prototype.addSymbols = function ( + t, + e, + r, + a, + o, + s, + l, + c, + u, + f, + ) { + for ( + var h = t.indexArray, + p = t.layoutVertexArray, + d = t.dynamicLayoutVertexArray, + g = t.segments.prepareSegment( + 4 * e.length, + t.layoutVertexArray, + t.indexArray, + ), + m = this.glyphOffsetArray.length, + v = g.vertexLength, + y = 0, + x = e; + y < x.length; + y += 1 + ) { + var b = x[y], + _ = b.tl, + w = b.tr, + k = b.bl, + M = b.br, + A = b.tex, + T = g.vertexLength, + S = b.glyphOffset[1]; + (n(p, c.x, c.y, _.x, S + _.y, A.x, A.y, r), + n(p, c.x, c.y, w.x, S + w.y, A.x + A.w, A.y, r), + n(p, c.x, c.y, k.x, S + k.y, A.x, A.y + A.h, r), + n(p, c.x, c.y, M.x, S + M.y, A.x + A.w, A.y + A.h, r), + i(d, c, 0), + h.emplaceBack(T, T + 1, T + 2), + h.emplaceBack(T + 1, T + 2, T + 3), + (g.vertexLength += 4), + (g.primitiveLength += 2), + this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])); + } + (t.placedSymbolArray.emplaceBack( + c.x, + c.y, + m, + this.glyphOffsetArray.length - m, + v, + u, + f, + c.segment, + r ? r[0] : 0, + r ? r[1] : 0, + a[0], + a[1], + l, + !1, + ), + t.programConfigurations.populatePaintArrays( + t.layoutVertexArray.length, + s, + )); + }), + (F.prototype._addCollisionDebugVertex = function ( + t, + e, + r, + n, + i, + ) { + return ( + e.emplaceBack(0, 0), + t.emplaceBack( + r.x, + r.y, + n.x, + n.y, + Math.round(i.x), + Math.round(i.y), + ) + ); + }), + (F.prototype.addCollisionDebugVertices = function ( + t, + e, + r, + n, + i, + a, + o, + s, + ) { + var l = i.segments.prepareSegment( + 4, + i.layoutVertexArray, + i.indexArray, + ), + c = l.vertexLength, + u = i.layoutVertexArray, + f = i.collisionVertexArray; + if ( + (this._addCollisionDebugVertex( + u, + f, + a, + o.anchor, + new _(t, e), + ), + this._addCollisionDebugVertex( + u, + f, + a, + o.anchor, + new _(r, e), + ), + this._addCollisionDebugVertex( + u, + f, + a, + o.anchor, + new _(r, n), + ), + this._addCollisionDebugVertex( + u, + f, + a, + o.anchor, + new _(t, n), + ), + (l.vertexLength += 4), + s) + ) { + var h = i.indexArray; + (h.emplaceBack(c, c + 1, c + 2), + h.emplaceBack(c, c + 2, c + 3), + (l.primitiveLength += 2)); + } else { + var p = i.indexArray; + (p.emplaceBack(c, c + 1), + p.emplaceBack(c + 1, c + 2), + p.emplaceBack(c + 2, c + 3), + p.emplaceBack(c + 3, c), + (l.primitiveLength += 4)); + } + }), + (F.prototype.generateCollisionDebugBuffers = function () { + for ( + var t = this, e = 0, r = t.symbolInstances; + e < r.length; + e += 1 + ) { + var n = r[e]; + ((n.textCollisionFeature = { + boxStartIndex: n.textBoxStartIndex, + boxEndIndex: n.textBoxEndIndex, + }), + (n.iconCollisionFeature = { + boxStartIndex: n.iconBoxStartIndex, + boxEndIndex: n.iconBoxEndIndex, + })); + for (var i = 0; i < 2; i++) { + var a = + n[ + 0 === i + ? "textCollisionFeature" + : "iconCollisionFeature" + ]; + if (a) + for (var o = a.boxStartIndex; o < a.boxEndIndex; o++) { + var s = t.collisionBoxArray.get(o), + l = s.x1, + c = s.y1, + u = s.x2, + f = s.y2, + h = s.radius > 0; + t.addCollisionDebugVertices( + l, + c, + u, + f, + h ? t.collisionCircle : t.collisionBox, + s.anchorPoint, + n, + h, + ); + } + } + } + }), + (F.prototype.deserializeCollisionBoxes = function ( + t, + e, + r, + n, + i, + ) { + for (var a = {}, o = e; o < r; o++) { + var s = t.get(o); + if (0 === s.radius) { + a.textBox = { + x1: s.x1, + y1: s.y1, + x2: s.x2, + y2: s.y2, + anchorPointX: s.anchorPointX, + anchorPointY: s.anchorPointY, + }; + break; + } + (a.textCircles || (a.textCircles = []), + a.textCircles.push( + s.anchorPointX, + s.anchorPointY, + s.radius, + s.signedDistanceFromAnchor, + 1, + )); + } + for (var l = n; l < i; l++) { + var c = t.get(l); + if (0 === c.radius) { + a.iconBox = { + x1: c.x1, + y1: c.y1, + x2: c.x2, + y2: c.y2, + anchorPointX: c.anchorPointX, + anchorPointY: c.anchorPointY, + }; + break; + } + } + return a; + }), + (F.prototype.hasTextData = function () { + return this.text.segments.get().length > 0; + }), + (F.prototype.hasIconData = function () { + return this.icon.segments.get().length > 0; + }), + (F.prototype.hasCollisionBoxData = function () { + return this.collisionBox.segments.get().length > 0; + }), + (F.prototype.hasCollisionCircleData = function () { + return this.collisionCircle.segments.get().length > 0; + }), + (F.prototype.sortFeatures = function (t) { + var e = this; + if ( + this.sortFeaturesByY && + this.sortedAngle !== t && + ((this.sortedAngle = t), + !( + this.text.segments.get().length > 1 || + this.icon.segments.get().length > 1 + )) + ) { + for ( + var r = [], n = 0; + n < this.symbolInstances.length; + n++ + ) + r.push(n); + var i = Math.sin(t), + a = Math.cos(t); + (r.sort(function (t, r) { + var n = e.symbolInstances[t], + o = e.symbolInstances[r]; + return ( + ((i * n.anchor.x + a * n.anchor.y) | 0) - + ((i * o.anchor.x + a * o.anchor.y) | 0) || + o.featureIndex - n.featureIndex + ); + }), + this.text.indexArray.clear(), + this.icon.indexArray.clear()); + for (var o = 0, s = r; o < s.length; o += 1) { + for ( + var l = s[o], + c = 0, + u = e.symbolInstances[l].placedTextSymbolIndices; + c < u.length; + c += 1 + ) + for ( + var f = u[c], + h = e.text.placedSymbolArray.get(f), + p = h.vertexStartIndex + 4 * h.numGlyphs, + d = h.vertexStartIndex; + d < p; + d += 4 + ) + (e.text.indexArray.emplaceBack(d, d + 1, d + 2), + e.text.indexArray.emplaceBack(d + 1, d + 2, d + 3)); + var g = e.icon.placedSymbolArray.get(l); + if (g.numGlyphs) { + var m = g.vertexStartIndex; + (e.icon.indexArray.emplaceBack(m, m + 1, m + 2), + e.icon.indexArray.emplaceBack(m + 1, m + 2, m + 3)); + } + } + (this.text.indexBuffer && + this.text.indexBuffer.updateData(this.text.indexArray), + this.icon.indexBuffer && + this.icon.indexBuffer.updateData(this.icon.indexArray)); + } + }), + O("SymbolBucket", F, { + omit: [ + "layers", + "collisionBoxArray", + "features", + "compareText", + ], + shallow: ["symbolInstances"], + }), + (F.MAX_GLYPHS = 65535), + (F.addDynamicAttributes = i), + (e.exports = F)); + }, + { + "../../symbol/anchor": 213, + "../../symbol/mergelines": 221, + "../../symbol/symbol_size": 228, + "../../symbol/transform_text": 229, + "../../util/script_detection": 269, + "../../util/verticalize_punctuation": 277, + "../../util/web_worker_transfer": 278, + "../array_types": 39, + "../index_array_type": 55, + "../load_geometry": 56, + "../program_configuration": 58, + "../segment": 60, + "./symbol_attributes": 50, + "@mapbox/point-geometry": 4, + "@mapbox/vector-tile": 8, + }, + ], + 52: [ + function (t, e, r) { + var n = t("../util/image").RGBAImage, + i = t("../util/util"), + a = t("../util/web_worker_transfer").register, + o = function (t, e, r) { + if (t <= 0) + throw new RangeError("Level must have positive dimension"); + ((this.dim = t), + (this.border = e), + (this.stride = this.dim + 2 * this.border), + (this.data = + r || + new Int32Array( + (this.dim + 2 * this.border) * + (this.dim + 2 * this.border), + ))); + }; + ((o.prototype.set = function (t, e, r) { + this.data[this._idx(t, e)] = r + 65536; + }), + (o.prototype.get = function (t, e) { + return this.data[this._idx(t, e)] - 65536; + }), + (o.prototype._idx = function (t, e) { + if ( + t < -this.border || + t >= this.dim + this.border || + e < -this.border || + e >= this.dim + this.border + ) + throw new RangeError( + "out of range source coordinates for DEM data", + ); + return (e + this.border) * this.stride + (t + this.border); + }), + a("Level", o)); + var s = function (t, e, r) { + ((this.uid = t), + (this.scale = e || 1), + (this.level = r || new o(256, 512)), + (this.loaded = !!r)); + }; + ((s.prototype.loadFromImage = function (t) { + if (t.height !== t.width) + throw new RangeError("DEM tiles must be square"); + for ( + var e = (this.level = new o(t.width, t.width / 2)), + r = t.data, + n = 0; + n < e.dim; + n++ + ) + for (var i = 0; i < e.dim; i++) { + var a = 4 * (n * e.dim + i); + e.set( + i, + n, + this.scale * + ((256 * r[a] * 256 + 256 * r[a + 1] + r[a + 2]) / 10 - + 1e4), + ); + } + for (var s = 0; s < e.dim; s++) + (e.set(-1, s, e.get(0, s)), + e.set(e.dim, s, e.get(e.dim - 1, s)), + e.set(s, -1, e.get(s, 0)), + e.set(s, e.dim, e.get(s, e.dim - 1))); + (e.set(-1, -1, e.get(0, 0)), + e.set(e.dim, -1, e.get(e.dim - 1, 0)), + e.set(-1, e.dim, e.get(0, e.dim - 1)), + e.set(e.dim, e.dim, e.get(e.dim - 1, e.dim - 1)), + (this.loaded = !0)); + }), + (s.prototype.getPixels = function () { + return new n( + { + width: this.level.dim + 2 * this.level.border, + height: this.level.dim + 2 * this.level.border, + }, + new Uint8Array(this.level.data.buffer), + ); + }), + (s.prototype.backfillBorder = function (t, e, r) { + var n = this.level, + a = t.level; + if (n.dim !== a.dim) + throw new Error("level mismatch (dem dimension)"); + var o = e * n.dim, + s = e * n.dim + n.dim, + l = r * n.dim, + c = r * n.dim + n.dim; + switch (e) { + case -1: + o = s - 1; + break; + case 1: + s = o + 1; + } + switch (r) { + case -1: + l = c - 1; + break; + case 1: + c = l + 1; + } + for ( + var u = i.clamp(o, -n.border, n.dim + n.border), + f = i.clamp(s, -n.border, n.dim + n.border), + h = i.clamp(l, -n.border, n.dim + n.border), + p = i.clamp(c, -n.border, n.dim + n.border), + d = -e * n.dim, + g = -r * n.dim, + m = h; + m < p; + m++ + ) + for (var v = u; v < f; v++) + n.set(v, m, a.get(v + d, m + g)); + }), + a("DEMData", s), + (e.exports = { DEMData: s, Level: o })); + }, + { + "../util/image": 263, + "../util/util": 275, + "../util/web_worker_transfer": 278, + }, + ], + 53: [ + function (t, e, r) { + e.exports = 8192; + }, + {}, + ], + 54: [ + function (t, e, r) { + function n(t, e) { + return e - t; + } + t("@mapbox/point-geometry"); + var i = t("./load_geometry"), + a = t("./extent"), + o = t("../style-spec/feature_filter"), + s = t("grid-index"), + l = t("../util/dictionary_coder"), + c = t("@mapbox/vector-tile"), + u = t("pbf"), + f = t("../util/vectortile_to_geojson"), + h = t("../util/util").arraysIntersect, + p = + (t("../source/tile_id").OverscaledTileID, + t("../util/web_worker_transfer").register), + d = t("./array_types").FeatureIndexArray, + g = function (t, e, r, n) { + ((this.tileID = t), + (this.overscaling = e), + (this.x = t.canonical.x), + (this.y = t.canonical.y), + (this.z = t.canonical.z), + (this.grid = r || new s(a, 16, 0)), + (this.featureIndexArray = n || new d())); + }; + ((g.prototype.insert = function (t, e, r, n, i) { + var a = this.featureIndexArray.length; + this.featureIndexArray.emplaceBack(r, n, i); + for (var o = 0; o < e.length; o++) { + for ( + var s = e[o], l = [1 / 0, 1 / 0, -1 / 0, -1 / 0], c = 0; + c < s.length; + c++ + ) { + var u = s[c]; + ((l[0] = Math.min(l[0], u.x)), + (l[1] = Math.min(l[1], u.y)), + (l[2] = Math.max(l[2], u.x)), + (l[3] = Math.max(l[3], u.y))); + } + this.grid.insert(a, l[0], l[1], l[2], l[3]); + } + }), + (g.prototype.query = function (t, e) { + this.vtLayers || + ((this.vtLayers = new c.VectorTile( + new u(this.rawTileData), + ).layers), + (this.sourceLayerCoder = new l( + this.vtLayers + ? Object.keys(this.vtLayers).sort() + : ["_geojsonTileLayer"], + ))); + for ( + var r = {}, + i = t.params || {}, + s = a / t.tileSize / t.scale, + f = o(i.filter), + h = t.queryGeometry, + p = t.additionalRadius * s, + d = 1 / 0, + g = 1 / 0, + m = -1 / 0, + v = -1 / 0, + y = 0; + y < h.length; + y++ + ) + for (var x = h[y], b = 0; b < x.length; b++) { + var _ = x[b]; + ((d = Math.min(d, _.x)), + (g = Math.min(g, _.y)), + (m = Math.max(m, _.x)), + (v = Math.max(v, _.y))); + } + var w = this.grid.query(d - p, g - p, m + p, v + p); + (w.sort(n), + this.filterMatching( + r, + w, + this.featureIndexArray, + h, + f, + i.layers, + e, + t.bearing, + s, + )); + var k = t.collisionIndex + ? t.collisionIndex.queryRenderedSymbols( + h, + this.tileID, + a / t.tileSize, + t.collisionBoxArray, + t.sourceID, + t.bucketInstanceIds, + ) + : []; + return ( + k.sort(), + this.filterMatching( + r, + k, + t.collisionBoxArray, + h, + f, + i.layers, + e, + t.bearing, + s, + ), + r + ); + }), + (g.prototype.filterMatching = function ( + t, + e, + r, + n, + a, + o, + s, + l, + c, + ) { + for (var u, p = this, d = 0; d < e.length; d++) { + var g = e[d]; + if (g !== u) { + u = g; + var m = r.get(g), + v = p.bucketLayerIDs[m.bucketIndex]; + if (!o || h(o, v)) { + var y = p.sourceLayerCoder.decode(m.sourceLayerIndex), + x = p.vtLayers[y].feature(m.featureIndex); + if (a({ zoom: p.tileID.overscaledZ }, x)) + for (var b = null, _ = 0; _ < v.length; _++) { + var w = v[_]; + if (!(o && o.indexOf(w) < 0)) { + var k = s[w]; + if ( + k && + ("symbol" === k.type || + (b || (b = i(x)), + k.queryIntersectsFeature(n, x, b, p.z, l, c))) + ) { + var M = new f(x, p.z, p.x, p.y); + M.layer = k.serialize(); + var A = t[w]; + (void 0 === A && (A = t[w] = []), + A.push({ featureIndex: g, feature: M })); + } + } + } + } + } + } + }), + (g.prototype.hasLayer = function (t) { + for (var e = 0, r = this.bucketLayerIDs; e < r.length; e += 1) + for (var n = 0, i = r[e]; n < i.length; n += 1) { + if (t === i[n]) return !0; + } + return !1; + }), + p("FeatureIndex", g, { + omit: ["rawTileData", "sourceLayerCoder"], + }), + (e.exports = g)); + }, + { + "../source/tile_id": 114, + "../style-spec/feature_filter": 148, + "../util/dictionary_coder": 257, + "../util/util": 275, + "../util/vectortile_to_geojson": 276, + "../util/web_worker_transfer": 278, + "./array_types": 39, + "./extent": 53, + "./load_geometry": 56, + "@mapbox/point-geometry": 4, + "@mapbox/vector-tile": 8, + "grid-index": 24, + pbf: 30, + }, + ], + 55: [ + function (t, e, r) { + e.exports = { + LineIndexArray: t("./array_types").LineIndexArray, + TriangleIndexArray: t("./array_types").TriangleIndexArray, + }; + }, + { "./array_types": 39 }, + ], + 56: [ + function (t, e, r) { + var n, + i = t("../util/util"), + a = t("./extent"), + o = + ((n = 16), + { + min: -1 * Math.pow(2, n - 1), + max: Math.pow(2, n - 1) - 1, + }); + e.exports = function (t) { + for ( + var e = a / t.extent, r = t.loadGeometry(), n = 0; + n < r.length; + n++ + ) + for (var s = r[n], l = 0; l < s.length; l++) { + var c = s[l]; + ((c.x = Math.round(c.x * e)), + (c.y = Math.round(c.y * e)), + (c.x < o.min || + c.x > o.max || + c.y < o.min || + c.y > o.max) && + i.warnOnce( + "Geometry exceeds allowed extent, reduce your vector tile buffer size", + )); + } + return r; + }; + }, + { "../util/util": 275, "./extent": 53 }, + ], + 57: [ + function (t, e, r) { + var n = t("../util/struct_array").createLayout; + e.exports = n([{ name: "a_pos", type: "Int16", components: 2 }]); + }, + { "../util/struct_array": 271 }, + ], + 58: [ + function (t, e, r) { + function n(t) { + return [a(255 * t.r, 255 * t.g), a(255 * t.b, 255 * t.a)]; + } + function i(t, e) { + return ( + { + "text-opacity": "opacity", + "icon-opacity": "opacity", + "text-color": "fill_color", + "icon-color": "fill_color", + "text-halo-color": "halo_color", + "icon-halo-color": "halo_color", + "text-halo-blur": "halo_blur", + "icon-halo-blur": "halo_blur", + "text-halo-width": "halo_width", + "icon-halo-width": "halo_width", + "line-gap-width": "gapwidth", + }[t] || t.replace(e + "-", "").replace(/-/g, "_") + ); + } + var a = t("../shaders/encode_attribute").packUint8ToFloat, + o = + (t("../style-spec/util/color"), + t("../util/web_worker_transfer").register), + s = t("../style/properties").PossiblyEvaluatedPropertyValue, + l = t("./array_types"), + c = l.StructArrayLayout1f4, + u = l.StructArrayLayout2f8, + f = l.StructArrayLayout4f16, + h = function (t, e, r) { + ((this.value = t), + (this.name = e), + (this.type = r), + (this.statistics = { max: -1 / 0 })); + }; + ((h.prototype.defines = function () { + return ["#define HAS_UNIFORM_u_" + this.name]; + }), + (h.prototype.populatePaintArray = function () {}), + (h.prototype.upload = function () {}), + (h.prototype.destroy = function () {}), + (h.prototype.setUniforms = function (t, e, r, n) { + var i = n.constantOr(this.value), + a = t.gl; + "color" === this.type + ? a.uniform4f( + e.uniforms["u_" + this.name], + i.r, + i.g, + i.b, + i.a, + ) + : a.uniform1f(e.uniforms["u_" + this.name], i); + })); + var p = function (t, e, r) { + ((this.expression = t), + (this.name = e), + (this.type = r), + (this.statistics = { max: -1 / 0 })); + var n = "color" === r ? u : c; + ((this.paintVertexAttributes = [ + { + name: "a_" + e, + type: "Float32", + components: "color" === r ? 2 : 1, + offset: 0, + }, + ]), + (this.paintVertexArray = new n())); + }; + ((p.prototype.defines = function () { + return []; + }), + (p.prototype.populatePaintArray = function (t, e) { + var r = this.paintVertexArray, + i = r.length; + r.reserve(t); + var a = this.expression.evaluate({ zoom: 0 }, e); + if ("color" === this.type) + for (var o = n(a), s = i; s < t; s++) + r.emplaceBack(o[0], o[1]); + else { + for (var l = i; l < t; l++) r.emplaceBack(a); + this.statistics.max = Math.max(this.statistics.max, a); + } + }), + (p.prototype.upload = function (t) { + this.paintVertexArray && + (this.paintVertexBuffer = t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + )); + }), + (p.prototype.destroy = function () { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + }), + (p.prototype.setUniforms = function (t, e) { + t.gl.uniform1f(e.uniforms["a_" + this.name + "_t"], 0); + })); + var d = function (t, e, r, n, i) { + ((this.expression = t), + (this.name = e), + (this.type = r), + (this.useIntegerZoom = n), + (this.zoom = i), + (this.statistics = { max: -1 / 0 })); + var a = "color" === r ? f : u; + ((this.paintVertexAttributes = [ + { + name: "a_" + e, + type: "Float32", + components: "color" === r ? 4 : 2, + offset: 0, + }, + ]), + (this.paintVertexArray = new a())); + }; + ((d.prototype.defines = function () { + return []; + }), + (d.prototype.populatePaintArray = function (t, e) { + var r = this.paintVertexArray, + i = r.length; + r.reserve(t); + var a = this.expression.evaluate({ zoom: this.zoom }, e), + o = this.expression.evaluate({ zoom: this.zoom + 1 }, e); + if ("color" === this.type) + for (var s = n(a), l = n(o), c = i; c < t; c++) + r.emplaceBack(s[0], s[1], l[0], l[1]); + else { + for (var u = i; u < t; u++) r.emplaceBack(a, o); + this.statistics.max = Math.max(this.statistics.max, a, o); + } + }), + (d.prototype.upload = function (t) { + this.paintVertexArray && + (this.paintVertexBuffer = t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + )); + }), + (d.prototype.destroy = function () { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + }), + (d.prototype.interpolationFactor = function (t) { + return this.useIntegerZoom + ? this.expression.interpolationFactor( + Math.floor(t), + this.zoom, + this.zoom + 1, + ) + : this.expression.interpolationFactor( + t, + this.zoom, + this.zoom + 1, + ); + }), + (d.prototype.setUniforms = function (t, e, r) { + t.gl.uniform1f( + e.uniforms["a_" + this.name + "_t"], + this.interpolationFactor(r.zoom), + ); + })); + var g = function () { + ((this.binders = {}), + (this.cacheKey = ""), + (this._buffers = [])); + }; + ((g.createDynamic = function (t, e, r) { + var n = new g(), + a = []; + for (var o in t.paint._values) + if (r(o)) { + var l = t.paint.get(o); + if ( + l instanceof s && + l.property.specification["property-function"] + ) { + var c = i(o, t.type), + u = l.property.specification.type, + f = l.property.useIntegerZoom; + "constant" === l.value.kind + ? ((n.binders[o] = new h(l.value, c, u)), + a.push("/u_" + c)) + : "source" === l.value.kind + ? ((n.binders[o] = new p(l.value, c, u)), + a.push("/a_" + c)) + : ((n.binders[o] = new d(l.value, c, u, f, e)), + a.push("/z_" + c)); + } + } + return ((n.cacheKey = a.sort().join("")), n); + }), + (g.prototype.populatePaintArrays = function (t, e) { + for (var r in this.binders) + this.binders[r].populatePaintArray(t, e); + }), + (g.prototype.defines = function () { + var t = []; + for (var e in this.binders) + t.push.apply(t, this.binders[e].defines()); + return t; + }), + (g.prototype.setUniforms = function (t, e, r, n) { + for (var i in this.binders) + this.binders[i].setUniforms(t, e, n, r.get(i)); + }), + (g.prototype.getPaintVertexBuffers = function () { + return this._buffers; + }), + (g.prototype.upload = function (t) { + var e = this; + for (var r in e.binders) e.binders[r].upload(t); + var n = []; + for (var i in e.binders) { + var a = e.binders[i]; + (a instanceof p || a instanceof d) && + a.paintVertexBuffer && + n.push(a.paintVertexBuffer); + } + this._buffers = n; + }), + (g.prototype.destroy = function () { + for (var t in this.binders) this.binders[t].destroy(); + })); + var m = function (t, e, r, n) { + (void 0 === n && + (n = function () { + return !0; + }), + (this.programConfigurations = {})); + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i]; + ((this.programConfigurations[o.id] = g.createDynamic( + o, + r, + n, + )), + (this.programConfigurations[o.id].layoutAttributes = t)); + } + }; + ((m.prototype.populatePaintArrays = function (t, e) { + for (var r in this.programConfigurations) + this.programConfigurations[r].populatePaintArrays(t, e); + }), + (m.prototype.get = function (t) { + return this.programConfigurations[t]; + }), + (m.prototype.upload = function (t) { + for (var e in this.programConfigurations) + this.programConfigurations[e].upload(t); + }), + (m.prototype.destroy = function () { + for (var t in this.programConfigurations) + this.programConfigurations[t].destroy(); + }), + o("ConstantBinder", h), + o("SourceExpressionBinder", p), + o("CompositeExpressionBinder", d), + o("ProgramConfiguration", g, { omit: ["_buffers"] }), + o("ProgramConfigurationSet", m), + (e.exports = { + ProgramConfiguration: g, + ProgramConfigurationSet: m, + })); + }, + { + "../shaders/encode_attribute": 96, + "../style-spec/util/color": 153, + "../style/properties": 188, + "../util/web_worker_transfer": 278, + "./array_types": 39, + }, + ], + 59: [ + function (t, e, r) { + var n = t("../util/struct_array").createLayout; + e.exports = n([ + { name: "a_pos", type: "Int16", components: 2 }, + { name: "a_texture_pos", type: "Int16", components: 2 }, + ]); + }, + { "../util/struct_array": 271 }, + ], + 60: [ + function (t, e, r) { + var n = t("../util/util").warnOnce, + i = t("../util/web_worker_transfer").register, + a = Math.pow(2, 16) - 1, + o = function (t) { + (void 0 === t && (t = []), (this.segments = t)); + }; + ((o.prototype.prepareSegment = function (t, r, i) { + var o = this.segments[this.segments.length - 1]; + return ( + t > a && + n( + "Max vertices per segment is " + + a + + ": bucket requested " + + t, + ), + (!o || + o.vertexLength + t > e.exports.MAX_VERTEX_ARRAY_LENGTH) && + ((o = { + vertexOffset: r.length, + primitiveOffset: i.length, + vertexLength: 0, + primitiveLength: 0, + }), + this.segments.push(o)), + o + ); + }), + (o.prototype.get = function () { + return this.segments; + }), + (o.prototype.destroy = function () { + for (var t = 0, e = this.segments; t < e.length; t += 1) { + var r = e[t]; + for (var n in r.vaos) r.vaos[n].destroy(); + } + }), + i("SegmentVector", o), + (e.exports = { SegmentVector: o, MAX_VERTEX_ARRAY_LENGTH: a })); + }, + { "../util/util": 275, "../util/web_worker_transfer": 278 }, + ], + 61: [ + function (t, e, r) { + var n = function (t, e, r) { + ((this.column = t), (this.row = e), (this.zoom = r)); + }; + ((n.prototype.clone = function () { + return new n(this.column, this.row, this.zoom); + }), + (n.prototype.zoomTo = function (t) { + return this.clone()._zoomTo(t); + }), + (n.prototype.sub = function (t) { + return this.clone()._sub(t); + }), + (n.prototype._zoomTo = function (t) { + var e = Math.pow(2, t - this.zoom); + return ( + (this.column *= e), + (this.row *= e), + (this.zoom = t), + this + ); + }), + (n.prototype._sub = function (t) { + return ( + (t = t.zoomTo(this.zoom)), + (this.column -= t.column), + (this.row -= t.row), + this + ); + }), + (e.exports = n)); + }, + {}, + ], + 62: [ + function (t, e, r) { + var n = t("../util/util").wrap, + i = function (t, e) { + if (isNaN(t) || isNaN(e)) + throw new Error( + "Invalid LngLat object: (" + t + ", " + e + ")", + ); + if ( + ((this.lng = +t), + (this.lat = +e), + this.lat > 90 || this.lat < -90) + ) + throw new Error( + "Invalid LngLat latitude value: must be between -90 and 90", + ); + }; + ((i.prototype.wrap = function () { + return new i(n(this.lng, -180, 180), this.lat); + }), + (i.prototype.toArray = function () { + return [this.lng, this.lat]; + }), + (i.prototype.toString = function () { + return "LngLat(" + this.lng + ", " + this.lat + ")"; + }), + (i.prototype.toBounds = function (e) { + var r = (360 * e) / 40075017, + n = r / Math.cos((Math.PI / 180) * this.lat); + return new (t("./lng_lat_bounds"))( + new i(this.lng - n, this.lat - r), + new i(this.lng + n, this.lat + r), + ); + }), + (i.convert = function (t) { + if (t instanceof i) return t; + if (Array.isArray(t) && (2 === t.length || 3 === t.length)) + return new i(Number(t[0]), Number(t[1])); + if (!Array.isArray(t) && "object" == typeof t && null !== t) + return new i(Number(t.lng), Number(t.lat)); + throw new Error( + "`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]", + ); + }), + (e.exports = i)); + }, + { "../util/util": 275, "./lng_lat_bounds": 63 }, + ], + 63: [ + function (t, e, r) { + var n = t("./lng_lat"), + i = function (t, e) { + t && + (e + ? this.setSouthWest(t).setNorthEast(e) + : 4 === t.length + ? this.setSouthWest([t[0], t[1]]).setNorthEast([ + t[2], + t[3], + ]) + : this.setSouthWest(t[0]).setNorthEast(t[1])); + }; + ((i.prototype.setNorthEast = function (t) { + return ( + (this._ne = + t instanceof n ? new n(t.lng, t.lat) : n.convert(t)), + this + ); + }), + (i.prototype.setSouthWest = function (t) { + return ( + (this._sw = + t instanceof n ? new n(t.lng, t.lat) : n.convert(t)), + this + ); + }), + (i.prototype.extend = function (t) { + var e, + r, + a = this._sw, + o = this._ne; + if (t instanceof n) ((e = t), (r = t)); + else { + if (!(t instanceof i)) + return Array.isArray(t) + ? t.every(Array.isArray) + ? this.extend(i.convert(t)) + : this.extend(n.convert(t)) + : this; + if (((e = t._sw), (r = t._ne), !e || !r)) return this; + } + return ( + a || o + ? ((a.lng = Math.min(e.lng, a.lng)), + (a.lat = Math.min(e.lat, a.lat)), + (o.lng = Math.max(r.lng, o.lng)), + (o.lat = Math.max(r.lat, o.lat))) + : ((this._sw = new n(e.lng, e.lat)), + (this._ne = new n(r.lng, r.lat))), + this + ); + }), + (i.prototype.getCenter = function () { + return new n( + (this._sw.lng + this._ne.lng) / 2, + (this._sw.lat + this._ne.lat) / 2, + ); + }), + (i.prototype.getSouthWest = function () { + return this._sw; + }), + (i.prototype.getNorthEast = function () { + return this._ne; + }), + (i.prototype.getNorthWest = function () { + return new n(this.getWest(), this.getNorth()); + }), + (i.prototype.getSouthEast = function () { + return new n(this.getEast(), this.getSouth()); + }), + (i.prototype.getWest = function () { + return this._sw.lng; + }), + (i.prototype.getSouth = function () { + return this._sw.lat; + }), + (i.prototype.getEast = function () { + return this._ne.lng; + }), + (i.prototype.getNorth = function () { + return this._ne.lat; + }), + (i.prototype.toArray = function () { + return [this._sw.toArray(), this._ne.toArray()]; + }), + (i.prototype.toString = function () { + return ( + "LngLatBounds(" + + this._sw.toString() + + ", " + + this._ne.toString() + + ")" + ); + }), + (i.prototype.isEmpty = function () { + return !(this._sw && this._ne); + }), + (i.convert = function (t) { + return !t || t instanceof i ? t : new i(t); + }), + (e.exports = i)); + }, + { "./lng_lat": 62 }, + ], + 64: [ + function (t, e, r) { + var n = t("./lng_lat"), + i = t("@mapbox/point-geometry"), + a = t("./coordinate"), + o = t("../util/util"), + s = t("../style-spec/util/interpolate").number, + l = t("../util/tile_cover"), + c = t("../source/tile_id"), + u = (c.CanonicalTileID, c.UnwrappedTileID), + f = t("../data/extent"), + h = t("@mapbox/gl-matrix"), + p = h.vec4, + d = h.mat4, + g = h.mat2, + m = function (t, e, r) { + ((this.tileSize = 512), + (this._renderWorldCopies = void 0 === r || r), + (this._minZoom = t || 0), + (this._maxZoom = e || 22), + (this.latRange = [-85.05113, 85.05113]), + (this.width = 0), + (this.height = 0), + (this._center = new n(0, 0)), + (this.zoom = 0), + (this.angle = 0), + (this._fov = 0.6435011087932844), + (this._pitch = 0), + (this._unmodified = !0), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {})); + }, + v = { + minZoom: {}, + maxZoom: {}, + renderWorldCopies: {}, + worldSize: {}, + centerPoint: {}, + size: {}, + bearing: {}, + pitch: {}, + fov: {}, + zoom: {}, + center: {}, + unmodified: {}, + x: {}, + y: {}, + point: {}, + }; + ((m.prototype.clone = function () { + var t = new m( + this._minZoom, + this._maxZoom, + this._renderWorldCopies, + ); + return ( + (t.tileSize = this.tileSize), + (t.latRange = this.latRange), + (t.width = this.width), + (t.height = this.height), + (t._center = this._center), + (t.zoom = this.zoom), + (t.angle = this.angle), + (t._fov = this._fov), + (t._pitch = this._pitch), + (t._unmodified = this._unmodified), + t._calcMatrices(), + t + ); + }), + (v.minZoom.get = function () { + return this._minZoom; + }), + (v.minZoom.set = function (t) { + this._minZoom !== t && + ((this._minZoom = t), (this.zoom = Math.max(this.zoom, t))); + }), + (v.maxZoom.get = function () { + return this._maxZoom; + }), + (v.maxZoom.set = function (t) { + this._maxZoom !== t && + ((this._maxZoom = t), (this.zoom = Math.min(this.zoom, t))); + }), + (v.renderWorldCopies.get = function () { + return this._renderWorldCopies; + }), + (v.worldSize.get = function () { + return this.tileSize * this.scale; + }), + (v.centerPoint.get = function () { + return this.size._div(2); + }), + (v.size.get = function () { + return new i(this.width, this.height); + }), + (v.bearing.get = function () { + return (-this.angle / Math.PI) * 180; + }), + (v.bearing.set = function (t) { + var e = (-o.wrap(t, -180, 180) * Math.PI) / 180; + this.angle !== e && + ((this._unmodified = !1), + (this.angle = e), + this._calcMatrices(), + (this.rotationMatrix = g.create()), + g.rotate( + this.rotationMatrix, + this.rotationMatrix, + this.angle, + )); + }), + (v.pitch.get = function () { + return (this._pitch / Math.PI) * 180; + }), + (v.pitch.set = function (t) { + var e = (o.clamp(t, 0, 60) / 180) * Math.PI; + this._pitch !== e && + ((this._unmodified = !1), + (this._pitch = e), + this._calcMatrices()); + }), + (v.fov.get = function () { + return (this._fov / Math.PI) * 180; + }), + (v.fov.set = function (t) { + ((t = Math.max(0.01, Math.min(60, t))), + this._fov !== t && + ((this._unmodified = !1), + (this._fov = (t / 180) * Math.PI), + this._calcMatrices())); + }), + (v.zoom.get = function () { + return this._zoom; + }), + (v.zoom.set = function (t) { + var e = Math.min(Math.max(t, this.minZoom), this.maxZoom); + this._zoom !== e && + ((this._unmodified = !1), + (this._zoom = e), + (this.scale = this.zoomScale(e)), + (this.tileZoom = Math.floor(e)), + (this.zoomFraction = e - this.tileZoom), + this._constrain(), + this._calcMatrices()); + }), + (v.center.get = function () { + return this._center; + }), + (v.center.set = function (t) { + (t.lat === this._center.lat && t.lng === this._center.lng) || + ((this._unmodified = !1), + (this._center = t), + this._constrain(), + this._calcMatrices()); + }), + (m.prototype.coveringZoomLevel = function (t) { + return (t.roundZoom ? Math.round : Math.floor)( + this.zoom + this.scaleZoom(this.tileSize / t.tileSize), + ); + }), + (m.prototype.getVisibleUnwrappedCoordinates = function (t) { + var e = this.pointCoordinate(new i(0, 0), 0), + r = this.pointCoordinate(new i(this.width, 0), 0), + n = Math.floor(e.column), + a = Math.floor(r.column), + o = [new u(0, t)]; + if (this._renderWorldCopies) + for (var s = n; s <= a; s++) 0 !== s && o.push(new u(s, t)); + return o; + }), + (m.prototype.coveringTiles = function (t) { + var e = this.coveringZoomLevel(t), + r = e; + if (void 0 !== t.minzoom && e < t.minzoom) return []; + void 0 !== t.maxzoom && e > t.maxzoom && (e = t.maxzoom); + var n = this.pointCoordinate(this.centerPoint, e), + a = new i(n.column - 0.5, n.row - 0.5), + o = [ + this.pointCoordinate(new i(0, 0), e), + this.pointCoordinate(new i(this.width, 0), e), + this.pointCoordinate(new i(this.width, this.height), e), + this.pointCoordinate(new i(0, this.height), e), + ]; + return l( + e, + o, + t.reparseOverscaled ? r : e, + this._renderWorldCopies, + ).sort(function (t, e) { + return a.dist(t.canonical) - a.dist(e.canonical); + }); + }), + (m.prototype.resize = function (t, e) { + ((this.width = t), + (this.height = e), + (this.pixelsToGLUnits = [2 / t, -2 / e]), + this._constrain(), + this._calcMatrices()); + }), + (v.unmodified.get = function () { + return this._unmodified; + }), + (m.prototype.zoomScale = function (t) { + return Math.pow(2, t); + }), + (m.prototype.scaleZoom = function (t) { + return Math.log(t) / Math.LN2; + }), + (m.prototype.project = function (t) { + return new i(this.lngX(t.lng), this.latY(t.lat)); + }), + (m.prototype.unproject = function (t) { + return new n(this.xLng(t.x), this.yLat(t.y)); + }), + (v.x.get = function () { + return this.lngX(this.center.lng); + }), + (v.y.get = function () { + return this.latY(this.center.lat); + }), + (v.point.get = function () { + return new i(this.x, this.y); + }), + (m.prototype.lngX = function (t) { + return ((180 + t) * this.worldSize) / 360; + }), + (m.prototype.latY = function (t) { + return ( + ((180 - + (180 / Math.PI) * + Math.log(Math.tan(Math.PI / 4 + (t * Math.PI) / 360))) * + this.worldSize) / + 360 + ); + }), + (m.prototype.xLng = function (t) { + return (360 * t) / this.worldSize - 180; + }), + (m.prototype.yLat = function (t) { + var e = 180 - (360 * t) / this.worldSize; + return ( + (360 / Math.PI) * Math.atan(Math.exp((e * Math.PI) / 180)) - + 90 + ); + }), + (m.prototype.setLocationAtPoint = function (t, e) { + var r = this.pointCoordinate(e)._sub( + this.pointCoordinate(this.centerPoint), + ); + ((this.center = this.coordinateLocation( + this.locationCoordinate(t)._sub(r), + )), + this._renderWorldCopies && + (this.center = this.center.wrap())); + }), + (m.prototype.locationPoint = function (t) { + return this.coordinatePoint(this.locationCoordinate(t)); + }), + (m.prototype.pointLocation = function (t) { + return this.coordinateLocation(this.pointCoordinate(t)); + }), + (m.prototype.locationCoordinate = function (t) { + return new a( + this.lngX(t.lng) / this.tileSize, + this.latY(t.lat) / this.tileSize, + this.zoom, + ).zoomTo(this.tileZoom); + }), + (m.prototype.coordinateLocation = function (t) { + var e = t.zoomTo(this.zoom); + return new n( + this.xLng(e.column * this.tileSize), + this.yLat(e.row * this.tileSize), + ); + }), + (m.prototype.pointCoordinate = function (t, e) { + void 0 === e && (e = this.tileZoom); + var r = [t.x, t.y, 0, 1], + n = [t.x, t.y, 1, 1]; + (p.transformMat4(r, r, this.pixelMatrixInverse), + p.transformMat4(n, n, this.pixelMatrixInverse)); + var i = r[3], + o = n[3], + l = r[1] / i, + c = n[1] / o, + u = r[2] / i, + f = n[2] / o, + h = u === f ? 0 : (0 - u) / (f - u); + return new a( + s(r[0] / i, n[0] / o, h) / this.tileSize, + s(l, c, h) / this.tileSize, + this.zoom, + )._zoomTo(e); + }), + (m.prototype.coordinatePoint = function (t) { + var e = t.zoomTo(this.zoom), + r = [e.column * this.tileSize, e.row * this.tileSize, 0, 1]; + return ( + p.transformMat4(r, r, this.pixelMatrix), + new i(r[0] / r[3], r[1] / r[3]) + ); + }), + (m.prototype.calculatePosMatrix = function (t, e) { + void 0 === e && (e = !1); + var r = t.key, + n = e ? this._alignedPosMatrixCache : this._posMatrixCache; + if (n[r]) return n[r]; + var i = t.canonical, + a = this.worldSize / this.zoomScale(i.z), + o = i.x + Math.pow(2, i.z) * t.wrap, + s = d.identity(new Float64Array(16)); + return ( + d.translate(s, s, [o * a, i.y * a, 0]), + d.scale(s, s, [a / f, a / f, 1]), + d.multiply( + s, + e ? this.alignedProjMatrix : this.projMatrix, + s, + ), + (n[r] = new Float32Array(s)), + n[r] + ); + }), + (m.prototype._constrain = function () { + if ( + this.center && + this.width && + this.height && + !this._constraining + ) { + this._constraining = !0; + var t, + e, + r, + n, + a = -90, + o = 90, + s = -180, + l = 180, + c = this.size, + u = this._unmodified; + if (this.latRange) { + var f = this.latRange; + ((a = this.latY(f[1])), + (t = + (o = this.latY(f[0])) - a < c.y ? c.y / (o - a) : 0)); + } + if (this.lngRange) { + var h = this.lngRange; + ((s = this.lngX(h[0])), + (e = + (l = this.lngX(h[1])) - s < c.x ? c.x / (l - s) : 0)); + } + var p = Math.max(e || 0, t || 0); + if (p) + return ( + (this.center = this.unproject( + new i( + e ? (l + s) / 2 : this.x, + t ? (o + a) / 2 : this.y, + ), + )), + (this.zoom += this.scaleZoom(p)), + (this._unmodified = u), + void (this._constraining = !1) + ); + if (this.latRange) { + var d = this.y, + g = c.y / 2; + (d - g < a && (n = a + g), d + g > o && (n = o - g)); + } + if (this.lngRange) { + var m = this.x, + v = c.x / 2; + (m - v < s && (r = s + v), m + v > l && (r = l - v)); + } + ((void 0 === r && void 0 === n) || + (this.center = this.unproject( + new i( + void 0 !== r ? r : this.x, + void 0 !== n ? n : this.y, + ), + )), + (this._unmodified = u), + (this._constraining = !1)); + } + }), + (m.prototype._calcMatrices = function () { + if (this.height) { + this.cameraToCenterDistance = + (0.5 / Math.tan(this._fov / 2)) * this.height; + var t = this._fov / 2, + e = Math.PI / 2 + this._pitch, + r = + (Math.sin(t) * this.cameraToCenterDistance) / + Math.sin(Math.PI - e - t), + n = this.x, + i = this.y, + a = + 1.01 * + (Math.cos(Math.PI / 2 - this._pitch) * r + + this.cameraToCenterDistance), + o = new Float64Array(16); + (d.perspective( + o, + this._fov, + this.width / this.height, + 1, + a, + ), + d.scale(o, o, [1, -1, 1]), + d.translate(o, o, [0, 0, -this.cameraToCenterDistance]), + d.rotateX(o, o, this._pitch), + d.rotateZ(o, o, this.angle), + d.translate(o, o, [-n, -i, 0])); + var s = + this.worldSize / + (2 * + Math.PI * + 6378137 * + Math.abs(Math.cos(this.center.lat * (Math.PI / 180)))); + (d.scale(o, o, [1, 1, s, 1]), (this.projMatrix = o)); + var l = (this.width % 2) / 2, + c = (this.height % 2) / 2, + u = Math.cos(this.angle), + f = Math.sin(this.angle), + h = n - Math.round(n) + u * l + f * c, + p = i - Math.round(i) + u * c + f * l, + g = new Float64Array(o); + if ( + (d.translate(g, g, [ + h > 0.5 ? h - 1 : h, + p > 0.5 ? p - 1 : p, + 0, + ]), + (this.alignedProjMatrix = g), + (o = d.create()), + d.scale(o, o, [this.width / 2, -this.height / 2, 1]), + d.translate(o, o, [1, -1, 0]), + (this.pixelMatrix = d.multiply( + new Float64Array(16), + o, + this.projMatrix, + )), + !(o = d.invert(new Float64Array(16), this.pixelMatrix))) + ) + throw new Error("failed to invert matrix"); + ((this.pixelMatrixInverse = o), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {})); + } + }), + Object.defineProperties(m.prototype, v), + (e.exports = m)); + }, + { + "../data/extent": 53, + "../source/tile_id": 114, + "../style-spec/util/interpolate": 158, + "../util/tile_cover": 273, + "../util/util": 275, + "./coordinate": 61, + "./lng_lat": 62, + "@mapbox/gl-matrix": 2, + "@mapbox/point-geometry": 4, + }, + ], + 65: [ + function (t, e, r) { + var n = t("../style-spec/util/color"), + i = function (t, e, r) { + ((this.blendFunction = t), + (this.blendColor = e), + (this.mask = r)); + }; + ((i.disabled = new i((i.Replace = [1, 0]), n.transparent, [ + !1, + !1, + !1, + !1, + ])), + (i.unblended = new i(i.Replace, n.transparent, [ + !0, + !0, + !0, + !0, + ])), + (i.alphaBlended = new i([1, 771], n.transparent, [ + !0, + !0, + !0, + !0, + ])), + (e.exports = i)); + }, + { "../style-spec/util/color": 153 }, + ], + 66: [ + function (t, e, r) { + var n = t("./index_buffer"), + i = t("./vertex_buffer"), + a = t("./framebuffer"), + o = (t("./depth_mode"), t("./stencil_mode"), t("./color_mode")), + s = t("../util/util"), + l = t("./value"), + c = l.ClearColor, + u = l.ClearDepth, + f = l.ClearStencil, + h = l.ColorMask, + p = l.DepthMask, + d = l.StencilMask, + g = l.StencilFunc, + m = l.StencilOp, + v = l.StencilTest, + y = l.DepthRange, + x = l.DepthTest, + b = l.DepthFunc, + _ = l.Blend, + w = l.BlendFunc, + k = l.BlendColor, + M = l.Program, + A = l.LineWidth, + T = l.ActiveTextureUnit, + S = l.Viewport, + C = l.BindFramebuffer, + E = l.BindRenderbuffer, + L = l.BindTexture, + z = l.BindVertexBuffer, + P = l.BindElementBuffer, + D = l.BindVertexArrayOES, + O = l.PixelStoreUnpack, + I = l.PixelStoreUnpackPremultiplyAlpha, + R = function (t) { + ((this.gl = t), + (this.extVertexArrayObject = this.gl.getExtension( + "OES_vertex_array_object", + )), + (this.lineWidthRange = t.getParameter( + t.ALIASED_LINE_WIDTH_RANGE, + )), + (this.clearColor = new c(this)), + (this.clearDepth = new u(this)), + (this.clearStencil = new f(this)), + (this.colorMask = new h(this)), + (this.depthMask = new p(this)), + (this.stencilMask = new d(this)), + (this.stencilFunc = new g(this)), + (this.stencilOp = new m(this)), + (this.stencilTest = new v(this)), + (this.depthRange = new y(this)), + (this.depthTest = new x(this)), + (this.depthFunc = new b(this)), + (this.blend = new _(this)), + (this.blendFunc = new w(this)), + (this.blendColor = new k(this)), + (this.program = new M(this)), + (this.lineWidth = new A(this)), + (this.activeTexture = new T(this)), + (this.viewport = new S(this)), + (this.bindFramebuffer = new C(this)), + (this.bindRenderbuffer = new E(this)), + (this.bindTexture = new L(this)), + (this.bindVertexBuffer = new z(this)), + (this.bindElementBuffer = new P(this)), + (this.bindVertexArrayOES = + this.extVertexArrayObject && new D(this)), + (this.pixelStoreUnpack = new O(this)), + (this.pixelStoreUnpackPremultiplyAlpha = new I(this)), + (this.extTextureFilterAnisotropic = + t.getExtension("EXT_texture_filter_anisotropic") || + t.getExtension("MOZ_EXT_texture_filter_anisotropic") || + t.getExtension("WEBKIT_EXT_texture_filter_anisotropic")), + this.extTextureFilterAnisotropic && + (this.extTextureFilterAnisotropicMax = t.getParameter( + this.extTextureFilterAnisotropic + .MAX_TEXTURE_MAX_ANISOTROPY_EXT, + )), + (this.extTextureHalfFloat = t.getExtension( + "OES_texture_half_float", + )), + this.extTextureHalfFloat && + t.getExtension("OES_texture_half_float_linear")); + }; + ((R.prototype.createIndexBuffer = function (t, e) { + return new n(this, t, e); + }), + (R.prototype.createVertexBuffer = function (t, e, r) { + return new i(this, t, e, r); + }), + (R.prototype.createRenderbuffer = function (t, e, r) { + var n = this.gl, + i = n.createRenderbuffer(); + return ( + this.bindRenderbuffer.set(i), + n.renderbufferStorage(n.RENDERBUFFER, t, e, r), + this.bindRenderbuffer.set(null), + i + ); + }), + (R.prototype.createFramebuffer = function (t, e) { + return new a(this, t, e); + }), + (R.prototype.clear = function (t) { + var e = t.color, + r = t.depth, + n = this.gl, + i = 0; + (e && + ((i |= n.COLOR_BUFFER_BIT), + this.clearColor.set(e), + this.colorMask.set([!0, !0, !0, !0])), + void 0 !== r && + ((i |= n.DEPTH_BUFFER_BIT), + this.clearDepth.set(r), + this.depthMask.set(!0)), + n.clear(i)); + }), + (R.prototype.setDepthMode = function (t) { + t.func !== this.gl.ALWAYS || t.mask + ? (this.depthTest.set(!0), + this.depthFunc.set(t.func), + this.depthMask.set(t.mask), + this.depthRange.set(t.range)) + : this.depthTest.set(!1); + }), + (R.prototype.setStencilMode = function (t) { + t.func !== this.gl.ALWAYS || t.mask + ? (this.stencilTest.set(!0), + this.stencilMask.set(t.mask), + this.stencilOp.set([t.fail, t.depthFail, t.pass]), + this.stencilFunc.set({ + func: t.test.func, + ref: t.ref, + mask: t.test.mask, + })) + : this.stencilTest.set(!1); + }), + (R.prototype.setColorMode = function (t) { + (s.deepEqual(t.blendFunction, o.Replace) + ? this.blend.set(!1) + : (this.blend.set(!0), + this.blendFunc.set(t.blendFunction), + this.blendColor.set(t.blendColor)), + this.colorMask.set(t.mask)); + }), + (e.exports = R)); + }, + { + "../util/util": 275, + "./color_mode": 65, + "./depth_mode": 67, + "./framebuffer": 68, + "./index_buffer": 69, + "./stencil_mode": 70, + "./value": 71, + "./vertex_buffer": 72, + }, + ], + 67: [ + function (t, e, r) { + var n = function (t, e, r) { + ((this.func = t), (this.mask = e), (this.range = r)); + }; + ((n.ReadOnly = !1), + (n.ReadWrite = !0), + (n.disabled = new n(519, n.ReadOnly, [0, 1])), + (e.exports = n)); + }, + {}, + ], + 68: [ + function (t, e, r) { + var n = t("./value"), + i = n.ColorAttachment, + a = n.DepthAttachment, + o = function (t, e, r) { + ((this.context = t), (this.width = e), (this.height = r)); + var n = t.gl, + o = (this.framebuffer = n.createFramebuffer()); + ((this.colorAttachment = new i(t, o)), + (this.depthAttachment = new a(t, o))); + }; + ((o.prototype.destroy = function () { + var t = this.context.gl, + e = this.colorAttachment.get(); + e && t.deleteTexture(e); + var r = this.depthAttachment.get(); + (r && t.deleteRenderbuffer(r), + t.deleteFramebuffer(this.framebuffer)); + }), + (e.exports = o)); + }, + { "./value": 71 }, + ], + 69: [ + function (t, e, r) { + var n = function (t, e, r) { + this.context = t; + var n = t.gl; + ((this.buffer = n.createBuffer()), + (this.dynamicDraw = Boolean(r)), + this.unbindVAO(), + t.bindElementBuffer.set(this.buffer), + n.bufferData( + n.ELEMENT_ARRAY_BUFFER, + e.arrayBuffer, + this.dynamicDraw ? n.DYNAMIC_DRAW : n.STATIC_DRAW, + ), + this.dynamicDraw || delete e.arrayBuffer); + }; + ((n.prototype.unbindVAO = function () { + this.context.extVertexArrayObject && + this.context.bindVertexArrayOES.set(null); + }), + (n.prototype.bind = function () { + this.context.bindElementBuffer.set(this.buffer); + }), + (n.prototype.updateData = function (t) { + var e = this.context.gl; + (this.unbindVAO(), + this.bind(), + e.bufferSubData(e.ELEMENT_ARRAY_BUFFER, 0, t.arrayBuffer)); + }), + (n.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), delete this.buffer); + }), + (e.exports = n)); + }, + {}, + ], + 70: [ + function (t, e, r) { + var n = function (t, e, r, n, i, a) { + ((this.test = t), + (this.ref = e), + (this.mask = r), + (this.fail = n), + (this.depthFail = i), + (this.pass = a)); + }; + ((n.disabled = new n( + { func: 519, mask: 0 }, + 0, + 0, + 7680, + 7680, + 7680, + )), + (e.exports = n)); + }, + {}, + ], + 71: [ + function (t, e, r) { + var n = t("../style-spec/util/color"), + i = t("../util/util"), + a = function (t) { + ((this.context = t), (this.current = n.transparent)); + }; + ((a.prototype.get = function () { + return this.current; + }), + (a.prototype.set = function (t) { + var e = this.current; + (t.r === e.r && t.g === e.g && t.b === e.b && t.a === e.a) || + (this.context.gl.clearColor(t.r, t.g, t.b, t.a), + (this.current = t)); + })); + var o = function (t) { + ((this.context = t), (this.current = 1)); + }; + ((o.prototype.get = function () { + return this.current; + }), + (o.prototype.set = function (t) { + this.current !== t && + (this.context.gl.clearDepth(t), (this.current = t)); + })); + var s = function (t) { + ((this.context = t), (this.current = 0)); + }; + ((s.prototype.get = function () { + return this.current; + }), + (s.prototype.set = function (t) { + this.current !== t && + (this.context.gl.clearStencil(t), (this.current = t)); + })); + var l = function (t) { + ((this.context = t), (this.current = [!0, !0, !0, !0])); + }; + ((l.prototype.get = function () { + return this.current; + }), + (l.prototype.set = function (t) { + var e = this.current; + (t[0] === e[0] && + t[1] === e[1] && + t[2] === e[2] && + t[3] === e[3]) || + (this.context.gl.colorMask(t[0], t[1], t[2], t[3]), + (this.current = t)); + })); + var c = function (t) { + ((this.context = t), (this.current = !0)); + }; + ((c.prototype.get = function () { + return this.current; + }), + (c.prototype.set = function (t) { + this.current !== t && + (this.context.gl.depthMask(t), (this.current = t)); + })); + var u = function (t) { + ((this.context = t), (this.current = 255)); + }; + ((u.prototype.get = function () { + return this.current; + }), + (u.prototype.set = function (t) { + this.current !== t && + (this.context.gl.stencilMask(t), (this.current = t)); + })); + var f = function (t) { + ((this.context = t), + (this.current = { func: t.gl.ALWAYS, ref: 0, mask: 255 })); + }; + ((f.prototype.get = function () { + return this.current; + }), + (f.prototype.set = function (t) { + var e = this.current; + (t.func === e.func && t.ref === e.ref && t.mask === e.mask) || + (this.context.gl.stencilFunc(t.func, t.ref, t.mask), + (this.current = t)); + })); + var h = function (t) { + this.context = t; + var e = this.context.gl; + this.current = [e.KEEP, e.KEEP, e.KEEP]; + }; + ((h.prototype.get = function () { + return this.current; + }), + (h.prototype.set = function (t) { + var e = this.current; + (t[0] === e[0] && t[1] === e[1] && t[2] === e[2]) || + (this.context.gl.stencilOp(t[0], t[1], t[2]), + (this.current = t)); + })); + var p = function (t) { + ((this.context = t), (this.current = !1)); + }; + ((p.prototype.get = function () { + return this.current; + }), + (p.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (t ? e.enable(e.STENCIL_TEST) : e.disable(e.STENCIL_TEST), + (this.current = t)); + } + })); + var d = function (t) { + ((this.context = t), (this.current = [0, 1])); + }; + ((d.prototype.get = function () { + return this.current; + }), + (d.prototype.set = function (t) { + var e = this.current; + (t[0] === e[0] && t[1] === e[1]) || + (this.context.gl.depthRange(t[0], t[1]), + (this.current = t)); + })); + var g = function (t) { + ((this.context = t), (this.current = !1)); + }; + ((g.prototype.get = function () { + return this.current; + }), + (g.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (t ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), + (this.current = t)); + } + })); + var m = function (t) { + ((this.context = t), (this.current = t.gl.LESS)); + }; + ((m.prototype.get = function () { + return this.current; + }), + (m.prototype.set = function (t) { + this.current !== t && + (this.context.gl.depthFunc(t), (this.current = t)); + })); + var v = function (t) { + ((this.context = t), (this.current = !1)); + }; + ((v.prototype.get = function () { + return this.current; + }), + (v.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (t ? e.enable(e.BLEND) : e.disable(e.BLEND), + (this.current = t)); + } + })); + var y = function (t) { + this.context = t; + var e = this.context.gl; + this.current = [e.ONE, e.ZERO]; + }; + ((y.prototype.get = function () { + return this.current; + }), + (y.prototype.set = function (t) { + var e = this.current; + (t[0] === e[0] && t[1] === e[1]) || + (this.context.gl.blendFunc(t[0], t[1]), (this.current = t)); + })); + var x = function (t) { + ((this.context = t), (this.current = n.transparent)); + }; + ((x.prototype.get = function () { + return this.current; + }), + (x.prototype.set = function (t) { + var e = this.current; + (t.r === e.r && t.g === e.g && t.b === e.b && t.a === e.a) || + (this.context.gl.blendColor(t.r, t.g, t.b, t.a), + (this.current = t)); + })); + var b = function (t) { + ((this.context = t), (this.current = null)); + }; + ((b.prototype.get = function () { + return this.current; + }), + (b.prototype.set = function (t) { + this.current !== t && + (this.context.gl.useProgram(t), (this.current = t)); + })); + var _ = function (t) { + ((this.context = t), (this.current = 1)); + }; + ((_.prototype.get = function () { + return this.current; + }), + (_.prototype.set = function (t) { + var e = this.context.lineWidthRange, + r = i.clamp(t, e[0], e[1]); + this.current !== r && + (this.context.gl.lineWidth(r), (this.current = t)); + })); + var w = function (t) { + ((this.context = t), (this.current = t.gl.TEXTURE0)); + }; + ((w.prototype.get = function () { + return this.current; + }), + (w.prototype.set = function (t) { + this.current !== t && + (this.context.gl.activeTexture(t), (this.current = t)); + })); + var k = function (t) { + this.context = t; + var e = this.context.gl; + this.current = [ + 0, + 0, + e.drawingBufferWidth, + e.drawingBufferHeight, + ]; + }; + ((k.prototype.get = function () { + return this.current; + }), + (k.prototype.set = function (t) { + var e = this.current; + (t[0] === e[0] && + t[1] === e[1] && + t[2] === e[2] && + t[3] === e[3]) || + (this.context.gl.viewport(t[0], t[1], t[2], t[3]), + (this.current = t)); + })); + var M = function (t) { + ((this.context = t), (this.current = null)); + }; + ((M.prototype.get = function () { + return this.current; + }), + (M.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.bindFramebuffer(e.FRAMEBUFFER, t), (this.current = t)); + } + })); + var A = function (t) { + ((this.context = t), (this.current = null)); + }; + ((A.prototype.get = function () { + return this.current; + }), + (A.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.bindRenderbuffer(e.RENDERBUFFER, t), (this.current = t)); + } + })); + var T = function (t) { + ((this.context = t), (this.current = null)); + }; + ((T.prototype.get = function () { + return this.current; + }), + (T.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.bindTexture(e.TEXTURE_2D, t), (this.current = t)); + } + })); + var S = function (t) { + ((this.context = t), (this.current = null)); + }; + ((S.prototype.get = function () { + return this.current; + }), + (S.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.bindBuffer(e.ARRAY_BUFFER, t), (this.current = t)); + } + })); + var C = function (t) { + ((this.context = t), (this.current = null)); + }; + ((C.prototype.get = function () { + return this.current; + }), + (C.prototype.set = function (t) { + var e = this.context.gl; + (e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), (this.current = t)); + })); + var E = function (t) { + ((this.context = t), (this.current = null)); + }; + ((E.prototype.get = function () { + return this.current; + }), + (E.prototype.set = function (t) { + this.current !== t && + this.context.extVertexArrayObject && + (this.context.extVertexArrayObject.bindVertexArrayOES(t), + (this.current = t)); + })); + var L = function (t) { + ((this.context = t), (this.current = 4)); + }; + ((L.prototype.get = function () { + return this.current; + }), + (L.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.pixelStorei(e.UNPACK_ALIGNMENT, t), (this.current = t)); + } + })); + var z = function (t) { + ((this.context = t), (this.current = !1)); + }; + ((z.prototype.get = function () { + return this.current; + }), + (z.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, t), + (this.current = t)); + } + })); + var P = function (t, e) { + ((this.context = t), (this.current = null), (this.parent = e)); + }; + P.prototype.get = function () { + return this.current; + }; + var D = (function (t) { + function e(e, r) { + (t.call(this, e, r), (this.dirty = !1)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + if (this.dirty || this.current !== t) { + var e = this.context.gl; + (this.context.bindFramebuffer.set(this.parent), + e.framebufferTexture2D( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + t, + 0, + ), + (this.current = t), + (this.dirty = !1)); + } + }), + (e.prototype.setDirty = function () { + this.dirty = !0; + }), + e + ); + })(P), + O = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.set = function (t) { + if (this.current !== t) { + var e = this.context.gl; + (this.context.bindFramebuffer.set(this.parent), + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.DEPTH_ATTACHMENT, + e.RENDERBUFFER, + t, + ), + (this.current = t)); + } + }), + e + ); + })(P); + e.exports = { + ClearColor: a, + ClearDepth: o, + ClearStencil: s, + ColorMask: l, + DepthMask: c, + StencilMask: u, + StencilFunc: f, + StencilOp: h, + StencilTest: p, + DepthRange: d, + DepthTest: g, + DepthFunc: m, + Blend: v, + BlendFunc: y, + BlendColor: x, + Program: b, + LineWidth: _, + ActiveTextureUnit: w, + Viewport: k, + BindFramebuffer: M, + BindRenderbuffer: A, + BindTexture: T, + BindVertexBuffer: S, + BindElementBuffer: C, + BindVertexArrayOES: E, + PixelStoreUnpack: L, + PixelStoreUnpackPremultiplyAlpha: z, + ColorAttachment: D, + DepthAttachment: O, + }; + }, + { "../style-spec/util/color": 153, "../util/util": 275 }, + ], + 72: [ + function (t, e, r) { + var n = { + Int8: "BYTE", + Uint8: "UNSIGNED_BYTE", + Int16: "SHORT", + Uint16: "UNSIGNED_SHORT", + Int32: "INT", + Uint32: "UNSIGNED_INT", + Float32: "FLOAT", + }, + i = function (t, e, r, n) { + ((this.length = e.length), + (this.attributes = r), + (this.itemSize = e.bytesPerElement), + (this.dynamicDraw = n), + (this.context = t)); + var i = t.gl; + ((this.buffer = i.createBuffer()), + t.bindVertexBuffer.set(this.buffer), + i.bufferData( + i.ARRAY_BUFFER, + e.arrayBuffer, + this.dynamicDraw ? i.DYNAMIC_DRAW : i.STATIC_DRAW, + ), + this.dynamicDraw || delete e.arrayBuffer); + }; + ((i.prototype.bind = function () { + this.context.bindVertexBuffer.set(this.buffer); + }), + (i.prototype.updateData = function (t) { + var e = this.context.gl; + (this.bind(), + e.bufferSubData(e.ARRAY_BUFFER, 0, t.arrayBuffer)); + }), + (i.prototype.enableAttributes = function (t, e) { + for (var r = 0; r < this.attributes.length; r++) { + var n = this.attributes[r], + i = e.attributes[n.name]; + void 0 !== i && t.enableVertexAttribArray(i); + } + }), + (i.prototype.setVertexAttribPointers = function (t, e, r) { + for (var i = this, a = 0; a < this.attributes.length; a++) { + var o = i.attributes[a], + s = e.attributes[o.name]; + void 0 !== s && + t.vertexAttribPointer( + s, + o.components, + t[n[o.type]], + !1, + i.itemSize, + o.offset + i.itemSize * (r || 0), + ); + } + }), + (i.prototype.destroy = function () { + var t = this.context.gl; + this.buffer && + (t.deleteBuffer(this.buffer), delete this.buffer); + }), + (e.exports = i)); + }, + {}, + ], + 73: [ + function (t, e, r) { + var n = t("@mapbox/mapbox-gl-supported"), + i = t("./util/browser"), + a = t("../package.json").version, + o = t("./ui/map"), + s = t("./ui/control/navigation_control"), + l = t("./ui/control/geolocate_control"), + c = t("./ui/control/attribution_control"), + u = t("./ui/control/scale_control"), + f = t("./ui/control/fullscreen_control"), + h = t("./ui/popup"), + p = t("./ui/marker"), + d = t("./style/style"), + g = t("./geo/lng_lat"), + m = t("./geo/lng_lat_bounds"), + v = t("@mapbox/point-geometry"), + y = t("./util/evented"), + x = t("./util/config"), + b = t("./source/rtl_text_plugin"); + e.exports = { + version: a, + supported: n, + workerCount: Math.max(Math.floor(i.hardwareConcurrency / 2), 1), + setRTLTextPlugin: b.setRTLTextPlugin, + Map: o, + NavigationControl: s, + GeolocateControl: l, + AttributionControl: c, + ScaleControl: u, + FullscreenControl: f, + Popup: h, + Marker: p, + Style: d, + LngLat: g, + LngLatBounds: m, + Point: v, + Evented: y, + config: x, + get accessToken() { + return x.ACCESS_TOKEN; + }, + set accessToken(t) { + x.ACCESS_TOKEN = t; + }, + }; + }, + { + "../package.json": 38, + "./geo/lng_lat": 62, + "./geo/lng_lat_bounds": 63, + "./source/rtl_text_plugin": 109, + "./style/style": 190, + "./ui/control/attribution_control": 232, + "./ui/control/fullscreen_control": 233, + "./ui/control/geolocate_control": 234, + "./ui/control/navigation_control": 236, + "./ui/control/scale_control": 237, + "./ui/map": 247, + "./ui/marker": 248, + "./ui/popup": 249, + "./util/browser": 252, + "./util/config": 256, + "./util/evented": 260, + "@mapbox/mapbox-gl-supported": 3, + "@mapbox/point-geometry": 4, + }, + ], + 74: [ + function (t, e, r) { + var n = t("./pattern"), + i = t("../gl/stencil_mode"), + a = t("../gl/depth_mode"); + e.exports = function (t, e, r) { + var o = r.paint.get("background-color"), + s = r.paint.get("background-opacity"); + if (0 !== s) { + var l = t.context, + c = l.gl, + u = t.transform, + f = u.tileSize, + h = r.paint.get("background-pattern"), + p = h || 1 !== o.a || 1 !== s ? "translucent" : "opaque"; + if (t.renderPass === p) { + var d; + if ( + (l.setStencilMode(i.disabled), + l.setDepthMode( + t.depthModeForSublayer( + 0, + "opaque" === p ? a.ReadWrite : a.ReadOnly, + ), + ), + l.setColorMode(t.colorModeForRenderPass()), + h) + ) { + if (n.isPatternMissing(h, t)) return; + ((d = t.useProgram("backgroundPattern")), + n.prepare(h, t, d), + t.tileExtentPatternVAO.bind( + l, + d, + t.tileExtentBuffer, + [], + )); + } else + ((d = t.useProgram("background")), + c.uniform4fv(d.uniforms.u_color, [o.r, o.g, o.b, o.a]), + t.tileExtentVAO.bind(l, d, t.tileExtentBuffer, [])); + c.uniform1f(d.uniforms.u_opacity, s); + for ( + var g = 0, m = u.coveringTiles({ tileSize: f }); + g < m.length; + g += 1 + ) { + var v = m[g]; + (h && n.setTile({ tileID: v, tileSize: f }, t, d), + c.uniformMatrix4fv( + d.uniforms.u_matrix, + !1, + t.transform.calculatePosMatrix(v.toUnwrapped()), + ), + c.drawArrays( + c.TRIANGLE_STRIP, + 0, + t.tileExtentBuffer.length, + )); + } + } + } + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "./pattern": 91, + }, + ], + 75: [ + function (t, e, r) { + var n = t("../source/pixels_to_tile_units"), + i = t("../gl/stencil_mode"), + a = t("../gl/depth_mode"); + e.exports = function (t, e, r, o) { + if ("translucent" === t.renderPass) { + var s = r.paint.get("circle-opacity"), + l = r.paint.get("circle-stroke-width"), + c = r.paint.get("circle-stroke-opacity"); + if ( + 0 !== s.constantOr(1) || + (0 !== l.constantOr(1) && 0 !== c.constantOr(1)) + ) { + var u = t.context, + f = u.gl; + (u.setDepthMode(t.depthModeForSublayer(0, a.ReadOnly)), + u.setStencilMode(i.disabled), + u.setColorMode(t.colorModeForRenderPass())); + for (var h = !0, p = 0; p < o.length; p++) { + var d = o[p], + g = e.getTile(d), + m = g.getBucket(r); + if (m) { + var v = t.context.program.get(), + y = m.programConfigurations.get(r.id), + x = t.useProgram("circle", y); + if ( + ((h || x.program !== v) && + (y.setUniforms(u, x, r.paint, { + zoom: t.transform.zoom, + }), + (h = !1)), + f.uniform1f( + x.uniforms.u_camera_to_center_distance, + t.transform.cameraToCenterDistance, + ), + f.uniform1i( + x.uniforms.u_scale_with_map, + "map" === r.paint.get("circle-pitch-scale") ? 1 : 0, + ), + "map" === r.paint.get("circle-pitch-alignment")) + ) { + f.uniform1i(x.uniforms.u_pitch_with_map, 1); + var b = n(g, 1, t.transform.zoom); + f.uniform2f(x.uniforms.u_extrude_scale, b, b); + } else + (f.uniform1i(x.uniforms.u_pitch_with_map, 0), + f.uniform2fv( + x.uniforms.u_extrude_scale, + t.transform.pixelsToGLUnits, + )); + (f.uniformMatrix4fv( + x.uniforms.u_matrix, + !1, + t.translatePosMatrix( + d.posMatrix, + g, + r.paint.get("circle-translate"), + r.paint.get("circle-translate-anchor"), + ), + ), + x.draw( + u, + f.TRIANGLES, + r.id, + m.layoutVertexBuffer, + m.indexBuffer, + m.segments, + y, + )); + } + } + } + } + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../source/pixels_to_tile_units": 104, + }, + ], + 76: [ + function (t, e, r) { + function n(t, e, r, n, s) { + var l = t.context, + c = l.gl, + u = s + ? t.useProgram("collisionCircle") + : t.useProgram("collisionBox"); + (l.setDepthMode(a.disabled), + l.setStencilMode(o.disabled), + l.setColorMode(t.colorModeForRenderPass())); + for (var f = 0; f < n.length; f++) { + var h = n[f], + p = e.getTile(h), + d = p.getBucket(r); + if (d) { + var g = s ? d.collisionCircle : d.collisionBox; + if (g) { + (c.uniformMatrix4fv(u.uniforms.u_matrix, !1, h.posMatrix), + s || l.lineWidth.set(1), + c.uniform1f( + u.uniforms.u_camera_to_center_distance, + t.transform.cameraToCenterDistance, + )); + var m = i(p, 1, t.transform.zoom), + v = Math.pow( + 2, + t.transform.zoom - p.tileID.overscaledZ, + ); + (c.uniform1f(u.uniforms.u_pixels_to_tile_units, m), + c.uniform2f( + u.uniforms.u_extrude_scale, + t.transform.pixelsToGLUnits[0] / (m * v), + t.transform.pixelsToGLUnits[1] / (m * v), + ), + u.draw( + l, + s ? c.TRIANGLES : c.LINES, + r.id, + g.layoutVertexBuffer, + g.indexBuffer, + g.segments, + null, + g.collisionVertexBuffer, + null, + )); + } + } + } + } + var i = t("../source/pixels_to_tile_units"), + a = t("../gl/depth_mode"), + o = t("../gl/stencil_mode"); + e.exports = function (t, e, r, i) { + (n(t, e, r, i, !1), n(t, e, r, i, !0)); + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../source/pixels_to_tile_units": 104, + }, + ], + 77: [ + function (t, e, r) { + function n(t, e, r) { + var n = t.context, + p = n.gl; + n.lineWidth.set(1 * i.devicePixelRatio); + var d = r.posMatrix, + g = t.useProgram("debug"); + (n.setDepthMode(u.disabled), + n.setStencilMode(f.disabled), + n.setColorMode(t.colorModeForRenderPass()), + p.uniformMatrix4fv(g.uniforms.u_matrix, !1, d), + p.uniform4f(g.uniforms.u_color, 1, 0, 0, 1), + t.debugVAO.bind(n, g, t.debugBuffer, []), + p.drawArrays(p.LINE_STRIP, 0, t.debugBuffer.length)); + for ( + var m = (function (t, e, r, n) { + n = n || 1; + var i, + a, + o, + s, + l, + c, + u, + f, + p = []; + for (i = 0, a = t.length; i < a; i++) + if ((l = h[t[i]])) { + for (f = null, o = 0, s = l[1].length; o < s; o += 2) + -1 === l[1][o] && -1 === l[1][o + 1] + ? (f = null) + : ((c = e + l[1][o] * n), + (u = r - l[1][o + 1] * n), + f && p.push(f.x, f.y, c, u), + (f = { x: c, y: u })); + e += l[0] * n; + } + return p; + })(r.toString(), 50, 200, 5), + v = new l(), + y = 0; + y < m.length; + y += 2 + ) + v.emplaceBack(m[y], m[y + 1]); + var x = n.createVertexBuffer(v, c.members); + (new s().bind(n, g, x, []), + p.uniform4f(g.uniforms.u_color, 1, 1, 1, 1)); + for ( + var b = e.getTile(r).tileSize, + _ = o / (Math.pow(2, t.transform.zoom - r.overscaledZ) * b), + w = [ + [-1, -1], + [-1, 1], + [1, -1], + [1, 1], + ], + k = 0; + k < w.length; + k++ + ) { + var M = w[k]; + (p.uniformMatrix4fv( + g.uniforms.u_matrix, + !1, + a.translate([], d, [_ * M[0], _ * M[1], 0]), + ), + p.drawArrays(p.LINES, 0, x.length)); + } + (p.uniform4f(g.uniforms.u_color, 0, 0, 0, 1), + p.uniformMatrix4fv(g.uniforms.u_matrix, !1, d), + p.drawArrays(p.LINES, 0, x.length)); + } + var i = t("../util/browser"), + a = t("@mapbox/gl-matrix").mat4, + o = t("../data/extent"), + s = t("./vertex_array_object"), + l = t("../data/array_types").PosArray, + c = t("../data/pos_attributes"), + u = t("../gl/depth_mode"), + f = t("../gl/stencil_mode"); + e.exports = function (t, e, r) { + for (var i = 0; i < r.length; i++) n(t, e, r[i]); + }; + var h = { + " ": [16, []], + "!": [10, [5, 21, 5, 7, -1, -1, 5, 2, 4, 1, 5, 0, 6, 1, 5, 2]], + '"': [16, [4, 21, 4, 14, -1, -1, 12, 21, 12, 14]], + "#": [ + 21, + [ + 11, 25, 4, -7, -1, -1, 17, 25, 10, -7, -1, -1, 4, 12, 18, + 12, -1, -1, 3, 6, 17, 6, + ], + ], + $: [ + 20, + [ + 8, 25, 8, -4, -1, -1, 12, 25, 12, -4, -1, -1, 17, 18, 15, + 20, 12, 21, 8, 21, 5, 20, 3, 18, 3, 16, 4, 14, 5, 13, 7, 12, + 13, 10, 15, 9, 16, 8, 17, 6, 17, 3, 15, 1, 12, 0, 8, 0, 5, + 1, 3, 3, + ], + ], + "%": [ + 24, + [ + 21, 21, 3, 0, -1, -1, 8, 21, 10, 19, 10, 17, 9, 15, 7, 14, + 5, 14, 3, 16, 3, 18, 4, 20, 6, 21, 8, 21, 10, 20, 13, 19, + 16, 19, 19, 20, 21, 21, -1, -1, 17, 7, 15, 6, 14, 4, 14, 2, + 16, 0, 18, 0, 20, 1, 21, 3, 21, 5, 19, 7, 17, 7, + ], + ], + "&": [ + 26, + [ + 23, 12, 23, 13, 22, 14, 21, 14, 20, 13, 19, 11, 17, 6, 15, + 3, 13, 1, 11, 0, 7, 0, 5, 1, 4, 2, 3, 4, 3, 6, 4, 8, 5, 9, + 12, 13, 13, 14, 14, 16, 14, 18, 13, 20, 11, 21, 9, 20, 8, + 18, 8, 16, 9, 13, 11, 10, 16, 3, 18, 1, 20, 0, 22, 0, 23, 1, + 23, 2, + ], + ], + "'": [10, [5, 19, 4, 20, 5, 21, 6, 20, 6, 18, 5, 16, 4, 15]], + "(": [ + 14, + [ + 11, 25, 9, 23, 7, 20, 5, 16, 4, 11, 4, 7, 5, 2, 7, -2, 9, + -5, 11, -7, + ], + ], + ")": [ + 14, + [ + 3, 25, 5, 23, 7, 20, 9, 16, 10, 11, 10, 7, 9, 2, 7, -2, 5, + -5, 3, -7, + ], + ], + "*": [ + 16, + [8, 21, 8, 9, -1, -1, 3, 18, 13, 12, -1, -1, 13, 18, 3, 12], + ], + "+": [26, [13, 18, 13, 0, -1, -1, 4, 9, 22, 9]], + ",": [10, [6, 1, 5, 0, 4, 1, 5, 2, 6, 1, 6, -1, 5, -3, 4, -4]], + "-": [26, [4, 9, 22, 9]], + ".": [10, [5, 2, 4, 1, 5, 0, 6, 1, 5, 2]], + "/": [22, [20, 25, 2, -7]], + 0: [ + 20, + [ + 9, 21, 6, 20, 4, 17, 3, 12, 3, 9, 4, 4, 6, 1, 9, 0, 11, 0, + 14, 1, 16, 4, 17, 9, 17, 12, 16, 17, 14, 20, 11, 21, 9, 21, + ], + ], + 1: [20, [6, 17, 8, 18, 11, 21, 11, 0]], + 2: [ + 20, + [ + 4, 16, 4, 17, 5, 19, 6, 20, 8, 21, 12, 21, 14, 20, 15, 19, + 16, 17, 16, 15, 15, 13, 13, 10, 3, 0, 17, 0, + ], + ], + 3: [ + 20, + [ + 5, 21, 16, 21, 10, 13, 13, 13, 15, 12, 16, 11, 17, 8, 17, 6, + 16, 3, 14, 1, 11, 0, 8, 0, 5, 1, 4, 2, 3, 4, + ], + ], + 4: [20, [13, 21, 3, 7, 18, 7, -1, -1, 13, 21, 13, 0]], + 5: [ + 20, + [ + 15, 21, 5, 21, 4, 12, 5, 13, 8, 14, 11, 14, 14, 13, 16, 11, + 17, 8, 17, 6, 16, 3, 14, 1, 11, 0, 8, 0, 5, 1, 4, 2, 3, 4, + ], + ], + 6: [ + 20, + [ + 16, 18, 15, 20, 12, 21, 10, 21, 7, 20, 5, 17, 4, 12, 4, 7, + 5, 3, 7, 1, 10, 0, 11, 0, 14, 1, 16, 3, 17, 6, 17, 7, 16, + 10, 14, 12, 11, 13, 10, 13, 7, 12, 5, 10, 4, 7, + ], + ], + 7: [20, [17, 21, 7, 0, -1, -1, 3, 21, 17, 21]], + 8: [ + 20, + [ + 8, 21, 5, 20, 4, 18, 4, 16, 5, 14, 7, 13, 11, 12, 14, 11, + 16, 9, 17, 7, 17, 4, 16, 2, 15, 1, 12, 0, 8, 0, 5, 1, 4, 2, + 3, 4, 3, 7, 4, 9, 6, 11, 9, 12, 13, 13, 15, 14, 16, 16, 16, + 18, 15, 20, 12, 21, 8, 21, + ], + ], + 9: [ + 20, + [ + 16, 14, 15, 11, 13, 9, 10, 8, 9, 8, 6, 9, 4, 11, 3, 14, 3, + 15, 4, 18, 6, 20, 9, 21, 10, 21, 13, 20, 15, 18, 16, 14, 16, + 9, 15, 4, 13, 1, 10, 0, 8, 0, 5, 1, 4, 3, + ], + ], + ":": [ + 10, + [ + 5, 14, 4, 13, 5, 12, 6, 13, 5, 14, -1, -1, 5, 2, 4, 1, 5, 0, + 6, 1, 5, 2, + ], + ], + ";": [ + 10, + [ + 5, 14, 4, 13, 5, 12, 6, 13, 5, 14, -1, -1, 6, 1, 5, 0, 4, 1, + 5, 2, 6, 1, 6, -1, 5, -3, 4, -4, + ], + ], + "<": [24, [20, 18, 4, 9, 20, 0]], + "=": [26, [4, 12, 22, 12, -1, -1, 4, 6, 22, 6]], + ">": [24, [4, 18, 20, 9, 4, 0]], + "?": [ + 18, + [ + 3, 16, 3, 17, 4, 19, 5, 20, 7, 21, 11, 21, 13, 20, 14, 19, + 15, 17, 15, 15, 14, 13, 13, 12, 9, 10, 9, 7, -1, -1, 9, 2, + 8, 1, 9, 0, 10, 1, 9, 2, + ], + ], + "@": [ + 27, + [ + 18, 13, 17, 15, 15, 16, 12, 16, 10, 15, 9, 14, 8, 11, 8, 8, + 9, 6, 11, 5, 14, 5, 16, 6, 17, 8, -1, -1, 12, 16, 10, 14, 9, + 11, 9, 8, 10, 6, 11, 5, -1, -1, 18, 16, 17, 8, 17, 6, 19, 5, + 21, 5, 23, 7, 24, 10, 24, 12, 23, 15, 22, 17, 20, 19, 18, + 20, 15, 21, 12, 21, 9, 20, 7, 19, 5, 17, 4, 15, 3, 12, 3, 9, + 4, 6, 5, 4, 7, 2, 9, 1, 12, 0, 15, 0, 18, 1, 20, 2, 21, 3, + -1, -1, 19, 16, 18, 8, 18, 6, 19, 5, + ], + ], + A: [ + 18, + [9, 21, 1, 0, -1, -1, 9, 21, 17, 0, -1, -1, 4, 7, 14, 7], + ], + B: [ + 21, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, + 18, 15, 17, 13, 16, 12, 13, 11, -1, -1, 4, 11, 13, 11, 16, + 10, 17, 9, 18, 7, 18, 4, 17, 2, 16, 1, 13, 0, 4, 0, + ], + ], + C: [ + 21, + [ + 18, 16, 17, 18, 15, 20, 13, 21, 9, 21, 7, 20, 5, 18, 4, 16, + 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, 9, 0, 13, 0, 15, 1, 17, 3, + 18, 5, + ], + ], + D: [ + 21, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 11, 21, 14, 20, 16, 18, 17, 16, + 18, 13, 18, 8, 17, 5, 16, 3, 14, 1, 11, 0, 4, 0, + ], + ], + E: [ + 19, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 17, 21, -1, -1, 4, 11, 12, 11, + -1, -1, 4, 0, 17, 0, + ], + ], + F: [ + 18, + [4, 21, 4, 0, -1, -1, 4, 21, 17, 21, -1, -1, 4, 11, 12, 11], + ], + G: [ + 21, + [ + 18, 16, 17, 18, 15, 20, 13, 21, 9, 21, 7, 20, 5, 18, 4, 16, + 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, 9, 0, 13, 0, 15, 1, 17, 3, + 18, 5, 18, 8, -1, -1, 13, 8, 18, 8, + ], + ], + H: [ + 22, + [4, 21, 4, 0, -1, -1, 18, 21, 18, 0, -1, -1, 4, 11, 18, 11], + ], + I: [8, [4, 21, 4, 0]], + J: [ + 16, + [ + 12, 21, 12, 5, 11, 2, 10, 1, 8, 0, 6, 0, 4, 1, 3, 2, 2, 5, + 2, 7, + ], + ], + K: [ + 21, + [4, 21, 4, 0, -1, -1, 18, 21, 4, 7, -1, -1, 9, 12, 18, 0], + ], + L: [17, [4, 21, 4, 0, -1, -1, 4, 0, 16, 0]], + M: [ + 24, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 12, 0, -1, -1, 20, 21, 12, 0, + -1, -1, 20, 21, 20, 0, + ], + ], + N: [ + 22, + [4, 21, 4, 0, -1, -1, 4, 21, 18, 0, -1, -1, 18, 21, 18, 0], + ], + O: [ + 22, + [ + 9, 21, 7, 20, 5, 18, 4, 16, 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, + 9, 0, 13, 0, 15, 1, 17, 3, 18, 5, 19, 8, 19, 13, 18, 16, 17, + 18, 15, 20, 13, 21, 9, 21, + ], + ], + P: [ + 21, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, + 18, 14, 17, 12, 16, 11, 13, 10, 4, 10, + ], + ], + Q: [ + 22, + [ + 9, 21, 7, 20, 5, 18, 4, 16, 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, + 9, 0, 13, 0, 15, 1, 17, 3, 18, 5, 19, 8, 19, 13, 18, 16, 17, + 18, 15, 20, 13, 21, 9, 21, -1, -1, 12, 4, 18, -2, + ], + ], + R: [ + 21, + [ + 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, + 18, 15, 17, 13, 16, 12, 13, 11, 4, 11, -1, -1, 11, 11, 18, + 0, + ], + ], + S: [ + 20, + [ + 17, 18, 15, 20, 12, 21, 8, 21, 5, 20, 3, 18, 3, 16, 4, 14, + 5, 13, 7, 12, 13, 10, 15, 9, 16, 8, 17, 6, 17, 3, 15, 1, 12, + 0, 8, 0, 5, 1, 3, 3, + ], + ], + T: [16, [8, 21, 8, 0, -1, -1, 1, 21, 15, 21]], + U: [ + 22, + [ + 4, 21, 4, 6, 5, 3, 7, 1, 10, 0, 12, 0, 15, 1, 17, 3, 18, 6, + 18, 21, + ], + ], + V: [18, [1, 21, 9, 0, -1, -1, 17, 21, 9, 0]], + W: [ + 24, + [ + 2, 21, 7, 0, -1, -1, 12, 21, 7, 0, -1, -1, 12, 21, 17, 0, + -1, -1, 22, 21, 17, 0, + ], + ], + X: [20, [3, 21, 17, 0, -1, -1, 17, 21, 3, 0]], + Y: [18, [1, 21, 9, 11, 9, 0, -1, -1, 17, 21, 9, 11]], + Z: [ + 20, + [17, 21, 3, 0, -1, -1, 3, 21, 17, 21, -1, -1, 3, 0, 17, 0], + ], + "[": [ + 14, + [ + 4, 25, 4, -7, -1, -1, 5, 25, 5, -7, -1, -1, 4, 25, 11, 25, + -1, -1, 4, -7, 11, -7, + ], + ], + "\\": [14, [0, 21, 14, -3]], + "]": [ + 14, + [ + 9, 25, 9, -7, -1, -1, 10, 25, 10, -7, -1, -1, 3, 25, 10, 25, + -1, -1, 3, -7, 10, -7, + ], + ], + "^": [ + 16, + [ + 6, 15, 8, 18, 10, 15, -1, -1, 3, 12, 8, 17, 13, 12, -1, -1, + 8, 17, 8, 0, + ], + ], + _: [16, [0, -2, 16, -2]], + "`": [10, [6, 21, 5, 20, 4, 18, 4, 16, 5, 15, 6, 16, 5, 17]], + a: [ + 19, + [ + 15, 14, 15, 0, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, + 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, + ], + ], + b: [ + 19, + [ + 4, 21, 4, 0, -1, -1, 4, 11, 6, 13, 8, 14, 11, 14, 13, 13, + 15, 11, 16, 8, 16, 6, 15, 3, 13, 1, 11, 0, 8, 0, 6, 1, 4, 3, + ], + ], + c: [ + 18, + [ + 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, 4, + 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, + ], + ], + d: [ + 19, + [ + 15, 21, 15, 0, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, + 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, + ], + ], + e: [ + 18, + [ + 3, 8, 15, 8, 15, 10, 14, 12, 13, 13, 11, 14, 8, 14, 6, 13, + 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, + ], + ], + f: [ + 12, + [10, 21, 8, 21, 6, 20, 5, 17, 5, 0, -1, -1, 2, 14, 9, 14], + ], + g: [ + 19, + [ + 15, 14, 15, -2, 14, -5, 13, -6, 11, -7, 8, -7, 6, -6, -1, + -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, + 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, + ], + ], + h: [ + 19, + [ + 4, 21, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, + 15, 10, 15, 0, + ], + ], + i: [ + 8, + [3, 21, 4, 20, 5, 21, 4, 22, 3, 21, -1, -1, 4, 14, 4, 0], + ], + j: [ + 10, + [ + 5, 21, 6, 20, 7, 21, 6, 22, 5, 21, -1, -1, 6, 14, 6, -3, 5, + -6, 3, -7, 1, -7, + ], + ], + k: [ + 17, + [4, 21, 4, 0, -1, -1, 14, 14, 4, 4, -1, -1, 8, 8, 15, 0], + ], + l: [8, [4, 21, 4, 0]], + m: [ + 30, + [ + 4, 14, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, + 15, 10, 15, 0, -1, -1, 15, 10, 18, 13, 20, 14, 23, 14, 25, + 13, 26, 10, 26, 0, + ], + ], + n: [ + 19, + [ + 4, 14, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, + 15, 10, 15, 0, + ], + ], + o: [ + 19, + [ + 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, + 13, 1, 15, 3, 16, 6, 16, 8, 15, 11, 13, 13, 11, 14, 8, 14, + ], + ], + p: [ + 19, + [ + 4, 14, 4, -7, -1, -1, 4, 11, 6, 13, 8, 14, 11, 14, 13, 13, + 15, 11, 16, 8, 16, 6, 15, 3, 13, 1, 11, 0, 8, 0, 6, 1, 4, 3, + ], + ], + q: [ + 19, + [ + 15, 14, 15, -7, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, + 13, 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, + 3, + ], + ], + r: [ + 13, + [4, 14, 4, 0, -1, -1, 4, 8, 5, 11, 7, 13, 9, 14, 12, 14], + ], + s: [ + 17, + [ + 14, 11, 13, 13, 10, 14, 7, 14, 4, 13, 3, 11, 4, 9, 6, 8, 11, + 7, 13, 6, 14, 4, 14, 3, 13, 1, 10, 0, 7, 0, 4, 1, 3, 3, + ], + ], + t: [12, [5, 21, 5, 4, 6, 1, 8, 0, 10, 0, -1, -1, 2, 14, 9, 14]], + u: [ + 19, + [ + 4, 14, 4, 4, 5, 1, 7, 0, 10, 0, 12, 1, 15, 4, -1, -1, 15, + 14, 15, 0, + ], + ], + v: [16, [2, 14, 8, 0, -1, -1, 14, 14, 8, 0]], + w: [ + 22, + [ + 3, 14, 7, 0, -1, -1, 11, 14, 7, 0, -1, -1, 11, 14, 15, 0, + -1, -1, 19, 14, 15, 0, + ], + ], + x: [17, [3, 14, 14, 0, -1, -1, 14, 14, 3, 0]], + y: [ + 16, + [ + 2, 14, 8, 0, -1, -1, 14, 14, 8, 0, 6, -4, 4, -6, 2, -7, 1, + -7, + ], + ], + z: [ + 17, + [14, 14, 3, 0, -1, -1, 3, 14, 14, 14, -1, -1, 3, 0, 14, 0], + ], + "{": [ + 14, + [ + 9, 25, 7, 24, 6, 23, 5, 21, 5, 19, 6, 17, 7, 16, 8, 14, 8, + 12, 6, 10, -1, -1, 7, 24, 6, 22, 6, 20, 7, 18, 8, 17, 9, 15, + 9, 13, 8, 11, 4, 9, 8, 7, 9, 5, 9, 3, 8, 1, 7, 0, 6, -2, 6, + -4, 7, -6, -1, -1, 6, 8, 8, 6, 8, 4, 7, 2, 6, 1, 5, -1, 5, + -3, 6, -5, 7, -6, 9, -7, + ], + ], + "|": [8, [4, 25, 4, -7]], + "}": [ + 14, + [ + 5, 25, 7, 24, 8, 23, 9, 21, 9, 19, 8, 17, 7, 16, 6, 14, 6, + 12, 8, 10, -1, -1, 7, 24, 8, 22, 8, 20, 7, 18, 6, 17, 5, 15, + 5, 13, 6, 11, 10, 9, 6, 7, 5, 5, 5, 3, 6, 1, 7, 0, 8, -2, 8, + -4, 7, -6, -1, -1, 8, 8, 6, 6, 6, 4, 7, 2, 8, 1, 9, -1, 9, + -3, 8, -5, 7, -6, 5, -7, + ], + ], + "~": [ + 24, + [ + 3, 6, 3, 8, 4, 11, 6, 12, 8, 12, 10, 11, 14, 8, 16, 7, 18, + 7, 20, 8, 21, 10, -1, -1, 3, 8, 4, 10, 6, 11, 8, 11, 10, 10, + 14, 7, 16, 6, 18, 6, 20, 7, 21, 10, 21, 12, + ], + ], + }; + }, + { + "../data/array_types": 39, + "../data/extent": 53, + "../data/pos_attributes": 57, + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../util/browser": 252, + "./vertex_array_object": 95, + "@mapbox/gl-matrix": 2, + }, + ], + 78: [ + function (t, e, r) { + function n(t, e, r, n, i) { + if (!s.isPatternMissing(r.paint.get("fill-pattern"), t)) + for (var a = !0, o = 0, l = n; o < l.length; o += 1) { + var c = l[o], + u = e.getTile(c), + f = u.getBucket(r); + f && + (t.context.setStencilMode(t.stencilModeForClipping(c)), + i(t, e, r, u, c, f, a), + (a = !1)); + } + } + function i(t, e, r, n, i, a, s) { + var l = t.context.gl, + c = a.programConfigurations.get(r.id); + o("fill", r.paint.get("fill-pattern"), t, c, r, n, i, s).draw( + t.context, + l.TRIANGLES, + r.id, + a.layoutVertexBuffer, + a.indexBuffer, + a.segments, + c, + ); + } + function a(t, e, r, n, i, a, s) { + var l = t.context.gl, + c = a.programConfigurations.get(r.id), + u = o( + "fillOutline", + r.getPaintProperty("fill-outline-color") + ? null + : r.paint.get("fill-pattern"), + t, + c, + r, + n, + i, + s, + ); + (l.uniform2f( + u.uniforms.u_world, + l.drawingBufferWidth, + l.drawingBufferHeight, + ), + u.draw( + t.context, + l.LINES, + r.id, + a.layoutVertexBuffer, + a.indexBuffer2, + a.segments2, + c, + )); + } + function o(t, e, r, n, i, a, o, l) { + var c, + u = r.context.program.get(); + return ( + e + ? ((c = r.useProgram(t + "Pattern", n)), + (l || c.program !== u) && + (n.setUniforms(r.context, c, i.paint, { + zoom: r.transform.zoom, + }), + s.prepare(e, r, c)), + s.setTile(a, r, c)) + : ((c = r.useProgram(t, n)), + (l || c.program !== u) && + n.setUniforms(r.context, c, i.paint, { + zoom: r.transform.zoom, + })), + r.context.gl.uniformMatrix4fv( + c.uniforms.u_matrix, + !1, + r.translatePosMatrix( + o.posMatrix, + a, + i.paint.get("fill-translate"), + i.paint.get("fill-translate-anchor"), + ), + ), + c + ); + } + var s = t("./pattern"), + l = t("../style-spec/util/color"), + c = t("../gl/depth_mode"); + e.exports = function (t, e, r, o) { + var s = r.paint.get("fill-color"), + u = r.paint.get("fill-opacity"); + if (0 !== u.constantOr(1)) { + var f = t.context; + f.setColorMode(t.colorModeForRenderPass()); + var h = + r.paint.get("fill-pattern") || + 1 !== s.constantOr(l.transparent).a || + 1 !== u.constantOr(0) + ? "translucent" + : "opaque"; + (t.renderPass === h && + (f.setDepthMode( + t.depthModeForSublayer( + 1, + "opaque" === t.renderPass ? c.ReadWrite : c.ReadOnly, + ), + ), + n(t, e, r, o, i)), + "translucent" === t.renderPass && + r.paint.get("fill-antialias") && + (f.lineWidth.set(2), + f.setDepthMode( + t.depthModeForSublayer( + r.getPaintProperty("fill-outline-color") ? 2 : 0, + c.ReadOnly, + ), + ), + n(t, e, r, o, a))); + } + }; + }, + { + "../gl/depth_mode": 67, + "../style-spec/util/color": 153, + "./pattern": 91, + }, + ], + 79: [ + function (t, e, r) { + function n(t, e, r, n, i, o, s) { + var l = t.context, + u = l.gl, + h = r.paint.get("fill-extrusion-pattern"), + p = t.context.program.get(), + d = o.programConfigurations.get(r.id), + g = t.useProgram( + h ? "fillExtrusionPattern" : "fillExtrusion", + d, + ); + if ( + ((s || g.program !== p) && + d.setUniforms(l, g, r.paint, { zoom: t.transform.zoom }), + h) + ) { + if (a.isPatternMissing(h, t)) return; + (a.prepare(h, t, g), + a.setTile(n, t, g), + u.uniform1f( + g.uniforms.u_height_factor, + -Math.pow(2, i.overscaledZ) / n.tileSize / 8, + )); + } + (t.context.gl.uniformMatrix4fv( + g.uniforms.u_matrix, + !1, + t.translatePosMatrix( + i.posMatrix, + n, + r.paint.get("fill-extrusion-translate"), + r.paint.get("fill-extrusion-translate-anchor"), + ), + ), + (function (t, e) { + var r = e.context.gl, + n = e.style.light, + i = n.properties.get("position"), + a = [i.x, i.y, i.z], + o = c.create(); + ("viewport" === n.properties.get("anchor") && + c.fromRotation(o, -e.transform.angle), + f.transformMat3(a, a, o)); + var s = n.properties.get("color"); + (r.uniform3fv(t.uniforms.u_lightpos, a), + r.uniform1f( + t.uniforms.u_lightintensity, + n.properties.get("intensity"), + ), + r.uniform3f(t.uniforms.u_lightcolor, s.r, s.g, s.b)); + })(g, t), + g.draw( + l, + u.TRIANGLES, + r.id, + o.layoutVertexBuffer, + o.indexBuffer, + o.segments, + d, + )); + } + var i = t("@mapbox/gl-matrix"), + a = t("./pattern"), + o = t("./texture"), + s = t("../style-spec/util/color"), + l = t("../gl/depth_mode"), + c = i.mat3, + u = i.mat4, + f = i.vec3, + h = t("../gl/stencil_mode"); + e.exports = function (t, e, r, i) { + if (0 !== r.paint.get("fill-extrusion-opacity")) + if ("offscreen" === t.renderPass) { + !(function (t, e) { + var r = t.context, + n = r.gl, + i = e.viewportFrame; + if ( + (t.depthRboNeedsClear && + t.setupOffscreenDepthRenderbuffer(), + !i) + ) { + var a = new o( + r, + { width: t.width, height: t.height, data: null }, + n.RGBA, + ); + (a.bind(n.LINEAR, n.CLAMP_TO_EDGE), + (i = e.viewportFrame = + r.createFramebuffer( + t.width, + t.height, + )).colorAttachment.set(a.texture)); + } + (r.bindFramebuffer.set(i.framebuffer), + i.depthAttachment.set(t.depthRbo), + t.depthRboNeedsClear && + (r.clear({ depth: 1 }), (t.depthRboNeedsClear = !1)), + r.clear({ color: s.transparent }), + r.setStencilMode(h.disabled), + r.setDepthMode(new l(n.LEQUAL, l.ReadWrite, [0, 1])), + r.setColorMode(t.colorModeForRenderPass())); + })(t, r); + for (var a = !0, c = 0, f = i; c < f.length; c += 1) { + var p = f[c], + d = e.getTile(p), + g = d.getBucket(r); + g && (n(t, 0, r, d, p, g, a), (a = !1)); + } + } else + "translucent" === t.renderPass && + (function (t, e) { + var r = e.viewportFrame; + if (r) { + var n = t.context, + i = n.gl, + a = t.useProgram("extrusionTexture"); + (n.setStencilMode(h.disabled), + n.setDepthMode(l.disabled), + n.setColorMode(t.colorModeForRenderPass()), + n.activeTexture.set(i.TEXTURE0), + i.bindTexture( + i.TEXTURE_2D, + r.colorAttachment.get(), + ), + i.uniform1f( + a.uniforms.u_opacity, + e.paint.get("fill-extrusion-opacity"), + ), + i.uniform1i(a.uniforms.u_image, 0)); + var o = u.create(); + (u.ortho(o, 0, t.width, t.height, 0, 0, 1), + i.uniformMatrix4fv(a.uniforms.u_matrix, !1, o), + i.uniform2f( + a.uniforms.u_world, + i.drawingBufferWidth, + i.drawingBufferHeight, + ), + t.viewportVAO.bind(n, a, t.viewportBuffer, []), + i.drawArrays(i.TRIANGLE_STRIP, 0, 4)); + } + })(t, r); + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../style-spec/util/color": 153, + "./pattern": 91, + "./texture": 93, + "@mapbox/gl-matrix": 2, + }, + ], + 80: [ + function (t, e, r) { + var n = t("@mapbox/gl-matrix").mat4, + i = t("./texture"), + a = t("../source/pixels_to_tile_units"), + o = t("../style-spec/util/color"), + s = t("../gl/depth_mode"), + l = t("../gl/stencil_mode"), + c = t("../gl/color_mode"); + e.exports = function (t, e, r, u) { + if (0 !== r.paint.get("heatmap-opacity")) + if ("offscreen" === t.renderPass) { + var f = t.context, + h = f.gl; + (f.setDepthMode(t.depthModeForSublayer(0, s.ReadOnly)), + f.setStencilMode(l.disabled), + (function (t, e, r) { + var n = t.gl; + (t.activeTexture.set(n.TEXTURE1), + t.viewport.set([0, 0, e.width / 4, e.height / 4])); + var i = r.heatmapFbo; + if (i) + (n.bindTexture(n.TEXTURE_2D, i.colorAttachment.get()), + t.bindFramebuffer.set(i.framebuffer)); + else { + var a = n.createTexture(); + (n.bindTexture(n.TEXTURE_2D, a), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_WRAP_S, + n.CLAMP_TO_EDGE, + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_WRAP_T, + n.CLAMP_TO_EDGE, + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MIN_FILTER, + n.LINEAR, + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MAG_FILTER, + n.LINEAR, + ), + (i = r.heatmapFbo = + t.createFramebuffer(e.width / 4, e.height / 4)), + (function t(e, r, n, i) { + var a = e.gl; + (a.texImage2D( + a.TEXTURE_2D, + 0, + a.RGBA, + r.width / 4, + r.height / 4, + 0, + a.RGBA, + e.extTextureHalfFloat + ? e.extTextureHalfFloat.HALF_FLOAT_OES + : a.UNSIGNED_BYTE, + null, + ), + i.colorAttachment.set(n), + e.extTextureHalfFloat && + a.checkFramebufferStatus(a.FRAMEBUFFER) !== + a.FRAMEBUFFER_COMPLETE && + ((e.extTextureHalfFloat = null), + i.colorAttachment.setDirty(), + t(e, r, n, i))); + })(t, e, a, i)); + } + })(f, t, r), + f.clear({ color: o.transparent }), + f.setColorMode( + new c([h.ONE, h.ONE], o.transparent, [!0, !0, !0, !0]), + )); + for (var p = !0, d = 0; d < u.length; d++) { + var g = u[d]; + if (!e.hasRenderableParent(g)) { + var m = e.getTile(g), + v = m.getBucket(r); + if (v) { + var y = t.context.program.get(), + x = v.programConfigurations.get(r.id), + b = t.useProgram("heatmap", x), + _ = t.transform.zoom; + ((p || b.program !== y) && + (x.setUniforms(t.context, b, r.paint, { zoom: _ }), + (p = !1)), + h.uniform1f(b.uniforms.u_extrude_scale, a(m, 1, _)), + h.uniform1f( + b.uniforms.u_intensity, + r.paint.get("heatmap-intensity"), + ), + h.uniformMatrix4fv( + b.uniforms.u_matrix, + !1, + g.posMatrix, + ), + b.draw( + f, + h.TRIANGLES, + r.id, + v.layoutVertexBuffer, + v.indexBuffer, + v.segments, + x, + )); + } + } + } + f.viewport.set([0, 0, t.width, t.height]); + } else + "translucent" === t.renderPass && + (t.context.setColorMode(t.colorModeForRenderPass()), + (function (t, e) { + var r = t.context, + a = r.gl, + o = e.heatmapFbo; + if (o) { + (r.activeTexture.set(a.TEXTURE0), + a.bindTexture( + a.TEXTURE_2D, + o.colorAttachment.get(), + ), + r.activeTexture.set(a.TEXTURE1)); + var l = e.colorRampTexture; + (l || + (l = e.colorRampTexture = + new i(r, e.colorRamp, a.RGBA)), + l.bind(a.LINEAR, a.CLAMP_TO_EDGE), + r.setDepthMode(s.disabled)); + var c = t.useProgram("heatmapTexture"), + u = e.paint.get("heatmap-opacity"); + (a.uniform1f(c.uniforms.u_opacity, u), + a.uniform1i(c.uniforms.u_image, 0), + a.uniform1i(c.uniforms.u_color_ramp, 1)); + var f = n.create(); + (n.ortho(f, 0, t.width, t.height, 0, 0, 1), + a.uniformMatrix4fv(c.uniforms.u_matrix, !1, f), + a.uniform2f( + c.uniforms.u_world, + a.drawingBufferWidth, + a.drawingBufferHeight, + ), + t.viewportVAO.bind( + t.context, + c, + t.viewportBuffer, + [], + ), + a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); + } + })(t, r)); + }; + }, + { + "../gl/color_mode": 65, + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../source/pixels_to_tile_units": 104, + "../style-spec/util/color": 153, + "./texture": 93, + "@mapbox/gl-matrix": 2, + }, + ], + 81: [ + function (t, e, r) { + function n(t, e, r) { + var n = t.context, + i = n.gl, + o = e.fbo; + if (o) { + var s = t.useProgram("hillshade"), + l = t.transform.calculatePosMatrix(e.tileID.toUnwrapped()); + !(function (t, e, r) { + var n = + r.paint.get("hillshade-illumination-direction") * + (Math.PI / 180); + ("viewport" === + r.paint.get("hillshade-illumination-anchor") && + (n -= e.transform.angle), + e.context.gl.uniform2f( + t.uniforms.u_light, + r.paint.get("hillshade-exaggeration"), + n, + )); + })(s, t, r); + var c = (function (t, e) { + var r = e.toCoordinate(), + n = new a(r.column, r.row + 1, r.zoom); + return [ + t.transform.coordinateLocation(r).lat, + t.transform.coordinateLocation(n).lat, + ]; + })(t, e.tileID); + (n.activeTexture.set(i.TEXTURE0), + i.bindTexture(i.TEXTURE_2D, o.colorAttachment.get()), + i.uniformMatrix4fv(s.uniforms.u_matrix, !1, l), + i.uniform2fv(s.uniforms.u_latrange, c), + i.uniform1i(s.uniforms.u_image, 0)); + var u = r.paint.get("hillshade-shadow-color"); + i.uniform4f(s.uniforms.u_shadow, u.r, u.g, u.b, u.a); + var f = r.paint.get("hillshade-highlight-color"); + i.uniform4f(s.uniforms.u_highlight, f.r, f.g, f.b, f.a); + var h = r.paint.get("hillshade-accent-color"); + if ( + (i.uniform4f(s.uniforms.u_accent, h.r, h.g, h.b, h.a), + e.maskedBoundsBuffer && e.maskedIndexBuffer && e.segments) + ) + s.draw( + n, + i.TRIANGLES, + r.id, + e.maskedBoundsBuffer, + e.maskedIndexBuffer, + e.segments, + ); + else { + var p = t.rasterBoundsBuffer; + (t.rasterBoundsVAO.bind(n, s, p, []), + i.drawArrays(i.TRIANGLE_STRIP, 0, p.length)); + } + } + } + function i(t, e) { + var r = t.context, + n = r.gl; + if (e.dem && e.dem.level) { + var i = e.dem.level.dim, + a = e.dem.getPixels(); + if ( + (r.activeTexture.set(n.TEXTURE1), + r.pixelStoreUnpackPremultiplyAlpha.set(!1), + (e.demTexture = + e.demTexture || t.getTileTexture(e.tileSize)), + e.demTexture) + ) { + var c = e.demTexture; + (c.update(a, !1), c.bind(n.NEAREST, n.CLAMP_TO_EDGE)); + } else + ((e.demTexture = new o(r, a, n.RGBA, !1)), + e.demTexture.bind(n.NEAREST, n.CLAMP_TO_EDGE)); + r.activeTexture.set(n.TEXTURE0); + var u = e.fbo; + if (!u) { + var f = new o( + r, + { width: i, height: i, data: null }, + n.RGBA, + ); + (f.bind(n.LINEAR, n.CLAMP_TO_EDGE), + (u = e.fbo = + r.createFramebuffer(i, i)).colorAttachment.set( + f.texture, + )); + } + (r.bindFramebuffer.set(u.framebuffer), + r.viewport.set([0, 0, i, i])); + var h = l.create(); + (l.ortho(h, 0, s, -s, 0, 0, 1), + l.translate(h, h, [0, -s, 0])); + var p = t.useProgram("hillshadePrepare"); + (n.uniformMatrix4fv(p.uniforms.u_matrix, !1, h), + n.uniform1f(p.uniforms.u_zoom, e.tileID.overscaledZ), + n.uniform2fv(p.uniforms.u_dimension, [2 * i, 2 * i]), + n.uniform1i(p.uniforms.u_image, 1)); + var d = t.rasterBoundsBuffer; + (t.rasterBoundsVAO.bind(r, p, d, []), + n.drawArrays(n.TRIANGLE_STRIP, 0, d.length), + (e.needsHillshadePrepare = !1)); + } + } + var a = t("../geo/coordinate"), + o = t("./texture"), + s = t("../data/extent"), + l = t("@mapbox/gl-matrix").mat4, + c = t("../gl/stencil_mode"), + u = t("../gl/depth_mode"); + e.exports = function (t, e, r, a) { + if ( + "offscreen" === t.renderPass || + "translucent" === t.renderPass + ) { + var o = t.context; + (o.setDepthMode(t.depthModeForSublayer(0, u.ReadOnly)), + o.setStencilMode(c.disabled), + o.setColorMode(t.colorModeForRenderPass())); + for (var s = 0, l = a; s < l.length; s += 1) { + var f = l[s], + h = e.getTile(f); + h.needsHillshadePrepare && "offscreen" === t.renderPass + ? i(t, h) + : "translucent" === t.renderPass && n(t, h, r); + } + o.viewport.set([0, 0, t.width, t.height]); + } + }; + }, + { + "../data/extent": 53, + "../geo/coordinate": 61, + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "./texture": 93, + "@mapbox/gl-matrix": 2, + }, + ], + 82: [ + function (t, e, r) { + function n(t, e, r, n, o, s, l, c, u) { + var f, + h, + p, + d, + g = e.context, + m = g.gl, + v = o.paint.get("line-dasharray"), + y = o.paint.get("line-pattern"); + if (c || u) { + var x = 1 / a(r, 1, e.transform.tileZoom); + if (v) { + ((f = e.lineAtlas.getDash( + v.from, + "round" === o.layout.get("line-cap"), + )), + (h = e.lineAtlas.getDash( + v.to, + "round" === o.layout.get("line-cap"), + ))); + var b = f.width * v.fromScale, + _ = h.width * v.toScale; + (m.uniform2f( + t.uniforms.u_patternscale_a, + x / b, + -f.height / 2, + ), + m.uniform2f( + t.uniforms.u_patternscale_b, + x / _, + -h.height / 2, + ), + m.uniform1f( + t.uniforms.u_sdfgamma, + e.lineAtlas.width / + (256 * Math.min(b, _) * i.devicePixelRatio) / + 2, + )); + } else if (y) { + if ( + ((p = e.imageManager.getPattern(y.from)), + (d = e.imageManager.getPattern(y.to)), + !p || !d) + ) + return; + (m.uniform2f( + t.uniforms.u_pattern_size_a, + (p.displaySize[0] * y.fromScale) / x, + d.displaySize[1], + ), + m.uniform2f( + t.uniforms.u_pattern_size_b, + (d.displaySize[0] * y.toScale) / x, + d.displaySize[1], + )); + var w = e.imageManager.getPixelSize(), + k = w.width, + M = w.height; + m.uniform2fv(t.uniforms.u_texsize, [k, M]); + } + m.uniform2f( + t.uniforms.u_gl_units_to_pixels, + 1 / e.transform.pixelsToGLUnits[0], + 1 / e.transform.pixelsToGLUnits[1], + ); + } + (c && + (v + ? (m.uniform1i(t.uniforms.u_image, 0), + g.activeTexture.set(m.TEXTURE0), + e.lineAtlas.bind(g), + m.uniform1f(t.uniforms.u_tex_y_a, f.y), + m.uniform1f(t.uniforms.u_tex_y_b, h.y), + m.uniform1f(t.uniforms.u_mix, v.t)) + : y && + (m.uniform1i(t.uniforms.u_image, 0), + g.activeTexture.set(m.TEXTURE0), + e.imageManager.bind(g), + m.uniform2fv(t.uniforms.u_pattern_tl_a, p.tl), + m.uniform2fv(t.uniforms.u_pattern_br_a, p.br), + m.uniform2fv(t.uniforms.u_pattern_tl_b, d.tl), + m.uniform2fv(t.uniforms.u_pattern_br_b, d.br), + m.uniform1f(t.uniforms.u_fade, y.t))), + g.setStencilMode(e.stencilModeForClipping(s))); + var A = e.translatePosMatrix( + s.posMatrix, + r, + o.paint.get("line-translate"), + o.paint.get("line-translate-anchor"), + ); + (m.uniformMatrix4fv(t.uniforms.u_matrix, !1, A), + m.uniform1f( + t.uniforms.u_ratio, + 1 / a(r, 1, e.transform.zoom), + ), + t.draw( + g, + m.TRIANGLES, + o.id, + n.layoutVertexBuffer, + n.indexBuffer, + n.segments, + l, + )); + } + var i = t("../util/browser"), + a = t("../source/pixels_to_tile_units"), + o = t("../gl/depth_mode"); + e.exports = function (t, e, r, i) { + if ( + "translucent" === t.renderPass && + 0 !== r.paint.get("line-opacity").constantOr(1) + ) { + var a = t.context; + (a.setDepthMode(t.depthModeForSublayer(0, o.ReadOnly)), + a.setColorMode(t.colorModeForRenderPass())); + for ( + var s, + l = r.paint.get("line-dasharray") + ? "lineSDF" + : r.paint.get("line-pattern") + ? "linePattern" + : "line", + c = !0, + u = 0, + f = i; + u < f.length; + u += 1 + ) { + var h = f[u], + p = e.getTile(h), + d = p.getBucket(r); + if (d) { + var g = d.programConfigurations.get(r.id), + m = t.context.program.get(), + v = t.useProgram(l, g), + y = c || v.program !== m, + x = s !== p.tileID.overscaledZ; + (y && + g.setUniforms(t.context, v, r.paint, { + zoom: t.transform.zoom, + }), + n(v, t, p, d, r, h, g, y, x), + (s = p.tileID.overscaledZ), + (c = !1)); + } + } + } + }; + }, + { + "../gl/depth_mode": 67, + "../source/pixels_to_tile_units": 104, + "../util/browser": 252, + }, + ], + 83: [ + function (t, e, r) { + function n(t, e, r, n, a) { + var s = n.paint.get("raster-fade-duration"); + if (s > 0) { + var l = o.now(), + c = (l - t.timeAdded) / s, + u = e ? (l - e.timeAdded) / s : -1, + f = r.getSource(), + h = a.coveringZoomLevel({ + tileSize: f.tileSize, + roundZoom: f.roundZoom, + }), + p = + !e || + Math.abs(e.tileID.overscaledZ - h) > + Math.abs(t.tileID.overscaledZ - h), + d = + p && t.refreshedUponExpiration + ? 1 + : i.clamp(p ? c : 1 - u, 0, 1); + return ( + t.refreshedUponExpiration && + c >= 1 && + (t.refreshedUponExpiration = !1), + e ? { opacity: 1, mix: 1 - d } : { opacity: d, mix: 0 } + ); + } + return { opacity: 1, mix: 0 }; + } + var i = t("../util/util"), + a = t("../source/image_source"), + o = t("../util/browser"), + s = t("../gl/stencil_mode"), + l = t("../gl/depth_mode"); + e.exports = function (t, e, r, i) { + if ( + "translucent" === t.renderPass && + 0 !== r.paint.get("raster-opacity") + ) { + var o = t.context, + c = o.gl, + u = e.getSource(), + f = t.useProgram("raster"); + (o.setStencilMode(s.disabled), + o.setColorMode(t.colorModeForRenderPass()), + c.uniform1f( + f.uniforms.u_brightness_low, + r.paint.get("raster-brightness-min"), + ), + c.uniform1f( + f.uniforms.u_brightness_high, + r.paint.get("raster-brightness-max"), + ), + c.uniform1f( + f.uniforms.u_saturation_factor, + (function (t) { + return t > 0 ? 1 - 1 / (1.001 - t) : -t; + })(r.paint.get("raster-saturation")), + ), + c.uniform1f( + f.uniforms.u_contrast_factor, + (function (t) { + return t > 0 ? 1 / (1 - t) : 1 + t; + })(r.paint.get("raster-contrast")), + ), + c.uniform3fv( + f.uniforms.u_spin_weights, + (function (t) { + t *= Math.PI / 180; + var e = Math.sin(t), + r = Math.cos(t); + return [ + (2 * r + 1) / 3, + (-Math.sqrt(3) * e - r + 1) / 3, + (Math.sqrt(3) * e - r + 1) / 3, + ]; + })(r.paint.get("raster-hue-rotate")), + ), + c.uniform1f(f.uniforms.u_buffer_scale, 1), + c.uniform1i(f.uniforms.u_image0, 0), + c.uniform1i(f.uniforms.u_image1, 1)); + for ( + var h = i.length && i[0].overscaledZ, p = 0, d = i; + p < d.length; + p += 1 + ) { + var g = d[p]; + o.setDepthMode( + t.depthModeForSublayer( + g.overscaledZ - h, + 1 === r.paint.get("raster-opacity") + ? l.ReadWrite + : l.ReadOnly, + c.LESS, + ), + ); + var m = e.getTile(g), + v = t.transform.calculatePosMatrix(g.toUnwrapped(), !0); + (m.registerFadeDuration( + r.paint.get("raster-fade-duration"), + ), + c.uniformMatrix4fv(f.uniforms.u_matrix, !1, v)); + var y = e.findLoadedParent(g, 0, {}), + x = n(m, y, e, r, t.transform), + b = void 0, + _ = void 0; + if ( + (o.activeTexture.set(c.TEXTURE0), + m.texture.bind( + c.LINEAR, + c.CLAMP_TO_EDGE, + c.LINEAR_MIPMAP_NEAREST, + ), + o.activeTexture.set(c.TEXTURE1), + y + ? (y.texture.bind( + c.LINEAR, + c.CLAMP_TO_EDGE, + c.LINEAR_MIPMAP_NEAREST, + ), + (b = Math.pow( + 2, + y.tileID.overscaledZ - m.tileID.overscaledZ, + )), + (_ = [ + (m.tileID.canonical.x * b) % 1, + (m.tileID.canonical.y * b) % 1, + ])) + : m.texture.bind( + c.LINEAR, + c.CLAMP_TO_EDGE, + c.LINEAR_MIPMAP_NEAREST, + ), + c.uniform2fv(f.uniforms.u_tl_parent, _ || [0, 0]), + c.uniform1f(f.uniforms.u_scale_parent, b || 1), + c.uniform1f(f.uniforms.u_fade_t, x.mix), + c.uniform1f( + f.uniforms.u_opacity, + x.opacity * r.paint.get("raster-opacity"), + ), + u instanceof a) + ) { + var w = u.boundsBuffer; + (u.boundsVAO.bind(o, f, w, []), + c.drawArrays(c.TRIANGLE_STRIP, 0, w.length)); + } else if ( + m.maskedBoundsBuffer && + m.maskedIndexBuffer && + m.segments + ) + f.draw( + o, + c.TRIANGLES, + r.id, + m.maskedBoundsBuffer, + m.maskedIndexBuffer, + m.segments, + ); + else { + var k = t.rasterBoundsBuffer; + (t.rasterBoundsVAO.bind(o, f, k, []), + c.drawArrays(c.TRIANGLE_STRIP, 0, k.length)); + } + } + } + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../source/image_source": 102, + "../util/browser": 252, + "../util/util": 275, + }, + ], + 84: [ + function (t, e, r) { + function n(t, e, r, n, o, s, u, h, p, g) { + var m = t.context, + v = m.gl, + y = t.transform, + x = "map" === h, + b = "map" === p, + _ = x && "line" === r.layout.get("symbol-placement"), + w = x && !b && !_, + k = b; + m.setDepthMode( + k ? t.depthModeForSublayer(0, d.ReadOnly) : d.disabled, + ); + for (var M, A = 0, T = n; A < T.length; A += 1) { + var S = T[A], + C = e.getTile(S), + E = C.getBucket(r); + if (E) { + var L = o ? E.text : E.icon; + if (L && L.segments.get().length) { + var z = L.programConfigurations.get(r.id), + P = o || E.sdfIcons, + D = o ? E.textSizeData : E.iconSizeData; + if ( + (M || + ((M = t.useProgram( + P ? "symbolSDF" : "symbolIcon", + z, + )), + z.setUniforms(t.context, M, r.paint, { + zoom: t.transform.zoom, + }), + i(M, t, r, o, w, b, D)), + m.activeTexture.set(v.TEXTURE0), + v.uniform1i(M.uniforms.u_texture, 0), + o) + ) + (C.glyphAtlasTexture.bind(v.LINEAR, v.CLAMP_TO_EDGE), + v.uniform2fv( + M.uniforms.u_texsize, + C.glyphAtlasTexture.size, + )); + else { + var O = + 1 !== r.layout.get("icon-size").constantOr(0) || + E.iconsNeedLinear, + I = b || 0 !== y.pitch; + (C.iconAtlasTexture.bind( + P || t.options.rotating || t.options.zooming || O || I + ? v.LINEAR + : v.NEAREST, + v.CLAMP_TO_EDGE, + ), + v.uniform2fv( + M.uniforms.u_texsize, + C.iconAtlasTexture.size, + )); + } + v.uniformMatrix4fv( + M.uniforms.u_matrix, + !1, + t.translatePosMatrix(S.posMatrix, C, s, u), + ); + var R = l(C, 1, t.transform.zoom), + B = c.getLabelPlaneMatrix( + S.posMatrix, + b, + x, + t.transform, + R, + ), + F = c.getGlCoordMatrix( + S.posMatrix, + b, + x, + t.transform, + R, + ); + (v.uniformMatrix4fv( + M.uniforms.u_gl_coord_matrix, + !1, + t.translatePosMatrix(F, C, s, u, !0), + ), + _ + ? (v.uniformMatrix4fv( + M.uniforms.u_label_plane_matrix, + !1, + f, + ), + c.updateLineLabels( + E, + S.posMatrix, + t, + o, + B, + F, + b, + g, + )) + : v.uniformMatrix4fv( + M.uniforms.u_label_plane_matrix, + !1, + B, + ), + v.uniform1f( + M.uniforms.u_fade_change, + t.options.fadeDuration ? t.symbolFadeChange : 1, + ), + a(M, z, t, r, C, L, o, P, b)); + } + } + } + } + function i(t, e, r, n, i, a, o) { + var s = e.context.gl, + l = e.transform; + (s.uniform1i(t.uniforms.u_pitch_with_map, a ? 1 : 0), + s.uniform1f(t.uniforms.u_is_text, n ? 1 : 0), + s.uniform1f( + t.uniforms.u_pitch, + (l.pitch / 360) * 2 * Math.PI, + )); + var c = + "constant" === o.functionType || + "source" === o.functionType, + f = + "constant" === o.functionType || + "camera" === o.functionType; + (s.uniform1i(t.uniforms.u_is_size_zoom_constant, c ? 1 : 0), + s.uniform1i(t.uniforms.u_is_size_feature_constant, f ? 1 : 0), + s.uniform1f( + t.uniforms.u_camera_to_center_distance, + l.cameraToCenterDistance, + )); + var p = u.evaluateSizeForZoom( + o, + l.zoom, + h.properties[n ? "text-size" : "icon-size"], + ); + (void 0 !== p.uSizeT && + s.uniform1f(t.uniforms.u_size_t, p.uSizeT), + void 0 !== p.uSize && s.uniform1f(t.uniforms.u_size, p.uSize), + s.uniform1f(t.uniforms.u_aspect_ratio, l.width / l.height), + s.uniform1i(t.uniforms.u_rotate_symbol, i ? 1 : 0)); + } + function a(t, e, r, n, i, a, s, l, c) { + var u = r.context, + f = u.gl, + h = r.transform; + if (l) { + var p = + 0 !== + n.paint + .get(s ? "text-halo-width" : "icon-halo-width") + .constantOr(1), + d = c ? Math.cos(h._pitch) * h.cameraToCenterDistance : 1; + (f.uniform1f(t.uniforms.u_gamma_scale, d), + p && (f.uniform1f(t.uniforms.u_is_halo, 1), o(a, n, u, t)), + f.uniform1f(t.uniforms.u_is_halo, 0)); + } + o(a, n, u, t); + } + function o(t, e, r, n) { + n.draw( + r, + r.gl.TRIANGLES, + e.id, + t.layoutVertexBuffer, + t.indexBuffer, + t.segments, + t.programConfigurations.get(e.id), + t.dynamicLayoutVertexBuffer, + t.opacityVertexBuffer, + ); + } + var s = t("./draw_collision_debug"), + l = t("../source/pixels_to_tile_units"), + c = t("../symbol/projection"), + u = t("../symbol/symbol_size"), + f = t("@mapbox/gl-matrix").mat4.identity(new Float32Array(16)), + h = t( + "../style/style_layer/symbol_style_layer_properties", + ).layout, + p = t("../gl/stencil_mode"), + d = t("../gl/depth_mode"); + e.exports = function (t, e, r, i) { + if ("translucent" === t.renderPass) { + var a = t.context; + (a.setStencilMode(p.disabled), + a.setColorMode(t.colorModeForRenderPass()), + 0 !== r.paint.get("icon-opacity").constantOr(1) && + n( + t, + e, + r, + i, + !1, + r.paint.get("icon-translate"), + r.paint.get("icon-translate-anchor"), + r.layout.get("icon-rotation-alignment"), + r.layout.get("icon-pitch-alignment"), + r.layout.get("icon-keep-upright"), + ), + 0 !== r.paint.get("text-opacity").constantOr(1) && + n( + t, + e, + r, + i, + !0, + r.paint.get("text-translate"), + r.paint.get("text-translate-anchor"), + r.layout.get("text-rotation-alignment"), + r.layout.get("text-pitch-alignment"), + r.layout.get("text-keep-upright"), + ), + e.map.showCollisionBoxes && s(t, e, r, i)); + } + }; + }, + { + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../source/pixels_to_tile_units": 104, + "../style/style_layer/symbol_style_layer_properties": 209, + "../symbol/projection": 224, + "../symbol/symbol_size": 228, + "./draw_collision_debug": 76, + "@mapbox/gl-matrix": 2, + }, + ], + 85: [ + function (t, e, r) { + var n = t("@mapbox/shelf-pack"), + i = t("../util/image").AlphaImage, + a = 1; + e.exports = { + makeGlyphAtlas: function (t) { + var e = new i({ width: 0, height: 0 }), + r = {}, + o = new n(0, 0, { autoResize: !0 }); + for (var s in t) { + var l = t[s], + c = (r[s] = {}); + for (var u in l) { + var f = l[+u]; + if (f && 0 !== f.bitmap.width && 0 !== f.bitmap.height) { + var h = o.packOne( + f.bitmap.width + 2 * a, + f.bitmap.height + 2 * a, + ); + (e.resize({ width: o.w, height: o.h }), + i.copy( + f.bitmap, + e, + { x: 0, y: 0 }, + { x: h.x + a, y: h.y + a }, + f.bitmap, + ), + (c[u] = { rect: h, metrics: f.metrics })); + } + } + } + return ( + o.shrink(), + e.resize({ width: o.w, height: o.h }), + { image: e, positions: r } + ); + }, + }; + }, + { "../util/image": 263, "@mapbox/shelf-pack": 5 }, + ], + 86: [ + function (t, e, r) { + var n = t("../style/load_glyph_range"), + i = t("@mapbox/tiny-sdf"), + a = t("../util/is_char_in_unicode_block"), + o = t("../util/util").asyncAll, + s = t("../util/image").AlphaImage, + l = function (t, e) { + ((this.requestTransform = t), + (this.localIdeographFontFamily = e), + (this.entries = {})); + }; + ((l.prototype.setURL = function (t) { + this.url = t; + }), + (l.prototype.getGlyphs = function (t, e) { + var r = this, + i = []; + for (var a in t) + for (var s = 0, l = t[a]; s < l.length; s += 1) { + var c = l[s]; + i.push({ stack: a, id: c }); + } + o( + i, + function (t, e) { + var i = t.stack, + a = t.id, + o = r.entries[i]; + o || (o = r.entries[i] = { glyphs: {}, requests: {} }); + var s = o.glyphs[a]; + if (void 0 === s) + if ((s = r._tinySDF(o, i, a))) + e(null, { stack: i, id: a, glyph: s }); + else { + var l = Math.floor(a / 256); + if (256 * l > 65535) + e(new Error("glyphs > 65535 not supported")); + else { + var c = o.requests[l]; + (c || + ((c = o.requests[l] = []), + n( + i, + l, + r.url, + r.requestTransform, + function (t, e) { + if (e) for (var r in e) o.glyphs[+r] = e[+r]; + for (var n = 0, i = c; n < i.length; n += 1) + (0, i[n])(t, e); + delete o.requests[l]; + }, + )), + c.push(function (t, r) { + t + ? e(t) + : r && + e(null, { + stack: i, + id: a, + glyph: r[a] || null, + }); + })); + } + } + else e(null, { stack: i, id: a, glyph: s }); + }, + function (t, r) { + if (t) e(t); + else if (r) { + for (var n = {}, i = 0, a = r; i < a.length; i += 1) { + var o = a[i], + s = o.stack, + l = o.id, + c = o.glyph; + (n[s] || (n[s] = {}))[l] = c && { + id: c.id, + bitmap: c.bitmap.clone(), + metrics: c.metrics, + }; + } + e(null, n); + } + }, + ); + }), + (l.prototype._tinySDF = function (t, e, r) { + var n = this.localIdeographFontFamily; + if ( + n && + (a["CJK Unified Ideographs"](r) || a["Hangul Syllables"](r)) + ) { + var o = t.tinySDF; + if (!o) { + var l = "400"; + (/bold/i.test(e) + ? (l = "900") + : /medium/i.test(e) + ? (l = "500") + : /light/i.test(e) && (l = "200"), + (o = t.tinySDF = new i(24, 3, 8, 0.25, n, l))); + } + return { + id: r, + bitmap: new s( + { width: 30, height: 30 }, + o.draw(String.fromCharCode(r)), + ), + metrics: { + width: 24, + height: 24, + left: 0, + top: -8, + advance: 24, + }, + }; + } + }), + (e.exports = l)); + }, + { + "../style/load_glyph_range": 184, + "../util/image": 263, + "../util/is_char_in_unicode_block": 265, + "../util/util": 275, + "@mapbox/tiny-sdf": 6, + }, + ], + 87: [ + function (t, e, r) { + function n(t, e) { + var r = e.pixelRatio, + n = { + x: t.x + o, + y: t.y + o, + w: t.w - 2 * o, + h: t.h - 2 * o, + }; + return { + pixelRatio: r, + textureRect: n, + tl: [n.x, n.y], + br: [n.x + n.w, n.y + n.h], + displaySize: [n.w / r, n.h / r], + }; + } + var i = t("@mapbox/shelf-pack"), + a = t("../util/image").RGBAImage, + o = 1; + e.exports = { + imagePosition: n, + makeImageAtlas: function (t) { + var e = new a({ width: 0, height: 0 }), + r = {}, + s = new i(0, 0, { autoResize: !0 }); + for (var l in t) { + var c = t[l], + u = s.packOne( + c.data.width + 2 * o, + c.data.height + 2 * o, + ); + (e.resize({ width: s.w, height: s.h }), + a.copy( + c.data, + e, + { x: 0, y: 0 }, + { x: u.x + o, y: u.y + o }, + c.data, + ), + (r[l] = n(u, c))); + } + return ( + s.shrink(), + e.resize({ width: s.w, height: s.h }), + { image: e, positions: r } + ); + }, + }; + }, + { "../util/image": 263, "@mapbox/shelf-pack": 5 }, + ], + 88: [ + function (t, e, r) { + var n = t("@mapbox/shelf-pack"), + i = t("../util/image").RGBAImage, + a = t("./image_atlas").imagePosition, + o = t("./texture"), + s = function () { + ((this.images = {}), + (this.loaded = !1), + (this.requestors = []), + (this.shelfPack = new n(64, 64, { autoResize: !0 })), + (this.patterns = {}), + (this.atlasImage = new i({ width: 64, height: 64 })), + (this.dirty = !0)); + }; + ((s.prototype.isLoaded = function () { + return this.loaded; + }), + (s.prototype.setLoaded = function (t) { + if (this.loaded !== t && ((this.loaded = t), t)) { + for (var e = 0, r = this.requestors; e < r.length; e += 1) { + var n = r[e], + i = n.ids, + a = n.callback; + this._notify(i, a); + } + this.requestors = []; + } + }), + (s.prototype.getImage = function (t) { + return this.images[t]; + }), + (s.prototype.addImage = function (t, e) { + this.images[t] = e; + }), + (s.prototype.removeImage = function (t) { + delete this.images[t]; + var e = this.patterns[t]; + e && (this.shelfPack.unref(e.bin), delete this.patterns[t]); + }), + (s.prototype.getImages = function (t, e) { + var r = !0; + if (!this.isLoaded()) + for (var n = 0, i = t; n < i.length; n += 1) { + var a = i[n]; + this.images[a] || (r = !1); + } + this.isLoaded() || r + ? this._notify(t, e) + : this.requestors.push({ ids: t, callback: e }); + }), + (s.prototype._notify = function (t, e) { + for (var r = {}, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = this.images[a]; + o && + (r[a] = { + data: o.data.clone(), + pixelRatio: o.pixelRatio, + sdf: o.sdf, + }); + } + e(null, r); + }), + (s.prototype.getPixelSize = function () { + return { width: this.shelfPack.w, height: this.shelfPack.h }; + }), + (s.prototype.getPattern = function (t) { + var e = this.patterns[t]; + if (e) return e.position; + var r = this.getImage(t); + if (!r) return null; + var n = r.data.width + 2, + o = r.data.height + 2, + s = this.shelfPack.packOne(n, o); + if (!s) return null; + this.atlasImage.resize(this.getPixelSize()); + var l = r.data, + c = this.atlasImage, + u = s.x + 1, + f = s.y + 1, + h = l.width, + p = l.height; + (i.copy( + l, + c, + { x: 0, y: 0 }, + { x: u, y: f }, + { width: h, height: p }, + ), + i.copy( + l, + c, + { x: 0, y: p - 1 }, + { x: u, y: f - 1 }, + { width: h, height: 1 }, + ), + i.copy( + l, + c, + { x: 0, y: 0 }, + { x: u, y: f + p }, + { width: h, height: 1 }, + ), + i.copy( + l, + c, + { x: h - 1, y: 0 }, + { x: u - 1, y: f }, + { width: 1, height: p }, + ), + i.copy( + l, + c, + { x: 0, y: 0 }, + { x: u + h, y: f }, + { width: 1, height: p }, + ), + (this.dirty = !0)); + var d = a(s, r); + return ((this.patterns[t] = { bin: s, position: d }), d); + }), + (s.prototype.bind = function (t) { + var e = t.gl; + (this.atlasTexture + ? this.dirty && + (this.atlasTexture.update(this.atlasImage), + (this.dirty = !1)) + : (this.atlasTexture = new o(t, this.atlasImage, e.RGBA)), + this.atlasTexture.bind(e.LINEAR, e.CLAMP_TO_EDGE)); + }), + (e.exports = s)); + }, + { + "../util/image": 263, + "./image_atlas": 87, + "./texture": 93, + "@mapbox/shelf-pack": 5, + }, + ], + 89: [ + function (t, e, r) { + var n = t("../util/util"), + i = function (t, e) { + ((this.width = t), + (this.height = e), + (this.nextRow = 0), + (this.bytes = 4), + (this.data = new Uint8Array( + this.width * this.height * this.bytes, + )), + (this.positions = {})); + }; + ((i.prototype.getDash = function (t, e) { + var r = t.join(",") + String(e); + return ( + this.positions[r] || (this.positions[r] = this.addDash(t, e)), + this.positions[r] + ); + }), + (i.prototype.addDash = function (t, e) { + var r = this, + i = e ? 7 : 0, + a = 2 * i + 1; + if (this.nextRow + a > this.height) + return (n.warnOnce("LineAtlas out of space"), null); + for (var o = 0, s = 0; s < t.length; s++) o += t[s]; + for ( + var l = this.width / o, + c = l / 2, + u = t.length % 2 == 1, + f = -i; + f <= i; + f++ + ) + for ( + var h = r.nextRow + i + f, + p = r.width * h, + d = u ? -t[t.length - 1] : 0, + g = t[0], + m = 1, + v = 0; + v < this.width; + v++ + ) { + for (; g < v / l; ) + ((d = g), + (g += t[m]), + u && m === t.length - 1 && (g += t[0]), + m++); + var y = Math.abs(v - d * l), + x = Math.abs(v - g * l), + b = Math.min(y, x), + _ = m % 2 == 1, + w = void 0; + if (e) { + var k = i ? (f / i) * (c + 1) : 0; + if (_) { + var M = c - Math.abs(k); + w = Math.sqrt(b * b + M * M); + } else w = c - Math.sqrt(b * b + k * k); + } else w = (_ ? 1 : -1) * b; + r.data[3 + 4 * (p + v)] = Math.max( + 0, + Math.min(255, w + 128), + ); + } + var A = { + y: (this.nextRow + i + 0.5) / this.height, + height: (2 * i) / this.height, + width: o, + }; + return ((this.nextRow += a), (this.dirty = !0), A); + }), + (i.prototype.bind = function (t) { + var e = t.gl; + this.texture + ? (e.bindTexture(e.TEXTURE_2D, this.texture), + this.dirty && + ((this.dirty = !1), + e.texSubImage2D( + e.TEXTURE_2D, + 0, + 0, + 0, + this.width, + this.height, + e.RGBA, + e.UNSIGNED_BYTE, + this.data, + ))) + : ((this.texture = e.createTexture()), + e.bindTexture(e.TEXTURE_2D, this.texture), + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.REPEAT), + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.REPEAT), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_MIN_FILTER, + e.LINEAR, + ), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_MAG_FILTER, + e.LINEAR, + ), + e.texImage2D( + e.TEXTURE_2D, + 0, + e.RGBA, + this.width, + this.height, + 0, + e.RGBA, + e.UNSIGNED_BYTE, + this.data, + )); + }), + (e.exports = i)); + }, + { "../util/util": 275 }, + ], + 90: [ + function (t, e, r) { + var n = t("../util/browser"), + i = t("@mapbox/gl-matrix").mat4, + a = t("../source/source_cache"), + o = t("../data/extent"), + s = t("../source/pixels_to_tile_units"), + l = t("../util/util"), + c = t("./vertex_array_object"), + u = t("../data/array_types"), + f = u.RasterBoundsArray, + h = u.PosArray, + p = t("../data/raster_bounds_attributes"), + d = t("../data/pos_attributes"), + g = t("../data/program_configuration").ProgramConfiguration, + m = t("../symbol/cross_tile_symbol_index"), + v = t("../shaders"), + y = t("./program"), + x = t("../gl/context"), + b = t("../gl/depth_mode"), + _ = t("../gl/stencil_mode"), + w = t("../gl/color_mode"), + k = (t("./texture"), t("./tile_mask")), + M = t("../style-spec/util/color"), + A = { + symbol: t("./draw_symbol"), + circle: t("./draw_circle"), + heatmap: t("./draw_heatmap"), + line: t("./draw_line"), + fill: t("./draw_fill"), + "fill-extrusion": t("./draw_fill_extrusion"), + hillshade: t("./draw_hillshade"), + raster: t("./draw_raster"), + background: t("./draw_background"), + debug: t("./draw_debug"), + }, + T = function (t, e) { + ((this.context = new x(t)), + (this.transform = e), + (this._tileTextures = {}), + this.setup(), + (this.numSublayers = + a.maxUnderzooming + a.maxOverzooming + 1), + (this.depthEpsilon = 1 / Math.pow(2, 16)), + (this.depthRboNeedsClear = !0), + (this.emptyProgramConfiguration = new g()), + (this.crossTileSymbolIndex = new m())); + }; + ((T.prototype.resize = function (t, e) { + var r = this.context.gl; + if ( + ((this.width = t * n.devicePixelRatio), + (this.height = e * n.devicePixelRatio), + this.context.viewport.set([0, 0, this.width, this.height]), + this.style) + ) + for (var i = 0, a = this.style._order; i < a.length; i += 1) { + var o = a[i]; + this.style._layers[o].resize(); + } + this.depthRbo && + (r.deleteRenderbuffer(this.depthRbo), (this.depthRbo = null)); + }), + (T.prototype.setup = function () { + var t = this.context, + e = new h(); + (e.emplaceBack(0, 0), + e.emplaceBack(o, 0), + e.emplaceBack(0, o), + e.emplaceBack(o, o), + (this.tileExtentBuffer = t.createVertexBuffer( + e, + d.members, + )), + (this.tileExtentVAO = new c()), + (this.tileExtentPatternVAO = new c())); + var r = new h(); + (r.emplaceBack(0, 0), + r.emplaceBack(o, 0), + r.emplaceBack(o, o), + r.emplaceBack(0, o), + r.emplaceBack(0, 0), + (this.debugBuffer = t.createVertexBuffer(r, d.members)), + (this.debugVAO = new c())); + var n = new f(); + (n.emplaceBack(0, 0, 0, 0), + n.emplaceBack(o, 0, o, 0), + n.emplaceBack(0, o, 0, o), + n.emplaceBack(o, o, o, o), + (this.rasterBoundsBuffer = t.createVertexBuffer( + n, + p.members, + )), + (this.rasterBoundsVAO = new c())); + var i = new h(); + (i.emplaceBack(0, 0), + i.emplaceBack(1, 0), + i.emplaceBack(0, 1), + i.emplaceBack(1, 1), + (this.viewportBuffer = t.createVertexBuffer(i, d.members)), + (this.viewportVAO = new c())); + }), + (T.prototype.clearStencil = function () { + var t = this.context, + e = t.gl; + (t.setColorMode(w.disabled), + t.setDepthMode(b.disabled), + t.setStencilMode( + new _( + { func: e.ALWAYS, mask: 0 }, + 0, + 255, + e.ZERO, + e.ZERO, + e.ZERO, + ), + )); + var r = i.create(); + (i.ortho(r, 0, this.width, this.height, 0, 0, 1), + i.scale(r, r, [ + e.drawingBufferWidth, + e.drawingBufferHeight, + 0, + ])); + var n = this.useProgram("clippingMask"); + (e.uniformMatrix4fv(n.uniforms.u_matrix, !1, r), + this.viewportVAO.bind(t, n, this.viewportBuffer, []), + e.drawArrays(e.TRIANGLE_STRIP, 0, 4)); + }), + (T.prototype._renderTileClippingMasks = function (t) { + var e = this, + r = this.context, + n = r.gl; + (r.setColorMode(w.disabled), r.setDepthMode(b.disabled)); + var i = 1; + this._tileClippingMaskIDs = {}; + for (var a = 0, o = t; a < o.length; a += 1) { + var s = o[a], + l = (e._tileClippingMaskIDs[s.key] = i++); + r.setStencilMode( + new _( + { func: n.ALWAYS, mask: 0 }, + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ), + ); + var c = e.useProgram("clippingMask"); + (n.uniformMatrix4fv(c.uniforms.u_matrix, !1, s.posMatrix), + e.tileExtentVAO.bind( + e.context, + c, + e.tileExtentBuffer, + [], + ), + n.drawArrays( + n.TRIANGLE_STRIP, + 0, + e.tileExtentBuffer.length, + )); + } + }), + (T.prototype.stencilModeForClipping = function (t) { + var e = this.context.gl; + return new _( + { func: e.EQUAL, mask: 255 }, + this._tileClippingMaskIDs[t.key], + 0, + e.KEEP, + e.KEEP, + e.REPLACE, + ); + }), + (T.prototype.colorModeForRenderPass = function () { + var t = this.context.gl; + return this._showOverdrawInspector + ? new w( + [t.CONSTANT_COLOR, t.ONE], + new M(1 / 8, 1 / 8, 1 / 8, 0), + [!0, !0, !0, !0], + ) + : "opaque" === this.renderPass + ? w.unblended + : w.alphaBlended; + }), + (T.prototype.depthModeForSublayer = function (t, e, r) { + var n = + 1 - + ((1 + this.currentLayer) * this.numSublayers + t) * + this.depthEpsilon, + i = n - 1 + this.depthRange; + return new b(r || this.context.gl.LEQUAL, e, [i, n]); + }), + (T.prototype.render = function (t, e) { + var r = this; + for (var i in ((this.style = t), + (this.options = e), + (this.lineAtlas = t.lineAtlas), + (this.imageManager = t.imageManager), + (this.glyphManager = t.glyphManager), + (this.symbolFadeChange = t.placement.symbolFadeChange( + n.now(), + )), + t.sourceCaches)) { + var a = r.style.sourceCaches[i]; + a.used && a.prepare(r.context); + } + var o = this.style._order, + s = l.filterObject(this.style.sourceCaches, function (t) { + return ( + "raster" === t.getSource().type || + "raster-dem" === t.getSource().type + ); + }); + for (var c in s) + !(function (t) { + var e = s[c], + n = e.getVisibleCoordinates().map(function (t) { + return e.getTile(t); + }); + k(n, r.context); + })(); + this.renderPass = "offscreen"; + var u, + f = []; + this.depthRboNeedsClear = !0; + for (var h = 0; h < o.length; h++) { + var p = r.style._layers[o[h]]; + p.hasOffscreenPass() && + !p.isHidden(r.transform.zoom) && + (p.source !== (u && u.id) && + ((f = []), + (u = r.style.sourceCaches[p.source]) && + (f = u.getVisibleCoordinates()).reverse()), + f.length && r.renderLayer(r, u, p, f)); + } + (this.context.bindFramebuffer.set(null), + this.context.clear({ + color: e.showOverdrawInspector ? M.black : M.transparent, + depth: 1, + }), + (this._showOverdrawInspector = e.showOverdrawInspector), + (this.depthRange = + (t._order.length + 2) * + this.numSublayers * + this.depthEpsilon), + (this.renderPass = "opaque")); + var d, + g = []; + for ( + this.currentLayer = o.length - 1, this.currentLayer; + this.currentLayer >= 0; + this.currentLayer-- + ) { + var m = r.style._layers[o[r.currentLayer]]; + (m.source !== (d && d.id) && + ((g = []), + (d = r.style.sourceCaches[m.source]) && + (r.clearStencil(), + (g = d.getVisibleCoordinates()), + d.getSource().isTileClipped && + r._renderTileClippingMasks(g))), + r.renderLayer(r, d, m, g)); + } + this.renderPass = "translucent"; + var v, + y = []; + for ( + this.currentLayer = 0, this.currentLayer; + this.currentLayer < o.length; + this.currentLayer++ + ) { + var x = r.style._layers[o[r.currentLayer]]; + (x.source !== (v && v.id) && + ((y = []), + (v = r.style.sourceCaches[x.source]) && + (r.clearStencil(), + (y = v.getVisibleCoordinates()), + v.getSource().isTileClipped && + r._renderTileClippingMasks(y)), + y.reverse()), + r.renderLayer(r, v, x, y)); + } + if (this.options.showTileBoundaries) { + var b = + this.style.sourceCaches[ + Object.keys(this.style.sourceCaches)[0] + ]; + b && A.debug(this, b, b.getVisibleCoordinates()); + } + }), + (T.prototype.setupOffscreenDepthRenderbuffer = function () { + var t = this.context; + this.depthRbo || + (this.depthRbo = t.createRenderbuffer( + t.gl.DEPTH_COMPONENT16, + this.width, + this.height, + )); + }), + (T.prototype.renderLayer = function (t, e, r, n) { + r.isHidden(this.transform.zoom) || + (("background" === r.type || n.length) && + ((this.id = r.id), A[r.type](t, e, r, n))); + }), + (T.prototype.translatePosMatrix = function (t, e, r, n, a) { + if (!r[0] && !r[1]) return t; + var o = a + ? "map" === n + ? this.transform.angle + : 0 + : "viewport" === n + ? -this.transform.angle + : 0; + if (o) { + var l = Math.sin(o), + c = Math.cos(o); + r = [r[0] * c - r[1] * l, r[0] * l + r[1] * c]; + } + var u = [ + a ? r[0] : s(e, r[0], this.transform.zoom), + a ? r[1] : s(e, r[1], this.transform.zoom), + 0, + ], + f = new Float32Array(16); + return (i.translate(f, t, u), f); + }), + (T.prototype.saveTileTexture = function (t) { + var e = this._tileTextures[t.size[0]]; + e ? e.push(t) : (this._tileTextures[t.size[0]] = [t]); + }), + (T.prototype.getTileTexture = function (t) { + var e = this._tileTextures[t]; + return e && e.length > 0 ? e.pop() : null; + }), + (T.prototype._createProgramCached = function (t, e) { + this.cache = this.cache || {}; + var r = + "" + + t + + (e.cacheKey || "") + + (this._showOverdrawInspector ? "/overdraw" : ""); + return ( + this.cache[r] || + (this.cache[r] = new y( + this.context, + v[t], + e, + this._showOverdrawInspector, + )), + this.cache[r] + ); + }), + (T.prototype.useProgram = function (t, e) { + var r = this._createProgramCached( + t, + e || this.emptyProgramConfiguration, + ); + return (this.context.program.set(r.program), r); + }), + (e.exports = T)); + }, + { + "../data/array_types": 39, + "../data/extent": 53, + "../data/pos_attributes": 57, + "../data/program_configuration": 58, + "../data/raster_bounds_attributes": 59, + "../gl/color_mode": 65, + "../gl/context": 66, + "../gl/depth_mode": 67, + "../gl/stencil_mode": 70, + "../shaders": 97, + "../source/pixels_to_tile_units": 104, + "../source/source_cache": 111, + "../style-spec/util/color": 153, + "../symbol/cross_tile_symbol_index": 218, + "../util/browser": 252, + "../util/util": 275, + "./draw_background": 74, + "./draw_circle": 75, + "./draw_debug": 77, + "./draw_fill": 78, + "./draw_fill_extrusion": 79, + "./draw_heatmap": 80, + "./draw_hillshade": 81, + "./draw_line": 82, + "./draw_raster": 83, + "./draw_symbol": 84, + "./program": 92, + "./texture": 93, + "./tile_mask": 94, + "./vertex_array_object": 95, + "@mapbox/gl-matrix": 2, + }, + ], + 91: [ + function (t, e, r) { + var n = t("../source/pixels_to_tile_units"); + ((r.isPatternMissing = function (t, e) { + if (!t) return !1; + var r = e.imageManager.getPattern(t.from), + n = e.imageManager.getPattern(t.to); + return !r || !n; + }), + (r.prepare = function (t, e, r) { + var n = e.context, + i = n.gl, + a = e.imageManager.getPattern(t.from), + o = e.imageManager.getPattern(t.to); + (i.uniform1i(r.uniforms.u_image, 0), + i.uniform2fv(r.uniforms.u_pattern_tl_a, a.tl), + i.uniform2fv(r.uniforms.u_pattern_br_a, a.br), + i.uniform2fv(r.uniforms.u_pattern_tl_b, o.tl), + i.uniform2fv(r.uniforms.u_pattern_br_b, o.br)); + var s = e.imageManager.getPixelSize(), + l = s.width, + c = s.height; + (i.uniform2fv(r.uniforms.u_texsize, [l, c]), + i.uniform1f(r.uniforms.u_mix, t.t), + i.uniform2fv(r.uniforms.u_pattern_size_a, a.displaySize), + i.uniform2fv(r.uniforms.u_pattern_size_b, o.displaySize), + i.uniform1f(r.uniforms.u_scale_a, t.fromScale), + i.uniform1f(r.uniforms.u_scale_b, t.toScale), + n.activeTexture.set(i.TEXTURE0), + e.imageManager.bind(e.context)); + }), + (r.setTile = function (t, e, r) { + var i = e.context.gl; + i.uniform1f( + r.uniforms.u_tile_units_to_pixels, + 1 / n(t, 1, e.transform.tileZoom), + ); + var a = Math.pow(2, t.tileID.overscaledZ), + o = (t.tileSize * Math.pow(2, e.transform.tileZoom)) / a, + s = o * (t.tileID.canonical.x + t.tileID.wrap * a), + l = o * t.tileID.canonical.y; + (i.uniform2f( + r.uniforms.u_pixel_coord_upper, + s >> 16, + l >> 16, + ), + i.uniform2f( + r.uniforms.u_pixel_coord_lower, + 65535 & s, + 65535 & l, + )); + })); + }, + { "../source/pixels_to_tile_units": 104 }, + ], + 92: [ + function (t, e, r) { + var n = t("../util/browser"), + i = t("../shaders"), + a = + (t("../data/program_configuration").ProgramConfiguration, + t("./vertex_array_object")), + o = + (t("../gl/context"), + function (t, e, r, a) { + var o = this, + s = t.gl; + this.program = s.createProgram(); + var l = r + .defines() + .concat( + "#define DEVICE_PIXEL_RATIO " + + n.devicePixelRatio.toFixed(1), + ); + a && l.push("#define OVERDRAW_INSPECTOR;"); + var c = l + .concat(i.prelude.fragmentSource, e.fragmentSource) + .join("\n"), + u = l + .concat(i.prelude.vertexSource, e.vertexSource) + .join("\n"), + f = s.createShader(s.FRAGMENT_SHADER); + (s.shaderSource(f, c), + s.compileShader(f), + s.attachShader(this.program, f)); + var h = s.createShader(s.VERTEX_SHADER); + (s.shaderSource(h, u), + s.compileShader(h), + s.attachShader(this.program, h)); + for ( + var p = r.layoutAttributes || [], d = 0; + d < p.length; + d++ + ) + s.bindAttribLocation(o.program, d, p[d].name); + (s.linkProgram(this.program), + (this.numAttributes = s.getProgramParameter( + this.program, + s.ACTIVE_ATTRIBUTES, + )), + (this.attributes = {}), + (this.uniforms = {})); + for (var g = 0; g < this.numAttributes; g++) { + var m = s.getActiveAttrib(o.program, g); + m && + (o.attributes[m.name] = s.getAttribLocation( + o.program, + m.name, + )); + } + for ( + var v = s.getProgramParameter( + this.program, + s.ACTIVE_UNIFORMS, + ), + y = 0; + y < v; + y++ + ) { + var x = s.getActiveUniform(o.program, y); + x && + (o.uniforms[x.name] = s.getUniformLocation( + o.program, + x.name, + )); + } + }); + ((o.prototype.draw = function (t, e, r, n, i, o, s, l, c) { + for ( + var u, + f = t.gl, + h = ((u = {}), (u[f.LINES] = 2), (u[f.TRIANGLES] = 3), u)[ + e + ], + p = 0, + d = o.get(); + p < d.length; + p += 1 + ) { + var g = d[p], + m = g.vaos || (g.vaos = {}); + ((m[r] || (m[r] = new a())).bind( + t, + this, + n, + s ? s.getPaintVertexBuffers() : [], + i, + g.vertexOffset, + l, + c, + ), + f.drawElements( + e, + g.primitiveLength * h, + f.UNSIGNED_SHORT, + g.primitiveOffset * h * 2, + )); + } + }), + (e.exports = o)); + }, + { + "../data/program_configuration": 58, + "../gl/context": 66, + "../shaders": 97, + "../util/browser": 252, + "./vertex_array_object": 95, + }, + ], + 93: [ + function (t, e, r) { + var n = t("../util/window"), + i = n.HTMLImageElement, + a = n.HTMLCanvasElement, + o = n.HTMLVideoElement, + s = n.ImageData, + l = function (t, e, r, n) { + this.context = t; + var i = e.width, + a = e.height; + ((this.size = [i, a]), + (this.format = r), + (this.texture = t.gl.createTexture()), + this.update(e, n)); + }; + ((l.prototype.update = function (t, e) { + var r = t.width, + n = t.height; + this.size = [r, n]; + var l = this.context, + c = l.gl; + (c.bindTexture(c.TEXTURE_2D, this.texture), + l.pixelStoreUnpack.set(1), + this.format === c.RGBA && + !1 !== e && + l.pixelStoreUnpackPremultiplyAlpha.set(!0), + t instanceof i || + t instanceof a || + t instanceof o || + t instanceof s + ? c.texImage2D( + c.TEXTURE_2D, + 0, + this.format, + this.format, + c.UNSIGNED_BYTE, + t, + ) + : c.texImage2D( + c.TEXTURE_2D, + 0, + this.format, + r, + n, + 0, + this.format, + c.UNSIGNED_BYTE, + t.data, + )); + }), + (l.prototype.bind = function (t, e, r) { + var n = this.context.gl; + (n.bindTexture(n.TEXTURE_2D, this.texture), + t !== this.filter && + (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, t), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MIN_FILTER, + r || t, + ), + (this.filter = t)), + e !== this.wrap && + (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, e), + n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, e), + (this.wrap = e))); + }), + (l.prototype.destroy = function () { + (this.context.gl.deleteTexture(this.texture), + (this.texture = null)); + }), + (e.exports = l)); + }, + { "../util/window": 254 }, + ], + 94: [ + function (t, e, r) { + function n(t, e, r, i, a) { + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (i.isLessThan(l.tileID)) break; + if (e.key === l.tileID.key) return; + if (l.tileID.isChildOf(e)) { + for (var c = e.children(1 / 0), u = 0; u < c.length; u++) + n(t, c[u], r.slice(s), i, a); + return; + } + } + var f = e.overscaledZ - t.overscaledZ, + h = new o( + f, + e.canonical.x - (t.canonical.x << f), + e.canonical.y - (t.canonical.y << f), + ); + a[h.key] = a[h.key] || h; + } + var i = t("../source/tile_id"), + a = i.OverscaledTileID, + o = i.CanonicalTileID; + e.exports = function (t, e) { + for ( + var r = t.sort(function (t, e) { + return t.tileID.isLessThan(e.tileID) + ? -1 + : e.tileID.isLessThan(t.tileID) + ? 1 + : 0; + }), + i = 0; + i < r.length; + i++ + ) { + var o = {}, + s = r[i], + l = r.slice(i + 1); + (n( + s.tileID.wrapped(), + s.tileID, + l, + new a(0, s.tileID.wrap + 1, 0, 0, 0), + o, + ), + s.setMask(o, e)); + } + }; + }, + { "../source/tile_id": 114 }, + ], + 95: [ + function (t, e, r) { + var n = function () { + ((this.boundProgram = null), + (this.boundLayoutVertexBuffer = null), + (this.boundPaintVertexBuffers = []), + (this.boundIndexBuffer = null), + (this.boundVertexOffset = null), + (this.boundDynamicVertexBuffer = null), + (this.vao = null)); + }; + ((n.prototype.bind = function (t, e, r, n, i, a, o, s) { + this.context = t; + for ( + var l = this.boundPaintVertexBuffers.length !== n.length, + c = 0; + !l && c < n.length; + c++ + ) + this.boundPaintVertexBuffers[c] !== n[c] && (l = !0); + var u = + !this.vao || + this.boundProgram !== e || + this.boundLayoutVertexBuffer !== r || + l || + this.boundIndexBuffer !== i || + this.boundVertexOffset !== a || + this.boundDynamicVertexBuffer !== o || + this.boundDynamicVertexBuffer2 !== s; + !t.extVertexArrayObject || u + ? this.freshBind(e, r, n, i, a, o, s) + : (t.bindVertexArrayOES.set(this.vao), + o && o.bind(), + i && i.dynamicDraw && i.bind(), + s && s.bind()); + }), + (n.prototype.freshBind = function (t, e, r, n, i, a, o) { + var s, + l = t.numAttributes, + c = this.context, + u = c.gl; + if (c.extVertexArrayObject) + (this.vao && this.destroy(), + (this.vao = + c.extVertexArrayObject.createVertexArrayOES()), + c.bindVertexArrayOES.set(this.vao), + (s = 0), + (this.boundProgram = t), + (this.boundLayoutVertexBuffer = e), + (this.boundPaintVertexBuffers = r), + (this.boundIndexBuffer = n), + (this.boundVertexOffset = i), + (this.boundDynamicVertexBuffer = a), + (this.boundDynamicVertexBuffer2 = o)); + else { + s = c.currentNumAttributes || 0; + for (var f = l; f < s; f++) u.disableVertexAttribArray(f); + } + e.enableAttributes(u, t); + for (var h = 0, p = r; h < p.length; h += 1) + p[h].enableAttributes(u, t); + (a && a.enableAttributes(u, t), + o && o.enableAttributes(u, t), + e.bind(), + e.setVertexAttribPointers(u, t, i)); + for (var d = 0, g = r; d < g.length; d += 1) { + var m = g[d]; + (m.bind(), m.setVertexAttribPointers(u, t, i)); + } + (a && (a.bind(), a.setVertexAttribPointers(u, t, i)), + n && n.bind(), + o && (o.bind(), o.setVertexAttribPointers(u, t, i)), + (c.currentNumAttributes = l)); + }), + (n.prototype.destroy = function () { + this.vao && + (this.context.extVertexArrayObject.deleteVertexArrayOES( + this.vao, + ), + (this.vao = null)); + }), + (e.exports = n)); + }, + {}, + ], + 96: [ + function (t, e, r) { + var n = t("../util/util"); + r.packUint8ToFloat = function (t, e) { + return ( + 256 * (t = n.clamp(Math.floor(t), 0, 255)) + + (e = n.clamp(Math.floor(e), 0, 255)) + ); + }; + }, + { "../util/util": 275 }, + ], + 97: [ + function (t, e, r) { + var n = { + prelude: { + fragmentSource: + "#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n", + vertexSource: + "#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\n// Unpack a pair of values that have been packed into a single float.\n// The packed values are assumed to be 8-bit unsigned integers, and are\n// packed like so:\n// packedValue = floor(input[0]) * 256 + input[1],\nvec2 unpack_float(const float packedValue) {\n int packedIntValue = int(packedValue);\n int v0 = packedIntValue / 256;\n return vec2(v0, packedIntValue - v0 * 256);\n}\n\nvec2 unpack_opacity(const float packedOpacity) {\n int intOpacity = int(packedOpacity) / 2;\n return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\n}\n\n// To minimize the number of attributes needed, we encode a 4-component\n// color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n return vec4(\n unpack_float(encodedColor[0]) / 255.0,\n unpack_float(encodedColor[1]) / 255.0\n );\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n", + }, + background: { + fragmentSource: + "uniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main() {\n gl_FragColor = u_color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", + }, + backgroundPattern: { + fragmentSource: + "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n", + }, + circle: { + fragmentSource: + "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n vec2 extrude = v_data.xy;\n float extrude_length = length(extrude);\n\n lowp float antialiasblur = v_data.z;\n float antialiased_blur = -max(blur, antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform bool u_pitch_with_map;\nuniform vec2 u_extrude_scale;\nuniform highp float u_camera_to_center_distance;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main(void) {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec2 circle_center = floor(a_pos * 0.5);\n if (u_pitch_with_map) {\n vec2 corner_position = circle_center;\n if (u_scale_with_map) {\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\n } else {\n // Pitching the circle with the map effectively scales it with the map\n // To counteract the effect for pitch-scale: viewport, we rescale the\n // whole circle based on the pitch scaling effect at its central point\n vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\n }\n\n gl_Position = u_matrix * vec4(corner_position, 0, 1);\n } else {\n gl_Position = u_matrix * vec4(circle_center, 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\n } else {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\n }\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n\n v_data = vec3(extrude.x, extrude.y, antialiasblur);\n}\n", + }, + clippingMask: { + fragmentSource: + "void main() {\n gl_FragColor = vec4(1.0);\n}\n", + vertexSource: + "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", + }, + heatmap: { + fragmentSource: + "#pragma mapbox: define highp float weight\n\nuniform highp float u_intensity;\nvarying vec2 v_extrude;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main() {\n #pragma mapbox: initialize highp float weight\n\n // Kernel density estimation with a Gaussian kernel of size 5x5\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = weight * u_intensity * GAUSS_COEF * exp(d);\n\n gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\n\nuniform mat4 u_matrix;\nuniform float u_extrude_scale;\nuniform float u_opacity;\nuniform float u_intensity;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_extrude;\n\n// Effective \"0\" in the kernel density texture to adjust the kernel size to;\n// this empirically chosen number minimizes artifacts on overlapping kernels\n// for typical heatmap cases (assuming clustered source)\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main(void) {\n #pragma mapbox: initialize highp float weight\n #pragma mapbox: initialize mediump float radius\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // This 'extrude' comes in ranging from [-1, -1], to [1, 1]. We'll use\n // it to produce the vertices of a square mesh framing the point feature\n // we're adding to the kernel density texture. We'll also pass it as\n // a varying, so that the fragment shader can determine the distance of\n // each fragment from the point feature.\n // Before we do so, we need to scale it up sufficiently so that the\n // kernel falls effectively to zero at the edge of the mesh.\n // That is, we want to know S such that\n // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\n // Which solves to:\n // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\n float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\n\n // Pass the varying in units of radius\n v_extrude = S * unscaled_extrude;\n\n // Scale by radius and the zoom-based scale factor to produce actual\n // mesh position\n vec2 extrude = v_extrude * radius * u_extrude_scale;\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\n\n gl_Position = u_matrix * pos;\n}\n", + }, + heatmapTexture: { + fragmentSource: + "uniform sampler2D u_image;\nuniform sampler2D u_color_ramp;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n float t = texture2D(u_image, v_pos).r;\n vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\n gl_FragColor = color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n", + }, + collisionBox: { + fragmentSource: + "\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n\n float alpha = 0.5;\n\n // Red = collision, hide label\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}", + vertexSource: + "attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n", + }, + collisionCircle: { + fragmentSource: + "\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n", + vertexSource: + "attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n", + }, + debug: { + fragmentSource: + "uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n", + vertexSource: + "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", + }, + fill: { + fragmentSource: + "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", + }, + fillOutline: { + fragmentSource: + "#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n", + }, + fillOutlinePattern: { + fragmentSource: + "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n", + }, + fillPattern: { + fragmentSource: + "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n", + }, + fillExtrusion: { + fragmentSource: + "varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n", + }, + fillExtrusionPattern: { + fragmentSource: + "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n", + }, + extrusionTexture: { + fragmentSource: + "uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n", + }, + hillshadePrepare: { + fragmentSource: + "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\n // maxzoom of the tile source. here we use a=0.3 which works out to the\n // expression below. see nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n", + }, + hillshade: { + fragmentSource: + "uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n", + }, + line: { + fragmentSource: + "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n", + }, + linePattern: { + fragmentSource: + "uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n", + }, + lineSDF: { + fragmentSource: + "\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n", + }, + raster: { + fragmentSource: + "uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n", + }, + symbolIcon: { + fragmentSource: + "uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n", + }, + symbolSDF: { + fragmentSource: + "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", + vertexSource: + "const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n", + }, + }, + i = /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, + a = function (t) { + var e = n[t], + r = {}; + ((e.fragmentSource = e.fragmentSource.replace( + i, + function (t, e, n, i, a) { + return ( + (r[a] = !0), + "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nvarying " + + n + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + n + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "\n#ifdef HAS_UNIFORM_u_" + + a + + "\n " + + n + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + ); + }, + )), + (e.vertexSource = e.vertexSource.replace( + i, + function (t, e, n, i, a) { + var o = "float" === i ? "vec2" : "vec4"; + return r[a] + ? "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float a_" + + a + + "_t;\nattribute " + + n + + " " + + o + + " a_" + + a + + ";\nvarying " + + n + + " " + + i + + " " + + a + + ";\n#else\nuniform " + + n + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + a + + " = unpack_mix_" + + o + + "(a_" + + a + + ", a_" + + a + + "_t);\n#else\n " + + n + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n" + : "define" === e + ? "\n#ifndef HAS_UNIFORM_u_" + + a + + "\nuniform lowp float a_" + + a + + "_t;\nattribute " + + n + + " " + + o + + " a_" + + a + + ";\n#else\nuniform " + + n + + " " + + i + + " u_" + + a + + ";\n#endif\n" + : "\n#ifndef HAS_UNIFORM_u_" + + a + + "\n " + + n + + " " + + i + + " " + + a + + " = unpack_mix_" + + o + + "(a_" + + a + + ", a_" + + a + + "_t);\n#else\n " + + n + + " " + + i + + " " + + a + + " = u_" + + a + + ";\n#endif\n"; + }, + ))); + }; + for (var o in n) a(o); + e.exports = n; + }, + {}, + ], + 98: [ + function (t, e, r) { + var n = t("./image_source"), + i = t("../util/window"), + a = t("../data/raster_bounds_attributes"), + o = t("../render/vertex_array_object"), + s = t("../render/texture"), + l = (function (t) { + function e(e, r, n, i) { + (t.call(this, e, r, n, i), + (this.options = r), + (this.animate = void 0 === r.animate || r.animate)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + ((this.canvas = + this.canvas || + i.document.getElementById(this.options.canvas)), + (this.width = this.canvas.width), + (this.height = this.canvas.height), + this._hasInvalidDimensions() + ? this.fire( + "error", + new Error( + "Canvas dimensions cannot be less than or equal to zero.", + ), + ) + : ((this.play = function () { + ((this._playing = !0), this.map._rerender()); + }), + (this.pause = function () { + this._playing = !1; + }), + this._finishLoading())); + }), + (e.prototype.getCanvas = function () { + return this.canvas; + }), + (e.prototype.onAdd = function (t) { + ((this.map = t), + this.load(), + this.canvas && this.animate && this.play()); + }), + (e.prototype.onRemove = function () { + this.pause(); + }), + (e.prototype.prepare = function () { + var t = this, + e = !1; + if ( + (this.canvas.width !== this.width && + ((this.width = this.canvas.width), (e = !0)), + this.canvas.height !== this.height && + ((this.height = this.canvas.height), (e = !0)), + !this._hasInvalidDimensions() && + 0 !== Object.keys(this.tiles).length) + ) { + var r = this.map.painter.context, + n = r.gl; + for (var i in (this.boundsBuffer || + (this.boundsBuffer = r.createVertexBuffer( + this._boundsArray, + a.members, + )), + this.boundsVAO || (this.boundsVAO = new o()), + this.texture + ? e + ? this.texture.update(this.canvas) + : this._playing && + (this.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE), + n.texSubImage2D( + n.TEXTURE_2D, + 0, + 0, + 0, + n.RGBA, + n.UNSIGNED_BYTE, + this.canvas, + )) + : ((this.texture = new s(r, this.canvas, n.RGBA)), + this.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE)), + t.tiles)) { + var l = t.tiles[i]; + "loaded" !== l.state && + ((l.state = "loaded"), (l.texture = t.texture)); + } + } + }), + (e.prototype.serialize = function () { + return { + type: "canvas", + canvas: this.canvas, + coordinates: this.coordinates, + }; + }), + (e.prototype.hasTransition = function () { + return this._playing; + }), + (e.prototype._hasInvalidDimensions = function () { + for ( + var t = 0, e = [this.canvas.width, this.canvas.height]; + t < e.length; + t += 1 + ) { + var r = e[t]; + if (isNaN(r) || r <= 0) return !0; + } + return !1; + }), + e + ); + })(n); + e.exports = l; + }, + { + "../data/raster_bounds_attributes": 59, + "../render/texture": 93, + "../render/vertex_array_object": 95, + "../util/window": 254, + "./image_source": 102, + }, + ], + 99: [ + function (t, e, r) { + var n = t("../util/evented"), + i = t("../util/util"), + a = t("../util/window"), + o = t("../data/extent"), + s = t("../util/ajax").ResourceType, + l = t("../util/browser"), + c = (function (t) { + function e(e, r, n, a) { + (t.call(this), + (this.id = e), + (this.type = "geojson"), + (this.minzoom = 0), + (this.maxzoom = 18), + (this.tileSize = 512), + (this.isTileClipped = !0), + (this.reparseOverscaled = !0), + (this.dispatcher = n), + this.setEventedParent(a), + (this._data = r.data), + (this._options = i.extend({}, r)), + (this._collectResourceTiming = r.collectResourceTiming), + (this._resourceTiming = []), + void 0 !== r.maxzoom && (this.maxzoom = r.maxzoom), + r.type && (this.type = r.type)); + var s = o / this.tileSize; + this.workerOptions = i.extend( + { + source: this.id, + cluster: r.cluster || !1, + geojsonVtOptions: { + buffer: (void 0 !== r.buffer ? r.buffer : 128) * s, + tolerance: + (void 0 !== r.tolerance ? r.tolerance : 0.375) * s, + extent: o, + maxZoom: this.maxzoom, + }, + superclusterOptions: { + maxZoom: + void 0 !== r.clusterMaxZoom + ? Math.min(r.clusterMaxZoom, this.maxzoom - 1) + : this.maxzoom - 1, + extent: o, + radius: (r.clusterRadius || 50) * s, + log: !1, + }, + }, + r.workerOptions, + ); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + var t = this; + (this.fire("dataloading", { dataType: "source" }), + this._updateWorkerData(function (e) { + if (e) t.fire("error", { error: e }); + else { + var r = { + dataType: "source", + sourceDataType: "metadata", + }; + (t._collectResourceTiming && + t._resourceTiming && + t._resourceTiming.length > 0 && + ((r.resourceTiming = t._resourceTiming), + (t._resourceTiming = [])), + t.fire("data", r)); + } + })); + }), + (e.prototype.onAdd = function (t) { + ((this.map = t), this.load()); + }), + (e.prototype.setData = function (t) { + var e = this; + return ( + (this._data = t), + this.fire("dataloading", { dataType: "source" }), + this._updateWorkerData(function (t) { + if (t) return e.fire("error", { error: t }); + var r = { + dataType: "source", + sourceDataType: "content", + }; + (e._collectResourceTiming && + e._resourceTiming && + e._resourceTiming.length > 0 && + ((r.resourceTiming = e._resourceTiming), + (e._resourceTiming = [])), + e.fire("data", r)); + }), + this + ); + }), + (e.prototype._updateWorkerData = function (t) { + var e = this, + r = i.extend({}, this.workerOptions), + n = this._data; + ("string" == typeof n + ? ((r.request = this.map._transformRequest( + (function (t) { + var e = a.document.createElement("a"); + return ((e.href = t), e.href); + })(n), + s.Source, + )), + (r.request.collectResourceTiming = + this._collectResourceTiming)) + : (r.data = JSON.stringify(n)), + (this.workerID = this.dispatcher.send( + this.type + ".loadData", + r, + function (r, n) { + ((e._loaded = !0), + n && + n.resourceTiming && + n.resourceTiming[e.id] && + (e._resourceTiming = + n.resourceTiming[e.id].slice(0)), + t(r)); + }, + this.workerID, + ))); + }), + (e.prototype.loadTile = function (t, e) { + var r = this, + n = + void 0 === t.workerID || "expired" === t.state + ? "loadTile" + : "reloadTile", + i = { + type: this.type, + uid: t.uid, + tileID: t.tileID, + zoom: t.tileID.overscaledZ, + maxZoom: this.maxzoom, + tileSize: this.tileSize, + source: this.id, + pixelRatio: l.devicePixelRatio, + overscaling: t.tileID.overscaleFactor(), + showCollisionBoxes: this.map.showCollisionBoxes, + }; + t.workerID = this.dispatcher.send( + n, + i, + function (i, a) { + return ( + t.unloadVectorData(), + t.aborted + ? e(null) + : i + ? e(i) + : (t.loadVectorData( + a, + r.map.painter, + "reloadTile" === n, + ), + e(null)) + ); + }, + this.workerID, + ); + }), + (e.prototype.abortTile = function (t) { + t.aborted = !0; + }), + (e.prototype.unloadTile = function (t) { + (t.unloadVectorData(), + this.dispatcher.send( + "removeTile", + { uid: t.uid, type: this.type, source: this.id }, + null, + t.workerID, + )); + }), + (e.prototype.onRemove = function () { + this.dispatcher.broadcast("removeSource", { + type: this.type, + source: this.id, + }); + }), + (e.prototype.serialize = function () { + return i.extend({}, this._options, { + type: this.type, + data: this._data, + }); + }), + (e.prototype.hasTransition = function () { + return !1; + }), + e + ); + })(n); + e.exports = c; + }, + { + "../data/extent": 53, + "../util/ajax": 251, + "../util/browser": 252, + "../util/evented": 260, + "../util/util": 275, + "../util/window": 254, + }, + ], + 100: [ + function (t, e, r) { + function n(t, e) { + var r = t.source, + n = t.tileID.canonical; + if (!this._geoJSONIndexes[r]) return e(null, null); + var i = this._geoJSONIndexes[r].getTile(n.z, n.x, n.y); + if (!i) return e(null, null); + var a = new s(i.features), + o = l(a); + ((0 === o.byteOffset && o.byteLength === o.buffer.byteLength) || + (o = new Uint8Array(o)), + e(null, { vectorTile: a, rawData: o.buffer })); + } + var i = t("../util/ajax"), + a = t("../util/performance"), + o = t("geojson-rewind"), + s = t("./geojson_wrapper"), + l = t("vt-pbf"), + c = t("supercluster"), + u = t("geojson-vt"), + f = (function (t) { + function e(e, r, i) { + (t.call(this, e, r, n), + i && (this.loadGeoJSON = i), + (this._geoJSONIndexes = {})); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.loadData = function (t, e) { + var r = this; + this.loadGeoJSON(t, function (n, i) { + if (n || !i) return e(n); + if ("object" != typeof i) + return e( + new Error( + "Input data is not a valid GeoJSON object.", + ), + ); + o(i, !0); + try { + r._geoJSONIndexes[t.source] = t.cluster + ? c(t.superclusterOptions).load(i.features) + : u(i, t.geojsonVtOptions); + } catch (n) { + return e(n); + } + r.loaded[t.source] = {}; + var s = {}; + if (t.request && t.request.collectResourceTiming) { + var l = a.getEntriesByName(t.request.url); + l && + ((s.resourceTiming = {}), + (s.resourceTiming[t.source] = JSON.parse( + JSON.stringify(l), + ))); + } + e(null, s); + }); + }), + (e.prototype.reloadTile = function (e, r) { + var n = this.loaded[e.source], + i = e.uid; + return n && n[i] + ? t.prototype.reloadTile.call(this, e, r) + : this.loadTile(e, r); + }), + (e.prototype.loadGeoJSON = function (t, e) { + if (t.request) i.getJSON(t.request, e); + else { + if ("string" != typeof t.data) + return e( + new Error( + "Input data is not a valid GeoJSON object.", + ), + ); + try { + return e(null, JSON.parse(t.data)); + } catch (t) { + return e( + new Error( + "Input data is not a valid GeoJSON object.", + ), + ); + } + } + }), + (e.prototype.removeSource = function (t, e) { + (this._geoJSONIndexes[t.source] && + delete this._geoJSONIndexes[t.source], + e()); + }), + e + ); + })(t("./vector_tile_worker_source")); + e.exports = f; + }, + { + "../util/ajax": 251, + "../util/performance": 268, + "./geojson_wrapper": 101, + "./vector_tile_worker_source": 116, + "geojson-rewind": 15, + "geojson-vt": 19, + supercluster: 32, + "vt-pbf": 34, + }, + ], + 101: [ + function (t, e, r) { + var n = t("@mapbox/point-geometry"), + i = + t("@mapbox/vector-tile").VectorTileFeature.prototype + .toGeoJSON, + a = t("../data/extent"), + o = function (t) { + ((this._feature = t), + (this.extent = a), + (this.type = t.type), + (this.properties = t.tags), + "id" in t && + !isNaN(t.id) && + (this.id = parseInt(t.id, 10))); + }; + ((o.prototype.loadGeometry = function () { + if (1 === this._feature.type) { + for ( + var t = [], e = 0, r = this._feature.geometry; + e < r.length; + e += 1 + ) { + var i = r[e]; + t.push([new n(i[0], i[1])]); + } + return t; + } + for ( + var a = [], o = 0, s = this._feature.geometry; + o < s.length; + o += 1 + ) { + for (var l = [], c = 0, u = s[o]; c < u.length; c += 1) { + var f = u[c]; + l.push(new n(f[0], f[1])); + } + a.push(l); + } + return a; + }), + (o.prototype.toGeoJSON = function (t, e, r) { + return i.call(this, t, e, r); + })); + var s = function (t) { + ((this.layers = { _geojsonTileLayer: this }), + (this.name = "_geojsonTileLayer"), + (this.extent = a), + (this.length = t.length), + (this._features = t)); + }; + ((s.prototype.feature = function (t) { + return new o(this._features[t]); + }), + (e.exports = s)); + }, + { + "../data/extent": 53, + "@mapbox/point-geometry": 4, + "@mapbox/vector-tile": 8, + }, + ], + 102: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("./tile_id").CanonicalTileID, + a = t("../geo/lng_lat"), + o = t("@mapbox/point-geometry"), + s = t("../util/evented"), + l = t("../util/ajax"), + c = t("../util/browser"), + u = t("../data/extent"), + f = t("../data/array_types").RasterBoundsArray, + h = t("../data/raster_bounds_attributes"), + p = t("../render/vertex_array_object"), + d = t("../render/texture"), + g = (function (t) { + function e(e, r, n, i) { + (t.call(this), + (this.id = e), + (this.dispatcher = n), + (this.coordinates = r.coordinates), + (this.type = "image"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.tileSize = 512), + (this.tiles = {}), + this.setEventedParent(i), + (this.options = r)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + var t = this; + (this.fire("dataloading", { dataType: "source" }), + (this.url = this.options.url), + l.getImage( + this.map._transformRequest( + this.url, + l.ResourceType.Image, + ), + function (e, r) { + e + ? t.fire("error", { error: e }) + : r && + ((t.image = c.getImageData(r)), + t._finishLoading()); + }, + )); + }), + (e.prototype._finishLoading = function () { + this.map && + (this.setCoordinates(this.coordinates), + this.fire("data", { + dataType: "source", + sourceDataType: "metadata", + })); + }), + (e.prototype.onAdd = function (t) { + ((this.map = t), this.load()); + }), + (e.prototype.setCoordinates = function (t) { + this.coordinates = t; + var e = this.map, + r = t.map(function (t) { + return e.transform + .locationCoordinate(a.convert(t)) + .zoomTo(0); + }), + s = (this.centerCoord = n.getCoordinatesCenter(r)); + ((s.column = Math.floor(s.column)), + (s.row = Math.floor(s.row)), + (this.tileID = new i(s.zoom, s.column, s.row)), + (this.minzoom = this.maxzoom = s.zoom)); + var l = r.map(function (t) { + var e = t.zoomTo(s.zoom); + return new o( + Math.round((e.column - s.column) * u), + Math.round((e.row - s.row) * u), + ); + }); + return ( + (this._boundsArray = new f()), + this._boundsArray.emplaceBack(l[0].x, l[0].y, 0, 0), + this._boundsArray.emplaceBack(l[1].x, l[1].y, u, 0), + this._boundsArray.emplaceBack(l[3].x, l[3].y, 0, u), + this._boundsArray.emplaceBack(l[2].x, l[2].y, u, u), + this.boundsBuffer && + (this.boundsBuffer.destroy(), + delete this.boundsBuffer), + this.fire("data", { + dataType: "source", + sourceDataType: "content", + }), + this + ); + }), + (e.prototype.prepare = function () { + var t = this; + if (0 !== Object.keys(this.tiles).length && this.image) { + var e = this.map.painter.context, + r = e.gl; + for (var n in (this.boundsBuffer || + (this.boundsBuffer = e.createVertexBuffer( + this._boundsArray, + h.members, + )), + this.boundsVAO || (this.boundsVAO = new p()), + this.texture || + ((this.texture = new d(e, this.image, r.RGBA)), + this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), + t.tiles)) { + var i = t.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), (i.texture = t.texture)); + } + } + }), + (e.prototype.loadTile = function (t, e) { + this.tileID && this.tileID.equals(t.tileID.canonical) + ? ((this.tiles[String(t.tileID.wrap)] = t), + (t.buckets = {}), + e(null)) + : ((t.state = "errored"), e(null)); + }), + (e.prototype.serialize = function () { + return { + type: "image", + url: this.options.url, + coordinates: this.coordinates, + }; + }), + (e.prototype.hasTransition = function () { + return !1; + }), + e + ); + })(s); + e.exports = g; + }, + { + "../data/array_types": 39, + "../data/extent": 53, + "../data/raster_bounds_attributes": 59, + "../geo/lng_lat": 62, + "../render/texture": 93, + "../render/vertex_array_object": 95, + "../util/ajax": 251, + "../util/browser": 252, + "../util/evented": 260, + "../util/util": 275, + "./tile_id": 114, + "@mapbox/point-geometry": 4, + }, + ], + 103: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../util/ajax"), + a = t("../util/browser"), + o = t("../util/mapbox").normalizeSourceURL; + e.exports = function (t, e, r) { + var s = function (t, e) { + if (t) return r(t); + if (e) { + var i = n.pick(e, [ + "tiles", + "minzoom", + "maxzoom", + "attribution", + "mapbox_logo", + "bounds", + ]); + (e.vector_layers && + ((i.vectorLayers = e.vector_layers), + (i.vectorLayerIds = i.vectorLayers.map(function (t) { + return t.id; + }))), + r(null, i)); + } + }; + t.url + ? i.getJSON(e(o(t.url), i.ResourceType.Source), s) + : a.frame(function () { + return s(null, t); + }); + }; + }, + { + "../util/ajax": 251, + "../util/browser": 252, + "../util/mapbox": 267, + "../util/util": 275, + }, + ], + 104: [ + function (t, e, r) { + var n = t("../data/extent"); + e.exports = function (t, e, r) { + return ( + e * (n / (t.tileSize * Math.pow(2, r - t.tileID.overscaledZ))) + ); + }; + }, + { "../data/extent": 53 }, + ], + 105: [ + function (t, e, r) { + function n(t, e) { + var r = t.tileID, + n = e.tileID; + return ( + r.overscaledZ - n.overscaledZ || + r.canonical.y - n.canonical.y || + r.wrap - n.wrap || + r.canonical.x - n.canonical.x + ); + } + ((r.rendered = function (t, e, r, i, a, o, s) { + var l = t.tilesIn(r); + l.sort(n); + for (var c = [], u = 0, f = l; u < f.length; u += 1) { + var h = f[u]; + c.push({ + wrappedTileID: h.tileID.wrapped().key, + queryResults: h.tile.queryRenderedFeatures( + e, + h.queryGeometry, + h.scale, + i, + o, + t.id, + s, + ), + }); + } + return (function (t) { + for (var e = {}, r = {}, n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.queryResults, + s = a.wrappedTileID, + l = (r[s] = r[s] || {}); + for (var c in o) + for ( + var u = o[c], + f = (l[c] = l[c] || {}), + h = (e[c] = e[c] || []), + p = 0, + d = u; + p < d.length; + p += 1 + ) { + var g = d[p]; + f[g.featureIndex] || + ((f[g.featureIndex] = !0), h.push(g.feature)); + } + } + return e; + })(c); + }), + (r.source = function (t, e) { + for ( + var r = t.getRenderableIds().map(function (e) { + return t.getTileByID(e); + }), + n = [], + i = {}, + a = 0; + a < r.length; + a++ + ) { + var o = r[a], + s = o.tileID.canonical.key; + i[s] || ((i[s] = !0), o.querySourceFeatures(n, e)); + } + return n; + })); + }, + {}, + ], + 106: [ + function (t, e, r) { + var n = t("../util/ajax"), + i = t("../util/util"), + a = + (t("../util/evented"), t("../util/mapbox").normalizeTileURL), + o = t("../util/browser"), + s = t("./tile_id").OverscaledTileID, + l = (function (t) { + function e(e, r, n, a) { + (t.call(this, e, r, n, a), + (this.type = "raster-dem"), + (this.maxzoom = 22), + (this._options = i.extend({}, r))); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.serialize = function () { + return { + type: "raster-dem", + url: this.url, + tileSize: this.tileSize, + tiles: this.tiles, + bounds: this.bounds, + }; + }), + (e.prototype.loadTile = function (t, e) { + var r = a( + t.tileID.canonical.url(this.tiles, this.scheme), + this.url, + this.tileSize, + ); + ((t.request = n.getImage( + this.map._transformRequest(r, n.ResourceType.Tile), + function (r, n) { + if ((delete t.request, t.aborted)) + ((t.state = "unloaded"), e(null)); + else if (r) ((t.state = "errored"), e(r)); + else if (n) { + (this.map._refreshExpiredTiles && + t.setExpiryData(n), + delete n.cacheControl, + delete n.expires); + var i = o.getImageData(n), + a = { + uid: t.uid, + coord: t.tileID, + source: this.id, + rawImageData: i, + }; + (t.workerID && "expired" !== t.state) || + (t.workerID = this.dispatcher.send( + "loadDEMTile", + a, + function (r, n) { + (r && ((t.state = "errored"), e(r)), + n && + ((t.dem = n), + (t.needsHillshadePrepare = !0), + (t.state = "loaded"), + e(null))); + }.bind(this), + )); + } + }.bind(this), + )), + (t.neighboringTiles = this._getNeighboringTiles( + t.tileID, + ))); + }), + (e.prototype._getNeighboringTiles = function (t) { + var e = t.canonical, + r = Math.pow(2, e.z), + n = (e.x - 1 + r) % r, + i = 0 === e.x ? t.wrap - 1 : t.wrap, + a = (e.x + 1 + r) % r, + o = e.x + 1 === r ? t.wrap + 1 : t.wrap, + l = {}; + return ( + (l[new s(t.overscaledZ, i, e.z, n, e.y).key] = { + backfilled: !1, + }), + (l[new s(t.overscaledZ, o, e.z, a, e.y).key] = { + backfilled: !1, + }), + e.y > 0 && + ((l[new s(t.overscaledZ, i, e.z, n, e.y - 1).key] = { + backfilled: !1, + }), + (l[ + new s(t.overscaledZ, t.wrap, e.z, e.x, e.y - 1).key + ] = { backfilled: !1 }), + (l[new s(t.overscaledZ, o, e.z, a, e.y - 1).key] = { + backfilled: !1, + })), + e.y + 1 < r && + ((l[new s(t.overscaledZ, i, e.z, n, e.y + 1).key] = { + backfilled: !1, + }), + (l[ + new s(t.overscaledZ, t.wrap, e.z, e.x, e.y + 1).key + ] = { backfilled: !1 }), + (l[new s(t.overscaledZ, o, e.z, a, e.y + 1).key] = { + backfilled: !1, + })), + l + ); + }), + (e.prototype.unloadTile = function (t) { + (t.demTexture && + this.map.painter.saveTileTexture(t.demTexture), + t.fbo && (t.fbo.destroy(), delete t.fbo), + t.dem && delete t.dem, + delete t.neighboringTiles, + (t.state = "unloaded"), + this.dispatcher.send( + "removeDEMTile", + { uid: t.uid, source: this.id }, + void 0, + t.workerID, + )); + }), + e + ); + })(t("./raster_tile_source")); + e.exports = l; + }, + { + "../util/ajax": 251, + "../util/browser": 252, + "../util/evented": 260, + "../util/mapbox": 267, + "../util/util": 275, + "./raster_tile_source": 108, + "./tile_id": 114, + }, + ], + 107: [ + function (t, e, r) { + var n = t("../data/dem_data").DEMData, + i = function () { + ((this.loading = {}), (this.loaded = {})); + }; + ((i.prototype.loadTile = function (t, e) { + var r = t.source, + i = t.uid; + this.loading[r] || (this.loading[r] = {}); + var a = new n(i); + ((this.loading[r][i] = a), + a.loadFromImage(t.rawImageData), + delete this.loading[r][i], + (this.loaded[r] = this.loaded[r] || {}), + (this.loaded[r][i] = a), + e(null, a)); + }), + (i.prototype.removeTile = function (t) { + var e = this.loaded[t.source], + r = t.uid; + e && e[r] && delete e[r]; + }), + (e.exports = i)); + }, + { "../data/dem_data": 52 }, + ], + 108: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../util/ajax"), + a = t("../util/evented"), + o = t("./load_tilejson"), + s = t("../util/mapbox").normalizeTileURL, + l = t("./tile_bounds"), + c = t("../render/texture"), + u = (function (t) { + function e(e, r, i, a) { + (t.call(this), + (this.id = e), + (this.dispatcher = i), + this.setEventedParent(a), + (this.type = "raster"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.roundZoom = !0), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this._loaded = !1), + (this._options = n.extend({}, r)), + n.extend(this, n.pick(r, ["url", "scheme", "tileSize"]))); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + var t = this; + (this.fire("dataloading", { dataType: "source" }), + o( + this._options, + this.map._transformRequest, + function (e, r) { + e + ? t.fire("error", e) + : r && + (n.extend(t, r), + r.bounds && + (t.tileBounds = new l( + r.bounds, + t.minzoom, + t.maxzoom, + )), + t.fire("data", { + dataType: "source", + sourceDataType: "metadata", + }), + t.fire("data", { + dataType: "source", + sourceDataType: "content", + })); + }, + )); + }), + (e.prototype.onAdd = function (t) { + ((this.map = t), this.load()); + }), + (e.prototype.serialize = function () { + return n.extend({}, this._options); + }), + (e.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (e.prototype.loadTile = function (t, e) { + var r = this, + n = s( + t.tileID.canonical.url(this.tiles, this.scheme), + this.url, + this.tileSize, + ); + t.request = i.getImage( + this.map._transformRequest(n, i.ResourceType.Tile), + function (n, i) { + if ((delete t.request, t.aborted)) + ((t.state = "unloaded"), e(null)); + else if (n) ((t.state = "errored"), e(n)); + else if (i) { + (r.map._refreshExpiredTiles && t.setExpiryData(i), + delete i.cacheControl, + delete i.expires); + var a = r.map.painter.context, + o = a.gl; + ((t.texture = r.map.painter.getTileTexture( + i.width, + )), + t.texture + ? (t.texture.bind( + o.LINEAR, + o.CLAMP_TO_EDGE, + o.LINEAR_MIPMAP_NEAREST, + ), + o.texSubImage2D( + o.TEXTURE_2D, + 0, + 0, + 0, + o.RGBA, + o.UNSIGNED_BYTE, + i, + )) + : ((t.texture = new c(a, i, o.RGBA)), + t.texture.bind( + o.LINEAR, + o.CLAMP_TO_EDGE, + o.LINEAR_MIPMAP_NEAREST, + ), + a.extTextureFilterAnisotropic && + o.texParameterf( + o.TEXTURE_2D, + a.extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + a.extTextureFilterAnisotropicMax, + )), + o.generateMipmap(o.TEXTURE_2D), + (t.state = "loaded"), + e(null)); + } + }, + ); + }), + (e.prototype.abortTile = function (t, e) { + (t.request && (t.request.abort(), delete t.request), e()); + }), + (e.prototype.unloadTile = function (t, e) { + (t.texture && this.map.painter.saveTileTexture(t.texture), + e()); + }), + (e.prototype.hasTransition = function () { + return !1; + }), + e + ); + })(a); + e.exports = u; + }, + { + "../render/texture": 93, + "../util/ajax": 251, + "../util/evented": 260, + "../util/mapbox": 267, + "../util/util": 275, + "./load_tilejson": 103, + "./tile_bounds": 113, + }, + ], + 109: [ + function (t, e, r) { + var n = t("../util/ajax"), + i = t("../util/evented"), + a = t("../util/window"), + o = !1, + s = null; + ((e.exports.evented = new i()), + (e.exports.registerForPluginAvailability = function (t) { + return ( + s + ? t({ + pluginBlobURL: s, + errorCallback: e.exports.errorCallback, + }) + : e.exports.evented.once("pluginAvailable", t), + t + ); + }), + (e.exports.createBlobURL = function (t) { + return a.URL.createObjectURL( + new a.Blob([t.data], { type: "text/javascript" }), + ); + }), + (e.exports.clearRTLTextPlugin = function () { + ((o = !1), (s = null)); + }), + (e.exports.setRTLTextPlugin = function (t, r) { + if (o) + throw new Error( + "setRTLTextPlugin cannot be called multiple times.", + ); + ((o = !0), + (e.exports.errorCallback = r), + n.getArrayBuffer({ url: t }, function (t, n) { + t + ? r(t) + : n && + ((s = e.exports.createBlobURL(n)), + e.exports.evented.fire("pluginAvailable", { + pluginBlobURL: s, + errorCallback: r, + })); + })); + }), + (e.exports.applyArabicShaping = null), + (e.exports.processBidirectionalText = null)); + }, + { + "../util/ajax": 251, + "../util/evented": 260, + "../util/window": 254, + }, + ], + 110: [ + function (t, e, r) { + var n = t("../util/util"), + i = { + vector: t("../source/vector_tile_source"), + raster: t("../source/raster_tile_source"), + "raster-dem": t("../source/raster_dem_tile_source"), + geojson: t("../source/geojson_source"), + video: t("../source/video_source"), + image: t("../source/image_source"), + canvas: t("../source/canvas_source"), + }; + ((r.create = function (t, e, r, a) { + var o = new i[e.type](t, e, r, a); + if (o.id !== t) + throw new Error( + "Expected Source id to be " + t + " instead of " + o.id, + ); + return ( + n.bindAll( + ["load", "abort", "unload", "serialize", "prepare"], + o, + ), + o + ); + }), + (r.getType = function (t) { + return i[t]; + }), + (r.setType = function (t, e) { + i[t] = e; + })); + }, + { + "../source/canvas_source": 98, + "../source/geojson_source": 99, + "../source/image_source": 102, + "../source/raster_dem_tile_source": 106, + "../source/raster_tile_source": 108, + "../source/vector_tile_source": 115, + "../source/video_source": 117, + "../util/util": 275, + }, + ], + 111: [ + function (t, e, r) { + function n(t, e) { + var r = e.zoomTo(t.canonical.z); + return new h( + (r.column - + (t.canonical.x + t.wrap * Math.pow(2, t.canonical.z))) * + f, + (r.row - t.canonical.y) * f, + ); + } + function i(t) { + return "raster" === t || "image" === t || "video" === t; + } + var a = t("./source").create, + o = t("./tile"), + s = t("../util/evented"), + l = t("../util/lru_cache"), + c = t("../geo/coordinate"), + u = t("../util/util"), + f = t("../data/extent"), + h = (t("../gl/context"), t("@mapbox/point-geometry")), + p = t("../util/browser"), + d = t("./tile_id").OverscaledTileID, + g = (function (t) { + function e(e, r, n) { + var i = this; + (t.call(this), + (this.id = e), + (this.dispatcher = n), + this.on("data", function (t) { + ("source" === t.dataType && + "metadata" === t.sourceDataType && + (i._sourceLoaded = !0), + i._sourceLoaded && + !i._paused && + "source" === t.dataType && + "content" === t.sourceDataType && + (i.reload(), i.transform && i.update(i.transform))); + }), + this.on("error", function () { + i._sourceErrored = !0; + }), + (this._source = a(e, r, n, this)), + (this._tiles = {}), + (this._cache = new l(0, this._unloadTile.bind(this))), + (this._timers = {}), + (this._cacheTimers = {}), + (this._maxTileCacheSize = null), + (this._isIdRenderable = this._isIdRenderable.bind(this)), + (this._coveredTiles = {})); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.onAdd = function (t) { + ((this.map = t), + (this._maxTileCacheSize = t + ? t._maxTileCacheSize + : null), + this._source && + this._source.onAdd && + this._source.onAdd(t)); + }), + (e.prototype.onRemove = function (t) { + this._source && + this._source.onRemove && + this._source.onRemove(t); + }), + (e.prototype.loaded = function () { + if (this._sourceErrored) return !0; + if (!this._sourceLoaded) return !1; + for (var t in this._tiles) { + var e = this._tiles[t]; + if ("loaded" !== e.state && "errored" !== e.state) + return !1; + } + return !0; + }), + (e.prototype.getSource = function () { + return this._source; + }), + (e.prototype.pause = function () { + this._paused = !0; + }), + (e.prototype.resume = function () { + if (this._paused) { + var t = this._shouldReloadOnResume; + ((this._paused = !1), + (this._shouldReloadOnResume = !1), + t && this.reload(), + this.transform && this.update(this.transform)); + } + }), + (e.prototype._loadTile = function (t, e) { + return this._source.loadTile(t, e); + }), + (e.prototype._unloadTile = function (t) { + if (this._source.unloadTile) + return this._source.unloadTile(t, function () {}); + }), + (e.prototype._abortTile = function (t) { + if (this._source.abortTile) + return this._source.abortTile(t, function () {}); + }), + (e.prototype.serialize = function () { + return this._source.serialize(); + }), + (e.prototype.prepare = function (t) { + for (var e in (this._source.prepare && + this._source.prepare(), + this._tiles)) + this._tiles[e].upload(t); + }), + (e.prototype.getIds = function () { + var t = this; + return Object.keys(this._tiles) + .map(Number) + .sort(function (e, r) { + var n = t._tiles[e].tileID, + i = t._tiles[r].tileID, + a = new h(n.canonical.x, n.canonical.y).rotate( + t.transform.angle, + ), + o = new h(i.canonical.x, i.canonical.y).rotate( + t.transform.angle, + ); + return ( + n.overscaledZ - i.overscaledZ || + o.y - a.y || + o.x - a.x + ); + }); + }), + (e.prototype.getRenderableIds = function () { + return this.getIds().filter(this._isIdRenderable); + }), + (e.prototype.hasRenderableParent = function (t) { + var e = this.findLoadedParent(t, 0, {}); + return !!e && this._isIdRenderable(e.tileID.key); + }), + (e.prototype._isIdRenderable = function (t) { + return ( + this._tiles[t] && + this._tiles[t].hasData() && + !this._coveredTiles[t] + ); + }), + (e.prototype.reload = function () { + if (this._paused) this._shouldReloadOnResume = !0; + else + for (var t in (this._resetCache(), this._tiles)) + this._reloadTile(t, "reloading"); + }), + (e.prototype._reloadTile = function (t, e) { + var r = this._tiles[t]; + r && + ("loading" !== r.state && (r.state = e), + this._loadTile( + r, + this._tileLoaded.bind(this, r, t, e), + )); + }), + (e.prototype._tileLoaded = function (t, e, r, n) { + if (n) + return ( + (t.state = "errored"), + void (404 !== n.status + ? this._source.fire("error", { tile: t, error: n }) + : this.update(this.transform)) + ); + ((t.timeAdded = p.now()), + "expired" === r && (t.refreshedUponExpiration = !0), + this._setTileReloadTimer(e, t), + "raster-dem" === this.getSource().type && + t.dem && + this._backfillDEM(t), + this._source.fire("data", { + dataType: "source", + tile: t, + coord: t.tileID, + }), + this.map && + (this.map.painter.tileExtentVAO.vao = null)); + }), + (e.prototype._backfillDEM = function (t) { + function e(t, e) { + t.needsHillshadePrepare = !0; + var r = e.tileID.canonical.x - t.tileID.canonical.x, + n = e.tileID.canonical.y - t.tileID.canonical.y, + i = Math.pow(2, t.tileID.canonical.z), + a = e.tileID.key; + (0 === r && 0 === n) || + Math.abs(n) > 1 || + (Math.abs(r) > 1 && + (1 === Math.abs(r + i) + ? (r += i) + : 1 === Math.abs(r - i) && (r -= i)), + e.dem && + t.dem && + (t.dem.backfillBorder(e.dem, r, n), + t.neighboringTiles && + t.neighboringTiles[a] && + (t.neighboringTiles[a].backfilled = !0))); + } + for ( + var r = this.getRenderableIds(), n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + if (t.neighboringTiles && t.neighboringTiles[i]) { + var a = this.getTileByID(i); + (e(t, a), e(a, t)); + } + } + }), + (e.prototype.getTile = function (t) { + return this.getTileByID(t.key); + }), + (e.prototype.getTileByID = function (t) { + return this._tiles[t]; + }), + (e.prototype.getZoom = function (t) { + return ( + t.zoom + t.scaleZoom(t.tileSize / this._source.tileSize) + ); + }), + (e.prototype._findLoadedChildren = function (t, e, r) { + var n = this, + i = !1; + for (var a in n._tiles) { + var o = n._tiles[a]; + if ( + !( + r[a] || + !o.hasData() || + o.tileID.overscaledZ <= t.overscaledZ || + o.tileID.overscaledZ > e + ) + ) { + var s = Math.pow( + 2, + o.tileID.canonical.z - t.canonical.z, + ); + if ( + Math.floor(o.tileID.canonical.x / s) === + t.canonical.x && + Math.floor(o.tileID.canonical.y / s) === + t.canonical.y + ) + for ( + r[a] = o.tileID, i = !0; + o && o.tileID.overscaledZ - 1 > t.overscaledZ; + + ) { + var l = o.tileID.scaledTo( + o.tileID.overscaledZ - 1, + ); + if (!l) break; + (o = n._tiles[l.key]) && + o.hasData() && + (delete r[a], (r[l.key] = l)); + } + } + } + return i; + }), + (e.prototype.findLoadedParent = function (t, e, r) { + for (var n = this, i = t.overscaledZ - 1; i >= e; i--) { + var a = t.scaledTo(i); + if (!a) return; + var o = String(a.key), + s = n._tiles[o]; + if (s && s.hasData()) return ((r[o] = a), s); + if (n._cache.has(o)) + return ((r[o] = a), n._cache.get(o)); + } + }), + (e.prototype.updateCacheSize = function (t) { + var e = + (Math.ceil(t.width / this._source.tileSize) + 1) * + (Math.ceil(t.height / this._source.tileSize) + 1), + r = Math.floor(5 * e), + n = + "number" == typeof this._maxTileCacheSize + ? Math.min(this._maxTileCacheSize, r) + : r; + this._cache.setMaxSize(n); + }), + (e.prototype.update = function (t) { + var r = this; + if ( + ((this.transform = t), + this._sourceLoaded && !this._paused) + ) { + var n; + (this.updateCacheSize(t), + (this._coveredTiles = {}), + this.used + ? this._source.tileID + ? (n = t + .getVisibleUnwrappedCoordinates( + this._source.tileID, + ) + .map(function (t) { + return new d( + t.canonical.z, + t.wrap, + t.canonical.z, + t.canonical.x, + t.canonical.y, + ); + })) + : ((n = t.coveringTiles({ + tileSize: this._source.tileSize, + minzoom: this._source.minzoom, + maxzoom: this._source.maxzoom, + roundZoom: this._source.roundZoom, + reparseOverscaled: + this._source.reparseOverscaled, + })), + this._source.hasTile && + (n = n.filter(function (t) { + return r._source.hasTile(t); + }))) + : (n = [])); + var a, + o = ( + this._source.roundZoom ? Math.round : Math.floor + )(this.getZoom(t)), + s = Math.max( + o - e.maxOverzooming, + this._source.minzoom, + ), + l = Math.max( + o + e.maxUnderzooming, + this._source.minzoom, + ), + c = this._updateRetainedTiles(n, o), + f = {}; + if (i(this._source.type)) + for ( + var h = Object.keys(c), g = 0; + g < h.length; + g++ + ) { + var m = h[g], + v = c[m], + y = r._tiles[m]; + if ( + y && + (void 0 === y.fadeEndTime || + y.fadeEndTime >= p.now()) + ) { + r._findLoadedChildren(v, l, c) && (c[m] = v); + var x = r.findLoadedParent(v, s, f); + x && r._addTile(x.tileID); + } + } + for (a in f) c[a] || (r._coveredTiles[a] = !0); + for (a in f) c[a] = f[a]; + for ( + var b = u.keysDifference(this._tiles, c), _ = 0; + _ < b.length; + _++ + ) + r._removeTile(b[_]); + } + }), + (e.prototype._updateRetainedTiles = function (t, r) { + for ( + var n = this, + i = {}, + a = {}, + o = Math.max( + r - e.maxOverzooming, + this._source.minzoom, + ), + s = Math.max( + r + e.maxUnderzooming, + this._source.minzoom, + ), + l = 0; + l < t.length; + l++ + ) { + var c = t[l], + u = n._addTile(c), + f = !1; + if (u.hasData()) i[c.key] = c; + else { + ((f = u.wasRequested()), (i[c.key] = c)); + var h = !0; + if (r + 1 > n._source.maxzoom) { + var p = c.children(n._source.maxzoom)[0], + d = n.getTile(p); + d && d.hasData() ? (i[p.key] = p) : (h = !1); + } else { + n._findLoadedChildren(c, s, i); + for ( + var g = c.children(n._source.maxzoom), m = 0; + m < g.length; + m++ + ) + if (!i[g[m].key]) { + h = !1; + break; + } + } + if (!h) + for (var v = c.overscaledZ - 1; v >= o; --v) { + var y = c.scaledTo(v); + if (a[y.key]) break; + if ( + ((a[y.key] = !0), + !(u = n.getTile(y)) && f && (u = n._addTile(y)), + u && + ((i[y.key] = y), + (f = u.wasRequested()), + u.hasData())) + ) + break; + } + } + } + return i; + }), + (e.prototype._addTile = function (t) { + var e = this._tiles[t.key]; + if (e) return e; + (e = this._cache.getAndRemove(t.key)) && + this._cacheTimers[t.key] && + (clearTimeout(this._cacheTimers[t.key]), + delete this._cacheTimers[t.key], + this._setTileReloadTimer(t.key, e)); + var r = Boolean(e); + return ( + r || + ((e = new o( + t, + this._source.tileSize * t.overscaleFactor(), + )), + this._loadTile( + e, + this._tileLoaded.bind(this, e, t.key, e.state), + )), + e + ? (e.uses++, + (this._tiles[t.key] = e), + r || + this._source.fire("dataloading", { + tile: e, + coord: e.tileID, + dataType: "source", + }), + e) + : null + ); + }), + (e.prototype._setTileReloadTimer = function (t, e) { + var r = this; + t in this._timers && + (clearTimeout(this._timers[t]), delete this._timers[t]); + var n = e.getExpiryTimeout(); + n && + (this._timers[t] = setTimeout(function () { + (r._reloadTile(t, "expired"), delete r._timers[t]); + }, n)); + }), + (e.prototype._setCacheInvalidationTimer = function (t, e) { + var r = this; + t in this._cacheTimers && + (clearTimeout(this._cacheTimers[t]), + delete this._cacheTimers[t]); + var n = e.getExpiryTimeout(); + n && + (this._cacheTimers[t] = setTimeout(function () { + (r._cache.remove(t), delete r._cacheTimers[t]); + }, n)); + }), + (e.prototype._removeTile = function (t) { + var e = this._tiles[t]; + if ( + e && + (e.uses--, + delete this._tiles[t], + this._timers[t] && + (clearTimeout(this._timers[t]), + delete this._timers[t]), + !(e.uses > 0)) + ) + if (e.hasData()) { + e.tileID = e.tileID.wrapped(); + var r = e.tileID.key; + (this._cache.add(r, e), + this._setCacheInvalidationTimer(r, e)); + } else + ((e.aborted = !0), + this._abortTile(e), + this._unloadTile(e)); + }), + (e.prototype.clearTiles = function () { + for (var t in ((this._shouldReloadOnResume = !1), + (this._paused = !1), + this._tiles)) + this._removeTile(t); + this._resetCache(); + }), + (e.prototype._resetCache = function () { + for (var t in this._cacheTimers) + clearTimeout(this._cacheTimers[t]); + ((this._cacheTimers = {}), this._cache.reset()); + }), + (e.prototype.tilesIn = function (t) { + for ( + var e = [], + r = this.getIds(), + i = 1 / 0, + a = 1 / 0, + o = -1 / 0, + s = -1 / 0, + l = t[0].zoom, + u = 0; + u < t.length; + u++ + ) { + var h = t[u]; + ((i = Math.min(i, h.column)), + (a = Math.min(a, h.row)), + (o = Math.max(o, h.column)), + (s = Math.max(s, h.row))); + } + for (var p = 0; p < r.length; p++) { + var d = this._tiles[r[p]], + g = d.tileID, + m = [n(g, new c(i, a, l)), n(g, new c(o, s, l))]; + if ( + m[0].x < f && + m[0].y < f && + m[1].x >= 0 && + m[1].y >= 0 + ) { + for (var v = [], y = 0; y < t.length; y++) + v.push(n(g, t[y])); + e.push({ + tile: d, + tileID: g, + queryGeometry: [v], + scale: Math.pow( + 2, + this.transform.zoom - d.tileID.overscaledZ, + ), + }); + } + } + return e; + }), + (e.prototype.getVisibleCoordinates = function () { + for ( + var t = this, + e = this.getRenderableIds().map(function (e) { + return t._tiles[e].tileID; + }), + r = 0, + n = e; + r < n.length; + r += 1 + ) { + var i = n[r]; + i.posMatrix = t.transform.calculatePosMatrix( + i.toUnwrapped(), + ); + } + return e; + }), + (e.prototype.hasTransition = function () { + if (this._source.hasTransition()) return !0; + if (i(this._source.type)) + for (var t in this._tiles) { + var e = this._tiles[t]; + if ( + void 0 !== e.fadeEndTime && + e.fadeEndTime >= p.now() + ) + return !0; + } + return !1; + }), + e + ); + })(s); + ((g.maxOverzooming = 10), + (g.maxUnderzooming = 3), + (e.exports = g)); + }, + { + "../data/extent": 53, + "../geo/coordinate": 61, + "../gl/context": 66, + "../util/browser": 252, + "../util/evented": 260, + "../util/lru_cache": 266, + "../util/util": 275, + "./source": 110, + "./tile": 112, + "./tile_id": 114, + "@mapbox/point-geometry": 4, + }, + ], + 112: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../data/bucket").deserialize, + a = (t("../data/feature_index"), t("@mapbox/vector-tile")), + o = t("pbf"), + s = t("../util/vectortile_to_geojson"), + l = t("../style-spec/feature_filter"), + c = + (t("../symbol/collision_index"), + t("../data/bucket/symbol_bucket")), + u = t("../data/array_types"), + f = u.RasterBoundsArray, + h = u.CollisionBoxArray, + p = t("../data/raster_bounds_attributes"), + d = t("../data/extent"), + g = t("@mapbox/point-geometry"), + m = t("../render/texture"), + v = t("../data/segment").SegmentVector, + y = t("../data/index_array_type").TriangleIndexArray, + x = t("../util/browser"), + b = function (t, e) { + ((this.tileID = t), + (this.uid = n.uniqueId()), + (this.uses = 0), + (this.tileSize = e), + (this.buckets = {}), + (this.expirationTime = null), + (this.expiredRequestCount = 0), + (this.state = "loading")); + }; + ((b.prototype.registerFadeDuration = function (t) { + var e = t + this.timeAdded; + e < x.now() || + (this.fadeEndTime && e < this.fadeEndTime) || + (this.fadeEndTime = e); + }), + (b.prototype.wasRequested = function () { + return ( + "errored" === this.state || + "loaded" === this.state || + "reloading" === this.state + ); + }), + (b.prototype.loadVectorData = function (t, e, r) { + if ( + (this.hasData() && this.unloadVectorData(), + (this.state = "loaded"), + t) + ) { + if ( + (t.rawTileData && (this.rawTileData = t.rawTileData), + (this.collisionBoxArray = t.collisionBoxArray), + (this.featureIndex = t.featureIndex), + (this.featureIndex.rawTileData = this.rawTileData), + (this.buckets = i(t.buckets, e.style)), + r) + ) + for (var n in this.buckets) { + var a = this.buckets[n]; + a instanceof c && (a.justReloaded = !0); + } + (t.iconAtlasImage && + (this.iconAtlasImage = t.iconAtlasImage), + t.glyphAtlasImage && + (this.glyphAtlasImage = t.glyphAtlasImage)); + } else this.collisionBoxArray = new h(); + }), + (b.prototype.unloadVectorData = function () { + for (var t in this.buckets) this.buckets[t].destroy(); + ((this.buckets = {}), + this.iconAtlasTexture && this.iconAtlasTexture.destroy(), + this.glyphAtlasTexture && this.glyphAtlasTexture.destroy(), + (this.collisionBoxArray = null), + (this.featureIndex = null), + (this.state = "unloaded")); + }), + (b.prototype.unloadDEMData = function () { + ((this.dem = null), + (this.neighboringTiles = null), + (this.state = "unloaded")); + }), + (b.prototype.getBucket = function (t) { + return this.buckets[t.id]; + }), + (b.prototype.upload = function (t) { + for (var e in this.buckets) { + var r = this.buckets[e]; + r.uploaded || (r.upload(t), (r.uploaded = !0)); + } + var n = t.gl; + (this.iconAtlasImage && + ((this.iconAtlasTexture = new m( + t, + this.iconAtlasImage, + n.RGBA, + )), + (this.iconAtlasImage = null)), + this.glyphAtlasImage && + ((this.glyphAtlasTexture = new m( + t, + this.glyphAtlasImage, + n.ALPHA, + )), + (this.glyphAtlasImage = null))); + }), + (b.prototype.queryRenderedFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + if (!this.featureIndex || !this.collisionBoxArray) return {}; + var s = 0, + l = {}; + for (var u in t) { + var f = this.getBucket(t[u]); + f && + ((s = Math.max(s, t[u].queryRadius(f))), + f instanceof c && + void 0 !== f.bucketInstanceId && + (l[f.bucketInstanceId] = !0)); + } + return this.featureIndex.query( + { + queryGeometry: e, + scale: r, + tileSize: this.tileSize, + bearing: i, + params: n, + additionalRadius: s, + collisionBoxArray: this.collisionBoxArray, + sourceID: a, + collisionIndex: o, + bucketInstanceIds: l, + }, + t, + ); + }), + (b.prototype.querySourceFeatures = function (t, e) { + if (this.rawTileData) { + this.vtLayers || + (this.vtLayers = new a.VectorTile( + new o(this.rawTileData), + ).layers); + var r = e ? e.sourceLayer : "", + n = this.vtLayers._geojsonTileLayer || this.vtLayers[r]; + if (n) + for ( + var i = l(e && e.filter), + c = { + z: this.tileID.overscaledZ, + x: this.tileID.canonical.x, + y: this.tileID.canonical.y, + }, + u = 0; + u < n.length; + u++ + ) { + var f = n.feature(u); + if (i({ zoom: this.tileID.overscaledZ }, f)) { + var h = new s(f, c.z, c.x, c.y); + ((h.tile = c), t.push(h)); + } + } + } + }), + (b.prototype.clearMask = function () { + (this.segments && + (this.segments.destroy(), delete this.segments), + this.maskedBoundsBuffer && + (this.maskedBoundsBuffer.destroy(), + delete this.maskedBoundsBuffer), + this.maskedIndexBuffer && + (this.maskedIndexBuffer.destroy(), + delete this.maskedIndexBuffer)); + }), + (b.prototype.setMask = function (t, e) { + if ( + !n.deepEqual(this.mask, t) && + ((this.mask = t), + this.clearMask(), + !n.deepEqual(t, { 0: !0 })) + ) { + var r = new f(), + i = new y(); + ((this.segments = new v()), + this.segments.prepareSegment(0, r, i)); + for (var a = Object.keys(t), o = 0; o < a.length; o++) { + var s = t[a[o]], + l = d >> s.z, + c = new g(s.x * l, s.y * l), + u = new g(c.x + l, c.y + l), + h = this.segments.prepareSegment(4, r, i); + (r.emplaceBack(c.x, c.y, c.x, c.y), + r.emplaceBack(u.x, c.y, u.x, c.y), + r.emplaceBack(c.x, u.y, c.x, u.y), + r.emplaceBack(u.x, u.y, u.x, u.y)); + var m = h.vertexLength; + (i.emplaceBack(m, m + 1, m + 2), + i.emplaceBack(m + 1, m + 2, m + 3), + (h.vertexLength += 4), + (h.primitiveLength += 2)); + } + ((this.maskedBoundsBuffer = e.createVertexBuffer( + r, + p.members, + )), + (this.maskedIndexBuffer = e.createIndexBuffer(i))); + } + }), + (b.prototype.hasData = function () { + return ( + "loaded" === this.state || + "reloading" === this.state || + "expired" === this.state + ); + }), + (b.prototype.setExpiryData = function (t) { + var e = this.expirationTime; + if (t.cacheControl) { + var r = n.parseCacheControl(t.cacheControl); + r["max-age"] && + (this.expirationTime = Date.now() + 1e3 * r["max-age"]); + } else + t.expires && + (this.expirationTime = new Date(t.expires).getTime()); + if (this.expirationTime) { + var i = Date.now(), + a = !1; + if (this.expirationTime > i) a = !1; + else if (e) + if (this.expirationTime < e) a = !0; + else { + var o = this.expirationTime - e; + o + ? (this.expirationTime = i + Math.max(o, 3e4)) + : (a = !0); + } + else a = !0; + a + ? (this.expiredRequestCount++, (this.state = "expired")) + : (this.expiredRequestCount = 0); + } + }), + (b.prototype.getExpiryTimeout = function () { + if (this.expirationTime) + return this.expiredRequestCount + ? 1e3 * (1 << Math.min(this.expiredRequestCount - 1, 31)) + : Math.min( + this.expirationTime - new Date().getTime(), + Math.pow(2, 31) - 1, + ); + }), + (e.exports = b)); + }, + { + "../data/array_types": 39, + "../data/bucket": 40, + "../data/bucket/symbol_bucket": 51, + "../data/extent": 53, + "../data/feature_index": 54, + "../data/index_array_type": 55, + "../data/raster_bounds_attributes": 59, + "../data/segment": 60, + "../render/texture": 93, + "../style-spec/feature_filter": 148, + "../symbol/collision_index": 217, + "../util/browser": 252, + "../util/util": 275, + "../util/vectortile_to_geojson": 276, + "@mapbox/point-geometry": 4, + "@mapbox/vector-tile": 8, + pbf: 30, + }, + ], + 113: [ + function (t, e, r) { + var n = t("../geo/lng_lat_bounds"), + i = t("../util/util").clamp, + a = function (t, e, r) { + ((this.bounds = n.convert(this.validateBounds(t))), + (this.minzoom = e || 0), + (this.maxzoom = r || 24)); + }; + ((a.prototype.validateBounds = function (t) { + return Array.isArray(t) && 4 === t.length + ? [ + Math.max(-180, t[0]), + Math.max(-90, t[1]), + Math.min(180, t[2]), + Math.min(90, t[3]), + ] + : [-180, -90, 180, 90]; + }), + (a.prototype.contains = function (t) { + var e = Math.floor(this.lngX(this.bounds.getWest(), t.z)), + r = Math.floor(this.latY(this.bounds.getNorth(), t.z)), + n = Math.ceil(this.lngX(this.bounds.getEast(), t.z)), + i = Math.ceil(this.latY(this.bounds.getSouth(), t.z)); + return t.x >= e && t.x < n && t.y >= r && t.y < i; + }), + (a.prototype.lngX = function (t, e) { + return (t + 180) * (Math.pow(2, e) / 360); + }), + (a.prototype.latY = function (t, e) { + var r = i(Math.sin((Math.PI / 180) * t), -0.9999, 0.9999), + n = Math.pow(2, e) / (2 * Math.PI); + return ( + Math.pow(2, e - 1) + 0.5 * Math.log((1 + r) / (1 - r)) * -n + ); + }), + (e.exports = a)); + }, + { "../geo/lng_lat_bounds": 63, "../util/util": 275 }, + ], + 114: [ + function (t, e, r) { + function n(t, e, r, n) { + (t *= 2) < 0 && (t = -1 * t - 1); + var i = 1 << e; + return 32 * (i * i * t + i * n + r) + e; + } + var i = t("@mapbox/whoots-js"), + a = t("../util/web_worker_transfer").register, + o = t("../geo/coordinate"), + s = function (t, e, r) { + ((this.z = t), + (this.x = e), + (this.y = r), + (this.key = n(0, t, e, r))); + }; + ((s.prototype.equals = function (t) { + return this.z === t.z && this.x === t.x && this.y === t.y; + }), + (s.prototype.url = function (t, e) { + var r = i.getTileBBox(this.x, this.y, this.z), + n = (function (t, e, r) { + for (var n, i = "", a = t; a > 0; a--) + i += (e & (n = 1 << (a - 1)) ? 1 : 0) + (r & n ? 2 : 0); + return i; + })(this.z, this.x, this.y); + return t[(this.x + this.y) % t.length] + .replace( + "{prefix}", + (this.x % 16).toString(16) + (this.y % 16).toString(16), + ) + .replace("{z}", String(this.z)) + .replace("{x}", String(this.x)) + .replace( + "{y}", + String( + "tms" === e ? Math.pow(2, this.z) - this.y - 1 : this.y, + ), + ) + .replace("{quadkey}", n) + .replace("{bbox-epsg-3857}", r); + })); + var l = function (t, e) { + ((this.wrap = t), + (this.canonical = e), + (this.key = n(t, e.z, e.x, e.y))); + }, + c = function (t, e, r, i, a) { + ((this.overscaledZ = t), + (this.wrap = e), + (this.canonical = new s(r, +i, +a)), + (this.key = n(e, t, i, a))); + }; + ((c.prototype.scaledTo = function (t) { + var e = this.canonical.z - t; + return t > this.canonical.z + ? new c( + t, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : new c( + t, + this.wrap, + t, + this.canonical.x >> e, + this.canonical.y >> e, + ); + }), + (c.prototype.isChildOf = function (t) { + var e = this.canonical.z - t.canonical.z; + return ( + 0 === t.overscaledZ || + (t.overscaledZ < this.overscaledZ && + t.canonical.x === this.canonical.x >> e && + t.canonical.y === this.canonical.y >> e) + ); + }), + (c.prototype.children = function (t) { + if (this.overscaledZ >= t) + return [ + new c( + this.overscaledZ + 1, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ), + ]; + var e = this.canonical.z + 1, + r = 2 * this.canonical.x, + n = 2 * this.canonical.y; + return [ + new c(e, this.wrap, e, r, n), + new c(e, this.wrap, e, r + 1, n), + new c(e, this.wrap, e, r, n + 1), + new c(e, this.wrap, e, r + 1, n + 1), + ]; + }), + (c.prototype.isLessThan = function (t) { + return ( + this.wrap < t.wrap || + (!(this.wrap > t.wrap) && + (this.overscaledZ < t.overscaledZ || + (!(this.overscaledZ > t.overscaledZ) && + (this.canonical.x < t.canonical.x || + (!(this.canonical.x > t.canonical.x) && + this.canonical.y < t.canonical.y))))) + ); + }), + (c.prototype.wrapped = function () { + return new c( + this.overscaledZ, + 0, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + }), + (c.prototype.overscaleFactor = function () { + return Math.pow(2, this.overscaledZ - this.canonical.z); + }), + (c.prototype.toUnwrapped = function () { + return new l(this.wrap, this.canonical); + }), + (c.prototype.toString = function () { + return ( + this.overscaledZ + + "/" + + this.canonical.x + + "/" + + this.canonical.y + ); + }), + (c.prototype.toCoordinate = function () { + return new o( + this.canonical.x + Math.pow(2, this.wrap), + this.canonical.y, + this.canonical.z, + ); + }), + a("CanonicalTileID", s), + a("OverscaledTileID", c, { omit: ["posMatrix"] }), + (e.exports = { + CanonicalTileID: s, + OverscaledTileID: c, + UnwrappedTileID: l, + })); + }, + { + "../geo/coordinate": 61, + "../util/web_worker_transfer": 278, + "@mapbox/whoots-js": 12, + }, + ], + 115: [ + function (t, e, r) { + var n = t("../util/evented"), + i = t("../util/util"), + a = t("./load_tilejson"), + o = t("../util/mapbox").normalizeTileURL, + s = t("./tile_bounds"), + l = t("../util/ajax").ResourceType, + c = t("../util/browser"), + u = (function (t) { + function e(e, r, n, a) { + if ( + (t.call(this), + (this.id = e), + (this.dispatcher = n), + (this.type = "vector"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this.reparseOverscaled = !0), + (this.isTileClipped = !0), + i.extend(this, i.pick(r, ["url", "scheme", "tileSize"])), + (this._options = i.extend({ type: "vector" }, r)), + (this._collectResourceTiming = r.collectResourceTiming), + 512 !== this.tileSize) + ) + throw new Error( + "vector tile sources must have a tileSize of 512", + ); + this.setEventedParent(a); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + var t = this; + (this.fire("dataloading", { dataType: "source" }), + a( + this._options, + this.map._transformRequest, + function (e, r) { + e + ? t.fire("error", e) + : r && + (i.extend(t, r), + r.bounds && + (t.tileBounds = new s( + r.bounds, + t.minzoom, + t.maxzoom, + )), + t.fire("data", { + dataType: "source", + sourceDataType: "metadata", + }), + t.fire("data", { + dataType: "source", + sourceDataType: "content", + })); + }, + )); + }), + (e.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (e.prototype.onAdd = function (t) { + ((this.map = t), this.load()); + }), + (e.prototype.serialize = function () { + return i.extend({}, this._options); + }), + (e.prototype.loadTile = function (t, e) { + function r(r, n) { + return t.aborted + ? e(null) + : r + ? e(r) + : (n && + n.resourceTiming && + (t.resourceTiming = n.resourceTiming), + this.map._refreshExpiredTiles && + t.setExpiryData(n), + t.loadVectorData(n, this.map.painter), + e(null), + void ( + t.reloadCallback && + (this.loadTile(t, t.reloadCallback), + (t.reloadCallback = null)) + )); + } + var n = t.tileID.overscaleFactor(), + i = o( + t.tileID.canonical.url(this.tiles, this.scheme), + this.url, + ), + a = { + request: this.map._transformRequest(i, l.Tile), + uid: t.uid, + tileID: t.tileID, + zoom: t.tileID.overscaledZ, + tileSize: this.tileSize * n, + type: this.type, + source: this.id, + pixelRatio: c.devicePixelRatio, + overscaling: n, + showCollisionBoxes: this.map.showCollisionBoxes, + }; + ((a.request.collectResourceTiming = + this._collectResourceTiming), + void 0 === t.workerID || "expired" === t.state + ? (t.workerID = this.dispatcher.send( + "loadTile", + a, + r.bind(this), + )) + : "loading" === t.state + ? (t.reloadCallback = e) + : this.dispatcher.send( + "reloadTile", + a, + r.bind(this), + t.workerID, + )); + }), + (e.prototype.abortTile = function (t) { + this.dispatcher.send( + "abortTile", + { uid: t.uid, type: this.type, source: this.id }, + void 0, + t.workerID, + ); + }), + (e.prototype.unloadTile = function (t) { + (t.unloadVectorData(), + this.dispatcher.send( + "removeTile", + { uid: t.uid, type: this.type, source: this.id }, + void 0, + t.workerID, + )); + }), + (e.prototype.hasTransition = function () { + return !1; + }), + e + ); + })(n); + e.exports = u; + }, + { + "../util/ajax": 251, + "../util/browser": 252, + "../util/evented": 260, + "../util/mapbox": 267, + "../util/util": 275, + "./load_tilejson": 103, + "./tile_bounds": 113, + }, + ], + 116: [ + function (t, e, r) { + function n(t, e) { + var r = i.getArrayBuffer(t.request, function (t, r) { + t + ? e(t) + : r && + e(null, { + vectorTile: new a.VectorTile(new o(r.data)), + rawData: r.data, + cacheControl: r.cacheControl, + expires: r.expires, + }); + }); + return function () { + (r.abort(), e()); + }; + } + var i = t("../util/ajax"), + a = t("@mapbox/vector-tile"), + o = t("pbf"), + s = t("./worker_tile"), + l = t("../util/util"), + c = t("../util/performance"), + u = function (t, e, r) { + ((this.actor = t), + (this.layerIndex = e), + (this.loadVectorData = r || n), + (this.loading = {}), + (this.loaded = {})); + }; + ((u.prototype.loadTile = function (t, e) { + var r = this, + n = t.source, + i = t.uid; + this.loading[n] || (this.loading[n] = {}); + var a = (this.loading[n][i] = new s(t)); + a.abort = this.loadVectorData(t, function (o, s) { + if ((delete r.loading[n][i], o || !s)) return e(o); + var u = s.rawData, + f = {}; + (s.expires && (f.expires = s.expires), + s.cacheControl && (f.cacheControl = s.cacheControl)); + var h = {}; + if (t.request && t.request.collectResourceTiming) { + var p = c.getEntriesByName(t.request.url); + p && (h.resourceTiming = JSON.parse(JSON.stringify(p))); + } + ((a.vectorTile = s.vectorTile), + a.parse( + s.vectorTile, + r.layerIndex, + r.actor, + function (t, r) { + if (t || !r) return e(t); + e(null, l.extend({ rawTileData: u.slice(0) }, r, f, h)); + }, + ), + (r.loaded[n] = r.loaded[n] || {}), + (r.loaded[n][i] = a)); + }); + }), + (u.prototype.reloadTile = function (t, e) { + var r = this.loaded[t.source], + n = t.uid, + i = this; + if (r && r[n]) { + var a = r[n]; + ((a.showCollisionBoxes = t.showCollisionBoxes), + "parsing" === a.status + ? (a.reloadCallback = e) + : "done" === a.status && + a.parse( + a.vectorTile, + this.layerIndex, + this.actor, + function (t, r) { + if (this.reloadCallback) { + var n = this.reloadCallback; + (delete this.reloadCallback, + this.parse( + this.vectorTile, + i.layerIndex, + i.actor, + n, + )); + } + e(t, r); + }.bind(a), + )); + } + }), + (u.prototype.abortTile = function (t, e) { + var r = this.loading[t.source], + n = t.uid; + (r && r[n] && r[n].abort && (r[n].abort(), delete r[n]), e()); + }), + (u.prototype.removeTile = function (t, e) { + var r = this.loaded[t.source], + n = t.uid; + (r && r[n] && delete r[n], e()); + }), + (e.exports = u)); + }, + { + "../util/ajax": 251, + "../util/performance": 268, + "../util/util": 275, + "./worker_tile": 119, + "@mapbox/vector-tile": 8, + pbf: 30, + }, + ], + 117: [ + function (t, e, r) { + var n = t("../util/ajax"), + i = t("./image_source"), + a = t("../data/raster_bounds_attributes"), + o = t("../render/vertex_array_object"), + s = t("../render/texture"), + l = (function (t) { + function e(e, r, n, i) { + (t.call(this, e, r, n, i), + (this.roundZoom = !0), + (this.type = "video"), + (this.options = r)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.load = function () { + var t = this, + e = this.options; + ((this.urls = e.urls), + n.getVideo(e.urls, function (e, r) { + e + ? t.fire("error", { error: e }) + : r && + ((t.video = r), + (t.video.loop = !0), + t.video.addEventListener("playing", function () { + t.map._rerender(); + }), + t.map && t.video.play(), + t._finishLoading()); + })); + }), + (e.prototype.getVideo = function () { + return this.video; + }), + (e.prototype.onAdd = function (t) { + this.map || + ((this.map = t), + this.load(), + this.video && + (this.video.play(), + this.setCoordinates(this.coordinates))); + }), + (e.prototype.prepare = function () { + var t = this; + if ( + !( + 0 === Object.keys(this.tiles).length || + this.video.readyState < 2 + ) + ) { + var e = this.map.painter.context, + r = e.gl; + for (var n in (this.boundsBuffer || + (this.boundsBuffer = e.createVertexBuffer( + this._boundsArray, + a.members, + )), + this.boundsVAO || (this.boundsVAO = new o()), + this.texture + ? this.video.paused || + (this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE), + r.texSubImage2D( + r.TEXTURE_2D, + 0, + 0, + 0, + r.RGBA, + r.UNSIGNED_BYTE, + this.video, + )) + : ((this.texture = new s(e, this.video, r.RGBA)), + this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), + t.tiles)) { + var i = t.tiles[n]; + "loaded" !== i.state && + ((i.state = "loaded"), (i.texture = t.texture)); + } + } + }), + (e.prototype.serialize = function () { + return { + type: "video", + urls: this.urls, + coordinates: this.coordinates, + }; + }), + (e.prototype.hasTransition = function () { + return this.video && !this.video.paused; + }), + e + ); + })(i); + e.exports = l; + }, + { + "../data/raster_bounds_attributes": 59, + "../render/texture": 93, + "../render/vertex_array_object": 95, + "../util/ajax": 251, + "./image_source": 102, + }, + ], + 118: [ + function (t, e, r) { + var n = t("../util/actor"), + i = t("../style/style_layer_index"), + a = t("./vector_tile_worker_source"), + o = t("./raster_dem_tile_worker_source"), + s = t("./geojson_worker_source"), + l = t("./rtl_text_plugin"), + c = function (t) { + var e = this; + ((this.self = t), + (this.actor = new n(t, this)), + (this.layerIndexes = {}), + (this.workerSourceTypes = { vector: a, geojson: s }), + (this.workerSources = {}), + (this.demWorkerSources = {}), + (this.self.registerWorkerSource = function (t, r) { + if (e.workerSourceTypes[t]) + throw new Error( + 'Worker source with name "' + + t + + '" already registered.', + ); + e.workerSourceTypes[t] = r; + }), + (this.self.registerRTLTextPlugin = function (t) { + if (l.applyArabicShaping || l.processBidirectionalText) + throw new Error("RTL text plugin already registered."); + ((l.applyArabicShaping = t.applyArabicShaping), + (l.processBidirectionalText = + t.processBidirectionalText)); + })); + }; + ((c.prototype.setLayers = function (t, e, r) { + (this.getLayerIndex(t).replace(e), r()); + }), + (c.prototype.updateLayers = function (t, e, r) { + (this.getLayerIndex(t).update(e.layers, e.removedIds), r()); + }), + (c.prototype.loadTile = function (t, e, r) { + this.getWorkerSource(t, e.type).loadTile(e, r); + }), + (c.prototype.loadDEMTile = function (t, e, r) { + this.getDEMWorkerSource(t).loadTile(e, r); + }), + (c.prototype.reloadTile = function (t, e, r) { + this.getWorkerSource(t, e.type).reloadTile(e, r); + }), + (c.prototype.abortTile = function (t, e, r) { + this.getWorkerSource(t, e.type).abortTile(e, r); + }), + (c.prototype.removeTile = function (t, e, r) { + this.getWorkerSource(t, e.type).removeTile(e, r); + }), + (c.prototype.removeDEMTile = function (t, e) { + this.getDEMWorkerSource(t).removeTile(e); + }), + (c.prototype.removeSource = function (t, e, r) { + var n = this.getWorkerSource(t, e.type); + void 0 !== n.removeSource ? n.removeSource(e, r) : r(); + }), + (c.prototype.loadWorkerSource = function (t, e, r) { + try { + (this.self.importScripts(e.url), r()); + } catch (t) { + r(t); + } + }), + (c.prototype.loadRTLTextPlugin = function (t, e, r) { + try { + l.applyArabicShaping || + l.processBidirectionalText || + (this.self.importScripts(e), + (l.applyArabicShaping && l.processBidirectionalText) || + r( + new Error( + "RTL Text Plugin failed to import scripts from " + + e, + ), + )); + } catch (t) { + r(t); + } + }), + (c.prototype.getLayerIndex = function (t) { + var e = this.layerIndexes[t]; + return (e || (e = this.layerIndexes[t] = new i()), e); + }), + (c.prototype.getWorkerSource = function (t, e) { + var r = this; + if ( + (this.workerSources[t] || (this.workerSources[t] = {}), + !this.workerSources[t][e]) + ) { + var n = { + send: function (e, n, i) { + r.actor.send(e, n, i, t); + }, + }; + this.workerSources[t][e] = new this.workerSourceTypes[e]( + n, + this.getLayerIndex(t), + ); + } + return this.workerSources[t][e]; + }), + (c.prototype.getDEMWorkerSource = function (t) { + return ( + this.demWorkerSources[t] || + (this.demWorkerSources[t] = new o()), + this.demWorkerSources[t] + ); + }), + (e.exports = function (t) { + return new c(t); + })); + }, + { + "../style/style_layer_index": 210, + "../util/actor": 250, + "./geojson_worker_source": 100, + "./raster_dem_tile_worker_source": 107, + "./rtl_text_plugin": 109, + "./vector_tile_worker_source": 116, + }, + ], + 119: [ + function (t, e, r) { + function n(t, e) { + for (var r = new h(e), n = 0, i = t; n < i.length; n += 1) + i[n].recalculate(r); + } + var i = t("../data/feature_index"), + a = t("../symbol/symbol_layout").performSymbolLayout, + o = t("../data/array_types").CollisionBoxArray, + s = t("../util/dictionary_coder"), + l = t("../data/bucket/symbol_bucket"), + c = t("../util/util"), + u = t("../render/image_atlas").makeImageAtlas, + f = t("../render/glyph_atlas").makeGlyphAtlas, + h = t("../style/evaluation_parameters"), + p = t("./tile_id").OverscaledTileID, + d = function (t) { + ((this.tileID = new p( + t.tileID.overscaledZ, + t.tileID.wrap, + t.tileID.canonical.z, + t.tileID.canonical.x, + t.tileID.canonical.y, + )), + (this.uid = t.uid), + (this.zoom = t.zoom), + (this.pixelRatio = t.pixelRatio), + (this.tileSize = t.tileSize), + (this.source = t.source), + (this.overscaling = t.overscaling), + (this.showCollisionBoxes = t.showCollisionBoxes), + (this.collectResourceTiming = !!t.collectResourceTiming)); + }; + ((d.prototype.parse = function (t, e, r, h) { + function p() { + if (L) return h(L); + if (z && P) { + var t = f(z), + e = u(P); + for (var r in v) { + var i = v[r]; + i instanceof l && + (n(i.layers, this.zoom), + a( + i, + z, + t.positions, + P, + e.positions, + this.showCollisionBoxes, + )); + } + ((this.status = "done"), + h(null, { + buckets: c.values(v).filter(function (t) { + return !t.isEmpty(); + }), + featureIndex: m, + collisionBoxArray: this.collisionBoxArray, + glyphAtlasImage: t.image, + iconAtlasImage: e.image, + })); + } + } + var d = this; + ((this.status = "parsing"), + (this.data = t), + (this.collisionBoxArray = new o())); + var g = new s(Object.keys(t.layers).sort()), + m = new i(this.tileID, this.overscaling); + m.bucketLayerIDs = []; + var v = {}, + y = { + featureIndex: m, + iconDependencies: {}, + glyphDependencies: {}, + }, + x = e.familiesBySource[this.source]; + for (var b in x) { + var _ = t.layers[b]; + if (_) { + 1 === _.version && + c.warnOnce( + 'Vector tile source "' + + d.source + + '" layer "' + + b + + '" does not use vector tile spec v2 and therefore may have some rendering errors.', + ); + for ( + var w = g.encode(b), k = [], M = 0; + M < _.length; + M++ + ) { + var A = _.feature(M); + k.push({ feature: A, index: M, sourceLayerIndex: w }); + } + for (var T = 0, S = x[b]; T < S.length; T += 1) { + var C = S[T], + E = C[0]; + (E.minzoom && d.zoom < Math.floor(E.minzoom)) || + (E.maxzoom && d.zoom >= E.maxzoom) || + "none" === E.visibility || + (n(C, d.zoom), + (v[E.id] = E.createBucket({ + index: m.bucketLayerIDs.length, + layers: C, + zoom: d.zoom, + pixelRatio: d.pixelRatio, + overscaling: d.overscaling, + collisionBoxArray: d.collisionBoxArray, + })).populate(k, y), + m.bucketLayerIDs.push( + C.map(function (t) { + return t.id; + }), + )); + } + } + } + var L, + z, + P, + D = c.mapObject(y.glyphDependencies, function (t) { + return Object.keys(t).map(Number); + }); + Object.keys(D).length + ? r.send( + "getGlyphs", + { uid: this.uid, stacks: D }, + function (t, e) { + L || ((L = t), (z = e), p.call(d)); + }, + ) + : (z = {}); + var O = Object.keys(y.iconDependencies); + (O.length + ? r.send("getImages", { icons: O }, function (t, e) { + L || ((L = t), (P = e), p.call(d)); + }) + : (P = {}), + p.call(this)); + }), + (e.exports = d)); + }, + { + "../data/array_types": 39, + "../data/bucket/symbol_bucket": 51, + "../data/feature_index": 54, + "../render/glyph_atlas": 85, + "../render/image_atlas": 87, + "../style/evaluation_parameters": 182, + "../symbol/symbol_layout": 227, + "../util/dictionary_coder": 257, + "../util/util": 275, + "./tile_id": 114, + }, + ], + 120: [ + function (t, e, r) { + function n(t, e) { + var r = {}; + for (var n in t) "ref" !== n && (r[n] = t[n]); + return ( + i.forEach(function (t) { + t in e && (r[t] = e[t]); + }), + r + ); + } + var i = t("./util/ref_properties"); + e.exports = function (t) { + t = t.slice(); + for (var e = Object.create(null), r = 0; r < t.length; r++) + e[t[r].id] = t[r]; + for (var i = 0; i < t.length; i++) + "ref" in t[i] && (t[i] = n(t[i], e[t[i].ref])); + return t; + }; + }, + { "./util/ref_properties": 159 }, + ], + 121: [ + function (t, e, r) { + function n(t, e, r) { + r.push({ command: f.addSource, args: [t, e[t]] }); + } + function i(t, e, r) { + (e.push({ command: f.removeSource, args: [t] }), (r[t] = !0)); + } + function a(t, e, r, a) { + (i(t, r, a), n(t, e, r)); + } + function o(t, e, r) { + var n; + for (n in t[r]) + if ( + t[r].hasOwnProperty(n) && + "data" !== n && + !u(t[r][n], e[r][n]) + ) + return !1; + for (n in e[r]) + if ( + e[r].hasOwnProperty(n) && + "data" !== n && + !u(t[r][n], e[r][n]) + ) + return !1; + return !0; + } + function s(t, e, r, n, i, a) { + var o; + for (o in ((t = t || {}), (e = e || {}), t)) + t.hasOwnProperty(o) && + (u(t[o], e[o]) || + r.push({ command: a, args: [n, o, e[o], i] })); + for (o in e) + e.hasOwnProperty(o) && + !t.hasOwnProperty(o) && + (u(t[o], e[o]) || + r.push({ command: a, args: [n, o, e[o], i] })); + } + function l(t) { + return t.id; + } + function c(t, e) { + return ((t[e.id] = e), t); + } + var u = t("./util/deep_equal"), + f = { + setStyle: "setStyle", + addLayer: "addLayer", + removeLayer: "removeLayer", + setPaintProperty: "setPaintProperty", + setLayoutProperty: "setLayoutProperty", + setFilter: "setFilter", + addSource: "addSource", + removeSource: "removeSource", + setGeoJSONSourceData: "setGeoJSONSourceData", + setLayerZoomRange: "setLayerZoomRange", + setLayerProperty: "setLayerProperty", + setCenter: "setCenter", + setZoom: "setZoom", + setBearing: "setBearing", + setPitch: "setPitch", + setSprite: "setSprite", + setGlyphs: "setGlyphs", + setTransition: "setTransition", + setLight: "setLight", + }; + ((e.exports = function (t, e) { + if (!t) return [{ command: f.setStyle, args: [e] }]; + var r = []; + try { + if (!u(t.version, e.version)) + return [{ command: f.setStyle, args: [e] }]; + (u(t.center, e.center) || + r.push({ command: f.setCenter, args: [e.center] }), + u(t.zoom, e.zoom) || + r.push({ command: f.setZoom, args: [e.zoom] }), + u(t.bearing, e.bearing) || + r.push({ command: f.setBearing, args: [e.bearing] }), + u(t.pitch, e.pitch) || + r.push({ command: f.setPitch, args: [e.pitch] }), + u(t.sprite, e.sprite) || + r.push({ command: f.setSprite, args: [e.sprite] }), + u(t.glyphs, e.glyphs) || + r.push({ command: f.setGlyphs, args: [e.glyphs] }), + u(t.transition, e.transition) || + r.push({ + command: f.setTransition, + args: [e.transition], + }), + u(t.light, e.light) || + r.push({ command: f.setLight, args: [e.light] })); + var h = {}, + p = []; + !(function (t, e, r, s) { + var l; + for (l in ((t = t || {}), (e = e || {}), t)) + t.hasOwnProperty(l) && + (e.hasOwnProperty(l) || i(l, r, s)); + for (l in e) + e.hasOwnProperty(l) && + (t.hasOwnProperty(l) + ? u(t[l], e[l]) || + ("geojson" === t[l].type && + "geojson" === e[l].type && + o(t, e, l) + ? r.push({ + command: f.setGeoJSONSourceData, + args: [l, e[l].data], + }) + : a(l, e, r, s)) + : n(l, e, r)); + })(t.sources, e.sources, p, h); + var d = []; + (t.layers && + t.layers.forEach(function (t) { + h[t.source] + ? r.push({ command: f.removeLayer, args: [t.id] }) + : d.push(t); + }), + (r = r.concat(p)), + (function (t, e, r) { + ((t = t || []), (e = e || [])); + var n, + i, + a, + o, + h, + p, + d, + g = t.map(l), + m = e.map(l), + v = t.reduce(c, {}), + y = e.reduce(c, {}), + x = g.slice(), + b = Object.create(null); + for (n = 0, i = 0; n < g.length; n++) + ((a = g[n]), + y.hasOwnProperty(a) + ? i++ + : (r.push({ command: f.removeLayer, args: [a] }), + x.splice(x.indexOf(a, i), 1))); + for (n = 0, i = 0; n < m.length; n++) + ((a = m[m.length - 1 - n]), + x[x.length - 1 - n] !== a && + (v.hasOwnProperty(a) + ? (r.push({ command: f.removeLayer, args: [a] }), + x.splice(x.lastIndexOf(a, x.length - i), 1)) + : i++, + (p = x[x.length - n]), + r.push({ command: f.addLayer, args: [y[a], p] }), + x.splice(x.length - n, 0, a), + (b[a] = !0))); + for (n = 0; n < m.length; n++) + if ( + ((o = v[(a = m[n])]), (h = y[a]), !b[a] && !u(o, h)) + ) + if ( + u(o.source, h.source) && + u(o["source-layer"], h["source-layer"]) && + u(o.type, h.type) + ) { + for (d in (s( + o.layout, + h.layout, + r, + a, + null, + f.setLayoutProperty, + ), + s(o.paint, h.paint, r, a, null, f.setPaintProperty), + u(o.filter, h.filter) || + r.push({ + command: f.setFilter, + args: [a, h.filter], + }), + (u(o.minzoom, h.minzoom) && + u(o.maxzoom, h.maxzoom)) || + r.push({ + command: f.setLayerZoomRange, + args: [a, h.minzoom, h.maxzoom], + }), + o)) + o.hasOwnProperty(d) && + "layout" !== d && + "paint" !== d && + "filter" !== d && + "metadata" !== d && + "minzoom" !== d && + "maxzoom" !== d && + (0 === d.indexOf("paint.") + ? s( + o[d], + h[d], + r, + a, + d.slice(6), + f.setPaintProperty, + ) + : u(o[d], h[d]) || + r.push({ + command: f.setLayerProperty, + args: [a, d, h[d]], + })); + for (d in h) + h.hasOwnProperty(d) && + !o.hasOwnProperty(d) && + "layout" !== d && + "paint" !== d && + "filter" !== d && + "metadata" !== d && + "minzoom" !== d && + "maxzoom" !== d && + (0 === d.indexOf("paint.") + ? s( + o[d], + h[d], + r, + a, + d.slice(6), + f.setPaintProperty, + ) + : u(o[d], h[d]) || + r.push({ + command: f.setLayerProperty, + args: [a, d, h[d]], + })); + } else + (r.push({ command: f.removeLayer, args: [a] }), + (p = x[x.lastIndexOf(a) + 1]), + r.push({ command: f.addLayer, args: [h, p] })); + })(d, e.layers, r)); + } catch (t) { + (console.warn("Unable to compute style diff:", t), + (r = [{ command: f.setStyle, args: [e] }])); + } + return r; + }), + (e.exports.operations = f)); + }, + { "./util/deep_equal": 155 }, + ], + 122: [ + function (t, e, r) { + e.exports = function (t, e, r) { + ((this.message = (t ? t + ": " : "") + r), + null !== e && + void 0 !== e && + e.__line__ && + (this.line = e.__line__)); + }; + }, + {}, + ], + 123: [ + function (t, e, r) { + var n = t("./types").toString, + i = t("./parsing_context"), + a = + (t("./evaluation_context"), + function (t, e, r, n) { + ((this.name = t), + (this.type = e), + (this._evaluate = r), + (this.args = n)); + }); + ((a.prototype.evaluate = function (t) { + return this._evaluate(t, this.args); + }), + (a.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (a.prototype.possibleOutputs = function () { + return [void 0]; + }), + (a.parse = function (t, e) { + var r = t[0], + o = a.definitions[r]; + if (!o) + return e.error( + 'Unknown expression "' + + r + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + for ( + var s = Array.isArray(o) ? o[0] : o.type, + l = Array.isArray(o) ? [[o[1], o[2]]] : o.overloads, + c = l.filter(function (e) { + var r = e[0]; + return !Array.isArray(r) || r.length === t.length - 1; + }), + u = [], + f = 1; + f < t.length; + f++ + ) { + var h = t[f], + p = void 0; + if (1 === c.length) { + var d = c[0][0]; + p = Array.isArray(d) ? d[f - 1] : d.type; + } + var g = e.parse(h, 1 + u.length, p); + if (!g) return null; + u.push(g); + } + for (var m = null, v = 0, y = c; v < y.length; v += 1) { + var x = y[v], + b = x[0], + _ = x[1]; + if ( + ((m = new i(e.registry, e.path, null, e.scope)), + Array.isArray(b) && b.length !== u.length) + ) + m.error( + "Expected " + + b.length + + " arguments, but found " + + u.length + + " instead.", + ); + else { + for (var w = 0; w < u.length; w++) { + var k = Array.isArray(b) ? b[w] : b.type, + M = u[w]; + m.concat(w + 1).checkSubtype(k, M.type); + } + if (0 === m.errors.length) return new a(r, s, _, u); + } + } + if (1 === c.length) e.errors.push.apply(e.errors, m.errors); + else { + var A = (c.length ? c : l) + .map(function (t) { + return (function (t) { + return Array.isArray(t) + ? "(" + t.map(n).join(", ") + ")" + : "(" + n(t.type) + "...)"; + })(t[0]); + }) + .join(" | "), + T = u + .map(function (t) { + return n(t.type); + }) + .join(", "); + e.error( + "Expected arguments of type " + + A + + ", but found (" + + T + + ") instead.", + ); + } + return null; + }), + (a.register = function (t, e) { + for (var r in ((a.definitions = e), e)) t[r] = a; + }), + (e.exports = { + CompoundExpression: a, + varargs: function (t) { + return { type: t }; + }, + })); + }, + { + "./evaluation_context": 138, + "./parsing_context": 141, + "./types": 146, + }, + ], + 124: [ + function (t, e, r) { + var n = t("../types"), + i = n.toString, + a = n.array, + o = n.ValueType, + s = n.StringType, + l = n.NumberType, + c = n.BooleanType, + u = n.checkSubtype, + f = t("../values").typeOf, + h = t("../runtime_error"), + p = { string: s, number: l, boolean: c }, + d = function (t, e) { + ((this.type = t), (this.input = e)); + }; + ((d.parse = function (t, e) { + if (t.length < 2 || t.length > 4) + return e.error( + "Expected 1, 2, or 3 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r, n; + if (t.length > 2) { + var i = t[1]; + if ("string" != typeof i || !(i in p)) + return e.error( + 'The item type argument of "array" must be one of string, number, boolean', + 1, + ); + r = p[i]; + } else r = o; + if (t.length > 3) { + if ( + "number" != typeof t[2] || + t[2] < 0 || + t[2] !== Math.floor(t[2]) + ) + return e.error( + 'The length argument to "array" must be a positive integer literal', + 2, + ); + n = t[2]; + } + var s = a(r, n), + l = e.parse(t[t.length - 1], t.length - 1, o); + return l ? new d(s, l) : null; + }), + (d.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + if (u(this.type, f(e))) + throw new h( + "Expected value to be of type " + + i(this.type) + + ", but found " + + i(f(e)) + + " instead.", + ); + return e; + }), + (d.prototype.eachChild = function (t) { + t(this.input); + }), + (d.prototype.possibleOutputs = function () { + return this.input.possibleOutputs(); + }), + (e.exports = d)); + }, + { "../runtime_error": 143, "../types": 146, "../values": 147 }, + ], + 125: [ + function (t, e, r) { + var n = t("../types"), + i = n.ObjectType, + a = n.ValueType, + o = n.StringType, + s = n.NumberType, + l = n.BooleanType, + c = t("../runtime_error"), + u = t("../types"), + f = u.checkSubtype, + h = u.toString, + p = t("../values").typeOf, + d = { string: o, number: s, boolean: l, object: i }, + g = function (t, e) { + ((this.type = t), (this.args = e)); + }; + ((g.parse = function (t, e) { + if (t.length < 2) + return e.error("Expected at least one argument."); + for (var r = t[0], n = d[r], i = [], o = 1; o < t.length; o++) { + var s = e.parse(t[o], o, a); + if (!s) return null; + i.push(s); + } + return new g(n, i); + }), + (g.prototype.evaluate = function (t) { + for (var e = this, r = 0; r < this.args.length; r++) { + var n = e.args[r].evaluate(t); + if (!f(e.type, p(n))) return n; + if (r === e.args.length - 1) + throw new c( + "Expected value to be of type " + + h(e.type) + + ", but found " + + h(p(n)) + + " instead.", + ); + } + return null; + }), + (g.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (g.prototype.possibleOutputs = function () { + return (t = []).concat.apply( + t, + this.args.map(function (t) { + return t.possibleOutputs(); + }), + ); + var t; + }), + (e.exports = g)); + }, + { "../runtime_error": 143, "../types": 146, "../values": 147 }, + ], + 126: [ + function (t, e, r) { + var n = t("../types"), + i = n.array, + a = n.ValueType, + o = n.NumberType, + s = t("../runtime_error"), + l = function (t, e, r) { + ((this.type = t), (this.index = e), (this.input = r)); + }; + ((l.parse = function (t, e) { + if (3 !== t.length) + return e.error( + "Expected 2 arguments, but found " + + (t.length - 1) + + " instead.", + ); + var r = e.parse(t[1], 1, o), + n = e.parse(t[2], 2, i(e.expectedType || a)); + if (!r || !n) return null; + var s = n.type; + return new l(s.itemType, r, n); + }), + (l.prototype.evaluate = function (t) { + var e = this.index.evaluate(t), + r = this.input.evaluate(t); + if (e < 0 || e >= r.length) + throw new s( + "Array index out of bounds: " + + e + + " > " + + r.length + + ".", + ); + if (e !== Math.floor(e)) + throw new s( + "Array index must be an integer, but found " + + e + + " instead.", + ); + return r[e]; + }), + (l.prototype.eachChild = function (t) { + (t(this.index), t(this.input)); + }), + (l.prototype.possibleOutputs = function () { + return [void 0]; + }), + (e.exports = l)); + }, + { "../runtime_error": 143, "../types": 146 }, + ], + 127: [ + function (t, e, r) { + var n = t("../types").BooleanType, + i = function (t, e, r) { + ((this.type = t), (this.branches = e), (this.otherwise = r)); + }; + ((i.parse = function (t, e) { + if (t.length < 4) + return e.error( + "Expected at least 3 arguments, but found only " + + (t.length - 1) + + ".", + ); + if (t.length % 2 != 0) + return e.error("Expected an odd number of arguments."); + var r; + e.expectedType && + "value" !== e.expectedType.kind && + (r = e.expectedType); + for (var a = [], o = 1; o < t.length - 1; o += 2) { + var s = e.parse(t[o], o, n); + if (!s) return null; + var l = e.parse(t[o + 1], o + 1, r); + if (!l) return null; + (a.push([s, l]), (r = r || l.type)); + } + var c = e.parse(t[t.length - 1], t.length - 1, r); + return c ? new i(r, a, c) : null; + }), + (i.prototype.evaluate = function (t) { + for (var e = 0, r = this.branches; e < r.length; e += 1) { + var n = r[e], + i = n[0], + a = n[1]; + if (i.evaluate(t)) return a.evaluate(t); + } + return this.otherwise.evaluate(t); + }), + (i.prototype.eachChild = function (t) { + for (var e = 0, r = this.branches; e < r.length; e += 1) { + var n = r[e], + i = n[0], + a = n[1]; + (t(i), t(a)); + } + t(this.otherwise); + }), + (i.prototype.possibleOutputs = function () { + return (t = []).concat + .apply( + t, + this.branches.map(function (t) { + return (t[0], t[1].possibleOutputs()); + }), + ) + .concat(this.otherwise.possibleOutputs()); + var t; + }), + (e.exports = i)); + }, + { "../types": 146 }, + ], + 128: [ + function (t, e, r) { + var n = t("../types"), + i = n.checkSubtype, + a = n.ValueType, + o = function (t, e) { + ((this.type = t), (this.args = e)); + }; + ((o.parse = function (t, e) { + if (t.length < 2) + return e.error("Expectected at least one argument."); + var r = null, + n = e.expectedType; + n && "value" !== n.kind && (r = n); + for (var s = [], l = 0, c = t.slice(1); l < c.length; l += 1) { + var u = c[l], + f = e.parse(u, 1 + s.length, r, void 0, { + omitTypeAnnotations: !0, + }); + if (!f) return null; + ((r = r || f.type), s.push(f)); + } + return n && + s.some(function (t) { + return i(n, t.type); + }) + ? new o(a, s) + : new o(r, s); + }), + (o.prototype.evaluate = function (t) { + for ( + var e = null, r = 0, n = this.args; + r < n.length && null === (e = n[r].evaluate(t)); + r += 1 + ); + return e; + }), + (o.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (o.prototype.possibleOutputs = function () { + return (t = []).concat.apply( + t, + this.args.map(function (t) { + return t.possibleOutputs(); + }), + ); + var t; + }), + (e.exports = o)); + }, + { "../types": 146 }, + ], + 129: [ + function (t, e, r) { + var n = t("../types"), + i = n.ColorType, + a = n.ValueType, + o = n.NumberType, + s = t("../values"), + l = s.Color, + c = s.validateRGBA, + u = t("../runtime_error"), + f = { "to-number": o, "to-color": i }, + h = function (t, e) { + ((this.type = t), (this.args = e)); + }; + ((h.parse = function (t, e) { + if (t.length < 2) + return e.error("Expected at least one argument."); + for (var r = t[0], n = f[r], i = [], o = 1; o < t.length; o++) { + var s = e.parse(t[o], o, a); + if (!s) return null; + i.push(s); + } + return new h(n, i); + }), + (h.prototype.evaluate = function (t) { + if ("color" === this.type.kind) { + for (var e, r, n = 0, i = this.args; n < i.length; n += 1) + if ( + ((r = null), "string" == typeof (e = i[n].evaluate(t))) + ) { + var a = t.parseColor(e); + if (a) return a; + } else if ( + Array.isArray(e) && + !(r = + e.length < 3 || e.length > 4 + ? "Invalid rbga value " + + JSON.stringify(e) + + ": expected an array containing either three or four numeric values." + : c(e[0], e[1], e[2], e[3])) + ) + return new l(e[0] / 255, e[1] / 255, e[2] / 255, e[3]); + throw new u( + r || + "Could not parse color from value '" + + ("string" == typeof e ? e : JSON.stringify(e)) + + "'", + ); + } + for (var o = null, s = 0, f = this.args; s < f.length; s += 1) + if (null !== (o = f[s].evaluate(t))) { + var h = Number(o); + if (!isNaN(h)) return h; + } + throw new u( + "Could not convert " + JSON.stringify(o) + " to number.", + ); + }), + (h.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (h.prototype.possibleOutputs = function () { + return (t = []).concat.apply( + t, + this.args.map(function (t) { + return t.possibleOutputs(); + }), + ); + var t; + }), + (e.exports = h)); + }, + { "../runtime_error": 143, "../types": 146, "../values": 147 }, + ], + 130: [ + function (t, e, r) { + function n(t) { + return ( + "string" === t.kind || + "number" === t.kind || + "boolean" === t.kind || + "null" === t.kind + ); + } + function i(t) { + return (function () { + function e(t, e) { + ((this.type = s), (this.lhs = t), (this.rhs = e)); + } + return ( + (e.parse = function (t, r) { + if (3 !== t.length) + return r.error("Expected two arguments."); + var i = r.parse(t[1], 1, o); + if (!i) return null; + var a = r.parse(t[2], 2, o); + return a + ? n(i.type) || n(a.type) + ? i.type.kind !== a.type.kind && + "value" !== i.type.kind && + "value" !== a.type.kind + ? r.error( + "Cannot compare " + + l(i.type) + + " and " + + l(a.type) + + ".", + ) + : new e(i, a) + : r.error( + "Expected at least one argument to be a string, number, boolean, or null, but found (" + + l(i.type) + + ", " + + l(a.type) + + ") instead.", + ) + : null; + }), + (e.prototype.evaluate = function (e) { + return t(this.lhs.evaluate(e), this.rhs.evaluate(e)); + }), + (e.prototype.eachChild = function (t) { + (t(this.lhs), t(this.rhs)); + }), + (e.prototype.possibleOutputs = function () { + return [!0, !1]; + }), + e + ); + })(); + } + var a = t("../types"), + o = a.ValueType, + s = a.BooleanType, + l = t("../types").toString; + e.exports = { + Equals: i(function (t, e) { + return t === e; + }), + NotEquals: i(function (t, e) { + return t !== e; + }), + }; + }, + { "../types": 146 }, + ], + 131: [ + function (t, e, r) { + function n(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3]; + ((r = r.evaluate(t)), (n = n.evaluate(t)), (i = i.evaluate(t))); + var o = a ? a.evaluate(t) : 1, + s = M(r, n, i, o); + if (s) throw new C(s); + return new k((r / 255) * o, (n / 255) * o, (i / 255) * o, o); + } + function i(t, e) { + return t in e; + } + function a(t, e) { + var r = e[t]; + return void 0 === r ? null : r; + } + function o(t, e) { + return e[0].evaluate(t).length; + } + function s(t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) < n.evaluate(t); + } + function l(t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) > n.evaluate(t); + } + function c(t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) <= n.evaluate(t); + } + function u(t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) >= n.evaluate(t); + } + var f = t("../types"), + h = f.NumberType, + p = f.StringType, + d = f.BooleanType, + g = f.ColorType, + m = f.ObjectType, + v = f.ValueType, + y = f.ErrorType, + x = f.array, + b = f.toString, + _ = t("../values"), + w = _.typeOf, + k = _.Color, + M = _.validateRGBA, + A = t("../compound_expression"), + T = A.CompoundExpression, + S = A.varargs, + C = t("../runtime_error"), + E = t("./let"), + L = t("./var"), + z = t("./literal"), + P = t("./assertion"), + D = t("./array"), + O = t("./coercion"), + I = t("./at"), + R = t("./match"), + B = t("./case"), + F = t("./step"), + N = t("./interpolate"), + j = t("./coalesce"), + V = t("./equals"), + U = { + "==": V.Equals, + "!=": V.NotEquals, + array: D, + at: I, + boolean: P, + case: B, + coalesce: j, + interpolate: N, + let: E, + literal: z, + match: R, + number: P, + object: P, + step: F, + string: P, + "to-color": O, + "to-number": O, + var: L, + }; + (T.register(U, { + error: [ + y, + [p], + function (t, e) { + var r = e[0]; + throw new C(r.evaluate(t)); + }, + ], + typeof: [ + p, + [v], + function (t, e) { + var r = e[0]; + return b(w(r.evaluate(t))); + }, + ], + "to-string": [ + p, + [v], + function (t, e) { + var r = e[0], + n = typeof (r = r.evaluate(t)); + return null === r || + "string" === n || + "number" === n || + "boolean" === n + ? String(r) + : r instanceof k + ? r.toString() + : JSON.stringify(r); + }, + ], + "to-boolean": [ + d, + [v], + function (t, e) { + var r = e[0]; + return Boolean(r.evaluate(t)); + }, + ], + "to-rgba": [ + x(h, 4), + [g], + function (t, e) { + var r = e[0].evaluate(t), + n = r.r, + i = r.g, + a = r.b, + o = r.a; + return [(255 * n) / o, (255 * i) / o, (255 * a) / o, o]; + }, + ], + rgb: [g, [h, h, h], n], + rgba: [g, [h, h, h, h], n], + length: { + type: h, + overloads: [ + [[p], o], + [[x(v)], o], + ], + }, + has: { + type: d, + overloads: [ + [ + [p], + function (t, e) { + return i(e[0].evaluate(t), t.properties()); + }, + ], + [ + [p, m], + function (t, e) { + var r = e[0], + n = e[1]; + return i(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + get: { + type: v, + overloads: [ + [ + [p], + function (t, e) { + return a(e[0].evaluate(t), t.properties()); + }, + ], + [ + [p, m], + function (t, e) { + var r = e[0], + n = e[1]; + return a(r.evaluate(t), n.evaluate(t)); + }, + ], + ], + }, + properties: [ + m, + [], + function (t) { + return t.properties(); + }, + ], + "geometry-type": [ + p, + [], + function (t) { + return t.geometryType(); + }, + ], + id: [ + v, + [], + function (t) { + return t.id(); + }, + ], + zoom: [ + h, + [], + function (t) { + return t.globals.zoom; + }, + ], + "heatmap-density": [ + h, + [], + function (t) { + return t.globals.heatmapDensity || 0; + }, + ], + "+": [ + h, + S(h), + function (t, e) { + for (var r = 0, n = 0, i = e; n < i.length; n += 1) + r += i[n].evaluate(t); + return r; + }, + ], + "*": [ + h, + S(h), + function (t, e) { + for (var r = 1, n = 0, i = e; n < i.length; n += 1) + r *= i[n].evaluate(t); + return r; + }, + ], + "-": { + type: h, + overloads: [ + [ + [h, h], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) - n.evaluate(t); + }, + ], + [ + [h], + function (t, e) { + return -e[0].evaluate(t); + }, + ], + ], + }, + "/": [ + h, + [h, h], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) / n.evaluate(t); + }, + ], + "%": [ + h, + [h, h], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) % n.evaluate(t); + }, + ], + ln2: [ + h, + [], + function () { + return Math.LN2; + }, + ], + pi: [ + h, + [], + function () { + return Math.PI; + }, + ], + e: [ + h, + [], + function () { + return Math.E; + }, + ], + "^": [ + h, + [h, h], + function (t, e) { + var r = e[0], + n = e[1]; + return Math.pow(r.evaluate(t), n.evaluate(t)); + }, + ], + sqrt: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.sqrt(r.evaluate(t)); + }, + ], + log10: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.log10(r.evaluate(t)); + }, + ], + ln: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.log(r.evaluate(t)); + }, + ], + log2: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.log2(r.evaluate(t)); + }, + ], + sin: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.sin(r.evaluate(t)); + }, + ], + cos: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.cos(r.evaluate(t)); + }, + ], + tan: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.tan(r.evaluate(t)); + }, + ], + asin: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.asin(r.evaluate(t)); + }, + ], + acos: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.acos(r.evaluate(t)); + }, + ], + atan: [ + h, + [h], + function (t, e) { + var r = e[0]; + return Math.atan(r.evaluate(t)); + }, + ], + min: [ + h, + S(h), + function (t, e) { + return Math.min.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + max: [ + h, + S(h), + function (t, e) { + return Math.max.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }), + ); + }, + ], + "filter-==": [ + d, + [p, v], + function (t, e) { + var r = e[0], + n = e[1]; + return t.properties()[r.value] === n.value; + }, + ], + "filter-id-==": [ + d, + [v], + function (t, e) { + var r = e[0]; + return t.id() === r.value; + }, + ], + "filter-type-==": [ + d, + [p], + function (t, e) { + var r = e[0]; + return t.geometryType() === r.value; + }, + ], + "filter-<": [ + d, + [p, v], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i < a; + }, + ], + "filter-id-<": [ + d, + [v], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n < i; + }, + ], + "filter->": [ + d, + [p, v], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i > a; + }, + ], + "filter-id->": [ + d, + [v], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n > i; + }, + ], + "filter-<=": [ + d, + [p, v], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i <= a; + }, + ], + "filter-id-<=": [ + d, + [v], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n <= i; + }, + ], + "filter->=": [ + d, + [p, v], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i >= a; + }, + ], + "filter-id->=": [ + d, + [v], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n >= i; + }, + ], + "filter-has": [ + d, + [v], + function (t, e) { + return e[0].value in t.properties(); + }, + ], + "filter-has-id": [ + d, + [], + function (t) { + return null !== t.id(); + }, + ], + "filter-type-in": [ + d, + [x(p)], + function (t, e) { + return e[0].value.indexOf(t.geometryType()) >= 0; + }, + ], + "filter-id-in": [ + d, + [x(v)], + function (t, e) { + return e[0].value.indexOf(t.id()) >= 0; + }, + ], + "filter-in-small": [ + d, + [p, x(v)], + function (t, e) { + var r = e[0]; + return e[1].value.indexOf(t.properties()[r.value]) >= 0; + }, + ], + "filter-in-large": [ + d, + [p, x(v)], + function (t, e) { + var r = e[0], + n = e[1]; + return (function (t, e, r, n) { + for (; r <= n; ) { + var i = (r + n) >> 1; + if (e[i] === t) return !0; + e[i] > t ? (n = i - 1) : (r = i + 1); + } + return !1; + })(t.properties()[r.value], n.value, 0, n.value.length - 1); + }, + ], + ">": { + type: d, + overloads: [ + [[h, h], l], + [[p, p], l], + ], + }, + "<": { + type: d, + overloads: [ + [[h, h], s], + [[p, p], s], + ], + }, + ">=": { + type: d, + overloads: [ + [[h, h], u], + [[p, p], u], + ], + }, + "<=": { + type: d, + overloads: [ + [[h, h], c], + [[p, p], c], + ], + }, + all: { + type: d, + overloads: [ + [ + [d, d], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) && n.evaluate(t); + }, + ], + [ + S(d), + function (t, e) { + for (var r = 0, n = e; r < n.length; r += 1) + if (!n[r].evaluate(t)) return !1; + return !0; + }, + ], + ], + }, + any: { + type: d, + overloads: [ + [ + [d, d], + function (t, e) { + var r = e[0], + n = e[1]; + return r.evaluate(t) || n.evaluate(t); + }, + ], + [ + S(d), + function (t, e) { + for (var r = 0, n = e; r < n.length; r += 1) + if (n[r].evaluate(t)) return !0; + return !1; + }, + ], + ], + }, + "!": [ + d, + [d], + function (t, e) { + return !e[0].evaluate(t); + }, + ], + upcase: [ + p, + [p], + function (t, e) { + return e[0].evaluate(t).toUpperCase(); + }, + ], + downcase: [ + p, + [p], + function (t, e) { + return e[0].evaluate(t).toLowerCase(); + }, + ], + concat: [ + p, + S(p), + function (t, e) { + return e + .map(function (e) { + return e.evaluate(t); + }) + .join(""); + }, + ], + }), + (e.exports = U)); + }, + { + "../compound_expression": 123, + "../runtime_error": 143, + "../types": 146, + "../values": 147, + "./array": 124, + "./assertion": 125, + "./at": 126, + "./case": 127, + "./coalesce": 128, + "./coercion": 129, + "./equals": 130, + "./interpolate": 132, + "./let": 133, + "./literal": 134, + "./match": 135, + "./step": 136, + "./var": 137, + }, + ], + 132: [ + function (t, e, r) { + function n(t, e, r, n) { + var i = n - r, + a = t - r; + return 0 === i + ? 0 + : 1 === e + ? a / i + : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); + } + var i = t("@mapbox/unitbezier"), + a = t("../../util/interpolate"), + o = t("../types"), + s = o.toString, + l = o.NumberType, + c = t("../stops").findStopLessThanOrEqualTo, + u = function (t, e, r, n) { + ((this.type = t), + (this.interpolation = e), + (this.input = r), + (this.labels = []), + (this.outputs = [])); + for (var i = 0, a = n; i < a.length; i += 1) { + var o = a[i], + s = o[0], + l = o[1]; + (this.labels.push(s), this.outputs.push(l)); + } + }; + ((u.interpolationFactor = function (t, e, r, a) { + var o = 0; + if ("exponential" === t.name) o = n(e, t.base, r, a); + else if ("linear" === t.name) o = n(e, 1, r, a); + else if ("cubic-bezier" === t.name) { + var s = t.controlPoints; + o = new i(s[0], s[1], s[2], s[3]).solve(n(e, 1, r, a)); + } + return o; + }), + (u.parse = function (t, e) { + var r = t[1], + n = t[2], + i = t.slice(3); + if (!Array.isArray(r) || 0 === r.length) + return e.error( + "Expected an interpolation type expression.", + 1, + ); + if ("linear" === r[0]) r = { name: "linear" }; + else if ("exponential" === r[0]) { + var a = r[1]; + if ("number" != typeof a) + return e.error( + "Exponential interpolation requires a numeric base.", + 1, + 1, + ); + r = { name: "exponential", base: a }; + } else { + if ("cubic-bezier" !== r[0]) + return e.error( + "Unknown interpolation type " + String(r[0]), + 1, + 0, + ); + var o = r.slice(1); + if ( + 4 !== o.length || + o.some(function (t) { + return "number" != typeof t || t < 0 || t > 1; + }) + ) + return e.error( + "Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.", + 1, + ); + r = { name: "cubic-bezier", controlPoints: o }; + } + if (t.length - 1 < 4) + return e.error( + "Expected at least 4 arguments, but found only " + + (t.length - 1) + + ".", + ); + if ((t.length - 1) % 2 != 0) + return e.error("Expected an even number of arguments."); + if (!(n = e.parse(n, 2, l))) return null; + var c = [], + f = null; + e.expectedType && + "value" !== e.expectedType.kind && + (f = e.expectedType); + for (var h = 0; h < i.length; h += 2) { + var p = i[h], + d = i[h + 1], + g = h + 3, + m = h + 4; + if ("number" != typeof p) + return e.error( + 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + g, + ); + if (c.length && c[c.length - 1][0] >= p) + return e.error( + 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', + g, + ); + var v = e.parse(d, m, f); + if (!v) return null; + ((f = f || v.type), c.push([p, v])); + } + return "number" === f.kind || + "color" === f.kind || + ("array" === f.kind && + "number" === f.itemType.kind && + "number" == typeof f.N) + ? new u(f, r, n, c) + : e.error("Type " + s(f) + " is not interpolatable."); + }), + (u.prototype.evaluate = function (t) { + var e = this.labels, + r = this.outputs; + if (1 === e.length) return r[0].evaluate(t); + var n = this.input.evaluate(t); + if (n <= e[0]) return r[0].evaluate(t); + var i = e.length; + if (n >= e[i - 1]) return r[i - 1].evaluate(t); + var o = c(e, n), + s = e[o], + l = e[o + 1], + f = u.interpolationFactor(this.interpolation, n, s, l), + h = r[o].evaluate(t), + p = r[o + 1].evaluate(t); + return a[this.type.kind.toLowerCase()](h, p, f); + }), + (u.prototype.eachChild = function (t) { + t(this.input); + for (var e = 0, r = this.outputs; e < r.length; e += 1) + t(r[e]); + }), + (u.prototype.possibleOutputs = function () { + return (t = []).concat.apply( + t, + this.outputs.map(function (t) { + return t.possibleOutputs(); + }), + ); + var t; + }), + (e.exports = u)); + }, + { + "../../util/interpolate": 158, + "../stops": 145, + "../types": 146, + "@mapbox/unitbezier": 7, + }, + ], + 133: [ + function (t, e, r) { + var n = function (t, e) { + ((this.type = e.type), + (this.bindings = [].concat(t)), + (this.result = e)); + }; + ((n.prototype.evaluate = function (t) { + t.pushScope(this.bindings); + var e = this.result.evaluate(t); + return (t.popScope(), e); + }), + (n.prototype.eachChild = function (t) { + for (var e = 0, r = this.bindings; e < r.length; e += 1) + t(r[e][1]); + t(this.result); + }), + (n.parse = function (t, e) { + if (t.length < 4) + return e.error( + "Expected at least 3 arguments, but found " + + (t.length - 1) + + " instead.", + ); + for (var r = [], i = 1; i < t.length - 1; i += 2) { + var a = t[i]; + if ("string" != typeof a) + return e.error( + "Expected string, but found " + typeof a + " instead.", + i, + ); + if (/[^a-zA-Z0-9_]/.test(a)) + return e.error( + "Variable names must contain only alphanumeric characters or '_'.", + i, + ); + var o = e.parse(t[i + 1], i + 1); + if (!o) return null; + r.push([a, o]); + } + var s = e.parse(t[t.length - 1], t.length - 1, void 0, r); + return s ? new n(r, s) : null; + }), + (n.prototype.possibleOutputs = function () { + return this.result.possibleOutputs(); + }), + (e.exports = n)); + }, + {}, + ], + 134: [ + function (t, e, r) { + var n = t("../values"), + i = n.isValue, + a = n.typeOf, + o = function (t, e) { + ((this.type = t), (this.value = e)); + }; + ((o.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'literal' expression requires exactly one argument, but found " + + (t.length - 1) + + " instead.", + ); + if (!i(t[1])) return e.error("invalid value"); + var r = t[1], + n = a(r), + s = e.expectedType; + return ( + "array" !== n.kind || + 0 !== n.N || + !s || + "array" !== s.kind || + ("number" == typeof s.N && 0 !== s.N) || + (n = s), + new o(n, r) + ); + }), + (o.prototype.evaluate = function () { + return this.value; + }), + (o.prototype.eachChild = function () {}), + (o.prototype.possibleOutputs = function () { + return [this.value]; + }), + (e.exports = o)); + }, + { "../values": 147 }, + ], + 135: [ + function (t, e, r) { + var n = t("../values").typeOf, + i = function (t, e, r, n, i, a) { + ((this.inputType = t), + (this.type = e), + (this.input = r), + (this.cases = n), + (this.outputs = i), + (this.otherwise = a)); + }; + ((i.parse = function (t, e) { + if (t.length < 5) + return e.error( + "Expected at least 4 arguments, but found only " + + (t.length - 1) + + ".", + ); + if (t.length % 2 != 1) + return e.error("Expected an even number of arguments."); + var r, a; + e.expectedType && + "value" !== e.expectedType.kind && + (a = e.expectedType); + for (var o = {}, s = [], l = 2; l < t.length - 1; l += 2) { + var c = t[l], + u = t[l + 1]; + Array.isArray(c) || (c = [c]); + var f = e.concat(l); + if (0 === c.length) + return f.error("Expected at least one branch label."); + for (var h = 0, p = c; h < p.length; h += 1) { + var d = p[h]; + if ("number" != typeof d && "string" != typeof d) + return f.error( + "Branch labels must be numbers or strings.", + ); + if ( + "number" == typeof d && + Math.abs(d) > Number.MAX_SAFE_INTEGER + ) + return f.error( + "Branch labels must be integers no larger than " + + Number.MAX_SAFE_INTEGER + + ".", + ); + if ("number" == typeof d && Math.floor(d) !== d) + return f.error( + "Numeric branch labels must be integer values.", + ); + if (r) { + if (f.checkSubtype(r, n(d))) return null; + } else r = n(d); + if (void 0 !== o[String(d)]) + return f.error("Branch labels must be unique."); + o[String(d)] = s.length; + } + var g = e.parse(u, l, a); + if (!g) return null; + ((a = a || g.type), s.push(g)); + } + var m = e.parse(t[1], 1, r); + if (!m) return null; + var v = e.parse(t[t.length - 1], t.length - 1, a); + return v ? new i(r, a, m, o, s, v) : null; + }), + (i.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + return ( + this.outputs[this.cases[e]] || this.otherwise + ).evaluate(t); + }), + (i.prototype.eachChild = function (t) { + (t(this.input), this.outputs.forEach(t), t(this.otherwise)); + }), + (i.prototype.possibleOutputs = function () { + return (t = []).concat + .apply( + t, + this.outputs.map(function (t) { + return t.possibleOutputs(); + }), + ) + .concat(this.otherwise.possibleOutputs()); + var t; + }), + (e.exports = i)); + }, + { "../values": 147 }, + ], + 136: [ + function (t, e, r) { + var n = t("../types").NumberType, + i = t("../stops").findStopLessThanOrEqualTo, + a = function (t, e, r) { + ((this.type = t), + (this.input = e), + (this.labels = []), + (this.outputs = [])); + for (var n = 0, i = r; n < i.length; n += 1) { + var a = i[n], + o = a[0], + s = a[1]; + (this.labels.push(o), this.outputs.push(s)); + } + }; + ((a.parse = function (t, e) { + var r = t[1], + i = t.slice(2); + if (t.length - 1 < 4) + return e.error( + "Expected at least 4 arguments, but found only " + + (t.length - 1) + + ".", + ); + if ((t.length - 1) % 2 != 0) + return e.error("Expected an even number of arguments."); + if (!(r = e.parse(r, 1, n))) return null; + var o = [], + s = null; + (e.expectedType && + "value" !== e.expectedType.kind && + (s = e.expectedType), + i.unshift(-1 / 0)); + for (var l = 0; l < i.length; l += 2) { + var c = i[l], + u = i[l + 1], + f = l + 1, + h = l + 2; + if ("number" != typeof c) + return e.error( + 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + f, + ); + if (o.length && o[o.length - 1][0] >= c) + return e.error( + 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', + f, + ); + var p = e.parse(u, h, s); + if (!p) return null; + ((s = s || p.type), o.push([c, p])); + } + return new a(s, r, o); + }), + (a.prototype.evaluate = function (t) { + var e = this.labels, + r = this.outputs; + if (1 === e.length) return r[0].evaluate(t); + var n = this.input.evaluate(t); + if (n <= e[0]) return r[0].evaluate(t); + var a = e.length; + return n >= e[a - 1] + ? r[a - 1].evaluate(t) + : r[i(e, n)].evaluate(t); + }), + (a.prototype.eachChild = function (t) { + t(this.input); + for (var e = 0, r = this.outputs; e < r.length; e += 1) + t(r[e]); + }), + (a.prototype.possibleOutputs = function () { + return (t = []).concat.apply( + t, + this.outputs.map(function (t) { + return t.possibleOutputs(); + }), + ); + var t; + }), + (e.exports = a)); + }, + { "../stops": 145, "../types": 146 }, + ], + 137: [ + function (t, e, r) { + var n = function (t, e) { + ((this.type = e), (this.name = t)); + }; + ((n.parse = function (t, e) { + if (2 !== t.length || "string" != typeof t[1]) + return e.error( + "'var' expression requires exactly one string literal argument.", + ); + var r = t[1]; + return e.scope.has(r) + ? new n(r, e.scope.get(r).type) + : e.error( + 'Unknown variable "' + + r + + '". Make sure "' + + r + + '" has been bound in an enclosing "let" expression before using it.', + 1, + ); + }), + (n.prototype.evaluate = function (t) { + return t.scope.get(this.name).evaluate(t); + }), + (n.prototype.eachChild = function () {}), + (n.prototype.possibleOutputs = function () { + return [void 0]; + }), + (e.exports = n)); + }, + {}, + ], + 138: [ + function (t, e, r) { + var n = t("./scope"), + i = t("./values").Color, + a = ["Unknown", "Point", "LineString", "Polygon"], + o = function () { + ((this.scope = new n()), (this._parseColorCache = {})); + }; + ((o.prototype.id = function () { + return this.feature && "id" in this.feature + ? this.feature.id + : null; + }), + (o.prototype.geometryType = function () { + return this.feature + ? "number" == typeof this.feature.type + ? a[this.feature.type] + : this.feature.type + : null; + }), + (o.prototype.properties = function () { + return (this.feature && this.feature.properties) || {}; + }), + (o.prototype.pushScope = function (t) { + this.scope = this.scope.concat(t); + }), + (o.prototype.popScope = function () { + this.scope = this.scope.parent; + }), + (o.prototype.parseColor = function (t) { + var e = this._parseColorCache[t]; + return (e || (e = this._parseColorCache[t] = i.parse(t)), e); + }), + (e.exports = o)); + }, + { "./scope": 144, "./values": 147 }, + ], + 139: [ + function (t, e, r) { + function n(t) { + return ( + Array.isArray(t) && + t.length > 0 && + "string" == typeof t[0] && + t[0] in g + ); + } + function i(t, e, r) { + void 0 === r && (r = {}); + var n = new l( + g, + [], + (function (t) { + var e = { + color: z, + string: P, + number: D, + enum: P, + boolean: O, + }; + return "array" === t.type + ? R(e[t.value] || I, t.length) + : e[t.type] || null; + })(e), + ), + i = n.parse(t); + return i + ? x(!1 === r.handleErrors ? new _(i) : new w(i, e)) + : b(n.errors); + } + function a(t, e, r) { + if ( + (void 0 === r && (r = {}), + "error" === (t = i(t, e, r)).result) + ) + return t; + var n = t.value.expression, + a = m.isFeatureConstant(n); + if (!a && !e["property-function"]) + return b([new s("", "property expressions not supported")]); + var o = m.isGlobalPropertyConstant(n, ["zoom"]); + if (!o && !1 === e["zoom-function"]) + return b([new s("", "zoom expressions not supported")]); + var l = (function t(e) { + var r = null; + if (e instanceof d) r = t(e.result); + else if (e instanceof p) + for (var n = 0, i = e.args; n < i.length; n += 1) { + var a = i[n]; + if ((r = t(a))) break; + } + else + (e instanceof f || e instanceof h) && + e.input instanceof u && + "zoom" === e.input.name && + (r = e); + return r instanceof s + ? r + : (e.eachChild(function (e) { + var n = t(e); + n instanceof s + ? (r = n) + : !r && n + ? (r = new s( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + )) + : r && + n && + r !== n && + (r = new s( + "", + 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.', + )); + }), + r); + })(n); + return l || o + ? l instanceof s + ? b([l]) + : l instanceof h && "piecewise-constant" === e.function + ? b([ + new s( + "", + '"interpolate" expressions cannot be used with this property', + ), + ]) + : x( + l + ? new M(a ? "camera" : "composite", t.value, l) + : new k(a ? "constant" : "source", t.value), + ) + : b([ + new s( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + ), + ]); + } + var o = t("../util/extend"), + s = t("./parsing_error"), + l = t("./parsing_context"), + c = t("./evaluation_context"), + u = t("./compound_expression").CompoundExpression, + f = t("./definitions/step"), + h = t("./definitions/interpolate"), + p = t("./definitions/coalesce"), + d = t("./definitions/let"), + g = t("./definitions"), + m = t("./is_constant"), + v = t("./runtime_error"), + y = t("../util/result"), + x = y.success, + b = y.error, + _ = function (t) { + this.expression = t; + }; + _.prototype.evaluate = function (t, e) { + return ( + this._evaluator || (this._evaluator = new c()), + (this._evaluator.globals = t), + (this._evaluator.feature = e), + this.expression.evaluate(this._evaluator) + ); + }; + var w = (function (t) { + function e(e, r) { + (t.call(this, e), + (this._warningHistory = {}), + (this._defaultValue = (function (t) { + return "color" === t.type && T(t.default) + ? new C(0, 0, 0, 0) + : "color" === t.type + ? C.parse(t.default) || null + : void 0 === t.default + ? null + : t.default; + })(r)), + "enum" === r.type && (this._enumValues = r.values)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.evaluate = function (t, e) { + (this._evaluator || (this._evaluator = new c()), + (this._evaluator.globals = t), + (this._evaluator.feature = e)); + try { + var r = this.expression.evaluate(this._evaluator); + if (null === r || void 0 === r) + return this._defaultValue; + if (this._enumValues && !(r in this._enumValues)) + throw new v( + "Expected value to be one of " + + Object.keys(this._enumValues) + .map(function (t) { + return JSON.stringify(t); + }) + .join(", ") + + ", but found " + + JSON.stringify(r) + + " instead.", + ); + return r; + } catch (t) { + return ( + this._warningHistory[t.message] || + ((this._warningHistory[t.message] = !0), + "undefined" != typeof console && + console.warn(t.message)), + this._defaultValue + ); + } + }), + e + ); + })(_), + k = function (t, e) { + ((this.kind = t), (this._styleExpression = e)); + }; + k.prototype.evaluate = function (t, e) { + return this._styleExpression.evaluate(t, e); + }; + var M = function (t, e, r) { + ((this.kind = t), + (this.zoomStops = r.labels), + (this._styleExpression = e), + r instanceof h && + (this._interpolationType = r.interpolation)); + }; + ((M.prototype.evaluate = function (t, e) { + return this._styleExpression.evaluate(t, e); + }), + (M.prototype.interpolationFactor = function (t, e, r) { + return this._interpolationType + ? h.interpolationFactor(this._interpolationType, t, e, r) + : 0; + })); + var A = t("../function"), + T = A.isFunction, + S = A.createFunction, + C = t("./values").Color, + E = function (t, e) { + ((this._parameters = t), + (this._specification = e), + o(this, S(this._parameters, this._specification))); + }; + ((E.deserialize = function (t) { + return new E(t._parameters, t._specification); + }), + (E.serialize = function (t) { + return { + _parameters: t._parameters, + _specification: t._specification, + }; + }), + (e.exports = { + StyleExpression: _, + StyleExpressionWithErrorHandling: w, + isExpression: n, + createExpression: i, + createPropertyExpression: a, + normalizePropertyExpression: function (t, e) { + if (T(t)) return new E(t, e); + if (n(t)) { + var r = a(t, e); + if ("error" === r.result) + throw new Error( + r.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return r.value; + } + var i = t; + return ( + "string" == typeof t && + "color" === e.type && + (i = C.parse(t)), + { + kind: "constant", + evaluate: function () { + return i; + }, + } + ); + }, + ZoomConstantExpression: k, + ZoomDependentExpression: M, + StylePropertyFunction: E, + })); + var L = t("./types"), + z = L.ColorType, + P = L.StringType, + D = L.NumberType, + O = L.BooleanType, + I = L.ValueType, + R = L.array; + }, + { + "../function": 149, + "../util/extend": 156, + "../util/result": 160, + "./compound_expression": 123, + "./definitions": 131, + "./definitions/coalesce": 128, + "./definitions/interpolate": 132, + "./definitions/let": 133, + "./definitions/step": 136, + "./evaluation_context": 138, + "./is_constant": 140, + "./parsing_context": 141, + "./parsing_error": 142, + "./runtime_error": 143, + "./types": 146, + "./values": 147, + }, + ], + 140: [ + function (t, e, r) { + var n = t("./compound_expression").CompoundExpression; + e.exports = { + isFeatureConstant: function t(e) { + if (e instanceof n) { + if ("get" === e.name && 1 === e.args.length) return !1; + if ("has" === e.name && 1 === e.args.length) return !1; + if ( + "properties" === e.name || + "geometry-type" === e.name || + "id" === e.name + ) + return !1; + if (/^filter-/.test(e.name)) return !1; + } + var r = !0; + return ( + e.eachChild(function (e) { + r && !t(e) && (r = !1); + }), + r + ); + }, + isGlobalPropertyConstant: function t(e, r) { + if (e instanceof n && r.indexOf(e.name) >= 0) return !1; + var i = !0; + return ( + e.eachChild(function (e) { + i && !t(e, r) && (i = !1); + }), + i + ); + }, + }; + }, + { "./compound_expression": 123 }, + ], + 141: [ + function (t, e, r) { + var n = t("./scope"), + i = t("./types").checkSubtype, + a = t("./parsing_error"), + o = t("./definitions/literal"), + s = t("./definitions/assertion"), + l = t("./definitions/array"), + c = t("./definitions/coercion"), + u = function (t, e, r, i, a) { + (void 0 === e && (e = []), + void 0 === i && (i = new n()), + void 0 === a && (a = []), + (this.registry = t), + (this.path = e), + (this.key = e + .map(function (t) { + return "[" + t + "]"; + }) + .join("")), + (this.scope = i), + (this.errors = a), + (this.expectedType = r)); + }; + ((u.prototype.parse = function (e, r, n, i, a) { + void 0 === a && (a = {}); + var u = this; + if ( + (r && (u = u.concat(r, n, i)), + (null !== e && + "string" != typeof e && + "boolean" != typeof e && + "number" != typeof e) || + (e = ["literal", e]), + Array.isArray(e)) + ) { + if (0 === e.length) + return u.error( + 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].', + ); + var f = e[0]; + if ("string" != typeof f) + return ( + u.error( + "Expression name must be a string, but found " + + typeof f + + ' instead. If you wanted a literal array, use ["literal", [...]].', + 0, + ), + null + ); + var h = u.registry[f]; + if (h) { + var p = h.parse(e, u); + if (!p) return null; + if (u.expectedType) { + var d = u.expectedType, + g = p.type; + if ( + ("string" !== d.kind && + "number" !== d.kind && + "boolean" !== d.kind) || + "value" !== g.kind + ) + if ("array" === d.kind && "value" === g.kind) + a.omitTypeAnnotations || (p = new l(d, p)); + else if ( + "color" !== d.kind || + ("value" !== g.kind && "string" !== g.kind) + ) { + if (u.checkSubtype(u.expectedType, p.type)) + return null; + } else a.omitTypeAnnotations || (p = new c(d, [p])); + else a.omitTypeAnnotations || (p = new s(d, [p])); + } + if ( + !(p instanceof o) && + (function (e) { + var r = t("./compound_expression").CompoundExpression, + n = t("./is_constant"), + i = n.isGlobalPropertyConstant, + a = n.isFeatureConstant; + if (e instanceof t("./definitions/var")) return !1; + if (e instanceof r && "error" === e.name) return !1; + var s = !0; + return ( + e.eachChild(function (t) { + t instanceof o || (s = !1); + }), + !!s && a(e) && i(e, ["zoom", "heatmap-density"]) + ); + })(p) + ) { + var m = new (t("./evaluation_context"))(); + try { + p = new o(p.type, p.evaluate(m)); + } catch (e) { + return (u.error(e.message), null); + } + } + return p; + } + return u.error( + 'Unknown expression "' + + f + + '". If you wanted a literal array, use ["literal", [...]].', + 0, + ); + } + return void 0 === e + ? u.error("'undefined' value invalid. Use null instead.") + : "object" == typeof e + ? u.error( + 'Bare objects invalid. Use ["literal", {...}] instead.', + ) + : u.error( + "Expected an array, but found " + + typeof e + + " instead.", + ); + }), + (u.prototype.concat = function (t, e, r) { + var n = + "number" == typeof t ? this.path.concat(t) : this.path, + i = r ? this.scope.concat(r) : this.scope; + return new u(this.registry, n, e || null, i, this.errors); + }), + (u.prototype.error = function (t) { + for ( + var e = arguments, r = [], n = arguments.length - 1; + n-- > 0; + + ) + r[n] = e[n + 1]; + var i = + "" + + this.key + + r + .map(function (t) { + return "[" + t + "]"; + }) + .join(""); + this.errors.push(new a(i, t)); + }), + (u.prototype.checkSubtype = function (t, e) { + var r = i(t, e); + return (r && this.error(r), r); + }), + (e.exports = u)); + }, + { + "./compound_expression": 123, + "./definitions/array": 124, + "./definitions/assertion": 125, + "./definitions/coercion": 129, + "./definitions/literal": 134, + "./definitions/var": 137, + "./evaluation_context": 138, + "./is_constant": 140, + "./parsing_error": 142, + "./scope": 144, + "./types": 146, + }, + ], + 142: [ + function (t, e, r) { + var n = (function (t) { + function e(e, r) { + (t.call(this, r), (this.message = r), (this.key = e)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(Error); + e.exports = n; + }, + {}, + ], + 143: [ + function (t, e, r) { + var n = function (t) { + ((this.name = "ExpressionEvaluationError"), (this.message = t)); + }; + ((n.prototype.toJSON = function () { + return this.message; + }), + (e.exports = n)); + }, + {}, + ], + 144: [ + function (t, e, r) { + var n = function (t, e) { + (void 0 === e && (e = []), + (this.parent = t), + (this.bindings = {})); + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r], + a = i[0], + o = i[1]; + this.bindings[a] = o; + } + }; + ((n.prototype.concat = function (t) { + return new n(this, t); + }), + (n.prototype.get = function (t) { + if (this.bindings[t]) return this.bindings[t]; + if (this.parent) return this.parent.get(t); + throw new Error(t + " not found in scope."); + }), + (n.prototype.has = function (t) { + return ( + !!this.bindings[t] || (!!this.parent && this.parent.has(t)) + ); + }), + (e.exports = n)); + }, + {}, + ], + 145: [ + function (t, e, r) { + var n = t("./runtime_error"); + e.exports = { + findStopLessThanOrEqualTo: function (t, e) { + for (var r, i, a = 0, o = t.length - 1, s = 0; a <= o; ) { + if ( + ((r = t[(s = Math.floor((a + o) / 2))]), + (i = t[s + 1]), + e === r || (e > r && e < i)) + ) + return s; + if (r < e) a = s + 1; + else { + if (!(r > e)) throw new n("Input is not a number."); + o = s - 1; + } + } + return Math.max(s - 1, 0); + }, + }; + }, + { "./runtime_error": 143 }, + ], + 146: [ + function (t, e, r) { + function n(t, e) { + return { kind: "array", itemType: t, N: e }; + } + function i(t) { + if ("array" === t.kind) { + var e = i(t.itemType); + return "number" == typeof t.N + ? "array<" + e + ", " + t.N + ">" + : "value" === t.itemType.kind + ? "array" + : "array<" + e + ">"; + } + return t.kind; + } + var a = { kind: "null" }, + o = { kind: "number" }, + s = { kind: "string" }, + l = { kind: "boolean" }, + c = { kind: "color" }, + u = { kind: "object" }, + f = { kind: "value" }, + h = [a, o, s, l, c, u, n(f)]; + e.exports = { + NullType: a, + NumberType: o, + StringType: s, + BooleanType: l, + ColorType: c, + ObjectType: u, + ValueType: f, + array: n, + ErrorType: { kind: "error" }, + toString: i, + checkSubtype: function t(e, r) { + if ("error" === r.kind) return null; + if ("array" === e.kind) { + if ( + "array" === r.kind && + !t(e.itemType, r.itemType) && + ("number" != typeof e.N || e.N === r.N) + ) + return null; + } else { + if (e.kind === r.kind) return null; + if ("value" === e.kind) + for (var n = 0, a = h; n < a.length; n += 1) + if (!t(a[n], r)) return null; + } + return ( + "Expected " + i(e) + " but found " + i(r) + " instead." + ); + }, + }; + }, + {}, + ], + 147: [ + function (t, e, r) { + var n = t("../util/color"), + i = t("./types"), + a = i.NullType, + o = i.NumberType, + s = i.StringType, + l = i.BooleanType, + c = i.ColorType, + u = i.ObjectType, + f = i.ValueType, + h = i.array; + e.exports = { + Color: n, + validateRGBA: function (t, e, r, n) { + return "number" == typeof t && + t >= 0 && + t <= 255 && + "number" == typeof e && + e >= 0 && + e <= 255 && + "number" == typeof r && + r >= 0 && + r <= 255 + ? void 0 === n || ("number" == typeof n && n >= 0 && n <= 1) + ? null + : "Invalid rgba value [" + + [t, e, r, n].join(", ") + + "]: 'a' must be between 0 and 1." + : "Invalid rgba value [" + + ("number" == typeof n ? [t, e, r, n] : [t, e, r]).join( + ", ", + ) + + "]: 'r', 'g', and 'b' must be between 0 and 255."; + }, + isValue: function t(e) { + if (null === e) return !0; + if ("string" == typeof e) return !0; + if ("boolean" == typeof e) return !0; + if ("number" == typeof e) return !0; + if (e instanceof n) return !0; + if (Array.isArray(e)) { + for (var r = 0, i = e; r < i.length; r += 1) + if (!t(i[r])) return !1; + return !0; + } + if ("object" == typeof e) { + for (var a in e) if (!t(e[a])) return !1; + return !0; + } + return !1; + }, + typeOf: function t(e) { + if (null === e) return a; + if ("string" == typeof e) return s; + if ("boolean" == typeof e) return l; + if ("number" == typeof e) return o; + if (e instanceof n) return c; + if (Array.isArray(e)) { + for ( + var r, i = e.length, p = 0, d = e; + p < d.length; + p += 1 + ) { + var g = t(d[p]); + if (r) { + if (r === g) continue; + r = f; + break; + } + r = g; + } + return h(r || f, i); + } + return u; + }, + }; + }, + { "../util/color": 153, "./types": 146 }, + ], + 148: [ + function (t, e, r) { + function n(t) { + if (!Array.isArray(t) || 0 === t.length) return !1; + switch (t[0]) { + case "has": + return t.length >= 2 && "$id" !== t[1] && "$type" !== t[1]; + case "in": + case "!in": + case "!has": + case "none": + return !1; + case "==": + case "!=": + case ">": + case ">=": + case "<": + case "<=": + return ( + 3 === t.length && + (Array.isArray(t[1]) || Array.isArray(t[2])) + ); + case "any": + case "all": + for (var e = 0, r = t.slice(1); e < r.length; e += 1) { + var i = r[e]; + if (!n(i) && "boolean" != typeof i) return !1; + } + return !0; + default: + return !0; + } + } + function i(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function a(t) { + if (!t) return !0; + var e = t[0]; + return t.length <= 1 + ? "any" !== e + : "==" === e + ? o(t[1], t[2], "==") + : "!=" === e + ? c(o(t[1], t[2], "==")) + : "<" === e || ">" === e || "<=" === e || ">=" === e + ? o(t[1], t[2], e) + : "any" === e + ? (function (t) { + return ["any"].concat(t.map(a)); + })(t.slice(1)) + : "all" === e + ? ["all"].concat(t.slice(1).map(a)) + : "none" === e + ? ["all"].concat(t.slice(1).map(a).map(c)) + : "in" === e + ? s(t[1], t.slice(2)) + : "!in" === e + ? c(s(t[1], t.slice(2))) + : "has" === e + ? l(t[1]) + : "!has" !== e || c(l(t[1])); + } + function o(t, e, r) { + switch (t) { + case "$type": + return ["filter-type-" + r, e]; + case "$id": + return ["filter-id-" + r, e]; + default: + return ["filter-" + r, t, e]; + } + } + function s(t, e) { + if (0 === e.length) return !1; + switch (t) { + case "$type": + return ["filter-type-in", ["literal", e]]; + case "$id": + return ["filter-id-in", ["literal", e]]; + default: + return e.length > 200 && + !e.some(function (t) { + return typeof t != typeof e[0]; + }) + ? ["filter-in-large", t, ["literal", e.sort(i)]] + : ["filter-in-small", t, ["literal", e]]; + } + } + function l(t) { + switch (t) { + case "$type": + return !0; + case "$id": + return ["filter-has-id"]; + default: + return ["filter-has", t]; + } + } + function c(t) { + return ["!", t]; + } + var u = t("../expression").createExpression; + ((e.exports = function (t) { + if (!t) + return function () { + return !0; + }; + n(t) || (t = a(t)); + var e = u(t, f); + if ("error" === e.result) + throw new Error( + e.value + .map(function (t) { + return t.key + ": " + t.message; + }) + .join(", "), + ); + return function (t, r) { + return e.value.evaluate(t, r); + }; + }), + (e.exports.isExpressionFilter = n)); + var f = { + type: "boolean", + default: !1, + function: !0, + "property-function": !0, + "zoom-function": !0, + }; + }, + { "../expression": 139 }, + ], + 149: [ + function (t, e, r) { + function n(t) { + return t; + } + function i(t, e, r) { + return void 0 !== t + ? t + : void 0 !== e + ? e + : void 0 !== r + ? r + : void 0; + } + function a(t, e, r, n, a) { + return i(typeof r === a ? n[r] : void 0, t.default, e.default); + } + function o(t, e, r) { + if ("number" !== p(r)) return i(t.default, e.default); + var n = t.stops.length; + if (1 === n) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[n - 1][0]) return t.stops[n - 1][1]; + var a = c(t.stops, r); + return t.stops[a][1]; + } + function s(t, e, r) { + var a = void 0 !== t.base ? t.base : 1; + if ("number" !== p(r)) return i(t.default, e.default); + var o = t.stops.length; + if (1 === o) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[o - 1][0]) return t.stops[o - 1][1]; + var s = c(t.stops, r), + l = (function (t, e, r, n) { + var i = n - r, + a = t - r; + return 0 === i + ? 0 + : 1 === e + ? a / i + : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); + })(r, a, t.stops[s][0], t.stops[s + 1][0]), + f = t.stops[s][1], + h = t.stops[s + 1][1], + g = d[e.type] || n; + if (t.colorSpace && "rgb" !== t.colorSpace) { + var m = u[t.colorSpace]; + g = function (t, e) { + return m.reverse( + m.interpolate(m.forward(t), m.forward(e), l), + ); + }; + } + return "function" == typeof f.evaluate + ? { + evaluate: function () { + for ( + var t = arguments, e = [], r = arguments.length; + r--; + + ) + e[r] = t[r]; + var n = f.evaluate.apply(void 0, e), + i = h.evaluate.apply(void 0, e); + if (void 0 !== n && void 0 !== i) return g(n, i, l); + }, + } + : g(f, h, l); + } + function l(t, e, r) { + return ( + "color" === e.type + ? (r = f.parse(r)) + : p(r) === e.type || + ("enum" === e.type && e.values[r]) || + (r = void 0), + i(r, t.default, e.default) + ); + } + function c(t, e) { + for (var r, n, i = 0, a = t.length - 1, o = 0; i <= a; ) { + if ( + ((r = t[(o = Math.floor((i + a) / 2))][0]), + (n = t[o + 1][0]), + e === r || (e > r && e < n)) + ) + return o; + r < e ? (i = o + 1) : r > e && (a = o - 1); + } + return Math.max(o - 1, 0); + } + var u = t("../util/color_spaces"), + f = t("../util/color"), + h = t("../util/extend"), + p = t("../util/get_type"), + d = t("../util/interpolate"), + g = t("../expression/definitions/interpolate"); + e.exports = { + createFunction: function t(e, r) { + var n, + c, + p, + d = "color" === r.type, + m = e.stops && "object" == typeof e.stops[0][0], + v = m || void 0 !== e.property, + y = m || !v, + x = + e.type || + ("interpolated" === r.function + ? "exponential" + : "interval"); + if ( + (d && + ((e = h({}, e)).stops && + (e.stops = e.stops.map(function (t) { + return [t[0], f.parse(t[1])]; + })), + e.default + ? (e.default = f.parse(e.default)) + : (e.default = f.parse(r.default))), + e.colorSpace && "rgb" !== e.colorSpace && !u[e.colorSpace]) + ) + throw new Error("Unknown color space: " + e.colorSpace); + if ("exponential" === x) n = s; + else if ("interval" === x) n = o; + else if ("categorical" === x) { + ((n = a), (c = Object.create(null))); + for (var b = 0, _ = e.stops; b < _.length; b += 1) { + var w = _[b]; + c[w[0]] = w[1]; + } + p = typeof e.stops[0][0]; + } else { + if ("identity" !== x) + throw new Error('Unknown function type "' + x + '"'); + n = l; + } + if (m) { + for (var k = {}, M = [], A = 0; A < e.stops.length; A++) { + var T = e.stops[A], + S = T[0].zoom; + (void 0 === k[S] && + ((k[S] = { + zoom: S, + type: e.type, + property: e.property, + default: e.default, + stops: [], + }), + M.push(S)), + k[S].stops.push([T[0].value, T[1]])); + } + for (var C = [], E = 0, L = M; E < L.length; E += 1) { + var z = L[E]; + C.push([k[z].zoom, t(k[z], r)]); + } + return { + kind: "composite", + interpolationFactor: g.interpolationFactor.bind(void 0, { + name: "linear", + }), + zoomStops: C.map(function (t) { + return t[0]; + }), + evaluate: function (t, n) { + var i = t.zoom; + return s({ stops: C, base: e.base }, r, i).evaluate( + i, + n, + ); + }, + }; + } + return y + ? { + kind: "camera", + interpolationFactor: + "exponential" === x + ? g.interpolationFactor.bind(void 0, { + name: "exponential", + base: void 0 !== e.base ? e.base : 1, + }) + : function () { + return 0; + }, + zoomStops: e.stops.map(function (t) { + return t[0]; + }), + evaluate: function (t) { + var i = t.zoom; + return n(e, r, i, c, p); + }, + } + : { + kind: "source", + evaluate: function (t, a) { + var o = + a && a.properties + ? a.properties[e.property] + : void 0; + return void 0 === o + ? i(e.default, r.default) + : n(e, r, o, c, p); + }, + }; + }, + isFunction: function (t) { + return ( + "object" == typeof t && null !== t && !Array.isArray(t) + ); + }, + }; + }, + { + "../expression/definitions/interpolate": 132, + "../util/color": 153, + "../util/color_spaces": 154, + "../util/extend": 156, + "../util/get_type": 157, + "../util/interpolate": 158, + }, + ], + 150: [ + function (t, e, r) { + function n(t) { + var e = typeof t; + if ( + "number" === e || + "boolean" === e || + "string" === e || + void 0 === t || + null === t + ) + return JSON.stringify(t); + if (Array.isArray(t)) { + for (var r = "[", i = 0, a = t; i < a.length; i += 1) + r += n(a[i]) + ","; + return r + "]"; + } + for ( + var o = Object.keys(t).sort(), s = "{", l = 0; + l < o.length; + l++ + ) + s += JSON.stringify(o[l]) + ":" + n(t[o[l]]) + ","; + return s + "}"; + } + function i(t) { + for (var e = "", r = 0, i = a; r < i.length; r += 1) + e += "/" + n(t[i[r]]); + return e; + } + var a = t("./util/ref_properties"); + e.exports = function (t) { + for (var e = {}, r = 0; r < t.length; r++) { + var n = i(t[r]), + a = e[n]; + (a || (a = e[n] = []), a.push(t[r])); + } + var o = []; + for (var s in e) o.push(e[s]); + return o; + }; + }, + { "./util/ref_properties": 159 }, + ], + 151: [ + function (t, e, r) { + e.exports = t("./v8.json"); + }, + { "./v8.json": 152 }, + ], + 152: [ + function (t, e, r) { + e.exports = { + $version: 8, + $root: { + version: { required: !0, type: "enum", values: [8] }, + name: { type: "string" }, + metadata: { type: "*" }, + center: { type: "array", value: "number" }, + zoom: { type: "number" }, + bearing: { + type: "number", + default: 0, + period: 360, + units: "degrees", + }, + pitch: { type: "number", default: 0, units: "degrees" }, + light: { type: "light" }, + sources: { required: !0, type: "sources" }, + sprite: { type: "string" }, + glyphs: { type: "string" }, + transition: { type: "transition" }, + layers: { required: !0, type: "array", value: "layer" }, + }, + sources: { "*": { type: "source" } }, + source: [ + "source_vector", + "source_raster", + "source_raster_dem", + "source_geojson", + "source_video", + "source_image", + "source_canvas", + ], + source_vector: { + type: { required: !0, type: "enum", values: { vector: {} } }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.0511, 180, 85.0511], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + attribution: { type: "string" }, + "*": { type: "*" }, + }, + source_raster: { + type: { required: !0, type: "enum", values: { raster: {} } }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.0511, 180, 85.0511], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { type: "number", default: 512, units: "pixels" }, + scheme: { + type: "enum", + values: { xyz: {}, tms: {} }, + default: "xyz", + }, + attribution: { type: "string" }, + "*": { type: "*" }, + }, + source_raster_dem: { + type: { + required: !0, + type: "enum", + values: { "raster-dem": {} }, + }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.0511, 180, 85.0511], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { type: "number", default: 512, units: "pixels" }, + attribution: { type: "string" }, + "*": { type: "*" }, + }, + source_geojson: { + type: { required: !0, type: "enum", values: { geojson: {} } }, + data: { type: "*" }, + maxzoom: { type: "number", default: 18 }, + buffer: { + type: "number", + default: 128, + maximum: 512, + minimum: 0, + }, + tolerance: { type: "number", default: 0.375 }, + cluster: { type: "boolean", default: !1 }, + clusterRadius: { type: "number", default: 50, minimum: 0 }, + clusterMaxZoom: { type: "number" }, + }, + source_video: { + type: { required: !0, type: "enum", values: { video: {} } }, + urls: { required: !0, type: "array", value: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { type: "array", length: 2, value: "number" }, + }, + }, + source_image: { + type: { required: !0, type: "enum", values: { image: {} } }, + url: { required: !0, type: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { type: "array", length: 2, value: "number" }, + }, + }, + source_canvas: { + type: { required: !0, type: "enum", values: { canvas: {} } }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { type: "array", length: 2, value: "number" }, + }, + animate: { type: "boolean", default: "true" }, + canvas: { type: "string", required: !0 }, + }, + layer: { + id: { type: "string", required: !0 }, + type: { + type: "enum", + values: { + fill: {}, + line: {}, + symbol: {}, + circle: {}, + heatmap: {}, + "fill-extrusion": {}, + raster: {}, + hillshade: {}, + background: {}, + }, + required: !0, + }, + metadata: { type: "*" }, + source: { type: "string" }, + "source-layer": { type: "string" }, + minzoom: { type: "number", minimum: 0, maximum: 24 }, + maxzoom: { type: "number", minimum: 0, maximum: 24 }, + filter: { type: "filter" }, + layout: { type: "layout" }, + paint: { type: "paint" }, + }, + layout: [ + "layout_fill", + "layout_line", + "layout_circle", + "layout_heatmap", + "layout_fill-extrusion", + "layout_symbol", + "layout_raster", + "layout_hillshade", + "layout_background", + ], + layout_background: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_fill: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_circle: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_heatmap: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + "layout_fill-extrusion": { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_line: { + "line-cap": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { butt: {}, round: {}, square: {} }, + default: "butt", + }, + "line-join": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + values: { bevel: {}, round: {}, miter: {} }, + default: "miter", + }, + "line-miter-limit": { + type: "number", + default: 2, + function: "interpolated", + "zoom-function": !0, + requires: [{ "line-join": "miter" }], + }, + "line-round-limit": { + type: "number", + default: 1.05, + function: "interpolated", + "zoom-function": !0, + requires: [{ "line-join": "round" }], + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_symbol: { + "symbol-placement": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { point: {}, line: {} }, + default: "point", + }, + "symbol-spacing": { + type: "number", + default: 250, + minimum: 1, + function: "interpolated", + "zoom-function": !0, + units: "pixels", + requires: [{ "symbol-placement": "line" }], + }, + "symbol-avoid-edges": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + }, + "icon-allow-overlap": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["icon-image"], + }, + "icon-ignore-placement": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["icon-image"], + }, + "icon-optional": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["icon-image", "text-field"], + }, + "icon-rotation-alignment": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + }, + "icon-size": { + type: "number", + default: 1, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + units: "factor of the original icon size", + requires: ["icon-image"], + }, + "icon-text-fit": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { none: {}, width: {}, height: {}, both: {} }, + default: "none", + requires: ["icon-image", "text-field"], + }, + "icon-text-fit-padding": { + type: "array", + value: "number", + length: 4, + default: [0, 0, 0, 0], + units: "pixels", + function: "interpolated", + "zoom-function": !0, + requires: [ + "icon-image", + "text-field", + { "icon-text-fit": ["both", "width", "height"] }, + ], + }, + "icon-image": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + tokens: !0, + }, + "icon-rotate": { + type: "number", + default: 0, + period: 360, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + units: "degrees", + requires: ["icon-image"], + }, + "icon-padding": { + type: "number", + default: 2, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + units: "pixels", + requires: ["icon-image"], + }, + "icon-keep-upright": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: [ + "icon-image", + { "icon-rotation-alignment": "map" }, + { "symbol-placement": "line" }, + ], + }, + "icon-offset": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + requires: ["icon-image"], + }, + "icon-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["icon-image"], + }, + "icon-pitch-alignment": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + }, + "text-pitch-alignment": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + }, + "text-rotation-alignment": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + }, + "text-field": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + default: "", + tokens: !0, + }, + "text-font": { + type: "array", + value: "string", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + default: ["Open Sans Regular", "Arial Unicode MS Regular"], + requires: ["text-field"], + }, + "text-size": { + type: "number", + default: 16, + minimum: 0, + units: "pixels", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + requires: ["text-field"], + }, + "text-max-width": { + type: "number", + default: 10, + minimum: 0, + units: "ems", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + requires: ["text-field"], + }, + "text-line-height": { + type: "number", + default: 1.2, + units: "ems", + function: "interpolated", + "zoom-function": !0, + requires: ["text-field"], + }, + "text-letter-spacing": { + type: "number", + default: 0, + units: "ems", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + requires: ["text-field"], + }, + "text-justify": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + values: { left: {}, center: {}, right: {} }, + default: "center", + requires: ["text-field"], + }, + "text-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["text-field"], + }, + "text-max-angle": { + type: "number", + default: 45, + units: "degrees", + function: "interpolated", + "zoom-function": !0, + requires: ["text-field", { "symbol-placement": "line" }], + }, + "text-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + requires: ["text-field"], + }, + "text-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + function: "interpolated", + "zoom-function": !0, + requires: ["text-field"], + }, + "text-keep-upright": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !0, + requires: [ + "text-field", + { "text-rotation-alignment": "map" }, + { "symbol-placement": "line" }, + ], + }, + "text-transform": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + "property-function": !0, + values: { none: {}, uppercase: {}, lowercase: {} }, + default: "none", + requires: ["text-field"], + }, + "text-offset": { + type: "array", + value: "number", + units: "ems", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + length: 2, + default: [0, 0], + requires: ["text-field"], + }, + "text-allow-overlap": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["text-field"], + }, + "text-ignore-placement": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["text-field"], + }, + "text-optional": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !1, + requires: ["text-field", "icon-image"], + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_raster: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + layout_hillshade: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + }, + }, + filter: { type: "array", value: "*" }, + filter_operator: { + type: "enum", + values: { + "==": {}, + "!=": {}, + ">": {}, + ">=": {}, + "<": {}, + "<=": {}, + in: {}, + "!in": {}, + all: {}, + any: {}, + none: {}, + has: {}, + "!has": {}, + }, + }, + geometry_type: { + type: "enum", + values: { Point: {}, LineString: {}, Polygon: {} }, + }, + function: { + expression: { type: "expression" }, + stops: { type: "array", value: "function_stop" }, + base: { type: "number", default: 1, minimum: 0 }, + property: { type: "string", default: "$zoom" }, + type: { + type: "enum", + values: { + identity: {}, + exponential: {}, + interval: {}, + categorical: {}, + }, + default: "exponential", + }, + colorSpace: { + type: "enum", + values: { rgb: {}, lab: {}, hcl: {} }, + default: "rgb", + }, + default: { type: "*", required: !1 }, + }, + function_stop: { + type: "array", + minimum: 0, + maximum: 22, + value: ["number", "color"], + length: 2, + }, + expression: { type: "array", value: "*", minimum: 1 }, + expression_name: { + type: "enum", + values: { + let: { group: "Variable binding" }, + var: { group: "Variable binding" }, + literal: { group: "Types" }, + array: { group: "Types" }, + at: { group: "Lookup" }, + case: { group: "Decision" }, + match: { group: "Decision" }, + coalesce: { group: "Decision" }, + step: { group: "Ramps, scales, curves" }, + interpolate: { group: "Ramps, scales, curves" }, + ln2: { group: "Math" }, + pi: { group: "Math" }, + e: { group: "Math" }, + typeof: { group: "Types" }, + string: { group: "Types" }, + number: { group: "Types" }, + boolean: { group: "Types" }, + object: { group: "Types" }, + "to-string": { group: "Types" }, + "to-number": { group: "Types" }, + "to-boolean": { group: "Types" }, + "to-rgba": { group: "Color" }, + "to-color": { group: "Types" }, + rgb: { group: "Color" }, + rgba: { group: "Color" }, + get: { group: "Lookup" }, + has: { group: "Lookup" }, + length: { group: "Lookup" }, + properties: { group: "Feature data" }, + "geometry-type": { group: "Feature data" }, + id: { group: "Feature data" }, + zoom: { group: "Zoom" }, + "heatmap-density": { group: "Heatmap" }, + "+": { group: "Math" }, + "*": { group: "Math" }, + "-": { group: "Math" }, + "/": { group: "Math" }, + "%": { group: "Math" }, + "^": { group: "Math" }, + sqrt: { group: "Math" }, + log10: { group: "Math" }, + ln: { group: "Math" }, + log2: { group: "Math" }, + sin: { group: "Math" }, + cos: { group: "Math" }, + tan: { group: "Math" }, + asin: { group: "Math" }, + acos: { group: "Math" }, + atan: { group: "Math" }, + min: { group: "Math" }, + max: { group: "Math" }, + "==": { group: "Decision" }, + "!=": { group: "Decision" }, + ">": { group: "Decision" }, + "<": { group: "Decision" }, + ">=": { group: "Decision" }, + "<=": { group: "Decision" }, + all: { group: "Decision" }, + any: { group: "Decision" }, + "!": { group: "Decision" }, + upcase: { group: "String" }, + downcase: { group: "String" }, + concat: { group: "String" }, + }, + }, + light: { + anchor: { + type: "enum", + default: "viewport", + values: { map: {}, viewport: {} }, + transition: !1, + "zoom-function": !0, + "property-function": !1, + function: "piecewise-constant", + }, + position: { + type: "array", + default: [1.15, 210, 30], + length: 3, + value: "number", + transition: !0, + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + }, + color: { + type: "color", + default: "#ffffff", + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + transition: !0, + }, + intensity: { + type: "number", + default: 0.5, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + transition: !0, + }, + }, + paint: [ + "paint_fill", + "paint_line", + "paint_circle", + "paint_heatmap", + "paint_fill-extrusion", + "paint_symbol", + "paint_raster", + "paint_hillshade", + "paint_background", + ], + paint_fill: { + "fill-antialias": { + type: "boolean", + function: "piecewise-constant", + "zoom-function": !0, + default: !0, + }, + "fill-opacity": { + type: "number", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + }, + "fill-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: [{ "!": "fill-pattern" }], + }, + "fill-outline-color": { + type: "color", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: [ + { "!": "fill-pattern" }, + { "fill-antialias": !0 }, + ], + }, + "fill-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + }, + "fill-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-translate"], + }, + "fill-pattern": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + transition: !0, + }, + }, + "paint_fill-extrusion": { + "fill-extrusion-opacity": { + type: "number", + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + }, + "fill-extrusion-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: [{ "!": "fill-extrusion-pattern" }], + }, + "fill-extrusion-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + }, + "fill-extrusion-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-extrusion-translate"], + }, + "fill-extrusion-pattern": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + transition: !0, + }, + "fill-extrusion-height": { + type: "number", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + default: 0, + minimum: 0, + units: "meters", + transition: !0, + }, + "fill-extrusion-base": { + type: "number", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + default: 0, + minimum: 0, + units: "meters", + transition: !0, + requires: ["fill-extrusion-height"], + }, + }, + paint_line: { + "line-opacity": { + type: "number", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + }, + "line-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: [{ "!": "line-pattern" }], + }, + "line-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + }, + "line-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["line-translate"], + }, + "line-width": { + type: "number", + default: 1, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "line-gap-width": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "line-offset": { + type: "number", + default: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "line-blur": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "line-dasharray": { + type: "array", + value: "number", + function: "piecewise-constant", + "zoom-function": !0, + minimum: 0, + transition: !0, + units: "line widths", + requires: [{ "!": "line-pattern" }], + }, + "line-pattern": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + transition: !0, + }, + }, + paint_circle: { + "circle-radius": { + type: "number", + default: 5, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "circle-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + }, + "circle-blur": { + type: "number", + default: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + }, + "circle-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + }, + "circle-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + }, + "circle-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["circle-translate"], + }, + "circle-pitch-scale": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + }, + "circle-pitch-alignment": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "viewport", + }, + "circle-stroke-width": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "circle-stroke-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + }, + "circle-stroke-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + }, + }, + paint_heatmap: { + "heatmap-radius": { + type: "number", + default: 30, + minimum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + }, + "heatmap-weight": { + type: "number", + default: 1, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !1, + }, + "heatmap-intensity": { + type: "number", + default: 1, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + transition: !0, + }, + "heatmap-color": { + type: "color", + default: [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + "rgba(0, 0, 255, 0)", + 0.1, + "royalblue", + 0.3, + "cyan", + 0.5, + "lime", + 0.7, + "yellow", + 1, + "red", + ], + function: "interpolated", + "zoom-function": !1, + "property-function": !1, + transition: !1, + }, + "heatmap-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !1, + transition: !0, + }, + }, + paint_symbol: { + "icon-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["icon-image"], + }, + "icon-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["icon-image"], + }, + "icon-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["icon-image"], + }, + "icon-halo-width": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + }, + "icon-halo-blur": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + }, + "icon-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + }, + "icon-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["icon-image", "icon-translate"], + }, + "text-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["text-field"], + }, + "text-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["text-field"], + }, + "text-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + requires: ["text-field"], + }, + "text-halo-width": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + requires: ["text-field"], + }, + "text-halo-blur": { + type: "number", + default: 0, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + "property-function": !0, + transition: !0, + units: "pixels", + requires: ["text-field"], + }, + "text-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "pixels", + requires: ["text-field"], + }, + "text-translate-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "map", + requires: ["text-field", "text-translate"], + }, + }, + paint_raster: { + "raster-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "raster-hue-rotate": { + type: "number", + default: 0, + period: 360, + function: "interpolated", + "zoom-function": !0, + transition: !0, + units: "degrees", + }, + "raster-brightness-min": { + type: "number", + function: "interpolated", + "zoom-function": !0, + default: 0, + minimum: 0, + maximum: 1, + transition: !0, + }, + "raster-brightness-max": { + type: "number", + function: "interpolated", + "zoom-function": !0, + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + }, + "raster-saturation": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "raster-contrast": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "raster-fade-duration": { + type: "number", + default: 300, + minimum: 0, + function: "interpolated", + "zoom-function": !0, + transition: !1, + units: "milliseconds", + }, + }, + paint_hillshade: { + "hillshade-illumination-direction": { + type: "number", + default: 335, + minimum: 0, + maximum: 359, + function: "interpolated", + "zoom-function": !0, + transition: !1, + }, + "hillshade-illumination-anchor": { + type: "enum", + function: "piecewise-constant", + "zoom-function": !0, + values: { map: {}, viewport: {} }, + default: "viewport", + }, + "hillshade-exaggeration": { + type: "number", + default: 0.5, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "hillshade-shadow-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "hillshade-highlight-color": { + type: "color", + default: "#FFFFFF", + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + "hillshade-accent-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + }, + paint_background: { + "background-color": { + type: "color", + default: "#000000", + function: "interpolated", + "zoom-function": !0, + transition: !0, + requires: [{ "!": "background-pattern" }], + }, + "background-pattern": { + type: "string", + function: "piecewise-constant", + "zoom-function": !0, + transition: !0, + }, + "background-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + function: "interpolated", + "zoom-function": !0, + transition: !0, + }, + }, + transition: { + duration: { + type: "number", + default: 300, + minimum: 0, + units: "milliseconds", + }, + delay: { + type: "number", + default: 0, + minimum: 0, + units: "milliseconds", + }, + }, + }; + }, + {}, + ], + 153: [ + function (t, e, r) { + var n = t("csscolorparser").parseCSSColor, + i = function (t, e, r, n) { + (void 0 === n && (n = 1), + (this.r = t), + (this.g = e), + (this.b = r), + (this.a = n)); + }; + ((i.parse = function (t) { + if (t) { + if (t instanceof i) return t; + if ("string" == typeof t) { + var e = n(t); + if (e) + return new i( + (e[0] / 255) * e[3], + (e[1] / 255) * e[3], + (e[2] / 255) * e[3], + e[3], + ); + } + } + }), + (i.prototype.toString = function () { + var t = this; + return ( + "rgba(" + + [this.r, this.g, this.b] + .map(function (e) { + return Math.round((255 * e) / t.a); + }) + .concat(this.a) + .join(",") + + ")" + ); + }), + (i.black = new i(0, 0, 0, 1)), + (i.white = new i(1, 1, 1, 1)), + (i.transparent = new i(0, 0, 0, 0)), + (e.exports = i)); + }, + { csscolorparser: 13 }, + ], + 154: [ + function (t, e, r) { + function n(t) { + return t > v ? Math.pow(t, 1 / 3) : t / m + d; + } + function i(t) { + return t > g ? t * t * t : m * (t - d); + } + function a(t) { + return ( + 255 * + (t <= 0.0031308 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function o(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function s(t) { + var e = o(t.r), + r = o(t.g), + i = o(t.b), + a = n((0.4124564 * e + 0.3575761 * r + 0.1804375 * i) / f), + s = n((0.2126729 * e + 0.7151522 * r + 0.072175 * i) / h); + return { + l: 116 * s - 16, + a: 500 * (a - s), + b: + 200 * + (s - n((0.0193339 * e + 0.119192 * r + 0.9503041 * i) / p)), + alpha: t.a, + }; + } + function l(t) { + var e = (t.l + 16) / 116, + r = isNaN(t.a) ? e : e + t.a / 500, + n = isNaN(t.b) ? e : e - t.b / 200; + return ( + (e = h * i(e)), + (r = f * i(r)), + (n = p * i(n)), + new c( + a(3.2404542 * r - 1.5371385 * e - 0.4985314 * n), + a(-0.969266 * r + 1.8760108 * e + 0.041556 * n), + a(0.0556434 * r - 0.2040259 * e + 1.0572252 * n), + t.alpha, + ) + ); + } + var c = t("./color"), + u = t("./interpolate").number, + f = 0.95047, + h = 1, + p = 1.08883, + d = 4 / 29, + g = 6 / 29, + m = 3 * g * g, + v = g * g * g, + y = Math.PI / 180, + x = 180 / Math.PI; + e.exports = { + lab: { + forward: s, + reverse: l, + interpolate: function (t, e, r) { + return { + l: u(t.l, e.l, r), + a: u(t.a, e.a, r), + b: u(t.b, e.b, r), + alpha: u(t.alpha, e.alpha, r), + }; + }, + }, + hcl: { + forward: function (t) { + var e = s(t), + r = e.l, + n = e.a, + i = e.b, + a = Math.atan2(i, n) * x; + return { + h: a < 0 ? a + 360 : a, + c: Math.sqrt(n * n + i * i), + l: r, + alpha: t.a, + }; + }, + reverse: function (t) { + var e = t.h * y, + r = t.c; + return l({ + l: t.l, + a: Math.cos(e) * r, + b: Math.sin(e) * r, + alpha: t.alpha, + }); + }, + interpolate: function (t, e, r) { + return { + h: (function (t, e, r) { + var n = e - t; + return ( + t + + r * + (n > 180 || n < -180 + ? n - 360 * Math.round(n / 360) + : n) + ); + })(t.h, e.h, r), + c: u(t.c, e.c, r), + l: u(t.l, e.l, r), + alpha: u(t.alpha, e.alpha, r), + }; + }, + }, + }; + }, + { "./color": 153, "./interpolate": 158 }, + ], + 155: [ + function (t, e, r) { + e.exports = function t(e, r) { + if (Array.isArray(e)) { + if (!Array.isArray(r) || e.length !== r.length) return !1; + for (var n = 0; n < e.length; n++) + if (!t(e[n], r[n])) return !1; + return !0; + } + if ("object" == typeof e && null !== e && null !== r) { + if ("object" != typeof r) return !1; + if (Object.keys(e).length !== Object.keys(r).length) + return !1; + for (var i in e) if (!t(e[i], r[i])) return !1; + return !0; + } + return e === r; + }; + }, + {}, + ], + 156: [ + function (t, e, r) { + e.exports = function (t) { + for ( + var e = arguments, r = [], n = arguments.length - 1; + n-- > 0; + + ) + r[n] = e[n + 1]; + for (var i = 0, a = r; i < a.length; i += 1) { + var o = a[i]; + for (var s in o) t[s] = o[s]; + } + return t; + }; + }, + {}, + ], + 157: [ + function (t, e, r) { + e.exports = function (t) { + return t instanceof Number + ? "number" + : t instanceof String + ? "string" + : t instanceof Boolean + ? "boolean" + : Array.isArray(t) + ? "array" + : null === t + ? "null" + : typeof t; + }; + }, + {}, + ], + 158: [ + function (t, e, r) { + function n(t, e, r) { + return t * (1 - r) + e * r; + } + var i = t("./color"); + e.exports = { + number: n, + color: function (t, e, r) { + return new i( + n(t.r, e.r, r), + n(t.g, e.g, r), + n(t.b, e.b, r), + n(t.a, e.a, r), + ); + }, + array: function (t, e, r) { + return t.map(function (t, i) { + return n(t, e[i], r); + }); + }, + }; + }, + { "./color": 153 }, + ], + 159: [ + function (t, e, r) { + e.exports = [ + "type", + "source", + "source-layer", + "minzoom", + "maxzoom", + "filter", + "layout", + ]; + }, + {}, + ], + 160: [ + function (t, e, r) { + e.exports = { + success: function (t) { + return { result: "success", value: t }; + }, + error: function (t) { + return { result: "error", value: t }; + }, + }; + }, + {}, + ], + 161: [ + function (t, e, r) { + function n(t) { + return t instanceof Number || + t instanceof String || + t instanceof Boolean + ? t.valueOf() + : t; + } + ((e.exports = n), + (e.exports.deep = function t(e) { + return Array.isArray(e) ? e.map(t) : n(e); + })); + }, + {}, + ], + 162: [ + function (t, e, r) { + var n = t("../util/extend"), + i = t("../util/unbundle_jsonlint"), + a = t("../expression").isExpression, + o = t("../function").isFunction; + e.exports = function (e) { + var r = t("./validate_function"), + s = t("./validate_expression"), + l = t("./validate_object"), + c = { + "*": function () { + return []; + }, + array: t("./validate_array"), + boolean: t("./validate_boolean"), + number: t("./validate_number"), + color: t("./validate_color"), + constants: t("./validate_constants"), + enum: t("./validate_enum"), + filter: t("./validate_filter"), + function: t("./validate_function"), + layer: t("./validate_layer"), + object: t("./validate_object"), + source: t("./validate_source"), + light: t("./validate_light"), + string: t("./validate_string"), + }, + u = e.value, + f = e.valueSpec, + h = e.styleSpec; + return f.function && o(i(u)) + ? r(e) + : f.function && a(i.deep(u)) + ? s(e) + : f.type && c[f.type] + ? c[f.type](e) + : l(n({}, e, { valueSpec: f.type ? h[f.type] : f })); + }; + }, + { + "../expression": 139, + "../function": 149, + "../util/extend": 156, + "../util/unbundle_jsonlint": 161, + "./validate_array": 163, + "./validate_boolean": 164, + "./validate_color": 165, + "./validate_constants": 166, + "./validate_enum": 167, + "./validate_expression": 168, + "./validate_filter": 169, + "./validate_function": 170, + "./validate_layer": 172, + "./validate_light": 174, + "./validate_number": 175, + "./validate_object": 176, + "./validate_source": 179, + "./validate_string": 180, + }, + ], + 163: [ + function (t, e, r) { + var n = t("../util/get_type"), + i = t("./validate"), + a = t("../error/validation_error"); + e.exports = function (t) { + var e = t.value, + r = t.valueSpec, + o = t.style, + s = t.styleSpec, + l = t.key, + c = t.arrayElementValidator || i; + if ("array" !== n(e)) + return [new a(l, e, "array expected, " + n(e) + " found")]; + if (r.length && e.length !== r.length) + return [ + new a( + l, + e, + "array length " + + r.length + + " expected, length " + + e.length + + " found", + ), + ]; + if (r["min-length"] && e.length < r["min-length"]) + return [ + new a( + l, + e, + "array length at least " + + r["min-length"] + + " expected, length " + + e.length + + " found", + ), + ]; + var u = { type: r.value }; + (s.$version < 7 && (u.function = r.function), + "object" === n(r.value) && (u = r.value)); + for (var f = [], h = 0; h < e.length; h++) + f = f.concat( + c({ + array: e, + arrayIndex: h, + value: e[h], + valueSpec: u, + style: o, + styleSpec: s, + key: l + "[" + h + "]", + }), + ); + return f; + }; + }, + { + "../error/validation_error": 122, + "../util/get_type": 157, + "./validate": 162, + }, + ], + 164: [ + function (t, e, r) { + var n = t("../util/get_type"), + i = t("../error/validation_error"); + e.exports = function (t) { + var e = t.value, + r = t.key, + a = n(e); + return "boolean" !== a + ? [new i(r, e, "boolean expected, " + a + " found")] + : []; + }; + }, + { "../error/validation_error": 122, "../util/get_type": 157 }, + ], + 165: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/get_type"), + a = t("csscolorparser").parseCSSColor; + e.exports = function (t) { + var e = t.key, + r = t.value, + o = i(r); + return "string" !== o + ? [new n(e, r, "color expected, " + o + " found")] + : null === a(r) + ? [new n(e, r, 'color expected, "' + r + '" found')] + : []; + }; + }, + { + "../error/validation_error": 122, + "../util/get_type": 157, + csscolorparser: 13, + }, + ], + 166: [ + function (t, e, r) { + var n = t("../error/validation_error"); + e.exports = function (t) { + var e = t.key, + r = t.value; + return r + ? [new n(e, r, "constants have been deprecated as of v8")] + : []; + }; + }, + { "../error/validation_error": 122 }, + ], + 167: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/unbundle_jsonlint"); + e.exports = function (t) { + var e = t.key, + r = t.value, + a = t.valueSpec, + o = []; + return ( + Array.isArray(a.values) + ? -1 === a.values.indexOf(i(r)) && + o.push( + new n( + e, + r, + "expected one of [" + + a.values.join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ) + : -1 === Object.keys(a.values).indexOf(i(r)) && + o.push( + new n( + e, + r, + "expected one of [" + + Object.keys(a.values).join(", ") + + "], " + + JSON.stringify(r) + + " found", + ), + ), + o + ); + }; + }, + { + "../error/validation_error": 122, + "../util/unbundle_jsonlint": 161, + }, + ], + 168: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../expression"), + a = i.createExpression, + o = i.createPropertyExpression, + s = t("../util/unbundle_jsonlint"); + e.exports = function (t) { + var e = ("property" === t.expressionContext ? o : a)( + s.deep(t.value), + t.valueSpec, + ); + return "error" === e.result + ? e.value.map(function (e) { + return new n("" + t.key + e.key, t.value, e.message); + }) + : "property" === t.expressionContext && + "text-font" === t.propertyKey && + -1 !== + e.value._styleExpression.expression + .possibleOutputs() + .indexOf(void 0) + ? [ + new n( + t.key, + t.value, + 'Invalid data expression for "text-font". Output values must be contained as literals within the expression.', + ), + ] + : []; + }; + }, + { + "../error/validation_error": 122, + "../expression": 139, + "../util/unbundle_jsonlint": 161, + }, + ], + 169: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("./validate_expression"), + a = t("./validate_enum"), + o = t("../util/get_type"), + s = t("../util/unbundle_jsonlint"), + l = t("../util/extend"), + c = t("../feature_filter").isExpressionFilter; + e.exports = function (t) { + return c(s.deep(t.value)) + ? i( + l({}, t, { + expressionContext: "filter", + valueSpec: { value: "boolean" }, + }), + ) + : (function t(e) { + var r = e.value, + i = e.key; + if ("array" !== o(r)) + return [ + new n(i, r, "array expected, " + o(r) + " found"), + ]; + var l, + c = e.styleSpec, + u = []; + if (r.length < 1) + return [ + new n( + i, + r, + "filter array must have at least 1 element", + ), + ]; + switch ( + ((u = u.concat( + a({ + key: i + "[0]", + value: r[0], + valueSpec: c.filter_operator, + style: e.style, + styleSpec: e.styleSpec, + }), + )), + s(r[0])) + ) { + case "<": + case "<=": + case ">": + case ">=": + r.length >= 2 && + "$type" === s(r[1]) && + u.push( + new n( + i, + r, + '"$type" cannot be use with operator "' + + r[0] + + '"', + ), + ); + case "==": + case "!=": + 3 !== r.length && + u.push( + new n( + i, + r, + 'filter array for operator "' + + r[0] + + '" must have 3 elements', + ), + ); + case "in": + case "!in": + r.length >= 2 && + "string" !== (l = o(r[1])) && + u.push( + new n( + i + "[1]", + r[1], + "string expected, " + l + " found", + ), + ); + for (var f = 2; f < r.length; f++) + ((l = o(r[f])), + "$type" === s(r[1]) + ? (u = u.concat( + a({ + key: i + "[" + f + "]", + value: r[f], + valueSpec: c.geometry_type, + style: e.style, + styleSpec: e.styleSpec, + }), + )) + : "string" !== l && + "number" !== l && + "boolean" !== l && + u.push( + new n( + i + "[" + f + "]", + r[f], + "string, number, or boolean expected, " + + l + + " found", + ), + )); + break; + case "any": + case "all": + case "none": + for (var h = 1; h < r.length; h++) + u = u.concat( + t({ + key: i + "[" + h + "]", + value: r[h], + style: e.style, + styleSpec: e.styleSpec, + }), + ); + break; + case "has": + case "!has": + ((l = o(r[1])), + 2 !== r.length + ? u.push( + new n( + i, + r, + 'filter array for "' + + r[0] + + '" operator must have 2 elements', + ), + ) + : "string" !== l && + u.push( + new n( + i + "[1]", + r[1], + "string expected, " + l + " found", + ), + )); + } + return u; + })(t); + }; + }, + { + "../error/validation_error": 122, + "../feature_filter": 148, + "../util/extend": 156, + "../util/get_type": 157, + "../util/unbundle_jsonlint": 161, + "./validate_enum": 167, + "./validate_expression": 168, + }, + ], + 170: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/get_type"), + a = t("./validate"), + o = t("./validate_object"), + s = t("./validate_array"), + l = t("./validate_number"), + c = t("../util/unbundle_jsonlint"); + e.exports = function (t) { + function e(t) { + var e = [], + s = t.value, + u = t.key; + if ("array" !== i(s)) + return [new n(u, s, "array expected, " + i(s) + " found")]; + if (2 !== s.length) + return [ + new n( + u, + s, + "array length 2 expected, length " + + s.length + + " found", + ), + ]; + if (y) { + if ("object" !== i(s[0])) + return [ + new n(u, s, "object expected, " + i(s[0]) + " found"), + ]; + if (void 0 === s[0].zoom) + return [new n(u, s, "object stop key must have zoom")]; + if (void 0 === s[0].value) + return [new n(u, s, "object stop key must have value")]; + if (h && h > c(s[0].zoom)) + return [ + new n( + u, + s[0].zoom, + "stop zoom values must appear in ascending order", + ), + ]; + (c(s[0].zoom) !== h && + ((h = c(s[0].zoom)), (f = void 0), (g = {})), + (e = e.concat( + o({ + key: u + "[0]", + value: s[0], + valueSpec: { zoom: {} }, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { zoom: l, value: r }, + }), + ))); + } else + e = e.concat( + r( + { + key: u + "[0]", + value: s[0], + valueSpec: {}, + style: t.style, + styleSpec: t.styleSpec, + }, + s, + ), + ); + return e.concat( + a({ + key: u + "[1]", + value: s[1], + valueSpec: p, + style: t.style, + styleSpec: t.styleSpec, + }), + ); + } + function r(t, e) { + var r = i(t.value), + a = c(t.value), + o = null !== t.value ? t.value : e; + if (u) { + if (r !== u) + return [ + new n( + t.key, + o, + r + + " stop domain type must match previous stop domain type " + + u, + ), + ]; + } else u = r; + if ("number" !== r && "string" !== r && "boolean" !== r) + return [ + new n( + t.key, + o, + "stop domain value must be a number, string, or boolean", + ), + ]; + if ("number" !== r && "categorical" !== d) { + var s = "number expected, " + r + " found"; + return ( + p["property-function"] && + void 0 === d && + (s += + '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), + [new n(t.key, o, s)] + ); + } + return "categorical" !== d || + "number" !== r || + (isFinite(a) && Math.floor(a) === a) + ? "categorical" !== d && + "number" === r && + void 0 !== f && + a < f + ? [ + new n( + t.key, + o, + "stop domain values must appear in ascending order", + ), + ] + : ((f = a), + "categorical" === d && a in g + ? [ + new n( + t.key, + o, + "stop domain values must be unique", + ), + ] + : ((g[a] = !0), [])) + : [new n(t.key, o, "integer expected, found " + a)]; + } + var u, + f, + h, + p = t.valueSpec, + d = c(t.value.type), + g = {}, + m = "categorical" !== d && void 0 === t.value.property, + v = !m, + y = + "array" === i(t.value.stops) && + "array" === i(t.value.stops[0]) && + "object" === i(t.value.stops[0][0]), + x = o({ + key: t.key, + value: t.value, + valueSpec: t.styleSpec.function, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + stops: function (t) { + if ("identity" === d) + return [ + new n( + t.key, + t.value, + 'identity function may not have a "stops" property', + ), + ]; + var r = [], + a = t.value; + return ( + (r = r.concat( + s({ + key: t.key, + value: a, + valueSpec: t.valueSpec, + style: t.style, + styleSpec: t.styleSpec, + arrayElementValidator: e, + }), + )), + "array" === i(a) && + 0 === a.length && + r.push( + new n( + t.key, + a, + "array must have at least one stop", + ), + ), + r + ); + }, + default: function (t) { + return a({ + key: t.key, + value: t.value, + valueSpec: p, + style: t.style, + styleSpec: t.styleSpec, + }); + }, + }, + }); + return ( + "identity" === d && + m && + x.push( + new n( + t.key, + t.value, + 'missing required property "property"', + ), + ), + "identity" === d || + t.value.stops || + x.push( + new n( + t.key, + t.value, + 'missing required property "stops"', + ), + ), + "exponential" === d && + "piecewise-constant" === t.valueSpec.function && + x.push( + new n( + t.key, + t.value, + "exponential functions not supported", + ), + ), + t.styleSpec.$version >= 8 && + (v && !t.valueSpec["property-function"] + ? x.push( + new n( + t.key, + t.value, + "property functions not supported", + ), + ) + : m && + !t.valueSpec["zoom-function"] && + "heatmap-color" !== t.objectKey && + x.push( + new n(t.key, t.value, "zoom functions not supported"), + )), + ("categorical" !== d && !y) || + void 0 !== t.value.property || + x.push( + new n(t.key, t.value, '"property" property is required'), + ), + x + ); + }; + }, + { + "../error/validation_error": 122, + "../util/get_type": 157, + "../util/unbundle_jsonlint": 161, + "./validate": 162, + "./validate_array": 163, + "./validate_number": 175, + "./validate_object": 176, + }, + ], + 171: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("./validate_string"); + e.exports = function (t) { + var e = t.value, + r = t.key, + a = i(t); + return a.length + ? a + : (-1 === e.indexOf("{fontstack}") && + a.push( + new n( + r, + e, + '"glyphs" url must include a "{fontstack}" token', + ), + ), + -1 === e.indexOf("{range}") && + a.push( + new n( + r, + e, + '"glyphs" url must include a "{range}" token', + ), + ), + a); + }; + }, + { "../error/validation_error": 122, "./validate_string": 180 }, + ], + 172: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/unbundle_jsonlint"), + a = t("./validate_object"), + o = t("./validate_filter"), + s = t("./validate_paint_property"), + l = t("./validate_layout_property"), + c = t("./validate"), + u = t("../util/extend"); + e.exports = function (t) { + var e = [], + r = t.value, + f = t.key, + h = t.style, + p = t.styleSpec; + r.type || + r.ref || + e.push(new n(f, r, 'either "type" or "ref" is required')); + var d, + g = i(r.type), + m = i(r.ref); + if (r.id) + for (var v = i(r.id), y = 0; y < t.arrayIndex; y++) { + var x = h.layers[y]; + i(x.id) === v && + e.push( + new n( + f, + r.id, + 'duplicate layer id "' + + r.id + + '", previously used at line ' + + x.id.__line__, + ), + ); + } + if ("ref" in r) + ([ + "type", + "source", + "source-layer", + "filter", + "layout", + ].forEach(function (t) { + t in r && + e.push( + new n( + f, + r[t], + '"' + t + '" is prohibited for ref layers', + ), + ); + }), + h.layers.forEach(function (t) { + i(t.id) === m && (d = t); + }), + d + ? d.ref + ? e.push( + new n( + f, + r.ref, + "ref cannot reference another ref layer", + ), + ) + : (g = i(d.type)) + : e.push( + new n(f, r.ref, 'ref layer "' + m + '" not found'), + )); + else if ("background" !== g) + if (r.source) { + var b = h.sources && h.sources[r.source], + _ = b && i(b.type); + b + ? "vector" === _ && "raster" === g + ? e.push( + new n( + f, + r.source, + 'layer "' + r.id + '" requires a raster source', + ), + ) + : "raster" === _ && "raster" !== g + ? e.push( + new n( + f, + r.source, + 'layer "' + r.id + '" requires a vector source', + ), + ) + : "vector" !== _ || r["source-layer"] + ? "raster-dem" === _ && + "hillshade" !== g && + e.push( + new n( + f, + r.source, + "raster-dem source can only be used with layer type 'hillshade'.", + ), + ) + : e.push( + new n( + f, + r, + 'layer "' + + r.id + + '" must specify a "source-layer"', + ), + ) + : e.push( + new n( + f, + r.source, + 'source "' + r.source + '" not found', + ), + ); + } else + e.push(new n(f, r, 'missing required property "source"')); + return (e = e.concat( + a({ + key: f, + value: r, + valueSpec: p.layer, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function () { + return []; + }, + type: function () { + return c({ + key: f + ".type", + value: r.type, + valueSpec: p.layer.type, + style: t.style, + styleSpec: t.styleSpec, + object: r, + objectKey: "type", + }); + }, + filter: o, + layout: function (t) { + return a({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return l(u({ layerType: g }, t)); + }, + }, + }); + }, + paint: function (t) { + return a({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + "*": function (t) { + return s(u({ layerType: g }, t)); + }, + }, + }); + }, + }, + }), + )); + }; + }, + { + "../error/validation_error": 122, + "../util/extend": 156, + "../util/unbundle_jsonlint": 161, + "./validate": 162, + "./validate_filter": 169, + "./validate_layout_property": 173, + "./validate_object": 176, + "./validate_paint_property": 177, + }, + ], + 173: [ + function (t, e, r) { + var n = t("./validate_property"); + e.exports = function (t) { + return n(t, "layout"); + }; + }, + { "./validate_property": 178 }, + ], + 174: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/get_type"), + a = t("./validate"); + e.exports = function (t) { + var e = t.value, + r = t.styleSpec, + o = r.light, + s = t.style, + l = [], + c = i(e); + if (void 0 === e) return l; + if ("object" !== c) + return l.concat([ + new n("light", e, "object expected, " + c + " found"), + ]); + for (var u in e) { + var f = u.match(/^(.*)-transition$/); + l = + f && o[f[1]] && o[f[1]].transition + ? l.concat( + a({ + key: u, + value: e[u], + valueSpec: r.transition, + style: s, + styleSpec: r, + }), + ) + : o[u] + ? l.concat( + a({ + key: u, + value: e[u], + valueSpec: o[u], + style: s, + styleSpec: r, + }), + ) + : l.concat([ + new n(u, e[u], 'unknown property "' + u + '"'), + ]); + } + return l; + }; + }, + { + "../error/validation_error": 122, + "../util/get_type": 157, + "./validate": 162, + }, + ], + 175: [ + function (t, e, r) { + var n = t("../util/get_type"), + i = t("../error/validation_error"); + e.exports = function (t) { + var e = t.key, + r = t.value, + a = t.valueSpec, + o = n(r); + return "number" !== o + ? [new i(e, r, "number expected, " + o + " found")] + : "minimum" in a && r < a.minimum + ? [ + new i( + e, + r, + r + " is less than the minimum value " + a.minimum, + ), + ] + : "maximum" in a && r > a.maximum + ? [ + new i( + e, + r, + r + + " is greater than the maximum value " + + a.maximum, + ), + ] + : []; + }; + }, + { "../error/validation_error": 122, "../util/get_type": 157 }, + ], + 176: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/get_type"), + a = t("./validate"); + e.exports = function (t) { + var e = t.key, + r = t.value, + o = t.valueSpec || {}, + s = t.objectElementValidators || {}, + l = t.style, + c = t.styleSpec, + u = [], + f = i(r); + if ("object" !== f) + return [new n(e, r, "object expected, " + f + " found")]; + for (var h in r) { + var p = h.split(".")[0], + d = o[p] || o["*"], + g = void 0; + if (s[p]) g = s[p]; + else if (o[p]) g = a; + else if (s["*"]) g = s["*"]; + else { + if (!o["*"]) { + u.push(new n(e, r[h], 'unknown property "' + h + '"')); + continue; + } + g = a; + } + u = u.concat( + g( + { + key: (e ? e + "." : e) + h, + value: r[h], + valueSpec: d, + style: l, + styleSpec: c, + object: r, + objectKey: h, + }, + r, + ), + ); + } + for (var m in o) + s[m] || + (o[m].required && + void 0 === o[m].default && + void 0 === r[m] && + u.push( + new n(e, r, 'missing required property "' + m + '"'), + )); + return u; + }; + }, + { + "../error/validation_error": 122, + "../util/get_type": 157, + "./validate": 162, + }, + ], + 177: [ + function (t, e, r) { + var n = t("./validate_property"); + e.exports = function (t) { + return n(t, "paint"); + }; + }, + { "./validate_property": 178 }, + ], + 178: [ + function (t, e, r) { + var n = t("./validate"), + i = t("../error/validation_error"), + a = t("../util/get_type"), + o = t("../function").isFunction, + s = t("../util/unbundle_jsonlint"); + e.exports = function (t, e) { + var r = t.key, + l = t.style, + c = t.styleSpec, + u = t.value, + f = t.objectKey, + h = c[e + "_" + t.layerType]; + if (!h) return []; + var p = f.match(/^(.*)-transition$/); + if ("paint" === e && p && h[p[1]] && h[p[1]].transition) + return n({ + key: r, + value: u, + valueSpec: c.transition, + style: l, + styleSpec: c, + }); + var d, + g = t.valueSpec || h[f]; + if (!g) return [new i(r, u, 'unknown property "' + f + '"')]; + if ( + "string" === a(u) && + g["property-function"] && + !g.tokens && + (d = /^{([^}]+)}$/.exec(u)) + ) + return [ + new i( + r, + u, + '"' + + f + + '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + + JSON.stringify(d[1]) + + " }`.", + ), + ]; + var m = []; + return ( + "symbol" === t.layerType && + ("text-field" === f && + l && + !l.glyphs && + m.push( + new i( + r, + u, + 'use of "text-field" requires a style "glyphs" property', + ), + ), + "text-font" === f && + o(s.deep(u)) && + "identity" === s(u.type) && + m.push( + new i( + r, + u, + '"text-font" does not support identity functions', + ), + )), + m.concat( + n({ + key: t.key, + value: u, + valueSpec: g, + style: l, + styleSpec: c, + expressionContext: "property", + propertyKey: f, + }), + ) + ); + }; + }, + { + "../error/validation_error": 122, + "../function": 149, + "../util/get_type": 157, + "../util/unbundle_jsonlint": 161, + "./validate": 162, + }, + ], + 179: [ + function (t, e, r) { + var n = t("../error/validation_error"), + i = t("../util/unbundle_jsonlint"), + a = t("./validate_object"), + o = t("./validate_enum"); + e.exports = function (t) { + var e = t.value, + r = t.key, + s = t.styleSpec, + l = t.style; + if (!e.type) return [new n(r, e, '"type" is required')]; + var c = i(e.type), + u = []; + switch (c) { + case "vector": + case "raster": + case "raster-dem": + if ( + ((u = u.concat( + a({ + key: r, + value: e, + valueSpec: s["source_" + c.replace("-", "_")], + style: t.style, + styleSpec: s, + }), + )), + "url" in e) + ) + for (var f in e) + ["type", "url", "tileSize"].indexOf(f) < 0 && + u.push( + new n( + r + "." + f, + e[f], + 'a source with a "url" property may not include a "' + + f + + '" property', + ), + ); + return u; + case "geojson": + return a({ + key: r, + value: e, + valueSpec: s.source_geojson, + style: l, + styleSpec: s, + }); + case "video": + return a({ + key: r, + value: e, + valueSpec: s.source_video, + style: l, + styleSpec: s, + }); + case "image": + return a({ + key: r, + value: e, + valueSpec: s.source_image, + style: l, + styleSpec: s, + }); + case "canvas": + return a({ + key: r, + value: e, + valueSpec: s.source_canvas, + style: l, + styleSpec: s, + }); + default: + return o({ + key: r + ".type", + value: e.type, + valueSpec: { + values: [ + "vector", + "raster", + "raster-dem", + "geojson", + "video", + "image", + "canvas", + ], + }, + style: l, + styleSpec: s, + }); + } + }; + }, + { + "../error/validation_error": 122, + "../util/unbundle_jsonlint": 161, + "./validate_enum": 167, + "./validate_object": 176, + }, + ], + 180: [ + function (t, e, r) { + var n = t("../util/get_type"), + i = t("../error/validation_error"); + e.exports = function (t) { + var e = t.value, + r = t.key, + a = n(e); + return "string" !== a + ? [new i(r, e, "string expected, " + a + " found")] + : []; + }; + }, + { "../error/validation_error": 122, "../util/get_type": 157 }, + ], + 181: [ + function (t, e, r) { + function n(t, e) { + e = e || l; + var r = []; + return ( + (r = r.concat( + s({ + key: "", + value: t, + valueSpec: e.$root, + styleSpec: e, + style: t, + objectElementValidators: { + glyphs: c, + "*": function () { + return []; + }, + }, + }), + )), + t.constants && + (r = r.concat( + o({ + key: "constants", + value: t.constants, + style: t, + styleSpec: e, + }), + )), + i(r) + ); + } + function i(t) { + return [].concat(t).sort(function (t, e) { + return t.line - e.line; + }); + } + function a(t) { + return function () { + return i(t.apply(this, arguments)); + }; + } + var o = t("./validate/validate_constants"), + s = t("./validate/validate"), + l = t("./reference/latest"), + c = t("./validate/validate_glyphs_url"); + ((n.source = a(t("./validate/validate_source"))), + (n.light = a(t("./validate/validate_light"))), + (n.layer = a(t("./validate/validate_layer"))), + (n.filter = a(t("./validate/validate_filter"))), + (n.paintProperty = a(t("./validate/validate_paint_property"))), + (n.layoutProperty = a( + t("./validate/validate_layout_property"), + )), + (e.exports = n)); + }, + { + "./reference/latest": 151, + "./validate/validate": 162, + "./validate/validate_constants": 166, + "./validate/validate_filter": 169, + "./validate/validate_glyphs_url": 171, + "./validate/validate_layer": 172, + "./validate/validate_layout_property": 173, + "./validate/validate_light": 174, + "./validate/validate_paint_property": 177, + "./validate/validate_source": 179, + }, + ], + 182: [ + function (t, e, r) { + var n = t("./zoom_history"), + i = function (t, e) { + ((this.zoom = t), + e + ? ((this.now = e.now), + (this.fadeDuration = e.fadeDuration), + (this.zoomHistory = e.zoomHistory), + (this.transition = e.transition)) + : ((this.now = 0), + (this.fadeDuration = 0), + (this.zoomHistory = new n()), + (this.transition = {}))); + }; + ((i.prototype.crossFadingFactor = function () { + return 0 === this.fadeDuration + ? 1 + : Math.min( + (this.now - this.zoomHistory.lastIntegerZoomTime) / + this.fadeDuration, + 1, + ); + }), + (e.exports = i)); + }, + { "./zoom_history": 212 }, + ], + 183: [ + function (t, e, r) { + var n = t("../style-spec/reference/latest"), + i = t("../util/util"), + a = t("../util/evented"), + o = t("./validate_style"), + s = t("../util/util").sphericalToCartesian, + l = + (t("../style-spec/util/color"), + t("../style-spec/util/interpolate")), + c = t("./properties"), + u = c.Properties, + f = c.Transitionable, + h = + (c.Transitioning, + c.PossiblyEvaluated, + c.DataConstantProperty), + p = function () { + this.specification = n.light.position; + }; + ((p.prototype.possiblyEvaluate = function (t, e) { + return s(t.expression.evaluate(e)); + }), + (p.prototype.interpolate = function (t, e, r) { + return { + x: l.number(t.x, e.x, r), + y: l.number(t.y, e.y, r), + z: l.number(t.z, e.z, r), + }; + })); + var d = new u({ + anchor: new h(n.light.anchor), + position: new p(), + color: new h(n.light.color), + intensity: new h(n.light.intensity), + }), + g = (function (t) { + function e(e) { + (t.call(this), + (this._transitionable = new f(d)), + this.setLight(e), + (this._transitioning = + this._transitionable.untransitioned())); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getLight = function () { + return this._transitionable.serialize(); + }), + (e.prototype.setLight = function (t) { + if (!this._validate(o.light, t)) + for (var e in t) { + var r = t[e]; + i.endsWith(e, "-transition") + ? this._transitionable.setTransition( + e.slice(0, -"-transition".length), + r, + ) + : this._transitionable.setValue(e, r); + } + }), + (e.prototype.updateTransitions = function (t) { + this._transitioning = this._transitionable.transitioned( + t, + this._transitioning, + ); + }), + (e.prototype.hasTransition = function () { + return this._transitioning.hasTransition(); + }), + (e.prototype.recalculate = function (t) { + this.properties = this._transitioning.possiblyEvaluate(t); + }), + (e.prototype._validate = function (t, e) { + return o.emitErrors( + this, + t.call( + o, + i.extend({ + value: e, + style: { glyphs: !0, sprite: !0 }, + styleSpec: n, + }), + ), + ); + }), + e + ); + })(a); + e.exports = g; + }, + { + "../style-spec/reference/latest": 151, + "../style-spec/util/color": 153, + "../style-spec/util/interpolate": 158, + "../util/evented": 260, + "../util/util": 275, + "./properties": 188, + "./validate_style": 211, + }, + ], + 184: [ + function (t, e, r) { + var n = t("../util/mapbox").normalizeGlyphsURL, + i = t("../util/ajax"), + a = t("./parse_glyph_pbf"); + e.exports = function (t, e, r, o, s) { + var l = 256 * e, + c = l + 255, + u = o( + n(r) + .replace("{fontstack}", t) + .replace("{range}", l + "-" + c), + i.ResourceType.Glyphs, + ); + i.getArrayBuffer(u, function (t, e) { + if (t) s(t); + else if (e) { + for ( + var r = {}, n = 0, i = a(e.data); + n < i.length; + n += 1 + ) { + var o = i[n]; + r[o.id] = o; + } + s(null, r); + } + }); + }; + }, + { + "../util/ajax": 251, + "../util/mapbox": 267, + "./parse_glyph_pbf": 186, + }, + ], + 185: [ + function (t, e, r) { + var n = t("../util/ajax"), + i = t("../util/browser"), + a = t("../util/mapbox").normalizeSpriteURL, + o = t("../util/image").RGBAImage; + e.exports = function (t, e, r) { + function s() { + if (u) r(u); + else if (l && c) { + var t = i.getImageData(c), + e = {}; + for (var n in l) { + var a = l[n], + s = a.width, + f = a.height, + h = a.x, + p = a.y, + d = a.sdf, + g = a.pixelRatio, + m = new o({ width: s, height: f }); + (o.copy( + t, + m, + { x: h, y: p }, + { x: 0, y: 0 }, + { width: s, height: f }, + ), + (e[n] = { data: m, pixelRatio: g, sdf: d })); + } + r(null, e); + } + } + var l, + c, + u, + f = i.devicePixelRatio > 1 ? "@2x" : ""; + (n.getJSON( + e(a(t, f, ".json"), n.ResourceType.SpriteJSON), + function (t, e) { + u || ((u = t), (l = e), s()); + }, + ), + n.getImage( + e(a(t, f, ".png"), n.ResourceType.SpriteImage), + function (t, e) { + u || ((u = t), (c = e), s()); + }, + )); + }; + }, + { + "../util/ajax": 251, + "../util/browser": 252, + "../util/image": 263, + "../util/mapbox": 267, + }, + ], + 186: [ + function (t, e, r) { + function n(t, e, r) { + 1 === t && r.readMessage(i, e); + } + function i(t, e, r) { + if (3 === t) { + var n = r.readMessage(a, {}), + i = n.id, + s = n.bitmap, + c = n.width, + u = n.height, + f = n.left, + h = n.top, + p = n.advance; + e.push({ + id: i, + bitmap: new o({ width: c + 2 * l, height: u + 2 * l }, s), + metrics: { + width: c, + height: u, + left: f, + top: h, + advance: p, + }, + }); + } + } + function a(t, e, r) { + 1 === t + ? (e.id = r.readVarint()) + : 2 === t + ? (e.bitmap = r.readBytes()) + : 3 === t + ? (e.width = r.readVarint()) + : 4 === t + ? (e.height = r.readVarint()) + : 5 === t + ? (e.left = r.readSVarint()) + : 6 === t + ? (e.top = r.readSVarint()) + : 7 === t && (e.advance = r.readVarint()); + } + var o = t("../util/image").AlphaImage, + s = t("pbf"), + l = 3; + ((e.exports = function (t) { + return new s(t).readFields(n, []); + }), + (e.exports.GLYPH_PBF_BORDER = l)); + }, + { "../util/image": 263, pbf: 30 }, + ], + 187: [ + function (t, e, r) { + var n = t("../util/browser"), + i = t("../symbol/placement"), + a = function () { + ((this._currentTileIndex = 0), (this._seenCrossTileIDs = {})); + }; + a.prototype.continuePlacement = function (t, e, r, n, i) { + for (var a = this; this._currentTileIndex < t.length; ) { + var o = t[a._currentTileIndex]; + if ( + (e.placeLayerTile(n, o, r, a._seenCrossTileIDs), + a._currentTileIndex++, + i()) + ) + return !0; + } + }; + var o = function (t, e, r, n, a) { + ((this.placement = new i(t, a)), + (this._currentPlacementIndex = e.length - 1), + (this._forceFullPlacement = r), + (this._showCollisionBoxes = n), + (this._done = !1)); + }; + ((o.prototype.isDone = function () { + return this._done; + }), + (o.prototype.continuePlacement = function (t, e, r) { + for ( + var i = this, + o = n.now(), + s = function () { + var t = n.now() - o; + return !i._forceFullPlacement && t > 2; + }; + this._currentPlacementIndex >= 0; + + ) { + var l = e[t[i._currentPlacementIndex]], + c = i.placement.collisionIndex.transform.zoom; + if ( + "symbol" === l.type && + (!l.minzoom || l.minzoom <= c) && + (!l.maxzoom || l.maxzoom > c) + ) { + if ( + (i._inProgressLayer || (i._inProgressLayer = new a()), + i._inProgressLayer.continuePlacement( + r[l.source], + i.placement, + i._showCollisionBoxes, + l, + s, + )) + ) + return; + delete i._inProgressLayer; + } + i._currentPlacementIndex--; + } + this._done = !0; + }), + (o.prototype.commit = function (t, e) { + return (this.placement.commit(t, e), this.placement); + }), + (e.exports = o)); + }, + { "../symbol/placement": 223, "../util/browser": 252 }, + ], + 188: [ + function (t, e, r) { + var n = t("../util/util"), + i = n.clone, + a = n.extend, + o = n.easeCubicInOut, + s = t("../style-spec/util/interpolate"), + l = t("../style-spec/expression").normalizePropertyExpression, + c = + (t("../style-spec/util/color"), + t("../util/web_worker_transfer").register), + u = function (t, e) { + ((this.property = t), + (this.value = e), + (this.expression = l( + void 0 === e ? t.specification.default : e, + t.specification, + ))); + }; + ((u.prototype.isDataDriven = function () { + return ( + "source" === this.expression.kind || + "composite" === this.expression.kind + ); + }), + (u.prototype.possiblyEvaluate = function (t) { + return this.property.possiblyEvaluate(this, t); + })); + var f = function (t) { + ((this.property = t), (this.value = new u(t, void 0))); + }; + ((f.prototype.transitioned = function (t, e) { + return new p( + this.property, + this.value, + e, + a({}, t.transition, this.transition), + t.now, + ); + }), + (f.prototype.untransitioned = function () { + return new p(this.property, this.value, null, {}, 0); + })); + var h = function (t) { + ((this._properties = t), + (this._values = Object.create( + t.defaultTransitionablePropertyValues, + ))); + }; + ((h.prototype.getValue = function (t) { + return i(this._values[t].value.value); + }), + (h.prototype.setValue = function (t, e) { + (this._values.hasOwnProperty(t) || + (this._values[t] = new f(this._values[t].property)), + (this._values[t].value = new u( + this._values[t].property, + null === e ? void 0 : i(e), + ))); + }), + (h.prototype.getTransition = function (t) { + return i(this._values[t].transition); + }), + (h.prototype.setTransition = function (t, e) { + (this._values.hasOwnProperty(t) || + (this._values[t] = new f(this._values[t].property)), + (this._values[t].transition = i(e) || void 0)); + }), + (h.prototype.serialize = function () { + for ( + var t = this, e = {}, r = 0, n = Object.keys(t._values); + r < n.length; + r += 1 + ) { + var i = n[r], + a = t.getValue(i); + void 0 !== a && (e[i] = a); + var o = t.getTransition(i); + void 0 !== o && (e[i + "-transition"] = o); + } + return e; + }), + (h.prototype.transitioned = function (t, e) { + for ( + var r = new d(this._properties), + n = 0, + i = Object.keys(this._values); + n < i.length; + n += 1 + ) { + var a = i[n]; + r._values[a] = this._values[a].transitioned( + t, + e._values[a], + ); + } + return r; + }), + (h.prototype.untransitioned = function () { + for ( + var t = new d(this._properties), + e = 0, + r = Object.keys(this._values); + e < r.length; + e += 1 + ) { + var n = r[e]; + t._values[n] = this._values[n].untransitioned(); + } + return t; + })); + var p = function (t, e, r, n, i) { + ((this.property = t), + (this.value = e), + (this.begin = i + n.delay || 0), + (this.end = this.begin + n.duration || 0), + t.specification.transition && + (n.delay || n.duration) && + (this.prior = r)); + }; + p.prototype.possiblyEvaluate = function (t) { + var e = t.now || 0, + r = this.value.possiblyEvaluate(t), + n = this.prior; + if (n) { + if (e > this.end) return ((this.prior = null), r); + if (this.value.isDataDriven()) + return ((this.prior = null), r); + if (e < this.begin) return n.possiblyEvaluate(t); + var i = (e - this.begin) / (this.end - this.begin); + return this.property.interpolate( + n.possiblyEvaluate(t), + r, + o(i), + ); + } + return r; + }; + var d = function (t) { + ((this._properties = t), + (this._values = Object.create( + t.defaultTransitioningPropertyValues, + ))); + }; + ((d.prototype.possiblyEvaluate = function (t) { + for ( + var e = new v(this._properties), + r = 0, + n = Object.keys(this._values); + r < n.length; + r += 1 + ) { + var i = n[r]; + e._values[i] = this._values[i].possiblyEvaluate(t); + } + return e; + }), + (d.prototype.hasTransition = function () { + for ( + var t = 0, e = Object.keys(this._values); + t < e.length; + t += 1 + ) { + var r = e[t]; + if (this._values[r].prior) return !0; + } + return !1; + })); + var g = function (t) { + ((this._properties = t), + (this._values = Object.create(t.defaultPropertyValues))); + }; + ((g.prototype.getValue = function (t) { + return i(this._values[t].value); + }), + (g.prototype.setValue = function (t, e) { + this._values[t] = new u( + this._values[t].property, + null === e ? void 0 : i(e), + ); + }), + (g.prototype.serialize = function () { + for ( + var t = {}, e = 0, r = Object.keys(this._values); + e < r.length; + e += 1 + ) { + var n = r[e], + i = this.getValue(n); + void 0 !== i && (t[n] = i); + } + return t; + }), + (g.prototype.possiblyEvaluate = function (t) { + for ( + var e = new v(this._properties), + r = 0, + n = Object.keys(this._values); + r < n.length; + r += 1 + ) { + var i = n[r]; + e._values[i] = this._values[i].possiblyEvaluate(t); + } + return e; + })); + var m = function (t, e, r) { + ((this.property = t), (this.value = e), (this.globals = r)); + }; + ((m.prototype.isConstant = function () { + return "constant" === this.value.kind; + }), + (m.prototype.constantOr = function (t) { + return "constant" === this.value.kind ? this.value.value : t; + }), + (m.prototype.evaluate = function (t) { + return this.property.evaluate(this.value, this.globals, t); + })); + var v = function (t) { + ((this._properties = t), + (this._values = Object.create( + t.defaultPossiblyEvaluatedValues, + ))); + }; + v.prototype.get = function (t) { + return this._values[t]; + }; + var y = function (t) { + this.specification = t; + }; + ((y.prototype.possiblyEvaluate = function (t, e) { + return t.expression.evaluate(e); + }), + (y.prototype.interpolate = function (t, e, r) { + var n = s[this.specification.type]; + return n ? n(t, e, r) : t; + })); + var x = function (t) { + this.specification = t; + }; + ((x.prototype.possiblyEvaluate = function (t, e) { + return "constant" === t.expression.kind || + "camera" === t.expression.kind + ? new m( + this, + { kind: "constant", value: t.expression.evaluate(e) }, + e, + ) + : new m(this, t.expression, e); + }), + (x.prototype.interpolate = function (t, e, r) { + if ( + "constant" !== t.value.kind || + "constant" !== e.value.kind + ) + return t; + if (void 0 !== t.value.value && void 0 !== e.value.value) { + var n = s[this.specification.type]; + return n + ? new m( + this, + { + kind: "constant", + value: n(t.value.value, e.value.value, r), + }, + t.globals, + ) + : t; + } + }), + (x.prototype.evaluate = function (t, e, r) { + return "constant" === t.kind ? t.value : t.evaluate(e, r); + })); + var b = function (t) { + this.specification = t; + }; + ((b.prototype.possiblyEvaluate = function (t, e) { + if (void 0 !== t.value) { + if ("constant" === t.expression.kind) { + var r = t.expression.evaluate(e); + return this._calculate(r, r, r, e); + } + return this._calculate( + t.expression.evaluate({ zoom: e.zoom - 1 }), + t.expression.evaluate({ zoom: e.zoom }), + t.expression.evaluate({ zoom: e.zoom + 1 }), + e, + ); + } + }), + (b.prototype._calculate = function (t, e, r, n) { + var i = n.zoom, + a = i - Math.floor(i), + o = n.crossFadingFactor(); + return i > n.zoomHistory.lastIntegerZoom + ? { + from: t, + to: e, + fromScale: 2, + toScale: 1, + t: a + (1 - a) * o, + } + : { + from: r, + to: e, + fromScale: 0.5, + toScale: 1, + t: 1 - (1 - o) * a, + }; + }), + (b.prototype.interpolate = function (t) { + return t; + })); + var _ = function (t) { + this.specification = t; + }; + ((_.prototype.possiblyEvaluate = function () {}), + (_.prototype.interpolate = function () {})); + (c("DataDrivenProperty", x), + c("DataConstantProperty", y), + c("CrossFadedProperty", b), + c("HeatmapColorProperty", _), + (e.exports = { + PropertyValue: u, + Transitionable: h, + Transitioning: d, + Layout: g, + PossiblyEvaluatedPropertyValue: m, + PossiblyEvaluated: v, + DataConstantProperty: y, + DataDrivenProperty: x, + CrossFadedProperty: b, + HeatmapColorProperty: _, + Properties: function (t) { + var e = this; + for (var r in ((this.properties = t), + (this.defaultPropertyValues = {}), + (this.defaultTransitionablePropertyValues = {}), + (this.defaultTransitioningPropertyValues = {}), + (this.defaultPossiblyEvaluatedValues = {}), + t)) { + var n = t[r], + i = (e.defaultPropertyValues[r] = new u(n, void 0)), + a = (e.defaultTransitionablePropertyValues[r] = new f( + n, + )); + ((e.defaultTransitioningPropertyValues[r] = + a.untransitioned()), + (e.defaultPossiblyEvaluatedValues[r] = + i.possiblyEvaluate({}))); + } + }, + })); + }, + { + "../style-spec/expression": 139, + "../style-spec/util/color": 153, + "../style-spec/util/interpolate": 158, + "../util/util": 275, + "../util/web_worker_transfer": 278, + }, + ], + 189: [ + function (t, e, r) { + var n = t("@mapbox/point-geometry"); + e.exports = { + getMaximumPaintValue: function (t, e, r) { + var n = e.paint.get(t).value; + return "constant" === n.kind + ? n.value + : r.programConfigurations.get(e.id).binders[t].statistics + .max; + }, + translateDistance: function (t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1]); + }, + translate: function (t, e, r, i, a) { + if (!e[0] && !e[1]) return t; + var o = n.convert(e); + "viewport" === r && o._rotate(-i); + for (var s = [], l = 0; l < t.length; l++) { + for (var c = t[l], u = [], f = 0; f < c.length; f++) + u.push(c[f].sub(o._mult(a))); + s.push(u); + } + return s; + }, + }; + }, + { "@mapbox/point-geometry": 4 }, + ], + 190: [ + function (t, e, r) { + var n = t("../util/evented"), + i = t("./style_layer"), + a = t("./load_sprite"), + o = t("../render/image_manager"), + s = t("../render/glyph_manager"), + l = t("./light"), + c = t("../render/line_atlas"), + u = t("../util/util"), + f = t("../util/ajax"), + h = t("../util/mapbox"), + p = t("../util/browser"), + d = t("../util/dispatcher"), + g = t("./validate_style"), + m = t("../source/source").getType, + v = t("../source/source").setType, + y = t("../source/query_features"), + x = t("../source/source_cache"), + b = + (t("../source/geojson_source"), + t("../style-spec/reference/latest")), + _ = t("../util/global_worker_pool"), + w = t("../style-spec/deref"), + k = t("../style-spec/diff"), + M = t("../source/rtl_text_plugin"), + A = t("./pauseable_placement"), + T = t("./zoom_history"), + S = t("../symbol/cross_tile_symbol_index"), + C = u.pick(k.operations, [ + "addLayer", + "removeLayer", + "setPaintProperty", + "setLayoutProperty", + "setFilter", + "addSource", + "removeSource", + "setLayerZoomRange", + "setLight", + "setTransition", + "setGeoJSONSourceData", + ]), + E = u.pick(k.operations, [ + "setCenter", + "setZoom", + "setBearing", + "setPitch", + ]), + L = (function (t) { + function e(e, r) { + var n = this; + (void 0 === r && (r = {}), + t.call(this), + (this.map = e), + (this.dispatcher = new d(_(), this)), + (this.imageManager = new o()), + (this.glyphManager = new s( + e._transformRequest, + r.localIdeographFontFamily, + )), + (this.lineAtlas = new c(256, 512)), + (this.crossTileSymbolIndex = new S()), + (this._layers = {}), + (this._order = []), + (this.sourceCaches = {}), + (this.zoomHistory = new T()), + (this._loaded = !1), + this._resetUpdates()); + var i = this; + ((this._rtlTextPluginCallback = + M.registerForPluginAvailability(function (t) { + for (var e in (i.dispatcher.broadcast( + "loadRTLTextPlugin", + t.pluginBlobURL, + t.errorCallback, + ), + i.sourceCaches)) + i.sourceCaches[e].reload(); + })), + this.on("data", function (t) { + if ( + "source" === t.dataType && + "metadata" === t.sourceDataType + ) { + var e = n.sourceCaches[t.sourceId]; + if (e) { + var r = e.getSource(); + if (r && r.vectorLayerIds) + for (var i in n._layers) { + var a = n._layers[i]; + a.source === r.id && n._validateLayer(a); + } + } + } + })); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.loadURL = function (t, e) { + var r = this; + (void 0 === e && (e = {}), + this.fire("dataloading", { dataType: "style" })); + var n = + "boolean" == typeof e.validate + ? e.validate + : !h.isMapboxURL(t); + t = h.normalizeStyleURL(t, e.accessToken); + var i = this.map._transformRequest( + t, + f.ResourceType.Style, + ); + f.getJSON(i, function (t, e) { + t ? r.fire("error", { error: t }) : e && r._load(e, n); + }); + }), + (e.prototype.loadJSON = function (t, e) { + var r = this; + (void 0 === e && (e = {}), + this.fire("dataloading", { dataType: "style" }), + p.frame(function () { + r._load(t, !1 !== e.validate); + })); + }), + (e.prototype._load = function (t, e) { + var r = this; + if (!e || !g.emitErrors(this, g(t))) { + for (var n in ((this._loaded = !0), + (this.stylesheet = t), + t.sources)) + r.addSource(n, t.sources[n], { validate: !1 }); + (t.sprite + ? a( + t.sprite, + this.map._transformRequest, + function (t, e) { + if (t) r.fire("error", t); + else if (e) + for (var n in e) + r.imageManager.addImage(n, e[n]); + (r.imageManager.setLoaded(!0), + r.fire("data", { dataType: "style" })); + }, + ) + : this.imageManager.setLoaded(!0), + this.glyphManager.setURL(t.glyphs)); + var o = w(this.stylesheet.layers); + ((this._order = o.map(function (t) { + return t.id; + })), + (this._layers = {})); + for (var s = 0, c = o; s < c.length; s += 1) { + var u = c[s]; + ((u = i.create(u)).setEventedParent(r, { + layer: { id: u.id }, + }), + (r._layers[u.id] = u)); + } + (this.dispatcher.broadcast( + "setLayers", + this._serializeLayers(this._order), + ), + (this.light = new l(this.stylesheet.light)), + this.fire("data", { dataType: "style" }), + this.fire("style.load")); + } + }), + (e.prototype._validateLayer = function (t) { + var e = this.sourceCaches[t.source]; + if (e) { + var r = t.sourceLayer; + if (r) { + var n = e.getSource(); + ("geojson" === n.type || + (n.vectorLayerIds && + -1 === n.vectorLayerIds.indexOf(r))) && + this.fire("error", { + error: new Error( + 'Source layer "' + + r + + '" does not exist on source "' + + n.id + + '" as specified by style layer "' + + t.id + + '"', + ), + }); + } + } + }), + (e.prototype.loaded = function () { + if (!this._loaded) return !1; + if (Object.keys(this._updatedSources).length) return !1; + for (var t in this.sourceCaches) + if (!this.sourceCaches[t].loaded()) return !1; + return !!this.imageManager.isLoaded(); + }), + (e.prototype._serializeLayers = function (t) { + var e = this; + return t.map(function (t) { + return e._layers[t].serialize(); + }); + }), + (e.prototype.hasTransitions = function () { + var t = this; + if (this.light && this.light.hasTransition()) return !0; + for (var e in t.sourceCaches) + if (t.sourceCaches[e].hasTransition()) return !0; + for (var r in t._layers) + if (t._layers[r].hasTransition()) return !0; + return !1; + }), + (e.prototype._checkLoaded = function () { + if (!this._loaded) + throw new Error("Style is not done loading"); + }), + (e.prototype.update = function (t) { + var e = this; + if (this._loaded) { + if (this._changed) { + var r = Object.keys(this._updatedLayers), + n = Object.keys(this._removedLayers); + for (var i in ((r.length || n.length) && + this._updateWorkerLayers(r, n), + e._updatedSources)) { + var a = e._updatedSources[i]; + "reload" === a + ? e._reloadSource(i) + : "clear" === a && e._clearSource(i); + } + for (var o in e._updatedPaintProps) + e._layers[o].updateTransitions(t); + (this.light.updateTransitions(t), + this._resetUpdates(), + this.fire("data", { dataType: "style" })); + } + for (var s in e.sourceCaches) + e.sourceCaches[s].used = !1; + for (var l = 0, c = e._order; l < c.length; l += 1) { + var u = c[l], + f = e._layers[u]; + (f.recalculate(t), + !f.isHidden(t.zoom) && + f.source && + (e.sourceCaches[f.source].used = !0)); + } + (this.light.recalculate(t), (this.z = t.zoom)); + } + }), + (e.prototype._updateWorkerLayers = function (t, e) { + this.dispatcher.broadcast("updateLayers", { + layers: this._serializeLayers(t), + removedIds: e, + }); + }), + (e.prototype._resetUpdates = function () { + ((this._changed = !1), + (this._updatedLayers = {}), + (this._removedLayers = {}), + (this._updatedSources = {}), + (this._updatedPaintProps = {})); + }), + (e.prototype.setState = function (t) { + var e = this; + if ((this._checkLoaded(), g.emitErrors(this, g(t)))) + return !1; + (t = u.clone(t)).layers = w(t.layers); + var r = k(this.serialize(), t).filter(function (t) { + return !(t.command in E); + }); + if (0 === r.length) return !1; + var n = r.filter(function (t) { + return !(t.command in C); + }); + if (n.length > 0) + throw new Error( + "Unimplemented: " + + n + .map(function (t) { + return t.command; + }) + .join(", ") + + ".", + ); + return ( + r.forEach(function (t) { + "setTransition" !== t.command && + e[t.command].apply(e, t.args); + }), + (this.stylesheet = t), + !0 + ); + }), + (e.prototype.addImage = function (t, e) { + if (this.getImage(t)) + return this.fire("error", { + error: new Error( + "An image with this name already exists.", + ), + }); + (this.imageManager.addImage(t, e), + this.fire("data", { dataType: "style" })); + }), + (e.prototype.getImage = function (t) { + return this.imageManager.getImage(t); + }), + (e.prototype.removeImage = function (t) { + if (!this.getImage(t)) + return this.fire("error", { + error: new Error("No image with this name exists."), + }); + (this.imageManager.removeImage(t), + this.fire("data", { dataType: "style" })); + }), + (e.prototype.addSource = function (t, e, r) { + var n = this; + if ( + (this._checkLoaded(), void 0 !== this.sourceCaches[t]) + ) + throw new Error( + "There is already a source with this ID", + ); + if (!e.type) + throw new Error( + "The type property must be defined, but the only the following properties were given: " + + Object.keys(e).join(", ") + + ".", + ); + if ( + !( + [ + "vector", + "raster", + "geojson", + "video", + "image", + "canvas", + ].indexOf(e.type) >= 0 && + this._validate(g.source, "sources." + t, e, null, r) + ) + ) { + this.map && + this.map._collectResourceTiming && + (e.collectResourceTiming = !0); + var i = (this.sourceCaches[t] = new x( + t, + e, + this.dispatcher, + )); + ((i.style = this), + i.setEventedParent(this, function () { + return { + isSourceLoaded: n.loaded(), + source: i.serialize(), + sourceId: t, + }; + }), + i.onAdd(this.map), + (this._changed = !0)); + } + }), + (e.prototype.removeSource = function (t) { + var e = this; + if ( + (this._checkLoaded(), void 0 === this.sourceCaches[t]) + ) + throw new Error("There is no source with this ID"); + for (var r in e._layers) + if (e._layers[r].source === t) + return e.fire("error", { + error: new Error( + 'Source "' + + t + + '" cannot be removed while layer "' + + r + + '" is using it.', + ), + }); + var n = this.sourceCaches[t]; + (delete this.sourceCaches[t], + delete this._updatedSources[t], + n.fire("data", { + sourceDataType: "metadata", + dataType: "source", + sourceId: t, + }), + n.setEventedParent(null), + n.clearTiles(), + n.onRemove && n.onRemove(this.map), + (this._changed = !0)); + }), + (e.prototype.setGeoJSONSourceData = function (t, e) { + (this._checkLoaded(), + this.sourceCaches[t].getSource().setData(e), + (this._changed = !0)); + }), + (e.prototype.getSource = function (t) { + return ( + this.sourceCaches[t] && this.sourceCaches[t].getSource() + ); + }), + (e.prototype.addLayer = function (t, e, r) { + this._checkLoaded(); + var n = t.id; + if ( + ("object" == typeof t.source && + (this.addSource(n, t.source), + (t = u.clone(t)), + (t = u.extend(t, { source: n }))), + !this._validate( + g.layer, + "layers." + n, + t, + { arrayIndex: -1 }, + r, + )) + ) { + var a = i.create(t); + (this._validateLayer(a), + a.setEventedParent(this, { layer: { id: n } })); + var o = e ? this._order.indexOf(e) : this._order.length; + if (e && -1 === o) + return void this.fire("error", { + error: new Error( + 'Layer with id "' + + e + + '" does not exist on this map.', + ), + }); + if ( + (this._order.splice(o, 0, n), + (this._layerOrderChanged = !0), + (this._layers[n] = a), + this._removedLayers[n] && a.source) + ) { + var s = this._removedLayers[n]; + (delete this._removedLayers[n], + s.type !== a.type + ? (this._updatedSources[a.source] = "clear") + : ((this._updatedSources[a.source] = "reload"), + this.sourceCaches[a.source].pause())); + } + this._updateLayer(a); + } + }), + (e.prototype.moveLayer = function (t, e) { + if ( + (this._checkLoaded(), + (this._changed = !0), + this._layers[t]) + ) { + var r = this._order.indexOf(t); + this._order.splice(r, 1); + var n = e ? this._order.indexOf(e) : this._order.length; + e && -1 === n + ? this.fire("error", { + error: new Error( + 'Layer with id "' + + e + + '" does not exist on this map.', + ), + }) + : (this._order.splice(n, 0, t), + (this._layerOrderChanged = !0)); + } else + this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot be moved.", + ), + }); + }), + (e.prototype.removeLayer = function (t) { + this._checkLoaded(); + var e = this._layers[t]; + if (e) { + e.setEventedParent(null); + var r = this._order.indexOf(t); + (this._order.splice(r, 1), + (this._layerOrderChanged = !0), + (this._changed = !0), + (this._removedLayers[t] = e), + delete this._layers[t], + delete this._updatedLayers[t], + delete this._updatedPaintProps[t]); + } else + this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot be removed.", + ), + }); + }), + (e.prototype.getLayer = function (t) { + return this._layers[t]; + }), + (e.prototype.setLayerZoomRange = function (t, e, r) { + this._checkLoaded(); + var n = this.getLayer(t); + n + ? (n.minzoom === e && n.maxzoom === r) || + (null != e && (n.minzoom = e), + null != r && (n.maxzoom = r), + this._updateLayer(n)) + : this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot have zoom extent.", + ), + }); + }), + (e.prototype.setFilter = function (t, e) { + this._checkLoaded(); + var r = this.getLayer(t); + if (r) + return u.deepEqual(r.filter, e) + ? void 0 + : null === e || void 0 === e + ? ((r.filter = void 0), void this._updateLayer(r)) + : void ( + this._validate( + g.filter, + "layers." + r.id + ".filter", + e, + ) || + ((r.filter = u.clone(e)), this._updateLayer(r)) + ); + this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot be filtered.", + ), + }); + }), + (e.prototype.getFilter = function (t) { + return u.clone(this.getLayer(t).filter); + }), + (e.prototype.setLayoutProperty = function (t, e, r) { + this._checkLoaded(); + var n = this.getLayer(t); + n + ? u.deepEqual(n.getLayoutProperty(e), r) || + (n.setLayoutProperty(e, r), this._updateLayer(n)) + : this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot be styled.", + ), + }); + }), + (e.prototype.getLayoutProperty = function (t, e) { + return this.getLayer(t).getLayoutProperty(e); + }), + (e.prototype.setPaintProperty = function (t, e, r) { + this._checkLoaded(); + var n = this.getLayer(t); + if (n) { + if (!u.deepEqual(n.getPaintProperty(e), r)) { + var i = + n._transitionablePaint._values[ + e + ].value.isDataDriven(); + (n.setPaintProperty(e, r), + (n._transitionablePaint._values[ + e + ].value.isDataDriven() || + i) && + this._updateLayer(n), + (this._changed = !0), + (this._updatedPaintProps[t] = !0)); + } + } else + this.fire("error", { + error: new Error( + "The layer '" + + t + + "' does not exist in the map's style and cannot be styled.", + ), + }); + }), + (e.prototype.getPaintProperty = function (t, e) { + return this.getLayer(t).getPaintProperty(e); + }), + (e.prototype.getTransition = function () { + return u.extend( + { duration: 300, delay: 0 }, + this.stylesheet && this.stylesheet.transition, + ); + }), + (e.prototype.serialize = function () { + var t = this; + return u.filterObject( + { + version: this.stylesheet.version, + name: this.stylesheet.name, + metadata: this.stylesheet.metadata, + light: this.stylesheet.light, + center: this.stylesheet.center, + zoom: this.stylesheet.zoom, + bearing: this.stylesheet.bearing, + pitch: this.stylesheet.pitch, + sprite: this.stylesheet.sprite, + glyphs: this.stylesheet.glyphs, + transition: this.stylesheet.transition, + sources: u.mapObject(this.sourceCaches, function (t) { + return t.serialize(); + }), + layers: this._order.map(function (e) { + return t._layers[e].serialize(); + }), + }, + function (t) { + return void 0 !== t; + }, + ); + }), + (e.prototype._updateLayer = function (t) { + ((this._updatedLayers[t.id] = !0), + t.source && + !this._updatedSources[t.source] && + ((this._updatedSources[t.source] = "reload"), + this.sourceCaches[t.source].pause()), + (this._changed = !0)); + }), + (e.prototype._flattenRenderedFeatures = function (t) { + for (var e = [], r = this._order.length - 1; r >= 0; r--) + for ( + var n = this._order[r], i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i][n]; + if (o) + for (var s = 0, l = o; s < l.length; s += 1) { + var c = l[s]; + e.push(c); + } + } + return e; + }), + (e.prototype.queryRenderedFeatures = function (t, e, r, n) { + var i = this; + e && + e.filter && + this._validate( + g.filter, + "queryRenderedFeatures.filter", + e.filter, + ); + var a = {}; + if (e && e.layers) { + if (!Array.isArray(e.layers)) + return ( + this.fire("error", { + error: "parameters.layers must be an Array.", + }), + [] + ); + for (var o = 0, s = e.layers; o < s.length; o += 1) { + var l = s[o], + c = i._layers[l]; + if (!c) + return ( + i.fire("error", { + error: + "The layer '" + + l + + "' does not exist in the map's style and cannot be queried for features.", + }), + [] + ); + a[c.source] = !0; + } + } + var u = []; + for (var f in i.sourceCaches) + if (!e.layers || a[f]) { + var h = y.rendered( + i.sourceCaches[f], + i._layers, + t, + e, + r, + n, + i.placement ? i.placement.collisionIndex : null, + ); + u.push(h); + } + return this._flattenRenderedFeatures(u); + }), + (e.prototype.querySourceFeatures = function (t, e) { + e && + e.filter && + this._validate( + g.filter, + "querySourceFeatures.filter", + e.filter, + ); + var r = this.sourceCaches[t]; + return r ? y.source(r, e) : []; + }), + (e.prototype.addSourceType = function (t, e, r) { + return m(t) + ? r( + new Error( + 'A source type called "' + + t + + '" already exists.', + ), + ) + : (v(t, e), + e.workerSourceURL + ? void this.dispatcher.broadcast( + "loadWorkerSource", + { name: t, url: e.workerSourceURL }, + r, + ) + : r(null, null)); + }), + (e.prototype.getLight = function () { + return this.light.getLight(); + }), + (e.prototype.setLight = function (t) { + this._checkLoaded(); + var e = this.light.getLight(), + r = !1; + for (var n in t) + if (!u.deepEqual(t[n], e[n])) { + r = !0; + break; + } + if (r) { + var i = { + now: p.now(), + transition: u.extend( + { duration: 300, delay: 0 }, + this.stylesheet.transition, + ), + }; + (this.light.setLight(t), + this.light.updateTransitions(i)); + } + }), + (e.prototype._validate = function (t, e, r, n, i) { + return ( + (!i || !1 !== i.validate) && + g.emitErrors( + this, + t.call( + g, + u.extend( + { + key: e, + style: this.serialize(), + value: r, + styleSpec: b, + }, + n, + ), + ), + ) + ); + }), + (e.prototype._remove = function () { + for (var t in (M.evented.off( + "pluginAvailable", + this._rtlTextPluginCallback, + ), + this.sourceCaches)) + this.sourceCaches[t].clearTiles(); + this.dispatcher.remove(); + }), + (e.prototype._clearSource = function (t) { + this.sourceCaches[t].clearTiles(); + }), + (e.prototype._reloadSource = function (t) { + (this.sourceCaches[t].resume(), + this.sourceCaches[t].reload()); + }), + (e.prototype._updateSources = function (t) { + for (var e in this.sourceCaches) + this.sourceCaches[e].update(t); + }), + (e.prototype._generateCollisionBoxes = function () { + for (var t in this.sourceCaches) this._reloadSource(t); + }), + (e.prototype._updatePlacement = function (t, e, r) { + for ( + var n = this, + i = !1, + a = !1, + o = {}, + s = 0, + l = n._order; + s < l.length; + s += 1 + ) { + var c = l[s], + u = n._layers[c]; + if ("symbol" === u.type) { + if (!o[u.source]) { + var f = n.sourceCaches[u.source]; + o[u.source] = f + .getRenderableIds() + .map(function (t) { + return f.getTileByID(t); + }) + .sort(function (t, e) { + return ( + e.tileID.overscaledZ - t.tileID.overscaledZ || + (t.tileID.isLessThan(e.tileID) ? -1 : 1) + ); + }); + } + var h = n.crossTileSymbolIndex.addLayer( + u, + o[u.source], + ); + i = i || h; + } + } + this.crossTileSymbolIndex.pruneUnusedLayers(this._order); + var d = this._layerOrderChanged; + if ( + ((d || + !this.pauseablePlacement || + (this.pauseablePlacement.isDone() && + !this.placement.stillRecent(p.now()))) && + ((this.pauseablePlacement = new A( + t, + this._order, + d, + e, + r, + )), + (this._layerOrderChanged = !1)), + this.pauseablePlacement.isDone() + ? this.placement.setStale() + : (this.pauseablePlacement.continuePlacement( + this._order, + this._layers, + o, + ), + this.pauseablePlacement.isDone() && + ((this.placement = this.pauseablePlacement.commit( + this.placement, + p.now(), + )), + (a = !0)), + i && this.pauseablePlacement.placement.setStale()), + a || i) + ) + for (var g = 0, m = n._order; g < m.length; g += 1) { + var v = m[g], + y = n._layers[v]; + "symbol" === y.type && + n.placement.updateLayerOpacities(y, o[y.source]); + } + return ( + !this.pauseablePlacement.isDone() || + this.placement.hasTransitions(p.now()) + ); + }), + (e.prototype.getImages = function (t, e, r) { + this.imageManager.getImages(e.icons, r); + }), + (e.prototype.getGlyphs = function (t, e, r) { + this.glyphManager.getGlyphs(e.stacks, r); + }), + e + ); + })(n); + e.exports = L; + }, + { + "../render/glyph_manager": 86, + "../render/image_manager": 88, + "../render/line_atlas": 89, + "../source/geojson_source": 99, + "../source/query_features": 105, + "../source/rtl_text_plugin": 109, + "../source/source": 110, + "../source/source_cache": 111, + "../style-spec/deref": 120, + "../style-spec/diff": 121, + "../style-spec/reference/latest": 151, + "../symbol/cross_tile_symbol_index": 218, + "../util/ajax": 251, + "../util/browser": 252, + "../util/dispatcher": 258, + "../util/evented": 260, + "../util/global_worker_pool": 262, + "../util/mapbox": 267, + "../util/util": 275, + "./light": 183, + "./load_sprite": 185, + "./pauseable_placement": 187, + "./style_layer": 191, + "./validate_style": 211, + "./zoom_history": 212, + }, + ], + 191: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../style-spec/reference/latest"), + a = t("./validate_style"), + o = t("../util/evented"), + s = t("./properties"), + l = s.Layout, + c = s.Transitionable, + u = + (s.Transitioning, + s.Properties, + (function (t) { + function e(e, r) { + for (var n in (t.call(this), + (this.id = e.id), + (this.metadata = e.metadata), + (this.type = e.type), + (this.minzoom = e.minzoom), + (this.maxzoom = e.maxzoom), + (this.visibility = "visible"), + "background" !== e.type && + ((this.source = e.source), + (this.sourceLayer = e["source-layer"]), + (this.filter = e.filter)), + (this._featureFilter = function () { + return !0; + }), + r.layout && (this._unevaluatedLayout = new l(r.layout)), + (this._transitionablePaint = new c(r.paint)), + e.paint)) + this.setPaintProperty(n, e.paint[n], { validate: !1 }); + for (var i in e.layout) + this.setLayoutProperty(i, e.layout[i], { + validate: !1, + }); + this._transitioningPaint = + this._transitionablePaint.untransitioned(); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getLayoutProperty = function (t) { + return "visibility" === t + ? this.visibility + : this._unevaluatedLayout.getValue(t); + }), + (e.prototype.setLayoutProperty = function (t, e, r) { + if (null !== e && void 0 !== e) { + var n = "layers." + this.id + ".layout." + t; + if (this._validate(a.layoutProperty, n, t, e, r)) + return; + } + "visibility" !== t + ? this._unevaluatedLayout.setValue(t, e) + : (this.visibility = "none" === e ? e : "visible"); + }), + (e.prototype.getPaintProperty = function (t) { + return n.endsWith(t, "-transition") + ? this._transitionablePaint.getTransition( + t.slice(0, -"-transition".length), + ) + : this._transitionablePaint.getValue(t); + }), + (e.prototype.setPaintProperty = function (t, e, r) { + if (null !== e && void 0 !== e) { + var i = "layers." + this.id + ".paint." + t; + if (this._validate(a.paintProperty, i, t, e, r)) + return; + } + n.endsWith(t, "-transition") + ? this._transitionablePaint.setTransition( + t.slice(0, -"-transition".length), + e || void 0, + ) + : this._transitionablePaint.setValue(t, e); + }), + (e.prototype.isHidden = function (t) { + return ( + !!(this.minzoom && t < this.minzoom) || + !!(this.maxzoom && t >= this.maxzoom) || + "none" === this.visibility + ); + }), + (e.prototype.updateTransitions = function (t) { + this._transitioningPaint = + this._transitionablePaint.transitioned( + t, + this._transitioningPaint, + ); + }), + (e.prototype.hasTransition = function () { + return this._transitioningPaint.hasTransition(); + }), + (e.prototype.recalculate = function (t) { + (this._unevaluatedLayout && + (this.layout = + this._unevaluatedLayout.possiblyEvaluate(t)), + (this.paint = + this._transitioningPaint.possiblyEvaluate(t))); + }), + (e.prototype.serialize = function () { + var t = { + id: this.id, + type: this.type, + source: this.source, + "source-layer": this.sourceLayer, + metadata: this.metadata, + minzoom: this.minzoom, + maxzoom: this.maxzoom, + filter: this.filter, + layout: + this._unevaluatedLayout && + this._unevaluatedLayout.serialize(), + paint: + this._transitionablePaint && + this._transitionablePaint.serialize(), + }; + return ( + "none" === this.visibility && + ((t.layout = t.layout || {}), + (t.layout.visibility = "none")), + n.filterObject(t, function (t, e) { + return !( + void 0 === t || + ("layout" === e && !Object.keys(t).length) || + ("paint" === e && !Object.keys(t).length) + ); + }) + ); + }), + (e.prototype._validate = function (t, e, r, n, o) { + return ( + (!o || !1 !== o.validate) && + a.emitErrors( + this, + t.call(a, { + key: e, + layerType: this.type, + objectKey: r, + value: n, + styleSpec: i, + style: { glyphs: !0, sprite: !0 }, + }), + ) + ); + }), + (e.prototype.hasOffscreenPass = function () { + return !1; + }), + (e.prototype.resize = function () {}), + e + ); + })(o)); + e.exports = u; + var f = { + circle: t("./style_layer/circle_style_layer"), + heatmap: t("./style_layer/heatmap_style_layer"), + hillshade: t("./style_layer/hillshade_style_layer"), + fill: t("./style_layer/fill_style_layer"), + "fill-extrusion": t("./style_layer/fill_extrusion_style_layer"), + line: t("./style_layer/line_style_layer"), + symbol: t("./style_layer/symbol_style_layer"), + background: t("./style_layer/background_style_layer"), + raster: t("./style_layer/raster_style_layer"), + }; + u.create = function (t) { + return new f[t.type](t); + }; + }, + { + "../style-spec/reference/latest": 151, + "../util/evented": 260, + "../util/util": 275, + "./properties": 188, + "./style_layer/background_style_layer": 192, + "./style_layer/circle_style_layer": 194, + "./style_layer/fill_extrusion_style_layer": 196, + "./style_layer/fill_style_layer": 198, + "./style_layer/heatmap_style_layer": 200, + "./style_layer/hillshade_style_layer": 202, + "./style_layer/line_style_layer": 204, + "./style_layer/raster_style_layer": 206, + "./style_layer/symbol_style_layer": 208, + "./validate_style": 211, + }, + ], + 192: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("./background_style_layer_properties"), + a = t("../properties"), + o = + (a.Transitionable, + a.Transitioning, + a.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, i); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(n)); + e.exports = o; + }, + { + "../properties": 188, + "../style_layer": 191, + "./background_style_layer_properties": 193, + }, + ], + 193: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = (i.DataDrivenProperty, i.CrossFadedProperty), + l = + (i.HeatmapColorProperty, + new a({ + "background-color": new o( + n.paint_background["background-color"], + ), + "background-pattern": new s( + n.paint_background["background-pattern"], + ), + "background-opacity": new o( + n.paint_background["background-opacity"], + ), + })); + e.exports = { paint: l }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 194: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("../../data/bucket/circle_bucket"), + a = t( + "../../util/intersection_tests", + ).multiPolygonIntersectsBufferedMultiPoint, + o = t("../query_utils"), + s = o.getMaximumPaintValue, + l = o.translateDistance, + c = o.translate, + u = t("./circle_style_layer_properties"), + f = t("../properties"), + h = + (f.Transitionable, + f.Transitioning, + f.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, u); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.createBucket = function (t) { + return new i(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t; + return ( + s("circle-radius", this, e) + + s("circle-stroke-width", this, e) + + l(this.paint.get("circle-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + ) { + var s = c( + t, + this.paint.get("circle-translate"), + this.paint.get("circle-translate-anchor"), + i, + o, + ), + l = this.paint.get("circle-radius").evaluate(e) * o, + u = + this.paint.get("circle-stroke-width").evaluate(e) * + o; + return a(s, r, l + u); + }), + e + ); + })(n)); + e.exports = h; + }, + { + "../../data/bucket/circle_bucket": 42, + "../../util/intersection_tests": 264, + "../properties": 188, + "../query_utils": 189, + "../style_layer": 191, + "./circle_style_layer_properties": 195, + }, + ], + 195: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = + (i.CrossFadedProperty, + i.HeatmapColorProperty, + new a({ + "circle-radius": new s(n.paint_circle["circle-radius"]), + "circle-color": new s(n.paint_circle["circle-color"]), + "circle-blur": new s(n.paint_circle["circle-blur"]), + "circle-opacity": new s(n.paint_circle["circle-opacity"]), + "circle-translate": new o( + n.paint_circle["circle-translate"], + ), + "circle-translate-anchor": new o( + n.paint_circle["circle-translate-anchor"], + ), + "circle-pitch-scale": new o( + n.paint_circle["circle-pitch-scale"], + ), + "circle-pitch-alignment": new o( + n.paint_circle["circle-pitch-alignment"], + ), + "circle-stroke-width": new s( + n.paint_circle["circle-stroke-width"], + ), + "circle-stroke-color": new s( + n.paint_circle["circle-stroke-color"], + ), + "circle-stroke-opacity": new s( + n.paint_circle["circle-stroke-opacity"], + ), + })); + e.exports = { paint: l }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 196: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("../../data/bucket/fill_extrusion_bucket"), + a = t( + "../../util/intersection_tests", + ).multiPolygonIntersectsMultiPolygon, + o = t("../query_utils"), + s = o.translateDistance, + l = o.translate, + c = t("./fill_extrusion_style_layer_properties"), + u = t("../properties"), + f = + (u.Transitionable, + u.Transitioning, + u.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, c); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.createBucket = function (t) { + return new i(t); + }), + (e.prototype.queryRadius = function () { + return s(this.paint.get("fill-extrusion-translate")); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + ) { + var s = l( + t, + this.paint.get("fill-extrusion-translate"), + this.paint.get("fill-extrusion-translate-anchor"), + i, + o, + ); + return a(s, r); + }), + (e.prototype.hasOffscreenPass = function () { + return ( + 0 !== this.paint.get("fill-extrusion-opacity") && + "none" !== this.visibility + ); + }), + (e.prototype.resize = function () { + this.viewportFrame && + (this.viewportFrame.destroy(), + (this.viewportFrame = null)); + }), + e + ); + })(n)); + e.exports = f; + }, + { + "../../data/bucket/fill_extrusion_bucket": 46, + "../../util/intersection_tests": 264, + "../properties": 188, + "../query_utils": 189, + "../style_layer": 191, + "./fill_extrusion_style_layer_properties": 197, + }, + ], + 197: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = i.CrossFadedProperty, + c = + (i.HeatmapColorProperty, + new a({ + "fill-extrusion-opacity": new o( + n["paint_fill-extrusion"]["fill-extrusion-opacity"], + ), + "fill-extrusion-color": new s( + n["paint_fill-extrusion"]["fill-extrusion-color"], + ), + "fill-extrusion-translate": new o( + n["paint_fill-extrusion"]["fill-extrusion-translate"], + ), + "fill-extrusion-translate-anchor": new o( + n["paint_fill-extrusion"][ + "fill-extrusion-translate-anchor" + ], + ), + "fill-extrusion-pattern": new l( + n["paint_fill-extrusion"]["fill-extrusion-pattern"], + ), + "fill-extrusion-height": new s( + n["paint_fill-extrusion"]["fill-extrusion-height"], + ), + "fill-extrusion-base": new s( + n["paint_fill-extrusion"]["fill-extrusion-base"], + ), + })); + e.exports = { paint: c }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 198: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("../../data/bucket/fill_bucket"), + a = t( + "../../util/intersection_tests", + ).multiPolygonIntersectsMultiPolygon, + o = t("../query_utils"), + s = o.translateDistance, + l = o.translate, + c = t("./fill_style_layer_properties"), + u = t("../properties"), + f = + (u.Transitionable, + u.Transitioning, + u.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, c); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (t) { + ((this.paint = + this._transitioningPaint.possiblyEvaluate(t)), + void 0 === + this._transitionablePaint.getValue( + "fill-outline-color", + ) && + (this.paint._values["fill-outline-color"] = + this.paint._values["fill-color"])); + }), + (e.prototype.createBucket = function (t) { + return new i(t); + }), + (e.prototype.queryRadius = function () { + return s(this.paint.get("fill-translate")); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + o, + ) { + var s = l( + t, + this.paint.get("fill-translate"), + this.paint.get("fill-translate-anchor"), + i, + o, + ); + return a(s, r); + }), + e + ); + })(n)); + e.exports = f; + }, + { + "../../data/bucket/fill_bucket": 44, + "../../util/intersection_tests": 264, + "../properties": 188, + "../query_utils": 189, + "../style_layer": 191, + "./fill_style_layer_properties": 199, + }, + ], + 199: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = i.CrossFadedProperty, + c = + (i.HeatmapColorProperty, + new a({ + "fill-antialias": new o(n.paint_fill["fill-antialias"]), + "fill-opacity": new s(n.paint_fill["fill-opacity"]), + "fill-color": new s(n.paint_fill["fill-color"]), + "fill-outline-color": new s( + n.paint_fill["fill-outline-color"], + ), + "fill-translate": new o(n.paint_fill["fill-translate"]), + "fill-translate-anchor": new o( + n.paint_fill["fill-translate-anchor"], + ), + "fill-pattern": new l(n.paint_fill["fill-pattern"]), + })); + e.exports = { paint: c }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 200: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("../../data/bucket/heatmap_bucket"), + a = t("../../util/image").RGBAImage, + o = t("./heatmap_style_layer_properties"), + s = t("../properties"), + l = + (s.Transitionable, + s.Transitioning, + s.PossiblyEvaluated, + (function (t) { + function e(e) { + (t.call(this, e, o), this._updateColorRamp()); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.createBucket = function (t) { + return new i(t); + }), + (e.prototype.setPaintProperty = function (e, r, n) { + (t.prototype.setPaintProperty.call(this, e, r, n), + "heatmap-color" === e && this._updateColorRamp()); + }), + (e.prototype._updateColorRamp = function () { + for ( + var t = + this._transitionablePaint._values["heatmap-color"] + .value.expression, + e = new Uint8Array(1024), + r = e.length, + n = 4; + n < r; + n += 4 + ) { + var i = t.evaluate({ heatmapDensity: n / r }); + ((e[n + 0] = Math.floor((255 * i.r) / i.a)), + (e[n + 1] = Math.floor((255 * i.g) / i.a)), + (e[n + 2] = Math.floor((255 * i.b) / i.a)), + (e[n + 3] = Math.floor(255 * i.a))); + } + ((this.colorRamp = new a({ width: 256, height: 1 }, e)), + (this.colorRampTexture = null)); + }), + (e.prototype.resize = function () { + this.heatmapFbo && + (this.heatmapFbo.destroy(), (this.heatmapFbo = null)); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = function () { + return !1; + }), + (e.prototype.hasOffscreenPass = function () { + return ( + 0 !== this.paint.get("heatmap-opacity") && + "none" !== this.visibility + ); + }), + e + ); + })(n)); + e.exports = l; + }, + { + "../../data/bucket/heatmap_bucket": 47, + "../../util/image": 263, + "../properties": 188, + "../style_layer": 191, + "./heatmap_style_layer_properties": 201, + }, + ], + 201: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = (i.CrossFadedProperty, i.HeatmapColorProperty), + c = new a({ + "heatmap-radius": new s(n.paint_heatmap["heatmap-radius"]), + "heatmap-weight": new s(n.paint_heatmap["heatmap-weight"]), + "heatmap-intensity": new o( + n.paint_heatmap["heatmap-intensity"], + ), + "heatmap-color": new l(n.paint_heatmap["heatmap-color"]), + "heatmap-opacity": new o(n.paint_heatmap["heatmap-opacity"]), + }); + e.exports = { paint: c }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 202: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("./hillshade_style_layer_properties"), + a = t("../properties"), + o = + (a.Transitionable, + a.Transitioning, + a.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, i); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.hasOffscreenPass = function () { + return ( + 0 !== this.paint.get("hillshade-exaggeration") && + "none" !== this.visibility + ); + }), + e + ); + })(n)); + e.exports = o; + }, + { + "../properties": 188, + "../style_layer": 191, + "./hillshade_style_layer_properties": 203, + }, + ], + 203: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = + (i.DataDrivenProperty, + i.CrossFadedProperty, + i.HeatmapColorProperty, + new a({ + "hillshade-illumination-direction": new o( + n.paint_hillshade["hillshade-illumination-direction"], + ), + "hillshade-illumination-anchor": new o( + n.paint_hillshade["hillshade-illumination-anchor"], + ), + "hillshade-exaggeration": new o( + n.paint_hillshade["hillshade-exaggeration"], + ), + "hillshade-shadow-color": new o( + n.paint_hillshade["hillshade-shadow-color"], + ), + "hillshade-highlight-color": new o( + n.paint_hillshade["hillshade-highlight-color"], + ), + "hillshade-accent-color": new o( + n.paint_hillshade["hillshade-accent-color"], + ), + })); + e.exports = { paint: s }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 204: [ + function (t, e, r) { + function n(t, e) { + return e > 0 ? e + 2 * t : t; + } + var i = t("@mapbox/point-geometry"), + a = t("../style_layer"), + o = t("../../data/bucket/line_bucket"), + s = t( + "../../util/intersection_tests", + ).multiPolygonIntersectsBufferedMultiLine, + l = t("../query_utils"), + c = l.getMaximumPaintValue, + u = l.translateDistance, + f = l.translate, + h = t("./line_style_layer_properties"), + p = t("../../util/util").extend, + d = t("../evaluation_parameters"), + g = t("../properties"), + m = + (g.Transitionable, + g.Transitioning, + g.Layout, + g.PossiblyEvaluated, + new ((function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.possiblyEvaluate = function (e, r) { + return ( + (r = new d(Math.floor(r.zoom), { + now: r.now, + fadeDuration: r.fadeDuration, + zoomHistory: r.zoomHistory, + transition: r.transition, + })), + t.prototype.possiblyEvaluate.call(this, e, r) + ); + }), + (e.prototype.evaluate = function (e, r, n) { + return ( + (r = p({}, r, { zoom: Math.floor(r.zoom) })), + t.prototype.evaluate.call(this, e, r, n) + ); + }), + e + ); + })(g.DataDrivenProperty))( + h.paint.properties["line-width"].specification, + )); + m.useIntegerZoom = !0; + var v = (function (t) { + function e(e) { + t.call(this, e, h); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e) { + (t.prototype.recalculate.call(this, e), + (this.paint._values["line-floorwidth"] = + m.possiblyEvaluate( + this._transitioningPaint._values["line-width"].value, + e, + ))); + }), + (e.prototype.createBucket = function (t) { + return new o(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t, + r = n( + c("line-width", this, e), + c("line-gap-width", this, e), + ), + i = c("line-offset", this, e); + return ( + r / 2 + Math.abs(i) + u(this.paint.get("line-translate")) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + a, + o, + l, + ) { + var c = f( + t, + this.paint.get("line-translate"), + this.paint.get("line-translate-anchor"), + o, + l, + ), + u = + (l / 2) * + n( + this.paint.get("line-width").evaluate(e), + this.paint.get("line-gap-width").evaluate(e), + ), + h = this.paint.get("line-offset").evaluate(e); + return ( + h && + (r = (function (t, e) { + for ( + var r = [], n = new i(0, 0), a = 0; + a < t.length; + a++ + ) { + for ( + var o = t[a], s = [], l = 0; + l < o.length; + l++ + ) { + var c = o[l - 1], + u = o[l], + f = o[l + 1], + h = 0 === l ? n : u.sub(c)._unit()._perp(), + p = + l === o.length - 1 + ? n + : f.sub(u)._unit()._perp(), + d = h._add(p)._unit(), + g = d.x * p.x + d.y * p.y; + (d._mult(1 / g), s.push(d._mult(e)._add(u))); + } + r.push(s); + } + return r; + })(r, h * l)), + s(c, r, u) + ); + }), + e + ); + })(a); + e.exports = v; + }, + { + "../../data/bucket/line_bucket": 49, + "../../util/intersection_tests": 264, + "../../util/util": 275, + "../evaluation_parameters": 182, + "../properties": 188, + "../query_utils": 189, + "../style_layer": 191, + "./line_style_layer_properties": 205, + "@mapbox/point-geometry": 4, + }, + ], + 205: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = i.CrossFadedProperty, + c = + (i.HeatmapColorProperty, + new a({ + "line-cap": new o(n.layout_line["line-cap"]), + "line-join": new s(n.layout_line["line-join"]), + "line-miter-limit": new o( + n.layout_line["line-miter-limit"], + ), + "line-round-limit": new o( + n.layout_line["line-round-limit"], + ), + })), + u = new a({ + "line-opacity": new s(n.paint_line["line-opacity"]), + "line-color": new s(n.paint_line["line-color"]), + "line-translate": new o(n.paint_line["line-translate"]), + "line-translate-anchor": new o( + n.paint_line["line-translate-anchor"], + ), + "line-width": new s(n.paint_line["line-width"]), + "line-gap-width": new s(n.paint_line["line-gap-width"]), + "line-offset": new s(n.paint_line["line-offset"]), + "line-blur": new s(n.paint_line["line-blur"]), + "line-dasharray": new l(n.paint_line["line-dasharray"]), + "line-pattern": new l(n.paint_line["line-pattern"]), + }); + e.exports = { paint: u, layout: c }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 206: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("./raster_style_layer_properties"), + a = t("../properties"), + o = + (a.Transitionable, + a.Transitioning, + a.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, i); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(n)); + e.exports = o; + }, + { + "../properties": 188, + "../style_layer": 191, + "./raster_style_layer_properties": 207, + }, + ], + 207: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = + (i.DataDrivenProperty, + i.CrossFadedProperty, + i.HeatmapColorProperty, + new a({ + "raster-opacity": new o(n.paint_raster["raster-opacity"]), + "raster-hue-rotate": new o( + n.paint_raster["raster-hue-rotate"], + ), + "raster-brightness-min": new o( + n.paint_raster["raster-brightness-min"], + ), + "raster-brightness-max": new o( + n.paint_raster["raster-brightness-max"], + ), + "raster-saturation": new o( + n.paint_raster["raster-saturation"], + ), + "raster-contrast": new o(n.paint_raster["raster-contrast"]), + "raster-fade-duration": new o( + n.paint_raster["raster-fade-duration"], + ), + })); + e.exports = { paint: s }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 208: [ + function (t, e, r) { + var n = t("../style_layer"), + i = t("../../data/bucket/symbol_bucket"), + a = t("../../util/token"), + o = t("../../style-spec/expression").isExpression, + s = t("./symbol_style_layer_properties"), + l = t("../properties"), + c = + (l.Transitionable, + l.Transitioning, + l.Layout, + l.PossiblyEvaluated, + (function (t) { + function e(e) { + t.call(this, e, s); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.recalculate = function (e) { + (t.prototype.recalculate.call(this, e), + "auto" === + this.layout.get("icon-rotation-alignment") && + ("line" === this.layout.get("symbol-placement") + ? (this.layout._values[ + "icon-rotation-alignment" + ] = "map") + : (this.layout._values[ + "icon-rotation-alignment" + ] = "viewport")), + "auto" === + this.layout.get("text-rotation-alignment") && + ("line" === this.layout.get("symbol-placement") + ? (this.layout._values[ + "text-rotation-alignment" + ] = "map") + : (this.layout._values[ + "text-rotation-alignment" + ] = "viewport")), + "auto" === this.layout.get("text-pitch-alignment") && + (this.layout._values["text-pitch-alignment"] = + this.layout.get("text-rotation-alignment")), + "auto" === this.layout.get("icon-pitch-alignment") && + (this.layout._values["icon-pitch-alignment"] = + this.layout.get("icon-rotation-alignment"))); + }), + (e.prototype.getValueAndResolveTokens = function (t, e) { + var r = this.layout.get(t).evaluate(e), + n = this._unevaluatedLayout._values[t]; + return n.isDataDriven() || o(n.value) + ? r + : a(e.properties, r); + }), + (e.prototype.createBucket = function (t) { + return new i(t); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = function () { + return !1; + }), + e + ); + })(n)); + e.exports = c; + }, + { + "../../data/bucket/symbol_bucket": 51, + "../../style-spec/expression": 139, + "../../util/token": 274, + "../properties": 188, + "../style_layer": 191, + "./symbol_style_layer_properties": 209, + }, + ], + 209: [ + function (t, e, r) { + var n = t("../../style-spec/reference/latest"), + i = t("../properties"), + a = i.Properties, + o = i.DataConstantProperty, + s = i.DataDrivenProperty, + l = + (i.CrossFadedProperty, + i.HeatmapColorProperty, + new a({ + "symbol-placement": new o( + n.layout_symbol["symbol-placement"], + ), + "symbol-spacing": new o(n.layout_symbol["symbol-spacing"]), + "symbol-avoid-edges": new o( + n.layout_symbol["symbol-avoid-edges"], + ), + "icon-allow-overlap": new o( + n.layout_symbol["icon-allow-overlap"], + ), + "icon-ignore-placement": new o( + n.layout_symbol["icon-ignore-placement"], + ), + "icon-optional": new o(n.layout_symbol["icon-optional"]), + "icon-rotation-alignment": new o( + n.layout_symbol["icon-rotation-alignment"], + ), + "icon-size": new s(n.layout_symbol["icon-size"]), + "icon-text-fit": new o(n.layout_symbol["icon-text-fit"]), + "icon-text-fit-padding": new o( + n.layout_symbol["icon-text-fit-padding"], + ), + "icon-image": new s(n.layout_symbol["icon-image"]), + "icon-rotate": new s(n.layout_symbol["icon-rotate"]), + "icon-padding": new o(n.layout_symbol["icon-padding"]), + "icon-keep-upright": new o( + n.layout_symbol["icon-keep-upright"], + ), + "icon-offset": new s(n.layout_symbol["icon-offset"]), + "icon-anchor": new s(n.layout_symbol["icon-anchor"]), + "icon-pitch-alignment": new o( + n.layout_symbol["icon-pitch-alignment"], + ), + "text-pitch-alignment": new o( + n.layout_symbol["text-pitch-alignment"], + ), + "text-rotation-alignment": new o( + n.layout_symbol["text-rotation-alignment"], + ), + "text-field": new s(n.layout_symbol["text-field"]), + "text-font": new s(n.layout_symbol["text-font"]), + "text-size": new s(n.layout_symbol["text-size"]), + "text-max-width": new s(n.layout_symbol["text-max-width"]), + "text-line-height": new o( + n.layout_symbol["text-line-height"], + ), + "text-letter-spacing": new s( + n.layout_symbol["text-letter-spacing"], + ), + "text-justify": new s(n.layout_symbol["text-justify"]), + "text-anchor": new s(n.layout_symbol["text-anchor"]), + "text-max-angle": new o(n.layout_symbol["text-max-angle"]), + "text-rotate": new s(n.layout_symbol["text-rotate"]), + "text-padding": new o(n.layout_symbol["text-padding"]), + "text-keep-upright": new o( + n.layout_symbol["text-keep-upright"], + ), + "text-transform": new s(n.layout_symbol["text-transform"]), + "text-offset": new s(n.layout_symbol["text-offset"]), + "text-allow-overlap": new o( + n.layout_symbol["text-allow-overlap"], + ), + "text-ignore-placement": new o( + n.layout_symbol["text-ignore-placement"], + ), + "text-optional": new o(n.layout_symbol["text-optional"]), + })), + c = new a({ + "icon-opacity": new s(n.paint_symbol["icon-opacity"]), + "icon-color": new s(n.paint_symbol["icon-color"]), + "icon-halo-color": new s(n.paint_symbol["icon-halo-color"]), + "icon-halo-width": new s(n.paint_symbol["icon-halo-width"]), + "icon-halo-blur": new s(n.paint_symbol["icon-halo-blur"]), + "icon-translate": new o(n.paint_symbol["icon-translate"]), + "icon-translate-anchor": new o( + n.paint_symbol["icon-translate-anchor"], + ), + "text-opacity": new s(n.paint_symbol["text-opacity"]), + "text-color": new s(n.paint_symbol["text-color"]), + "text-halo-color": new s(n.paint_symbol["text-halo-color"]), + "text-halo-width": new s(n.paint_symbol["text-halo-width"]), + "text-halo-blur": new s(n.paint_symbol["text-halo-blur"]), + "text-translate": new o(n.paint_symbol["text-translate"]), + "text-translate-anchor": new o( + n.paint_symbol["text-translate-anchor"], + ), + }); + e.exports = { paint: c, layout: l }; + }, + { "../../style-spec/reference/latest": 151, "../properties": 188 }, + ], + 210: [ + function (t, e, r) { + var n = t("./style_layer"), + i = t("../util/util"), + a = t("../style-spec/feature_filter"), + o = t("../style-spec/group_by_layout"), + s = function (t) { + t && this.replace(t); + }; + ((s.prototype.replace = function (t) { + ((this._layerConfigs = {}), + (this._layers = {}), + this.update(t, [])); + }), + (s.prototype.update = function (t, e) { + for (var r = this, s = 0, l = t; s < l.length; s += 1) { + var c = l[s]; + r._layerConfigs[c.id] = c; + var u = (r._layers[c.id] = n.create(c)); + u._featureFilter = a(u.filter); + } + for (var f = 0, h = e; f < h.length; f += 1) { + var p = h[f]; + (delete r._layerConfigs[p], delete r._layers[p]); + } + this.familiesBySource = {}; + for ( + var d = 0, g = o(i.values(this._layerConfigs)); + d < g.length; + d += 1 + ) { + var m = g[d].map(function (t) { + return r._layers[t.id]; + }), + v = m[0]; + if ("none" !== v.visibility) { + var y = v.source || "", + x = r.familiesBySource[y]; + x || (x = r.familiesBySource[y] = {}); + var b = v.sourceLayer || "_geojsonTileLayer", + _ = x[b]; + (_ || (_ = x[b] = []), _.push(m)); + } + } + }), + (e.exports = s)); + }, + { + "../style-spec/feature_filter": 148, + "../style-spec/group_by_layout": 150, + "../util/util": 275, + "./style_layer": 191, + }, + ], + 211: [ + function (t, e, r) { + ((e.exports = t("../style-spec/validate_style.min")), + (e.exports.emitErrors = function (t, e) { + if (e && e.length) { + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r].message; + t.fire("error", { error: new Error(i) }); + } + return !0; + } + return !1; + })); + }, + { "../style-spec/validate_style.min": 181 }, + ], + 212: [ + function (t, e, r) { + var n = function () { + this.first = !0; + }; + ((n.prototype.update = function (t, e) { + var r = Math.floor(t); + return this.first + ? ((this.first = !1), + (this.lastIntegerZoom = r), + (this.lastIntegerZoomTime = 0), + (this.lastZoom = t), + (this.lastFloorZoom = r), + !0) + : (this.lastFloorZoom > r + ? ((this.lastIntegerZoom = r + 1), + (this.lastIntegerZoomTime = e)) + : this.lastFloorZoom < r && + ((this.lastIntegerZoom = r), + (this.lastIntegerZoomTime = e)), + t !== this.lastZoom && + ((this.lastZoom = t), (this.lastFloorZoom = r), !0)); + }), + (e.exports = n)); + }, + {}, + ], + 213: [ + function (t, e, r) { + var n = t("@mapbox/point-geometry"), + i = t("../util/web_worker_transfer").register, + a = (function (t) { + function e(e, r, n, i) { + (t.call(this, e, r), + (this.angle = n), + void 0 !== i && (this.segment = i)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.clone = function () { + return new e(this.x, this.y, this.angle, this.segment); + }), + e + ); + })(n); + (i("Anchor", a), (e.exports = a)); + }, + { "../util/web_worker_transfer": 278, "@mapbox/point-geometry": 4 }, + ], + 214: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i) { + if (void 0 === e.segment) return !0; + for (var a = e, o = e.segment + 1, s = 0; s > -r / 2; ) { + if (--o < 0) return !1; + ((s -= t[o].dist(a)), (a = t[o])); + } + ((s += t[o].dist(t[o + 1])), o++); + for (var l = [], c = 0; s < r / 2; ) { + var u = t[o - 1], + f = t[o], + h = t[o + 1]; + if (!h) return !1; + var p = u.angleTo(f) - f.angleTo(h); + for ( + p = Math.abs(((p + 3 * Math.PI) % (2 * Math.PI)) - Math.PI), + l.push({ distance: s, angleDelta: p }), + c += p; + s - l[0].distance > n; + + ) + c -= l.shift().angleDelta; + if (c > i) return !1; + (o++, (s += f.dist(h))); + } + return !0; + }; + }, + {}, + ], + 215: [ + function (t, e, r) { + var n = t("@mapbox/point-geometry"); + e.exports = function (t, e, r, i, a) { + for (var o = [], s = 0; s < t.length; s++) + for (var l = t[s], c = void 0, u = 0; u < l.length - 1; u++) { + var f = l[u], + h = l[u + 1]; + (f.x < e && h.x < e) || + (f.x < e + ? (f = new n( + e, + f.y + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), + )._round()) + : h.x < e && + (h = new n( + e, + f.y + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), + )._round()), + (f.y < r && h.y < r) || + (f.y < r + ? (f = new n( + f.x + (h.x - f.x) * ((r - f.y) / (h.y - f.y)), + r, + )._round()) + : h.y < r && + (h = new n( + f.x + (h.x - f.x) * ((r - f.y) / (h.y - f.y)), + r, + )._round()), + (f.x >= i && h.x >= i) || + (f.x >= i + ? (f = new n( + i, + f.y + (h.y - f.y) * ((i - f.x) / (h.x - f.x)), + )._round()) + : h.x >= i && + (h = new n( + i, + f.y + (h.y - f.y) * ((i - f.x) / (h.x - f.x)), + )._round()), + (f.y >= a && h.y >= a) || + (f.y >= a + ? (f = new n( + f.x + (h.x - f.x) * ((a - f.y) / (h.y - f.y)), + a, + )._round()) + : h.y >= a && + (h = new n( + f.x + (h.x - f.x) * ((a - f.y) / (h.y - f.y)), + a, + )._round()), + (c && f.equals(c[c.length - 1])) || + ((c = [f]), o.push(c)), + c.push(h))))); + } + return o; + }; + }, + { "@mapbox/point-geometry": 4 }, + ], + 216: [ + function (t, e, r) { + var n = function (t, e, r, n, i, a, o, s, l, c, u) { + var f = o.top * s - l, + h = o.bottom * s + l, + p = o.left * s - l, + d = o.right * s + l; + if (((this.boxStartIndex = t.length), c)) { + var g = h - f, + m = d - p; + g > 0 && + ((g = Math.max(10 * s, g)), + this._addLineCollisionCircles( + t, + e, + r, + r.segment, + m, + g, + n, + i, + a, + u, + )); + } else t.emplaceBack(r.x, r.y, p, f, d, h, n, i, a, 0, 0); + this.boxEndIndex = t.length; + }; + ((n.prototype._addLineCollisionCircles = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + ) { + var u = a / 2, + f = Math.floor(i / u), + h = 1 + (0.4 * Math.log(c)) / Math.LN2, + p = Math.floor((f * h) / 2), + d = -a / 2, + g = r, + m = n + 1, + v = d, + y = -i / 2, + x = y - i / 4; + do { + if (--m < 0) { + if (v > y) return; + m = 0; + break; + } + ((v -= e[m].dist(g)), (g = e[m])); + } while (v > x); + for (var b = e[m].dist(e[m + 1]), _ = -p; _ < f + p; _++) { + var w = _ * u, + k = y + w; + if ((w < 0 && (k += w), w > i && (k += w - i), !(k < v))) { + for (; v + b < k; ) { + if (((v += b), ++m + 1 >= e.length)) return; + b = e[m].dist(e[m + 1]); + } + var M = k - v, + A = e[m], + T = e[m + 1].sub(A)._unit()._mult(M)._add(A)._round(), + S = Math.abs(k - d) < u ? 0 : 0.8 * (k - d); + t.emplaceBack( + T.x, + T.y, + -a / 2, + -a / 2, + a / 2, + a / 2, + o, + s, + l, + a / 2, + S, + ); + } + } + }), + (e.exports = n)); + }, + {}, + ], + 217: [ + function (t, e, r) { + function n(t, e, r) { + t[e + 4] = r ? 1 : 0; + } + var i = t("@mapbox/point-geometry"), + a = t("../util/intersection_tests"), + o = t("./grid_index"), + s = (t("@mapbox/gl-matrix").mat4, t("../symbol/projection")), + l = function (t, e, r) { + (void 0 === e && + (e = new o(t.width + 200, t.height + 200, 25)), + void 0 === r && + (r = new o(t.width + 200, t.height + 200, 25)), + (this.transform = t), + (this.grid = e), + (this.ignoredGrid = r), + (this.pitchfactor = + Math.cos(t._pitch) * t.cameraToCenterDistance), + (this.screenRightBoundary = t.width + 100), + (this.screenBottomBoundary = t.height + 100)); + }; + ((l.prototype.placeCollisionBox = function (t, e, r, n) { + var i = this.projectAndGetPerspectiveRatio( + n, + t.anchorPointX, + t.anchorPointY, + ), + a = r * i.perspectiveRatio, + o = t.x1 * a + i.point.x, + s = t.y1 * a + i.point.y, + l = t.x2 * a + i.point.x, + c = t.y2 * a + i.point.y; + return !e && this.grid.hitTest(o, s, l, c) + ? { box: [], offscreen: !1 } + : { + box: [o, s, l, c], + offscreen: this.isOffscreen(o, s, l, c), + }; + }), + (l.prototype.approximateTileDistance = function ( + t, + e, + r, + n, + i, + ) { + var a = i ? 1 : n / this.pitchfactor, + o = t.lastSegmentViewportDistance * r; + return ( + t.prevTileDistance + o + (a - 1) * o * Math.abs(Math.sin(e)) + ); + }), + (l.prototype.placeCollisionCircles = function ( + t, + e, + r, + a, + o, + l, + c, + u, + f, + h, + p, + d, + g, + ) { + var m = this, + v = [], + y = this.projectAnchor(h, l.anchorX, l.anchorY), + x = f / 24, + b = l.lineOffsetX * f, + _ = l.lineOffsetY * f, + w = new i(l.anchorX, l.anchorY), + k = s.project(w, p).point, + M = s.placeFirstAndLastGlyph( + x, + u, + b, + _, + !1, + k, + w, + l, + c, + p, + {}, + !0, + ), + A = !1, + T = !0, + S = y.perspectiveRatio * a, + C = 1 / (a * r), + E = 0, + L = 0; + M && + ((E = this.approximateTileDistance( + M.first.tileDistance, + M.first.angle, + C, + y.cameraDistance, + g, + )), + (L = this.approximateTileDistance( + M.last.tileDistance, + M.last.angle, + C, + y.cameraDistance, + g, + ))); + for (var z = 0; z < t.length; z += 5) { + var P = t[z], + D = t[z + 1], + O = t[z + 2], + I = t[z + 3]; + if (!M || I < -E || I > L) n(t, z, !1); + else { + var R = m.projectPoint(h, P, D), + B = O * S; + if (v.length > 0) { + var F = R.x - v[v.length - 4], + N = R.y - v[v.length - 3]; + if (B * B * 2 > F * F + N * N && z + 8 < t.length) { + var j = t[z + 8]; + if (j > -E && j < L) { + n(t, z, !1); + continue; + } + } + } + var V = z / 5; + if ( + (v.push(R.x, R.y, B, V), + n(t, z, !0), + (T = + T && + m.isOffscreen(R.x - B, R.y - B, R.x + B, R.y + B)), + !e && m.grid.hitTestCircle(R.x, R.y, B)) + ) { + if (!d) return { circles: [], offscreen: !1 }; + A = !0; + } + } + } + return { circles: A ? [] : v, offscreen: T }; + }), + (l.prototype.queryRenderedSymbols = function ( + t, + e, + r, + n, + o, + s, + ) { + var l = {}, + c = []; + if ( + 0 === t.length || + (0 === this.grid.keysLength() && + 0 === this.ignoredGrid.keysLength()) + ) + return c; + for ( + var u = this.transform.calculatePosMatrix(e.toUnwrapped()), + f = [], + h = 1 / 0, + p = 1 / 0, + d = -1 / 0, + g = -1 / 0, + m = 0; + m < t.length; + m++ + ) + for (var v = t[m], y = 0; y < v.length; y++) { + var x = this.projectPoint(u, v[y].x, v[y].y); + ((h = Math.min(h, x.x)), + (p = Math.min(p, x.y)), + (d = Math.max(d, x.x)), + (g = Math.max(g, x.y)), + f.push(x)); + } + for ( + var b = e.key, + _ = [], + w = this.grid.query(h, p, d, g), + k = 0; + k < w.length; + k++ + ) + w[k].sourceID === o && + w[k].tileID === b && + s[w[k].bucketInstanceId] && + _.push(w[k].boxIndex); + for ( + var M = this.ignoredGrid.query(h, p, d, g), A = 0; + A < M.length; + A++ + ) + M[A].sourceID === o && + M[A].tileID === b && + s[M[A].bucketInstanceId] && + _.push(M[A].boxIndex); + for (var T = 0; T < _.length; T++) { + var S = n.get(_[T]), + C = S.sourceLayerIndex, + E = S.featureIndex, + L = S.bucketIndex; + if ( + (void 0 === l[C] && (l[C] = {}), + void 0 === l[C][E] && (l[C][E] = {}), + !l[C][E][L]) + ) { + var z = this.projectAndGetPerspectiveRatio( + u, + S.anchorPointX, + S.anchorPointY, + ), + P = r * z.perspectiveRatio, + D = S.x1 * P + z.point.x, + O = S.y1 * P + z.point.y, + I = S.x2 * P + z.point.x, + R = S.y2 * P + z.point.y, + B = [ + new i(D, O), + new i(I, O), + new i(I, R), + new i(D, R), + ]; + a.polygonIntersectsPolygon(f, B) && + ((l[C][E][L] = !0), c.push(_[T])); + } + } + return c; + }), + (l.prototype.insertCollisionBox = function (t, e, r, n, i, a) { + var o = { + tileID: r, + sourceID: n, + bucketInstanceId: i, + boxIndex: a, + }; + (e ? this.ignoredGrid : this.grid).insert( + o, + t[0], + t[1], + t[2], + t[3], + ); + }), + (l.prototype.insertCollisionCircles = function ( + t, + e, + r, + n, + i, + a, + ) { + for ( + var o = e ? this.ignoredGrid : this.grid, s = 0; + s < t.length; + s += 4 + ) { + var l = { + tileID: r, + sourceID: n, + bucketInstanceId: i, + boxIndex: a + t[s + 3], + }; + o.insertCircle(l, t[s], t[s + 1], t[s + 2]); + } + }), + (l.prototype.projectAnchor = function (t, e, r) { + var n = [e, r, 0, 1]; + return ( + s.xyTransformMat4(n, n, t), + { + perspectiveRatio: + 0.5 + + (this.transform.cameraToCenterDistance / n[3]) * 0.5, + cameraDistance: n[3], + } + ); + }), + (l.prototype.projectPoint = function (t, e, r) { + var n = [e, r, 0, 1]; + return ( + s.xyTransformMat4(n, n, t), + new i( + ((n[0] / n[3] + 1) / 2) * this.transform.width + 100, + ((-n[1] / n[3] + 1) / 2) * this.transform.height + 100, + ) + ); + }), + (l.prototype.projectAndGetPerspectiveRatio = function ( + t, + e, + r, + ) { + var n = [e, r, 0, 1]; + return ( + s.xyTransformMat4(n, n, t), + { + point: new i( + ((n[0] / n[3] + 1) / 2) * this.transform.width + 100, + ((-n[1] / n[3] + 1) / 2) * this.transform.height + 100, + ), + perspectiveRatio: + 0.5 + + (this.transform.cameraToCenterDistance / n[3]) * 0.5, + } + ); + }), + (l.prototype.isOffscreen = function (t, e, r, n) { + return ( + r < 100 || + t >= this.screenRightBoundary || + n < 100 || + e > this.screenBottomBoundary + ); + }), + (e.exports = l)); + }, + { + "../symbol/projection": 224, + "../util/intersection_tests": 264, + "./grid_index": 220, + "@mapbox/gl-matrix": 2, + "@mapbox/point-geometry": 4, + }, + ], + 218: [ + function (t, e, r) { + var n = t("../data/extent"), + i = 512 / n / 2, + a = function (t, e, r) { + var n = this; + ((this.tileID = t), + (this.indexedSymbolInstances = {}), + (this.bucketInstanceId = r)); + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i], + s = o.key; + (n.indexedSymbolInstances[s] || + (n.indexedSymbolInstances[s] = []), + n.indexedSymbolInstances[s].push({ + crossTileID: o.crossTileID, + coord: n.getScaledCoordinates(o, t), + })); + } + }; + ((a.prototype.getScaledCoordinates = function (t, e) { + var r = e.canonical.z - this.tileID.canonical.z, + a = i / Math.pow(2, r), + o = t.anchor; + return { + x: Math.floor((e.canonical.x * n + o.x) * a), + y: Math.floor((e.canonical.y * n + o.y) * a), + }; + }), + (a.prototype.findMatches = function (t, e, r) { + for ( + var n = + this.tileID.canonical.z < e.canonical.z + ? 1 + : Math.pow( + 2, + this.tileID.canonical.z - e.canonical.z, + ), + i = 0, + a = t; + i < a.length; + i += 1 + ) { + var o = a[i]; + if (!o.crossTileID) { + var s = this.indexedSymbolInstances[o.key]; + if (s) + for ( + var l = this.getScaledCoordinates(o, e), c = 0, u = s; + c < u.length; + c += 1 + ) { + var f = u[c]; + if ( + Math.abs(f.coord.x - l.x) <= n && + Math.abs(f.coord.y - l.y) <= n && + !r[f.crossTileID] + ) { + ((r[f.crossTileID] = !0), + (o.crossTileID = f.crossTileID)); + break; + } + } + } + } + })); + var o = function () { + this.maxCrossTileID = 0; + }; + o.prototype.generate = function () { + return ++this.maxCrossTileID; + }; + var s = function () { + ((this.indexes = {}), (this.usedCrossTileIDs = {})); + }; + ((s.prototype.addBucket = function (t, e, r) { + if ( + this.indexes[t.overscaledZ] && + this.indexes[t.overscaledZ][t.key] + ) { + if ( + this.indexes[t.overscaledZ][t.key].bucketInstanceId === + e.bucketInstanceId + ) + return !1; + this.removeBucketCrossTileIDs( + t.overscaledZ, + this.indexes[t.overscaledZ][t.key], + ); + } + for (var n = 0, i = e.symbolInstances; n < i.length; n += 1) + i[n].crossTileID = 0; + this.usedCrossTileIDs[t.overscaledZ] || + (this.usedCrossTileIDs[t.overscaledZ] = {}); + var o = this.usedCrossTileIDs[t.overscaledZ]; + for (var s in this.indexes) { + var l = this.indexes[s]; + if (Number(s) > t.overscaledZ) + for (var c in l) { + var u = l[c]; + u.tileID.isChildOf(t) && + u.findMatches(e.symbolInstances, t, o); + } + else { + var f = l[t.scaledTo(Number(s)).key]; + f && f.findMatches(e.symbolInstances, t, o); + } + } + for (var h = 0, p = e.symbolInstances; h < p.length; h += 1) { + var d = p[h]; + d.crossTileID || + ((d.crossTileID = r.generate()), (o[d.crossTileID] = !0)); + } + return ( + void 0 === this.indexes[t.overscaledZ] && + (this.indexes[t.overscaledZ] = {}), + (this.indexes[t.overscaledZ][t.key] = new a( + t, + e.symbolInstances, + e.bucketInstanceId, + )), + !0 + ); + }), + (s.prototype.removeBucketCrossTileIDs = function (t, e) { + for (var r in e.indexedSymbolInstances) + for ( + var n = 0, i = e.indexedSymbolInstances[r]; + n < i.length; + n += 1 + ) { + var a = i[n]; + delete this.usedCrossTileIDs[t][a.crossTileID]; + } + }), + (s.prototype.removeStaleBuckets = function (t) { + var e = this, + r = !1; + for (var n in e.indexes) { + var i = e.indexes[n]; + for (var a in i) + t[i[a].bucketInstanceId] || + (e.removeBucketCrossTileIDs(n, i[a]), + delete i[a], + (r = !0)); + } + return r; + })); + var l = function () { + ((this.layerIndexes = {}), + (this.crossTileIDs = new o()), + (this.maxBucketInstanceId = 0)); + }; + ((l.prototype.addLayer = function (t, e) { + var r = this.layerIndexes[t.id]; + void 0 === r && (r = this.layerIndexes[t.id] = new s()); + for (var n = !1, i = {}, a = 0, o = e; a < o.length; a += 1) { + var l = o[a], + c = l.getBucket(t); + c && + (c.bucketInstanceId || + (c.bucketInstanceId = ++this.maxBucketInstanceId), + r.addBucket(l.tileID, c, this.crossTileIDs) && (n = !0), + (i[c.bucketInstanceId] = !0)); + } + return (r.removeStaleBuckets(i) && (n = !0), n); + }), + (l.prototype.pruneUnusedLayers = function (t) { + var e = {}; + for (var r in (t.forEach(function (t) { + e[t] = !0; + }), + this.layerIndexes)) + e[r] || delete this.layerIndexes[r]; + }), + (e.exports = l)); + }, + { "../data/extent": 53 }, + ], + 219: [ + function (t, e, r) { + var n = t("../style-spec/util/interpolate").number, + i = t("../symbol/anchor"), + a = t("./check_max_angle"); + e.exports = function (t, e, r, o, s, l, c, u, f) { + var h = o ? 0.6 * l * c : 0, + p = Math.max( + o ? o.right - o.left : 0, + s ? s.right - s.left : 0, + ), + d = + 0 === t[0].x || + t[0].x === f || + 0 === t[0].y || + t[0].y === f; + return ( + e - p * c < e / 4 && (e = p * c + e / 4), + (function t(e, r, o, s, l, c, u, f, h) { + for (var p = c / 2, d = 0, g = 0; g < e.length - 1; g++) + d += e[g].dist(e[g + 1]); + for ( + var m = 0, v = r - o, y = [], x = 0; + x < e.length - 1; + x++ + ) { + for ( + var b = e[x], + _ = e[x + 1], + w = b.dist(_), + k = _.angleTo(b); + v + o < m + w; + + ) { + var M = ((v += o) - m) / w, + A = n(b.x, _.x, M), + T = n(b.y, _.y, M); + if ( + A >= 0 && + A < h && + T >= 0 && + T < h && + v - p >= 0 && + v + p <= d + ) { + var S = new i(A, T, k, x); + (S._round(), (s && !a(e, S, c, s, l)) || y.push(S)); + } + } + m += w; + } + return ( + f || + y.length || + u || + (y = t(e, m / 2, o, s, l, c, u, !0, h)), + y + ); + })( + t, + d ? ((e / 2) * u) % e : ((p / 2 + 2 * l) * c * u) % e, + e, + h, + r, + p * c, + d, + !1, + f, + ) + ); + }; + }, + { + "../style-spec/util/interpolate": 158, + "../symbol/anchor": 213, + "./check_max_angle": 214, + }, + ], + 220: [ + function (t, e, r) { + var n = function (t, e, r) { + var n = (this.boxCells = []), + i = (this.circleCells = []); + ((this.xCellCount = Math.ceil(t / r)), + (this.yCellCount = Math.ceil(e / r))); + for (var a = 0; a < this.xCellCount * this.yCellCount; a++) + (n.push([]), i.push([])); + ((this.circleKeys = []), + (this.boxKeys = []), + (this.bboxes = []), + (this.circles = []), + (this.width = t), + (this.height = e), + (this.xScale = this.xCellCount / t), + (this.yScale = this.yCellCount / e), + (this.boxUid = 0), + (this.circleUid = 0)); + }; + ((n.prototype.keysLength = function () { + return this.boxKeys.length + this.circleKeys.length; + }), + (n.prototype.insert = function (t, e, r, n, i) { + (this._forEachCell( + e, + r, + n, + i, + this._insertBoxCell, + this.boxUid++, + ), + this.boxKeys.push(t), + this.bboxes.push(e), + this.bboxes.push(r), + this.bboxes.push(n), + this.bboxes.push(i)); + }), + (n.prototype.insertCircle = function (t, e, r, n) { + (this._forEachCell( + e - n, + r - n, + e + n, + r + n, + this._insertCircleCell, + this.circleUid++, + ), + this.circleKeys.push(t), + this.circles.push(e), + this.circles.push(r), + this.circles.push(n)); + }), + (n.prototype._insertBoxCell = function (t, e, r, n, i, a) { + this.boxCells[i].push(a); + }), + (n.prototype._insertCircleCell = function (t, e, r, n, i, a) { + this.circleCells[i].push(a); + }), + (n.prototype._query = function (t, e, r, n, i) { + if (r < 0 || t > this.width || n < 0 || e > this.height) + return !i && []; + var a = []; + if (t <= 0 && e <= 0 && this.width <= r && this.height <= n) + a = Array.prototype.slice + .call(this.boxKeys) + .concat(this.circleKeys); + else { + var o = { hitTest: i, seenUids: { box: {}, circle: {} } }; + this._forEachCell(t, e, r, n, this._queryCell, a, o); + } + return i ? a.length > 0 : a; + }), + (n.prototype._queryCircle = function (t, e, r, n) { + var i = t - r, + a = t + r, + o = e - r, + s = e + r; + if (a < 0 || i > this.width || s < 0 || o > this.height) + return !n && []; + var l = [], + c = { + hitTest: n, + circle: { x: t, y: e, radius: r }, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell(i, o, a, s, this._queryCellCircle, l, c), + n ? l.length > 0 : l + ); + }), + (n.prototype.query = function (t, e, r, n) { + return this._query(t, e, r, n, !1); + }), + (n.prototype.hitTest = function (t, e, r, n) { + return this._query(t, e, r, n, !0); + }), + (n.prototype.hitTestCircle = function (t, e, r) { + return this._queryCircle(t, e, r, !0); + }), + (n.prototype._queryCell = function (t, e, r, n, i, a, o) { + var s = this, + l = o.seenUids, + c = this.boxCells[i]; + if (null !== c) + for ( + var u = this.bboxes, f = 0, h = c; + f < h.length; + f += 1 + ) { + var p = h[f]; + if (!l.box[p]) { + l.box[p] = !0; + var d = 4 * p; + if ( + t <= u[d + 2] && + e <= u[d + 3] && + r >= u[d + 0] && + n >= u[d + 1] + ) { + if (o.hitTest) return (a.push(!0), !0); + a.push(s.boxKeys[p]); + } + } + } + var g = this.circleCells[i]; + if (null !== g) + for ( + var m = this.circles, v = 0, y = g; + v < y.length; + v += 1 + ) { + var x = y[v]; + if (!l.circle[x]) { + l.circle[x] = !0; + var b = 3 * x; + if ( + s._circleAndRectCollide( + m[b], + m[b + 1], + m[b + 2], + t, + e, + r, + n, + ) + ) { + if (o.hitTest) return (a.push(!0), !0); + a.push(s.circleKeys[x]); + } + } + } + }), + (n.prototype._queryCellCircle = function (t, e, r, n, i, a, o) { + var s = o.circle, + l = o.seenUids, + c = this.boxCells[i]; + if (null !== c) + for ( + var u = this.bboxes, f = 0, h = c; + f < h.length; + f += 1 + ) { + var p = h[f]; + if (!l.box[p]) { + l.box[p] = !0; + var d = 4 * p; + if ( + this._circleAndRectCollide( + s.x, + s.y, + s.radius, + u[d + 0], + u[d + 1], + u[d + 2], + u[d + 3], + ) + ) + return (a.push(!0), !0); + } + } + var g = this.circleCells[i]; + if (null !== g) + for ( + var m = this.circles, v = 0, y = g; + v < y.length; + v += 1 + ) { + var x = y[v]; + if (!l.circle[x]) { + l.circle[x] = !0; + var b = 3 * x; + if ( + this._circlesCollide( + m[b], + m[b + 1], + m[b + 2], + s.x, + s.y, + s.radius, + ) + ) + return (a.push(!0), !0); + } + } + }), + (n.prototype._forEachCell = function (t, e, r, n, i, a, o) { + for ( + var s = this._convertToXCellCoord(t), + l = this._convertToYCellCoord(e), + c = this._convertToXCellCoord(r), + u = this._convertToYCellCoord(n), + f = s; + f <= c; + f++ + ) + for (var h = l; h <= u; h++) { + var p = this.xCellCount * h + f; + if (i.call(this, t, e, r, n, p, a, o)) return; + } + }), + (n.prototype._convertToXCellCoord = function (t) { + return Math.max( + 0, + Math.min(this.xCellCount - 1, Math.floor(t * this.xScale)), + ); + }), + (n.prototype._convertToYCellCoord = function (t) { + return Math.max( + 0, + Math.min(this.yCellCount - 1, Math.floor(t * this.yScale)), + ); + }), + (n.prototype._circlesCollide = function (t, e, r, n, i, a) { + var o = n - t, + s = i - e, + l = r + a; + return l * l > o * o + s * s; + }), + (n.prototype._circleAndRectCollide = function ( + t, + e, + r, + n, + i, + a, + o, + ) { + var s = (a - n) / 2, + l = Math.abs(t - (n + s)); + if (l > s + r) return !1; + var c = (o - i) / 2, + u = Math.abs(e - (i + c)); + if (u > c + r) return !1; + if (l <= s || u <= c) return !0; + var f = l - s, + h = u - c; + return f * f + h * h <= r * r; + }), + (e.exports = n)); + }, + {}, + ], + 221: [ + function (t, e, r) { + e.exports = function (t) { + function e(e) { + (s.push(t[e]), l++); + } + function r(t, e, r) { + var n = o[t]; + return ( + delete o[t], + (o[e] = n), + s[n].geometry[0].pop(), + (s[n].geometry[0] = s[n].geometry[0].concat(r[0])), + n + ); + } + function n(t, e, r) { + var n = a[e]; + return ( + delete a[e], + (a[t] = n), + s[n].geometry[0].shift(), + (s[n].geometry[0] = r[0].concat(s[n].geometry[0])), + n + ); + } + function i(t, e, r) { + var n = r ? e[0][e[0].length - 1] : e[0][0]; + return t + ":" + n.x + ":" + n.y; + } + for ( + var a = {}, o = {}, s = [], l = 0, c = 0; + c < t.length; + c++ + ) { + var u = t[c], + f = u.geometry, + h = u.text; + if (h) { + var p = i(h, f), + d = i(h, f, !0); + if (p in o && d in a && o[p] !== a[d]) { + var g = n(p, d, f), + m = r(p, d, s[g].geometry); + (delete a[p], + delete o[d], + (o[i(h, s[m].geometry, !0)] = m), + (s[g].geometry = null)); + } else + p in o + ? r(p, d, f) + : d in a + ? n(p, d, f) + : (e(c), (a[p] = l - 1), (o[d] = l - 1)); + } else e(c); + } + return s.filter(function (t) { + return t.geometry; + }); + }; + }, + {}, + ], + 222: [ + function (t, e, r) { + var n = t("../util/web_worker_transfer").register, + i = function () { + ((this.opacity = 0), + (this.targetOpacity = 0), + (this.time = 0)); + }; + ((i.prototype.clone = function () { + var t = new i(); + return ( + (t.opacity = this.opacity), + (t.targetOpacity = this.targetOpacity), + (t.time = this.time), + t + ); + }), + n("OpacityState", i), + (e.exports = i)); + }, + { "../util/web_worker_transfer": 278 }, + ], + 223: [ + function (t, e, r) { + function n(t, e, r) { + (t.emplaceBack(e ? 1 : 0, r ? 1 : 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0)); + } + function i(t) { + if (0 === t.opacity && !t.placed) return 0; + if (1 === t.opacity && t.placed) return 4294967295; + var e = t.placed ? 1 : 0, + r = Math.floor(127 * t.opacity); + return ( + r * g + e * m + r * v + e * y + r * x + e * b + r * _ + e + ); + } + var a = t("./collision_index"), + o = t("../data/extent"), + s = t("./symbol_size"), + l = t("./projection"), + c = t( + "../style/style_layer/symbol_style_layer_properties", + ).layout, + u = t("../source/pixels_to_tile_units"), + f = function (t, e, r, n) { + ((this.opacity = t + ? Math.max(0, Math.min(1, t.opacity + (t.placed ? e : -e))) + : n && r + ? 1 + : 0), + (this.placed = r)); + }; + f.prototype.isHidden = function () { + return 0 === this.opacity && !this.placed; + }; + var h = function (t, e, r, n, i) { + ((this.text = new f(t ? t.text : null, e, r, i)), + (this.icon = new f(t ? t.icon : null, e, n, i))); + }; + h.prototype.isHidden = function () { + return this.text.isHidden() && this.icon.isHidden(); + }; + var p = function (t, e, r) { + ((this.text = t), (this.icon = e), (this.skipFade = r)); + }, + d = function (t, e) { + ((this.transform = t.clone()), + (this.collisionIndex = new a(this.transform)), + (this.placements = {}), + (this.opacities = {}), + (this.stale = !1), + (this.fadeDuration = e)); + }; + ((d.prototype.placeLayerTile = function (t, e, r, n) { + var i = e.getBucket(t); + if (i) { + var a = i.layers[0].layout, + s = Math.pow(2, this.transform.zoom - e.tileID.overscaledZ), + c = e.tileSize / o, + f = this.transform.calculatePosMatrix( + e.tileID.toUnwrapped(), + ), + h = l.getLabelPlaneMatrix( + f, + "map" === a.get("text-pitch-alignment"), + "map" === a.get("text-rotation-alignment"), + this.transform, + u(e, 1, this.transform.zoom), + ), + p = l.getLabelPlaneMatrix( + f, + "map" === a.get("icon-pitch-alignment"), + "map" === a.get("icon-rotation-alignment"), + this.transform, + u(e, 1, this.transform.zoom), + ); + this.placeLayerBucket( + i, + f, + h, + p, + s, + c, + r, + n, + e.collisionBoxArray, + e.tileID.key, + t.source, + ); + } + }), + (d.prototype.placeLayerBucket = function ( + t, + e, + r, + n, + i, + a, + o, + l, + u, + f, + h, + ) { + for ( + var d = this, + g = t.layers[0].layout, + m = s.evaluateSizeForZoom( + t.textSizeData, + this.transform.zoom, + c.properties["text-size"], + ), + v = !t.hasTextData() || g.get("text-optional"), + y = !t.hasIconData() || g.get("icon-optional"), + x = 0, + b = t.symbolInstances; + x < b.length; + x += 1 + ) { + var _ = b[x]; + if (!l[_.crossTileID]) { + var w = !1, + k = !1, + M = !0, + A = null, + T = null, + S = null; + (_.collisionArrays || + (_.collisionArrays = t.deserializeCollisionBoxes( + u, + _.textBoxStartIndex, + _.textBoxEndIndex, + _.iconBoxStartIndex, + _.iconBoxEndIndex, + )), + _.collisionArrays.textBox && + ((w = + (A = d.collisionIndex.placeCollisionBox( + _.collisionArrays.textBox, + g.get("text-allow-overlap"), + a, + e, + )).box.length > 0), + (M = M && A.offscreen))); + var C = _.collisionArrays.textCircles; + if (C) { + var E = t.text.placedSymbolArray.get( + _.placedTextSymbolIndices[0], + ), + L = s.evaluateSizeForFeature(t.textSizeData, m, E); + ((T = d.collisionIndex.placeCollisionCircles( + C, + g.get("text-allow-overlap"), + i, + a, + _.key, + E, + t.lineVertexArray, + t.glyphOffsetArray, + L, + e, + r, + o, + "map" === g.get("text-pitch-alignment"), + )), + (w = + g.get("text-allow-overlap") || + T.circles.length > 0), + (M = M && T.offscreen)); + } + (_.collisionArrays.iconBox && + ((k = + (S = d.collisionIndex.placeCollisionBox( + _.collisionArrays.iconBox, + g.get("icon-allow-overlap"), + a, + e, + )).box.length > 0), + (M = M && S.offscreen)), + v || y + ? y + ? v || (k = k && w) + : (w = k && w) + : (k = w = k && w), + w && + A && + d.collisionIndex.insertCollisionBox( + A.box, + g.get("text-ignore-placement"), + f, + h, + t.bucketInstanceId, + _.textBoxStartIndex, + ), + k && + S && + d.collisionIndex.insertCollisionBox( + S.box, + g.get("icon-ignore-placement"), + f, + h, + t.bucketInstanceId, + _.iconBoxStartIndex, + ), + w && + T && + d.collisionIndex.insertCollisionCircles( + T.circles, + g.get("text-ignore-placement"), + f, + h, + t.bucketInstanceId, + _.textBoxStartIndex, + ), + (d.placements[_.crossTileID] = new p( + w, + k, + M || t.justReloaded, + )), + (l[_.crossTileID] = !0)); + } + } + t.justReloaded = !1; + }), + (d.prototype.commit = function (t, e) { + var r = this; + this.commitTime = e; + var n = !1, + i = + t && 0 !== this.fadeDuration + ? (this.commitTime - t.commitTime) / this.fadeDuration + : 1, + a = t ? t.opacities : {}; + for (var o in r.placements) { + var s = r.placements[o], + l = a[o]; + l + ? ((r.opacities[o] = new h(l, i, s.text, s.icon)), + (n = + n || + s.text !== l.text.placed || + s.icon !== l.icon.placed)) + : ((r.opacities[o] = new h( + null, + i, + s.text, + s.icon, + s.skipFade, + )), + (n = n || s.text || s.icon)); + } + for (var c in a) { + var u = a[c]; + if (!r.opacities[c]) { + var f = new h(u, i, !1, !1); + f.isHidden() || + ((r.opacities[c] = f), + (n = n || u.text.placed || u.icon.placed)); + } + } + n + ? (this.lastPlacementChangeTime = e) + : "number" != typeof this.lastPlacementChangeTime && + (this.lastPlacementChangeTime = t + ? t.lastPlacementChangeTime + : e); + }), + (d.prototype.updateLayerOpacities = function (t, e) { + for (var r = {}, n = 0, i = e; n < i.length; n += 1) { + var a = i[n], + o = a.getBucket(t); + o && this.updateBucketOpacities(o, r, a.collisionBoxArray); + } + }), + (d.prototype.updateBucketOpacities = function (t, e, r) { + (t.hasTextData() && t.text.opacityVertexArray.clear(), + t.hasIconData() && t.icon.opacityVertexArray.clear(), + t.hasCollisionBoxData() && + t.collisionBox.collisionVertexArray.clear(), + t.hasCollisionCircleData() && + t.collisionCircle.collisionVertexArray.clear()); + for ( + var a = t.layers[0].layout, + o = new h( + null, + 0, + a.get("text-allow-overlap"), + a.get("icon-allow-overlap"), + !0, + ), + s = 0; + s < t.symbolInstances.length; + s++ + ) { + var l = t.symbolInstances[s], + c = e[l.crossTileID], + u = this.opacities[l.crossTileID]; + (u + ? c && (u = o) + : ((u = o), (this.opacities[l.crossTileID] = u)), + (e[l.crossTileID] = !0)); + var f = + l.numGlyphVertices > 0 || + l.numVerticalGlyphVertices > 0, + p = l.numIconVertices > 0; + if (f) { + for ( + var d = i(u.text), + g = + (l.numGlyphVertices + l.numVerticalGlyphVertices) / + 4, + m = 0; + m < g; + m++ + ) + t.text.opacityVertexArray.emplaceBack(d); + for ( + var v = 0, y = l.placedTextSymbolIndices; + v < y.length; + v += 1 + ) { + var x = y[v]; + t.text.placedSymbolArray.get(x).hidden = + u.text.isHidden(); + } + } + if (p) { + for ( + var b = i(u.icon), _ = 0; + _ < l.numIconVertices / 4; + _++ + ) + t.icon.opacityVertexArray.emplaceBack(b); + t.icon.placedSymbolArray.get(s).hidden = + u.icon.isHidden(); + } + l.collisionArrays || + (l.collisionArrays = t.deserializeCollisionBoxes( + r, + l.textBoxStartIndex, + l.textBoxEndIndex, + l.iconBoxStartIndex, + l.iconBoxEndIndex, + )); + var w = l.collisionArrays; + if (w) { + (w.textBox && + t.hasCollisionBoxData() && + n( + t.collisionBox.collisionVertexArray, + u.text.placed, + !1, + ), + w.iconBox && + t.hasCollisionBoxData() && + n( + t.collisionBox.collisionVertexArray, + u.icon.placed, + !1, + )); + var k = w.textCircles; + if (k && t.hasCollisionCircleData()) + for (var M = 0; M < k.length; M += 5) { + var A = c || 0 === k[M + 4]; + n( + t.collisionCircle.collisionVertexArray, + u.text.placed, + A, + ); + } + } + } + (t.sortFeatures(this.transform.angle), + t.hasTextData() && + t.text.opacityVertexBuffer && + t.text.opacityVertexBuffer.updateData( + t.text.opacityVertexArray, + ), + t.hasIconData() && + t.icon.opacityVertexBuffer && + t.icon.opacityVertexBuffer.updateData( + t.icon.opacityVertexArray, + ), + t.hasCollisionBoxData() && + t.collisionBox.collisionVertexBuffer && + t.collisionBox.collisionVertexBuffer.updateData( + t.collisionBox.collisionVertexArray, + ), + t.hasCollisionCircleData() && + t.collisionCircle.collisionVertexBuffer && + t.collisionCircle.collisionVertexBuffer.updateData( + t.collisionCircle.collisionVertexArray, + )); + }), + (d.prototype.symbolFadeChange = function (t) { + return 0 === this.fadeDuration + ? 1 + : (t - this.commitTime) / this.fadeDuration; + }), + (d.prototype.hasTransitions = function (t) { + return ( + this.stale || + t - this.lastPlacementChangeTime < this.fadeDuration + ); + }), + (d.prototype.stillRecent = function (t) { + return ( + "undefined" !== this.commitTime && + this.commitTime + this.fadeDuration > t + ); + }), + (d.prototype.setStale = function () { + this.stale = !0; + })); + var g = Math.pow(2, 25), + m = Math.pow(2, 24), + v = Math.pow(2, 17), + y = Math.pow(2, 16), + x = Math.pow(2, 9), + b = Math.pow(2, 8), + _ = Math.pow(2, 1); + e.exports = d; + }, + { + "../data/extent": 53, + "../source/pixels_to_tile_units": 104, + "../style/style_layer/symbol_style_layer_properties": 209, + "./collision_index": 217, + "./projection": 224, + "./symbol_size": 228, + }, + ], + 224: [ + function (t, e, r) { + function n(t, e) { + var r = [t.x, t.y, 0, 1]; + f(r, r, e); + var n = r[3]; + return { + point: new h(r[0] / n, r[1] / n), + signedDistanceFromCamera: n, + }; + } + function i(t, e) { + var r = t[0] / t[3], + n = t[1] / t[3]; + return r >= -e[0] && r <= e[0] && n >= -e[1] && n <= e[1]; + } + function a(t, e, r, n, i, a, o, s, l, u, f, h) { + var p = s.glyphStartIndex + s.numGlyphs, + d = s.lineStartIndex, + g = s.lineStartIndex + s.lineLength, + m = e.getoffsetX(s.glyphStartIndex), + v = e.getoffsetX(p - 1), + y = c(t * m, r, n, i, a, o, s.segment, d, g, l, u, f, h); + if (!y) return null; + var x = c(t * v, r, n, i, a, o, s.segment, d, g, l, u, f, h); + return x ? { first: y, last: x } : null; + } + function o(t, e, r, n) { + return t === x.horizontal && + Math.abs(r.y - e.y) > Math.abs(r.x - e.x) * n + ? { useVertical: !0 } + : (t === x.vertical ? e.y < r.y : e.x > r.x) + ? { needsFlipping: !0 } + : null; + } + function s(t, e, r, i, s, u, f, p, d, g, m, y, x, b) { + var _, + w = e / 24, + k = t.lineOffsetX * e, + M = t.lineOffsetY * e; + if (t.numGlyphs > 1) { + var A = t.glyphStartIndex + t.numGlyphs, + T = t.lineStartIndex, + S = t.lineStartIndex + t.lineLength, + C = a(w, p, k, M, r, m, y, t, d, u, x, !1); + if (!C) return { notEnoughRoom: !0 }; + var E = n(C.first.point, f).point, + L = n(C.last.point, f).point; + if (i && !r) { + var z = o(t.writingMode, E, L, b); + if (z) return z; + } + _ = [C.first]; + for (var P = t.glyphStartIndex + 1; P < A - 1; P++) + _.push( + c( + w * p.getoffsetX(P), + k, + M, + r, + m, + y, + t.segment, + T, + S, + d, + u, + x, + !1, + ), + ); + _.push(C.last); + } else { + if (i && !r) { + var D = n(y, s).point, + O = t.lineStartIndex + t.segment + 1, + I = new h(d.getx(O), d.gety(O)), + R = n(I, s), + B = + R.signedDistanceFromCamera > 0 + ? R.point + : l(y, I, D, 1, s), + F = o(t.writingMode, D, B, b); + if (F) return F; + } + var N = c( + w * p.getoffsetX(t.glyphStartIndex), + k, + M, + r, + m, + y, + t.segment, + t.lineStartIndex, + t.lineStartIndex + t.lineLength, + d, + u, + x, + !1, + ); + if (!N) return { notEnoughRoom: !0 }; + _ = [N]; + } + for (var j = 0, V = _; j < V.length; j += 1) { + var U = V[j]; + v(g, U.point, U.angle); + } + return {}; + } + function l(t, e, r, i, a) { + var o = n(t.add(t.sub(e)._unit()), a).point, + s = r.sub(o); + return r.add(s._mult(i / s.mag())); + } + function c(t, e, r, i, a, o, s, c, u, f, p, d, g) { + var m = i ? t - e : t + e, + v = m > 0 ? 1 : -1, + y = 0; + (i && ((v *= -1), (y = Math.PI)), v < 0 && (y += Math.PI)); + for ( + var x = v > 0 ? c + s : c + s + 1, + b = x, + _ = a, + w = a, + k = 0, + M = 0, + A = Math.abs(m); + k + M <= A; + + ) { + if ((x += v) < c || x >= u) return null; + if (((w = _), void 0 === (_ = d[x]))) { + var T = new h(f.getx(x), f.gety(x)), + S = n(T, p); + if (S.signedDistanceFromCamera > 0) _ = d[x] = S.point; + else { + var C = x - v; + _ = l( + 0 === k ? o : new h(f.getx(C), f.gety(C)), + T, + w, + A - k + 1, + p, + ); + } + } + ((k += M), (M = w.dist(_))); + } + var E = (A - k) / M, + L = _.sub(w), + z = L.mult(E)._add(w); + return ( + z._add( + L._unit() + ._perp() + ._mult(r * v), + ), + { + point: z, + angle: y + Math.atan2(_.y - w.y, _.x - w.x), + tileDistance: g + ? { + prevTileDistance: + x - v === b + ? 0 + : f.gettileUnitDistanceFromAnchor(x - v), + lastSegmentViewportDistance: A - k, + } + : null, + } + ); + } + function u(t, e) { + for (var r = 0; r < t; r++) { + var n = e.length; + (e.resize(n + 4), e.float32.set(b, 3 * n)); + } + } + function f(t, e, r) { + var n = e[0], + i = e[1]; + return ( + (t[0] = r[0] * n + r[4] * i + r[12]), + (t[1] = r[1] * n + r[5] * i + r[13]), + (t[3] = r[3] * n + r[7] * i + r[15]), + t + ); + } + var h = t("@mapbox/point-geometry"), + p = t("@mapbox/gl-matrix"), + d = p.mat4, + g = p.vec4, + m = t("./symbol_size"), + v = t("../data/bucket/symbol_bucket").addDynamicAttributes, + y = t( + "../style/style_layer/symbol_style_layer_properties", + ).layout, + x = t("../symbol/shaping").WritingMode; + e.exports = { + updateLineLabels: function (t, e, r, a, o, l, c, f) { + var p = a ? t.textSizeData : t.iconSizeData, + d = m.evaluateSizeForZoom( + p, + r.transform.zoom, + y.properties[a ? "text-size" : "icon-size"], + ), + v = [(256 / r.width) * 2 + 1, (256 / r.height) * 2 + 1], + b = a + ? t.text.dynamicLayoutVertexArray + : t.icon.dynamicLayoutVertexArray; + b.clear(); + for ( + var _ = t.lineVertexArray, + w = a + ? t.text.placedSymbolArray + : t.icon.placedSymbolArray, + k = r.transform.width / r.transform.height, + M = !1, + A = 0; + A < w.length; + A++ + ) { + var T = w.get(A); + if (T.hidden || (T.writingMode === x.vertical && !M)) + u(T.numGlyphs, b); + else { + M = !1; + var S = [T.anchorX, T.anchorY, 0, 1]; + if ((g.transformMat4(S, S, e), i(S, v))) { + var C = + 0.5 + + (S[3] / r.transform.cameraToCenterDistance) * 0.5, + E = m.evaluateSizeForFeature(p, d, T), + L = c ? E * C : E / C, + z = new h(T.anchorX, T.anchorY), + P = n(z, o).point, + D = {}, + O = s( + T, + L, + !1, + f, + e, + o, + l, + t.glyphOffsetArray, + _, + b, + P, + z, + D, + k, + ); + ((M = O.useVertical), + (O.notEnoughRoom || + M || + (O.needsFlipping && + s( + T, + L, + !0, + f, + e, + o, + l, + t.glyphOffsetArray, + _, + b, + P, + z, + D, + k, + ).notEnoughRoom)) && + u(T.numGlyphs, b)); + } else u(T.numGlyphs, b); + } + } + a + ? t.text.dynamicLayoutVertexBuffer.updateData(b) + : t.icon.dynamicLayoutVertexBuffer.updateData(b); + }, + getLabelPlaneMatrix: function (t, e, r, n, i) { + var a = d.identity(new Float32Array(16)); + return ( + e + ? (d.identity(a), + d.scale(a, a, [1 / i, 1 / i, 1]), + r || d.rotateZ(a, a, n.angle)) + : (d.scale(a, a, [n.width / 2, -n.height / 2, 1]), + d.translate(a, a, [1, -1, 0]), + d.multiply(a, a, t)), + a + ); + }, + getGlCoordMatrix: function (t, e, r, n, i) { + var a = d.identity(new Float32Array(16)); + return ( + e + ? (d.multiply(a, a, t), + d.scale(a, a, [i, i, 1]), + r || d.rotateZ(a, a, -n.angle)) + : (d.scale(a, a, [1, -1, 1]), + d.translate(a, a, [-1, -1, 0]), + d.scale(a, a, [2 / n.width, 2 / n.height, 1])), + a + ); + }, + project: n, + placeFirstAndLastGlyph: a, + xyTransformMat4: f, + }; + var b = new Float32Array([ + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + ]); + }, + { + "../data/bucket/symbol_bucket": 51, + "../style/style_layer/symbol_style_layer_properties": 209, + "../symbol/shaping": 226, + "./symbol_size": 228, + "@mapbox/gl-matrix": 2, + "@mapbox/point-geometry": 4, + }, + ], + 225: [ + function (t, e, r) { + var n = t("@mapbox/point-geometry"), + i = t("../style/parse_glyph_pbf").GLYPH_PBF_BORDER; + e.exports = { + getIconQuads: function (t, e, r, i, a, o, s) { + var l, + c, + u, + f, + h = e.image, + p = r.layout, + d = e.top - 1 / h.pixelRatio, + g = e.left - 1 / h.pixelRatio, + m = e.bottom + 1 / h.pixelRatio, + v = e.right + 1 / h.pixelRatio; + if ("none" !== p.get("icon-text-fit") && a) { + var y = v - g, + x = m - d, + b = p.get("text-size").evaluate(s) / 24, + _ = a.left * b, + w = a.right * b, + k = a.top * b, + M = w - _, + A = a.bottom * b - k, + T = p.get("icon-text-fit-padding")[0], + S = p.get("icon-text-fit-padding")[1], + C = p.get("icon-text-fit-padding")[2], + E = p.get("icon-text-fit-padding")[3], + L = + "width" === p.get("icon-text-fit") ? 0.5 * (A - x) : 0, + z = + "height" === p.get("icon-text-fit") ? 0.5 * (M - y) : 0, + P = + "width" === p.get("icon-text-fit") || + "both" === p.get("icon-text-fit") + ? M + : y, + D = + "height" === p.get("icon-text-fit") || + "both" === p.get("icon-text-fit") + ? A + : x; + ((l = new n(_ + z - E, k + L - T)), + (c = new n(_ + z + S + P, k + L - T)), + (u = new n(_ + z + S + P, k + L + C + D)), + (f = new n(_ + z - E, k + L + C + D))); + } else + ((l = new n(g, d)), + (c = new n(v, d)), + (u = new n(v, m)), + (f = new n(g, m))); + var O = + (r.layout.get("icon-rotate").evaluate(s) * Math.PI) / 180; + if (O) { + var I = Math.sin(O), + R = Math.cos(O), + B = [R, -I, I, R]; + (l._matMult(B), + c._matMult(B), + f._matMult(B), + u._matMult(B)); + } + return [ + { + tl: l, + tr: c, + bl: f, + br: u, + tex: { + x: h.textureRect.x - 1, + y: h.textureRect.y - 1, + w: h.textureRect.w + 2, + h: h.textureRect.h + 2, + }, + writingMode: void 0, + glyphOffset: [0, 0], + }, + ]; + }, + getGlyphQuads: function (t, e, r, a, o, s, l) { + for ( + var c = + (r.layout.get("text-rotate").evaluate(s) * Math.PI) / + 180, + u = r.layout + .get("text-offset") + .evaluate(s) + .map(function (t) { + return 24 * t; + }), + f = e.positionedGlyphs, + h = [], + p = 0; + p < f.length; + p++ + ) { + var d = f[p], + g = l[d.glyph]; + if (g) { + var m = g.rect; + if (m) { + var v = i + 1, + y = g.metrics.advance / 2, + x = a ? [d.x + y, d.y] : [0, 0], + b = a ? [0, 0] : [d.x + y + u[0], d.y + u[1]], + _ = g.metrics.left - v - y + b[0], + w = -g.metrics.top - v + b[1], + k = _ + m.w, + M = w + m.h, + A = new n(_, w), + T = new n(k, w), + S = new n(_, M), + C = new n(k, M); + if (a && d.vertical) { + var E = new n(-y, y), + L = -Math.PI / 2, + z = new n(5, 0); + (A._rotateAround(L, E)._add(z), + T._rotateAround(L, E)._add(z), + S._rotateAround(L, E)._add(z), + C._rotateAround(L, E)._add(z)); + } + if (c) { + var P = Math.sin(c), + D = Math.cos(c), + O = [D, -P, P, D]; + (A._matMult(O), + T._matMult(O), + S._matMult(O), + C._matMult(O)); + } + h.push({ + tl: A, + tr: T, + bl: S, + br: C, + tex: m, + writingMode: e.writingMode, + glyphOffset: x, + }); + } + } + } + return h; + }, + }; + }, + { "../style/parse_glyph_pbf": 186, "@mapbox/point-geometry": 4 }, + ], + 226: [ + function (t, e, r) { + function n(t, e, r, n) { + var i = Math.pow(t - e, 2); + return n ? (t < e ? i / 2 : 2 * i) : i + Math.abs(r) * r; + } + function i(t, e) { + var r = 0; + return ( + 10 === t && (r -= 1e4), + (40 !== t && 65288 !== t) || (r += 50), + (41 !== e && 65289 !== e) || (r += 50), + r + ); + } + function a(t, e, r, i, a, o) { + for ( + var s = null, l = n(e, r, a, o), c = 0, u = i; + c < u.length; + c += 1 + ) { + var f = u[c], + h = n(e - f.x, r, a, o) + f.badness; + h <= l && ((s = f), (l = h)); + } + return { index: t, x: e, priorBreak: s, badness: l }; + } + function o(t, e, r, n) { + if (!r) return []; + if (!t) return []; + for ( + var o = [], + s = (function (t, e, r, n) { + for (var i = 0, a = 0; a < t.length; a++) { + var o = n[t.charCodeAt(a)]; + o && (i += o.metrics.advance + e); + } + return i / Math.max(1, Math.ceil(i / r)); + })(t, e, r, n), + l = 0, + u = 0; + u < t.length; + u++ + ) { + var f = t.charCodeAt(u), + h = n[f]; + (h && !p[f] && (l += h.metrics.advance + e), + u < t.length - 1 && + (d[f] || c.charAllowsIdeographicBreaking(f)) && + o.push(a(u + 1, l, s, o, i(f, t.charCodeAt(u + 1)), !1))); + } + return (function t(e) { + return e ? t(e.priorBreak).concat(e.index) : []; + })(a(t.length, l, s, o, 0, !0)); + } + function s(t) { + var e = 0.5, + r = 0.5; + switch (t) { + case "right": + case "top-right": + case "bottom-right": + e = 1; + break; + case "left": + case "top-left": + case "bottom-left": + e = 0; + } + switch (t) { + case "bottom": + case "bottom-right": + case "bottom-left": + r = 1; + break; + case "top": + case "top-right": + case "top-left": + r = 0; + } + return { horizontalAlign: e, verticalAlign: r }; + } + function l(t, e, r, n, i) { + if (i) { + var a = e[t[n].glyph]; + if (a) + for ( + var o = a.metrics.advance, s = (t[n].x + o) * i, l = r; + l <= n; + l++ + ) + t[l].x -= s; + } + } + var c = t("../util/script_detection"), + u = t("../util/verticalize_punctuation"), + f = t("../source/rtl_text_plugin"), + h = { horizontal: 1, vertical: 2, horizontalOnly: 3 }; + e.exports = { + shapeText: function (t, e, r, n, i, a, p, d, g, m) { + var v = t.trim(); + m === h.vertical && (v = u(v)); + var y = [], + x = { + positionedGlyphs: y, + text: v, + top: d[1], + bottom: d[1], + left: d[0], + right: d[0], + writingMode: m, + }, + b = f.processBidirectionalText; + return ( + (function (t, e, r, n, i, a, o, u, f) { + for ( + var p = 0, + d = -17, + g = 0, + m = t.positionedGlyphs, + v = "right" === a ? 1 : "left" === a ? 0 : 0.5, + y = 0, + x = r; + y < x.length; + y += 1 + ) { + var b = x[y]; + if ((b = b.trim()).length) { + for (var _ = m.length, w = 0; w < b.length; w++) { + var k = b.charCodeAt(w), + M = e[k]; + M && + (c.charHasUprightVerticalOrientation(k) && + o !== h.horizontal + ? (m.push({ + glyph: k, + x: p, + y: 0, + vertical: !0, + }), + (p += f + u)) + : (m.push({ + glyph: k, + x: p, + y: d, + vertical: !1, + }), + (p += M.metrics.advance + u))); + } + if (m.length !== _) { + var A = p - u; + ((g = Math.max(A, g)), l(m, e, _, m.length - 1, v)); + } + ((p = 0), (d += n)); + } else d += n; + } + var T = s(i), + S = T.horizontalAlign, + C = T.verticalAlign; + !(function (t, e, r, n, i, a, o) { + for ( + var s = (e - r) * i, l = (-n * o + 0.5) * a, c = 0; + c < t.length; + c++ + ) + ((t[c].x += s), (t[c].y += l)); + })(m, v, S, C, g, n, r.length); + var E = r.length * n; + ((t.top += -C * E), + (t.bottom = t.top + E), + (t.left += -S * g), + (t.right = t.left + g)); + })( + x, + e, + b + ? b(v, o(v, p, r, e)) + : (function (t, e) { + for ( + var r = [], n = 0, i = 0, a = e; + i < a.length; + i += 1 + ) { + var o = a[i]; + (r.push(t.substring(n, o)), (n = o)); + } + return ( + n < t.length && r.push(t.substring(n, t.length)), + r + ); + })(v, o(v, p, r, e)), + n, + i, + a, + m, + p, + g, + ), + !!y.length && x + ); + }, + shapeIcon: function (t, e, r) { + var n = s(r), + i = n.horizontalAlign, + a = n.verticalAlign, + o = e[0], + l = e[1], + c = o - t.displaySize[0] * i, + u = c + t.displaySize[0], + f = l - t.displaySize[1] * a; + return { + image: t, + top: f, + bottom: f + t.displaySize[1], + left: c, + right: u, + }; + }, + WritingMode: h, + }; + var p = { 9: !0, 10: !0, 11: !0, 12: !0, 13: !0, 32: !0 }, + d = { + 10: !0, + 32: !0, + 38: !0, + 40: !0, + 41: !0, + 43: !0, + 45: !0, + 47: !0, + 173: !0, + 183: !0, + 8203: !0, + 8208: !0, + 8211: !0, + 8231: !0, + }; + }, + { + "../source/rtl_text_plugin": 109, + "../util/script_detection": 269, + "../util/verticalize_punctuation": 277, + }, + ], + 227: [ + function (t, e, r) { + function n(t, e, r, n, u, f) { + var h = f.layoutTextSize.evaluate(e), + d = f.layoutIconSize.evaluate(e), + g = f.textMaxSize.evaluate(e); + void 0 === g && (g = h); + var x = t.layers[0].layout, + M = x.get("text-offset").evaluate(e), + A = x.get("icon-offset").evaluate(e), + T = h / 24, + S = t.tilePixelRatio * T, + C = (t.tilePixelRatio * g) / 24, + E = t.tilePixelRatio * d, + L = t.tilePixelRatio * x.get("symbol-spacing"), + z = x.get("text-padding") * t.tilePixelRatio, + P = x.get("icon-padding") * t.tilePixelRatio, + D = (x.get("text-max-angle") / 180) * Math.PI, + O = + "map" === x.get("text-rotation-alignment") && + "line" === x.get("symbol-placement"), + I = + "map" === x.get("icon-rotation-alignment") && + "line" === x.get("symbol-placement"), + R = L / 2, + B = function (a, o) { + o.x < 0 || + o.x >= w || + o.y < 0 || + o.y >= w || + t.symbolInstances.push( + (function ( + t, + e, + r, + n, + a, + o, + s, + l, + u, + f, + h, + d, + g, + x, + b, + _, + w, + M, + A, + T, + S, + C, + ) { + var E, + L, + z = t.addToLineVertexArray(e, r), + P = 0, + D = 0, + O = 0, + I = n.horizontal ? n.horizontal.text : "", + R = []; + n.horizontal && + ((E = new v( + s, + r, + e, + l, + u, + f, + n.horizontal, + h, + d, + g, + t.overscaling, + )), + (D += i( + t, + e, + n.horizontal, + o, + g, + A, + T, + x, + z, + n.vertical ? p.horizontal : p.horizontalOnly, + R, + S, + C, + )), + n.vertical && + (O += i( + t, + e, + n.vertical, + o, + g, + A, + T, + x, + z, + p.vertical, + R, + S, + C, + ))); + var B = E + ? E.boxStartIndex + : t.collisionBoxArray.length, + F = E ? E.boxEndIndex : t.collisionBoxArray.length; + if (a) { + var N = m(e, a, o, w, n.horizontal, A, T); + ((L = new v( + s, + r, + e, + l, + u, + f, + a, + b, + _, + !1, + t.overscaling, + )), + (P = 4 * N.length)); + var j = t.iconSizeData, + V = null; + ("source" === j.functionType + ? (V = [ + 10 * o.layout.get("icon-size").evaluate(T), + ]) + : "composite" === j.functionType && + (V = [ + 10 * C.compositeIconSizes[0].evaluate(T), + 10 * C.compositeIconSizes[1].evaluate(T), + ]), + t.addSymbols( + t.icon, + N, + V, + M, + w, + T, + !1, + e, + z.lineStartIndex, + z.lineLength, + )); + } + var U = L + ? L.boxStartIndex + : t.collisionBoxArray.length, + q = L ? L.boxEndIndex : t.collisionBoxArray.length; + return ( + t.glyphOffsetArray.length >= k.MAX_GLYPHS && + y.warnOnce( + "Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907", + ), + { + key: I, + textBoxStartIndex: B, + textBoxEndIndex: F, + iconBoxStartIndex: U, + iconBoxEndIndex: q, + textOffset: x, + iconOffset: M, + anchor: e, + line: r, + featureIndex: l, + feature: T, + numGlyphVertices: D, + numVerticalGlyphVertices: O, + numIconVertices: P, + textOpacityState: new c(), + iconOpacityState: new c(), + isDuplicate: !1, + placedTextSymbolIndices: R, + crossTileID: 0, + } + ); + })( + t, + o, + a, + r, + n, + t.layers[0], + t.collisionBoxArray, + e.index, + e.sourceLayerIndex, + t.index, + S, + z, + O, + M, + E, + P, + I, + A, + { zoom: t.zoom }, + e, + u, + f, + ), + ); + }; + if ("line" === x.get("symbol-placement")) + for ( + var F = 0, N = l(e.geometry, 0, 0, w, w); + F < N.length; + F += 1 + ) + for ( + var j = N[F], + V = 0, + U = s( + j, + L, + D, + r.vertical || r.horizontal, + n, + 24, + C, + t.overscaling, + w, + ); + V < U.length; + V += 1 + ) { + var q = U[V], + H = r.horizontal; + (H && a(t, H.text, R, q)) || B(j, q); + } + else if ("Polygon" === e.type) + for (var G = 0, W = _(e.geometry, 0); G < W.length; G += 1) { + var Y = W[G], + X = b(Y, 16); + B(Y[0], new o(X.x, X.y, 0)); + } + else if ("LineString" === e.type) + for (var Z = 0, J = e.geometry; Z < J.length; Z += 1) { + var K = J[Z]; + B(K, new o(K[0].x, K[0].y, 0)); + } + else if ("Point" === e.type) + for (var Q = 0, $ = e.geometry; Q < $.length; Q += 1) + for (var tt = 0, et = $[Q]; tt < et.length; tt += 1) { + var rt = et[tt]; + B([rt], new o(rt.x, rt.y, 0)); + } + } + function i(t, e, r, n, i, a, o, s, l, c, u, f, h) { + var p = g(e, r, n, i, a, o, f), + d = t.textSizeData, + m = null; + return ( + "source" === d.functionType + ? (m = [10 * n.layout.get("text-size").evaluate(o)]) + : "composite" === d.functionType && + (m = [ + 10 * h.compositeTextSizes[0].evaluate(o), + 10 * h.compositeTextSizes[1].evaluate(o), + ]), + t.addSymbols( + t.text, + p, + m, + s, + i, + o, + c, + e, + l.lineStartIndex, + l.lineLength, + ), + u.push(t.text.placedSymbolArray.length - 1), + 4 * p.length + ); + } + function a(t, e, r, n) { + var i = t.compareText; + if (e in i) { + for (var a = i[e], o = a.length - 1; o >= 0; o--) + if (n.dist(a[o]) < r) return !0; + } else i[e] = []; + return (i[e].push(n), !1); + } + var o = t("./anchor"), + s = t("./get_anchors"), + l = t("./clip_line"), + c = t("./opacity_state"), + u = t("./shaping"), + f = u.shapeText, + h = u.shapeIcon, + p = u.WritingMode, + d = t("./quads"), + g = d.getGlyphQuads, + m = d.getIconQuads, + v = t("./collision_feature"), + y = t("../util/util"), + x = t("../util/script_detection"), + b = t("../util/find_pole_of_inaccessibility"), + _ = t("../util/classify_rings"), + w = t("../data/extent"), + k = t("../data/bucket/symbol_bucket"), + M = t("../style/evaluation_parameters"); + t("@mapbox/point-geometry"); + e.exports = { + performSymbolLayout: function (t, e, r, i, a, o) { + (t.createArrays(), (t.symbolInstances = [])); + var s = 512 * t.overscaling; + ((t.tilePixelRatio = w / s), + (t.compareText = {}), + (t.iconsNeedLinear = !1)); + var l = t.layers[0].layout, + c = t.layers[0]._unevaluatedLayout._values, + u = {}; + if ("composite" === t.textSizeData.functionType) { + var d = t.textSizeData.zoomRange, + g = d.min, + m = d.max; + u.compositeTextSizes = [ + c["text-size"].possiblyEvaluate(new M(g)), + c["text-size"].possiblyEvaluate(new M(m)), + ]; + } + if ("composite" === t.iconSizeData.functionType) { + var v = t.iconSizeData.zoomRange, + b = v.min, + _ = v.max; + u.compositeIconSizes = [ + c["icon-size"].possiblyEvaluate(new M(b)), + c["icon-size"].possiblyEvaluate(new M(_)), + ]; + } + ((u.layoutTextSize = c["text-size"].possiblyEvaluate( + new M(t.zoom + 1), + )), + (u.layoutIconSize = c["icon-size"].possiblyEvaluate( + new M(t.zoom + 1), + )), + (u.textMaxSize = c["text-size"].possiblyEvaluate( + new M(18), + ))); + for ( + var k = 24 * l.get("text-line-height"), + A = + "map" === l.get("text-rotation-alignment") && + "line" === l.get("symbol-placement"), + T = l.get("text-keep-upright"), + S = 0, + C = t.features; + S < C.length; + S += 1 + ) { + var E = C[S], + L = l.get("text-font").evaluate(E).join(","), + z = e[L] || {}, + P = r[L] || {}, + D = {}, + O = E.text; + if (O) { + var I = x.allowsVerticalWritingMode(O), + R = l + .get("text-offset") + .evaluate(E) + .map(function (t) { + return 24 * t; + }), + B = 24 * l.get("text-letter-spacing").evaluate(E), + F = x.allowsLetterSpacing(O) ? B : 0, + N = l.get("text-anchor").evaluate(E), + j = l.get("text-justify").evaluate(E), + V = + "line" !== l.get("symbol-placement") + ? 24 * l.get("text-max-width").evaluate(E) + : 0; + ((D.horizontal = f( + O, + z, + V, + k, + N, + j, + F, + R, + 24, + p.horizontal, + )), + I && + A && + T && + (D.vertical = f( + O, + z, + V, + k, + N, + j, + F, + R, + 24, + p.vertical, + ))); + } + var U = void 0; + if (E.icon) { + var q = i[E.icon]; + q && + ((U = h( + a[E.icon], + l.get("icon-offset").evaluate(E), + l.get("icon-anchor").evaluate(E), + )), + void 0 === t.sdfIcons + ? (t.sdfIcons = q.sdf) + : t.sdfIcons !== q.sdf && + y.warnOnce( + "Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer", + ), + q.pixelRatio !== t.pixelRatio + ? (t.iconsNeedLinear = !0) + : 0 !== l.get("icon-rotate").constantOr(1) && + (t.iconsNeedLinear = !0)); + } + (D.horizontal || U) && n(t, E, D, U, P, u); + } + o && t.generateCollisionDebugBuffers(); + }, + }; + }, + { + "../data/bucket/symbol_bucket": 51, + "../data/extent": 53, + "../style/evaluation_parameters": 182, + "../util/classify_rings": 255, + "../util/find_pole_of_inaccessibility": 261, + "../util/script_detection": 269, + "../util/util": 275, + "./anchor": 213, + "./clip_line": 215, + "./collision_feature": 216, + "./get_anchors": 219, + "./opacity_state": 222, + "./quads": 225, + "./shaping": 226, + "@mapbox/point-geometry": 4, + }, + ], + 228: [ + function (t, e, r) { + var n = t("../style-spec/expression").normalizePropertyExpression, + i = t("../style-spec/util/interpolate"), + a = t("../util/util"); + e.exports = { + getSizeData: function (t, e) { + var r = e.expression; + if ("constant" === r.kind) + return { + functionType: "constant", + layoutSize: r.evaluate({ zoom: t + 1 }), + }; + if ("source" === r.kind) return { functionType: "source" }; + for (var n = r.zoomStops, i = 0; i < n.length && n[i] <= t; ) + i++; + for ( + var a = (i = Math.max(0, i - 1)); + a < n.length && n[a] < t + 1; + + ) + a++; + a = Math.min(n.length - 1, a); + var o = { min: n[i], max: n[a] }; + return "composite" === r.kind + ? { + functionType: "composite", + zoomRange: o, + propertyValue: e.value, + } + : { + functionType: "camera", + layoutSize: r.evaluate({ zoom: t + 1 }), + zoomRange: o, + sizeRange: { + min: r.evaluate({ zoom: o.min }), + max: r.evaluate({ zoom: o.max }), + }, + propertyValue: e.value, + }; + }, + evaluateSizeForFeature: function (t, e, r) { + var n = e; + return "source" === t.functionType + ? r.lowerSize / 10 + : "composite" === t.functionType + ? i.number(r.lowerSize / 10, r.upperSize / 10, n.uSizeT) + : n.uSize; + }, + evaluateSizeForZoom: function (t, e, r) { + if ("constant" === t.functionType) + return { uSizeT: 0, uSize: t.layoutSize }; + if ("source" === t.functionType) + return { uSizeT: 0, uSize: 0 }; + if ("camera" === t.functionType) { + var i = t.propertyValue, + o = t.zoomRange, + s = t.sizeRange, + l = n(i, r.specification), + c = a.clamp(l.interpolationFactor(e, o.min, o.max), 0, 1); + return { uSizeT: 0, uSize: s.min + c * (s.max - s.min) }; + } + var u = t.propertyValue, + f = t.zoomRange, + h = n(u, r.specification); + return { + uSizeT: a.clamp( + h.interpolationFactor(e, f.min, f.max), + 0, + 1, + ), + uSize: 0, + }; + }, + }; + }, + { + "../style-spec/expression": 139, + "../style-spec/util/interpolate": 158, + "../util/util": 275, + }, + ], + 229: [ + function (t, e, r) { + var n = t("../source/rtl_text_plugin"); + e.exports = function (t, e, r) { + var i = e.layout.get("text-transform").evaluate(r); + return ( + "uppercase" === i + ? (t = t.toLocaleUpperCase()) + : "lowercase" === i && (t = t.toLocaleLowerCase()), + n.applyArabicShaping && (t = n.applyArabicShaping(t)), + t + ); + }; + }, + { "../source/rtl_text_plugin": 109 }, + ], + 230: [ + function (t, e, r) { + var n = t("../util/dom"), + i = t("@mapbox/point-geometry"), + a = { + scrollZoom: t("./handler/scroll_zoom"), + boxZoom: t("./handler/box_zoom"), + dragRotate: t("./handler/drag_rotate"), + dragPan: t("./handler/drag_pan"), + keyboard: t("./handler/keyboard"), + doubleClickZoom: t("./handler/dblclick_zoom"), + touchZoomRotate: t("./handler/touch_zoom_rotate"), + }; + e.exports = function (t, e) { + function r() { + h = null; + } + function o(e, r) { + var i = n.mousePos(l, r); + return t.fire(e, { + lngLat: t.unproject(i), + point: i, + originalEvent: r, + }); + } + function s(e, r) { + var a = n.touchPos(l, r), + o = a.reduce( + function (t, e, r, n) { + return t.add(e.div(n.length)); + }, + new i(0, 0), + ); + return t.fire(e, { + lngLat: t.unproject(o), + point: o, + lngLats: a.map(function (e) { + return t.unproject(e); + }, this), + points: a, + originalEvent: r, + }); + } + var l = t.getCanvasContainer(), + c = null, + u = !1, + f = null, + h = null; + for (var p in a) + ((t[p] = new a[p](t, e)), + e.interactive && e[p] && t[p].enable(e[p])); + (l.addEventListener( + "mouseout", + function (t) { + o("mouseout", t); + }, + !1, + ), + l.addEventListener( + "mousedown", + function (e) { + (t.doubleClickZoom.isActive() || t.stop(), + (f = n.mousePos(l, e)), + o("mousedown", e), + (u = !0)); + }, + !1, + ), + l.addEventListener( + "mouseup", + function (e) { + var r = t.dragRotate && t.dragRotate.isActive(); + (c && !r && o("contextmenu", c), + (c = null), + (u = !1), + o("mouseup", e)); + }, + !1, + ), + l.addEventListener( + "mousemove", + function (e) { + if ( + !( + (t.dragPan && t.dragPan.isActive()) || + (t.dragRotate && t.dragRotate.isActive()) + ) + ) { + for (var r = e.toElement || e.target; r && r !== l; ) + r = r.parentNode; + r === l && o("mousemove", e); + } + }, + !1, + ), + l.addEventListener( + "mouseover", + function (t) { + for (var e = t.toElement || t.target; e && e !== l; ) + e = e.parentNode; + e === l && o("mouseover", t); + }, + !1, + ), + l.addEventListener( + "touchstart", + function (e) { + (t.stop(), + s("touchstart", e), + !e.touches || + e.touches.length > 1 || + (h + ? (clearTimeout(h), (h = null), o("dblclick", e)) + : (h = setTimeout(r, 300)))); + }, + !1, + ), + l.addEventListener( + "touchend", + function (t) { + s("touchend", t); + }, + !1, + ), + l.addEventListener( + "touchmove", + function (t) { + s("touchmove", t); + }, + !1, + ), + l.addEventListener( + "touchcancel", + function (t) { + s("touchcancel", t); + }, + !1, + ), + l.addEventListener( + "click", + function (t) { + n.mousePos(l, t).equals(f) && o("click", t); + }, + !1, + ), + l.addEventListener( + "dblclick", + function (t) { + (o("dblclick", t), t.preventDefault()); + }, + !1, + ), + l.addEventListener( + "contextmenu", + function (e) { + var r = t.dragRotate && t.dragRotate.isActive(); + (u || r ? u && (c = e) : o("contextmenu", e), + e.preventDefault()); + }, + !1, + )); + }; + }, + { + "../util/dom": 259, + "./handler/box_zoom": 239, + "./handler/dblclick_zoom": 240, + "./handler/drag_pan": 241, + "./handler/drag_rotate": 242, + "./handler/keyboard": 243, + "./handler/scroll_zoom": 244, + "./handler/touch_zoom_rotate": 245, + "@mapbox/point-geometry": 4, + }, + ], + 231: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../style-spec/util/interpolate").number, + a = t("../util/browser"), + o = t("../geo/lng_lat"), + s = t("../geo/lng_lat_bounds"), + l = t("@mapbox/point-geometry"), + c = (function (t) { + function e(e, r) { + (t.call(this), + (this.moving = !1), + (this.transform = e), + (this._bearingSnap = r.bearingSnap)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.getCenter = function () { + return this.transform.center; + }), + (e.prototype.setCenter = function (t, e) { + return this.jumpTo({ center: t }, e); + }), + (e.prototype.panBy = function (t, e, r) { + return ( + (t = l.convert(t).mult(-1)), + this.panTo( + this.transform.center, + n.extend({ offset: t }, e), + r, + ) + ); + }), + (e.prototype.panTo = function (t, e, r) { + return this.easeTo(n.extend({ center: t }, e), r); + }), + (e.prototype.getZoom = function () { + return this.transform.zoom; + }), + (e.prototype.setZoom = function (t, e) { + return (this.jumpTo({ zoom: t }, e), this); + }), + (e.prototype.zoomTo = function (t, e, r) { + return this.easeTo(n.extend({ zoom: t }, e), r); + }), + (e.prototype.zoomIn = function (t, e) { + return (this.zoomTo(this.getZoom() + 1, t, e), this); + }), + (e.prototype.zoomOut = function (t, e) { + return (this.zoomTo(this.getZoom() - 1, t, e), this); + }), + (e.prototype.getBearing = function () { + return this.transform.bearing; + }), + (e.prototype.setBearing = function (t, e) { + return (this.jumpTo({ bearing: t }, e), this); + }), + (e.prototype.rotateTo = function (t, e, r) { + return this.easeTo(n.extend({ bearing: t }, e), r); + }), + (e.prototype.resetNorth = function (t, e) { + return ( + this.rotateTo(0, n.extend({ duration: 1e3 }, t), e), + this + ); + }), + (e.prototype.snapToNorth = function (t, e) { + return Math.abs(this.getBearing()) < this._bearingSnap + ? this.resetNorth(t, e) + : this; + }), + (e.prototype.getPitch = function () { + return this.transform.pitch; + }), + (e.prototype.setPitch = function (t, e) { + return (this.jumpTo({ pitch: t }, e), this); + }), + (e.prototype.fitBounds = function (t, e, r) { + if ( + "number" == + typeof (e = n.extend( + { + padding: { top: 0, bottom: 0, right: 0, left: 0 }, + offset: [0, 0], + maxZoom: this.transform.maxZoom, + }, + e, + )).padding + ) { + var i = e.padding; + e.padding = { top: i, bottom: i, right: i, left: i }; + } + if ( + !n.deepEqual( + Object.keys(e.padding).sort(function (t, e) { + return t < e ? -1 : t > e ? 1 : 0; + }), + ["bottom", "left", "right", "top"], + ) + ) + return ( + n.warnOnce( + "options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'", + ), + this + ); + t = s.convert(t); + var a = [ + (e.padding.left - e.padding.right) / 2, + (e.padding.top - e.padding.bottom) / 2, + ], + o = Math.min(e.padding.right, e.padding.left), + c = Math.min(e.padding.top, e.padding.bottom); + e.offset = [e.offset[0] + a[0], e.offset[1] + a[1]]; + var u = l.convert(e.offset), + f = this.transform, + h = f.project(t.getNorthWest()), + p = f.project(t.getSouthEast()), + d = p.sub(h), + g = (f.width - 2 * o - 2 * Math.abs(u.x)) / d.x, + m = (f.height - 2 * c - 2 * Math.abs(u.y)) / d.y; + return m < 0 || g < 0 + ? (n.warnOnce( + "Map cannot fit within canvas with the given bounds, padding, and/or offset.", + ), + this) + : ((e.center = f.unproject(h.add(p).div(2))), + (e.zoom = Math.min( + f.scaleZoom(f.scale * Math.min(g, m)), + e.maxZoom, + )), + (e.bearing = 0), + e.linear ? this.easeTo(e, r) : this.flyTo(e, r)); + }), + (e.prototype.jumpTo = function (t, e) { + this.stop(); + var r = this.transform, + n = !1, + i = !1, + a = !1; + return ( + "zoom" in t && + r.zoom !== +t.zoom && + ((n = !0), (r.zoom = +t.zoom)), + void 0 !== t.center && (r.center = o.convert(t.center)), + "bearing" in t && + r.bearing !== +t.bearing && + ((i = !0), (r.bearing = +t.bearing)), + "pitch" in t && + r.pitch !== +t.pitch && + ((a = !0), (r.pitch = +t.pitch)), + this.fire("movestart", e).fire("move", e), + n && + this.fire("zoomstart", e) + .fire("zoom", e) + .fire("zoomend", e), + i && this.fire("rotate", e), + a && + this.fire("pitchstart", e) + .fire("pitch", e) + .fire("pitchend", e), + this.fire("moveend", e) + ); + }), + (e.prototype.easeTo = function (t, e) { + var r = this; + (this.stop(), + !1 === + (t = n.extend( + { offset: [0, 0], duration: 500, easing: n.ease }, + t, + )).animate && (t.duration = 0)); + var a = this.transform, + s = this.getZoom(), + c = this.getBearing(), + u = this.getPitch(), + f = "zoom" in t ? +t.zoom : s, + h = + "bearing" in t + ? this._normalizeBearing(t.bearing, c) + : c, + p = "pitch" in t ? +t.pitch : u, + d = a.centerPoint.add(l.convert(t.offset)), + g = a.pointLocation(d), + m = o.convert(t.center || g); + this._normalizeCenter(m); + var v, + y, + x = a.project(g), + b = a.project(m).sub(x), + _ = a.zoomScale(f - s); + return ( + t.around && + ((v = o.convert(t.around)), (y = a.locationPoint(v))), + (this.zooming = f !== s), + (this.rotating = c !== h), + (this.pitching = p !== u), + this._prepareEase(e, t.noMoveStart), + clearTimeout(this._onEaseEnd), + this._ease( + function (t) { + if ( + (r.zooming && (a.zoom = i(s, f, t)), + r.rotating && (a.bearing = i(c, h, t)), + r.pitching && (a.pitch = i(u, p, t)), + v) + ) + a.setLocationAtPoint(v, y); + else { + var n = a.zoomScale(a.zoom - s), + o = f > s ? Math.min(2, _) : Math.max(0.5, _), + l = Math.pow(o, 1 - t), + g = a.unproject(x.add(b.mult(t * l)).mult(n)); + a.setLocationAtPoint( + a.renderWorldCopies ? g.wrap() : g, + d, + ); + } + r._fireMoveEvents(e); + }, + function () { + t.delayEndEvents + ? (r._onEaseEnd = setTimeout(function () { + return r._afterEase(e); + }, t.delayEndEvents)) + : r._afterEase(e); + }, + t, + ), + this + ); + }), + (e.prototype._prepareEase = function (t, e) { + ((this.moving = !0), + e || this.fire("movestart", t), + this.zooming && this.fire("zoomstart", t), + this.pitching && this.fire("pitchstart", t)); + }), + (e.prototype._fireMoveEvents = function (t) { + (this.fire("move", t), + this.zooming && this.fire("zoom", t), + this.rotating && this.fire("rotate", t), + this.pitching && this.fire("pitch", t)); + }), + (e.prototype._afterEase = function (t) { + var e = this.zooming, + r = this.pitching; + ((this.moving = !1), + (this.zooming = !1), + (this.rotating = !1), + (this.pitching = !1), + e && this.fire("zoomend", t), + r && this.fire("pitchend", t), + this.fire("moveend", t)); + }), + (e.prototype.flyTo = function (t, e) { + function r(t) { + var e = + (A * A - M * M + (t ? -1 : 1) * E * E * T * T) / + (2 * (t ? A : M) * E * T); + return Math.log(Math.sqrt(e * e + 1) - e); + } + function a(t) { + return (Math.exp(t) - Math.exp(-t)) / 2; + } + function s(t) { + return (Math.exp(t) + Math.exp(-t)) / 2; + } + var c = this; + (this.stop(), + (t = n.extend( + { + offset: [0, 0], + speed: 1.2, + curve: 1.42, + easing: n.ease, + }, + t, + ))); + var u = this.transform, + f = this.getZoom(), + h = this.getBearing(), + p = this.getPitch(), + d = + "zoom" in t + ? n.clamp(+t.zoom, u.minZoom, u.maxZoom) + : f, + g = + "bearing" in t + ? this._normalizeBearing(t.bearing, h) + : h, + m = "pitch" in t ? +t.pitch : p, + v = u.zoomScale(d - f), + y = u.centerPoint.add(l.convert(t.offset)), + x = u.pointLocation(y), + b = o.convert(t.center || x); + this._normalizeCenter(b); + var _ = u.project(x), + w = u.project(b).sub(_), + k = t.curve, + M = Math.max(u.width, u.height), + A = M / v, + T = w.mag(); + if ("minZoom" in t) { + var S = n.clamp( + Math.min(t.minZoom, f, d), + u.minZoom, + u.maxZoom, + ), + C = M / u.zoomScale(S - f); + k = Math.sqrt((C / T) * 2); + } + var E = k * k, + L = r(0), + z = function (t) { + return s(L) / s(L + k * t); + }, + P = function (t) { + return ( + (M * + ((s(L) * + (function (t) { + return a(t) / s(t); + })(L + k * t) - + a(L)) / + E)) / + T + ); + }, + D = (r(1) - L) / k; + if (Math.abs(T) < 1e-6 || !isFinite(D)) { + if (Math.abs(M - A) < 1e-6) return this.easeTo(t, e); + var O = A < M ? -1 : 1; + ((D = Math.abs(Math.log(A / M)) / k), + (P = function () { + return 0; + }), + (z = function (t) { + return Math.exp(O * k * t); + })); + } + if ("duration" in t) t.duration = +t.duration; + else { + var I = + "screenSpeed" in t ? +t.screenSpeed / k : +t.speed; + t.duration = (1e3 * D) / I; + } + return ( + t.maxDuration && + t.duration > t.maxDuration && + (t.duration = 0), + (this.zooming = !0), + (this.rotating = h !== g), + (this.pitching = m !== p), + this._prepareEase(e, !1), + this._ease( + function (t) { + var r = t * D, + n = 1 / z(r); + ((u.zoom = f + u.scaleZoom(n)), + c.rotating && (u.bearing = i(h, g, t)), + c.pitching && (u.pitch = i(p, m, t))); + var a = u.unproject(_.add(w.mult(P(r))).mult(n)); + (u.setLocationAtPoint( + u.renderWorldCopies ? a.wrap() : a, + y, + ), + c._fireMoveEvents(e)); + }, + function () { + return c._afterEase(e); + }, + t, + ), + this + ); + }), + (e.prototype.isEasing = function () { + return !!this._isEasing; + }), + (e.prototype.isMoving = function () { + return this.moving; + }), + (e.prototype.stop = function () { + return (this._onFrame && this._finishAnimation(), this); + }), + (e.prototype._ease = function (t, e, r) { + var n = this; + !1 === r.animate || 0 === r.duration + ? (t(1), e()) + : ((this._easeStart = a.now()), + (this._isEasing = !0), + (this._easeOptions = r), + this._startAnimation( + function (e) { + var r = Math.min( + (a.now() - n._easeStart) / + n._easeOptions.duration, + 1, + ); + (t(n._easeOptions.easing(r)), + 1 === r && n.stop()); + }, + function () { + ((n._isEasing = !1), e()); + }, + )); + }), + (e.prototype._updateCamera = function () { + this._onFrame && this._onFrame(this.transform); + }), + (e.prototype._startAnimation = function (t, e) { + return ( + void 0 === e && (e = function () {}), + this.stop(), + (this._onFrame = t), + (this._finishFn = e), + this._update(), + this + ); + }), + (e.prototype._finishAnimation = function () { + delete this._onFrame; + var t = this._finishFn; + (delete this._finishFn, t.call(this)); + }), + (e.prototype._normalizeBearing = function (t, e) { + t = n.wrap(t, -180, 180); + var r = Math.abs(t - e); + return ( + Math.abs(t - 360 - e) < r && (t -= 360), + Math.abs(t + 360 - e) < r && (t += 360), + t + ); + }), + (e.prototype._normalizeCenter = function (t) { + var e = this.transform; + if (e.renderWorldCopies && !e.lngRange) { + var r = t.lng - e.center.lng; + t.lng += r > 180 ? -360 : r < -180 ? 360 : 0; + } + }), + e + ); + })(t("../util/evented")); + e.exports = c; + }, + { + "../geo/lng_lat": 62, + "../geo/lng_lat_bounds": 63, + "../style-spec/util/interpolate": 158, + "../util/browser": 252, + "../util/evented": 260, + "../util/util": 275, + "@mapbox/point-geometry": 4, + }, + ], + 232: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/config"), + o = function (t) { + ((this.options = t), + i.bindAll( + ["_updateEditLink", "_updateData", "_updateCompact"], + this, + )); + }; + ((o.prototype.getDefaultPosition = function () { + return "bottom-right"; + }), + (o.prototype.onAdd = function (t) { + var e = this.options && this.options.compact; + return ( + (this._map = t), + (this._container = n.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-attrib", + )), + e && this._container.classList.add("mapboxgl-compact"), + this._updateAttributions(), + this._updateEditLink(), + this._map.on("sourcedata", this._updateData), + this._map.on("moveend", this._updateEditLink), + void 0 === e && + (this._map.on("resize", this._updateCompact), + this._updateCompact()), + this._container + ); + }), + (o.prototype.onRemove = function () { + (n.remove(this._container), + this._map.off("sourcedata", this._updateData), + this._map.off("moveend", this._updateEditLink), + this._map.off("resize", this._updateCompact), + (this._map = void 0)); + }), + (o.prototype._updateEditLink = function () { + var t = this._editLink; + t || + (t = this._editLink = + this._container.querySelector(".mapbox-improve-map")); + var e = [ + { key: "owner", value: this.styleOwner }, + { key: "id", value: this.styleId }, + { key: "access_token", value: a.ACCESS_TOKEN }, + ]; + if (t) { + var r = e.reduce(function (t, r, n) { + return ( + r.value && + (t += + r.key + + "=" + + r.value + + (n < e.length - 1 ? "&" : "")), + t + ); + }, "?"); + t.href = + "https://www.mapbox.com/feedback/" + + r + + (this._map._hash + ? this._map._hash.getHashString(!0) + : ""); + } + }), + (o.prototype._updateData = function (t) { + t && + "metadata" === t.sourceDataType && + (this._updateAttributions(), this._updateEditLink()); + }), + (o.prototype._updateAttributions = function () { + if (this._map.style) { + var t = []; + if (this._map.style.stylesheet) { + var e = this._map.style.stylesheet; + ((this.styleOwner = e.owner), (this.styleId = e.id)); + } + var r = this._map.style.sourceCaches; + for (var n in r) { + var i = r[n].getSource(); + i.attribution && + t.indexOf(i.attribution) < 0 && + t.push(i.attribution); + } + (t.sort(function (t, e) { + return t.length - e.length; + }), + (t = t.filter(function (e, r) { + for (var n = r + 1; n < t.length; n++) + if (t[n].indexOf(e) >= 0) return !1; + return !0; + })).length + ? ((this._container.innerHTML = t.join(" | ")), + this._container.classList.remove( + "mapboxgl-attrib-empty", + )) + : this._container.classList.add( + "mapboxgl-attrib-empty", + ), + (this._editLink = null)); + } + }), + (o.prototype._updateCompact = function () { + this._map.getCanvasContainer().offsetWidth <= 640 + ? this._container.classList.add("mapboxgl-compact") + : this._container.classList.remove("mapboxgl-compact"); + }), + (e.exports = o)); + }, + { + "../../util/config": 256, + "../../util/dom": 259, + "../../util/util": 275, + }, + ], + 233: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/window"), + o = function () { + ((this._fullscreen = !1), + i.bindAll(["_onClickFullscreen", "_changeIcon"], this), + "onfullscreenchange" in a.document + ? (this._fullscreenchange = "fullscreenchange") + : "onmozfullscreenchange" in a.document + ? (this._fullscreenchange = "mozfullscreenchange") + : "onwebkitfullscreenchange" in a.document + ? (this._fullscreenchange = "webkitfullscreenchange") + : "onmsfullscreenchange" in a.document && + (this._fullscreenchange = "MSFullscreenChange"), + (this._className = "mapboxgl-ctrl")); + }; + ((o.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._mapContainer = this._map.getContainer()), + (this._container = n.create( + "div", + this._className + " mapboxgl-ctrl-group", + )), + this._checkFullscreenSupport() + ? this._setupUI() + : ((this._container.style.display = "none"), + i.warnOnce( + "This device does not support fullscreen mode.", + )), + this._container + ); + }), + (o.prototype.onRemove = function () { + (n.remove(this._container), + (this._map = null), + a.document.removeEventListener( + this._fullscreenchange, + this._changeIcon, + )); + }), + (o.prototype._checkFullscreenSupport = function () { + return !!( + a.document.fullscreenEnabled || + a.document.mozFullScreenEnabled || + a.document.msFullscreenEnabled || + a.document.webkitFullscreenEnabled + ); + }), + (o.prototype._setupUI = function () { + var t = (this._fullscreenButton = n.create( + "button", + this._className + + "-icon " + + this._className + + "-fullscreen", + this._container, + )); + (t.setAttribute("aria-label", "Toggle fullscreen"), + (t.type = "button"), + this._fullscreenButton.addEventListener( + "click", + this._onClickFullscreen, + ), + a.document.addEventListener( + this._fullscreenchange, + this._changeIcon, + )); + }), + (o.prototype._isFullscreen = function () { + return this._fullscreen; + }), + (o.prototype._changeIcon = function () { + ((a.document.fullscreenElement || + a.document.mozFullScreenElement || + a.document.webkitFullscreenElement || + a.document.msFullscreenElement) === + this._mapContainer) !== + this._fullscreen && + ((this._fullscreen = !this._fullscreen), + this._fullscreenButton.classList.toggle( + this._className + "-shrink", + ), + this._fullscreenButton.classList.toggle( + this._className + "-fullscreen", + )); + }), + (o.prototype._onClickFullscreen = function () { + this._isFullscreen() + ? a.document.exitFullscreen + ? a.document.exitFullscreen() + : a.document.mozCancelFullScreen + ? a.document.mozCancelFullScreen() + : a.document.msExitFullscreen + ? a.document.msExitFullscreen() + : a.document.webkitCancelFullScreen && + a.document.webkitCancelFullScreen() + : this._mapContainer.requestFullscreen + ? this._mapContainer.requestFullscreen() + : this._mapContainer.mozRequestFullScreen + ? this._mapContainer.mozRequestFullScreen() + : this._mapContainer.msRequestFullscreen + ? this._mapContainer.msRequestFullscreen() + : this._mapContainer.webkitRequestFullscreen && + this._mapContainer.webkitRequestFullscreen(); + }), + (e.exports = o)); + }, + { + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 234: [ + function (t, e, r) { + var n, + i = t("../../util/evented"), + a = t("../../util/dom"), + o = t("../../util/window"), + s = t("../../util/util"), + l = t("../../geo/lng_lat"), + c = t("../marker"), + u = { + positionOptions: { enableHighAccuracy: !1, timeout: 6e3 }, + fitBoundsOptions: { maxZoom: 15 }, + trackUserLocation: !1, + showUserLocation: !0, + }, + f = (function (t) { + function e(e) { + (t.call(this), + (this.options = s.extend({}, u, e)), + s.bindAll( + [ + "_onSuccess", + "_onError", + "_finish", + "_setupUI", + "_updateCamera", + "_updateMarker", + "_onClickGeolocate", + ], + this, + )); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._container = a.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + (function (t) { + void 0 !== n + ? t(n) + : void 0 !== o.navigator.permissions + ? o.navigator.permissions + .query({ name: "geolocation" }) + .then(function (e) { + ((n = "denied" !== e.state), t(n)); + }) + : ((n = !!o.navigator.geolocation), t(n)); + })(this._setupUI), + this._container + ); + }), + (e.prototype.onRemove = function () { + (void 0 !== this._geolocationWatchID && + (o.navigator.geolocation.clearWatch( + this._geolocationWatchID, + ), + (this._geolocationWatchID = void 0)), + this.options.showUserLocation && + this._userLocationDotMarker.remove(), + a.remove(this._container), + (this._map = void 0)); + }), + (e.prototype._onSuccess = function (t) { + if (this.options.trackUserLocation) + switch ( + ((this._lastKnownPosition = t), this._watchState) + ) { + case "WAITING_ACTIVE": + case "ACTIVE_LOCK": + case "ACTIVE_ERROR": + ((this._watchState = "ACTIVE_LOCK"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active-error", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active", + )); + break; + case "BACKGROUND": + case "BACKGROUND_ERROR": + ((this._watchState = "BACKGROUND"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background-error", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background", + )); + } + (this.options.showUserLocation && + "OFF" !== this._watchState && + this._updateMarker(t), + (this.options.trackUserLocation && + "ACTIVE_LOCK" !== this._watchState) || + this._updateCamera(t), + this.options.showUserLocation && + this._dotElement.classList.remove( + "mapboxgl-user-location-dot-stale", + ), + this.fire("geolocate", t), + this._finish()); + }), + (e.prototype._updateCamera = function (t) { + var e = new l(t.coords.longitude, t.coords.latitude), + r = t.coords.accuracy; + this._map.fitBounds( + e.toBounds(r), + this.options.fitBoundsOptions, + { geolocateSource: !0 }, + ); + }), + (e.prototype._updateMarker = function (t) { + t + ? this._userLocationDotMarker + .setLngLat([t.coords.longitude, t.coords.latitude]) + .addTo(this._map) + : this._userLocationDotMarker.remove(); + }), + (e.prototype._onError = function (t) { + if (this.options.trackUserLocation) + if (1 === t.code) + ((this._watchState = "OFF"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active-error", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background-error", + ), + void 0 !== this._geolocationWatchID && + this._clearWatch()); + else + switch (this._watchState) { + case "WAITING_ACTIVE": + ((this._watchState = "ACTIVE_ERROR"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active-error", + )); + break; + case "ACTIVE_LOCK": + ((this._watchState = "ACTIVE_ERROR"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active-error", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + )); + break; + case "BACKGROUND": + ((this._watchState = "BACKGROUND_ERROR"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background-error", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + )); + } + ("OFF" !== this._watchState && + this.options.showUserLocation && + this._dotElement.classList.add( + "mapboxgl-user-location-dot-stale", + ), + this.fire("error", t), + this._finish()); + }), + (e.prototype._finish = function () { + (this._timeoutId && clearTimeout(this._timeoutId), + (this._timeoutId = void 0)); + }), + (e.prototype._setupUI = function (t) { + var e = this; + !1 !== t && + (this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + (this._geolocateButton = a.create( + "button", + "mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate", + this._container, + )), + (this._geolocateButton.type = "button"), + this._geolocateButton.setAttribute( + "aria-label", + "Geolocate", + ), + this.options.trackUserLocation && + (this._geolocateButton.setAttribute( + "aria-pressed", + "false", + ), + (this._watchState = "OFF")), + this.options.showUserLocation && + ((this._dotElement = a.create( + "div", + "mapboxgl-user-location-dot", + )), + (this._userLocationDotMarker = new c( + this._dotElement, + )), + this.options.trackUserLocation && + (this._watchState = "OFF")), + this._geolocateButton.addEventListener( + "click", + this._onClickGeolocate.bind(this), + ), + this.options.trackUserLocation && + this._map.on("movestart", function (t) { + t.geolocateSource || + "ACTIVE_LOCK" !== e._watchState || + ((e._watchState = "BACKGROUND"), + e._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background", + ), + e._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + e.fire("trackuserlocationend")); + })); + }), + (e.prototype._onClickGeolocate = function () { + if (this.options.trackUserLocation) { + switch (this._watchState) { + case "OFF": + ((this._watchState = "WAITING_ACTIVE"), + this.fire("trackuserlocationstart")); + break; + case "WAITING_ACTIVE": + case "ACTIVE_LOCK": + case "ACTIVE_ERROR": + case "BACKGROUND_ERROR": + ((this._watchState = "OFF"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-active-error", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background-error", + ), + this.fire("trackuserlocationend")); + break; + case "BACKGROUND": + ((this._watchState = "ACTIVE_LOCK"), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-background", + ), + this._lastKnownPosition && + this._updateCamera(this._lastKnownPosition), + this.fire("trackuserlocationstart")); + } + switch (this._watchState) { + case "WAITING_ACTIVE": + (this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active", + )); + break; + case "ACTIVE_LOCK": + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active", + ); + break; + case "ACTIVE_ERROR": + (this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-active-error", + )); + break; + case "BACKGROUND": + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background", + ); + break; + case "BACKGROUND_ERROR": + (this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-background-error", + )); + } + "OFF" === this._watchState && + void 0 !== this._geolocationWatchID + ? this._clearWatch() + : void 0 === this._geolocationWatchID && + (this._geolocateButton.classList.add( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.setAttribute( + "aria-pressed", + "true", + ), + (this._geolocationWatchID = + o.navigator.geolocation.watchPosition( + this._onSuccess, + this._onError, + this.options.positionOptions, + ))); + } else + (o.navigator.geolocation.getCurrentPosition( + this._onSuccess, + this._onError, + this.options.positionOptions, + ), + (this._timeoutId = setTimeout(this._finish, 1e4))); + }), + (e.prototype._clearWatch = function () { + (o.navigator.geolocation.clearWatch( + this._geolocationWatchID, + ), + (this._geolocationWatchID = void 0), + this._geolocateButton.classList.remove( + "mapboxgl-ctrl-geolocate-waiting", + ), + this._geolocateButton.setAttribute( + "aria-pressed", + "false", + ), + this.options.showUserLocation && + this._updateMarker(null)); + }), + e + ); + })(i); + e.exports = f; + }, + { + "../../geo/lng_lat": 62, + "../../util/dom": 259, + "../../util/evented": 260, + "../../util/util": 275, + "../../util/window": 254, + "../marker": 248, + }, + ], + 235: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = function () { + i.bindAll(["_updateLogo"], this); + }; + ((a.prototype.onAdd = function (t) { + ((this._map = t), + (this._container = n.create("div", "mapboxgl-ctrl"))); + var e = n.create("a", "mapboxgl-ctrl-logo"); + return ( + (e.target = "_blank"), + (e.href = "https://www.mapbox.com/"), + e.setAttribute("aria-label", "Mapbox logo"), + this._container.appendChild(e), + (this._container.style.display = "none"), + this._map.on("sourcedata", this._updateLogo), + this._updateLogo(), + this._container + ); + }), + (a.prototype.onRemove = function () { + (n.remove(this._container), + this._map.off("sourcedata", this._updateLogo)); + }), + (a.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (a.prototype._updateLogo = function (t) { + (t && "metadata" !== t.sourceDataType) || + (this._container.style.display = this._logoRequired() + ? "block" + : "none"); + }), + (a.prototype._logoRequired = function () { + if (this._map.style) { + var t = this._map.style.sourceCaches; + for (var e in t) + if (t[e].getSource().mapbox_logo) return !0; + return !1; + } + }), + (e.exports = a)); + }, + { "../../util/dom": 259, "../../util/util": 275 }, + ], + 236: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../handler/drag_rotate"), + o = { showCompass: !0, showZoom: !0 }, + s = function (t) { + var e = this; + ((this.options = i.extend({}, o, t)), + (this._container = n.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-group", + )), + this._container.addEventListener( + "contextmenu", + function (t) { + return t.preventDefault(); + }, + ), + this.options.showZoom && + ((this._zoomInButton = this._createButton( + "mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in", + "Zoom In", + function () { + return e._map.zoomIn(); + }, + )), + (this._zoomOutButton = this._createButton( + "mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out", + "Zoom Out", + function () { + return e._map.zoomOut(); + }, + ))), + this.options.showCompass && + (i.bindAll(["_rotateCompassArrow"], this), + (this._compass = this._createButton( + "mapboxgl-ctrl-icon mapboxgl-ctrl-compass", + "Reset North", + function () { + return e._map.resetNorth(); + }, + )), + (this._compassArrow = n.create( + "span", + "mapboxgl-ctrl-compass-arrow", + this._compass, + )))); + }; + ((s.prototype._rotateCompassArrow = function () { + var t = + "rotate(" + + this._map.transform.angle * (180 / Math.PI) + + "deg)"; + this._compassArrow.style.transform = t; + }), + (s.prototype.onAdd = function (t) { + return ( + (this._map = t), + this.options.showCompass && + (this._map.on("rotate", this._rotateCompassArrow), + this._rotateCompassArrow(), + (this._handler = new a(t, { + button: "left", + element: this._compass, + })), + this._handler.enable()), + this._container + ); + }), + (s.prototype.onRemove = function () { + (n.remove(this._container), + this.options.showCompass && + (this._map.off("rotate", this._rotateCompassArrow), + this._handler.disable(), + delete this._handler), + delete this._map); + }), + (s.prototype._createButton = function (t, e, r) { + var i = n.create("button", t, this._container); + return ( + (i.type = "button"), + i.setAttribute("aria-label", e), + i.addEventListener("click", r), + i + ); + }), + (e.exports = s)); + }, + { + "../../util/dom": 259, + "../../util/util": 275, + "../handler/drag_rotate": 242, + }, + ], + 237: [ + function (t, e, r) { + function n(t, e, r) { + var n = (r && r.maxWidth) || 100, + a = t._container.clientHeight / 2, + o = (function (t, e) { + var r = Math.PI / 180, + n = t.lat * r, + i = e.lat * r, + a = + Math.sin(n) * Math.sin(i) + + Math.cos(n) * + Math.cos(i) * + Math.cos((e.lng - t.lng) * r); + return 6371e3 * Math.acos(Math.min(a, 1)); + })(t.unproject([0, a]), t.unproject([n, a])); + if (r && "imperial" === r.unit) { + var s = 3.2808 * o; + s > 5280 ? i(e, n, s / 5280, "mi") : i(e, n, s, "ft"); + } else if (r && "nautical" === r.unit) { + i(e, n, o / 1852, "nm"); + } else i(e, n, o, "m"); + } + function i(t, e, r, n) { + var i = (function (t) { + var e = Math.pow(10, ("" + Math.floor(t)).length - 1), + r = t / e; + return ( + e * + (r = + r >= 10 ? 10 : r >= 5 ? 5 : r >= 3 ? 3 : r >= 2 ? 2 : 1) + ); + })(r), + a = i / r; + ("m" === n && i >= 1e3 && ((i /= 1e3), (n = "km")), + (t.style.width = e * a + "px"), + (t.innerHTML = i + n)); + } + var a = t("../../util/dom"), + o = t("../../util/util"), + s = function (t) { + ((this.options = t), o.bindAll(["_onMove"], this)); + }; + ((s.prototype.getDefaultPosition = function () { + return "bottom-left"; + }), + (s.prototype._onMove = function () { + n(this._map, this._container, this.options); + }), + (s.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._container = a.create( + "div", + "mapboxgl-ctrl mapboxgl-ctrl-scale", + t.getContainer(), + )), + this._map.on("move", this._onMove), + this._onMove(), + this._container + ); + }), + (s.prototype.onRemove = function () { + (a.remove(this._container), + this._map.off("move", this._onMove), + (this._map = void 0)); + }), + (e.exports = s)); + }, + { "../../util/dom": 259, "../../util/util": 275 }, + ], + 238: [function (t, e, r) {}, {}], + 239: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../geo/lng_lat_bounds"), + a = t("../../util/util"), + o = t("../../util/window"), + s = function (t) { + ((this._map = t), + (this._el = t.getCanvasContainer()), + (this._container = t.getContainer()), + a.bindAll( + [ + "_onMouseDown", + "_onMouseMove", + "_onMouseUp", + "_onKeyDown", + ], + this, + )); + }; + ((s.prototype.isEnabled = function () { + return !!this._enabled; + }), + (s.prototype.isActive = function () { + return !!this._active; + }), + (s.prototype.enable = function () { + this.isEnabled() || + (this._map.dragPan && this._map.dragPan.disable(), + this._el.addEventListener( + "mousedown", + this._onMouseDown, + !1, + ), + this._map.dragPan && this._map.dragPan.enable(), + (this._enabled = !0)); + }), + (s.prototype.disable = function () { + this.isEnabled() && + (this._el.removeEventListener( + "mousedown", + this._onMouseDown, + ), + (this._enabled = !1)); + }), + (s.prototype._onMouseDown = function (t) { + t.shiftKey && + 0 === t.button && + (o.document.addEventListener( + "mousemove", + this._onMouseMove, + !1, + ), + o.document.addEventListener("keydown", this._onKeyDown, !1), + o.document.addEventListener("mouseup", this._onMouseUp, !1), + n.disableDrag(), + (this._startPos = n.mousePos(this._el, t)), + (this._active = !0)); + }), + (s.prototype._onMouseMove = function (t) { + var e = this._startPos, + r = n.mousePos(this._el, t); + this._box || + ((this._box = n.create( + "div", + "mapboxgl-boxzoom", + this._container, + )), + this._container.classList.add("mapboxgl-crosshair"), + this._fireEvent("boxzoomstart", t)); + var i = Math.min(e.x, r.x), + a = Math.max(e.x, r.x), + o = Math.min(e.y, r.y), + s = Math.max(e.y, r.y); + (n.setTransform( + this._box, + "translate(" + i + "px," + o + "px)", + ), + (this._box.style.width = a - i + "px"), + (this._box.style.height = s - o + "px")); + }), + (s.prototype._onMouseUp = function (t) { + if (0 === t.button) { + var e = this._startPos, + r = n.mousePos(this._el, t), + a = new i() + .extend(this._map.unproject(e)) + .extend(this._map.unproject(r)); + (this._finish(), + e.x === r.x && e.y === r.y + ? this._fireEvent("boxzoomcancel", t) + : this._map + .fitBounds(a, { linear: !0 }) + .fire("boxzoomend", { + originalEvent: t, + boxZoomBounds: a, + })); + } + }), + (s.prototype._onKeyDown = function (t) { + 27 === t.keyCode && + (this._finish(), this._fireEvent("boxzoomcancel", t)); + }), + (s.prototype._finish = function () { + ((this._active = !1), + o.document.removeEventListener( + "mousemove", + this._onMouseMove, + !1, + ), + o.document.removeEventListener( + "keydown", + this._onKeyDown, + !1, + ), + o.document.removeEventListener( + "mouseup", + this._onMouseUp, + !1, + ), + this._container.classList.remove("mapboxgl-crosshair"), + this._box && (n.remove(this._box), (this._box = null)), + n.enableDrag()); + }), + (s.prototype._fireEvent = function (t, e) { + return this._map.fire(t, { originalEvent: e }); + }), + (e.exports = s)); + }, + { + "../../geo/lng_lat_bounds": 63, + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 240: [ + function (t, e, r) { + var n = t("../../util/util"), + i = function (t) { + ((this._map = t), + n.bindAll(["_onDblClick", "_onZoomEnd"], this)); + }; + ((i.prototype.isEnabled = function () { + return !!this._enabled; + }), + (i.prototype.isActive = function () { + return !!this._active; + }), + (i.prototype.enable = function () { + this.isEnabled() || + (this._map.on("dblclick", this._onDblClick), + (this._enabled = !0)); + }), + (i.prototype.disable = function () { + this.isEnabled() && + (this._map.off("dblclick", this._onDblClick), + (this._enabled = !1)); + }), + (i.prototype._onDblClick = function (t) { + ((this._active = !0), + this._map.on("zoomend", this._onZoomEnd), + this._map.zoomTo( + this._map.getZoom() + (t.originalEvent.shiftKey ? -1 : 1), + { around: t.lngLat }, + t, + )); + }), + (i.prototype._onZoomEnd = function () { + ((this._active = !1), + this._map.off("zoomend", this._onZoomEnd)); + }), + (e.exports = i)); + }, + { "../../util/util": 275 }, + ], + 241: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/window"), + o = t("../../util/browser"), + s = i.bezier(0, 0, 0.3, 1), + l = function (t) { + ((this._map = t), + (this._el = t.getCanvasContainer()), + i.bindAll( + [ + "_onDown", + "_onMove", + "_onUp", + "_onTouchEnd", + "_onMouseUp", + "_onDragFrame", + "_onDragFinished", + ], + this, + )); + }; + ((l.prototype.isEnabled = function () { + return !!this._enabled; + }), + (l.prototype.isActive = function () { + return !!this._active; + }), + (l.prototype.enable = function () { + this.isEnabled() || + (this._el.classList.add("mapboxgl-touch-drag-pan"), + this._el.addEventListener("mousedown", this._onDown), + this._el.addEventListener("touchstart", this._onDown), + (this._enabled = !0)); + }), + (l.prototype.disable = function () { + this.isEnabled() && + (this._el.classList.remove("mapboxgl-touch-drag-pan"), + this._el.removeEventListener("mousedown", this._onDown), + this._el.removeEventListener("touchstart", this._onDown), + (this._enabled = !1)); + }), + (l.prototype._onDown = function (t) { + this._ignoreEvent(t) || + this.isActive() || + (t.touches + ? (a.document.addEventListener("touchmove", this._onMove), + a.document.addEventListener( + "touchend", + this._onTouchEnd, + )) + : (a.document.addEventListener("mousemove", this._onMove), + a.document.addEventListener( + "mouseup", + this._onMouseUp, + )), + a.addEventListener("blur", this._onMouseUp), + (this._active = !1), + (this._previousPos = n.mousePos(this._el, t)), + (this._inertia = [[o.now(), this._previousPos]])); + }), + (l.prototype._onMove = function (t) { + if (!this._ignoreEvent(t)) { + ((this._lastMoveEvent = t), t.preventDefault()); + var e = n.mousePos(this._el, t); + if ( + (this._drainInertiaBuffer(), + this._inertia.push([o.now(), e]), + !this._previousPos) + ) + return void (this._previousPos = e); + ((this._pos = e), + this.isActive() || + ((this._active = !0), + (this._map.moving = !0), + this._fireEvent("dragstart", t), + this._fireEvent("movestart", t), + this._map._startAnimation( + this._onDragFrame, + this._onDragFinished, + )), + this._map._update()); + } + }), + (l.prototype._onDragFrame = function (t) { + var e = this._lastMoveEvent; + e && + (t.setLocationAtPoint( + t.pointLocation(this._previousPos), + this._pos, + ), + this._fireEvent("drag", e), + this._fireEvent("move", e), + (this._previousPos = this._pos), + delete this._lastMoveEvent); + }), + (l.prototype._onDragFinished = function (t) { + var e = this; + if (this.isActive()) { + ((this._active = !1), + delete this._lastMoveEvent, + delete this._previousPos, + delete this._pos, + this._fireEvent("dragend", t), + this._drainInertiaBuffer()); + var r = function () { + ((e._map.moving = !1), e._fireEvent("moveend", t)); + }, + n = this._inertia; + if (n.length < 2) return void r(); + var i = n[n.length - 1], + a = n[0], + o = i[1].sub(a[1]), + l = (i[0] - a[0]) / 1e3; + if (0 === l || i[1].equals(a[1])) return void r(); + var c = o.mult(0.3 / l), + u = c.mag(); + u > 1400 && ((u = 1400), c._unit()._mult(u)); + var f = u / 750, + h = c.mult(-f / 2); + this._map.panBy( + h, + { duration: 1e3 * f, easing: s, noMoveStart: !0 }, + { originalEvent: t }, + ); + } + }), + (l.prototype._onUp = function (t) { + this._onDragFinished(t); + }), + (l.prototype._onMouseUp = function (t) { + this._ignoreEvent(t) || + (this._onUp(t), + a.document.removeEventListener("mousemove", this._onMove), + a.document.removeEventListener("mouseup", this._onMouseUp), + a.removeEventListener("blur", this._onMouseUp)); + }), + (l.prototype._onTouchEnd = function (t) { + this._ignoreEvent(t) || + (this._onUp(t), + a.document.removeEventListener("touchmove", this._onMove), + a.document.removeEventListener( + "touchend", + this._onTouchEnd, + )); + }), + (l.prototype._fireEvent = function (t, e) { + return this._map.fire(t, e ? { originalEvent: e } : {}); + }), + (l.prototype._ignoreEvent = function (t) { + var e = this._map; + return ( + !(!e.boxZoom || !e.boxZoom.isActive()) || + !(!e.dragRotate || !e.dragRotate.isActive()) || + (t.touches + ? t.touches.length > 1 + : !!t.ctrlKey || + ("mousemove" !== t.type && t.button && 0 !== t.button)) + ); + }), + (l.prototype._drainInertiaBuffer = function () { + for ( + var t = this._inertia, e = o.now(); + t.length > 0 && e - t[0][0] > 160; + + ) + t.shift(); + }), + (e.exports = l)); + }, + { + "../../util/browser": 252, + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 242: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/window"), + o = t("../../util/browser"), + s = i.bezier(0, 0, 0.25, 1), + l = function (t, e) { + ((this._map = t), + (this._el = e.element || t.getCanvasContainer()), + (this._button = e.button || "right"), + (this._bearingSnap = e.bearingSnap || 0), + (this._pitchWithRotate = !1 !== e.pitchWithRotate), + i.bindAll( + [ + "_onDown", + "_onMove", + "_onUp", + "_onDragFrame", + "_onDragFinished", + ], + this, + )); + }; + ((l.prototype.isEnabled = function () { + return !!this._enabled; + }), + (l.prototype.isActive = function () { + return !!this._active; + }), + (l.prototype.enable = function () { + this.isEnabled() || + (this._el.addEventListener("mousedown", this._onDown), + (this._enabled = !0)); + }), + (l.prototype.disable = function () { + this.isEnabled() && + (this._el.removeEventListener("mousedown", this._onDown), + (this._enabled = !1)); + }), + (l.prototype._onDown = function (t) { + if ( + !( + (this._map.boxZoom && this._map.boxZoom.isActive()) || + (this._map.dragPan && this._map.dragPan.isActive()) || + this.isActive() + ) + ) { + if ("right" === this._button) { + var e = t.ctrlKey ? 0 : 2, + r = t.button; + if ( + (void 0 !== a.InstallTrigger && + 2 === t.button && + t.ctrlKey && + a.navigator.platform.toUpperCase().indexOf("MAC") >= + 0 && + (r = 0), + r !== e) + ) + return; + } else if (t.ctrlKey || 0 !== t.button) return; + (n.disableDrag(), + a.document.addEventListener("mousemove", this._onMove, { + capture: !0, + }), + a.document.addEventListener("mouseup", this._onUp), + a.addEventListener("blur", this._onUp), + (this._active = !1), + (this._inertia = [[o.now(), this._map.getBearing()]]), + (this._previousPos = n.mousePos(this._el, t)), + (this._center = this._map.transform.centerPoint), + t.preventDefault()); + } + }), + (l.prototype._onMove = function (t) { + this._lastMoveEvent = t; + var e = n.mousePos(this._el, t); + this._previousPos + ? ((this._pos = e), + this.isActive() || + ((this._active = !0), + (this._map.moving = !0), + this._fireEvent("rotatestart", t), + this._fireEvent("movestart", t), + this._pitchWithRotate && + this._fireEvent("pitchstart", t), + this._map._startAnimation( + this._onDragFrame, + this._onDragFinished, + )), + this._map._update()) + : (this._previousPos = e); + }), + (l.prototype._onUp = function (t) { + (a.document.removeEventListener("mousemove", this._onMove, { + capture: !0, + }), + a.document.removeEventListener("mouseup", this._onUp), + a.removeEventListener("blur", this._onUp), + n.enableDrag(), + this._onDragFinished(t)); + }), + (l.prototype._onDragFrame = function (t) { + var e = this._lastMoveEvent; + if (e) { + var r = this._previousPos, + n = this._pos, + i = 0.8 * (r.x - n.x), + a = -0.5 * (r.y - n.y), + s = t.bearing - i, + l = t.pitch - a, + c = this._inertia, + u = c[c.length - 1]; + (this._drainInertiaBuffer(), + c.push([o.now(), this._map._normalizeBearing(s, u[1])]), + (t.bearing = s), + this._pitchWithRotate && + (this._fireEvent("pitch", e), (t.pitch = l)), + this._fireEvent("rotate", e), + this._fireEvent("move", e), + delete this._lastMoveEvent, + (this._previousPos = this._pos)); + } + }), + (l.prototype._onDragFinished = function (t) { + var e = this; + if (this.isActive()) { + ((this._active = !1), + delete this._lastMoveEvent, + delete this._previousPos, + this._fireEvent("rotateend", t), + this._drainInertiaBuffer()); + var r = this._map, + n = r.getBearing(), + i = this._inertia, + a = function () { + (Math.abs(n) < e._bearingSnap + ? r.resetNorth( + { noMoveStart: !0 }, + { originalEvent: t }, + ) + : ((e._map.moving = !1), e._fireEvent("moveend", t)), + e._pitchWithRotate && e._fireEvent("pitchend", t)); + }; + if (i.length < 2) return void a(); + var o = i[0], + l = i[i.length - 1], + c = i[i.length - 2], + u = r._normalizeBearing(n, c[1]), + f = l[1] - o[1], + h = f < 0 ? -1 : 1, + p = (l[0] - o[0]) / 1e3; + if (0 === f || 0 === p) return void a(); + var d = Math.abs(f * (0.25 / p)); + d > 180 && (d = 180); + var g = d / 180; + ((u += h * d * (g / 2)), + Math.abs(r._normalizeBearing(u, 0)) < this._bearingSnap && + (u = r._normalizeBearing(0, u)), + r.rotateTo( + u, + { duration: 1e3 * g, easing: s, noMoveStart: !0 }, + { originalEvent: t }, + )); + } + }), + (l.prototype._fireEvent = function (t, e) { + return this._map.fire(t, e ? { originalEvent: e } : {}); + }), + (l.prototype._drainInertiaBuffer = function () { + for ( + var t = this._inertia, e = o.now(); + t.length > 0 && e - t[0][0] > 160; + + ) + t.shift(); + }), + (e.exports = l)); + }, + { + "../../util/browser": 252, + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 243: [ + function (t, e, r) { + function n(t) { + return t * (2 - t); + } + var i = t("../../util/util"), + a = function (t) { + ((this._map = t), + (this._el = t.getCanvasContainer()), + i.bindAll(["_onKeyDown"], this)); + }; + ((a.prototype.isEnabled = function () { + return !!this._enabled; + }), + (a.prototype.enable = function () { + this.isEnabled() || + (this._el.addEventListener("keydown", this._onKeyDown, !1), + (this._enabled = !0)); + }), + (a.prototype.disable = function () { + this.isEnabled() && + (this._el.removeEventListener("keydown", this._onKeyDown), + (this._enabled = !1)); + }), + (a.prototype._onKeyDown = function (t) { + if (!(t.altKey || t.ctrlKey || t.metaKey)) { + var e = 0, + r = 0, + i = 0, + a = 0, + o = 0; + switch (t.keyCode) { + case 61: + case 107: + case 171: + case 187: + e = 1; + break; + case 189: + case 109: + case 173: + e = -1; + break; + case 37: + t.shiftKey ? (r = -1) : (t.preventDefault(), (a = -1)); + break; + case 39: + t.shiftKey ? (r = 1) : (t.preventDefault(), (a = 1)); + break; + case 38: + t.shiftKey ? (i = 1) : (t.preventDefault(), (o = -1)); + break; + case 40: + t.shiftKey ? (i = -1) : ((o = 1), t.preventDefault()); + break; + default: + return; + } + var s = this._map, + l = s.getZoom(), + c = { + duration: 300, + delayEndEvents: 500, + easing: n, + zoom: e ? Math.round(l) + e * (t.shiftKey ? 2 : 1) : l, + bearing: s.getBearing() + 15 * r, + pitch: s.getPitch() + 10 * i, + offset: [100 * -a, 100 * -o], + center: s.getCenter(), + }; + s.easeTo(c, { originalEvent: t }); + } + }), + (e.exports = a)); + }, + { "../../util/util": 275 }, + ], + 244: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/browser"), + o = t("../../util/window"), + s = t("../../style-spec/util/interpolate").number, + l = t("../../geo/lng_lat"), + c = o.navigator.userAgent.toLowerCase(), + u = -1 !== c.indexOf("firefox"), + f = -1 !== c.indexOf("safari") && -1 === c.indexOf("chrom"), + h = function (t) { + ((this._map = t), + (this._el = t.getCanvasContainer()), + (this._delta = 0), + i.bindAll( + [ + "_onWheel", + "_onTimeout", + "_onScrollFrame", + "_onScrollFinished", + ], + this, + )); + }; + ((h.prototype.isEnabled = function () { + return !!this._enabled; + }), + (h.prototype.isActive = function () { + return !!this._active; + }), + (h.prototype.enable = function (t) { + this.isEnabled() || + (this._el.addEventListener("wheel", this._onWheel, !1), + this._el.addEventListener("mousewheel", this._onWheel, !1), + (this._enabled = !0), + (this._aroundCenter = t && "center" === t.around)); + }), + (h.prototype.disable = function () { + this.isEnabled() && + (this._el.removeEventListener("wheel", this._onWheel), + this._el.removeEventListener("mousewheel", this._onWheel), + (this._enabled = !1)); + }), + (h.prototype._onWheel = function (t) { + var e = 0; + "wheel" === t.type + ? ((e = t.deltaY), + u && + t.deltaMode === o.WheelEvent.DOM_DELTA_PIXEL && + (e /= a.devicePixelRatio), + t.deltaMode === o.WheelEvent.DOM_DELTA_LINE && (e *= 40)) + : "mousewheel" === t.type && + ((e = -t.wheelDeltaY), f && (e /= 3)); + var r = a.now(), + n = r - (this._lastWheelEventTime || 0); + ((this._lastWheelEventTime = r), + 0 !== e && e % 4.000244140625 == 0 + ? (this._type = "wheel") + : 0 !== e && Math.abs(e) < 4 + ? (this._type = "trackpad") + : n > 400 + ? ((this._type = null), + (this._lastValue = e), + (this._timeout = setTimeout( + this._onTimeout, + 40, + t, + ))) + : this._type || + ((this._type = + Math.abs(n * e) < 200 ? "trackpad" : "wheel"), + this._timeout && + (clearTimeout(this._timeout), + (this._timeout = null), + (e += this._lastValue))), + t.shiftKey && e && (e /= 4), + this._type && + ((this._lastWheelEvent = t), + (this._delta -= e), + this.isActive() || this._start(t)), + t.preventDefault()); + }), + (h.prototype._onTimeout = function (t) { + ((this._type = "wheel"), + (this._delta -= this._lastValue), + this.isActive() || this._start(t)); + }), + (h.prototype._start = function (t) { + if (this._delta) { + ((this._active = !0), + (this._map.moving = !0), + (this._map.zooming = !0), + this._map.fire("movestart", { originalEvent: t }), + this._map.fire("zoomstart", { originalEvent: t }), + clearTimeout(this._finishTimeout)); + var e = n.mousePos(this._el, t); + ((this._around = l.convert( + this._aroundCenter + ? this._map.getCenter() + : this._map.unproject(e), + )), + (this._aroundPoint = this._map.transform.locationPoint( + this._around, + )), + this._map._startAnimation( + this._onScrollFrame, + this._onScrollFinished, + )); + } + }), + (h.prototype._onScrollFrame = function (t) { + if (this.isActive()) { + if (0 !== this._delta) { + var e = + "wheel" === this._type && + Math.abs(this._delta) > 4.000244140625 + ? 1 / 450 + : 0.01, + r = 2 / (1 + Math.exp(-Math.abs(this._delta * e))); + this._delta < 0 && 0 !== r && (r = 1 / r); + var n = + "number" == typeof this._targetZoom + ? t.zoomScale(this._targetZoom) + : t.scale; + ((this._targetZoom = Math.min( + t.maxZoom, + Math.max(t.minZoom, t.scaleZoom(n * r)), + )), + "wheel" === this._type && + ((this._startZoom = t.zoom), + (this._easing = this._smoothOutEasing(200))), + (this._delta = 0)); + } + if ("wheel" === this._type) { + var i = Math.min( + (a.now() - this._lastWheelEventTime) / 200, + 1, + ), + o = this._easing(i); + ((t.zoom = s(this._startZoom, this._targetZoom, o)), + 1 === i && this._map.stop()); + } else ((t.zoom = this._targetZoom), this._map.stop()); + (t.setLocationAtPoint(this._around, this._aroundPoint), + this._map.fire("move", { + originalEvent: this._lastWheelEvent, + }), + this._map.fire("zoom", { + originalEvent: this._lastWheelEvent, + })); + } + }), + (h.prototype._onScrollFinished = function () { + var t = this; + this.isActive() && + ((this._active = !1), + (this._finishTimeout = setTimeout(function () { + ((t._map.moving = !1), + (t._map.zooming = !1), + t._map.fire("zoomend"), + t._map.fire("moveend"), + delete t._targetZoom); + }, 200))); + }), + (h.prototype._smoothOutEasing = function (t) { + var e = i.ease; + if (this._prevEase) { + var r = this._prevEase, + n = (a.now() - r.start) / r.duration, + o = r.easing(n + 0.01) - r.easing(n), + s = (0.27 / Math.sqrt(o * o + 1e-4)) * 0.01, + l = Math.sqrt(0.0729 - s * s); + e = i.bezier(s, l, 0.25, 1); + } + return ( + (this._prevEase = { + start: a.now(), + duration: t, + easing: e, + }), + e + ); + }), + (e.exports = h)); + }, + { + "../../geo/lng_lat": 62, + "../../style-spec/util/interpolate": 158, + "../../util/browser": 252, + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 245: [ + function (t, e, r) { + var n = t("../../util/dom"), + i = t("../../util/util"), + a = t("../../util/window"), + o = t("../../util/browser"), + s = i.bezier(0, 0, 0.15, 1), + l = function (t) { + ((this._map = t), + (this._el = t.getCanvasContainer()), + i.bindAll(["_onStart", "_onMove", "_onEnd"], this)); + }; + ((l.prototype.isEnabled = function () { + return !!this._enabled; + }), + (l.prototype.enable = function (t) { + this.isEnabled() || + (this._el.classList.add("mapboxgl-touch-zoom-rotate"), + this._el.addEventListener("touchstart", this._onStart, !1), + (this._enabled = !0), + (this._aroundCenter = t && "center" === t.around)); + }), + (l.prototype.disable = function () { + this.isEnabled() && + (this._el.classList.remove("mapboxgl-touch-zoom-rotate"), + this._el.removeEventListener("touchstart", this._onStart), + (this._enabled = !1)); + }), + (l.prototype.disableRotation = function () { + this._rotationDisabled = !0; + }), + (l.prototype.enableRotation = function () { + this._rotationDisabled = !1; + }), + (l.prototype._onStart = function (t) { + if (2 === t.touches.length) { + var e = n.mousePos(this._el, t.touches[0]), + r = n.mousePos(this._el, t.touches[1]); + ((this._startVec = e.sub(r)), + (this._startScale = this._map.transform.scale), + (this._startBearing = this._map.transform.bearing), + (this._gestureIntent = void 0), + (this._inertia = []), + a.document.addEventListener( + "touchmove", + this._onMove, + !1, + ), + a.document.addEventListener("touchend", this._onEnd, !1)); + } + }), + (l.prototype._onMove = function (t) { + if (2 === t.touches.length) { + var e = n.mousePos(this._el, t.touches[0]), + r = n.mousePos(this._el, t.touches[1]), + i = e.add(r).div(2), + a = e.sub(r), + s = a.mag() / this._startVec.mag(), + l = this._rotationDisabled + ? 0 + : (180 * a.angleWith(this._startVec)) / Math.PI, + c = this._map; + if (this._gestureIntent) { + var u = { duration: 0, around: c.unproject(i) }; + ("rotate" === this._gestureIntent && + (u.bearing = this._startBearing + l), + ("zoom" !== this._gestureIntent && + "rotate" !== this._gestureIntent) || + (u.zoom = c.transform.scaleZoom( + this._startScale * s, + )), + c.stop(), + this._drainInertiaBuffer(), + this._inertia.push([o.now(), s, i]), + c.easeTo(u, { originalEvent: t })); + } else { + var f = Math.abs(1 - s) > 0.15; + (Math.abs(l) > 10 + ? (this._gestureIntent = "rotate") + : f && (this._gestureIntent = "zoom"), + this._gestureIntent && + ((this._startVec = a), + (this._startScale = c.transform.scale), + (this._startBearing = c.transform.bearing))); + } + t.preventDefault(); + } + }), + (l.prototype._onEnd = function (t) { + (a.document.removeEventListener("touchmove", this._onMove), + a.document.removeEventListener("touchend", this._onEnd), + this._drainInertiaBuffer()); + var e = this._inertia, + r = this._map; + if (e.length < 2) r.snapToNorth({}, { originalEvent: t }); + else { + var n = e[e.length - 1], + i = e[0], + o = r.transform.scaleZoom(this._startScale * n[1]), + l = r.transform.scaleZoom(this._startScale * i[1]), + c = o - l, + u = (n[0] - i[0]) / 1e3, + f = n[2]; + if (0 !== u && o !== l) { + var h = (0.15 * c) / u; + Math.abs(h) > 2.5 && (h = h > 0 ? 2.5 : -2.5); + var p = 1e3 * Math.abs(h / (12 * 0.15)), + d = o + (h * p) / 2e3; + (d < 0 && (d = 0), + r.easeTo( + { + zoom: d, + duration: p, + easing: s, + around: this._aroundCenter + ? r.getCenter() + : r.unproject(f), + }, + { originalEvent: t }, + )); + } else r.snapToNorth({}, { originalEvent: t }); + } + }), + (l.prototype._drainInertiaBuffer = function () { + for ( + var t = this._inertia, e = o.now(); + t.length > 2 && e - t[0][0] > 160; + + ) + t.shift(); + }), + (e.exports = l)); + }, + { + "../../util/browser": 252, + "../../util/dom": 259, + "../../util/util": 275, + "../../util/window": 254, + }, + ], + 246: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../util/window"), + a = t("../util/throttle"), + o = function () { + (n.bindAll(["_onHashChange", "_updateHash"], this), + (this._updateHash = a( + this._updateHashUnthrottled.bind(this), + 300, + ))); + }; + ((o.prototype.addTo = function (t) { + return ( + (this._map = t), + i.addEventListener("hashchange", this._onHashChange, !1), + this._map.on("moveend", this._updateHash), + this + ); + }), + (o.prototype.remove = function () { + return ( + i.removeEventListener("hashchange", this._onHashChange, !1), + this._map.off("moveend", this._updateHash), + delete this._map, + this + ); + }), + (o.prototype.getHashString = function (t) { + var e = this._map.getCenter(), + r = Math.round(100 * this._map.getZoom()) / 100, + n = Math.ceil( + (r * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10, + ), + i = Math.pow(10, n), + a = Math.round(e.lng * i) / i, + o = Math.round(e.lat * i) / i, + s = this._map.getBearing(), + l = this._map.getPitch(), + c = ""; + return ( + (c += t + ? "#/" + a + "/" + o + "/" + r + : "#" + r + "/" + o + "/" + a), + (s || l) && (c += "/" + Math.round(10 * s) / 10), + l && (c += "/" + Math.round(l)), + c + ); + }), + (o.prototype._onHashChange = function () { + var t = i.location.hash.replace("#", "").split("/"); + return ( + t.length >= 3 && + (this._map.jumpTo({ + center: [+t[2], +t[1]], + zoom: +t[0], + bearing: +(t[3] || 0), + pitch: +(t[4] || 0), + }), + !0) + ); + }), + (o.prototype._updateHashUnthrottled = function () { + var t = this.getHashString(); + i.history.replaceState("", "", t); + }), + (e.exports = o)); + }, + { + "../util/throttle": 272, + "../util/util": 275, + "../util/window": 254, + }, + ], + 247: [ + function (t, e, r) { + function n(t) { + t.parentNode && t.parentNode.removeChild(t); + } + var i = t("../util/util"), + a = t("../util/browser"), + o = t("../util/window"), + s = t("../util/window"), + l = s.HTMLImageElement, + c = s.HTMLElement, + u = t("../util/dom"), + f = t("../util/ajax"), + h = t("../style/style"), + p = t("../style/evaluation_parameters"), + d = t("../render/painter"), + g = t("../geo/transform"), + m = t("./hash"), + v = t("./bind_handlers"), + y = t("./camera"), + x = t("../geo/lng_lat"), + b = t("../geo/lng_lat_bounds"), + _ = t("@mapbox/point-geometry"), + w = t("./control/attribution_control"), + k = t("./control/logo_control"), + M = t("@mapbox/mapbox-gl-supported"), + A = t("../util/image").RGBAImage; + t("./events"); + var T = { + center: [0, 0], + zoom: 0, + bearing: 0, + pitch: 0, + minZoom: 0, + maxZoom: 22, + interactive: !0, + scrollZoom: !0, + boxZoom: !0, + dragRotate: !0, + dragPan: !0, + keyboard: !0, + doubleClickZoom: !0, + touchZoomRotate: !0, + bearingSnap: 7, + hash: !1, + attributionControl: !0, + failIfMajorPerformanceCaveat: !1, + preserveDrawingBuffer: !1, + trackResize: !0, + renderWorldCopies: !0, + refreshExpiredTiles: !0, + maxTileCacheSize: null, + transformRequest: null, + fadeDuration: 300, + }, + S = (function (t) { + function e(e) { + if ( + null != (e = i.extend({}, T, e)).minZoom && + null != e.maxZoom && + e.minZoom > e.maxZoom + ) + throw new Error("maxZoom must be greater than minZoom"); + var r = new g(e.minZoom, e.maxZoom, e.renderWorldCopies); + (t.call(this, r, e), + (this._interactive = e.interactive), + (this._maxTileCacheSize = e.maxTileCacheSize), + (this._failIfMajorPerformanceCaveat = + e.failIfMajorPerformanceCaveat), + (this._preserveDrawingBuffer = e.preserveDrawingBuffer), + (this._trackResize = e.trackResize), + (this._bearingSnap = e.bearingSnap), + (this._refreshExpiredTiles = e.refreshExpiredTiles), + (this._fadeDuration = e.fadeDuration), + (this._crossFadingFactor = 1), + (this._collectResourceTiming = e.collectResourceTiming)); + var n = e.transformRequest; + if ( + ((this._transformRequest = n + ? function (t, e) { + return n(t, e) || { url: t }; + } + : function (t) { + return { url: t }; + }), + "string" == typeof e.container) + ) { + var a = o.document.getElementById(e.container); + if (!a) + throw new Error( + "Container '" + e.container + "' not found.", + ); + this._container = a; + } else { + if (!(e.container instanceof c)) + throw new Error( + "Invalid type: 'container' must be a String or HTMLElement.", + ); + this._container = e.container; + } + (e.maxBounds && this.setMaxBounds(e.maxBounds), + i.bindAll( + [ + "_onWindowOnline", + "_onWindowResize", + "_contextLost", + "_contextRestored", + "_update", + "_render", + "_onData", + "_onDataLoading", + ], + this, + ), + this._setupContainer(), + this._setupPainter(), + this.on("move", this._update.bind(this, !1)), + this.on("zoom", this._update.bind(this, !0)), + void 0 !== o && + (o.addEventListener("online", this._onWindowOnline, !1), + o.addEventListener("resize", this._onWindowResize, !1)), + v(this, e), + (this._hash = e.hash && new m().addTo(this)), + (this._hash && this._hash._onHashChange()) || + this.jumpTo({ + center: e.center, + zoom: e.zoom, + bearing: e.bearing, + pitch: e.pitch, + }), + this.resize(), + e.style && + this.setStyle(e.style, { + localIdeographFontFamily: e.localIdeographFontFamily, + }), + e.attributionControl && this.addControl(new w()), + this.addControl(new k(), e.logoPosition), + this.on("style.load", function () { + this.transform.unmodified && + this.jumpTo(this.style.stylesheet); + }), + this.on("data", this._onData), + this.on("dataloading", this._onDataLoading)); + } + (t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e)); + var r = { + showTileBoundaries: {}, + showCollisionBoxes: {}, + showOverdrawInspector: {}, + repaint: {}, + vertices: {}, + }; + return ( + (e.prototype.addControl = function (t, e) { + (void 0 === e && + t.getDefaultPosition && + (e = t.getDefaultPosition()), + void 0 === e && (e = "top-right")); + var r = t.onAdd(this), + n = this._controlPositions[e]; + return ( + -1 !== e.indexOf("bottom") + ? n.insertBefore(r, n.firstChild) + : n.appendChild(r), + this + ); + }), + (e.prototype.removeControl = function (t) { + return (t.onRemove(this), this); + }), + (e.prototype.resize = function () { + var t = this._containerDimensions(), + e = t[0], + r = t[1]; + return ( + this._resizeCanvas(e, r), + this.transform.resize(e, r), + this.painter.resize(e, r), + this.fire("movestart") + .fire("move") + .fire("resize") + .fire("moveend") + ); + }), + (e.prototype.getBounds = function () { + var t = new b( + this.transform.pointLocation( + new _(0, this.transform.height), + ), + this.transform.pointLocation( + new _(this.transform.width, 0), + ), + ); + return ( + (this.transform.angle || this.transform.pitch) && + (t.extend( + this.transform.pointLocation( + new _(this.transform.size.x, 0), + ), + ), + t.extend( + this.transform.pointLocation( + new _(0, this.transform.size.y), + ), + )), + t + ); + }), + (e.prototype.getMaxBounds = function () { + return this.transform.latRange && + 2 === this.transform.latRange.length && + this.transform.lngRange && + 2 === this.transform.lngRange.length + ? new b( + [ + this.transform.lngRange[0], + this.transform.latRange[0], + ], + [ + this.transform.lngRange[1], + this.transform.latRange[1], + ], + ) + : null; + }), + (e.prototype.setMaxBounds = function (t) { + if (t) { + var e = b.convert(t); + ((this.transform.lngRange = [e.getWest(), e.getEast()]), + (this.transform.latRange = [ + e.getSouth(), + e.getNorth(), + ]), + this.transform._constrain(), + this._update()); + } else + (null !== t && void 0 !== t) || + ((this.transform.lngRange = null), + (this.transform.latRange = null), + this._update()); + return this; + }), + (e.prototype.setMinZoom = function (t) { + if ( + (t = null === t || void 0 === t ? 0 : t) >= 0 && + t <= this.transform.maxZoom + ) + return ( + (this.transform.minZoom = t), + this._update(), + this.getZoom() < t && this.setZoom(t), + this + ); + throw new Error( + "minZoom must be between 0 and the current maxZoom, inclusive", + ); + }), + (e.prototype.getMinZoom = function () { + return this.transform.minZoom; + }), + (e.prototype.setMaxZoom = function (t) { + if ( + (t = null === t || void 0 === t ? 22 : t) >= + this.transform.minZoom + ) + return ( + (this.transform.maxZoom = t), + this._update(), + this.getZoom() > t && this.setZoom(t), + this + ); + throw new Error( + "maxZoom must be greater than the current minZoom", + ); + }), + (e.prototype.getMaxZoom = function () { + return this.transform.maxZoom; + }), + (e.prototype.project = function (t) { + return this.transform.locationPoint(x.convert(t)); + }), + (e.prototype.unproject = function (t) { + return this.transform.pointLocation(_.convert(t)); + }), + (e.prototype.on = function (e, r, n) { + var a = this; + if (void 0 === n) return t.prototype.on.call(this, e, r); + var o = (function () { + if ("mouseenter" === e || "mouseover" === e) { + var t = !1; + return { + layer: r, + listener: n, + delegates: { + mousemove: function (o) { + var s = a.getLayer(r) + ? a.queryRenderedFeatures(o.point, { + layers: [r], + }) + : []; + s.length + ? t || + ((t = !0), + n.call( + a, + i.extend({ features: s }, o, { type: e }), + )) + : (t = !1); + }, + mouseout: function () { + t = !1; + }, + }, + }; + } + if ("mouseleave" === e || "mouseout" === e) { + var o = !1; + return { + layer: r, + listener: n, + delegates: { + mousemove: function (t) { + (a.getLayer(r) + ? a.queryRenderedFeatures(t.point, { + layers: [r], + }) + : [] + ).length + ? (o = !0) + : o && + ((o = !1), + n.call(a, i.extend({}, t, { type: e }))); + }, + mouseout: function (t) { + o && + ((o = !1), + n.call(a, i.extend({}, t, { type: e }))); + }, + }, + }; + } + var s; + return { + layer: r, + listener: n, + delegates: + ((s = {}), + (s[e] = function (t) { + var e = a.getLayer(r) + ? a.queryRenderedFeatures(t.point, { + layers: [r], + }) + : []; + e.length && + n.call(a, i.extend({ features: e }, t)); + }), + s), + }; + })(); + for (var s in ((this._delegatedListeners = + this._delegatedListeners || {}), + (this._delegatedListeners[e] = + this._delegatedListeners[e] || []), + this._delegatedListeners[e].push(o), + o.delegates)) + a.on(s, o.delegates[s]); + return this; + }), + (e.prototype.off = function (e, r, n) { + if (void 0 === n) return t.prototype.off.call(this, e, r); + if ( + this._delegatedListeners && + this._delegatedListeners[e] + ) + for ( + var i = this._delegatedListeners[e], a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (o.layer === r && o.listener === n) { + for (var s in o.delegates) + this.off(s, o.delegates[s]); + return (i.splice(a, 1), this); + } + } + return this; + }), + (e.prototype.queryRenderedFeatures = function (t, e) { + return ( + 2 === arguments.length + ? ((t = arguments[0]), (e = arguments[1])) + : 1 === arguments.length && + (function (t) { + return t instanceof _ || Array.isArray(t); + })(arguments[0]) + ? ((t = arguments[0]), (e = {})) + : 1 === arguments.length + ? ((t = void 0), (e = arguments[0])) + : ((t = void 0), (e = {})), + this.style + ? this.style.queryRenderedFeatures( + this._makeQueryGeometry(t), + e, + this.transform.zoom, + this.transform.angle, + ) + : [] + ); + }), + (e.prototype._makeQueryGeometry = function (t) { + var e, + r = this; + if ( + (void 0 === t && + (t = [ + _.convert([0, 0]), + _.convert([ + this.transform.width, + this.transform.height, + ]), + ]), + t instanceof _ || "number" == typeof t[0]) + ) + e = [_.convert(t)]; + else { + var n = [_.convert(t[0]), _.convert(t[1])]; + e = [ + n[0], + new _(n[1].x, n[0].y), + n[1], + new _(n[0].x, n[1].y), + n[0], + ]; + } + return e.map(function (t) { + return r.transform.pointCoordinate(t); + }); + }), + (e.prototype.querySourceFeatures = function (t, e) { + return this.style.querySourceFeatures(t, e); + }), + (e.prototype.setStyle = function (t, e) { + if ( + (!e || + (!1 !== e.diff && !e.localIdeographFontFamily)) && + this.style && + t && + "object" == typeof t + ) + try { + return ( + this.style.setState(t) && this._update(!0), + this + ); + } catch (t) { + i.warnOnce( + "Unable to perform style diff: " + + (t.message || t.error || t) + + ". Rebuilding the style from scratch.", + ); + } + return ( + this.style && + (this.style.setEventedParent(null), + this.style._remove()), + t + ? ((this.style = new h(this, e || {})), + this.style.setEventedParent(this, { + style: this.style, + }), + "string" == typeof t + ? this.style.loadURL(t) + : this.style.loadJSON(t), + this) + : (delete this.style, this) + ); + }), + (e.prototype.getStyle = function () { + if (this.style) return this.style.serialize(); + }), + (e.prototype.isStyleLoaded = function () { + return this.style + ? this.style.loaded() + : i.warnOnce("There is no style added to the map."); + }), + (e.prototype.addSource = function (t, e) { + return ( + this.style.addSource(t, e), + this._update(!0), + this + ); + }), + (e.prototype.isSourceLoaded = function (t) { + var e = this.style && this.style.sourceCaches[t]; + return void 0 === e + ? void this.fire("error", { + error: new Error( + "There is no source with ID '" + t + "'", + ), + }) + : e.loaded(); + }), + (e.prototype.areTilesLoaded = function () { + var t = this.style && this.style.sourceCaches; + for (var e in t) { + var r = t[e]._tiles; + for (var n in r) { + var i = r[n]; + if ("loaded" !== i.state && "errored" !== i.state) + return !1; + } + } + return !0; + }), + (e.prototype.addSourceType = function (t, e, r) { + return this.style.addSourceType(t, e, r); + }), + (e.prototype.removeSource = function (t) { + return ( + this.style.removeSource(t), + this._update(!0), + this + ); + }), + (e.prototype.getSource = function (t) { + return this.style.getSource(t); + }), + (e.prototype.addImage = function (t, e, r) { + void 0 === r && (r = {}); + var n = r.pixelRatio; + void 0 === n && (n = 1); + var i = r.sdf; + if ((void 0 === i && (i = !1), e instanceof l)) { + var o = a.getImageData(e), + s = o.width, + c = o.height, + u = o.data; + this.style.addImage(t, { + data: new A({ width: s, height: c }, u), + pixelRatio: n, + sdf: i, + }); + } else { + if (void 0 === e.width || void 0 === e.height) + return this.fire("error", { + error: new Error( + "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + }); + var f = e.width, + h = e.height, + p = e.data; + this.style.addImage(t, { + data: new A({ width: f, height: h }, p.slice(0)), + pixelRatio: n, + sdf: i, + }); + } + }), + (e.prototype.hasImage = function (t) { + return t + ? !!this.style.getImage(t) + : (this.fire("error", { + error: new Error("Missing required image id"), + }), + !1); + }), + (e.prototype.removeImage = function (t) { + this.style.removeImage(t); + }), + (e.prototype.loadImage = function (t, e) { + f.getImage( + this._transformRequest(t, f.ResourceType.Image), + e, + ); + }), + (e.prototype.addLayer = function (t, e) { + return ( + this.style.addLayer(t, e), + this._update(!0), + this + ); + }), + (e.prototype.moveLayer = function (t, e) { + return ( + this.style.moveLayer(t, e), + this._update(!0), + this + ); + }), + (e.prototype.removeLayer = function (t) { + return ( + this.style.removeLayer(t), + this._update(!0), + this + ); + }), + (e.prototype.getLayer = function (t) { + return this.style.getLayer(t); + }), + (e.prototype.setFilter = function (t, e) { + return ( + this.style.setFilter(t, e), + this._update(!0), + this + ); + }), + (e.prototype.setLayerZoomRange = function (t, e, r) { + return ( + this.style.setLayerZoomRange(t, e, r), + this._update(!0), + this + ); + }), + (e.prototype.getFilter = function (t) { + return this.style.getFilter(t); + }), + (e.prototype.setPaintProperty = function (t, e, r) { + return ( + this.style.setPaintProperty(t, e, r), + this._update(!0), + this + ); + }), + (e.prototype.getPaintProperty = function (t, e) { + return this.style.getPaintProperty(t, e); + }), + (e.prototype.setLayoutProperty = function (t, e, r) { + return ( + this.style.setLayoutProperty(t, e, r), + this._update(!0), + this + ); + }), + (e.prototype.getLayoutProperty = function (t, e) { + return this.style.getLayoutProperty(t, e); + }), + (e.prototype.setLight = function (t) { + return (this.style.setLight(t), this._update(!0), this); + }), + (e.prototype.getLight = function () { + return this.style.getLight(); + }), + (e.prototype.getContainer = function () { + return this._container; + }), + (e.prototype.getCanvasContainer = function () { + return this._canvasContainer; + }), + (e.prototype.getCanvas = function () { + return this._canvas; + }), + (e.prototype._containerDimensions = function () { + var t = 0, + e = 0; + return ( + this._container && + ((t = this._container.offsetWidth || 400), + (e = this._container.offsetHeight || 300)), + [t, e] + ); + }), + (e.prototype._setupContainer = function () { + var t = this._container; + (t.classList.add("mapboxgl-map"), + ((this._missingCSSContainer = u.create( + "div", + "mapboxgl-missing-css", + t, + )).innerHTML = "Missing Mapbox GL JS CSS")); + var e = (this._canvasContainer = u.create( + "div", + "mapboxgl-canvas-container", + t, + )); + (this._interactive && + e.classList.add("mapboxgl-interactive"), + (this._canvas = u.create( + "canvas", + "mapboxgl-canvas", + e, + )), + (this._canvas.style.position = "absolute"), + this._canvas.addEventListener( + "webglcontextlost", + this._contextLost, + !1, + ), + this._canvas.addEventListener( + "webglcontextrestored", + this._contextRestored, + !1, + ), + this._canvas.setAttribute("tabindex", "0"), + this._canvas.setAttribute("aria-label", "Map")); + var r = this._containerDimensions(); + this._resizeCanvas(r[0], r[1]); + var n = (this._controlContainer = u.create( + "div", + "mapboxgl-control-container", + t, + )), + i = (this._controlPositions = {}); + [ + "top-left", + "top-right", + "bottom-left", + "bottom-right", + ].forEach(function (t) { + i[t] = u.create("div", "mapboxgl-ctrl-" + t, n); + }); + }), + (e.prototype._resizeCanvas = function (t, e) { + var r = o.devicePixelRatio || 1; + ((this._canvas.width = r * t), + (this._canvas.height = r * e), + (this._canvas.style.width = t + "px"), + (this._canvas.style.height = e + "px")); + }), + (e.prototype._setupPainter = function () { + var t = i.extend( + { + failIfMajorPerformanceCaveat: + this._failIfMajorPerformanceCaveat, + preserveDrawingBuffer: this._preserveDrawingBuffer, + }, + M.webGLContextAttributes, + ), + e = + this._canvas.getContext("webgl", t) || + this._canvas.getContext("experimental-webgl", t); + e + ? (this.painter = new d(e, this.transform)) + : this.fire("error", { + error: new Error("Failed to initialize WebGL"), + }); + }), + (e.prototype._contextLost = function (t) { + (t.preventDefault(), + this._frameId && + (a.cancelFrame(this._frameId), + (this._frameId = null)), + this.fire("webglcontextlost", { originalEvent: t })); + }), + (e.prototype._contextRestored = function (t) { + (this._setupPainter(), + this.resize(), + this._update(), + this.fire("webglcontextrestored", { + originalEvent: t, + })); + }), + (e.prototype.loaded = function () { + return ( + !this._styleDirty && + !this._sourcesDirty && + !(!this.style || !this.style.loaded()) + ); + }), + (e.prototype._update = function (t) { + this.style && + ((this._styleDirty = this._styleDirty || t), + (this._sourcesDirty = !0), + this._rerender()); + }), + (e.prototype._render = function () { + this._updateCamera(); + var t = !1; + if (this.style && this._styleDirty) { + this._styleDirty = !1; + var e = this.transform.zoom, + r = a.now(); + this.style.zoomHistory.update(e, r); + var n = new p(e, { + now: r, + fadeDuration: this._fadeDuration, + zoomHistory: this.style.zoomHistory, + transition: this.style.getTransition(), + }), + i = n.crossFadingFactor(); + ((1 === i && i === this._crossFadingFactor) || + ((t = !0), (this._crossFadingFactor = i)), + this.style.update(n)); + } + return ( + this.style && + this._sourcesDirty && + ((this._sourcesDirty = !1), + this.style._updateSources(this.transform)), + (this._placementDirty = + this.style && + this.style._updatePlacement( + this.painter.transform, + this.showCollisionBoxes, + this._fadeDuration, + )), + this.painter.render(this.style, { + showTileBoundaries: this.showTileBoundaries, + showOverdrawInspector: this._showOverdrawInspector, + rotating: this.rotating, + zooming: this.zooming, + fadeDuration: this._fadeDuration, + }), + this.fire("render"), + this.loaded() && + !this._loaded && + ((this._loaded = !0), this.fire("load")), + this.style && + (this.style.hasTransitions() || t) && + (this._styleDirty = !0), + (this._sourcesDirty || + this._repaint || + this._styleDirty || + this._placementDirty) && + this._rerender(), + this + ); + }), + (e.prototype.remove = function () { + (this._hash && this._hash.remove(), + a.cancelFrame(this._frameId), + (this._frameId = null), + this.setStyle(null), + void 0 !== o && + (o.removeEventListener( + "resize", + this._onWindowResize, + !1, + ), + o.removeEventListener( + "online", + this._onWindowOnline, + !1, + ))); + var t = + this.painter.context.gl.getExtension( + "WEBGL_lose_context", + ); + (t && t.loseContext(), + n(this._canvasContainer), + n(this._controlContainer), + n(this._missingCSSContainer), + this._container.classList.remove("mapboxgl-map"), + this.fire("remove")); + }), + (e.prototype._rerender = function () { + var t = this; + this.style && + !this._frameId && + (this._frameId = a.frame(function () { + ((t._frameId = null), t._render()); + })); + }), + (e.prototype._onWindowOnline = function () { + this._update(); + }), + (e.prototype._onWindowResize = function () { + this._trackResize && this.stop().resize()._update(); + }), + (r.showTileBoundaries.get = function () { + return !!this._showTileBoundaries; + }), + (r.showTileBoundaries.set = function (t) { + this._showTileBoundaries !== t && + ((this._showTileBoundaries = t), this._update()); + }), + (r.showCollisionBoxes.get = function () { + return !!this._showCollisionBoxes; + }), + (r.showCollisionBoxes.set = function (t) { + this._showCollisionBoxes !== t && + ((this._showCollisionBoxes = t), + t + ? this.style._generateCollisionBoxes() + : this._update()); + }), + (r.showOverdrawInspector.get = function () { + return !!this._showOverdrawInspector; + }), + (r.showOverdrawInspector.set = function (t) { + this._showOverdrawInspector !== t && + ((this._showOverdrawInspector = t), this._update()); + }), + (r.repaint.get = function () { + return !!this._repaint; + }), + (r.repaint.set = function (t) { + ((this._repaint = t), this._update()); + }), + (r.vertices.get = function () { + return !!this._vertices; + }), + (r.vertices.set = function (t) { + ((this._vertices = t), this._update()); + }), + (e.prototype._onData = function (t) { + (this._update("style" === t.dataType), + this.fire(t.dataType + "data", t)); + }), + (e.prototype._onDataLoading = function (t) { + this.fire(t.dataType + "dataloading", t); + }), + Object.defineProperties(e.prototype, r), + e + ); + })(y); + e.exports = S; + }, + { + "../geo/lng_lat": 62, + "../geo/lng_lat_bounds": 63, + "../geo/transform": 64, + "../render/painter": 90, + "../style/evaluation_parameters": 182, + "../style/style": 190, + "../util/ajax": 251, + "../util/browser": 252, + "../util/dom": 259, + "../util/image": 263, + "../util/util": 275, + "../util/window": 254, + "./bind_handlers": 230, + "./camera": 231, + "./control/attribution_control": 232, + "./control/logo_control": 235, + "./events": 238, + "./hash": 246, + "@mapbox/mapbox-gl-supported": 3, + "@mapbox/point-geometry": 4, + }, + ], + 248: [ + function (t, e, r) { + var n = t("../util/dom"), + i = t("../geo/lng_lat"), + a = t("@mapbox/point-geometry"), + o = t("../util/smart_wrap"), + s = t("../util/util").bindAll, + l = function (t, e) { + if ((s(["_update", "_onMapClick"], this), !t)) { + t = n.create("div"); + var r = n.createNS("http://www.w3.org/2000/svg", "svg"); + (r.setAttributeNS(null, "height", "41px"), + r.setAttributeNS(null, "width", "27px"), + r.setAttributeNS(null, "viewBox", "0 0 27 41")); + var i = n.createNS("http://www.w3.org/2000/svg", "g"); + (i.setAttributeNS(null, "stroke", "none"), + i.setAttributeNS(null, "stroke-width", "1"), + i.setAttributeNS(null, "fill", "none"), + i.setAttributeNS(null, "fill-rule", "evenodd")); + var o = n.createNS("http://www.w3.org/2000/svg", "g"); + o.setAttributeNS(null, "fill-rule", "nonzero"); + var l = n.createNS("http://www.w3.org/2000/svg", "g"); + (l.setAttributeNS( + null, + "transform", + "translate(3.0, 29.0)", + ), + l.setAttributeNS(null, "fill", "#000000")); + for ( + var c = 0, + u = [ + { rx: "10.5", ry: "5.25002273" }, + { rx: "10.5", ry: "5.25002273" }, + { rx: "9.5", ry: "4.77275007" }, + { rx: "8.5", ry: "4.29549936" }, + { rx: "7.5", ry: "3.81822308" }, + { rx: "6.5", ry: "3.34094679" }, + { rx: "5.5", ry: "2.86367051" }, + { rx: "4.5", ry: "2.38636864" }, + ]; + c < u.length; + c += 1 + ) { + var f = u[c], + h = n.createNS("http://www.w3.org/2000/svg", "ellipse"); + (h.setAttributeNS(null, "opacity", "0.04"), + h.setAttributeNS(null, "cx", "10.5"), + h.setAttributeNS(null, "cy", "5.80029008"), + h.setAttributeNS(null, "rx", f.rx), + h.setAttributeNS(null, "ry", f.ry), + l.appendChild(h)); + } + var p = n.createNS("http://www.w3.org/2000/svg", "g"); + p.setAttributeNS(null, "fill", "#3FB1CE"); + var d = n.createNS("http://www.w3.org/2000/svg", "path"); + (d.setAttributeNS( + null, + "d", + "M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z", + ), + p.appendChild(d)); + var g = n.createNS("http://www.w3.org/2000/svg", "g"); + (g.setAttributeNS(null, "opacity", "0.25"), + g.setAttributeNS(null, "fill", "#000000")); + var m = n.createNS("http://www.w3.org/2000/svg", "path"); + (m.setAttributeNS( + null, + "d", + "M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z", + ), + g.appendChild(m)); + var v = n.createNS("http://www.w3.org/2000/svg", "g"); + (v.setAttributeNS(null, "transform", "translate(6.0, 7.0)"), + v.setAttributeNS(null, "fill", "#FFFFFF")); + var y = n.createNS("http://www.w3.org/2000/svg", "g"); + y.setAttributeNS(null, "transform", "translate(8.0, 8.0)"); + var x = n.createNS("http://www.w3.org/2000/svg", "circle"); + (x.setAttributeNS(null, "fill", "#000000"), + x.setAttributeNS(null, "opacity", "0.25"), + x.setAttributeNS(null, "cx", "5.5"), + x.setAttributeNS(null, "cy", "5.5"), + x.setAttributeNS(null, "r", "5.4999962")); + var b = n.createNS("http://www.w3.org/2000/svg", "circle"); + (b.setAttributeNS(null, "fill", "#FFFFFF"), + b.setAttributeNS(null, "cx", "5.5"), + b.setAttributeNS(null, "cy", "5.5"), + b.setAttributeNS(null, "r", "5.4999962"), + y.appendChild(x), + y.appendChild(b), + o.appendChild(l), + o.appendChild(p), + o.appendChild(g), + o.appendChild(v), + o.appendChild(y), + r.appendChild(o), + t.appendChild(r)); + var _ = [0, -14]; + (e && e.offset) || + (e ? (e.offset = _) : (e = { offset: _ })); + } + ((this._offset = a.convert((e && e.offset) || [0, 0])), + t.classList.add("mapboxgl-marker"), + (this._element = t), + (this._popup = null)); + }; + ((l.prototype.addTo = function (t) { + return ( + this.remove(), + (this._map = t), + t.getCanvasContainer().appendChild(this._element), + t.on("move", this._update), + t.on("moveend", this._update), + this._update(), + this._map.on("click", this._onMapClick), + this + ); + }), + (l.prototype.remove = function () { + return ( + this._map && + (this._map.off("click", this._onMapClick), + this._map.off("move", this._update), + this._map.off("moveend", this._update), + delete this._map), + n.remove(this._element), + this._popup && this._popup.remove(), + this + ); + }), + (l.prototype.getLngLat = function () { + return this._lngLat; + }), + (l.prototype.setLngLat = function (t) { + return ( + (this._lngLat = i.convert(t)), + (this._pos = null), + this._popup && this._popup.setLngLat(this._lngLat), + this._update(), + this + ); + }), + (l.prototype.getElement = function () { + return this._element; + }), + (l.prototype.setPopup = function (t) { + return ( + this._popup && (this._popup.remove(), (this._popup = null)), + t && + ("offset" in t.options || + (t.options.offset = this._offset), + (this._popup = t), + this._lngLat && this._popup.setLngLat(this._lngLat)), + this + ); + }), + (l.prototype._onMapClick = function (t) { + var e = t.originalEvent.target, + r = this._element; + this._popup && + (e === r || r.contains(e)) && + this.togglePopup(); + }), + (l.prototype.getPopup = function () { + return this._popup; + }), + (l.prototype.togglePopup = function () { + var t = this._popup; + return t + ? (t.isOpen() ? t.remove() : t.addTo(this._map), this) + : this; + }), + (l.prototype._update = function (t) { + this._map && + (this._map.transform.renderWorldCopies && + (this._lngLat = o( + this._lngLat, + this._pos, + this._map.transform, + )), + (this._pos = this._map + .project(this._lngLat) + ._add(this._offset)), + (t && "moveend" !== t.type) || + (this._pos = this._pos.round()), + n.setTransform( + this._element, + "translate(-50%, -50%) translate(" + + this._pos.x + + "px, " + + this._pos.y + + "px)", + )); + }), + (l.prototype.getOffset = function () { + return this._offset; + }), + (l.prototype.setOffset = function (t) { + return ((this._offset = a.convert(t)), this._update(), this); + }), + (e.exports = l)); + }, + { + "../geo/lng_lat": 62, + "../util/dom": 259, + "../util/smart_wrap": 270, + "../util/util": 275, + "@mapbox/point-geometry": 4, + }, + ], + 249: [ + function (t, e, r) { + var n = t("../util/util"), + i = t("../util/evented"), + a = t("../util/dom"), + o = t("../geo/lng_lat"), + s = t("@mapbox/point-geometry"), + l = t("../util/window"), + c = t("../util/smart_wrap"), + u = { closeButton: !0, closeOnClick: !0 }, + f = (function (t) { + function e(e) { + (t.call(this), + (this.options = n.extend(Object.create(u), e)), + n.bindAll(["_update", "_onClickClose"], this)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.addTo = function (t) { + return ( + (this._map = t), + this._map.on("move", this._update), + this.options.closeOnClick && + this._map.on("click", this._onClickClose), + this._update(), + this + ); + }), + (e.prototype.isOpen = function () { + return !!this._map; + }), + (e.prototype.remove = function () { + return ( + this._content && a.remove(this._content), + this._container && + (a.remove(this._container), delete this._container), + this._map && + (this._map.off("move", this._update), + this._map.off("click", this._onClickClose), + delete this._map), + this.fire("close"), + this + ); + }), + (e.prototype.getLngLat = function () { + return this._lngLat; + }), + (e.prototype.setLngLat = function (t) { + return ( + (this._lngLat = o.convert(t)), + (this._pos = null), + this._update(), + this + ); + }), + (e.prototype.setText = function (t) { + return this.setDOMContent(l.document.createTextNode(t)); + }), + (e.prototype.setHTML = function (t) { + var e, + r = l.document.createDocumentFragment(), + n = l.document.createElement("body"); + for (n.innerHTML = t; (e = n.firstChild); ) + r.appendChild(e); + return this.setDOMContent(r); + }), + (e.prototype.setDOMContent = function (t) { + return ( + this._createContent(), + this._content.appendChild(t), + this._update(), + this + ); + }), + (e.prototype._createContent = function () { + (this._content && a.remove(this._content), + (this._content = a.create( + "div", + "mapboxgl-popup-content", + this._container, + )), + this.options.closeButton && + ((this._closeButton = a.create( + "button", + "mapboxgl-popup-close-button", + this._content, + )), + (this._closeButton.type = "button"), + this._closeButton.setAttribute( + "aria-label", + "Close popup", + ), + (this._closeButton.innerHTML = "×"), + this._closeButton.addEventListener( + "click", + this._onClickClose, + ))); + }), + (e.prototype._update = function () { + if (this._map && this._lngLat && this._content) { + (this._container || + ((this._container = a.create( + "div", + "mapboxgl-popup", + this._map.getContainer(), + )), + (this._tip = a.create( + "div", + "mapboxgl-popup-tip", + this._container, + )), + this._container.appendChild(this._content)), + this._map.transform.renderWorldCopies && + (this._lngLat = c( + this._lngLat, + this._pos, + this._map.transform, + ))); + var t = (this._pos = this._map.project(this._lngLat)), + e = this.options.anchor, + r = (function t(e) { + if (e) { + if ("number" == typeof e) { + var r = Math.round( + Math.sqrt(0.5 * Math.pow(e, 2)), + ); + return { + top: new s(0, e), + "top-left": new s(r, r), + "top-right": new s(-r, r), + bottom: new s(0, -e), + "bottom-left": new s(r, -r), + "bottom-right": new s(-r, -r), + left: new s(e, 0), + right: new s(-e, 0), + }; + } + if (e instanceof s || Array.isArray(e)) { + var n = s.convert(e); + return { + top: n, + "top-left": n, + "top-right": n, + bottom: n, + "bottom-left": n, + "bottom-right": n, + left: n, + right: n, + }; + } + return { + top: s.convert(e.top || [0, 0]), + "top-left": s.convert(e["top-left"] || [0, 0]), + "top-right": s.convert( + e["top-right"] || [0, 0], + ), + bottom: s.convert(e.bottom || [0, 0]), + "bottom-left": s.convert( + e["bottom-left"] || [0, 0], + ), + "bottom-right": s.convert( + e["bottom-right"] || [0, 0], + ), + left: s.convert(e.left || [0, 0]), + right: s.convert(e.right || [0, 0]), + }; + } + return t(new s(0, 0)); + })(this.options.offset); + if (!e) { + var n = this._container.offsetWidth, + i = this._container.offsetHeight; + ((e = + t.y + r.bottom.y < i + ? ["top"] + : t.y > this._map.transform.height - i + ? ["bottom"] + : []), + t.x < n / 2 + ? e.push("left") + : t.x > this._map.transform.width - n / 2 && + e.push("right"), + (e = 0 === e.length ? "bottom" : e.join("-"))); + } + var o = t.add(r[e]).round(), + l = { + top: "translate(-50%,0)", + "top-left": "translate(0,0)", + "top-right": "translate(-100%,0)", + bottom: "translate(-50%,-100%)", + "bottom-left": "translate(0,-100%)", + "bottom-right": "translate(-100%,-100%)", + left: "translate(0,-50%)", + right: "translate(-100%,-50%)", + }, + u = this._container.classList; + for (var f in l) u.remove("mapboxgl-popup-anchor-" + f); + (u.add("mapboxgl-popup-anchor-" + e), + a.setTransform( + this._container, + l[e] + " translate(" + o.x + "px," + o.y + "px)", + )); + } + }), + (e.prototype._onClickClose = function () { + this.remove(); + }), + e + ); + })(i); + e.exports = f; + }, + { + "../geo/lng_lat": 62, + "../util/dom": 259, + "../util/evented": 260, + "../util/smart_wrap": 270, + "../util/util": 275, + "../util/window": 254, + "@mapbox/point-geometry": 4, + }, + ], + 250: [ + function (t, e, r) { + var n = t("./util"), + i = t("./web_worker_transfer"), + a = i.serialize, + o = i.deserialize, + s = function (t, e, r) { + ((this.target = t), + (this.parent = e), + (this.mapId = r), + (this.callbacks = {}), + (this.callbackID = 0), + n.bindAll(["receive"], this), + this.target.addEventListener("message", this.receive, !1)); + }; + ((s.prototype.send = function (t, e, r, n) { + var i = r ? this.mapId + ":" + this.callbackID++ : null; + r && (this.callbacks[i] = r); + var o = []; + this.target.postMessage( + { + targetMapId: n, + sourceMapId: this.mapId, + type: t, + id: String(i), + data: a(e, o), + }, + o, + ); + }), + (s.prototype.receive = function (t) { + var e, + r = this, + n = t.data, + i = n.id; + if (!n.targetMapId || this.mapId === n.targetMapId) { + var s = function (t, e) { + var n = []; + r.target.postMessage( + { + sourceMapId: r.mapId, + type: "", + id: String(i), + error: t ? String(t) : null, + data: a(e, n), + }, + n, + ); + }; + if ("" === n.type) + ((e = this.callbacks[n.id]), + delete this.callbacks[n.id], + e && n.error + ? e(new Error(n.error)) + : e && e(null, o(n.data))); + else if (void 0 !== n.id && this.parent[n.type]) + this.parent[n.type](n.sourceMapId, o(n.data), s); + else if (void 0 !== n.id && this.parent.getWorkerSource) { + var l = n.type.split("."); + this.parent + .getWorkerSource(n.sourceMapId, l[0]) + [l[1]](o(n.data), s); + } else this.parent[n.type](o(n.data)); + } + }), + (s.prototype.remove = function () { + this.target.removeEventListener("message", this.receive, !1); + }), + (e.exports = s)); + }, + { "./util": 275, "./web_worker_transfer": 278 }, + ], + 251: [ + function (t, e, r) { + function n(t) { + var e = new a.XMLHttpRequest(); + for (var r in (e.open("GET", t.url, !0), t.headers)) + e.setRequestHeader(r, t.headers[r]); + return ((e.withCredentials = "include" === t.credentials), e); + } + function i(t) { + var e = a.document.createElement("a"); + return ( + (e.href = t), + e.protocol === a.document.location.protocol && + e.host === a.document.location.host + ); + } + var a = t("./window"), + o = { + Unknown: "Unknown", + Style: "Style", + Source: "Source", + Tile: "Tile", + Glyphs: "Glyphs", + SpriteImage: "SpriteImage", + SpriteJSON: "SpriteJSON", + Image: "Image", + }; + ((r.ResourceType = o), + "function" == typeof Object.freeze && Object.freeze(o)); + var s = (function (t) { + function e(e, r) { + (t.call(this, e), (this.status = r)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + e + ); + })(Error); + ((r.getJSON = function (t, e) { + var r = n(t); + return ( + r.setRequestHeader("Accept", "application/json"), + (r.onerror = function () { + e(new Error(r.statusText)); + }), + (r.onload = function () { + if (r.status >= 200 && r.status < 300 && r.response) { + var t; + try { + t = JSON.parse(r.response); + } catch (t) { + return e(t); + } + e(null, t); + } else e(new s(r.statusText, r.status)); + }), + r.send(), + r + ); + }), + (r.getArrayBuffer = function (t, e) { + var r = n(t); + return ( + (r.responseType = "arraybuffer"), + (r.onerror = function () { + e(new Error(r.statusText)); + }), + (r.onload = function () { + var t = r.response; + if (0 === t.byteLength && 200 === r.status) + return e( + new Error( + "http status 200 returned without content.", + ), + ); + r.status >= 200 && r.status < 300 && r.response + ? e(null, { + data: t, + cacheControl: r.getResponseHeader("Cache-Control"), + expires: r.getResponseHeader("Expires"), + }) + : e(new s(r.statusText, r.status)); + }), + r.send(), + r + ); + })); + ((r.getImage = function (t, e) { + return r.getArrayBuffer(t, function (t, r) { + if (t) e(t); + else if (r) { + var n = new a.Image(), + i = a.URL || a.webkitURL; + n.onload = function () { + (e(null, n), i.revokeObjectURL(n.src)); + }; + var o = new a.Blob([new Uint8Array(r.data)], { + type: "image/png", + }); + ((n.cacheControl = r.cacheControl), + (n.expires = r.expires), + (n.src = r.data.byteLength + ? i.createObjectURL(o) + : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=")); + } + }); + }), + (r.getVideo = function (t, e) { + var r = a.document.createElement("video"); + r.onloadstart = function () { + e(null, r); + }; + for (var n = 0; n < t.length; n++) { + var o = a.document.createElement("source"); + (i(t[n]) || (r.crossOrigin = "Anonymous"), + (o.src = t[n]), + r.appendChild(o)); + } + return r; + })); + }, + { "./window": 254 }, + ], + 252: [ + function (t, e, r) { + var n = t("./window"), + i = + n.performance && n.performance.now + ? n.performance.now.bind(n.performance) + : Date.now.bind(Date), + a = + n.requestAnimationFrame || + n.mozRequestAnimationFrame || + n.webkitRequestAnimationFrame || + n.msRequestAnimationFrame, + o = + n.cancelAnimationFrame || + n.mozCancelAnimationFrame || + n.webkitCancelAnimationFrame || + n.msCancelAnimationFrame; + e.exports = { + now: i, + frame: function (t) { + return a(t); + }, + cancelFrame: function (t) { + return o(t); + }, + getImageData: function (t) { + var e = n.document.createElement("canvas"), + r = e.getContext("2d"); + if (!r) throw new Error("failed to create canvas 2d context"); + return ( + (e.width = t.width), + (e.height = t.height), + r.drawImage(t, 0, 0, t.width, t.height), + r.getImageData(0, 0, t.width, t.height) + ); + }, + hardwareConcurrency: n.navigator.hardwareConcurrency || 4, + get devicePixelRatio() { + return n.devicePixelRatio; + }, + supportsWebp: !1, + }; + var s = n.document.createElement("img"); + ((s.onload = function () { + e.exports.supportsWebp = !0; + }), + (s.src = + "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=")); + }, + { "./window": 254 }, + ], + 253: [ + function (t, e, r) { + var n = t("webworkify"), + i = t("../window"), + a = i.URL.createObjectURL( + new n(t("../../source/worker"), { bare: !0 }), + ); + e.exports = function () { + return new i.Worker(a); + }; + }, + { "../../source/worker": 118, "../window": 254, webworkify: 36 }, + ], + 254: [ + function (t, e, r) { + e.exports = self; + }, + {}, + ], + 255: [ + function (t, e, r) { + function n(t, e) { + return e.area - t.area; + } + var i = t("quickselect"), + a = t("./util").calculateSignedArea; + e.exports = function (t, e) { + var r = t.length; + if (r <= 1) return [t]; + for (var o, s, l = [], c = 0; c < r; c++) { + var u = a(t[c]); + 0 !== u && + ((t[c].area = Math.abs(u)), + void 0 === s && (s = u < 0), + s === u < 0 + ? (o && l.push(o), (o = [t[c]])) + : o.push(t[c])); + } + if ((o && l.push(o), e > 1)) + for (var f = 0; f < l.length; f++) + l[f].length <= e || + (i(l[f], e, 1, l[f].length - 1, n), + (l[f] = l[f].slice(0, e))); + return l; + }; + }, + { "./util": 275, quickselect: 31 }, + ], + 256: [ + function (t, e, r) { + e.exports = { + API_URL: "https://api.mapbox.com", + REQUIRE_ACCESS_TOKEN: !0, + ACCESS_TOKEN: null, + }; + }, + {}, + ], + 257: [ + function (t, e, r) { + var n = function (t) { + ((this._stringToNumber = {}), (this._numberToString = [])); + for (var e = 0; e < t.length; e++) { + var r = t[e]; + ((this._stringToNumber[r] = e), + (this._numberToString[e] = r)); + } + }; + ((n.prototype.encode = function (t) { + return this._stringToNumber[t]; + }), + (n.prototype.decode = function (t) { + return this._numberToString[t]; + }), + (e.exports = n)); + }, + {}, + ], + 258: [ + function (t, e, r) { + var n = t("./util"), + i = t("./actor"), + a = function (t, e) { + ((this.workerPool = t), + (this.actors = []), + (this.currentActor = 0), + (this.id = n.uniqueId())); + for ( + var r = this.workerPool.acquire(this.id), a = 0; + a < r.length; + a++ + ) { + var o = r[a], + s = new i(o, e, this.id); + ((s.name = "Worker " + a), this.actors.push(s)); + } + }; + ((a.prototype.broadcast = function (t, e, r) { + ((r = r || function () {}), + n.asyncAll( + this.actors, + function (r, n) { + r.send(t, e, n); + }, + r, + )); + }), + (a.prototype.send = function (t, e, r, n) { + return ( + ("number" != typeof n || isNaN(n)) && + (n = this.currentActor = + (this.currentActor + 1) % this.actors.length), + this.actors[n].send(t, e, r), + n + ); + }), + (a.prototype.remove = function () { + (this.actors.forEach(function (t) { + t.remove(); + }), + (this.actors = []), + this.workerPool.release(this.id)); + }), + (e.exports = a)); + }, + { "./actor": 250, "./util": 275 }, + ], + 259: [ + function (t, e, r) { + function n(t) { + for (var e = 0; e < t.length; e++) if (t[e] in s) return t[e]; + return t[0]; + } + var i = t("@mapbox/point-geometry"), + a = t("./window"); + ((r.create = function (t, e, r) { + var n = a.document.createElement(t); + return (e && (n.className = e), r && r.appendChild(n), n); + }), + (r.createNS = function (t, e) { + return a.document.createElementNS(t, e); + })); + var o, + s = a.document.documentElement.style, + l = n([ + "userSelect", + "MozUserSelect", + "WebkitUserSelect", + "msUserSelect", + ]); + ((r.disableDrag = function () { + l && ((o = s[l]), (s[l] = "none")); + }), + (r.enableDrag = function () { + l && (s[l] = o); + })); + var c = n(["transform", "WebkitTransform"]); + r.setTransform = function (t, e) { + t.style[c] = e; + }; + var u = function (t) { + (t.preventDefault(), + t.stopPropagation(), + a.removeEventListener("click", u, !0)); + }; + ((r.suppressClick = function () { + (a.addEventListener("click", u, !0), + a.setTimeout(function () { + a.removeEventListener("click", u, !0); + }, 0)); + }), + (r.mousePos = function (t, e) { + var r = t.getBoundingClientRect(); + return ( + (e = e.touches ? e.touches[0] : e), + new i( + e.clientX - r.left - t.clientLeft, + e.clientY - r.top - t.clientTop, + ) + ); + }), + (r.touchPos = function (t, e) { + for ( + var r = t.getBoundingClientRect(), + n = [], + a = "touchend" === e.type ? e.changedTouches : e.touches, + o = 0; + o < a.length; + o++ + ) + n.push( + new i( + a[o].clientX - r.left - t.clientLeft, + a[o].clientY - r.top - t.clientTop, + ), + ); + return n; + }), + (r.remove = function (t) { + t.parentNode && t.parentNode.removeChild(t); + })); + }, + { "./window": 254, "@mapbox/point-geometry": 4 }, + ], + 260: [ + function (t, e, r) { + function n(t, e, r) { + ((r[t] = r[t] || []), r[t].push(e)); + } + function i(t, e, r) { + if (r && r[t]) { + var n = r[t].indexOf(e); + -1 !== n && r[t].splice(n, 1); + } + } + var a = t("./util"), + o = function () {}; + ((o.prototype.on = function (t, e) { + return ( + (this._listeners = this._listeners || {}), + n(t, e, this._listeners), + this + ); + }), + (o.prototype.off = function (t, e) { + return ( + i(t, e, this._listeners), + i(t, e, this._oneTimeListeners), + this + ); + }), + (o.prototype.once = function (t, e) { + return ( + (this._oneTimeListeners = this._oneTimeListeners || {}), + n(t, e, this._oneTimeListeners), + this + ); + }), + (o.prototype.fire = function (t, e) { + var r = this; + if (this.listens(t)) { + e = a.extend({}, e, { type: t, target: this }); + for ( + var n = 0, + o = + this._listeners && this._listeners[t] + ? this._listeners[t].slice() + : []; + n < o.length; + n += 1 + ) + o[n].call(r, e); + for ( + var s = 0, + l = + this._oneTimeListeners && this._oneTimeListeners[t] + ? this._oneTimeListeners[t].slice() + : []; + s < l.length; + s += 1 + ) { + var c = l[s]; + (i(t, c, r._oneTimeListeners), c.call(r, e)); + } + this._eventedParent && + this._eventedParent.fire( + t, + a.extend( + {}, + e, + "function" == typeof this._eventedParentData + ? this._eventedParentData() + : this._eventedParentData, + ), + ); + } else + a.endsWith(t, "error") && + console.error((e && e.error) || e || "Empty error event"); + return this; + }), + (o.prototype.listens = function (t) { + return ( + (this._listeners && + this._listeners[t] && + this._listeners[t].length > 0) || + (this._oneTimeListeners && + this._oneTimeListeners[t] && + this._oneTimeListeners[t].length > 0) || + (this._eventedParent && this._eventedParent.listens(t)) + ); + }), + (o.prototype.setEventedParent = function (t, e) { + return ( + (this._eventedParent = t), + (this._eventedParentData = e), + this + ); + }), + (e.exports = o)); + }, + { "./util": 275 }, + ], + 261: [ + function (t, e, r) { + function n(t, e) { + return e.max - t.max; + } + function i(t, e, r, n) { + ((this.p = new o(t, e)), + (this.h = r), + (this.d = (function (t, e) { + for (var r = !1, n = 1 / 0, i = 0; i < e.length; i++) + for ( + var a = e[i], o = 0, l = a.length, c = l - 1; + o < l; + c = o++ + ) { + var u = a[o], + f = a[c]; + (u.y > t.y != f.y > t.y && + t.x < + ((f.x - u.x) * (t.y - u.y)) / (f.y - u.y) + u.x && + (r = !r), + (n = Math.min(n, s(t, u, f)))); + } + return (r ? 1 : -1) * Math.sqrt(n); + })(this.p, n)), + (this.max = this.d + this.h * Math.SQRT2)); + } + var a = t("tinyqueue"), + o = t("@mapbox/point-geometry"), + s = t("./intersection_tests").distToSegmentSquared; + e.exports = function (t, e, r) { + (void 0 === e && (e = 1), void 0 === r && (r = !1)); + for ( + var s = 1 / 0, + l = 1 / 0, + c = -1 / 0, + u = -1 / 0, + f = t[0], + h = 0; + h < f.length; + h++ + ) { + var p = f[h]; + ((!h || p.x < s) && (s = p.x), + (!h || p.y < l) && (l = p.y), + (!h || p.x > c) && (c = p.x), + (!h || p.y > u) && (u = p.y)); + } + var d = c - s, + g = u - l, + m = Math.min(d, g), + v = m / 2, + y = new a(null, n); + if (0 === m) return new o(s, l); + for (var x = s; x < c; x += m) + for (var b = l; b < u; b += m) + y.push(new i(x + v, b + v, v, t)); + for ( + var _ = (function (t) { + for ( + var e = 0, + r = 0, + n = 0, + a = t[0], + o = 0, + s = a.length, + l = s - 1; + o < s; + l = o++ + ) { + var c = a[o], + u = a[l], + f = c.x * u.y - u.x * c.y; + ((r += (c.x + u.x) * f), + (n += (c.y + u.y) * f), + (e += 3 * f)); + } + return new i(r / e, n / e, 0, t); + })(t), + w = y.length; + y.length; + + ) { + var k = y.pop(); + ((k.d > _.d || !_.d) && + ((_ = k), + r && + console.log( + "found best %d after %d probes", + Math.round(1e4 * k.d) / 1e4, + w, + )), + k.max - _.d <= e || + ((v = k.h / 2), + y.push(new i(k.p.x - v, k.p.y - v, v, t)), + y.push(new i(k.p.x + v, k.p.y - v, v, t)), + y.push(new i(k.p.x - v, k.p.y + v, v, t)), + y.push(new i(k.p.x + v, k.p.y + v, v, t)), + (w += 4))); + } + return ( + r && + (console.log("num probes: " + w), + console.log("best distance: " + _.d)), + _.p + ); + }; + }, + { + "./intersection_tests": 264, + "@mapbox/point-geometry": 4, + tinyqueue: 33, + }, + ], + 262: [ + function (t, e, r) { + var n, + i = t("./worker_pool"); + e.exports = function () { + return (n || (n = new i()), n); + }; + }, + { "./worker_pool": 279 }, + ], + 263: [ + function (t, e, r) { + function n(t, e, r, n) { + var i = e.width, + a = e.height; + if (n) { + if (n.length !== i * a * r) + throw new RangeError("mismatched image size"); + } else n = new Uint8Array(i * a * r); + return ((t.width = i), (t.height = a), (t.data = n), t); + } + function i(t, e, r) { + var i = e.width, + o = e.height; + if (i !== t.width || o !== t.height) { + var s = n({}, { width: i, height: o }, r); + (a( + t, + s, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { + width: Math.min(t.width, i), + height: Math.min(t.height, o), + }, + r, + ), + (t.width = i), + (t.height = o), + (t.data = s.data)); + } + } + function a(t, e, r, n, i, a) { + if (0 === i.width || 0 === i.height) return e; + if ( + i.width > t.width || + i.height > t.height || + r.x > t.width - i.width || + r.y > t.height - i.height + ) + throw new RangeError( + "out of range source coordinates for image copy", + ); + if ( + i.width > e.width || + i.height > e.height || + n.x > e.width - i.width || + n.y > e.height - i.height + ) + throw new RangeError( + "out of range destination coordinates for image copy", + ); + for (var o = t.data, s = e.data, l = 0; l < i.height; l++) + for ( + var c = ((r.y + l) * t.width + r.x) * a, + u = ((n.y + l) * e.width + n.x) * a, + f = 0; + f < i.width * a; + f++ + ) + s[u + f] = o[c + f]; + return e; + } + var o = t("./web_worker_transfer").register, + s = function (t, e) { + n(this, t, 1, e); + }; + ((s.prototype.resize = function (t) { + i(this, t, 1); + }), + (s.prototype.clone = function () { + return new s( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (s.copy = function (t, e, r, n, i) { + a(t, e, r, n, i, 1); + })); + var l = function (t, e) { + n(this, t, 4, e); + }; + ((l.prototype.resize = function (t) { + i(this, t, 4); + }), + (l.prototype.clone = function () { + return new l( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + }), + (l.copy = function (t, e, r, n, i) { + a(t, e, r, n, i, 4); + }), + o("AlphaImage", s), + o("RGBAImage", l), + (e.exports = { AlphaImage: s, RGBAImage: l })); + }, + { "./web_worker_transfer": 278 }, + ], + 264: [ + function (t, e, r) { + function n(t, e, r) { + if (t.length > 1) { + if (i(t, e)) return !0; + for (var n = 0; n < e.length; n++) + if (o(e[n], t, r)) return !0; + } + for (var a = 0; a < t.length; a++) if (o(t[a], e, r)) return !0; + return !1; + } + function i(t, e) { + if (0 === t.length || 0 === e.length) return !1; + for (var r = 0; r < t.length - 1; r++) + for ( + var n = t[r], i = t[r + 1], o = 0; + o < e.length - 1; + o++ + ) { + if (a(n, i, e[o], e[o + 1])) return !0; + } + return !1; + } + function a(t, e, r, n) { + return u(t, r, n) !== u(e, r, n) && u(t, e, r) !== u(t, e, n); + } + function o(t, e, r) { + var n = r * r; + if (1 === e.length) return t.distSqr(e[0]) < n; + for (var i = 1; i < e.length; i++) + if (s(t, e[i - 1], e[i]) < n) return !0; + return !1; + } + function s(t, e, r) { + var n = e.distSqr(r); + if (0 === n) return t.distSqr(e); + var i = + ((t.x - e.x) * (r.x - e.x) + (t.y - e.y) * (r.y - e.y)) / n; + return i < 0 + ? t.distSqr(e) + : i > 1 + ? t.distSqr(r) + : t.distSqr(r.sub(e)._mult(i)._add(e)); + } + function l(t, e) { + for (var r, n, i, a = !1, o = 0; o < t.length; o++) + for ( + var s = 0, l = (r = t[o]).length - 1; + s < r.length; + l = s++ + ) + ((n = r[s]), + (i = r[l]), + n.y > e.y != i.y > e.y && + e.x < ((i.x - n.x) * (e.y - n.y)) / (i.y - n.y) + n.x && + (a = !a)); + return a; + } + function c(t, e) { + for ( + var r = !1, n = 0, i = t.length - 1; + n < t.length; + i = n++ + ) { + var a = t[n], + o = t[i]; + a.y > e.y != o.y > e.y && + e.x < ((o.x - a.x) * (e.y - a.y)) / (o.y - a.y) + a.x && + (r = !r); + } + return r; + } + var u = t("./util").isCounterClockwise; + e.exports = { + multiPolygonIntersectsBufferedMultiPoint: function (t, e, r) { + for (var n = 0; n < t.length; n++) + for (var i = t[n], a = 0; a < e.length; a++) + for (var s = e[a], l = 0; l < s.length; l++) { + var u = s[l]; + if (c(i, u)) return !0; + if (o(u, i, r)) return !0; + } + return !1; + }, + multiPolygonIntersectsMultiPolygon: function (t, e) { + if (1 === t.length && 1 === t[0].length) return l(e, t[0][0]); + for (var r = 0; r < e.length; r++) + for (var n = e[r], a = 0; a < n.length; a++) + if (l(t, n[a])) return !0; + for (var o = 0; o < t.length; o++) { + for (var s = t[o], c = 0; c < s.length; c++) + if (l(e, s[c])) return !0; + for (var u = 0; u < e.length; u++) + if (i(s, e[u])) return !0; + } + return !1; + }, + multiPolygonIntersectsBufferedMultiLine: function (t, e, r) { + for (var i = 0; i < e.length; i++) + for (var a = e[i], o = 0; o < t.length; o++) { + var s = t[o]; + if (s.length >= 3) + for (var l = 0; l < a.length; l++) + if (c(s, a[l])) return !0; + if (n(s, a, r)) return !0; + } + return !1; + }, + polygonIntersectsPolygon: function (t, e) { + for (var r = 0; r < t.length; r++) if (c(e, t[r])) return !0; + for (var n = 0; n < e.length; n++) if (c(t, e[n])) return !0; + return !!i(t, e); + }, + distToSegmentSquared: s, + }; + }, + { "./util": 275 }, + ], + 265: [ + function (t, e, r) { + e.exports = { + "Latin-1 Supplement": function (t) { + return t >= 128 && t <= 255; + }, + Arabic: function (t) { + return t >= 1536 && t <= 1791; + }, + "Arabic Supplement": function (t) { + return t >= 1872 && t <= 1919; + }, + "Arabic Extended-A": function (t) { + return t >= 2208 && t <= 2303; + }, + "Hangul Jamo": function (t) { + return t >= 4352 && t <= 4607; + }, + "Unified Canadian Aboriginal Syllabics": function (t) { + return t >= 5120 && t <= 5759; + }, + "Unified Canadian Aboriginal Syllabics Extended": function (t) { + return t >= 6320 && t <= 6399; + }, + "General Punctuation": function (t) { + return t >= 8192 && t <= 8303; + }, + "Letterlike Symbols": function (t) { + return t >= 8448 && t <= 8527; + }, + "Number Forms": function (t) { + return t >= 8528 && t <= 8591; + }, + "Miscellaneous Technical": function (t) { + return t >= 8960 && t <= 9215; + }, + "Control Pictures": function (t) { + return t >= 9216 && t <= 9279; + }, + "Optical Character Recognition": function (t) { + return t >= 9280 && t <= 9311; + }, + "Enclosed Alphanumerics": function (t) { + return t >= 9312 && t <= 9471; + }, + "Geometric Shapes": function (t) { + return t >= 9632 && t <= 9727; + }, + "Miscellaneous Symbols": function (t) { + return t >= 9728 && t <= 9983; + }, + "Miscellaneous Symbols and Arrows": function (t) { + return t >= 11008 && t <= 11263; + }, + "CJK Radicals Supplement": function (t) { + return t >= 11904 && t <= 12031; + }, + "Kangxi Radicals": function (t) { + return t >= 12032 && t <= 12255; + }, + "Ideographic Description Characters": function (t) { + return t >= 12272 && t <= 12287; + }, + "CJK Symbols and Punctuation": function (t) { + return t >= 12288 && t <= 12351; + }, + Hiragana: function (t) { + return t >= 12352 && t <= 12447; + }, + Katakana: function (t) { + return t >= 12448 && t <= 12543; + }, + Bopomofo: function (t) { + return t >= 12544 && t <= 12591; + }, + "Hangul Compatibility Jamo": function (t) { + return t >= 12592 && t <= 12687; + }, + Kanbun: function (t) { + return t >= 12688 && t <= 12703; + }, + "Bopomofo Extended": function (t) { + return t >= 12704 && t <= 12735; + }, + "CJK Strokes": function (t) { + return t >= 12736 && t <= 12783; + }, + "Katakana Phonetic Extensions": function (t) { + return t >= 12784 && t <= 12799; + }, + "Enclosed CJK Letters and Months": function (t) { + return t >= 12800 && t <= 13055; + }, + "CJK Compatibility": function (t) { + return t >= 13056 && t <= 13311; + }, + "CJK Unified Ideographs Extension A": function (t) { + return t >= 13312 && t <= 19903; + }, + "Yijing Hexagram Symbols": function (t) { + return t >= 19904 && t <= 19967; + }, + "CJK Unified Ideographs": function (t) { + return t >= 19968 && t <= 40959; + }, + "Yi Syllables": function (t) { + return t >= 40960 && t <= 42127; + }, + "Yi Radicals": function (t) { + return t >= 42128 && t <= 42191; + }, + "Hangul Jamo Extended-A": function (t) { + return t >= 43360 && t <= 43391; + }, + "Hangul Syllables": function (t) { + return t >= 44032 && t <= 55215; + }, + "Hangul Jamo Extended-B": function (t) { + return t >= 55216 && t <= 55295; + }, + "Private Use Area": function (t) { + return t >= 57344 && t <= 63743; + }, + "CJK Compatibility Ideographs": function (t) { + return t >= 63744 && t <= 64255; + }, + "Arabic Presentation Forms-A": function (t) { + return t >= 64336 && t <= 65023; + }, + "Vertical Forms": function (t) { + return t >= 65040 && t <= 65055; + }, + "CJK Compatibility Forms": function (t) { + return t >= 65072 && t <= 65103; + }, + "Small Form Variants": function (t) { + return t >= 65104 && t <= 65135; + }, + "Arabic Presentation Forms-B": function (t) { + return t >= 65136 && t <= 65279; + }, + "Halfwidth and Fullwidth Forms": function (t) { + return t >= 65280 && t <= 65519; + }, + }; + }, + {}, + ], + 266: [ + function (t, e, r) { + var n = function (t, e) { + ((this.max = t), (this.onRemove = e), this.reset()); + }; + ((n.prototype.reset = function () { + var t = this; + for (var e in t.data) t.onRemove(t.data[e]); + return ((this.data = {}), (this.order = []), this); + }), + (n.prototype.add = function (t, e) { + if (this.has(t)) + (this.order.splice(this.order.indexOf(t), 1), + (this.data[t] = e), + this.order.push(t)); + else if ( + ((this.data[t] = e), + this.order.push(t), + this.order.length > this.max) + ) { + var r = this.getAndRemove(this.order[0]); + r && this.onRemove(r); + } + return this; + }), + (n.prototype.has = function (t) { + return t in this.data; + }), + (n.prototype.keys = function () { + return this.order; + }), + (n.prototype.getAndRemove = function (t) { + if (!this.has(t)) return null; + var e = this.data[t]; + return ( + delete this.data[t], + this.order.splice(this.order.indexOf(t), 1), + e + ); + }), + (n.prototype.get = function (t) { + return this.has(t) ? this.data[t] : null; + }), + (n.prototype.remove = function (t) { + if (!this.has(t)) return this; + var e = this.data[t]; + return ( + delete this.data[t], + this.onRemove(e), + this.order.splice(this.order.indexOf(t), 1), + this + ); + }), + (n.prototype.setMaxSize = function (t) { + var e = this; + for (this.max = t; this.order.length > this.max; ) { + var r = e.getAndRemove(e.order[0]); + r && e.onRemove(r); + } + return this; + }), + (e.exports = n)); + }, + {}, + ], + 267: [ + function (t, e, r) { + function n(t, e) { + var r = a(s.API_URL); + if ( + ((t.protocol = r.protocol), + (t.authority = r.authority), + "/" !== r.path && (t.path = "" + r.path + t.path), + !s.REQUIRE_ACCESS_TOKEN) + ) + return o(t); + if (!(e = e || s.ACCESS_TOKEN)) + throw new Error( + "An API access token is required to use Mapbox GL. " + c, + ); + if ("s" === e[0]) + throw new Error( + "Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + + c, + ); + return (t.params.push("access_token=" + e), o(t)); + } + function i(t) { + return 0 === t.indexOf("mapbox:"); + } + function a(t) { + var e = t.match(f); + if (!e) throw new Error("Unable to parse URL object"); + return { + protocol: e[1], + authority: e[2], + path: e[3] || "/", + params: e[4] ? e[4].split("&") : [], + }; + } + function o(t) { + var e = t.params.length ? "?" + t.params.join("&") : ""; + return t.protocol + "://" + t.authority + t.path + e; + } + var s = t("./config"), + l = t("./browser"), + c = + "See https://www.mapbox.com/api-documentation/#access-tokens"; + ((r.isMapboxURL = i), + (r.normalizeStyleURL = function (t, e) { + if (!i(t)) return t; + var r = a(t); + return ((r.path = "/styles/v1" + r.path), n(r, e)); + }), + (r.normalizeGlyphsURL = function (t, e) { + if (!i(t)) return t; + var r = a(t); + return ((r.path = "/fonts/v1" + r.path), n(r, e)); + }), + (r.normalizeSourceURL = function (t, e) { + if (!i(t)) return t; + var r = a(t); + return ( + (r.path = "/v4/" + r.authority + ".json"), + r.params.push("secure"), + n(r, e) + ); + }), + (r.normalizeSpriteURL = function (t, e, r, s) { + var l = a(t); + return i(t) + ? ((l.path = "/styles/v1" + l.path + "/sprite" + e + r), + n(l, s)) + : ((l.path += "" + e + r), o(l)); + })); + var u = /(\.(png|jpg)\d*)(?=$)/; + r.normalizeTileURL = function (t, e, r) { + if (!e || !i(e)) return t; + var n = a(t), + c = l.devicePixelRatio >= 2 || 512 === r ? "@2x" : "", + f = l.supportsWebp ? ".webp" : "$1"; + return ( + (n.path = n.path.replace(u, "" + c + f)), + (function (t) { + for (var e = 0; e < t.length; e++) + 0 === t[e].indexOf("access_token=tk.") && + (t[e] = "access_token=" + (s.ACCESS_TOKEN || "")); + })(n.params), + o(n) + ); + }; + var f = /^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/; + }, + { "./browser": 252, "./config": 256 }, + ], + 268: [ + function (t, e, r) { + e.exports = { + getEntriesByName: function (t) { + return ( + !(!performance || !performance.getEntriesByName) && + performance.getEntriesByName(t) + ); + }, + }; + }, + {}, + ], + 269: [ + function (t, e, r) { + var n = t("./is_char_in_unicode_block"); + ((e.exports.allowsIdeographicBreaking = function (t) { + for (var e = 0, n = t; e < n.length; e += 1) { + var i = n[e]; + if (!r.charAllowsIdeographicBreaking(i.charCodeAt(0))) + return !1; + } + return !0; + }), + (e.exports.allowsVerticalWritingMode = function (t) { + for (var e = 0, n = t; e < n.length; e += 1) { + var i = n[e]; + if (r.charHasUprightVerticalOrientation(i.charCodeAt(0))) + return !0; + } + return !1; + }), + (e.exports.allowsLetterSpacing = function (t) { + for (var e = 0, n = t; e < n.length; e += 1) { + var i = n[e]; + if (!r.charAllowsLetterSpacing(i.charCodeAt(0))) return !1; + } + return !0; + }), + (e.exports.charAllowsLetterSpacing = function (t) { + return !( + n.Arabic(t) || + n["Arabic Supplement"](t) || + n["Arabic Extended-A"](t) || + n["Arabic Presentation Forms-A"](t) || + n["Arabic Presentation Forms-B"](t) + ); + }), + (e.exports.charAllowsIdeographicBreaking = function (t) { + return !!( + !(t < 11904) && + (n["Bopomofo Extended"](t) || + n.Bopomofo(t) || + n["CJK Compatibility Forms"](t) || + n["CJK Compatibility Ideographs"](t) || + n["CJK Compatibility"](t) || + n["CJK Radicals Supplement"](t) || + n["CJK Strokes"](t) || + n["CJK Symbols and Punctuation"](t) || + n["CJK Unified Ideographs Extension A"](t) || + n["CJK Unified Ideographs"](t) || + n["Enclosed CJK Letters and Months"](t) || + n["Halfwidth and Fullwidth Forms"](t) || + n.Hiragana(t) || + n["Ideographic Description Characters"](t) || + n["Kangxi Radicals"](t) || + n["Katakana Phonetic Extensions"](t) || + n.Katakana(t) || + n["Vertical Forms"](t) || + n["Yi Radicals"](t) || + n["Yi Syllables"](t)) + ); + }), + (r.charHasUprightVerticalOrientation = function (t) { + return !!( + 746 === t || + 747 === t || + (!(t < 4352) && + (n["Bopomofo Extended"](t) || + n.Bopomofo(t) || + (n["CJK Compatibility Forms"](t) && + !(t >= 65097 && t <= 65103)) || + n["CJK Compatibility Ideographs"](t) || + n["CJK Compatibility"](t) || + n["CJK Radicals Supplement"](t) || + n["CJK Strokes"](t) || + !( + !n["CJK Symbols and Punctuation"](t) || + (t >= 12296 && t <= 12305) || + (t >= 12308 && t <= 12319) || + 12336 === t + ) || + n["CJK Unified Ideographs Extension A"](t) || + n["CJK Unified Ideographs"](t) || + n["Enclosed CJK Letters and Months"](t) || + n["Hangul Compatibility Jamo"](t) || + n["Hangul Jamo Extended-A"](t) || + n["Hangul Jamo Extended-B"](t) || + n["Hangul Jamo"](t) || + n["Hangul Syllables"](t) || + n.Hiragana(t) || + n["Ideographic Description Characters"](t) || + n.Kanbun(t) || + n["Kangxi Radicals"](t) || + n["Katakana Phonetic Extensions"](t) || + (n.Katakana(t) && 12540 !== t) || + !( + !n["Halfwidth and Fullwidth Forms"](t) || + 65288 === t || + 65289 === t || + 65293 === t || + (t >= 65306 && t <= 65310) || + 65339 === t || + 65341 === t || + 65343 === t || + (t >= 65371 && t <= 65503) || + 65507 === t || + (t >= 65512 && t <= 65519) + ) || + !( + !n["Small Form Variants"](t) || + (t >= 65112 && t <= 65118) || + (t >= 65123 && t <= 65126) + ) || + n["Unified Canadian Aboriginal Syllabics"](t) || + n["Unified Canadian Aboriginal Syllabics Extended"]( + t, + ) || + n["Vertical Forms"](t) || + n["Yijing Hexagram Symbols"](t) || + n["Yi Syllables"](t) || + n["Yi Radicals"](t))) + ); + }), + (r.charHasNeutralVerticalOrientation = function (t) { + return !!( + (n["Latin-1 Supplement"](t) && + (167 === t || + 169 === t || + 174 === t || + 177 === t || + 188 === t || + 189 === t || + 190 === t || + 215 === t || + 247 === t)) || + (n["General Punctuation"](t) && + (8214 === t || + 8224 === t || + 8225 === t || + 8240 === t || + 8241 === t || + 8251 === t || + 8252 === t || + 8258 === t || + 8263 === t || + 8264 === t || + 8265 === t || + 8273 === t)) || + n["Letterlike Symbols"](t) || + n["Number Forms"](t) || + (n["Miscellaneous Technical"](t) && + ((t >= 8960 && t <= 8967) || + (t >= 8972 && t <= 8991) || + (t >= 8996 && t <= 9e3) || + 9003 === t || + (t >= 9085 && t <= 9114) || + (t >= 9150 && t <= 9165) || + 9167 === t || + (t >= 9169 && t <= 9179) || + (t >= 9186 && t <= 9215))) || + (n["Control Pictures"](t) && 9251 !== t) || + n["Optical Character Recognition"](t) || + n["Enclosed Alphanumerics"](t) || + n["Geometric Shapes"](t) || + (n["Miscellaneous Symbols"](t) && + !(t >= 9754 && t <= 9759)) || + (n["Miscellaneous Symbols and Arrows"](t) && + ((t >= 11026 && t <= 11055) || + (t >= 11088 && t <= 11097) || + (t >= 11192 && t <= 11243))) || + n["CJK Symbols and Punctuation"](t) || + n.Katakana(t) || + n["Private Use Area"](t) || + n["CJK Compatibility Forms"](t) || + n["Small Form Variants"](t) || + n["Halfwidth and Fullwidth Forms"](t) || + 8734 === t || + 8756 === t || + 8757 === t || + (t >= 9984 && t <= 10087) || + (t >= 10102 && t <= 10131) || + 65532 === t || + 65533 === t + ); + }), + (r.charHasRotatedVerticalOrientation = function (t) { + return !( + r.charHasUprightVerticalOrientation(t) || + r.charHasNeutralVerticalOrientation(t) + ); + })); + }, + { "./is_char_in_unicode_block": 265 }, + ], + 270: [ + function (t, e, r) { + var n = t("../geo/lng_lat"); + e.exports = function (t, e, r) { + if (((t = new n(t.lng, t.lat)), e)) { + var i = new n(t.lng - 360, t.lat), + a = new n(t.lng + 360, t.lat), + o = r.locationPoint(t).distSqr(e); + r.locationPoint(i).distSqr(e) < o + ? (t = i) + : r.locationPoint(a).distSqr(e) < o && (t = a); + } + for (; Math.abs(t.lng - r.center.lng) > 180; ) { + var s = r.locationPoint(t); + if (s.x >= 0 && s.y >= 0 && s.x <= r.width && s.y <= r.height) + break; + t.lng > r.center.lng ? (t.lng -= 360) : (t.lng += 360); + } + return t; + }; + }, + { "../geo/lng_lat": 62 }, + ], + 271: [ + function (t, e, r) { + function n(t, e) { + return Math.ceil(t / e) * e; + } + var i = { + Int8: Int8Array, + Uint8: Uint8Array, + Int16: Int16Array, + Uint16: Uint16Array, + Int32: Int32Array, + Uint32: Uint32Array, + Float32: Float32Array, + }, + a = function () { + ((this.isTransferred = !1), + (this.capacity = -1), + this.resize(0)); + }; + ((a.serialize = function (t, e) { + return ( + t._trim(), + e && ((t.isTransferred = !0), e.push(t.arrayBuffer)), + { length: t.length, arrayBuffer: t.arrayBuffer } + ); + }), + (a.deserialize = function (t) { + var e = Object.create(this.prototype); + return ( + (e.arrayBuffer = t.arrayBuffer), + (e.length = t.length), + (e.capacity = t.arrayBuffer.byteLength / e.bytesPerElement), + e._refreshViews(), + e + ); + }), + (a.prototype._trim = function () { + this.length !== this.capacity && + ((this.capacity = this.length), + (this.arrayBuffer = this.arrayBuffer.slice( + 0, + this.length * this.bytesPerElement, + )), + this._refreshViews()); + }), + (a.prototype.clear = function () { + this.length = 0; + }), + (a.prototype.resize = function (t) { + (this.reserve(t), (this.length = t)); + }), + (a.prototype.reserve = function (t) { + if (t > this.capacity) { + ((this.capacity = Math.max( + t, + Math.floor(5 * this.capacity), + 128, + )), + (this.arrayBuffer = new ArrayBuffer( + this.capacity * this.bytesPerElement, + ))); + var e = this.uint8; + (this._refreshViews(), e && this.uint8.set(e)); + } + }), + (a.prototype._refreshViews = function () { + throw new Error( + "_refreshViews() must be implemented by each concrete StructArray layout", + ); + }), + (e.exports.StructArray = a), + (e.exports.Struct = function (t, e) { + ((this._structArray = t), + (this._pos1 = e * this.size), + (this._pos2 = this._pos1 / 2), + (this._pos4 = this._pos1 / 4), + (this._pos8 = this._pos1 / 8)); + }), + (e.exports.viewTypes = i), + (e.exports.createLayout = function (t, e) { + void 0 === e && (e = 1); + var r = 0, + a = 0; + return { + members: t.map(function (t) { + var o = (function (t) { + return i[t].BYTES_PER_ELEMENT; + })(t.type), + s = (r = n(r, Math.max(e, o))), + l = t.components || 1; + return ( + (a = Math.max(a, o)), + (r += o * l), + { name: t.name, type: t.type, components: l, offset: s } + ); + }), + size: n(r, Math.max(a, e)), + alignment: e, + }; + })); + }, + {}, + ], + 272: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = !1, + n = 0, + i = function () { + ((n = 0), r && (t(), (n = setTimeout(i, e)), (r = !1))); + }; + return function () { + return ((r = !0), n || i(), n); + }; + }; + }, + {}, + ], + 273: [ + function (t, e, r) { + function n(t, e) { + if (t.row > e.row) { + var r = t; + ((t = e), (e = r)); + } + return { + x0: t.column, + y0: t.row, + x1: e.column, + y1: e.row, + dx: e.column - t.column, + dy: e.row - t.row, + }; + } + function i(t, e, r, n, i) { + var a = Math.max(r, Math.floor(e.y0)), + o = Math.min(n, Math.ceil(e.y1)); + if ( + t.x0 === e.x0 && t.y0 === e.y0 + ? t.x0 + (e.dy / t.dy) * t.dx < e.x1 + : t.x1 - (e.dy / t.dy) * t.dx < e.x0 + ) { + var s = t; + ((t = e), (e = s)); + } + for ( + var l = t.dx / t.dy, + c = e.dx / e.dy, + u = t.dx > 0, + f = e.dx < 0, + h = a; + h < o; + h++ + ) { + var p = l * Math.max(0, Math.min(t.dy, h + u - t.y0)) + t.x0, + d = c * Math.max(0, Math.min(e.dy, h + f - e.y0)) + e.x0; + i(Math.floor(d), Math.ceil(p), h); + } + } + function a(t, e, r, a, o, s) { + var l, + c = n(t, e), + u = n(e, r), + f = n(r, t); + (c.dy > u.dy && ((l = c), (c = u), (u = l)), + c.dy > f.dy && ((l = c), (c = f), (f = l)), + u.dy > f.dy && ((l = u), (u = f), (f = l)), + c.dy && i(f, c, a, o, s), + u.dy && i(f, u, a, o, s)); + } + t("../geo/coordinate"); + var o = t("../source/tile_id").OverscaledTileID; + e.exports = function (t, e, r, n) { + function i(e, i, a) { + var c, u, f; + if (a >= 0 && a <= s) + for (c = e; c < i; c++) + (0 !== (u = Math.floor(c / s)) && !0 !== n) || + ((f = new o(r, u, t, ((c % s) + s) % s, a)), + (l[f.key] = f)); + } + void 0 === n && (n = !0); + var s = 1 << t, + l = {}; + return ( + a(e[0], e[1], e[2], 0, s, i), + a(e[2], e[3], e[0], 0, s, i), + Object.keys(l).map(function (t) { + return l[t]; + }) + ); + }; + }, + { "../geo/coordinate": 61, "../source/tile_id": 114 }, + ], + 274: [ + function (t, e, r) { + e.exports = function (t, e) { + return e.replace(/{([^{}]+)}/g, function (e, r) { + return r in t ? String(t[r]) : ""; + }); + }; + }, + {}, + ], + 275: [ + function (t, e, r) { + var n = t("@mapbox/unitbezier"), + i = t("../geo/coordinate"); + t("@mapbox/point-geometry"); + ((r.easeCubicInOut = function (t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + }), + (r.bezier = function (t, e, r, i) { + var a = new n(t, e, r, i); + return function (t) { + return a.solve(t); + }; + }), + (r.ease = r.bezier(0.25, 0.1, 0.25, 1)), + (r.clamp = function (t, e, r) { + return Math.min(r, Math.max(e, t)); + }), + (r.wrap = function (t, e, r) { + var n = r - e, + i = ((((t - e) % n) + n) % n) + e; + return i === e ? r : i; + }), + (r.asyncAll = function (t, e, r) { + if (!t.length) return r(null, []); + var n = t.length, + i = new Array(t.length), + a = null; + t.forEach(function (t, o) { + e(t, function (t, e) { + (t && (a = t), (i[o] = e), 0 == --n && r(a, i)); + }); + }); + }), + (r.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (r.keysDifference = function (t, e) { + var r = []; + for (var n in t) n in e || r.push(n); + return r; + }), + (r.extend = function (t) { + for ( + var e = arguments, r = [], n = arguments.length - 1; + n-- > 0; + + ) + r[n] = e[n + 1]; + for (var i = 0, a = r; i < a.length; i += 1) { + var o = a[i]; + for (var s in o) t[s] = o[s]; + } + return t; + }), + (r.pick = function (t, e) { + for (var r = {}, n = 0; n < e.length; n++) { + var i = e[n]; + i in t && (r[i] = t[i]); + } + return r; + })); + var a = 1; + ((r.uniqueId = function () { + return a++; + }), + (r.bindAll = function (t, e) { + t.forEach(function (t) { + e[t] && (e[t] = e[t].bind(e)); + }); + }), + (r.getCoordinatesCenter = function (t) { + for ( + var e = 1 / 0, r = 1 / 0, n = -1 / 0, a = -1 / 0, o = 0; + o < t.length; + o++ + ) + ((e = Math.min(e, t[o].column)), + (r = Math.min(r, t[o].row)), + (n = Math.max(n, t[o].column)), + (a = Math.max(a, t[o].row))); + var s = n - e, + l = a - r, + c = Math.max(s, l), + u = Math.max(0, Math.floor(-Math.log(c) / Math.LN2)); + return new i((e + n) / 2, (r + a) / 2, 0).zoomTo(u); + }), + (r.endsWith = function (t, e) { + return -1 !== t.indexOf(e, t.length - e.length); + }), + (r.mapObject = function (t, e, r) { + var n = {}; + for (var i in t) n[i] = e.call(r || this, t[i], i, t); + return n; + }), + (r.filterObject = function (t, e, r) { + var n = {}; + for (var i in t) + e.call(r || this, t[i], i, t) && (n[i] = t[i]); + return n; + }), + (r.deepEqual = t("../style-spec/util/deep_equal")), + (r.clone = function (t) { + return Array.isArray(t) + ? t.map(r.clone) + : "object" == typeof t && t + ? r.mapObject(t, r.clone) + : t; + }), + (r.arraysIntersect = function (t, e) { + for (var r = 0; r < t.length; r++) + if (e.indexOf(t[r]) >= 0) return !0; + return !1; + })); + var o = {}; + ((r.warnOnce = function (t) { + o[t] || + ("undefined" != typeof console && console.warn(t), + (o[t] = !0)); + }), + (r.isCounterClockwise = function (t, e, r) { + return (r.y - t.y) * (e.x - t.x) > (e.y - t.y) * (r.x - t.x); + }), + (r.calculateSignedArea = function (t) { + for ( + var e = 0, + r = 0, + n = t.length, + i = n - 1, + a = void 0, + o = void 0; + r < n; + i = r++ + ) + ((a = t[r]), (e += ((o = t[i]).x - a.x) * (a.y + o.y))); + return e; + }), + (r.isClosedPolygon = function (t) { + if (t.length < 4) return !1; + var e = t[0], + n = t[t.length - 1]; + return ( + !(Math.abs(e.x - n.x) > 0 || Math.abs(e.y - n.y) > 0) && + Math.abs(r.calculateSignedArea(t)) > 0.01 + ); + }), + (r.sphericalToCartesian = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return ( + (r += 90), + (r *= Math.PI / 180), + (n *= Math.PI / 180), + { + x: e * Math.cos(r) * Math.sin(n), + y: e * Math.sin(r) * Math.sin(n), + z: e * Math.cos(n), + } + ); + }), + (r.parseCacheControl = function (t) { + var e = {}; + if ( + (t.replace( + /(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, + function (t, r, n, i) { + var a = n || i; + return ((e[r] = !a || a.toLowerCase()), ""); + }, + ), + e["max-age"]) + ) { + var r = parseInt(e["max-age"], 10); + isNaN(r) ? delete e["max-age"] : (e["max-age"] = r); + } + return e; + })); + }, + { + "../geo/coordinate": 61, + "../style-spec/util/deep_equal": 155, + "@mapbox/point-geometry": 4, + "@mapbox/unitbezier": 7, + }, + ], + 276: [ + function (t, e, r) { + var n = function (t, e, r, n) { + ((this.type = "Feature"), + (this._vectorTileFeature = t), + (t._z = e), + (t._x = r), + (t._y = n), + (this.properties = t.properties), + null != t.id && (this.id = t.id)); + }, + i = { geometry: {} }; + ((i.geometry.get = function () { + return ( + void 0 === this._geometry && + (this._geometry = this._vectorTileFeature.toGeoJSON( + this._vectorTileFeature._x, + this._vectorTileFeature._y, + this._vectorTileFeature._z, + ).geometry), + this._geometry + ); + }), + (i.geometry.set = function (t) { + this._geometry = t; + }), + (n.prototype.toJSON = function () { + var t = { geometry: this.geometry }; + for (var e in this) + "_geometry" !== e && + "_vectorTileFeature" !== e && + (t[e] = this[e]); + return t; + }), + Object.defineProperties(n.prototype, i), + (e.exports = n)); + }, + {}, + ], + 277: [ + function (t, e, r) { + var n = t("./script_detection"); + ((e.exports = function (t) { + for (var r = "", i = 0; i < t.length; i++) { + var a = t.charCodeAt(i + 1) || null, + o = t.charCodeAt(i - 1) || null; + (a && + n.charHasRotatedVerticalOrientation(a) && + !e.exports.lookup[t[i + 1]]) || + (o && + n.charHasRotatedVerticalOrientation(o) && + !e.exports.lookup[t[i - 1]]) || + !e.exports.lookup[t[i]] + ? (r += t[i]) + : (r += e.exports.lookup[t[i]]); + } + return r; + }), + (e.exports.lookup = { + "!": "\ufe15", + "#": "\uff03", + $: "\uff04", + "%": "\uff05", + "&": "\uff06", + "(": "\ufe35", + ")": "\ufe36", + "*": "\uff0a", + "+": "\uff0b", + ",": "\ufe10", + "-": "\ufe32", + ".": "\u30fb", + "/": "\uff0f", + ":": "\ufe13", + ";": "\ufe14", + "<": "\ufe3f", + "=": "\uff1d", + ">": "\ufe40", + "?": "\ufe16", + "@": "\uff20", + "[": "\ufe47", + "\\": "\uff3c", + "]": "\ufe48", + "^": "\uff3e", + _: "\ufe33", + "`": "\uff40", + "{": "\ufe37", + "|": "\u2015", + "}": "\ufe38", + "~": "\uff5e", + "\xa2": "\uffe0", + "\xa3": "\uffe1", + "\xa5": "\uffe5", + "\xa6": "\uffe4", + "\xac": "\uffe2", + "\xaf": "\uffe3", + "\u2013": "\ufe32", + "\u2014": "\ufe31", + "\u2018": "\ufe43", + "\u2019": "\ufe44", + "\u201c": "\ufe41", + "\u201d": "\ufe42", + "\u2026": "\ufe19", + "\u2027": "\u30fb", + "\u20a9": "\uffe6", + "\u3001": "\ufe11", + "\u3002": "\ufe12", + "\u3008": "\ufe3f", + "\u3009": "\ufe40", + "\u300a": "\ufe3d", + "\u300b": "\ufe3e", + "\u300c": "\ufe41", + "\u300d": "\ufe42", + "\u300e": "\ufe43", + "\u300f": "\ufe44", + "\u3010": "\ufe3b", + "\u3011": "\ufe3c", + "\u3014": "\ufe39", + "\u3015": "\ufe3a", + "\u3016": "\ufe17", + "\u3017": "\ufe18", + "\uff01": "\ufe15", + "\uff08": "\ufe35", + "\uff09": "\ufe36", + "\uff0c": "\ufe10", + "\uff0d": "\ufe32", + "\uff0e": "\u30fb", + "\uff1a": "\ufe13", + "\uff1b": "\ufe14", + "\uff1c": "\ufe3f", + "\uff1e": "\ufe40", + "\uff1f": "\ufe16", + "\uff3b": "\ufe47", + "\uff3d": "\ufe48", + "\uff3f": "\ufe33", + "\uff5b": "\ufe37", + "\uff5c": "\u2015", + "\uff5d": "\ufe38", + "\uff5f": "\ufe35", + "\uff60": "\ufe36", + "\uff61": "\ufe12", + "\uff62": "\ufe41", + "\uff63": "\ufe42", + })); + }, + { "./script_detection": 269 }, + ], + 278: [ + function (t, e, r) { + function n(t, e, r) { + (void 0 === r && (r = {}), + Object.defineProperty(e, "_classRegistryKey", { + value: t, + writeable: !1, + }), + (g[t] = { + klass: e, + omit: r.omit || [], + shallow: r.shallow || [], + })); + } + var i = t("grid-index"), + a = t("../style-spec/util/color"), + o = t("../style-spec/expression"), + s = o.StylePropertyFunction, + l = o.StyleExpression, + c = o.StyleExpressionWithErrorHandling, + u = o.ZoomDependentExpression, + f = o.ZoomConstantExpression, + h = t( + "../style-spec/expression/compound_expression", + ).CompoundExpression, + p = t("../style-spec/expression/definitions"), + d = t("./window").ImageData, + g = {}; + for (var m in (n("Object", Object), + (i.serialize = function (t, e) { + var r = t.toArrayBuffer(); + return (e && e.push(r), r); + }), + (i.deserialize = function (t) { + return new i(t); + }), + n("Grid", i), + n("Color", a), + n("StylePropertyFunction", s), + n("StyleExpression", l, { omit: ["_evaluator"] }), + n("StyleExpressionWithErrorHandling", c, { + omit: ["_evaluator"], + }), + n("ZoomDependentExpression", u), + n("ZoomConstantExpression", f), + n("CompoundExpression", h, { omit: ["_evaluate"] }), + p)) + p[m]._classRegistryKey || n("Expression_" + m, p[m]); + e.exports = { + register: n, + serialize: function t(e, r) { + if ( + null === e || + void 0 === e || + "boolean" == typeof e || + "number" == typeof e || + "string" == typeof e || + e instanceof Boolean || + e instanceof Number || + e instanceof String || + e instanceof Date || + e instanceof RegExp + ) + return e; + if (e instanceof ArrayBuffer) return (r && r.push(e), e); + if (ArrayBuffer.isView(e)) { + var n = e; + return (r && r.push(n.buffer), n); + } + if (e instanceof d) return (r && r.push(e.data.buffer), e); + if (Array.isArray(e)) { + for (var i = [], a = 0, o = e; a < o.length; a += 1) { + var s = o[a]; + i.push(t(s, r)); + } + return i; + } + if ("object" == typeof e) { + var l = e.constructor, + c = l._classRegistryKey; + if (!c) + throw new Error( + "can't serialize object of unregistered class", + ); + var u = {}; + if (l.serialize) u._serialized = l.serialize(e, r); + else + for (var f in e) + if ( + e.hasOwnProperty(f) && + !(g[c].omit.indexOf(f) >= 0) + ) { + var h = e[f]; + u[f] = g[c].shallow.indexOf(f) >= 0 ? h : t(h, r); + } + return { name: c, properties: u }; + } + throw new Error("can't serialize object of type " + typeof e); + }, + deserialize: function t(e) { + if ( + null === e || + void 0 === e || + "boolean" == typeof e || + "number" == typeof e || + "string" == typeof e || + e instanceof Boolean || + e instanceof Number || + e instanceof String || + e instanceof Date || + e instanceof RegExp || + e instanceof ArrayBuffer || + ArrayBuffer.isView(e) || + e instanceof d + ) + return e; + if (Array.isArray(e)) + return e.map(function (e) { + return t(e); + }); + if ("object" == typeof e) { + var r = e, + n = r.name, + i = r.properties; + if (!n) + throw new Error( + "can't deserialize object of anonymous class", + ); + var a = g[n].klass; + if (!a) + throw new Error( + "can't deserialize unregistered class " + n, + ); + if (a.deserialize) return a.deserialize(i._serialized); + for ( + var o = Object.create(a.prototype), + s = 0, + l = Object.keys(i); + s < l.length; + s += 1 + ) { + var c = l[s]; + o[c] = g[n].shallow.indexOf(c) >= 0 ? i[c] : t(i[c]); + } + return o; + } + throw new Error( + "can't deserialize object of type " + typeof e, + ); + }, + }; + }, + { + "../style-spec/expression": 139, + "../style-spec/expression/compound_expression": 123, + "../style-spec/expression/definitions": 131, + "../style-spec/util/color": 153, + "./window": 254, + "grid-index": 24, + }, + ], + 279: [ + function (t, e, r) { + var n = t("./web_worker"), + i = function () { + this.active = {}; + }; + ((i.prototype.acquire = function (e) { + if (!this.workers) { + var r = t("../").workerCount; + for (this.workers = []; this.workers.length < r; ) + this.workers.push(new n()); + } + return ((this.active[e] = !0), this.workers.slice()); + }), + (i.prototype.release = function (t) { + (delete this.active[t], + 0 === Object.keys(this.active).length && + (this.workers.forEach(function (t) { + t.terminate(); + }), + (this.workers = null))); + }), + (e.exports = i)); + }, + { "../": 73, "./web_worker": 253 }, + ], + }, + {}, + [73], + )(73); + }); + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + {}, + ], + 312: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = 1 << (t + 1), r = new Array(e), n = 0; n < e; ++n) + r[n] = a(t, n); + return r; + }; + var n = t("convex-hull"); + function i(t, e, r) { + for (var n = new Array(t), i = 0; i < t; ++i) + ((n[i] = 0), i === e && (n[i] += 0.5), i === r && (n[i] += 0.5)); + return n; + } + function a(t, e) { + if (0 === e || e === (1 << (t + 1)) - 1) return []; + for (var r = [], a = [], o = 0; o <= t; ++o) + if (e & (1 << o)) { + (r.push(i(t, o - 1, o - 1)), a.push(null)); + for (var s = 0; s <= t; ++s) + ~e & (1 << s) && (r.push(i(t, o - 1, s - 1)), a.push([o, s])); + } + var l = n(r), + c = []; + t: for (o = 0; o < l.length; ++o) { + var u = l[o], + f = []; + for (s = 0; s < u.length; ++s) { + if (!a[u[s]]) continue t; + f.push(a[u[s]].slice()); + } + c.push(f); + } + return c; + } + }, + { "convex-hull": 110 }, + ], + 313: [ + function (t, e, r) { + var n = t("./normalize"), + i = t("gl-mat4/create"), + a = t("gl-mat4/clone"), + o = t("gl-mat4/determinant"), + s = t("gl-mat4/invert"), + l = t("gl-mat4/transpose"), + c = { + length: t("gl-vec3/length"), + normalize: t("gl-vec3/normalize"), + dot: t("gl-vec3/dot"), + cross: t("gl-vec3/cross"), + }, + u = i(), + f = i(), + h = [0, 0, 0, 0], + p = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + d = [0, 0, 0]; + function g(t, e, r, n, i) { + ((t[0] = e[0] * n + r[0] * i), + (t[1] = e[1] * n + r[1] * i), + (t[2] = e[2] * n + r[2] * i)); + } + e.exports = function (t, e, r, i, m, v) { + if ( + (e || (e = [0, 0, 0]), + r || (r = [0, 0, 0]), + i || (i = [0, 0, 0]), + m || (m = [0, 0, 0, 1]), + v || (v = [0, 0, 0, 1]), + !n(u, t)) + ) + return !1; + if ( + (a(f, u), + (f[3] = 0), + (f[7] = 0), + (f[11] = 0), + (f[15] = 1), + Math.abs(o(f) < 1e-8)) + ) + return !1; + var y, + x, + b, + _, + w, + k, + M, + A = u[3], + T = u[7], + S = u[11], + C = u[12], + E = u[13], + L = u[14], + z = u[15]; + if (0 !== A || 0 !== T || 0 !== S) { + if (((h[0] = A), (h[1] = T), (h[2] = S), (h[3] = z), !s(f, f))) return !1; + (l(f, f), + (y = m), + (b = f), + (_ = (x = h)[0]), + (w = x[1]), + (k = x[2]), + (M = x[3]), + (y[0] = b[0] * _ + b[4] * w + b[8] * k + b[12] * M), + (y[1] = b[1] * _ + b[5] * w + b[9] * k + b[13] * M), + (y[2] = b[2] * _ + b[6] * w + b[10] * k + b[14] * M), + (y[3] = b[3] * _ + b[7] * w + b[11] * k + b[15] * M)); + } else ((m[0] = m[1] = m[2] = 0), (m[3] = 1)); + if ( + ((e[0] = C), + (e[1] = E), + (e[2] = L), + (function (t, e) { + ((t[0][0] = e[0]), + (t[0][1] = e[1]), + (t[0][2] = e[2]), + (t[1][0] = e[4]), + (t[1][1] = e[5]), + (t[1][2] = e[6]), + (t[2][0] = e[8]), + (t[2][1] = e[9]), + (t[2][2] = e[10])); + })(p, u), + (r[0] = c.length(p[0])), + c.normalize(p[0], p[0]), + (i[0] = c.dot(p[0], p[1])), + g(p[1], p[1], p[0], 1, -i[0]), + (r[1] = c.length(p[1])), + c.normalize(p[1], p[1]), + (i[0] /= r[1]), + (i[1] = c.dot(p[0], p[2])), + g(p[2], p[2], p[0], 1, -i[1]), + (i[2] = c.dot(p[1], p[2])), + g(p[2], p[2], p[1], 1, -i[2]), + (r[2] = c.length(p[2])), + c.normalize(p[2], p[2]), + (i[1] /= r[2]), + (i[2] /= r[2]), + c.cross(d, p[1], p[2]), + c.dot(p[0], d) < 0) + ) + for (var P = 0; P < 3; P++) + ((r[P] *= -1), (p[P][0] *= -1), (p[P][1] *= -1), (p[P][2] *= -1)); + return ( + (v[0] = 0.5 * Math.sqrt(Math.max(1 + p[0][0] - p[1][1] - p[2][2], 0))), + (v[1] = 0.5 * Math.sqrt(Math.max(1 - p[0][0] + p[1][1] - p[2][2], 0))), + (v[2] = 0.5 * Math.sqrt(Math.max(1 - p[0][0] - p[1][1] + p[2][2], 0))), + (v[3] = 0.5 * Math.sqrt(Math.max(1 + p[0][0] + p[1][1] + p[2][2], 0))), + p[2][1] > p[1][2] && (v[0] = -v[0]), + p[0][2] > p[2][0] && (v[1] = -v[1]), + p[1][0] > p[0][1] && (v[2] = -v[2]), + !0 + ); + }; + }, + { + "./normalize": 314, + "gl-mat4/clone": 224, + "gl-mat4/create": 225, + "gl-mat4/determinant": 226, + "gl-mat4/invert": 230, + "gl-mat4/transpose": 240, + "gl-vec3/cross": 280, + "gl-vec3/dot": 281, + "gl-vec3/length": 282, + "gl-vec3/normalize": 284, + }, + ], + 314: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[15]; + if (0 === r) return !1; + for (var n = 1 / r, i = 0; i < 16; i++) t[i] = e[i] * n; + return !0; + }; + }, + {}, + ], + 315: [ + function (t, e, r) { + var n = t("gl-vec3/lerp"), + i = t("mat4-recompose"), + a = t("mat4-decompose"), + o = t("gl-mat4/determinant"), + s = t("quat-slerp"), + l = f(), + c = f(), + u = f(); + function f() { + return { + translate: h(), + scale: h(1), + skew: h(), + perspective: [0, 0, 0, 1], + quaternion: [0, 0, 0, 1], + }; + } + function h(t) { + return [t || 0, t || 0, t || 0]; + } + e.exports = function (t, e, r, f) { + if (0 === o(e) || 0 === o(r)) return !1; + var h = a(e, l.translate, l.scale, l.skew, l.perspective, l.quaternion), + p = a(r, c.translate, c.scale, c.skew, c.perspective, c.quaternion); + return !( + !h || + !p || + (n(u.translate, l.translate, c.translate, f), + n(u.skew, l.skew, c.skew, f), + n(u.scale, l.scale, c.scale, f), + n(u.perspective, l.perspective, c.perspective, f), + s(u.quaternion, l.quaternion, c.quaternion, f), + i(t, u.translate, u.scale, u.skew, u.perspective, u.quaternion), + 0) + ); + }; + }, + { + "gl-mat4/determinant": 226, + "gl-vec3/lerp": 283, + "mat4-decompose": 313, + "mat4-recompose": 316, + "quat-slerp": 367, + }, + ], + 316: [ + function (t, e, r) { + var n = { + identity: t("gl-mat4/identity"), + translate: t("gl-mat4/translate"), + multiply: t("gl-mat4/multiply"), + create: t("gl-mat4/create"), + scale: t("gl-mat4/scale"), + fromRotationTranslation: t("gl-mat4/fromRotationTranslation"), + }, + i = (n.create(), n.create()); + e.exports = function (t, e, r, a, o, s) { + return ( + n.identity(t), + n.fromRotationTranslation(t, s, e), + (t[3] = o[0]), + (t[7] = o[1]), + (t[11] = o[2]), + (t[15] = o[3]), + n.identity(i), + 0 !== a[2] && ((i[9] = a[2]), n.multiply(t, t, i)), + 0 !== a[1] && ((i[9] = 0), (i[8] = a[1]), n.multiply(t, t, i)), + 0 !== a[0] && ((i[8] = 0), (i[4] = a[0]), n.multiply(t, t, i)), + n.scale(t, t, r), + t + ); + }; + }, + { + "gl-mat4/create": 225, + "gl-mat4/fromRotationTranslation": 228, + "gl-mat4/identity": 229, + "gl-mat4/multiply": 232, + "gl-mat4/scale": 238, + "gl-mat4/translate": 239, + }, + ], + 317: [ + function (t, e, r) { + "use strict"; + e.exports = + Math.log2 || + function (t) { + return Math.log(t) * Math.LOG2E; + }; + }, + {}, + ], + 318: [ + function (t, e, r) { + "use strict"; + var n = t("binary-search-bounds"), + i = t("mat4-interpolate"), + a = t("gl-mat4/invert"), + o = t("gl-mat4/rotateX"), + s = t("gl-mat4/rotateY"), + l = t("gl-mat4/rotateZ"), + c = t("gl-mat4/lookAt"), + u = t("gl-mat4/translate"), + f = (t("gl-mat4/scale"), t("gl-vec3/normalize")), + h = [0, 0, 0]; + function p(t) { + ((this._components = t.slice()), + (this._time = [0]), + (this.prevMatrix = t.slice()), + (this.nextMatrix = t.slice()), + (this.computedMatrix = t.slice()), + (this.computedInverse = t.slice()), + (this.computedEye = [0, 0, 0]), + (this.computedUp = [0, 0, 0]), + (this.computedCenter = [0, 0, 0]), + (this.computedRadius = [0]), + (this._limits = [-1 / 0, 1 / 0])); + } + e.exports = function (t) { + return new p( + (t = t || {}).matrix || [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + ); + }; + var d = p.prototype; + ((d.recalcMatrix = function (t) { + var e = this._time, + r = n.le(e, t), + o = this.computedMatrix; + if (!(r < 0)) { + var s = this._components; + if (r === e.length - 1) + for (var l = 16 * r, c = 0; c < 16; ++c) o[c] = s[l++]; + else { + var u = e[r + 1] - e[r], + h = ((l = 16 * r), this.prevMatrix), + p = !0; + for (c = 0; c < 16; ++c) h[c] = s[l++]; + var d = this.nextMatrix; + for (c = 0; c < 16; ++c) ((d[c] = s[l++]), (p = p && h[c] === d[c])); + if (u < 1e-6 || p) for (c = 0; c < 16; ++c) o[c] = h[c]; + else i(o, h, d, (t - e[r]) / u); + } + var g = this.computedUp; + ((g[0] = o[1]), (g[1] = o[5]), (g[2] = o[9]), f(g, g)); + var m = this.computedInverse; + a(m, o); + var v = this.computedEye, + y = m[15]; + ((v[0] = m[12] / y), (v[1] = m[13] / y), (v[2] = m[14] / y)); + var x = this.computedCenter, + b = Math.exp(this.computedRadius[0]); + for (c = 0; c < 3; ++c) x[c] = v[c] - o[2 + 4 * c] * b; + } + }), + (d.idle = function (t) { + if (!(t < this.lastT())) { + for (var e = this._components, r = e.length - 16, n = 0; n < 16; ++n) + e.push(e[r++]); + this._time.push(t); + } + }), + (d.flush = function (t) { + var e = n.gt(this._time, t) - 2; + e < 0 || (this._time.splice(0, e), this._components.splice(0, 16 * e)); + }), + (d.lastT = function () { + return this._time[this._time.length - 1]; + }), + (d.lookAt = function (t, e, r, n) { + (this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || h), + (n = n || this.computedUp), + this.setMatrix(t, c(this.computedMatrix, e, r, n))); + for (var i = 0, a = 0; a < 3; ++a) i += Math.pow(r[a] - e[a], 2); + ((i = Math.log(Math.sqrt(i))), (this.computedRadius[0] = i)); + }), + (d.rotate = function (t, e, r, n) { + this.recalcMatrix(t); + var i = this.computedInverse; + (e && s(i, i, e), + r && o(i, i, r), + n && l(i, i, n), + this.setMatrix(t, a(this.computedMatrix, i))); + })); + var g = [0, 0, 0]; + ((d.pan = function (t, e, r, n) { + ((g[0] = -(e || 0)), + (g[1] = -(r || 0)), + (g[2] = -(n || 0)), + this.recalcMatrix(t)); + var i = this.computedInverse; + (u(i, i, g), this.setMatrix(t, a(i, i))); + }), + (d.translate = function (t, e, r, n) { + ((g[0] = e || 0), (g[1] = r || 0), (g[2] = n || 0), this.recalcMatrix(t)); + var i = this.computedMatrix; + (u(i, i, g), this.setMatrix(t, i)); + }), + (d.setMatrix = function (t, e) { + if (!(t < this.lastT())) { + this._time.push(t); + for (var r = 0; r < 16; ++r) this._components.push(e[r]); + } + }), + (d.setDistance = function (t, e) { + this.computedRadius[0] = e; + }), + (d.setDistanceLimits = function (t, e) { + var r = this._limits; + ((r[0] = t), (r[1] = e)); + }), + (d.getDistanceLimits = function (t) { + var e = this._limits; + return t ? ((t[0] = e[0]), (t[1] = e[1]), t) : e; + })); + }, + { + "binary-search-bounds": 72, + "gl-mat4/invert": 230, + "gl-mat4/lookAt": 231, + "gl-mat4/rotateX": 235, + "gl-mat4/rotateY": 236, + "gl-mat4/rotateZ": 237, + "gl-mat4/scale": 238, + "gl-mat4/translate": 239, + "gl-vec3/normalize": 284, + "mat4-interpolate": 315, + }, + ], + 319: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.length; + if (e < 3) { + for (var r = new Array(e), i = 0; i < e; ++i) r[i] = i; + return 2 === e && t[0][0] === t[1][0] && t[0][1] === t[1][1] ? [0] : r; + } + for (var a = new Array(e), i = 0; i < e; ++i) a[i] = i; + a.sort(function (e, r) { + var n = t[e][0] - t[r][0]; + return n || t[e][1] - t[r][1]; + }); + for (var o = [a[0], a[1]], s = [a[0], a[1]], i = 2; i < e; ++i) { + for ( + var l = a[i], c = t[l], u = o.length; + u > 1 && n(t[o[u - 2]], t[o[u - 1]], c) <= 0; + + ) + ((u -= 1), o.pop()); + for ( + o.push(l), u = s.length; + u > 1 && n(t[s[u - 2]], t[s[u - 1]], c) >= 0; + + ) + ((u -= 1), s.pop()); + s.push(l); + } + for ( + var r = new Array(s.length + o.length - 2), f = 0, i = 0, h = o.length; + i < h; + ++i + ) + r[f++] = o[i]; + for (var p = s.length - 2; p > 0; --p) r[f++] = s[p]; + return r; + }; + var n = t("robust-orientation")[3]; + }, + { "robust-orientation": 388 }, + ], + 320: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { shift: !1, alt: !1, control: !1, meta: !1 }, + s = !1; + function l(t) { + var e = !1; + return ( + "altKey" in t && ((e = e || t.altKey !== o.alt), (o.alt = !!t.altKey)), + "shiftKey" in t && + ((e = e || t.shiftKey !== o.shift), (o.shift = !!t.shiftKey)), + "ctrlKey" in t && + ((e = e || t.ctrlKey !== o.control), (o.control = !!t.ctrlKey)), + "metaKey" in t && + ((e = e || t.metaKey !== o.meta), (o.meta = !!t.metaKey)), + e + ); + } + function c(t, s) { + var c = n.x(s), + u = n.y(s); + ("buttons" in s && (t = 0 | s.buttons), + (t !== r || c !== i || u !== a || l(s)) && + ((r = 0 | t), (i = c || 0), (a = u || 0), e && e(r, i, a, o))); + } + function u(t) { + c(0, t); + } + function f() { + (r || i || a || o.shift || o.alt || o.meta || o.control) && + ((i = a = 0), + (r = 0), + (o.shift = o.alt = o.control = o.meta = !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? c(0, t) : c(r, t); + } + function d(t) { + c(r | n.buttons(t), t); + } + function g(t) { + c(r & ~n.buttons(t), t); + } + function m() { + s || + ((s = !0), + t.addEventListener("mousemove", p), + t.addEventListener("mousedown", d), + t.addEventListener("mouseup", g), + t.addEventListener("mouseleave", u), + t.addEventListener("mouseenter", u), + t.addEventListener("mouseout", u), + t.addEventListener("mouseover", u), + t.addEventListener("blur", f), + t.addEventListener("keyup", h), + t.addEventListener("keydown", h), + t.addEventListener("keypress", h), + t !== window && + (window.addEventListener("blur", f), + window.addEventListener("keyup", h), + window.addEventListener("keydown", h), + window.addEventListener("keypress", h))); + } + m(); + var v = { element: t }; + return ( + Object.defineProperties(v, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? m() + : s && + ((s = !1), + t.removeEventListener("mousemove", p), + t.removeEventListener("mousedown", d), + t.removeEventListener("mouseup", g), + t.removeEventListener("mouseleave", u), + t.removeEventListener("mouseenter", u), + t.removeEventListener("mouseout", u), + t.removeEventListener("mouseover", u), + t.removeEventListener("blur", f), + t.removeEventListener("keyup", h), + t.removeEventListener("keydown", h), + t.removeEventListener("keypress", h), + t !== window && + (window.removeEventListener("blur", f), + window.removeEventListener("keyup", h), + window.removeEventListener("keydown", h), + window.removeEventListener("keypress", h))); + }, + enumerable: !0, + }, + buttons: { + get: function () { + return r; + }, + enumerable: !0, + }, + x: { + get: function () { + return i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + v + ); + }; + var n = t("mouse-event"); + }, + { "mouse-event": 322 }, + ], + 321: [ + function (t, e, r) { + var n = { left: 0, top: 0 }; + e.exports = function (t, e, r) { + ((e = e || t.currentTarget || t.srcElement), + Array.isArray(r) || (r = [0, 0])); + var i = t.clientX || 0, + a = t.clientY || 0, + o = + ((s = e), + s === window || s === document || s === document.body + ? n + : s.getBoundingClientRect()); + var s; + return ((r[0] = i - o.left), (r[1] = a - o.top), r); + }; + }, + {}, + ], + 322: [ + function (t, e, r) { + "use strict"; + function n(t) { + return t.target || t.srcElement || window; + } + ((r.buttons = function (t) { + if ("object" == typeof t) { + if ("buttons" in t) return t.buttons; + if ("which" in t) { + if (2 === (e = t.which)) return 4; + if (3 === e) return 2; + if (e > 0) return 1 << (e - 1); + } else if ("button" in t) { + var e; + if (1 === (e = t.button)) return 4; + if (2 === e) return 2; + if (e >= 0) return 1 << e; + } + } + return 0; + }), + (r.element = n), + (r.x = function (t) { + if ("object" == typeof t) { + if ("offsetX" in t) return t.offsetX; + var e = n(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (r.y = function (t) { + if ("object" == typeof t) { + if ("offsetY" in t) return t.offsetY; + var e = n(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + })); + }, + {}, + ], + 323: [ + function (t, e, r) { + "use strict"; + var n = t("to-px"); + e.exports = function (t, e, r) { + "function" == typeof t && ((r = !!e), (e = t), (t = window)); + var i = n("ex", t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = t.deltaMode, + l = 1; + switch (s) { + case 1: + l = i; + break; + case 2: + l = window.innerHeight; + } + if (((a *= l), (o *= l), (n *= l) || a || o)) return e(n, a, o, t); + }; + return (t.addEventListener("wheel", a), a); + }; + }, + { "to-px": 417 }, + ], + 324: [ + function (t, e, r) { + "use strict"; + var n = t("typedarray-pool"); + function i(t) { + return "a" + t; + } + function a(t) { + return "d" + t; + } + function o(t, e) { + return "c" + t + "_" + e; + } + function s(t) { + return "s" + t; + } + function l(t, e) { + return "t" + t + "_" + e; + } + function c(t) { + return "o" + t; + } + function u(t) { + return "x" + t; + } + function f(t) { + return "p" + t; + } + function h(t, e) { + return "d" + t + "_" + e; + } + function p(t) { + return "i" + t; + } + function d(t, e) { + return "u" + t + "_" + e; + } + function g(t) { + return "b" + t; + } + function m(t) { + return "y" + t; + } + function v(t) { + return "e" + t; + } + function y(t) { + return "v" + t; + } + e.exports = function (t) { + function e(t) { + throw new Error("ndarray-extract-contour: " + t); + } + "object" != typeof t && e("Must specify arguments"); + var r = t.order; + Array.isArray(r) || e("Must specify order"); + var T = t.arrayArguments || 1; + T < 1 && e("Must have at least one array argument"); + var S = t.scalarArguments || 0; + S < 0 && e("Scalar arg count must be > 0"); + "function" != typeof t.vertex && e("Must specify vertex creation function"); + "function" != typeof t.cell && e("Must specify cell creation function"); + "function" != typeof t.phase && e("Must specify phase function"); + for (var C = t.getters || [], E = new Array(T), L = 0; L < T; ++L) + C.indexOf(L) >= 0 ? (E[L] = !0) : (E[L] = !1); + return (function (t, e, r, T, S, C) { + var E = C.length, + L = S.length; + if (L < 2) + throw new Error( + "ndarray-extract-contour: Dimension must be at least 2", + ); + for ( + var z = "extractContour" + S.join("_"), P = [], D = [], O = [], I = 0; + I < E; + ++I + ) + O.push(i(I)); + for (var I = 0; I < T; ++I) O.push(u(I)); + for (var I = 0; I < L; ++I) + D.push(s(I) + "=" + i(0) + ".shape[" + I + "]|0"); + for (var I = 0; I < E; ++I) { + D.push(a(I) + "=" + i(I) + ".data", c(I) + "=" + i(I) + ".offset|0"); + for (var R = 0; R < L; ++R) + D.push(l(I, R) + "=" + i(I) + ".stride[" + R + "]|0"); + } + for (var I = 0; I < E; ++I) { + (D.push(f(I) + "=" + c(I)), D.push(o(I, 0))); + for (var R = 1; R < 1 << L; ++R) { + for (var B = [], F = 0; F < L; ++F) + R & (1 << F) && B.push("-" + l(I, F)); + (D.push(h(I, R) + "=(" + B.join("") + ")|0"), D.push(o(I, R) + "=0")); + } + } + for (var I = 0; I < E; ++I) + for (var R = 0; R < L; ++R) { + var N = [l(I, S[R])]; + (R > 0 && N.push(l(I, S[R - 1]) + "*" + s(S[R - 1])), + D.push(d(I, S[R]) + "=(" + N.join("-") + ")|0")); + } + for (var I = 0; I < L; ++I) D.push(p(I) + "=0"); + D.push(_ + "=0"); + for (var j = ["2"], I = L - 2; I >= 0; --I) j.push(s(S[I])); + (D.push( + w + "=(" + j.join("*") + ")|0", + b + "=mallocUint32(" + w + ")", + x + "=mallocUint32(" + w + ")", + k + "=0", + ), + D.push(g(0) + "=0")); + for (var R = 1; R < 1 << L; ++R) { + for (var V = [], U = [], F = 0; F < L; ++F) + (R & (1 << F) && + (0 === U.length ? V.push("1") : V.unshift(U.join("*"))), + U.push(s(S[F]))); + var q = ""; + V[0].indexOf(s(S[L - 2])) < 0 && (q = "-"); + var H = A(L, R, S); + D.push( + v(H) + "=(-" + V.join("-") + ")|0", + m(H) + "=(" + q + V.join("-") + ")|0", + g(H) + "=0", + ); + } + function G(t, e) { + P.push( + "for(", + p(S[t]), + "=", + e, + ";", + p(S[t]), + "<", + s(S[t]), + ";", + "++", + p(S[t]), + "){", + ); + } + function W(t) { + for (var e = 0; e < E; ++e) P.push(f(e), "+=", d(e, S[t]), ";"); + P.push("}"); + } + function Y() { + for (var t = 1; t < 1 << L; ++t) + P.push(M, "=", v(t), ";", v(t), "=", m(t), ";", m(t), "=", M, ";"); + } + (D.push(y(0) + "=0", M + "=0"), + (function t(e, r) { + if (e < 0) + return void (function (t) { + for (var e = 0; e < E; ++e) + C[e] + ? P.push(o(e, 0), "=", a(e), ".get(", f(e), ");") + : P.push(o(e, 0), "=", a(e), "[", f(e), "];"); + for (var r = [], e = 0; e < E; ++e) r.push(o(e, 0)); + for (var e = 0; e < T; ++e) r.push(u(e)); + P.push(g(0), "=", b, "[", k, "]=phase(", r.join(), ");"); + for (var n = 1; n < 1 << L; ++n) + P.push(g(n), "=", b, "[", k, "+", v(n), "];"); + for (var i = [], n = 1; n < 1 << L; ++n) + i.push("(" + g(0) + "!==" + g(n) + ")"); + P.push("if(", i.join("||"), "){"); + for (var s = [], e = 0; e < L; ++e) s.push(p(e)); + for (var e = 0; e < E; ++e) { + s.push(o(e, 0)); + for (var n = 1; n < 1 << L; ++n) + (C[e] + ? P.push( + o(e, n), + "=", + a(e), + ".get(", + f(e), + "+", + h(e, n), + ");", + ) + : P.push(o(e, n), "=", a(e), "[", f(e), "+", h(e, n), "];"), + s.push(o(e, n))); + } + for (var e = 0; e < 1 << L; ++e) s.push(g(e)); + for (var e = 0; e < T; ++e) s.push(u(e)); + P.push( + "vertex(", + s.join(), + ");", + y(0), + "=", + x, + "[", + k, + "]=", + _, + "++;", + ); + for (var l = (1 << L) - 1, c = g(l), n = 0; n < L; ++n) + if (0 == (t & ~(1 << n))) { + for ( + var d = l ^ (1 << n), m = g(d), w = [], M = d; + M > 0; + M = (M - 1) & d + ) + w.push(x + "[" + k + "+" + v(M) + "]"); + w.push(y(0)); + for (var M = 0; M < E; ++M) + 1 & n ? w.push(o(M, l), o(M, d)) : w.push(o(M, d), o(M, l)); + 1 & n ? w.push(c, m) : w.push(m, c); + for (var M = 0; M < T; ++M) w.push(u(M)); + P.push("if(", c, "!==", m, "){", "face(", w.join(), ")}"); + } + P.push("}", k, "+=1;"); + })(r); + !(function (t) { + for (var e = t - 1; e >= 0; --e) G(e, 0); + for (var r = [], e = 0; e < E; ++e) + C[e] + ? r.push(a(e) + ".get(" + f(e) + ")") + : r.push(a(e) + "[" + f(e) + "]"); + for (var e = 0; e < T; ++e) r.push(u(e)); + P.push(b, "[", k, "++]=phase(", r.join(), ");"); + for (var e = 0; e < t; ++e) W(e); + for (var n = 0; n < E; ++n) P.push(f(n), "+=", d(n, S[t]), ";"); + })(e); + P.push("if(", s(S[e]), ">0){", p(S[e]), "=1;"); + t(e - 1, r | (1 << S[e])); + for (var n = 0; n < E; ++n) P.push(f(n), "+=", d(n, S[e]), ";"); + e === L - 1 && (P.push(k, "=0;"), Y()); + G(e, 2); + t(e - 1, r); + e === L - 1 && (P.push("if(", p(S[L - 1]), "&1){", k, "=0;}"), Y()); + W(e); + P.push("}"); + })(L - 1, 0), + P.push("freeUint32(", x, ");freeUint32(", b, ");")); + var X = [ + "'use strict';", + "function ", + z, + "(", + O.join(), + "){", + "var ", + D.join(), + ";", + P.join(""), + "}", + "return ", + z, + ].join(""); + return new Function( + "vertex", + "face", + "phase", + "mallocUint32", + "freeUint32", + X, + )(t, e, r, n.mallocUint32, n.freeUint32); + })(t.vertex, t.cell, t.phase, S, r, E); + }; + var x = "V", + b = "P", + _ = "N", + w = "Q", + k = "X", + M = "T"; + function A(t, e, r) { + for (var n = 0, i = 0; i < t; ++i) e & (1 << i) && (n |= 1 << r[i]); + return n; + } + }, + { "typedarray-pool": 423 }, + ], + 325: [ + function (t, e, r) { + "use strict"; + var n = t("cwise/lib/wrapper")({ + args: ["index", "array", "scalar"], + pre: { body: "{}", args: [], thisVars: [], localVars: [] }, + body: { + body: "{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}", + args: [ + { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_1_arg1_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: [], + localVars: [], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + debug: !1, + funcName: "cwise", + blockSize: 64, + }); + e.exports = function (t, e) { + return (n(t, e), t); + }; + }, + { "cwise/lib/wrapper": 119 }, + ], + 326: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + if (Array.isArray(r)) { + if (r.length !== e.dimension) + throw new Error("ndarray-gradient: invalid boundary conditions"); + } else r = n(e.dimension, "string" == typeof r ? r : "clamp"); + if (t.dimension !== e.dimension + 1) + throw new Error( + "ndarray-gradient: output dimension must be +1 input dimension", + ); + if (t.shape[e.dimension] !== e.dimension) + throw new Error("ndarray-gradient: output shape must match input shape"); + for (var i = 0; i < e.dimension; ++i) + if (t.shape[i] !== e.shape[i]) + throw new Error("ndarray-gradient: shape mismatch"); + if (0 === e.size) return t; + if (e.dimension <= 0) return (t.set(0), t); + return (function (t) { + var e = t.join(); + if ((v = o[e])) return v; + var r = t.length, + n = ["function gradient(dst,src){var s=src.shape.slice();"]; + function i(e) { + for (var i = r - e.length, a = [], o = [], s = [], l = 0; l < r; ++l) + e.indexOf(l + 1) >= 0 + ? s.push("0") + : e.indexOf(-(l + 1)) >= 0 + ? s.push("s[" + l + "]-1") + : (s.push("-1"), a.push("1"), o.push("s[" + l + "]-2")); + var c = ".lo(" + a.join() + ").hi(" + o.join() + ")"; + if ((0 === a.length && (c = ""), i > 0)) { + n.push("if(1"); + for (var l = 0; l < r; ++l) + e.indexOf(l + 1) >= 0 || + e.indexOf(-(l + 1)) >= 0 || + n.push("&&s[", l, "]>2"); + n.push("){grad", i, "(src.pick(", s.join(), ")", c); + for (var l = 0; l < r; ++l) + e.indexOf(l + 1) >= 0 || + e.indexOf(-(l + 1)) >= 0 || + n.push(",dst.pick(", s.join(), ",", l, ")", c); + n.push(");"); + } + for (var l = 0; l < e.length; ++l) { + var u = Math.abs(e[l]) - 1, + f = "dst.pick(" + s.join() + "," + u + ")" + c; + switch (t[u]) { + case "clamp": + var h = s.slice(), + p = s.slice(); + (e[l] < 0 ? (h[u] = "s[" + u + "]-2") : (p[u] = "1"), + 0 === i + ? n.push( + "if(s[", + u, + "]>1){dst.set(", + s.join(), + ",", + u, + ",0.5*(src.get(", + h.join(), + ")-src.get(", + p.join(), + ")))}else{dst.set(", + s.join(), + ",", + u, + ",0)};", + ) + : n.push( + "if(s[", + u, + "]>1){diff(", + f, + ",src.pick(", + h.join(), + ")", + c, + ",src.pick(", + p.join(), + ")", + c, + ");}else{zero(", + f, + ");};", + )); + break; + case "mirror": + 0 === i + ? n.push("dst.set(", s.join(), ",", u, ",0);") + : n.push("zero(", f, ");"); + break; + case "wrap": + var d = s.slice(), + g = s.slice(); + (e[l] < 0 + ? ((d[u] = "s[" + u + "]-2"), (g[u] = "0")) + : ((d[u] = "s[" + u + "]-1"), (g[u] = "1")), + 0 === i + ? n.push( + "if(s[", + u, + "]>2){dst.set(", + s.join(), + ",", + u, + ",0.5*(src.get(", + d.join(), + ")-src.get(", + g.join(), + ")))}else{dst.set(", + s.join(), + ",", + u, + ",0)};", + ) + : n.push( + "if(s[", + u, + "]>2){diff(", + f, + ",src.pick(", + d.join(), + ")", + c, + ",src.pick(", + g.join(), + ")", + c, + ");}else{zero(", + f, + ");};", + )); + break; + default: + throw new Error("ndarray-gradient: Invalid boundary condition"); + } + } + i > 0 && n.push("};"); + } + for (var s = 0; s < 1 << r; ++s) { + for (var f = [], h = 0; h < r; ++h) s & (1 << h) && f.push(h + 1); + for (var p = 0; p < 1 << f.length; ++p) { + for (var d = f.slice(), h = 0; h < f.length; ++h) + p & (1 << h) && (d[h] = -d[h]); + i(d); + } + } + n.push("return dst;};return gradient"); + for (var g = ["diff", "zero"], m = [l, c], s = 1; s <= r; ++s) + (g.push("grad" + s), m.push(u(s))); + g.push(n.join("")); + var v = Function.apply(void 0, g).apply(void 0, m); + return ((a[e] = v), v); + })(r)(t, e); + }; + var n = t("dup"), + i = t("cwise-compiler"), + a = {}, + o = {}, + s = { body: "", args: [], thisVars: [], localVars: [] }, + l = i({ + args: ["array", "array", "array"], + pre: s, + post: s, + body: { + args: [ + { name: "out", lvalue: !0, rvalue: !1, count: 1 }, + { name: "left", lvalue: !1, rvalue: !0, count: 1 }, + { name: "right", lvalue: !1, rvalue: !0, count: 1 }, + ], + body: "out=0.5*(left-right)", + thisVars: [], + localVars: [], + }, + funcName: "cdiff", + }), + c = i({ + args: ["array"], + pre: s, + post: s, + body: { + args: [{ name: "out", lvalue: !0, rvalue: !1, count: 1 }], + body: "out=0", + thisVars: [], + localVars: [], + }, + funcName: "zero", + }); + function u(t) { + if (t in a) return a[t]; + for (var e = [], r = 0; r < t; ++r) + e.push("out", r, "s=0.5*(inp", r, "l-inp", r, "r);"); + var o = ["array"], + l = ["junk"]; + for (r = 0; r < t; ++r) { + (o.push("array"), l.push("out" + r + "s")); + var c = n(t); + ((c[r] = -1), + o.push({ array: 0, offset: c.slice() }), + (c[r] = 1), + o.push({ array: 0, offset: c.slice() }), + l.push("inp" + r + "l", "inp" + r + "r")); + } + return (a[t] = i({ + args: o, + pre: s, + post: s, + body: { + body: e.join(""), + args: l.map(function (t) { + return { + name: t, + lvalue: 0 === t.indexOf("out"), + rvalue: 0 === t.indexOf("inp"), + count: ("junk" !== t) | 0, + }; + }), + thisVars: [], + localVars: [], + }, + funcName: "fdTemplate" + t, + })); + } + }, + { "cwise-compiler": 116, dup: 136 }, + ], + 327: [ + function (t, e, r) { + "use strict"; + var n = t("ndarray-warp"), + i = t("gl-matrix-invert"); + e.exports = function (t, e, r) { + var a = e.dimension, + o = i([], r); + return ( + n(t, e, function (t, e) { + for (var r = 0; r < a; ++r) { + t[r] = o[(a + 1) * a + r]; + for (var n = 0; n < a; ++n) t[r] += o[(a + 1) * n + r] * e[n]; + } + var i = o[(a + 1) * (a + 1) - 1]; + for (n = 0; n < a; ++n) i += o[(a + 1) * n + a] * e[n]; + var s = 1 / i; + for (r = 0; r < a; ++r) t[r] *= s; + return t; + }), + t + ); + }; + }, + { "gl-matrix-invert": 241, "ndarray-warp": 334 }, + ], + 328: [ + function (t, e, r) { + "use strict"; + function n(t, e) { + var r = Math.floor(e), + n = e - r, + i = 0 <= r && r < t.shape[0], + a = 0 <= r + 1 && r + 1 < t.shape[0]; + return (1 - n) * (i ? +t.get(r) : 0) + n * (a ? +t.get(r + 1) : 0); + } + function i(t, e, r) { + var n = Math.floor(e), + i = e - n, + a = 0 <= n && n < t.shape[0], + o = 0 <= n + 1 && n + 1 < t.shape[0], + s = Math.floor(r), + l = r - s, + c = 0 <= s && s < t.shape[1], + u = 0 <= s + 1 && s + 1 < t.shape[1], + f = a && c ? t.get(n, s) : 0, + h = a && u ? t.get(n, s + 1) : 0; + return ( + (1 - l) * ((1 - i) * f + i * (o && c ? t.get(n + 1, s) : 0)) + + l * ((1 - i) * h + i * (o && u ? t.get(n + 1, s + 1) : 0)) + ); + } + function a(t, e, r, n) { + var i = Math.floor(e), + a = e - i, + o = 0 <= i && i < t.shape[0], + s = 0 <= i + 1 && i + 1 < t.shape[0], + l = Math.floor(r), + c = r - l, + u = 0 <= l && l < t.shape[1], + f = 0 <= l + 1 && l + 1 < t.shape[1], + h = Math.floor(n), + p = n - h, + d = 0 <= h && h < t.shape[2], + g = 0 <= h + 1 && h + 1 < t.shape[2], + m = o && u && d ? t.get(i, l, h) : 0, + v = o && f && d ? t.get(i, l + 1, h) : 0, + y = s && u && d ? t.get(i + 1, l, h) : 0, + x = s && f && d ? t.get(i + 1, l + 1, h) : 0, + b = o && u && g ? t.get(i, l, h + 1) : 0, + _ = o && f && g ? t.get(i, l + 1, h + 1) : 0; + return ( + (1 - p) * ((1 - c) * ((1 - a) * m + a * y) + c * ((1 - a) * v + a * x)) + + p * + ((1 - c) * + ((1 - a) * b + a * (s && u && g ? t.get(i + 1, l, h + 1) : 0)) + + c * + ((1 - a) * _ + a * (s && f && g ? t.get(i + 1, l + 1, h + 1) : 0))) + ); + } + ((e.exports = function (t, e, r, o) { + switch (t.shape.length) { + case 0: + return 0; + case 1: + return n(t, e); + case 2: + return i(t, e, r); + case 3: + return a(t, e, r, o); + default: + return function (t) { + var e, + r, + n = 0 | t.shape.length, + i = new Array(n), + a = new Array(n), + o = new Array(n), + s = new Array(n); + for (e = 0; e < n; ++e) + ((r = +arguments[e + 1]), + (i[e] = Math.floor(r)), + (a[e] = r - i[e]), + (o[e] = 0 <= i[e] && i[e] < t.shape[e]), + (s[e] = 0 <= i[e] + 1 && i[e] + 1 < t.shape[e])); + var l, + c, + u, + f = 0; + t: for (e = 0; e < 1 << n; ++e) { + for (c = 1, u = t.offset, l = 0; l < n; ++l) + if (e & (1 << l)) { + if (!s[l]) continue t; + ((c *= a[l]), (u += t.stride[l] * (i[l] + 1))); + } else { + if (!o[l]) continue t; + ((c *= 1 - a[l]), (u += t.stride[l] * i[l])); + } + f += c * t.data[u]; + } + return f; + }.apply(void 0, arguments); + } + }), + (e.exports.d1 = n), + (e.exports.d2 = i), + (e.exports.d3 = a)); + }, + {}, + ], + 329: [ + function (t, e, r) { + "use strict"; + var n = t("cwise-compiler"), + i = { body: "", args: [], thisVars: [], localVars: [] }; + function a(t) { + if (!t) return i; + for (var e = 0; e < t.args.length; ++e) { + var r = t.args[e]; + t.args[e] = + 0 === e + ? { name: r, lvalue: !0, rvalue: !!t.rvalue, count: t.count || 1 } + : { name: r, lvalue: !1, rvalue: !0, count: 1 }; + } + return ( + t.thisVars || (t.thisVars = []), + t.localVars || (t.localVars = []), + t + ); + } + function o(t) { + for (var e = [], r = 0; r < t.args.length; ++r) e.push("a" + r); + return new Function( + "P", + [ + "return function ", + t.funcName, + "_ndarrayops(", + e.join(","), + ") {P(", + e.join(","), + ");return a0}", + ].join(""), + )( + (function (t) { + return n({ + args: t.args, + pre: a(t.pre), + body: a(t.body), + post: a(t.proc), + funcName: t.funcName, + }); + })(t), + ); + } + var s = { + add: "+", + sub: "-", + mul: "*", + div: "/", + mod: "%", + band: "&", + bor: "|", + bxor: "^", + lshift: "<<", + rshift: ">>", + rrshift: ">>>", + }; + !(function () { + for (var t in s) { + var e = s[t]; + ((r[t] = o({ + args: ["array", "array", "array"], + body: { args: ["a", "b", "c"], body: "a=b" + e + "c" }, + funcName: t, + })), + (r[t + "eq"] = o({ + args: ["array", "array"], + body: { args: ["a", "b"], body: "a" + e + "=b" }, + rvalue: !0, + funcName: t + "eq", + })), + (r[t + "s"] = o({ + args: ["array", "array", "scalar"], + body: { args: ["a", "b", "s"], body: "a=b" + e + "s" }, + funcName: t + "s", + })), + (r[t + "seq"] = o({ + args: ["array", "scalar"], + body: { args: ["a", "s"], body: "a" + e + "=s" }, + rvalue: !0, + funcName: t + "seq", + }))); + } + })(); + var l = { not: "!", bnot: "~", neg: "-", recip: "1.0/" }; + !(function () { + for (var t in l) { + var e = l[t]; + ((r[t] = o({ + args: ["array", "array"], + body: { args: ["a", "b"], body: "a=" + e + "b" }, + funcName: t, + })), + (r[t + "eq"] = o({ + args: ["array"], + body: { args: ["a"], body: "a=" + e + "a" }, + rvalue: !0, + count: 2, + funcName: t + "eq", + }))); + } + })(); + var c = { + and: "&&", + or: "||", + eq: "===", + neq: "!==", + lt: "<", + gt: ">", + leq: "<=", + geq: ">=", + }; + !(function () { + for (var t in c) { + var e = c[t]; + ((r[t] = o({ + args: ["array", "array", "array"], + body: { args: ["a", "b", "c"], body: "a=b" + e + "c" }, + funcName: t, + })), + (r[t + "s"] = o({ + args: ["array", "array", "scalar"], + body: { args: ["a", "b", "s"], body: "a=b" + e + "s" }, + funcName: t + "s", + })), + (r[t + "eq"] = o({ + args: ["array", "array"], + body: { args: ["a", "b"], body: "a=a" + e + "b" }, + rvalue: !0, + count: 2, + funcName: t + "eq", + })), + (r[t + "seq"] = o({ + args: ["array", "scalar"], + body: { args: ["a", "s"], body: "a=a" + e + "s" }, + rvalue: !0, + count: 2, + funcName: t + "seq", + }))); + } + })(); + var u = [ + "abs", + "acos", + "asin", + "atan", + "ceil", + "cos", + "exp", + "floor", + "log", + "round", + "sin", + "sqrt", + "tan", + ]; + !(function () { + for (var t = 0; t < u.length; ++t) { + var e = u[t]; + ((r[e] = o({ + args: ["array", "array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { args: ["a", "b"], body: "a=this_f(b)", thisVars: ["this_f"] }, + funcName: e, + })), + (r[e + "eq"] = o({ + args: ["array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { args: ["a"], body: "a=this_f(a)", thisVars: ["this_f"] }, + rvalue: !0, + count: 2, + funcName: e + "eq", + }))); + } + })(); + var f = ["max", "min", "atan2", "pow"]; + !(function () { + for (var t = 0; t < f.length; ++t) { + var e = f[t]; + ((r[e] = o({ + args: ["array", "array", "array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b", "c"], + body: "a=this_f(b,c)", + thisVars: ["this_f"], + }, + funcName: e, + })), + (r[e + "s"] = o({ + args: ["array", "array", "scalar"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b", "c"], + body: "a=this_f(b,c)", + thisVars: ["this_f"], + }, + funcName: e + "s", + })), + (r[e + "eq"] = o({ + args: ["array", "array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b"], + body: "a=this_f(a,b)", + thisVars: ["this_f"], + }, + rvalue: !0, + count: 2, + funcName: e + "eq", + })), + (r[e + "seq"] = o({ + args: ["array", "scalar"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b"], + body: "a=this_f(a,b)", + thisVars: ["this_f"], + }, + rvalue: !0, + count: 2, + funcName: e + "seq", + }))); + } + })(); + var h = ["atan2", "pow"]; + (!(function () { + for (var t = 0; t < h.length; ++t) { + var e = h[t]; + ((r[e + "op"] = o({ + args: ["array", "array", "array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b", "c"], + body: "a=this_f(c,b)", + thisVars: ["this_f"], + }, + funcName: e + "op", + })), + (r[e + "ops"] = o({ + args: ["array", "array", "scalar"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b", "c"], + body: "a=this_f(c,b)", + thisVars: ["this_f"], + }, + funcName: e + "ops", + })), + (r[e + "opeq"] = o({ + args: ["array", "array"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b"], + body: "a=this_f(b,a)", + thisVars: ["this_f"], + }, + rvalue: !0, + count: 2, + funcName: e + "opeq", + })), + (r[e + "opseq"] = o({ + args: ["array", "scalar"], + pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, + body: { + args: ["a", "b"], + body: "a=this_f(b,a)", + thisVars: ["this_f"], + }, + rvalue: !0, + count: 2, + funcName: e + "opseq", + }))); + } + })(), + (r.any = n({ + args: ["array"], + pre: i, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], + body: "if(a){return true}", + localVars: [], + thisVars: [], + }, + post: { args: [], localVars: [], thisVars: [], body: "return false" }, + funcName: "any", + })), + (r.all = n({ + args: ["array"], + pre: i, + body: { + args: [{ name: "x", lvalue: !1, rvalue: !0, count: 1 }], + body: "if(!x){return false}", + localVars: [], + thisVars: [], + }, + post: { args: [], localVars: [], thisVars: [], body: "return true" }, + funcName: "all", + })), + (r.sum = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], + body: "this_s+=a", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return this_s", + }, + funcName: "sum", + })), + (r.prod = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=1" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], + body: "this_s*=a", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return this_s", + }, + funcName: "prod", + })), + (r.norm2squared = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 2 }], + body: "this_s+=a*a", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return this_s", + }, + funcName: "norm2squared", + })), + (r.norm2 = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 2 }], + body: "this_s+=a*a", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return Math.sqrt(this_s)", + }, + funcName: "norm2", + })), + (r.norminf = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 4 }], + body: "if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return this_s", + }, + funcName: "norminf", + })), + (r.norm1 = n({ + args: ["array"], + pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, + body: { + args: [{ name: "a", lvalue: !1, rvalue: !0, count: 3 }], + body: "this_s+=a<0?-a:a", + localVars: [], + thisVars: ["this_s"], + }, + post: { + args: [], + localVars: [], + thisVars: ["this_s"], + body: "return this_s", + }, + funcName: "norm1", + })), + (r.sup = n({ + args: ["array"], + pre: { + body: "this_h=-Infinity", + args: [], + thisVars: ["this_h"], + localVars: [], + }, + body: { + body: "if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_", + args: [{ name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 2 }], + thisVars: ["this_h"], + localVars: [], + }, + post: { + body: "return this_h", + args: [], + thisVars: ["this_h"], + localVars: [], + }, + })), + (r.inf = n({ + args: ["array"], + pre: { + body: "this_h=Infinity", + args: [], + thisVars: ["this_h"], + localVars: [], + }, + body: { + body: "if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}", + args: [ + { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 2 }, + { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 2 }, + ], + thisVars: ["this_i", "this_v"], + localVars: ["_inline_1_k"], + }, + post: { + body: "{return this_i}", + args: [], + thisVars: ["this_i"], + localVars: [], + }, + })), + (r.random = o({ + args: ["array"], + pre: { args: [], body: "this_f=Math.random", thisVars: ["this_f"] }, + body: { args: ["a"], body: "a=this_f()", thisVars: ["this_f"] }, + funcName: "random", + })), + (r.assign = o({ + args: ["array", "array"], + body: { args: ["a", "b"], body: "a=b" }, + funcName: "assign", + })), + (r.assigns = o({ + args: ["array", "scalar"], + body: { args: ["a", "b"], body: "a=b" }, + funcName: "assigns", + })), + (r.equals = n({ + args: ["array", "array"], + pre: i, + body: { + args: [ + { name: "x", lvalue: !1, rvalue: !0, count: 1 }, + { name: "y", lvalue: !1, rvalue: !0, count: 1 }, + ], + body: "if(x!==y){return false}", + localVars: [], + thisVars: [], + }, + post: { args: [], localVars: [], thisVars: [], body: "return true" }, + funcName: "equals", + }))); + }, + { "cwise-compiler": 116 }, + ], + 330: [ + function (t, e, r) { + "use strict"; + var n = t("ndarray"), + i = t("./doConvert.js"); + e.exports = function (t, e) { + for (var r = [], a = t, o = 1; Array.isArray(a); ) + (r.push(a.length), (o *= a.length), (a = a[0])); + return 0 === r.length + ? n() + : (e || (e = n(new Float64Array(o), r)), i(e, t), e); + }; + }, + { "./doConvert.js": 331, ndarray: 335 }, + ], + 331: [ + function (t, e, r) { + e.exports = t("cwise-compiler")({ + args: ["array", "scalar", "index"], + pre: { body: "{}", args: [], thisVars: [], localVars: [] }, + body: { + body: "{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}", + args: [ + { name: "_inline_1_arg0_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 4 }, + ], + thisVars: [], + localVars: ["_inline_1_i", "_inline_1_v"], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + funcName: "convert", + blockSize: 64, + }); + }, + { "cwise-compiler": 116 }, + ], + 332: [ + function (t, e, r) { + "use strict"; + var n = t("typedarray-pool"), + i = 32; + function a(t) { + switch (t) { + case "uint8": + return [n.mallocUint8, n.freeUint8]; + case "uint16": + return [n.mallocUint16, n.freeUint16]; + case "uint32": + return [n.mallocUint32, n.freeUint32]; + case "int8": + return [n.mallocInt8, n.freeInt8]; + case "int16": + return [n.mallocInt16, n.freeInt16]; + case "int32": + return [n.mallocInt32, n.freeInt32]; + case "float32": + return [n.mallocFloat, n.freeFloat]; + case "float64": + return [n.mallocDouble, n.freeDouble]; + default: + return null; + } + } + function o(t) { + for (var e = [], r = 0; r < t; ++r) e.push("s" + r); + for (r = 0; r < t; ++r) e.push("n" + r); + for (r = 1; r < t; ++r) e.push("d" + r); + for (r = 1; r < t; ++r) e.push("e" + r); + for (r = 1; r < t; ++r) e.push("f" + r); + return e; + } + e.exports = function (t, e) { + var r = ["'use strict'"], + n = ["ndarraySortWrapper", t.join("d"), e].join(""); + r.push(["function ", n, "(", ["array"].join(","), "){"].join("")); + for ( + var s = [ + "data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride", + ], + l = 0; + l < t.length; + ++l + ) + s.push(["s", l, "=stride[", l, "]|0,n", l, "=shape[", l, "]|0"].join("")); + var c = new Array(t.length), + u = []; + for (l = 0; l < t.length; ++l) + 0 !== (p = t[l]) && + (0 === u.length ? (c[p] = "1") : (c[p] = u.join("*")), u.push("n" + p)); + var f = -1, + h = -1; + for (l = 0; l < t.length; ++l) { + var p, + d = t[l]; + (0 !== d && + (f > 0 + ? s.push(["d", d, "=s", d, "-d", f, "*n", f].join("")) + : s.push(["d", d, "=s", d].join("")), + (f = d)), + 0 != (p = t.length - 1 - l) && + (h > 0 + ? s.push( + [ + "e", + p, + "=s", + p, + "-e", + h, + "*n", + h, + ",f", + p, + "=", + c[p], + "-f", + h, + "*n", + h, + ].join(""), + ) + : s.push(["e", p, "=s", p, ",f", p, "=", c[p]].join("")), + (h = p))); + } + r.push("var " + s.join(",")); + var g = ["0", "n0-1", "data", "offset"].concat(o(t.length)); + (r.push( + [ + "if(n0<=", + i, + "){", + "insertionSort(", + g.join(","), + ")}else{", + "quickSort(", + g.join(","), + ")}", + ].join(""), + ), + r.push("}return " + n)); + var m = new Function("insertionSort", "quickSort", r.join("\n")), + v = (function (t, e) { + var r = ["'use strict'"], + n = ["ndarrayInsertionSort", t.join("d"), e].join(""), + i = ["left", "right", "data", "offset"].concat(o(t.length)), + s = a(e), + l = ["i,j,cptr,ptr=left*s0+offset"]; + if (t.length > 1) { + for (var c = [], u = 1; u < t.length; ++u) + (l.push("i" + u), c.push("n" + u)); + (s + ? l.push("scratch=malloc(" + c.join("*") + ")") + : l.push("scratch=new Array(" + c.join("*") + ")"), + l.push("dptr", "sptr", "a", "b")); + } else l.push("scratch"); + function f(t) { + return "generic" === e + ? ["data.get(", t, ")"].join("") + : ["data[", t, "]"].join(""); + } + function h(t, r) { + return "generic" === e + ? ["data.set(", t, ",", r, ")"].join("") + : ["data[", t, "]=", r].join(""); + } + if ( + (r.push( + ["function ", n, "(", i.join(","), "){var ", l.join(",")].join(""), + "for(i=left+1;i<=right;++i){", + "j=i;ptr+=s0", + "cptr=ptr", + ), + t.length > 1) + ) { + for (r.push("dptr=0;sptr=ptr"), u = t.length - 1; u >= 0; --u) + 0 !== (p = t[u]) && + r.push( + ["for(i", p, "=0;i", p, "b){break __l}", + ].join(""), + ), + u = t.length - 1; + u >= 1; + --u + ) + r.push("sptr+=e" + u, "dptr+=f" + u, "}"); + for (r.push("dptr=cptr;sptr=cptr-s0"), u = t.length - 1; u >= 0; --u) + 0 !== (p = t[u]) && + r.push( + ["for(i", p, "=0;i", p, "= 0; + --u + ) + 0 !== (p = t[u]) && + r.push( + ["for(i", p, "=0;i", p, "scratch)){", + h("cptr", f("cptr-s0")), + "cptr-=s0", + "}", + h("cptr", "scratch"), + ); + return ( + r.push("}"), + t.length > 1 && s && r.push("free(scratch)"), + r.push("} return " + n), + s + ? new Function("malloc", "free", r.join("\n"))(s[0], s[1]) + : new Function(r.join("\n"))() + ); + })(t, e); + return m( + v, + (function (t, e, r) { + var n = ["'use strict'"], + s = ["ndarrayQuickSort", t.join("d"), e].join(""), + l = ["left", "right", "data", "offset"].concat(o(t.length)), + c = a(e), + u = 0; + n.push(["function ", s, "(", l.join(","), "){"].join("")); + var f = [ + "sixth=((right-left+1)/6)|0", + "index1=left+sixth", + "index5=right-sixth", + "index3=(left+right)>>1", + "index2=index3-sixth", + "index4=index3+sixth", + "el1=index1", + "el2=index2", + "el3=index3", + "el4=index4", + "el5=index5", + "less=left+1", + "great=right-1", + "pivots_are_equal=true", + "tmp", + "tmp0", + "x", + "y", + "z", + "k", + "ptr0", + "ptr1", + "ptr2", + "comp_pivot1=0", + "comp_pivot2=0", + "comp=0", + ]; + if (t.length > 1) { + for (var h = [], p = 1; p < t.length; ++p) + (h.push("n" + p), f.push("i" + p)); + for (p = 0; p < 8; ++p) f.push("b_ptr" + p); + (f.push( + "ptr3", + "ptr4", + "ptr5", + "ptr6", + "ptr7", + "pivot_ptr", + "ptr_shift", + "elementSize=" + h.join("*"), + ), + c + ? f.push( + "pivot1=malloc(elementSize)", + "pivot2=malloc(elementSize)", + ) + : f.push( + "pivot1=new Array(elementSize),pivot2=new Array(elementSize)", + )); + } else f.push("pivot1", "pivot2"); + function d(t) { + return ["(offset+", t, "*s0)"].join(""); + } + function g(t) { + return "generic" === e + ? ["data.get(", t, ")"].join("") + : ["data[", t, "]"].join(""); + } + function m(t, r) { + return "generic" === e + ? ["data.set(", t, ",", r, ")"].join("") + : ["data[", t, "]=", r].join(""); + } + function v(e, r, i) { + if (1 === e.length) n.push("ptr0=" + d(e[0])); + else + for (var a = 0; a < e.length; ++a) + n.push(["b_ptr", a, "=s0*", e[a]].join("")); + for ( + r && n.push("pivot_ptr=0"), + n.push("ptr_shift=offset"), + a = t.length - 1; + a >= 0; + --a + ) + 0 !== (o = t[a]) && + n.push( + ["for(i", o, "=0;i", o, " 1) + for (a = 0; a < e.length; ++a) + n.push(["ptr", a, "=b_ptr", a, "+ptr_shift"].join("")); + for ( + n.push(i), r && n.push("++pivot_ptr"), a = 0; + a < t.length; + ++a + ) { + var o; + 0 !== (o = t[a]) && + (e.length > 1 + ? n.push("ptr_shift+=d" + o) + : n.push("ptr0+=d" + o), + n.push("}")); + } + } + function y(e, r, i, a) { + if (1 === r.length) n.push("ptr0=" + d(r[0])); + else { + for (var o = 0; o < r.length; ++o) + n.push(["b_ptr", o, "=s0*", r[o]].join("")); + n.push("ptr_shift=offset"); + } + for ( + i && n.push("pivot_ptr=0"), e && n.push(e + ":"), o = 1; + o < t.length; + ++o + ) + n.push(["for(i", o, "=0;i", o, " 1) + for (o = 0; o < r.length; ++o) + n.push(["ptr", o, "=b_ptr", o, "+ptr_shift"].join("")); + for (n.push(a), o = t.length - 1; o >= 1; --o) + (i && n.push("pivot_ptr+=f" + o), + r.length > 1 ? n.push("ptr_shift+=e" + o) : n.push("ptr0+=e" + o), + n.push("}")); + } + function x() { + t.length > 1 && c && n.push("free(pivot1)", "free(pivot2)"); + } + function b(e, r) { + var i = "el" + e, + a = "el" + r; + if (t.length > 1) { + var o = "__l" + ++u; + y( + o, + [i, a], + !1, + [ + "comp=", + g("ptr0"), + "-", + g("ptr1"), + "\n", + "if(comp>0){tmp0=", + i, + ";", + i, + "=", + a, + ";", + a, + "=tmp0;break ", + o, + "}\n", + "if(comp<0){break ", + o, + "}", + ].join(""), + ); + } else + n.push( + [ + "if(", + g(d(i)), + ">", + g(d(a)), + "){tmp0=", + i, + ";", + i, + "=", + a, + ";", + a, + "=tmp0}", + ].join(""), + ); + } + function _(e, r) { + t.length > 1 + ? v([e, r], !1, m("ptr0", g("ptr1"))) + : n.push(m(d(e), g(d(r)))); + } + function w(e, r, i) { + if (t.length > 1) { + var a = "__l" + ++u; + y( + a, + [r], + !0, + [ + e, + "=", + g("ptr0"), + "-pivot", + i, + "[pivot_ptr]\n", + "if(", + e, + "!==0){break ", + a, + "}", + ].join(""), + ); + } else n.push([e, "=", g(d(r)), "-pivot", i].join("")); + } + function k(e, r) { + t.length > 1 + ? v( + [e, r], + !1, + [ + "tmp=", + g("ptr0"), + "\n", + m("ptr0", g("ptr1")), + "\n", + m("ptr1", "tmp"), + ].join(""), + ) + : n.push( + [ + "ptr0=", + d(e), + "\n", + "ptr1=", + d(r), + "\n", + "tmp=", + g("ptr0"), + "\n", + m("ptr0", g("ptr1")), + "\n", + m("ptr1", "tmp"), + ].join(""), + ); + } + function M(e, r, i) { + t.length > 1 + ? (v( + [e, r, i], + !1, + [ + "tmp=", + g("ptr0"), + "\n", + m("ptr0", g("ptr1")), + "\n", + m("ptr1", g("ptr2")), + "\n", + m("ptr2", "tmp"), + ].join(""), + ), + n.push("++" + r, "--" + i)) + : n.push( + [ + "ptr0=", + d(e), + "\n", + "ptr1=", + d(r), + "\n", + "ptr2=", + d(i), + "\n", + "++", + r, + "\n", + "--", + i, + "\n", + "tmp=", + g("ptr0"), + "\n", + m("ptr0", g("ptr1")), + "\n", + m("ptr1", g("ptr2")), + "\n", + m("ptr2", "tmp"), + ].join(""), + ); + } + function A(t, e) { + (k(t, e), n.push("--" + e)); + } + function T(e, r, i) { + t.length > 1 + ? v( + [e, r], + !0, + [ + m("ptr0", g("ptr1")), + "\n", + m("ptr1", ["pivot", i, "[pivot_ptr]"].join("")), + ].join(""), + ) + : n.push(m(d(e), g(d(r))), m(d(r), "pivot" + i)); + } + function S(e, r) { + n.push( + [ + "if((", + r, + "-", + e, + ")<=", + i, + "){\n", + "insertionSort(", + e, + ",", + r, + ",data,offset,", + o(t.length).join(","), + ")\n", + "}else{\n", + s, + "(", + e, + ",", + r, + ",data,offset,", + o(t.length).join(","), + ")\n", + "}", + ].join(""), + ); + } + function C(e, r, i) { + t.length > 1 + ? (n.push(["__l", ++u, ":while(true){"].join("")), + v( + [e], + !0, + [ + "if(", + g("ptr0"), + "!==pivot", + r, + "[pivot_ptr]){break __l", + u, + "}", + ].join(""), + ), + n.push(i, "}")) + : n.push(["while(", g(d(e)), "===pivot", r, "){", i, "}"].join("")); + } + return ( + n.push("var " + f.join(",")), + b(1, 2), + b(4, 5), + b(1, 3), + b(2, 3), + b(1, 4), + b(3, 4), + b(2, 5), + b(2, 3), + b(4, 5), + t.length > 1 + ? v( + [ + "el1", + "el2", + "el3", + "el4", + "el5", + "index1", + "index3", + "index5", + ], + !0, + [ + "pivot1[pivot_ptr]=", + g("ptr1"), + "\n", + "pivot2[pivot_ptr]=", + g("ptr3"), + "\n", + "pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n", + "x=", + g("ptr0"), + "\n", + "y=", + g("ptr2"), + "\n", + "z=", + g("ptr4"), + "\n", + m("ptr5", "x"), + "\n", + m("ptr6", "y"), + "\n", + m("ptr7", "z"), + ].join(""), + ) + : n.push( + [ + "pivot1=", + g(d("el2")), + "\n", + "pivot2=", + g(d("el4")), + "\n", + "pivots_are_equal=pivot1===pivot2\n", + "x=", + g(d("el1")), + "\n", + "y=", + g(d("el3")), + "\n", + "z=", + g(d("el5")), + "\n", + m(d("index1"), "x"), + "\n", + m(d("index3"), "y"), + "\n", + m(d("index5"), "z"), + ].join(""), + ), + _("index2", "left"), + _("index4", "right"), + n.push("if(pivots_are_equal){"), + n.push("for(k=less;k<=great;++k){"), + w("comp", "k", 1), + n.push("if(comp===0){continue}"), + n.push("if(comp<0){"), + n.push("if(k!==less){"), + k("k", "less"), + n.push("}"), + n.push("++less"), + n.push("}else{"), + n.push("while(true){"), + w("comp", "great", 1), + n.push("if(comp>0){"), + n.push("great--"), + n.push("}else if(comp<0){"), + M("k", "less", "great"), + n.push("break"), + n.push("}else{"), + A("k", "great"), + n.push("break"), + n.push("}"), + n.push("}"), + n.push("}"), + n.push("}"), + n.push("}else{"), + n.push("for(k=less;k<=great;++k){"), + w("comp_pivot1", "k", 1), + n.push("if(comp_pivot1<0){"), + n.push("if(k!==less){"), + k("k", "less"), + n.push("}"), + n.push("++less"), + n.push("}else{"), + w("comp_pivot2", "k", 2), + n.push("if(comp_pivot2>0){"), + n.push("while(true){"), + w("comp", "great", 2), + n.push("if(comp>0){"), + n.push("if(--greatindex5){"), + C("less", 1, "++less"), + C("great", 2, "--great"), + n.push("for(k=less;k<=great;++k){"), + w("comp_pivot1", "k", 1), + n.push("if(comp_pivot1===0){"), + n.push("if(k!==less){"), + k("k", "less"), + n.push("}"), + n.push("++less"), + n.push("}else{"), + w("comp_pivot2", "k", 2), + n.push("if(comp_pivot2===0){"), + n.push("while(true){"), + w("comp", "great", 2), + n.push("if(comp===0){"), + n.push("if(--great 1 && c + ? new Function("insertionSort", "malloc", "free", n.join("\n"))( + r, + c[0], + c[1], + ) + : new Function("insertionSort", n.join("\n"))(r) + ); + })(t, e, v), + ); + }; + }, + { "typedarray-pool": 423 }, + ], + 333: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/compile_sort.js"), + i = {}; + e.exports = function (t) { + var e = t.order, + r = t.dtype, + a = [e, r].join(":"), + o = i[a]; + return (o || (i[a] = o = n(e, r)), o(t), t); + }; + }, + { "./lib/compile_sort.js": 332 }, + ], + 334: [ + function (t, e, r) { + "use strict"; + var n = t("ndarray-linear-interpolate"), + i = t("cwise/lib/wrapper")({ + args: ["index", "array", "scalar", "scalar", "scalar"], + pre: { + body: "{this_warped=new Array(_inline_3_arg4_)}", + args: [ + { name: "_inline_3_arg0_", lvalue: !1, rvalue: !1, count: 0 }, + { name: "_inline_3_arg1_", lvalue: !1, rvalue: !1, count: 0 }, + { name: "_inline_3_arg2_", lvalue: !1, rvalue: !1, count: 0 }, + { name: "_inline_3_arg3_", lvalue: !1, rvalue: !1, count: 0 }, + { name: "_inline_3_arg4_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: ["this_warped"], + localVars: [], + }, + body: { + body: "{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}", + args: [ + { name: "_inline_4_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_4_arg1_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_4_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_4_arg3_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_4_arg4_", lvalue: !1, rvalue: !1, count: 0 }, + ], + thisVars: ["this_warped"], + localVars: [], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + debug: !1, + funcName: "warpND", + blockSize: 64, + }), + a = t("cwise/lib/wrapper")({ + args: ["index", "array", "scalar", "scalar", "scalar"], + pre: { + body: "{this_warped=[0]}", + args: [], + thisVars: ["this_warped"], + localVars: [], + }, + body: { + body: "{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}", + args: [ + { name: "_inline_7_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_7_arg1_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_7_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_7_arg3_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_7_arg4_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: ["this_warped"], + localVars: [], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + debug: !1, + funcName: "warp1D", + blockSize: 64, + }), + o = t("cwise/lib/wrapper")({ + args: ["index", "array", "scalar", "scalar", "scalar"], + pre: { + body: "{this_warped=[0,0]}", + args: [], + thisVars: ["this_warped"], + localVars: [], + }, + body: { + body: "{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}", + args: [ + { name: "_inline_10_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_10_arg1_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_10_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_10_arg3_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_10_arg4_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: ["this_warped"], + localVars: [], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + debug: !1, + funcName: "warp2D", + blockSize: 64, + }), + s = t("cwise/lib/wrapper")({ + args: ["index", "array", "scalar", "scalar", "scalar"], + pre: { + body: "{this_warped=[0,0,0]}", + args: [], + thisVars: ["this_warped"], + localVars: [], + }, + body: { + body: "{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}", + args: [ + { name: "_inline_13_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_13_arg1_", lvalue: !0, rvalue: !1, count: 1 }, + { name: "_inline_13_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_13_arg3_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_13_arg4_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: ["this_warped"], + localVars: [], + }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + debug: !1, + funcName: "warp3D", + blockSize: 64, + }); + e.exports = function (t, e, r) { + switch (e.shape.length) { + case 1: + a(t, r, n.d1, e); + break; + case 2: + o(t, r, n.d2, e); + break; + case 3: + s(t, r, n.d3, e); + break; + default: + i(t, r, n.bind(void 0, e), e.shape.length); + } + return t; + }; + }, + { "cwise/lib/wrapper": 119, "ndarray-linear-interpolate": 328 }, + ], + 335: [ + function (t, e, r) { + var n = t("iota-array"), + i = t("is-buffer"), + a = "undefined" != typeof Float64Array; + function o(t, e) { + return t[0] - e[0]; + } + function s() { + var t, + e = this.stride, + r = new Array(e.length); + for (t = 0; t < r.length; ++t) r[t] = [Math.abs(e[t]), t]; + r.sort(o); + var n = new Array(r.length); + for (t = 0; t < n.length; ++t) n[t] = r[t][1]; + return n; + } + function l(t, e) { + var r = ["View", e, "d", t].join(""); + e < 0 && (r = "View_Nil" + t); + var i = "generic" === t; + if (-1 === e) { + var a = + "function " + + r + + "(a){this.data=a;};var proto=" + + r + + ".prototype;proto.dtype='" + + t + + "';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new " + + r + + "(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_" + + r + + "(a){return new " + + r + + "(a);}"; + return new Function(a)(); + } + if (0 === e) { + a = + "function " + + r + + "(a,d) {this.data = a;this.offset = d};var proto=" + + r + + ".prototype;proto.dtype='" + + t + + "';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function " + + r + + "_copy() {return new " + + r + + "(this.data,this.offset)};proto.pick=function " + + r + + "_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function " + + r + + "_get(){return " + + (i ? "this.data.get(this.offset)" : "this.data[this.offset]") + + "};proto.set=function " + + r + + "_set(v){return " + + (i ? "this.data.set(this.offset,v)" : "this.data[this.offset]=v") + + "};return function construct_" + + r + + "(a,b,c,d){return new " + + r + + "(a,d)}"; + return new Function("TrivialArray", a)(c[t][0]); + } + a = ["'use strict'"]; + var o = n(e), + l = o.map(function (t) { + return "i" + t; + }), + u = + "this.offset+" + + o + .map(function (t) { + return "this.stride[" + t + "]*i" + t; + }) + .join("+"), + f = o + .map(function (t) { + return "b" + t; + }) + .join(","), + h = o + .map(function (t) { + return "c" + t; + }) + .join(","); + (a.push( + "function " + r + "(a," + f + "," + h + ",d){this.data=a", + "this.shape=[" + f + "]", + "this.stride=[" + h + "]", + "this.offset=d|0}", + "var proto=" + r + ".prototype", + "proto.dtype='" + t + "'", + "proto.dimension=" + e, + ), + a.push( + "Object.defineProperty(proto,'size',{get:function " + + r + + "_size(){return " + + o + .map(function (t) { + return "this.shape[" + t + "]"; + }) + .join("*"), + "}})", + ), + 1 === e + ? a.push("proto.order=[0]") + : (a.push("Object.defineProperty(proto,'order',{get:"), + e < 4 + ? (a.push("function " + r + "_order(){"), + 2 === e + ? a.push( + "return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})", + ) + : 3 === e && + a.push( + "var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})", + )) + : a.push("ORDER})")), + a.push("proto.set=function " + r + "_set(" + l.join(",") + ",v){"), + i + ? a.push("return this.data.set(" + u + ",v)}") + : a.push("return this.data[" + u + "]=v}"), + a.push("proto.get=function " + r + "_get(" + l.join(",") + "){"), + i + ? a.push("return this.data.get(" + u + ")}") + : a.push("return this.data[" + u + "]}"), + a.push( + "proto.index=function " + r + "_index(", + l.join(), + "){return " + u + "}", + ), + a.push( + "proto.hi=function " + + r + + "_hi(" + + l.join(",") + + "){return new " + + r + + "(this.data," + + o + .map(function (t) { + return [ + "(typeof i", + t, + "!=='number'||i", + t, + "<0)?this.shape[", + t, + "]:i", + t, + "|0", + ].join(""); + }) + .join(",") + + "," + + o + .map(function (t) { + return "this.stride[" + t + "]"; + }) + .join(",") + + ",this.offset)}", + )); + var p = o.map(function (t) { + return "a" + t + "=this.shape[" + t + "]"; + }), + d = o.map(function (t) { + return "c" + t + "=this.stride[" + t + "]"; + }); + a.push( + "proto.lo=function " + + r + + "_lo(" + + l.join(",") + + "){var b=this.offset,d=0," + + p.join(",") + + "," + + d.join(","), + ); + for (var g = 0; g < e; ++g) + a.push( + "if(typeof i" + + g + + "==='number'&&i" + + g + + ">=0){d=i" + + g + + "|0;b+=c" + + g + + "*d;a" + + g + + "-=d}", + ); + (a.push( + "return new " + + r + + "(this.data," + + o + .map(function (t) { + return "a" + t; + }) + .join(",") + + "," + + o + .map(function (t) { + return "c" + t; + }) + .join(",") + + ",b)}", + ), + a.push( + "proto.step=function " + + r + + "_step(" + + l.join(",") + + "){var " + + o + .map(function (t) { + return "a" + t + "=this.shape[" + t + "]"; + }) + .join(",") + + "," + + o + .map(function (t) { + return "b" + t + "=this.stride[" + t + "]"; + }) + .join(",") + + ",c=this.offset,d=0,ceil=Math.ceil", + )); + for (g = 0; g < e; ++g) + a.push( + "if(typeof i" + + g + + "==='number'){d=i" + + g + + "|0;if(d<0){c+=b" + + g + + "*(a" + + g + + "-1);a" + + g + + "=ceil(-a" + + g + + "/d)}else{a" + + g + + "=ceil(a" + + g + + "/d)}b" + + g + + "*=d}", + ); + a.push( + "return new " + + r + + "(this.data," + + o + .map(function (t) { + return "a" + t; + }) + .join(",") + + "," + + o + .map(function (t) { + return "b" + t; + }) + .join(",") + + ",c)}", + ); + var m = new Array(e), + v = new Array(e); + for (g = 0; g < e; ++g) + ((m[g] = "a[i" + g + "]"), (v[g] = "b[i" + g + "]")); + (a.push( + "proto.transpose=function " + + r + + "_transpose(" + + l + + "){" + + l + .map(function (t, e) { + return t + "=(" + t + "===undefined?" + e + ":" + t + "|0)"; + }) + .join(";"), + "var a=this.shape,b=this.stride;return new " + + r + + "(this.data," + + m.join(",") + + "," + + v.join(",") + + ",this.offset)}", + ), + a.push( + "proto.pick=function " + + r + + "_pick(" + + l + + "){var a=[],b=[],c=this.offset", + )); + for (g = 0; g < e; ++g) + a.push( + "if(typeof i" + + g + + "==='number'&&i" + + g + + ">=0){c=(c+this.stride[" + + g + + "]*i" + + g + + ")|0}else{a.push(this.shape[" + + g + + "]);b.push(this.stride[" + + g + + "])}", + ); + return ( + a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"), + a.push( + "return function construct_" + + r + + "(data,shape,stride,offset){return new " + + r + + "(data," + + o + .map(function (t) { + return "shape[" + t + "]"; + }) + .join(",") + + "," + + o + .map(function (t) { + return "stride[" + t + "]"; + }) + .join(",") + + ",offset)}", + ), + new Function("CTOR_LIST", "ORDER", a.join("\n"))(c[t], s) + ); + } + var c = { + float32: [], + float64: [], + int8: [], + int16: [], + int32: [], + uint8: [], + uint16: [], + uint32: [], + array: [], + uint8_clamped: [], + buffer: [], + generic: [], + }; + e.exports = function (t, e, r, n) { + if (void 0 === t) return (0, c.array[0])([]); + ("number" == typeof t && (t = [t]), void 0 === e && (e = [t.length])); + var o = e.length; + if (void 0 === r) { + r = new Array(o); + for (var s = o - 1, u = 1; s >= 0; --s) ((r[s] = u), (u *= e[s])); + } + if (void 0 === n) + for (n = 0, s = 0; s < o; ++s) r[s] < 0 && (n -= (e[s] - 1) * r[s]); + for ( + var f = (function (t) { + if (i(t)) return "buffer"; + if (a) + switch (Object.prototype.toString.call(t)) { + case "[object Float64Array]": + return "float64"; + case "[object Float32Array]": + return "float32"; + case "[object Int8Array]": + return "int8"; + case "[object Int16Array]": + return "int16"; + case "[object Int32Array]": + return "int32"; + case "[object Uint8Array]": + return "uint8"; + case "[object Uint16Array]": + return "uint16"; + case "[object Uint32Array]": + return "uint32"; + case "[object Uint8ClampedArray]": + return "uint8_clamped"; + } + return Array.isArray(t) ? "array" : "generic"; + })(t), + h = c[f]; + h.length <= o + 1; + + ) + h.push(l(f, h.length - 1)); + return (0, h[o + 1])(t, e, r, n); + }; + }, + { "iota-array": 302, "is-buffer": 304 }, + ], + 336: [ + function (t, e, r) { + "use strict"; + var n = t("double-bits"), + i = Math.pow(2, -1074), + a = -1 >>> 0; + e.exports = function (t, e) { + if (isNaN(t) || isNaN(e)) return NaN; + if (t === e) return t; + if (0 === t) return e < 0 ? -i : i; + var r = n.hi(t), + o = n.lo(t); + e > t == t > 0 + ? o === a + ? ((r += 1), (o = 0)) + : (o += 1) + : 0 === o + ? ((o = a), (r -= 1)) + : (o -= 1); + return n.pack(o, r); + }; + }, + { "double-bits": 133 }, + ], + 337: [ + function (t, e, r) { + var n = Math.PI, + i = c(120); + function a(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function o(t, e, r, n, i, a) { + return [ + "C", + t / 3 + (2 / 3) * r, + e / 3 + (2 / 3) * n, + i / 3 + (2 / 3) * r, + a / 3 + (2 / 3) * n, + i, + a, + ]; + } + function s(t, e, r, a, o, c, u, f, h, p) { + if (p) ((k = p[0]), (M = p[1]), (_ = p[2]), (w = p[3])); + else { + var d = l(t, e, -o); + ((t = d.x), (e = d.y)); + var g = (t - (f = (d = l(f, h, -o)).x)) / 2, + m = (e - (h = d.y)) / 2, + v = (g * g) / (r * r) + (m * m) / (a * a); + v > 1 && ((r *= v = Math.sqrt(v)), (a *= v)); + var y = r * r, + x = a * a, + b = + (c == u ? -1 : 1) * + Math.sqrt( + Math.abs((y * x - y * m * m - x * g * g) / (y * m * m + x * g * g)), + ); + b == 1 / 0 && (b = 1); + var _ = (b * r * m) / a + (t + f) / 2, + w = (b * -a * g) / r + (e + h) / 2, + k = Math.asin(((e - w) / a).toFixed(9)), + M = Math.asin(((h - w) / a).toFixed(9)); + ((k = t < _ ? n - k : k), + (M = f < _ ? n - M : M), + k < 0 && (k = 2 * n + k), + M < 0 && (M = 2 * n + M), + u && k > M && (k -= 2 * n), + !u && M > k && (M -= 2 * n)); + } + if (Math.abs(M - k) > i) { + var A = M, + T = f, + S = h; + M = k + i * (u && M > k ? 1 : -1); + var C = s( + (f = _ + r * Math.cos(M)), + (h = w + a * Math.sin(M)), + r, + a, + o, + 0, + u, + T, + S, + [M, A, _, w], + ); + } + var E = Math.tan((M - k) / 4), + L = (4 / 3) * r * E, + z = (4 / 3) * a * E, + P = [ + 2 * t - (t + L * Math.sin(k)), + 2 * e - (e - z * Math.cos(k)), + f + L * Math.sin(M), + h - z * Math.cos(M), + f, + h, + ]; + if (p) return P; + C && (P = P.concat(C)); + for (var D = 0; D < P.length; ) { + var O = l(P[D], P[D + 1], o); + ((P[D++] = O.x), (P[D++] = O.y)); + } + return P; + } + function l(t, e, r) { + return { + x: t * Math.cos(r) - e * Math.sin(r), + y: t * Math.sin(r) + e * Math.cos(r), + }; + } + function c(t) { + return t * (n / 180); + } + e.exports = function (t) { + for ( + var e, + r = [], + n = 0, + i = 0, + l = 0, + u = 0, + f = null, + h = null, + p = 0, + d = 0, + g = 0, + m = t.length; + g < m; + g++ + ) { + var v = t[g], + y = v[0]; + switch (y) { + case "M": + ((l = v[1]), (u = v[2])); + break; + case "A": + ((v = s(p, d, v[1], v[2], c(v[3]), v[4], v[5], v[6], v[7])).unshift( + "C", + ), + v.length > 7 && (r.push(v.splice(0, 7)), v.unshift("C"))); + break; + case "S": + var x = p, + b = d; + (("C" != e && "S" != e) || ((x += x - n), (b += b - i)), + (v = ["C", x, b, v[1], v[2], v[3], v[4]])); + break; + case "T": + ("Q" == e || "T" == e + ? ((f = 2 * p - f), (h = 2 * d - h)) + : ((f = p), (h = d)), + (v = o(p, d, f, h, v[1], v[2]))); + break; + case "Q": + ((f = v[1]), (h = v[2]), (v = o(p, d, v[1], v[2], v[3], v[4]))); + break; + case "L": + v = a(p, d, v[1], v[2]); + break; + case "H": + v = a(p, d, v[1], d); + break; + case "V": + v = a(p, d, p, v[1]); + break; + case "Z": + v = a(p, d, l, u); + } + ((e = y), + (p = v[v.length - 2]), + (d = v[v.length - 1]), + v.length > 4 + ? ((n = v[v.length - 4]), (i = v[v.length - 3])) + : ((n = p), (i = d)), + r.push(v)); + } + return r; + }; + }, + {}, + ], + 338: [ + function (t, e, r) { + ((r.vertexNormals = function (t, e, r) { + for ( + var n = e.length, i = new Array(n), a = void 0 === r ? 1e-6 : r, o = 0; + o < n; + ++o + ) + i[o] = [0, 0, 0]; + for (o = 0; o < t.length; ++o) + for ( + var s = t[o], l = 0, c = s[s.length - 1], u = s[0], f = 0; + f < s.length; + ++f + ) { + ((l = c), (c = u), (u = s[(f + 1) % s.length])); + for ( + var h = e[l], + p = e[c], + d = e[u], + g = new Array(3), + m = 0, + v = new Array(3), + y = 0, + x = 0; + x < 3; + ++x + ) + ((g[x] = h[x] - p[x]), + (m += g[x] * g[x]), + (v[x] = d[x] - p[x]), + (y += v[x] * v[x])); + if (m * y > a) { + var b = i[c], + _ = 1 / Math.sqrt(m * y); + for (x = 0; x < 3; ++x) { + var w = (x + 1) % 3, + k = (x + 2) % 3; + b[x] += _ * (v[w] * g[k] - v[k] * g[w]); + } + } + } + for (o = 0; o < n; ++o) { + b = i[o]; + var M = 0; + for (x = 0; x < 3; ++x) M += b[x] * b[x]; + if (M > a) for (_ = 1 / Math.sqrt(M), x = 0; x < 3; ++x) b[x] *= _; + else for (x = 0; x < 3; ++x) b[x] = 0; + } + return i; + }), + (r.faceNormals = function (t, e, r) { + for ( + var n = t.length, i = new Array(n), a = void 0 === r ? 1e-6 : r, o = 0; + o < n; + ++o + ) { + for (var s = t[o], l = new Array(3), c = 0; c < 3; ++c) l[c] = e[s[c]]; + var u = new Array(3), + f = new Array(3); + for (c = 0; c < 3; ++c) + ((u[c] = l[1][c] - l[0][c]), (f[c] = l[2][c] - l[0][c])); + var h = new Array(3), + p = 0; + for (c = 0; c < 3; ++c) { + var d = (c + 1) % 3, + g = (c + 2) % 3; + ((h[c] = u[d] * f[g] - u[g] * f[d]), (p += h[c] * h[c])); + } + p = p > a ? 1 / Math.sqrt(p) : 0; + for (c = 0; c < 3; ++c) h[c] *= p; + i[o] = h; + } + return i; + })); + }, + {}, + ], + 339: [ + function (t, e, r) { + "use strict"; + var n = Object.getOwnPropertySymbols, + i = Object.prototype.hasOwnProperty, + a = Object.prototype.propertyIsEnumerable; + e.exports = (function () { + try { + if (!Object.assign) return !1; + var t = new String("abc"); + if (((t[5] = "de"), "5" === Object.getOwnPropertyNames(t)[0])) return !1; + for (var e = {}, r = 0; r < 10; r++) e["_" + String.fromCharCode(r)] = r; + if ( + "0123456789" !== + Object.getOwnPropertyNames(e) + .map(function (t) { + return e[t]; + }) + .join("") + ) + return !1; + var n = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function (t) { + n[t] = t; + }), + "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, n)).join("") + ); + } catch (t) { + return !1; + } + })() + ? Object.assign + : function (t, e) { + for ( + var r, + o, + s = (function (t) { + if (null === t || void 0 === t) + throw new TypeError( + "Object.assign cannot be called with null or undefined", + ); + return Object(t); + })(t), + l = 1; + l < arguments.length; + l++ + ) { + for (var c in (r = Object(arguments[l]))) + i.call(r, c) && (s[c] = r[c]); + if (n) { + o = n(r); + for (var u = 0; u < o.length; u++) + a.call(r, o[u]) && (s[o[u]] = r[o[u]]); + } + } + return s; + }; + }, + {}, + ], + 340: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i, a, o, s, l, c) { + var u = e + a + c; + if (f > 0) { + var f = Math.sqrt(u + 1); + ((t[0] = (0.5 * (o - l)) / f), + (t[1] = (0.5 * (s - n)) / f), + (t[2] = (0.5 * (r - a)) / f), + (t[3] = 0.5 * f)); + } else { + var h = Math.max(e, a, c), + f = Math.sqrt(2 * h - u + 1); + e >= h + ? ((t[0] = 0.5 * f), + (t[1] = (0.5 * (i + r)) / f), + (t[2] = (0.5 * (s + n)) / f), + (t[3] = (0.5 * (o - l)) / f)) + : a >= h + ? ((t[0] = (0.5 * (r + i)) / f), + (t[1] = 0.5 * f), + (t[2] = (0.5 * (l + o)) / f), + (t[3] = (0.5 * (s - n)) / f)) + : ((t[0] = (0.5 * (n + s)) / f), + (t[1] = (0.5 * (o + l)) / f), + (t[2] = 0.5 * f), + (t[3] = (0.5 * (r - i)) / f)); + } + return t; + }; + }, + {}, + ], + 341: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.rotation || [0, 0, 0, 1], + n = t.radius || 1; + ((e = [].slice.call(e, 0, 3)), u((r = [].slice.call(r, 0, 4)), r)); + var i = new f(r, e, Math.log(n)); + (i.setDistanceLimits(t.zoomMin, t.zoomMax), + ("eye" in t || "up" in t) && i.lookAt(0, t.eye, t.center, t.up)); + return i; + }; + var n = t("filtered-vector"), + i = t("gl-mat4/lookAt"), + a = t("gl-mat4/fromQuat"), + o = t("gl-mat4/invert"), + s = t("./lib/quatFromFrame"); + function l(t, e, r) { + return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); + } + function c(t, e, r, n) { + return Math.sqrt( + Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2) + Math.pow(n, 2), + ); + } + function u(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = c(r, n, i, a); + o > 1e-6 + ? ((t[0] = r / o), (t[1] = n / o), (t[2] = i / o), (t[3] = a / o)) + : ((t[0] = t[1] = t[2] = 0), (t[3] = 1)); + } + function f(t, e, r) { + ((this.radius = n([r])), + (this.center = n(e)), + (this.rotation = n(t)), + (this.computedRadius = this.radius.curve(0)), + (this.computedCenter = this.center.curve(0)), + (this.computedRotation = this.rotation.curve(0)), + (this.computedUp = [0.1, 0, 0]), + (this.computedEye = [0.1, 0, 0]), + (this.computedMatrix = [ + 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ]), + this.recalcMatrix(0)); + } + var h = f.prototype; + ((h.lastT = function () { + return Math.max( + this.radius.lastT(), + this.center.lastT(), + this.rotation.lastT(), + ); + }), + (h.recalcMatrix = function (t) { + (this.radius.curve(t), this.center.curve(t), this.rotation.curve(t)); + var e = this.computedRotation; + u(e, e); + var r = this.computedMatrix; + a(r, e); + var n = this.computedCenter, + i = this.computedEye, + o = this.computedUp, + s = Math.exp(this.computedRadius[0]); + ((i[0] = n[0] + s * r[2]), + (i[1] = n[1] + s * r[6]), + (i[2] = n[2] + s * r[10]), + (o[0] = r[1]), + (o[1] = r[5]), + (o[2] = r[9])); + for (var l = 0; l < 3; ++l) { + for (var c = 0, f = 0; f < 3; ++f) c += r[l + 4 * f] * i[f]; + r[12 + l] = -c; + } + }), + (h.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) e[n] = r[n]; + return e; + } + return r; + }), + (h.idle = function (t) { + (this.center.idle(t), this.radius.idle(t), this.rotation.idle(t)); + }), + (h.flush = function (t) { + (this.center.flush(t), this.radius.flush(t), this.rotation.flush(t)); + }), + (h.pan = function (t, e, r, n) { + ((e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t)); + var i = this.computedMatrix, + a = i[1], + o = i[5], + s = i[9], + c = l(a, o, s); + ((a /= c), (o /= c), (s /= c)); + var u = i[0], + f = i[4], + h = i[8], + p = u * a + f * o + h * s, + d = l((u -= a * p), (f -= o * p), (h -= s * p)); + ((u /= d), (f /= d), (h /= d)); + var g = i[2], + m = i[6], + v = i[10], + y = g * a + m * o + v * s, + x = g * u + m * f + v * h, + b = l((g -= y * a + x * u), (m -= y * o + x * f), (v -= y * s + x * h)); + ((g /= b), (m /= b), (v /= b)); + var _ = u * e + a * r, + w = f * e + o * r, + k = h * e + s * r; + this.center.move(t, _, w, k); + var M = Math.exp(this.computedRadius[0]); + ((M = Math.max(1e-4, M + n)), this.radius.set(t, Math.log(M))); + }), + (h.rotate = function (t, e, r, n) { + (this.recalcMatrix(t), (e = e || 0), (r = r || 0)); + var i = this.computedMatrix, + a = i[0], + o = i[4], + s = i[8], + u = i[1], + f = i[5], + h = i[9], + p = i[2], + d = i[6], + g = i[10], + m = e * a + r * u, + v = e * o + r * f, + y = e * s + r * h, + x = -(d * y - g * v), + b = -(g * m - p * y), + _ = -(p * v - d * m), + w = Math.sqrt( + Math.max(0, 1 - Math.pow(x, 2) - Math.pow(b, 2) - Math.pow(_, 2)), + ), + k = c(x, b, _, w); + k > 1e-6 + ? ((x /= k), (b /= k), (_ /= k), (w /= k)) + : ((x = b = _ = 0), (w = 1)); + var M = this.computedRotation, + A = M[0], + T = M[1], + S = M[2], + C = M[3], + E = A * w + C * x + T * _ - S * b, + L = T * w + C * b + S * x - A * _, + z = S * w + C * _ + A * b - T * x, + P = C * w - A * x - T * b - S * _; + if (n) { + ((x = p), (b = d), (_ = g)); + var D = Math.sin(n) / l(x, b, _); + ((x *= D), + (b *= D), + (_ *= D), + (P = + P * (w = Math.cos(e)) - + (E = E * w + P * x + L * _ - z * b) * x - + (L = L * w + P * b + z * x - E * _) * b - + (z = z * w + P * _ + E * b - L * x) * _)); + } + var O = c(E, L, z, P); + (O > 1e-6 + ? ((E /= O), (L /= O), (z /= O), (P /= O)) + : ((E = L = z = 0), (P = 1)), + this.rotation.set(t, E, L, z, P)); + }), + (h.lookAt = function (t, e, r, n) { + (this.recalcMatrix(t), + (r = r || this.computedCenter), + (e = e || this.computedEye), + (n = n || this.computedUp)); + var a = this.computedMatrix; + i(a, e, r, n); + var o = this.computedRotation; + (s(o, a[0], a[1], a[2], a[4], a[5], a[6], a[8], a[9], a[10]), + u(o, o), + this.rotation.set(t, o[0], o[1], o[2], o[3])); + for (var l = 0, c = 0; c < 3; ++c) l += Math.pow(r[c] - e[c], 2); + (this.radius.set(t, 0.5 * Math.log(Math.max(l, 1e-6))), + this.center.set(t, r[0], r[1], r[2])); + }), + (h.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (h.setMatrix = function (t, e) { + var r = this.computedRotation; + (s(r, e[0], e[1], e[2], e[4], e[5], e[6], e[8], e[9], e[10]), + u(r, r), + this.rotation.set(t, r[0], r[1], r[2], r[3])); + var n = this.computedMatrix; + o(n, e); + var i = n[15]; + if (Math.abs(i) > 1e-6) { + var a = n[12] / i, + l = n[13] / i, + c = n[14] / i; + this.recalcMatrix(t); + var f = Math.exp(this.computedRadius[0]); + (this.center.set(t, a - n[2] * f, l - n[6] * f, c - n[10] * f), + this.radius.idle(t)); + } else (this.center.idle(t), this.radius.idle(t)); + }), + (h.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (h.setDistanceLimits = function (t, e) { + ((t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e)); + }), + (h.getDistanceLimits = function (t) { + var e = this.radius.bounds; + return t + ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) + : [Math.exp(e[0][0]), Math.exp(e[1][0])]; + }), + (h.toJSON = function () { + return ( + this.recalcMatrix(this.lastT()), + { + center: this.computedCenter.slice(), + rotation: this.computedRotation.slice(), + distance: Math.log(this.computedRadius[0]), + zoomMin: this.radius.bounds[0][0], + zoomMax: this.radius.bounds[1][0], + } + ); + }), + (h.fromJSON = function (t) { + var e = this.lastT(), + r = t.center; + r && this.center.set(e, r[0], r[1], r[2]); + var n = t.rotation; + n && this.rotation.set(e, n[0], n[1], n[2], n[3]); + var i = t.distance; + (i && i > 0 && this.radius.set(e, Math.log(i)), + this.setDistanceLimits(t.zoomMin, t.zoomMax)); + })); + }, + { + "./lib/quatFromFrame": 340, + "filtered-vector": 197, + "gl-mat4/fromQuat": 227, + "gl-mat4/invert": 230, + "gl-mat4/lookAt": 231, + }, + ], + 342: [ + function (t, e, r) { + "use strict"; + var n = t("repeat-string"); + e.exports = function (t, e, r) { + return n((r = void 0 !== r ? r + "" : " "), e) + t; + }; + }, + { "repeat-string": 381 }, + ], + 343: [ + function (t, e, r) { + "use strict"; + var n = t("pick-by-alias"); + e.exports = function (t) { + var e; + arguments.length > 1 && (t = arguments); + "string" == typeof t + ? (t = t.split(/\s/).map(parseFloat)) + : "number" == typeof t && (t = [t]); + t.length && "number" == typeof t[0] + ? (e = + 1 === t.length + ? { width: t[0], height: t[0], x: 0, y: 0 } + : 2 === t.length + ? { width: t[0], height: t[1], x: 0, y: 0 } + : { + x: t[0], + y: t[1], + width: t[2] - t[0] || 0, + height: t[3] - t[1] || 0, + }) + : t && + ((t = n(t, { + left: "x l left Left", + top: "y t top Top", + width: "w width W Width", + height: "h height W Width", + bottom: "b bottom Bottom", + right: "r right Right", + })), + (e = { x: t.left || 0, y: t.top || 0 }), + null == t.width + ? t.right + ? (e.width = t.right - e.x) + : (e.width = 0) + : (e.width = t.width), + null == t.height + ? t.bottom + ? (e.height = t.bottom - e.y) + : (e.height = 0) + : (e.height = t.height)); + return e; + }; + }, + { "pick-by-alias": 349 }, + ], + 344: [ + function (t, e, r) { + e.exports = function (t) { + var e = []; + return ( + t.replace(i, function (t, r, i) { + var o = r.toLowerCase(); + for ( + i = (function (t) { + var e = t.match(a); + return e ? e.map(Number) : []; + })(i), + "m" == o && + i.length > 2 && + (e.push([r].concat(i.splice(0, 2))), + (o = "l"), + (r = "m" == r ? "l" : "L")); + ; + + ) { + if (i.length == n[o]) return (i.unshift(r), e.push(i)); + if (i.length < n[o]) throw new Error("malformed path data"); + e.push([r].concat(i.splice(0, n[o]))); + } + }), + e + ); + }; + var n = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, + i = /([astvzqmhlc])([^astvzqmhlc]*)/gi; + var a = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi; + }, + {}, + ], + 345: [ + function (t, e, r) { + e.exports = function (t, e) { + (e || (e = [0, ""]), (t = String(t))); + var r = parseFloat(t, 10); + return ((e[0] = r), (e[1] = t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), e); + }; + }, + {}, + ], + 346: [ + function (t, e, r) { + (function (t) { + (function () { + var r, n, i, a, o, s; + "undefined" != typeof performance && + null !== performance && + performance.now + ? (e.exports = function () { + return performance.now(); + }) + : void 0 !== t && null !== t && t.hrtime + ? ((e.exports = function () { + return (r() - o) / 1e6; + }), + (n = t.hrtime), + (a = (r = function () { + var t; + return 1e9 * (t = n())[0] + t[1]; + })()), + (s = 1e9 * t.uptime()), + (o = a - s)) + : Date.now + ? ((e.exports = function () { + return Date.now() - i; + }), + (i = Date.now())) + : ((e.exports = function () { + return new Date().getTime() - i; + }), + (i = new Date().getTime())); + }).call(this); + }).call(this, t("_process")); + }, + { _process: 366 }, + ], + 347: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.length; + if (e < n) { + for (var r = 1, a = 0; a < e; ++a) + for (var o = 0; o < a; ++o) + if (t[a] < t[o]) r = -r; + else if (t[a] === t[o]) return 0; + return r; + } + for (var s = i.mallocUint8(e), a = 0; a < e; ++a) s[a] = 0; + for (var r = 1, a = 0; a < e; ++a) + if (!s[a]) { + var l = 1; + s[a] = 1; + for (var o = t[a]; o !== a; o = t[o]) { + if (s[o]) return (i.freeUint8(s), 0); + ((l += 1), (s[o] = 1)); + } + 1 & l || (r = -r); + } + return (i.freeUint8(s), r); + }; + var n = 32, + i = t("typedarray-pool"); + }, + { "typedarray-pool": 423 }, + ], + 348: [ + function (t, e, r) { + "use strict"; + var n = t("typedarray-pool"), + i = t("invert-permutation"); + ((r.rank = function (t) { + var e = t.length; + switch (e) { + case 0: + case 1: + return 0; + case 2: + return t[1]; + } + var r, + a, + o, + s = n.mallocUint32(e), + l = n.mallocUint32(e), + c = 0; + for (i(t, l), o = 0; o < e; ++o) s[o] = t[o]; + for (o = e - 1; o > 0; --o) + ((a = l[o]), + (r = s[o]), + (s[o] = s[a]), + (s[a] = r), + (l[o] = l[r]), + (l[r] = a), + (c = (c + r) * o)); + return (n.freeUint32(l), n.freeUint32(s), c); + }), + (r.unrank = function (t, e, r) { + switch (t) { + case 0: + return r || []; + case 1: + return r ? ((r[0] = 0), r) : [0]; + case 2: + return r + ? (e ? ((r[0] = 0), (r[1] = 1)) : ((r[0] = 1), (r[1] = 0)), r) + : e + ? [0, 1] + : [1, 0]; + } + var n, + i, + a, + o = 1; + for ((r = r || new Array(t))[0] = 0, a = 1; a < t; ++a) + ((r[a] = a), (o = (o * a) | 0)); + for (a = t - 1; a > 0; --a) + ((e = (e - (n = (e / o) | 0) * o) | 0), + (o = (o / a) | 0), + (i = 0 | r[a]), + (r[a] = 0 | r[n]), + (r[n] = 0 | i)); + return r; + })); + }, + { "invert-permutation": 301, "typedarray-pool": 423 }, + ], + 349: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var n, + a, + o = {}; + if (("string" == typeof e && (e = i(e)), Array.isArray(e))) { + var s = {}; + for (a = 0; a < e.length; a++) s[e[a]] = !0; + e = s; + } + for (n in e) e[n] = i(e[n]); + var l = {}; + for (n in e) { + var c = e[n]; + if (Array.isArray(c)) + for (a = 0; a < c.length; a++) { + var u = c[a]; + if ((r && (l[u] = !0), u in t)) { + if (((o[n] = t[u]), r)) + for (var f = a; f < c.length; f++) l[c[f]] = !0; + break; + } + } + else n in t && (e[n] && (o[n] = t[n]), r && (l[n] = !0)); + } + if (r) for (n in t) l[n] || (o[n] = t[n]); + return o; + }; + var n = {}; + function i(t) { + return n[t] + ? n[t] + : ("string" == typeof t && (t = n[t] = t.split(/\s*,\s*|\s+/)), t); + } + }, + {}, + ], + 350: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for ( + var r = 0 | e.length, + i = t.length, + a = [new Array(r), new Array(r)], + o = 0; + o < r; + ++o + ) + ((a[0][o] = []), (a[1][o] = [])); + for (var o = 0; o < i; ++o) { + var s = t[o]; + (a[0][s[0]].push(s), a[1][s[1]].push(s)); + } + for (var l = [], o = 0; o < r; ++o) + a[0][o].length + a[1][o].length === 0 && l.push([o]); + function c(t, e) { + var r = a[e][t[e]]; + r.splice(r.indexOf(t), 1); + } + function u(t, r, i) { + for (var o, s, l, u = 0; u < 2; ++u) + if (a[u][r].length > 0) { + ((o = a[u][r][0]), (l = u)); + break; + } + s = o[1 ^ l]; + for (var f = 0; f < 2; ++f) + for (var h = a[f][r], p = 0; p < h.length; ++p) { + var d = h[p], + g = d[1 ^ f], + m = n(e[t], e[r], e[s], e[g]); + m > 0 && ((o = d), (s = g), (l = f)); + } + return i ? s : (o && c(o, l), s); + } + function f(t, r) { + var i = a[r][t][0], + o = [t]; + c(i, r); + for (var s = i[1 ^ r]; ; ) { + for (; s !== t; ) (o.push(s), (s = u(o[o.length - 2], s, !1))); + if (a[0][t].length + a[1][t].length === 0) break; + var l = o[o.length - 1], + f = t, + h = o[1], + p = u(l, f, !0); + if (n(e[l], e[f], e[h], e[p]) < 0) break; + (o.push(t), (s = u(l, f))); + } + return o; + } + function h(t, e) { + return e[1] === e[e.length - 1]; + } + for (var o = 0; o < r; ++o) + for (var p = 0; p < 2; ++p) { + for (var d = []; a[p][o].length > 0; ) { + a[0][o].length; + var g = f(o, p); + h(d, g) ? d.push.apply(d, g) : (d.length > 0 && l.push(d), (d = g)); + } + d.length > 0 && l.push(d); + } + return l; + }; + var n = t("compare-angle"); + }, + { "compare-angle": 107 }, + ], + 351: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for ( + var r = n(t, e.length), + i = new Array(e.length), + a = new Array(e.length), + o = [], + s = 0; + s < e.length; + ++s + ) { + var l = r[s].length; + ((a[s] = l), (i[s] = !0), l <= 1 && o.push(s)); + } + for (; o.length > 0; ) { + var c = o.pop(); + i[c] = !1; + for (var u = r[c], s = 0; s < u.length; ++s) { + var f = u[s]; + 0 == --a[f] && o.push(f); + } + } + for (var h = new Array(e.length), p = [], s = 0; s < e.length; ++s) + if (i[s]) { + var c = p.length; + ((h[s] = c), p.push(e[s])); + } else h[s] = -1; + for (var d = [], s = 0; s < t.length; ++s) { + var g = t[s]; + i[g[0]] && i[g[1]] && d.push([h[g[0]], h[g[1]]]); + } + return [d, p]; + }; + var n = t("edges-to-adjacency-list"); + }, + { "edges-to-adjacency-list": 138 }, + ], + 352: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = c(t, e); + t = r[0]; + for ( + var f = (e = r[1]).length, h = (t.length, n(t, e.length)), p = 0; + p < f; + ++p + ) + if (h[p].length % 2 == 1) + throw new Error("planar-graph-to-polyline: graph must be manifold"); + var d = i(t, e); + for ( + var g = (d = d.filter(function (t) { + for (var r = t.length, n = [0], i = 0; i < r; ++i) { + var a = e[t[i]], + l = e[t[(i + 1) % r]], + c = o(-a[0], a[1]), + u = o(-a[0], l[1]), + f = o(l[0], a[1]), + h = o(l[0], l[1]); + n = s(n, s(s(c, u), s(f, h))); + } + return n[n.length - 1] > 0; + })).length, + m = new Array(g), + v = new Array(g), + p = 0; + p < g; + ++p + ) { + m[p] = p; + var y = new Array(g), + x = d[p].map(function (t) { + return e[t]; + }), + b = a([x]), + _ = 0; + t: for (var w = 0; w < g; ++w) + if (((y[w] = 0), p !== w)) { + for (var k = d[w], M = k.length, A = 0; A < M; ++A) { + var T = b(e[k[A]]); + if (0 !== T) { + T < 0 && ((y[w] = 1), (_ += 1)); + continue t; + } + } + ((y[w] = 1), (_ += 1)); + } + v[p] = [_, p, y]; + } + v.sort(function (t, e) { + return e[0] - t[0]; + }); + for (var p = 0; p < g; ++p) + for (var y = v[p], S = y[1], C = y[2], w = 0; w < g; ++w) + C[w] && (m[w] = S); + for ( + var E = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = []; + return e; + })(g), + p = 0; + p < g; + ++p + ) + (E[p].push(m[p]), E[m[p]].push(p)); + for (var L = {}, z = u(f, !1), p = 0; p < g; ++p) + for (var k = d[p], M = k.length, w = 0; w < M; ++w) { + var P = k[w], + D = k[(w + 1) % M], + O = Math.min(P, D) + ":" + Math.max(P, D); + if (O in L) { + var I = L[O]; + (E[I].push(p), E[p].push(I), (z[P] = z[D] = !0)); + } else L[O] = p; + } + function R(t) { + for (var e = t.length, r = 0; r < e; ++r) if (!z[t[r]]) return !1; + return !0; + } + for (var B = [], F = u(g, -1), p = 0; p < g; ++p) + m[p] !== p || R(d[p]) ? (F[p] = -1) : (B.push(p), (F[p] = 0)); + var r = []; + for (; B.length > 0; ) { + var N = B.pop(), + j = E[N]; + l(j, function (t, e) { + return t - e; + }); + var V, + U = j.length, + q = F[N]; + if (0 === q) { + var k = d[N]; + V = [k]; + } + for (var p = 0; p < U; ++p) { + var H = j[p]; + if (!(F[H] >= 0) && ((F[H] = 1 ^ q), B.push(H), 0 === q)) { + var k = d[H]; + R(k) || (k.reverse(), V.push(k)); + } + } + 0 === q && r.push(V); + } + return r; + }; + var n = t("edges-to-adjacency-list"), + i = t("planar-dual"), + a = t("point-in-big-polygon"), + o = t("two-product"), + s = t("robust-sum"), + l = t("uniq"), + c = t("./lib/trim-leaves"); + function u(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + } + }, + { + "./lib/trim-leaves": 351, + "edges-to-adjacency-list": 138, + "planar-dual": 350, + "point-in-big-polygon": 356, + "robust-sum": 393, + "two-product": 421, + uniq: 425, + }, + ], + 353: [ + function (t, e, r) { + "use strict"; + e.exports = t("./quad"); + }, + { "./quad": 355 }, + ], + 354: [ + function (t, e, r) { + arguments[4][91][0].apply(r, arguments); + }, + { dup: 91 }, + ], + 355: [ + function (t, e, r) { + "use strict"; + var n = t("binary-search-bounds"), + i = t("clamp"), + a = t("parse-rect"), + o = t("array-bounds"), + s = t("pick-by-alias"), + l = t("defined"), + c = t("flatten-vertex-data"), + u = t("is-obj"), + f = t("dtype"), + h = t("math-log2"); + function p(t, e) { + for ( + var r = e[0], + n = e[1], + a = 1 / (e[2] - r), + o = 1 / (e[3] - n), + s = new Array(t.length), + l = 0, + c = t.length / 2; + l < c; + l++ + ) + ((s[2 * l] = i((t[2 * l] - r) * a, 0, 1)), + (s[2 * l + 1] = i((t[2 * l + 1] - n) * o, 0, 1))); + return s; + } + e.exports = function (t, e) { + (e || (e = {}), + (t = c(t, "float64")), + (e = s(e, { + bounds: "range bounds dataBox databox", + maxDepth: "depth maxDepth maxdepth level maxLevel maxlevel levels", + dtype: "type dtype format out dst output destination", + }))); + var r = l(e.maxDepth, 255), + i = l(e.bounds, o(t, 2)); + (i[0] === i[2] && i[2]++, i[1] === i[3] && i[3]++); + var d, + g = p(t, i), + m = t.length >>> 1; + (e.dtype || (e.dtype = "array"), + "string" == typeof e.dtype + ? (d = new (f(e.dtype))(m)) + : e.dtype && ((d = e.dtype), Array.isArray(d) && (d.length = m))); + for (var v = 0; v < m; ++v) d[v] = v; + var y = [], + x = [], + b = [], + _ = []; + !(function t(e, n, i, a, o, s) { + if (!a.length) return null; + var l = y[o] || (y[o] = []); + var c = b[o] || (b[o] = []); + var u = x[o] || (x[o] = []); + var f = l.length; + o++; + if (o > r) { + for (var h = 0; h < a.length; h++) + (l.push(a[h]), c.push(s), u.push(null, null, null, null)); + return f; + } + l.push(a[0]); + c.push(s); + if (a.length <= 1) return (u.push(null, null, null, null), f); + var p = 0.5 * i; + var d = e + p, + m = n + p; + var v = [], + _ = [], + w = [], + k = []; + for (var M = 1, A = a.length; M < A; M++) { + var T = a[M], + S = g[2 * T], + C = g[2 * T + 1]; + S < d ? (C < m ? v.push(T) : _.push(T)) : C < m ? w.push(T) : k.push(T); + } + s <<= 2; + u.push( + t(e, n, p, v, o, s), + t(e, m, p, _, o, s + 1), + t(d, n, p, w, o, s + 2), + t(d, m, p, k, o, s + 3), + ); + return f; + })(0, 0, 1, d, 0, 1); + for (var w = 0, k = 0; k < y.length; k++) { + var M = y[k]; + if (d.set) d.set(M, w); + else for (var A = 0, T = M.length; A < T; A++) d[A + w] = M[A]; + var S = w + y[k].length; + ((_[k] = [w, S]), (w = S)); + } + return ( + (d.range = function () { + var e, + r = [], + o = arguments.length; + for (; o--; ) r[o] = arguments[o]; + if (u(r[r.length - 1])) { + var c = r.pop(); + (r.length || + (null == c.x && null == c.l && null == c.left) || + ((r = [c]), (e = {})), + (e = s(c, { + level: "level maxLevel", + d: "d diam diameter r radius px pxSize pixel pixelSize maxD size minSize", + lod: "lod details ranges offsets", + }))); + } else e = {}; + r.length || (r = i); + var f = a.apply(void 0, r), + d = [ + Math.min(f.x, f.x + f.width), + Math.min(f.y, f.y + f.height), + Math.max(f.x, f.x + f.width), + Math.max(f.y, f.y + f.height), + ], + g = d[0], + m = d[1], + v = d[2], + w = d[3], + k = p([g, m, v, w], i), + M = k[0], + A = k[1], + T = k[2], + S = k[3], + E = l(e.level, y.length); + if (null != e.d) { + var L; + ("number" == typeof e.d ? (L = [e.d, e.d]) : e.d.length && (L = e.d), + (E = Math.min( + Math.max( + Math.ceil(-h(Math.abs(L[0]) / (i[2] - i[0]))), + Math.ceil(-h(Math.abs(L[1]) / (i[3] - i[1]))), + ), + E, + ))); + } + if (((E = Math.min(E, y.length)), e.lod)) + return (function (t, e, r, i, a) { + for (var o = [], s = 0; s < a; s++) { + var l = b[s], + c = _[s][0], + u = C(t, e, s), + f = C(r, i, s), + h = n.ge(l, u), + p = n.gt(l, f, h, l.length - 1); + o[s] = [h + c, p + c]; + } + return o; + })(M, A, T, S, E); + var z = []; + return ( + (function e(r, n, i, a, o, s) { + if (null !== o && null !== s) { + var l = r + i, + c = n + i; + if (!(M > l || A > c || T < r || S < n || a >= E || o === s)) { + var u = y[a]; + void 0 === s && (s = u.length); + for (var f = o; f < s; f++) { + var h = u[f], + p = t[2 * h], + d = t[2 * h + 1]; + p >= g && p <= v && d >= m && d <= w && z.push(h); + } + var b = x[a], + _ = b[4 * o + 0], + k = b[4 * o + 1], + C = b[4 * o + 2], + L = b[4 * o + 3], + P = (function (t, e) { + for (var r = null, n = 0; null === r; ) + if (((r = t[4 * e + n]), ++n > t.length)) return null; + return r; + })(b, o + 1), + D = 0.5 * i, + O = a + 1; + (e(r, n, D, O, _, k || C || L || P), + e(r, n + D, D, O, k, C || L || P), + e(r + D, n, D, O, C, L || P), + e(r + D, n + D, D, O, L, P)); + } + } + })(0, 0, 1, 0, 0, 1), + z + ); + }), + d + ); + function C(t, e, r) { + for (var n = 1, i = 0.5, a = 0.5, o = 0.5, s = 0; s < r; s++) + ((n <<= 2), + (n += t < i ? (e < a ? 0 : 1) : e < a ? 2 : 3), + (o *= 0.5), + (i += t < i ? -o : o), + (a += e < a ? -o : o)); + return n; + } + }; + }, + { + "array-bounds": 49, + "binary-search-bounds": 354, + clamp: 95, + defined: 131, + dtype: 135, + "flatten-vertex-data": 198, + "is-obj": 307, + "math-log2": 317, + "parse-rect": 343, + "pick-by-alias": 349, + }, + ], + 356: [ + function (t, e, r) { + e.exports = function (t) { + for (var e = t.length, r = [], a = [], s = 0; s < e; ++s) + for (var u = t[s], f = u.length, h = f - 1, p = 0; p < f; h = p++) { + var d = u[h], + g = u[p]; + d[0] === g[0] ? a.push([d, g]) : r.push([d, g]); + } + if (0 === r.length) + return 0 === a.length + ? c + : ((m = l(a)), + function (t) { + return m(t[0], t[1]) ? 0 : 1; + }); + var m; + var v = i(r), + y = (function (t, e) { + return function (r) { + var i = o.le(e, r[0]); + if (i < 0) return 1; + var a = t[i]; + if (!a) { + if (!(i > 0 && e[i] === r[0])) return 1; + a = t[i - 1]; + } + for (var s = 1; a; ) { + var l = a.key, + c = n(r, l[0], l[1]); + if (l[0][0] < l[1][0]) + if (c < 0) a = a.left; + else { + if (!(c > 0)) return 0; + ((s = -1), (a = a.right)); + } + else if (c > 0) a = a.left; + else { + if (!(c < 0)) return 0; + ((s = 1), (a = a.right)); + } + } + return s; + }; + })(v.slabs, v.coordinates); + return 0 === a.length + ? y + : (function (t, e) { + return function (r) { + return t(r[0], r[1]) ? 0 : e(r); + }; + })(l(a), y); + }; + var n = t("robust-orientation")[3], + i = t("slab-decomposition"), + a = t("interval-tree-1d"), + o = t("binary-search-bounds"); + function s() { + return !0; + } + function l(t) { + for (var e = {}, r = 0; r < t.length; ++r) { + var n = t[r], + i = n[0][0], + o = n[0][1], + l = n[1][1], + c = [Math.min(o, l), Math.max(o, l)]; + i in e ? e[i].push(c) : (e[i] = [c]); + } + var u = {}, + f = Object.keys(e); + for (r = 0; r < f.length; ++r) { + var h = e[f[r]]; + u[f[r]] = a(h); + } + return (function (t) { + return function (e, r) { + var n = t[e]; + return !!n && !!n.queryPoint(r, s); + }; + })(u); + } + function c(t) { + return 1; + } + }, + { + "binary-search-bounds": 72, + "interval-tree-1d": 300, + "robust-orientation": 388, + "slab-decomposition": 404, + }, + ], + 357: [ + function (t, e, r) { + var n, + i = t("./lib/build-log"), + a = t("./lib/epsilon"), + o = t("./lib/intersecter"), + s = t("./lib/segment-chainer"), + l = t("./lib/segment-selector"), + c = t("./lib/geojson"), + u = !1, + f = a(); + function h(t, e, r) { + var i = n.segments(t), + a = n.segments(e), + o = r(n.combine(i, a)); + return n.polygon(o); + } + ((n = { + buildLog: function (t) { + return (!0 === t ? (u = i()) : !1 === t && (u = !1), !1 !== u && u.list); + }, + epsilon: function (t) { + return f.epsilon(t); + }, + segments: function (t) { + var e = o(!0, f, u); + return ( + t.regions.forEach(e.addRegion), + { segments: e.calculate(t.inverted), inverted: t.inverted } + ); + }, + combine: function (t, e) { + return { + combined: o(!1, f, u).calculate( + t.segments, + t.inverted, + e.segments, + e.inverted, + ), + inverted1: t.inverted, + inverted2: e.inverted, + }; + }, + selectUnion: function (t) { + return { + segments: l.union(t.combined, u), + inverted: t.inverted1 || t.inverted2, + }; + }, + selectIntersect: function (t) { + return { + segments: l.intersect(t.combined, u), + inverted: t.inverted1 && t.inverted2, + }; + }, + selectDifference: function (t) { + return { + segments: l.difference(t.combined, u), + inverted: t.inverted1 && !t.inverted2, + }; + }, + selectDifferenceRev: function (t) { + return { + segments: l.differenceRev(t.combined, u), + inverted: !t.inverted1 && t.inverted2, + }; + }, + selectXor: function (t) { + return { + segments: l.xor(t.combined, u), + inverted: t.inverted1 !== t.inverted2, + }; + }, + polygon: function (t) { + return { regions: s(t.segments, f, u), inverted: t.inverted }; + }, + polygonFromGeoJSON: function (t) { + return c.toPolygon(n, t); + }, + polygonToGeoJSON: function (t) { + return c.fromPolygon(n, f, t); + }, + union: function (t, e) { + return h(t, e, n.selectUnion); + }, + intersect: function (t, e) { + return h(t, e, n.selectIntersect); + }, + difference: function (t, e) { + return h(t, e, n.selectDifference); + }, + differenceRev: function (t, e) { + return h(t, e, n.selectDifferenceRev); + }, + xor: function (t, e) { + return h(t, e, n.selectXor); + }, + }), + "object" == typeof window && (window.PolyBool = n), + (e.exports = n)); + }, + { + "./lib/build-log": 358, + "./lib/epsilon": 359, + "./lib/geojson": 360, + "./lib/intersecter": 361, + "./lib/segment-chainer": 363, + "./lib/segment-selector": 364, + }, + ], + 358: [ + function (t, e, r) { + e.exports = function () { + var t, + e = 0, + r = !1; + function n(e, r) { + return ( + t.list.push({ + type: e, + data: r ? JSON.parse(JSON.stringify(r)) : void 0, + }), + t + ); + } + return (t = { + list: [], + segmentId: function () { + return e++; + }, + checkIntersection: function (t, e) { + return n("check", { seg1: t, seg2: e }); + }, + segmentChop: function (t, e) { + return (n("div_seg", { seg: t, pt: e }), n("chop", { seg: t, pt: e })); + }, + statusRemove: function (t) { + return n("pop_seg", { seg: t }); + }, + segmentUpdate: function (t) { + return n("seg_update", { seg: t }); + }, + segmentNew: function (t, e) { + return n("new_seg", { seg: t, primary: e }); + }, + segmentRemove: function (t) { + return n("rem_seg", { seg: t }); + }, + tempStatus: function (t, e, r) { + return n("temp_status", { seg: t, above: e, below: r }); + }, + rewind: function (t) { + return n("rewind", { seg: t }); + }, + status: function (t, e, r) { + return n("status", { seg: t, above: e, below: r }); + }, + vert: function (e) { + return e === r ? t : ((r = e), n("vert", { x: e })); + }, + log: function (t) { + return ( + "string" != typeof t && (t = JSON.stringify(t, !1, " ")), + n("log", { txt: t }) + ); + }, + reset: function () { + return n("reset"); + }, + selected: function (t) { + return n("selected", { segs: t }); + }, + chainStart: function (t) { + return n("chain_start", { seg: t }); + }, + chainRemoveHead: function (t, e) { + return n("chain_rem_head", { index: t, pt: e }); + }, + chainRemoveTail: function (t, e) { + return n("chain_rem_tail", { index: t, pt: e }); + }, + chainNew: function (t, e) { + return n("chain_new", { pt1: t, pt2: e }); + }, + chainMatch: function (t) { + return n("chain_match", { index: t }); + }, + chainClose: function (t) { + return n("chain_close", { index: t }); + }, + chainAddHead: function (t, e) { + return n("chain_add_head", { index: t, pt: e }); + }, + chainAddTail: function (t, e) { + return n("chain_add_tail", { index: t, pt: e }); + }, + chainConnect: function (t, e) { + return n("chain_con", { index1: t, index2: e }); + }, + chainReverse: function (t) { + return n("chain_rev", { index: t }); + }, + chainJoin: function (t, e) { + return n("chain_join", { index1: t, index2: e }); + }, + done: function () { + return n("done"); + }, + }); + }; + }, + {}, + ], + 359: [ + function (t, e, r) { + e.exports = function (t) { + "number" != typeof t && (t = 1e-10); + var e = { + epsilon: function (e) { + return ("number" == typeof e && (t = e), t); + }, + pointAboveOrOnLine: function (e, r, n) { + var i = r[0], + a = r[1], + o = n[0], + s = n[1], + l = e[0]; + return (o - i) * (e[1] - a) - (s - a) * (l - i) >= -t; + }, + pointBetween: function (e, r, n) { + var i = e[1] - r[1], + a = n[0] - r[0], + o = e[0] - r[0], + s = n[1] - r[1], + l = o * a + i * s; + return !(l < t || l - (a * a + s * s) > -t); + }, + pointsSameX: function (e, r) { + return Math.abs(e[0] - r[0]) < t; + }, + pointsSameY: function (e, r) { + return Math.abs(e[1] - r[1]) < t; + }, + pointsSame: function (t, r) { + return e.pointsSameX(t, r) && e.pointsSameY(t, r); + }, + pointsCompare: function (t, r) { + return e.pointsSameX(t, r) + ? e.pointsSameY(t, r) + ? 0 + : t[1] < r[1] + ? -1 + : 1 + : t[0] < r[0] + ? -1 + : 1; + }, + pointsCollinear: function (e, r, n) { + var i = e[0] - r[0], + a = e[1] - r[1], + o = r[0] - n[0], + s = r[1] - n[1]; + return Math.abs(i * s - o * a) < t; + }, + linesIntersect: function (e, r, n, i) { + var a = r[0] - e[0], + o = r[1] - e[1], + s = i[0] - n[0], + l = i[1] - n[1], + c = a * l - o * s; + if (Math.abs(c) < t) return !1; + var u = e[0] - n[0], + f = e[1] - n[1], + h = (s * f - l * u) / c, + p = (a * f - o * u) / c, + d = { alongA: 0, alongB: 0, pt: [e[0] + h * a, e[1] + h * o] }; + return ( + (d.alongA = + h <= -t ? -2 : h < t ? -1 : h - 1 <= -t ? 0 : h - 1 < t ? 1 : 2), + (d.alongB = + p <= -t ? -2 : p < t ? -1 : p - 1 <= -t ? 0 : p - 1 < t ? 1 : 2), + d + ); + }, + pointInsideRegion: function (e, r) { + for ( + var n = e[0], + i = e[1], + a = r[r.length - 1][0], + o = r[r.length - 1][1], + s = !1, + l = 0; + l < r.length; + l++ + ) { + var c = r[l][0], + u = r[l][1]; + (u - i > t != o - i > t && + ((a - c) * (i - u)) / (o - u) + c - n > t && + (s = !s), + (a = c), + (o = u)); + } + return s; + }, + }; + return e; + }; + }, + {}, + ], + 360: [ + function (t, e, r) { + var n = { + toPolygon: function (t, e) { + function r(e) { + if (e.length <= 0) return t.segments({ inverted: !1, regions: [] }); + function r(e) { + var r = e.slice(0, e.length - 1); + return t.segments({ inverted: !1, regions: [r] }); + } + for (var n = r(e[0]), i = 1; i < e.length; i++) + n = t.selectDifference(t.combine(n, r(e[i]))); + return n; + } + if ("Polygon" === e.type) return t.polygon(r(e.coordinates)); + if ("MultiPolygon" === e.type) { + for ( + var n = t.segments({ inverted: !1, regions: [] }), i = 0; + i < e.coordinates.length; + i++ + ) + n = t.selectUnion(t.combine(n, r(e.coordinates[i]))); + return t.polygon(n); + } + throw new Error( + "PolyBool: Cannot convert GeoJSON object to PolyBool polygon", + ); + }, + fromPolygon: function (t, e, r) { + function n(t, r) { + return e.pointInsideRegion( + [0.5 * (t[0][0] + t[1][0]), 0.5 * (t[0][1] + t[1][1])], + r, + ); + } + function i(t) { + return { region: t, children: [] }; + } + r = t.polygon(t.segments(r)); + var a = i(null); + function o(t, e) { + for (var r = 0; r < t.children.length; r++) { + if (n(e, (s = t.children[r]).region)) return void o(s, e); + } + var a = i(e); + for (r = 0; r < t.children.length; r++) { + var s; + n((s = t.children[r]).region, e) && + (a.children.push(s), t.children.splice(r, 1), r--); + } + t.children.push(a); + } + for (var s = 0; s < r.regions.length; s++) { + var l = r.regions[s]; + l.length < 3 || o(a, l); + } + function c(t, e) { + for ( + var r = 0, + n = t[t.length - 1][0], + i = t[t.length - 1][1], + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o][0], + l = t[o][1]; + (a.push([s, l]), (r += l * n - s * i), (n = s), (i = l)); + } + return (r < 0 !== e && a.reverse(), a.push([a[0][0], a[0][1]]), a); + } + var u = []; + function f(t) { + var e = [c(t.region, !1)]; + u.push(e); + for (var r = 0; r < t.children.length; r++) e.push(h(t.children[r])); + } + function h(t) { + for (var e = 0; e < t.children.length; e++) f(t.children[e]); + return c(t.region, !0); + } + for (s = 0; s < a.children.length; s++) f(a.children[s]); + return u.length <= 0 + ? { type: "Polygon", coordinates: [] } + : 1 == u.length + ? { type: "Polygon", coordinates: u[0] } + : { type: "MultiPolygon", coordinates: u }; + }, + }; + e.exports = n; + }, + {}, + ], + 361: [ + function (t, e, r) { + var n = t("./linked-list"); + e.exports = function (t, e, r) { + function i(t, e, n) { + return { + id: r ? r.segmentId() : -1, + start: t, + end: e, + myFill: { above: n.myFill.above, below: n.myFill.below }, + otherFill: null, + }; + } + var a = n.create(); + function o(t, r) { + a.insertBefore(t, function (n) { + return ( + (function (t, r, n, i, a, o) { + var s = e.pointsCompare(r, a); + return 0 !== s + ? s + : e.pointsSame(n, o) + ? 0 + : t !== i + ? t + ? 1 + : -1 + : e.pointAboveOrOnLine(n, i ? a : o, i ? o : a) + ? 1 + : -1; + })(t.isStart, t.pt, r, n.isStart, n.pt, n.other.pt) < 0 + ); + }); + } + function s(t, e) { + var r = (function (t, e) { + var r = n.node({ + isStart: !0, + pt: t.start, + seg: t, + primary: e, + other: null, + status: null, + }); + return (o(r, t.end), r); + })(t, e); + return ( + (function (t, e, r) { + var i = n.node({ + isStart: !1, + pt: e.end, + seg: e, + primary: r, + other: t, + status: null, + }); + ((t.other = i), o(i, t.pt)); + })(r, t, e), + r + ); + } + function l(t, e) { + var n = i(e, t.seg.end, t.seg); + return ( + (function (t, e) { + (r && r.segmentChop(t.seg, e), + t.other.remove(), + (t.seg.end = e), + (t.other.pt = e), + o(t.other, t.pt)); + })(t, e), + s(n, t.primary) + ); + } + function c(i, o) { + var s = n.create(); + function c(t) { + return s.findTransition(function (r) { + var n, i, a, o, s, l; + return ( + (n = t), + (i = r.ev), + (a = n.seg.start), + (o = n.seg.end), + (s = i.seg.start), + (l = i.seg.end), + (e.pointsCollinear(a, s, l) + ? e.pointsCollinear(o, s, l) + ? 1 + : e.pointAboveOrOnLine(o, s, l) + ? 1 + : -1 + : e.pointAboveOrOnLine(a, s, l) + ? 1 + : -1) > 0 + ); + }); + } + function u(t, n) { + var i = t.seg, + a = n.seg, + o = i.start, + s = i.end, + c = a.start, + u = a.end; + r && r.checkIntersection(i, a); + var f = e.linesIntersect(o, s, c, u); + if (!1 === f) { + if (!e.pointsCollinear(o, s, c)) return !1; + if (e.pointsSame(o, u) || e.pointsSame(s, c)) return !1; + var h = e.pointsSame(o, c), + p = e.pointsSame(s, u); + if (h && p) return n; + var d = !h && e.pointBetween(o, c, u), + g = !p && e.pointBetween(s, c, u); + if (h) return (g ? l(n, s) : l(t, u), n); + d && (p || (g ? l(n, s) : l(t, u)), l(n, o)); + } else + (0 === f.alongA && + (-1 === f.alongB + ? l(t, c) + : 0 === f.alongB + ? l(t, f.pt) + : 1 === f.alongB && l(t, u)), + 0 === f.alongB && + (-1 === f.alongA + ? l(n, o) + : 0 === f.alongA + ? l(n, f.pt) + : 1 === f.alongA && l(n, s))); + return !1; + } + for (var f = []; !a.isEmpty(); ) { + var h = a.getHead(); + if ((r && r.vert(h.pt[0]), h.isStart)) { + r && r.segmentNew(h.seg, h.primary); + var p = c(h), + d = p.before ? p.before.ev : null, + g = p.after ? p.after.ev : null; + function m() { + if (d) { + var t = u(h, d); + if (t) return t; + } + return !!g && u(h, g); + } + r && r.tempStatus(h.seg, !!d && d.seg, !!g && g.seg); + var v, + y, + x = m(); + if (x) + (t + ? (y = + null === h.seg.myFill.below || + h.seg.myFill.above !== h.seg.myFill.below) && + (x.seg.myFill.above = !x.seg.myFill.above) + : (x.seg.otherFill = h.seg.myFill), + r && r.segmentUpdate(x.seg), + h.other.remove(), + h.remove()); + if (a.getHead() !== h) { + r && r.rewind(h.seg); + continue; + } + (t + ? ((y = + null === h.seg.myFill.below || + h.seg.myFill.above !== h.seg.myFill.below), + (h.seg.myFill.below = g ? g.seg.myFill.above : i), + (h.seg.myFill.above = y + ? !h.seg.myFill.below + : h.seg.myFill.below)) + : null === h.seg.otherFill && + ((v = g + ? h.primary === g.primary + ? g.seg.otherFill.above + : g.seg.myFill.above + : h.primary + ? o + : i), + (h.seg.otherFill = { above: v, below: v })), + r && r.status(h.seg, !!d && d.seg, !!g && g.seg), + (h.other.status = p.insert(n.node({ ev: h })))); + } else { + var b = h.status; + if (null === b) + throw new Error( + "PolyBool: Zero-length segment detected; your epsilon is probably too small or too large", + ); + if ( + (s.exists(b.prev) && s.exists(b.next) && u(b.prev.ev, b.next.ev), + r && r.statusRemove(b.ev.seg), + b.remove(), + !h.primary) + ) { + var _ = h.seg.myFill; + ((h.seg.myFill = h.seg.otherFill), (h.seg.otherFill = _)); + } + f.push(h.seg); + } + a.getHead().remove(); + } + return (r && r.done(), f); + } + return t + ? { + addRegion: function (t) { + for (var n, i, a, o = t[t.length - 1], l = 0; l < t.length; l++) { + ((n = o), (o = t[l])); + var c = e.pointsCompare(n, o); + 0 !== c && + s( + ((i = c < 0 ? n : o), + (a = c < 0 ? o : n), + { + id: r ? r.segmentId() : -1, + start: i, + end: a, + myFill: { above: null, below: null }, + otherFill: null, + }), + !0, + ); + } + }, + calculate: function (t) { + return c(t, !1); + }, + } + : { + calculate: function (t, e, r, n) { + return ( + t.forEach(function (t) { + s(i(t.start, t.end, t), !0); + }), + r.forEach(function (t) { + s(i(t.start, t.end, t), !1); + }), + c(e, n) + ); + }, + }; + }; + }, + { "./linked-list": 362 }, + ], + 362: [ + function (t, e, r) { + e.exports = { + create: function () { + var t = { + root: { root: !0, next: null }, + exists: function (e) { + return null !== e && e !== t.root; + }, + isEmpty: function () { + return null === t.root.next; + }, + getHead: function () { + return t.root.next; + }, + insertBefore: function (e, r) { + for (var n = t.root, i = t.root.next; null !== i; ) { + if (r(i)) + return ( + (e.prev = i.prev), + (e.next = i), + (i.prev.next = e), + void (i.prev = e) + ); + ((n = i), (i = i.next)); + } + ((n.next = e), (e.prev = n), (e.next = null)); + }, + findTransition: function (e) { + for (var r = t.root, n = t.root.next; null !== n && !e(n); ) + ((r = n), (n = n.next)); + return { + before: r === t.root ? null : r, + after: n, + insert: function (t) { + return ( + (t.prev = r), + (t.next = n), + (r.next = t), + null !== n && (n.prev = t), + t + ); + }, + }; + }, + }; + return t; + }, + node: function (t) { + return ( + (t.prev = null), + (t.next = null), + (t.remove = function () { + ((t.prev.next = t.next), + t.next && (t.next.prev = t.prev), + (t.prev = null), + (t.next = null)); + }), + t + ); + }, + }; + }, + {}, + ], + 363: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = [], + i = []; + return ( + t.forEach(function (t) { + var a = t.start, + o = t.end; + if (e.pointsSame(a, o)) + console.warn( + "PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large", + ); + else { + r && r.chainStart(t); + for ( + var s = { index: 0, matches_head: !1, matches_pt1: !1 }, + l = { index: 0, matches_head: !1, matches_pt1: !1 }, + c = s, + u = 0; + u < n.length; + u++ + ) { + var f = (m = n[u])[0], + h = (m[1], m[m.length - 1]); + if ((m[m.length - 2], e.pointsSame(f, a))) { + if (M(u, !0, !0)) break; + } else if (e.pointsSame(f, o)) { + if (M(u, !0, !1)) break; + } else if (e.pointsSame(h, a)) { + if (M(u, !1, !0)) break; + } else if (e.pointsSame(h, o) && M(u, !1, !1)) break; + } + if (c === s) return (n.push([a, o]), void (r && r.chainNew(a, o))); + if (c === l) { + r && r.chainMatch(s.index); + var p = s.index, + d = s.matches_pt1 ? o : a, + g = s.matches_head, + m = n[p], + v = g ? m[0] : m[m.length - 1], + y = g ? m[1] : m[m.length - 2], + x = g ? m[m.length - 1] : m[0], + b = g ? m[m.length - 2] : m[1]; + return ( + e.pointsCollinear(y, v, d) && + (g + ? (r && r.chainRemoveHead(s.index, d), m.shift()) + : (r && r.chainRemoveTail(s.index, d), m.pop()), + (v = y)), + e.pointsSame(x, d) + ? (n.splice(p, 1), + e.pointsCollinear(b, x, v) && + (g + ? (r && r.chainRemoveTail(s.index, v), m.pop()) + : (r && r.chainRemoveHead(s.index, v), m.shift())), + r && r.chainClose(s.index), + void i.push(m)) + : void (g + ? (r && r.chainAddHead(s.index, d), m.unshift(d)) + : (r && r.chainAddTail(s.index, d), m.push(d))) + ); + } + var _ = s.index, + w = l.index; + r && r.chainConnect(_, w); + var k = n[_].length < n[w].length; + s.matches_head + ? l.matches_head + ? k + ? (A(_), T(_, w)) + : (A(w), T(w, _)) + : T(w, _) + : l.matches_head + ? T(_, w) + : k + ? (A(_), T(w, _)) + : (A(w), T(_, w)); + } + function M(t, e, r) { + return ( + (c.index = t), + (c.matches_head = e), + (c.matches_pt1 = r), + c === s ? ((c = l), !1) : ((c = null), !0) + ); + } + function A(t) { + (r && r.chainReverse(t), n[t].reverse()); + } + function T(t, i) { + var a = n[t], + o = n[i], + s = a[a.length - 1], + l = a[a.length - 2], + c = o[0], + u = o[1]; + (e.pointsCollinear(l, s, c) && + (r && r.chainRemoveTail(t, s), a.pop(), (s = l)), + e.pointsCollinear(s, c, u) && + (r && r.chainRemoveHead(i, c), o.shift()), + r && r.chainJoin(t, i), + (n[t] = a.concat(o)), + n.splice(i, 1)); + } + }), + i + ); + }; + }, + {}, + ], + 364: [ + function (t, e, r) { + function n(t, e, r) { + var n = []; + return ( + t.forEach(function (t) { + var i = + (t.myFill.above ? 8 : 0) + + (t.myFill.below ? 4 : 0) + + (t.otherFill && t.otherFill.above ? 2 : 0) + + (t.otherFill && t.otherFill.below ? 1 : 0); + 0 !== e[i] && + n.push({ + id: r ? r.segmentId() : -1, + start: t.start, + end: t.end, + myFill: { above: 1 === e[i], below: 2 === e[i] }, + otherFill: null, + }); + }), + r && r.selected(n), + n + ); + } + var i = { + union: function (t, e) { + return n(t, [0, 2, 1, 0, 2, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], e); + }, + intersect: function (t, e) { + return n(t, [0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 2, 1, 0], e); + }, + difference: function (t, e) { + return n(t, [0, 0, 0, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 1, 2, 0], e); + }, + differenceRev: function (t, e) { + return n(t, [0, 2, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 0, 0, 0], e); + }, + xor: function (t, e) { + return n(t, [0, 2, 1, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 1, 2, 0], e); + }, + }; + e.exports = i; + }, + {}, + ], + 365: [ + function (t, e, r) { + "use strict"; + var n = new Float64Array(4), + i = new Float64Array(4), + a = new Float64Array(4); + e.exports = function (t, e, r, o, s) { + n.length < o.length && + ((n = new Float64Array(o.length)), + (i = new Float64Array(o.length)), + (a = new Float64Array(o.length))); + for (var l = 0; l < o.length; ++l) + ((n[l] = t[l] - o[l]), (i[l] = e[l] - t[l]), (a[l] = r[l] - t[l])); + var c = 0, + u = 0, + f = 0, + h = 0, + p = 0, + d = 0; + for (l = 0; l < o.length; ++l) { + var g = i[l], + m = a[l], + v = n[l]; + ((c += g * g), + (u += g * m), + (f += m * m), + (h += v * g), + (p += v * m), + (d += v * v)); + } + var y, + x, + b, + _, + w, + k = Math.abs(c * f - u * u), + M = u * p - f * h, + A = u * h - c * p; + if (M + A <= k) + if (M < 0) + A < 0 && h < 0 + ? ((A = 0), + -h >= c + ? ((M = 1), (y = c + 2 * h + d)) + : (y = h * (M = -h / c) + d)) + : ((M = 0), + p >= 0 + ? ((A = 0), (y = d)) + : -p >= f + ? ((A = 1), (y = f + 2 * p + d)) + : (y = p * (A = -p / f) + d)); + else if (A < 0) + ((A = 0), + h >= 0 + ? ((M = 0), (y = d)) + : -h >= c + ? ((M = 1), (y = c + 2 * h + d)) + : (y = h * (M = -h / c) + d)); + else { + var T = 1 / k; + y = + (M *= T) * (c * M + u * (A *= T) + 2 * h) + + A * (u * M + f * A + 2 * p) + + d; + } + else + M < 0 + ? (b = f + p) > (x = u + h) + ? (_ = b - x) >= (w = c - 2 * u + f) + ? ((M = 1), (A = 0), (y = c + 2 * h + d)) + : (y = + (M = _ / w) * (c * M + u * (A = 1 - M) + 2 * h) + + A * (u * M + f * A + 2 * p) + + d) + : ((M = 0), + b <= 0 + ? ((A = 1), (y = f + 2 * p + d)) + : p >= 0 + ? ((A = 0), (y = d)) + : (y = p * (A = -p / f) + d)) + : A < 0 + ? (b = c + h) > (x = u + p) + ? (_ = b - x) >= (w = c - 2 * u + f) + ? ((A = 1), (M = 0), (y = f + 2 * p + d)) + : (y = + (M = 1 - (A = _ / w)) * (c * M + u * A + 2 * h) + + A * (u * M + f * A + 2 * p) + + d) + : ((A = 0), + b <= 0 + ? ((M = 1), (y = c + 2 * h + d)) + : h >= 0 + ? ((M = 0), (y = d)) + : (y = h * (M = -h / c) + d)) + : (_ = f + p - u - h) <= 0 + ? ((M = 0), (A = 1), (y = f + 2 * p + d)) + : _ >= (w = c - 2 * u + f) + ? ((M = 1), (A = 0), (y = c + 2 * h + d)) + : (y = + (M = _ / w) * (c * M + u * (A = 1 - M) + 2 * h) + + A * (u * M + f * A + 2 * p) + + d); + var S = 1 - M - A; + for (l = 0; l < o.length; ++l) s[l] = S * t[l] + M * e[l] + A * r[l]; + return y < 0 ? 0 : y; + }; + }, + {}, + ], + 366: [ + function (t, e, r) { + var n, + i, + a = (e.exports = {}); + function o() { + throw new Error("setTimeout has not been defined"); + } + function s() { + throw new Error("clearTimeout has not been defined"); + } + function l(t) { + if (n === setTimeout) return setTimeout(t, 0); + if ((n === o || !n) && setTimeout) + return ((n = setTimeout), setTimeout(t, 0)); + try { + return n(t, 0); + } catch (e) { + try { + return n.call(null, t, 0); + } catch (e) { + return n.call(this, t, 0); + } + } + } + !(function () { + try { + n = "function" == typeof setTimeout ? setTimeout : o; + } catch (t) { + n = o; + } + try { + i = "function" == typeof clearTimeout ? clearTimeout : s; + } catch (t) { + i = s; + } + })(); + var c, + u = [], + f = !1, + h = -1; + function p() { + f && + c && + ((f = !1), c.length ? (u = c.concat(u)) : (h = -1), u.length && d()); + } + function d() { + if (!f) { + var t = l(p); + f = !0; + for (var e = u.length; e; ) { + for (c = u, u = []; ++h < e; ) c && c[h].run(); + ((h = -1), (e = u.length)); + } + ((c = null), + (f = !1), + (function (t) { + if (i === clearTimeout) return clearTimeout(t); + if ((i === s || !i) && clearTimeout) + return ((i = clearTimeout), clearTimeout(t)); + try { + i(t); + } catch (e) { + try { + return i.call(null, t); + } catch (e) { + return i.call(this, t); + } + } + })(t)); + } + } + function g(t, e) { + ((this.fun = t), (this.array = e)); + } + function m() {} + ((a.nextTick = function (t) { + var e = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; + (u.push(new g(t, e)), 1 !== u.length || f || l(d)); + }), + (g.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (a.title = "browser"), + (a.browser = !0), + (a.env = {}), + (a.argv = []), + (a.version = ""), + (a.versions = {}), + (a.on = m), + (a.addListener = m), + (a.once = m), + (a.off = m), + (a.removeListener = m), + (a.removeAllListeners = m), + (a.emit = m), + (a.prependListener = m), + (a.prependOnceListener = m), + (a.listeners = function (t) { + return []; + }), + (a.binding = function (t) { + throw new Error("process.binding is not supported"); + }), + (a.cwd = function () { + return "/"; + }), + (a.chdir = function (t) { + throw new Error("process.chdir is not supported"); + }), + (a.umask = function () { + return 0; + })); + }, + {}, + ], + 367: [ + function (t, e, r) { + e.exports = t("gl-quat/slerp"); + }, + { "gl-quat/slerp": 256 }, + ], + 368: [ + function (t, e, r) { + (function (r) { + for ( + var n = t("performance-now"), + i = "undefined" == typeof window ? r : window, + a = ["moz", "webkit"], + o = "AnimationFrame", + s = i["request" + o], + l = i["cancel" + o] || i["cancelRequest" + o], + c = 0; + !s && c < a.length; + c++ + ) + ((s = i[a[c] + "Request" + o]), + (l = i[a[c] + "Cancel" + o] || i[a[c] + "CancelRequest" + o])); + if (!s || !l) { + var u = 0, + f = 0, + h = []; + ((s = function (t) { + if (0 === h.length) { + var e = n(), + r = Math.max(0, 1e3 / 60 - (e - u)); + ((u = r + e), + setTimeout(function () { + var t = h.slice(0); + h.length = 0; + for (var e = 0; e < t.length; e++) + if (!t[e].cancelled) + try { + t[e].callback(u); + } catch (t) { + setTimeout(function () { + throw t; + }, 0); + } + }, Math.round(r))); + } + return (h.push({ handle: ++f, callback: t, cancelled: !1 }), f); + }), + (l = function (t) { + for (var e = 0; e < h.length; e++) + h[e].handle === t && (h[e].cancelled = !0); + })); + } + ((e.exports = function (t) { + return s.call(i, t); + }), + (e.exports.cancel = function () { + l.apply(i, arguments); + }), + (e.exports.polyfill = function (t) { + (t || (t = i), + (t.requestAnimationFrame = s), + (t.cancelAnimationFrame = l)); + })); + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { "performance-now": 346 }, + ], + 369: [ + function (t, e, r) { + "use strict"; + var n = t("big-rat/add"); + e.exports = function (t, e) { + for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) + i[a] = n(t[a], e[a]); + return i; + }; + }, + { "big-rat/add": 56 }, + ], + 370: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = new Array(t.length), r = 0; r < t.length; ++r) e[r] = n(t[r]); + return e; + }; + var n = t("big-rat"); + }, + { "big-rat": 59 }, + ], + 371: [ + function (t, e, r) { + "use strict"; + var n = t("big-rat"), + i = t("big-rat/mul"); + e.exports = function (t, e) { + for (var r = n(e), a = t.length, o = new Array(a), s = 0; s < a; ++s) + o[s] = i(t[s], r); + return o; + }; + }, + { "big-rat": 59, "big-rat/mul": 68 }, + ], + 372: [ + function (t, e, r) { + "use strict"; + var n = t("big-rat/sub"); + e.exports = function (t, e) { + for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) + i[a] = n(t[a], e[a]); + return i; + }; + }, + { "big-rat/sub": 70 }, + ], + 373: [ + function (t, e, r) { + "use strict"; + var n = t("compare-cell"), + i = t("compare-oriented-cell"), + a = t("cell-orientation"); + e.exports = function (t) { + t.sort(i); + for (var e = t.length, r = 0, o = 0; o < e; ++o) { + var s = t[o], + l = a(s); + if (0 !== l) { + if (r > 0) { + var c = t[r - 1]; + if (0 === n(s, c) && a(c) !== l) { + r -= 1; + continue; + } + } + t[r++] = s; + } + } + return ((t.length = r), t); + }; + }, + { "cell-orientation": 92, "compare-cell": 108, "compare-oriented-cell": 109 }, + ], + 374: [ + function (t, e, r) { + "use strict"; + var n = t("array-bounds"), + i = t("color-normalize"), + a = t("update-diff"), + o = t("pick-by-alias"), + s = t("object-assign"), + l = t("flatten-vertex-data"), + c = t("to-float32"), + u = c.float32, + f = c.fract32; + e.exports = function (t, e) { + "function" == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t); + e.length && (e.positions = e); + if (!(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + var r, + c, + p, + d, + g, + m, + v = t._gl, + y = { + color: "black", + capSize: 5, + lineWidth: 1, + opacity: 1, + viewport: null, + range: null, + offset: 0, + count: 0, + bounds: null, + positions: [], + errors: [], + }, + x = []; + return ( + (d = t.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(0), + })), + (c = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (p = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (g = t.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(0), + })), + (m = t.buffer({ usage: "static", type: "float", data: h })), + k(e), + (r = t({ + vert: "\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t", + frag: "\n\t\tprecision mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t", + uniforms: { + range: t.prop("range"), + lineWidth: t.prop("lineWidth"), + capSize: t.prop("capSize"), + opacity: t.prop("opacity"), + scale: t.prop("scale"), + translate: t.prop("translate"), + scaleFract: t.prop("scaleFract"), + translateFract: t.prop("translateFract"), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + }, + attributes: { + color: { + buffer: d, + offset: function (t, e) { + return 4 * e.offset; + }, + divisor: 1, + }, + position: { + buffer: c, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + positionFract: { + buffer: p, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + error: { + buffer: g, + offset: function (t, e) { + return 16 * e.offset; + }, + divisor: 1, + }, + direction: { buffer: m, stride: 24, offset: 0 }, + lineOffset: { buffer: m, stride: 24, offset: 8 }, + capOffset: { buffer: m, stride: 24, offset: 16 }, + }, + primitive: "triangles", + blend: { + enable: !0, + color: [0, 0, 0, 0], + equation: { rgb: "add", alpha: "add" }, + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: "one minus dst alpha", + dstAlpha: "one", + }, + }, + depth: { enable: !1 }, + scissor: { enable: !0, box: t.prop("viewport") }, + viewport: t.prop("viewport"), + stencil: !1, + instances: t.prop("count"), + count: h.length, + })), + s(b, { + update: k, + draw: _, + destroy: M, + regl: t, + gl: v, + canvas: v.canvas, + groups: x, + }), + b + ); + function b(t) { + (t ? k(t) : null === t && M(), _()); + } + function _(e) { + if ("number" == typeof e) return w(e); + (e && !Array.isArray(e) && (e = [e]), + t._refresh(), + x.forEach(function (t, r) { + t && + (e && (e[r] ? (t.draw = !0) : (t.draw = !1)), + t.draw ? w(r) : (t.draw = !0)); + })); + } + function w(t) { + ("number" == typeof t && (t = x[t]), + null != t && + t && + t.count && + t.color && + t.opacity && + t.positions && + t.positions.length > 1 && + ((t.scaleRatio = [ + t.scale[0] * t.viewport.width, + t.scale[1] * t.viewport.height, + ]), + r(t), + t.after && t.after(t))); + } + function k(t) { + if (t) { + null != t.length + ? "number" == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var e = 0, + r = 0; + if ( + ((b.groups = x = + t.map(function (t, c) { + var u = x[c]; + return t + ? ("function" == typeof t + ? (t = { after: t }) + : "number" == typeof t[0] && (t = { positions: t }), + (t = o(t, { + color: "color colors fill", + capSize: "capSize cap capsize cap-size", + lineWidth: "lineWidth line-width width line thickness", + opacity: "opacity alpha", + range: "range dataBox", + viewport: "viewport viewBox", + errors: "errors error", + positions: "positions position data points", + })), + u || + ((x[c] = u = + { + id: c, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + draw: !0, + }), + (t = s({}, y, t))), + a(u, t, [ + { + lineWidth: function (t) { + return 0.5 * +t; + }, + capSize: function (t) { + return 0.5 * +t; + }, + opacity: parseFloat, + errors: function (t) { + return ((t = l(t)), (r += t.length), t); + }, + positions: function (t, r) { + return ( + (t = l(t, "float64")), + (r.count = Math.floor(t.length / 2)), + (r.bounds = n(t, 2)), + (r.offset = e), + (e += r.count), + t + ); + }, + }, + { + color: function (t, e) { + var r = e.count; + if ( + (t || (t = "transparent"), + !Array.isArray(t) || "number" == typeof t[0]) + ) { + var n = t; + t = Array(r); + for (var a = 0; a < r; a++) t[a] = n; + } + if (t.length < r) throw Error("Not enough colors"); + for (var o = new Uint8Array(4 * r), s = 0; s < r; s++) { + var l = i(t[s], "uint8"); + o.set(l, 4 * s); + } + return o; + }, + range: function (t, e, r) { + var n = e.bounds; + return ( + t || (t = n), + (e.scale = [1 / (t[2] - t[0]), 1 / (t[3] - t[1])]), + (e.translate = [-t[0], -t[1]]), + (e.scaleFract = f(e.scale)), + (e.translateFract = f(e.translate)), + t + ); + }, + viewport: function (t) { + var e; + return ( + Array.isArray(t) + ? (e = { + x: t[0], + y: t[1], + width: t[2] - t[0], + height: t[3] - t[1], + }) + : t + ? ((e = { + x: t.x || t.left || 0, + y: t.y || t.top || 0, + }), + t.right + ? (e.width = t.right - e.x) + : (e.width = t.w || t.width || 0), + t.bottom + ? (e.height = t.bottom - e.y) + : (e.height = t.h || t.height || 0)) + : (e = { + x: 0, + y: 0, + width: v.drawingBufferWidth, + height: v.drawingBufferHeight, + }), + e + ); + }, + }, + ]), + u) + : u; + })), + e || r) + ) { + var h = x.reduce(function (t, e, r) { + return t + (e ? e.count : 0); + }, 0), + m = new Float64Array(2 * h), + _ = new Uint8Array(4 * h), + w = new Float32Array(4 * h); + (x.forEach(function (t, e) { + if (t) { + var r = t.positions, + n = t.count, + i = t.offset, + a = t.color, + o = t.errors; + n && (_.set(a, 4 * i), w.set(o, 4 * i), m.set(r, 2 * i)); + } + }), + c(u(m)), + p(f(m)), + d(_), + g(w)); + } + } + } + function M() { + (c.destroy(), p.destroy(), d.destroy(), g.destroy(), m.destroy()); + } + }; + var h = [ + [1, 0, 0, 1, 0, 0], + [1, 0, 0, -1, 0, 0], + [-1, 0, 0, -1, 0, 0], + [-1, 0, 0, -1, 0, 0], + [-1, 0, 0, 1, 0, 0], + [1, 0, 0, 1, 0, 0], + [1, 0, -1, 0, 0, 1], + [1, 0, -1, 0, 0, -1], + [1, 0, 1, 0, 0, -1], + [1, 0, 1, 0, 0, -1], + [1, 0, 1, 0, 0, 1], + [1, 0, -1, 0, 0, 1], + [-1, 0, -1, 0, 0, 1], + [-1, 0, -1, 0, 0, -1], + [-1, 0, 1, 0, 0, -1], + [-1, 0, 1, 0, 0, -1], + [-1, 0, 1, 0, 0, 1], + [-1, 0, -1, 0, 0, 1], + [0, 1, 1, 0, 0, 0], + [0, 1, -1, 0, 0, 0], + [0, -1, -1, 0, 0, 0], + [0, -1, -1, 0, 0, 0], + [0, 1, 1, 0, 0, 0], + [0, -1, 1, 0, 0, 0], + [0, 1, 0, -1, 1, 0], + [0, 1, 0, -1, -1, 0], + [0, 1, 0, 1, -1, 0], + [0, 1, 0, 1, 1, 0], + [0, 1, 0, -1, 1, 0], + [0, 1, 0, 1, -1, 0], + [0, -1, 0, -1, 1, 0], + [0, -1, 0, -1, -1, 0], + [0, -1, 0, 1, -1, 0], + [0, -1, 0, 1, 1, 0], + [0, -1, 0, -1, 1, 0], + [0, -1, 0, 1, -1, 0], + ]; + }, + { + "array-bounds": 49, + "color-normalize": 100, + "flatten-vertex-data": 198, + "object-assign": 339, + "pick-by-alias": 349, + "to-float32": 416, + "update-diff": 426, + }, + ], + 375: [ + function (t, e, r) { + "use strict"; + var n = t("color-normalize"), + i = t("array-bounds"), + a = t("object-assign"), + o = t("glslify"), + s = t("pick-by-alias"), + l = t("flatten-vertex-data"), + c = t("earcut"), + u = t("array-normalize"), + f = t("to-float32"), + h = f.float32, + p = f.fract32, + d = t("es6-weak-map"), + g = t("parse-rect"); + function m(t, e) { + if (!(this instanceof m)) return new m(t, e); + if ( + ("function" == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) + ) + throw Error( + "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", + ); + ((this.gl = t._gl), + (this.regl = t), + (this.passes = []), + (this.shaders = m.shaders.has(t) + ? m.shaders.get(t) + : m.shaders.set(t, m.createShaders(t)).get(t)), + this.update(e)); + } + ((e.exports = m), + (m.dashMult = 2), + (m.maxPatternLength = 256), + (m.precisionThreshold = 3e6), + (m.maxPoints = 1e4), + (m.maxLines = 2048), + (m.shaders = new d()), + (m.createShaders = function (t) { + var e, + r = t.buffer({ + usage: "static", + type: "float", + data: [0, 1, 0, 0, 1, 1, 1, 0], + }), + n = { + primitive: "triangle strip", + instances: t.prop("count"), + count: 4, + offset: 0, + uniforms: { + miterMode: function (t, e) { + return "round" === e.join ? 2 : 1; + }, + miterLimit: t.prop("miterLimit"), + scale: t.prop("scale"), + scaleFract: t.prop("scaleFract"), + translateFract: t.prop("translateFract"), + translate: t.prop("translate"), + thickness: t.prop("thickness"), + dashPattern: t.prop("dashTexture"), + opacity: t.prop("opacity"), + pixelRatio: t.context("pixelRatio"), + id: t.prop("id"), + dashSize: t.prop("dashLength"), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + depth: t.prop("depth"), + }, + blend: { + enable: !0, + color: [0, 0, 0, 0], + equation: { rgb: "add", alpha: "add" }, + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: "one minus dst alpha", + dstAlpha: "one", + }, + }, + depth: { + enable: function (t, e) { + return !e.overlay; + }, + }, + stencil: { enable: !1 }, + scissor: { enable: !0, box: t.prop("viewport") }, + viewport: t.prop("viewport"), + }, + i = t( + a( + { + vert: o([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n", + ]), + frag: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { buffer: r, divisor: 0, stride: 8, offset: 0 }, + lineTop: { buffer: r, divisor: 0, stride: 8, offset: 4 }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + aCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoordFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + color: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + }, + }, + n, + ), + ); + try { + e = t( + a( + { + cull: { enable: !0, face: "back" }, + vert: o([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n\t// adjust scale for horizontal bars\n\tvec2 scale = max(scale, MIN_DIFF);\n\tvec2 scaleRatio = scale * viewport.zw;\n\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * scale + translate;\n\tvec2 aBotPosition = (aBotCoord) * scale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * scale + translate;\n\tvec2 bBotPosition = (bBotCoord) * scale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n", + ]), + frag: o([ + "precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", + ]), + attributes: { + lineEnd: { buffer: r, divisor: 0, stride: 8, offset: 0 }, + lineTop: { buffer: r, divisor: 0, stride: 8, offset: 4 }, + aColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 0, + divisor: 1, + }, + bColor: { + buffer: t.prop("colorBuffer"), + stride: 4, + offset: 4, + divisor: 1, + }, + prevCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 0, + divisor: 1, + }, + aCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 16, + divisor: 1, + }, + nextCoord: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 24, + divisor: 1, + }, + }, + }, + n, + ), + ); + } catch (t) { + e = i; + } + return { + fill: t({ + primitive: "triangle", + elements: function (t, e) { + return e.triangles; + }, + offset: 0, + vert: o([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n", + ]), + frag: o([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n", + ]), + uniforms: { + scale: t.prop("scale"), + color: t.prop("fill"), + scaleFract: t.prop("scaleFract"), + translateFract: t.prop("translateFract"), + translate: t.prop("translate"), + opacity: t.prop("opacity"), + pixelRatio: t.context("pixelRatio"), + id: t.prop("id"), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + }, + attributes: { + position: { + buffer: t.prop("positionBuffer"), + stride: 8, + offset: 8, + }, + positionFract: { + buffer: t.prop("positionFractBuffer"), + stride: 8, + offset: 8, + }, + }, + blend: n.blend, + depth: { enable: !1 }, + scissor: n.scissor, + stencil: n.stencil, + viewport: n.viewport, + }), + rect: i, + miter: e, + }; + }), + (m.defaults = { + dashes: null, + join: "miter", + miterLimit: 1, + thickness: 10, + cap: "square", + color: "black", + opacity: 1, + overlay: !1, + viewport: null, + range: null, + close: !1, + fill: null, + }), + (m.prototype.render = function () { + for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; + (e.length && (t = this).update.apply(t, e), this.draw()); + }), + (m.prototype.draw = function () { + for (var t = this, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return ( + (e.length ? e : this.passes).forEach(function (e, r) { + if (e && Array.isArray(e)) return (n = t).draw.apply(n, e); + var n; + ("number" == typeof e && (e = t.passes[e]), + e && e.count > 1 && e.opacity) && + (t.regl._refresh(), + e.fill && + e.triangles && + e.triangles.length > 2 && + t.shaders.fill(e), + e.thickness && + (e.scale[0] * e.viewport.width > m.precisionThreshold || + e.scale[1] * e.viewport.height > m.precisionThreshold + ? t.shaders.rect(e) + : "rect" === e.join || + (!e.join && (e.thickness <= 2 || e.count >= m.maxPoints)) + ? t.shaders.rect(e) + : t.shaders.miter(e))); + }), + this + ); + }), + (m.prototype.update = function (t) { + var e = this; + if (t) { + null != t.length + ? "number" == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var r = this.regl, + o = this.gl; + if ( + (t.forEach(function (t, f) { + var d = e.passes[f]; + if (void 0 !== t) + if (null !== t) { + if ( + ("number" == typeof t[0] && (t = { positions: t }), + (t = s(t, { + positions: "positions points data coords", + thickness: + "thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth", + join: "lineJoin linejoin join type mode", + miterLimit: "miterlimit miterLimit", + dashes: "dash dashes dasharray dash-array dashArray", + color: + "color colour stroke colors colours stroke-color strokeColor", + fill: "fill fill-color fillColor", + opacity: "alpha opacity", + overlay: "overlay crease overlap intersect", + close: "closed close closed-path closePath", + range: "range dataBox", + viewport: "viewport viewBox", + hole: "holes hole hollow", + })), + d || + ((e.passes[f] = d = + { + id: f, + scale: null, + scaleFract: null, + translate: null, + translateFract: null, + count: 0, + hole: [], + depth: 0, + dashLength: 1, + dashTexture: r.texture({ + channels: 1, + data: new Uint8Array([255]), + width: 1, + height: 1, + mag: "linear", + min: "linear", + }), + colorBuffer: r.buffer({ + usage: "dynamic", + type: "uint8", + data: new Uint8Array(), + }), + positionBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + positionFractBuffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + }), + (t = a({}, m.defaults, t))), + null != t.thickness && + (d.thickness = parseFloat(t.thickness)), + null != t.opacity && (d.opacity = parseFloat(t.opacity)), + null != t.miterLimit && + (d.miterLimit = parseFloat(t.miterLimit)), + null != t.overlay && + ((d.overlay = !!t.overlay), + f < m.maxLines && + (d.depth = + (2 * (m.maxLines - 1 - (f % m.maxLines))) / m.maxLines - + 1)), + null != t.join && (d.join = t.join), + null != t.hole && (d.hole = t.hole), + null != t.fill && + (d.fill = t.fill ? n(t.fill, "uint8") : null), + null != t.viewport && (d.viewport = g(t.viewport)), + d.viewport || + (d.viewport = g([ + o.drawingBufferWidth, + o.drawingBufferHeight, + ])), + null != t.close && (d.close = t.close), + null === t.positions && (t.positions = []), + t.positions) + ) { + var v, y; + if (t.positions.x && t.positions.y) { + var x = t.positions.x, + b = t.positions.y; + ((y = d.count = Math.max(x.length, b.length)), + (v = new Float64Array(2 * y))); + for (var _ = 0; _ < y; _++) + ((v[2 * _] = x[_]), (v[2 * _ + 1] = b[_])); + } else + ((v = l(t.positions, "float64")), + (y = d.count = Math.floor(v.length / 2))); + var w = (d.bounds = i(v, 2)); + if (d.fill) { + for ( + var k = [], M = {}, A = 0, T = 0, S = 0, C = d.count; + T < C; + T++ + ) { + var E = v[2 * T], + L = v[2 * T + 1]; + (isNaN(E) || isNaN(L) || null == E || null == L + ? ((E = v[2 * A]), (L = v[2 * A + 1]), (M[T] = A)) + : (A = T), + (k[S++] = E), + (k[S++] = L)); + } + for ( + var z = c(k, d.hole || []), P = 0, D = z.length; + P < D; + P++ + ) + null != M[z[P]] && (z[P] = M[z[P]]); + d.triangles = z; + } + var O = new Float64Array(v); + u(O, 2, w); + var I = new Float64Array(2 * y + 6); + (d.close + ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] + ? ((I[0] = O[2 * y - 4]), (I[1] = O[2 * y - 3])) + : ((I[0] = O[2 * y - 2]), (I[1] = O[2 * y - 1])) + : ((I[0] = O[0]), (I[1] = O[1])), + I.set(O, 2), + d.close + ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] + ? ((I[2 * y + 2] = O[2]), + (I[2 * y + 3] = O[3]), + (d.count -= 1)) + : ((I[2 * y + 2] = O[0]), + (I[2 * y + 3] = O[1]), + (I[2 * y + 4] = O[2]), + (I[2 * y + 5] = O[3])) + : ((I[2 * y + 2] = O[2 * y - 2]), + (I[2 * y + 3] = O[2 * y - 1]), + (I[2 * y + 4] = O[2 * y - 2]), + (I[2 * y + 5] = O[2 * y - 1])), + d.positionBuffer(h(I)), + d.positionFractBuffer(p(I))); + } + if ( + (t.range + ? (d.range = t.range) + : d.range || (d.range = d.bounds), + (t.range || t.positions) && d.count) + ) { + var R = d.bounds, + B = R[2] - R[0], + F = R[3] - R[1], + N = d.range[2] - d.range[0], + j = d.range[3] - d.range[1]; + ((d.scale = [B / N, F / j]), + (d.translate = [ + -d.range[0] / N + R[0] / N || 0, + -d.range[1] / j + R[1] / j || 0, + ]), + (d.scaleFract = p(d.scale)), + (d.translateFract = p(d.translate))); + } + if (t.dashes) { + var V, + U = 0; + if (!t.dashes || t.dashes.length < 2) + ((U = 1), + (V = new Uint8Array([ + 255, 255, 255, 255, 255, 255, 255, 255, + ]))); + else { + U = 0; + for (var q = 0; q < t.dashes.length; ++q) U += t.dashes[q]; + V = new Uint8Array(U * m.dashMult); + for (var H = 0, G = 255, W = 0; W < 2; W++) + for (var Y = 0; Y < t.dashes.length; ++Y) { + for ( + var X = 0, Z = t.dashes[Y] * m.dashMult * 0.5; + X < Z; + ++X + ) + V[H++] = G; + G ^= 255; + } + } + ((d.dashLength = U), + d.dashTexture( + { + channels: 1, + data: V, + width: V.length, + height: 1, + mag: "linear", + min: "linear", + }, + 0, + 0, + )); + } + if (t.color) { + var J = d.count, + K = t.color; + K || (K = "transparent"); + var Q = new Uint8Array(4 * J + 4); + if (Array.isArray(K) && "number" != typeof K[0]) { + for (var $ = 0; $ < J; $++) { + var tt = n(K[$], "uint8"); + Q.set(tt, 4 * $); + } + Q.set(n(K[0], "uint8"), 4 * J); + } else + for (var et = n(K, "uint8"), rt = 0; rt < J + 1; rt++) + Q.set(et, 4 * rt); + d.colorBuffer({ usage: "dynamic", type: "uint8", data: Q }); + } + } else e.passes[f] = null; + }), + t.length < this.passes.length) + ) { + for (var f = t.length; f < this.passes.length; f++) { + var d = e.passes[f]; + d && + (d.colorBuffer.destroy(), + d.positionBuffer.destroy(), + d.dashTexture.destroy()); + } + this.passes.length = t.length; + } + return ((this.passes = this.passes.filter(Boolean)), this); + } + }), + (m.prototype.destroy = function () { + return ( + this.passes.forEach(function (t) { + (t.colorBuffer.destroy(), + t.positionBuffer.destroy(), + t.dashTexture.destroy()); + }), + (this.passes.length = 0), + this + ); + })); + }, + { + "array-bounds": 49, + "array-normalize": 50, + "color-normalize": 100, + earcut: 137, + "es6-weak-map": 190, + "flatten-vertex-data": 198, + glslify: 295, + "object-assign": 339, + "parse-rect": 343, + "pick-by-alias": 349, + "to-float32": 416, + }, + ], + 376: [ + function (t, e, r) { + "use strict"; + var n = t("./scatter"), + i = t("object-assign"); + e.exports = function (t, e) { + var r = new n(t, e), + a = r.render.bind(r); + return ( + i(a, { + render: a, + update: r.update.bind(r), + draw: r.draw.bind(r), + destroy: r.destroy.bind(r), + regl: r.regl, + gl: r.gl, + canvas: r.gl.canvas, + groups: r.groups, + markers: r.markerCache, + palette: r.palette, + }), + a + ); + }; + }, + { "./scatter": 377, "object-assign": 339 }, + ], + 377: [ + function (t, e, r) { + "use strict"; + var n = t("color-normalize"), + i = t("array-bounds"), + a = t("color-id"), + o = t("point-cluster"), + s = t("object-assign"), + l = t("glslify"), + c = t("pick-by-alias"), + u = t("update-diff"), + f = t("flatten-vertex-data"), + h = t("is-iexplorer"), + p = t("to-float32"), + d = p.float32, + g = p.fract32, + m = t("parse-rect"); + function v(t, e) { + var r = this; + if (!(this instanceof v)) return new v(t, e); + ("function" == typeof t + ? (e || (e = {}), (e.regl = t)) + : ((e = t), (t = null)), + e && e.length && (e.positions = e)); + var n, + i = (t = e.regl)._gl, + a = []; + ((this.tooManyColors = h), + (n = t.texture({ + data: new Uint8Array(1020), + width: 255, + height: 1, + type: "uint8", + format: "rgba", + wrapS: "clamp", + wrapT: "clamp", + mag: "nearest", + min: "nearest", + })), + s(this, { + regl: t, + gl: i, + groups: [], + markerCache: [null], + markerTextures: [null], + palette: a, + paletteIds: {}, + paletteTexture: n, + maxColors: 255, + maxSize: 100, + canvas: i.canvas, + }), + this.update(e)); + var o = { + uniforms: { + pixelRatio: t.context("pixelRatio"), + palette: n, + paletteSize: function (t, e) { + return [r.tooManyColors ? 0 : 255, n.height]; + }, + scale: t.prop("scale"), + scaleFract: t.prop("scaleFract"), + translate: t.prop("translate"), + translateFract: t.prop("translateFract"), + opacity: t.prop("opacity"), + marker: t.prop("markerTexture"), + }, + attributes: { + x: function (t, e) { + return ( + e.xAttr || { buffer: e.positionBuffer, stride: 8, offset: 0 } + ); + }, + y: function (t, e) { + return ( + e.yAttr || { buffer: e.positionBuffer, stride: 8, offset: 4 } + ); + }, + xFract: function (t, e) { + return e.xAttr + ? { constant: [0, 0] } + : { buffer: e.positionFractBuffer, stride: 8, offset: 0 }; + }, + yFract: function (t, e) { + return e.yAttr + ? { constant: [0, 0] } + : { buffer: e.positionFractBuffer, stride: 8, offset: 4 }; + }, + size: function (t, e) { + return e.size.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 0 } + : { constant: [Math.round((255 * e.size) / r.maxSize)] }; + }, + borderSize: function (t, e) { + return e.borderSize.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 1 } + : { constant: [Math.round((255 * e.borderSize) / r.maxSize)] }; + }, + colorId: function (t, e) { + return e.color.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: 0, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.color, 4 * e.color + 4) + : [e.color], + }; + }, + borderColorId: function (t, e) { + return e.borderColor.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: r.tooManyColors ? 4 : 2, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.borderColor, 4 * e.borderColor + 4) + : [e.borderColor], + }; + }, + isActive: function (t, e) { + return !0 === e.activation + ? { constant: [1] } + : e.activation + ? e.activation + : { constant: [0] }; + }, + }, + blend: { + enable: !0, + color: [0, 0, 0, 1], + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: "one minus dst alpha", + dstAlpha: "one", + }, + }, + scissor: { enable: !0, box: t.prop("viewport") }, + viewport: t.prop("viewport"), + stencil: { enable: !1 }, + depth: { enable: !1 }, + elements: t.prop("elements"), + count: t.prop("count"), + offset: t.prop("offset"), + primitive: "points", + }, + c = s({}, o); + ((c.frag = l([ + "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n // max-distance alpha\n if (dist < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n return;\n }\n\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n}\n", + ])), + (c.vert = l([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n fragWidth, fragBorderColorLevel, fragColorLevel;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pixelRatio;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}\n", + ]))); + try { + this.drawMarker = t(c); + } catch (t) {} + var u = s({}, o); + ((u.frag = l([ + "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n", + ])), + (u.vert = l([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\n\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n", + ])), + h && (u.frag = u.frag.replace("smoothstep", "smoothStep")), + (this.drawCircle = t(u))); + } + ((e.exports = v), + (v.defaults = { + color: "black", + borderColor: "transparent", + borderSize: 0, + size: 12, + opacity: 1, + marker: void 0, + viewport: null, + range: null, + pixelSize: null, + count: 0, + offset: 0, + bounds: null, + positions: [], + snap: 1e4, + }), + (v.prototype.render = function () { + for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; + return (e.length && (t = this).update.apply(t, e), this.draw(), this); + }), + (v.prototype.draw = function () { + for (var t = this, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + var n = this.groups; + if ( + (1 === e.length && + Array.isArray(e[0]) && + (null === e[0][0] || Array.isArray(e[0][0])) && + (e = e[0]), + this.regl._refresh(), + e.length) + ) + for (var i = 0; i < e.length; i++) t.drawItem(i, e[i]); + else + n.forEach(function (e, r) { + t.drawItem(r); + }); + return this; + }), + (v.prototype.drawItem = function (t, e) { + var r = this.groups, + n = r[t]; + if ( + ("number" == typeof e && ((t = e), (n = r[e]), (e = null)), + n && n.count && n.opacity) + ) { + n.activation[0] && this.drawCircle(this.getMarkerDrawOptions(0, n, e)); + for (var i = [], a = 1; a < n.activation.length; a++) + n.activation[a] && + (!0 === n.activation[a] || n.activation[a].data.length) && + i.push.apply(i, this.getMarkerDrawOptions(a, n, e)); + i.length && this.drawMarker(i); + } + }), + (v.prototype.getMarkerDrawOptions = function (t, e, r) { + var n = e.range, + i = e.tree, + a = e.viewport, + o = e.activation, + l = e.selectionBuffer, + c = e.count; + this.regl; + if (!i) + return r + ? [ + s({}, e, { + markerTexture: this.markerTextures[t], + activation: o[t], + count: r.length, + elements: r, + offset: 0, + }), + ] + : [ + s({}, e, { + markerTexture: this.markerTextures[t], + activation: o[t], + offset: 0, + }), + ]; + var u = [], + f = i.range(n, { + lod: !0, + px: [(n[2] - n[0]) / a.width, (n[3] - n[1]) / a.height], + }); + if (r) { + for ( + var h = o[t].data, p = new Uint8Array(c), d = 0; + d < r.length; + d++ + ) { + var g = r[d]; + p[g] = h ? h[g] : 1; + } + l.subdata(p); + } + for (var m = f.length; m--; ) { + var v = f[m], + y = v[0], + x = v[1]; + u.push( + s({}, e, { + markerTexture: this.markerTextures[t], + activation: r ? l : o[t], + offset: y, + count: x - y, + }), + ); + } + return u; + }), + (v.prototype.update = function () { + for (var t = this, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + 1 === e.length && Array.isArray(e[0]) && (e = e[0]); + var n = this.groups, + a = this.gl, + l = this.regl, + h = this.maxSize, + p = this.maxColors, + y = this.palette; + this.groups = n = e.map(function (e, r) { + var x = n[r]; + if (void 0 === e) return x; + (null === e + ? (e = { positions: null }) + : "function" == typeof e + ? (e = { ondraw: e }) + : "number" == typeof e[0] && (e = { positions: e }), + null === + (e = c(e, { + positions: "positions data points", + snap: "snap cluster lod tree", + size: "sizes size radius", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + color: "colors color fill fill-color fillColor", + borderColor: + "borderColors borderColor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range dataBox databox", + viewport: "viewport viewPort viewBox viewbox", + opacity: "opacity alpha transparency", + bounds: "bound bounds boundaries limits", + })).positions && (e.positions = []), + x || + ((n[r] = x = + { + id: r, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + activation: [], + selectionBuffer: l.buffer({ + data: new Uint8Array(0), + usage: "stream", + type: "uint8", + }), + sizeBuffer: l.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + colorBuffer: l.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "uint8", + }), + positionBuffer: l.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + positionFractBuffer: l.buffer({ + data: new Uint8Array(0), + usage: "dynamic", + type: "float", + }), + }), + (e = s({}, v.defaults, e))), + !e.positions || + "marker" in e || + ((e.marker = x.marker), delete x.marker), + !e.marker || + "positions" in e || + ((e.positions = x.positions), delete x.positions)); + var b = 0, + _ = 0; + if ( + (u(x, e, [ + { + snap: !0, + size: function (t, e) { + return ( + null == t && (t = v.defaults.size), + (b += t && t.length ? 1 : 0), + t + ); + }, + borderSize: function (t, e) { + return ( + null == t && (t = v.defaults.borderSize), + (b += t && t.length ? 1 : 0), + t + ); + }, + opacity: parseFloat, + color: function (e, r) { + return ( + null == e && (e = v.defaults.color), + (e = t.updateColor(e)), + _++, + e + ); + }, + borderColor: function (e, r) { + return ( + null == e && (e = v.defaults.borderColor), + (e = t.updateColor(e)), + _++, + e + ); + }, + bounds: function (t, e, r) { + return ("range" in r || (r.range = null), t); + }, + positions: function (t, e, r) { + var n = e.snap, + a = e.positionBuffer, + s = e.positionFractBuffer, + c = e.selectionBuffer; + if (t.x || t.y) + return ( + t.x.length + ? (e.xAttr = { + buffer: l.buffer(t.x), + offset: 0, + stride: 4, + count: t.x.length, + }) + : (e.xAttr = { + buffer: t.x.buffer, + offset: 4 * t.x.offset || 0, + stride: 4 * (t.x.stride || 1), + count: t.x.count, + }), + t.y.length + ? (e.yAttr = { + buffer: l.buffer(t.y), + offset: 0, + stride: 4, + count: t.y.length, + }) + : (e.yAttr = { + buffer: t.y.buffer, + offset: 4 * t.y.offset || 0, + stride: 4 * (t.y.stride || 1), + count: t.y.count, + }), + (e.count = Math.max(e.xAttr.count, e.yAttr.count)), + t + ); + t = f(t, "float64"); + var u = (e.count = Math.floor(t.length / 2)), + h = (e.bounds = u ? i(t, 2) : null); + if ( + (r.range || e.range || (delete e.range, (r.range = h)), + r.marker || + e.marker || + (delete e.marker, (r.marker = null)), + n && (!0 === n || u > n) + ? (e.tree = o(t, { bounds: h })) + : n && n.length && (e.tree = n), + e.tree) + ) { + var p = { + primitive: "points", + usage: "static", + data: e.tree, + type: "uint32", + }; + e.elements ? e.elements(p) : (e.elements = l.elements(p)); + } + return ( + a({ data: d(t), usage: "dynamic" }), + s({ data: g(t), usage: "dynamic" }), + c({ + data: new Uint8Array(u), + type: "uint8", + usage: "stream", + }), + t + ); + }, + }, + { + marker: function (e, r, n) { + var i = r.activation; + if ( + (i.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + (i.length = 0), + e && "number" != typeof e[0]) + ) { + for ( + var a = [], o = 0, s = Math.min(e.length, r.count); + o < s; + o++ + ) { + var c = t.addMarker(e[o]); + (a[c] || (a[c] = new Uint8Array(r.count)), (a[c][o] = 1)); + } + for (var u = 0; u < a.length; u++) + if (a[u]) { + var f = { data: a[u], type: "uint8", usage: "static" }; + (i[u] ? i[u](f) : (i[u] = l.buffer(f)), + (i[u].data = a[u])); + } + } else { + i[t.addMarker(e)] = !0; + } + return e; + }, + range: function (t, e, r) { + var n = e.bounds; + if (n) + return ( + t || (t = n), + (e.scale = [1 / (t[2] - t[0]), 1 / (t[3] - t[1])]), + (e.translate = [-t[0], -t[1]]), + (e.scaleFract = g(e.scale)), + (e.translateFract = g(e.translate)), + t + ); + }, + viewport: function (t) { + return m(t || [a.drawingBufferWidth, a.drawingBufferHeight]); + }, + }, + ]), + b) + ) { + var w = x.count, + k = x.size, + M = x.borderSize, + A = x.sizeBuffer, + T = new Uint8Array(2 * w); + if (k.length || M.length) + for (var S = 0; S < w; S++) + ((T[2 * S] = Math.round((255 * (null == k[S] ? k : k[S])) / h)), + (T[2 * S + 1] = Math.round( + (255 * (null == M[S] ? M : M[S])) / h, + ))); + A({ data: T, usage: "dynamic" }); + } + if (_) { + var C, + E = x.count, + L = x.color, + z = x.borderColor, + P = x.colorBuffer; + if (t.tooManyColors) { + if (L.length || z.length) { + C = new Uint8Array(8 * E); + for (var D = 0; D < E; D++) { + var O = L[D]; + ((C[8 * D] = y[4 * O]), + (C[8 * D + 1] = y[4 * O + 1]), + (C[8 * D + 2] = y[4 * O + 2]), + (C[8 * D + 3] = y[4 * O + 3])); + var I = z[D]; + ((C[8 * D + 4] = y[4 * I]), + (C[8 * D + 5] = y[4 * I + 1]), + (C[8 * D + 6] = y[4 * I + 2]), + (C[8 * D + 7] = y[4 * I + 3])); + } + } + } else if (L.length || z.length) { + C = new Uint8Array(4 * E + 2); + for (var R = 0; R < E; R++) + (null != L[R] && + ((C[4 * R] = L[R] % p), + (C[4 * R + 1] = Math.floor(L[R] / p))), + null != z[R] && + ((C[4 * R + 2] = z[R] % p), + (C[4 * R + 3] = Math.floor(z[R] / p)))); + } + P({ + data: C || new Uint8Array(0), + type: "uint8", + usage: "dynamic", + }); + } + return x; + }); + } + }), + (v.prototype.addMarker = function (t) { + var e, + r = this.markerTextures, + n = this.regl, + i = this.markerCache, + a = null == t ? 0 : i.indexOf(t); + if (a >= 0) return a; + if (t instanceof Uint8Array || t instanceof Uint8ClampedArray) e = t; + else { + e = new Uint8Array(t.length); + for (var o = 0, s = t.length; o < s; o++) e[o] = 255 * t[o]; + } + var l = Math.floor(Math.sqrt(e.length)); + return ( + (a = r.length), + i.push(t), + r.push( + n.texture({ + channels: 1, + data: e, + radius: l, + mag: "linear", + min: "linear", + }), + ), + a + ); + }), + (v.prototype.updateColor = function (t) { + var e = this.paletteIds, + r = this.palette, + i = this.maxColors; + Array.isArray(t) || (t = [t]); + var o = []; + if ("number" == typeof t[0]) { + var s = []; + if (Array.isArray(t)) + for (var l = 0; l < t.length; l += 4) s.push(t.slice(l, l + 4)); + else for (var c = 0; c < t.length; c += 4) s.push(t.subarray(c, c + 4)); + t = s; + } + for (var u = 0; u < t.length; u++) { + var f = t[u]; + f = n(f, "uint8"); + var h = a(f, !1); + if (null == e[h]) { + var p = r.length; + ((e[h] = Math.floor(p / 4)), + (r[p] = f[0]), + (r[p + 1] = f[1]), + (r[p + 2] = f[2]), + (r[p + 3] = f[3])); + } + o[u] = e[h]; + } + return ( + !this.tooManyColors && + r.length > i * i * 4 && + (this.tooManyColors = !0), + this.updatePalette(r), + 1 === o.length ? o[0] : o + ); + }), + (v.prototype.updatePalette = function (t) { + if (!this.tooManyColors) { + var e = this.maxColors, + r = this.paletteTexture, + n = Math.ceil((0.25 * t.length) / e); + if (n > 1) + for (var i = (0.25 * (t = t.slice()).length) % e; i < n * e; i++) + t.push(0, 0, 0, 0); + (r.height < n && r.resize(e, n), + r.subimage( + { width: Math.min(0.25 * t.length, e), height: n, data: t }, + 0, + 0, + )); + } + }), + (v.prototype.destroy = function () { + return ( + this.groups.forEach(function (t) { + (t.sizeBuffer.destroy(), + t.positionBuffer.destroy(), + t.positionFractBuffer.destroy(), + t.colorBuffer.destroy(), + t.activation.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + t.selectionBuffer.destroy(), + t.elements && t.elements.destroy()); + }), + (this.groups.length = 0), + this.paletteTexture.destroy(), + this.markerTextures.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + this + ); + })); + }, + { + "array-bounds": 49, + "color-id": 98, + "color-normalize": 100, + "flatten-vertex-data": 198, + glslify: 295, + "is-iexplorer": 305, + "object-assign": 339, + "parse-rect": 343, + "pick-by-alias": 349, + "point-cluster": 353, + "to-float32": 416, + "update-diff": 426, + }, + ], + 378: [ + function (t, e, r) { + "use strict"; + var n = t("regl-scatter2d/scatter"), + i = t("pick-by-alias"), + a = t("array-bounds"), + o = t("raf"), + s = t("array-range"), + l = t("parse-rect"), + c = t("flatten-vertex-data"); + function u(t, e) { + if (!(this instanceof u)) return new u(t, e); + ((this.traces = []), + (this.passes = {}), + (this.regl = t), + (this.scatter = n(t)), + (this.canvas = this.scatter.canvas)); + } + function f(t, e, r) { + return ((null != t.id ? t.id : t) << 16) | ((255 & e) << 8) | (255 & r); + } + function h(t, e, r) { + var n, + i, + a, + o, + s = t[e], + l = t[r]; + return ( + s.length > 2 + ? (s[0], s[2], (n = s[1]), (i = s[3])) + : s.length + ? ((n = s[0]), (i = s[1])) + : (s.x, (n = s.y), s.x + s.width, (i = s.y + s.height)), + l.length > 2 + ? ((a = l[0]), (o = l[2]), l[1], l[3]) + : l.length + ? ((a = l[0]), (o = l[1])) + : ((a = l.x), l.y, (o = l.x + l.width), l.y + l.height), + [a, n, o, i] + ); + } + function p(t) { + if ("number" == typeof t) return [t, t, t, t]; + if (2 === t.length) return [t[0], t[1], t[0], t[1]]; + var e = l(t); + return [e.x, e.y, e.x + e.width, e.y + e.height]; + } + ((e.exports = u), + (u.prototype.render = function () { + for (var t, e = this, r = [], n = arguments.length; n--; ) + r[n] = arguments[n]; + return ( + r.length && (t = this).update.apply(t, r), + this.regl.attributes.preserveDrawingBuffer + ? this.draw() + : (this.dirty + ? null == this.planned && + (this.planned = o(function () { + (e.draw(), (e.dirty = !0), (e.planned = null)); + })) + : (this.draw(), + (this.dirty = !0), + o(function () { + e.dirty = !1; + })), + this) + ); + }), + (u.prototype.update = function () { + for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; + if (t.length) { + for (var r = 0; r < t.length; r++) this.updateItem(r, t[r]); + this.traces = this.traces.filter(Boolean); + for (var n, i = [], a = 0, o = 0; o < this.traces.length; o++) { + for ( + var s = this.traces[o], l = this.traces[o].passes, c = 0; + c < l.length; + c++ + ) + i.push(this.passes[l[c]]); + ((s.passOffset = a), (a += s.passes.length)); + } + return ((n = this.scatter).update.apply(n, i), this); + } + }), + (u.prototype.updateItem = function (t, e) { + var r = this.regl; + if (null === e) return ((this.traces[t] = null), this); + if (!e) return this; + var n, + o = i(e, { + data: "data items columns rows values dimensions samples x", + snap: "snap cluster", + size: "sizes size radius", + color: "colors color fill fill-color fillColor", + opacity: "opacity alpha transparency opaque", + borderSize: + "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", + borderColor: + "borderColors borderColor bordercolor stroke stroke-color strokeColor", + marker: "markers marker shape", + range: "range ranges databox dataBox", + viewport: "viewport viewBox viewbox", + domain: "domain domains area areas", + padding: "pad padding paddings pads margin margins", + transpose: "transpose transposed", + diagonal: "diagonal diag showDiagonal", + upper: + "upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf", + lower: + "lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower", + }), + s = + this.traces[t] || + (this.traces[t] = { + id: t, + buffer: r.buffer({ + usage: "dynamic", + type: "float", + data: new Uint8Array(), + }), + color: "black", + marker: null, + size: 12, + borderColor: "transparent", + borderSize: 1, + viewport: l([r._gl.drawingBufferWidth, r._gl.drawingBufferHeight]), + padding: [0, 0, 0, 0], + opacity: 1, + diagonal: !0, + upper: !0, + lower: !0, + }); + if ( + (null != o.color && (s.color = o.color), + null != o.size && (s.size = o.size), + null != o.marker && (s.marker = o.marker), + null != o.borderColor && (s.borderColor = o.borderColor), + null != o.borderSize && (s.borderSize = o.borderSize), + null != o.opacity && (s.opacity = o.opacity), + o.viewport && (s.viewport = l(o.viewport)), + null != o.diagonal && (s.diagonal = o.diagonal), + null != o.upper && (s.upper = o.upper), + null != o.lower && (s.lower = o.lower), + o.data) + ) { + (s.buffer(c(o.data)), + (s.columns = o.data.length), + (s.count = o.data[0].length), + (s.bounds = [])); + for (var u = 0; u < s.columns; u++) s.bounds[u] = a(o.data[u], 1); + } + (o.range && + ((s.range = o.range), (n = s.range && "number" != typeof s.range[0])), + o.domain && (s.domain = o.domain)); + var d = !1; + null != o.padding && + (Array.isArray(o.padding) && + o.padding.length === s.columns && + "number" == typeof o.padding[o.padding.length - 1] + ? ((s.padding = o.padding.map(p)), (d = !0)) + : (s.padding = p(o.padding))); + var g = s.columns, + m = s.count, + v = s.viewport.width, + y = s.viewport.height, + x = s.viewport.x, + b = s.viewport.y, + _ = v / g, + w = y / g; + s.passes = []; + for (var k = 0; k < g; k++) + for (var M = 0; M < g; M++) + if ( + (s.diagonal || M !== k) && + (s.upper || !(k > M)) && + (s.lower || !(k < M)) + ) { + var A = f(s.id, k, M), + T = this.passes[A] || (this.passes[A] = {}); + if ( + (o.data && + (o.transpose + ? (T.positions = { + x: { buffer: s.buffer, offset: M, count: m, stride: g }, + y: { buffer: s.buffer, offset: k, count: m, stride: g }, + }) + : (T.positions = { + x: { buffer: s.buffer, offset: M * m, count: m }, + y: { buffer: s.buffer, offset: k * m, count: m }, + }), + (T.bounds = h(s.bounds, k, M))), + o.domain || o.viewport || o.data) + ) { + var S = d ? h(s.padding, k, M) : s.padding; + if (s.domain) { + var C = h(s.domain, k, M), + E = C[0], + L = C[1], + z = C[2], + P = C[3]; + T.viewport = [ + x + E * v + S[0], + b + L * y + S[1], + x + z * v - S[2], + b + P * y - S[3], + ]; + } else + T.viewport = [ + x + M * _ + _ * S[0], + b + k * w + w * S[1], + x + (M + 1) * _ - _ * S[2], + b + (k + 1) * w - w * S[3], + ]; + } + (o.color && (T.color = s.color), + o.size && (T.size = s.size), + o.marker && (T.marker = s.marker), + o.borderSize && (T.borderSize = s.borderSize), + o.borderColor && (T.borderColor = s.borderColor), + o.opacity && (T.opacity = s.opacity), + o.range && (T.range = n ? h(s.range, k, M) : s.range || T.bounds), + s.passes.push(A)); + } + return this; + }), + (u.prototype.draw = function () { + for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; + if (e.length) { + for (var n = [], i = 0; i < e.length; i++) + if ("number" == typeof e[i]) { + var a = this.traces[e[i]], + o = a.passes, + l = a.passOffset; + n.push.apply(n, s(l, l + o.length)); + } else if (e[i].length) { + var c = e[i], + u = this.traces[i], + f = u.passes, + h = u.passOffset; + f = f.map(function (t, e) { + n[h + e] = c; + }); + } + (t = this.scatter).draw.apply(t, n); + } else this.scatter.draw(); + return this; + }), + (u.prototype.destroy = function () { + return ( + this.traces.forEach(function (t) { + t.buffer && t.buffer.destroy && t.buffer.destroy(); + }), + (this.traces = null), + (this.passes = null), + this.scatter.destroy(), + this + ); + })); + }, + { + "array-bounds": 49, + "array-range": 51, + "flatten-vertex-data": 379, + "parse-rect": 343, + "pick-by-alias": 349, + raf: 368, + "regl-scatter2d/scatter": 377, + }, + ], + 379: [ + function (t, e, r) { + var n = t("dtype"); + e.exports = function (t, e, r) { + if (!t) throw new TypeError("must specify data as first parameter"); + if ( + ((r = 0 | +(r || 0)), + Array.isArray(t) && t[0] && "number" == typeof t[0][0]) + ) { + var i, + a, + o, + s, + l = t[0].length, + c = t.length * l; + (e && "string" != typeof e) || (e = new (n(e || "float32"))(c + r)); + var u = e.length - r; + if (c !== u) + throw new Error( + "source length " + + c + + " (" + + l + + "x" + + t.length + + ") does not match destination length " + + u, + ); + for (i = 0, o = r; i < t.length; i++) + for (a = 0; a < l; a++) e[o++] = null === t[i][a] ? NaN : t[i][a]; + } else if (e && "string" != typeof e) e.set(t, r); + else { + var f = n(e || "float32"); + if (Array.isArray(t) || "array" === e) + for ( + e = new f(t.length + r), i = 0, o = r, s = e.length; + o < s; + o++, i++ + ) + e[o] = null === t[i] ? NaN : t[i]; + else 0 === r ? (e = new f(t)) : (e = new f(t.length + r)).set(t, r); + } + return e; + }; + }, + { dtype: 135 }, + ], + 380: [ + function (t, e, r) { + var n, i; + ((n = this), + (i = function () { + function t(t, e) { + ((this.id = V++), (this.type = t), (this.data = e)); + } + function e(t) { + return ( + "[" + + (function t(e) { + if (0 === e.length) return []; + var r = e.charAt(0), + n = e.charAt(e.length - 1); + if (1 < e.length && r === n && ('"' === r || "'" === r)) + return [ + '"' + + e + .substr(1, e.length - 2) + .replace(/\\/g, "\\\\") + .replace(/"/g, '\\"') + + '"', + ]; + if ((r = /\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))) + return t(e.substr(0, r.index)) + .concat(t(r[1])) + .concat(t(e.substr(r.index + r[0].length))); + if (1 === (r = e.split(".")).length) + return [ + '"' + e.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + '"', + ]; + for (e = [], n = 0; n < r.length; ++n) e = e.concat(t(r[n])); + return e; + })(t).join("][") + + "]" + ); + } + function r(t) { + return "string" == typeof t ? t.split() : t; + } + function n(t) { + return "string" == typeof t ? document.querySelector(t) : t; + } + function i(t) { + var e, + i, + a, + o, + s = t || {}; + t = {}; + var l = [], + c = [], + u = "undefined" == typeof window ? 1 : window.devicePixelRatio, + f = !1, + h = function (t) {}, + p = function () {}; + if ( + ("string" == typeof s + ? (e = document.querySelector(s)) + : "object" == typeof s && + ("string" == typeof s.nodeName && + "function" == typeof s.appendChild && + "function" == typeof s.getBoundingClientRect + ? (e = s) + : "function" == typeof s.drawArrays || + "function" == typeof s.drawElements + ? (a = (o = s).canvas) + : ("gl" in s + ? (o = s.gl) + : "canvas" in s + ? (a = n(s.canvas)) + : "container" in s && (i = n(s.container)), + "attributes" in s && (t = s.attributes), + "extensions" in s && (l = r(s.extensions)), + "optionalExtensions" in s && (c = r(s.optionalExtensions)), + "onDone" in s && (h = s.onDone), + "profile" in s && (f = !!s.profile), + "pixelRatio" in s && (u = +s.pixelRatio))), + e && ("canvas" === e.nodeName.toLowerCase() ? (a = e) : (i = e)), + !o) + ) { + if (!a) { + if ( + !(e = (function (t, e, r) { + function n() { + var e = window.innerWidth, + n = window.innerHeight; + (t !== document.body && + ((e = (n = t.getBoundingClientRect()).right - n.left), + (n = n.bottom - n.top)), + (i.width = r * e), + (i.height = r * n), + j(i.style, { width: e + "px", height: n + "px" })); + } + var i = document.createElement("canvas"); + return ( + j(i.style, { + border: 0, + margin: 0, + padding: 0, + top: 0, + left: 0, + }), + t.appendChild(i), + t === document.body && + ((i.style.position = "absolute"), + j(t.style, { margin: 0, padding: 0 })), + window.addEventListener("resize", n, !1), + n(), + { + canvas: i, + onDestroy: function () { + (window.removeEventListener("resize", n), + t.removeChild(i)); + }, + } + ); + })(i || document.body, 0, u)) + ) + return null; + ((a = e.canvas), (p = e.onDestroy)); + } + o = (function (t, e) { + function r(r) { + try { + return t.getContext(r, e); + } catch (t) { + return null; + } + } + return ( + r("webgl") || r("experimental-webgl") || r("webgl-experimental") + ); + })(a, t); + } + return o + ? { + gl: o, + canvas: a, + container: i, + extensions: l, + optionalExtensions: c, + pixelRatio: u, + profile: f, + onDone: h, + onDestroy: p, + } + : (p(), + h( + "webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org", + ), + null); + } + function a(t) { + return ( + !!t && + "object" == typeof t && + Array.isArray(t.shape) && + Array.isArray(t.stride) && + "number" == typeof t.offset && + t.shape.length === t.stride.length && + (Array.isArray(t.data) || G(t.data)) + ); + } + function o(t, e) { + for (var r = Array(t), n = 0; n < t; ++n) r[n] = e(n); + return r; + } + function s(t) { + var e, r; + return ( + (e = (65535 < t) << 4), + (e |= r = (255 < (t >>>= e)) << 3), + (e |= r = (15 < (t >>>= r)) << 2) | + (r = (3 < (t >>>= r)) << 1) | + ((t >>> r) >> 1) + ); + } + function l(t) { + t: { + for (var e = 16; 268435456 >= e; e *= 16) + if (t <= e) { + t = e; + break t; + } + t = 0; + } + return 0 < (e = Y[s(t) >> 2]).length ? e.pop() : new ArrayBuffer(t); + } + function c(t) { + Y[s(t.byteLength) >> 2].push(t); + } + function u(t, e, r, n, i, a) { + for (var o = 0; o < e; ++o) + for (var s = t[o], l = 0; l < r; ++l) + for (var c = s[l], u = 0; u < n; ++u) i[a++] = c[u]; + } + function f(t) { + return 0 | J[Object.prototype.toString.call(t)]; + } + function h(t, e) { + for (var r = 0; r < e.length; ++r) t[r] = e[r]; + } + function p(t, e, r, n, i, a, o) { + for (var s = 0, l = 0; l < r; ++l) + for (var c = 0; c < n; ++c) t[s++] = e[i * l + a * c + o]; + } + function d(t, e, r) { + function n(e) { + ((this.id = l++), + (this.buffer = t.createBuffer()), + (this.type = e), + (this.usage = 35044), + (this.byteLength = 0), + (this.dimension = 1), + (this.dtype = 5121), + (this.persistentData = null), + r.profile && (this.stats = { size: 0 })); + } + function i(e, r, n) { + ((e.byteLength = r.byteLength), t.bufferData(e.type, r, n)); + } + function o(t, e, r, n, o, s) { + if (((t.usage = r), Array.isArray(e))) { + if (((t.dtype = n || 5126), 0 < e.length)) + if (Array.isArray(e[0])) { + o = tt(e); + for (var l = (n = 1); l < o.length; ++l) n *= o[l]; + ((t.dimension = n), + i(t, (e = $(e, o, t.dtype)), r), + s ? (t.persistentData = e) : X.freeType(e)); + } else + "number" == typeof e[0] + ? ((t.dimension = o), + h((o = X.allocType(t.dtype, e.length)), e), + i(t, o, r), + s ? (t.persistentData = o) : X.freeType(o)) + : G(e[0]) && + ((t.dimension = e[0].length), + (t.dtype = n || f(e[0]) || 5126), + i(t, (e = $(e, [e.length, e[0].length], t.dtype)), r), + s ? (t.persistentData = e) : X.freeType(e)); + } else if (G(e)) + ((t.dtype = n || f(e)), + (t.dimension = o), + i(t, e, r), + s && + (t.persistentData = new Uint8Array(new Uint8Array(e.buffer)))); + else if (a(e)) { + o = e.shape; + var c = e.stride, + u = ((l = e.offset), 0), + d = 0, + g = 0, + m = 0; + (1 === o.length + ? ((u = o[0]), (d = 1), (g = c[0]), (m = 0)) + : 2 === o.length && + ((u = o[0]), (d = o[1]), (g = c[0]), (m = c[1])), + (t.dtype = n || f(e.data) || 5126), + (t.dimension = d), + p((o = X.allocType(t.dtype, u * d)), e.data, u, d, g, m, l), + i(t, o, r), + s ? (t.persistentData = o) : X.freeType(o)); + } + } + function s(r) { + (e.bufferCount--, + t.deleteBuffer(r.buffer), + (r.buffer = null), + delete c[r.id]); + } + var l = 0, + c = {}; + ((n.prototype.bind = function () { + t.bindBuffer(this.type, this.buffer); + }), + (n.prototype.destroy = function () { + s(this); + })); + var u = []; + return ( + r.profile && + (e.getTotalBufferSize = function () { + var t = 0; + return ( + Object.keys(c).forEach(function (e) { + t += c[e].stats.size; + }), + t + ); + }), + { + create: function (i, l, u, d) { + function g(e) { + var n = 35044, + i = null, + s = 0, + l = 0, + c = 1; + return ( + Array.isArray(e) || G(e) || a(e) + ? (i = e) + : "number" == typeof e + ? (s = 0 | e) + : e && + ("data" in e && (i = e.data), + "usage" in e && (n = Q[e.usage]), + "type" in e && (l = K[e.type]), + "dimension" in e && (c = 0 | e.dimension), + "length" in e && (s = 0 | e.length)), + m.bind(), + i + ? o(m, i, n, l, c, d) + : (t.bufferData(m.type, s, n), + (m.dtype = l || 5121), + (m.usage = n), + (m.dimension = c), + (m.byteLength = s)), + r.profile && (m.stats.size = m.byteLength * et[m.dtype]), + g + ); + } + e.bufferCount++; + var m = new n(l); + return ( + (c[m.id] = m), + u || g(i), + (g._reglType = "buffer"), + (g._buffer = m), + (g.subdata = function (e, r) { + var n, + i = 0 | (r || 0); + if ((m.bind(), G(e))) t.bufferSubData(m.type, i, e); + else if (Array.isArray(e)) { + if (0 < e.length) + if ("number" == typeof e[0]) { + var o = X.allocType(m.dtype, e.length); + (h(o, e), t.bufferSubData(m.type, i, o), X.freeType(o)); + } else + (Array.isArray(e[0]) || G(e[0])) && + ((n = tt(e)), + (o = $(e, n, m.dtype)), + t.bufferSubData(m.type, i, o), + X.freeType(o)); + } else if (a(e)) { + n = e.shape; + var s = e.stride, + l = (o = 0), + c = 0, + u = 0; + (1 === n.length + ? ((o = n[0]), (l = 1), (c = s[0]), (u = 0)) + : 2 === n.length && + ((o = n[0]), (l = n[1]), (c = s[0]), (u = s[1])), + (n = Array.isArray(e.data) ? m.dtype : f(e.data)), + p( + (n = X.allocType(n, o * l)), + e.data, + o, + l, + c, + u, + e.offset, + ), + t.bufferSubData(m.type, i, n), + X.freeType(n)); + } + return g; + }), + r.profile && (g.stats = m.stats), + (g.destroy = function () { + s(m); + }), + g + ); + }, + createStream: function (t, e) { + var r = u.pop(); + return ( + r || (r = new n(t)), + r.bind(), + o(r, e, 35040, 0, 1, !1), + r + ); + }, + destroyStream: function (t) { + u.push(t); + }, + clear: function () { + (W(c).forEach(s), u.forEach(s)); + }, + getBuffer: function (t) { + return t && t._buffer instanceof n ? t._buffer : null; + }, + restore: function () { + W(c).forEach(function (e) { + ((e.buffer = t.createBuffer()), + t.bindBuffer(e.type, e.buffer), + t.bufferData( + e.type, + e.persistentData || e.byteLength, + e.usage, + )); + }); + }, + _initBuffer: o, + } + ); + } + function g(t, e, r, n) { + function i(t) { + ((this.id = c++), + (l[this.id] = this), + (this.buffer = t), + (this.primType = 4), + (this.type = this.vertCount = 0)); + } + function o(n, i, o, s, l, c, u) { + if ((n.buffer.bind(), i)) { + var f = u; + (u || + (G(i) && (!a(i) || G(i.data))) || + (f = e.oes_element_index_uint ? 5125 : 5123), + r._initBuffer(n.buffer, i, o, f, 3)); + } else + (t.bufferData(34963, c, o), + (n.buffer.dtype = f || 5121), + (n.buffer.usage = o), + (n.buffer.dimension = 3), + (n.buffer.byteLength = c)); + if (((f = u), !u)) { + switch (n.buffer.dtype) { + case 5121: + case 5120: + f = 5121; + break; + case 5123: + case 5122: + f = 5123; + break; + case 5125: + case 5124: + f = 5125; + } + n.buffer.dtype = f; + } + ((n.type = f), + 0 > (i = l) && + ((i = n.buffer.byteLength), + 5123 === f ? (i >>= 1) : 5125 === f && (i >>= 2)), + (n.vertCount = i), + (i = s), + 0 > s && + ((i = 4), + 1 === (s = n.buffer.dimension) && (i = 0), + 2 === s && (i = 1), + 3 === s && (i = 4)), + (n.primType = i)); + } + function s(t) { + (n.elementsCount--, + delete l[t.id], + t.buffer.destroy(), + (t.buffer = null)); + } + var l = {}, + c = 0, + u = { uint8: 5121, uint16: 5123 }; + (e.oes_element_index_uint && (u.uint32 = 5125), + (i.prototype.bind = function () { + this.buffer.bind(); + })); + var f = []; + return { + create: function (t, e) { + function l(t) { + if (t) + if ("number" == typeof t) + (c(t), + (f.primType = 4), + (f.vertCount = 0 | t), + (f.type = 5121)); + else { + var e = null, + r = 35044, + n = -1, + i = -1, + s = 0, + h = 0; + (Array.isArray(t) || G(t) || a(t) + ? (e = t) + : ("data" in t && (e = t.data), + "usage" in t && (r = Q[t.usage]), + "primitive" in t && (n = rt[t.primitive]), + "count" in t && (i = 0 | t.count), + "type" in t && (h = u[t.type]), + "length" in t + ? (s = 0 | t.length) + : ((s = i), + 5123 === h || 5122 === h + ? (s *= 2) + : (5125 !== h && 5124 !== h) || (s *= 4))), + o(f, e, r, n, i, s, h)); + } + else (c(), (f.primType = 4), (f.vertCount = 0), (f.type = 5121)); + return l; + } + var c = r.create(null, 34963, !0), + f = new i(c._buffer); + return ( + n.elementsCount++, + l(t), + (l._reglType = "elements"), + (l._elements = f), + (l.subdata = function (t, e) { + return (c.subdata(t, e), l); + }), + (l.destroy = function () { + s(f); + }), + l + ); + }, + createStream: function (t) { + var e = f.pop(); + return ( + e || (e = new i(r.create(null, 34963, !0, !1)._buffer)), + o(e, t, 35040, -1, -1, 0, 0), + e + ); + }, + destroyStream: function (t) { + f.push(t); + }, + getElements: function (t) { + return "function" == typeof t && t._elements instanceof i + ? t._elements + : null; + }, + clear: function () { + W(l).forEach(s); + }, + }; + } + function m(t) { + for (var e = X.allocType(5123, t.length), r = 0; r < t.length; ++r) + if (isNaN(t[r])) e[r] = 65535; + else if (1 / 0 === t[r]) e[r] = 31744; + else if (-1 / 0 === t[r]) e[r] = 64512; + else { + nt[0] = t[r]; + var n = ((a = it[0]) >>> 31) << 15, + i = ((a << 1) >>> 24) - 127, + a = (a >> 13) & 1023; + e[r] = + -24 > i + ? n + : -14 > i + ? n + ((a + 1024) >> (-14 - i)) + : 15 < i + ? n + 31744 + : n + ((i + 15) << 10) + a; + } + return e; + } + function v(t) { + return Array.isArray(t) || G(t); + } + function y(t) { + return Array.isArray(t) && (0 === t.length || "number" == typeof t[0]); + } + function x(t) { + return !(!Array.isArray(t) || 0 === t.length || !v(t[0])); + } + function b(t) { + return Object.prototype.toString.call(t); + } + function _(t) { + if (!t) return !1; + var e = b(t); + return 0 <= lt.indexOf(e) || y(t) || x(t) || a(t); + } + function w(t, e) { + 36193 === t.type ? ((t.data = m(e)), X.freeType(e)) : (t.data = e); + } + function k(t, e, r, n, i, a) { + if ( + ((t = void 0 !== ut[t] ? ut[t] : st[t] * ct[e]), a && (t *= 6), i) + ) { + for (n = 0; 1 <= r; ) ((n += t * r * r), (r /= 2)); + return n; + } + return t * r * n; + } + function M(t, e, r, n, i, o, s) { + function l() { + ((this.format = this.internalformat = 6408), + (this.type = 5121), + (this.flipY = this.premultiplyAlpha = this.compressed = !1), + (this.unpackAlignment = 1), + (this.colorSpace = 37444), + (this.channels = this.height = this.width = 0)); + } + function c(t, e) { + ((t.internalformat = e.internalformat), + (t.format = e.format), + (t.type = e.type), + (t.compressed = e.compressed), + (t.premultiplyAlpha = e.premultiplyAlpha), + (t.flipY = e.flipY), + (t.unpackAlignment = e.unpackAlignment), + (t.colorSpace = e.colorSpace), + (t.width = e.width), + (t.height = e.height), + (t.channels = e.channels)); + } + function u(t, e) { + if ("object" == typeof e && e) { + ("premultiplyAlpha" in e && + (t.premultiplyAlpha = e.premultiplyAlpha), + "flipY" in e && (t.flipY = e.flipY), + "alignment" in e && (t.unpackAlignment = e.alignment), + "colorSpace" in e && (t.colorSpace = U[e.colorSpace]), + "type" in e && (t.type = q[e.type])); + var r = t.width, + n = t.height, + i = t.channels, + a = !1; + ("shape" in e + ? ((r = e.shape[0]), + (n = e.shape[1]), + 3 === e.shape.length && ((i = e.shape[2]), (a = !0))) + : ("radius" in e && (r = n = e.radius), + "width" in e && (r = e.width), + "height" in e && (n = e.height), + "channels" in e && ((i = e.channels), (a = !0))), + (t.width = 0 | r), + (t.height = 0 | n), + (t.channels = 0 | i), + (r = !1), + "format" in e && + ((r = e.format), + (n = t.internalformat = H[r]), + (t.format = it[n]), + r in q && !("type" in e) && (t.type = q[r]), + r in Y && (t.compressed = !0), + (r = !0)), + !a && r + ? (t.channels = st[t.format]) + : a && + !r && + t.channels !== ot[t.format] && + (t.format = t.internalformat = ot[t.channels])); + } + } + function f(e) { + (t.pixelStorei(37440, e.flipY), + t.pixelStorei(37441, e.premultiplyAlpha), + t.pixelStorei(37443, e.colorSpace), + t.pixelStorei(3317, e.unpackAlignment)); + } + function h() { + (l.call(this), + (this.yOffset = this.xOffset = 0), + (this.data = null), + (this.needsFree = !1), + (this.element = null), + (this.needsCopy = !1)); + } + function p(t, e) { + var r = null; + if ( + (_(e) + ? (r = e) + : e && + (u(t, e), + "x" in e && (t.xOffset = 0 | e.x), + "y" in e && (t.yOffset = 0 | e.y), + _(e.data) && (r = e.data)), + e.copy) + ) { + var n = i.viewportWidth, + o = i.viewportHeight; + ((t.width = t.width || n - t.xOffset), + (t.height = t.height || o - t.yOffset), + (t.needsCopy = !0)); + } else if (r) { + if (G(r)) + ((t.channels = t.channels || 4), + (t.data = r), + "type" in e || + 5121 !== t.type || + (t.type = 0 | J[Object.prototype.toString.call(r)])); + else if (y(r)) { + switch ( + ((t.channels = t.channels || 4), (o = (n = r).length), t.type) + ) { + case 5121: + case 5123: + case 5125: + case 5126: + ((o = X.allocType(t.type, o)).set(n), (t.data = o)); + break; + case 36193: + t.data = m(n); + } + ((t.alignment = 1), (t.needsFree = !0)); + } else if (a(r)) { + ((n = r.data), + Array.isArray(n) || + 5121 !== t.type || + (t.type = 0 | J[Object.prototype.toString.call(n)])); + o = r.shape; + var s, + l, + c, + f, + h = r.stride; + (3 === o.length ? ((c = o[2]), (f = h[2])) : (f = c = 1), + (s = o[0]), + (l = o[1]), + (o = h[0]), + (h = h[1]), + (t.alignment = 1), + (t.width = s), + (t.height = l), + (t.channels = c), + (t.format = t.internalformat = ot[c]), + (t.needsFree = !0), + (s = f), + (r = r.offset), + (c = t.width), + (f = t.height), + (l = t.channels)); + for ( + var p = X.allocType( + 36193 === t.type ? 5126 : t.type, + c * f * l, + ), + d = 0, + g = 0; + g < f; + ++g + ) + for (var k = 0; k < c; ++k) + for (var M = 0; M < l; ++M) + p[d++] = n[o * k + h * g + s * M + r]; + w(t, p); + } else if ( + "[object HTMLCanvasElement]" === b(r) || + "[object CanvasRenderingContext2D]" === b(r) + ) + ("[object HTMLCanvasElement]" === b(r) + ? (t.element = r) + : (t.element = r.canvas), + (t.width = t.element.width), + (t.height = t.element.height), + (t.channels = 4)); + else if ("[object HTMLImageElement]" === b(r)) + ((t.element = r), + (t.width = r.naturalWidth), + (t.height = r.naturalHeight), + (t.channels = 4)); + else if ("[object HTMLVideoElement]" === b(r)) + ((t.element = r), + (t.width = r.videoWidth), + (t.height = r.videoHeight), + (t.channels = 4)); + else if (x(r)) { + for ( + n = t.width || r[0].length, + o = t.height || r.length, + h = t.channels, + h = v(r[0][0]) ? h || r[0][0].length : h || 1, + s = Z.shape(r), + c = 1, + f = 0; + f < s.length; + ++f + ) + c *= s[f]; + ((c = X.allocType(36193 === t.type ? 5126 : t.type, c)), + Z.flatten(r, s, "", c), + w(t, c), + (t.alignment = 1), + (t.width = n), + (t.height = o), + (t.channels = h), + (t.format = t.internalformat = ot[h]), + (t.needsFree = !0)); + } + } else + ((t.width = t.width || 1), + (t.height = t.height || 1), + (t.channels = t.channels || 4)); + } + function d(e, r, i, a, o) { + var s = e.element, + l = e.data, + c = e.internalformat, + u = e.format, + h = e.type, + p = e.width, + d = e.height; + (f(e), + s + ? t.texSubImage2D(r, o, i, a, u, h, s) + : e.compressed + ? t.compressedTexSubImage2D(r, o, i, a, c, p, d, l) + : e.needsCopy + ? (n(), + t.copyTexSubImage2D(r, o, i, a, e.xOffset, e.yOffset, p, d)) + : t.texSubImage2D(r, o, i, a, p, d, u, h, l)); + } + function g() { + return lt.pop() || new h(); + } + function M(t) { + (t.needsFree && X.freeType(t.data), h.call(t), lt.push(t)); + } + function A(t, e, r) { + var n = (t.images[0] = g()); + ((t.mipmask = 1), + (n.width = t.width = e), + (n.height = t.height = r), + (n.channels = t.channels = 4)); + } + function T(t, e) { + var r = null; + if (_(e)) (c((r = t.images[0] = g()), t), p(r, e), (t.mipmask = 1)); + else if ((u(t, e), Array.isArray(e.mipmap))) + for (var n = e.mipmap, i = 0; i < n.length; ++i) + (c((r = t.images[i] = g()), t), + (r.width >>= i), + (r.height >>= i), + p(r, n[i]), + (t.mipmask |= 1 << i)); + else (c((r = t.images[0] = g()), t), p(r, e), (t.mipmask = 1)); + c(t, t.images[0]); + } + function S(e, r) { + for (var i = e.images, a = 0; a < i.length && i[a]; ++a) { + var o = i[a], + s = r, + l = a, + c = o.element, + u = o.data, + h = o.internalformat, + p = o.format, + d = o.type, + g = o.width, + m = o.height; + (f(o), + c + ? t.texImage2D(s, l, p, p, d, c) + : o.compressed + ? t.compressedTexImage2D(s, l, h, g, m, 0, u) + : o.needsCopy + ? (n(), + t.copyTexImage2D(s, l, p, o.xOffset, o.yOffset, g, m, 0)) + : t.texImage2D(s, l, p, g, m, 0, p, d, u)); + } + } + function C() { + var t = + ct.pop() || + new (function () { + (l.call(this), + (this.genMipmaps = !1), + (this.mipmapHint = 4352), + (this.mipmask = 0), + (this.images = Array(16))); + })(); + l.call(t); + for (var e = (t.mipmask = 0); 16 > e; ++e) t.images[e] = null; + return t; + } + function E(t) { + for (var e = t.images, r = 0; r < e.length; ++r) + (e[r] && M(e[r]), (e[r] = null)); + ct.push(t); + } + function L() { + ((this.magFilter = this.minFilter = 9728), + (this.wrapT = this.wrapS = 33071), + (this.anisotropic = 1), + (this.genMipmaps = !1), + (this.mipmapHint = 4352)); + } + function z(t, e) { + ("min" in e && + ((t.minFilter = V[e.min]), + 0 <= at.indexOf(t.minFilter) && (t.genMipmaps = !0)), + "mag" in e && (t.magFilter = N[e.mag])); + var r = t.wrapS, + n = t.wrapT; + if ("wrap" in e) { + var i = e.wrap; + "string" == typeof i + ? (r = n = F[i]) + : Array.isArray(i) && ((r = F[i[0]]), (n = F[i[1]])); + } else + ("wrapS" in e && (r = F[e.wrapS]), + "wrapT" in e && (n = F[e.wrapT])); + if ( + ((t.wrapS = r), + (t.wrapT = n), + "anisotropic" in e && (t.anisotropic = e.anisotropic), + "mipmap" in e) + ) { + switch (((r = !1), typeof e.mipmap)) { + case "string": + ((t.mipmapHint = B[e.mipmap]), (r = t.genMipmaps = !0)); + break; + case "boolean": + r = t.genMipmaps = e.mipmap; + break; + case "object": + ((t.genMipmaps = !1), (r = !0)); + } + !r || "min" in e || (t.minFilter = 9984); + } + } + function P(r, n) { + (t.texParameteri(n, 10241, r.minFilter), + t.texParameteri(n, 10240, r.magFilter), + t.texParameteri(n, 10242, r.wrapS), + t.texParameteri(n, 10243, r.wrapT), + e.ext_texture_filter_anisotropic && + t.texParameteri(n, 34046, r.anisotropic), + r.genMipmaps && (t.hint(33170, r.mipmapHint), t.generateMipmap(n))); + } + function D(e) { + (l.call(this), + (this.mipmask = 0), + (this.internalformat = 6408), + (this.id = ut++), + (this.refCount = 1), + (this.target = e), + (this.texture = t.createTexture()), + (this.unit = -1), + (this.bindCount = 0), + (this.texInfo = new L()), + s.profile && (this.stats = { size: 0 })); + } + function O(e) { + (t.activeTexture(33984), t.bindTexture(e.target, e.texture)); + } + function I() { + var e = pt[0]; + e ? t.bindTexture(e.target, e.texture) : t.bindTexture(3553, null); + } + function R(e) { + var r = e.texture, + n = e.unit, + i = e.target; + (0 <= n && + (t.activeTexture(33984 + n), + t.bindTexture(i, null), + (pt[n] = null)), + t.deleteTexture(r), + (e.texture = null), + (e.params = null), + (e.pixels = null), + (e.refCount = 0), + delete ft[e.id], + o.textureCount--); + } + var B = { + "don't care": 4352, + "dont care": 4352, + nice: 4354, + fast: 4353, + }, + F = { repeat: 10497, clamp: 33071, mirror: 33648 }, + N = { nearest: 9728, linear: 9729 }, + V = j( + { + mipmap: 9987, + "nearest mipmap nearest": 9984, + "linear mipmap nearest": 9985, + "nearest mipmap linear": 9986, + "linear mipmap linear": 9987, + }, + N, + ), + U = { none: 0, browser: 37444 }, + q = { uint8: 5121, rgba4: 32819, rgb565: 33635, "rgb5 a1": 32820 }, + H = { + alpha: 6406, + luminance: 6409, + "luminance alpha": 6410, + rgb: 6407, + rgba: 6408, + rgba4: 32854, + "rgb5 a1": 32855, + rgb565: 36194, + }, + Y = {}; + (e.ext_srgb && ((H.srgb = 35904), (H.srgba = 35906)), + e.oes_texture_float && (q.float32 = q.float = 5126), + e.oes_texture_half_float && (q.float16 = q["half float"] = 36193), + e.webgl_depth_texture && + (j(H, { depth: 6402, "depth stencil": 34041 }), + j(q, { uint16: 5123, uint32: 5125, "depth stencil": 34042 })), + e.webgl_compressed_texture_s3tc && + j(Y, { + "rgb s3tc dxt1": 33776, + "rgba s3tc dxt1": 33777, + "rgba s3tc dxt3": 33778, + "rgba s3tc dxt5": 33779, + }), + e.webgl_compressed_texture_atc && + j(Y, { + "rgb atc": 35986, + "rgba atc explicit alpha": 35987, + "rgba atc interpolated alpha": 34798, + }), + e.webgl_compressed_texture_pvrtc && + j(Y, { + "rgb pvrtc 4bppv1": 35840, + "rgb pvrtc 2bppv1": 35841, + "rgba pvrtc 4bppv1": 35842, + "rgba pvrtc 2bppv1": 35843, + }), + e.webgl_compressed_texture_etc1 && (Y["rgb etc1"] = 36196)); + var K = Array.prototype.slice.call(t.getParameter(34467)); + Object.keys(Y).forEach(function (t) { + var e = Y[t]; + 0 <= K.indexOf(e) && (H[t] = e); + }); + var Q = Object.keys(H); + r.textureFormats = Q; + var $ = []; + Object.keys(H).forEach(function (t) { + $[H[t]] = t; + }); + var tt = []; + Object.keys(q).forEach(function (t) { + tt[q[t]] = t; + }); + var et = []; + Object.keys(N).forEach(function (t) { + et[N[t]] = t; + }); + var rt = []; + Object.keys(V).forEach(function (t) { + rt[V[t]] = t; + }); + var nt = []; + Object.keys(F).forEach(function (t) { + nt[F[t]] = t; + }); + var it = Q.reduce(function (t, e) { + var r = H[e]; + return ( + 6409 === r || + 6406 === r || + 6409 === r || + 6410 === r || + 6402 === r || + 34041 === r + ? (t[r] = r) + : 32855 === r || 0 <= e.indexOf("rgba") + ? (t[r] = 6408) + : (t[r] = 6407), + t + ); + }, {}), + lt = [], + ct = [], + ut = 0, + ft = {}, + ht = r.maxTextureUnits, + pt = Array(ht).map(function () { + return null; + }); + return ( + j(D.prototype, { + bind: function () { + this.bindCount += 1; + var e = this.unit; + if (0 > e) { + for (var r = 0; r < ht; ++r) { + var n = pt[r]; + if (n) { + if (0 < n.bindCount) continue; + n.unit = -1; + } + ((pt[r] = this), (e = r)); + break; + } + (s.profile && + o.maxTextureUnits < e + 1 && + (o.maxTextureUnits = e + 1), + (this.unit = e), + t.activeTexture(33984 + e), + t.bindTexture(this.target, this.texture)); + } + return e; + }, + unbind: function () { + --this.bindCount; + }, + decRef: function () { + 0 >= --this.refCount && R(this); + }, + }), + s.profile && + (o.getTotalTextureSize = function () { + var t = 0; + return ( + Object.keys(ft).forEach(function (e) { + t += ft[e].stats.size; + }), + t + ); + }), + { + create2D: function (e, r) { + function n(t, e) { + var r = i.texInfo; + L.call(r); + var a = C(); + return ( + "number" == typeof t + ? A(a, 0 | t, "number" == typeof e ? 0 | e : 0 | t) + : t + ? (z(r, t), T(a, t)) + : A(a, 1, 1), + r.genMipmaps && (a.mipmask = (a.width << 1) - 1), + (i.mipmask = a.mipmask), + c(i, a), + (i.internalformat = a.internalformat), + (n.width = a.width), + (n.height = a.height), + O(i), + S(a, 3553), + P(r, 3553), + I(), + E(a), + s.profile && + (i.stats.size = k( + i.internalformat, + i.type, + a.width, + a.height, + r.genMipmaps, + !1, + )), + (n.format = $[i.internalformat]), + (n.type = tt[i.type]), + (n.mag = et[r.magFilter]), + (n.min = rt[r.minFilter]), + (n.wrapS = nt[r.wrapS]), + (n.wrapT = nt[r.wrapT]), + n + ); + } + var i = new D(3553); + return ( + (ft[i.id] = i), + o.textureCount++, + n(e, r), + (n.subimage = function (t, e, r, a) { + ((e |= 0), (r |= 0), (a |= 0)); + var o = g(); + return ( + c(o, i), + (o.width = 0), + (o.height = 0), + p(o, t), + (o.width = o.width || (i.width >> a) - e), + (o.height = o.height || (i.height >> a) - r), + O(i), + d(o, 3553, e, r, a), + I(), + M(o), + n + ); + }), + (n.resize = function (e, r) { + var a = 0 | e, + o = 0 | r || a; + if (a === i.width && o === i.height) return n; + ((n.width = i.width = a), (n.height = i.height = o), O(i)); + for (var l = 0; i.mipmask >> l; ++l) + t.texImage2D( + 3553, + l, + i.format, + a >> l, + o >> l, + 0, + i.format, + i.type, + null, + ); + return ( + I(), + s.profile && + (i.stats.size = k( + i.internalformat, + i.type, + a, + o, + !1, + !1, + )), + n + ); + }), + (n._reglType = "texture2d"), + (n._texture = i), + s.profile && (n.stats = i.stats), + (n.destroy = function () { + i.decRef(); + }), + n + ); + }, + createCube: function (e, r, n, i, a, l) { + function f(t, e, r, n, i, a) { + var o, + l = h.texInfo; + for (L.call(l), o = 0; 6 > o; ++o) m[o] = C(); + if ("number" != typeof t && t) { + if ("object" == typeof t) + if (e) + (T(m[0], t), + T(m[1], e), + T(m[2], r), + T(m[3], n), + T(m[4], i), + T(m[5], a)); + else if ((z(l, t), u(h, t), "faces" in t)) + for (t = t.faces, o = 0; 6 > o; ++o) + (c(m[o], h), T(m[o], t[o])); + else for (o = 0; 6 > o; ++o) T(m[o], t); + } else for (t = 0 | t || 1, o = 0; 6 > o; ++o) A(m[o], t, t); + for ( + c(h, m[0]), + h.mipmask = l.genMipmaps + ? (m[0].width << 1) - 1 + : m[0].mipmask, + h.internalformat = m[0].internalformat, + f.width = m[0].width, + f.height = m[0].height, + O(h), + o = 0; + 6 > o; + ++o + ) + S(m[o], 34069 + o); + for ( + P(l, 34067), + I(), + s.profile && + (h.stats.size = k( + h.internalformat, + h.type, + f.width, + f.height, + l.genMipmaps, + !0, + )), + f.format = $[h.internalformat], + f.type = tt[h.type], + f.mag = et[l.magFilter], + f.min = rt[l.minFilter], + f.wrapS = nt[l.wrapS], + f.wrapT = nt[l.wrapT], + o = 0; + 6 > o; + ++o + ) + E(m[o]); + return f; + } + var h = new D(34067); + ((ft[h.id] = h), o.cubeCount++); + var m = Array(6); + return ( + f(e, r, n, i, a, l), + (f.subimage = function (t, e, r, n, i) { + ((r |= 0), (n |= 0), (i |= 0)); + var a = g(); + return ( + c(a, h), + (a.width = 0), + (a.height = 0), + p(a, e), + (a.width = a.width || (h.width >> i) - r), + (a.height = a.height || (h.height >> i) - n), + O(h), + d(a, 34069 + t, r, n, i), + I(), + M(a), + f + ); + }), + (f.resize = function (e) { + if ((e |= 0) !== h.width) { + ((f.width = h.width = e), (f.height = h.height = e), O(h)); + for (var r = 0; 6 > r; ++r) + for (var n = 0; h.mipmask >> n; ++n) + t.texImage2D( + 34069 + r, + n, + h.format, + e >> n, + e >> n, + 0, + h.format, + h.type, + null, + ); + return ( + I(), + s.profile && + (h.stats.size = k( + h.internalformat, + h.type, + f.width, + f.height, + !1, + !0, + )), + f + ); + } + }), + (f._reglType = "textureCube"), + (f._texture = h), + s.profile && (f.stats = h.stats), + (f.destroy = function () { + h.decRef(); + }), + f + ); + }, + clear: function () { + for (var e = 0; e < ht; ++e) + (t.activeTexture(33984 + e), + t.bindTexture(3553, null), + (pt[e] = null)); + (W(ft).forEach(R), (o.cubeCount = 0), (o.textureCount = 0)); + }, + getTexture: function (t) { + return null; + }, + restore: function () { + W(ft).forEach(function (e) { + ((e.texture = t.createTexture()), + t.bindTexture(e.target, e.texture)); + for (var r = 0; 32 > r; ++r) + if (0 != (e.mipmask & (1 << r))) + if (3553 === e.target) + t.texImage2D( + 3553, + r, + e.internalformat, + e.width >> r, + e.height >> r, + 0, + e.internalformat, + e.type, + null, + ); + else + for (var n = 0; 6 > n; ++n) + t.texImage2D( + 34069 + n, + r, + e.internalformat, + e.width >> r, + e.height >> r, + 0, + e.internalformat, + e.type, + null, + ); + P(e.texInfo, e.target); + }); + }, + } + ); + } + function A(t, e, r, n, i, a) { + function o(t, e, r) { + ((this.target = t), (this.texture = e), (this.renderbuffer = r)); + var n = (t = 0); + (e + ? ((t = e.width), (n = e.height)) + : r && ((t = r.width), (n = r.height)), + (this.width = t), + (this.height = n)); + } + function s(t) { + t && + (t.texture && t.texture._texture.decRef(), + t.renderbuffer && t.renderbuffer._renderbuffer.decRef()); + } + function l(t, e, r) { + t && + (t.texture + ? (t.texture._texture.refCount += 1) + : (t.renderbuffer._renderbuffer.refCount += 1)); + } + function c(e, r) { + r && + (r.texture + ? t.framebufferTexture2D( + 36160, + e, + r.target, + r.texture._texture.texture, + 0, + ) + : t.framebufferRenderbuffer( + 36160, + e, + 36161, + r.renderbuffer._renderbuffer.renderbuffer, + )); + } + function u(t) { + var e = 3553, + r = null, + n = null, + i = t; + return ( + "object" == typeof t && + ((i = t.data), "target" in t && (e = 0 | t.target)), + "texture2d" === (t = i._reglType) + ? (r = i) + : "textureCube" === t + ? (r = i) + : "renderbuffer" === t && ((n = i), (e = 36161)), + new o(e, r, n) + ); + } + function f(t, e, r, a, s) { + return r + ? (((t = n.create2D({ + width: t, + height: e, + format: a, + type: s, + }))._texture.refCount = 0), + new o(3553, t, null)) + : (((t = i.create({ + width: t, + height: e, + format: a, + }))._renderbuffer.refCount = 0), + new o(36161, null, t)); + } + function h(t) { + return t && (t.texture || t.renderbuffer); + } + function p(t, e, r) { + t && + (t.texture + ? t.texture.resize(e, r) + : t.renderbuffer && t.renderbuffer.resize(e, r)); + } + function d() { + ((this.id = k++), + (M[this.id] = this), + (this.framebuffer = t.createFramebuffer()), + (this.height = this.width = 0), + (this.colorAttachments = []), + (this.depthStencilAttachment = + this.stencilAttachment = + this.depthAttachment = + null)); + } + function g(t) { + (t.colorAttachments.forEach(s), + s(t.depthAttachment), + s(t.stencilAttachment), + s(t.depthStencilAttachment)); + } + function m(e) { + (t.deleteFramebuffer(e.framebuffer), + (e.framebuffer = null), + a.framebufferCount--, + delete M[e.id]); + } + function v(e) { + var n; + t.bindFramebuffer(36160, e.framebuffer); + var i = e.colorAttachments; + for (n = 0; n < i.length; ++n) c(36064 + n, i[n]); + for (n = i.length; n < r.maxColorAttachments; ++n) + t.framebufferTexture2D(36160, 36064 + n, 3553, null, 0); + (t.framebufferTexture2D(36160, 33306, 3553, null, 0), + t.framebufferTexture2D(36160, 36096, 3553, null, 0), + t.framebufferTexture2D(36160, 36128, 3553, null, 0), + c(36096, e.depthAttachment), + c(36128, e.stencilAttachment), + c(33306, e.depthStencilAttachment), + t.checkFramebufferStatus(36160), + t.bindFramebuffer(36160, x.next), + (x.cur = x.next), + t.getError()); + } + function y(t, e) { + function r(t, e) { + var i, + a = 0, + o = 0, + s = !0, + c = !0; + i = null; + var p = !0, + d = "rgba", + m = "uint8", + y = 1, + x = null, + w = null, + k = null, + M = !1; + "number" == typeof t + ? ((a = 0 | t), (o = 0 | e || a)) + : t + ? ("shape" in t + ? ((a = (o = t.shape)[0]), (o = o[1])) + : ("radius" in t && (a = o = t.radius), + "width" in t && (a = t.width), + "height" in t && (o = t.height)), + ("color" in t || "colors" in t) && + ((i = t.color || t.colors), Array.isArray(i)), + i || + ("colorCount" in t && (y = 0 | t.colorCount), + "colorTexture" in t && + ((p = !!t.colorTexture), (d = "rgba4")), + "colorType" in t && + ((m = t.colorType), !p) && + ("half float" === m || "float16" === m + ? (d = "rgba16f") + : ("float" !== m && "float32" !== m) || + (d = "rgba32f")), + "colorFormat" in t && + ((d = t.colorFormat), + 0 <= b.indexOf(d) + ? (p = !0) + : 0 <= _.indexOf(d) && (p = !1))), + ("depthTexture" in t || "depthStencilTexture" in t) && + (M = !(!t.depthTexture && !t.depthStencilTexture)), + "depth" in t && + ("boolean" == typeof t.depth + ? (s = t.depth) + : ((x = t.depth), (c = !1))), + "stencil" in t && + ("boolean" == typeof t.stencil + ? (c = t.stencil) + : ((w = t.stencil), (s = !1))), + "depthStencil" in t && + ("boolean" == typeof t.depthStencil + ? (s = c = t.depthStencil) + : ((k = t.depthStencil), (c = s = !1)))) + : (a = o = 1); + var A = null, + T = null, + S = null, + C = null; + if (Array.isArray(i)) A = i.map(u); + else if (i) A = [u(i)]; + else for (A = Array(y), i = 0; i < y; ++i) A[i] = f(a, o, p, d, m); + for ( + a = a || A[0].width, + o = o || A[0].height, + x ? (T = u(x)) : s && !c && (T = f(a, o, M, "depth", "uint32")), + w + ? (S = u(w)) + : c && !s && (S = f(a, o, !1, "stencil", "uint8")), + k + ? (C = u(k)) + : !x && + !w && + c && + s && + (C = f(a, o, M, "depth stencil", "depth stencil")), + s = null, + i = 0; + i < A.length; + ++i + ) + (l(A[i]), + A[i] && + A[i].texture && + ((c = + pt[A[i].texture._texture.format] * + dt[A[i].texture._texture.type]), + null === s && (s = c))); + return ( + l(T), + l(S), + l(C), + g(n), + (n.width = a), + (n.height = o), + (n.colorAttachments = A), + (n.depthAttachment = T), + (n.stencilAttachment = S), + (n.depthStencilAttachment = C), + (r.color = A.map(h)), + (r.depth = h(T)), + (r.stencil = h(S)), + (r.depthStencil = h(C)), + (r.width = n.width), + (r.height = n.height), + v(n), + r + ); + } + var n = new d(); + return ( + a.framebufferCount++, + r(t, e), + j(r, { + resize: function (t, e) { + var i = 0 | t, + a = 0 | e || i; + if (i === n.width && a === n.height) return r; + for (var o = n.colorAttachments, s = 0; s < o.length; ++s) + p(o[s], i, a); + return ( + p(n.depthAttachment, i, a), + p(n.stencilAttachment, i, a), + p(n.depthStencilAttachment, i, a), + (n.width = r.width = i), + (n.height = r.height = a), + v(n), + r + ); + }, + _reglType: "framebuffer", + _framebuffer: n, + destroy: function () { + (m(n), g(n)); + }, + use: function (t) { + x.setFBO({ framebuffer: r }, t); + }, + }) + ); + } + var x = { cur: null, next: null, dirty: !1, setFBO: null }, + b = ["rgba"], + _ = ["rgba4", "rgb565", "rgb5 a1"]; + (e.ext_srgb && _.push("srgba"), + e.ext_color_buffer_half_float && _.push("rgba16f", "rgb16f"), + e.webgl_color_buffer_float && _.push("rgba32f")); + var w = ["uint8"]; + (e.oes_texture_half_float && w.push("half float", "float16"), + e.oes_texture_float && w.push("float", "float32")); + var k = 0, + M = {}; + return j(x, { + getFramebuffer: function (t) { + return "function" == typeof t && + "framebuffer" === t._reglType && + (t = t._framebuffer) instanceof d + ? t + : null; + }, + create: y, + createCube: function (t) { + function e(t) { + var i, + a = { color: null }, + o = 0, + s = null; + i = "rgba"; + var l = "uint8", + c = 1; + if ( + ("number" == typeof t + ? (o = 0 | t) + : t + ? ("shape" in t + ? (o = t.shape[0]) + : ("radius" in t && (o = 0 | t.radius), + "width" in t + ? (o = 0 | t.width) + : "height" in t && (o = 0 | t.height)), + ("color" in t || "colors" in t) && + ((s = t.color || t.colors), Array.isArray(s)), + s || + ("colorCount" in t && (c = 0 | t.colorCount), + "colorType" in t && (l = t.colorType), + "colorFormat" in t && (i = t.colorFormat)), + "depth" in t && (a.depth = t.depth), + "stencil" in t && (a.stencil = t.stencil), + "depthStencil" in t && (a.depthStencil = t.depthStencil)) + : (o = 1), + s) + ) + if (Array.isArray(s)) + for (t = [], i = 0; i < s.length; ++i) t[i] = s[i]; + else t = [s]; + else + for ( + t = Array(c), s = { radius: o, format: i, type: l }, i = 0; + i < c; + ++i + ) + t[i] = n.createCube(s); + for (a.color = Array(t.length), i = 0; i < t.length; ++i) + ((c = t[i]), + (o = o || c.width), + (a.color[i] = { target: 34069, data: t[i] })); + for (i = 0; 6 > i; ++i) { + for (c = 0; c < t.length; ++c) a.color[c].target = 34069 + i; + (0 < i && + ((a.depth = r[0].depth), + (a.stencil = r[0].stencil), + (a.depthStencil = r[0].depthStencil)), + r[i] ? r[i](a) : (r[i] = y(a))); + } + return j(e, { width: o, height: o, color: t }); + } + var r = Array(6); + return ( + e(t), + j(e, { + faces: r, + resize: function (t) { + var n = 0 | t; + if (n === e.width) return e; + var i = e.color; + for (t = 0; t < i.length; ++t) i[t].resize(n); + for (t = 0; 6 > t; ++t) r[t].resize(n); + return ((e.width = e.height = n), e); + }, + _reglType: "framebufferCube", + destroy: function () { + r.forEach(function (t) { + t.destroy(); + }); + }, + }) + ); + }, + clear: function () { + W(M).forEach(m); + }, + restore: function () { + W(M).forEach(function (e) { + ((e.framebuffer = t.createFramebuffer()), v(e)); + }); + }, + }); + } + function T() { + ((this.w = this.z = this.y = this.x = this.state = 0), + (this.buffer = null), + (this.size = 0), + (this.normalized = !1), + (this.type = 5126), + (this.divisor = this.stride = this.offset = 0)); + } + function S(t, e, r, n) { + function i(t, e, r, n) { + ((this.name = t), + (this.id = e), + (this.location = r), + (this.info = n)); + } + function a(t, e) { + for (var r = 0; r < t.length; ++r) + if (t[r].id === e.id) return void (t[r].location = e.location); + t.push(e); + } + function o(r, n, i) { + if (!(o = (i = 35632 === r ? c : u)[n])) { + var a = e.str(n), + o = t.createShader(r); + (t.shaderSource(o, a), t.compileShader(o), (i[n] = o)); + } + return o; + } + function s(t, e) { + ((this.id = p++), + (this.fragId = t), + (this.vertId = e), + (this.program = null), + (this.uniforms = []), + (this.attributes = []), + n.profile && + (this.stats = { uniformsCount: 0, attributesCount: 0 })); + } + function l(r, s) { + var l, c; + ((l = o(35632, r.fragId)), (c = o(35633, r.vertId))); + var u = (r.program = t.createProgram()); + (t.attachShader(u, l), t.attachShader(u, c), t.linkProgram(u)); + var f = t.getProgramParameter(u, 35718); + n.profile && (r.stats.uniformsCount = f); + var h = r.uniforms; + for (l = 0; l < f; ++l) + if ((c = t.getActiveUniform(u, l))) + if (1 < c.size) + for (var p = 0; p < c.size; ++p) { + var d = c.name.replace("[0]", "[" + p + "]"); + a(h, new i(d, e.id(d), t.getUniformLocation(u, d), c)); + } + else + a( + h, + new i( + c.name, + e.id(c.name), + t.getUniformLocation(u, c.name), + c, + ), + ); + for ( + f = t.getProgramParameter(u, 35721), + n.profile && (r.stats.attributesCount = f), + h = r.attributes, + l = 0; + l < f; + ++l + ) + (c = t.getActiveAttrib(u, l)) && + a( + h, + new i(c.name, e.id(c.name), t.getAttribLocation(u, c.name), c), + ); + } + var c = {}, + u = {}, + f = {}, + h = [], + p = 0; + return ( + n.profile && + ((r.getMaxUniformsCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.uniformsCount > t && (t = e.stats.uniformsCount); + }), + t + ); + }), + (r.getMaxAttributesCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.attributesCount > t && (t = e.stats.attributesCount); + }), + t + ); + })), + { + clear: function () { + var e = t.deleteShader.bind(t); + (W(c).forEach(e), + (c = {}), + W(u).forEach(e), + (u = {}), + h.forEach(function (e) { + t.deleteProgram(e.program); + }), + (h.length = 0), + (f = {}), + (r.shaderCount = 0)); + }, + program: function (t, e, n) { + var i = f[e]; + i || (i = f[e] = {}); + var a = i[t]; + return ( + a || + ((a = new s(e, t)), + r.shaderCount++, + l(a), + (i[t] = a), + h.push(a)), + a + ); + }, + restore: function () { + ((c = {}), (u = {})); + for (var t = 0; t < h.length; ++t) l(h[t]); + }, + shader: o, + frag: -1, + vert: -1, + } + ); + } + function C(t, e, r, n, i, a) { + function o(i) { + var a; + a = + null === e.next + ? 5121 + : e.next.colorAttachments[0].texture._texture.type; + var o = 0, + s = 0, + l = n.framebufferWidth, + c = n.framebufferHeight, + u = null; + return ( + G(i) + ? (u = i) + : i && + ((o = 0 | i.x), + (s = 0 | i.y), + (l = 0 | (i.width || n.framebufferWidth - o)), + (c = 0 | (i.height || n.framebufferHeight - s)), + (u = i.data || null)), + r(), + (i = l * c * 4), + u || + (5121 === a + ? (u = new Uint8Array(i)) + : 5126 === a && (u = u || new Float32Array(i))), + t.pixelStorei(3333, 4), + t.readPixels(o, s, l, c, 6408, a, u), + u + ); + } + return function (t) { + return t && "framebuffer" in t + ? (function (t) { + var r; + return ( + e.setFBO({ framebuffer: t.framebuffer }, function () { + r = o(t); + }), + r + ); + })(t) + : o(t); + }; + } + function E(t) { + return Array.prototype.slice.call(t); + } + function L(t) { + return E(t).join(""); + } + function z() { + function t() { + var t = [], + e = []; + return j( + function () { + t.push.apply(t, E(arguments)); + }, + { + def: function () { + var n = "v" + r++; + return ( + e.push(n), + 0 < arguments.length && + (t.push(n, "="), + t.push.apply(t, E(arguments)), + t.push(";")), + n + ); + }, + toString: function () { + return L([0 < e.length ? "var " + e + ";" : "", L(t)]); + }, + }, + ); + } + function e() { + function e(t, e) { + n(t, e, "=", r.def(t, e), ";"); + } + var r = t(), + n = t(), + i = r.toString, + a = n.toString; + return j( + function () { + r.apply(r, E(arguments)); + }, + { + def: r.def, + entry: r, + exit: n, + save: e, + set: function (t, n, i) { + (e(t, n), r(t, n, "=", i, ";")); + }, + toString: function () { + return i() + a(); + }, + }, + ); + } + var r = 0, + n = [], + i = [], + a = t(), + o = {}; + return { + global: a, + link: function (t) { + for (var e = 0; e < i.length; ++e) if (i[e] === t) return n[e]; + return ((e = "g" + r++), n.push(e), i.push(t), e); + }, + block: t, + proc: function (t, r) { + function n() { + var t = "a" + i.length; + return (i.push(t), t); + } + var i = []; + r = r || 0; + for (var a = 0; a < r; ++a) n(); + var s = (a = e()).toString; + return (o[t] = j(a, { + arg: n, + toString: function () { + return L(["function(", i.join(), "){", s(), "}"]); + }, + })); + }, + scope: e, + cond: function () { + var t = L(arguments), + r = e(), + n = e(), + i = r.toString, + a = n.toString; + return j(r, { + then: function () { + return (r.apply(r, E(arguments)), this); + }, + else: function () { + return (n.apply(n, E(arguments)), this); + }, + toString: function () { + var e = a(); + return ( + e && (e = "else{" + e + "}"), + L(["if(", t, "){", i(), "}", e]) + ); + }, + }); + }, + compile: function () { + var t = ['"use strict";', a, "return {"]; + (Object.keys(o).forEach(function (e) { + t.push('"', e, '":', o[e].toString(), ","); + }), + t.push("}")); + var e = L(t) + .replace(/;/g, ";\n") + .replace(/}/g, "}\n") + .replace(/{/g, "{\n"); + return Function.apply(null, n.concat(e)).apply(null, i); + }, + }; + } + function P(t) { + return Array.isArray(t) || G(t) || a(t); + } + function D(t) { + return t.sort(function (t, e) { + return "viewport" === t ? -1 : "viewport" === e ? 1 : t < e ? -1 : 1; + }); + } + function O(t, e, r, n) { + ((this.thisDep = t), + (this.contextDep = e), + (this.propDep = r), + (this.append = n)); + } + function I(t) { + return t && !(t.thisDep || t.contextDep || t.propDep); + } + function R(t) { + return new O(!1, !1, !1, t); + } + function B(t, e) { + var r = t.type; + return 0 === r + ? new O(!0, 1 <= (r = t.data.length), 2 <= r, e) + : 4 === r + ? new O((r = t.data).thisDep, r.contextDep, r.propDep, e) + : new O(3 === r, 2 === r, 1 === r, e); + } + function F(t, e, r, n, i, a, s, l, c, u, f, h, p, d, g) { + function m(t) { + return t.replace(".", "_"); + } + function y(t, e, r) { + var n = m(t); + (nt.push(t), (et[n] = tt[n] = !!r), (it[n] = e)); + } + function x(t, e, r) { + var n = m(t); + (nt.push(t), + Array.isArray(r) + ? ((tt[n] = r.slice()), (et[n] = r.slice())) + : (tt[n] = et[n] = r), + (at[n] = e)); + } + function b() { + var t = z(), + r = t.link, + n = t.global; + ((t.id = lt++), (t.batchId = "0")); + var i = r(ot), + a = (t.shared = { props: "a0" }); + Object.keys(ot).forEach(function (t) { + a[t] = n.def(i, ".", t); + }); + var o = (t.next = {}), + s = (t.current = {}); + Object.keys(at).forEach(function (t) { + Array.isArray(tt[t]) && + ((o[t] = n.def(a.next, ".", t)), + (s[t] = n.def(a.current, ".", t))); + }); + var l = (t.constants = {}); + (Object.keys(st).forEach(function (t) { + l[t] = n.def(JSON.stringify(st[t])); + }), + (t.invoke = function (e, n) { + switch (n.type) { + case 0: + var i = ["this", a.context, a.props, t.batchId]; + return e.def( + r(n.data), + ".call(", + i.slice(0, Math.max(n.data.length + 1, 4)), + ")", + ); + case 1: + return e.def(a.props, n.data); + case 2: + return e.def(a.context, n.data); + case 3: + return e.def("this", n.data); + case 4: + return (n.data.append(t, e), n.data.ref); + } + }), + (t.attribCache = {})); + var c = {}; + return ( + (t.scopeAttrib = function (t) { + if ((t = e.id(t)) in c) return c[t]; + var n = u.scope[t]; + return (n || (n = u.scope[t] = new Z()), (c[t] = r(n))); + }), + t + ); + } + function _(t, e) { + var r = t.static, + n = t.dynamic; + if ("framebuffer" in r) { + var i = r.framebuffer; + return i + ? ((i = l.getFramebuffer(i)), + R(function (t, e) { + var r = t.link(i), + n = t.shared; + return ( + e.set(n.framebuffer, ".next", r), + (n = n.context), + e.set(n, ".framebufferWidth", r + ".width"), + e.set(n, ".framebufferHeight", r + ".height"), + r + ); + })) + : R(function (t, e) { + var r = t.shared; + return ( + e.set(r.framebuffer, ".next", "null"), + (r = r.context), + e.set(r, ".framebufferWidth", r + ".drawingBufferWidth"), + e.set(r, ".framebufferHeight", r + ".drawingBufferHeight"), + "null" + ); + }); + } + if ("framebuffer" in n) { + var a = n.framebuffer; + return B(a, function (t, e) { + var r = t.invoke(e, a), + n = t.shared, + i = n.framebuffer; + r = e.def(i, ".getFramebuffer(", r, ")"); + return ( + e.set(i, ".next", r), + (n = n.context), + e.set( + n, + ".framebufferWidth", + r + "?" + r + ".width:" + n + ".drawingBufferWidth", + ), + e.set( + n, + ".framebufferHeight", + r + "?" + r + ".height:" + n + ".drawingBufferHeight", + ), + r + ); + }); + } + return null; + } + function w(t) { + function r(t) { + if (t in n) { + var r = e.id(n[t]); + return ( + ((t = R(function () { + return r; + })).id = r), + t + ); + } + if (t in i) { + var a = i[t]; + return B(a, function (t, e) { + var r = t.invoke(e, a); + return e.def(t.shared.strings, ".id(", r, ")"); + }); + } + return null; + } + var n = t.static, + i = t.dynamic, + a = r("frag"), + o = r("vert"), + s = null; + return ( + I(a) && I(o) + ? ((s = f.program(o.id, a.id)), + (t = R(function (t, e) { + return t.link(s); + }))) + : (t = new O( + (a && a.thisDep) || (o && o.thisDep), + (a && a.contextDep) || (o && o.contextDep), + (a && a.propDep) || (o && o.propDep), + function (t, e) { + var r, + n, + i = t.shared.shader; + return ( + (r = a ? a.append(t, e) : e.def(i, ".", "frag")), + (n = o ? o.append(t, e) : e.def(i, ".", "vert")), + e.def(i + ".program(" + n + "," + r + ")") + ); + }, + )), + { frag: a, vert: o, progVar: t, program: s } + ); + } + function k(t, e) { + function r(t, e) { + if (t in n) { + var r = 0 | n[t]; + return R(function (t, n) { + return (e && (t.OFFSET = r), r); + }); + } + if (t in i) { + var a = i[t]; + return B(a, function (t, r) { + var n = t.invoke(r, a); + return (e && (t.OFFSET = n), n); + }); + } + return e && o + ? R(function (t, e) { + return ((t.OFFSET = "0"), 0); + }) + : null; + } + var n = t.static, + i = t.dynamic, + o = (function () { + if ("elements" in n) { + var t = n.elements; + P(t) + ? (t = a.getElements(a.create(t, !0))) + : t && (t = a.getElements(t)); + var e = R(function (e, r) { + if (t) { + var n = e.link(t); + return (e.ELEMENTS = n); + } + return (e.ELEMENTS = null); + }); + return ((e.value = t), e); + } + if ("elements" in i) { + var r = i.elements; + return B(r, function (t, e) { + var n = (i = t.shared).isBufferArgs, + i = i.elements, + a = t.invoke(e, r), + o = e.def("null"); + ((n = e.def(n, "(", a, ")")), + (a = t + .cond(n) + .then(o, "=", i, ".createStream(", a, ");") + .else(o, "=", i, ".getElements(", a, ");"))); + return ( + e.entry(a), + e.exit(t.cond(n).then(i, ".destroyStream(", o, ");")), + (t.ELEMENTS = o) + ); + }); + } + return null; + })(), + s = r("offset", !0); + return { + elements: o, + primitive: (function () { + if ("primitive" in n) { + var t = n.primitive; + return R(function (e, r) { + return rt[t]; + }); + } + if ("primitive" in i) { + var e = i.primitive; + return B(e, function (t, r) { + var n = t.constants.primTypes, + i = t.invoke(r, e); + return r.def(n, "[", i, "]"); + }); + } + return o + ? I(o) + ? o.value + ? R(function (t, e) { + return e.def(t.ELEMENTS, ".primType"); + }) + : R(function () { + return 4; + }) + : new O(o.thisDep, o.contextDep, o.propDep, function (t, e) { + var r = t.ELEMENTS; + return e.def(r, "?", r, ".primType:", 4); + }) + : null; + })(), + count: (function () { + if ("count" in n) { + var t = 0 | n.count; + return R(function () { + return t; + }); + } + if ("count" in i) { + var e = i.count; + return B(e, function (t, r) { + return t.invoke(r, e); + }); + } + return o + ? I(o) + ? o + ? s + ? new O(s.thisDep, s.contextDep, s.propDep, function ( + t, + e, + ) { + return e.def(t.ELEMENTS, ".vertCount-", t.OFFSET); + }) + : R(function (t, e) { + return e.def(t.ELEMENTS, ".vertCount"); + }) + : R(function () { + return -1; + }) + : new O( + o.thisDep || s.thisDep, + o.contextDep || s.contextDep, + o.propDep || s.propDep, + function (t, e) { + var r = t.ELEMENTS; + return t.OFFSET + ? e.def(r, "?", r, ".vertCount-", t.OFFSET, ":-1") + : e.def(r, "?", r, ".vertCount:-1"); + }, + ) + : null; + })(), + instances: r("instances", !1), + offset: s, + }; + } + function M(t, r) { + var n = t.static, + a = t.dynamic, + o = {}; + return ( + Object.keys(n).forEach(function (t) { + var r = n[t], + a = e.id(t), + s = new Z(); + if (P(r)) + ((s.state = 1), + (s.buffer = i.getBuffer(i.create(r, 34962, !1, !0))), + (s.type = 0)); + else if ((c = i.getBuffer(r))) + ((s.state = 1), (s.buffer = c), (s.type = 0)); + else if (r.constant) { + var l = r.constant; + ((s.buffer = "null"), + (s.state = 2), + "number" == typeof l + ? (s.x = l) + : gt.forEach(function (t, e) { + e < l.length && (s[t] = l[e]); + })); + } else { + var c = P(r.buffer) + ? i.getBuffer(i.create(r.buffer, 34962, !1, !0)) + : i.getBuffer(r.buffer), + u = 0 | r.offset, + f = 0 | r.stride, + h = 0 | r.size, + p = !!r.normalized, + d = 0; + ("type" in r && (d = K[r.type]), + (r = 0 | r.divisor), + (s.buffer = c), + (s.state = 1), + (s.size = h), + (s.normalized = p), + (s.type = d || c.dtype), + (s.offset = u), + (s.stride = f), + (s.divisor = r)); + } + o[t] = R(function (t, e) { + var r = t.attribCache; + if (a in r) return r[a]; + var n = { isStream: !1 }; + return ( + Object.keys(s).forEach(function (t) { + n[t] = s[t]; + }), + s.buffer && + ((n.buffer = t.link(s.buffer)), + (n.type = n.type || n.buffer + ".dtype")), + (r[a] = n) + ); + }); + }), + Object.keys(a).forEach(function (t) { + var e = a[t]; + o[t] = B(e, function (t, r) { + function n(t) { + r(l[t], "=", i, ".", t, "|0;"); + } + var i = t.invoke(r, e), + a = t.shared, + o = a.isBufferArgs, + s = a.buffer, + l = { isStream: r.def(!1) }, + c = new Z(); + ((c.state = 1), + Object.keys(c).forEach(function (t) { + l[t] = r.def("" + c[t]); + })); + var u = l.buffer, + f = l.type; + return ( + r( + "if(", + o, + "(", + i, + ")){", + l.isStream, + "=true;", + u, + "=", + s, + ".createStream(", + 34962, + ",", + i, + ");", + f, + "=", + u, + ".dtype;", + "}else{", + u, + "=", + s, + ".getBuffer(", + i, + ");", + "if(", + u, + "){", + f, + "=", + u, + ".dtype;", + '}else if("constant" in ', + i, + "){", + l.state, + "=", + 2, + ";", + "if(typeof " + i + '.constant === "number"){', + l[gt[0]], + "=", + i, + ".constant;", + gt + .slice(1) + .map(function (t) { + return l[t]; + }) + .join("="), + "=0;", + "}else{", + gt + .map(function (t, e) { + return ( + l[t] + + "=" + + i + + ".constant.length>=" + + e + + "?" + + i + + ".constant[" + + e + + "]:0;" + ); + }) + .join(""), + "}}else{", + "if(", + o, + "(", + i, + ".buffer)){", + u, + "=", + s, + ".createStream(", + 34962, + ",", + i, + ".buffer);", + "}else{", + u, + "=", + s, + ".getBuffer(", + i, + ".buffer);", + "}", + f, + '="type" in ', + i, + "?", + a.glTypes, + "[", + i, + ".type]:", + u, + ".dtype;", + l.normalized, + "=!!", + i, + ".normalized;", + ), + n("size"), + n("offset"), + n("stride"), + n("divisor"), + r("}}"), + r.exit( + "if(", + l.isStream, + "){", + s, + ".destroyStream(", + u, + ");", + "}", + ), + l + ); + }); + }), + o + ); + } + function A(t, e, r, n, i) { + var a = _(t), + s = (function (t, e, r) { + function n(t) { + if (t in i) { + var r = i[t]; + t = !0; + var n, + o, + s = 0 | r.x, + l = 0 | r.y; + return ( + "width" in r ? (n = 0 | r.width) : (t = !1), + "height" in r ? (o = 0 | r.height) : (t = !1), + new O( + !t && e && e.thisDep, + !t && e && e.contextDep, + !t && e && e.propDep, + function (t, e) { + var i = t.shared.context, + a = n; + "width" in r || + (a = e.def(i, ".", "framebufferWidth", "-", s)); + var c = o; + return ( + "height" in r || + (c = e.def(i, ".", "framebufferHeight", "-", l)), + [s, l, a, c] + ); + }, + ) + ); + } + if (t in a) { + var c = a[t]; + return ( + (t = B(c, function (t, e) { + var r = t.invoke(e, c), + n = t.shared.context, + i = e.def(r, ".x|0"), + a = e.def(r, ".y|0"); + return [ + i, + a, + e.def( + '"width" in ', + r, + "?", + r, + ".width|0:", + "(", + n, + ".", + "framebufferWidth", + "-", + i, + ")", + ), + (r = e.def( + '"height" in ', + r, + "?", + r, + ".height|0:", + "(", + n, + ".", + "framebufferHeight", + "-", + a, + ")", + )), + ]; + })), + e && + ((t.thisDep = t.thisDep || e.thisDep), + (t.contextDep = t.contextDep || e.contextDep), + (t.propDep = t.propDep || e.propDep)), + t + ); + } + return e + ? new O(e.thisDep, e.contextDep, e.propDep, function (t, e) { + var r = t.shared.context; + return [ + 0, + 0, + e.def(r, ".", "framebufferWidth"), + e.def(r, ".", "framebufferHeight"), + ]; + }) + : null; + } + var i = t.static, + a = t.dynamic; + if ((t = n("viewport"))) { + var o = t; + t = new O(t.thisDep, t.contextDep, t.propDep, function (t, e) { + var r = o.append(t, e), + n = t.shared.context; + return ( + e.set(n, ".viewportWidth", r[2]), + e.set(n, ".viewportHeight", r[3]), + r + ); + }); + } + return { viewport: t, scissor_box: n("scissor.box") }; + })(t, a), + l = k(t), + c = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + nt.forEach(function (t) { + function e(e, o) { + if (t in r) { + var s = e(r[t]); + i[a] = R(function () { + return s; + }); + } else if (t in n) { + var l = n[t]; + i[a] = B(l, function (t, e) { + return o(t, e, t.invoke(e, l)); + }); + } + } + var a = m(t); + switch (t) { + case "cull.enable": + case "blend.enable": + case "dither": + case "stencil.enable": + case "depth.enable": + case "scissor.enable": + case "polygonOffset.enable": + case "sample.alpha": + case "sample.enable": + case "depth.mask": + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + }, + ); + case "depth.func": + return e( + function (t) { + return yt[t]; + }, + function (t, e, r) { + return e.def(t.constants.compareFuncs, "[", r, "]"); + }, + ); + case "depth.range": + return e( + function (t) { + return t; + }, + function (t, e, r) { + return [ + e.def("+", r, "[0]"), + (e = e.def("+", r, "[1]")), + ]; + }, + ); + case "blend.func": + return e( + function (t) { + return [ + vt["srcRGB" in t ? t.srcRGB : t.src], + vt["dstRGB" in t ? t.dstRGB : t.dst], + vt["srcAlpha" in t ? t.srcAlpha : t.src], + vt["dstAlpha" in t ? t.dstAlpha : t.dst], + ]; + }, + function (t, e, r) { + function n(t, n) { + return e.def( + '"', + t, + n, + '" in ', + r, + "?", + r, + ".", + t, + n, + ":", + r, + ".", + t, + ); + } + t = t.constants.blendFuncs; + var i = n("src", "RGB"), + a = n("dst", "RGB"), + o = + ((i = e.def(t, "[", i, "]")), + e.def(t, "[", n("src", "Alpha"), "]")); + return [ + i, + (a = e.def(t, "[", a, "]")), + o, + (t = e.def(t, "[", n("dst", "Alpha"), "]")), + ]; + }, + ); + case "blend.equation": + return e( + function (t) { + return "string" == typeof t + ? [J[t], J[t]] + : "object" == typeof t + ? [J[t.rgb], J[t.alpha]] + : void 0; + }, + function (t, e, r) { + var n = t.constants.blendEquations, + i = e.def(), + a = e.def(); + return ( + (t = t.cond("typeof ", r, '==="string"')).then( + i, + "=", + a, + "=", + n, + "[", + r, + "];", + ), + t.else( + i, + "=", + n, + "[", + r, + ".rgb];", + a, + "=", + n, + "[", + r, + ".alpha];", + ), + e(t), + [i, a] + ); + }, + ); + case "blend.color": + return e( + function (t) { + return o(4, function (e) { + return +t[e]; + }); + }, + function (t, e, r) { + return o(4, function (t) { + return e.def("+", r, "[", t, "]"); + }); + }, + ); + case "stencil.mask": + return e( + function (t) { + return 0 | t; + }, + function (t, e, r) { + return e.def(r, "|0"); + }, + ); + case "stencil.func": + return e( + function (t) { + return [ + yt[t.cmp || "keep"], + t.ref || 0, + "mask" in t ? t.mask : -1, + ]; + }, + function (t, e, r) { + return [ + (t = e.def( + '"cmp" in ', + r, + "?", + t.constants.compareFuncs, + "[", + r, + ".cmp]", + ":", + 7680, + )), + e.def(r, ".ref|0"), + (e = e.def('"mask" in ', r, "?", r, ".mask|0:-1")), + ]; + }, + ); + case "stencil.opFront": + case "stencil.opBack": + return e( + function (e) { + return [ + "stencil.opBack" === t ? 1029 : 1028, + xt[e.fail || "keep"], + xt[e.zfail || "keep"], + xt[e.zpass || "keep"], + ]; + }, + function (e, r, n) { + function i(t) { + return r.def( + '"', + t, + '" in ', + n, + "?", + a, + "[", + n, + ".", + t, + "]:", + 7680, + ); + } + var a = e.constants.stencilOps; + return [ + "stencil.opBack" === t ? 1029 : 1028, + i("fail"), + i("zfail"), + i("zpass"), + ]; + }, + ); + case "polygonOffset.offset": + return e( + function (t) { + return [0 | t.factor, 0 | t.units]; + }, + function (t, e, r) { + return [ + e.def(r, ".factor|0"), + (e = e.def(r, ".units|0")), + ]; + }, + ); + case "cull.face": + return e( + function (t) { + var e = 0; + return ( + "front" === t + ? (e = 1028) + : "back" === t && (e = 1029), + e + ); + }, + function (t, e, r) { + return e.def(r, '==="front"?', 1028, ":", 1029); + }, + ); + case "lineWidth": + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + }, + ); + case "frontFace": + return e( + function (t) { + return bt[t]; + }, + function (t, e, r) { + return e.def(r + '==="cw"?2304:2305'); + }, + ); + case "colorMask": + return e( + function (t) { + return t.map(function (t) { + return !!t; + }); + }, + function (t, e, r) { + return o(4, function (t) { + return "!!" + r + "[" + t + "]"; + }); + }, + ); + case "sample.coverage": + return e( + function (t) { + return ["value" in t ? t.value : 1, !!t.invert]; + }, + function (t, e, r) { + return [ + e.def('"value" in ', r, "?+", r, ".value:1"), + (e = e.def("!!", r, ".invert")), + ]; + }, + ); + } + }), + i + ); + })(t), + u = w(t), + f = s.viewport; + return ( + f && (c.viewport = f), + (s = s[(f = m("scissor.box"))]) && (c[f] = s), + ((a = { + framebuffer: a, + draw: l, + shader: u, + state: c, + dirty: (s = 0 < Object.keys(c).length), + }).profile = (function (t) { + var e, + r = t.static; + if (((t = t.dynamic), "profile" in r)) { + var n = !!r.profile; + (e = R(function (t, e) { + return n; + })).enable = n; + } else if ("profile" in t) { + var i = t.profile; + e = B(i, function (t, e) { + return t.invoke(e, i); + }); + } + return e; + })(t)), + (a.uniforms = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + Object.keys(r).forEach(function (t) { + var e, + n = r[t]; + if ("number" == typeof n || "boolean" == typeof n) + e = R(function () { + return n; + }); + else if ("function" == typeof n) { + var a = n._reglType; + "texture2d" === a || "textureCube" === a + ? (e = R(function (t) { + return t.link(n); + })) + : ("framebuffer" !== a && "framebufferCube" !== a) || + (e = R(function (t) { + return t.link(n.color[0]); + })); + } else + v(n) && + (e = R(function (t) { + return t.global.def( + "[", + o(n.length, function (t) { + return n[t]; + }), + "]", + ); + })); + ((e.value = n), (i[t] = e)); + }), + Object.keys(n).forEach(function (t) { + var e = n[t]; + i[t] = B(e, function (t, r) { + return t.invoke(r, e); + }); + }), + i + ); + })(r)), + (a.attributes = M(e)), + (a.context = (function (t) { + var e = t.static, + r = t.dynamic, + n = {}; + return ( + Object.keys(e).forEach(function (t) { + var r = e[t]; + n[t] = R(function (t, e) { + return "number" == typeof r || "boolean" == typeof r + ? "" + r + : t.link(r); + }); + }), + Object.keys(r).forEach(function (t) { + var e = r[t]; + n[t] = B(e, function (t, r) { + return t.invoke(r, e); + }); + }), + n + ); + })(n)), + a + ); + } + function T(t, e, r) { + var n = t.shared.context, + i = t.scope(); + (Object.keys(r).forEach(function (a) { + (e.save(n, "." + a), i(n, ".", a, "=", r[a].append(t, e), ";")); + }), + e(i)); + } + function S(t, e, r, n) { + var i, + a = (s = t.shared).gl, + o = s.framebuffer; + $ && (i = e.def(s.extensions, ".webgl_draw_buffers")); + var s = (l = t.constants).drawBuffer, + l = l.backBuffer; + ((t = r ? r.append(t, e) : e.def(o, ".next")), + n || e("if(", t, "!==", o, ".cur){"), + e( + "if(", + t, + "){", + a, + ".bindFramebuffer(", + 36160, + ",", + t, + ".framebuffer);", + ), + $ && + e( + i, + ".drawBuffersWEBGL(", + s, + "[", + t, + ".colorAttachments.length]);", + ), + e("}else{", a, ".bindFramebuffer(", 36160, ",null);"), + $ && e(i, ".drawBuffersWEBGL(", l, ");"), + e("}", o, ".cur=", t, ";"), + n || e("}")); + } + function C(t, e, r) { + var n = t.shared, + i = n.gl, + a = t.current, + s = t.next, + l = n.current, + c = n.next, + u = t.cond(l, ".dirty"); + (nt.forEach(function (e) { + var n, f; + if (!((e = m(e)) in r.state)) + if (e in s) { + ((n = s[e]), (f = a[e])); + var h = o(tt[e].length, function (t) { + return u.def(n, "[", t, "]"); + }); + u( + t + .cond( + h + .map(function (t, e) { + return t + "!==" + f + "[" + e + "]"; + }) + .join("||"), + ) + .then( + i, + ".", + at[e], + "(", + h, + ");", + h + .map(function (t, e) { + return f + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ), + ); + } else + ((n = u.def(c, ".", e)), + (h = t.cond(n, "!==", l, ".", e)), + u(h), + e in it + ? h( + t + .cond(n) + .then(i, ".enable(", it[e], ");") + .else(i, ".disable(", it[e], ");"), + l, + ".", + e, + "=", + n, + ";", + ) + : h(i, ".", at[e], "(", n, ");", l, ".", e, "=", n, ";")); + }), + 0 === Object.keys(r.state).length && u(l, ".dirty=false;"), + e(u)); + } + function E(t, e, r, n) { + var i = t.shared, + a = t.current, + o = i.current, + s = i.gl; + D(Object.keys(r)).forEach(function (i) { + var l = r[i]; + if (!n || n(l)) { + var c = l.append(t, e); + if (it[i]) { + var u = it[i]; + (I(l) + ? e(s, c ? ".enable(" : ".disable(", u, ");") + : e( + t + .cond(c) + .then(s, ".enable(", u, ");") + .else(s, ".disable(", u, ");"), + ), + e(o, ".", i, "=", c, ";")); + } else if (v(c)) { + var f = a[i]; + e( + s, + ".", + at[i], + "(", + c, + ");", + c + .map(function (t, e) { + return f + "[" + e + "]=" + t; + }) + .join(";"), + ";", + ); + } else e(s, ".", at[i], "(", c, ");", o, ".", i, "=", c, ";"); + } + }); + } + function L(t, e) { + Q && + (t.instancing = e.def( + t.shared.extensions, + ".angle_instanced_arrays", + )); + } + function F(t, e, r, n, i) { + function a() { + return "undefined" == typeof performance + ? "Date.now()" + : "performance.now()"; + } + function o(t) { + (t((c = e.def()), "=", a(), ";"), + "string" == typeof i + ? t(h, ".count+=", i, ";") + : t(h, ".count++;"), + d && + (n + ? t((u = e.def()), "=", g, ".getNumPendingQueries();") + : t(g, ".beginQuery(", h, ");"))); + } + function s(t) { + (t(h, ".cpuTime+=", a(), "-", c, ";"), + d && + (n + ? t( + g, + ".pushScopeStats(", + u, + ",", + g, + ".getNumPendingQueries(),", + h, + ");", + ) + : t(g, ".endQuery();"))); + } + function l(t) { + var r = e.def(p, ".profile"); + (e(p, ".profile=", t, ";"), e.exit(p, ".profile=", r, ";")); + } + var c, + u, + f = t.shared, + h = t.stats, + p = f.current, + g = f.timer; + if ((r = r.profile)) { + if (I(r)) + return void (r.enable + ? (o(e), s(e.exit), l("true")) + : l("false")); + l((r = r.append(t, e))); + } else r = e.def(p, ".profile"); + (o((f = t.block())), + e("if(", r, "){", f, "}"), + s((t = t.block())), + e.exit("if(", r, "){", t, "}")); + } + function N(t, e, r, n, i) { + function a(r, n, i) { + function a() { + e( + "if(!", + u, + ".buffer){", + l, + ".enableVertexAttribArray(", + c, + ");}", + ); + var r, + a = i.type; + ((r = i.size ? e.def(i.size, "||", n) : n), + e( + "if(", + u, + ".type!==", + a, + "||", + u, + ".size!==", + r, + "||", + p + .map(function (t) { + return u + "." + t + "!==" + i[t]; + }) + .join("||"), + "){", + l, + ".bindBuffer(", + 34962, + ",", + f, + ".buffer);", + l, + ".vertexAttribPointer(", + [c, r, a, i.normalized, i.stride, i.offset], + ");", + u, + ".type=", + a, + ";", + u, + ".size=", + r, + ";", + p + .map(function (t) { + return u + "." + t + "=" + i[t] + ";"; + }) + .join(""), + "}", + ), + Q && + ((a = i.divisor), + e( + "if(", + u, + ".divisor!==", + a, + "){", + t.instancing, + ".vertexAttribDivisorANGLE(", + [c, a], + ");", + u, + ".divisor=", + a, + ";}", + ))); + } + function s() { + e( + "if(", + u, + ".buffer){", + l, + ".disableVertexAttribArray(", + c, + ");", + "}if(", + gt + .map(function (t, e) { + return u + "." + t + "!==" + h[e]; + }) + .join("||"), + "){", + l, + ".vertexAttrib4f(", + c, + ",", + h, + ");", + gt + .map(function (t, e) { + return u + "." + t + "=" + h[e] + ";"; + }) + .join(""), + "}", + ); + } + var l = o.gl, + c = e.def(r, ".location"), + u = e.def(o.attributes, "[", c, "]"); + r = i.state; + var f = i.buffer, + h = [i.x, i.y, i.z, i.w], + p = ["buffer", "normalized", "offset", "stride"]; + 1 === r + ? a() + : 2 === r + ? s() + : (e("if(", r, "===", 1, "){"), a(), e("}else{"), s(), e("}")); + } + var o = t.shared; + n.forEach(function (n) { + var o, + s = n.name, + l = r.attributes[s]; + if (l) { + if (!i(l)) return; + o = l.append(t, e); + } else { + if (!i(_t)) return; + var c = t.scopeAttrib(s); + ((o = {}), + Object.keys(new Z()).forEach(function (t) { + o[t] = e.def(c, ".", t); + })); + } + a( + t.link(n), + (function (t) { + switch (t) { + case 35664: + case 35667: + case 35671: + return 2; + case 35665: + case 35668: + case 35672: + return 3; + case 35666: + case 35669: + case 35673: + return 4; + default: + return 1; + } + })(n.info.type), + o, + ); + }); + } + function j(t, r, n, i, a) { + for (var s, l = t.shared, c = l.gl, u = 0; u < i.length; ++u) { + var f, + h = (g = i[u]).name, + p = g.info.type, + d = n.uniforms[h], + g = t.link(g) + ".location"; + if (d) { + if (!a(d)) continue; + if (I(d)) { + if (((h = d.value), 35678 === p || 35680 === p)) + (r( + c, + ".uniform1i(", + g, + ",", + (p = t.link(h._texture || h.color[0]._texture)) + + ".bind());", + ), + r.exit(p, ".unbind();")); + else if (35674 === p || 35675 === p || 35676 === p) + ((h = t.global.def( + "new Float32Array([" + Array.prototype.slice.call(h) + "])", + )), + (d = 2), + 35675 === p ? (d = 3) : 35676 === p && (d = 4), + r(c, ".uniformMatrix", d, "fv(", g, ",false,", h, ");")); + else { + switch (p) { + case 5126: + s = "1f"; + break; + case 35664: + s = "2f"; + break; + case 35665: + s = "3f"; + break; + case 35666: + s = "4f"; + break; + case 35670: + case 5124: + s = "1i"; + break; + case 35671: + case 35667: + s = "2i"; + break; + case 35672: + case 35668: + s = "3i"; + break; + case 35673: + s = "4i"; + break; + case 35669: + s = "4i"; + } + r( + c, + ".uniform", + s, + "(", + g, + ",", + v(h) ? Array.prototype.slice.call(h) : h, + ");", + ); + } + continue; + } + f = d.append(t, r); + } else { + if (!a(_t)) continue; + f = r.def(l.uniforms, "[", e.id(h), "]"); + } + switch ( + (35678 === p + ? r( + "if(", + f, + "&&", + f, + '._reglType==="framebuffer"){', + f, + "=", + f, + ".color[0];", + "}", + ) + : 35680 === p && + r( + "if(", + f, + "&&", + f, + '._reglType==="framebufferCube"){', + f, + "=", + f, + ".color[0];", + "}", + ), + (h = 1), + p) + ) { + case 35678: + case 35680: + (r( + c, + ".uniform1i(", + g, + ",", + (p = r.def(f, "._texture")), + ".bind());", + ), + r.exit(p, ".unbind();")); + continue; + case 5124: + case 35670: + s = "1i"; + break; + case 35667: + case 35671: + ((s = "2i"), (h = 2)); + break; + case 35668: + case 35672: + ((s = "3i"), (h = 3)); + break; + case 35669: + case 35673: + ((s = "4i"), (h = 4)); + break; + case 5126: + s = "1f"; + break; + case 35664: + ((s = "2f"), (h = 2)); + break; + case 35665: + ((s = "3f"), (h = 3)); + break; + case 35666: + ((s = "4f"), (h = 4)); + break; + case 35674: + s = "Matrix2fv"; + break; + case 35675: + s = "Matrix3fv"; + break; + case 35676: + s = "Matrix4fv"; + } + if ((r(c, ".uniform", s, "(", g, ","), "M" === s.charAt(0))) { + g = Math.pow(p - 35674 + 2, 2); + var m = t.global.def("new Float32Array(", g, ")"); + r( + "false,(Array.isArray(", + f, + ")||", + f, + " instanceof Float32Array)?", + f, + ":(", + o(g, function (t) { + return m + "[" + t + "]=" + f + "[" + t + "]"; + }), + ",", + m, + ")", + ); + } else + r( + 1 < h + ? o(h, function (t) { + return f + "[" + t + "]"; + }) + : f, + ); + r(");"); + } + } + function V(t, e, r, n) { + function i(i) { + var a = h[i]; + return a + ? (a.contextDep && n.contextDynamic) || a.propDep + ? a.append(t, r) + : a.append(t, e) + : e.def(f, ".", i); + } + function a() { + function t() { + r( + l, + ".drawElementsInstancedANGLE(", + [d, m, v, g + "<<((" + v + "-5121)>>1)", s], + ");", + ); + } + function e() { + r(l, ".drawArraysInstancedANGLE(", [d, g, m, s], ");"); + } + p + ? y + ? t() + : (r("if(", p, "){"), t(), r("}else{"), e(), r("}")) + : e(); + } + function o() { + function t() { + r( + u + + ".drawElements(" + + [d, m, v, g + "<<((" + v + "-5121)>>1)"] + + ");", + ); + } + function e() { + r(u + ".drawArrays(" + [d, g, m] + ");"); + } + p + ? y + ? t() + : (r("if(", p, "){"), t(), r("}else{"), e(), r("}")) + : e(); + } + var s, + l, + c = t.shared, + u = c.gl, + f = c.draw, + h = n.draw, + p = (function () { + var i = h.elements, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, ".", "elements")), + i && + a( + "if(" + + i + + ")" + + u + + ".bindBuffer(34963," + + i + + ".buffer.buffer);", + ), + i + ); + })(), + d = i("primitive"), + g = i("offset"), + m = (function () { + var i = h.count, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, ".", "count")), + i + ); + })(); + if ("number" == typeof m) { + if (0 === m) return; + } else (r("if(", m, "){"), r.exit("}")); + Q && ((s = i("instances")), (l = t.instancing)); + var v = p + ".type", + y = h.elements && I(h.elements); + Q && ("number" != typeof s || 0 <= s) + ? "string" == typeof s + ? (r("if(", s, ">0){"), + a(), + r("}else if(", s, "<0){"), + o(), + r("}")) + : a() + : o(); + } + function q(t, e, r, n, i) { + return ( + (i = (e = b()).proc("body", i)), + Q && + (e.instancing = i.def( + e.shared.extensions, + ".angle_instanced_arrays", + )), + t(e, i, r, n), + e.compile().body + ); + } + function H(t, e, r, n) { + (L(t, e), + N(t, e, r, n.attributes, function () { + return !0; + }), + j(t, e, r, n.uniforms, function () { + return !0; + }), + V(t, e, e, r)); + } + function G(t, e, r, n) { + function i() { + return !0; + } + ((t.batchId = "a1"), + L(t, e), + N(t, e, r, n.attributes, i), + j(t, e, r, n.uniforms, i), + V(t, e, e, r)); + } + function W(t, e, r, n) { + function i(t) { + return (t.contextDep && o) || t.propDep; + } + function a(t) { + return !i(t); + } + L(t, e); + var o = r.contextDep, + s = e.def(), + l = e.def(); + ((t.shared.props = l), (t.batchId = s)); + var c = t.scope(), + u = t.scope(); + (e( + c.entry, + "for(", + s, + "=0;", + s, + "<", + "a1", + ";++", + s, + "){", + l, + "=", + "a0", + "[", + s, + "];", + u, + "}", + c.exit, + ), + r.needsContext && T(t, u, r.context), + r.needsFramebuffer && S(t, u, r.framebuffer), + E(t, u, r.state, i), + r.profile && i(r.profile) && F(t, u, r, !1, !0), + n + ? (N(t, c, r, n.attributes, a), + N(t, u, r, n.attributes, i), + j(t, c, r, n.uniforms, a), + j(t, u, r, n.uniforms, i), + V(t, c, u, r)) + : ((e = t.global.def("{}")), + (n = r.shader.progVar.append(t, u)), + (l = u.def(n, ".id")), + (c = u.def(e, "[", l, "]")), + u( + t.shared.gl, + ".useProgram(", + n, + ".program);", + "if(!", + c, + "){", + c, + "=", + e, + "[", + l, + "]=", + t.link(function (e) { + return q(G, t, r, e, 2); + }), + "(", + n, + ");}", + c, + ".call(this,a0[", + s, + "],", + s, + ");", + ))); + } + function Y(t, r) { + function n(e) { + var n = r.shader[e]; + n && i.set(a.shader, "." + e, n.append(t, i)); + } + var i = t.proc("scope", 3); + t.batchId = "a2"; + var a = t.shared, + o = a.current; + (T(t, i, r.context), + r.framebuffer && r.framebuffer.append(t, i), + D(Object.keys(r.state)).forEach(function (e) { + var n = r.state[e].append(t, i); + v(n) + ? n.forEach(function (r, n) { + i.set(t.next[e], "[" + n + "]", r); + }) + : i.set(a.next, "." + e, n); + }), + F(t, i, r, !0, !0), + ["elements", "offset", "count", "instances", "primitive"].forEach( + function (e) { + var n = r.draw[e]; + n && i.set(a.draw, "." + e, "" + n.append(t, i)); + }, + ), + Object.keys(r.uniforms).forEach(function (n) { + i.set( + a.uniforms, + "[" + e.id(n) + "]", + r.uniforms[n].append(t, i), + ); + }), + Object.keys(r.attributes).forEach(function (e) { + var n = r.attributes[e].append(t, i), + a = t.scopeAttrib(e); + Object.keys(new Z()).forEach(function (t) { + i.set(a, "." + t, n[t]); + }); + }), + n("vert"), + n("frag"), + 0 < Object.keys(r.state).length && + (i(o, ".dirty=true;"), i.exit(o, ".dirty=true;")), + i("a1(", t.shared.context, ",a0,", t.batchId, ");")); + } + function X(t, e, r) { + var n = e.static[r]; + if ( + n && + (function (t) { + if ("object" == typeof t && !v(t)) { + for (var e = Object.keys(t), r = 0; r < e.length; ++r) + if (U.isDynamic(t[e[r]])) return !0; + return !1; + } + })(n) + ) { + var i = t.global, + a = Object.keys(n), + o = !1, + s = !1, + l = !1, + c = t.global.def("{}"); + (a.forEach(function (e) { + var r = n[e]; + if (U.isDynamic(r)) + ("function" == typeof r && (r = n[e] = U.unbox(r)), + (e = B(r, null)), + (o = o || e.thisDep), + (l = l || e.propDep), + (s = s || e.contextDep)); + else { + switch ((i(c, ".", e, "="), typeof r)) { + case "number": + i(r); + break; + case "string": + i('"', r, '"'); + break; + case "object": + Array.isArray(r) && i("[", r.join(), "]"); + break; + default: + i(t.link(r)); + } + i(";"); + } + }), + (e.dynamic[r] = new U.DynamicVariable(4, { + thisDep: o, + contextDep: s, + propDep: l, + ref: c, + append: function (t, e) { + a.forEach(function (r) { + var i = n[r]; + U.isDynamic(i) && + ((i = t.invoke(e, i)), e(c, ".", r, "=", i, ";")); + }); + }, + })), + delete e.static[r]); + } + } + var Z = u.Record, + J = { add: 32774, subtract: 32778, "reverse subtract": 32779 }; + r.ext_blend_minmax && ((J.min = 32775), (J.max = 32776)); + var Q = r.angle_instanced_arrays, + $ = r.webgl_draw_buffers, + tt = { dirty: !0, profile: g.profile }, + et = {}, + nt = [], + it = {}, + at = {}; + (y("dither", 3024), + y("blend.enable", 3042), + x("blend.color", "blendColor", [0, 0, 0, 0]), + x("blend.equation", "blendEquationSeparate", [32774, 32774]), + x("blend.func", "blendFuncSeparate", [1, 0, 1, 0]), + y("depth.enable", 2929, !0), + x("depth.func", "depthFunc", 513), + x("depth.range", "depthRange", [0, 1]), + x("depth.mask", "depthMask", !0), + x("colorMask", "colorMask", [!0, !0, !0, !0]), + y("cull.enable", 2884), + x("cull.face", "cullFace", 1029), + x("frontFace", "frontFace", 2305), + x("lineWidth", "lineWidth", 1), + y("polygonOffset.enable", 32823), + x("polygonOffset.offset", "polygonOffset", [0, 0]), + y("sample.alpha", 32926), + y("sample.enable", 32928), + x("sample.coverage", "sampleCoverage", [1, !1]), + y("stencil.enable", 2960), + x("stencil.mask", "stencilMask", -1), + x("stencil.func", "stencilFunc", [519, 0, -1]), + x("stencil.opFront", "stencilOpSeparate", [1028, 7680, 7680, 7680]), + x("stencil.opBack", "stencilOpSeparate", [1029, 7680, 7680, 7680]), + y("scissor.enable", 3089), + x("scissor.box", "scissor", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]), + x("viewport", "viewport", [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ])); + var ot = { + gl: t, + context: p, + strings: e, + next: et, + current: tt, + draw: h, + elements: a, + buffer: i, + shader: f, + attributes: u.state, + uniforms: c, + framebuffer: l, + extensions: r, + timer: d, + isBufferArgs: P, + }, + st = { + primTypes: rt, + compareFuncs: yt, + blendFuncs: vt, + blendEquations: J, + stencilOps: xt, + glTypes: K, + orientationType: bt, + }; + $ && + ((st.backBuffer = [1029]), + (st.drawBuffer = o(n.maxDrawbuffers, function (t) { + return 0 === t + ? [0] + : o(t, function (t) { + return 36064 + t; + }); + }))); + var lt = 0; + return { + next: et, + current: tt, + procs: (function () { + var e = b(), + r = e.proc("poll"), + i = e.proc("refresh"), + a = e.block(); + (r(a), i(a)); + var s = e.shared, + l = s.gl, + c = s.next, + u = s.current; + (a(u, ".dirty=false;"), S(e, r), S(e, i, null, !0)); + var f, + h = t.getExtension("angle_instanced_arrays"); + h && (f = e.link(h)); + for (var p = 0; p < n.maxAttributes; ++p) { + var d = i.def(s.attributes, "[", p, "]"), + g = e.cond(d, ".buffer"); + (g + .then( + l, + ".enableVertexAttribArray(", + p, + ");", + l, + ".bindBuffer(", + 34962, + ",", + d, + ".buffer.buffer);", + l, + ".vertexAttribPointer(", + p, + ",", + d, + ".size,", + d, + ".type,", + d, + ".normalized,", + d, + ".stride,", + d, + ".offset);", + ) + .else( + l, + ".disableVertexAttribArray(", + p, + ");", + l, + ".vertexAttrib4f(", + p, + ",", + d, + ".x,", + d, + ".y,", + d, + ".z,", + d, + ".w);", + d, + ".buffer=null;", + ), + i(g), + h && + i(f, ".vertexAttribDivisorANGLE(", p, ",", d, ".divisor);")); + } + return ( + Object.keys(it).forEach(function (t) { + var n = it[t], + o = a.def(c, ".", t), + s = e.block(); + (s( + "if(", + o, + "){", + l, + ".enable(", + n, + ")}else{", + l, + ".disable(", + n, + ")}", + u, + ".", + t, + "=", + o, + ";", + ), + i(s), + r("if(", o, "!==", u, ".", t, "){", s, "}")); + }), + Object.keys(at).forEach(function (t) { + var n, + s, + f = at[t], + h = tt[t], + p = e.block(); + (p(l, ".", f, "("), + v(h) + ? ((f = h.length), + (n = e.global.def(c, ".", t)), + (s = e.global.def(u, ".", t)), + p( + o(f, function (t) { + return n + "[" + t + "]"; + }), + ");", + o(f, function (t) { + return s + "[" + t + "]=" + n + "[" + t + "];"; + }).join(""), + ), + r( + "if(", + o(f, function (t) { + return n + "[" + t + "]!==" + s + "[" + t + "]"; + }).join("||"), + "){", + p, + "}", + )) + : ((n = a.def(c, ".", t)), + (s = a.def(u, ".", t)), + p(n, ");", u, ".", t, "=", n, ";"), + r("if(", n, "!==", s, "){", p, "}")), + i(p)); + }), + e.compile() + ); + })(), + compile: function (t, e, r, n, i) { + var a = b(); + return ( + (a.stats = a.link(i)), + Object.keys(e.static).forEach(function (t) { + X(a, e, t); + }), + mt.forEach(function (e) { + X(a, t, e); + }), + (r = A(t, e, r, n)), + (function (t, e) { + var r = t.proc("draw", 1); + (L(t, r), + T(t, r, e.context), + S(t, r, e.framebuffer), + C(t, r, e), + E(t, r, e.state), + F(t, r, e, !1, !0)); + var n = e.shader.progVar.append(t, r); + if ( + (r(t.shared.gl, ".useProgram(", n, ".program);"), + e.shader.program) + ) + H(t, r, e, e.shader.program); + else { + var i = t.global.def("{}"), + a = r.def(n, ".id"), + o = r.def(i, "[", a, "]"); + r( + t + .cond(o) + .then(o, ".call(this,a0);") + .else( + o, + "=", + i, + "[", + a, + "]=", + t.link(function (r) { + return q(H, t, e, r, 1); + }), + "(", + n, + ");", + o, + ".call(this,a0);", + ), + ); + } + 0 < Object.keys(e.state).length && + r(t.shared.current, ".dirty=true;"); + })(a, r), + Y(a, r), + (function (t, e) { + function r(t) { + return (t.contextDep && i) || t.propDep; + } + var n = t.proc("batch", 2); + ((t.batchId = "0"), L(t, n)); + var i = !1, + a = !0; + (Object.keys(e.context).forEach(function (t) { + i = i || e.context[t].propDep; + }), + i || (T(t, n, e.context), (a = !1))); + var o = !1; + if ( + ((s = e.framebuffer) + ? (s.propDep ? (i = o = !0) : s.contextDep && i && (o = !0), + o || S(t, n, s)) + : S(t, n, null), + e.state.viewport && e.state.viewport.propDep && (i = !0), + C(t, n, e), + E(t, n, e.state, function (t) { + return !r(t); + }), + (e.profile && r(e.profile)) || F(t, n, e, !1, "a1"), + (e.contextDep = i), + (e.needsContext = a), + (e.needsFramebuffer = o), + ((a = e.shader.progVar).contextDep && i) || a.propDep) + ) + W(t, n, e, null); + else if ( + ((a = a.append(t, n)), + n(t.shared.gl, ".useProgram(", a, ".program);"), + e.shader.program) + ) + W(t, n, e, e.shader.program); + else { + var s = t.global.def("{}"), + l = ((o = n.def(a, ".id")), n.def(s, "[", o, "]")); + n( + t + .cond(l) + .then(l, ".call(this,a0,a1);") + .else( + l, + "=", + s, + "[", + o, + "]=", + t.link(function (r) { + return q(W, t, e, r, 2); + }), + "(", + a, + ");", + l, + ".call(this,a0,a1);", + ), + ); + } + 0 < Object.keys(e.state).length && + n(t.shared.current, ".dirty=true;"); + })(a, r), + a.compile() + ); + }, + }; + } + function N(t, e) { + for (var r = 0; r < t.length; ++r) if (t[r] === e) return r; + return -1; + } + var j = function (t, e) { + for (var r = Object.keys(e), n = 0; n < r.length; ++n) + t[r[n]] = e[r[n]]; + return t; + }, + V = 0, + U = { + DynamicVariable: t, + define: function (r, n) { + return new t(r, e(n + "")); + }, + isDynamic: function (e) { + return ("function" == typeof e && !e._reglType) || e instanceof t; + }, + unbox: function (e, r) { + return "function" == typeof e ? new t(0, e) : e; + }, + accessor: e, + }, + q = { + next: + "function" == typeof requestAnimationFrame + ? function (t) { + return requestAnimationFrame(t); + } + : function (t) { + return setTimeout(t, 16); + }, + cancel: + "function" == typeof cancelAnimationFrame + ? function (t) { + return cancelAnimationFrame(t); + } + : clearTimeout, + }, + H = + "undefined" != typeof performance && performance.now + ? function () { + return performance.now(); + } + : function () { + return +new Date(); + }, + G = function (t) { + return ( + t instanceof Uint8Array || + t instanceof Uint16Array || + t instanceof Uint32Array || + t instanceof Int8Array || + t instanceof Int16Array || + t instanceof Int32Array || + t instanceof Float32Array || + t instanceof Float64Array || + t instanceof Uint8ClampedArray + ); + }, + W = function (t) { + return Object.keys(t).map(function (e) { + return t[e]; + }); + }, + Y = o(8, function () { + return []; + }), + X = { + alloc: l, + free: c, + allocType: function (t, e) { + var r = null; + switch (t) { + case 5120: + r = new Int8Array(l(e), 0, e); + break; + case 5121: + r = new Uint8Array(l(e), 0, e); + break; + case 5122: + r = new Int16Array(l(2 * e), 0, e); + break; + case 5123: + r = new Uint16Array(l(2 * e), 0, e); + break; + case 5124: + r = new Int32Array(l(4 * e), 0, e); + break; + case 5125: + r = new Uint32Array(l(4 * e), 0, e); + break; + case 5126: + r = new Float32Array(l(4 * e), 0, e); + break; + default: + return null; + } + return r.length !== e ? r.subarray(0, e) : r; + }, + freeType: function (t) { + c(t.buffer); + }, + }, + Z = { + shape: function (t) { + for (var e = []; t.length; t = t[0]) e.push(t.length); + return e; + }, + flatten: function (t, e, r, n) { + var i = 1; + if (e.length) for (var a = 0; a < e.length; ++a) i *= e[a]; + else i = 0; + switch (((r = n || X.allocType(r, i)), e.length)) { + case 0: + break; + case 1: + for (n = e[0], e = 0; e < n; ++e) r[e] = t[e]; + break; + case 2: + for (n = e[0], e = e[1], a = i = 0; a < n; ++a) + for (var o = t[a], s = 0; s < e; ++s) r[i++] = o[s]; + break; + case 3: + u(t, e[0], e[1], e[2], r, 0); + break; + default: + !(function t(e, r, n, i, a) { + for (var o = 1, s = n + 1; s < r.length; ++s) o *= r[s]; + var l = r[n]; + if (4 == r.length - n) { + var c = r[n + 1], + f = r[n + 2]; + for (r = r[n + 3], s = 0; s < l; ++s) + (u(e[s], c, f, r, i, a), (a += o)); + } else + for (s = 0; s < l; ++s) (t(e[s], r, n + 1, i, a), (a += o)); + })(t, e, 0, r, 0); + } + return r; + }, + }, + J = { + "[object Int8Array]": 5120, + "[object Int16Array]": 5122, + "[object Int32Array]": 5124, + "[object Uint8Array]": 5121, + "[object Uint8ClampedArray]": 5121, + "[object Uint16Array]": 5123, + "[object Uint32Array]": 5125, + "[object Float32Array]": 5126, + "[object Float64Array]": 5121, + "[object ArrayBuffer]": 5121, + }, + K = { + int8: 5120, + int16: 5122, + int32: 5124, + uint8: 5121, + uint16: 5123, + uint32: 5125, + float: 5126, + float32: 5126, + }, + Q = { dynamic: 35048, stream: 35040, static: 35044 }, + $ = Z.flatten, + tt = Z.shape, + et = []; + ((et[5120] = 1), + (et[5122] = 2), + (et[5124] = 4), + (et[5121] = 1), + (et[5123] = 2), + (et[5125] = 4), + (et[5126] = 4)); + var rt = { + points: 0, + point: 0, + lines: 1, + line: 1, + triangles: 4, + triangle: 4, + "line loop": 2, + "line strip": 3, + "triangle strip": 5, + "triangle fan": 6, + }, + nt = new Float32Array(1), + it = new Uint32Array(nt.buffer), + at = [9984, 9986, 9985, 9987], + ot = [0, 6409, 6410, 6407, 6408], + st = {}; + ((st[6409] = st[6406] = st[6402] = 1), + (st[34041] = st[6410] = 2), + (st[6407] = st[35904] = 3), + (st[6408] = st[35906] = 4)); + var lt = Object.keys(J).concat([ + "[object HTMLCanvasElement]", + "[object CanvasRenderingContext2D]", + "[object HTMLImageElement]", + "[object HTMLVideoElement]", + ]), + ct = []; + ((ct[5121] = 1), + (ct[5126] = 4), + (ct[36193] = 2), + (ct[5123] = 2), + (ct[5125] = 4)); + var ut = []; + ((ut[32854] = 2), + (ut[32855] = 2), + (ut[36194] = 2), + (ut[34041] = 4), + (ut[33776] = 0.5), + (ut[33777] = 0.5), + (ut[33778] = 1), + (ut[33779] = 1), + (ut[35986] = 0.5), + (ut[35987] = 1), + (ut[34798] = 1), + (ut[35840] = 0.5), + (ut[35841] = 0.25), + (ut[35842] = 0.5), + (ut[35843] = 0.25), + (ut[36196] = 0.5)); + var ft = []; + ((ft[32854] = 2), + (ft[32855] = 2), + (ft[36194] = 2), + (ft[33189] = 2), + (ft[36168] = 1), + (ft[34041] = 4), + (ft[35907] = 4), + (ft[34836] = 16), + (ft[34842] = 8), + (ft[34843] = 6)); + var ht = function (t, e, r, n, i) { + function a(t) { + ((this.id = c++), + (this.refCount = 1), + (this.renderbuffer = t), + (this.format = 32854), + (this.height = this.width = 0), + i.profile && (this.stats = { size: 0 })); + } + function o(e) { + var r = e.renderbuffer; + (t.bindRenderbuffer(36161, null), + t.deleteRenderbuffer(r), + (e.renderbuffer = null), + (e.refCount = 0), + delete u[e.id], + n.renderbufferCount--); + } + var s = { + rgba4: 32854, + rgb565: 36194, + "rgb5 a1": 32855, + depth: 33189, + stencil: 36168, + "depth stencil": 34041, + }; + (e.ext_srgb && (s.srgba = 35907), + e.ext_color_buffer_half_float && + ((s.rgba16f = 34842), (s.rgb16f = 34843)), + e.webgl_color_buffer_float && (s.rgba32f = 34836)); + var l = []; + Object.keys(s).forEach(function (t) { + l[s[t]] = t; + }); + var c = 0, + u = {}; + return ( + (a.prototype.decRef = function () { + 0 >= --this.refCount && o(this); + }), + i.profile && + (n.getTotalRenderbufferSize = function () { + var t = 0; + return ( + Object.keys(u).forEach(function (e) { + t += u[e].stats.size; + }), + t + ); + }), + { + create: function (e, r) { + function o(e, r) { + var n = 0, + a = 0, + u = 32854; + if ( + ("object" == typeof e && e + ? ("shape" in e + ? ((n = 0 | (a = e.shape)[0]), (a = 0 | a[1])) + : ("radius" in e && (n = a = 0 | e.radius), + "width" in e && (n = 0 | e.width), + "height" in e && (a = 0 | e.height)), + "format" in e && (u = s[e.format])) + : "number" == typeof e + ? ((n = 0 | e), (a = "number" == typeof r ? 0 | r : n)) + : e || (n = a = 1), + n !== c.width || a !== c.height || u !== c.format) + ) + return ( + (o.width = c.width = n), + (o.height = c.height = a), + (c.format = u), + t.bindRenderbuffer(36161, c.renderbuffer), + t.renderbufferStorage(36161, u, n, a), + i.profile && + (c.stats.size = ft[c.format] * c.width * c.height), + (o.format = l[c.format]), + o + ); + } + var c = new a(t.createRenderbuffer()); + return ( + (u[c.id] = c), + n.renderbufferCount++, + o(e, r), + (o.resize = function (e, r) { + var n = 0 | e, + a = 0 | r || n; + return n === c.width && a === c.height + ? o + : ((o.width = c.width = n), + (o.height = c.height = a), + t.bindRenderbuffer(36161, c.renderbuffer), + t.renderbufferStorage(36161, c.format, n, a), + i.profile && + (c.stats.size = ft[c.format] * c.width * c.height), + o); + }), + (o._reglType = "renderbuffer"), + (o._renderbuffer = c), + i.profile && (o.stats = c.stats), + (o.destroy = function () { + c.decRef(); + }), + o + ); + }, + clear: function () { + W(u).forEach(o); + }, + restore: function () { + (W(u).forEach(function (e) { + ((e.renderbuffer = t.createRenderbuffer()), + t.bindRenderbuffer(36161, e.renderbuffer), + t.renderbufferStorage(36161, e.format, e.width, e.height)); + }), + t.bindRenderbuffer(36161, null)); + }, + } + ); + }, + pt = []; + pt[6408] = 4; + var dt = []; + ((dt[5121] = 1), (dt[5126] = 4), (dt[36193] = 2)); + var gt = ["x", "y", "z", "w"], + mt = + "blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split( + " ", + ), + vt = { + 0: 0, + 1: 1, + zero: 0, + one: 1, + "src color": 768, + "one minus src color": 769, + "src alpha": 770, + "one minus src alpha": 771, + "dst color": 774, + "one minus dst color": 775, + "dst alpha": 772, + "one minus dst alpha": 773, + "constant color": 32769, + "one minus constant color": 32770, + "constant alpha": 32771, + "one minus constant alpha": 32772, + "src alpha saturate": 776, + }, + yt = { + never: 512, + less: 513, + "<": 513, + equal: 514, + "=": 514, + "==": 514, + "===": 514, + lequal: 515, + "<=": 515, + greater: 516, + ">": 516, + notequal: 517, + "!=": 517, + "!==": 517, + gequal: 518, + ">=": 518, + always: 519, + }, + xt = { + 0: 0, + zero: 0, + keep: 7680, + replace: 7681, + increment: 7682, + decrement: 7683, + "increment wrap": 34055, + "decrement wrap": 34056, + invert: 5386, + }, + bt = { cw: 2304, ccw: 2305 }, + _t = new O(!1, !1, !1, function () {}); + return function (t) { + function e() { + if (0 === X.length) (w && w.update(), (Q = null)); + else { + ((Q = q.next(e)), f()); + for (var t = X.length - 1; 0 <= t; --t) { + var r = X[t]; + r && r(z, null, 0); + } + (m.flush(), w && w.update()); + } + } + function r() { + !Q && 0 < X.length && (Q = q.next(e)); + } + function n() { + Q && (q.cancel(e), (Q = null)); + } + function a(t) { + (t.preventDefault(), + n(), + Z.forEach(function (t) { + t(); + })); + } + function o(t) { + (m.getError(), + y.restore(), + I.restore(), + D.restore(), + R.restore(), + B.restore(), + V.restore(), + w && w.restore(), + G.procs.refresh(), + r(), + J.forEach(function (t) { + t(); + })); + } + function s(t) { + function e(t) { + var e = {}, + r = {}; + return ( + Object.keys(t).forEach(function (n) { + var i = t[n]; + U.isDynamic(i) ? (r[n] = U.unbox(i, n)) : (e[n] = i); + }), + { dynamic: r, static: e } + ); + } + var r = e(t.context || {}), + n = e(t.uniforms || {}), + i = e(t.attributes || {}), + a = e( + (function (t) { + function e(t) { + if (t in r) { + var e = r[t]; + (delete r[t], + Object.keys(e).forEach(function (n) { + r[t + "." + n] = e[n]; + })); + } + } + var r = j({}, t); + return ( + delete r.uniforms, + delete r.attributes, + delete r.context, + "stencil" in r && + r.stencil.op && + ((r.stencil.opBack = r.stencil.opFront = r.stencil.op), + delete r.stencil.op), + e("blend"), + e("depth"), + e("cull"), + e("stencil"), + e("polygonOffset"), + e("scissor"), + e("sample"), + r + ); + })(t), + ); + t = { gpuTime: 0, cpuTime: 0, count: 0 }; + var o = (r = G.compile(a, i, n, r, t)).draw, + s = r.batch, + l = r.scope, + c = []; + return j( + function (t, e) { + var r; + if ("function" == typeof t) return l.call(this, null, t, 0); + if ("function" == typeof e) + if ("number" == typeof t) + for (r = 0; r < t; ++r) l.call(this, null, e, r); + else { + if (!Array.isArray(t)) return l.call(this, t, e, 0); + for (r = 0; r < t.length; ++r) l.call(this, t[r], e, r); + } + else if ("number" == typeof t) { + if (0 < t) + return s.call( + this, + (function (t) { + for (; c.length < t; ) c.push(null); + return c; + })(0 | t), + 0 | t, + ); + } else { + if (!Array.isArray(t)) return o.call(this, t); + if (t.length) return s.call(this, t, t.length); + } + }, + { stats: t }, + ); + } + function l(t, e) { + var r = 0; + G.procs.poll(); + var n = e.color; + (n && + (m.clearColor(+n[0] || 0, +n[1] || 0, +n[2] || 0, +n[3] || 0), + (r |= 16384)), + "depth" in e && (m.clearDepth(+e.depth), (r |= 256)), + "stencil" in e && (m.clearStencil(0 | e.stencil), (r |= 1024)), + m.clear(r)); + } + function c(t) { + return ( + X.push(t), + r(), + { + cancel: function () { + var e = N(X, t); + X[e] = function t() { + var e = N(X, t); + ((X[e] = X[X.length - 1]), --X.length, 0 >= X.length && n()); + }; + }, + } + ); + } + function u() { + var t = W.viewport, + e = W.scissor_box; + ((t[0] = t[1] = e[0] = e[1] = 0), + (z.viewportWidth = + z.framebufferWidth = + z.drawingBufferWidth = + t[2] = + e[2] = + m.drawingBufferWidth), + (z.viewportHeight = + z.framebufferHeight = + z.drawingBufferHeight = + t[3] = + e[3] = + m.drawingBufferHeight)); + } + function f() { + ((z.tick += 1), (z.time = p()), u(), G.procs.poll()); + } + function h() { + (u(), G.procs.refresh(), w && w.update()); + } + function p() { + return (H() - k) / 1e3; + } + if (!(t = i(t))) return null; + var m = t.gl, + v = m.getContextAttributes(); + m.isContextLost(); + var y = (function (t, e) { + function r(e) { + var r; + e = e.toLowerCase(); + try { + r = n[e] = t.getExtension(e); + } catch (t) {} + return !!r; + } + for (var n = {}, i = 0; i < e.extensions.length; ++i) { + var a = e.extensions[i]; + if (!r(a)) + return ( + e.onDestroy(), + e.onDone( + '"' + + a + + '" extension is not supported by the current WebGL context, try upgrading your system or a different browser', + ), + null + ); + } + return ( + e.optionalExtensions.forEach(r), + { + extensions: n, + restore: function () { + Object.keys(n).forEach(function (t) { + if (!r(t)) + throw Error("(regl): error restoring extension " + t); + }); + }, + } + ); + })(m, t); + if (!y) return null; + var x = (function () { + var t = { "": 0 }, + e = [""]; + return { + id: function (r) { + var n = t[r]; + return n || ((n = t[r] = e.length), e.push(r), n); + }, + str: function (t) { + return e[t]; + }, + }; + })(), + b = { + bufferCount: 0, + elementsCount: 0, + framebufferCount: 0, + shaderCount: 0, + textureCount: 0, + cubeCount: 0, + renderbufferCount: 0, + maxTextureUnits: 0, + }, + _ = y.extensions, + w = (function (t, e) { + function r(t, e, r) { + var n = + o.pop() || + new (function () { + ((this.endQueryIndex = this.startQueryIndex = -1), + (this.sum = 0), + (this.stats = null)); + })(); + ((n.startQueryIndex = t), + (n.endQueryIndex = e), + (n.sum = 0), + (n.stats = r), + s.push(n)); + } + var n = e.ext_disjoint_timer_query; + if (!n) return null; + var i = [], + a = [], + o = [], + s = [], + l = [], + c = []; + return { + beginQuery: function (t) { + var e = i.pop() || n.createQueryEXT(); + (n.beginQueryEXT(35007, e), + a.push(e), + r(a.length - 1, a.length, t)); + }, + endQuery: function () { + n.endQueryEXT(35007); + }, + pushScopeStats: r, + update: function () { + var t, e; + if (0 !== (t = a.length)) { + ((c.length = Math.max(c.length, t + 1)), + (l.length = Math.max(l.length, t + 1)), + (l[0] = 0)); + var r = (c[0] = 0); + for (e = t = 0; e < a.length; ++e) { + var u = a[e]; + (n.getQueryObjectEXT(u, 34919) + ? ((r += n.getQueryObjectEXT(u, 34918)), i.push(u)) + : (a[t++] = u), + (l[e + 1] = r), + (c[e + 1] = t)); + } + for (a.length = t, e = t = 0; e < s.length; ++e) { + var f = (r = s[e]).startQueryIndex; + ((u = r.endQueryIndex), + (r.sum += l[u] - l[f]), + (f = c[f]), + (u = c[u]) === f + ? ((r.stats.gpuTime += r.sum / 1e6), o.push(r)) + : ((r.startQueryIndex = f), + (r.endQueryIndex = u), + (s[t++] = r))); + } + s.length = t; + } + }, + getNumPendingQueries: function () { + return a.length; + }, + clear: function () { + i.push.apply(i, a); + for (var t = 0; t < i.length; t++) n.deleteQueryEXT(i[t]); + ((a.length = 0), (i.length = 0)); + }, + restore: function () { + ((a.length = 0), (i.length = 0)); + }, + }; + })(0, _), + k = H(), + E = m.drawingBufferWidth, + L = m.drawingBufferHeight, + z = { + tick: 0, + time: 0, + viewportWidth: E, + viewportHeight: L, + framebufferWidth: E, + framebufferHeight: L, + drawingBufferWidth: E, + drawingBufferHeight: L, + pixelRatio: t.pixelRatio, + }, + P = (function (t, e) { + var r = 1; + e.ext_texture_filter_anisotropic && (r = t.getParameter(34047)); + var n = 1, + i = 1; + return ( + e.webgl_draw_buffers && + ((n = t.getParameter(34852)), (i = t.getParameter(36063))), + { + colorBits: [ + t.getParameter(3410), + t.getParameter(3411), + t.getParameter(3412), + t.getParameter(3413), + ], + depthBits: t.getParameter(3414), + stencilBits: t.getParameter(3415), + subpixelBits: t.getParameter(3408), + extensions: Object.keys(e).filter(function (t) { + return !!e[t]; + }), + maxAnisotropic: r, + maxDrawbuffers: n, + maxColorAttachments: i, + pointSizeDims: t.getParameter(33901), + lineWidthDims: t.getParameter(33902), + maxViewportDims: t.getParameter(3386), + maxCombinedTextureUnits: t.getParameter(35661), + maxCubeMapSize: t.getParameter(34076), + maxRenderbufferSize: t.getParameter(34024), + maxTextureUnits: t.getParameter(34930), + maxTextureSize: t.getParameter(3379), + maxAttributes: t.getParameter(34921), + maxVertexUniforms: t.getParameter(36347), + maxVertexTextureUnits: t.getParameter(35660), + maxVaryingVectors: t.getParameter(36348), + maxFragmentUniforms: t.getParameter(36349), + glsl: t.getParameter(35724), + renderer: t.getParameter(7937), + vendor: t.getParameter(7936), + version: t.getParameter(7938), + } + ); + })(m, _), + D = d(m, b, t), + O = g(m, _, D, b), + I = + ((E = (function (t, e, r, n, i) { + for (t = r.maxAttributes, e = Array(t), r = 0; r < t; ++r) + e[r] = new T(); + return { Record: T, scope: {}, state: e }; + })(m, _, P)), + S(m, x, b, t)), + R = M( + m, + _, + P, + function () { + G.procs.poll(); + }, + z, + b, + t, + ), + B = ht(m, _, 0, b, t), + V = A(m, _, P, R, B, b), + G = F( + m, + x, + _, + P, + D, + O, + 0, + V, + {}, + E, + I, + { + elements: null, + primitive: 4, + count: -1, + offset: 0, + instances: -1, + }, + z, + w, + t, + ), + W = ((x = C(m, V, G.procs.poll, z)), G.next), + Y = m.canvas, + X = [], + Z = [], + J = [], + K = [t.onDestroy], + Q = null; + Y && + (Y.addEventListener("webglcontextlost", a, !1), + Y.addEventListener("webglcontextrestored", o, !1)); + var $ = (V.setFBO = s({ + framebuffer: U.define.call(null, 1, "framebuffer"), + })); + return ( + h(), + (v = j(s, { + clear: function (t) { + if ("framebuffer" in t) + if ( + t.framebuffer && + "framebufferCube" === t.framebuffer_reglType + ) + for (var e = 0; 6 > e; ++e) + $(j({ framebuffer: t.framebuffer.faces[e] }, t), l); + else $(t, l); + else l(0, t); + }, + prop: U.define.bind(null, 1), + context: U.define.bind(null, 2), + this: U.define.bind(null, 3), + draw: s({}), + buffer: function (t) { + return D.create(t, 34962, !1, !1); + }, + elements: function (t) { + return O.create(t, !1); + }, + texture: R.create2D, + cube: R.createCube, + renderbuffer: B.create, + framebuffer: V.create, + framebufferCube: V.createCube, + attributes: v, + frame: c, + on: function (t, e) { + var r; + switch (t) { + case "frame": + return c(e); + case "lost": + r = Z; + break; + case "restore": + r = J; + break; + case "destroy": + r = K; + } + return ( + r.push(e), + { + cancel: function () { + for (var t = 0; t < r.length; ++t) + if (r[t] === e) { + ((r[t] = r[r.length - 1]), r.pop()); + break; + } + }, + } + ); + }, + limits: P, + hasExtension: function (t) { + return 0 <= P.extensions.indexOf(t.toLowerCase()); + }, + read: x, + destroy: function () { + ((X.length = 0), + n(), + Y && + (Y.removeEventListener("webglcontextlost", a), + Y.removeEventListener("webglcontextrestored", o)), + I.clear(), + V.clear(), + B.clear(), + R.clear(), + O.clear(), + D.clear(), + w && w.clear(), + K.forEach(function (t) { + t(); + })); + }, + _gl: m, + _refresh: h, + poll: function () { + (f(), w && w.update()); + }, + now: p, + stats: b, + })), + t.onDone(null, v), + v + ); + }; + }), + "object" == typeof r && void 0 !== e + ? (e.exports = i()) + : (n.createREGL = i())); + }, + {}, + ], + 381: [ + function (t, e, r) { + "use strict"; + var n, + i = ""; + e.exports = function (t, e) { + if ("string" != typeof t) throw new TypeError("expected a string"); + if (1 === e) return t; + if (2 === e) return t + t; + var r = t.length * e; + if (n !== t || void 0 === n) ((n = t), (i = "")); + else if (i.length >= r) return i.substr(0, r); + for (; r > i.length && e > 1; ) (1 & e && (i += t), (e >>= 1), (t += t)); + return (i = (i += t).substr(0, r)); + }; + }, + {}, + ], + 382: [ + function (t, e, r) { + (function (t) { + e.exports = + t.performance && t.performance.now + ? function () { + return performance.now(); + } + : Date.now || + function () { + return +new Date(); + }; + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + {}, + ], + 383: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = t.length, r = t[t.length - 1], n = e, i = e - 2; i >= 0; --i) { + var a = r, + o = t[i], + s = (r = a + o) - a, + l = o - s; + l && ((t[--n] = r), (r = l)); + } + for (var c = 0, i = n; i < e; ++i) { + var a = t[i], + o = r, + s = (r = a + o) - a, + l = o - s; + l && (t[c++] = l); + } + return ((t[c++] = r), (t.length = c), t); + }; + }, + {}, + ], + 384: [ + function (t, e, r) { + "use strict"; + var n = t("two-product"), + i = t("robust-sum"), + a = t("robust-scale"), + o = t("robust-compress"), + s = 6; + function l(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function c(t) { + if (2 === t.length) + return [ + "sum(prod(", + t[0][0], + ",", + t[1][1], + "),prod(-", + t[0][1], + ",", + t[1][0], + "))", + ].join(""); + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + "scale(", + c(l(t, r)), + ",", + ((n = r), 1 & n ? "-" : ""), + t[0][r], + ")", + ].join(""), + ); + return (function t(e) { + if (1 === e.length) return e[0]; + if (2 === e.length) return ["sum(", e[0], ",", e[1], ")"].join(""); + var r = e.length >> 1; + return ["sum(", t(e.slice(0, r)), ",", t(e.slice(r)), ")"].join(""); + })(e); + var n; + } + function u(t) { + return new Function( + "sum", + "scale", + "prod", + "compress", + [ + "function robustDeterminant", + t, + "(m){return compress(", + c( + (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ["m[", r, "][", n, "]"].join(""); + } + return e; + })(t), + ), + ")};return robustDeterminant", + t, + ].join(""), + )(i, a, n, o); + } + var f = [ + function () { + return [0]; + }, + function (t) { + return [t[0][0]]; + }, + ]; + !(function () { + for (; f.length < s; ) f.push(u(f.length)); + for ( + var t = [], + r = ["function robustDeterminant(m){switch(m.length){"], + n = 0; + n < s; + ++n + ) + (t.push("det" + n), r.push("case ", n, ":return det", n, "(m);")); + (r.push( + "}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant", + ), + t.push("CACHE", "gen", r.join(""))); + var i = Function.apply(void 0, t); + for ( + e.exports = i.apply(void 0, f.concat([f, u])), n = 0; + n < f.length; + ++n + ) + e.exports[n] = f[n]; + })(); + }, + { + "robust-compress": 383, + "robust-scale": 390, + "robust-sum": 393, + "two-product": 421, + }, + ], + 385: [ + function (t, e, r) { + "use strict"; + var n = t("two-product"), + i = t("robust-sum"); + e.exports = function (t, e) { + for (var r = n(t[0], e[0]), a = 1; a < t.length; ++a) + r = i(r, n(t[a], e[a])); + return r; + }; + }, + { "robust-sum": 393, "two-product": 421 }, + ], + 386: [ + function (t, e, r) { + "use strict"; + var n = t("two-product"), + i = t("robust-sum"), + a = t("robust-subtract"), + o = t("robust-scale"), + s = 6; + function l(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function c(t) { + if (1 === t.length) return t[0]; + if (2 === t.length) return ["sum(", t[0], ",", t[1], ")"].join(""); + var e = t.length >> 1; + return ["sum(", c(t.slice(0, e)), ",", c(t.slice(e)), ")"].join(""); + } + function u(t, e) { + if ("m" === t.charAt(0)) { + if ("w" === e.charAt(0)) { + var r = t.split("["); + return ["w", e.substr(1), "m", r[0].substr(1)].join(""); + } + return ["prod(", t, ",", e, ")"].join(""); + } + return u(e, t); + } + function f(t) { + if (2 === t.length) + return [ + ["diff(", u(t[0][0], t[1][1]), ",", u(t[1][0], t[0][1]), ")"].join(""), + ]; + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + "scale(", + c(f(l(t, r))), + ",", + ((n = r), !0 & n ? "-" : ""), + t[0][r], + ")", + ].join(""), + ); + return e; + var n; + } + function h(t, e) { + for (var r = [], n = 0; n < e - 2; ++n) + r.push(["prod(m", t, "[", n, "],m", t, "[", n, "])"].join("")); + return c(r); + } + function p(t) { + for ( + var e = [], + r = [], + s = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ["m", n, "[", t - r - 2, "]"].join(""); + } + return e; + })(t), + u = 0; + u < t; + ++u + ) + ((s[0][u] = "1"), (s[t - 1][u] = "w" + u)); + for (u = 0; u < t; ++u) + 0 == (1 & u) ? e.push.apply(e, f(l(s, u))) : r.push.apply(r, f(l(s, u))); + var p = c(e), + d = c(r), + g = "exactInSphere" + t, + m = []; + for (u = 0; u < t; ++u) m.push("m" + u); + var v = ["function ", g, "(", m.join(), "){"]; + for (u = 0; u < t; ++u) { + v.push("var w", u, "=", h(u, t), ";"); + for (var y = 0; y < t; ++y) + y !== u && v.push("var w", u, "m", y, "=scale(w", u, ",m", y, "[0]);"); + } + return ( + v.push( + "var p=", + p, + ",n=", + d, + ",d=diff(p,n);return d[d.length-1];}return ", + g, + ), + new Function("sum", "diff", "prod", "scale", v.join(""))(i, a, n, o) + ); + } + var d = [ + function () { + return 0; + }, + function () { + return 0; + }, + function () { + return 0; + }, + ]; + !(function () { + for (; d.length <= s; ) d.push(p(d.length)); + for (var t = [], r = ["slow"], n = 0; n <= s; ++n) + (t.push("a" + n), r.push("o" + n)); + var i = [ + "function testInSphere(", + t.join(), + "){switch(arguments.length){case 0:case 1:return 0;", + ]; + for (n = 2; n <= s; ++n) + i.push("case ", n, ":return o", n, "(", t.slice(0, n).join(), ");"); + (i.push( + "}var s=new Array(arguments.length);for(var i=0;i 0 && r.push(","), r.push("[")); + for (var o = 0; o < t; ++o) + (o > 0 && r.push(","), + o === i ? r.push("+b[", a, "]") : r.push("+A[", a, "][", o, "]")); + r.push("]"); + } + r.push("]),"); + } + r.push("det(A)]}return ", e); + var s = new Function("det", r.join("")); + return s(t < 6 ? n[t] : n); + } + var o = [ + function () { + return [0]; + }, + function (t, e) { + return [[e[0]], [t[0][0]]]; + }, + ]; + !(function () { + for (; o.length < i; ) o.push(a(o.length)); + for ( + var t = [], + r = ["function dispatchLinearSolve(A,b){switch(A.length){"], + n = 0; + n < i; + ++n + ) + (t.push("s" + n), r.push("case ", n, ":return s", n, "(A,b);")); + (r.push( + "}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve", + ), + t.push("CACHE", "g", r.join(""))); + var s = Function.apply(void 0, t); + for (e.exports = s.apply(void 0, o.concat([o, a])), n = 0; n < i; ++n) + e.exports[n] = o[n]; + })(); + }, + { "robust-determinant": 384 }, + ], + 388: [ + function (t, e, r) { + "use strict"; + var n = t("two-product"), + i = t("robust-sum"), + a = t("robust-scale"), + o = t("robust-subtract"), + s = 5; + function l(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function c(t) { + if (1 === t.length) return t[0]; + if (2 === t.length) return ["sum(", t[0], ",", t[1], ")"].join(""); + var e = t.length >> 1; + return ["sum(", c(t.slice(0, e)), ",", c(t.slice(e)), ")"].join(""); + } + function u(t) { + if (2 === t.length) + return [ + [ + "sum(prod(", + t[0][0], + ",", + t[1][1], + "),prod(-", + t[0][1], + ",", + t[1][0], + "))", + ].join(""), + ]; + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + "scale(", + c(u(l(t, r))), + ",", + ((n = r), 1 & n ? "-" : ""), + t[0][r], + ")", + ].join(""), + ); + return e; + var n; + } + function f(t) { + for ( + var e = [], + r = [], + s = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ["m", n, "[", t - r - 1, "]"].join(""); + } + return e; + })(t), + f = [], + h = 0; + h < t; + ++h + ) + (0 == (1 & h) ? e.push.apply(e, u(l(s, h))) : r.push.apply(r, u(l(s, h))), + f.push("m" + h)); + var p = c(e), + d = c(r), + g = "orientation" + t + "Exact", + m = [ + "function ", + g, + "(", + f.join(), + "){var p=", + p, + ",n=", + d, + ",d=sub(p,n);return d[d.length-1];};return ", + g, + ].join(""); + return new Function("sum", "prod", "scale", "sub", m)(i, n, a, o); + } + var h = f(3), + p = f(4), + d = [ + function () { + return 0; + }, + function () { + return 0; + }, + function (t, e) { + return e[0] - t[0]; + }, + function (t, e, r) { + var n, + i = (t[1] - r[1]) * (e[0] - r[0]), + a = (t[0] - r[0]) * (e[1] - r[1]), + o = i - a; + if (i > 0) { + if (a <= 0) return o; + n = i + a; + } else { + if (!(i < 0)) return o; + if (a >= 0) return o; + n = -(i + a); + } + var s = 3.3306690738754716e-16 * n; + return o >= s || o <= -s ? o : h(t, e, r); + }, + function (t, e, r, n) { + var i = t[0] - n[0], + a = e[0] - n[0], + o = r[0] - n[0], + s = t[1] - n[1], + l = e[1] - n[1], + c = r[1] - n[1], + u = t[2] - n[2], + f = e[2] - n[2], + h = r[2] - n[2], + d = a * c, + g = o * l, + m = o * s, + v = i * c, + y = i * l, + x = a * s, + b = u * (d - g) + f * (m - v) + h * (y - x), + _ = + 7.771561172376103e-16 * + ((Math.abs(d) + Math.abs(g)) * Math.abs(u) + + (Math.abs(m) + Math.abs(v)) * Math.abs(f) + + (Math.abs(y) + Math.abs(x)) * Math.abs(h)); + return b > _ || -b > _ ? b : p(t, e, r, n); + }, + ]; + !(function () { + for (; d.length <= s; ) d.push(f(d.length)); + for (var t = [], r = ["slow"], n = 0; n <= s; ++n) + (t.push("a" + n), r.push("o" + n)); + var i = [ + "function getOrientation(", + t.join(), + "){switch(arguments.length){case 0:case 1:return 0;", + ]; + for (n = 2; n <= s; ++n) + i.push("case ", n, ":return o", n, "(", t.slice(0, n).join(), ");"); + (i.push( + "}var s=new Array(arguments.length);for(var i=0;i 0 && o > 0) || (a < 0 && o < 0)) return !1; + var s = n(r, t, e), + l = n(i, t, e); + if ((s > 0 && l > 0) || (s < 0 && l < 0)) return !1; + if (0 === a && 0 === o && 0 === s && 0 === l) + return (function (t, e, r, n) { + for (var i = 0; i < 2; ++i) { + var a = t[i], + o = e[i], + s = Math.min(a, o), + l = Math.max(a, o), + c = r[i], + u = n[i], + f = Math.min(c, u), + h = Math.max(c, u); + if (h < s || l < f) return !1; + } + return !0; + })(t, e, r, i); + return !0; + }; + var n = t("robust-orientation")[3]; + }, + { "robust-orientation": 388 }, + ], + 392: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = 0 | t.length, + n = 0 | e.length; + if (1 === r && 1 === n) + return (function (t, e) { + var r = t + e, + n = r - t, + i = t - (r - n) + (e - n); + if (i) return [i, r]; + return [r]; + })(t[0], -e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + c = 0, + u = Math.abs, + f = t[l], + h = u(f), + p = -e[c], + d = u(p); + h < d + ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((a = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); + (l < r && h < d) || c >= n + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); + var g, + m, + v = i + a, + y = v - i, + x = a - y, + b = x, + _ = v; + for (; l < r && c < n; ) + (h < d + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))), + (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g)); + for (; l < r; ) + ((x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (l += 1) < r && (f = t[l])); + for (; c < n; ) + ((x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (c += 1) < n && (p = -e[c])); + b && (o[s++] = b); + _ && (o[s++] = _); + s || (o[s++] = 0); + return ((o.length = s), o); + }; + }, + {}, + ], + 393: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = 0 | t.length, + n = 0 | e.length; + if (1 === r && 1 === n) + return (function (t, e) { + var r = t + e, + n = r - t, + i = t - (r - n) + (e - n); + if (i) return [i, r]; + return [r]; + })(t[0], e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + c = 0, + u = Math.abs, + f = t[l], + h = u(f), + p = e[c], + d = u(p); + h < d + ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((a = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); + (l < r && h < d) || c >= n + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); + var g, + m, + v = i + a, + y = v - i, + x = a - y, + b = x, + _ = v; + for (; l < r && c < n; ) + (h < d + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))), + (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g)); + for (; l < r; ) + ((x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (l += 1) < r && (f = t[l])); + for (; c < n; ) + ((x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (c += 1) < n && (p = e[c])); + b && (o[s++] = b); + _ && (o[s++] = _); + s || (o[s++] = 0); + return ((o.length = s), o); + }; + }, + {}, + ], + 394: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + }; + }, + {}, + ], + 395: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return i(n(t)); + }; + var n = t("boundary-cells"), + i = t("reduce-simplicial-complex"); + }, + { "boundary-cells": 76, "reduce-simplicial-complex": 373 }, + ], + 396: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, s) { + ((r = r || 0), + void 0 === s && + (s = (function (t) { + for (var e = t.length, r = 0, n = 0; n < e; ++n) + r = 0 | Math.max(r, t[n].length); + return r - 1; + })(t))); + if (0 === t.length || s < 1) + return { cells: [], vertexIds: [], vertexWeights: [] }; + var l = (function (t, e) { + for (var r = t.length, n = i.mallocUint8(r), a = 0; a < r; ++a) + n[a] = (t[a] < e) | 0; + return n; + })(e, +r), + c = (function (t, e) { + for ( + var r = t.length, + o = (((e * (e + 1)) / 2) * r) | 0, + s = i.mallocUint32(2 * o), + l = 0, + c = 0; + c < r; + ++c + ) + for (var u = t[c], e = u.length, f = 0; f < e; ++f) + for (var h = 0; h < f; ++h) { + var p = u[h], + d = u[f]; + ((s[l++] = 0 | Math.min(p, d)), (s[l++] = 0 | Math.max(p, d))); + } + a(n(s, [(l / 2) | 0, 2])); + for (var g = 2, c = 2; c < l; c += 2) + (s[c - 2] === s[c] && s[c - 1] === s[c + 1]) || + ((s[g++] = s[c]), (s[g++] = s[c + 1])); + return n(s, [(g / 2) | 0, 2]); + })(t, s), + u = (function (t, e, r, a) { + for ( + var o = t.data, s = t.shape[0], l = i.mallocDouble(s), c = 0, u = 0; + u < s; + ++u + ) { + var f = o[2 * u], + h = o[2 * u + 1]; + if (r[f] !== r[h]) { + var p = e[f], + d = e[h]; + ((o[2 * c] = f), (o[2 * c + 1] = h), (l[c++] = (d - a) / (d - p))); + } + } + return ((t.shape[0] = c), n(l, [c])); + })(c, e, l, +r), + f = (function (t, e) { + var r = i.mallocInt32(2 * e), + n = t.shape[0], + a = t.data; + r[0] = 0; + for (var o = 0, s = 0; s < n; ++s) { + var l = a[2 * s]; + if (l !== o) { + for (r[2 * o + 1] = s; ++o < l; ) + ((r[2 * o] = s), (r[2 * o + 1] = s)); + r[2 * o] = s; + } + } + r[2 * o + 1] = n; + for (; ++o < e; ) r[2 * o] = r[2 * o + 1] = n; + return r; + })(c, 0 | e.length), + h = o(s)(t, c.data, f, l), + p = (function (t) { + for ( + var e = 0 | t.shape[0], r = t.data, n = new Array(e), i = 0; + i < e; + ++i + ) + n[i] = [r[2 * i], r[2 * i + 1]]; + return n; + })(c), + d = [].slice.call(u.data, 0, u.shape[0]); + return ( + i.free(l), + i.free(c.data), + i.free(u.data), + i.free(f), + { cells: h, vertexIds: p, vertexWeights: d } + ); + }; + var n = t("ndarray"), + i = t("typedarray-pool"), + a = t("ndarray-sort"), + o = t("./lib/codegen"); + }, + { + "./lib/codegen": 397, + ndarray: 335, + "ndarray-sort": 333, + "typedarray-pool": 423, + }, + ], + 397: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = a[t]; + e || + (e = a[t] = + (function (t) { + var e = 0, + r = new Array(t + 1); + r[0] = [[]]; + for (var a = 1; a <= t; ++a) + for (var o = (r[a] = i(a)), s = 0; s < o.length; ++s) + e = Math.max(e, o[a].length); + var l = [ + "function B(C,E,i,j){", + "var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];", + "while(l>1,v=E[2*m+1];", + "if(v===b){return m}", + "if(b 0 && l.push(","), l.push("[")); + for (var n = 0; n < r.length; ++n) { + var i = r[n]; + (n > 0 && l.push(","), + l.push("B(C,E,c[", i[0], "],c[", i[1], "])")); + } + l.push("]"); + } + l.push(");"); + } + } + for (var a = t + 1; a > 1; --a) { + (a < t + 1 && l.push("else "), l.push("if(l===", a, "){")); + for (var u = [], s = 0; s < a; ++s) + u.push("(S[c[" + s + "]]<<" + s + ")"); + l.push( + "var M=", + u.join("+"), + ";if(M===0||M===", + (1 << a) - 1, + "){continue}switch(M){", + ); + for (var o = r[a - 1], s = 0; s < o.length; ++s) + (l.push("case ", s, ":"), c(o[s]), l.push("break;")); + l.push("}}"); + } + return ( + l.push("}return R;};return getContour", t, "d"), + new Function("pool", l.join(""))(n) + ); + })(t)); + return e; + }; + var n = t("typedarray-pool"), + i = t("marching-simplex-table"), + a = {}; + }, + { "marching-simplex-table": 312, "typedarray-pool": 423 }, + ], + 398: [ + function (t, e, r) { + "use strict"; + "use restrict"; + var n = t("bit-twiddle"), + i = t("union-find"); + function a(t, e) { + var r = t.length, + n = t.length - e.length, + i = Math.min; + if (n) return n; + switch (r) { + case 0: + return 0; + case 1: + return t[0] - e[0]; + case 2: + return (s = t[0] + t[1] - e[0] - e[1]) || i(t[0], t[1]) - i(e[0], e[1]); + case 3: + var a = t[0] + t[1], + o = e[0] + e[1]; + if ((s = a + t[2] - (o + e[2]))) return s; + var s, + l = i(t[0], t[1]), + c = i(e[0], e[1]); + return (s = i(l, t[2]) - i(c, e[2])) || i(l + t[2], a) - i(c + e[2], o); + default: + var u = t.slice(0); + u.sort(); + var f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) if ((n = u[h] - f[h])) return n; + return 0; + } + } + function o(t, e) { + return a(t[0], e[0]); + } + function s(t, e) { + if (e) { + for (var r = t.length, n = new Array(r), i = 0; i < r; ++i) + n[i] = [t[i], e[i]]; + n.sort(o); + for (i = 0; i < r; ++i) ((t[i] = n[i][0]), (e[i] = n[i][1])); + return t; + } + return (t.sort(a), t); + } + function l(t) { + if (0 === t.length) return []; + for (var e = 1, r = t.length, n = 1; n < r; ++n) { + var i = t[n]; + if (a(i, t[n - 1])) { + if (n === e) { + e++; + continue; + } + t[e++] = i; + } + } + return ((t.length = e), t); + } + function c(t, e) { + for (var r = 0, n = t.length - 1, i = -1; r <= n; ) { + var o = (r + n) >> 1, + s = a(t[o], e); + s <= 0 ? (0 === s && (i = o), (r = o + 1)) : s > 0 && (n = o - 1); + } + return i; + } + function u(t, e) { + for (var r = new Array(t.length), i = 0, o = r.length; i < o; ++i) + r[i] = []; + for (var s = [], l = ((i = 0), e.length); i < l; ++i) + for (var u = e[i], f = u.length, h = 1, p = 1 << f; h < p; ++h) { + s.length = n.popCount(h); + for (var d = 0, g = 0; g < f; ++g) h & (1 << g) && (s[d++] = u[g]); + var m = c(t, s); + if (!(m < 0)) + for (; r[m++].push(i), !(m >= t.length || 0 !== a(t[m], s)); ); + } + return r; + } + function f(t, e) { + if (e < 0) return []; + for (var r = [], i = (1 << (e + 1)) - 1, a = 0; a < t.length; ++a) + for (var o = t[a], l = i; l < 1 << o.length; l = n.nextCombination(l)) { + for (var c = new Array(e + 1), u = 0, f = 0; f < o.length; ++f) + l & (1 << f) && (c[u++] = o[f]); + r.push(c); + } + return s(r); + } + ((r.dimension = function (t) { + for (var e = 0, r = Math.max, n = 0, i = t.length; n < i; ++n) + e = r(e, t[n].length); + return e - 1; + }), + (r.countVertices = function (t) { + for (var e = -1, r = Math.max, n = 0, i = t.length; n < i; ++n) + for (var a = t[n], o = 0, s = a.length; o < s; ++o) e = r(e, a[o]); + return e + 1; + }), + (r.cloneCells = function (t) { + for (var e = new Array(t.length), r = 0, n = t.length; r < n; ++r) + e[r] = t[r].slice(0); + return e; + }), + (r.compareCells = a), + (r.normalize = s), + (r.unique = l), + (r.findCell = c), + (r.incidence = u), + (r.dual = function (t, e) { + if (!e) return u(l(f(t, 0)), t); + for (var r = new Array(e), n = 0; n < e; ++n) r[n] = []; + n = 0; + for (var i = t.length; n < i; ++n) + for (var a = t[n], o = 0, s = a.length; o < s; ++o) r[a[o]].push(n); + return r; + }), + (r.explode = function (t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0 | i.length, o = 1, l = 1 << a; o < l; ++o) { + for (var c = [], u = 0; u < a; ++u) (o >>> u) & 1 && c.push(i[u]); + e.push(c); + } + return s(e); + }), + (r.skeleton = f), + (r.boundary = function (t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; ++a) { + for (var l = new Array(i.length - 1), c = 0, u = 0; c < o; ++c) + c !== a && (l[u++] = i[c]); + e.push(l); + } + return s(e); + }), + (r.connectedComponents = function (t, e) { + return e + ? (function (t, e) { + for (var r = new i(e), n = 0; n < t.length; ++n) + for (var a = t[n], o = 0; o < a.length; ++o) + for (var s = o + 1; s < a.length; ++s) r.link(a[o], a[s]); + var l = [], + c = r.ranks; + for (n = 0; n < c.length; ++n) c[n] = -1; + for (n = 0; n < t.length; ++n) { + var u = r.find(t[n][0]); + c[u] < 0 + ? ((c[u] = l.length), l.push([t[n].slice(0)])) + : l[c[u]].push(t[n].slice(0)); + } + return l; + })(t, e) + : (function (t) { + for ( + var e = l(s(f(t, 0))), r = new i(e.length), n = 0; + n < t.length; + ++n + ) + for (var a = t[n], o = 0; o < a.length; ++o) + for (var u = c(e, [a[o]]), h = o + 1; h < a.length; ++h) + r.link(u, c(e, [a[h]])); + var p = [], + d = r.ranks; + for (n = 0; n < d.length; ++n) d[n] = -1; + for (n = 0; n < t.length; ++n) { + var g = r.find(c(e, [t[n][0]])); + d[g] < 0 + ? ((d[g] = p.length), p.push([t[n].slice(0)])) + : p[d[g]].push(t[n].slice(0)); + } + return p; + })(t); + })); + }, + { "bit-twiddle": 73, "union-find": 424 }, + ], + 399: [ + function (t, e, r) { + arguments[4][73][0].apply(r, arguments); + }, + { dup: 73 }, + ], + 400: [ + function (t, e, r) { + arguments[4][398][0].apply(r, arguments); + }, + { "bit-twiddle": 399, dup: 398, "union-find": 401 }, + ], + 401: [ + function (t, e, r) { + "use strict"; + "use restrict"; + function n(t) { + ((this.roots = new Array(t)), (this.ranks = new Array(t))); + for (var e = 0; e < t; ++e) ((this.roots[e] = e), (this.ranks[e] = 0)); + } + ((e.exports = n), + (n.prototype.length = function () { + return this.roots.length; + }), + (n.prototype.makeSet = function () { + var t = this.roots.length; + return (this.roots.push(t), this.ranks.push(0), t); + }), + (n.prototype.find = function (t) { + for (var e = this.roots; e[t] !== t; ) { + var r = e[t]; + ((e[t] = e[r]), (t = r)); + } + return t; + }), + (n.prototype.link = function (t, e) { + var r = this.find(t), + n = this.find(e); + if (r !== n) { + var i = this.ranks, + a = this.roots, + o = i[r], + s = i[n]; + o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); + } + })); + }, + {}, + ], + 402: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + for ( + var a = e.length, + o = t.length, + s = new Array(a), + l = new Array(a), + c = new Array(a), + u = new Array(a), + f = 0; + f < a; + ++f + ) + ((s[f] = l[f] = -1), (c[f] = 1 / 0), (u[f] = !1)); + for (var f = 0; f < o; ++f) { + var h = t[f]; + if (2 !== h.length) throw new Error("Input must be a graph"); + var p = h[1], + d = h[0]; + (-1 !== l[d] ? (l[d] = -2) : (l[d] = p), + -1 !== s[p] ? (s[p] = -2) : (s[p] = d)); + } + function g(t) { + if (u[t]) return 1 / 0; + var r, + i, + a, + o, + c, + f = s[t], + h = l[t]; + return f < 0 || h < 0 + ? 1 / 0 + : ((r = e[t]), + (i = e[f]), + (a = e[h]), + (o = Math.abs(n(r, i, a))), + (c = Math.sqrt(Math.pow(i[0] - a[0], 2) + Math.pow(i[1] - a[1], 2))), + o / c); + } + function m(t, e) { + var r = M[t], + n = M[e]; + ((M[t] = n), (M[e] = r), (A[r] = e), (A[n] = t)); + } + function v(t) { + return c[M[t]]; + } + function y(t) { + return 1 & t ? (t - 1) >> 1 : (t >> 1) - 1; + } + function x(t) { + for (var e = v(t); ; ) { + var r = e, + n = 2 * t + 1, + i = 2 * (t + 1), + a = t; + if (n < S) { + var o = v(n); + o < r && ((a = n), (r = o)); + } + if (i < S) { + var s = v(i); + s < r && (a = i); + } + if (a === t) return t; + (m(t, a), (t = a)); + } + } + function b(t) { + for (var e = v(t); t > 0; ) { + var r = y(t); + if (r >= 0) { + var n = v(r); + if (e < n) { + (m(t, r), (t = r)); + continue; + } + } + return t; + } + } + function _() { + if (S > 0) { + var t = M[0]; + return (m(0, S - 1), (S -= 1), x(0), t); + } + return -1; + } + function w(t, e) { + var r = M[t]; + return c[r] === e + ? t + : ((c[r] = -1 / 0), b(t), _(), (c[r] = e), b((S += 1) - 1)); + } + function k(t) { + if (!u[t]) { + u[t] = !0; + var e = s[t], + r = l[t]; + (s[r] >= 0 && (s[r] = e), + l[e] >= 0 && (l[e] = r), + A[e] >= 0 && w(A[e], g(e)), + A[r] >= 0 && w(A[r], g(r))); + } + } + for (var M = [], A = new Array(a), f = 0; f < a; ++f) { + var T = (c[f] = g(f)); + T < 1 / 0 ? ((A[f] = M.length), M.push(f)) : (A[f] = -1); + } + for (var S = M.length, f = S >> 1; f >= 0; --f) x(f); + for (;;) { + var C = _(); + if (C < 0 || c[C] > r) break; + k(C); + } + for (var E = [], f = 0; f < a; ++f) + u[f] || ((A[f] = E.length), E.push(e[f].slice())); + E.length; + function L(t, e) { + if (t[e] < 0) return e; + var r = e, + n = e; + do { + var i = t[n]; + if (!u[n] || i < 0 || i === n) break; + if (((i = t[(n = i)]), !u[n] || i < 0 || i === n)) break; + ((n = i), (r = t[r])); + } while (r !== n); + for (var a = e; a !== n; a = t[a]) t[a] = n; + return n; + } + var z = []; + return ( + t.forEach(function (t) { + var e = L(s, t[0]), + r = L(l, t[1]); + if (e >= 0 && r >= 0 && e !== r) { + var n = A[e], + i = A[r]; + n !== i && z.push([n, i]); + } + }), + i.unique(i.normalize(z)), + { positions: E, edges: z } + ); + }; + var n = t("robust-orientation"), + i = t("simplicial-complex"); + }, + { "robust-orientation": 388, "simplicial-complex": 400 }, + ], + 403: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, a, o, s; + if (e[0][0] < e[1][0]) ((r = e[0]), (a = e[1])); + else { + if (!(e[0][0] > e[1][0])) return i(e, t); + ((r = e[1]), (a = e[0])); + } + if (t[0][0] < t[1][0]) ((o = t[0]), (s = t[1])); + else { + if (!(t[0][0] > t[1][0])) return -i(t, e); + ((o = t[1]), (s = t[0])); + } + var l = n(r, a, s), + c = n(r, a, o); + if (l < 0) { + if (c <= 0) return l; + } else if (l > 0) { + if (c >= 0) return l; + } else if (c) return c; + if (((l = n(s, o, a)), (c = n(s, o, r)), l < 0)) { + if (c <= 0) return l; + } else if (l > 0) { + if (c >= 0) return l; + } else if (c) return c; + return a[0] - s[0]; + }; + var n = t("robust-orientation"); + function i(t, e) { + var r, i, a, o; + if (e[0][0] < e[1][0]) ((r = e[0]), (i = e[1])); + else { + if (!(e[0][0] > e[1][0])) { + var s = Math.min(t[0][1], t[1][1]), + l = Math.max(t[0][1], t[1][1]), + c = Math.min(e[0][1], e[1][1]), + u = Math.max(e[0][1], e[1][1]); + return l < c ? l - c : s > u ? s - u : l - u; + } + ((r = e[1]), (i = e[0])); + } + t[0][1] < t[1][1] ? ((a = t[0]), (o = t[1])) : ((a = t[1]), (o = t[0])); + var f = n(i, r, a); + return f || (f = n(i, r, o)) || o - i; + } + }, + { "robust-orientation": 388 }, + ], + 404: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = t.length, r = 2 * e, n = new Array(r), a = 0; a < e; ++a) { + var l = t[a], + c = l[0][0] < l[1][0]; + ((n[2 * a] = new f(l[0][0], l, c, a)), + (n[2 * a + 1] = new f(l[1][0], l, !c, a))); + } + n.sort(function (t, e) { + var r = t.x - e.x; + return ( + r || + (r = t.create - e.create) || + Math.min(t.segment[0][1], t.segment[1][1]) - + Math.min(e.segment[0][1], e.segment[1][1]) + ); + }); + for (var h = i(o), p = [], d = [], g = [], a = 0; a < r; ) { + for (var m = n[a].x, v = []; a < r; ) { + var y = n[a]; + if (y.x !== m) break; + ((a += 1), + y.segment[0][0] === y.x && y.segment[1][0] === y.x + ? y.create && + (y.segment[0][1] < y.segment[1][1] + ? (v.push(new u(y.segment[0][1], y.index, !0, !0)), + v.push(new u(y.segment[1][1], y.index, !1, !1))) + : (v.push(new u(y.segment[1][1], y.index, !0, !1)), + v.push(new u(y.segment[0][1], y.index, !1, !0)))) + : (h = y.create + ? h.insert(y.segment, y.index) + : h.remove(y.segment))); + } + (p.push(h.root), d.push(m), g.push(v)); + } + return new s(p, d, g); + }; + var n = t("binary-search-bounds"), + i = t("functional-red-black-tree"), + a = t("robust-orientation"), + o = t("./lib/order-segments"); + function s(t, e, r) { + ((this.slabs = t), (this.coordinates = e), (this.horizontal = r)); + } + function l(t, e) { + return t.y - e; + } + function c(t, e) { + for (var r = null; t; ) { + var n, + i, + o = t.key; + o[0][0] < o[1][0] ? ((n = o[0]), (i = o[1])) : ((n = o[1]), (i = o[0])); + var s = a(n, i, e); + if (s < 0) t = t.left; + else if (s > 0) + if (e[0] !== o[1][0]) ((r = t), (t = t.right)); + else { + if ((l = c(t.right, e))) return l; + t = t.left; + } + else { + if (e[0] !== o[1][0]) return t; + var l; + if ((l = c(t.right, e))) return l; + t = t.left; + } + } + return r; + } + function u(t, e, r, n) { + ((this.y = t), (this.index = e), (this.start = r), (this.closed = n)); + } + function f(t, e, r, n) { + ((this.x = t), (this.segment = e), (this.create = r), (this.index = n)); + } + s.prototype.castUp = function (t) { + var e = n.le(this.coordinates, t[0]); + if (e < 0) return -1; + this.slabs[e]; + var r = c(this.slabs[e], t), + i = -1; + if ((r && (i = r.value), this.coordinates[e] === t[0])) { + var s = null; + if ((r && (s = r.key), e > 0)) { + var u = c(this.slabs[e - 1], t); + u && + (s + ? o(u.key, s) > 0 && ((s = u.key), (i = u.value)) + : ((i = u.value), (s = u.key))); + } + var f = this.horizontal[e]; + if (f.length > 0) { + var h = n.ge(f, t[1], l); + if (h < f.length) { + var p = f[h]; + if (t[1] === p.y) { + if (p.closed) return p.index; + for (; h < f.length - 1 && f[h + 1].y === t[1]; ) + if ((p = f[(h += 1)]).closed) return p.index; + if (p.y === t[1] && !p.start) { + if ((h += 1) >= f.length) return i; + p = f[h]; + } + } + if (p.start) + if (s) { + var d = a(s[0], s[1], [t[0], p.y]); + (s[0][0] > s[1][0] && (d = -d), d > 0 && (i = p.index)); + } else i = p.index; + else p.y !== t[1] && (i = p.index); + } + } + } + return i; + }; + }, + { + "./lib/order-segments": 403, + "binary-search-bounds": 72, + "functional-red-black-tree": 199, + "robust-orientation": 388, + }, + ], + 405: [ + function (t, e, r) { + "use strict"; + var n = t("robust-dot-product"), + i = t("robust-sum"); + function a(t, e) { + var r = i(n(t, e), [e[e.length - 1]]); + return r[r.length - 1]; + } + function o(t, e, r, n) { + var i = -e / (n - e); + i < 0 ? (i = 0) : i > 1 && (i = 1); + for (var a = 1 - i, o = t.length, s = new Array(o), l = 0; l < o; ++l) + s[l] = i * t[l] + a * r[l]; + return s; + } + ((e.exports = function (t, e) { + for ( + var r = [], + n = [], + i = a(t[t.length - 1], e), + s = t[t.length - 1], + l = t[0], + c = 0; + c < t.length; + ++c, s = l + ) { + var u = a((l = t[c]), e); + if ((i < 0 && u > 0) || (i > 0 && u < 0)) { + var f = o(s, u, l, i); + (r.push(f), n.push(f.slice())); + } + (u < 0 + ? n.push(l.slice()) + : u > 0 + ? r.push(l.slice()) + : (r.push(l.slice()), n.push(l.slice())), + (i = u)); + } + return { positive: r, negative: n }; + }), + (e.exports.positive = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var c = a((s = t[l]), e); + (((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), + c >= 0 && r.push(s.slice()), + (n = c)); + } + return r; + }), + (e.exports.negative = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var c = a((s = t[l]), e); + (((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), + c <= 0 && r.push(s.slice()), + (n = c)); + } + return r; + })); + }, + { "robust-dot-product": 385, "robust-sum": 393 }, + ], + 406: [ + function (t, e, r) { + !(function () { + "use strict"; + var t = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: + /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[\+\-]/, + }; + function e(r) { + return (function (r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p = 1, + d = r.length, + g = ""; + for (a = 0; a < d; a++) + if ("string" == typeof r[a]) g += r[a]; + else if (Array.isArray(r[a])) { + if ((s = r[a])[2]) + for (i = n[p], o = 0; o < s[2].length; o++) { + if (!i.hasOwnProperty(s[2][o])) + throw new Error( + e('[sprintf] property "%s" does not exist', s[2][o]), + ); + i = i[s[2][o]]; + } + else i = s[1] ? n[s[1]] : n[p++]; + if ( + (t.not_type.test(s[8]) && + t.not_primitive.test(s[8]) && + i instanceof Function && + (i = i()), + t.numeric_arg.test(s[8]) && "number" != typeof i && isNaN(i)) + ) + throw new TypeError( + e("[sprintf] expecting number but found %T", i), + ); + switch ((t.number.test(s[8]) && (f = i >= 0), s[8])) { + case "b": + i = parseInt(i, 10).toString(2); + break; + case "c": + i = String.fromCharCode(parseInt(i, 10)); + break; + case "d": + case "i": + i = parseInt(i, 10); + break; + case "j": + i = JSON.stringify(i, null, s[6] ? parseInt(s[6]) : 0); + break; + case "e": + i = s[7] + ? parseFloat(i).toExponential(s[7]) + : parseFloat(i).toExponential(); + break; + case "f": + i = s[7] ? parseFloat(i).toFixed(s[7]) : parseFloat(i); + break; + case "g": + i = s[7] ? String(Number(i.toPrecision(s[7]))) : parseFloat(i); + break; + case "o": + i = (parseInt(i, 10) >>> 0).toString(8); + break; + case "s": + ((i = String(i)), (i = s[7] ? i.substring(0, s[7]) : i)); + break; + case "t": + ((i = String(!!i)), (i = s[7] ? i.substring(0, s[7]) : i)); + break; + case "T": + ((i = Object.prototype.toString + .call(i) + .slice(8, -1) + .toLowerCase()), + (i = s[7] ? i.substring(0, s[7]) : i)); + break; + case "u": + i = parseInt(i, 10) >>> 0; + break; + case "v": + ((i = i.valueOf()), (i = s[7] ? i.substring(0, s[7]) : i)); + break; + case "x": + i = (parseInt(i, 10) >>> 0).toString(16); + break; + case "X": + i = (parseInt(i, 10) >>> 0).toString(16).toUpperCase(); + } + t.json.test(s[8]) + ? (g += i) + : (!t.number.test(s[8]) || (f && !s[3]) + ? (h = "") + : ((h = f ? "+" : "-"), + (i = i.toString().replace(t.sign, ""))), + (c = s[4] ? ("0" === s[4] ? "0" : s[4].charAt(1)) : " "), + (u = s[6] - (h + i).length), + (l = s[6] && u > 0 ? c.repeat(u) : ""), + (g += s[5] ? h + i + l : "0" === c ? h + l + i : l + h + i)); + } + return g; + })( + (function (e) { + if (i[e]) return i[e]; + var r, + n = e, + a = [], + o = 0; + for (; n; ) { + if (null !== (r = t.text.exec(n))) a.push(r[0]); + else if (null !== (r = t.modulo.exec(n))) a.push("%"); + else { + if (null === (r = t.placeholder.exec(n))) + throw new SyntaxError("[sprintf] unexpected placeholder"); + if (r[2]) { + o |= 1; + var s = [], + l = r[2], + c = []; + if (null === (c = t.key.exec(l))) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + for (s.push(c[1]); "" !== (l = l.substring(c[0].length)); ) + if (null !== (c = t.key_access.exec(l))) s.push(c[1]); + else { + if (null === (c = t.index_access.exec(l))) + throw new SyntaxError( + "[sprintf] failed to parse named argument key", + ); + s.push(c[1]); + } + r[2] = s; + } else o |= 2; + if (3 === o) + throw new Error( + "[sprintf] mixing positional and named placeholders is not (yet) supported", + ); + a.push(r); + } + n = n.substring(r[0].length); + } + return (i[e] = a); + })(r), + arguments, + ); + } + function n(t, r) { + return e.apply(null, [t].concat(r || [])); + } + var i = Object.create(null); + (void 0 !== r && ((r.sprintf = e), (r.vsprintf = n)), + "undefined" != typeof window && + ((window.sprintf = e), (window.vsprintf = n))); + })(); + }, + {}, + ], + 407: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for ( + var e = t.length, + r = new Array(e), + n = new Array(e), + i = new Array(e), + a = new Array(e), + o = new Array(e), + s = new Array(e), + l = 0; + l < e; + ++l + ) + ((r[l] = -1), + (n[l] = 0), + (i[l] = !1), + (a[l] = 0), + (o[l] = -1), + (s[l] = [])); + var c, + u = 0, + f = [], + h = []; + function p(e) { + var l = [e], + c = [e]; + for (r[e] = n[e] = u, i[e] = !0, u += 1; c.length > 0; ) { + e = c[c.length - 1]; + var p = t[e]; + if (a[e] < p.length) { + for (var d = a[e]; d < p.length; ++d) { + var g = p[d]; + if (r[g] < 0) { + ((r[g] = n[g] = u), (i[g] = !0), (u += 1), l.push(g), c.push(g)); + break; + } + (i[g] && (n[e] = 0 | Math.min(n[e], n[g])), + o[g] >= 0 && s[e].push(o[g])); + } + a[e] = d; + } else { + if (n[e] === r[e]) { + for (var m = [], v = [], y = 0, d = l.length - 1; d >= 0; --d) { + var x = l[d]; + if ( + ((i[x] = !1), + m.push(x), + v.push(s[x]), + (y += s[x].length), + (o[x] = f.length), + x === e) + ) { + l.length = d; + break; + } + } + f.push(m); + for (var b = new Array(y), d = 0; d < v.length; d++) + for (var _ = 0; _ < v[d].length; _++) b[--y] = v[d][_]; + h.push(b); + } + c.pop(); + } + } + } + for (var l = 0; l < e; ++l) r[l] < 0 && p(l); + for (var l = 0; l < h.length; l++) { + var d = h[l]; + if (0 !== d.length) { + (d.sort(function (t, e) { + return t - e; + }), + (c = [d[0]])); + for (var g = 1; g < d.length; g++) d[g] !== d[g - 1] && c.push(d[g]); + h[l] = c; + } + } + return { components: f, adjacencyList: h }; + }; + }, + {}, + ], + 408: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return t + .split("") + .map(function (t) { + return t in n ? n[t] : ""; + }) + .join(""); + }; + var n = { + " ": " ", + 0: "\u2070", + 1: "\xb9", + 2: "\xb2", + 3: "\xb3", + 4: "\u2074", + 5: "\u2075", + 6: "\u2076", + 7: "\u2077", + 8: "\u2078", + 9: "\u2079", + "+": "\u207a", + "-": "\u207b", + a: "\u1d43", + b: "\u1d47", + c: "\u1d9c", + d: "\u1d48", + e: "\u1d49", + f: "\u1da0", + g: "\u1d4d", + h: "\u02b0", + i: "\u2071", + j: "\u02b2", + k: "\u1d4f", + l: "\u02e1", + m: "\u1d50", + n: "\u207f", + o: "\u1d52", + p: "\u1d56", + r: "\u02b3", + s: "\u02e2", + t: "\u1d57", + u: "\u1d58", + v: "\u1d5b", + w: "\u02b7", + x: "\u02e3", + y: "\u02b8", + z: "\u1dbb", + }; + }, + {}, + ], + 409: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + if (t.dimension <= 0) return { positions: [], cells: [] }; + if (1 === t.dimension) + return (function (t, e) { + for ( + var r = a(t, e), + n = r.length, + i = new Array(n), + o = new Array(n), + s = 0; + s < n; + ++s + ) + ((i[s] = [r[s]]), (o[s] = [s])); + return { positions: i, cells: o }; + })(t, e); + var r = t.order.join() + "-" + t.dtype, + s = o[r], + e = +e || 0; + s || + (s = o[r] = + (function (t, e) { + var r = t.length, + a = ["'use strict';"], + o = "surfaceNets" + t.join("_") + "d" + e; + (a.push( + "var contour=genContour({", + "order:[", + t.join(), + "],", + "scalarArguments: 3,", + "phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },", + ), + "generic" === e && a.push("getters:[0],")); + for (var s = [], l = [], c = 0; c < r; ++c) + (s.push("d" + c), l.push("d" + c)); + for (var c = 0; c < 1 << r; ++c) (s.push("v" + c), l.push("v" + c)); + for (var c = 0; c < 1 << r; ++c) (s.push("p" + c), l.push("p" + c)); + (s.push("a", "b", "c"), + l.push("a", "c"), + a.push("vertex:function vertexFunc(", s.join(), "){")); + for (var u = [], c = 0; c < 1 << r; ++c) + u.push("(p" + c + "<<" + c + ")"); + a.push( + "var m=(", + u.join("+"), + ")|0;if(m===0||m===", + (1 << (1 << r)) - 1, + "){return}", + ); + var f = [], + h = []; + 1 << (1 << r) <= 128 + ? (a.push("switch(m){"), (h = a)) + : a.push("switch(m>>>7){"); + for (var c = 0; c < 1 << (1 << r); ++c) { + if (1 << (1 << r) > 128 && c % 128 == 0) { + f.length > 0 && h.push("}}"); + var p = "vExtra" + f.length; + (a.push( + "case ", + c >>> 7, + ":", + p, + "(m&0x7f,", + l.join(), + ");break;", + ), + (h = ["function ", p, "(m,", l.join(), "){switch(m){"]), + f.push(h)); + } + h.push("case ", 127 & c, ":"); + for ( + var d = new Array(r), + g = new Array(r), + m = new Array(r), + v = new Array(r), + y = 0, + x = 0; + x < r; + ++x + ) + ((d[x] = []), (g[x] = []), (m[x] = 0), (v[x] = 0)); + for (var x = 0; x < 1 << r; ++x) + for (var b = 0; b < r; ++b) { + var _ = x ^ (1 << b); + if (!(_ > x) && !(c & (1 << _)) != !(c & (1 << x))) { + var w = 1; + (c & (1 << _) + ? g[b].push("v" + _ + "-v" + x) + : (g[b].push("v" + x + "-v" + _), (w = -w)), + w < 0 + ? (d[b].push("-v" + x + "-v" + _), (m[b] += 2)) + : (d[b].push("v" + x + "+v" + _), (m[b] -= 2)), + (y += 1)); + for (var k = 0; k < r; ++k) + k !== b && (_ & (1 << k) ? (v[k] += 1) : (v[k] -= 1)); + } + } + for (var M = [], b = 0; b < r; ++b) + if (0 === d[b].length) M.push("d" + b + "-0.5"); + else { + var A = ""; + m[b] < 0 + ? (A = m[b] + "*c") + : m[b] > 0 && (A = "+" + m[b] + "*c"); + var T = (d[b].length / y) * 0.5, + S = 0.5 + (v[b] / y) * 0.5; + M.push( + "d" + + b + + "-" + + S + + "-" + + T + + "*(" + + d[b].join("+") + + A + + ")/(" + + g[b].join("+") + + ")", + ); + } + h.push("a.push([", M.join(), "]);", "break;"); + } + (a.push("}},"), f.length > 0 && h.push("}}")); + for (var C = [], c = 0; c < 1 << (r - 1); ++c) C.push("v" + c); + (C.push("c0", "c1", "p0", "p1", "a", "b", "c"), + a.push("cell:function cellFunc(", C.join(), "){")); + var E = i(r - 1); + a.push( + "if(p0){b.push(", + E.map(function (t) { + return ( + "[" + + t.map(function (t) { + return "v" + t; + }) + + "]" + ); + }).join(), + ")}else{b.push(", + E.map(function (t) { + var e = t.slice(); + return ( + e.reverse(), + "[" + + e.map(function (t) { + return "v" + t; + }) + + "]" + ); + }).join(), + ")}}});function ", + o, + "(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ", + o, + ";", + ); + for (var c = 0; c < f.length; ++c) a.push(f[c].join("")); + return new Function("genContour", a.join(""))(n); + })(t.order, t.dtype)); + return s(t, e); + }; + var n = t("ndarray-extract-contour"), + i = t("triangulate-hypercube"), + a = t("zero-crossings"); + var o = {}; + }, + { + "ndarray-extract-contour": 324, + "triangulate-hypercube": 419, + "zero-crossings": 454, + }, + ], + 410: [ + function (t, e, r) { + "use strict"; + Object.defineProperty(r, "__esModule", { value: !0 }); + var n = (function () { + return function (t, e) { + if (Array.isArray(t)) return t; + if (Symbol.iterator in Object(t)) + return (function (t, e) { + var r = [], + n = !0, + i = !1, + a = void 0; + try { + for ( + var o, s = t[Symbol.iterator](); + !(n = (o = s.next()).done) && + (r.push(o.value), !e || r.length !== e); + n = !0 + ); + } catch (t) { + ((i = !0), (a = t)); + } finally { + try { + !n && s.return && s.return(); + } finally { + if (i) throw a; + } + } + return r; + })(t, e); + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ); + }; + })(), + i = 2 * Math.PI, + a = function (t, e, r, n, i, a, o) { + var s = t.x, + l = t.y; + return { x: n * (s *= e) - i * (l *= r) + a, y: i * s + n * l + o }; + }, + o = function (t, e) { + var r = (4 / 3) * Math.tan(e / 4), + n = Math.cos(t), + i = Math.sin(t), + a = Math.cos(t + e), + o = Math.sin(t + e); + return [ + { x: n - i * r, y: i + n * r }, + { x: a + o * r, y: o - a * r }, + { x: a, y: o }, + ]; + }, + s = function (t, e, r, n) { + var i = t * n - e * r < 0 ? -1 : 1, + a = + (t * r + e * n) / + (Math.sqrt(t * t + e * e) * Math.sqrt(t * t + e * e)); + return (a > 1 && (a = 1), a < -1 && (a = -1), i * Math.acos(a)); + }; + ((r.default = function (t) { + var e = t.px, + r = t.py, + l = t.cx, + c = t.cy, + u = t.rx, + f = t.ry, + h = t.xAxisRotation, + p = void 0 === h ? 0 : h, + d = t.largeArcFlag, + g = void 0 === d ? 0 : d, + m = t.sweepFlag, + v = void 0 === m ? 0 : m, + y = []; + if (0 === u || 0 === f) return []; + var x = Math.sin((p * i) / 360), + b = Math.cos((p * i) / 360), + _ = (b * (e - l)) / 2 + (x * (r - c)) / 2, + w = (-x * (e - l)) / 2 + (b * (r - c)) / 2; + if (0 === _ && 0 === w) return []; + ((u = Math.abs(u)), (f = Math.abs(f))); + var k = Math.pow(_, 2) / Math.pow(u, 2) + Math.pow(w, 2) / Math.pow(f, 2); + k > 1 && ((u *= Math.sqrt(k)), (f *= Math.sqrt(k))); + var M = (function (t, e, r, n, a, o, l, c, u, f, h, p) { + var d = Math.pow(a, 2), + g = Math.pow(o, 2), + m = Math.pow(h, 2), + v = Math.pow(p, 2), + y = d * g - d * v - g * m; + (y < 0 && (y = 0), (y /= d * v + g * m)); + var x = (((y = Math.sqrt(y) * (l === c ? -1 : 1)) * a) / o) * p, + b = ((y * -o) / a) * h, + _ = f * x - u * b + (t + r) / 2, + w = u * x + f * b + (e + n) / 2, + k = (h - x) / a, + M = (p - b) / o, + A = (-h - x) / a, + T = (-p - b) / o, + S = s(1, 0, k, M), + C = s(k, M, A, T); + return ( + 0 === c && C > 0 && (C -= i), + 1 === c && C < 0 && (C += i), + [_, w, S, C] + ); + })(e, r, l, c, u, f, g, v, x, b, _, w), + A = n(M, 4), + T = A[0], + S = A[1], + C = A[2], + E = A[3], + L = Math.max(Math.ceil(Math.abs(E) / (i / 4)), 1); + E /= L; + for (var z = 0; z < L; z++) (y.push(o(C, E)), (C += E)); + return y.map(function (t) { + var e = a(t[0], u, f, b, x, T, S), + r = e.x, + n = e.y, + i = a(t[1], u, f, b, x, T, S), + o = i.x, + s = i.y, + l = a(t[2], u, f, b, x, T, S); + return { x1: r, y1: n, x2: o, y2: s, x: l.x, y: l.y }; + }); + }), + (e.exports = r.default)); + }, + {}, + ], + 411: [ + function (t, e, r) { + "use strict"; + var n = t("parse-svg-path"), + i = t("abs-svg-path"), + a = t("normalize-svg-path"), + o = t("is-svg-path"), + s = t("assert"); + e.exports = function (t) { + Array.isArray(t) && 1 === t.length && "string" == typeof t[0] && (t = t[0]); + "string" == typeof t && (s(o(t), "String is not an SVG path."), (t = n(t))); + if ( + (s( + Array.isArray(t), + "Argument should be a string or an array of path segments.", + ), + (t = i(t)), + !(t = a(t)).length) + ) + return [0, 0, 0, 0]; + for ( + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r = 0, l = t.length; + r < l; + r++ + ) + for (var c = t[r].slice(1), u = 0; u < c.length; u += 2) + (c[u + 0] < e[0] && (e[0] = c[u + 0]), + c[u + 1] < e[1] && (e[1] = c[u + 1]), + c[u + 0] > e[2] && (e[2] = c[u + 0]), + c[u + 1] > e[3] && (e[3] = c[u + 1])); + return e; + }; + }, + { + "abs-svg-path": 44, + assert: 52, + "is-svg-path": 309, + "normalize-svg-path": 412, + "parse-svg-path": 344, + }, + ], + 412: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for ( + var e, + r = [], + o = 0, + s = 0, + l = 0, + c = 0, + u = null, + f = null, + h = 0, + p = 0, + d = 0, + g = t.length; + d < g; + d++ + ) { + var m = t[d], + v = m[0]; + switch (v) { + case "M": + ((l = m[1]), (c = m[2])); + break; + case "A": + var y = n({ + px: h, + py: p, + cx: m[6], + cy: m[7], + rx: m[1], + ry: m[2], + xAxisRotation: m[3], + largeArcFlag: m[4], + sweepFlag: m[5], + }); + if (!y.length) continue; + for (var x, b = 0; b < y.length; b++) + ((x = y[b]), + (m = ["C", x.x1, x.y1, x.x2, x.y2, x.x, x.y]), + b < y.length - 1 && r.push(m)); + break; + case "S": + var _ = h, + w = p; + (("C" != e && "S" != e) || ((_ += _ - o), (w += w - s)), + (m = ["C", _, w, m[1], m[2], m[3], m[4]])); + break; + case "T": + ("Q" == e || "T" == e + ? ((u = 2 * h - u), (f = 2 * p - f)) + : ((u = h), (f = p)), + (m = a(h, p, u, f, m[1], m[2]))); + break; + case "Q": + ((u = m[1]), (f = m[2]), (m = a(h, p, m[1], m[2], m[3], m[4]))); + break; + case "L": + m = i(h, p, m[1], m[2]); + break; + case "H": + m = i(h, p, m[1], p); + break; + case "V": + m = i(h, p, h, m[1]); + break; + case "Z": + m = i(h, p, l, c); + } + ((e = v), + (h = m[m.length - 2]), + (p = m[m.length - 1]), + m.length > 4 + ? ((o = m[m.length - 4]), (s = m[m.length - 3])) + : ((o = h), (s = p)), + r.push(m)); + } + return r; + }; + var n = t("svg-arc-to-cubic-bezier"); + function i(t, e, r, n) { + return ["C", t, e, r, n, r, n]; + } + function a(t, e, r, n, i, a) { + return [ + "C", + t / 3 + (2 / 3) * r, + e / 3 + (2 / 3) * n, + i / 3 + (2 / 3) * r, + a / 3 + (2 / 3) * n, + i, + a, + ]; + } + }, + { "svg-arc-to-cubic-bezier": 410 }, + ], + 413: [ + function (t, e, r) { + (function (r) { + "use strict"; + var n = t("svg-path-bounds"), + i = t("parse-svg-path"), + a = t("draw-svg-path"), + o = t("is-svg-path"), + s = t("bitmap-sdf"), + l = document.createElement("canvas"), + c = l.getContext("2d"); + e.exports = function (t, e) { + if (!o(t)) throw Error("Argument should be valid svg path string"); + e || (e = {}); + var u, f; + e.shape + ? ((u = e.shape[0]), (f = e.shape[1])) + : ((u = l.width = e.w || e.width || 200), + (f = l.height = e.h || e.height || 200)); + var h = Math.min(u, f), + p = e.stroke || 0, + d = e.viewbox || e.viewBox || n(t), + g = [u / (d[2] - d[0]), f / (d[3] - d[1])], + m = Math.min(g[0] || 0, g[1] || 0) / 2; + ((c.fillStyle = "black"), + c.fillRect(0, 0, u, f), + (c.fillStyle = "white"), + p && + ("number" != typeof p && (p = 1), + (c.strokeStyle = p > 0 ? "white" : "black"), + (c.lineWidth = Math.abs(p)))); + if ((c.translate(0.5 * u, 0.5 * f), c.scale(m, m), r.Path2D)) { + var v = new Path2D(t); + (c.fill(v), p && c.stroke(v)); + } else { + var y = i(t); + (a(c, y), c.fill(), p && c.stroke()); + } + return ( + c.setTransform(1, 0, 0, 1, 0, 0), + s(c, { + cutoff: null != e.cutoff ? e.cutoff : 0.5, + radius: null != e.radius ? e.radius : 0.5 * h, + }) + ); + }; + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { + "bitmap-sdf": 74, + "draw-svg-path": 134, + "is-svg-path": 309, + "parse-svg-path": 344, + "svg-path-bounds": 411, + }, + ], + 414: [ + function (t, e, r) { + (function (r) { + "use strict"; + e.exports = function t(e, r, i) { + var i = i || {}; + var o = a[e]; + o || (o = a[e] = { " ": { data: new Float32Array(0), shape: 0.2 } }); + var s = o[r]; + if (!s) + if (r.length <= 1 || !/\d/.test(r)) + s = o[r] = (function (t) { + for ( + var e = t.cells, + r = t.positions, + n = new Float32Array(6 * e.length), + i = 0, + a = 0, + o = 0; + o < e.length; + ++o + ) + for (var s = e[o], l = 0; l < 3; ++l) { + var c = r[s[l]]; + ((n[i++] = c[0]), + (n[i++] = c[1] + 1.4), + (a = Math.max(c[0], a))); + } + return { data: n, shape: a }; + })( + n(r, { + triangles: !0, + font: e, + textAlign: i.textAlign || "left", + textBaseline: "alphabetic", + }), + ); + else { + for ( + var l = r.split(/(\d|\s)/), + c = new Array(l.length), + u = 0, + f = 0, + h = 0; + h < l.length; + ++h + ) + ((c[h] = t(e, l[h])), + (u += c[h].data.length), + (f += c[h].shape), + h > 0 && (f += 0.02)); + for ( + var p = new Float32Array(u), d = 0, g = -0.5 * f, h = 0; + h < c.length; + ++h + ) { + for (var m = c[h].data, v = 0; v < m.length; v += 2) + ((p[d++] = m[v] + g), (p[d++] = m[v + 1])); + g += c[h].shape + 0.02; + } + s = o[r] = { data: p, shape: f }; + } + return s; + }; + var n = t("vectorize-text"), + i = window || r.global || {}, + a = i.__TEXT_CACHE || {}; + i.__TEXT_CACHE = {}; + }).call(this, t("_process")); + }, + { _process: 366, "vectorize-text": 430 }, + ], + 415: [ + function (t, e, r) { + !(function (t) { + var r = /^\s+/, + n = /\s+$/, + i = 0, + a = t.round, + o = t.min, + s = t.max, + l = t.random; + function c(e, l) { + if (((e = e || ""), (l = l || {}), e instanceof c)) return e; + if (!(this instanceof c)) return new c(e, l); + var u = (function (e) { + var i = { r: 0, g: 0, b: 0 }, + a = 1, + l = null, + c = null, + u = null, + f = !1, + h = !1; + "string" == typeof e && + (e = (function (t) { + t = t.replace(r, "").replace(n, "").toLowerCase(); + var e, + i = !1; + if (S[t]) ((t = S[t]), (i = !0)); + else if ("transparent" == t) + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + if ((e = j.rgb.exec(t))) return { r: e[1], g: e[2], b: e[3] }; + if ((e = j.rgba.exec(t))) + return { r: e[1], g: e[2], b: e[3], a: e[4] }; + if ((e = j.hsl.exec(t))) return { h: e[1], s: e[2], l: e[3] }; + if ((e = j.hsla.exec(t))) + return { h: e[1], s: e[2], l: e[3], a: e[4] }; + if ((e = j.hsv.exec(t))) return { h: e[1], s: e[2], v: e[3] }; + if ((e = j.hsva.exec(t))) + return { h: e[1], s: e[2], v: e[3], a: e[4] }; + if ((e = j.hex8.exec(t))) + return { + r: P(e[1]), + g: P(e[2]), + b: P(e[3]), + a: R(e[4]), + format: i ? "name" : "hex8", + }; + if ((e = j.hex6.exec(t))) + return { + r: P(e[1]), + g: P(e[2]), + b: P(e[3]), + format: i ? "name" : "hex", + }; + if ((e = j.hex4.exec(t))) + return { + r: P(e[1] + "" + e[1]), + g: P(e[2] + "" + e[2]), + b: P(e[3] + "" + e[3]), + a: R(e[4] + "" + e[4]), + format: i ? "name" : "hex8", + }; + if ((e = j.hex3.exec(t))) + return { + r: P(e[1] + "" + e[1]), + g: P(e[2] + "" + e[2]), + b: P(e[3] + "" + e[3]), + format: i ? "name" : "hex", + }; + return !1; + })(e)); + "object" == typeof e && + (V(e.r) && V(e.g) && V(e.b) + ? ((p = e.r), + (d = e.g), + (g = e.b), + (i = { + r: 255 * L(p, 255), + g: 255 * L(d, 255), + b: 255 * L(g, 255), + }), + (f = !0), + (h = "%" === String(e.r).substr(-1) ? "prgb" : "rgb")) + : V(e.h) && V(e.s) && V(e.v) + ? ((l = O(e.s)), + (c = O(e.v)), + (i = (function (e, r, n) { + ((e = 6 * L(e, 360)), (r = L(r, 100)), (n = L(n, 100))); + var i = t.floor(e), + a = e - i, + o = n * (1 - r), + s = n * (1 - a * r), + l = n * (1 - (1 - a) * r), + c = i % 6; + return { + r: 255 * [n, s, o, o, l, n][c], + g: 255 * [l, n, n, s, o, o][c], + b: 255 * [o, o, l, n, n, s][c], + }; + })(e.h, l, c)), + (f = !0), + (h = "hsv")) + : V(e.h) && + V(e.s) && + V(e.l) && + ((l = O(e.s)), + (u = O(e.l)), + (i = (function (t, e, r) { + var n, i, a; + function o(t, e, r) { + return ( + r < 0 && (r += 1), + r > 1 && (r -= 1), + r < 1 / 6 + ? t + 6 * (e - t) * r + : r < 0.5 + ? e + : r < 2 / 3 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + if ( + ((t = L(t, 360)), (e = L(e, 100)), (r = L(r, 100)), 0 === e) + ) + n = i = a = r; + else { + var s = r < 0.5 ? r * (1 + e) : r + e - r * e, + l = 2 * r - s; + ((n = o(l, s, t + 1 / 3)), + (i = o(l, s, t)), + (a = o(l, s, t - 1 / 3))); + } + return { r: 255 * n, g: 255 * i, b: 255 * a }; + })(e.h, l, u)), + (f = !0), + (h = "hsl")), + e.hasOwnProperty("a") && (a = e.a)); + var p, d, g; + return ( + (a = E(a)), + { + ok: f, + format: e.format || h, + r: o(255, s(i.r, 0)), + g: o(255, s(i.g, 0)), + b: o(255, s(i.b, 0)), + a: a, + } + ); + })(e); + ((this._originalInput = e), + (this._r = u.r), + (this._g = u.g), + (this._b = u.b), + (this._a = u.a), + (this._roundA = a(100 * this._a) / 100), + (this._format = l.format || u.format), + (this._gradientType = l.gradientType), + this._r < 1 && (this._r = a(this._r)), + this._g < 1 && (this._g = a(this._g)), + this._b < 1 && (this._b = a(this._b)), + (this._ok = u.ok), + (this._tc_id = i++)); + } + function u(t, e, r) { + ((t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255))); + var n, + i, + a = s(t, e, r), + l = o(t, e, r), + c = (a + l) / 2; + if (a == l) n = i = 0; + else { + var u = a - l; + switch (((i = c > 0.5 ? u / (2 - a - l) : u / (a + l)), a)) { + case t: + n = (e - r) / u + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / u + 2; + break; + case r: + n = (t - e) / u + 4; + } + n /= 6; + } + return { h: n, s: i, l: c }; + } + function f(t, e, r) { + ((t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255))); + var n, + i, + a = s(t, e, r), + l = o(t, e, r), + c = a, + u = a - l; + if (((i = 0 === a ? 0 : u / a), a == l)) n = 0; + else { + switch (a) { + case t: + n = (e - r) / u + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / u + 2; + break; + case r: + n = (t - e) / u + 4; + } + n /= 6; + } + return { h: n, s: i, v: c }; + } + function h(t, e, r, n) { + var i = [ + D(a(t).toString(16)), + D(a(e).toString(16)), + D(a(r).toString(16)), + ]; + return n && + i[0].charAt(0) == i[0].charAt(1) && + i[1].charAt(0) == i[1].charAt(1) && + i[2].charAt(0) == i[2].charAt(1) + ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + : i.join(""); + } + function p(t, e, r, n) { + return [ + D(I(n)), + D(a(t).toString(16)), + D(a(e).toString(16)), + D(a(r).toString(16)), + ].join(""); + } + function d(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return ((r.s -= e / 100), (r.s = z(r.s)), c(r)); + } + function g(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return ((r.s += e / 100), (r.s = z(r.s)), c(r)); + } + function m(t) { + return c(t).desaturate(100); + } + function v(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return ((r.l += e / 100), (r.l = z(r.l)), c(r)); + } + function y(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toRgb(); + return ( + (r.r = s(0, o(255, r.r - a((-e / 100) * 255)))), + (r.g = s(0, o(255, r.g - a((-e / 100) * 255)))), + (r.b = s(0, o(255, r.b - a((-e / 100) * 255)))), + c(r) + ); + } + function x(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return ((r.l -= e / 100), (r.l = z(r.l)), c(r)); + } + function b(t, e) { + var r = c(t).toHsl(), + n = (r.h + e) % 360; + return ((r.h = n < 0 ? 360 + n : n), c(r)); + } + function _(t) { + var e = c(t).toHsl(); + return ((e.h = (e.h + 180) % 360), c(e)); + } + function w(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 120) % 360, s: e.s, l: e.l }), + c({ h: (r + 240) % 360, s: e.s, l: e.l }), + ]; + } + function k(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 90) % 360, s: e.s, l: e.l }), + c({ h: (r + 180) % 360, s: e.s, l: e.l }), + c({ h: (r + 270) % 360, s: e.s, l: e.l }), + ]; + } + function M(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 72) % 360, s: e.s, l: e.l }), + c({ h: (r + 216) % 360, s: e.s, l: e.l }), + ]; + } + function A(t, e, r) { + ((e = e || 6), (r = r || 30)); + var n = c(t).toHsl(), + i = 360 / r, + a = [c(t)]; + for (n.h = (n.h - ((i * e) >> 1) + 720) % 360; --e; ) + ((n.h = (n.h + i) % 360), a.push(c(n))); + return a; + } + function T(t, e) { + e = e || 6; + for ( + var r = c(t).toHsv(), n = r.h, i = r.s, a = r.v, o = [], s = 1 / e; + e--; + + ) + (o.push(c({ h: n, s: i, v: a })), (a = (a + s) % 1)); + return o; + } + ((c.prototype = { + isDark: function () { + return this.getBrightness() < 128; + }, + isLight: function () { + return !this.isDark(); + }, + isValid: function () { + return this._ok; + }, + getOriginalInput: function () { + return this._originalInput; + }, + getFormat: function () { + return this._format; + }, + getAlpha: function () { + return this._a; + }, + getBrightness: function () { + var t = this.toRgb(); + return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3; + }, + getLuminance: function () { + var e, + r, + n, + i = this.toRgb(); + return ( + (e = i.r / 255), + (r = i.g / 255), + (n = i.b / 255), + 0.2126 * + (e <= 0.03928 ? e / 12.92 : t.pow((e + 0.055) / 1.055, 2.4)) + + 0.7152 * + (r <= 0.03928 ? r / 12.92 : t.pow((r + 0.055) / 1.055, 2.4)) + + 0.0722 * + (n <= 0.03928 ? n / 12.92 : t.pow((n + 0.055) / 1.055, 2.4)) + ); + }, + setAlpha: function (t) { + return ( + (this._a = E(t)), + (this._roundA = a(100 * this._a) / 100), + this + ); + }, + toHsv: function () { + var t = f(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, v: t.v, a: this._a }; + }, + toHsvString: function () { + var t = f(this._r, this._g, this._b), + e = a(360 * t.h), + r = a(100 * t.s), + n = a(100 * t.v); + return 1 == this._a + ? "hsv(" + e + ", " + r + "%, " + n + "%)" + : "hsva(" + e + ", " + r + "%, " + n + "%, " + this._roundA + ")"; + }, + toHsl: function () { + var t = u(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, l: t.l, a: this._a }; + }, + toHslString: function () { + var t = u(this._r, this._g, this._b), + e = a(360 * t.h), + r = a(100 * t.s), + n = a(100 * t.l); + return 1 == this._a + ? "hsl(" + e + ", " + r + "%, " + n + "%)" + : "hsla(" + e + ", " + r + "%, " + n + "%, " + this._roundA + ")"; + }, + toHex: function (t) { + return h(this._r, this._g, this._b, t); + }, + toHexString: function (t) { + return "#" + this.toHex(t); + }, + toHex8: function (t) { + return (function (t, e, r, n, i) { + var o = [ + D(a(t).toString(16)), + D(a(e).toString(16)), + D(a(r).toString(16)), + D(I(n)), + ]; + if ( + i && + o[0].charAt(0) == o[0].charAt(1) && + o[1].charAt(0) == o[1].charAt(1) && + o[2].charAt(0) == o[2].charAt(1) && + o[3].charAt(0) == o[3].charAt(1) + ) + return ( + o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) + o[3].charAt(0) + ); + return o.join(""); + })(this._r, this._g, this._b, this._a, t); + }, + toHex8String: function (t) { + return "#" + this.toHex8(t); + }, + toRgb: function () { + return { r: a(this._r), g: a(this._g), b: a(this._b), a: this._a }; + }, + toRgbString: function () { + return 1 == this._a + ? "rgb(" + a(this._r) + ", " + a(this._g) + ", " + a(this._b) + ")" + : "rgba(" + + a(this._r) + + ", " + + a(this._g) + + ", " + + a(this._b) + + ", " + + this._roundA + + ")"; + }, + toPercentageRgb: function () { + return { + r: a(100 * L(this._r, 255)) + "%", + g: a(100 * L(this._g, 255)) + "%", + b: a(100 * L(this._b, 255)) + "%", + a: this._a, + }; + }, + toPercentageRgbString: function () { + return 1 == this._a + ? "rgb(" + + a(100 * L(this._r, 255)) + + "%, " + + a(100 * L(this._g, 255)) + + "%, " + + a(100 * L(this._b, 255)) + + "%)" + : "rgba(" + + a(100 * L(this._r, 255)) + + "%, " + + a(100 * L(this._g, 255)) + + "%, " + + a(100 * L(this._b, 255)) + + "%, " + + this._roundA + + ")"; + }, + toName: function () { + return 0 === this._a + ? "transparent" + : !(this._a < 1) && (C[h(this._r, this._g, this._b, !0)] || !1); + }, + toFilter: function (t) { + var e = "#" + p(this._r, this._g, this._b, this._a), + r = e, + n = this._gradientType ? "GradientType = 1, " : ""; + if (t) { + var i = c(t); + r = "#" + p(i._r, i._g, i._b, i._a); + } + return ( + "progid:DXImageTransform.Microsoft.gradient(" + + n + + "startColorstr=" + + e + + ",endColorstr=" + + r + + ")" + ); + }, + toString: function (t) { + var e = !!t; + t = t || this._format; + var r = !1, + n = this._a < 1 && this._a >= 0; + return e || + !n || + ("hex" !== t && + "hex6" !== t && + "hex3" !== t && + "hex4" !== t && + "hex8" !== t && + "name" !== t) + ? ("rgb" === t && (r = this.toRgbString()), + "prgb" === t && (r = this.toPercentageRgbString()), + ("hex" !== t && "hex6" !== t) || (r = this.toHexString()), + "hex3" === t && (r = this.toHexString(!0)), + "hex4" === t && (r = this.toHex8String(!0)), + "hex8" === t && (r = this.toHex8String()), + "name" === t && (r = this.toName()), + "hsl" === t && (r = this.toHslString()), + "hsv" === t && (r = this.toHsvString()), + r || this.toHexString()) + : "name" === t && 0 === this._a + ? this.toName() + : this.toRgbString(); + }, + clone: function () { + return c(this.toString()); + }, + _applyModification: function (t, e) { + var r = t.apply(null, [this].concat([].slice.call(e))); + return ( + (this._r = r._r), + (this._g = r._g), + (this._b = r._b), + this.setAlpha(r._a), + this + ); + }, + lighten: function () { + return this._applyModification(v, arguments); + }, + brighten: function () { + return this._applyModification(y, arguments); + }, + darken: function () { + return this._applyModification(x, arguments); + }, + desaturate: function () { + return this._applyModification(d, arguments); + }, + saturate: function () { + return this._applyModification(g, arguments); + }, + greyscale: function () { + return this._applyModification(m, arguments); + }, + spin: function () { + return this._applyModification(b, arguments); + }, + _applyCombination: function (t, e) { + return t.apply(null, [this].concat([].slice.call(e))); + }, + analogous: function () { + return this._applyCombination(A, arguments); + }, + complement: function () { + return this._applyCombination(_, arguments); + }, + monochromatic: function () { + return this._applyCombination(T, arguments); + }, + splitcomplement: function () { + return this._applyCombination(M, arguments); + }, + triad: function () { + return this._applyCombination(w, arguments); + }, + tetrad: function () { + return this._applyCombination(k, arguments); + }, + }), + (c.fromRatio = function (t, e) { + if ("object" == typeof t) { + var r = {}; + for (var n in t) + t.hasOwnProperty(n) && (r[n] = "a" === n ? t[n] : O(t[n])); + t = r; + } + return c(t, e); + }), + (c.equals = function (t, e) { + return !(!t || !e) && c(t).toRgbString() == c(e).toRgbString(); + }), + (c.random = function () { + return c.fromRatio({ r: l(), g: l(), b: l() }); + }), + (c.mix = function (t, e, r) { + r = 0 === r ? 0 : r || 50; + var n = c(t).toRgb(), + i = c(e).toRgb(), + a = r / 100; + return c({ + r: (i.r - n.r) * a + n.r, + g: (i.g - n.g) * a + n.g, + b: (i.b - n.b) * a + n.b, + a: (i.a - n.a) * a + n.a, + }); + }), + (c.readability = function (e, r) { + var n = c(e), + i = c(r); + return ( + (t.max(n.getLuminance(), i.getLuminance()) + 0.05) / + (t.min(n.getLuminance(), i.getLuminance()) + 0.05) + ); + }), + (c.isReadable = function (t, e, r) { + var n, + i, + a = c.readability(t, e); + switch ( + ((i = !1), + (n = (function (t) { + var e, r; + ((e = ( + (t = t || { level: "AA", size: "small" }).level || "AA" + ).toUpperCase()), + (r = (t.size || "small").toLowerCase()), + "AA" !== e && "AAA" !== e && (e = "AA")); + "small" !== r && "large" !== r && (r = "small"); + return { level: e, size: r }; + })(r)).level + n.size) + ) { + case "AAsmall": + case "AAAlarge": + i = a >= 4.5; + break; + case "AAlarge": + i = a >= 3; + break; + case "AAAsmall": + i = a >= 7; + } + return i; + }), + (c.mostReadable = function (t, e, r) { + var n, + i, + a, + o, + s = null, + l = 0; + ((i = (r = r || {}).includeFallbackColors), + (a = r.level), + (o = r.size)); + for (var u = 0; u < e.length; u++) + (n = c.readability(t, e[u])) > l && ((l = n), (s = c(e[u]))); + return c.isReadable(t, s, { level: a, size: o }) || !i + ? s + : ((r.includeFallbackColors = !1), + c.mostReadable(t, ["#fff", "#000"], r)); + })); + var S = (c.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32", + }), + C = (c.hexNames = (function (t) { + var e = {}; + for (var r in t) t.hasOwnProperty(r) && (e[t[r]] = r); + return e; + })(S)); + function E(t) { + return ((t = parseFloat(t)), (isNaN(t) || t < 0 || t > 1) && (t = 1), t); + } + function L(e, r) { + (function (t) { + return ( + "string" == typeof t && -1 != t.indexOf(".") && 1 === parseFloat(t) + ); + })(e) && (e = "100%"); + var n = (function (t) { + return "string" == typeof t && -1 != t.indexOf("%"); + })(e); + return ( + (e = o(r, s(0, parseFloat(e)))), + n && (e = parseInt(e * r, 10) / 100), + t.abs(e - r) < 1e-6 ? 1 : (e % r) / parseFloat(r) + ); + } + function z(t) { + return o(1, s(0, t)); + } + function P(t) { + return parseInt(t, 16); + } + function D(t) { + return 1 == t.length ? "0" + t : "" + t; + } + function O(t) { + return (t <= 1 && (t = 100 * t + "%"), t); + } + function I(e) { + return t.round(255 * parseFloat(e)).toString(16); + } + function R(t) { + return P(t) / 255; + } + var B, + F, + N, + j = + ((F = + "[\\s|\\(]+(" + + (B = "(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)") + + ")[,|\\s]+(" + + B + + ")[,|\\s]+(" + + B + + ")\\s*\\)?"), + (N = + "[\\s|\\(]+(" + + B + + ")[,|\\s]+(" + + B + + ")[,|\\s]+(" + + B + + ")[,|\\s]+(" + + B + + ")\\s*\\)?"), + { + CSS_UNIT: new RegExp(B), + rgb: new RegExp("rgb" + F), + rgba: new RegExp("rgba" + N), + hsl: new RegExp("hsl" + F), + hsla: new RegExp("hsla" + N), + hsv: new RegExp("hsv" + F), + hsva: new RegExp("hsva" + N), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + }); + function V(t) { + return !!j.CSS_UNIT.exec(t); + } + void 0 !== e && e.exports ? (e.exports = c) : (window.tinycolor = c); + })(Math); + }, + {}, + ], + 416: [ + function (t, e, r) { + "use strict"; + function n(t) { + if (t instanceof Float32Array) return t; + if ("number" == typeof t) return new Float32Array([t])[0]; + var e = new Float32Array(t); + return (e.set(t), e); + } + ((e.exports = n), + (e.exports.float32 = e.exports.float = n), + (e.exports.fract32 = e.exports.fract = + function (t) { + if ("number" == typeof t) return n(t - n(t)); + for (var e = n(t), r = 0, i = e.length; r < i; r++) e[r] = t[r] - e[r]; + return e; + })); + }, + {}, + ], + 417: [ + function (t, e, r) { + "use strict"; + var n = t("parse-unit"); + e.exports = o; + var i = 96; + function a(t, e) { + var r = n(getComputedStyle(t).getPropertyValue(e)); + return r[0] * o(r[1], t); + } + function o(t, e) { + switch ( + ((e = e || document.body), + (t = (t || "px").trim().toLowerCase()), + (e !== window && e !== document) || (e = document.body), + t) + ) { + case "%": + return e.clientHeight / 100; + case "ch": + case "ex": + return (function (t, e) { + var r = document.createElement("div"); + ((r.style["font-size"] = "128" + t), e.appendChild(r)); + var n = a(r, "font-size") / 128; + return (e.removeChild(r), n); + })(t, e); + case "em": + return a(e, "font-size"); + case "rem": + return a(document.body, "font-size"); + case "vw": + return window.innerWidth / 100; + case "vh": + return window.innerHeight / 100; + case "vmin": + return Math.min(window.innerWidth, window.innerHeight) / 100; + case "vmax": + return Math.max(window.innerWidth, window.innerHeight) / 100; + case "in": + return i; + case "cm": + return i / 2.54; + case "mm": + return i / 25.4; + case "pt": + return i / 72; + case "pc": + return i / 6; + } + return 1; + } + }, + { "parse-unit": 345 }, + ], + 418: [ + function (t, e, r) { + var n; + ((n = this), + (function (t) { + "use strict"; + var e = function (t) { + return t; + }, + r = function (t) { + if (null == (r = t.transform)) return e; + var r, + n, + i, + a = r.scale[0], + o = r.scale[1], + s = r.translate[0], + l = r.translate[1]; + return function (t, e) { + return ( + e || (n = i = 0), + (t[0] = (n += t[0]) * a + s), + (t[1] = (i += t[1]) * o + l), + t + ); + }; + }, + n = function (t) { + var e = t.bbox; + function n(t) { + ((l[0] = t[0]), + (l[1] = t[1]), + s(l), + l[0] < c && (c = l[0]), + l[0] > f && (f = l[0]), + l[1] < u && (u = l[1]), + l[1] > h && (h = l[1])); + } + function i(t) { + switch (t.type) { + case "GeometryCollection": + t.geometries.forEach(i); + break; + case "Point": + n(t.coordinates); + break; + case "MultiPoint": + t.coordinates.forEach(n); + } + } + if (!e) { + var a, + o, + s = r(t), + l = new Array(2), + c = 1 / 0, + u = c, + f = -c, + h = -c; + for (o in (t.arcs.forEach(function (t) { + for (var e = -1, r = t.length; ++e < r; ) + ((a = t[e]), + (l[0] = a[0]), + (l[1] = a[1]), + s(l, e), + l[0] < c && (c = l[0]), + l[0] > f && (f = l[0]), + l[1] < u && (u = l[1]), + l[1] > h && (h = l[1])); + }), + t.objects)) + i(t.objects[o]); + e = t.bbox = [c, u, f, h]; + } + return e; + }, + i = function (t, e) { + for (var r, n = t.length, i = n - e; i < --n; ) + ((r = t[i]), (t[i++] = t[n]), (t[n] = r)); + }; + function a(t, e) { + var r = e.id, + n = e.bbox, + i = null == e.properties ? {} : e.properties, + a = o(t, e); + return null == r && null == n + ? { type: "Feature", properties: i, geometry: a } + : null == n + ? { type: "Feature", id: r, properties: i, geometry: a } + : { type: "Feature", id: r, bbox: n, properties: i, geometry: a }; + } + function o(t, e) { + var n = r(t), + a = t.arcs; + function o(t, e) { + e.length && e.pop(); + for (var r = a[t < 0 ? ~t : t], o = 0, s = r.length; o < s; ++o) + e.push(n(r[o].slice(), o)); + t < 0 && i(e, s); + } + function s(t) { + return n(t.slice()); + } + function l(t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) o(t[r], e); + return (e.length < 2 && e.push(e[0].slice()), e); + } + function c(t) { + for (var e = l(t); e.length < 4; ) e.push(e[0].slice()); + return e; + } + function u(t) { + return t.map(c); + } + return (function t(e) { + var r, + n = e.type; + switch (n) { + case "GeometryCollection": + return { type: n, geometries: e.geometries.map(t) }; + case "Point": + r = s(e.coordinates); + break; + case "MultiPoint": + r = e.coordinates.map(s); + break; + case "LineString": + r = l(e.arcs); + break; + case "MultiLineString": + r = e.arcs.map(l); + break; + case "Polygon": + r = u(e.arcs); + break; + case "MultiPolygon": + r = e.arcs.map(u); + break; + default: + return null; + } + return { type: n, coordinates: r }; + })(e); + } + var s = function (t, e) { + var r = {}, + n = {}, + i = {}, + a = [], + o = -1; + function s(t, e) { + for (var n in t) { + var i = t[n]; + (delete e[i.start], + delete i.start, + delete i.end, + i.forEach(function (t) { + r[t < 0 ? ~t : t] = 1; + }), + a.push(i)); + } + } + return ( + e.forEach(function (r, n) { + var i, + a = t.arcs[r < 0 ? ~r : r]; + a.length < 3 && + !a[1][0] && + !a[1][1] && + ((i = e[++o]), (e[o] = r), (e[n] = i)); + }), + e.forEach(function (e) { + var r, + a, + o = (function (e) { + var r, + n = t.arcs[e < 0 ? ~e : e], + i = n[0]; + t.transform + ? ((r = [0, 0]), + n.forEach(function (t) { + ((r[0] += t[0]), (r[1] += t[1])); + })) + : (r = n[n.length - 1]); + return e < 0 ? [r, i] : [i, r]; + })(e), + s = o[0], + l = o[1]; + if ((r = i[s])) + if ((delete i[r.end], r.push(e), (r.end = l), (a = n[l]))) { + delete n[a.start]; + var c = a === r ? r : r.concat(a); + n[(c.start = r.start)] = i[(c.end = a.end)] = c; + } else n[r.start] = i[r.end] = r; + else if ((r = n[l])) + if ( + (delete n[r.start], r.unshift(e), (r.start = s), (a = i[s])) + ) { + delete i[a.end]; + var u = a === r ? r : a.concat(r); + n[(u.start = a.start)] = i[(u.end = r.end)] = u; + } else n[r.start] = i[r.end] = r; + else n[((r = [e]).start = s)] = i[(r.end = l)] = r; + }), + s(i, n), + s(n, i), + e.forEach(function (t) { + r[t < 0 ? ~t : t] || a.push([t]); + }), + a + ); + }; + function l(t, e, r) { + var n, i, a; + if (arguments.length > 1) + n = (function (t, e, r) { + var n, + i = [], + a = []; + function o(t) { + var e = t < 0 ? ~t : t; + (a[e] || (a[e] = [])).push({ i: t, g: n }); + } + function s(t) { + t.forEach(o); + } + function l(t) { + t.forEach(s); + } + return ( + (function t(e) { + switch (((n = e), e.type)) { + case "GeometryCollection": + e.geometries.forEach(t); + break; + case "LineString": + s(e.arcs); + break; + case "MultiLineString": + case "Polygon": + l(e.arcs); + break; + case "MultiPolygon": + e.arcs.forEach(l); + } + })(e), + a.forEach( + null == r + ? function (t) { + i.push(t[0].i); + } + : function (t) { + r(t[0].g, t[t.length - 1].g) && i.push(t[0].i); + }, + ), + i + ); + })(0, e, r); + else + for (i = 0, n = new Array((a = t.arcs.length)); i < a; ++i) n[i] = i; + return { type: "MultiLineString", arcs: s(t, n) }; + } + function c(t, e) { + var r = {}, + n = [], + i = []; + function a(t) { + (t.forEach(function (e) { + e.forEach(function (e) { + (r[(e = e < 0 ? ~e : e)] || (r[e] = [])).push(t); + }); + }), + n.push(t)); + } + function l(e) { + return (function (t) { + for (var e, r = -1, n = t.length, i = t[n - 1], a = 0; ++r < n; ) + ((e = i), (i = t[r]), (a += e[0] * i[1] - e[1] * i[0])); + return Math.abs(a); + })(o(t, { type: "Polygon", arcs: [e] }).coordinates[0]); + } + return ( + e.forEach(function t(e) { + switch (e.type) { + case "GeometryCollection": + e.geometries.forEach(t); + break; + case "Polygon": + a(e.arcs); + break; + case "MultiPolygon": + e.arcs.forEach(a); + } + }), + n.forEach(function (t) { + if (!t._) { + var e = [], + n = [t]; + for (t._ = 1, i.push(e); (t = n.pop()); ) + (e.push(t), + t.forEach(function (t) { + t.forEach(function (t) { + r[t < 0 ? ~t : t].forEach(function (t) { + t._ || ((t._ = 1), n.push(t)); + }); + }); + })); + } + }), + n.forEach(function (t) { + delete t._; + }), + { + type: "MultiPolygon", + arcs: i.map(function (e) { + var n, + i = []; + if ( + (e.forEach(function (t) { + t.forEach(function (t) { + t.forEach(function (t) { + r[t < 0 ? ~t : t].length < 2 && i.push(t); + }); + }); + }), + (n = (i = s(t, i)).length) > 1) + ) + for (var a, o, c = 1, u = l(i[0]); c < n; ++c) + (a = l(i[c])) > u && + ((o = i[0]), (i[0] = i[c]), (i[c] = o), (u = a)); + return i; + }), + } + ); + } + var u = function (t, e) { + for (var r = 0, n = t.length; r < n; ) { + var i = (r + n) >>> 1; + t[i] < e ? (r = i + 1) : (n = i); + } + return r; + }; + ((t.bbox = n), + (t.feature = function (t, e) { + return "GeometryCollection" === e.type + ? { + type: "FeatureCollection", + features: e.geometries.map(function (e) { + return a(t, e); + }), + } + : a(t, e); + }), + (t.mesh = function (t) { + return o(t, l.apply(this, arguments)); + }), + (t.meshArcs = l), + (t.merge = function (t) { + return o(t, c.apply(this, arguments)); + }), + (t.mergeArcs = c), + (t.neighbors = function (t) { + var e = {}, + r = t.map(function () { + return []; + }); + function n(t, r) { + t.forEach(function (t) { + t < 0 && (t = ~t); + var n = e[t]; + n ? n.push(r) : (e[t] = [r]); + }); + } + function i(t, e) { + t.forEach(function (t) { + n(t, e); + }); + } + var a = { + LineString: n, + MultiLineString: i, + Polygon: i, + MultiPolygon: function (t, e) { + t.forEach(function (t) { + i(t, e); + }); + }, + }; + for (var o in (t.forEach(function t(e, r) { + "GeometryCollection" === e.type + ? e.geometries.forEach(function (e) { + t(e, r); + }) + : e.type in a && a[e.type](e.arcs, r); + }), + e)) + for (var s = e[o], l = s.length, c = 0; c < l; ++c) + for (var f = c + 1; f < l; ++f) { + var h, + p = s[c], + d = s[f]; + ((h = r[p])[(o = u(h, d))] !== d && h.splice(o, 0, d), + (h = r[d])[(o = u(h, p))] !== p && h.splice(o, 0, p)); + } + return r; + }), + (t.quantize = function (t, e) { + if (!((e = Math.floor(e)) >= 2)) throw new Error("n must be \u22652"); + if (t.transform) throw new Error("already quantized"); + var r, + i = n(t), + a = i[0], + o = (i[2] - a) / (e - 1) || 1, + s = i[1], + l = (i[3] - s) / (e - 1) || 1; + function c(t) { + ((t[0] = Math.round((t[0] - a) / o)), + (t[1] = Math.round((t[1] - s) / l))); + } + function u(t) { + switch (t.type) { + case "GeometryCollection": + t.geometries.forEach(u); + break; + case "Point": + c(t.coordinates); + break; + case "MultiPoint": + t.coordinates.forEach(c); + } + } + for (r in (t.arcs.forEach(function (t) { + for ( + var e, + r, + n, + i = 1, + c = 1, + u = t.length, + f = t[0], + h = (f[0] = Math.round((f[0] - a) / o)), + p = (f[1] = Math.round((f[1] - s) / l)); + i < u; + ++i + ) + ((f = t[i]), + (r = Math.round((f[0] - a) / o)), + (n = Math.round((f[1] - s) / l)), + (r === h && n === p) || + (((e = t[c++])[0] = r - h), + (h = r), + (e[1] = n - p), + (p = n))); + (c < 2 && (((e = t[c++])[0] = 0), (e[1] = 0)), (t.length = c)); + }), + t.objects)) + u(t.objects[r]); + return ((t.transform = { scale: [o, l], translate: [a, s] }), t); + }), + (t.transform = r), + (t.untransform = function (t) { + if (null == (r = t.transform)) return e; + var r, + n, + i, + a = r.scale[0], + o = r.scale[1], + s = r.translate[0], + l = r.translate[1]; + return function (t, e) { + e || (n = i = 0); + var r = Math.round((t[0] - s) / a), + c = Math.round((t[1] - l) / o); + return ((t[0] = r - n), (n = r), (t[1] = c - i), (i = c), t); + }; + }), + Object.defineProperty(t, "__esModule", { value: !0 })); + })( + "object" == typeof r && void 0 !== e + ? r + : (n.topojson = n.topojson || {}), + )); + }, + {}, + ], + 419: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + if (t < 0) return []; + if (0 === t) return [[0]]; + for (var e = 0 | Math.round(a(t + 1)), r = [], o = 0; o < e; ++o) { + for (var s = n.unrank(t, o), l = [0], c = 0, u = 0; u < s.length; ++u) + ((c += 1 << s[u]), l.push(c)); + (i(s) < 1 && ((l[0] = c), (l[t] = 0)), r.push(l)); + } + return r; + }; + var n = t("permutation-rank"), + i = t("permutation-parity"), + a = t("gamma"); + }, + { gamma: 200, "permutation-parity": 347, "permutation-rank": 348 }, + ], + 420: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.up || [0, 1, 0], + n = t.right || f(r), + i = t.radius || 1, + a = t.theta || 0, + u = t.phi || 0; + if ( + ((e = [].slice.call(e, 0, 3)), + (r = [].slice.call(r, 0, 3)), + s(r, r), + (n = [].slice.call(n, 0, 3)), + s(n, n), + "eye" in t) + ) { + var p = t.eye, + d = [p[0] - e[0], p[1] - e[1], p[2] - e[2]]; + (o(n, d, r), + c(n[0], n[1], n[2]) < 1e-6 ? (n = f(r)) : s(n, n), + (i = c(d[0], d[1], d[2]))); + var g = l(r, d) / i, + m = l(n, d) / i; + ((u = Math.acos(g)), (a = Math.acos(m))); + } + return ((i = Math.log(i)), new h(t.zoomMin, t.zoomMax, e, r, n, i, a, u)); + }; + var n = t("filtered-vector"), + i = t("gl-mat4/invert"), + a = t("gl-mat4/rotate"), + o = t("gl-vec3/cross"), + s = t("gl-vec3/normalize"), + l = t("gl-vec3/dot"); + function c(t, e, r) { + return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); + } + function u(t) { + return Math.min(1, Math.max(-1, t)); + } + function f(t) { + var e = Math.abs(t[0]), + r = Math.abs(t[1]), + n = Math.abs(t[2]), + i = [0, 0, 0]; + e > Math.max(r, n) + ? (i[2] = 1) + : r > Math.max(e, n) + ? (i[0] = 1) + : (i[1] = 1); + for (var a = 0, o = 0, l = 0; l < 3; ++l) + ((a += t[l] * t[l]), (o += i[l] * t[l])); + for (l = 0; l < 3; ++l) i[l] -= (o / a) * t[l]; + return (s(i, i), i); + } + function h(t, e, r, i, a, o, s, l) { + ((this.center = n(r)), + (this.up = n(i)), + (this.right = n(a)), + (this.radius = n([o])), + (this.angle = n([s, l])), + (this.angle.bounds = [ + [-1 / 0, -Math.PI / 2], + [1 / 0, Math.PI / 2], + ]), + this.setDistanceLimits(t, e), + (this.computedCenter = this.center.curve(0)), + (this.computedUp = this.up.curve(0)), + (this.computedRight = this.right.curve(0)), + (this.computedRadius = this.radius.curve(0)), + (this.computedAngle = this.angle.curve(0)), + (this.computedToward = [0, 0, 0]), + (this.computedEye = [0, 0, 0]), + (this.computedMatrix = new Array(16))); + for (var c = 0; c < 16; ++c) this.computedMatrix[c] = 0.5; + this.recalcMatrix(0); + } + var p = h.prototype; + ((p.setDistanceLimits = function (t, e) { + ((t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e)); + }), + (p.getDistanceLimits = function (t) { + var e = this.radius.bounds[0]; + return t + ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) + : [Math.exp(e[0][0]), Math.exp(e[1][0])]; + }), + (p.recalcMatrix = function (t) { + (this.center.curve(t), + this.up.curve(t), + this.right.curve(t), + this.radius.curve(t), + this.angle.curve(t)); + for ( + var e = this.computedUp, r = this.computedRight, n = 0, i = 0, a = 0; + a < 3; + ++a + ) + ((i += e[a] * r[a]), (n += e[a] * e[a])); + var l = Math.sqrt(n), + u = 0; + for (a = 0; a < 3; ++a) + ((r[a] -= (e[a] * i) / n), (u += r[a] * r[a]), (e[a] /= l)); + var f = Math.sqrt(u); + for (a = 0; a < 3; ++a) r[a] /= f; + var h = this.computedToward; + (o(h, e, r), s(h, h)); + var p = Math.exp(this.computedRadius[0]), + d = this.computedAngle[0], + g = this.computedAngle[1], + m = Math.cos(d), + v = Math.sin(d), + y = Math.cos(g), + x = Math.sin(g), + b = this.computedCenter, + _ = m * y, + w = v * y, + k = x, + M = -m * x, + A = -v * x, + T = y, + S = this.computedEye, + C = this.computedMatrix; + for (a = 0; a < 3; ++a) { + var E = _ * r[a] + w * h[a] + k * e[a]; + ((C[4 * a + 1] = M * r[a] + A * h[a] + T * e[a]), + (C[4 * a + 2] = E), + (C[4 * a + 3] = 0)); + } + var L = C[1], + z = C[5], + P = C[9], + D = C[2], + O = C[6], + I = C[10], + R = z * I - P * O, + B = P * D - L * I, + F = L * O - z * D, + N = c(R, B, F); + ((R /= N), (B /= N), (F /= N), (C[0] = R), (C[4] = B), (C[8] = F)); + for (a = 0; a < 3; ++a) S[a] = b[a] + C[2 + 4 * a] * p; + for (a = 0; a < 3; ++a) { + u = 0; + for (var j = 0; j < 3; ++j) u += C[a + 4 * j] * S[j]; + C[12 + a] = -u; + } + C[15] = 1; + }), + (p.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) e[n] = r[n]; + return e; + } + return r; + })); + var d = [0, 0, 0]; + ((p.rotate = function (t, e, r, n) { + if ((this.angle.move(t, e, r), n)) { + this.recalcMatrix(t); + var i = this.computedMatrix; + ((d[0] = i[2]), (d[1] = i[6]), (d[2] = i[10])); + for ( + var o = this.computedUp, + s = this.computedRight, + l = this.computedToward, + c = 0; + c < 3; + ++c + ) + ((i[4 * c] = o[c]), (i[4 * c + 1] = s[c]), (i[4 * c + 2] = l[c])); + a(i, i, n, d); + for (c = 0; c < 3; ++c) ((o[c] = i[4 * c]), (s[c] = i[4 * c + 1])); + (this.up.set(t, o[0], o[1], o[2]), this.right.set(t, s[0], s[1], s[2])); + } + }), + (p.pan = function (t, e, r, n) { + ((e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t)); + var i = this.computedMatrix, + a = (Math.exp(this.computedRadius[0]), i[1]), + o = i[5], + s = i[9], + l = c(a, o, s); + ((a /= l), (o /= l), (s /= l)); + var u = i[0], + f = i[4], + h = i[8], + p = u * a + f * o + h * s, + d = c((u -= a * p), (f -= o * p), (h -= s * p)), + g = (u /= d) * e + a * r, + m = (f /= d) * e + o * r, + v = (h /= d) * e + s * r; + this.center.move(t, g, m, v); + var y = Math.exp(this.computedRadius[0]); + ((y = Math.max(1e-4, y + n)), this.radius.set(t, Math.log(y))); + }), + (p.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (p.setMatrix = function (t, e, r, n) { + var a = 1; + ("number" == typeof r && (a = 0 | r), (a < 0 || a > 3) && (a = 1)); + var o = (a + 2) % 3; + e || (this.recalcMatrix(t), (e = this.computedMatrix)); + var s = e[a], + l = e[a + 4], + f = e[a + 8]; + if (n) { + var h = Math.abs(s), + p = Math.abs(l), + d = Math.abs(f), + g = Math.max(h, p, d); + h === g + ? ((s = s < 0 ? -1 : 1), (l = f = 0)) + : d === g + ? ((f = f < 0 ? -1 : 1), (s = l = 0)) + : ((l = l < 0 ? -1 : 1), (s = f = 0)); + } else { + var m = c(s, l, f); + ((s /= m), (l /= m), (f /= m)); + } + var v, + y, + x = e[o], + b = e[o + 4], + _ = e[o + 8], + w = x * s + b * l + _ * f, + k = c((x -= s * w), (b -= l * w), (_ -= f * w)), + M = l * (_ /= k) - f * (b /= k), + A = f * (x /= k) - s * _, + T = s * b - l * x, + S = c(M, A, T); + if ( + ((M /= S), + (A /= S), + (T /= S), + this.center.jump(t, H, G, W), + this.radius.idle(t), + this.up.jump(t, s, l, f), + this.right.jump(t, x, b, _), + 2 === a) + ) { + var C = e[1], + E = e[5], + L = e[9], + z = C * x + E * b + L * _, + P = C * M + E * A + L * T; + ((v = R < 0 ? -Math.PI / 2 : Math.PI / 2), (y = Math.atan2(P, z))); + } else { + var D = e[2], + O = e[6], + I = e[10], + R = D * s + O * l + I * f, + B = D * x + O * b + I * _, + F = D * M + O * A + I * T; + ((v = Math.asin(u(R))), (y = Math.atan2(F, B))); + } + (this.angle.jump(t, y, v), this.recalcMatrix(t)); + var N = e[2], + j = e[6], + V = e[10], + U = this.computedMatrix; + i(U, e); + var q = U[15], + H = U[12] / q, + G = U[13] / q, + W = U[14] / q, + Y = Math.exp(this.computedRadius[0]); + this.center.jump(t, H - N * Y, G - j * Y, W - V * Y); + }), + (p.lastT = function () { + return Math.max( + this.center.lastT(), + this.up.lastT(), + this.right.lastT(), + this.radius.lastT(), + this.angle.lastT(), + ); + }), + (p.idle = function (t) { + (this.center.idle(t), + this.up.idle(t), + this.right.idle(t), + this.radius.idle(t), + this.angle.idle(t)); + }), + (p.flush = function (t) { + (this.center.flush(t), + this.up.flush(t), + this.right.flush(t), + this.radius.flush(t), + this.angle.flush(t)); + }), + (p.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (p.lookAt = function (t, e, r, n) { + (this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || this.computedCenter)); + var i = (n = n || this.computedUp)[0], + a = n[1], + o = n[2], + s = c(i, a, o); + if (!(s < 1e-6)) { + ((i /= s), (a /= s), (o /= s)); + var l = e[0] - r[0], + f = e[1] - r[1], + h = e[2] - r[2], + p = c(l, f, h); + if (!(p < 1e-6)) { + ((l /= p), (f /= p), (h /= p)); + var d = this.computedRight, + g = d[0], + m = d[1], + v = d[2], + y = i * g + a * m + o * v, + x = c((g -= y * i), (m -= y * a), (v -= y * o)); + if ( + !( + x < 0.01 && + (x = c( + (g = a * h - o * f), + (m = o * l - i * h), + (v = i * f - a * l), + )) < 1e-6 + ) + ) { + ((g /= x), + (m /= x), + (v /= x), + this.up.set(t, i, a, o), + this.right.set(t, g, m, v), + this.center.set(t, r[0], r[1], r[2]), + this.radius.set(t, Math.log(p))); + var b = a * v - o * m, + _ = o * g - i * v, + w = i * m - a * g, + k = c(b, _, w), + M = i * l + a * f + o * h, + A = g * l + m * f + v * h, + T = (b /= k) * l + (_ /= k) * f + (w /= k) * h, + S = Math.asin(u(M)), + C = Math.atan2(T, A), + E = this.angle._state, + L = E[E.length - 1], + z = E[E.length - 2]; + L %= 2 * Math.PI; + var P = Math.abs(L + 2 * Math.PI - C), + D = Math.abs(L - C), + O = Math.abs(L - 2 * Math.PI - C); + (P < D && (L += 2 * Math.PI), + O < D && (L -= 2 * Math.PI), + this.angle.jump(this.angle.lastT(), L, z), + this.angle.set(t, C, S)); + } + } + } + })); + }, + { + "filtered-vector": 197, + "gl-mat4/invert": 230, + "gl-mat4/rotate": 234, + "gl-vec3/cross": 280, + "gl-vec3/dot": 281, + "gl-vec3/normalize": 284, + }, + ], + 421: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var i = t * e, + a = n * t, + o = a - (a - t), + s = t - o, + l = n * e, + c = l - (l - e), + u = e - c, + f = s * u - (i - o * c - s * c - o * u); + if (r) return ((r[0] = f), (r[1] = i), r); + return [f, i]; + }; + var n = +(Math.pow(2, 27) + 1); + }, + {}, + ], + 422: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var n = t + e, + i = n - t, + a = e - i, + o = t - (n - i); + if (r) return ((r[0] = o + a), (r[1] = n), r); + return [o + a, n]; + }; + }, + {}, + ], + 423: [ + function (t, e, r) { + (function (e, n) { + "use strict"; + var i = t("bit-twiddle"), + a = t("dup"); + e.__TYPEDARRAY_POOL || + (e.__TYPEDARRAY_POOL = { + UINT8: a([32, 0]), + UINT16: a([32, 0]), + UINT32: a([32, 0]), + INT8: a([32, 0]), + INT16: a([32, 0]), + INT32: a([32, 0]), + FLOAT: a([32, 0]), + DOUBLE: a([32, 0]), + DATA: a([32, 0]), + UINT8C: a([32, 0]), + BUFFER: a([32, 0]), + }); + var o = "undefined" != typeof Uint8ClampedArray, + s = e.__TYPEDARRAY_POOL; + (s.UINT8C || (s.UINT8C = a([32, 0])), s.BUFFER || (s.BUFFER = a([32, 0]))); + var l = s.DATA, + c = s.BUFFER; + function u(t) { + if (t) { + var e = t.length || t.byteLength, + r = i.log2(e); + l[r].push(t); + } + } + function f(t) { + t = i.nextPow2(t); + var e = i.log2(t), + r = l[e]; + return r.length > 0 ? r.pop() : new ArrayBuffer(t); + } + function h(t) { + return new Uint8Array(f(t), 0, t); + } + function p(t) { + return new Uint16Array(f(2 * t), 0, t); + } + function d(t) { + return new Uint32Array(f(4 * t), 0, t); + } + function g(t) { + return new Int8Array(f(t), 0, t); + } + function m(t) { + return new Int16Array(f(2 * t), 0, t); + } + function v(t) { + return new Int32Array(f(4 * t), 0, t); + } + function y(t) { + return new Float32Array(f(4 * t), 0, t); + } + function x(t) { + return new Float64Array(f(8 * t), 0, t); + } + function b(t) { + return o ? new Uint8ClampedArray(f(t), 0, t) : h(t); + } + function _(t) { + return new DataView(f(t), 0, t); + } + function w(t) { + t = i.nextPow2(t); + var e = i.log2(t), + r = c[e]; + return r.length > 0 ? r.pop() : new n(t); + } + ((r.free = function (t) { + if (n.isBuffer(t)) c[i.log2(t.length)].push(t); + else { + if ( + ("[object ArrayBuffer]" !== Object.prototype.toString.call(t) && + (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | i.log2(e); + l[r].push(t); + } + }), + (r.freeUint8 = + r.freeUint16 = + r.freeUint32 = + r.freeInt8 = + r.freeInt16 = + r.freeInt32 = + r.freeFloat32 = + r.freeFloat = + r.freeFloat64 = + r.freeDouble = + r.freeUint8Clamped = + r.freeDataView = + function (t) { + u(t.buffer); + }), + (r.freeArrayBuffer = u), + (r.freeBuffer = function (t) { + c[i.log2(t.length)].push(t); + }), + (r.malloc = function (t, e) { + if (void 0 === e || "arraybuffer" === e) return f(t); + switch (e) { + case "uint8": + return h(t); + case "uint16": + return p(t); + case "uint32": + return d(t); + case "int8": + return g(t); + case "int16": + return m(t); + case "int32": + return v(t); + case "float": + case "float32": + return y(t); + case "double": + case "float64": + return x(t); + case "uint8_clamped": + return b(t); + case "buffer": + return w(t); + case "data": + case "dataview": + return _(t); + default: + return null; + } + return null; + }), + (r.mallocArrayBuffer = f), + (r.mallocUint8 = h), + (r.mallocUint16 = p), + (r.mallocUint32 = d), + (r.mallocInt8 = g), + (r.mallocInt16 = m), + (r.mallocInt32 = v), + (r.mallocFloat32 = r.mallocFloat = y), + (r.mallocFloat64 = r.mallocDouble = x), + (r.mallocUint8Clamped = b), + (r.mallocDataView = _), + (r.mallocBuffer = w), + (r.clearCache = function () { + for (var t = 0; t < 32; ++t) + ((s.UINT8[t].length = 0), + (s.UINT16[t].length = 0), + (s.UINT32[t].length = 0), + (s.INT8[t].length = 0), + (s.INT16[t].length = 0), + (s.INT32[t].length = 0), + (s.FLOAT[t].length = 0), + (s.DOUBLE[t].length = 0), + (s.UINT8C[t].length = 0), + (l[t].length = 0), + (c[t].length = 0)); + })); + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + t("buffer").Buffer, + ); + }, + { "bit-twiddle": 73, buffer: 85, dup: 136 }, + ], + 424: [ + function (t, e, r) { + "use strict"; + "use restrict"; + function n(t) { + ((this.roots = new Array(t)), (this.ranks = new Array(t))); + for (var e = 0; e < t; ++e) ((this.roots[e] = e), (this.ranks[e] = 0)); + } + e.exports = n; + var i = n.prototype; + (Object.defineProperty(i, "length", { + get: function () { + return this.roots.length; + }, + }), + (i.makeSet = function () { + var t = this.roots.length; + return (this.roots.push(t), this.ranks.push(0), t); + }), + (i.find = function (t) { + for (var e = t, r = this.roots; r[t] !== t; ) t = r[t]; + for (; r[e] !== t; ) { + var n = r[e]; + ((r[e] = t), (e = n)); + } + return t; + }), + (i.link = function (t, e) { + var r = this.find(t), + n = this.find(e); + if (r !== n) { + var i = this.ranks, + a = this.roots, + o = i[r], + s = i[n]; + o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); + } + })); + }, + {}, + ], + 425: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + return 0 === t.length + ? t + : e + ? (r || t.sort(e), + (function (t, e) { + for (var r = 1, n = t.length, i = t[0], a = t[0], o = 1; o < n; ++o) + if (((a = i), e((i = t[o]), a))) { + if (o === r) { + r++; + continue; + } + t[r++] = i; + } + return ((t.length = r), t); + })(t, e)) + : (r || t.sort(), + (function (t) { + for ( + var e = 1, r = t.length, n = t[0], i = t[0], a = 1; + a < r; + ++a, i = n + ) + if (((i = n), (n = t[a]) !== i)) { + if (a === e) { + e++; + continue; + } + t[e++] = n; + } + return ((t.length = e), t); + })(t)); + }; + }, + {}, + ], + 426: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + Array.isArray(r) || (r = [].slice.call(arguments, 2)); + for (var n = 0, i = r.length; n < i; n++) { + var a = r[n]; + for (var o in a) + if ( + (void 0 === e[o] || Array.isArray(e[o]) || t[o] !== e[o]) && + o in e + ) { + var s; + if (!0 === a[o]) s = e[o]; + else { + if (!1 === a[o]) continue; + if ("function" == typeof a[o] && void 0 === (s = a[o](e[o], t, e))) + continue; + } + t[o] = s; + } + } + return t; + }; + }, + {}, + ], + 427: [ + function (t, e, r) { + "function" == typeof Object.create + ? (e.exports = function (t, e) { + ((t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0, + }, + }))); + }) + : (e.exports = function (t, e) { + t.super_ = e; + var r = function () {}; + ((r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t)); + }); + }, + {}, + ], + 428: [ + function (t, e, r) { + e.exports = function (t) { + return ( + t && + "object" == typeof t && + "function" == typeof t.copy && + "function" == typeof t.fill && + "function" == typeof t.readUInt8 + ); + }; + }, + {}, + ], + 429: [ + function (t, e, r) { + (function (e, n) { + var i = /%[sdj%]/g; + ((r.format = function (t) { + if (!v(t)) { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(s(arguments[r])); + return e.join(" "); + } + r = 1; + for ( + var n = arguments, + a = n.length, + o = String(t).replace(i, function (t) { + if ("%%" === t) return "%"; + if (r >= a) return t; + switch (t) { + case "%s": + return String(n[r++]); + case "%d": + return Number(n[r++]); + case "%j": + try { + return JSON.stringify(n[r++]); + } catch (t) { + return "[Circular]"; + } + default: + return t; + } + }), + l = n[r]; + r < a; + l = n[++r] + ) + g(l) || !b(l) ? (o += " " + l) : (o += " " + s(l)); + return o; + }), + (r.deprecate = function (t, i) { + if (y(n.process)) + return function () { + return r.deprecate(t, i).apply(this, arguments); + }; + if (!0 === e.noDeprecation) return t; + var a = !1; + return function () { + if (!a) { + if (e.throwDeprecation) throw new Error(i); + (e.traceDeprecation ? console.trace(i) : console.error(i), + (a = !0)); + } + return t.apply(this, arguments); + }; + })); + var a, + o = {}; + function s(t, e) { + var n = { seen: [], stylize: c }; + return ( + arguments.length >= 3 && (n.depth = arguments[2]), + arguments.length >= 4 && (n.colors = arguments[3]), + d(e) ? (n.showHidden = e) : e && r._extend(n, e), + y(n.showHidden) && (n.showHidden = !1), + y(n.depth) && (n.depth = 2), + y(n.colors) && (n.colors = !1), + y(n.customInspect) && (n.customInspect = !0), + n.colors && (n.stylize = l), + u(n, t, n.depth) + ); + } + function l(t, e) { + var r = s.styles[e]; + return r + ? "\x1b[" + s.colors[r][0] + "m" + t + "\x1b[" + s.colors[r][1] + "m" + : t; + } + function c(t, e) { + return t; + } + function u(t, e, n) { + if ( + t.customInspect && + e && + k(e.inspect) && + e.inspect !== r.inspect && + (!e.constructor || e.constructor.prototype !== e) + ) { + var i = e.inspect(n, t); + return (v(i) || (i = u(t, i, n)), i); + } + var a = (function (t, e) { + if (y(e)) return t.stylize("undefined", "undefined"); + if (v(e)) { + var r = + "'" + + JSON.stringify(e) + .replace(/^"|"$/g, "") + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + + "'"; + return t.stylize(r, "string"); + } + if (m(e)) return t.stylize("" + e, "number"); + if (d(e)) return t.stylize("" + e, "boolean"); + if (g(e)) return t.stylize("null", "null"); + })(t, e); + if (a) return a; + var o = Object.keys(e), + s = (function (t) { + var e = {}; + return ( + t.forEach(function (t, r) { + e[t] = !0; + }), + e + ); + })(o); + if ( + (t.showHidden && (o = Object.getOwnPropertyNames(e)), + w(e) && (o.indexOf("message") >= 0 || o.indexOf("description") >= 0)) + ) + return f(e); + if (0 === o.length) { + if (k(e)) { + var l = e.name ? ": " + e.name : ""; + return t.stylize("[Function" + l + "]", "special"); + } + if (x(e)) return t.stylize(RegExp.prototype.toString.call(e), "regexp"); + if (_(e)) return t.stylize(Date.prototype.toString.call(e), "date"); + if (w(e)) return f(e); + } + var c, + b = "", + M = !1, + A = ["{", "}"]; + (p(e) && ((M = !0), (A = ["[", "]"])), k(e)) && + (b = " [Function" + (e.name ? ": " + e.name : "") + "]"); + return ( + x(e) && (b = " " + RegExp.prototype.toString.call(e)), + _(e) && (b = " " + Date.prototype.toUTCString.call(e)), + w(e) && (b = " " + f(e)), + 0 !== o.length || (M && 0 != e.length) + ? n < 0 + ? x(e) + ? t.stylize(RegExp.prototype.toString.call(e), "regexp") + : t.stylize("[Object]", "special") + : (t.seen.push(e), + (c = M + ? (function (t, e, r, n, i) { + for (var a = [], o = 0, s = e.length; o < s; ++o) + S(e, String(o)) + ? a.push(h(t, e, r, n, String(o), !0)) + : a.push(""); + return ( + i.forEach(function (i) { + i.match(/^\d+$/) || a.push(h(t, e, r, n, i, !0)); + }), + a + ); + })(t, e, n, s, o) + : o.map(function (r) { + return h(t, e, n, s, r, M); + })), + t.seen.pop(), + (function (t, e, r) { + if ( + t.reduce(function (t, e) { + return ( + 0, + e.indexOf("\n") >= 0 && 0, + t + e.replace(/\u001b\[\d\d?m/g, "").length + 1 + ); + }, 0) > 60 + ) + return ( + r[0] + + ("" === e ? "" : e + "\n ") + + " " + + t.join(",\n ") + + " " + + r[1] + ); + return r[0] + e + " " + t.join(", ") + " " + r[1]; + })(c, b, A)) + : A[0] + b + A[1] + ); + } + function f(t) { + return "[" + Error.prototype.toString.call(t) + "]"; + } + function h(t, e, r, n, i, a) { + var o, s, l; + if ( + ((l = Object.getOwnPropertyDescriptor(e, i) || { value: e[i] }).get + ? (s = l.set + ? t.stylize("[Getter/Setter]", "special") + : t.stylize("[Getter]", "special")) + : l.set && (s = t.stylize("[Setter]", "special")), + S(n, i) || (o = "[" + i + "]"), + s || + (t.seen.indexOf(l.value) < 0 + ? (s = g(r) ? u(t, l.value, null) : u(t, l.value, r - 1)).indexOf( + "\n", + ) > -1 && + (s = a + ? s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n") + .substr(2) + : "\n" + + s + .split("\n") + .map(function (t) { + return " " + t; + }) + .join("\n")) + : (s = t.stylize("[Circular]", "special"))), + y(o)) + ) { + if (a && i.match(/^\d+$/)) return s; + (o = JSON.stringify("" + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) + ? ((o = o.substr(1, o.length - 2)), (o = t.stylize(o, "name"))) + : ((o = o + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'")), + (o = t.stylize(o, "string"))); + } + return o + ": " + s; + } + function p(t) { + return Array.isArray(t); + } + function d(t) { + return "boolean" == typeof t; + } + function g(t) { + return null === t; + } + function m(t) { + return "number" == typeof t; + } + function v(t) { + return "string" == typeof t; + } + function y(t) { + return void 0 === t; + } + function x(t) { + return b(t) && "[object RegExp]" === M(t); + } + function b(t) { + return "object" == typeof t && null !== t; + } + function _(t) { + return b(t) && "[object Date]" === M(t); + } + function w(t) { + return b(t) && ("[object Error]" === M(t) || t instanceof Error); + } + function k(t) { + return "function" == typeof t; + } + function M(t) { + return Object.prototype.toString.call(t); + } + function A(t) { + return t < 10 ? "0" + t.toString(10) : t.toString(10); + } + ((r.debuglog = function (t) { + if ((y(a) && (a = e.env.NODE_DEBUG || ""), (t = t.toUpperCase()), !o[t])) + if (new RegExp("\\b" + t + "\\b", "i").test(a)) { + var n = e.pid; + o[t] = function () { + var e = r.format.apply(r, arguments); + console.error("%s %d: %s", t, n, e); + }; + } else o[t] = function () {}; + return o[t]; + }), + (r.inspect = s), + (s.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39], + }), + (s.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red", + }), + (r.isArray = p), + (r.isBoolean = d), + (r.isNull = g), + (r.isNullOrUndefined = function (t) { + return null == t; + }), + (r.isNumber = m), + (r.isString = v), + (r.isSymbol = function (t) { + return "symbol" == typeof t; + }), + (r.isUndefined = y), + (r.isRegExp = x), + (r.isObject = b), + (r.isDate = _), + (r.isError = w), + (r.isFunction = k), + (r.isPrimitive = function (t) { + return ( + null === t || + "boolean" == typeof t || + "number" == typeof t || + "string" == typeof t || + "symbol" == typeof t || + void 0 === t + ); + }), + (r.isBuffer = t("./support/isBuffer"))); + var T = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ]; + function S(t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + } + ((r.log = function () { + var t, e; + console.log( + "%s - %s", + ((t = new Date()), + (e = [A(t.getHours()), A(t.getMinutes()), A(t.getSeconds())].join(":")), + [t.getDate(), T[t.getMonth()], e].join(" ")), + r.format.apply(r, arguments), + ); + }), + (r.inherits = t("inherits")), + (r._extend = function (t, e) { + if (!e || !b(e)) return t; + for (var r = Object.keys(e), n = r.length; n--; ) t[r[n]] = e[r[n]]; + return t; + })); + }).call( + this, + t("_process"), + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { "./support/isBuffer": 428, _process: 366, inherits: 427 }, + ], + 430: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + ("object" == typeof e && null !== e) || (e = {}); + return n(t, e.canvas || i, e.context || a, e); + }; + var n = t("./lib/vtext"), + i = null, + a = null; + "undefined" != typeof document && + (((i = document.createElement("canvas")).width = 8192), + (i.height = 1024), + (a = i.getContext("2d"))); + }, + { "./lib/vtext": 431 }, + ], + 431: [ + function (t, e, r) { + "use strict"; + ((e.exports = function (t, e, r, n) { + var a = n.size || 64, + o = n.font || "normal"; + return ( + (r.font = a + "px " + o), + (r.textAlign = "start"), + (r.textBaseline = "alphabetic"), + (r.direction = "ltr"), + f( + (function (t, e, r, n) { + var a = 0 | Math.ceil(e.measureText(r).width + 2 * n); + if (a > 8192) + throw new Error( + "vectorize-text: String too long (sorry, this will get fixed later)", + ); + var o = 3 * n; + (t.height < o && (t.height = o), + (e.fillStyle = "#000"), + e.fillRect(0, 0, t.width, t.height), + (e.fillStyle = "#fff"), + e.fillText(r, n, 2 * n)); + var s = e.getImageData(0, 0, a, o); + return i(s.data, [o, a, 4]).pick(-1, -1, 0).transpose(1, 0); + })(e, r, t, a), + n, + a, + ) + ); + }), + (e.exports.processPixels = f)); + var n = t("surface-nets"), + i = t("ndarray"), + a = t("simplify-planar-graph"), + o = t("clean-pslg"), + s = t("cdt2d"), + l = t("planar-graph-to-polyline"); + function c(t, e) { + var r = n(t, 128); + return e + ? a(r.cells, r.positions, 0.25) + : { edges: r.cells, positions: r.positions }; + } + function u(t, e, r, n) { + var i = c(t, n), + a = (function (t, e, r) { + for ( + var n = e.textAlign || "start", + i = e.textBaseline || "alphabetic", + a = [1 << 30, 1 << 30], + o = [0, 0], + s = t.length, + l = 0; + l < s; + ++l + ) + for (var c = t[l], u = 0; u < 2; ++u) + ((a[u] = 0 | Math.min(a[u], c[u])), + (o[u] = 0 | Math.max(o[u], c[u]))); + var f = 0; + switch (n) { + case "center": + f = -0.5 * (a[0] + o[0]); + break; + case "right": + case "end": + f = -o[0]; + break; + case "left": + case "start": + f = -a[0]; + break; + default: + throw new Error( + "vectorize-text: Unrecognized textAlign: '" + n + "'", + ); + } + var h = 0; + switch (i) { + case "hanging": + case "top": + h = -a[1]; + break; + case "middle": + h = -0.5 * (a[1] + o[1]); + break; + case "alphabetic": + case "ideographic": + h = -3 * r; + break; + case "bottom": + h = -o[1]; + break; + default: + throw new Error( + "vectorize-text: Unrecoginized textBaseline: '" + i + "'", + ); + } + var p = 1 / r; + return ( + "lineHeight" in e + ? (p *= +e.lineHeight) + : "width" in e + ? (p = e.width / (o[0] - a[0])) + : "height" in e && (p = e.height / (o[1] - a[1])), + t.map(function (t) { + return [p * (t[0] + f), p * (t[1] + h)]; + }) + ); + })(i.positions, e, r), + u = i.edges, + f = "ccw" === e.orientation; + if ((o(a, u), e.polygons || e.polygon || e.polyline)) { + for (var h = l(u, a), p = new Array(h.length), d = 0; d < h.length; ++d) { + for (var g = h[d], m = new Array(g.length), v = 0; v < g.length; ++v) { + for (var y = g[v], x = new Array(y.length), b = 0; b < y.length; ++b) + x[b] = a[y[b]].slice(); + (f && x.reverse(), (m[v] = x)); + } + p[d] = m; + } + return p; + } + return e.triangles || e.triangulate || e.triangle + ? { + cells: s(a, u, { delaunay: !1, exterior: !1, interior: !0 }), + positions: a, + } + : { edges: u, positions: a }; + } + function f(t, e, r) { + try { + return u(t, e, r, !0); + } catch (t) {} + try { + return u(t, e, r, !1); + } catch (t) {} + return e.polygons || e.polyline || e.polygon + ? [] + : e.triangles || e.triangulate || e.triangle + ? { cells: [], positions: [] } + : { edges: [], positions: [] }; + } + }, + { + cdt2d: 86, + "clean-pslg": 96, + ndarray: 335, + "planar-graph-to-polyline": 352, + "simplify-planar-graph": 402, + "surface-nets": 409, + }, + ], + 432: [ + function (t, e, r) { + !(function () { + "use strict"; + if ("undefined" == typeof ses || !ses.ok || ses.ok()) { + "undefined" != typeof ses && (ses.weakMapPermitHostObjects = m); + var t = !1; + if ("function" == typeof WeakMap) { + var r = WeakMap; + if ( + "undefined" != typeof navigator && + /Firefox/.test(navigator.userAgent) + ); + else { + var n = new r(), + i = Object.freeze({}); + if ((n.set(i, 1), 1 === n.get(i))) return void (e.exports = WeakMap); + t = !0; + } + } + Object.prototype.hasOwnProperty; + var a = Object.getOwnPropertyNames, + o = Object.defineProperty, + s = Object.isExtensible, + l = "weakmap:", + c = l + "ident:" + Math.random() + "___"; + if ( + "undefined" != typeof crypto && + "function" == typeof crypto.getRandomValues && + "function" == typeof ArrayBuffer && + "function" == typeof Uint8Array + ) { + var u = new ArrayBuffer(25), + f = new Uint8Array(u); + (crypto.getRandomValues(f), + (c = + l + + "rand:" + + Array.prototype.map + .call(f, function (t) { + return (t % 36).toString(36); + }) + .join("") + + "___")); + } + if ( + (o(Object, "getOwnPropertyNames", { + value: function (t) { + return a(t).filter(v); + }, + }), + "getPropertyNames" in Object) + ) { + var h = Object.getPropertyNames; + o(Object, "getPropertyNames", { + value: function (t) { + return h(t).filter(v); + }, + }); + } + !(function () { + var t = Object.freeze; + o(Object, "freeze", { + value: function (e) { + return (y(e), t(e)); + }, + }); + var e = Object.seal; + o(Object, "seal", { + value: function (t) { + return (y(t), e(t)); + }, + }); + var r = Object.preventExtensions; + o(Object, "preventExtensions", { + value: function (t) { + return (y(t), r(t)); + }, + }); + })(); + var p = !1, + d = 0, + g = function () { + this instanceof g || b(); + var t = [], + e = [], + r = d++; + return Object.create(g.prototype, { + get___: { + value: x(function (n, i) { + var a, + o = y(n); + return o + ? r in o + ? o[r] + : i + : (a = t.indexOf(n)) >= 0 + ? e[a] + : i; + }), + }, + has___: { + value: x(function (e) { + var n = y(e); + return n ? r in n : t.indexOf(e) >= 0; + }), + }, + set___: { + value: x(function (n, i) { + var a, + o = y(n); + return ( + o + ? (o[r] = i) + : (a = t.indexOf(n)) >= 0 + ? (e[a] = i) + : ((a = t.length), (e[a] = i), (t[a] = n)), + this + ); + }), + }, + delete___: { + value: x(function (n) { + var i, + a, + o = y(n); + return o + ? r in o && delete o[r] + : !( + (i = t.indexOf(n)) < 0 || + ((a = t.length - 1), + (t[i] = void 0), + (e[i] = e[a]), + (t[i] = t[a]), + (t.length = a), + (e.length = a), + 0) + ); + }), + }, + }); + }; + ((g.prototype = Object.create(Object.prototype, { + get: { + value: function (t, e) { + return this.get___(t, e); + }, + writable: !0, + configurable: !0, + }, + has: { + value: function (t) { + return this.has___(t); + }, + writable: !0, + configurable: !0, + }, + set: { + value: function (t, e) { + return this.set___(t, e); + }, + writable: !0, + configurable: !0, + }, + delete: { + value: function (t) { + return this.delete___(t); + }, + writable: !0, + configurable: !0, + }, + })), + "function" == typeof r + ? (function () { + function n() { + this instanceof g || b(); + var e, + n = new r(), + i = void 0, + a = !1; + return ( + (e = t + ? function (t, e) { + return ( + n.set(t, e), + n.has(t) || (i || (i = new g()), i.set(t, e)), + this + ); + } + : function (t, e) { + if (a) + try { + n.set(t, e); + } catch (r) { + (i || (i = new g()), i.set___(t, e)); + } + else n.set(t, e); + return this; + }), + Object.create(g.prototype, { + get___: { + value: x(function (t, e) { + return i + ? n.has(t) + ? n.get(t) + : i.get___(t, e) + : n.get(t, e); + }), + }, + has___: { + value: x(function (t) { + return n.has(t) || (!!i && i.has___(t)); + }), + }, + set___: { value: x(e) }, + delete___: { + value: x(function (t) { + var e = !!n.delete(t); + return (i && i.delete___(t)) || e; + }), + }, + permitHostObjects___: { + value: x(function (t) { + if (t !== m) + throw new Error("bogus call to permitHostObjects___"); + a = !0; + }), + }, + }) + ); + } + (t && "undefined" != typeof Proxy && (Proxy = void 0), + (n.prototype = g.prototype), + (e.exports = n), + Object.defineProperty(WeakMap.prototype, "constructor", { + value: WeakMap, + enumerable: !1, + configurable: !0, + writable: !0, + })); + })() + : ("undefined" != typeof Proxy && (Proxy = void 0), (e.exports = g))); + } + function m(t) { + t.permitHostObjects___ && t.permitHostObjects___(m); + } + function v(t) { + return !(t.substr(0, l.length) == l && "___" === t.substr(t.length - 3)); + } + function y(t) { + if (t !== Object(t)) throw new TypeError("Not an object: " + t); + var e = t[c]; + if (e && e.key === t) return e; + if (s(t)) { + e = { key: t }; + try { + return ( + o(t, c, { + value: e, + writable: !1, + enumerable: !1, + configurable: !1, + }), + e + ); + } catch (t) { + return; + } + } + } + function x(t) { + return ((t.prototype = null), Object.freeze(t)); + } + function b() { + p || + "undefined" == typeof console || + ((p = !0), + console.warn( + "WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.", + )); + } + })(); + }, + {}, + ], + 433: [ + function (t, e, r) { + var n = t("./hidden-store.js"); + e.exports = function () { + var t = {}; + return function (e) { + if (("object" != typeof e || null === e) && "function" != typeof e) + throw new Error("Weakmap-shim: Key must be object"); + var r = e.valueOf(t); + return r && r.identity === t ? r : n(e, t); + }; + }; + }, + { "./hidden-store.js": 434 }, + ], + 434: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = { identity: e }, + n = t.valueOf; + return ( + Object.defineProperty(t, "valueOf", { + value: function (t) { + return t !== e ? n.apply(this, arguments) : r; + }, + writable: !0, + }), + r + ); + }; + }, + {}, + ], + 435: [ + function (t, e, r) { + var n = t("./create-store.js"); + e.exports = function () { + var t = n(); + return { + get: function (e, r) { + var n = t(e); + return n.hasOwnProperty("value") ? n.value : r; + }, + set: function (e, r) { + return ((t(e).value = r), this); + }, + has: function (e) { + return "value" in t(e); + }, + delete: function (e) { + return delete t(e).value; + }, + }; + }; + }, + { "./create-store.js": 433 }, + ], + 436: [ + function (t, e, r) { + var n = t("get-canvas-context"); + e.exports = function (t) { + return n("webgl", t); + }; + }, + { "get-canvas-context": 201 }, + ], + 437: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"), + a = n.instance(); + function o(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: "Chinese", + jdEpoch: 1721425.5, + hasYearZero: !1, + minMonth: 0, + firstMonth: 0, + minDay: 1, + regionalOptions: { + "": { + name: "Chinese", + epochs: ["BEC", "EC"], + monthNumbers: function (t, e) { + if ("string" == typeof t) { + var r = t.match(l); + return r ? r[0] : ""; + } + var n = this._validateYear(t), + i = t.month(), + a = "" + this.toChineseMonth(n, i); + return ( + e && a.length < 2 && (a = "0" + a), + this.isIntercalaryMonth(n, i) && (a += "i"), + a + ); + }, + monthNames: function (t) { + if ("string" == typeof t) { + var e = t.match(c); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "\u4e00\u6708", + "\u4e8c\u6708", + "\u4e09\u6708", + "\u56db\u6708", + "\u4e94\u6708", + "\u516d\u6708", + "\u4e03\u6708", + "\u516b\u6708", + "\u4e5d\u6708", + "\u5341\u6708", + "\u5341\u4e00\u6708", + "\u5341\u4e8c\u6708", + ][this.toChineseMonth(r, n) - 1]; + return (this.isIntercalaryMonth(r, n) && (i = "\u95f0" + i), i); + }, + monthNamesShort: function (t) { + if ("string" == typeof t) { + var e = t.match(u); + return e ? e[0] : ""; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + "\u4e00", + "\u4e8c", + "\u4e09", + "\u56db", + "\u4e94", + "\u516d", + "\u4e03", + "\u516b", + "\u4e5d", + "\u5341", + "\u5341\u4e00", + "\u5341\u4e8c", + ][this.toChineseMonth(r, n) - 1]; + return (this.isIntercalaryMonth(r, n) && (i = "\u95f0" + i), i); + }, + parseMonth: function (t, e) { + t = this._validateYear(t); + var r, + n = parseInt(e); + if (isNaN(n)) + ("\u95f0" === e[0] && ((r = !0), (e = e.substring(1))), + "\u6708" === e[e.length - 1] && + (e = e.substring(0, e.length - 1)), + (n = + 1 + + [ + "\u4e00", + "\u4e8c", + "\u4e09", + "\u56db", + "\u4e94", + "\u516d", + "\u4e03", + "\u516b", + "\u4e5d", + "\u5341", + "\u5341\u4e00", + "\u5341\u4e8c", + ].indexOf(e))); + else { + var i = e[e.length - 1]; + r = "i" === i || "I" === i; + } + return this.toMonthIndex(t, n, r); + }, + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 1, + isRTL: !1, + }, + }, + _validateYear: function (t, e) { + if ( + (t.year && (t = t.year()), + "number" != typeof t || t < 1888 || t > 2111) + ) + throw e.replace(/\{0\}/, this.local.name); + return t; + }, + toMonthIndex: function (t, e, r) { + var i = this.intercalaryMonth(t); + if ((r && e !== i) || e < 1 || e > 12) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return i ? (!r && e <= i ? e - 1 : e) : e - 1; + }, + toChineseMonth: function (t, e) { + t.year && (e = (t = t.year()).month()); + var r = this.intercalaryMonth(t); + if (e < 0 || e > (r ? 12 : 11)) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return r ? (e < r ? e + 1 : e) : e + 1; + }, + intercalaryMonth: function (t) { + return ((t = this._validateYear(t)), f[t - f[0]] >> 13); + }, + isIntercalaryMonth: function (t, e) { + t.year && (e = (t = t.year()).month()); + var r = this.intercalaryMonth(t); + return !!r && r === e; + }, + leapYear: function (t) { + return 0 !== this.intercalaryMonth(t); + }, + weekOfYear: function (t, e, r) { + var i, + o = this._validateYear(t, n.local.invalidyear), + s = h[o - h[0]], + l = (s >> 9) & 4095, + c = (s >> 5) & 15, + u = 31 & s; + (i = a.newDate(l, c, u)).add(4 - (i.dayOfWeek() || 7), "d"); + var f = this.toJD(t, e, r) - i.toJD(); + return 1 + Math.floor(f / 7); + }, + monthsInYear: function (t) { + return this.leapYear(t) ? 13 : 12; + }, + daysInMonth: function (t, e) { + (t.year && ((e = t.month()), (t = t.year())), + (t = this._validateYear(t))); + var r = f[t - f[0]]; + if (e > (r >> 13 ? 12 : 11)) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return r & (1 << (12 - e)) ? 30 : 29; + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, s, r, n.local.invalidDate); + ((t = this._validateYear(i.year())), (e = i.month()), (r = i.day())); + var o = this.isIntercalaryMonth(t, e), + s = this.toChineseMonth(t, e), + l = (function (t, e, r, n, i) { + var a, o, s; + if ("object" == typeof t) ((o = t), (a = e || {})); + else { + var l = "number" == typeof t && t >= 1888 && t <= 2111; + if (!l) throw new Error("Lunar year outside range 1888-2111"); + var c = "number" == typeof e && e >= 1 && e <= 12; + if (!c) throw new Error("Lunar month outside range 1 - 12"); + var u, + p = "number" == typeof r && r >= 1 && r <= 30; + if (!p) throw new Error("Lunar day outside range 1 - 30"); + ("object" == typeof n + ? ((u = !1), (a = n)) + : ((u = !!n), (a = i || {})), + (o = { year: t, month: e, day: r, isIntercalary: u })); + } + s = o.day - 1; + var d, + g = f[o.year - f[0]], + m = g >> 13; + d = m + ? o.month > m + ? o.month + : o.isIntercalary + ? o.month + : o.month - 1 + : o.month - 1; + for (var v = 0; v < d; v++) { + var y = g & (1 << (12 - v)) ? 30 : 29; + s += y; + } + var x = h[o.year - h[0]], + b = new Date((x >> 9) & 4095, ((x >> 5) & 15) - 1, (31 & x) + s); + return ( + (a.year = b.getFullYear()), + (a.month = 1 + b.getMonth()), + (a.day = b.getDate()), + a + ); + })(t, s, r, o); + return a.toJD(l.year, l.month, l.day); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = (function (t, e, r, n) { + var i, a; + if ("object" == typeof t) ((i = t), (a = e || {})); + else { + var o = "number" == typeof t && t >= 1888 && t <= 2111; + if (!o) throw new Error("Solar year outside range 1888-2111"); + var s = "number" == typeof e && e >= 1 && e <= 12; + if (!s) throw new Error("Solar month outside range 1 - 12"); + var l = "number" == typeof r && r >= 1 && r <= 31; + if (!l) throw new Error("Solar day outside range 1 - 31"); + ((i = { year: t, month: e, day: r }), (a = n || {})); + } + var c = h[i.year - h[0]], + u = (i.year << 9) | (i.month << 5) | i.day; + ((a.year = u >= c ? i.year : i.year - 1), (c = h[a.year - h[0]])); + var p, + d = new Date((c >> 9) & 4095, ((c >> 5) & 15) - 1, 31 & c), + g = new Date(i.year, i.month - 1, i.day); + p = Math.round((g - d) / 864e5); + var m, + v = f[a.year - f[0]]; + for (m = 0; m < 13; m++) { + var y = v & (1 << (12 - m)) ? 30 : 29; + if (p < y) break; + p -= y; + } + var x = v >> 13; + !x || m < x + ? ((a.isIntercalary = !1), (a.month = 1 + m)) + : m === x + ? ((a.isIntercalary = !0), (a.month = m)) + : ((a.isIntercalary = !1), (a.month = m)); + return ((a.day = 1 + p), a); + })(e.year(), e.month(), e.day()), + n = this.toMonthIndex(r.year, r.month, r.isIntercalary); + return this.newDate(r.year, n, r.day); + }, + fromString: function (t) { + var e = t.match(s), + r = this._validateYear(+e[1]), + n = +e[2], + i = !!e[3], + a = this.toMonthIndex(r, n, i), + o = +e[4]; + return this.newDate(r, a, o); + }, + add: function (t, e, r) { + var n = t.year(), + i = t.month(), + a = this.isIntercalaryMonth(n, i), + s = this.toChineseMonth(n, i), + l = Object.getPrototypeOf(o.prototype).add.call(this, t, e, r); + if ("y" === r) { + var c = l.year(), + u = l.month(), + f = this.isIntercalaryMonth(c, s), + h = + a && f + ? this.toMonthIndex(c, s, !0) + : this.toMonthIndex(c, s, !1); + h !== u && l.month(h); + } + return l; + }, + })); + var s = /^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m, + l = /^\d?\d[iI]?/m, + c = + /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m, + u = + /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m; + n.calendars.chinese = o; + var f = [ + 1887, 5780, 5802, 19157, 2742, 50359, 1198, 2646, 46378, 7466, 3412, + 30122, 5482, 67949, 2396, 5294, 43597, 6732, 6954, 36181, 2772, 4954, + 18781, 2396, 54427, 5274, 6730, 47781, 5800, 6868, 21210, 4790, 59703, + 2350, 5270, 46667, 3402, 3496, 38325, 1388, 4782, 18735, 2350, 52374, + 6804, 7498, 44457, 2906, 1388, 29294, 4700, 63789, 6442, 6804, 56138, + 5802, 2772, 38235, 1210, 4698, 22827, 5418, 63125, 3476, 5802, 43701, + 2484, 5302, 27223, 2646, 70954, 7466, 3412, 54698, 5482, 2412, 38062, + 5294, 2636, 32038, 6954, 60245, 2772, 4826, 43357, 2394, 5274, 39501, + 6730, 72357, 5800, 5844, 53978, 4790, 2358, 38039, 5270, 87627, 3402, + 3496, 54708, 5484, 4782, 43311, 2350, 3222, 27978, 7498, 68965, 2904, + 5484, 45677, 4700, 6444, 39573, 6804, 6986, 19285, 2772, 62811, 1210, + 4698, 47403, 5418, 5780, 38570, 5546, 76469, 2420, 5302, 51799, 2646, + 5414, 36501, 3412, 5546, 18869, 2412, 54446, 5276, 6732, 48422, 6822, + 2900, 28010, 4826, 92509, 2394, 5274, 55883, 6730, 6820, 47956, 5812, + 2778, 18779, 2358, 62615, 5270, 5450, 46757, 3492, 5556, 27318, 4718, + 67887, 2350, 3222, 52554, 7498, 3428, 38252, 5468, 4700, 31022, 6444, + 64149, 6804, 6986, 43861, 2772, 5338, 35421, 2650, 70955, 5418, 5780, + 54954, 5546, 2740, 38074, 5302, 2646, 29991, 3366, 61011, 3412, 5546, + 43445, 2412, 5294, 35406, 6732, 72998, 6820, 6996, 52586, 2778, 2396, + 38045, 5274, 6698, 23333, 6820, 64338, 5812, 2746, 43355, 2358, 5270, + 39499, 5450, 79525, 3492, 5548, + ], + h = [ + 1887, 966732, 967231, 967733, 968265, 968766, 969297, 969798, 970298, + 970829, 971330, 971830, 972362, 972863, 973395, 973896, 974397, 974928, + 975428, 975929, 976461, 976962, 977462, 977994, 978494, 979026, 979526, + 980026, 980558, 981059, 981559, 982091, 982593, 983124, 983624, 984124, + 984656, 985157, 985656, 986189, 986690, 987191, 987722, 988222, 988753, + 989254, 989754, 990286, 990788, 991288, 991819, 992319, 992851, 993352, + 993851, 994383, 994885, 995385, 995917, 996418, 996918, 997450, 997949, + 998481, 998982, 999483, 1000014, 1000515, 1001016, 1001548, 1002047, + 1002578, 1003080, 1003580, 1004111, 1004613, 1005113, 1005645, 1006146, + 1006645, 1007177, 1007678, 1008209, 1008710, 1009211, 1009743, 1010243, + 1010743, 1011275, 1011775, 1012306, 1012807, 1013308, 1013840, 1014341, + 1014841, 1015373, 1015874, 1016404, 1016905, 1017405, 1017937, 1018438, + 1018939, 1019471, 1019972, 1020471, 1021002, 1021503, 1022035, 1022535, + 1023036, 1023568, 1024069, 1024568, 1025100, 1025601, 1026102, 1026633, + 1027133, 1027666, 1028167, 1028666, 1029198, 1029699, 1030199, 1030730, + 1031231, 1031763, 1032264, 1032764, 1033296, 1033797, 1034297, 1034828, + 1035329, 1035830, 1036362, 1036861, 1037393, 1037894, 1038394, 1038925, + 1039427, 1039927, 1040459, 1040959, 1041491, 1041992, 1042492, 1043023, + 1043524, 1044024, 1044556, 1045057, 1045558, 1046090, 1046590, 1047121, + 1047622, 1048122, 1048654, 1049154, 1049655, 1050187, 1050689, 1051219, + 1051720, 1052220, 1052751, 1053252, 1053752, 1054284, 1054786, 1055285, + 1055817, 1056317, 1056849, 1057349, 1057850, 1058382, 1058883, 1059383, + 1059915, 1060415, 1060947, 1061447, 1061947, 1062479, 1062981, 1063480, + 1064012, 1064514, 1065014, 1065545, 1066045, 1066577, 1067078, 1067578, + 1068110, 1068611, 1069112, 1069642, 1070142, 1070674, 1071175, 1071675, + 1072207, 1072709, 1073209, 1073740, 1074241, 1074741, 1075273, 1075773, + 1076305, 1076807, 1077308, 1077839, 1078340, 1078840, 1079372, 1079871, + 1080403, 1080904, + ]; + }, + { "../main": 451, "object-assign": 339 }, + ], + 438: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Coptic", + jdEpoch: 1825029.5, + daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Coptic", + epochs: ["BAM", "AM"], + monthNames: [ + "Thout", + "Paopi", + "Hathor", + "Koiak", + "Tobi", + "Meshir", + "Paremhat", + "Paremoude", + "Pashons", + "Paoni", + "Epip", + "Mesori", + "Pi Kogi Enavot", + ], + monthNamesShort: [ + "Tho", + "Pao", + "Hath", + "Koi", + "Tob", + "Mesh", + "Pat", + "Pad", + "Pash", + "Pao", + "Epi", + "Meso", + "PiK", + ], + dayNames: [ + "Tkyriaka", + "Pesnau", + "Pshoment", + "Peftoou", + "Ptiou", + "Psoou", + "Psabbaton", + ], + dayNamesShort: ["Tky", "Pes", "Psh", "Pef", "Pti", "Pso", "Psa"], + dayNamesMin: ["Tk", "Pes", "Psh", "Pef", "Pt", "Pso", "Psa"], + digits: null, + dateFormat: "dd/mm/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || t % 4 == -1; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[""].invalidYear, + ), + 13 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; + (r <= 0 && r--, + (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD())); + var n = Math.floor(e / 30) + 1, + i = e - 30 * (n - 1) + 1; + return this.newDate(r, n, i); + }, + }), + (n.calendars.coptic = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 439: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Discworld", + jdEpoch: 1721425.5, + daysPerMonth: [16, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Discworld", + epochs: ["BUC", "UC"], + monthNames: [ + "Ick", + "Offle", + "February", + "March", + "April", + "May", + "June", + "Grune", + "August", + "Spune", + "Sektober", + "Ember", + "December", + ], + monthNamesShort: [ + "Ick", + "Off", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Gru", + "Aug", + "Spu", + "Sek", + "Emb", + "Dec", + ], + dayNames: [ + "Sunday", + "Octeday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: [ + "Sun", + "Oct", + "Mon", + "Tue", + "Wed", + "Thu", + "Fri", + "Sat", + ], + dayNamesMin: ["Su", "Oc", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 2, + isRTL: !1, + }, + }, + leapYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + !1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + 13 + ); + }, + daysInYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + 400 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 8) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return this.daysPerMonth[r.month() - 1]; + }, + daysInWeek: function () { + return 8; + }, + dayOfWeek: function (t, e, r) { + return (this._validate(t, e, r, n.local.invalidDate).day() + 1) % 8; + }, + weekDay: function (t, e, r) { + var n = this.dayOfWeek(t, e, r); + return n >= 2 && n <= 6; + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return { century: o[Math.floor((i.year() - 1) / 100) + 1] || "" }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year() + (i.year() < 0 ? 1 : 0)), + (e = i.month()), + (r = i.day()) + + (e > 1 ? 16 : 0) + + (e > 2 ? 32 * (e - 2) : 0) + + 400 * (t - 1) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = Math.floor(t + 0.5) - Math.floor(this.jdEpoch) - 1; + var e = Math.floor(t / 400) + 1; + ((t -= 400 * (e - 1)), (t += t > 15 ? 16 : 0)); + var r = Math.floor(t / 32) + 1, + n = t - 32 * (r - 1) + 1; + return this.newDate(e <= 0 ? e - 1 : e, r, n); + }, + })); + var o = { 20: "Fruitbat", 21: "Anchovy" }; + n.calendars.discworld = a; + }, + { "../main": 451, "object-assign": 339 }, + ], + 440: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Ethiopian", + jdEpoch: 1724220.5, + daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Ethiopian", + epochs: ["BEE", "EE"], + monthNames: [ + "Meskerem", + "Tikemet", + "Hidar", + "Tahesas", + "Tir", + "Yekatit", + "Megabit", + "Miazia", + "Genbot", + "Sene", + "Hamle", + "Nehase", + "Pagume", + ], + monthNamesShort: [ + "Mes", + "Tik", + "Hid", + "Tah", + "Tir", + "Yek", + "Meg", + "Mia", + "Gen", + "Sen", + "Ham", + "Neh", + "Pag", + ], + dayNames: [ + "Ehud", + "Segno", + "Maksegno", + "Irob", + "Hamus", + "Arb", + "Kidame", + ], + dayNamesShort: ["Ehu", "Seg", "Mak", "Iro", "Ham", "Arb", "Kid"], + dayNamesMin: ["Eh", "Se", "Ma", "Ir", "Ha", "Ar", "Ki"], + digits: null, + dateFormat: "dd/mm/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || t % 4 == -1; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[""].invalidYear, + ), + 13 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; + (r <= 0 && r--, + (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD())); + var n = Math.floor(e / 30) + 1, + i = e - 30 * (n - 1) + 1; + return this.newDate(r, n, i); + }, + }), + (n.calendars.ethiopian = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 441: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Hebrew", + jdEpoch: 347995.5, + daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 29], + hasYearZero: !1, + minMonth: 1, + firstMonth: 7, + minDay: 1, + regionalOptions: { + "": { + name: "Hebrew", + epochs: ["BAM", "AM"], + monthNames: [ + "Nisan", + "Iyar", + "Sivan", + "Tammuz", + "Av", + "Elul", + "Tishrei", + "Cheshvan", + "Kislev", + "Tevet", + "Shevat", + "Adar", + "Adar II", + ], + monthNamesShort: [ + "Nis", + "Iya", + "Siv", + "Tam", + "Av", + "Elu", + "Tis", + "Che", + "Kis", + "Tev", + "She", + "Ada", + "Ad2", + ], + dayNames: [ + "Yom Rishon", + "Yom Sheni", + "Yom Shlishi", + "Yom Revi'i", + "Yom Chamishi", + "Yom Shishi", + "Yom Shabbat", + ], + dayNamesShort: ["Ris", "She", "Shl", "Rev", "Cha", "Shi", "Sha"], + dayNamesMin: ["Ri", "She", "Shl", "Re", "Ch", "Shi", "Sha"], + digits: null, + dateFormat: "dd/mm/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return this._leapYear(e.year()); + }, + _leapYear: function (t) { + return o(7 * (t = t < 0 ? t + 1 : t) + 1, 19) < 7; + }, + monthsInYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + this._leapYear(t.year ? t.year() : t) ? 13 : 12 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + return ( + (t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ).year()), + this.toJD(-1 === t ? 1 : t + 1, 7, 1) - this.toJD(t, 7, 1) + ); + }, + daysInMonth: function (t, e) { + return ( + t.year && ((e = t.month()), (t = t.year())), + this._validate(t, e, this.minDay, n.local.invalidMonth), + 12 === e && this.leapYear(t) + ? 30 + : 8 === e && 5 === o(this.daysInYear(t), 10) + ? 30 + : 9 === e && 3 === o(this.daysInYear(t), 10) + ? 29 + : this.daysPerMonth[e - 1] + ); + }, + weekDay: function (t, e, r) { + return 6 !== this.dayOfWeek(t, e, r); + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return { + yearType: + (this.leapYear(i) ? "embolismic" : "common") + + " " + + ["deficient", "regular", "complete"][(this.daysInYear(i) % 10) - 3], + }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + ((t = i.year()), (e = i.month()), (r = i.day())); + var a = t <= 0 ? t + 1 : t, + o = this.jdEpoch + this._delay1(a) + this._delay2(a) + r + 1; + if (e < 7) { + for (var s = 7; s <= this.monthsInYear(t); s++) + o += this.daysInMonth(t, s); + for (s = 1; s < e; s++) o += this.daysInMonth(t, s); + } else for (s = 7; s < e; s++) o += this.daysInMonth(t, s); + return o; + }, + _delay1: function (t) { + var e = Math.floor((235 * t - 234) / 19), + r = 12084 + 13753 * e, + n = 29 * e + Math.floor(r / 25920); + return (o(3 * (n + 1), 7) < 3 && n++, n); + }, + _delay2: function (t) { + var e = this._delay1(t - 1), + r = this._delay1(t); + return this._delay1(t + 1) - r == 356 ? 2 : r - e == 382 ? 1 : 0; + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5; + for ( + var e = Math.floor((98496 * (t - this.jdEpoch)) / 35975351) - 1; + t >= this.toJD(-1 === e ? 1 : e + 1, 7, 1); + + ) + e++; + for ( + var r = t < this.toJD(e, 1, 1) ? 7 : 1; + t > this.toJD(e, r, this.daysInMonth(e, r)); + + ) + r++; + var n = t - this.toJD(e, r, 1) + 1; + return this.newDate(e, r, n); + }, + }), + (n.calendars.hebrew = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 442: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Islamic", + jdEpoch: 1948439.5, + daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Islamic", + epochs: ["BH", "AH"], + monthNames: [ + "Muharram", + "Safar", + "Rabi' al-awwal", + "Rabi' al-thani", + "Jumada al-awwal", + "Jumada al-thani", + "Rajab", + "Sha'aban", + "Ramadan", + "Shawwal", + "Dhu al-Qi'dah", + "Dhu al-Hijjah", + ], + monthNamesShort: [ + "Muh", + "Saf", + "Rab1", + "Rab2", + "Jum1", + "Jum2", + "Raj", + "Sha'", + "Ram", + "Shaw", + "DhuQ", + "DhuH", + ], + dayNames: [ + "Yawm al-ahad", + "Yawm al-ithnayn", + "Yawm ath-thulaathaa'", + "Yawm al-arbi'aa'", + "Yawm al-kham\u012bs", + "Yawm al-jum'a", + "Yawm as-sabt", + ], + dayNamesShort: ["Aha", "Ith", "Thu", "Arb", "Kha", "Jum", "Sab"], + dayNamesMin: ["Ah", "It", "Th", "Ar", "Kh", "Ju", "Sa"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 6, + isRTL: !1, + }, + }, + leapYear: function (t) { + return ( + (11 * + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ).year() + + 14) % + 30 < + 11 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + return this.leapYear(t) ? 355 : 354; + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (r = i.day()), + (t = t <= 0 ? t + 1 : t), + r + + Math.ceil(29.5 * (e - 1)) + + 354 * (t - 1) + + Math.floor((3 + 11 * t) / 30) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5; + var e = Math.floor((30 * (t - this.jdEpoch) + 10646) / 10631); + e = e <= 0 ? e - 1 : e; + var r = Math.min( + 12, + Math.ceil((t - 29 - this.toJD(e, 1, 1)) / 29.5) + 1, + ), + n = t - this.toJD(e, r, 1) + 1; + return this.newDate(e, r, n); + }, + }), + (n.calendars.islamic = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 443: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Julian", + jdEpoch: 1721423.5, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Julian", + epochs: ["BC", "AD"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "mm/dd/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return (t = e.year() < 0 ? e.year() + 1 : e.year()) % 4 == 0; + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(4 - (n.dayOfWeek() || 7), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (r = i.day()), + t < 0 && t++, + e <= 2 && (t--, (e += 12)), + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5) + 1524, + r = Math.floor((e - 122.1) / 365.25), + n = Math.floor(365.25 * r), + i = Math.floor((e - n) / 30.6001), + a = i - Math.floor(i < 14 ? 1 : 13), + o = r - Math.floor(a > 2 ? 4716 : 4715), + s = e - n - Math.floor(30.6001 * i); + return (o <= 0 && o--, this.newDate(o, a, s)); + }, + }), + (n.calendars.julian = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 444: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + function s(t, e) { + return o(t - 1, e) + 1; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Mayan", + jdEpoch: 584282.5, + hasYearZero: !0, + minMonth: 0, + firstMonth: 0, + minDay: 0, + regionalOptions: { + "": { + name: "Mayan", + epochs: ["", ""], + monthNames: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + ], + monthNamesShort: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + ], + dayNames: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + ], + dayNamesShort: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + ], + dayNamesMin: [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + ], + digits: null, + dateFormat: "YYYY.m.d", + firstDay: 0, + isRTL: !1, + haabMonths: [ + "Pop", + "Uo", + "Zip", + "Zotz", + "Tzec", + "Xul", + "Yaxkin", + "Mol", + "Chen", + "Yax", + "Zac", + "Ceh", + "Mac", + "Kankin", + "Muan", + "Pax", + "Kayab", + "Cumku", + "Uayeb", + ], + tzolkinMonths: [ + "Imix", + "Ik", + "Akbal", + "Kan", + "Chicchan", + "Cimi", + "Manik", + "Lamat", + "Muluc", + "Oc", + "Chuen", + "Eb", + "Ben", + "Ix", + "Men", + "Cib", + "Caban", + "Etznab", + "Cauac", + "Ahau", + ], + }, + }, + leapYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + !1 + ); + }, + formatYear: function (t) { + t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ).year(); + var e = Math.floor(t / 400); + return ( + (t %= 400), + (t += t < 0 ? 400 : 0), + e + "." + Math.floor(t / 20) + "." + (t % 20) + ); + }, + forYear: function (t) { + if ((t = t.split(".")).length < 3) throw "Invalid Mayan year"; + for (var e = 0, r = 0; r < t.length; r++) { + var n = parseInt(t[r], 10); + if (Math.abs(n) > 19 || (r > 0 && n < 0)) throw "Invalid Mayan year"; + e = 20 * e + n; + } + return e; + }, + monthsInYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + 18 + ); + }, + weekOfYear: function (t, e, r) { + return (this._validate(t, e, r, n.local.invalidDate), 0); + }, + daysInYear: function (t) { + return ( + this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), + 360 + ); + }, + daysInMonth: function (t, e) { + return (this._validate(t, e, this.minDay, n.local.invalidMonth), 20); + }, + daysInWeek: function () { + return 5; + }, + dayOfWeek: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate).day(); + }, + weekDay: function (t, e, r) { + return (this._validate(t, e, r, n.local.invalidDate), !0); + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate).toJD(), + a = this._toHaab(i), + o = this._toTzolkin(i); + return { + haabMonthName: this.local.haabMonths[a[0] - 1], + haabMonth: a[0], + haabDay: a[1], + tzolkinDayName: this.local.tzolkinMonths[o[0] - 1], + tzolkinDay: o[0], + tzolkinTrecena: o[1], + }; + }, + _toHaab: function (t) { + var e = o((t -= this.jdEpoch) + 8 + 340, 365); + return [Math.floor(e / 20) + 1, o(e, 20)]; + }, + _toTzolkin: function (t) { + return [s((t -= this.jdEpoch) + 20, 20), s(t + 4, 13)]; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return i.day() + 20 * i.month() + 360 * i.year() + this.jdEpoch; + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5 - this.jdEpoch; + var e = Math.floor(t / 360); + ((t %= 360), (t += t < 0 ? 360 : 0)); + var r = Math.floor(t / 20), + n = t % 20; + return this.newDate(e, r, n); + }, + }), + (n.calendars.mayan = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 445: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + a.prototype = new n.baseCalendar(); + var o = n.instance("gregorian"); + (i(a.prototype, { + name: "Nanakshahi", + jdEpoch: 2257673.5, + daysPerMonth: [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Nanakshahi", + epochs: ["BN", "AN"], + monthNames: [ + "Chet", + "Vaisakh", + "Jeth", + "Harh", + "Sawan", + "Bhadon", + "Assu", + "Katak", + "Maghar", + "Poh", + "Magh", + "Phagun", + ], + monthNamesShort: [ + "Che", + "Vai", + "Jet", + "Har", + "Saw", + "Bha", + "Ass", + "Kat", + "Mgr", + "Poh", + "Mgh", + "Pha", + ], + dayNames: [ + "Somvaar", + "Mangalvar", + "Budhvaar", + "Veervaar", + "Shukarvaar", + "Sanicharvaar", + "Etvaar", + ], + dayNamesShort: [ + "Som", + "Mangal", + "Budh", + "Veer", + "Shukar", + "Sanichar", + "Et", + ], + dayNamesMin: ["So", "Ma", "Bu", "Ve", "Sh", "Sa", "Et"], + digits: null, + dateFormat: "dd-mm-yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[""].invalidYear, + ); + return o.leapYear(e.year() + (e.year() < 1 ? 1 : 0) + 1469); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(1 - (n.dayOfWeek() || 7), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidMonth); + (t = i.year()) < 0 && t++; + for (var a = i.day(), s = 1; s < i.month(); s++) + a += this.daysPerMonth[s - 1]; + return a + o.toJD(t + 1468, 3, 13); + }, + fromJD: function (t) { + t = Math.floor(t + 0.5); + for ( + var e = Math.floor((t - (this.jdEpoch - 1)) / 366); + t >= this.toJD(e + 1, 1, 1); + + ) + e++; + for ( + var r = t - Math.floor(this.toJD(e, 1, 1) + 0.5) + 1, n = 1; + r > this.daysInMonth(e, n); + + ) + ((r -= this.daysInMonth(e, n)), n++); + return this.newDate(e, n, r); + }, + }), + (n.calendars.nanakshahi = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 446: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Nepali", + jdEpoch: 1700709.5, + daysPerMonth: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + daysPerYear: 365, + regionalOptions: { + "": { + name: "Nepali", + epochs: ["BBS", "ABS"], + monthNames: [ + "Baisakh", + "Jestha", + "Ashadh", + "Shrawan", + "Bhadra", + "Ashwin", + "Kartik", + "Mangsir", + "Paush", + "Mangh", + "Falgun", + "Chaitra", + ], + monthNamesShort: [ + "Bai", + "Je", + "As", + "Shra", + "Bha", + "Ash", + "Kar", + "Mang", + "Pau", + "Ma", + "Fal", + "Chai", + ], + dayNames: [ + "Aaitabaar", + "Sombaar", + "Manglbaar", + "Budhabaar", + "Bihibaar", + "Shukrabaar", + "Shanibaar", + ], + dayNamesShort: [ + "Aaita", + "Som", + "Mangl", + "Budha", + "Bihi", + "Shukra", + "Shani", + ], + dayNamesMin: ["Aai", "So", "Man", "Bu", "Bi", "Shu", "Sha"], + digits: null, + dateFormat: "dd/mm/yyyy", + firstDay: 1, + isRTL: !1, + }, + }, + leapYear: function (t) { + return this.daysInYear(t) !== this.daysPerYear; + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + if ( + ((t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ).year()), + void 0 === this.NEPALI_CALENDAR_DATA[t]) + ) + return this.daysPerYear; + for (var e = 0, r = this.minMonth; r <= 12; r++) + e += this.NEPALI_CALENDAR_DATA[t][r]; + return e; + }, + daysInMonth: function (t, e) { + return ( + t.year && ((e = t.month()), (t = t.year())), + this._validate(t, e, this.minDay, n.local.invalidMonth), + void 0 === this.NEPALI_CALENDAR_DATA[t] + ? this.daysPerMonth[e - 1] + : this.NEPALI_CALENDAR_DATA[t][e] + ); + }, + weekDay: function (t, e, r) { + return 6 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + ((t = i.year()), (e = i.month()), (r = i.day())); + var a = n.instance(), + o = 0, + s = e, + l = t; + this._createMissingCalendarData(t); + var c = + t - + (s > 9 || (9 === s && r >= this.NEPALI_CALENDAR_DATA[l][0]) + ? 56 + : 57); + for (9 !== e && ((o = r), s--); 9 !== s; ) + (s <= 0 && ((s = 12), l--), + (o += this.NEPALI_CALENDAR_DATA[l][s]), + s--); + return ( + 9 === e + ? (o += r - this.NEPALI_CALENDAR_DATA[l][0]) < 0 && + (o += a.daysInYear(c)) + : (o += + this.NEPALI_CALENDAR_DATA[l][9] - + this.NEPALI_CALENDAR_DATA[l][0]), + a.newDate(c, 1, 1).add(o, "d").toJD() + ); + }, + fromJD: function (t) { + var e = n.instance().fromJD(t), + r = e.year(), + i = e.dayOfYear(), + a = r + 56; + this._createMissingCalendarData(a); + for ( + var o = 9, + s = this.NEPALI_CALENDAR_DATA[a][0], + l = this.NEPALI_CALENDAR_DATA[a][o] - s + 1; + i > l; + + ) + (++o > 12 && ((o = 1), a++), (l += this.NEPALI_CALENDAR_DATA[a][o])); + var c = this.NEPALI_CALENDAR_DATA[a][o] - (l - i); + return this.newDate(a, o, c); + }, + _createMissingCalendarData: function (t) { + var e = this.daysPerMonth.slice(0); + e.unshift(17); + for (var r = t - 1; r < t + 2; r++) + void 0 === this.NEPALI_CALENDAR_DATA[r] && + (this.NEPALI_CALENDAR_DATA[r] = e); + }, + NEPALI_CALENDAR_DATA: { + 1970: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1971: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 1972: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 1973: [19, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1974: [19, 31, 31, 32, 30, 31, 31, 30, 29, 30, 29, 30, 30], + 1975: [18, 31, 31, 32, 32, 30, 31, 30, 29, 30, 29, 30, 30], + 1976: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1977: [18, 31, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], + 1978: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1979: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1980: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1981: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 1982: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1983: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1984: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1985: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 1986: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1987: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1988: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1989: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 1990: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1991: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1992: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1993: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 1994: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1995: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 1996: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1997: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1998: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1999: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2000: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2001: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2002: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2003: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2004: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2005: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2006: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2007: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2008: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2009: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2010: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2011: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2012: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2013: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2014: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2015: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2016: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2017: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2018: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2019: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2020: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2021: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2022: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2023: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2024: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2025: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2026: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2027: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2028: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2029: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 2030: [17, 31, 32, 31, 32, 31, 30, 30, 30, 30, 30, 30, 31], + 2031: [17, 31, 32, 31, 32, 31, 31, 31, 31, 31, 31, 31, 31], + 2032: [17, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32], + 2033: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2034: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2035: [17, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2036: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2037: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2038: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2039: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2040: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2041: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2042: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2043: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2044: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2045: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2046: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2047: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2048: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2049: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2050: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2051: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2052: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2053: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2054: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2055: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 29, 30], + 2056: [17, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 2057: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2058: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2059: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2060: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2061: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2062: [17, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], + 2063: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2064: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2065: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2066: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2067: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2068: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2069: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2070: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2071: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2072: [17, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2073: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2074: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2075: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2076: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2077: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2078: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2079: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2080: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2081: [17, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2082: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2083: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2084: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2085: [17, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, 30], + 2086: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2087: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], + 2088: [16, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30], + 2089: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2090: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2091: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], + 2092: [16, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2093: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2094: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2095: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30], + 2096: [17, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2097: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2098: [17, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, 31], + 2099: [17, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], + 2100: [17, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, 30], + }, + }), + (n.calendars.nepali = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 447: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "Persian", + jdEpoch: 1948320.5, + daysPerMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Persian", + epochs: ["BP", "AP"], + monthNames: [ + "Farvardin", + "Ordibehesht", + "Khordad", + "Tir", + "Mordad", + "Shahrivar", + "Mehr", + "Aban", + "Azar", + "Day", + "Bahman", + "Esfand", + ], + monthNamesShort: [ + "Far", + "Ord", + "Kho", + "Tir", + "Mor", + "Sha", + "Meh", + "Aba", + "Aza", + "Day", + "Bah", + "Esf", + ], + dayNames: [ + "Yekshambe", + "Doshambe", + "Seshambe", + "Ch\xe6harshambe", + "Panjshambe", + "Jom'e", + "Shambe", + ], + dayNamesShort: ["Yek", "Do", "Se", "Ch\xe6", "Panj", "Jom", "Sha"], + dayNamesMin: ["Ye", "Do", "Se", "Ch", "Pa", "Jo", "Sh"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 6, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return ( + (682 * + (((e.year() - (e.year() > 0 ? 474 : 473)) % 2820) + 474 + 38)) % + 2816 < + 682 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-(n.dayOfWeek() + 1) % 7, "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + ((t = i.year()), (e = i.month()), (r = i.day())); + var a = t - (t >= 0 ? 474 : 473), + s = 474 + o(a, 2820); + return ( + r + + (e <= 7 ? 31 * (e - 1) : 30 * (e - 1) + 6) + + Math.floor((682 * s - 110) / 2816) + + 365 * (s - 1) + + 1029983 * Math.floor(a / 2820) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = (t = Math.floor(t) + 0.5) - this.toJD(475, 1, 1), + r = Math.floor(e / 1029983), + n = o(e, 1029983), + i = 2820; + if (1029982 !== n) { + var a = Math.floor(n / 366), + s = o(n, 366); + i = Math.floor((2134 * a + 2816 * s + 2815) / 1028522) + a + 1; + } + var l = i + 2820 * r + 474; + l = l <= 0 ? l - 1 : l; + var c = t - this.toJD(l, 1, 1) + 1, + u = c <= 186 ? Math.ceil(c / 31) : Math.ceil((c - 6) / 30), + f = t - this.toJD(l, u, 1) + 1; + return this.newDate(l, u, f); + }, + }), + (n.calendars.persian = a), + (n.calendars.jalali = a)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 448: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"), + a = n.instance(); + function o(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: "Taiwan", + jdEpoch: 2419402.5, + yearsOffset: 1911, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Taiwan", + epochs: ["BROC", "ROC"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 1, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + t = this._t2gYear(e.year()); + return a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + t = this._t2gYear(i.year()); + return a.weekOfYear(t, i.month(), i.day()); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + t = this._t2gYear(i.year()); + return a.toJD(t, i.month(), i.day()); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = this._g2tYear(e.year()); + return this.newDate(r, e.month(), e.day()); + }, + _t2gYear: function (t) { + return ( + t + this.yearsOffset + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) + ); + }, + _g2tYear: function (t) { + return t - this.yearsOffset - (t >= 1 && t <= this.yearsOffset ? 1 : 0); + }, + }), + (n.calendars.taiwan = o)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 449: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"), + a = n.instance(); + function o(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: "Thai", + jdEpoch: 1523098.5, + yearsOffset: 543, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Thai", + epochs: ["BBE", "BE"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "dd/mm/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + t = this._t2gYear(e.year()); + return a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + t = this._t2gYear(i.year()); + return a.weekOfYear(t, i.month(), i.day()); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + t = this._t2gYear(i.year()); + return a.toJD(t, i.month(), i.day()); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = this._g2tYear(e.year()); + return this.newDate(r, e.month(), e.day()); + }, + _t2gYear: function (t) { + return t - this.yearsOffset - (t >= 1 && t <= this.yearsOffset ? 1 : 0); + }, + _g2tYear: function (t) { + return ( + t + this.yearsOffset + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) + ); + }, + }), + (n.calendars.thai = o)); + }, + { "../main": 451, "object-assign": 339 }, + ], + 450: [ + function (t, e, r) { + var n = t("../main"), + i = t("object-assign"); + function a(t) { + this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; + } + ((a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: "UmmAlQura", + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Umm al-Qura", + epochs: ["BH", "AH"], + monthNames: [ + "Al-Muharram", + "Safar", + "Rabi' al-awwal", + "Rabi' Al-Thani", + "Jumada Al-Awwal", + "Jumada Al-Thani", + "Rajab", + "Sha'aban", + "Ramadan", + "Shawwal", + "Dhu al-Qi'dah", + "Dhu al-Hijjah", + ], + monthNamesShort: [ + "Muh", + "Saf", + "Rab1", + "Rab2", + "Jum1", + "Jum2", + "Raj", + "Sha'", + "Ram", + "Shaw", + "DhuQ", + "DhuH", + ], + dayNames: [ + "Yawm al-Ahad", + "Yawm al-Ithnain", + "Yawm al-Thal\u0101th\u0101\u2019", + "Yawm al-Arba\u2018\u0101\u2019", + "Yawm al-Kham\u012bs", + "Yawm al-Jum\u2018a", + "Yawm al-Sabt", + ], + dayNamesMin: ["Ah", "Ith", "Th", "Ar", "Kh", "Ju", "Sa"], + digits: null, + dateFormat: "yyyy/mm/dd", + firstDay: 6, + isRTL: !0, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear, + ); + return 355 === this.daysInYear(e.year()); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + for (var e = 0, r = 1; r <= 12; r++) e += this.daysInMonth(t, r); + return e; + }, + daysInMonth: function (t, e) { + for ( + var r = + this._validate(t, e, this.minDay, n.local.invalidMonth).toJD() - + 24e5 + + 0.5, + i = 0, + a = 0; + a < o.length; + a++ + ) { + if (o[a] > r) return o[i] - o[i - 1]; + i++; + } + return 30; + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate), + a = 12 * (i.year() - 1) + i.month() - 15292; + return i.day() + o[a - 1] - 1 + 24e5 - 0.5; + }, + fromJD: function (t) { + for ( + var e = t - 24e5 + 0.5, r = 0, n = 0; + n < o.length && !(o[n] > e); + n++ + ) + r++; + var i = r + 15292, + a = Math.floor((i - 1) / 12), + s = a + 1, + l = i - 12 * a, + c = e - o[r - 1] + 1; + return this.newDate(s, l, c); + }, + isValid: function (t, e, r) { + var i = n.baseCalendar.prototype.isValid.apply(this, arguments); + return ( + i && (i = (t = null != t.year ? t.year : t) >= 1276 && t <= 1500), + i + ); + }, + _validate: function (t, e, r, i) { + var a = n.baseCalendar.prototype._validate.apply(this, arguments); + if (a.year < 1276 || a.year > 1500) + throw i.replace(/\{0\}/, this.local.name); + return a; + }, + }), + (n.calendars.ummalqura = a)); + var o = [ + 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, 374, 404, 433, 463, + 492, 522, 551, 581, 611, 641, 670, 700, 729, 759, 788, 818, 847, 877, 906, + 936, 965, 995, 1024, 1054, 1083, 1113, 1142, 1172, 1201, 1231, 1260, 1290, + 1320, 1350, 1379, 1409, 1438, 1468, 1497, 1527, 1556, 1586, 1615, 1645, + 1674, 1704, 1733, 1763, 1792, 1822, 1851, 1881, 1910, 1940, 1969, 1999, + 2028, 2058, 2087, 2117, 2146, 2176, 2205, 2235, 2264, 2294, 2323, 2353, + 2383, 2413, 2442, 2472, 2501, 2531, 2560, 2590, 2619, 2649, 2678, 2708, + 2737, 2767, 2796, 2826, 2855, 2885, 2914, 2944, 2973, 3003, 3032, 3062, + 3091, 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, 3416, + 3446, 3476, 3505, 3535, 3564, 3594, 3623, 3653, 3682, 3712, 3741, 3771, + 3800, 3830, 3859, 3889, 3918, 3948, 3977, 4007, 4036, 4066, 4095, 4125, + 4155, 4185, 4214, 4244, 4273, 4303, 4332, 4362, 4391, 4421, 4450, 4480, + 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716, 4745, 4775, 4804, 4834, + 4863, 4893, 4922, 4952, 4981, 5011, 5040, 5070, 5099, 5129, 5158, 5188, + 5218, 5248, 5277, 5307, 5336, 5366, 5395, 5425, 5454, 5484, 5513, 5543, + 5572, 5602, 5631, 5661, 5690, 5720, 5749, 5779, 5808, 5838, 5867, 5897, + 5926, 5956, 5985, 6015, 6044, 6074, 6103, 6133, 6162, 6192, 6221, 6251, + 6281, 6311, 6340, 6370, 6399, 6429, 6458, 6488, 6517, 6547, 6576, 6606, + 6635, 6665, 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, 6960, + 6989, 7019, 7048, 7078, 7107, 7137, 7166, 7196, 7225, 7255, 7284, 7314, + 7344, 7374, 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, 7669, + 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, 7934, 7964, 7993, 8023, + 8053, 8083, 8112, 8142, 8171, 8201, 8230, 8260, 8289, 8319, 8348, 8378, + 8407, 8437, 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, 8732, + 8761, 8791, 8821, 8850, 8880, 8909, 8938, 8968, 8997, 9027, 9056, 9086, + 9115, 9145, 9175, 9205, 9234, 9264, 9293, 9322, 9352, 9381, 9410, 9440, + 9470, 9499, 9529, 9559, 9589, 9618, 9648, 9677, 9706, 9736, 9765, 9794, + 9824, 9853, 9883, 9913, 9943, 9972, 10002, 10032, 10061, 10090, 10120, + 10149, 10178, 10208, 10237, 10267, 10297, 10326, 10356, 10386, 10415, 10445, + 10474, 10504, 10533, 10562, 10592, 10621, 10651, 10680, 10710, 10740, 10770, + 10799, 10829, 10858, 10888, 10917, 10947, 10976, 11005, 11035, 11064, 11094, + 11124, 11153, 11183, 11213, 11242, 11272, 11301, 11331, 11360, 11389, 11419, + 11448, 11478, 11507, 11537, 11567, 11596, 11626, 11655, 11685, 11715, 11744, + 11774, 11803, 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, 12069, + 12099, 12128, 12158, 12187, 12216, 12246, 12275, 12304, 12334, 12364, 12393, + 12423, 12453, 12483, 12512, 12542, 12571, 12600, 12630, 12659, 12688, 12718, + 12747, 12777, 12807, 12837, 12866, 12896, 12926, 12955, 12984, 13014, 13043, + 13072, 13102, 13131, 13161, 13191, 13220, 13250, 13280, 13310, 13339, 13368, + 13398, 13427, 13456, 13486, 13515, 13545, 13574, 13604, 13634, 13664, 13693, + 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, 13958, 13988, 14018, + 14047, 14077, 14107, 14136, 14166, 14195, 14224, 14254, 14283, 14313, 14342, + 14372, 14401, 14431, 14461, 14490, 14520, 14550, 14579, 14609, 14638, 14667, + 14697, 14726, 14756, 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, + 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, 15258, 15287, 15317, + 15347, 15377, 15406, 15436, 15465, 15494, 15524, 15553, 15582, 15612, 15641, + 15671, 15701, 15731, 15760, 15790, 15820, 15849, 15878, 15908, 15937, 15966, + 15996, 16025, 16055, 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, + 16321, 16350, 16380, 16409, 16439, 16468, 16498, 16528, 16558, 16587, 16617, + 16646, 16676, 16705, 16734, 16764, 16793, 16823, 16852, 16882, 16912, 16941, + 16971, 17001, 17030, 17060, 17089, 17118, 17148, 17177, 17207, 17236, 17266, + 17295, 17325, 17355, 17384, 17414, 17444, 17473, 17502, 17532, 17561, 17591, + 17620, 17650, 17679, 17709, 17738, 17768, 17798, 17827, 17857, 17886, 17916, + 17945, 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, 18211, 18241, + 18270, 18300, 18330, 18359, 18388, 18418, 18447, 18476, 18506, 18535, 18565, + 18595, 18625, 18654, 18684, 18714, 18743, 18772, 18802, 18831, 18860, 18890, + 18919, 18949, 18979, 19008, 19038, 19068, 19098, 19127, 19156, 19186, 19215, + 19244, 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481, 19511, 19540, + 19570, 19599, 19628, 19658, 19687, 19717, 19746, 19776, 19806, 19836, 19865, + 19895, 19924, 19954, 19983, 20012, 20042, 20071, 20101, 20130, 20160, 20190, + 20219, 20249, 20279, 20308, 20338, 20367, 20396, 20426, 20455, 20485, 20514, + 20544, 20573, 20603, 20633, 20662, 20692, 20721, 20751, 20780, 20810, 20839, + 20869, 20898, 20928, 20957, 20987, 21016, 21046, 21076, 21105, 21135, 21164, + 21194, 21223, 21253, 21282, 21312, 21341, 21371, 21400, 21430, 21459, 21489, + 21519, 21548, 21578, 21607, 21637, 21666, 21696, 21725, 21754, 21784, 21813, + 21843, 21873, 21902, 21932, 21962, 21991, 22021, 22050, 22080, 22109, 22138, + 22168, 22197, 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434, 22464, + 22493, 22522, 22552, 22581, 22611, 22640, 22670, 22700, 22730, 22759, 22789, + 22818, 22848, 22877, 22906, 22936, 22965, 22994, 23024, 23054, 23083, 23113, + 23143, 23173, 23202, 23232, 23261, 23290, 23320, 23349, 23379, 23408, 23438, + 23467, 23497, 23527, 23556, 23586, 23616, 23645, 23674, 23704, 23733, 23763, + 23792, 23822, 23851, 23881, 23910, 23940, 23970, 23999, 24029, 24058, 24088, + 24117, 24147, 24176, 24206, 24235, 24265, 24294, 24324, 24353, 24383, 24413, + 24442, 24472, 24501, 24531, 24560, 24590, 24619, 24648, 24678, 24707, 24737, + 24767, 24796, 24826, 24856, 24885, 24915, 24944, 24974, 25003, 25032, 25062, + 25091, 25121, 25150, 25180, 25210, 25240, 25269, 25299, 25328, 25358, 25387, + 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, 25653, 25683, 25712, + 25742, 25771, 25800, 25830, 25859, 25888, 25918, 25948, 25977, 26007, 26037, + 26067, 26096, 26126, 26155, 26184, 26214, 26243, 26272, 26302, 26332, 26361, + 26391, 26421, 26451, 26480, 26510, 26539, 26568, 26598, 26627, 26656, 26686, + 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, 26952, 26982, 27011, + 27041, 27070, 27099, 27129, 27159, 27188, 27218, 27248, 27277, 27307, 27336, + 27366, 27395, 27425, 27454, 27484, 27513, 27542, 27572, 27602, 27631, 27661, + 27691, 27720, 27750, 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, + 28015, 28045, 28074, 28104, 28134, 28163, 28193, 28222, 28252, 28281, 28310, + 28340, 28369, 28399, 28428, 28458, 28488, 28517, 28547, 28577, 28607, 28636, + 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, + 28990, 29019, 29049, 29078, 29108, 29137, 29167, 29196, 29226, 29255, 29285, + 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522, 29551, 29580, 29610, + 29640, 29669, 29699, 29729, 29759, 29788, 29818, 29847, 29876, 29906, 29935, + 29964, 29994, 30023, 30053, 30082, 30112, 30141, 30171, 30200, 30230, 30259, + 30289, 30318, 30348, 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585, + 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, + 30939, 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, 31204, 31234, + 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530, 31559, + 31589, 31618, 31648, 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, + 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120, 32150, 32180, 32209, + 32239, 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, + 32563, 32593, 32622, 32652, 32681, 32711, 32740, 32770, 32799, 32829, 32858, + 32888, 32917, 32947, 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, + 33213, 33243, 33272, 33302, 33331, 33361, 33390, 33420, 33450, 33479, 33509, + 33539, 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775, 33804, 33834, + 33863, 33893, 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, 34158, + 34187, 34217, 34247, 34277, 34306, 34336, 34365, 34395, 34424, 34454, 34483, + 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, 34749, 34778, 34808, + 34837, 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074, 35103, 35133, + 35162, 35192, 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, 35458, + 35488, 35517, 35547, 35576, 35605, 35635, 35665, 35694, 35723, 35753, 35782, + 35811, 35841, 35871, 35901, 35930, 35960, 35989, 36019, 36048, 36078, 36107, + 36136, 36166, 36195, 36225, 36254, 36284, 36314, 36343, 36373, 36403, 36433, + 36462, 36492, 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, + 36786, 36816, 36845, 36875, 36904, 36934, 36963, 36993, 37022, 37052, 37081, + 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, 37347, 37377, 37406, + 37436, 37465, 37495, 37524, 37554, 37584, 37613, 37643, 37672, 37701, 37731, + 37760, 37790, 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027, 38056, + 38085, 38115, 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, + 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617, 38646, 38676, 38705, + 38735, 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, 39001, 39030, + 39059, 39089, 39118, 39148, 39178, 39208, 39237, 39267, 39297, 39326, 39355, + 39385, 39414, 39444, 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, + 39709, 39739, 39768, 39798, 39827, 39857, 39886, 39916, 39946, 39975, 40005, + 40035, 40064, 40094, 40123, 40153, 40182, 40212, 40241, 40271, 40300, 40330, + 40359, 40389, 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, 40655, + 40685, 40714, 40744, 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980, + 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216, 41245, 41275, 41304, + 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570, 41599, 41629, + 41658, 41688, 41718, 41748, 41777, 41807, 41836, 41865, 41894, 41924, 41953, + 41983, 42012, 42042, 42072, 42102, 42131, 42161, 42190, 42220, 42249, 42279, + 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, + 42633, 42662, 42692, 42721, 42751, 42780, 42810, 42839, 42869, 42899, 42929, + 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, 43253, + 43283, 43312, 43342, 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, + 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, 43844, 43873, 43903, + 43932, 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, + 44258, 44287, 44317, 44346, 44375, 44405, 44434, 44464, 44493, 44523, 44553, + 44582, 44612, 44641, 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, + 44906, 44936, 44966, 44996, 45025, 45055, 45084, 45114, 45143, 45172, 45202, + 45231, 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468, 45498, 45527, + 45556, 45586, 45615, 45644, 45674, 45704, 45733, 45763, 45793, 45823, 45852, + 45882, 45911, 45940, 45970, 45999, 46028, 46058, 46088, 46117, 46147, 46177, + 46206, 46236, 46265, 46295, 46324, 46354, 46383, 46413, 46442, 46472, 46501, + 46531, 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, 46797, 46826, + 46856, 46885, 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, 47151, + 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476, + 47506, 47535, 47565, 47594, 47624, 47653, 47682, 47712, 47741, 47771, 47800, + 47830, 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066, 48096, 48125, + 48155, 48184, 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, + 48480, 48509, 48538, 48568, 48598, 48627, 48657, 48687, 48717, 48746, 48776, + 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, 49041, 49071, 49100, + 49130, 49160, 49189, 49218, 49248, 49277, 49306, 49336, 49365, 49395, 49425, + 49455, 49484, 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720, 49749, + 49779, 49809, 49838, 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, + 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, 50340, 50370, 50400, + 50429, 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, 50694, 50724, + 50754, 50784, 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019, 51049, + 51078, 51108, 51138, 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, + 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611, 51641, 51670, 51699, + 51729, 51758, 51787, 51816, 51846, 51876, 51906, 51936, 51965, 51995, 52025, + 52054, 52083, 52113, 52142, 52171, 52200, 52230, 52260, 52290, 52319, 52349, + 52379, 52408, 52438, 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, + 52703, 52733, 52762, 52792, 52822, 52851, 52881, 52910, 52939, 52969, 52998, + 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, 53294, 53324, + 53353, 53383, 53412, 53441, 53471, 53500, 53530, 53559, 53589, 53619, 53648, + 53678, 53708, 53737, 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973, + 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, + 54327, 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564, 54593, 54623, + 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, 54948, + 54977, 55007, 55036, 55066, 55095, 55125, 55154, 55184, 55213, 55243, 55273, + 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, 55538, 55567, 55597, + 55627, 55657, 55686, 55716, 55745, 55775, 55804, 55834, 55863, 55892, 55922, + 55951, 55981, 56011, 56040, 56070, 56100, 56129, 56159, 56188, 56218, 56247, + 56276, 56306, 56335, 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, + 56601, 56631, 56660, 56690, 56719, 56749, 56778, 56808, 56837, 56867, 56897, + 56926, 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162, 57192, 57221, + 57251, 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517, 57546, + 57576, 57605, 57634, 57664, 57694, 57723, 57753, 57783, 57813, 57842, 57871, + 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107, 58137, 58167, 58196, + 58226, 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, 58491, 58521, + 58551, 58580, 58610, 58639, 58669, 58698, 58727, 58757, 58786, 58816, 58845, + 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, + 59200, 59229, 59259, 59288, 59318, 59348, 59377, 59407, 59436, 59466, 59495, + 59525, 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, 59791, 59820, + 59850, 59879, 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, + 60174, 60204, 60234, 60264, 60293, 60323, 60352, 60381, 60411, 60440, 60469, + 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, 60736, 60765, 60795, + 60824, 60853, 60883, 60912, 60942, 60972, 61002, 61031, 61061, 61090, 61120, + 61149, 61179, 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415, 61445, + 61474, 61504, 61533, 61563, 61592, 61621, 61651, 61680, 61710, 61739, 61769, + 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, 62035, 62064, 62094, + 62123, 62153, 62182, 62212, 62242, 62271, 62301, 62331, 62360, 62390, 62419, + 62448, 62478, 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, 62744, + 62774, 62803, 62832, 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, + 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, 63393, + 63423, 63453, 63482, 63512, 63541, 63571, 63600, 63630, 63659, 63689, 63718, + 63747, 63777, 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014, 64043, + 64073, 64102, 64131, 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, + 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603, 64633, 64663, 64692, + 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, 64987, 65017, + 65047, 65076, 65106, 65136, 65166, 65195, 65225, 65254, 65283, 65313, 65342, + 65371, 65401, 65431, 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667, + 65697, 65726, 65755, 65785, 65815, 65844, 65874, 65903, 65933, 65963, 65992, + 66022, 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, 66287, 66317, + 66346, 66376, 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, 66641, + 66671, 66700, 66730, 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967, + 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, 67233, 67262, 67292, + 67321, 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557, 67587, 67617, + 67646, 67676, 67705, 67735, 67764, 67793, 67823, 67852, 67882, 67911, 67941, + 67971, 68e3, 68030, 68060, 68089, 68119, 68148, 68177, 68207, 68236, 68266, + 68295, 68325, 68354, 68384, 68414, 68443, 68473, 68502, 68532, 68561, 68591, + 68620, 68650, 68679, 68708, 68738, 68768, 68797, 68827, 68857, 68886, 68916, + 68946, 68975, 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, + 69270, 69300, 69330, 69359, 69388, 69418, 69447, 69476, 69506, 69535, 69565, + 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, 69831, 69861, 69890, + 69919, 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, 70186, 70215, + 70245, 70274, 70303, 70333, 70362, 70392, 70421, 70451, 70481, 70510, 70540, + 70570, 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, + 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101, 71130, 71159, 71189, + 71218, 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, 71485, 71514, + 71543, 71573, 71602, 71632, 71662, 71691, 71721, 71751, 71781, 71810, 71839, + 71869, 71898, 71927, 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, + 72194, 72223, 72253, 72282, 72311, 72341, 72370, 72400, 72429, 72459, 72489, + 72518, 72548, 72577, 72607, 72637, 72666, 72695, 72725, 72754, 72784, 72813, + 72843, 72872, 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109, 73139, + 73168, 73197, 73227, 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464, + 73493, 73523, 73552, 73581, 73611, 73640, 73669, 73699, 73729, 73758, 73788, + 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053, 74083, 74113, + 74142, 74172, 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, 74437, + 74467, 74497, 74526, 74556, 74586, 74615, 74645, 74675, 74704, 74733, 74763, + 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, + 75117, 75147, 75176, 75206, 75235, 75264, 75294, 75323, 75353, 75383, 75412, + 75442, 75472, 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, 75737, + 75766, 75796, 75826, 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, + 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299, 76328, 76358, 76387, + 76416, 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, 76712, + 76741, 76771, 76801, 76830, 76859, 76889, 76918, 76948, 76977, 77007, 77036, + 77066, 77096, 77125, 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361, + 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598, 77627, 77657, 77686, + 77715, 77745, 77774, 77804, 77833, 77863, 77893, 77923, 77952, 77982, 78011, + 78041, 78070, 78099, 78129, 78158, 78188, 78217, 78247, 78277, 78307, 78336, + 78366, 78395, 78425, 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, + 78690, 78720, 78750, 78779, 78808, 78838, 78867, 78897, 78926, 78956, 78985, + 79015, 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, + 79340, 79369, 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, 79635, + 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960, + 79990, + ]; + }, + { "../main": 451, "object-assign": 339 }, + ], + 451: [ + function (t, e, r) { + var n = t("object-assign"); + function i() { + ((this.regionalOptions = []), + (this.regionalOptions[""] = { + invalidCalendar: "Calendar {0} not found", + invalidDate: "Invalid {0} date", + invalidMonth: "Invalid {0} month", + invalidYear: "Invalid {0} year", + differentCalendars: "Cannot mix {0} and {1} dates", + }), + (this.local = this.regionalOptions[""]), + (this.calendars = {}), + (this._localCals = {})); + } + function a(t, e, r, n) { + if ( + ((this._calendar = t), + (this._year = e), + (this._month = r), + (this._day = n), + 0 === this._calendar._validateLevel && + !this._calendar.isValid(this._year, this._month, this._day)) + ) + throw (c.local.invalidDate || c.regionalOptions[""].invalidDate).replace( + /\{0\}/, + this._calendar.local.name, + ); + } + function o(t, e) { + return "000000".substring(0, e - (t = "" + t).length) + t; + } + function s() { + this.shortYearCutoff = "+10"; + } + function l(t) { + this.local = this.regionalOptions[t] || this.regionalOptions[""]; + } + (n(i.prototype, { + instance: function (t, e) { + ((t = (t || "gregorian").toLowerCase()), (e = e || "")); + var r = this._localCals[t + "-" + e]; + if ( + (!r && + this.calendars[t] && + ((r = new this.calendars[t](e)), (this._localCals[t + "-" + e] = r)), + !r) + ) + throw ( + this.local.invalidCalendar || this.regionalOptions[""].invalidCalendar + ).replace(/\{0\}/, t); + return r; + }, + newDate: function (t, e, r, n, i) { + return (n = + (null != t && t.year + ? t.calendar() + : "string" == typeof n + ? this.instance(n, i) + : n) || this.instance()).newDate(t, e, r); + }, + substituteDigits: function (t) { + return function (e) { + return (e + "").replace(/[0-9]/g, function (e) { + return t[e]; + }); + }; + }, + substituteChineseDigits: function (t, e) { + return function (r) { + for (var n = "", i = 0; r > 0; ) { + var a = r % 10; + ((n = (0 === a ? "" : t[a] + e[i]) + n), + i++, + (r = Math.floor(r / 10))); + } + return (0 === n.indexOf(t[1] + e[1]) && (n = n.substr(1)), n || t[0]); + }; + }, + }), + n(a.prototype, { + newDate: function (t, e, r) { + return this._calendar.newDate(null == t ? this : t, e, r); + }, + year: function (t) { + return 0 === arguments.length ? this._year : this.set(t, "y"); + }, + month: function (t) { + return 0 === arguments.length ? this._month : this.set(t, "m"); + }, + day: function (t) { + return 0 === arguments.length ? this._day : this.set(t, "d"); + }, + date: function (t, e, r) { + if (!this._calendar.isValid(t, e, r)) + throw ( + c.local.invalidDate || c.regionalOptions[""].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + return ((this._year = t), (this._month = e), (this._day = r), this); + }, + leapYear: function () { + return this._calendar.leapYear(this); + }, + epoch: function () { + return this._calendar.epoch(this); + }, + formatYear: function () { + return this._calendar.formatYear(this); + }, + monthOfYear: function () { + return this._calendar.monthOfYear(this); + }, + weekOfYear: function () { + return this._calendar.weekOfYear(this); + }, + daysInYear: function () { + return this._calendar.daysInYear(this); + }, + dayOfYear: function () { + return this._calendar.dayOfYear(this); + }, + daysInMonth: function () { + return this._calendar.daysInMonth(this); + }, + dayOfWeek: function () { + return this._calendar.dayOfWeek(this); + }, + weekDay: function () { + return this._calendar.weekDay(this); + }, + extraInfo: function () { + return this._calendar.extraInfo(this); + }, + add: function (t, e) { + return this._calendar.add(this, t, e); + }, + set: function (t, e) { + return this._calendar.set(this, t, e); + }, + compareTo: function (t) { + if (this._calendar.name !== t._calendar.name) + throw ( + c.local.differentCalendars || + c.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this._calendar.local.name) + .replace(/\{1\}/, t._calendar.local.name); + var e = + this._year !== t._year + ? this._year - t._year + : this._month !== t._month + ? this.monthOfYear() - t.monthOfYear() + : this._day - t._day; + return 0 === e ? 0 : e < 0 ? -1 : 1; + }, + calendar: function () { + return this._calendar; + }, + toJD: function () { + return this._calendar.toJD(this); + }, + fromJD: function (t) { + return this._calendar.fromJD(t); + }, + toJSDate: function () { + return this._calendar.toJSDate(this); + }, + fromJSDate: function (t) { + return this._calendar.fromJSDate(t); + }, + toString: function () { + return ( + (this.year() < 0 ? "-" : "") + + o(Math.abs(this.year()), 4) + + "-" + + o(this.month(), 2) + + "-" + + o(this.day(), 2) + ); + }, + }), + n(s.prototype, { + _validateLevel: 0, + newDate: function (t, e, r) { + return null == t + ? this.today() + : (t.year && + (this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ), + (r = t.day()), + (e = t.month()), + (t = t.year())), + new a(this, t, e, r)); + }, + today: function () { + return this.fromJSDate(new Date()); + }, + epoch: function (t) { + return this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[""].invalidYear, + ).year() < 0 + ? this.local.epochs[0] + : this.local.epochs[1]; + }, + formatYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[""].invalidYear, + ); + return (e.year() < 0 ? "-" : "") + o(Math.abs(e.year()), 4); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[""].invalidYear, + ), + 12 + ); + }, + monthOfYear: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + c.local.invalidMonth || c.regionalOptions[""].invalidMonth, + ); + return ( + ((r.month() + this.monthsInYear(r) - this.firstMonth) % + this.monthsInYear(r)) + + this.minMonth + ); + }, + fromMonthOfYear: function (t, e) { + var r = + ((e + this.firstMonth - 2 * this.minMonth) % this.monthsInYear(t)) + + this.minMonth; + return ( + this._validate( + t, + r, + this.minDay, + c.local.invalidMonth || c.regionalOptions[""].invalidMonth, + ), + r + ); + }, + daysInYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[""].invalidYear, + ); + return this.leapYear(e) ? 366 : 365; + }, + dayOfYear: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ); + return ( + n.toJD() - + this.newDate( + n.year(), + this.fromMonthOfYear(n.year(), this.minMonth), + this.minDay, + ).toJD() + + 1 + ); + }, + daysInWeek: function () { + return 7; + }, + dayOfWeek: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ); + return (Math.floor(this.toJD(n)) + 2) % this.daysInWeek(); + }, + extraInfo: function (t, e, r) { + return ( + this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ), + {} + ); + }, + add: function (t, e, r) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ), + this._correctAdd(t, this._add(t, e, r), e, r) + ); + }, + _add: function (t, e, r) { + if ((this._validateLevel++, "d" === r || "w" === r)) { + var n = t.toJD() + e * ("w" === r ? this.daysInWeek() : 1), + i = t.calendar().fromJD(n); + return (this._validateLevel--, [i.year(), i.month(), i.day()]); + } + try { + var a = t.year() + ("y" === r ? e : 0), + o = t.monthOfYear() + ("m" === r ? e : 0); + i = t.day(); + "y" === r + ? (t.month() !== this.fromMonthOfYear(a, o) && + (o = this.newDate(a, t.month(), this.minDay).monthOfYear()), + (o = Math.min(o, this.monthsInYear(a))), + (i = Math.min( + i, + this.daysInMonth(a, this.fromMonthOfYear(a, o)), + ))) + : "m" === r && + (!(function (t) { + for (; o < t.minMonth; ) (a--, (o += t.monthsInYear(a))); + for (var e = t.monthsInYear(a); o > e - 1 + t.minMonth; ) + (a++, (o -= e), (e = t.monthsInYear(a))); + })(this), + (i = Math.min( + i, + this.daysInMonth(a, this.fromMonthOfYear(a, o)), + ))); + var s = [a, this.fromMonthOfYear(a, o), i]; + return (this._validateLevel--, s); + } catch (t) { + throw (this._validateLevel--, t); + } + }, + _correctAdd: function (t, e, r, n) { + if ( + !( + this.hasYearZero || + ("y" !== n && "m" !== n) || + (0 !== e[0] && t.year() > 0 == e[0] > 0) + ) + ) { + var i = { + y: [1, 1, "y"], + m: [1, this.monthsInYear(-1), "m"], + w: [this.daysInWeek(), this.daysInYear(-1), "d"], + d: [1, this.daysInYear(-1), "d"], + }[n], + a = r < 0 ? -1 : 1; + e = this._add(t, r * i[0] + a * i[1], i[2]); + } + return t.date(e[0], e[1], e[2]); + }, + set: function (t, e, r) { + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ); + var n = "y" === r ? e : t.year(), + i = "m" === r ? e : t.month(), + a = "d" === r ? e : t.day(); + return ( + ("y" !== r && "m" !== r) || (a = Math.min(a, this.daysInMonth(n, i))), + t.date(n, i, a) + ); + }, + isValid: function (t, e, r) { + this._validateLevel++; + var n = this.hasYearZero || 0 !== t; + if (n) { + var i = this.newDate(t, e, this.minDay); + n = + e >= this.minMonth && + e - this.minMonth < this.monthsInYear(i) && + r >= this.minDay && + r - this.minDay < this.daysInMonth(i); + } + return (this._validateLevel--, n); + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ); + return c.instance().fromJD(this.toJD(n)).toJSDate(); + }, + fromJSDate: function (t) { + return this.fromJD(c.instance().fromJSDate(t).toJD()); + }, + _validate: function (t, e, r, n) { + if (t.year) { + if (0 === this._validateLevel && this.name !== t.calendar().name) + throw ( + c.local.differentCalendars || + c.regionalOptions[""].differentCalendars + ) + .replace(/\{0\}/, this.local.name) + .replace(/\{1\}/, t.calendar().local.name); + return t; + } + try { + if ( + (this._validateLevel++, + 1 === this._validateLevel && !this.isValid(t, e, r)) + ) + throw n.replace(/\{0\}/, this.local.name); + var i = this.newDate(t, e, r); + return (this._validateLevel--, i); + } catch (t) { + throw (this._validateLevel--, t); + } + }, + }), + (l.prototype = new s()), + n(l.prototype, { + name: "Gregorian", + jdEpoch: 1721425.5, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + "": { + name: "Gregorian", + epochs: ["BCE", "CE"], + monthNames: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + monthNamesShort: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + dayNames: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + digits: null, + dateFormat: "mm/dd/yyyy", + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[""].invalidYear, + ); + return ( + (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 0 && + (t % 100 != 0 || t % 400 == 0) + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(4 - (n.dayOfWeek() || 7), "d"), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + c.local.invalidMonth || c.regionalOptions[""].invalidMonth, + ); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ); + ((t = n.year()), + (e = n.month()), + (r = n.day()), + t < 0 && t++, + e < 3 && ((e += 12), t--)); + var i = Math.floor(t / 100), + a = 2 - i + Math.floor(i / 4); + return ( + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r + + a - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5), + r = Math.floor((e - 1867216.25) / 36524.25), + n = (r = e + 1 + r - Math.floor(r / 4)) + 1524, + i = Math.floor((n - 122.1) / 365.25), + a = Math.floor(365.25 * i), + o = Math.floor((n - a) / 30.6001), + s = n - a - Math.floor(30.6001 * o), + l = o - (o > 13.5 ? 13 : 1), + c = i - (l > 2.5 ? 4716 : 4715); + return (c <= 0 && c--, this.newDate(c, l, s)); + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[""].invalidDate, + ), + i = new Date(n.year(), n.month() - 1, n.day()); + return ( + i.setHours(0), + i.setMinutes(0), + i.setSeconds(0), + i.setMilliseconds(0), + i.setHours(i.getHours() > 12 ? i.getHours() + 2 : 0), + i + ); + }, + fromJSDate: function (t) { + return this.newDate(t.getFullYear(), t.getMonth() + 1, t.getDate()); + }, + })); + var c = (e.exports = new i()); + ((c.cdate = a), (c.baseCalendar = s), (c.calendars.gregorian = l)); + }, + { "object-assign": 339 }, + ], + 452: [ + function (t, e, r) { + var n = t("object-assign"), + i = t("./main"); + (n(i.regionalOptions[""], { + invalidArguments: "Invalid arguments", + invalidFormat: "Cannot format a date from another calendar", + missingNumberAt: "Missing number at position {0}", + unknownNameAt: "Unknown name at position {0}", + unexpectedLiteralAt: "Unexpected literal at position {0}", + unexpectedText: "Additional text found at end", + }), + (i.local = i.regionalOptions[""]), + n(i.cdate.prototype, { + formatDate: function (t, e) { + return ( + "string" != typeof t && ((e = t), (t = "")), + this._calendar.formatDate(t || "", this, e) + ); + }, + }), + n(i.baseCalendar.prototype, { + UNIX_EPOCH: i.instance().newDate(1970, 1, 1).toJD(), + SECS_PER_DAY: 86400, + TICKS_EPOCH: i.instance().jdEpoch, + TICKS_PER_DAY: 864e9, + ATOM: "yyyy-mm-dd", + COOKIE: "D, dd M yyyy", + FULL: "DD, MM d, yyyy", + ISO_8601: "yyyy-mm-dd", + JULIAN: "J", + RFC_822: "D, d M yy", + RFC_850: "DD, dd-M-yy", + RFC_1036: "D, d M yy", + RFC_1123: "D, d M yyyy", + RFC_2822: "D, d M yyyy", + RSS: "D, d M yy", + TICKS: "!", + TIMESTAMP: "@", + W3C: "yyyy-mm-dd", + formatDate: function (t, e, r) { + if (("string" != typeof t && ((r = e), (e = t), (t = "")), !e)) + return ""; + if (e.calendar() !== this) + throw i.local.invalidFormat || i.regionalOptions[""].invalidFormat; + t = t || this.local.dateFormat; + for ( + var n, + a, + o, + s, + l = (r = r || {}).dayNamesShort || this.local.dayNamesShort, + c = r.dayNames || this.local.dayNames, + u = r.monthNumbers || this.local.monthNumbers, + f = r.monthNamesShort || this.local.monthNamesShort, + h = r.monthNames || this.local.monthNames, + p = + (r.calculateWeek || this.local.calculateWeek, + function (e, r) { + for (var n = 1; w + n < t.length && t.charAt(w + n) === e; ) + n++; + return ((w += n - 1), Math.floor(n / (r || 1)) > 1); + }), + d = function (t, e, r, n) { + var i = "" + e; + if (p(t, n)) for (; i.length < r; ) i = "0" + i; + return i; + }, + g = this, + m = function (t) { + return "function" == typeof u + ? u.call(g, t, p("m")) + : x(d("m", t.month(), 2)); + }, + v = function (t, e) { + return e + ? "function" == typeof h + ? h.call(g, t) + : h[t.month() - g.minMonth] + : "function" == typeof f + ? f.call(g, t) + : f[t.month() - g.minMonth]; + }, + y = this.local.digits, + x = function (t) { + return r.localNumbers && y ? y(t) : t; + }, + b = "", + _ = !1, + w = 0; + w < t.length; + w++ + ) + if (_) "'" !== t.charAt(w) || p("'") ? (b += t.charAt(w)) : (_ = !1); + else + switch (t.charAt(w)) { + case "d": + b += x(d("d", e.day(), 2)); + break; + case "D": + b += + ((n = "D"), + (a = e.dayOfWeek()), + (o = l), + (s = c), + p(n) ? s[a] : o[a]); + break; + case "o": + b += d("o", e.dayOfYear(), 3); + break; + case "w": + b += d("w", e.weekOfYear(), 2); + break; + case "m": + b += m(e); + break; + case "M": + b += v(e, p("M")); + break; + case "y": + b += p("y", 2) + ? e.year() + : (e.year() % 100 < 10 ? "0" : "") + (e.year() % 100); + break; + case "Y": + (p("Y", 2), (b += e.formatYear())); + break; + case "J": + b += e.toJD(); + break; + case "@": + b += (e.toJD() - this.UNIX_EPOCH) * this.SECS_PER_DAY; + break; + case "!": + b += (e.toJD() - this.TICKS_EPOCH) * this.TICKS_PER_DAY; + break; + case "'": + p("'") ? (b += "'") : (_ = !0); + break; + default: + b += t.charAt(w); + } + return b; + }, + parseDate: function (t, e, r) { + if (null == e) + throw ( + i.local.invalidArguments || i.regionalOptions[""].invalidArguments + ); + if ("" === (e = "object" == typeof e ? e.toString() : e + "")) + return null; + t = t || this.local.dateFormat; + var n = (r = r || {}).shortYearCutoff || this.shortYearCutoff; + n = + "string" != typeof n + ? n + : (this.today().year() % 100) + parseInt(n, 10); + for ( + var a = r.dayNamesShort || this.local.dayNamesShort, + o = r.dayNames || this.local.dayNames, + s = r.parseMonth || this.local.parseMonth, + l = r.monthNumbers || this.local.monthNumbers, + c = r.monthNamesShort || this.local.monthNamesShort, + u = r.monthNames || this.local.monthNames, + f = -1, + h = -1, + p = -1, + d = -1, + g = -1, + m = !1, + v = !1, + y = function (e, r) { + for (var n = 1; T + n < t.length && t.charAt(T + n) === e; ) n++; + return ((T += n - 1), Math.floor(n / (r || 1)) > 1); + }, + x = function (t, r) { + var n = y(t, r), + a = [2, 3, n ? 4 : 2, n ? 4 : 2, 10, 11, 20][ + "oyYJ@!".indexOf(t) + 1 + ], + o = new RegExp("^-?\\d{1," + a + "}"), + s = e.substring(A).match(o); + if (!s) + throw ( + i.local.missingNumberAt || + i.regionalOptions[""].missingNumberAt + ).replace(/\{0\}/, A); + return ((A += s[0].length), parseInt(s[0], 10)); + }, + b = this, + _ = function () { + if ("function" == typeof l) { + y("m"); + var t = l.call(b, e.substring(A)); + return ((A += t.length), t); + } + return x("m"); + }, + w = function (t, r, n, a) { + for (var o = y(t, a) ? n : r, s = 0; s < o.length; s++) + if ( + e.substr(A, o[s].length).toLowerCase() === o[s].toLowerCase() + ) + return ((A += o[s].length), s + b.minMonth); + throw ( + i.local.unknownNameAt || i.regionalOptions[""].unknownNameAt + ).replace(/\{0\}/, A); + }, + k = function () { + if ("function" == typeof u) { + var t = y("M") + ? u.call(b, e.substring(A)) + : c.call(b, e.substring(A)); + return ((A += t.length), t); + } + return w("M", c, u); + }, + M = function () { + if (e.charAt(A) !== t.charAt(T)) + throw ( + i.local.unexpectedLiteralAt || + i.regionalOptions[""].unexpectedLiteralAt + ).replace(/\{0\}/, A); + A++; + }, + A = 0, + T = 0; + T < t.length; + T++ + ) + if (v) "'" !== t.charAt(T) || y("'") ? M() : (v = !1); + else + switch (t.charAt(T)) { + case "d": + d = x("d"); + break; + case "D": + w("D", a, o); + break; + case "o": + g = x("o"); + break; + case "w": + x("w"); + break; + case "m": + p = _(); + break; + case "M": + p = k(); + break; + case "y": + var S = T; + ((m = !y("y", 2)), (T = S), (h = x("y", 2))); + break; + case "Y": + h = x("Y", 2); + break; + case "J": + ((f = x("J") + 0.5), "." === e.charAt(A) && (A++, x("J"))); + break; + case "@": + f = x("@") / this.SECS_PER_DAY + this.UNIX_EPOCH; + break; + case "!": + f = x("!") / this.TICKS_PER_DAY + this.TICKS_EPOCH; + break; + case "*": + A = e.length; + break; + case "'": + y("'") ? M() : (v = !0); + break; + default: + M(); + } + if (A < e.length) + throw i.local.unexpectedText || i.regionalOptions[""].unexpectedText; + if ( + (-1 === h + ? (h = this.today().year()) + : h < 100 && + m && + (h += + -1 === n + ? 1900 + : this.today().year() - + (this.today().year() % 100) - + (h <= n ? 0 : 100)), + "string" == typeof p && (p = s.call(this, h, p)), + g > -1) + ) { + ((p = 1), (d = g)); + for ( + var C = this.daysInMonth(h, p); + d > C; + C = this.daysInMonth(h, p) + ) + (p++, (d -= C)); + } + return f > -1 ? this.fromJD(f) : this.newDate(h, p, d); + }, + determineDate: function (t, e, r, n, i) { + (r && "object" != typeof r && ((i = n), (n = r), (r = null)), + "string" != typeof n && ((i = n), (n = ""))); + var a = this; + return ( + (e = e ? e.newDate() : null), + (t = + null == t + ? e + : "string" == typeof t + ? (function (t) { + try { + return a.parseDate(n, t, i); + } catch (t) {} + for ( + var e = + ((t = t.toLowerCase()).match(/^c/) && r + ? r.newDate() + : null) || a.today(), + o = /([+-]?[0-9]+)\s*(d|w|m|y)?/g, + s = o.exec(t); + s; + + ) + (e.add(parseInt(s[1], 10), s[2] || "d"), (s = o.exec(t))); + return e; + })(t) + : "number" == typeof t + ? isNaN(t) || t === 1 / 0 || t === -1 / 0 + ? e + : a.today().add(t, "d") + : a.newDate(t)) + ); + }, + })); + }, + { "./main": 451, "object-assign": 339 }, + ], + 453: [ + function (t, e, r) { + e.exports = t("cwise-compiler")({ + args: ["array", { offset: [1], array: 0 }, "scalar", "scalar", "index"], + pre: { body: "{}", args: [], thisVars: [], localVars: [] }, + post: { body: "{}", args: [], thisVars: [], localVars: [] }, + body: { + body: "{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }", + args: [ + { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 1 }, + { name: "_inline_1_arg3_", lvalue: !1, rvalue: !0, count: 2 }, + { name: "_inline_1_arg4_", lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: [], + localVars: ["_inline_1_da", "_inline_1_db"], + }, + funcName: "zeroCrossings", + }); + }, + { "cwise-compiler": 116 }, + ], + 454: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = []; + return ((e = +e || 0), n(t.hi(t.shape[0] - 1), r, e), r); + }; + var n = t("./lib/zc-core"); + }, + { "./lib/zc-core": 453 }, + ], + 455: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("./common_defaults"), + o = t("./attributes"); + e.exports = function (t, e, r, s, l) { + function c(r, i) { + return n.coerce(t, e, o, r, i); + } + s = s || {}; + var u = c("visible", !(l = l || {}).itemIsNotPlainObject), + f = c("clicktoshow"); + if (!u && !f) return e; + a(t, e, r, c); + for ( + var h = e.showarrow, + p = ["x", "y"], + d = [-10, -30], + g = { _fullLayout: r }, + m = 0; + m < 2; + m++ + ) { + var v = p[m], + y = i.coerceRef(t, e, g, v, "", "paper"); + if ((i.coercePosition(e, g, c, y, v, 0.5), h)) { + var x = "a" + v, + b = i.coerceRef(t, e, g, x, "pixel"); + "pixel" !== b && b !== y && (b = e[x] = "pixel"); + var _ = "pixel" === b ? d[m] : 0.4; + i.coercePosition(e, g, c, b, x, _); + } + (c(v + "anchor"), c(v + "shift")); + } + if ( + (n.noneOrAll(t, e, ["x", "y"]), h && n.noneOrAll(t, e, ["ax", "ay"]), f) + ) { + var w = c("xclick"), + k = c("yclick"); + ((e._xclick = void 0 === w ? e.x : i.cleanPosition(w, g, e.xref)), + (e._yclick = void 0 === k ? e.y : i.cleanPosition(k, g, e.yref))); + } + return e; + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "./attributes": 457, + "./common_defaults": 460, + }, + ], + 456: [ + function (t, e, r) { + "use strict"; + e.exports = [ + { path: "", backoff: 0 }, + { path: "M-2.4,-3V3L0.6,0Z", backoff: 0.6 }, + { path: "M-3.7,-2.5V2.5L1.3,0Z", backoff: 1.3 }, + { path: "M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z", backoff: 1.55 }, + { + path: "M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z", + backoff: 1.6, + }, + { path: "M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z", backoff: 2 }, + { path: "M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z", backoff: 0, noRotate: !0 }, + { path: "M2,2V-2H-2V2Z", backoff: 0, noRotate: !0 }, + ]; + }, + {}, + ], + 457: [ + function (t, e, r) { + "use strict"; + var n = t("./arrow_paths"), + i = t("../../plots/font_attributes"), + a = t("../../plots/cartesian/constants"); + e.exports = { + _isLinkedToArray: "annotation", + visible: { + valType: "boolean", + dflt: !0, + editType: "calcIfAutorange+arraydraw", + }, + text: { valType: "string", editType: "calcIfAutorange+arraydraw" }, + textangle: { + valType: "angle", + dflt: 0, + editType: "calcIfAutorange+arraydraw", + }, + font: i({ + editType: "calcIfAutorange+arraydraw", + colorEditType: "arraydraw", + }), + width: { + valType: "number", + min: 1, + dflt: null, + editType: "calcIfAutorange+arraydraw", + }, + height: { + valType: "number", + min: 1, + dflt: null, + editType: "calcIfAutorange+arraydraw", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "arraydraw", + }, + align: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "center", + editType: "arraydraw", + }, + valign: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + dflt: "middle", + editType: "arraydraw", + }, + bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)", editType: "arraydraw" }, + bordercolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "arraydraw", + }, + borderpad: { + valType: "number", + min: 0, + dflt: 1, + editType: "calcIfAutorange+arraydraw", + }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "calcIfAutorange+arraydraw", + }, + showarrow: { + valType: "boolean", + dflt: !0, + editType: "calcIfAutorange+arraydraw", + }, + arrowcolor: { valType: "color", editType: "arraydraw" }, + arrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + startarrowhead: { + valType: "integer", + min: 0, + max: n.length, + dflt: 1, + editType: "arraydraw", + }, + arrowside: { + valType: "flaglist", + flags: ["end", "start"], + extras: ["none"], + dflt: "end", + editType: "arraydraw", + }, + arrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calcIfAutorange+arraydraw", + }, + startarrowsize: { + valType: "number", + min: 0.3, + dflt: 1, + editType: "calcIfAutorange+arraydraw", + }, + arrowwidth: { + valType: "number", + min: 0.1, + editType: "calcIfAutorange+arraydraw", + }, + standoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calcIfAutorange+arraydraw", + }, + startstandoff: { + valType: "number", + min: 0, + dflt: 0, + editType: "calcIfAutorange+arraydraw", + }, + ax: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + ay: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + axref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.x.toString()], + editType: "calc", + }, + ayref: { + valType: "enumerated", + dflt: "pixel", + values: ["pixel", a.idRegex.y.toString()], + editType: "calc", + }, + xref: { + valType: "enumerated", + values: ["paper", a.idRegex.x.toString()], + editType: "calc", + }, + x: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "auto", + editType: "calcIfAutorange+arraydraw", + }, + xshift: { + valType: "number", + dflt: 0, + editType: "calcIfAutorange+arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", a.idRegex.y.toString()], + editType: "calc", + }, + y: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "auto", + editType: "calcIfAutorange+arraydraw", + }, + yshift: { + valType: "number", + dflt: 0, + editType: "calcIfAutorange+arraydraw", + }, + clicktoshow: { + valType: "enumerated", + values: [!1, "onoff", "onout"], + dflt: !1, + editType: "arraydraw", + }, + xclick: { valType: "any", editType: "arraydraw" }, + yclick: { valType: "any", editType: "arraydraw" }, + hovertext: { valType: "string", editType: "arraydraw" }, + hoverlabel: { + bgcolor: { valType: "color", editType: "arraydraw" }, + bordercolor: { valType: "color", editType: "arraydraw" }, + font: i({ editType: "arraydraw" }), + editType: "arraydraw", + }, + captureevents: { valType: "boolean", editType: "arraydraw" }, + editType: "calc", + _deprecated: { ref: { valType: "string", editType: "calc" } }, + }; + }, + { + "../../plots/cartesian/constants": 653, + "../../plots/font_attributes": 674, + "./arrow_paths": 456, + }, + ], + 458: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("./draw").draw; + function o(t) { + var e = t._fullLayout; + n.filterVisible(e.annotations).forEach(function (e) { + var r, + n, + a, + o, + s = i.getFromId(t, e.xref), + l = i.getFromId(t, e.yref), + c = 3 * e.arrowsize * e.arrowwidth || 0, + u = 3 * e.startarrowsize * e.arrowwidth || 0; + (s && + s.autorange && + ((r = c + e.xshift), + (n = c - e.xshift), + (a = u + e.xshift), + (o = u - e.xshift), + e.axref === e.xref + ? (i.expand(s, [s.r2c(e.x)], { ppadplus: r, ppadminus: n }), + i.expand(s, [s.r2c(e.ax)], { + ppadplus: Math.max(e._xpadplus, a), + ppadminus: Math.max(e._xpadminus, o), + })) + : ((a = e.ax ? a + e.ax : a), + (o = e.ax ? o - e.ax : o), + i.expand(s, [s.r2c(e.x)], { + ppadplus: Math.max(e._xpadplus, r, a), + ppadminus: Math.max(e._xpadminus, n, o), + }))), + l && + l.autorange && + ((r = c - e.yshift), + (n = c + e.yshift), + (a = u - e.yshift), + (o = u + e.yshift), + e.ayref === e.yref + ? (i.expand(l, [l.r2c(e.y)], { ppadplus: r, ppadminus: n }), + i.expand(l, [l.r2c(e.ay)], { + ppadplus: Math.max(e._ypadplus, a), + ppadminus: Math.max(e._ypadminus, o), + })) + : ((a = e.ay ? a + e.ay : a), + (o = e.ay ? o - e.ay : o), + i.expand(l, [l.r2c(e.y)], { + ppadplus: Math.max(e._ypadplus, r, a), + ppadminus: Math.max(e._ypadminus, n, o), + })))); + }); + } + e.exports = function (t) { + var e = t._fullLayout, + r = n.filterVisible(e.annotations); + if (r.length && t._fullData.length) { + var s = {}; + for (var l in (r.forEach(function (t) { + ((s[t.xref] = 1), (s[t.yref] = 1)); + }), + s)) { + var c = i.getFromId(t, l); + if (c && c.autorange) return n.syncOrAsync([a, o], t); + } + } + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648, "./draw": 463 }, + ], + 459: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"); + function i(t, e) { + var r, + n, + i, + o, + s, + l, + c, + u = t._fullLayout.annotations, + f = [], + h = [], + p = [], + d = (e || []).length; + for (r = 0; r < u.length; r++) + if ((o = (i = u[r]).clicktoshow)) { + for (n = 0; n < d; n++) + if ( + ((l = (s = e[n]).xaxis), + (c = s.yaxis), + l._id === i.xref && + c._id === i.yref && + l.d2r(s.x) === a(i._xclick, l) && + c.d2r(s.y) === a(i._yclick, c)) + ) { + (i.visible ? ("onout" === o ? h : p) : f).push(r); + break; + } + n === d && i.visible && "onout" === o && h.push(r); + } + return { on: f, off: h, explicitOff: p }; + } + function a(t, e) { + return "log" === e.type ? e.l2r(t) : e.d2r(t); + } + e.exports = { + hasClickToShow: function (t, e) { + var r = i(t, e); + return r.on.length > 0 || r.explicitOff.length > 0; + }, + onClick: function (t, e) { + var r, + a = i(t, e), + o = a.on, + s = a.off.concat(a.explicitOff), + l = {}; + if (!o.length && !s.length) return; + for (r = 0; r < o.length; r++) + l["annotations[" + o[r] + "].visible"] = !0; + for (r = 0; r < s.length; r++) + l["annotations[" + s[r] + "].visible"] = !1; + return n.call("update", t, {}, l); + }, + }; + }, + { "../../registry": 732 }, + ], + 460: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../color"); + e.exports = function (t, e, r, a) { + a("opacity"); + var o = a("bgcolor"), + s = a("bordercolor"), + l = i.opacity(s); + a("borderpad"); + var c = a("borderwidth"), + u = a("showarrow"); + if ( + (a("text", u ? " " : r._dfltTitle.annotation), + a("textangle"), + n.coerceFont(a, "font", r.font), + a("width"), + a("align"), + a("height") && a("valign"), + u) + ) { + var f, + h, + p = a("arrowside"); + (-1 !== p.indexOf("end") && ((f = a("arrowhead")), (h = a("arrowsize"))), + -1 !== p.indexOf("start") && + (a("startarrowhead", f), a("startarrowsize", h)), + a("arrowcolor", l ? e.bordercolor : i.defaultLine), + a("arrowwidth", 2 * ((l && c) || 1)), + a("standoff"), + a("startstandoff")); + } + var d = a("hovertext"), + g = r.hoverlabel || {}; + if (d) { + var m = a( + "hoverlabel.bgcolor", + g.bgcolor || (i.opacity(o) ? i.rgb(o) : i.defaultLine), + ), + v = a("hoverlabel.bordercolor", g.bordercolor || i.contrast(m)); + n.coerceFont(a, "hoverlabel.font", { + family: g.font.family, + size: g.font.size, + color: g.font.color || v, + }); + } + a("captureevents", !!d); + }; + }, + { "../../lib": 602, "../color": 474 }, + ], + 461: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib/to_log_range"); + e.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, c, u = t._fullLayout.annotations, f = e._id.charAt(0), h = 0; + h < u.length; + h++ + ) + ((l = u[h]), + (c = "annotations[" + h + "]."), + l[f + "ref"] === e._id && p(f), + l["a" + f + "ref"] === e._id && p("a" + f)); + function p(t) { + var r = l[t], + s = null; + ((s = o ? i(r, e.range) : Math.pow(10, r)), + n(s) || (s = null), + a(c + t, s)); + } + }; + }, + { "../../lib/to_log_range": 628, "fast-isnumeric": 196 }, + ], + 462: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/array_container_defaults"), + i = t("./annotation_defaults"); + e.exports = function (t, e) { + n(t, e, { name: "annotations", handleItemDefaults: i }); + }; + }, + { "../../plots/array_container_defaults": 644, "./annotation_defaults": 455 }, + ], + 463: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../plots/plots"), + o = t("../../lib"), + s = t("../../plots/cartesian/axes"), + l = t("../color"), + c = t("../drawing"), + u = t("../fx"), + f = t("../../lib/svg_text_utils"), + h = t("../../lib/setcursor"), + p = t("../dragelement"), + d = t("./draw_arrow_head"); + function g(t, e) { + var r = t._fullLayout.annotations[e] || {}; + m(t, r, e, !1, s.getFromId(t, r.xref), s.getFromId(t, r.yref)); + } + function m(t, e, r, a, s, g) { + var m, + v, + y = t._fullLayout, + x = t._fullLayout._size, + b = t._context.edits; + (a + ? ((m = "annotation-" + a), (v = a + ".annotations[" + r + "]")) + : ((m = "annotation"), (v = "annotations[" + r + "]")), + y._infolayer.selectAll("." + m + '[data-index="' + r + '"]').remove()); + var _ = "clip" + y._uid + "_ann" + r; + if (e._input && !1 !== e.visible) { + var w = { x: {}, y: {} }, + k = +e.textangle || 0, + M = y._infolayer + .append("g") + .classed(m, !0) + .attr("data-index", String(r)) + .style("opacity", e.opacity), + A = M.append("g").classed("annotation-text-g", !0), + T = b[e.showarrow ? "annotationTail" : "annotationPosition"], + S = e.captureevents || b.annotationText || T, + C = A.append("g") + .style("pointer-events", S ? "all" : null) + .call(h, "default") + .on("click", function () { + t._dragging = !1; + var i = { + index: r, + annotation: e._input, + fullAnnotation: e, + event: n.event, + }; + (a && (i.subplotId = a), t.emit("plotly_clickannotation", i)); + }); + e.hovertext && + C.on("mouseover", function () { + var r = e.hoverlabel, + n = r.font, + i = this.getBoundingClientRect(), + a = t.getBoundingClientRect(); + u.loneHover( + { + x0: i.left - a.left, + x1: i.right - a.left, + y: (i.top + i.bottom) / 2 - a.top, + text: e.hovertext, + color: r.bgcolor, + borderColor: r.bordercolor, + fontFamily: n.family, + fontSize: n.size, + fontColor: n.color, + }, + { + container: y._hoverlayer.node(), + outerContainer: y._paper.node(), + gd: t, + }, + ); + }).on("mouseout", function () { + u.loneUnhover(y._hoverlayer.node()); + }); + var E = e.borderwidth, + L = e.borderpad, + z = E + L, + P = C.append("rect") + .attr("class", "bg") + .style("stroke-width", E + "px") + .call(l.stroke, e.bordercolor) + .call(l.fill, e.bgcolor), + D = e.width || e.height, + O = y._topclips.selectAll("#" + _).data(D ? [0] : []); + (O.enter() + .append("clipPath") + .classed("annclip", !0) + .attr("id", _) + .append("rect"), + O.exit().remove()); + var I = e.font, + R = C.append("text").classed("annotation-text", !0).text(e.text); + b.annotationText + ? R.call(f.makeEditable, { delegate: C, gd: t }) + .call(B) + .on("edit", function (r) { + ((e.text = r), this.call(B)); + var n = {}; + ((n[v + ".text"] = e.text), + s && s.autorange && (n[s._name + ".autorange"] = !0), + g && g.autorange && (n[g._name + ".autorange"] = !0), + i.call("relayout", t, n)); + }) + : R.call(B); + } else n.selectAll("#" + _).remove(); + function B(r) { + return ( + r.call(c.font, I).attr({ + "text-anchor": { left: "start", right: "end" }[e.align] || "middle", + }), + f.convertToTspans(r, t, F), + r + ); + } + function F() { + var r = R.selectAll("a"); + 1 === r.size() && + r.text() === R.text() && + C.insert("a", ":first-child") + .attr({ + "xlink:xlink:href": r.attr("xlink:href"), + "xlink:xlink:show": r.attr("xlink:show"), + }) + .style({ cursor: "pointer" }) + .node() + .appendChild(P.node()); + var n = C.select(".annotation-text-math-group"), + u = !n.empty(), + m = c.bBox((u ? n : R).node()), + S = m.width, + L = m.height, + I = e.width || S, + B = e.height || L, + F = Math.round(I + 2 * z), + N = Math.round(B + 2 * z); + function j(t, e) { + return ( + "auto" === e && + (e = t < 1 / 3 ? "left" : t > 2 / 3 ? "right" : "center"), + { + center: 0, + middle: 0, + left: 0.5, + bottom: -0.5, + right: -0.5, + top: 0.5, + }[e] + ); + } + ((e._w = I), (e._h = B)); + for (var V = !1, U = ["x", "y"], q = 0; q < U.length; q++) { + var H, + G, + W, + Y, + X, + Z = U[q], + J = e[Z + "ref"] || Z, + K = e["a" + Z + "ref"], + Q = { x: s, y: g }[Z], + $ = ((k + ("x" === Z ? 0 : -90)) * Math.PI) / 180, + tt = F * Math.cos($), + et = N * Math.sin($), + rt = Math.abs(tt) + Math.abs(et), + nt = e[Z + "anchor"], + it = e[Z + "shift"] * ("x" === Z ? 1 : -1), + at = w[Z]; + if (Q) { + var ot = Q.r2fraction(e[Z]); + if ( + (t._dragging || !Q.autorange) && + (ot < 0 || ot > 1) && + (K === J + ? ((ot = Q.r2fraction(e["a" + Z])) < 0 || ot > 1) && (V = !0) + : (V = !0), + V) + ) + continue; + ((H = Q._offset + Q.r2p(e[Z])), (Y = 0.5)); + } else + ("x" === Z + ? ((W = e[Z]), (H = x.l + x.w * W)) + : ((W = 1 - e[Z]), (H = x.t + x.h * W)), + (Y = e.showarrow ? 0.5 : W)); + if (e.showarrow) { + at.head = H; + var st = e["a" + Z]; + ((X = tt * j(0.5, e.xanchor) - et * j(0.5, e.yanchor)), + K === J + ? ((at.tail = Q._offset + Q.r2p(st)), (G = X)) + : ((at.tail = H + st), (G = X + st)), + (at.text = at.tail + X)); + var lt = y["x" === Z ? "width" : "height"]; + if ( + ("paper" === J && (at.head = o.constrain(at.head, 1, lt - 1)), + "pixel" === K) + ) { + var ct = -Math.max(at.tail - 3, at.text), + ut = Math.min(at.tail + 3, at.text) - lt; + ct > 0 + ? ((at.tail += ct), (at.text += ct)) + : ut > 0 && ((at.tail -= ut), (at.text -= ut)); + } + ((at.tail += it), (at.head += it)); + } else ((G = X = rt * j(Y, nt)), (at.text = H + X)); + ((at.text += it), + (X += it), + (G += it), + (e["_" + Z + "padplus"] = rt / 2 + G), + (e["_" + Z + "padminus"] = rt / 2 - G), + (e["_" + Z + "size"] = rt), + (e["_" + Z + "shift"] = X)); + } + if (V) C.remove(); + else { + var ft = 0, + ht = 0; + if ( + ("left" !== e.align && + (ft = (I - S) * ("center" === e.align ? 0.5 : 1)), + "top" !== e.valign && + (ht = (B - L) * ("middle" === e.valign ? 0.5 : 1)), + u) + ) + n.select("svg") + .attr({ x: z + ft - 1, y: z + ht }) + .call(c.setClipUrl, D ? _ : null); + else { + var pt = z + ht - m.top, + dt = z + ft - m.left; + R.call(f.positionText, dt, pt).call(c.setClipUrl, D ? _ : null); + } + (O.select("rect").call(c.setRect, z, z, I, B), + P.call(c.setRect, E / 2, E / 2, F - E, N - E), + C.call( + c.setTranslate, + Math.round(w.x.text - F / 2), + Math.round(w.y.text - N / 2), + ), + A.attr({ + transform: "rotate(" + k + "," + w.x.text + "," + w.y.text + ")", + })); + var gt, + mt, + vt = function (r, n) { + M.selectAll(".annotation-arrow-g").remove(); + var u = w.x.head, + f = w.y.head, + h = w.x.tail + r, + m = w.y.tail + n, + y = w.x.text + r, + _ = w.y.text + n, + T = o.rotationXYMatrix(k, y, _), + S = o.apply2DTransform(T), + E = o.apply2DTransform2(T), + L = +P.attr("width"), + z = +P.attr("height"), + D = y - 0.5 * L, + O = D + L, + I = _ - 0.5 * z, + R = I + z, + B = [ + [D, I, D, R], + [D, R, O, R], + [O, R, O, I], + [O, I, D, I], + ].map(E); + if ( + !B.reduce(function (t, e) { + return ( + t ^ + !!o.segmentsIntersect( + u, + f, + u + 1e6, + f + 1e6, + e[0], + e[1], + e[2], + e[3], + ) + ); + }, !1) + ) { + B.forEach(function (t) { + var e = o.segmentsIntersect(h, m, u, f, t[0], t[1], t[2], t[3]); + e && ((h = e.x), (m = e.y)); + }); + var F = e.arrowwidth, + N = e.arrowcolor, + j = e.arrowside, + V = M.append("g") + .style({ opacity: l.opacity(N) }) + .classed("annotation-arrow-g", !0), + U = V.append("path") + .attr("d", "M" + h + "," + m + "L" + u + "," + f) + .style("stroke-width", F + "px") + .call(l.stroke, l.rgb(N)); + if ( + (d(U, j, e), b.annotationPosition && U.node().parentNode && !a) + ) { + var q = u, + H = f; + if (e.standoff) { + var G = Math.sqrt(Math.pow(u - h, 2) + Math.pow(f - m, 2)); + ((q += (e.standoff * (h - u)) / G), + (H += (e.standoff * (m - f)) / G)); + } + var W, + Y, + X, + Z = V.append("path") + .classed("annotation-arrow", !0) + .classed("anndrag", !0) + .attr({ + d: "M3,3H-3V-3H3ZM0,0L" + (h - q) + "," + (m - H), + transform: "translate(" + q + "," + H + ")", + }) + .style("stroke-width", F + 6 + "px") + .call(l.stroke, "rgba(0,0,0,0)") + .call(l.fill, "rgba(0,0,0,0)"); + p.init({ + element: Z.node(), + gd: t, + prepFn: function () { + var t = c.getTranslate(C); + ((Y = t.x), + (X = t.y), + (W = {}), + s && s.autorange && (W[s._name + ".autorange"] = !0), + g && g.autorange && (W[g._name + ".autorange"] = !0)); + }, + moveFn: function (t, r) { + var n = S(Y, X), + i = n[0] + t, + a = n[1] + r; + (C.call(c.setTranslate, i, a), + (W[v + ".x"] = s ? s.p2r(s.r2p(e.x) + t) : e.x + t / x.w), + (W[v + ".y"] = g ? g.p2r(g.r2p(e.y) + r) : e.y - r / x.h), + e.axref === e.xref && + (W[v + ".ax"] = s.p2r(s.r2p(e.ax) + t)), + e.ayref === e.yref && + (W[v + ".ay"] = g.p2r(g.r2p(e.ay) + r)), + V.attr("transform", "translate(" + t + "," + r + ")"), + A.attr({ + transform: "rotate(" + k + "," + i + "," + a + ")", + })); + }, + doneFn: function () { + i.call("relayout", t, W); + var e = document.querySelector(".js-notes-box-panel"); + e && e.redraw(e.selectedObj); + }, + }); + } + } + }; + if ((e.showarrow && vt(0, 0), T)) + p.init({ + element: C.node(), + gd: t, + prepFn: function () { + ((mt = A.attr("transform")), (gt = {})); + }, + moveFn: function (t, r) { + var n = "pointer"; + if (e.showarrow) + (e.axref === e.xref + ? (gt[v + ".ax"] = s.p2r(s.r2p(e.ax) + t)) + : (gt[v + ".ax"] = e.ax + t), + e.ayref === e.yref + ? (gt[v + ".ay"] = g.p2r(g.r2p(e.ay) + r)) + : (gt[v + ".ay"] = e.ay + r), + vt(t, r)); + else { + if (a) return; + if (s) gt[v + ".x"] = s.p2r(s.r2p(e.x) + t); + else { + var i = e._xsize / x.w, + o = e.x + (e._xshift - e.xshift) / x.w - i / 2; + gt[v + ".x"] = p.align(o + t / x.w, i, 0, 1, e.xanchor); + } + if (g) gt[v + ".y"] = g.p2r(g.r2p(e.y) + r); + else { + var l = e._ysize / x.h, + c = e.y - (e._yshift + e.yshift) / x.h - l / 2; + gt[v + ".y"] = p.align(c - r / x.h, l, 0, 1, e.yanchor); + } + (s && g) || + (n = p.getCursor( + s ? 0.5 : gt[v + ".x"], + g ? 0.5 : gt[v + ".y"], + e.xanchor, + e.yanchor, + )); + } + (A.attr({ transform: "translate(" + t + "," + r + ")" + mt }), + h(C, n)); + }, + doneFn: function () { + (h(C), i.call("relayout", t, gt)); + var e = document.querySelector(".js-notes-box-panel"); + e && e.redraw(e.selectedObj); + }, + }); + } + } + } + e.exports = { + draw: function (t) { + var e = t._fullLayout; + e._infolayer.selectAll(".annotation").remove(); + for (var r = 0; r < e.annotations.length; r++) + e.annotations[r].visible && g(t, r); + return a.previousPromises(t); + }, + drawOne: g, + drawRaw: m, + }; + }, + { + "../../lib": 602, + "../../lib/setcursor": 622, + "../../lib/svg_text_utils": 626, + "../../plots/cartesian/axes": 648, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "../fx": 516, + "./draw_arrow_head": 464, + d3: 130, + }, + ], + 464: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../color"), + a = t("./arrow_paths"); + e.exports = function (t, e, r) { + var o, + s, + l, + c, + u = t.node(), + f = a[r.arrowhead || 0], + h = a[r.startarrowhead || 0], + p = (r.arrowwidth || 1) * (r.arrowsize || 1), + d = (r.arrowwidth || 1) * (r.startarrowsize || 1), + g = e.indexOf("start") >= 0, + m = e.indexOf("end") >= 0, + v = f.backoff * p + r.standoff, + y = h.backoff * d + r.startstandoff; + if ("line" === u.nodeName) { + ((o = { x: +t.attr("x1"), y: +t.attr("y1") }), + (s = { x: +t.attr("x2"), y: +t.attr("y2") })); + var x = o.x - s.x, + b = o.y - s.y; + if ( + ((c = (l = Math.atan2(b, x)) + Math.PI), + v && y && v + y > Math.sqrt(x * x + b * b)) + ) + return void z(); + if (v) { + if (v * v > x * x + b * b) return void z(); + var _ = v * Math.cos(l), + w = v * Math.sin(l); + ((s.x += _), (s.y += w), t.attr({ x2: s.x, y2: s.y })); + } + if (y) { + if (y * y > x * x + b * b) return void z(); + var k = y * Math.cos(l), + M = y * Math.sin(l); + ((o.x -= k), (o.y -= M), t.attr({ x1: o.x, y1: o.y })); + } + } else if ("path" === u.nodeName) { + var A = u.getTotalLength(), + T = ""; + if (A < v + y) return void z(); + var S = u.getPointAtLength(0), + C = u.getPointAtLength(0.1); + ((l = Math.atan2(S.y - C.y, S.x - C.x)), + (o = u.getPointAtLength(Math.min(y, A))), + (T = "0px," + y + "px,")); + var E = u.getPointAtLength(A), + L = u.getPointAtLength(A - 0.1); + ((c = Math.atan2(E.y - L.y, E.x - L.x)), + (s = u.getPointAtLength(Math.max(0, A - v))), + (T += A - (T ? y + v : v) + "px," + A + "px"), + t.style("stroke-dasharray", T)); + } + function z() { + t.style("stroke-dasharray", "0px,100px"); + } + function P(e, a, o, s) { + e.path && + (e.noRotate && (o = 0), + n + .select(u.parentNode) + .append("path") + .attr({ + class: t.attr("class"), + d: e.path, + transform: + "translate(" + + a.x + + "," + + a.y + + ")" + + (o ? "rotate(" + (180 * o) / Math.PI + ")" : "") + + "scale(" + + s + + ")", + }) + .style({ fill: i.rgb(r.arrowcolor), "stroke-width": 0 })); + } + (g && P(h, o, l, d), m && P(f, s, c, p)); + }; + }, + { "../color": 474, "./arrow_paths": 456, d3: 130 }, + ], + 465: [ + function (t, e, r) { + "use strict"; + var n = t("./draw"), + i = t("./click"); + e.exports = { + moduleType: "component", + name: "annotations", + layoutAttributes: t("./attributes"), + supplyLayoutDefaults: t("./defaults"), + includeBasePlot: t("../../plots/cartesian/include_components")( + "annotations", + ), + calcAutorange: t("./calc_autorange"), + draw: n.draw, + drawOne: n.drawOne, + drawRaw: n.drawRaw, + hasClickToShow: i.hasClickToShow, + onClick: i.onClick, + convertCoords: t("./convert_coords"), + }; + }, + { + "../../plots/cartesian/include_components": 658, + "./attributes": 457, + "./calc_autorange": 458, + "./click": 459, + "./convert_coords": 461, + "./defaults": 462, + "./draw": 463, + }, + ], + 466: [ + function (t, e, r) { + "use strict"; + var n = t("../annotations/attributes"), + i = t("../../plot_api/edit_types").overrideAll; + e.exports = i( + { + _isLinkedToArray: "annotation", + visible: n.visible, + x: { valType: "any" }, + y: { valType: "any" }, + z: { valType: "any" }, + ax: { valType: "number" }, + ay: { valType: "number" }, + xanchor: n.xanchor, + xshift: n.xshift, + yanchor: n.yanchor, + yshift: n.yshift, + text: n.text, + textangle: n.textangle, + font: n.font, + width: n.width, + height: n.height, + opacity: n.opacity, + align: n.align, + valign: n.valign, + bgcolor: n.bgcolor, + bordercolor: n.bordercolor, + borderpad: n.borderpad, + borderwidth: n.borderwidth, + showarrow: n.showarrow, + arrowcolor: n.arrowcolor, + arrowhead: n.arrowhead, + startarrowhead: n.startarrowhead, + arrowside: n.arrowside, + arrowsize: n.arrowsize, + startarrowsize: n.startarrowsize, + arrowwidth: n.arrowwidth, + standoff: n.standoff, + startstandoff: n.startstandoff, + hovertext: n.hovertext, + hoverlabel: n.hoverlabel, + captureevents: n.captureevents, + }, + "calc", + "from-root", + ); + }, + { "../../plot_api/edit_types": 633, "../annotations/attributes": 457 }, + ], + 467: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"); + function a(t, e) { + var r = e.fullSceneLayout.domain, + a = e.fullLayout._size, + o = { + pdata: null, + type: "linear", + autorange: !1, + range: [-1 / 0, 1 / 0], + }; + ((t._xa = {}), + n.extendFlat(t._xa, o), + i.setConvert(t._xa), + (t._xa._offset = a.l + r.x[0] * a.w), + (t._xa.l2p = function () { + return 0.5 * (1 + t._pdata[0] / t._pdata[3]) * a.w * (r.x[1] - r.x[0]); + }), + (t._ya = {}), + n.extendFlat(t._ya, o), + i.setConvert(t._ya), + (t._ya._offset = a.t + (1 - r.y[1]) * a.h), + (t._ya.l2p = function () { + return 0.5 * (1 - t._pdata[1] / t._pdata[3]) * a.h * (r.y[1] - r.y[0]); + })); + } + e.exports = function (t) { + for (var e = t.fullSceneLayout.annotations, r = 0; r < e.length; r++) + a(e[r], t); + t.fullLayout._infolayer.selectAll(".annotation-" + t.id).remove(); + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648 }, + ], + 468: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../../plots/array_container_defaults"), + o = t("../annotations/common_defaults"), + s = t("./attributes"); + function l(t, e, r, a, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + function u(t) { + var n = t + "axis", + a = { _fullLayout: {} }; + return ((a._fullLayout[n] = r[n]), i.coercePosition(e, a, c, t, t, 0.5)); + } + return c("visible", !l.itemIsNotPlainObject) + ? (o(t, e, a.fullLayout, c), + u("x"), + u("y"), + u("z"), + n.noneOrAll(t, e, ["x", "y", "z"]), + (e.xref = "x"), + (e.yref = "y"), + (e.zref = "z"), + c("xanchor"), + c("yanchor"), + c("xshift"), + c("yshift"), + e.showarrow && + ((e.axref = "pixel"), + (e.ayref = "pixel"), + c("ax", -10), + c("ay", -30), + n.noneOrAll(t, e, ["ax", "ay"])), + e) + : e; + } + e.exports = function (t, e, r) { + a(t, e, { + name: "annotations", + handleItemDefaults: l, + fullLayout: r.fullLayout, + }); + }; + }, + { + "../../lib": 602, + "../../plots/array_container_defaults": 644, + "../../plots/cartesian/axes": 648, + "../annotations/common_defaults": 460, + "./attributes": 466, + }, + ], + 469: [ + function (t, e, r) { + "use strict"; + var n = t("../annotations/draw").drawRaw, + i = t("../../plots/gl3d/project"), + a = ["x", "y", "z"]; + e.exports = function (t) { + for ( + var e = t.fullSceneLayout, r = t.dataScale, o = e.annotations, s = 0; + s < o.length; + s++ + ) { + for (var l = o[s], c = !1, u = 0; u < 3; u++) { + var f = a[u], + h = l[f], + p = e[f + "axis"].r2fraction(h); + if (p < 0 || p > 1) { + c = !0; + break; + } + } + c + ? t.fullLayout._infolayer + .select(".annotation-" + t.id + '[data-index="' + s + '"]') + .remove() + : ((l._pdata = i(t.glplot.cameraParams, [ + e.xaxis.r2l(l.x) * r[0], + e.yaxis.r2l(l.y) * r[1], + e.zaxis.r2l(l.z) * r[2], + ])), + n(t.graphDiv, l, s, t.id, l._xa, l._ya)); + } + }; + }, + { "../../plots/gl3d/project": 699, "../annotations/draw": 463 }, + ], + 470: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"); + e.exports = { + moduleType: "component", + name: "annotations3d", + schema: { subplots: { scene: { annotations: t("./attributes") } } }, + layoutAttributes: t("./attributes"), + handleDefaults: t("./defaults"), + includeBasePlot: function (t, e) { + var r = n.subplotsRegistry.gl3d; + if (!r) return; + for (var a = r.attrRegex, o = Object.keys(t), s = 0; s < o.length; s++) { + var l = o[s]; + a.test(l) && + (t[l].annotations || []).length && + (i.pushUnique(e._basePlotModules, r), + i.pushUnique(e._subplots.gl3d, l)); + } + }, + convert: t("./convert"), + draw: t("./draw"), + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "./attributes": 466, + "./convert": 467, + "./defaults": 468, + "./draw": 469, + }, + ], + 471: [ + function (t, e, r) { + "use strict"; + ((e.exports = t("world-calendars/dist/main")), + t("world-calendars/dist/plus"), + t("world-calendars/dist/calendars/chinese"), + t("world-calendars/dist/calendars/coptic"), + t("world-calendars/dist/calendars/discworld"), + t("world-calendars/dist/calendars/ethiopian"), + t("world-calendars/dist/calendars/hebrew"), + t("world-calendars/dist/calendars/islamic"), + t("world-calendars/dist/calendars/julian"), + t("world-calendars/dist/calendars/mayan"), + t("world-calendars/dist/calendars/nanakshahi"), + t("world-calendars/dist/calendars/nepali"), + t("world-calendars/dist/calendars/persian"), + t("world-calendars/dist/calendars/taiwan"), + t("world-calendars/dist/calendars/thai"), + t("world-calendars/dist/calendars/ummalqura")); + }, + { + "world-calendars/dist/calendars/chinese": 437, + "world-calendars/dist/calendars/coptic": 438, + "world-calendars/dist/calendars/discworld": 439, + "world-calendars/dist/calendars/ethiopian": 440, + "world-calendars/dist/calendars/hebrew": 441, + "world-calendars/dist/calendars/islamic": 442, + "world-calendars/dist/calendars/julian": 443, + "world-calendars/dist/calendars/mayan": 444, + "world-calendars/dist/calendars/nanakshahi": 445, + "world-calendars/dist/calendars/nepali": 446, + "world-calendars/dist/calendars/persian": 447, + "world-calendars/dist/calendars/taiwan": 448, + "world-calendars/dist/calendars/thai": 449, + "world-calendars/dist/calendars/ummalqura": 450, + "world-calendars/dist/main": 451, + "world-calendars/dist/plus": 452, + }, + ], + 472: [ + function (t, e, r) { + "use strict"; + var n = t("./calendars"), + i = t("../../lib"), + a = t("../../constants/numerical"), + o = a.EPOCHJD, + s = a.ONEDAY, + l = { + valType: "enumerated", + values: Object.keys(n.calendars), + editType: "calc", + dflt: "gregorian", + }, + c = function (t, e, r, n) { + var a = {}; + return ((a[r] = l), i.coerce(t, e, a, r, n)); + }, + u = "##", + f = { + d: { 0: "dd", "-": "d" }, + e: { 0: "d", "-": "d" }, + a: { 0: "D", "-": "D" }, + A: { 0: "DD", "-": "DD" }, + j: { 0: "oo", "-": "o" }, + W: { 0: "ww", "-": "w" }, + m: { 0: "mm", "-": "m" }, + b: { 0: "M", "-": "M" }, + B: { 0: "MM", "-": "MM" }, + y: { 0: "yy", "-": "yy" }, + Y: { 0: "yyyy", "-": "yyyy" }, + U: u, + w: u, + c: { 0: "D M d %X yyyy", "-": "D M d %X yyyy" }, + x: { 0: "mm/dd/yyyy", "-": "mm/dd/yyyy" }, + }; + var h = {}; + function p(t) { + var e = h[t]; + return e || (e = h[t] = n.instance(t)); + } + function d(t) { + return i.extendFlat({}, l, { description: t }); + } + function g(t) { + return "Sets the calendar system to use with `" + t + "` date data."; + } + var m = { xcalendar: d(g("x")) }, + v = i.extendFlat({}, m, { ycalendar: d(g("y")) }), + y = i.extendFlat({}, v, { zcalendar: d(g("z")) }), + x = d( + [ + "Sets the calendar system to use for `range` and `tick0`", + "if this is a date axis. This does not set the calendar for", + "interpreting data on this axis, that's specified in the trace", + "or via the global `layout.calendar`", + ].join(" "), + ); + e.exports = { + moduleType: "component", + name: "calendars", + schema: { + traces: { + scatter: v, + bar: v, + box: v, + heatmap: v, + contour: v, + histogram: v, + histogram2d: v, + histogram2dcontour: v, + scatter3d: y, + surface: y, + mesh3d: y, + scattergl: v, + ohlc: m, + candlestick: m, + }, + layout: { + calendar: d( + [ + "Sets the default calendar system to use for interpreting and", + "displaying dates throughout the plot.", + ].join(" "), + ), + }, + subplots: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + scene: { + xaxis: { calendar: x }, + yaxis: { calendar: x }, + zaxis: { calendar: x }, + }, + polar: { radialaxis: { calendar: x } }, + }, + transforms: { + filter: { + valuecalendar: d( + [ + "Sets the calendar system to use for `value`, if it is a date.", + ].join(" "), + ), + targetcalendar: d( + [ + "Sets the calendar system to use for `target`, if it is an", + "array of dates. If `target` is a string (eg *x*) we use the", + "corresponding trace attribute (eg `xcalendar`) if it exists,", + "even if `targetcalendar` is provided.", + ].join(" "), + ), + }, + }, + }, + layoutAttributes: l, + handleDefaults: c, + handleTraceDefaults: function (t, e, r, n) { + for (var i = 0; i < r.length; i++) c(t, e, r[i] + "calendar", n.calendar); + }, + CANONICAL_SUNDAY: { + chinese: "2000-01-02", + coptic: "2000-01-03", + discworld: "2000-01-03", + ethiopian: "2000-01-05", + hebrew: "5000-01-01", + islamic: "1000-01-02", + julian: "2000-01-03", + mayan: "5000-01-01", + nanakshahi: "1000-01-05", + nepali: "2000-01-05", + persian: "1000-01-01", + jalali: "1000-01-01", + taiwan: "1000-01-04", + thai: "2000-01-04", + ummalqura: "1400-01-06", + }, + CANONICAL_TICK: { + chinese: "2000-01-01", + coptic: "2000-01-01", + discworld: "2000-01-01", + ethiopian: "2000-01-01", + hebrew: "5000-01-01", + islamic: "1000-01-01", + julian: "2000-01-01", + mayan: "5000-01-01", + nanakshahi: "1000-01-01", + nepali: "2000-01-01", + persian: "1000-01-01", + jalali: "1000-01-01", + taiwan: "1000-01-01", + thai: "2000-01-01", + ummalqura: "1400-01-01", + }, + DFLTRANGE: { + chinese: ["2000-01-01", "2001-01-01"], + coptic: ["1700-01-01", "1701-01-01"], + discworld: ["1800-01-01", "1801-01-01"], + ethiopian: ["2000-01-01", "2001-01-01"], + hebrew: ["5700-01-01", "5701-01-01"], + islamic: ["1400-01-01", "1401-01-01"], + julian: ["2000-01-01", "2001-01-01"], + mayan: ["5200-01-01", "5201-01-01"], + nanakshahi: ["0500-01-01", "0501-01-01"], + nepali: ["2000-01-01", "2001-01-01"], + persian: ["1400-01-01", "1401-01-01"], + jalali: ["1400-01-01", "1401-01-01"], + taiwan: ["0100-01-01", "0101-01-01"], + thai: ["2500-01-01", "2501-01-01"], + ummalqura: ["1400-01-01", "1401-01-01"], + }, + getCal: p, + worldCalFmt: function (t, e, r) { + for ( + var n, + i, + a, + l, + c, + h = Math.floor((e + 0.05) / s) + o, + d = p(r).fromJD(h), + g = 0; + -1 !== (g = t.indexOf("%", g)); + + ) + ("0" === (n = t.charAt(g + 1)) || "-" === n || "_" === n + ? ((a = 3), (i = t.charAt(g + 2)), "_" === n && (n = "-")) + : ((i = n), (n = "0"), (a = 2)), + (l = f[i]) + ? ((c = l === u ? u : d.formatDate(l[n])), + (t = t.substr(0, g) + c + t.substr(g + a)), + (g += c.length)) + : (g += a)); + return t; + }, + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "./calendars": 471 }, + ], + 473: [ + function (t, e, r) { + "use strict"; + ((r.defaults = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf", + ]), + (r.defaultLine = "#444"), + (r.lightLine = "#eee"), + (r.background = "#fff"), + (r.borderLine = "#BEC8D9"), + (r.lightFraction = 1e3 / 11)); + }, + {}, + ], + 474: [ + function (t, e, r) { + "use strict"; + var n = t("tinycolor2"), + i = t("fast-isnumeric"), + a = (e.exports = {}), + o = t("./attributes"); + a.defaults = o.defaults; + var s = (a.defaultLine = o.defaultLine); + a.lightLine = o.lightLine; + var l = (a.background = o.background); + function c(t) { + if (i(t) || "string" != typeof t) return t; + var e = t.trim(); + if ("rgb" !== e.substr(0, 3)) return t; + var r = e.match(/^rgba?\s*\(([^()]*)\)$/); + if (!r) return t; + var n = r[1].trim().split(/\s*[\s,]\s*/), + a = "a" === e.charAt(3) && 4 === n.length; + if (!a && 3 !== n.length) return t; + for (var o = 0; o < n.length; o++) { + if (!n[o].length) return t; + if (((n[o] = Number(n[o])), !(n[o] >= 0))) return t; + if (3 === o) n[o] > 1 && (n[o] = 1); + else if (n[o] >= 1) return t; + } + var s = + Math.round(255 * n[0]) + + ", " + + Math.round(255 * n[1]) + + ", " + + Math.round(255 * n[2]); + return a ? "rgba(" + s + ", " + n[3] + ")" : "rgb(" + s + ")"; + } + ((a.tinyRGB = function (t) { + var e = t.toRgb(); + return ( + "rgb(" + + Math.round(e.r) + + ", " + + Math.round(e.g) + + ", " + + Math.round(e.b) + + ")" + ); + }), + (a.rgb = function (t) { + return a.tinyRGB(n(t)); + }), + (a.opacity = function (t) { + return t ? n(t).getAlpha() : 0; + }), + (a.addOpacity = function (t, e) { + var r = n(t).toRgb(); + return ( + "rgba(" + + Math.round(r.r) + + ", " + + Math.round(r.g) + + ", " + + Math.round(r.b) + + ", " + + e + + ")" + ); + }), + (a.combine = function (t, e) { + var r = n(t).toRgb(); + if (1 === r.a) return n(t).toRgbString(); + var i = n(e || l).toRgb(), + a = + 1 === i.a + ? i + : { + r: 255 * (1 - i.a) + i.r * i.a, + g: 255 * (1 - i.a) + i.g * i.a, + b: 255 * (1 - i.a) + i.b * i.a, + }, + o = { + r: a.r * (1 - r.a) + r.r * r.a, + g: a.g * (1 - r.a) + r.g * r.a, + b: a.b * (1 - r.a) + r.b * r.a, + }; + return n(o).toRgbString(); + }), + (a.contrast = function (t, e, r) { + var i = n(t); + return ( + 1 !== i.getAlpha() && (i = n(a.combine(t, l))), + (i.isDark() ? (e ? i.lighten(e) : l) : r ? i.darken(r) : s).toString() + ); + }), + (a.stroke = function (t, e) { + var r = n(e); + t.style({ stroke: a.tinyRGB(r), "stroke-opacity": r.getAlpha() }); + }), + (a.fill = function (t, e) { + var r = n(e); + t.style({ fill: a.tinyRGB(r), "fill-opacity": r.getAlpha() }); + }), + (a.clean = function (t) { + if (t && "object" == typeof t) { + var e, + r, + n, + i, + o = Object.keys(t); + for (e = 0; e < o.length; e++) + if (((i = t[(n = o[e])]), "color" === n.substr(n.length - 5))) + if (Array.isArray(i)) for (r = 0; r < i.length; r++) i[r] = c(i[r]); + else t[n] = c(i); + else if ("colorscale" === n.substr(n.length - 10) && Array.isArray(i)) + for (r = 0; r < i.length; r++) + Array.isArray(i[r]) && (i[r][1] = c(i[r][1])); + else if (Array.isArray(i)) { + var s = i[0]; + if (!Array.isArray(s) && s && "object" == typeof s) + for (r = 0; r < i.length; r++) a.clean(i[r]); + } else i && "object" == typeof i && a.clean(i); + } + })); + }, + { "./attributes": 473, "fast-isnumeric": 196, tinycolor2: 415 }, + ], + 475: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/layout_attributes"), + i = t("../../plots/font_attributes"), + a = t("../../lib/extend").extendFlat, + o = t("../../plot_api/edit_types").overrideAll; + e.exports = o( + { + thicknessmode: { + valType: "enumerated", + values: ["fraction", "pixels"], + dflt: "pixels", + }, + thickness: { valType: "number", min: 0, dflt: 30 }, + lenmode: { + valType: "enumerated", + values: ["fraction", "pixels"], + dflt: "fraction", + }, + len: { valType: "number", min: 0, dflt: 1 }, + x: { valType: "number", dflt: 1.02, min: -2, max: 3 }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "left", + }, + xpad: { valType: "number", min: 0, dflt: 10 }, + y: { valType: "number", dflt: 0.5, min: -2, max: 3 }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + dflt: "middle", + }, + ypad: { valType: "number", min: 0, dflt: 10 }, + outlinecolor: n.linecolor, + outlinewidth: n.linewidth, + bordercolor: n.linecolor, + borderwidth: { valType: "number", min: 0, dflt: 0 }, + bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)" }, + tickmode: n.tickmode, + nticks: n.nticks, + tick0: n.tick0, + dtick: n.dtick, + tickvals: n.tickvals, + ticktext: n.ticktext, + ticks: a({}, n.ticks, { dflt: "" }), + ticklen: n.ticklen, + tickwidth: n.tickwidth, + tickcolor: n.tickcolor, + showticklabels: n.showticklabels, + tickfont: i({}), + tickangle: n.tickangle, + tickformat: n.tickformat, + tickformatstops: n.tickformatstops, + tickprefix: n.tickprefix, + showtickprefix: n.showtickprefix, + ticksuffix: n.ticksuffix, + showticksuffix: n.showticksuffix, + separatethousands: n.separatethousands, + exponentformat: n.exponentformat, + showexponent: n.showexponent, + title: { valType: "string" }, + titlefont: i({}), + titleside: { + valType: "enumerated", + values: ["right", "top", "bottom"], + dflt: "top", + }, + }, + "colorbars", + "from-root", + ); + }, + { + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/cartesian/layout_attributes": 660, + "../../plots/font_attributes": 674, + }, + ], + 476: [ + function (t, e, r) { + "use strict"; + e.exports = { + cn: { + colorbar: "colorbar", + cbbg: "cbbg", + cbfill: "cbfill", + cbfills: "cbfills", + cbline: "cbline", + cblines: "cblines", + cbaxis: "cbaxis", + cbtitleunshift: "cbtitleunshift", + cbtitle: "cbtitle", + cboutline: "cboutline", + crisp: "crisp", + jsPlaceholder: "js-placeholder", + }, + }; + }, + {}, + ], + 477: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/tick_value_defaults"), + a = t("../../plots/cartesian/tick_mark_defaults"), + o = t("../../plots/cartesian/tick_label_defaults"), + s = t("./attributes"); + e.exports = function (t, e, r) { + var l = (e.colorbar = {}), + c = t.colorbar || {}; + function u(t, e) { + return n.coerce(c, l, s, t, e); + } + (u( + "thickness", + "fraction" === u("thicknessmode") + ? 30 / (r.width - r.margin.l - r.margin.r) + : 30, + ), + u( + "len", + "fraction" === u("lenmode") ? 1 : r.height - r.margin.t - r.margin.b, + ), + u("x"), + u("xanchor"), + u("xpad"), + u("y"), + u("yanchor"), + u("ypad"), + n.noneOrAll(c, l, ["x", "y"]), + u("outlinecolor"), + u("outlinewidth"), + u("bordercolor"), + u("borderwidth"), + u("bgcolor"), + i(c, l, u, "linear")); + var f = { outerTicks: !1, font: r.font }; + (o(c, l, u, "linear", f), + a(c, l, u, "linear", f), + u("title", r._dfltTitle.colorbar), + n.coerceFont(u, "titlefont", r.font), + u("titleside")); + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/tick_label_defaults": 667, + "../../plots/cartesian/tick_mark_defaults": 668, + "../../plots/cartesian/tick_value_defaults": 669, + "./attributes": 475, + }, + ], + 478: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("../../plots/plots"), + o = t("../../registry"), + s = t("../../plots/cartesian/axes"), + l = t("../dragelement"), + c = t("../../lib"), + u = t("../../lib/extend").extendFlat, + f = t("../../lib/setcursor"), + h = t("../drawing"), + p = t("../color"), + d = t("../titles"), + g = t("../../lib/svg_text_utils"), + m = t("../../constants/alignment").LINE_SPACING, + v = t("../../plots/cartesian/axis_defaults"), + y = t("../../plots/cartesian/position_defaults"), + x = t("../../plots/cartesian/layout_attributes"), + b = t("./attributes"), + _ = t("./constants").cn; + e.exports = function (t, e) { + var r = {}; + function w() { + var b = t._fullLayout, + M = b._size; + if ( + "function" == typeof r.fillcolor || + "function" == typeof r.line.color + ) { + var A, + T, + S = n.extent( + ("function" == typeof r.fillcolor + ? r.fillcolor + : r.line.color + ).domain(), + ), + C = [], + E = [], + L = + "function" == typeof r.line.color + ? r.line.color + : function () { + return r.line.color; + }, + z = + "function" == typeof r.fillcolor + ? r.fillcolor + : function () { + return r.fillcolor; + }, + P = r.levels.end + r.levels.size / 100, + D = r.levels.size, + O = 1.001 * S[0] - 0.001 * S[1], + I = 1.001 * S[1] - 0.001 * S[0]; + for ( + T = 0; + T < 1e5 && ((A = r.levels.start + T * D), !(D > 0 ? A >= P : A <= P)); + T++ + ) + A > O && A < I && C.push(A); + if ("function" == typeof r.fillcolor) + if (r.filllevels) + for ( + P = r.filllevels.end + r.filllevels.size / 100, + D = r.filllevels.size, + T = 0; + T < 1e5 && + ((A = r.filllevels.start + T * D), !(D > 0 ? A >= P : A <= P)); + T++ + ) + A > S[0] && A < S[1] && E.push(A); + else + (E = C.map(function (t) { + return t - r.levels.size / 2; + })).push(E[E.length - 1] + r.levels.size); + else r.fillcolor && "string" == typeof r.fillcolor && (E = [0]); + r.levels.size < 0 && (C.reverse(), E.reverse()); + var R, + B = b.height - b.margin.t - b.margin.b, + F = b.width - b.margin.l - b.margin.r, + N = Math.round( + r.thickness * ("fraction" === r.thicknessmode ? F : 1), + ), + j = N / M.w, + V = Math.round(r.len * ("fraction" === r.lenmode ? B : 1)), + U = V / M.h, + q = r.xpad / M.w, + H = (r.borderwidth + r.outlinewidth) / 2, + G = r.ypad / M.h, + W = Math.round(r.x * M.w + r.xpad), + Y = r.x - j * ({ middle: 0.5, right: 1 }[r.xanchor] || 0), + X = r.y + U * (({ top: -0.5, bottom: 0.5 }[r.yanchor] || 0) - 0.5), + Z = Math.round(M.h * (1 - X)), + J = Z - V, + K = { + type: "linear", + range: S, + tickmode: r.tickmode, + nticks: r.nticks, + tick0: r.tick0, + dtick: r.dtick, + tickvals: r.tickvals, + ticktext: r.ticktext, + ticks: r.ticks, + ticklen: r.ticklen, + tickwidth: r.tickwidth, + tickcolor: r.tickcolor, + showticklabels: r.showticklabels, + tickfont: r.tickfont, + tickangle: r.tickangle, + tickformat: r.tickformat, + exponentformat: r.exponentformat, + separatethousands: r.separatethousands, + showexponent: r.showexponent, + showtickprefix: r.showtickprefix, + tickprefix: r.tickprefix, + showticksuffix: r.showticksuffix, + ticksuffix: r.ticksuffix, + title: r.title, + titlefont: r.titlefont, + showline: !0, + anchor: "free", + position: 1, + }, + Q = { type: "linear", _id: "y" + e }, + $ = { letter: "y", font: b.font, noHover: !0, calendar: b.calendar }; + if ( + (v(K, Q, dt, $, b), + y(K, Q, dt, $), + (Q.position = r.x + q + j), + (w.axis = Q), + -1 !== ["top", "bottom"].indexOf(r.titleside) && + ((Q.titleside = r.titleside), + (Q.titlex = r.x + q), + (Q.titley = X + ("top" === r.titleside ? U - G : G))), + r.line.color && "auto" === r.tickmode) + ) { + ((Q.tickmode = "linear"), (Q.tick0 = r.levels.start)); + var tt = r.levels.size, + et = c.constrain((Z - J) / 50, 4, 15) + 1, + rt = (S[1] - S[0]) / ((r.nticks || et) * tt); + if (rt > 1) { + var nt = Math.pow(10, Math.floor(Math.log(rt) / Math.LN10)); + ((tt *= nt * c.roundUp(rt / nt, [2, 5, 10])), + (Math.abs(r.levels.start) / r.levels.size + 1e-6) % 1 < 2e-6 && + (Q.tick0 = 0)); + } + Q.dtick = tt; + } + ((Q.domain = [X + G, X + U - G]), Q.setScale()); + var it = c.ensureSingle(b._infolayer, "g", e, function (t) { + t.classed(_.colorbar, !0).each(function () { + var t = n.select(this); + (t.append("rect").classed(_.cbbg, !0), + t.append("g").classed(_.cbfills, !0), + t.append("g").classed(_.cblines, !0), + t.append("g").classed(_.cbaxis, !0).classed(_.crisp, !0), + t + .append("g") + .classed(_.cbtitleunshift, !0) + .append("g") + .classed(_.cbtitle, !0), + t.append("rect").classed(_.cboutline, !0), + t.select(".cbtitle").datum(0)); + }); + }); + it.attr( + "transform", + "translate(" + Math.round(M.l) + "," + Math.round(M.t) + ")", + ); + var at = it + .select(".cbtitleunshift") + .attr( + "transform", + "translate(-" + Math.round(M.l) + ",-" + Math.round(M.t) + ")", + ); + Q._axislayer = it.select(".cbaxis"); + var ot = 0; + if (-1 !== ["top", "bottom"].indexOf(r.titleside)) { + var st, + lt = M.l + (r.x + q) * M.w, + ct = Q.titlefont.size; + ((st = + "top" === r.titleside + ? (1 - (X + U - G)) * M.h + M.t + 3 + 0.75 * ct + : (1 - (X + G)) * M.h + M.t - 3 - 0.25 * ct), + gt(Q._id + "title", { + attributes: { x: lt, y: st, "text-anchor": "start" }, + })); + } + var ut, + ft, + ht, + pt = c.syncOrAsync( + [ + a.previousPromises, + function () { + if (-1 !== ["top", "bottom"].indexOf(r.titleside)) { + var e = it.select(".cbtitle"), + a = e.select("text"), + o = [-r.outlinewidth / 2, r.outlinewidth / 2], + l = e.select(".h" + Q._id + "title-math-group").node(), + u = 15.6; + if ( + (a.node() && + (u = parseInt(a.node().style.fontSize, 10) * m), + l + ? (ot = h.bBox(l).height) > u && (o[1] -= (ot - u) / 2) + : a.node() && + !a.classed(_.jsPlaceholder) && + (ot = h.bBox(a.node()).height), + ot) + ) { + if (((ot += 5), "top" === r.titleside)) + ((Q.domain[1] -= ot / M.h), (o[1] *= -1)); + else { + Q.domain[0] += ot / M.h; + var f = g.lineCount(a); + o[1] += (1 - f) * u; + } + (e.attr("transform", "translate(" + o + ")"), Q.setScale()); + } + } + (it + .selectAll(".cbfills,.cblines") + .attr( + "transform", + "translate(0," + Math.round(M.h * (1 - Q.domain[1])) + ")", + ), + Q._axislayer.attr( + "transform", + "translate(0," + Math.round(-M.t) + ")", + )); + var p = it.select(".cbfills").selectAll("rect.cbfill").data(E); + (p + .enter() + .append("rect") + .classed(_.cbfill, !0) + .style("stroke", "none"), + p.exit().remove(), + p.each(function (t, e) { + var r = [ + 0 === e ? S[0] : (E[e] + E[e - 1]) / 2, + e === E.length - 1 ? S[1] : (E[e] + E[e + 1]) / 2, + ] + .map(Q.c2p) + .map(Math.round); + e !== E.length - 1 && (r[1] += r[1] > r[0] ? 1 : -1); + var a = z(t).replace("e-", ""), + o = i(a).toHexString(); + n.select(this).attr({ + x: W, + width: Math.max(N, 2), + y: n.min(r), + height: Math.max(n.max(r) - n.min(r), 2), + fill: o, + }); + })); + var d = it + .select(".cblines") + .selectAll("path.cbline") + .data(r.line.color && r.line.width ? C : []); + return ( + d.enter().append("path").classed(_.cbline, !0), + d.exit().remove(), + d.each(function (t) { + n.select(this) + .attr( + "d", + "M" + + W + + "," + + (Math.round(Q.c2p(t)) + ((r.line.width / 2) % 1)) + + "h" + + N, + ) + .call(h.lineGroupStyle, r.line.width, L(t), r.line.dash); + }), + Q._axislayer.selectAll("g." + Q._id + "tick,path").remove(), + (Q._pos = + W + + N + + (r.outlinewidth || 0) / 2 - + ("outside" === r.ticks ? 1 : 0)), + (Q.side = "right"), + c.syncOrAsync([ + function () { + return s.doTicks(t, Q, !0); + }, + function () { + if (-1 === ["top", "bottom"].indexOf(r.titleside)) { + var e = Q.titlefont.size, + i = Q._offset + Q._length / 2, + a = + M.l + + (Q.position || 0) * M.w + + ("right" === Q.side + ? 10 + e * (Q.showticklabels ? 1 : 0.5) + : -10 - e * (Q.showticklabels ? 0.5 : 0)); + gt("h" + Q._id + "title", { + avoid: { + selection: n + .select(t) + .selectAll("g." + Q._id + "tick"), + side: r.titleside, + offsetLeft: M.l, + offsetTop: 0, + maxShift: b.width, + }, + attributes: { x: a, y: i, "text-anchor": "middle" }, + transform: { rotate: "-90", offset: 0 }, + }); + } + }, + ]) + ); + }, + a.previousPromises, + function () { + var n = + N + r.outlinewidth / 2 + h.bBox(Q._axislayer.node()).width; + if ( + (R = at.select("text")).node() && + !R.classed(_.jsPlaceholder) + ) { + var i, + o = at.select(".h" + Q._id + "title-math-group").node(); + ((i = + o && -1 !== ["top", "bottom"].indexOf(r.titleside) + ? h.bBox(o).width + : h.bBox(at.node()).right - W - M.l), + (n = Math.max(n, i))); + } + var s = 2 * r.xpad + n + r.borderwidth + r.outlinewidth / 2, + l = Z - J; + (it + .select(".cbbg") + .attr({ + x: W - r.xpad - (r.borderwidth + r.outlinewidth) / 2, + y: J - H, + width: Math.max(s, 2), + height: Math.max(l + 2 * H, 2), + }) + .call(p.fill, r.bgcolor) + .call(p.stroke, r.bordercolor) + .style({ "stroke-width": r.borderwidth }), + it + .selectAll(".cboutline") + .attr({ + x: W, + y: J + r.ypad + ("top" === r.titleside ? ot : 0), + width: Math.max(N, 2), + height: Math.max(l - 2 * r.ypad - ot, 2), + }) + .call(p.stroke, r.outlinecolor) + .style({ fill: "None", "stroke-width": r.outlinewidth })); + var c = ({ center: 0.5, right: 1 }[r.xanchor] || 0) * s; + (it.attr( + "transform", + "translate(" + (M.l - c) + "," + M.t + ")", + ), + a.autoMargin(t, e, { + x: r.x, + y: r.y, + l: s * ({ right: 1, center: 0.5 }[r.xanchor] || 0), + r: s * ({ left: 1, center: 0.5 }[r.xanchor] || 0), + t: l * ({ bottom: 1, middle: 0.5 }[r.yanchor] || 0), + b: l * ({ top: 1, middle: 0.5 }[r.yanchor] || 0), + })); + }, + ], + t, + ); + if ( + (pt && pt.then && (t._promises || []).push(pt), + t._context.edits.colorbarPosition) + ) + l.init({ + element: it.node(), + gd: t, + prepFn: function () { + ((ut = it.attr("transform")), f(it)); + }, + moveFn: function (t, e) { + (it.attr("transform", ut + " translate(" + t + "," + e + ")"), + (ft = l.align(Y + t / M.w, j, 0, 1, r.xanchor)), + (ht = l.align(X - e / M.h, U, 0, 1, r.yanchor))); + var n = l.getCursor(ft, ht, r.xanchor, r.yanchor); + f(it, n); + }, + doneFn: function () { + (f(it), + void 0 !== ft && + void 0 !== ht && + o.call( + "restyle", + t, + { "colorbar.x": ft, "colorbar.y": ht }, + k().index, + )); + }, + }); + return pt; + } + function dt(t, e) { + return c.coerce(K, Q, x, t, e); + } + function gt(e, r) { + var n, + i = k(); + n = o.traceIs(i, "markerColorscale") + ? "marker.colorbar.title" + : "colorbar.title"; + var a = { + propContainer: Q, + propName: n, + traceIndex: i.index, + placeholder: b._dfltTitle.colorbar, + containerGroup: it.select(".cbtitle"), + }, + s = "h" === e.charAt(0) ? e.substr(1) : "h" + e; + (it.selectAll("." + s + ",." + s + "-math-group").remove(), + d.draw(t, e, u(a, r || {}))); + } + b._infolayer.selectAll("g." + e).remove(); + } + function k() { + var r, + n, + i = e.substr(2); + for (r = 0; r < t._fullData.length; r++) + if ((n = t._fullData[r]).uid === i) return n; + } + return ( + Object.keys(b).forEach(function (t) { + r[t] = null; + }), + (r.fillcolor = null), + (r.line = { color: null, width: null, dash: null }), + (r.levels = { start: null, end: null, size: null }), + (r.filllevels = null), + Object.keys(r).forEach(function (t) { + w[t] = function (e) { + return arguments.length + ? ((r[t] = c.isPlainObject(r[t]) ? c.extendFlat(r[t], e) : e), w) + : r[t]; + }; + }), + (w.options = function (t) { + return ( + Object.keys(t).forEach(function (e) { + "function" == typeof w[e] && w[e](t[e]); + }), + w + ); + }), + (w._opts = r), + w + ); + }; + }, + { + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/extend": 591, + "../../lib/setcursor": 622, + "../../lib/svg_text_utils": 626, + "../../plots/cartesian/axes": 648, + "../../plots/cartesian/axis_defaults": 650, + "../../plots/cartesian/layout_attributes": 660, + "../../plots/cartesian/position_defaults": 663, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "../titles": 567, + "./attributes": 475, + "./constants": 476, + d3: 130, + tinycolor2: 415, + }, + ], + 479: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t) { + return n.isPlainObject(t.colorbar); + }; + }, + { "../../lib": 602 }, + ], + 480: [ + function (t, e, r) { + "use strict"; + e.exports = { + zauto: { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: { zmin: void 0, zmax: void 0 }, + }, + zmin: { + valType: "number", + dflt: null, + editType: "plot", + impliedEdits: { zauto: !1 }, + }, + zmax: { + valType: "number", + dflt: null, + editType: "plot", + impliedEdits: { zauto: !1 }, + }, + colorscale: { + valType: "colorscale", + editType: "calc", + impliedEdits: { autocolorscale: !1 }, + }, + autocolorscale: { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: { colorscale: void 0 }, + }, + reversescale: { valType: "boolean", dflt: !1, editType: "calc" }, + showscale: { valType: "boolean", dflt: !0, editType: "calc" }, + }; + }, + {}, + ], + 481: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./scales"), + a = t("./flip_scale"); + e.exports = function (t, e, r, o) { + var s = t, + l = t._input, + c = t._fullInput, + u = t.updateStyle; + function f(e, n, i) { + (void 0 === i && (i = n), + u ? u(t._input, r ? r + "." + e : e, n) : (l[e] = n), + (s[e] = i), + c && + t !== t._fullInput && + (u ? u(t._fullInput, r ? r + "." + e : e, i) : (c[e] = i))); + } + r && + ((s = n.nestedProperty(s, r).get()), + (l = n.nestedProperty(l, r).get()), + (c = n.nestedProperty(c, r).get() || {})); + var h = o + "auto", + p = o + "min", + d = o + "max", + g = s[h], + m = s[p], + v = s[d], + y = s.colorscale; + ((!1 === g && void 0 !== m) || (m = n.aggNums(Math.min, null, e)), + (!1 === g && void 0 !== v) || (v = n.aggNums(Math.max, null, e)), + m === v && ((m -= 0.5), (v += 0.5)), + f(p, m), + f(d, v), + f(h, !1 !== g || (void 0 === m && void 0 === v)), + s.autocolorscale && + (f( + "colorscale", + (y = m * v < 0 ? i.RdBu : m >= 0 ? i.Reds : i.Blues), + s.reversescale ? a(y) : y, + ), + l.autocolorscale || f("autocolorscale", !1))); + }; + }, + { "../../lib": 602, "./flip_scale": 486, "./scales": 493 }, + ], + 482: [ + function (t, e, r) { + "use strict"; + var n = t("./attributes"), + i = t("../../lib/extend").extendFlat; + t("./scales.js"); + e.exports = function (t, e, r) { + return { + color: { valType: "color", arrayOk: !0, editType: e || "style" }, + colorscale: i({}, n.colorscale, {}), + cauto: i({}, n.zauto, { impliedEdits: { cmin: void 0, cmax: void 0 } }), + cmax: i({}, n.zmax, { + editType: e || n.zmax.editType, + impliedEdits: { cauto: !1 }, + }), + cmin: i({}, n.zmin, { + editType: e || n.zmin.editType, + impliedEdits: { cauto: !1 }, + }), + autocolorscale: i({}, n.autocolorscale, { + dflt: !1 === r ? r : n.autocolorscale.dflt, + }), + reversescale: i({}, n.reversescale, {}), + }; + }; + }, + { "../../lib/extend": 591, "./attributes": 480, "./scales.js": 493 }, + ], + 483: [ + function (t, e, r) { + "use strict"; + var n = t("./scales"); + e.exports = n.RdBu; + }, + { "./scales": 493 }, + ], + 484: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../colorbar/has_colorbar"), + o = t("../colorbar/defaults"), + s = t("./is_valid_scale"), + l = t("./flip_scale"); + e.exports = function (t, e, r, c, u) { + var f, + h = u.prefix, + p = u.cLetter, + d = h.slice(0, h.length - 1), + g = h ? i.nestedProperty(t, d).get() || {} : t, + m = h ? i.nestedProperty(e, d).get() || {} : e, + v = g[p + "min"], + y = g[p + "max"], + x = g.colorscale; + (c(h + p + "auto", !(n(v) && n(y) && v < y)), + c(h + p + "min"), + c(h + p + "max"), + void 0 !== x && (f = !s(x)), + c(h + "autocolorscale", f)); + var b, + _ = c(h + "colorscale"); + (c(h + "reversescale") && (m.colorscale = l(_)), "marker.line." !== h) && + (h && (b = a(g)), c(h + "showscale", b) && o(g, m, r)); + }; + }, + { + "../../lib": 602, + "../colorbar/defaults": 477, + "../colorbar/has_colorbar": 479, + "./flip_scale": 486, + "./is_valid_scale": 490, + "fast-isnumeric": 196, + }, + ], + 485: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + for ( + var n = t.length, i = new Array(n), a = new Array(n), o = 0; + o < n; + o++ + ) { + var s = t[o]; + ((i[o] = e + s[0] * (r - e)), (a[o] = s[1])); + } + return { domain: i, range: a }; + }; + }, + {}, + ], + 486: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for ( + var e, r = t.length, n = new Array(r), i = r - 1, a = 0; + i >= 0; + i--, a++ + ) + ((e = t[i]), (n[a] = [1 - e[0], e[1]])); + return n; + }; + }, + {}, + ], + 487: [ + function (t, e, r) { + "use strict"; + var n = t("./scales"), + i = t("./default_scale"), + a = t("./is_valid_scale_array"); + e.exports = function (t, e) { + if ((e || (e = i), !t)) return e; + function r() { + try { + t = n[t] || JSON.parse(t); + } catch (r) { + t = e; + } + } + return ( + "string" == typeof t && (r(), "string" == typeof t && r()), + a(t) ? t : e + ); + }; + }, + { "./default_scale": 483, "./is_valid_scale_array": 491, "./scales": 493 }, + ], + 488: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("./is_valid_scale"); + e.exports = function (t, e) { + var r = e ? i.nestedProperty(t, e).get() || {} : t, + o = r.color, + s = !1; + if (i.isArrayOrTypedArray(o)) + for (var l = 0; l < o.length; l++) + if (n(o[l])) { + s = !0; + break; + } + return ( + i.isPlainObject(r) && + (s || + !0 === r.showscale || + (n(r.cmin) && n(r.cmax)) || + a(r.colorscale) || + i.isPlainObject(r.colorbar)) + ); + }; + }, + { "../../lib": 602, "./is_valid_scale": 490, "fast-isnumeric": 196 }, + ], + 489: [ + function (t, e, r) { + "use strict"; + ((r.scales = t("./scales")), + (r.defaultScale = t("./default_scale")), + (r.attributes = t("./attributes")), + (r.handleDefaults = t("./defaults")), + (r.calc = t("./calc")), + (r.hasColorscale = t("./has_colorscale")), + (r.isValidScale = t("./is_valid_scale")), + (r.getScale = t("./get_scale")), + (r.flipScale = t("./flip_scale")), + (r.extractScale = t("./extract_scale")), + (r.makeColorScaleFunc = t("./make_color_scale_func"))); + }, + { + "./attributes": 480, + "./calc": 481, + "./default_scale": 483, + "./defaults": 484, + "./extract_scale": 485, + "./flip_scale": 486, + "./get_scale": 487, + "./has_colorscale": 488, + "./is_valid_scale": 490, + "./make_color_scale_func": 492, + "./scales": 493, + }, + ], + 490: [ + function (t, e, r) { + "use strict"; + var n = t("./scales"), + i = t("./is_valid_scale_array"); + e.exports = function (t) { + return void 0 !== n[t] || i(t); + }; + }, + { "./is_valid_scale_array": 491, "./scales": 493 }, + ], + 491: [ + function (t, e, r) { + "use strict"; + var n = t("tinycolor2"); + e.exports = function (t) { + var e = 0; + if (!Array.isArray(t) || t.length < 2) return !1; + if (!t[0] || !t[t.length - 1]) return !1; + if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) return !1; + for (var r = 0; r < t.length; r++) { + var i = t[r]; + if (2 !== i.length || +i[0] < e || !n(i[1]).isValid()) return !1; + e = +i[0]; + } + return !0; + }; + }, + { tinycolor2: 415 }, + ], + 492: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("fast-isnumeric"), + o = t("../color"); + function s(t) { + var e = { r: t[0], g: t[1], b: t[2], a: t[3] }; + return i(e).toRgbString(); + } + e.exports = function (t, e) { + e = e || {}; + for ( + var r = t.domain, l = t.range, c = l.length, u = new Array(c), f = 0; + f < c; + f++ + ) { + var h = i(l[f]).toRgb(); + u[f] = [h.r, h.g, h.b, h.a]; + } + var p, + d = n.scale.linear().domain(r).range(u).clamp(!0), + g = e.noNumericCheck, + m = e.returnArray; + return ( + ((p = + g && m + ? d + : g + ? function (t) { + return s(d(t)); + } + : m + ? function (t) { + return a(t) ? d(t) : i(t).isValid() ? t : o.defaultLine; + } + : function (t) { + return a(t) ? s(d(t)) : i(t).isValid() ? t : o.defaultLine; + }).domain = d.domain), + (p.range = function () { + return l; + }), + p + ); + }; + }, + { "../color": 474, d3: 130, "fast-isnumeric": 196, tinycolor2: 415 }, + ], + 493: [ + function (t, e, r) { + "use strict"; + e.exports = { + Greys: [ + [0, "rgb(0,0,0)"], + [1, "rgb(255,255,255)"], + ], + YlGnBu: [ + [0, "rgb(8,29,88)"], + [0.125, "rgb(37,52,148)"], + [0.25, "rgb(34,94,168)"], + [0.375, "rgb(29,145,192)"], + [0.5, "rgb(65,182,196)"], + [0.625, "rgb(127,205,187)"], + [0.75, "rgb(199,233,180)"], + [0.875, "rgb(237,248,217)"], + [1, "rgb(255,255,217)"], + ], + Greens: [ + [0, "rgb(0,68,27)"], + [0.125, "rgb(0,109,44)"], + [0.25, "rgb(35,139,69)"], + [0.375, "rgb(65,171,93)"], + [0.5, "rgb(116,196,118)"], + [0.625, "rgb(161,217,155)"], + [0.75, "rgb(199,233,192)"], + [0.875, "rgb(229,245,224)"], + [1, "rgb(247,252,245)"], + ], + YlOrRd: [ + [0, "rgb(128,0,38)"], + [0.125, "rgb(189,0,38)"], + [0.25, "rgb(227,26,28)"], + [0.375, "rgb(252,78,42)"], + [0.5, "rgb(253,141,60)"], + [0.625, "rgb(254,178,76)"], + [0.75, "rgb(254,217,118)"], + [0.875, "rgb(255,237,160)"], + [1, "rgb(255,255,204)"], + ], + Bluered: [ + [0, "rgb(0,0,255)"], + [1, "rgb(255,0,0)"], + ], + RdBu: [ + [0, "rgb(5,10,172)"], + [0.35, "rgb(106,137,247)"], + [0.5, "rgb(190,190,190)"], + [0.6, "rgb(220,170,132)"], + [0.7, "rgb(230,145,90)"], + [1, "rgb(178,10,28)"], + ], + Reds: [ + [0, "rgb(220,220,220)"], + [0.2, "rgb(245,195,157)"], + [0.4, "rgb(245,160,105)"], + [1, "rgb(178,10,28)"], + ], + Blues: [ + [0, "rgb(5,10,172)"], + [0.35, "rgb(40,60,190)"], + [0.5, "rgb(70,100,245)"], + [0.6, "rgb(90,120,245)"], + [0.7, "rgb(106,137,247)"], + [1, "rgb(220,220,220)"], + ], + Picnic: [ + [0, "rgb(0,0,255)"], + [0.1, "rgb(51,153,255)"], + [0.2, "rgb(102,204,255)"], + [0.3, "rgb(153,204,255)"], + [0.4, "rgb(204,204,255)"], + [0.5, "rgb(255,255,255)"], + [0.6, "rgb(255,204,255)"], + [0.7, "rgb(255,153,255)"], + [0.8, "rgb(255,102,204)"], + [0.9, "rgb(255,102,102)"], + [1, "rgb(255,0,0)"], + ], + Rainbow: [ + [0, "rgb(150,0,90)"], + [0.125, "rgb(0,0,200)"], + [0.25, "rgb(0,25,255)"], + [0.375, "rgb(0,152,255)"], + [0.5, "rgb(44,255,150)"], + [0.625, "rgb(151,255,0)"], + [0.75, "rgb(255,234,0)"], + [0.875, "rgb(255,111,0)"], + [1, "rgb(255,0,0)"], + ], + Portland: [ + [0, "rgb(12,51,131)"], + [0.25, "rgb(10,136,186)"], + [0.5, "rgb(242,211,56)"], + [0.75, "rgb(242,143,56)"], + [1, "rgb(217,30,30)"], + ], + Jet: [ + [0, "rgb(0,0,131)"], + [0.125, "rgb(0,60,170)"], + [0.375, "rgb(5,255,255)"], + [0.625, "rgb(255,255,0)"], + [0.875, "rgb(250,0,0)"], + [1, "rgb(128,0,0)"], + ], + Hot: [ + [0, "rgb(0,0,0)"], + [0.3, "rgb(230,0,0)"], + [0.6, "rgb(255,210,0)"], + [1, "rgb(255,255,255)"], + ], + Blackbody: [ + [0, "rgb(0,0,0)"], + [0.2, "rgb(230,0,0)"], + [0.4, "rgb(230,210,0)"], + [0.7, "rgb(255,255,255)"], + [1, "rgb(160,200,255)"], + ], + Earth: [ + [0, "rgb(0,0,130)"], + [0.1, "rgb(0,180,180)"], + [0.2, "rgb(40,210,40)"], + [0.4, "rgb(230,230,50)"], + [0.6, "rgb(120,70,20)"], + [1, "rgb(255,255,255)"], + ], + Electric: [ + [0, "rgb(0,0,0)"], + [0.15, "rgb(30,0,100)"], + [0.4, "rgb(120,0,100)"], + [0.6, "rgb(160,90,0)"], + [0.8, "rgb(230,200,0)"], + [1, "rgb(255,250,220)"], + ], + Viridis: [ + [0, "#440154"], + [0.06274509803921569, "#48186a"], + [0.12549019607843137, "#472d7b"], + [0.18823529411764706, "#424086"], + [0.25098039215686274, "#3b528b"], + [0.3137254901960784, "#33638d"], + [0.3764705882352941, "#2c728e"], + [0.4392156862745098, "#26828e"], + [0.5019607843137255, "#21918c"], + [0.5647058823529412, "#1fa088"], + [0.6274509803921569, "#28ae80"], + [0.6901960784313725, "#3fbc73"], + [0.7529411764705882, "#5ec962"], + [0.8156862745098039, "#84d44b"], + [0.8784313725490196, "#addc30"], + [0.9411764705882353, "#d8e219"], + [1, "#fde725"], + ], + Cividis: [ + [0, "rgb(0,32,76)"], + [0.058824, "rgb(0,42,102)"], + [0.117647, "rgb(0,52,110)"], + [0.176471, "rgb(39,63,108)"], + [0.235294, "rgb(60,74,107)"], + [0.294118, "rgb(76,85,107)"], + [0.352941, "rgb(91,95,109)"], + [0.411765, "rgb(104,106,112)"], + [0.470588, "rgb(117,117,117)"], + [0.529412, "rgb(131,129,120)"], + [0.588235, "rgb(146,140,120)"], + [0.647059, "rgb(161,152,118)"], + [0.705882, "rgb(176,165,114)"], + [0.764706, "rgb(192,177,109)"], + [0.823529, "rgb(209,191,102)"], + [0.882353, "rgb(225,204,92)"], + [0.941176, "rgb(243,219,79)"], + [1, "rgb(255,233,69)"], + ], + }; + }, + {}, + ], + 494: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i) { + var a = (t - r) / (n - r), + o = a + e / (n - r), + s = (a + o) / 2; + return "left" === i || "bottom" === i + ? a + : "center" === i || "middle" === i + ? s + : "right" === i || "top" === i + ? o + : a < 2 / 3 - s + ? a + : o > 4 / 3 - s + ? o + : s; + }; + }, + {}, + ], + 495: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = [ + ["sw-resize", "s-resize", "se-resize"], + ["w-resize", "move", "e-resize"], + ["nw-resize", "n-resize", "ne-resize"], + ]; + e.exports = function (t, e, r, a) { + return ( + (t = + "left" === r + ? 0 + : "center" === r + ? 1 + : "right" === r + ? 2 + : n.constrain(Math.floor(3 * t), 0, 2)), + (e = + "bottom" === a + ? 0 + : "middle" === a + ? 1 + : "top" === a + ? 2 + : n.constrain(Math.floor(3 * e), 0, 2)), + i[e][t] + ); + }; + }, + { "../../lib": 602 }, + ], + 496: [ + function (t, e, r) { + "use strict"; + var n = t("mouse-event-offset"), + i = t("has-hover"), + a = t("has-passive-events"), + o = t("../../registry"), + s = t("../../lib"), + l = t("../../plots/cartesian/constants"), + c = t("../../constants/interactions"), + u = (e.exports = {}); + ((u.align = t("./align")), (u.getCursor = t("./cursor"))); + var f = t("./unhover"); + function h() { + var t = document.createElement("div"); + t.className = "dragcover"; + var e = t.style; + return ( + (e.position = "fixed"), + (e.left = 0), + (e.right = 0), + (e.top = 0), + (e.bottom = 0), + (e.zIndex = 999999999), + (e.background = "none"), + document.body.appendChild(t), + t + ); + } + function p(t) { + return n(t.changedTouches ? t.changedTouches[0] : t, document.body); + } + ((u.unhover = f.wrapped), + (u.unhoverRaw = f.raw), + (u.init = function (t) { + var e, + r, + n, + f, + d, + g, + m, + v, + y = t.gd, + x = 1, + b = c.DBLCLICKDELAY, + _ = t.element; + (y._mouseDownTime || (y._mouseDownTime = 0), + (_.style.pointerEvents = "all"), + (_.onmousedown = k), + a + ? (_._ontouchstart && + _.removeEventListener("touchstart", _._ontouchstart), + (_._ontouchstart = k), + _.addEventListener("touchstart", k, { passive: !1 })) + : (_.ontouchstart = k)); + var w = + t.clampFn || + function (t, e, r) { + return ( + Math.abs(t) < r && (t = 0), + Math.abs(e) < r && (e = 0), + [t, e] + ); + }; + function k(a) { + (a.preventDefault(), (y._dragged = !1), (y._dragging = !0)); + var o = p(a); + ((e = o[0]), + (r = o[1]), + (m = a.target), + (g = a), + (v = 2 === a.buttons || a.ctrlKey), + (n = new Date().getTime()) - y._mouseDownTime < b + ? (x += 1) + : ((x = 1), (y._mouseDownTime = n)), + t.prepFn && t.prepFn(a, e, r), + i && !v + ? ((d = h()).style.cursor = window.getComputedStyle(_).cursor) + : i || + ((d = document), + (f = window.getComputedStyle(document.documentElement).cursor), + (document.documentElement.style.cursor = + window.getComputedStyle(_).cursor)), + document.addEventListener("mousemove", M), + document.addEventListener("mouseup", A), + document.addEventListener("touchmove", M), + document.addEventListener("touchend", A)); + } + function M(n) { + n.preventDefault(); + var i = p(n), + a = t.minDrag || l.MINDRAG, + o = w(i[0] - e, i[1] - r, a), + s = o[0], + c = o[1]; + ((s || c) && ((y._dragged = !0), u.unhover(y)), + y._dragged && t.moveFn && !v && t.moveFn(s, c)); + } + function A(e) { + if ( + (document.removeEventListener("mousemove", M), + document.removeEventListener("mouseup", A), + document.removeEventListener("touchmove", M), + document.removeEventListener("touchend", A), + e.preventDefault(), + i + ? s.removeElement(d) + : f && ((d.documentElement.style.cursor = f), (f = null)), + y._dragging) + ) { + if ( + ((y._dragging = !1), + new Date().getTime() - y._mouseDownTime > b && + (x = Math.max(x - 1, 1)), + y._dragged) + ) + t.doneFn && t.doneFn(e); + else if ((t.clickFn && t.clickFn(x, g), !v)) { + var r; + try { + r = new MouseEvent("click", e); + } catch (t) { + var n = p(e); + (r = document.createEvent("MouseEvents")).initMouseEvent( + "click", + e.bubbles, + e.cancelable, + e.view, + e.detail, + e.screenX, + e.screenY, + n[0], + n[1], + e.ctrlKey, + e.altKey, + e.shiftKey, + e.metaKey, + e.button, + e.relatedTarget, + ); + } + m.dispatchEvent(r); + } + (!(function (t) { + ((t._dragging = !1), t._replotPending && o.call("plot", t)); + })(y), + (y._dragged = !1)); + } else y._dragged = !1; + } + }), + (u.coverSlip = h)); + }, + { + "../../constants/interactions": 578, + "../../lib": 602, + "../../plots/cartesian/constants": 653, + "../../registry": 732, + "./align": 494, + "./cursor": 495, + "./unhover": 497, + "has-hover": 296, + "has-passive-events": 297, + "mouse-event-offset": 321, + }, + ], + 497: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib/events"), + i = t("../../lib/throttle"), + a = t("../../lib/get_graph_div"), + o = t("../fx/constants"), + s = (e.exports = {}); + ((s.wrapped = function (t, e, r) { + ((t = a(t))._fullLayout && i.clear(t._fullLayout._uid + o.HOVERID), + s.raw(t, e, r)); + }), + (s.raw = function (t, e) { + var r = t._fullLayout, + i = t._hoverdata; + (e || (e = {}), + (e.target && !1 === n.triggerHandler(t, "plotly_beforehover", e)) || + (r._hoverlayer.selectAll("g").remove(), + r._hoverlayer.selectAll("line").remove(), + r._hoverlayer.selectAll("circle").remove(), + (t._hoverdata = void 0), + e.target && i && t.emit("plotly_unhover", { event: e, points: i }))); + })); + }, + { + "../../lib/events": 590, + "../../lib/get_graph_div": 597, + "../../lib/throttle": 627, + "../fx/constants": 511, + }, + ], + 498: [ + function (t, e, r) { + "use strict"; + r.dash = { + valType: "string", + values: ["solid", "dot", "dash", "longdash", "dashdot", "longdashdot"], + dflt: "solid", + editType: "style", + }; + }, + {}, + ], + 499: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("tinycolor2"), + o = t("../../registry"), + s = t("../color"), + l = t("../colorscale"), + c = t("../../lib"), + u = t("../../lib/svg_text_utils"), + f = t("../../constants/xmlns_namespaces"), + h = t("../../constants/alignment").LINE_SPACING, + p = t("../../constants/interactions").DESELECTDIM, + d = t("../../traces/scatter/subtypes"), + g = t("../../traces/scatter/make_bubble_size_func"), + m = (e.exports = {}); + ((m.font = function (t, e, r, n) { + (c.isPlainObject(e) && ((n = e.color), (r = e.size), (e = e.family)), + e && t.style("font-family", e), + r + 1 && t.style("font-size", r + "px"), + n && t.call(s.fill, n)); + }), + (m.setPosition = function (t, e, r) { + t.attr("x", e).attr("y", r); + }), + (m.setSize = function (t, e, r) { + t.attr("width", e).attr("height", r); + }), + (m.setRect = function (t, e, r, n, i) { + t.call(m.setPosition, e, r).call(m.setSize, n, i); + }), + (m.translatePoint = function (t, e, r, n) { + var a = r.c2p(t.x), + o = n.c2p(t.y); + return ( + !!(i(a) && i(o) && e.node()) && + ("text" === e.node().nodeName + ? e.attr("x", a).attr("y", o) + : e.attr("transform", "translate(" + a + "," + o + ")"), + !0) + ); + }), + (m.translatePoints = function (t, e, r) { + t.each(function (t) { + var i = n.select(this); + m.translatePoint(t, i, e, r); + }); + }), + (m.hideOutsideRangePoint = function (t, e, r, n, i, a) { + e.attr( + "display", + r.isPtWithinRange(t, i) && n.isPtWithinRange(t, a) ? null : "none", + ); + }), + (m.hideOutsideRangePoints = function (t, e, r) { + if (e._hasClipOnAxisFalse) { + r = r || ".point,.textpoint"; + var i = e.xaxis, + a = e.yaxis; + t.each(function (e) { + var o = e[0].trace, + s = o.xcalendar, + l = o.ycalendar; + t.selectAll(r).each(function (t) { + m.hideOutsideRangePoint(t, n.select(this), i, a, s, l); + }); + }); + } + }), + (m.crispRound = function (t, e, r) { + return e && i(e) + ? t._context.staticPlot + ? e + : e < 1 + ? 1 + : Math.round(e) + : r || 0; + }), + (m.singleLineStyle = function (t, e, r, n, i) { + e.style("fill", "none"); + var a = (((t || [])[0] || {}).trace || {}).line || {}, + o = r || a.width || 0, + l = i || a.dash || ""; + (s.stroke(e, n || a.color), m.dashLine(e, l, o)); + }), + (m.lineGroupStyle = function (t, e, r, i) { + t.style("fill", "none").each(function (t) { + var a = (((t || [])[0] || {}).trace || {}).line || {}, + o = e || a.width || 0, + l = i || a.dash || ""; + n.select(this) + .call(s.stroke, r || a.color) + .call(m.dashLine, l, o); + }); + }), + (m.dashLine = function (t, e, r) { + ((r = +r || 0), + (e = m.dashStyle(e, r)), + t.style({ "stroke-dasharray": e, "stroke-width": r + "px" })); + }), + (m.dashStyle = function (t, e) { + e = +e || 1; + var r = Math.max(e, 3); + return ( + "solid" === t + ? (t = "") + : "dot" === t + ? (t = r + "px," + r + "px") + : "dash" === t + ? (t = 3 * r + "px," + 3 * r + "px") + : "longdash" === t + ? (t = 5 * r + "px," + 5 * r + "px") + : "dashdot" === t + ? (t = 3 * r + "px," + r + "px," + r + "px," + r + "px") + : "longdashdot" === t && + (t = + 5 * r + "px," + 2 * r + "px," + r + "px," + 2 * r + "px"), + t + ); + }), + (m.singleFillStyle = function (t) { + var e = (((n.select(t.node()).data()[0] || [])[0] || {}).trace || {}) + .fillcolor; + e && t.call(s.fill, e); + }), + (m.fillGroupStyle = function (t) { + t.style("stroke-width", 0).each(function (e) { + var r = n.select(this); + try { + r.call(s.fill, e[0].trace.fillcolor); + } catch (e) { + (c.error(e, t), r.remove()); + } + }); + })); + var v = t("./symbol_defs"); + ((m.symbolNames = []), + (m.symbolFuncs = []), + (m.symbolNeedLines = {}), + (m.symbolNoDot = {}), + (m.symbolNoFill = {}), + (m.symbolList = []), + Object.keys(v).forEach(function (t) { + var e = v[t]; + ((m.symbolList = m.symbolList.concat([e.n, t, e.n + 100, t + "-open"])), + (m.symbolNames[e.n] = t), + (m.symbolFuncs[e.n] = e.f), + e.needLine && (m.symbolNeedLines[e.n] = !0), + e.noDot + ? (m.symbolNoDot[e.n] = !0) + : (m.symbolList = m.symbolList.concat([ + e.n + 200, + t + "-dot", + e.n + 300, + t + "-open-dot", + ])), + e.noFill && (m.symbolNoFill[e.n] = !0)); + })); + var y = m.symbolNames.length, + x = "M0,0.5L0.5,0L0,-0.5L-0.5,0Z"; + function b(t, e) { + var r = t % 100; + return m.symbolFuncs[r](e) + (t >= 200 ? x : ""); + } + m.symbolNumber = function (t) { + if ("string" == typeof t) { + var e = 0; + (t.indexOf("-open") > 0 && ((e = 100), (t = t.replace("-open", ""))), + t.indexOf("-dot") > 0 && ((e += 200), (t = t.replace("-dot", ""))), + (t = m.symbolNames.indexOf(t)) >= 0 && (t += e)); + } + return t % 100 >= y || t >= 400 ? 0 : Math.floor(Math.max(t, 0)); + }; + var _ = { x1: 1, x2: 0, y1: 0, y2: 0 }, + w = { x1: 0, x2: 0, y1: 1, y2: 0 }; + ((m.gradient = function (t, e, r, i, o, l) { + var u = e._fullLayout._defs + .select(".gradients") + .selectAll("#" + r) + .data([i + o + l], c.identity); + (u.exit().remove(), + u + .enter() + .append("radial" === i ? "radialGradient" : "linearGradient") + .each(function () { + var t = n.select(this); + ("horizontal" === i ? t.attr(_) : "vertical" === i && t.attr(w), + t.attr("id", r)); + var e = a(o), + c = a(l); + (t.append("stop").attr({ + offset: "0%", + "stop-color": s.tinyRGB(c), + "stop-opacity": c.getAlpha(), + }), + t.append("stop").attr({ + offset: "100%", + "stop-color": s.tinyRGB(e), + "stop-opacity": e.getAlpha(), + })); + }), + t.style({ fill: "url(#" + r + ")", "fill-opacity": null })); + }), + (m.initGradients = function (t) { + c.ensureSingle(t._fullLayout._defs, "g", "gradients") + .selectAll("linearGradient,radialGradient") + .remove(); + }), + (m.pointStyle = function (t, e, r) { + if (t.size()) { + var i = m.makePointStyleFns(e); + t.each(function (t) { + m.singlePointStyle(t, n.select(this), e, i, r); + }); + } + }), + (m.singlePointStyle = function (t, e, r, n, i) { + var a = r.marker, + o = a.line; + if ( + (e.style( + "opacity", + n.selectedOpacityFn + ? n.selectedOpacityFn(t) + : void 0 === t.mo + ? a.opacity + : t.mo, + ), + n.ms2mrc) + ) { + var l; + ((l = "various" === t.ms || "various" === a.size ? 3 : n.ms2mrc(t.ms)), + (t.mrc = l), + n.selectedSizeFn && (l = t.mrc = n.selectedSizeFn(t))); + var u = m.symbolNumber(t.mx || a.symbol) || 0; + ((t.om = u % 200 >= 100), e.attr("d", b(u, l))); + } + var f, + h, + p, + d = !1; + if ( + (t.so + ? ((p = o.outlierwidth), (h = o.outliercolor), (f = a.outliercolor)) + : ((p = + (t.mlw + 1 || + o.width + 1 || + (t.trace ? t.trace.marker.line.width : 0) + 1) - 1), + (h = + "mlc" in t + ? (t.mlcc = n.lineScale(t.mlc)) + : c.isArrayOrTypedArray(o.color) + ? s.defaultLine + : o.color), + c.isArrayOrTypedArray(a.color) && ((f = s.defaultLine), (d = !0)), + (f = + "mc" in t + ? (t.mcc = n.markerScale(t.mc)) + : a.color || "rgba(0,0,0,0)"), + n.selectedColorFn && (f = n.selectedColorFn(t))), + t.om) + ) + e.call(s.stroke, f).style({ + "stroke-width": (p || 1) + "px", + fill: "none", + }); + else { + e.style("stroke-width", p + "px"); + var g = a.gradient, + v = t.mgt; + if ((v ? (d = !0) : (v = g && g.type), v && "none" !== v)) { + var y = t.mgc; + y ? (d = !0) : (y = g.color); + var x = "g" + i._fullLayout._uid + "-" + r.uid; + (d && (x += "-" + t.i), e.call(m.gradient, i, x, v, f, y)); + } else e.call(s.fill, f); + p && e.call(s.stroke, h); + } + }), + (m.makePointStyleFns = function (t) { + var e = {}, + r = t.marker; + return ( + (e.markerScale = m.tryColorscale(r, "")), + (e.lineScale = m.tryColorscale(r, "line")), + o.traceIs(t, "symbols") && + (e.ms2mrc = d.isBubble(t) + ? g(t) + : function () { + return (r.size || 6) / 2; + }), + t.selectedpoints && c.extendFlat(e, m.makeSelectedPointStyleFns(t)), + e + ); + }), + (m.makeSelectedPointStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.marker || {}, + a = r.marker || {}, + s = n.marker || {}, + l = i.opacity, + u = a.opacity, + f = s.opacity, + h = void 0 !== u, + d = void 0 !== f; + (c.isArrayOrTypedArray(l) || h || d) && + (e.selectedOpacityFn = function (t) { + var e = void 0 === t.mo ? i.opacity : t.mo; + return t.selected ? (h ? u : e) : d ? f : p * e; + }); + var g = i.color, + m = a.color, + v = s.color; + (m || v) && + (e.selectedColorFn = function (t) { + var e = t.mcc || g; + return t.selected ? m || e : v || e; + }); + var y = i.size, + x = a.size, + b = s.size, + _ = void 0 !== x, + w = void 0 !== b; + return ( + o.traceIs(t, "symbols") && + (_ || w) && + (e.selectedSizeFn = function (t) { + var e = t.mrc || y / 2; + return t.selected ? (_ ? x / 2 : e) : w ? b / 2 : e; + }), + e + ); + }), + (m.makeSelectedTextStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.textfont || {}, + a = r.textfont || {}, + o = n.textfont || {}, + l = i.color, + c = a.color, + u = o.color; + return ( + (e.selectedTextColorFn = function (t) { + var e = t.tc || l; + return t.selected ? c || e : u || (c ? e : s.addOpacity(e, p)); + }), + e + ); + }), + (m.selectedPointStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = m.makeSelectedPointStyleFns(e), + i = e.marker || {}, + a = []; + (r.selectedOpacityFn && + a.push(function (t, e) { + t.style("opacity", r.selectedOpacityFn(e)); + }), + r.selectedColorFn && + a.push(function (t, e) { + s.fill(t, r.selectedColorFn(e)); + }), + r.selectedSizeFn && + a.push(function (t, e) { + var n = e.mx || i.symbol || 0, + a = r.selectedSizeFn(e); + (t.attr("d", b(m.symbolNumber(n), a)), (e.mrc2 = a)); + }), + a.length && + t.each(function (t) { + for (var e = n.select(this), r = 0; r < a.length; r++) a[r](e, t); + })); + } + }), + (m.tryColorscale = function (t, e) { + var r = e ? c.nestedProperty(t, e).get() : t, + n = r.colorscale, + i = r.color; + return n && c.isArrayOrTypedArray(i) + ? l.makeColorScaleFunc(l.extractScale(n, r.cmin, r.cmax)) + : c.identity; + })); + var k = { start: 1, end: -1, middle: 0, bottom: 1, top: -1 }; + function M(t, e, r, i) { + var a = n.select(t.node().parentNode), + o = + -1 !== e.indexOf("top") + ? "top" + : -1 !== e.indexOf("bottom") + ? "bottom" + : "middle", + s = + -1 !== e.indexOf("left") + ? "end" + : -1 !== e.indexOf("right") + ? "start" + : "middle", + l = i ? i / 0.8 + 1 : 0, + c = (u.lineCount(t) - 1) * h + 1, + f = k[s] * l, + p = 0.75 * r + k[o] * l + ((k[o] - 1) * c * r) / 2; + (t.attr("text-anchor", s), + a.attr("transform", "translate(" + f + "," + p + ")")); + } + function A(t, e) { + var r = t.ts || e.textfont.size; + return i(r) && r > 0 ? r : 0; + } + ((m.textPointStyle = function (t, e, r) { + if (t.size()) { + var i; + if (e.selectedpoints) { + var a = m.makeSelectedTextStyleFns(e); + i = a.selectedTextColorFn; + } + t.each(function (t) { + var a = n.select(this), + o = c.extractOption(t, e, "tx", "text"); + if (o) { + var s = t.tp || e.textposition, + l = A(t, e), + f = i ? i(t) : t.tc || e.textfont.color; + a.call(m.font, t.tf || e.textfont.family, l, f) + .text(o) + .call(u.convertToTspans, r) + .call(M, s, l, t.mrc); + } else a.remove(); + }); + } + }), + (m.selectedTextStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = m.makeSelectedTextStyleFns(e); + t.each(function (t) { + var i = n.select(this), + a = r.selectedTextColorFn(t), + o = t.tp || e.textposition, + l = A(t, e); + (s.fill(i, a), M(i, o, l, t.mrc2 || t.mrc)); + }); + } + })); + var T = 0.5; + function S(t, e, r, i) { + var a = t[0] - e[0], + o = t[1] - e[1], + s = r[0] - e[0], + l = r[1] - e[1], + c = Math.pow(a * a + o * o, T / 2), + u = Math.pow(s * s + l * l, T / 2), + f = (u * u * a - c * c * s) * i, + h = (u * u * o - c * c * l) * i, + p = 3 * u * (c + u), + d = 3 * c * (c + u); + return [ + [n.round(e[0] + (p && f / p), 2), n.round(e[1] + (p && h / p), 2)], + [n.round(e[0] - (d && f / d), 2), n.round(e[1] - (d && h / d), 2)], + ]; + } + ((m.smoothopen = function (t, e) { + if (t.length < 3) return "M" + t.join("L"); + var r, + n = "M" + t[0], + i = []; + for (r = 1; r < t.length - 1; r++) i.push(S(t[r - 1], t[r], t[r + 1], e)); + for (n += "Q" + i[0][0] + " " + t[1], r = 2; r < t.length - 1; r++) + n += "C" + i[r - 2][1] + " " + i[r - 1][0] + " " + t[r]; + return (n += "Q" + i[t.length - 3][1] + " " + t[t.length - 1]); + }), + (m.smoothclosed = function (t, e) { + if (t.length < 3) return "M" + t.join("L") + "Z"; + var r, + n = "M" + t[0], + i = t.length - 1, + a = [S(t[i], t[0], t[1], e)]; + for (r = 1; r < i; r++) a.push(S(t[r - 1], t[r], t[r + 1], e)); + for (a.push(S(t[i - 1], t[i], t[0], e)), r = 1; r <= i; r++) + n += "C" + a[r - 1][1] + " " + a[r][0] + " " + t[r]; + return (n += "C" + a[i][1] + " " + a[0][0] + " " + t[0] + "Z"); + })); + var C = { + hv: function (t, e) { + return "H" + n.round(e[0], 2) + "V" + n.round(e[1], 2); + }, + vh: function (t, e) { + return "V" + n.round(e[1], 2) + "H" + n.round(e[0], 2); + }, + hvh: function (t, e) { + return ( + "H" + + n.round((t[0] + e[0]) / 2, 2) + + "V" + + n.round(e[1], 2) + + "H" + + n.round(e[0], 2) + ); + }, + vhv: function (t, e) { + return ( + "V" + + n.round((t[1] + e[1]) / 2, 2) + + "H" + + n.round(e[0], 2) + + "V" + + n.round(e[1], 2) + ); + }, + }, + E = function (t, e) { + return "L" + n.round(e[0], 2) + "," + n.round(e[1], 2); + }; + ((m.steps = function (t) { + var e = C[t] || E; + return function (t) { + for ( + var r = "M" + n.round(t[0][0], 2) + "," + n.round(t[0][1], 2), i = 1; + i < t.length; + i++ + ) + r += e(t[i - 1], t[i]); + return r; + }; + }), + (m.makeTester = function () { + var t = c.ensureSingleById( + n.select("body"), + "svg", + "js-plotly-tester", + function (t) { + t.attr(f.svgAttrs).style({ + position: "absolute", + left: "-10000px", + top: "-10000px", + width: "9000px", + height: "9000px", + "z-index": "1", + }); + }, + ), + e = c.ensureSingle(t, "path", "js-reference-point", function (t) { + t.attr("d", "M0,0H1V1H0Z").style({ + "stroke-width": 0, + fill: "black", + }); + }); + ((m.tester = t), (m.testref = e)); + }), + (m.savedBBoxes = {})); + var L = 0; + function z(t) { + var e = t.getAttribute("data-unformatted"); + if (null !== e) + return ( + e + + t.getAttribute("data-math") + + t.getAttribute("text-anchor") + + t.getAttribute("style") + ); + } + ((m.bBox = function (t, e, r) { + var i, a, o; + if ((r || (r = z(t)), r)) { + if ((i = m.savedBBoxes[r])) return c.extendFlat({}, i); + } else if (1 === t.childNodes.length) { + var s = t.childNodes[0]; + if ((r = z(s))) { + var l = +s.getAttribute("x") || 0, + f = +s.getAttribute("y") || 0, + h = s.getAttribute("transform"); + if (!h) { + var p = m.bBox(s, !1, r); + return ( + l && ((p.left += l), (p.right += l)), + f && ((p.top += f), (p.bottom += f)), + p + ); + } + if (((r += "~" + l + "~" + f + "~" + h), (i = m.savedBBoxes[r]))) + return c.extendFlat({}, i); + } + } + (e + ? (a = t) + : ((o = m.tester.node()), (a = t.cloneNode(!0)), o.appendChild(a)), + n.select(a).attr("transform", null).call(u.positionText, 0, 0)); + var d = a.getBoundingClientRect(), + g = m.testref.node().getBoundingClientRect(); + e || o.removeChild(a); + var v = { + height: d.height, + width: d.width, + left: d.left - g.left, + top: d.top - g.top, + right: d.right - g.left, + bottom: d.bottom - g.top, + }; + return ( + L >= 1e4 && ((m.savedBBoxes = {}), (L = 0)), + r && (m.savedBBoxes[r] = v), + L++, + c.extendFlat({}, v) + ); + }), + (m.setClipUrl = function (t, e) { + if (e) { + if (void 0 === m.baseUrl) { + var r = n.select("base"); + r.size() && r.attr("href") + ? (m.baseUrl = window.location.href.split("#")[0]) + : (m.baseUrl = ""); + } + t.attr("clip-path", "url(" + m.baseUrl + "#" + e + ")"); + } else t.attr("clip-path", null); + }), + (m.getTranslate = function (t) { + var e = (t[t.attr ? "attr" : "getAttribute"]("transform") || "") + .replace( + /.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/, + function (t, e, r) { + return [e, r].join(" "); + }, + ) + .split(" "); + return { x: +e[0] || 0, y: +e[1] || 0 }; + }), + (m.setTranslate = function (t, e, r) { + var n = t.attr ? "attr" : "getAttribute", + i = t.attr ? "attr" : "setAttribute", + a = t[n]("transform") || ""; + return ( + (e = e || 0), + (r = r || 0), + (a = a.replace(/(\btranslate\(.*?\);?)/, "").trim()), + (a = (a += " translate(" + e + ", " + r + ")").trim()), + t[i]("transform", a), + a + ); + }), + (m.getScale = function (t) { + var e = (t[t.attr ? "attr" : "getAttribute"]("transform") || "") + .replace( + /.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/, + function (t, e, r) { + return [e, r].join(" "); + }, + ) + .split(" "); + return { x: +e[0] || 1, y: +e[1] || 1 }; + }), + (m.setScale = function (t, e, r) { + var n = t.attr ? "attr" : "getAttribute", + i = t.attr ? "attr" : "setAttribute", + a = t[n]("transform") || ""; + return ( + (e = e || 1), + (r = r || 1), + (a = a.replace(/(\bscale\(.*?\);?)/, "").trim()), + (a = (a += " scale(" + e + ", " + r + ")").trim()), + t[i]("transform", a), + a + ); + }), + (m.setPointGroupScale = function (t, e, r) { + var n, i, a; + return ( + (e = e || 1), + (r = r || 1), + (i = 1 === e && 1 === r ? "" : " scale(" + e + "," + r + ")"), + (a = /\s*sc.*/), + t.each(function () { + ((n = (this.getAttribute("transform") || "").replace(a, "")), + (n = (n += i).trim()), + this.setAttribute("transform", n)); + }), + i + ); + })); + var P = /translate\([^)]*\)\s*$/; + m.setTextPointsScale = function (t, e, r) { + t.each(function () { + var t, + i = n.select(this), + a = i.select("text"); + if (a.node()) { + var o = parseFloat(a.attr("x") || 0), + s = parseFloat(a.attr("y") || 0), + l = (i.attr("transform") || "").match(P); + ((t = + 1 === e && 1 === r + ? [] + : [ + "translate(" + o + "," + s + ")", + "scale(" + e + "," + r + ")", + "translate(" + -o + "," + -s + ")", + ]), + l && t.push(l), + i.attr("transform", t.join(" "))); + } + }); + }; + }, + { + "../../constants/alignment": 574, + "../../constants/interactions": 578, + "../../constants/xmlns_namespaces": 581, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../registry": 732, + "../../traces/scatter/make_bubble_size_func": 943, + "../../traces/scatter/subtypes": 948, + "../color": 474, + "../colorscale": 489, + "./symbol_defs": 500, + d3: 130, + "fast-isnumeric": 196, + tinycolor2: 415, + }, + ], + 500: [ + function (t, e, r) { + "use strict"; + var n = t("d3"); + e.exports = { + circle: { + n: 0, + f: function (t) { + var e = n.round(t, 2); + return ( + "M" + + e + + ",0A" + + e + + "," + + e + + " 0 1,1 0,-" + + e + + "A" + + e + + "," + + e + + " 0 0,1 " + + e + + ",0Z" + ); + }, + }, + square: { + n: 1, + f: function (t) { + var e = n.round(t, 2); + return "M" + e + "," + e + "H-" + e + "V-" + e + "H" + e + "Z"; + }, + }, + diamond: { + n: 2, + f: function (t) { + var e = n.round(1.3 * t, 2); + return "M" + e + ",0L0," + e + "L-" + e + ",0L0,-" + e + "Z"; + }, + }, + cross: { + n: 3, + f: function (t) { + var e = n.round(0.4 * t, 2), + r = n.round(1.2 * t, 2); + return ( + "M" + + r + + "," + + e + + "H" + + e + + "V" + + r + + "H-" + + e + + "V" + + e + + "H-" + + r + + "V-" + + e + + "H-" + + e + + "V-" + + r + + "H" + + e + + "V-" + + e + + "H" + + r + + "Z" + ); + }, + }, + x: { + n: 4, + f: function (t) { + var e = n.round((0.8 * t) / Math.sqrt(2), 2), + r = "l" + e + "," + e, + i = "l" + e + ",-" + e, + a = "l-" + e + ",-" + e, + o = "l-" + e + "," + e; + return "M0," + e + r + i + a + i + a + o + a + o + r + o + r + "Z"; + }, + }, + "triangle-up": { + n: 5, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + "M-" + + e + + "," + + n.round(t / 2, 2) + + "H" + + e + + "L0,-" + + n.round(t, 2) + + "Z" + ); + }, + }, + "triangle-down": { + n: 6, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + "M-" + + e + + ",-" + + n.round(t / 2, 2) + + "H" + + e + + "L0," + + n.round(t, 2) + + "Z" + ); + }, + }, + "triangle-left": { + n: 7, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + "M" + + n.round(t / 2, 2) + + ",-" + + e + + "V" + + e + + "L-" + + n.round(t, 2) + + ",0Z" + ); + }, + }, + "triangle-right": { + n: 8, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + "M-" + + n.round(t / 2, 2) + + ",-" + + e + + "V" + + e + + "L" + + n.round(t, 2) + + ",0Z" + ); + }, + }, + "triangle-ne": { + n: 9, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return "M-" + r + ",-" + e + "H" + e + "V" + r + "Z"; + }, + }, + "triangle-se": { + n: 10, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return "M" + e + ",-" + r + "V" + e + "H-" + r + "Z"; + }, + }, + "triangle-sw": { + n: 11, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return "M" + r + "," + e + "H-" + e + "V-" + r + "Z"; + }, + }, + "triangle-nw": { + n: 12, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return "M-" + e + "," + r + "V-" + e + "H" + r + "Z"; + }, + }, + pentagon: { + n: 13, + f: function (t) { + var e = n.round(0.951 * t, 2), + r = n.round(0.588 * t, 2), + i = n.round(-t, 2), + a = n.round(-0.309 * t, 2); + return ( + "M" + + e + + "," + + a + + "L" + + r + + "," + + n.round(0.809 * t, 2) + + "H-" + + r + + "L-" + + e + + "," + + a + + "L0," + + i + + "Z" + ); + }, + }, + hexagon: { + n: 14, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / 2, 2), + i = n.round((t * Math.sqrt(3)) / 2, 2); + return ( + "M" + + i + + ",-" + + r + + "V" + + r + + "L0," + + e + + "L-" + + i + + "," + + r + + "V-" + + r + + "L0,-" + + e + + "Z" + ); + }, + }, + hexagon2: { + n: 15, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / 2, 2), + i = n.round((t * Math.sqrt(3)) / 2, 2); + return ( + "M-" + + r + + "," + + i + + "H" + + r + + "L" + + e + + ",0L" + + r + + ",-" + + i + + "H-" + + r + + "L-" + + e + + ",0Z" + ); + }, + }, + octagon: { + n: 16, + f: function (t) { + var e = n.round(0.924 * t, 2), + r = n.round(0.383 * t, 2); + return ( + "M-" + + r + + ",-" + + e + + "H" + + r + + "L" + + e + + ",-" + + r + + "V" + + r + + "L" + + r + + "," + + e + + "H-" + + r + + "L-" + + e + + "," + + r + + "V-" + + r + + "Z" + ); + }, + }, + star: { + n: 17, + f: function (t) { + var e = 1.4 * t, + r = n.round(0.225 * e, 2), + i = n.round(0.951 * e, 2), + a = n.round(0.363 * e, 2), + o = n.round(0.588 * e, 2), + s = n.round(-e, 2), + l = n.round(-0.309 * e, 2), + c = n.round(0.118 * e, 2), + u = n.round(0.809 * e, 2); + return ( + "M" + + r + + "," + + l + + "H" + + i + + "L" + + a + + "," + + c + + "L" + + o + + "," + + u + + "L0," + + n.round(0.382 * e, 2) + + "L-" + + o + + "," + + u + + "L-" + + a + + "," + + c + + "L-" + + i + + "," + + l + + "H-" + + r + + "L0," + + s + + "Z" + ); + }, + }, + hexagram: { + n: 18, + f: function (t) { + var e = n.round(0.66 * t, 2), + r = n.round(0.38 * t, 2), + i = n.round(0.76 * t, 2); + return ( + "M-" + + i + + ",0l-" + + r + + ",-" + + e + + "h" + + i + + "l" + + r + + ",-" + + e + + "l" + + r + + "," + + e + + "h" + + i + + "l-" + + r + + "," + + e + + "l" + + r + + "," + + e + + "h-" + + i + + "l-" + + r + + "," + + e + + "l-" + + r + + ",-" + + e + + "h-" + + i + + "Z" + ); + }, + }, + "star-triangle-up": { + n: 19, + f: function (t) { + var e = n.round(t * Math.sqrt(3) * 0.8, 2), + r = n.round(0.8 * t, 2), + i = n.round(1.6 * t, 2), + a = n.round(4 * t, 2), + o = "A " + a + "," + a + " 0 0 1 "; + return ( + "M-" + + e + + "," + + r + + o + + e + + "," + + r + + o + + "0,-" + + i + + o + + "-" + + e + + "," + + r + + "Z" + ); + }, + }, + "star-triangle-down": { + n: 20, + f: function (t) { + var e = n.round(t * Math.sqrt(3) * 0.8, 2), + r = n.round(0.8 * t, 2), + i = n.round(1.6 * t, 2), + a = n.round(4 * t, 2), + o = "A " + a + "," + a + " 0 0 1 "; + return ( + "M" + + e + + ",-" + + r + + o + + "-" + + e + + ",-" + + r + + o + + "0," + + i + + o + + e + + ",-" + + r + + "Z" + ); + }, + }, + "star-square": { + n: 21, + f: function (t) { + var e = n.round(1.1 * t, 2), + r = n.round(2 * t, 2), + i = "A " + r + "," + r + " 0 0 1 "; + return ( + "M-" + + e + + ",-" + + e + + i + + "-" + + e + + "," + + e + + i + + e + + "," + + e + + i + + e + + ",-" + + e + + i + + "-" + + e + + ",-" + + e + + "Z" + ); + }, + }, + "star-diamond": { + n: 22, + f: function (t) { + var e = n.round(1.4 * t, 2), + r = n.round(1.9 * t, 2), + i = "A " + r + "," + r + " 0 0 1 "; + return ( + "M-" + + e + + ",0" + + i + + "0," + + e + + i + + e + + ",0" + + i + + "0,-" + + e + + i + + "-" + + e + + ",0Z" + ); + }, + }, + "diamond-tall": { + n: 23, + f: function (t) { + var e = n.round(0.7 * t, 2), + r = n.round(1.4 * t, 2); + return "M0," + r + "L" + e + ",0L0,-" + r + "L-" + e + ",0Z"; + }, + }, + "diamond-wide": { + n: 24, + f: function (t) { + var e = n.round(1.4 * t, 2), + r = n.round(0.7 * t, 2); + return "M0," + r + "L" + e + ",0L0,-" + r + "L-" + e + ",0Z"; + }, + }, + hourglass: { + n: 25, + f: function (t) { + var e = n.round(t, 2); + return ( + "M" + e + "," + e + "H-" + e + "L" + e + ",-" + e + "H-" + e + "Z" + ); + }, + noDot: !0, + }, + bowtie: { + n: 26, + f: function (t) { + var e = n.round(t, 2); + return ( + "M" + e + "," + e + "V-" + e + "L-" + e + "," + e + "V-" + e + "Z" + ); + }, + noDot: !0, + }, + "circle-cross": { + n: 27, + f: function (t) { + var e = n.round(t, 2); + return ( + "M0," + + e + + "V-" + + e + + "M" + + e + + ",0H-" + + e + + "M" + + e + + ",0A" + + e + + "," + + e + + " 0 1,1 0,-" + + e + + "A" + + e + + "," + + e + + " 0 0,1 " + + e + + ",0Z" + ); + }, + needLine: !0, + noDot: !0, + }, + "circle-x": { + n: 28, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / Math.sqrt(2), 2); + return ( + "M" + + r + + "," + + r + + "L-" + + r + + ",-" + + r + + "M" + + r + + ",-" + + r + + "L-" + + r + + "," + + r + + "M" + + e + + ",0A" + + e + + "," + + e + + " 0 1,1 0,-" + + e + + "A" + + e + + "," + + e + + " 0 0,1 " + + e + + ",0Z" + ); + }, + needLine: !0, + noDot: !0, + }, + "square-cross": { + n: 29, + f: function (t) { + var e = n.round(t, 2); + return ( + "M0," + + e + + "V-" + + e + + "M" + + e + + ",0H-" + + e + + "M" + + e + + "," + + e + + "H-" + + e + + "V-" + + e + + "H" + + e + + "Z" + ); + }, + needLine: !0, + noDot: !0, + }, + "square-x": { + n: 30, + f: function (t) { + var e = n.round(t, 2); + return ( + "M" + + e + + "," + + e + + "L-" + + e + + ",-" + + e + + "M" + + e + + ",-" + + e + + "L-" + + e + + "," + + e + + "M" + + e + + "," + + e + + "H-" + + e + + "V-" + + e + + "H" + + e + + "Z" + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-cross": { + n: 31, + f: function (t) { + var e = n.round(1.3 * t, 2); + return ( + "M" + + e + + ",0L0," + + e + + "L-" + + e + + ",0L0,-" + + e + + "ZM0,-" + + e + + "V" + + e + + "M-" + + e + + ",0H" + + e + ); + }, + needLine: !0, + noDot: !0, + }, + "diamond-x": { + n: 32, + f: function (t) { + var e = n.round(1.3 * t, 2), + r = n.round(0.65 * t, 2); + return ( + "M" + + e + + ",0L0," + + e + + "L-" + + e + + ",0L0,-" + + e + + "ZM-" + + r + + ",-" + + r + + "L" + + r + + "," + + r + + "M-" + + r + + "," + + r + + "L" + + r + + ",-" + + r + ); + }, + needLine: !0, + noDot: !0, + }, + "cross-thin": { + n: 33, + f: function (t) { + var e = n.round(1.4 * t, 2); + return "M0," + e + "V-" + e + "M" + e + ",0H-" + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "x-thin": { + n: 34, + f: function (t) { + var e = n.round(t, 2); + return ( + "M" + + e + + "," + + e + + "L-" + + e + + ",-" + + e + + "M" + + e + + ",-" + + e + + "L-" + + e + + "," + + e + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + asterisk: { + n: 35, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(0.85 * t, 2); + return ( + "M0," + + e + + "V-" + + e + + "M" + + e + + ",0H-" + + e + + "M" + + r + + "," + + r + + "L-" + + r + + ",-" + + r + + "M" + + r + + ",-" + + r + + "L-" + + r + + "," + + r + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + hash: { + n: 36, + f: function (t) { + var e = n.round(t / 2, 2), + r = n.round(t, 2); + return ( + "M" + + e + + "," + + r + + "V-" + + r + + "m-" + + r + + ",0V" + + r + + "M" + + r + + "," + + e + + "H-" + + r + + "m0,-" + + r + + "H" + + r + ); + }, + needLine: !0, + noFill: !0, + }, + "y-up": { + n: 37, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + "M-" + e + "," + i + "L0,0M" + e + "," + i + "L0,0M0,-" + r + "L0,0" + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-down": { + n: 38, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + "M-" + e + ",-" + i + "L0,0M" + e + ",-" + i + "L0,0M0," + r + "L0,0" + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-left": { + n: 39, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + "M" + i + "," + e + "L0,0M" + i + ",-" + e + "L0,0M-" + r + ",0L0,0" + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "y-right": { + n: 40, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + "M-" + i + "," + e + "L0,0M-" + i + ",-" + e + "L0,0M" + r + ",0L0,0" + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ew": { + n: 41, + f: function (t) { + var e = n.round(1.4 * t, 2); + return "M" + e + ",0H-" + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ns": { + n: 42, + f: function (t) { + var e = n.round(1.4 * t, 2); + return "M0," + e + "V-" + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-ne": { + n: 43, + f: function (t) { + var e = n.round(t, 2); + return "M" + e + ",-" + e + "L-" + e + "," + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + "line-nw": { + n: 44, + f: function (t) { + var e = n.round(t, 2); + return "M" + e + "," + e + "L-" + e + ",-" + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + }; + }, + { d3: 130 }, + ], + 501: [ + function (t, e, r) { + "use strict"; + e.exports = { + visible: { valType: "boolean", editType: "calc" }, + type: { + valType: "enumerated", + values: ["percent", "constant", "sqrt", "data"], + editType: "calc", + }, + symmetric: { valType: "boolean", editType: "calc" }, + array: { valType: "data_array", editType: "calc" }, + arrayminus: { valType: "data_array", editType: "calc" }, + value: { valType: "number", min: 0, dflt: 10, editType: "calc" }, + valueminus: { valType: "number", min: 0, dflt: 10, editType: "calc" }, + traceref: { valType: "integer", min: 0, dflt: 0, editType: "style" }, + tracerefminus: { valType: "integer", min: 0, dflt: 0, editType: "style" }, + copy_ystyle: { valType: "boolean", editType: "plot" }, + copy_zstyle: { valType: "boolean", editType: "style" }, + color: { valType: "color", editType: "style" }, + thickness: { valType: "number", min: 0, dflt: 2, editType: "style" }, + width: { valType: "number", min: 0, editType: "plot" }, + editType: "calc", + _deprecated: { opacity: { valType: "number", editType: "style" } }, + }; + }, + {}, + ], + 502: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../registry"), + a = t("../../plots/cartesian/axes"), + o = t("./compute_error"); + function s(t, e, r, i) { + var s = e["error_" + i] || {}, + l = []; + if (s.visible && -1 !== ["linear", "log"].indexOf(r.type)) { + for (var c = o(s), u = 0; u < t.length; u++) { + var f = t[u], + h = f[i]; + if (n(r.c2l(h))) { + var p = c(h, u); + if (n(p[0]) && n(p[1])) { + var d = (f[i + "s"] = h - p[0]), + g = (f[i + "h"] = h + p[1]); + l.push(d, g); + } + } + } + a.expand(r, l, { padded: !0 }); + } + } + e.exports = function (t) { + for (var e = t.calcdata, r = 0; r < e.length; r++) { + var n = e[r], + o = n[0].trace; + if (i.traceIs(o, "errorBarsOK")) { + var l = a.getFromId(t, o.xaxis), + c = a.getFromId(t, o.yaxis); + (s(n, o, l, "x"), s(n, o, c, "y")); + } + } + }; + }, + { + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "./compute_error": 503, + "fast-isnumeric": 196, + }, + ], + 503: [ + function (t, e, r) { + "use strict"; + function n(t, e) { + return "percent" === t + ? function (t) { + return Math.abs((t * e) / 100); + } + : "constant" === t + ? function () { + return Math.abs(e); + } + : "sqrt" === t + ? function (t) { + return Math.sqrt(Math.abs(t)); + } + : void 0; + } + e.exports = function (t) { + var e = t.type, + r = t.symmetric; + if ("data" === e) { + var i = t.array || []; + if (r) + return function (t, e) { + var r = +i[e]; + return [r, r]; + }; + var a = t.arrayminus || []; + return function (t, e) { + var r = +i[e], + n = +a[e]; + return isNaN(r) && isNaN(n) ? [NaN, NaN] : [n || 0, r || 0]; + }; + } + var o = n(e, t.value), + s = n(e, t.valueminus); + return r || void 0 === t.valueminus + ? function (t) { + var e = o(t); + return [e, e]; + } + : function (t) { + return [s(t), o(t)]; + }; + }; + }, + {}, + ], + 504: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../registry"), + a = t("../../lib"), + o = t("./attributes"); + e.exports = function (t, e, r, s) { + var l = "error_" + s.axis, + c = (e[l] = {}), + u = t[l] || {}; + function f(t, e) { + return a.coerce(u, c, o, t, e); + } + if ( + !1 !== + f( + "visible", + void 0 !== u.array || void 0 !== u.value || "sqrt" === u.type, + ) + ) { + var h = f("type", "array" in u ? "data" : "percent"), + p = !0; + ("sqrt" !== h && + (p = f( + "symmetric", + !(("data" === h ? "arrayminus" : "valueminus") in u), + )), + "data" === h + ? (f("array"), + f("traceref"), + p || (f("arrayminus"), f("tracerefminus"))) + : ("percent" !== h && "constant" !== h) || + (f("value"), p || f("valueminus"))); + var d = "copy_" + s.inherit + "style"; + if (s.inherit) + (e["error_" + s.inherit] || {}).visible && + f(d, !(u.color || n(u.thickness) || n(u.width))); + (s.inherit && c[d]) || + (f("color", r), + f("thickness"), + f("width", i.traceIs(e, "gl3d") ? 0 : 4)); + } + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "./attributes": 501, + "fast-isnumeric": 196, + }, + ], + 505: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plot_api/edit_types").overrideAll, + a = t("./attributes"), + o = t("./calc"), + s = { error_x: n.extendFlat({}, a), error_y: n.extendFlat({}, a) }; + (delete s.error_x.copy_zstyle, + delete s.error_y.copy_zstyle, + delete s.error_y.copy_ystyle); + var l = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + error_z: n.extendFlat({}, a), + }; + (delete l.error_x.copy_ystyle, + delete l.error_y.copy_ystyle, + delete l.error_z.copy_ystyle, + delete l.error_z.copy_zstyle, + (e.exports = { + moduleType: "component", + name: "errorbars", + schema: { + traces: { + scatter: s, + bar: s, + histogram: s, + scatter3d: i(l, "calc", "nested"), + scattergl: i(s, "calc", "nested"), + }, + }, + supplyDefaults: t("./defaults"), + calc: o, + calcFromTrace: function (t, e) { + for ( + var r = t.x || [], + n = t.y || [], + i = r.length || n.length, + a = new Array(i), + s = 0; + s < i; + s++ + ) + a[s] = { x: r[s], y: n[s] }; + return ((a[0].trace = t), o({ calcdata: [a], _fullLayout: e }), a); + }, + plot: t("./plot"), + style: t("./style"), + hoverInfo: function (t, e, r) { + (e.error_y || {}).visible && + ((r.yerr = t.yh - t.y), + e.error_y.symmetric || (r.yerrneg = t.y - t.ys)); + (e.error_x || {}).visible && + ((r.xerr = t.xh - t.x), + e.error_x.symmetric || (r.xerrneg = t.x - t.xs)); + }, + })); + }, + { + "../../lib": 602, + "../../plot_api/edit_types": 633, + "./attributes": 501, + "./calc": 502, + "./defaults": 504, + "./plot": 506, + "./style": 507, + }, + ], + 506: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../drawing"), + o = t("../../traces/scatter/subtypes"); + e.exports = function (t, e, r) { + var s = e.xaxis, + l = e.yaxis, + c = r && r.duration > 0; + t.each(function (t) { + var u, + f = t[0].trace, + h = f.error_x || {}, + p = f.error_y || {}; + f.ids && + (u = function (t) { + return t.id; + }); + var d = o.hasMarkers(f) && f.marker.maxdisplayed > 0; + p.visible || h.visible || (t = []); + var g = n.select(this).selectAll("g.errorbar").data(t, u); + if ((g.exit().remove(), t.length)) { + (h.visible || g.selectAll("path.xerror").remove(), + p.visible || g.selectAll("path.yerror").remove(), + g.style("opacity", 1)); + var m = g.enter().append("g").classed("errorbar", !0); + (c && + m + .style("opacity", 0) + .transition() + .duration(r.duration) + .style("opacity", 1), + a.setClipUrl(g, e.layerClipId), + g.each(function (t) { + var e = n.select(this), + a = (function (t, e, r) { + var n = { x: e.c2p(t.x), y: r.c2p(t.y) }; + void 0 !== t.yh && + ((n.yh = r.c2p(t.yh)), + (n.ys = r.c2p(t.ys)), + i(n.ys) || ((n.noYS = !0), (n.ys = r.c2p(t.ys, !0)))); + void 0 !== t.xh && + ((n.xh = e.c2p(t.xh)), + (n.xs = e.c2p(t.xs)), + i(n.xs) || ((n.noXS = !0), (n.xs = e.c2p(t.xs, !0)))); + return n; + })(t, s, l); + if (!d || t.vis) { + var o, + u = e.select("path.yerror"); + if (p.visible && i(a.x) && i(a.yh) && i(a.ys)) { + var f = p.width; + ((o = + "M" + + (a.x - f) + + "," + + a.yh + + "h" + + 2 * f + + "m-" + + f + + ",0V" + + a.ys), + a.noYS || (o += "m-" + f + ",0h" + 2 * f), + !u.size() + ? (u = e + .append("path") + .style("vector-effect", "non-scaling-stroke") + .classed("yerror", !0)) + : c && + (u = u.transition().duration(r.duration).ease(r.easing)), + u.attr("d", o)); + } else u.remove(); + var g = e.select("path.xerror"); + if (h.visible && i(a.y) && i(a.xh) && i(a.xs)) { + var m = (h.copy_ystyle ? p : h).width; + ((o = + "M" + + a.xh + + "," + + (a.y - m) + + "v" + + 2 * m + + "m0,-" + + m + + "H" + + a.xs), + a.noXS || (o += "m0,-" + m + "v" + 2 * m), + !g.size() + ? (g = e + .append("path") + .style("vector-effect", "non-scaling-stroke") + .classed("xerror", !0)) + : c && + (g = g.transition().duration(r.duration).ease(r.easing)), + g.attr("d", o)); + } else g.remove(); + } + })); + } + }); + }; + }, + { + "../../traces/scatter/subtypes": 948, + "../drawing": 499, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 507: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../color"); + e.exports = function (t) { + t.each(function (t) { + var e = t[0].trace, + r = e.error_y || {}, + a = e.error_x || {}, + o = n.select(this); + (o + .selectAll("path.yerror") + .style("stroke-width", r.thickness + "px") + .call(i.stroke, r.color), + a.copy_ystyle && (a = r), + o + .selectAll("path.xerror") + .style("stroke-width", a.thickness + "px") + .call(i.stroke, a.color)); + }); + }; + }, + { "../color": 474, d3: 130 }, + ], + 508: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"); + e.exports = { + hoverlabel: { + bgcolor: { valType: "color", arrayOk: !0, editType: "none" }, + bordercolor: { valType: "color", arrayOk: !0, editType: "none" }, + font: n({ arrayOk: !0, editType: "none" }), + namelength: { + valType: "integer", + min: -1, + arrayOk: !0, + editType: "none", + }, + editType: "calc", + }, + }; + }, + { "../../plots/font_attributes": 674 }, + ], + 509: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../registry"); + function a(t, e, r, i) { + ((i = i || n.identity), Array.isArray(t) && (e[0][r] = i(t))); + } + e.exports = function (t) { + var e = t.calcdata, + r = t._fullLayout; + function o(t) { + return function (e) { + return n.coerceHoverinfo({ hoverinfo: e }, { _module: t._module }, r); + }; + } + for (var s = 0; s < e.length; s++) { + var l = e[s], + c = l[0].trace; + if (!i.traceIs(c, "pie")) { + var u = i.traceIs(c, "2dMap") ? a : n.fillArray; + (u(c.hoverinfo, l, "hi", o(c)), + c.hoverlabel && + (u(c.hoverlabel.bgcolor, l, "hbg"), + u(c.hoverlabel.bordercolor, l, "hbc"), + u(c.hoverlabel.font.size, l, "hts"), + u(c.hoverlabel.font.color, l, "htc"), + u(c.hoverlabel.font.family, l, "htf"), + u(c.hoverlabel.namelength, l, "hnl"))); + } + } + }; + }, + { "../../lib": 602, "../../registry": 732 }, + ], + 510: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("./hover").hover; + e.exports = function (t, e, r) { + var a = n.getComponentMethod("annotations", "onClick")(t, t._hoverdata); + function o() { + t.emit("plotly_click", { points: t._hoverdata, event: e }); + } + (void 0 !== r && i(t, e, r, !0), + t._hoverdata && + e && + e.target && + (a && a.then ? a.then(o) : o(), + e.stopImmediatePropagation && e.stopImmediatePropagation())); + }; + }, + { "../../registry": 732, "./hover": 514 }, + ], + 511: [ + function (t, e, r) { + "use strict"; + e.exports = { + YANGLE: 60, + HOVERARROWSIZE: 6, + HOVERTEXTPAD: 3, + HOVERFONTSIZE: 13, + HOVERFONT: "Arial, sans-serif", + HOVERMINTIME: 50, + HOVERID: "-hover", + }; + }, + {}, + ], + 512: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("./hoverlabel_defaults"); + e.exports = function (t, e, r, o) { + a( + t, + e, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + o.hoverlabel, + ); + }; + }, + { "../../lib": 602, "./attributes": 508, "./hoverlabel_defaults": 515 }, + ], + 513: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + ((r.getSubplot = function (t) { + return t.subplot || t.xaxis + t.yaxis || t.geo; + }), + (r.isTraceInSubplots = function (t, e) { + if ("splom" === t.type) { + for (var n = t.xaxes || [], i = t.yaxes || [], a = 0; a < n.length; a++) + for (var o = 0; o < i.length; o++) + if (-1 !== e.indexOf(n[a] + i[o])) return !0; + return !1; + } + return -1 !== e.indexOf(r.getSubplot(t)); + }), + (r.flat = function (t, e) { + for (var r = new Array(t.length), n = 0; n < t.length; n++) r[n] = e; + return r; + }), + (r.p2c = function (t, e) { + for (var r = new Array(t.length), n = 0; n < t.length; n++) + r[n] = t[n].p2c(e); + return r; + }), + (r.getDistanceFunction = function (t, e, n, i) { + return "closest" === t ? i || r.quadrature(e, n) : "x" === t ? e : n; + }), + (r.getClosest = function (t, e, r) { + if (!1 !== r.index) + r.index >= 0 && r.index < t.length ? (r.distance = 0) : (r.index = !1); + else + for (var n = 0; n < t.length; n++) { + var i = e(t[n]); + i <= r.distance && ((r.index = n), (r.distance = i)); + } + return r; + }), + (r.inbox = function (t, e, r) { + return t * e < 0 || 0 === t ? r : 1 / 0; + }), + (r.quadrature = function (t, e) { + return function (r) { + var n = t(r), + i = e(r); + return Math.sqrt(n * n + i * i); + }; + }), + (r.makeEventData = function (t, e, n) { + var i = "index" in t ? t.index : t.pointNumber, + a = { + data: e._input, + fullData: e, + curveNumber: e.index, + pointNumber: i, + }; + if (e._indexToPoints) { + var o = e._indexToPoints[i]; + 1 === o.length ? (a.pointIndex = o[0]) : (a.pointIndices = o); + } else a.pointIndex = i; + return ( + e._module.eventData + ? (a = e._module.eventData(a, t, e, n, i)) + : ("xVal" in t ? (a.x = t.xVal) : "x" in t && (a.x = t.x), + "yVal" in t ? (a.y = t.yVal) : "y" in t && (a.y = t.y), + t.xa && (a.xaxis = t.xa), + t.ya && (a.yaxis = t.ya), + void 0 !== t.zLabelVal && (a.z = t.zLabelVal)), + r.appendArrayPointValue(a, e, i), + a + ); + }), + (r.appendArrayPointValue = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + c = a(l); + if (void 0 === t[c]) { + var u = o(n.nestedProperty(e, l).get(), r); + void 0 !== u && (t[c] = u); + } + } + }), + (r.appendArrayMultiPointValues = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + c = a(l); + if (void 0 === t[c]) { + for ( + var u = n.nestedProperty(e, l).get(), + f = new Array(r.length), + h = 0; + h < r.length; + h++ + ) + f[h] = o(u, r[h]); + t[c] = f; + } + } + })); + var i = { + ids: "id", + locations: "location", + labels: "label", + values: "value", + "marker.colors": "color", + }; + function a(t) { + return i[t] || t; + } + function o(t, e) { + return Array.isArray(e) + ? Array.isArray(t) && Array.isArray(t[e[0]]) + ? t[e[0]][e[1]] + : void 0 + : t[e]; + } + }, + { "../../lib": 602 }, + ], + 514: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("tinycolor2"), + o = t("../../lib"), + s = t("../../lib/events"), + l = t("../../lib/svg_text_utils"), + c = t("../../lib/override_cursor"), + u = t("../drawing"), + f = t("../color"), + h = t("../dragelement"), + p = t("../../plots/cartesian/axes"), + d = t("../../registry"), + g = t("./helpers"), + m = t("./constants"), + v = m.YANGLE, + y = (Math.PI * v) / 180, + x = 1 / Math.sin(y), + b = Math.cos(y), + _ = Math.sin(y), + w = m.HOVERARROWSIZE, + k = m.HOVERTEXTPAD; + function M(t, e, r) { + var i = e.hovermode, + a = e.rotateLabels, + s = e.bgColor, + c = e.container, + h = e.outerContainer, + p = e.commonLabelOpts || {}, + d = e.fontFamily || m.HOVERFONT, + g = e.fontSize || m.HOVERFONTSIZE, + y = t[0], + x = y.xa, + b = y.ya, + _ = "y" === i ? "yLabel" : "xLabel", + M = y[_], + A = (String(M) || "").split(" ")[0], + T = h.node().getBoundingClientRect(), + S = T.top, + C = T.width, + E = T.height, + L = + void 0 !== M && + y.distance <= e.hoverdistance && + ("x" === i || "y" === i); + if (L) { + var z, + P, + D = !0; + for (z = 0; z < t.length; z++) { + (D && void 0 === t[z].zLabel && (D = !1), + (P = t[z].hoverinfo || t[z].trace.hoverinfo)); + var O = Array.isArray(P) ? P : P.split("+"); + if (-1 === O.indexOf("all") && -1 === O.indexOf(i)) { + L = !1; + break; + } + } + D && (L = !1); + } + var I = c.selectAll("g.axistext").data(L ? [0] : []); + (I.enter().append("g").classed("axistext", !0), + I.exit().remove(), + I.each(function () { + var e = n.select(this), + a = o.ensureSingle(e, "path", "", function (t) { + t.style({ "stroke-width": "1px" }); + }), + s = o.ensureSingle(e, "text", "", function (t) { + t.attr("data-notex", 1); + }), + c = p.bgcolor || f.defaultLine, + h = p.bordercolor || f.contrast(c); + (a.style({ fill: c, stroke: h }), + s + .text(M) + .call( + u.font, + p.font.family || d, + p.font.size || g, + p.font.color || f.background, + ) + .call(l.positionText, 0, 0) + .call(l.convertToTspans, r), + e.attr("transform", "")); + var m = s.node().getBoundingClientRect(); + if ("x" === i) { + s.attr("text-anchor", "middle").call( + l.positionText, + 0, + "top" === x.side ? S - m.bottom - w - k : S - m.top + w + k, + ); + var v = "top" === x.side ? "-" : ""; + (a.attr( + "d", + "M0,0L" + + w + + "," + + v + + w + + "H" + + (k + m.width / 2) + + "v" + + v + + (2 * k + m.height) + + "H-" + + (k + m.width / 2) + + "V" + + v + + w + + "H-" + + w + + "Z", + ), + e.attr( + "transform", + "translate(" + + (x._offset + (y.x0 + y.x1) / 2) + + "," + + (b._offset + ("top" === x.side ? 0 : b._length)) + + ")", + )); + } else { + s.attr("text-anchor", "right" === b.side ? "start" : "end").call( + l.positionText, + ("right" === b.side ? 1 : -1) * (k + w), + S - m.top - m.height / 2, + ); + var T = "right" === b.side ? "" : "-"; + (a.attr( + "d", + "M0,0L" + + T + + w + + "," + + w + + "V" + + (k + m.height / 2) + + "h" + + T + + (2 * k + m.width) + + "V-" + + (k + m.height / 2) + + "H" + + T + + w + + "V-" + + w + + "Z", + ), + e.attr( + "transform", + "translate(" + + (x._offset + ("right" === b.side ? x._length : 0)) + + "," + + (b._offset + (y.y0 + y.y1) / 2) + + ")", + )); + } + t = t.filter(function (t) { + return void 0 !== t.zLabelVal || (t[_] || "").split(" ")[0] === A; + }); + })); + var R = c.selectAll("g.hovertext").data(t, function (t) { + return [ + t.trace.index, + t.index, + t.x0, + t.y0, + t.name, + t.attr, + t.xa, + t.ya || "", + ].join(","); + }); + return ( + R.enter() + .append("g") + .classed("hovertext", !0) + .each(function () { + var t = n.select(this); + (t.append("rect").call(f.fill, f.addOpacity(s, 0.8)), + t.append("text").classed("name", !0), + t.append("path").style("stroke-width", "1px"), + t.append("text").classed("nums", !0).call(u.font, d, g)); + }), + R.exit().remove(), + R.each(function (t) { + var e = n.select(this).attr("transform", ""), + o = "", + c = "", + h = f.opacity(t.color) ? t.color : f.defaultLine, + p = f.combine(h, s), + m = t.borderColor || f.contrast(p); + if ((void 0 !== t.nameOverride && (t.name = t.nameOverride), t.name)) { + o = l.plainText(t.name || ""); + var y = Math.round(t.nameLength); + y > -1 && + o.length > y && + (o = y > 3 ? o.substr(0, y - 3) + "..." : o.substr(0, y)); + } + (void 0 !== t.zLabel + ? (void 0 !== t.xLabel && (c += "x: " + t.xLabel + "
      "), + void 0 !== t.yLabel && (c += "y: " + t.yLabel + "
      "), + (c += (c ? "z: " : "") + t.zLabel)) + : L && t[i + "Label"] === M + ? (c = t[("x" === i ? "y" : "x") + "Label"] || "") + : void 0 === t.xLabel + ? void 0 !== t.yLabel && (c = t.yLabel) + : (c = + void 0 === t.yLabel + ? t.xLabel + : "(" + t.xLabel + ", " + t.yLabel + ")"), + t.text && !Array.isArray(t.text) && (c += (c ? "
      " : "") + t.text), + void 0 !== t.extraText && (c += (c ? "
      " : "") + t.extraText), + "" === c && ("" === o && e.remove(), (c = o))); + var x = e + .select("text.nums") + .call(u.font, t.fontFamily || d, t.fontSize || g, t.fontColor || m) + .text(c) + .attr("data-notex", 1) + .call(l.positionText, 0, 0) + .call(l.convertToTspans, r), + b = e.select("text.name"), + _ = 0; + (o && o !== c + ? (b + .call(u.font, t.fontFamily || d, t.fontSize || g, p) + .text(o) + .attr("data-notex", 1) + .call(l.positionText, 0, 0) + .call(l.convertToTspans, r), + (_ = b.node().getBoundingClientRect().width + 2 * k)) + : (b.remove(), e.select("rect").remove()), + e.select("path").style({ fill: p, stroke: m })); + var A, + T, + z = x.node().getBoundingClientRect(), + P = t.xa._offset + (t.x0 + t.x1) / 2, + D = t.ya._offset + (t.y0 + t.y1) / 2, + O = Math.abs(t.x1 - t.x0), + I = Math.abs(t.y1 - t.y0), + R = z.width + w + k + _; + ((t.ty0 = S - z.top), + (t.bx = z.width + 2 * k), + (t.by = z.height + 2 * k), + (t.anchor = "start"), + (t.txwidth = z.width), + (t.tx2width = _), + (t.offset = 0), + a + ? ((t.pos = P), + (A = D + I / 2 + R <= E), + (T = D - I / 2 - R >= 0), + ("top" !== t.idealAlign && A) || !T + ? A + ? ((D += I / 2), (t.anchor = "start")) + : (t.anchor = "middle") + : ((D -= I / 2), (t.anchor = "end"))) + : ((t.pos = D), + (A = P + O / 2 + R <= C), + (T = P - O / 2 - R >= 0), + ("left" !== t.idealAlign && A) || !T + ? A + ? ((P += O / 2), (t.anchor = "start")) + : (t.anchor = "middle") + : ((P -= O / 2), (t.anchor = "end"))), + x.attr("text-anchor", t.anchor), + _ && b.attr("text-anchor", t.anchor), + e.attr( + "transform", + "translate(" + P + "," + D + ")" + (a ? "rotate(" + v + ")" : ""), + )); + }), + R + ); + } + function A(t, e) { + t.each(function (t) { + var r = n.select(this); + if (t.del) r.remove(); + else { + var i = "end" === t.anchor ? -1 : 1, + a = r.select("text.nums"), + o = { start: 1, end: -1, middle: 0 }[t.anchor], + s = o * (w + k), + c = s + o * (t.txwidth + k), + f = 0, + h = t.offset; + ("middle" === t.anchor && + ((s -= t.tx2width / 2), (c += t.txwidth / 2 + k)), + e && ((h *= -_), (f = t.offset * b)), + r + .select("path") + .attr( + "d", + "middle" === t.anchor + ? "M-" + + (t.bx / 2 + t.tx2width / 2) + + "," + + (h - t.by / 2) + + "h" + + t.bx + + "v" + + t.by + + "h-" + + t.bx + + "Z" + : "M0,0L" + + (i * w + f) + + "," + + (w + h) + + "v" + + (t.by / 2 - w) + + "h" + + i * t.bx + + "v-" + + t.by + + "H" + + (i * w + f) + + "V" + + (h - w) + + "Z", + ), + a.call(l.positionText, s + f, h + t.ty0 - t.by / 2 + k), + t.tx2width && + (r + .select("text.name") + .call(l.positionText, c + o * k + f, h + t.ty0 - t.by / 2 + k), + r + .select("rect") + .call( + u.setRect, + c + ((o - 1) * t.tx2width) / 2 + f, + h - t.by / 2 - 1, + t.tx2width, + t.by + 2, + ))); + } + }); + } + function T(t, e) { + var r = t.index, + n = t.trace || {}, + i = t.cd[0], + a = t.cd[r] || {}, + s = Array.isArray(r) + ? function (t, e) { + return o.castOption(i, r, t) || o.extractOption({}, n, "", e); + } + : function (t, e) { + return o.extractOption(a, n, t, e); + }; + function l(e, r, n) { + var i = s(r, n); + i && (t[e] = i); + } + if ( + (l("hoverinfo", "hi", "hoverinfo"), + l("color", "hbg", "hoverlabel.bgcolor"), + l("borderColor", "hbc", "hoverlabel.bordercolor"), + l("fontFamily", "htf", "hoverlabel.font.family"), + l("fontSize", "hts", "hoverlabel.font.size"), + l("fontColor", "htc", "hoverlabel.font.color"), + l("nameLength", "hnl", "hoverlabel.namelength"), + (t.posref = + "y" === e + ? t.xa._offset + (t.x0 + t.x1) / 2 + : t.ya._offset + (t.y0 + t.y1) / 2), + (t.x0 = o.constrain(t.x0, 0, t.xa._length)), + (t.x1 = o.constrain(t.x1, 0, t.xa._length)), + (t.y0 = o.constrain(t.y0, 0, t.ya._length)), + (t.y1 = o.constrain(t.y1, 0, t.ya._length)), + void 0 !== t.xLabelVal && + ((t.xLabel = + "xLabel" in t ? t.xLabel : p.hoverLabelText(t.xa, t.xLabelVal)), + (t.xVal = t.xa.c2d(t.xLabelVal))), + void 0 !== t.yLabelVal && + ((t.yLabel = + "yLabel" in t ? t.yLabel : p.hoverLabelText(t.ya, t.yLabelVal)), + (t.yVal = t.ya.c2d(t.yLabelVal))), + void 0 !== t.zLabelVal && + void 0 === t.zLabel && + (t.zLabel = String(t.zLabelVal)), + !(isNaN(t.xerr) || ("log" === t.xa.type && t.xerr <= 0))) + ) { + var c = p.tickText(t.xa, t.xa.c2l(t.xerr), "hover").text; + (void 0 !== t.xerrneg + ? (t.xLabel += + " +" + + c + + " / -" + + p.tickText(t.xa, t.xa.c2l(t.xerrneg), "hover").text) + : (t.xLabel += " \xb1 " + c), + "x" === e && (t.distance += 1)); + } + if (!(isNaN(t.yerr) || ("log" === t.ya.type && t.yerr <= 0))) { + var u = p.tickText(t.ya, t.ya.c2l(t.yerr), "hover").text; + (void 0 !== t.yerrneg + ? (t.yLabel += + " +" + + u + + " / -" + + p.tickText(t.ya, t.ya.c2l(t.yerrneg), "hover").text) + : (t.yLabel += " \xb1 " + u), + "y" === e && (t.distance += 1)); + } + var f = t.hoverinfo || t.trace.hoverinfo; + return ( + "all" !== f && + (-1 === (f = Array.isArray(f) ? f : f.split("+")).indexOf("x") && + (t.xLabel = void 0), + -1 === f.indexOf("y") && (t.yLabel = void 0), + -1 === f.indexOf("z") && (t.zLabel = void 0), + -1 === f.indexOf("text") && (t.text = void 0), + -1 === f.indexOf("name") && (t.name = void 0)), + t + ); + } + function S(t, e) { + var r, + n, + i = e.container, + o = e.fullLayout, + s = e.event, + l = !!t.hLinePoint, + c = !!t.vLinePoint; + if ((i.selectAll(".spikeline").remove(), c || l)) { + var h = f.combine(o.plot_bgcolor, o.paper_bgcolor); + if (l) { + var p, + d, + g = t.hLinePoint; + ((r = g && g.xa), + "cursor" === (n = g && g.ya).spikesnap + ? ((p = s.pointerX), (d = s.pointerY)) + : ((p = r._offset + g.x), (d = n._offset + g.y))); + var m, + v, + y = a.readability(g.color, h) < 1.5 ? f.contrast(h) : g.color, + x = n.spikemode, + b = n.spikethickness, + _ = n.spikecolor || y, + w = n._boundingBox, + k = (w.left + w.right) / 2 < p ? w.right : w.left; + ((-1 === x.indexOf("toaxis") && -1 === x.indexOf("across")) || + (-1 !== x.indexOf("toaxis") && ((m = k), (v = p)), + -1 !== x.indexOf("across") && + ((m = n._counterSpan[0]), (v = n._counterSpan[1])), + i + .insert("line", ":first-child") + .attr({ + x1: m, + x2: v, + y1: d, + y2: d, + "stroke-width": b, + stroke: _, + "stroke-dasharray": u.dashStyle(n.spikedash, b), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + i + .insert("line", ":first-child") + .attr({ + x1: m, + x2: v, + y1: d, + y2: d, + "stroke-width": b + 2, + stroke: h, + }) + .classed("spikeline", !0) + .classed("crisp", !0)), + -1 !== x.indexOf("marker") && + i + .insert("circle", ":first-child") + .attr({ + cx: k + ("right" !== n.side ? b : -b), + cy: d, + r: b, + fill: _, + }) + .classed("spikeline", !0)); + } + if (c) { + var M, + A, + T = t.vLinePoint; + ((r = T && T.xa), + (n = T && T.ya), + "cursor" === r.spikesnap + ? ((M = s.pointerX), (A = s.pointerY)) + : ((M = r._offset + T.x), (A = n._offset + T.y))); + var S, + C, + E = a.readability(T.color, h) < 1.5 ? f.contrast(h) : T.color, + L = r.spikemode, + z = r.spikethickness, + P = r.spikecolor || E, + D = r._boundingBox, + O = (D.top + D.bottom) / 2 < A ? D.bottom : D.top; + ((-1 === L.indexOf("toaxis") && -1 === L.indexOf("across")) || + (-1 !== L.indexOf("toaxis") && ((S = O), (C = A)), + -1 !== L.indexOf("across") && + ((S = r._counterSpan[0]), (C = r._counterSpan[1])), + i + .insert("line", ":first-child") + .attr({ + x1: M, + x2: M, + y1: S, + y2: C, + "stroke-width": z, + stroke: P, + "stroke-dasharray": u.dashStyle(r.spikedash, z), + }) + .classed("spikeline", !0) + .classed("crisp", !0), + i + .insert("line", ":first-child") + .attr({ + x1: M, + x2: M, + y1: S, + y2: C, + "stroke-width": z + 2, + stroke: h, + }) + .classed("spikeline", !0) + .classed("crisp", !0)), + -1 !== L.indexOf("marker") && + i + .insert("circle", ":first-child") + .attr({ + cx: M, + cy: O - ("top" !== r.side ? z : -z), + r: z, + fill: P, + }) + .classed("spikeline", !0)); + } + } + } + function C(t, e) { + return ( + !e || + e.vLinePoint !== t._spikepoints.vLinePoint || + e.hLinePoint !== t._spikepoints.hLinePoint + ); + } + ((r.hover = function (t, e, r, a) { + ((t = o.getGraphDiv(t)), + o.throttle(t._fullLayout._uid + m.HOVERID, m.HOVERMINTIME, function () { + !(function (t, e, r, a) { + r || (r = "xy"); + var l = Array.isArray(r) ? r : [r], + u = t._fullLayout, + m = u._plots || [], + v = m[r], + y = u._has("cartesian"); + if (v) { + var b = v.overlays.map(function (t) { + return t.id; + }); + l = l.concat(b); + } + for ( + var _ = l.length, w = new Array(_), k = new Array(_), E = !1, L = 0; + L < _; + L++ + ) { + var z = l[L], + P = m[z]; + if (P) + ((E = !0), + (w[L] = p.getFromId(t, P.xaxis._id)), + (k[L] = p.getFromId(t, P.yaxis._id))); + else { + var D = u[z]._subplot; + ((w[L] = D.xaxis), (k[L] = D.yaxis)); + } + } + var O = e.hovermode || u.hovermode; + O && !E && (O = "closest"); + if ( + -1 === ["x", "y", "closest"].indexOf(O) || + !t.calcdata || + t.querySelector(".zoombox") || + t._dragging + ) + return h.unhoverRaw(t, e); + var I, + R, + B, + F, + N, + j, + V, + U, + q, + H, + G, + W, + Y, + X = -1 === u.hoverdistance ? 1 / 0 : u.hoverdistance, + Z = -1 === u.spikedistance ? 1 / 0 : u.spikedistance, + J = [], + K = [], + Q = { hLinePoint: null, vLinePoint: null }; + if (Array.isArray(e)) + for (O = "array", B = 0; B < e.length; B++) + "skip" !== + (N = t.calcdata[e[B].curveNumber || 0])[0].trace.hoverinfo && + K.push(N); + else { + for (F = 0; F < t.calcdata.length; F++) + ((N = t.calcdata[F]), + "skip" !== (j = N[0].trace).hoverinfo && + g.isTraceInSubplots(j, l) && + K.push(N)); + var $, + tt, + et = !e.target; + if (et) + (($ = "xpx" in e ? e.xpx : w[0]._length / 2), + (tt = "ypx" in e ? e.ypx : k[0]._length / 2)); + else { + if (!1 === s.triggerHandler(t, "plotly_beforehover", e)) return; + var rt = e.target.getBoundingClientRect(); + if ( + (($ = e.clientX - rt.left), + (tt = e.clientY - rt.top), + $ < 0 || $ > w[0]._length || tt < 0 || tt > k[0]._length) + ) + return h.unhoverRaw(t, e); + } + if ( + ((e.pointerX = $ + w[0]._offset), + (e.pointerY = tt + k[0]._offset), + (I = "xval" in e ? g.flat(l, e.xval) : g.p2c(w, $)), + (R = "yval" in e ? g.flat(l, e.yval) : g.p2c(k, tt)), + !i(I[0]) || !i(R[0])) + ) + return (o.warn("Fx.hover failed", e, t), h.unhoverRaw(t, e)); + } + var nt = 1 / 0; + for (F = 0; F < K.length; F++) + if ( + (N = K[F]) && + N[0] && + N[0].trace && + !0 === N[0].trace.visible && + ((j = N[0].trace), + -1 === ["carpet", "contourcarpet"].indexOf(j._module.name)) + ) { + if ( + ("splom" === j.type + ? (V = l[(U = 0)]) + : ((V = g.getSubplot(j)), (U = l.indexOf(V))), + (q = O), + (W = { + cd: N, + trace: j, + xa: w[U], + ya: k[U], + maxHoverDistance: X, + maxSpikeDistance: Z, + index: !1, + distance: Math.min(nt, X), + spikeDistance: 1 / 0, + xSpike: void 0, + ySpike: void 0, + color: f.defaultLine, + name: j.name, + x0: void 0, + x1: void 0, + y0: void 0, + y1: void 0, + xLabelVal: void 0, + yLabelVal: void 0, + zLabelVal: void 0, + text: void 0, + }), + u[V] && (W.subplot = u[V]._subplot), + (Y = J.length), + "array" === q) + ) { + var it = e[F]; + "pointNumber" in it + ? ((W.index = it.pointNumber), (q = "closest")) + : ((q = ""), + "xval" in it && ((H = it.xval), (q = "x")), + "yval" in it && ((G = it.yval), (q = q ? "closest" : "y"))); + } else ((H = I[U]), (G = R[U])); + if (0 !== X) + if (j._module && j._module.hoverPoints) { + var at = j._module.hoverPoints(W, H, G, q, u._hoverlayer); + if (at) + for (var ot, st = 0; st < at.length; st++) + ((ot = at[st]), i(ot.x0) && i(ot.y0) && J.push(T(ot, O))); + } else o.log("Unrecognized trace type in hover:", j); + if ( + ("closest" === O && + J.length > Y && + (J.splice(0, Y), (nt = J[0].distance)), + y && 0 !== Z && 0 === J.length) + ) { + ((W.distance = Z), (W.index = !1)); + var lt = j._module.hoverPoints( + W, + H, + G, + "closest", + u._hoverlayer, + ); + if ( + (lt && + (lt = lt.filter(function (t) { + return t.spikeDistance <= Z; + })), + lt && lt.length) + ) { + var ct, + ut = lt.filter(function (t) { + return t.xa.showspikes; + }); + if (ut.length) { + var ft = ut[0]; + i(ft.x0) && + i(ft.y0) && + ((ct = gt(ft)), + (!Q.vLinePoint || + Q.vLinePoint.spikeDistance > ct.spikeDistance) && + (Q.vLinePoint = ct)); + } + var ht = lt.filter(function (t) { + return t.ya.showspikes; + }); + if (ht.length) { + var pt = ht[0]; + i(pt.x0) && + i(pt.y0) && + ((ct = gt(pt)), + (!Q.hLinePoint || + Q.hLinePoint.spikeDistance > ct.spikeDistance) && + (Q.hLinePoint = ct)); + } + } + } + } + function dt(t, e) { + for (var r, n = null, i = 1 / 0, a = 0; a < t.length; a++) + (r = t[a].spikeDistance) < i && r <= e && ((n = t[a]), (i = r)); + return n; + } + function gt(t) { + return t + ? { + xa: t.xa, + ya: t.ya, + x: void 0 !== t.xSpike ? t.xSpike : (t.x0 + t.x1) / 2, + y: void 0 !== t.ySpike ? t.ySpike : (t.y0 + t.y1) / 2, + distance: t.distance, + spikeDistance: t.spikeDistance, + curveNumber: t.trace.index, + color: t.color, + pointNumber: t.index, + } + : null; + } + var mt = { + fullLayout: u, + container: u._hoverlayer, + outerContainer: u._paperdiv, + event: e, + }, + vt = t._spikepoints, + yt = { vLinePoint: Q.vLinePoint, hLinePoint: Q.hLinePoint }; + if (((t._spikepoints = yt), y && 0 !== Z && 0 !== J.length)) { + var xt = J.filter(function (t) { + return t.ya.showspikes; + }), + bt = dt(xt, Z); + Q.hLinePoint = gt(bt); + var _t = J.filter(function (t) { + return t.xa.showspikes; + }), + wt = dt(_t, Z); + Q.vLinePoint = gt(wt); + } + if (0 === J.length) { + var kt = h.unhoverRaw(t, e); + return ( + !y || + (null === Q.hLinePoint && null === Q.vLinePoint) || + (C(vt) && S(Q, mt)), + kt + ); + } + y && C(vt) && S(Q, mt); + J.sort(function (t, e) { + return t.distance - e.distance; + }); + var Mt = t._hoverdata, + At = []; + for (B = 0; B < J.length; B++) { + var Tt = J[B]; + At.push(g.makeEventData(Tt, Tt.trace, Tt.cd)); + } + t._hoverdata = At; + var St = "y" === O && K.length > 1, + Ct = f.combine(u.plot_bgcolor || f.background, u.paper_bgcolor), + Et = { + hovermode: O, + rotateLabels: St, + bgColor: Ct, + container: u._hoverlayer, + outerContainer: u._paperdiv, + commonLabelOpts: u.hoverlabel, + hoverdistance: u.hoverdistance, + }, + Lt = M(J, Et, t); + if ( + ((function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u = 0, + f = t + .map(function (t, n) { + var i = t[e]; + return [ + { + i: n, + dp: 0, + pos: t.pos, + posref: t.posref, + size: (t.by * ("x" === i._id.charAt(0) ? x : 1)) / 2, + pmin: 0, + pmax: "x" === i._id.charAt(0) ? r.width : r.height, + }, + ]; + }) + .sort(function (t, e) { + return t[0].posref - e[0].posref; + }); + function h(t) { + var e = t[0], + r = t[t.length - 1]; + if ( + ((i = e.pmin - e.pos - e.dp + e.size), + (a = r.pos + r.dp + r.size - e.pmax), + i > 0.01) + ) { + for (s = t.length - 1; s >= 0; s--) t[s].dp += i; + n = !1; + } + if (!(a < 0.01)) { + if (i < -0.01) { + for (s = t.length - 1; s >= 0; s--) t[s].dp -= a; + n = !1; + } + if (n) { + var c = 0; + for (o = 0; o < t.length; o++) + (l = t[o]).pos + l.dp + l.size > e.pmax && c++; + for (o = t.length - 1; o >= 0 && !(c <= 0); o--) + (l = t[o]).pos > e.pmax - 1 && ((l.del = !0), c--); + for (o = 0; o < t.length && !(c <= 0); o++) + if ((l = t[o]).pos < e.pmin + 1) + for ( + l.del = !0, c--, a = 2 * l.size, s = t.length - 1; + s >= 0; + s-- + ) + t[s].dp -= a; + for (o = t.length - 1; o >= 0 && !(c <= 0); o--) + (l = t[o]).pos + l.dp + l.size > e.pmax && + ((l.del = !0), c--); + } + } + } + for (; !n && u <= t.length; ) { + for (u++, n = !0, o = 0; o < f.length - 1; ) { + var p = f[o], + d = f[o + 1], + g = p[p.length - 1], + m = d[0]; + if ( + (i = g.pos + g.dp + g.size - m.pos - m.dp + m.size) > + 0.01 && + g.pmin === m.pmin && + g.pmax === m.pmax + ) { + for (s = d.length - 1; s >= 0; s--) d[s].dp += i; + for ( + p.push.apply(p, d), + f.splice(o + 1, 1), + c = 0, + s = p.length - 1; + s >= 0; + s-- + ) + c += p[s].dp; + for (a = c / p.length, s = p.length - 1; s >= 0; s--) + p[s].dp -= a; + n = !1; + } else o++; + } + f.forEach(h); + } + for (o = f.length - 1; o >= 0; o--) { + var v = f[o]; + for (s = v.length - 1; s >= 0; s--) { + var y = v[s], + b = t[y.i]; + ((b.offset = y.dp), (b.del = y.del)); + } + } + })(J, St ? "xa" : "ya", u), + A(Lt, St), + e.target && e.target.tagName) + ) { + var zt = d.getComponentMethod("annotations", "hasClickToShow")( + t, + At, + ); + c(n.select(e.target), zt ? "pointer" : ""); + } + if ( + !e.target || + a || + !(function (t, e, r) { + if (!r || r.length !== t._hoverdata.length) return !0; + for (var n = r.length - 1; n >= 0; n--) { + var i = r[n], + a = t._hoverdata[n]; + if ( + i.curveNumber !== a.curveNumber || + String(i.pointNumber) !== String(a.pointNumber) + ) + return !0; + } + return !1; + })(t, 0, Mt) + ) + return; + Mt && t.emit("plotly_unhover", { event: e, points: Mt }); + t.emit("plotly_hover", { + event: e, + points: t._hoverdata, + xaxes: w, + yaxes: k, + xvals: I, + yvals: R, + }); + })(t, e, r, a); + })); + }), + (r.loneHover = function (t, e) { + var r = { + color: t.color || f.defaultLine, + x0: t.x0 || t.x || 0, + x1: t.x1 || t.x || 0, + y0: t.y0 || t.y || 0, + y1: t.y1 || t.y || 0, + xLabel: t.xLabel, + yLabel: t.yLabel, + zLabel: t.zLabel, + text: t.text, + name: t.name, + idealAlign: t.idealAlign, + borderColor: t.borderColor, + fontFamily: t.fontFamily, + fontSize: t.fontSize, + fontColor: t.fontColor, + trace: { index: 0, hoverinfo: "" }, + xa: { _offset: 0 }, + ya: { _offset: 0 }, + index: 0, + }, + i = n.select(e.container), + a = e.outerContainer ? n.select(e.outerContainer) : i, + o = { + hovermode: "closest", + rotateLabels: !1, + bgColor: e.bgColor || f.background, + container: i, + outerContainer: a, + }, + s = M([r], o, e.gd); + return (A(s, o.rotateLabels), s.node()); + })); + }, + { + "../../lib": 602, + "../../lib/events": 590, + "../../lib/override_cursor": 613, + "../../lib/svg_text_utils": 626, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "./constants": 511, + "./helpers": 513, + d3: 130, + "fast-isnumeric": 196, + tinycolor2: 415, + }, + ], + 515: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e, r, i) { + (r("hoverlabel.bgcolor", (i = i || {}).bgcolor), + r("hoverlabel.bordercolor", i.bordercolor), + r("hoverlabel.namelength", i.namelength), + n.coerceFont(r, "hoverlabel.font", i.font)); + }; + }, + { "../../lib": 602 }, + ], + 516: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../dragelement"), + o = t("./helpers"), + s = t("./layout_attributes"); + e.exports = { + moduleType: "component", + name: "fx", + constants: t("./constants"), + schema: { layout: s }, + attributes: t("./attributes"), + layoutAttributes: s, + supplyLayoutGlobalDefaults: t("./layout_global_defaults"), + supplyDefaults: t("./defaults"), + supplyLayoutDefaults: t("./layout_defaults"), + calc: t("./calc"), + getDistanceFunction: o.getDistanceFunction, + getClosest: o.getClosest, + inbox: o.inbox, + quadrature: o.quadrature, + appendArrayPointValue: o.appendArrayPointValue, + castHoverOption: function (t, e, r) { + return i.castOption(t, e, "hoverlabel." + r); + }, + castHoverinfo: function (t, e, r) { + return i.castOption(t, r, "hoverinfo", function (r) { + return i.coerceHoverinfo({ hoverinfo: r }, { _module: t._module }, e); + }); + }, + hover: t("./hover").hover, + unhover: a.unhover, + loneHover: t("./hover").loneHover, + loneUnhover: function (t) { + var e = i.isD3Selection(t) ? t : n.select(t); + (e.selectAll("g.hovertext").remove(), e.selectAll(".spikeline").remove()); + }, + click: t("./click"), + }; + }, + { + "../../lib": 602, + "../dragelement": 496, + "./attributes": 508, + "./calc": 509, + "./click": 510, + "./constants": 511, + "./defaults": 512, + "./helpers": 513, + "./hover": 514, + "./layout_attributes": 517, + "./layout_defaults": 518, + "./layout_global_defaults": 519, + d3: 130, + }, + ], + 517: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("../../plots/font_attributes")({ editType: "none" }); + ((i.family.dflt = n.HOVERFONT), + (i.size.dflt = n.HOVERFONTSIZE), + (e.exports = { + dragmode: { + valType: "enumerated", + values: ["zoom", "pan", "select", "lasso", "orbit", "turntable"], + dflt: "zoom", + editType: "modebar", + }, + hovermode: { + valType: "enumerated", + values: ["x", "y", "closest", !1], + editType: "modebar", + }, + hoverdistance: { + valType: "integer", + min: -1, + dflt: 20, + editType: "none", + }, + spikedistance: { + valType: "integer", + min: -1, + dflt: 20, + editType: "none", + }, + hoverlabel: { + bgcolor: { valType: "color", editType: "none" }, + bordercolor: { valType: "color", editType: "none" }, + font: i, + namelength: { valType: "integer", min: -1, dflt: 15, editType: "none" }, + editType: "none", + }, + selectdirection: { + valType: "enumerated", + values: ["h", "v", "d", "any"], + dflt: "any", + editType: "none", + }, + })); + }, + { "../../plots/font_attributes": 674, "./constants": 511 }, + ], + 518: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./layout_attributes"); + e.exports = function (t, e, r) { + function a(r, a) { + return n.coerce(t, e, i, r, a); + } + var o; + ("select" === a("dragmode") && a("selectdirection"), + e._has("cartesian") + ? ((e._isHoriz = (function (t) { + for (var e = !0, r = 0; r < t.length; r++) { + var n = t[r]; + if ("h" !== n.orientation) { + e = !1; + break; + } + } + return e; + })(r)), + (o = e._isHoriz ? "y" : "x")) + : (o = "closest"), + a("hovermode", o) && (a("hoverdistance"), a("spikedistance"))); + var s = e._has("mapbox"), + l = e._has("geo"), + c = e._basePlotModules.length; + "zoom" === e.dragmode && + (((s || l) && 1 === c) || (s && l && 2 === c)) && + (e.dragmode = "pan"); + }; + }, + { "../../lib": 602, "./layout_attributes": 517 }, + ], + 519: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./hoverlabel_defaults"), + a = t("./layout_attributes"); + e.exports = function (t, e) { + i(t, e, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }; + }, + { "../../lib": 602, "./hoverlabel_defaults": 515, "./layout_attributes": 517 }, + ], + 520: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../lib/regex").counter, + a = t("../../plots/domain").attributes, + o = t("../../plots/cartesian/constants").idRegex, + s = { + rows: { valType: "integer", min: 1, editType: "plot" }, + roworder: { + valType: "enumerated", + values: ["top to bottom", "bottom to top"], + dflt: "top to bottom", + editType: "plot", + }, + columns: { valType: "integer", min: 1, editType: "plot" }, + subplots: { + valType: "info_array", + freeLength: !0, + dimensions: 2, + items: { + valType: "enumerated", + values: [i("xy").toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + xaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.x.toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + yaxes: { + valType: "info_array", + freeLength: !0, + items: { + valType: "enumerated", + values: [o.y.toString(), ""], + editType: "plot", + }, + editType: "plot", + }, + pattern: { + valType: "enumerated", + values: ["independent", "coupled"], + dflt: "coupled", + editType: "plot", + }, + xgap: { valType: "number", min: 0, max: 1, editType: "plot" }, + ygap: { valType: "number", min: 0, max: 1, editType: "plot" }, + domain: a({ name: "grid", editType: "plot", noGridCell: !0 }, {}), + xside: { + valType: "enumerated", + values: ["bottom", "bottom plot", "top plot", "top"], + dflt: "bottom plot", + editType: "plot", + }, + yside: { + valType: "enumerated", + values: ["left", "left plot", "right plot", "right"], + dflt: "left plot", + editType: "plot", + }, + editType: "plot", + }; + function l(t, e, r) { + var n = e[r + "axes"], + i = Object.keys((t._splomAxes || {})[r] || {}); + return Array.isArray(n) ? n : i.length ? i : void 0; + } + function c(t, e, r, n, i, a) { + var o = e(t + "gap", r), + s = e("domain." + t); + e(t + "side", n); + for ( + var l = new Array(i), + c = s[0], + u = (s[1] - c) / (i - o), + f = u * (1 - o), + h = 0; + h < i; + h++ + ) { + var p = c + u * h; + l[a ? i - 1 - h : h] = [p, p + f]; + } + return l; + } + function u(t, e, r, n, i) { + var a, + o = new Array(r); + function s(t, r) { + -1 !== e.indexOf(r) && void 0 === n[r] + ? ((o[t] = r), (n[r] = t)) + : (o[t] = ""); + } + if (Array.isArray(t)) for (a = 0; a < r; a++) s(a, t[a]); + else for (s(0, i), a = 1; a < r; a++) s(a, i + (a + 1)); + return o; + } + e.exports = { + moduleType: "component", + name: "grid", + schema: { layout: { grid: s } }, + layoutAttributes: s, + sizeDefaults: function (t, e) { + var r = t.grid || {}, + i = l(e, r, "x"), + a = l(e, r, "y"); + if (t.grid || i || a) { + var o, + u, + f = Array.isArray(r.subplots) && Array.isArray(r.subplots[0]), + h = Array.isArray(i), + p = Array.isArray(a), + d = h && i !== r.xaxes && p && a !== r.yaxes; + f + ? ((o = r.subplots.length), (u = r.subplots[0].length)) + : (p && (o = a.length), h && (u = i.length)); + var g = (e.grid = {}), + m = k("rows", o), + v = k("columns", u); + if (m * v > 1) { + (f || h || p || ("independent" === k("pattern") && (f = !0)), + (g._hasSubplotGrid = f)); + var y, + x, + b = "top to bottom" === k("roworder"), + _ = f ? 0.2 : 0.1, + w = f ? 0.3 : 0.1; + (d && ((y = "bottom"), (x = "left")), + (g._domains = { x: c("x", k, _, y, v), y: c("y", k, w, x, m, b) })); + } + } + function k(t, e) { + return n.coerce(r, g, s, t, e); + } + }, + contentDefaults: function (t, e) { + var r = e.grid; + if (r && r._domains) { + var n, + i, + a, + o, + s, + c, + f, + h = t.grid || {}, + p = e._subplots, + d = r._hasSubplotGrid, + g = r.rows, + m = r.columns, + v = "independent" === r.pattern, + y = (r._axisMap = {}); + if (d) { + var x = h.subplots || []; + c = r.subplots = new Array(g); + var b = 1; + for (n = 0; n < g; n++) { + var _ = (c[n] = new Array(m)), + w = x[n] || []; + for (i = 0; i < m; i++) + if ( + (v + ? ((s = 1 === b ? "xy" : "x" + b + "y" + b), b++) + : (s = w[i]), + (_[i] = ""), + -1 !== p.cartesian.indexOf(s)) + ) { + if ( + ((f = s.indexOf("y")), + (a = s.slice(0, f)), + (o = s.slice(f)), + (void 0 !== y[a] && y[a] !== i) || + (void 0 !== y[o] && y[o] !== n)) + ) + continue; + ((_[i] = s), (y[a] = i), (y[o] = n)); + } + } + } else { + var k = l(e, h, "x"), + M = l(e, h, "y"); + ((r.xaxes = u(k, p.xaxis, m, y, "x")), + (r.yaxes = u(M, p.yaxis, g, y, "y"))); + } + var A = (r._anchors = {}), + T = "top to bottom" === r.roworder; + for (var S in y) { + var C, + E, + L, + z = S.charAt(0), + P = r[z + "side"]; + if (P.length < 8) A[S] = "free"; + else if ("x" === z) { + if ( + (("t" === P.charAt(0)) === T + ? ((C = 0), (E = 1), (L = g)) + : ((C = g - 1), (E = -1), (L = -1)), + d) + ) { + var D = y[S]; + for (n = C; n !== L; n += E) + if ( + (s = c[n][D]) && + ((f = s.indexOf("y")), s.slice(0, f) === S) + ) { + A[S] = s.slice(f); + break; + } + } else + for (n = C; n !== L; n += E) + if (((o = r.yaxes[n]), -1 !== p.cartesian.indexOf(S + o))) { + A[S] = o; + break; + } + } else if ( + ("l" === P.charAt(0) + ? ((C = 0), (E = 1), (L = m)) + : ((C = m - 1), (E = -1), (L = -1)), + d) + ) { + var O = y[S]; + for (n = C; n !== L; n += E) + if ((s = c[O][n]) && ((f = s.indexOf("y")), s.slice(f) === S)) { + A[S] = s.slice(0, f); + break; + } + } else + for (n = C; n !== L; n += E) + if (((a = r.xaxes[n]), -1 !== p.cartesian.indexOf(a + S))) { + A[S] = a; + break; + } + } + } + }, + }; + }, + { + "../../lib": 602, + "../../lib/regex": 618, + "../../plots/cartesian/constants": 653, + "../../plots/domain": 673, + }, + ], + 521: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/constants"); + e.exports = { + _isLinkedToArray: "image", + visible: { valType: "boolean", dflt: !0, editType: "arraydraw" }, + source: { valType: "string", editType: "arraydraw" }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + editType: "arraydraw", + }, + sizex: { valType: "number", dflt: 0, editType: "arraydraw" }, + sizey: { valType: "number", dflt: 0, editType: "arraydraw" }, + sizing: { + valType: "enumerated", + values: ["fill", "contain", "stretch"], + dflt: "contain", + editType: "arraydraw", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "arraydraw", + }, + x: { valType: "any", dflt: 0, editType: "arraydraw" }, + y: { valType: "any", dflt: 0, editType: "arraydraw" }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "left", + editType: "arraydraw", + }, + yanchor: { + valType: "enumerated", + values: ["top", "middle", "bottom"], + dflt: "top", + editType: "arraydraw", + }, + xref: { + valType: "enumerated", + values: ["paper", n.idRegex.x.toString()], + dflt: "paper", + editType: "arraydraw", + }, + yref: { + valType: "enumerated", + values: ["paper", n.idRegex.y.toString()], + dflt: "paper", + editType: "arraydraw", + }, + editType: "arraydraw", + }; + }, + { "../../plots/cartesian/constants": 653 }, + ], + 522: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib/to_log_range"); + e.exports = function (t, e, r, a) { + e = e || {}; + var o = "log" === r && "linear" === e.type, + s = "linear" === r && "log" === e.type; + if (o || s) + for ( + var l, c, u = t._fullLayout.images, f = e._id.charAt(0), h = 0; + h < u.length; + h++ + ) + if (((c = "images[" + h + "]."), (l = u[h])[f + "ref"] === e._id)) { + var p = l[f], + d = l["size" + f], + g = null, + m = null; + if (o) { + g = i(p, e.range); + var v = d / Math.pow(10, g) / 2; + m = (2 * Math.log(v + Math.sqrt(1 + v * v))) / Math.LN10; + } else + m = + (g = Math.pow(10, p)) * + (Math.pow(10, d / 2) - Math.pow(10, -d / 2)); + (n(g) ? n(m) || (m = null) : ((g = null), (m = null)), + a(c + f, g), + a(c + "size" + f, m)); + } + }; + }, + { "../../lib/to_log_range": 628, "fast-isnumeric": 196 }, + ], + 523: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../../plots/array_container_defaults"), + o = t("./attributes"); + function s(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + if (!a("visible", !!a("source"))) return e; + (a("layer"), + a("xanchor"), + a("yanchor"), + a("sizex"), + a("sizey"), + a("sizing"), + a("opacity")); + for (var s = { _fullLayout: r }, l = ["x", "y"], c = 0; c < 2; c++) { + var u = l[c], + f = i.coerceRef(t, e, s, u, "paper"); + i.coercePosition(e, s, a, f, u, 0); + } + return e; + } + e.exports = function (t, e) { + a(t, e, { name: "images", handleItemDefaults: s }); + }; + }, + { + "../../lib": 602, + "../../plots/array_container_defaults": 644, + "../../plots/cartesian/axes": 648, + "./attributes": 521, + }, + ], + 524: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../drawing"), + a = t("../../plots/cartesian/axes"), + o = t("../../constants/xmlns_namespaces"); + e.exports = function (t) { + var e, + r, + s = t._fullLayout, + l = [], + c = {}, + u = []; + for (r = 0; r < s.images.length; r++) { + var f = s.images[r]; + if (f.visible) + if ("below" === f.layer && "paper" !== f.xref && "paper" !== f.yref) { + e = f.xref + f.yref; + var h = s._plots[e]; + if (!h) { + u.push(f); + continue; + } + (h.mainplot && (e = h.mainplot.id), + c[e] || (c[e] = []), + c[e].push(f)); + } else "above" === f.layer ? l.push(f) : u.push(f); + } + var p = { + x: { + left: { sizing: "xMin", offset: 0 }, + center: { sizing: "xMid", offset: -0.5 }, + right: { sizing: "xMax", offset: -1 }, + }, + y: { + top: { sizing: "YMin", offset: 0 }, + middle: { sizing: "YMid", offset: -0.5 }, + bottom: { sizing: "YMax", offset: -1 }, + }, + }; + function d(e) { + var r = n.select(this); + if (!this.img || this.img.src !== e.source) { + r.attr("xmlns", o.svg); + var i = new Promise( + function (t) { + var n = new Image(); + function i() { + (r.remove(), t()); + } + ((this.img = n), + n.setAttribute("crossOrigin", "anonymous"), + (n.onerror = i), + (n.onload = function () { + var e = document.createElement("canvas"); + ((e.width = this.width), + (e.height = this.height), + e.getContext("2d").drawImage(this, 0, 0)); + var n = e.toDataURL("image/png"); + (r.attr("xlink:href", n), t()); + }), + r.on("error", i), + (n.src = e.source)); + }.bind(this), + ); + t._promises.push(i); + } + } + function g(e) { + var r = n.select(this), + o = a.getFromId(t, e.xref), + l = a.getFromId(t, e.yref), + c = s._size, + u = o ? Math.abs(o.l2p(e.sizex) - o.l2p(0)) : e.sizex * c.w, + f = l ? Math.abs(l.l2p(e.sizey) - l.l2p(0)) : e.sizey * c.h, + h = u * p.x[e.xanchor].offset, + d = f * p.y[e.yanchor].offset, + g = p.x[e.xanchor].sizing + p.y[e.yanchor].sizing, + m = (o ? o.r2p(e.x) + o._offset : e.x * c.w + c.l) + h, + v = (l ? l.r2p(e.y) + l._offset : c.h - e.y * c.h + c.t) + d; + switch (e.sizing) { + case "fill": + g += " slice"; + break; + case "stretch": + g = "none"; + } + r.attr({ + x: m, + y: v, + width: u, + height: f, + preserveAspectRatio: g, + opacity: e.opacity, + }); + var y = (o ? o._id : "") + (l ? l._id : ""); + r.call(i.setClipUrl, y ? "clip" + s._uid + y : null); + } + var m = s._imageLowerLayer.selectAll("image").data(u), + v = s._imageUpperLayer.selectAll("image").data(l); + (m.enter().append("image"), + v.enter().append("image"), + m.exit().remove(), + v.exit().remove(), + m.each(function (t) { + (d.bind(this)(t), g.bind(this)(t)); + }), + v.each(function (t) { + (d.bind(this)(t), g.bind(this)(t)); + })); + var y = Object.keys(s._plots); + for (r = 0; r < y.length; r++) { + e = y[r]; + var x = s._plots[e]; + if (x.imagelayer) { + var b = x.imagelayer.selectAll("image").data(c[e] || []); + (b.enter().append("image"), + b.exit().remove(), + b.each(function (t) { + (d.bind(this)(t), g.bind(this)(t)); + })); + } + } + }; + }, + { + "../../constants/xmlns_namespaces": 581, + "../../plots/cartesian/axes": 648, + "../drawing": 499, + d3: 130, + }, + ], + 525: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "component", + name: "images", + layoutAttributes: t("./attributes"), + supplyLayoutDefaults: t("./defaults"), + includeBasePlot: t("../../plots/cartesian/include_components")("images"), + draw: t("./draw"), + convertCoords: t("./convert_coords"), + }; + }, + { + "../../plots/cartesian/include_components": 658, + "./attributes": 521, + "./convert_coords": 522, + "./defaults": 523, + "./draw": 524, + }, + ], + 526: [ + function (t, e, r) { + "use strict"; + ((r.isRightAnchor = function (t) { + return "right" === t.xanchor || ("auto" === t.xanchor && t.x >= 2 / 3); + }), + (r.isCenterAnchor = function (t) { + return ( + "center" === t.xanchor || + ("auto" === t.xanchor && t.x > 1 / 3 && t.x < 2 / 3) + ); + }), + (r.isBottomAnchor = function (t) { + return "bottom" === t.yanchor || ("auto" === t.yanchor && t.y <= 1 / 3); + }), + (r.isMiddleAnchor = function (t) { + return ( + "middle" === t.yanchor || + ("auto" === t.yanchor && t.y > 1 / 3 && t.y < 2 / 3) + ); + })); + }, + {}, + ], + 527: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../color/attributes"); + e.exports = { + bgcolor: { valType: "color", editType: "legend" }, + bordercolor: { valType: "color", dflt: i.defaultLine, editType: "legend" }, + borderwidth: { valType: "number", min: 0, dflt: 0, editType: "legend" }, + font: n({ editType: "legend" }), + orientation: { + valType: "enumerated", + values: ["v", "h"], + dflt: "v", + editType: "legend", + }, + traceorder: { + valType: "flaglist", + flags: ["reversed", "grouped"], + extras: ["normal"], + editType: "legend", + }, + tracegroupgap: { valType: "number", min: 0, dflt: 10, editType: "legend" }, + x: { valType: "number", min: -2, max: 3, dflt: 1.02, editType: "legend" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + editType: "legend", + }, + y: { valType: "number", min: -2, max: 3, dflt: 1, editType: "legend" }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "auto", + editType: "legend", + }, + editType: "legend", + }; + }, + { "../../plots/font_attributes": 674, "../color/attributes": 473 }, + ], + 528: [ + function (t, e, r) { + "use strict"; + e.exports = { + scrollBarWidth: 6, + scrollBarMinHeight: 20, + scrollBarColor: "#808BA4", + scrollBarMargin: 4, + }; + }, + {}, + ], + 529: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("./attributes"), + o = t("../../plots/layout_attributes"), + s = t("./helpers"); + e.exports = function (t, e, r) { + for ( + var l, c, u, f, h = t.legend || {}, p = {}, d = 0, g = "normal", m = 0; + m < r.length; + m++ + ) { + var v = r[m]; + (s.legendGetsTrace(v) && (d++, n.traceIs(v, "pie") && d++), + ((n.traceIs(v, "bar") && "stack" === e.barmode) || + -1 !== ["tonextx", "tonexty"].indexOf(v.fill)) && + (g = s.isGrouped({ traceorder: g }) + ? "grouped+reversed" + : "reversed"), + void 0 !== v.legendgroup && + "" !== v.legendgroup && + (g = s.isReversed({ traceorder: g }) + ? "reversed+grouped" + : "grouped")); + } + function y(t, e) { + return i.coerce(h, p, a, t, e); + } + if (!1 !== i.coerce(t, e, o, "showlegend", d > 1)) { + if ( + ((e.legend = p), + y("bgcolor", e.paper_bgcolor), + y("bordercolor"), + y("borderwidth"), + i.coerceFont(y, "font", e.font), + y("orientation"), + "h" === p.orientation) + ) { + var x = t.xaxis; + x && x.rangeslider && x.rangeslider.visible + ? ((l = 0), (u = "left"), (c = 1.1), (f = "bottom")) + : ((l = 0), (u = "left"), (c = -0.1), (f = "top")); + } + (y("traceorder", g), + s.isGrouped(e.legend) && y("tracegroupgap"), + y("x", l), + y("xanchor", u), + y("y", c), + y("yanchor", f), + i.noneOrAll(h, p, ["x", "y"])); + } + }; + }, + { + "../../lib": 602, + "../../plots/layout_attributes": 701, + "../../registry": 732, + "./attributes": 527, + "./helpers": 533, + }, + ], + 530: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../registry"), + s = t("../../lib/events"), + l = t("../dragelement"), + c = t("../drawing"), + u = t("../color"), + f = t("../../lib/svg_text_utils"), + h = t("./handle_click"), + p = t("./constants"), + d = t("../../constants/interactions"), + g = t("../../constants/alignment"), + m = g.LINE_SPACING, + v = g.FROM_TL, + y = g.FROM_BR, + x = t("./get_legend_data"), + b = t("./style"), + _ = t("./helpers"), + w = t("./anchor_utils"), + k = d.DBLCLICKDELAY; + function M(t, e, r, n, i) { + var a = r.data()[0][0].trace, + o = { + event: i, + node: r.node(), + curveNumber: a.index, + expandedIndex: a._expandedIndex, + data: t.data, + layout: t.layout, + frames: t._transitionData._frames, + config: t._context, + fullData: t._fullData, + fullLayout: t._fullLayout, + }; + if ( + (a._group && (o.group = a._group), + "pie" === a.type && (o.label = r.datum()[0].label), + !1 !== s.triggerHandler(t, "plotly_legendclick", o)) + ) + if (1 === n) + e._clickTimeout = setTimeout(function () { + h(r, t, n); + }, k); + else if (2 === n) { + (e._clickTimeout && clearTimeout(e._clickTimeout), + (t._legendMouseDownTime = 0), + !1 !== s.triggerHandler(t, "plotly_legenddoubleclick", o) && + h(r, t, n)); + } + } + function A(t, e, r) { + var n = t.data()[0][0], + a = e._fullLayout, + s = n.trace, + l = o.traceIs(s, "pie"), + u = s.index, + h = l ? n.label : s.name, + p = e._context.edits.legendText && !l, + d = i.ensureSingle(t, "text", "legendtext"); + function g(r) { + f.convertToTspans(r, e, function () { + !(function (t, e) { + var r = t.data()[0][0]; + if (!r.trace.showlegend) return void t.remove(); + var n, + i, + a = t.select("g[class*=math-group]"), + o = a.node(), + s = e._fullLayout.legend.font.size * m; + if (o) { + var l = c.bBox(o); + ((n = l.height), (i = l.width), c.setTranslate(a, 0, n / 4)); + } else { + var u = t.select(".legendtext"), + h = f.lineCount(u), + p = u.node(); + ((n = s * h), (i = p ? c.bBox(p).width : 0)); + var d = s * (0.3 + (1 - h) / 2); + f.positionText(u, 40, d); + } + ((n = Math.max(n, 16) + 3), (r.height = n), (r.width = i)); + })(t, e); + }); + } + (d + .attr("text-anchor", "start") + .classed("user-select-none", !0) + .call(c.font, a.legend.font) + .text(p ? T(h, r) : h), + p + ? d + .call(f.makeEditable, { gd: e, text: h }) + .call(g) + .on("edit", function (t) { + this.text(T(t, r)).call(g); + var a = n.trace._fullInput || {}, + s = {}; + if (o.hasTransform(a, "groupby")) { + var l = o.getTransformIndices(a, "groupby"), + c = l[l.length - 1], + f = i.keyedContainer( + a, + "transforms[" + c + "].styles", + "target", + "value.name", + ); + (f.set(n.trace._group, t), (s = f.constructUpdate())); + } else s.name = t; + return o.call("restyle", e, s, u); + }) + : g(d)); + } + function T(t, e) { + var r = Math.max(4, e); + if (t && t.trim().length >= r / 2) return t; + for (var n = r - (t = t || "").length; n > 0; n--) t += " "; + return t; + } + function S(t, e) { + var r, + a = 1, + o = i.ensureSingle(t, "rect", "legendtoggle", function (t) { + t.style("cursor", "pointer") + .attr("pointer-events", "all") + .call(u.fill, "rgba(0,0,0,0)"); + }); + (o.on("mousedown", function () { + (r = new Date().getTime()) - e._legendMouseDownTime < k + ? (a += 1) + : ((a = 1), (e._legendMouseDownTime = r)); + }), + o.on("mouseup", function () { + if (!e._dragged && !e._editing) { + var r = e._fullLayout.legend; + (new Date().getTime() - e._legendMouseDownTime > k && + (a = Math.max(a - 1, 1)), + M(e, r, t, a, n.event)); + } + })); + } + function C(t, e, r) { + var i = t._fullLayout, + a = i.legend, + o = a.borderwidth, + s = _.isGrouped(a), + l = 0; + if (((a._width = 0), (a._height = 0), _.isVertical(a))) + (s && + e.each(function (t, e) { + c.setTranslate(this, 0, e * a.tracegroupgap); + }), + r.each(function (t) { + var e = t[0], + r = e.height, + n = e.width; + (c.setTranslate(this, o, 5 + o + a._height + r / 2), + (a._height += r), + (a._width = Math.max(a._width, n))); + }), + (a._width += 45 + 2 * o), + (a._height += 10 + 2 * o), + s && (a._height += (a._lgroupsLength - 1) * a.tracegroupgap), + (l = 40)); + else if (s) { + for (var u = [a._width], f = e.data(), h = 0, p = f.length; h < p; h++) { + var d = f[h].map(function (t) { + return t[0].width; + }), + g = 40 + Math.max.apply(null, d); + ((a._width += a.tracegroupgap + g), u.push(a._width)); + } + (e.each(function (t, e) { + c.setTranslate(this, u[e], 0); + }), + e.each(function () { + var t = 0; + (n + .select(this) + .selectAll("g.traces") + .each(function (e) { + var r = e[0].height; + (c.setTranslate(this, 0, 5 + o + t + r / 2), (t += r)); + }), + (a._height = Math.max(a._height, t))); + }), + (a._height += 10 + 2 * o), + (a._width += 2 * o)); + } else { + var m, + v = 0, + y = 0, + x = 0, + b = 0, + w = 0, + k = a.tracegroupgap || 5; + (r.each(function (t) { + ((x = Math.max(40 + t[0].width, x)), (w += 40 + t[0].width + k)); + }), + (m = i.width - (i.margin.r + i.margin.l) > o + w - k), + r.each(function (t) { + var e = t[0], + r = m ? 40 + t[0].width : x; + (o + b + k + r > i.width - (i.margin.r + i.margin.l) && + ((b = 0), (v += y), (a._height = a._height + y), (y = 0)), + c.setTranslate(this, o + b, 5 + o + e.height / 2 + v), + (a._width += k + r), + (a._height = Math.max(a._height, e.height)), + (b += k + r), + (y = Math.max(e.height, y))); + }), + (a._width += 2 * o), + (a._height += 10 + 2 * o)); + } + ((a._width = Math.ceil(a._width)), + (a._height = Math.ceil(a._height)), + r.each(function (e) { + var r = e[0], + i = n.select(this).select(".legendtoggle"); + c.setRect( + i, + 0, + -r.height / 2, + (t._context.edits.legendText ? 0 : a._width) + l, + r.height, + ); + })); + } + function E(t) { + var e = t._fullLayout.legend, + r = "left"; + w.isRightAnchor(e) ? (r = "right") : w.isCenterAnchor(e) && (r = "center"); + var n = "top"; + (w.isBottomAnchor(e) + ? (n = "bottom") + : w.isMiddleAnchor(e) && (n = "middle"), + a.autoMargin(t, "legend", { + x: e.x, + y: e.y, + l: e._width * v[r], + r: e._width * y[r], + b: e._height * y[n], + t: e._height * v[n], + })); + } + e.exports = function (t) { + var e = t._fullLayout, + r = "legend" + e._uid; + if (e._infolayer && t.calcdata) { + t._legendMouseDownTime || (t._legendMouseDownTime = 0); + var s = e.legend, + f = e.showlegend && x(t.calcdata, s), + h = e.hiddenlabels || []; + if (!e.showlegend || !f.length) + return ( + e._infolayer.selectAll(".legend").remove(), + e._topdefs.select("#" + r).remove(), + void a.autoMargin(t, "legend") + ); + for (var d = 0, g = 0; g < f.length; g++) + for (var m = 0; m < f[g].length; m++) { + var _ = f[g][m][0], + k = _.trace, + T = o.traceIs(k, "pie") ? _.label : k.name; + d = Math.max(d, (T && T.length) || 0); + } + var L = !1, + z = i.ensureSingle(e._infolayer, "g", "legend", function (t) { + (t.attr("pointer-events", "all"), (L = !0)); + }), + P = i.ensureSingleById(e._topdefs, "clipPath", r, function (t) { + t.append("rect"); + }), + D = i.ensureSingle(z, "rect", "bg", function (t) { + t.attr("shape-rendering", "crispEdges"); + }); + D.call(u.stroke, s.bordercolor) + .call(u.fill, s.bgcolor) + .style("stroke-width", s.borderwidth + "px"); + var O = i.ensureSingle(z, "g", "scrollbox"), + I = i.ensureSingle(z, "rect", "scrollbar", function (t) { + t.attr({ rx: 20, ry: 3, width: 0, height: 0 }).call( + u.fill, + "#808BA4", + ); + }), + R = O.selectAll("g.groups").data(f); + (R.enter().append("g").attr("class", "groups"), R.exit().remove()); + var B = R.selectAll("g.traces").data(i.identity); + (B.enter().append("g").attr("class", "traces"), + B.exit().remove(), + B.call(b, t) + .style("opacity", function (t) { + var e = t[0].trace; + return o.traceIs(e, "pie") + ? -1 !== h.indexOf(t[0].label) + ? 0.5 + : 1 + : "legendonly" === e.visible + ? 0.5 + : 1; + }) + .each(function () { + n.select(this).call(A, t, d).call(S, t); + }), + L && (C(t, R, B), E(t))); + var F = e.width, + N = e.height; + (C(t, R, B), + s._height > N + ? (function (t) { + var e = t._fullLayout.legend, + r = "left"; + w.isRightAnchor(e) + ? (r = "right") + : w.isCenterAnchor(e) && (r = "center"); + a.autoMargin(t, "legend", { + x: e.x, + y: 0.5, + l: e._width * v[r], + r: e._width * y[r], + b: 0, + t: 0, + }); + })(t) + : E(t)); + var j = e._size, + V = j.l + j.w * s.x, + U = j.t + j.h * (1 - s.y); + (w.isRightAnchor(s) + ? (V -= s._width) + : w.isCenterAnchor(s) && (V -= s._width / 2), + w.isBottomAnchor(s) + ? (U -= s._height) + : w.isMiddleAnchor(s) && (U -= s._height / 2)); + var q = s._width, + H = j.w; + q > H + ? ((V = j.l), (q = H)) + : (V + q > F && (V = F - q), + V < 0 && (V = 0), + (q = Math.min(F - V, s._width))); + var G, + W, + Y, + X, + Z = s._height, + J = j.h; + if ( + (Z > J + ? ((U = j.t), (Z = J)) + : (U + Z > N && (U = N - Z), + U < 0 && (U = 0), + (Z = Math.min(N - U, s._height))), + c.setTranslate(z, V, U), + I.on(".drag", null), + z.on("wheel", null), + s._height <= Z || t._context.staticPlot) + ) + (D.attr({ + width: q - s.borderwidth, + height: Z - s.borderwidth, + x: s.borderwidth / 2, + y: s.borderwidth / 2, + }), + c.setTranslate(O, 0, 0), + P.select("rect").attr({ + width: q - 2 * s.borderwidth, + height: Z - 2 * s.borderwidth, + x: s.borderwidth, + y: s.borderwidth, + }), + c.setClipUrl(O, r), + c.setRect(I, 0, 0, 0, 0), + delete s._scrollY); + else { + var K, + Q, + $ = Math.max(p.scrollBarMinHeight, (Z * Z) / s._height), + tt = Z - $ - 2 * p.scrollBarMargin, + et = s._height - Z, + rt = tt / et, + nt = Math.min(s._scrollY || 0, et); + (D.attr({ + width: q - 2 * s.borderwidth + p.scrollBarWidth + p.scrollBarMargin, + height: Z - s.borderwidth, + x: s.borderwidth / 2, + y: s.borderwidth / 2, + }), + P.select("rect").attr({ + width: q - 2 * s.borderwidth + p.scrollBarWidth + p.scrollBarMargin, + height: Z - 2 * s.borderwidth, + x: s.borderwidth, + y: s.borderwidth + nt, + }), + c.setClipUrl(O, r), + at(nt, $, rt), + z.on("wheel", function () { + (at( + (nt = i.constrain( + s._scrollY + (n.event.deltaY / tt) * et, + 0, + et, + )), + $, + rt, + ), + 0 !== nt && nt !== et && n.event.preventDefault()); + })); + var it = n.behavior + .drag() + .on("dragstart", function () { + ((K = n.event.sourceEvent.clientY), (Q = nt)); + }) + .on("drag", function () { + var t = n.event.sourceEvent; + 2 === t.buttons || + t.ctrlKey || + at((nt = i.constrain((t.clientY - K) / rt + Q, 0, et)), $, rt); + }); + I.call(it); + } + if (t._context.edits.legendPosition) + (z.classed("cursor-move", !0), + l.init({ + element: z.node(), + gd: t, + prepFn: function () { + var t = c.getTranslate(z); + ((Y = t.x), (X = t.y)); + }, + moveFn: function (t, e) { + var r = Y + t, + n = X + e; + (c.setTranslate(z, r, n), + (G = l.align(r, 0, j.l, j.l + j.w, s.xanchor)), + (W = l.align(n, 0, j.t + j.h, j.t, s.yanchor))); + }, + doneFn: function () { + void 0 !== G && + void 0 !== W && + o.call("relayout", t, { "legend.x": G, "legend.y": W }); + }, + clickFn: function (r, n) { + var i = e._infolayer.selectAll("g.traces").filter(function () { + var t = this.getBoundingClientRect(); + return ( + n.clientX >= t.left && + n.clientX <= t.right && + n.clientY >= t.top && + n.clientY <= t.bottom + ); + }); + i.size() > 0 && M(t, z, i, r, n); + }, + })); + } + function at(e, r, n) { + ((s._scrollY = t._fullLayout.legend._scrollY = e), + c.setTranslate(O, 0, -e), + c.setRect(I, q, p.scrollBarMargin + e * n, p.scrollBarWidth, r), + P.select("rect").attr({ y: s.borderwidth + e })); + } + }; + }, + { + "../../constants/alignment": 574, + "../../constants/interactions": 578, + "../../lib": 602, + "../../lib/events": 590, + "../../lib/svg_text_utils": 626, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "./anchor_utils": 526, + "./constants": 528, + "./get_legend_data": 531, + "./handle_click": 532, + "./helpers": 533, + "./style": 535, + d3: 130, + }, + ], + 531: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("./helpers"); + e.exports = function (t, e) { + var r, + a, + o = {}, + s = [], + l = !1, + c = {}, + u = 0; + function f(t, r) { + if ("" !== t && i.isGrouped(e)) + -1 === s.indexOf(t) + ? (s.push(t), (l = !0), (o[t] = [[r]])) + : o[t].push([r]); + else { + var n = "~~i" + u; + (s.push(n), (o[n] = [[r]]), u++); + } + } + for (r = 0; r < t.length; r++) { + var h = t[r], + p = h[0], + d = p.trace, + g = d.legendgroup; + if (i.legendGetsTrace(d) && d.showlegend) + if (n.traceIs(d, "pie")) + for (c[g] || (c[g] = {}), a = 0; a < h.length; a++) { + var m = h[a].label; + c[g][m] || + (f(g, { label: m, color: h[a].color, i: h[a].i, trace: d }), + (c[g][m] = !0)); + } + else f(g, p); + } + if (!s.length) return []; + var v, + y, + x = s.length; + if (l && i.isGrouped(e)) + for (y = new Array(x), r = 0; r < x; r++) + ((v = o[s[r]]), (y[r] = i.isReversed(e) ? v.reverse() : v)); + else { + for (y = [new Array(x)], r = 0; r < x; r++) + ((v = o[s[r]][0]), (y[0][i.isReversed(e) ? x - r - 1 : r] = v)); + x = 1; + } + return ((e._lgroupsLength = x), y); + }; + }, + { "../../registry": 732, "./helpers": 533 }, + ], + 532: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../registry"), + a = !0; + e.exports = function (t, e, r) { + if (!e._dragged && !e._editing) { + var o, + s, + l, + c, + u, + f = e._fullLayout.hiddenlabels + ? e._fullLayout.hiddenlabels.slice() + : [], + h = t.data()[0][0], + p = e._fullData, + d = h.trace, + g = d.legendgroup, + m = {}, + v = [], + y = [], + x = []; + if ( + (1 === r && a && e.data && e._context.showTips + ? (n.notifier( + n._(e, "Double-click on legend to isolate one trace"), + "long", + ), + (a = !1)) + : (a = !1), + i.traceIs(d, "pie")) + ) { + var b = h.label, + _ = f.indexOf(b); + (1 === r + ? -1 === _ + ? f.push(b) + : f.splice(_, 1) + : 2 === r && + ((f = []), + e.calcdata[0].forEach(function (t) { + b !== t.label && f.push(t.label); + }), + e._fullLayout.hiddenlabels && + e._fullLayout.hiddenlabels.length === f.length && + -1 === _ && + (f = [])), + i.call("relayout", e, "hiddenlabels", f)); + } else { + var w, + k = g && g.length, + M = []; + if (k) + for (o = 0; o < p.length; o++) + (w = p[o]).visible && w.legendgroup === g && M.push(o); + if (1 === r) { + var A; + switch (d.visible) { + case !0: + A = "legendonly"; + break; + case !1: + A = !1; + break; + case "legendonly": + A = !0; + } + if (k) + for (o = 0; o < p.length; o++) + !1 !== p[o].visible && p[o].legendgroup === g && P(p[o], A); + else P(d, A); + } else if (2 === r) { + var T, + S, + C = !0; + for (o = 0; o < p.length; o++) + if ( + !(p[o] === d) && + !(T = k && p[o].legendgroup === g) && + !0 === p[o].visible && + !i.traceIs(p[o], "notLegendIsolatable") + ) { + C = !1; + break; + } + for (o = 0; o < p.length; o++) + if (!1 !== p[o].visible && !i.traceIs(p[o], "notLegendIsolatable")) + switch (d.visible) { + case "legendonly": + P(p[o], !0); + break; + case !0: + ((S = !!C || "legendonly"), + (T = p[o] === d || (k && p[o].legendgroup === g)), + P(p[o], !!T || S)); + } + } + for (o = 0; o < y.length; o++) + if ((l = y[o])) { + var E = l.constructUpdate(), + L = Object.keys(E); + for (s = 0; s < L.length; s++) + ((c = L[s]), ((m[c] = m[c] || [])[x[o]] = E[c])); + } + for (u = Object.keys(m), o = 0; o < u.length; o++) + for (c = u[o], s = 0; s < v.length; s++) + m[c].hasOwnProperty(s) || (m[c][s] = void 0); + i.call("restyle", e, m, v); + } + } + function z(t, e, r) { + var n = v.indexOf(t), + i = m[e]; + return ( + i || (i = m[e] = []), + -1 === v.indexOf(t) && (v.push(t), (n = v.length - 1)), + (i[n] = r), + n + ); + } + function P(t, e) { + var r = t._fullInput; + if (i.hasTransform(r, "groupby")) { + var a = y[r.index]; + if (!a) { + var o = i.getTransformIndices(r, "groupby"), + s = o[o.length - 1]; + ((a = n.keyedContainer( + r, + "transforms[" + s + "].styles", + "target", + "value.visible", + )), + (y[r.index] = a)); + } + var l = a.get(t._group); + (void 0 === l && (l = !0), + !1 !== l && a.set(t._group, e), + (x[r.index] = z(r.index, "visible", !1 !== r.visible))); + } else { + var c = !1 !== r.visible && e; + z(r.index, "visible", c); + } + } + }; + }, + { "../../lib": 602, "../../registry": 732 }, + ], + 533: [ + function (t, e, r) { + "use strict"; + ((r.legendGetsTrace = function (t) { + return t.visible && void 0 !== t.showlegend; + }), + (r.isGrouped = function (t) { + return -1 !== (t.traceorder || "").indexOf("grouped"); + }), + (r.isVertical = function (t) { + return "h" !== t.orientation; + }), + (r.isReversed = function (t) { + return -1 !== (t.traceorder || "").indexOf("reversed"); + })); + }, + {}, + ], + 534: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "component", + name: "legend", + layoutAttributes: t("./attributes"), + supplyLayoutDefaults: t("./defaults"), + draw: t("./draw"), + style: t("./style"), + }; + }, + { "./attributes": 527, "./defaults": 529, "./draw": 530, "./style": 535 }, + ], + 535: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../lib"), + o = t("../drawing"), + s = t("../color"), + l = t("../../traces/scatter/subtypes"), + c = t("../../traces/pie/style_one"); + e.exports = function (t, e) { + t.each(function (t) { + var e = n.select(this), + r = a.ensureSingle(e, "g", "layers"); + (r.style("opacity", t[0].trace.opacity), + r + .selectAll("g.legendfill") + .data([t]) + .enter() + .append("g") + .classed("legendfill", !0), + r + .selectAll("g.legendlines") + .data([t]) + .enter() + .append("g") + .classed("legendlines", !0)); + var i = r.selectAll("g.legendsymbols").data([t]); + (i.enter().append("g").classed("legendsymbols", !0), + i + .selectAll("g.legendpoints") + .data([t]) + .enter() + .append("g") + .classed("legendpoints", !0)); + }) + .each(function (t) { + var e = t[0].trace, + r = e.marker || {}, + a = r.line || {}, + o = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendbar") + .data(i.traceIs(e, "bar") ? [t] : []); + (o + .enter() + .append("path") + .classed("legendbar", !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", "translate(20,0)"), + o.exit().remove(), + o.each(function (t) { + var e = n.select(this), + i = t[0], + o = (i.mlw + 1 || a.width + 1) - 1; + (e.style("stroke-width", o + "px").call(s.fill, i.mc || r.color), + o && e.call(s.stroke, i.mlc || a.color)); + })); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendbox") + .data(i.traceIs(e, "box-violin") && e.visible ? [t] : []); + (r + .enter() + .append("path") + .classed("legendbox", !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", "translate(20,0)"), + r.exit().remove(), + r.each(function () { + var t = e.line.width, + r = n.select(this); + (r.style("stroke-width", t + "px").call(s.fill, e.fillcolor), + t && s.stroke(r, e.line.color)); + })); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendpie") + .data(i.traceIs(e, "pie") && e.visible ? [t] : []); + (r + .enter() + .append("path") + .classed("legendpie", !0) + .attr("d", "M6,6H-6V-6H6Z") + .attr("transform", "translate(20,0)"), + r.exit().remove(), + r.size() && r.call(c, t[0], e)); + }) + .each(function (t) { + var e = t[0].trace, + r = e.visible && e.fill && "none" !== e.fill, + i = l.hasLines(e), + a = e.contours; + a && + "constraint" === a.type && + ((i = a.showlines), (r = "=" !== a._operation)); + var s = n + .select(this) + .select(".legendfill") + .selectAll("path") + .data(r ? [t] : []); + (s.enter().append("path").classed("js-fill", !0), + s.exit().remove(), + s.attr("d", "M5,0h30v6h-30z").call(o.fillGroupStyle)); + var c = n + .select(this) + .select(".legendlines") + .selectAll("path") + .data(i ? [t] : []); + (c.enter().append("path").classed("js-line", !0).attr("d", "M5,0h30"), + c.exit().remove(), + c.call(o.lineGroupStyle)); + }) + .each(function (t) { + var r, + i, + s = t[0], + c = s.trace, + u = l.hasMarkers(c), + f = l.hasText(c), + h = l.hasLines(c); + function p(t, e, r) { + var n = a.nestedProperty(c, t).get(), + i = Array.isArray(n) && e ? e(n) : n; + if (r) { + if (i < r[0]) return r[0]; + if (i > r[1]) return r[1]; + } + return i; + } + function d(t) { + return t[0]; + } + if (u || f || h) { + var g = {}, + m = {}; + (u && + ((g.mc = p("marker.color", d)), + (g.mo = p("marker.opacity", a.mean, [0.2, 1])), + (g.ms = p("marker.size", a.mean, [2, 16])), + (g.mlc = p("marker.line.color", d)), + (g.mlw = p("marker.line.width", a.mean, [0, 5])), + (m.marker = { sizeref: 1, sizemin: 1, sizemode: "diameter" })), + h && (m.line = { width: p("line.width", d, [0, 10]) }), + f && + ((g.tx = "Aa"), + (g.tp = p("textposition", d)), + (g.ts = 10), + (g.tc = p("textfont.color", d)), + (g.tf = p("textfont.family", d))), + (r = [a.minExtend(s, g)]), + ((i = a.minExtend(c, m)).selectedpoints = null)); + } + var v = n.select(this).select("g.legendpoints"), + y = v.selectAll("path.scatterpts").data(u ? r : []); + (y + .enter() + .append("path") + .classed("scatterpts", !0) + .attr("transform", "translate(20,0)"), + y.exit().remove(), + y.call(o.pointStyle, i, e), + u && (r[0].mrc = 3)); + var x = v.selectAll("g.pointtext").data(f ? r : []); + (x + .enter() + .append("g") + .classed("pointtext", !0) + .append("text") + .attr("transform", "translate(20,0)"), + x.exit().remove(), + x.selectAll("text").call(o.textPointStyle, i, e)); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendcandle") + .data("candlestick" === e.type && e.visible ? [t, t] : []); + (r + .enter() + .append("path") + .classed("legendcandle", !0) + .attr("d", function (t, e) { + return e ? "M-15,0H-8M-8,6V-6H8Z" : "M15,0H8M8,-6V6H-8Z"; + }) + .attr("transform", "translate(20,0)") + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = e[r ? "increasing" : "decreasing"], + a = i.line.width, + o = n.select(this); + (o.style("stroke-width", a + "px").call(s.fill, i.fillcolor), + a && s.stroke(o, i.line.color)); + })); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select("g.legendpoints") + .selectAll("path.legendohlc") + .data("ohlc" === e.type && e.visible ? [t, t] : []); + (r + .enter() + .append("path") + .classed("legendohlc", !0) + .attr("d", function (t, e) { + return e ? "M-15,0H0M-8,-6V0" : "M15,0H0M8,6V0"; + }) + .attr("transform", "translate(20,0)") + .style("stroke-miterlimit", 1), + r.exit().remove(), + r.each(function (t, r) { + var i = e[r ? "increasing" : "decreasing"], + a = i.line.width, + l = n.select(this); + (l.style("fill", "none").call(o.dashLine, i.line.dash, a), + a && s.stroke(l, i.line.color)); + })); + }); + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "../../traces/pie/style_one": 912, + "../../traces/scatter/subtypes": 948, + "../color": 474, + "../drawing": 499, + d3: 130, + }, + ], + 536: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../plots/plots"), + a = t("../../plots/cartesian/axis_ids"), + o = t("../../lib"), + s = t("../../../build/ploticon"), + l = o._, + c = (e.exports = {}); + function u(t, e) { + var r, + i, + o = e.currentTarget, + s = o.getAttribute("data-attr"), + l = o.getAttribute("data-val") || !0, + c = t._fullLayout, + u = {}, + f = a.list(t, null, !0), + h = "on"; + if ("zoom" === s) { + var p, + d = "in" === l ? 0.5 : 2, + g = (1 + d) / 2, + m = (1 - d) / 2; + for (i = 0; i < f.length; i++) + if (!(r = f[i]).fixedrange) + if (((p = r._name), "auto" === l)) u[p + ".autorange"] = !0; + else if ("reset" === l) { + if (void 0 === r._rangeInitial) u[p + ".autorange"] = !0; + else { + var v = r._rangeInitial.slice(); + ((u[p + ".range[0]"] = v[0]), (u[p + ".range[1]"] = v[1])); + } + void 0 !== r._showSpikeInitial && + ((u[p + ".showspikes"] = r._showSpikeInitial), + "on" !== h || r._showSpikeInitial || (h = "off")); + } else { + var y = [r.r2l(r.range[0]), r.r2l(r.range[1])], + x = [g * y[0] + m * y[1], g * y[1] + m * y[0]]; + ((u[p + ".range[0]"] = r.l2r(x[0])), + (u[p + ".range[1]"] = r.l2r(x[1]))); + } + c._cartesianSpikesEnabled = h; + } else { + if ("hovermode" !== s || ("x" !== l && "y" !== l)) { + if ("hovermode" === s && "closest" === l) { + for (i = 0; i < f.length; i++) + ((r = f[i]), "on" !== h || r.showspikes || (h = "off")); + c._cartesianSpikesEnabled = h; + } + } else ((l = c._isHoriz ? "y" : "x"), o.setAttribute("data-val", l)); + u[s] = l; + } + n.call("relayout", t, u); + } + function f(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout._subplots.gl3d, + s = {}, + l = i.split("."), + c = 0; + c < o.length; + c++ + ) + s[o[c] + "." + l[1]] = a; + var u = "pan" === a ? a : "zoom"; + ((s.dragmode = u), n.call("relayout", t, s)); + } + function h(t, e) { + for ( + var r = e.currentTarget.getAttribute("data-attr"), + i = t._fullLayout, + a = i._subplots.gl3d, + s = {}, + l = 0; + l < a.length; + l++ + ) { + var c = a[l], + u = c + ".camera", + f = i[c]._scene; + "resetDefault" === r + ? (s[u] = null) + : "resetLastSave" === r && (s[u] = o.extendDeep({}, f.cameraInitial)); + } + n.call("relayout", t, s); + } + function p(t, e) { + var r = e.currentTarget, + i = r._previousVal || !1, + a = t.layout, + s = t._fullLayout, + l = s._subplots.gl3d, + c = ["xaxis", "yaxis", "zaxis"], + u = ["showspikes", "spikesides", "spikethickness", "spikecolor"], + f = {}, + h = {}, + p = {}; + if (i) ((p = o.extendDeep(a, i)), (r._previousVal = null)); + else { + p = { "allaxes.showspikes": !1 }; + for (var d = 0; d < l.length; d++) { + var g = l[d], + m = s[g], + v = (f[g] = {}); + ((v.hovermode = m.hovermode), (p[g + ".hovermode"] = !1)); + for (var y = 0; y < 3; y++) { + var x = c[y]; + h = v[x] = {}; + for (var b = 0; b < u.length; b++) { + var _ = u[b]; + h[_] = m[x][_]; + } + } + } + r._previousVal = o.extendDeep({}, f); + } + n.call("relayout", t, p); + } + function d(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute("data-attr"), + a = r.getAttribute("data-val") || !0, + o = t._fullLayout, + s = o._subplots.geo, + l = 0; + l < s.length; + l++ + ) { + var c = s[l], + u = o[c]; + if ("zoom" === i) { + var f = u.projection.scale, + h = "in" === a ? 2 * f : 0.5 * f; + n.call("relayout", t, c + ".projection.scale", h); + } else "reset" === i && m(t, "geo"); + } + } + function g(t) { + var e, + r = t._fullLayout; + e = r._has("cartesian") ? (r._isHoriz ? "y" : "x") : "closest"; + var i = !t._fullLayout.hovermode && e; + n.call("relayout", t, "hovermode", i); + } + function m(t, e) { + for ( + var r = t._fullLayout, i = r._subplots[e], a = {}, o = 0; + o < i.length; + o++ + ) + for ( + var s = i[o], l = r[s]._subplot.viewInitial, c = Object.keys(l), u = 0; + u < c.length; + u++ + ) { + var f = c[u]; + a[s + "." + f] = l[f]; + } + n.call("relayout", t, a); + } + ((c.toImage = { + name: "toImage", + title: function (t) { + return l(t, "Download plot as a png"); + }, + icon: s.camera, + click: function (t) { + var e = "png"; + (o.notifier( + l(t, "Taking snapshot - this may take a few seconds"), + "long", + ), + o.isIE() && + (o.notifier( + l(t, "IE only supports svg. Changing format to svg."), + "long", + ), + (e = "svg")), + n + .call("downloadImage", t, { format: e }) + .then(function (e) { + o.notifier(l(t, "Snapshot succeeded") + " - " + e, "long"); + }) + .catch(function () { + o.notifier( + l(t, "Sorry, there was a problem downloading your snapshot!"), + "long", + ); + })); + }, + }), + (c.sendDataToCloud = { + name: "sendDataToCloud", + title: function (t) { + return l(t, "Edit in Chart Studio"); + }, + icon: s.disk, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (c.zoom2d = { + name: "zoom2d", + title: function (t) { + return l(t, "Zoom"); + }, + attr: "dragmode", + val: "zoom", + icon: s.zoombox, + click: u, + }), + (c.pan2d = { + name: "pan2d", + title: function (t) { + return l(t, "Pan"); + }, + attr: "dragmode", + val: "pan", + icon: s.pan, + click: u, + }), + (c.select2d = { + name: "select2d", + title: function (t) { + return l(t, "Box Select"); + }, + attr: "dragmode", + val: "select", + icon: s.selectbox, + click: u, + }), + (c.lasso2d = { + name: "lasso2d", + title: function (t) { + return l(t, "Lasso Select"); + }, + attr: "dragmode", + val: "lasso", + icon: s.lasso, + click: u, + }), + (c.zoomIn2d = { + name: "zoomIn2d", + title: function (t) { + return l(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: s.zoom_plus, + click: u, + }), + (c.zoomOut2d = { + name: "zoomOut2d", + title: function (t) { + return l(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: s.zoom_minus, + click: u, + }), + (c.autoScale2d = { + name: "autoScale2d", + title: function (t) { + return l(t, "Autoscale"); + }, + attr: "zoom", + val: "auto", + icon: s.autoscale, + click: u, + }), + (c.resetScale2d = { + name: "resetScale2d", + title: function (t) { + return l(t, "Reset axes"); + }, + attr: "zoom", + val: "reset", + icon: s.home, + click: u, + }), + (c.hoverClosestCartesian = { + name: "hoverClosestCartesian", + title: function (t) { + return l(t, "Show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: s.tooltip_basic, + gravity: "ne", + click: u, + }), + (c.hoverCompareCartesian = { + name: "hoverCompareCartesian", + title: function (t) { + return l(t, "Compare data on hover"); + }, + attr: "hovermode", + val: function (t) { + return t._fullLayout._isHoriz ? "y" : "x"; + }, + icon: s.tooltip_compare, + gravity: "ne", + click: u, + }), + (c.zoom3d = { + name: "zoom3d", + title: function (t) { + return l(t, "Zoom"); + }, + attr: "scene.dragmode", + val: "zoom", + icon: s.zoombox, + click: f, + }), + (c.pan3d = { + name: "pan3d", + title: function (t) { + return l(t, "Pan"); + }, + attr: "scene.dragmode", + val: "pan", + icon: s.pan, + click: f, + }), + (c.orbitRotation = { + name: "orbitRotation", + title: function (t) { + return l(t, "Orbital rotation"); + }, + attr: "scene.dragmode", + val: "orbit", + icon: s["3d_rotate"], + click: f, + }), + (c.tableRotation = { + name: "tableRotation", + title: function (t) { + return l(t, "Turntable rotation"); + }, + attr: "scene.dragmode", + val: "turntable", + icon: s["z-axis"], + click: f, + }), + (c.resetCameraDefault3d = { + name: "resetCameraDefault3d", + title: function (t) { + return l(t, "Reset camera to default"); + }, + attr: "resetDefault", + icon: s.home, + click: h, + }), + (c.resetCameraLastSave3d = { + name: "resetCameraLastSave3d", + title: function (t) { + return l(t, "Reset camera to last save"); + }, + attr: "resetLastSave", + icon: s.movie, + click: h, + }), + (c.hoverClosest3d = { + name: "hoverClosest3d", + title: function (t) { + return l(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: s.tooltip_basic, + gravity: "ne", + click: p, + }), + (c.zoomInGeo = { + name: "zoomInGeo", + title: function (t) { + return l(t, "Zoom in"); + }, + attr: "zoom", + val: "in", + icon: s.zoom_plus, + click: d, + }), + (c.zoomOutGeo = { + name: "zoomOutGeo", + title: function (t) { + return l(t, "Zoom out"); + }, + attr: "zoom", + val: "out", + icon: s.zoom_minus, + click: d, + }), + (c.resetGeo = { + name: "resetGeo", + title: function (t) { + return l(t, "Reset"); + }, + attr: "reset", + val: null, + icon: s.autoscale, + click: d, + }), + (c.hoverClosestGeo = { + name: "hoverClosestGeo", + title: function (t) { + return l(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: s.tooltip_basic, + gravity: "ne", + click: g, + }), + (c.hoverClosestGl2d = { + name: "hoverClosestGl2d", + title: function (t) { + return l(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: s.tooltip_basic, + gravity: "ne", + click: g, + }), + (c.hoverClosestPie = { + name: "hoverClosestPie", + title: function (t) { + return l(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: "closest", + icon: s.tooltip_basic, + gravity: "ne", + click: g, + }), + (c.toggleHover = { + name: "toggleHover", + title: function (t) { + return l(t, "Toggle show closest data on hover"); + }, + attr: "hovermode", + val: null, + toggle: !0, + icon: s.tooltip_basic, + gravity: "ne", + click: function (t, e) { + (g(t), p(t, e)); + }, + }), + (c.resetViews = { + name: "resetViews", + title: function (t) { + return l(t, "Reset views"); + }, + icon: s.home, + click: function (t, e) { + var r = e.currentTarget; + (r.setAttribute("data-attr", "zoom"), + r.setAttribute("data-val", "reset"), + u(t, e), + r.setAttribute("data-attr", "resetLastSave"), + h(t, e), + m(t, "geo"), + m(t, "mapbox")); + }, + }), + (c.toggleSpikelines = { + name: "toggleSpikelines", + title: function (t) { + return l(t, "Toggle Spike Lines"); + }, + icon: s.spikeline, + attr: "_cartesianSpikesEnabled", + val: "on", + click: function (t) { + var e = t._fullLayout; + e._cartesianSpikesEnabled = + "on" === e._cartesianSpikesEnabled ? "off" : "on"; + var r = (function (t) { + for ( + var e, r, n = t._fullLayout, i = a.list(t, null, !0), o = {}, s = 0; + s < i.length; + s++ + ) + ((e = i[s]), + (r = e._name), + (o[r + ".showspikes"] = + "on" === n._cartesianSpikesEnabled || e._showSpikeInitial)); + return o; + })(t); + n.call("relayout", t, r); + }, + }), + (c.resetViewMapbox = { + name: "resetViewMapbox", + title: function (t) { + return l(t, "Reset view"); + }, + attr: "reset", + icon: s.home, + click: function (t) { + m(t, "mapbox"); + }, + })); + }, + { + "../../../build/ploticon": 2, + "../../lib": 602, + "../../plots/cartesian/axis_ids": 651, + "../../plots/plots": 710, + "../../registry": 732, + }, + ], + 537: [ + function (t, e, r) { + "use strict"; + r.manage = t("./manage"); + }, + { "./manage": 538 }, + ], + 538: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axis_ids"), + i = t("../../traces/scatter/subtypes"), + a = t("../../registry"), + o = t("./modebar"), + s = t("./buttons"); + e.exports = function (t) { + var e = t._fullLayout, + r = t._context, + l = e._modeBar; + if (r.displayModeBar) { + if (!Array.isArray(r.modeBarButtonsToRemove)) + throw new Error( + [ + "*modeBarButtonsToRemove* configuration options", + "must be an array.", + ].join(" "), + ); + if (!Array.isArray(r.modeBarButtonsToAdd)) + throw new Error( + [ + "*modeBarButtonsToAdd* configuration options", + "must be an array.", + ].join(" "), + ); + var c, + u = r.modeBarButtons; + ((c = + Array.isArray(u) && u.length + ? (function (t) { + for (var e = 0; e < t.length; e++) + for (var r = t[e], n = 0; n < r.length; n++) { + var i = r[n]; + if ("string" == typeof i) { + if (void 0 === s[i]) + throw new Error( + [ + "*modeBarButtons* configuration options", + "invalid button name", + ].join(" "), + ); + t[e][n] = s[i]; + } + } + return t; + })(u) + : (function (t, e, r) { + var o = t._fullLayout, + l = t._fullData, + c = o._has("cartesian"), + u = o._has("gl3d"), + f = o._has("geo"), + h = o._has("pie"), + p = o._has("gl2d"), + d = o._has("ternary"), + g = o._has("mapbox"), + m = o._has("polar"), + v = (function (t) { + for ( + var e = n.list({ _fullLayout: t }, null, !0), r = 0; + r < e.length; + r++ + ) + if (!e[r].fixedrange) return !1; + return !0; + })(o), + y = []; + function x(t) { + if (t.length) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n]; + -1 === e.indexOf(i) && r.push(s[i]); + } + y.push(r); + } + } + x(["toImage", "sendDataToCloud"]); + var b = [], + _ = [], + w = [], + k = []; + (c || p || h || d) + f + u + g + m > 1 + ? ((_ = ["toggleHover"]), (w = ["resetViews"])) + : f + ? ((b = ["zoomInGeo", "zoomOutGeo"]), + (_ = ["hoverClosestGeo"]), + (w = ["resetGeo"])) + : u + ? ((_ = ["hoverClosest3d"]), + (w = ["resetCameraDefault3d", "resetCameraLastSave3d"])) + : g + ? ((_ = ["toggleHover"]), (w = ["resetViewMapbox"])) + : (_ = p + ? ["hoverClosestGl2d"] + : h + ? ["hoverClosestPie"] + : ["toggleHover"]); + c && + (_ = [ + "toggleSpikelines", + "hoverClosestCartesian", + "hoverCompareCartesian", + ]); + (!c && !p) || + v || + ((b = ["zoomIn2d", "zoomOut2d", "autoScale2d"]), + "resetViews" !== w[0] && (w = ["resetScale2d"])); + u + ? (k = ["zoom3d", "pan3d", "orbitRotation", "tableRotation"]) + : ((c || p) && !v) || d + ? (k = ["zoom2d", "pan2d"]) + : g || f + ? (k = ["pan2d"]) + : m && (k = ["zoom2d"]); + (function (t) { + for (var e = !1, r = 0; r < t.length && !e; r++) { + var n = t[r]; + n._module && + n._module.selectPoints && + (a.traceIs(n, "scatter-like") + ? (i.hasMarkers(n) || i.hasText(n)) && (e = !0) + : (a.traceIs(n, "box-violin") && + "all" !== n.boxpoints && + "all" !== n.points) || + (e = !0)); + } + return e; + })(l) && k.push("select2d", "lasso2d"); + return ( + x(k), + x(b.concat(w)), + x(_), + (function (t, e) { + if (e.length) + if (Array.isArray(e[0])) + for (var r = 0; r < e.length; r++) t.push(e[r]); + else t.push(e); + return t; + })(y, r) + ); + })(t, r.modeBarButtonsToRemove, r.modeBarButtonsToAdd)), + l ? l.update(t, c) : (e._modeBar = o(t, c))); + } else l && (l.destroy(), delete e._modeBar); + }; + }, + { + "../../plots/cartesian/axis_ids": 651, + "../../registry": 732, + "../../traces/scatter/subtypes": 948, + "./buttons": 536, + "./modebar": 539, + }, + ], + 539: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../../build/ploticon"); + function o(t) { + ((this.container = t.container), + (this.element = document.createElement("div")), + this.update(t.graphInfo, t.buttons), + this.container.appendChild(this.element)); + } + var s = o.prototype; + ((s.update = function (t, e) { + this.graphInfo = t; + var r = this.graphInfo._context; + "hover" === r.displayModeBar + ? (this.element.className = "modebar modebar--hover") + : (this.element.className = "modebar"); + var n = !this.hasButtons(e), + i = this.hasLogo !== r.displaylogo, + a = this.locale !== r.locale; + ((this.locale = r.locale), + (n || i || a) && + (this.removeAllButtons(), + this.updateButtons(e), + r.displaylogo && + (this.element.appendChild(this.getLogo()), (this.hasLogo = !0))), + this.updateActiveButton()); + }), + (s.updateButtons = function (t) { + var e = this; + ((this.buttons = t), + (this.buttonElements = []), + (this.buttonsNames = []), + this.buttons.forEach(function (t) { + var r = e.createGroup(); + (t.forEach(function (t) { + var n = t.name; + if (!n) + throw new Error("must provide button 'name' in button config"); + if (-1 !== e.buttonsNames.indexOf(n)) + throw new Error("button name '" + n + "' is taken"); + e.buttonsNames.push(n); + var i = e.createButton(t); + (e.buttonElements.push(i), r.appendChild(i)); + }), + e.element.appendChild(r)); + })); + }), + (s.createGroup = function () { + var t = document.createElement("div"); + return ((t.className = "modebar-group"), t); + }), + (s.createButton = function (t) { + var e = this, + r = document.createElement("a"); + (r.setAttribute("rel", "tooltip"), (r.className = "modebar-btn")); + var i = t.title; + (void 0 === i + ? (i = t.name) + : "function" == typeof i && (i = i(this.graphInfo)), + (i || 0 === i) && r.setAttribute("data-title", i), + void 0 !== t.attr && r.setAttribute("data-attr", t.attr)); + var o = t.val; + if ( + (void 0 !== o && + ("function" == typeof o && (o = o(this.graphInfo)), + r.setAttribute("data-val", o)), + "function" != typeof t.click) + ) + throw new Error( + "must provide button 'click' function in button config", + ); + return ( + r.addEventListener("click", function (r) { + (t.click(e.graphInfo, r), e.updateActiveButton(r.currentTarget)); + }), + r.setAttribute("data-toggle", t.toggle || !1), + t.toggle && n.select(r).classed("active", !0), + r.appendChild(this.createIcon(t.icon || a.question, t.name)), + r.setAttribute("data-gravity", t.gravity || "n"), + r + ); + }), + (s.createIcon = function (t, e) { + var r = t.ascent - t.descent, + n = "http://www.w3.org/2000/svg", + i = document.createElementNS(n, "svg"), + a = document.createElementNS(n, "path"); + (i.setAttribute("height", "1em"), + i.setAttribute("width", t.width / r + "em"), + i.setAttribute("viewBox", [0, 0, t.width, r].join(" "))); + var o = + "toggleSpikelines" === e + ? "matrix(1.5 0 0 -1.5 0 " + t.ascent + ")" + : "matrix(1 0 0 -1 0 " + t.ascent + ")"; + return ( + a.setAttribute("d", t.path), + a.setAttribute("transform", o), + i.appendChild(a), + i + ); + }), + (s.updateActiveButton = function (t) { + var e = this.graphInfo._fullLayout, + r = void 0 !== t ? t.getAttribute("data-attr") : null; + this.buttonElements.forEach(function (t) { + var a = t.getAttribute("data-val") || !0, + o = t.getAttribute("data-attr"), + s = "true" === t.getAttribute("data-toggle"), + l = n.select(t); + if (s) o === r && l.classed("active", !l.classed("active")); + else { + var c = null === o ? o : i.nestedProperty(e, o).get(); + l.classed("active", c === a); + } + }); + }), + (s.hasButtons = function (t) { + var e = this.buttons; + if (!e) return !1; + if (t.length !== e.length) return !1; + for (var r = 0; r < t.length; ++r) { + if (t[r].length !== e[r].length) return !1; + for (var n = 0; n < t[r].length; n++) + if (t[r][n].name !== e[r][n].name) return !1; + } + return !0; + }), + (s.getLogo = function () { + var t = this.createGroup(), + e = document.createElement("a"); + return ( + (e.href = "https://plot.ly/"), + (e.target = "_blank"), + e.setAttribute( + "data-title", + i._(this.graphInfo, "Produced with Plotly"), + ), + (e.className = "modebar-btn plotlyjsicon modebar-btn--logo"), + e.appendChild(this.createIcon(a.plotlylogo)), + t.appendChild(e), + t + ); + }), + (s.removeAllButtons = function () { + for (; this.element.firstChild; ) + this.element.removeChild(this.element.firstChild); + this.hasLogo = !1; + }), + (s.destroy = function () { + i.removeElement(this.container.querySelector(".modebar")); + }), + (e.exports = function (t, e) { + var r = t._fullLayout, + i = new o({ graphInfo: t, container: r._paperdiv.node(), buttons: e }); + return ( + r._privateplot && + n + .select(i.element) + .append("span") + .classed("badge-private float--left", !0) + .text("PRIVATE"), + i + ); + })); + }, + { "../../../build/ploticon": 2, "../../lib": 602, d3: 130 }, + ], + 540: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../color/attributes"), + a = t("../../lib/extend").extendFlat, + o = t("./button_attributes"); + ((o = a(o, { _isLinkedToArray: "button" })), + (e.exports = { + visible: { valType: "boolean", editType: "plot" }, + buttons: o, + x: { valType: "number", min: -2, max: 3, editType: "plot" }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + editType: "plot", + }, + y: { valType: "number", min: -2, max: 3, editType: "plot" }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "bottom", + editType: "plot", + }, + font: n({ editType: "plot" }), + bgcolor: { valType: "color", dflt: i.lightLine, editType: "plot" }, + activecolor: { valType: "color", editType: "plot" }, + bordercolor: { valType: "color", dflt: i.defaultLine, editType: "plot" }, + borderwidth: { valType: "number", min: 0, dflt: 0, editType: "plot" }, + editType: "plot", + })); + }, + { + "../../lib/extend": 591, + "../../plots/font_attributes": 674, + "../color/attributes": 473, + "./button_attributes": 541, + }, + ], + 541: [ + function (t, e, r) { + "use strict"; + e.exports = { + step: { + valType: "enumerated", + values: ["month", "year", "day", "hour", "minute", "second", "all"], + dflt: "month", + editType: "plot", + }, + stepmode: { + valType: "enumerated", + values: ["backward", "todate"], + dflt: "backward", + editType: "plot", + }, + count: { valType: "number", min: 0, dflt: 1, editType: "plot" }, + label: { valType: "string", editType: "plot" }, + editType: "plot", + }; + }, + {}, + ], + 542: [ + function (t, e, r) { + "use strict"; + e.exports = { + yPad: 0.02, + minButtonWidth: 30, + rx: 3, + ry: 3, + lightAmount: 25, + darkAmount: 10, + }; + }, + {}, + ], + 543: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../color"), + a = t("./attributes"), + o = t("./button_attributes"), + s = t("./constants"); + e.exports = function (t, e, r, l, c) { + var u = t.rangeselector || {}, + f = (e.rangeselector = {}); + function h(t, e) { + return n.coerce(u, f, a, t, e); + } + if ( + h( + "visible", + (function (t, e, r) { + var i, + a, + s = t.buttons || [], + l = (e.buttons = []); + function c(t, e) { + return n.coerce(i, a, o, t, e); + } + for (var u = 0; u < s.length; u++) + if (((i = s[u]), (a = {}), n.isPlainObject(i))) { + var f = c("step"); + ("all" !== f && + (!r || "gregorian" === r || ("month" !== f && "year" !== f) + ? c("stepmode") + : (a.stepmode = "backward"), + c("count")), + c("label"), + (a._index = u), + l.push(a)); + } + return l; + })(u, f, c).length > 0, + ) + ) { + var p = (function (t, e, r) { + for ( + var n = r.filter(function (r) { + return e[r].anchor === t._id; + }), + i = 0, + a = 0; + a < n.length; + a++ + ) { + var o = e[n[a]].domain; + o && (i = Math.max(o[1], i)); + } + return [t.domain[0], i + s.yPad]; + })(e, r, l); + (h("x", p[0]), + h("y", p[1]), + n.noneOrAll(t, e, ["x", "y"]), + h("xanchor"), + h("yanchor"), + n.coerceFont(h, "font", r.font)); + var d = h("bgcolor"); + (h("activecolor", i.contrast(d, s.lightAmount, s.darkAmount)), + h("bordercolor"), + h("borderwidth")); + } + }; + }, + { + "../../lib": 602, + "../color": 474, + "./attributes": 540, + "./button_attributes": 541, + "./constants": 542, + }, + ], + 544: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../plots/plots"), + o = t("../color"), + s = t("../drawing"), + l = t("../../lib"), + c = t("../../lib/svg_text_utils"), + u = t("../../plots/cartesian/axis_ids"), + f = t("../legend/anchor_utils"), + h = t("../../constants/alignment"), + p = h.LINE_SPACING, + d = h.FROM_TL, + g = h.FROM_BR, + m = t("./constants"), + v = t("./get_update_object"); + function y(t) { + return t._id; + } + function x(t, e, r) { + var n = l.ensureSingle(t, "rect", "selector-rect", function (t) { + t.attr("shape-rendering", "crispEdges"); + }); + (n.attr({ rx: m.rx, ry: m.ry }), + n + .call(o.stroke, e.bordercolor) + .call( + o.fill, + (function (t, e) { + return e._isActive || e._isHovered ? t.activecolor : t.bgcolor; + })(e, r), + ) + .style("stroke-width", e.borderwidth + "px")); + } + function b(t, e, r, n) { + var i; + l.ensureSingle(t, "text", "selector-text", function (t) { + t.classed("user-select-none", !0).attr("text-anchor", "middle"); + }) + .call(s.font, e.font) + .text( + ((i = r), + i.label + ? i.label + : "all" === i.step + ? "all" + : i.count + i.step.charAt(0)), + ) + .call(function (t) { + c.convertToTspans(t, n); + }); + } + e.exports = function (t) { + var e = t._fullLayout._infolayer.selectAll(".rangeselector").data( + (function (t) { + for (var e = u.list(t, "x", !0), r = [], n = 0; n < e.length; n++) { + var i = e[n]; + i.rangeselector && i.rangeselector.visible && r.push(i); + } + return r; + })(t), + y, + ); + (e.enter().append("g").classed("rangeselector", !0), + e.exit().remove(), + e.style({ cursor: "pointer", "pointer-events": "all" }), + e.each(function (e) { + var r = n.select(this), + o = e, + l = o.rangeselector, + u = r.selectAll("g.button").data(l.buttons); + (u.enter().append("g").classed("button", !0), + u.exit().remove(), + u.each(function (e) { + var r = n.select(this), + a = v(o, e); + ((e._isActive = (function (t, e, r) { + if ("all" === e.step) return !0 === t.autorange; + var n = Object.keys(r); + return t.range[0] === r[n[0]] && t.range[1] === r[n[1]]; + })(o, e, a)), + r.call(x, l, e), + r.call(b, l, e, t), + r.on("click", function () { + t._dragged || i.call("relayout", t, a); + }), + r.on("mouseover", function () { + ((e._isHovered = !0), r.call(x, l, e)); + }), + r.on("mouseout", function () { + ((e._isHovered = !1), r.call(x, l, e)); + })); + }), + (function (t, e, r, i, o) { + var l = 0, + u = 0, + h = r.borderwidth; + (e.each(function () { + var t = n.select(this), + e = t.select(".selector-text"), + i = r.font.size * p, + a = Math.max(i * c.lineCount(e), 16) + 3; + u = Math.max(u, a); + }), + e.each(function () { + var t = n.select(this), + e = t.select(".selector-rect"), + i = t.select(".selector-text"), + a = i.node() && s.bBox(i.node()).width, + o = r.font.size * p, + f = c.lineCount(i), + d = Math.max(a + 10, m.minButtonWidth); + (t.attr("transform", "translate(" + (h + l) + "," + h + ")"), + e.attr({ x: 0, y: 0, width: d, height: u }), + c.positionText(i, d / 2, u / 2 - ((f - 1) * o) / 2 + 3), + (l += d + 5)); + })); + var v = t._fullLayout._size, + y = v.l + v.w * r.x, + x = v.t + v.h * (1 - r.y), + b = "left"; + f.isRightAnchor(r) && ((y -= l), (b = "right")); + f.isCenterAnchor(r) && ((y -= l / 2), (b = "center")); + var _ = "top"; + f.isBottomAnchor(r) && ((x -= u), (_ = "bottom")); + f.isMiddleAnchor(r) && ((x -= u / 2), (_ = "middle")); + ((l = Math.ceil(l)), + (u = Math.ceil(u)), + (y = Math.round(y)), + (x = Math.round(x)), + a.autoMargin(t, i + "-range-selector", { + x: r.x, + y: r.y, + l: l * d[b], + r: l * g[b], + b: u * g[_], + t: u * d[_], + }), + o.attr("transform", "translate(" + y + "," + x + ")")); + })(t, u, l, o._name, r)); + })); + }; + }, + { + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/cartesian/axis_ids": 651, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../drawing": 499, + "../legend/anchor_utils": 526, + "./constants": 542, + "./get_update_object": 545, + d3: 130, + }, + ], + 545: [ + function (t, e, r) { + "use strict"; + var n = t("d3"); + e.exports = function (t, e) { + var r = t._name, + i = {}; + if ("all" === e.step) i[r + ".autorange"] = !0; + else { + var a = (function (t, e) { + var r, + i = t.range, + a = new Date(t.r2l(i[1])), + o = e.step, + s = e.count; + switch (e.stepmode) { + case "backward": + r = t.l2r(+n.time[o].utc.offset(a, -s)); + break; + case "todate": + var l = n.time[o].utc.offset(a, -s); + r = t.l2r(+n.time[o].utc.ceil(l)); + } + var c = i[1]; + return [r, c]; + })(t, e); + ((i[r + ".range[0]"] = a[0]), (i[r + ".range[1]"] = a[1])); + } + return i; + }; + }, + { d3: 130 }, + ], + 546: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "component", + name: "rangeselector", + schema: { subplots: { xaxis: { rangeselector: t("./attributes") } } }, + layoutAttributes: t("./attributes"), + handleDefaults: t("./defaults"), + draw: t("./draw"), + }; + }, + { "./attributes": 540, "./defaults": 543, "./draw": 544 }, + ], + 547: [ + function (t, e, r) { + "use strict"; + var n = t("../color/attributes"); + e.exports = { + bgcolor: { valType: "color", dflt: n.background, editType: "plot" }, + bordercolor: { valType: "color", dflt: n.defaultLine, editType: "plot" }, + borderwidth: { valType: "integer", dflt: 0, min: 0, editType: "plot" }, + autorange: { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: { "range[0]": void 0, "range[1]": void 0 }, + }, + range: { + valType: "info_array", + items: [ + { + valType: "any", + editType: "calc", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "calc", + impliedEdits: { "^autorange": !1 }, + }, + ], + editType: "calc", + impliedEdits: { autorange: !1 }, + }, + thickness: { + valType: "number", + dflt: 0.15, + min: 0, + max: 1, + editType: "plot", + }, + visible: { valType: "boolean", dflt: !0, editType: "calc" }, + editType: "calc", + }; + }, + { "../color/attributes": 473 }, + ], + 548: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axis_ids").list, + i = t("../../plots/cartesian/autorange").getAutoRange, + a = t("./constants"); + e.exports = function (t) { + for (var e = n(t, "x", !0), r = 0; r < e.length; r++) { + var o = e[r], + s = o[a.name]; + s && + s.visible && + s.autorange && + o._min.length && + o._max.length && + ((s._input.autorange = !0), (s._input.range = s.range = i(o))); + } + }; + }, + { + "../../plots/cartesian/autorange": 647, + "../../plots/cartesian/axis_ids": 651, + "./constants": 549, + }, + ], + 549: [ + function (t, e, r) { + "use strict"; + e.exports = { + name: "rangeslider", + containerClassName: "rangeslider-container", + bgClassName: "rangeslider-bg", + rangePlotClassName: "rangeslider-rangeplot", + maskMinClassName: "rangeslider-mask-min", + maskMaxClassName: "rangeslider-mask-max", + slideBoxClassName: "rangeslider-slidebox", + grabberMinClassName: "rangeslider-grabber-min", + grabAreaMinClassName: "rangeslider-grabarea-min", + handleMinClassName: "rangeslider-handle-min", + grabberMaxClassName: "rangeslider-grabber-max", + grabAreaMaxClassName: "rangeslider-grabarea-max", + handleMaxClassName: "rangeslider-handle-max", + maskMinOppAxisClassName: "rangeslider-mask-min-opp-axis", + maskMaxOppAxisClassName: "rangeslider-mask-max-opp-axis", + maskColor: "rgba(0,0,0,0.4)", + maskOppAxisColor: "rgba(0,0,0,0.2)", + slideBoxFill: "transparent", + slideBoxCursor: "ew-resize", + grabAreaFill: "transparent", + grabAreaCursor: "col-resize", + grabAreaWidth: 10, + handleWidth: 4, + handleRadius: 1, + handleStrokeWidth: 1, + extraPad: 15, + }; + }, + {}, + ], + 550: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("./oppaxis_attributes"), + o = t("../../plots/cartesian/axis_ids"); + e.exports = function (t, e, r) { + var s = t[r], + l = e[r]; + if (s.rangeslider || e._requestRangeslider[l._id]) { + n.isPlainObject(s.rangeslider) || (s.rangeslider = {}); + var c = s.rangeslider, + u = (l.rangeslider = {}); + if (_("visible")) { + (_("bgcolor", e.plot_bgcolor), + _("bordercolor"), + _("borderwidth"), + _("thickness"), + (l._rangesliderAutorange = _("autorange", !l.isValidRange(c.range))), + _("range")); + var f = e._subplots; + if (f) + for ( + var h = f.cartesian + .filter(function (t) { + return t.substr(0, t.indexOf("y")) === o.name2id(r); + }) + .map(function (t) { + return t.substr(t.indexOf("y"), t.length); + }), + p = n.simpleMap(h, o.id2name), + d = 0; + d < p.length; + d++ + ) { + var g, + m = p[d], + v = c[m] || {}, + y = (u[m] = {}), + x = e[m]; + v.range && x.isValidRange(v.range) && (g = "fixed"); + var b = w(v, y, "rangemode", g); + ("match" !== b && w(v, y, "range", x.range.slice()), + (x._rangesliderAutorange = "auto" === b)); + } + u._input = c; + } + } + function _(t, e) { + return n.coerce(c, u, i, t, e); + } + function w(t, e, r, i) { + return n.coerce(t, e, a, r, i); + } + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axis_ids": 651, + "./attributes": 547, + "./oppaxis_attributes": 553, + }, + ], + 551: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../plots/plots"), + o = t("../../lib"), + s = t("../drawing"), + l = t("../color"), + c = t("../titles"), + u = t("../../plots/cartesian"), + f = t("../../plots/cartesian/axes"), + h = t("../dragelement"), + p = t("../../lib/setcursor"), + d = t("./constants"); + function g(t, e, r, n) { + var i = o.ensureSingle(t, "rect", d.bgClassName, function (t) { + t.attr({ x: 0, y: 0, "shape-rendering": "crispEdges" }); + }), + a = n.borderwidth % 2 == 0 ? n.borderwidth : n.borderwidth - 1, + l = -n._offsetShift, + c = s.crispRound(e, n.borderwidth); + i.attr({ + width: n._width + a, + height: n._height + a, + transform: "translate(" + l + "," + l + ")", + fill: n.bgcolor, + stroke: n.bordercolor, + "stroke-width": c, + }); + } + function m(t, e, r, n) { + var i = e._fullLayout; + o.ensureSingleById(i._topdefs, "clipPath", n._clipId, function (t) { + t.append("rect").attr({ x: 0, y: 0 }); + }) + .select("rect") + .attr({ width: n._width, height: n._height }); + } + function v(t, e, r, i) { + var l, + c = f.getSubplots(e, r), + h = e.calcdata, + p = t.selectAll("g." + d.rangePlotClassName).data(c, o.identity); + (p + .enter() + .append("g") + .attr("class", function (t) { + return d.rangePlotClassName + " " + t; + }) + .call(s.setClipUrl, i._clipId), + p.order(), + p.exit().remove(), + p.each(function (t, o) { + var s = n.select(this), + c = 0 === o, + p = f.getFromId(e, t, "y"), + d = p._name, + g = i[d], + m = { + data: [], + layout: { + xaxis: { + type: r.type, + domain: [0, 1], + range: i.range.slice(), + calendar: r.calendar, + }, + width: i._width, + height: i._height, + margin: { t: 0, b: 0, l: 0, r: 0 }, + }, + _context: e._context, + }; + ((m.layout[d] = { + type: p.type, + domain: [0, 1], + range: "match" !== g.rangemode ? g.range.slice() : p.range.slice(), + calendar: p.calendar, + }), + a.supplyDefaults(m)); + var v = { + id: t, + plotgroup: s, + xaxis: m._fullLayout.xaxis, + yaxis: m._fullLayout[d], + isRangePlot: !0, + }; + (c ? (l = v) : ((v.mainplot = "xy"), (v.mainplotinfo = l)), + u.rangePlot( + e, + v, + (function (t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n], + a = i[0].trace; + a.xaxis + a.yaxis === e && r.push(i); + } + return r; + })(h, t), + )); + })); + } + function y(t, e, r, n, i) { + (o + .ensureSingle(t, "rect", d.maskMinClassName, function (t) { + t.attr({ x: 0, y: 0, "shape-rendering": "crispEdges" }); + }) + .attr("height", n._height) + .call(l.fill, d.maskColor), + o + .ensureSingle(t, "rect", d.maskMaxClassName, function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }) + .attr("height", n._height) + .call(l.fill, d.maskColor), + "match" !== i.rangemode) && + (o + .ensureSingle(t, "rect", d.maskMinOppAxisClassName, function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }) + .attr("width", n._width) + .call(l.fill, d.maskOppAxisColor), + o + .ensureSingle(t, "rect", d.maskMaxOppAxisClassName, function (t) { + t.attr({ y: 0, "shape-rendering": "crispEdges" }); + }) + .attr("width", n._width) + .style("border-top", d.maskOppBorder) + .call(l.fill, d.maskOppAxisColor)); + } + function x(t, e, r, n) { + e._context.staticPlot || + o + .ensureSingle(t, "rect", d.slideBoxClassName, function (t) { + t.attr({ + y: 0, + cursor: d.slideBoxCursor, + "shape-rendering": "crispEdges", + }); + }) + .attr({ height: n._height, fill: d.slideBoxFill }); + } + function b(t, e, r, n) { + var i = o.ensureSingle(t, "g", d.grabberMinClassName), + a = o.ensureSingle(t, "g", d.grabberMaxClassName), + s = { + x: 0, + width: d.handleWidth, + rx: d.handleRadius, + fill: l.background, + stroke: l.defaultLine, + "stroke-width": d.handleStrokeWidth, + "shape-rendering": "crispEdges", + }, + c = { y: Math.round(n._height / 4), height: Math.round(n._height / 2) }; + if ( + (o + .ensureSingle(i, "rect", d.handleMinClassName, function (t) { + t.attr(s); + }) + .attr(c), + o + .ensureSingle(a, "rect", d.handleMaxClassName, function (t) { + t.attr(s); + }) + .attr(c), + !e._context.staticPlot) + ) { + var u = { + width: d.grabAreaWidth, + x: 0, + y: 0, + fill: d.grabAreaFill, + cursor: d.grabAreaCursor, + }; + (o + .ensureSingle(i, "rect", d.grabAreaMinClassName, function (t) { + t.attr(u); + }) + .attr("height", n._height), + o + .ensureSingle(a, "rect", d.grabAreaMaxClassName, function (t) { + t.attr(u); + }) + .attr("height", n._height)); + } + } + e.exports = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e = f.list({ _fullLayout: t }, "x", !0), + r = d.name, + n = []; + if (t._has("gl2d")) return n; + for (var i = 0; i < e.length; i++) { + var a = e[i]; + a[r] && a[r].visible && n.push(a); + } + return n; + })(e); + var s = e._infolayer + .selectAll("g." + d.containerClassName) + .data(r, function (t) { + return t._name; + }); + (s + .enter() + .append("g") + .classed(d.containerClassName, !0) + .attr("pointer-events", "all"), + s.exit().each(function (t) { + var r = n.select(this), + i = t[d.name]; + (r.remove(), e._topdefs.select("#" + i._clipId).remove()); + }), + s.exit().size() && + (function (t) { + for ( + var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + -1 !== i.indexOf(d.name) && a.autoMargin(t, i); + } + })(t), + 0 !== r.length && + s.each(function (r) { + var s = n.select(this), + l = r[d.name], + u = e[f.id2name(r.anchor)], + _ = l[f.id2name(r.anchor)]; + if (l.range) { + var w = l.range, + k = r.range; + ((w[0] = r.l2r(Math.min(r.r2l(w[0]), r.r2l(k[0])))), + (w[1] = r.l2r(Math.max(r.r2l(w[1]), r.r2l(k[1])))), + (l._input.range = w.slice())); + } + r.cleanRange("rangeslider.range"); + for ( + var M = e.margin, + A = e._size, + T = r.domain, + S = (r._boundingBox || {}).height || 0, + C = 1 / 0, + E = f.getSubplots(t, r), + L = 0; + L < E.length; + L++ + ) { + var z = f.getFromId(t, E[L].substr(E[L].indexOf("y"))); + C = Math.min(C, z.domain[0]); + } + ((l._id = d.name + r._id), + (l._clipId = l._id + "-" + e._uid), + (l._width = A.w * (T[1] - T[0])), + (l._height = (e.height - M.b - M.t) * l.thickness), + (l._offsetShift = Math.floor(l.borderwidth / 2))); + var P = Math.round(M.l + A.w * T[0]), + D = Math.round( + A.t + A.h * (1 - C) + S + l._offsetShift + d.extraPad, + ); + s.attr("transform", "translate(" + P + "," + D + ")"); + var O = r.r2l(l.range[0]), + I = r.r2l(l.range[1]), + R = I - O; + if ( + ((l.p2d = function (t) { + return (t / l._width) * R + O; + }), + (l.d2p = function (t) { + return ((t - O) / R) * l._width; + }), + (l._rl = [O, I]), + "match" !== _.rangemode) + ) { + var B = u.r2l(_.range[0]), + F = u.r2l(_.range[1]) - B; + l.d2pOppAxis = function (t) { + return ((t - B) / F) * l._height; + }; + } + (s + .call(g, t, r, l) + .call(m, t, r, l) + .call(v, t, r, l) + .call(y, t, r, l, _) + .call(x, t, r, l) + .call(b, t, r, l), + (function (t, e, r, a) { + var s = t.select("rect." + d.slideBoxClassName).node(), + l = t.select("rect." + d.grabAreaMinClassName).node(), + c = t.select("rect." + d.grabAreaMaxClassName).node(); + t.on("mousedown", function () { + var u = n.event, + f = u.target, + d = u.clientX, + g = d - t.node().getBoundingClientRect().left, + m = a.d2p(r._rl[0]), + v = a.d2p(r._rl[1]), + y = h.coverSlip(); + function x(t) { + var u, + h, + x, + b = +t.clientX - d; + switch (f) { + case s: + ((x = "ew-resize"), (u = m + b), (h = v + b)); + break; + case l: + ((x = "col-resize"), (u = m + b), (h = v)); + break; + case c: + ((x = "col-resize"), (u = m), (h = v + b)); + break; + default: + ((x = "ew-resize"), (u = g), (h = g + b)); + } + if (h < u) { + var _ = h; + ((h = u), (u = _)); + } + ((a._pixelMin = u), + (a._pixelMax = h), + p(n.select(y), x), + (function (t, e, r, n) { + function a(t) { + return r.l2r(o.constrain(t, n._rl[0], n._rl[1])); + } + var s = a(n.p2d(n._pixelMin)), + l = a(n.p2d(n._pixelMax)); + window.requestAnimationFrame(function () { + i.call("relayout", e, r._name + ".range", [s, l]); + }); + })(0, e, r, a)); + } + (y.addEventListener("mousemove", x), + y.addEventListener("mouseup", function t() { + y.removeEventListener("mousemove", x); + y.removeEventListener("mouseup", t); + o.removeElement(y); + })); + }); + })(s, t, r, l), + (function (t, e, r, n, i, a) { + var s = d.handleWidth / 2; + function l(t) { + return o.constrain(t, 0, n._width); + } + function c(t) { + return o.constrain(t, 0, n._height); + } + function u(t) { + return o.constrain(t, -s, n._width + s); + } + var f = l(n.d2p(r._rl[0])), + h = l(n.d2p(r._rl[1])); + if ( + (t + .select("rect." + d.slideBoxClassName) + .attr("x", f) + .attr("width", h - f), + t.select("rect." + d.maskMinClassName).attr("width", f), + t + .select("rect." + d.maskMaxClassName) + .attr("x", h) + .attr("width", n._width - h), + "match" !== a.rangemode) + ) { + var p = n._height - c(n.d2pOppAxis(i._rl[1])), + g = n._height - c(n.d2pOppAxis(i._rl[0])); + (t + .select("rect." + d.maskMinOppAxisClassName) + .attr("x", f) + .attr("height", p) + .attr("width", h - f), + t + .select("rect." + d.maskMaxOppAxisClassName) + .attr("x", f) + .attr("y", g) + .attr("height", n._height - g) + .attr("width", h - f), + t + .select("rect." + d.slideBoxClassName) + .attr("y", p) + .attr("height", g - p)); + } + var m = Math.round(u(f - s)) - 0.5, + v = Math.round(u(h - s)) + 0.5; + (t + .select("g." + d.grabberMinClassName) + .attr("transform", "translate(" + m + ",0.5)"), + t + .select("g." + d.grabberMaxClassName) + .attr("transform", "translate(" + v + ",0.5)")); + })(s, 0, r, l, u, _), + "bottom" === r.side && + c.draw(t, r._id + "title", { + propContainer: r, + propName: r._name + ".title", + placeholder: e._dfltTitle.x, + attributes: { + x: r._offset + r._length / 2, + y: + D + + l._height + + l._offsetShift + + 10 + + 1.5 * r.titlefont.size, + "text-anchor": "middle", + }, + }), + a.autoMargin(t, l._id, { + x: T[0], + y: C, + l: 0, + r: 0, + t: 0, + b: l._height + M.b + S, + pad: d.extraPad + 2 * l._offsetShift, + })); + })); + }; + }, + { + "../../lib": 602, + "../../lib/setcursor": 622, + "../../plots/cartesian": 659, + "../../plots/cartesian/axes": 648, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "../titles": 567, + "./constants": 549, + d3: 130, + }, + ], + 552: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("./oppaxis_attributes"); + e.exports = { + moduleType: "component", + name: "rangeslider", + schema: { + subplots: { xaxis: { rangeslider: n.extendFlat({}, i, { yaxis: a }) } }, + }, + layoutAttributes: t("./attributes"), + handleDefaults: t("./defaults"), + calcAutorange: t("./calc_autorange"), + draw: t("./draw"), + }; + }, + { + "../../lib": 602, + "./attributes": 547, + "./calc_autorange": 548, + "./defaults": 550, + "./draw": 551, + "./oppaxis_attributes": 553, + }, + ], + 553: [ + function (t, e, r) { + "use strict"; + e.exports = { + _isSubplotObj: !0, + rangemode: { + valType: "enumerated", + values: ["auto", "fixed", "match"], + dflt: "match", + editType: "calc", + }, + range: { + valType: "info_array", + items: [ + { valType: "any", editType: "plot" }, + { valType: "any", editType: "plot" }, + ], + editType: "plot", + }, + editType: "calc", + }; + }, + {}, + ], + 554: [ + function (t, e, r) { + "use strict"; + var n = t("../annotations/attributes"), + i = t("../../traces/scatter/attributes").line, + a = t("../drawing/attributes").dash, + o = t("../../lib/extend").extendFlat; + e.exports = { + _isLinkedToArray: "shape", + visible: { + valType: "boolean", + dflt: !0, + editType: "calcIfAutorange+arraydraw", + }, + type: { + valType: "enumerated", + values: ["circle", "rect", "path", "line"], + editType: "calcIfAutorange+arraydraw", + }, + layer: { + valType: "enumerated", + values: ["below", "above"], + dflt: "above", + editType: "arraydraw", + }, + xref: o({}, n.xref, {}), + xsizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calcIfAutorange+arraydraw", + }, + xanchor: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + x0: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + x1: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + yref: o({}, n.yref, {}), + ysizemode: { + valType: "enumerated", + values: ["scaled", "pixel"], + dflt: "scaled", + editType: "calcIfAutorange+arraydraw", + }, + yanchor: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + y0: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + y1: { valType: "any", editType: "calcIfAutorange+arraydraw" }, + path: { valType: "string", editType: "calcIfAutorange+arraydraw" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + editType: "arraydraw", + }, + line: { + color: o({}, i.color, { editType: "arraydraw" }), + width: o({}, i.width, { editType: "calcIfAutorange+arraydraw" }), + dash: o({}, a, { editType: "arraydraw" }), + editType: "calcIfAutorange+arraydraw", + }, + fillcolor: { + valType: "color", + dflt: "rgba(0,0,0,0)", + editType: "arraydraw", + }, + editType: "arraydraw", + }; + }, + { + "../../lib/extend": 591, + "../../traces/scatter/attributes": 926, + "../annotations/attributes": 457, + "../drawing/attributes": 498, + }, + ], + 555: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("./constants"), + o = t("./helpers"); + function s(t) { + return c(t.line.width, t.xsizemode, t.x0, t.x1, t.path, !1); + } + function l(t) { + return c(t.line.width, t.ysizemode, t.y0, t.y1, t.path, !0); + } + function c(t, e, r, i, o, s) { + var l = t / 2, + c = s; + if ("pixel" === e) { + var u = o + ? (function (t, e) { + var r = []; + return ( + t.match(a.segmentRE).forEach(function (t) { + var n = e[t.charAt(0)].drawn; + if (void 0 !== n) { + var i = t.substr(1).match(a.paramRE); + !i || i.length < n || r.push(i[n]); + } + }), + r + ); + })(o, s ? a.paramIsY : a.paramIsX) + : [r, i], + f = n.aggNums(Math.max, null, u), + h = n.aggNums(Math.min, null, u), + p = h < 0 ? Math.abs(h) + l : l, + d = f > 0 ? f + l : l; + return { ppad: l, ppadplus: c ? p : d, ppadminus: c ? d : p }; + } + return { ppad: l }; + } + function u(t, e, r, n, i) { + var s = "category" === t.type ? t.r2c : t.d2c; + if (void 0 !== e) return [s(e), s(r)]; + if (n) { + var l, + c, + u, + f, + h = 1 / 0, + p = -1 / 0, + d = n.match(a.segmentRE); + for ("date" === t.type && (s = o.decodeDate(s)), l = 0; l < d.length; l++) + void 0 !== (c = i[d[l].charAt(0)].drawn) && + (!(u = d[l].substr(1).match(a.paramRE)) || + u.length < c || + ((f = s(u[c])) < h && (h = f), f > p && (p = f))); + return p >= h ? [h, p] : void 0; + } + } + e.exports = function (t) { + var e = t._fullLayout, + r = n.filterVisible(e.shapes); + if (r.length && t._fullData.length) + for (var o = 0; o < r.length; o++) { + var c, + f, + h = r[o]; + if ("paper" !== h.xref) { + var p = "pixel" === h.xsizemode ? h.xanchor : h.x0, + d = "pixel" === h.xsizemode ? h.xanchor : h.x1; + (f = u((c = i.getFromId(t, h.xref)), p, d, h.path, a.paramIsX)) && + i.expand(c, f, s(h)); + } + if ("paper" !== h.yref) { + var g = "pixel" === h.ysizemode ? h.yanchor : h.y0, + m = "pixel" === h.ysizemode ? h.yanchor : h.y1; + (f = u((c = i.getFromId(t, h.yref)), g, m, h.path, a.paramIsY)) && + i.expand(c, f, l(h)); + } + } + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "./constants": 556, + "./helpers": 559, + }, + ], + 556: [ + function (t, e, r) { + "use strict"; + e.exports = { + segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g, + paramRE: /[^\s,]+/g, + paramIsX: { + M: { 0: !0, drawn: 0 }, + L: { 0: !0, drawn: 0 }, + H: { 0: !0, drawn: 0 }, + V: {}, + Q: { 0: !0, 2: !0, drawn: 2 }, + C: { 0: !0, 2: !0, 4: !0, drawn: 4 }, + T: { 0: !0, drawn: 0 }, + S: { 0: !0, 2: !0, drawn: 2 }, + Z: {}, + }, + paramIsY: { + M: { 1: !0, drawn: 1 }, + L: { 1: !0, drawn: 1 }, + H: {}, + V: { 0: !0, drawn: 0 }, + Q: { 1: !0, 3: !0, drawn: 3 }, + C: { 1: !0, 3: !0, 5: !0, drawn: 5 }, + T: { 1: !0, drawn: 1 }, + S: { 1: !0, 3: !0, drawn: 5 }, + Z: {}, + }, + numParams: { M: 2, L: 2, H: 1, V: 1, Q: 4, C: 6, T: 2, S: 4, Z: 0 }, + }; + }, + {}, + ], + 557: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/array_container_defaults"), + i = t("./shape_defaults"); + e.exports = function (t, e) { + n(t, e, { name: "shapes", handleItemDefaults: i }); + }; + }, + { "../../plots/array_container_defaults": 644, "./shape_defaults": 561 }, + ], + 558: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../plots/cartesian/axes"), + o = t("../color"), + s = t("../drawing"), + l = t("../dragelement"), + c = t("../../lib/setcursor"), + u = t("./constants"), + f = t("./helpers"); + function h(t, e) { + t._fullLayout._paperdiv + .selectAll('.shapelayer [data-index="' + e + '"]') + .remove(); + var r = (t.layout.shapes || [])[e], + i = t._fullLayout.shapes[e]; + if (r && !1 !== i.visible) + if ("below" !== i.layer) h(t._fullLayout._shapeUpperLayer); + else if ("paper" === i.xref || "paper" === i.yref) + h(t._fullLayout._shapeLowerLayer); + else { + var u = t._fullLayout._plots[i.xref + i.yref]; + if (u) h((u.mainplotinfo || u).shapelayer); + else h(t._fullLayout._shapeLowerLayer); + } + function h(r) { + var u = { "data-index": e, "fill-rule": "evenodd", d: p(t, i) }, + h = i.line.width ? i.line.color : "rgba(0,0,0,0)", + g = r + .append("path") + .attr(u) + .style("opacity", i.opacity) + .call(o.stroke, h) + .call(o.fill, i.fillcolor) + .call(s.dashLine, i.line.dash, i.line.width), + m = (i.xref + i.yref).replace(/paper/g, ""); + (g.call(s.setClipUrl, m ? "clip" + t._fullLayout._uid + m : null), + t._context.edits.shapePosition && + (function (t, e, r, i) { + var o, + s, + u, + h, + g, + m, + v, + y, + x, + b, + _, + w, + k, + M, + A, + T, + S, + C, + E, + L, + z, + P, + D, + O, + I, + R, + B, + F, + N, + j, + V, + U, + q, + H, + G = 10, + W = 10, + Y = "pixel" === r.xsizemode, + X = "pixel" === r.ysizemode, + Z = { + element: e.node(), + gd: t, + prepFn: function (e) { + ((F = a.getFromId(t, r.xref)), + (N = a.getFromId(t, r.yref)), + (j = f.getDataToPixel(t, F)), + (V = f.getDataToPixel(t, N, !0)), + (U = f.getPixelToData(t, F)), + (q = f.getPixelToData(t, N, !0))); + var n = "shapes[" + i + "]"; + Y && ((m = j(r.xanchor)), (w = n + ".xanchor")); + X && ((v = V(r.yanchor)), (k = n + ".yanchor")); + "path" === r.type + ? ((R = r.path), (B = n + ".path")) + : ((s = Y ? r.x0 : j(r.x0)), + (u = X ? r.y0 : V(r.y0)), + (h = Y ? r.x1 : j(r.x1)), + (g = X ? r.y1 : V(r.y1)), + (y = n + ".x0"), + (x = n + ".y0"), + (b = n + ".x1"), + (_ = n + ".y1")); + s < h + ? ((T = s), + (L = n + ".x0"), + (O = "x0"), + (S = h), + (z = n + ".x1"), + (I = "x1")) + : ((T = h), + (L = n + ".x1"), + (O = "x1"), + (S = s), + (z = n + ".x0"), + (I = "x0")); + (!X && u < g) || (X && u > g) + ? ((M = u), + (C = n + ".y0"), + (P = "y0"), + (A = g), + (E = n + ".y1"), + (D = "y1")) + : ((M = g), + (C = n + ".y1"), + (P = "y1"), + (A = u), + (E = n + ".y0"), + (D = "y0")); + ((o = {}), J(e), (Z.moveFn = "move" === H ? K : Q)); + }, + doneFn: function () { + (c(e), n.call("relayout", t, o)); + }, + }; + function J(t) { + var r = Z.element.getBoundingClientRect(), + n = r.right - r.left, + i = r.bottom - r.top, + a = t.clientX - r.left, + o = t.clientY - r.top, + s = + n > G && i > W && !t.shiftKey + ? l.getCursor(a / n, 1 - o / i) + : "move"; + (c(e, s), (H = s.split("-")[0])); + } + function K(n, i) { + if ("path" === r.type) { + var a = function (t) { + return t; + }, + l = a, + c = a; + (Y + ? (o[w] = r.xanchor = U(m + n)) + : ((l = function (t) { + return U(j(t) + n); + }), + F && "date" === F.type && (l = f.encodeDate(l))), + X + ? (o[k] = r.yanchor = q(v + i)) + : ((c = function (t) { + return q(V(t) + i); + }), + N && "date" === N.type && (c = f.encodeDate(c))), + (r.path = d(R, l, c)), + (o[B] = r.path)); + } else + (Y + ? (o[w] = r.xanchor = U(m + n)) + : ((o[y] = r.x0 = U(s + n)), (o[b] = r.x1 = U(h + n))), + X + ? (o[k] = r.yanchor = q(v + i)) + : ((o[x] = r.y0 = q(u + i)), (o[_] = r.y1 = q(g + i)))); + e.attr("d", p(t, r)); + } + function Q(n, i) { + if ("path" === r.type) { + var a = function (t) { + return t; + }, + s = a, + l = a; + (Y + ? (o[w] = r.xanchor = U(m + n)) + : ((s = function (t) { + return U(j(t) + n); + }), + F && "date" === F.type && (s = f.encodeDate(s))), + X + ? (o[k] = r.yanchor = q(v + i)) + : ((l = function (t) { + return q(V(t) + i); + }), + N && "date" === N.type && (l = f.encodeDate(l))), + (r.path = d(R, s, l)), + (o[B] = r.path)); + } else { + var c = ~H.indexOf("n") ? M + i : M, + u = ~H.indexOf("s") ? A + i : A, + h = ~H.indexOf("w") ? T + n : T, + g = ~H.indexOf("e") ? S + n : S; + (~H.indexOf("n") && X && (c = M - i), + ~H.indexOf("s") && X && (u = A - i), + ((!X && u - c > W) || (X && c - u > W)) && + ((o[C] = r[P] = X ? c : q(c)), + (o[E] = r[D] = X ? u : q(u))), + g - h > G && + ((o[L] = r[O] = Y ? h : U(h)), + (o[z] = r[I] = Y ? g : U(g)))); + } + e.attr("d", p(t, r)); + } + (l.init(Z), (e.node().onmousemove = J)); + })(t, g, i, e)); + } + } + function p(t, e) { + var r, + n, + o, + s, + l, + c, + h, + p, + d = e.type, + g = a.getFromId(t, e.xref), + m = a.getFromId(t, e.yref), + v = t._fullLayout._size; + if ( + (g + ? ((r = f.shapePositionToRange(g)), + (n = function (t) { + return g._offset + g.r2p(r(t, !0)); + })) + : (n = function (t) { + return v.l + v.w * t; + }), + m + ? ((o = f.shapePositionToRange(m)), + (s = function (t) { + return m._offset + m.r2p(o(t, !0)); + })) + : (s = function (t) { + return v.t + v.h * (1 - t); + }), + "path" === d) + ) + return ( + g && "date" === g.type && (n = f.decodeDate(n)), + m && "date" === m.type && (s = f.decodeDate(s)), + (function (t, e, r) { + var n = t.path, + a = t.xsizemode, + o = t.ysizemode, + s = t.xanchor, + l = t.yanchor; + return n.replace(u.segmentRE, function (t) { + var n = 0, + c = t.charAt(0), + f = u.paramIsX[c], + h = u.paramIsY[c], + p = u.numParams[c], + d = t.substr(1).replace(u.paramRE, function (t) { + return ( + f[n] + ? (t = "pixel" === a ? e(s) + Number(t) : e(t)) + : h[n] && (t = "pixel" === o ? r(l) - Number(t) : r(t)), + ++n > p && (t = "X"), + t + ); + }); + return ( + n > p && + ((d = d.replace(/[\s,]*X.*/, "")), + i.log("Ignoring extra params in segment " + t)), + c + d + ); + }); + })(e, n, s) + ); + if ("pixel" === e.xsizemode) { + var y = n(e.xanchor); + ((l = y + e.x0), (c = y + e.x1)); + } else ((l = n(e.x0)), (c = n(e.x1))); + if ("pixel" === e.ysizemode) { + var x = s(e.yanchor); + ((h = x - e.y0), (p = x - e.y1)); + } else ((h = s(e.y0)), (p = s(e.y1))); + if ("line" === d) return "M" + l + "," + h + "L" + c + "," + p; + if ("rect" === d) + return "M" + l + "," + h + "H" + c + "V" + p + "H" + l + "Z"; + var b = (l + c) / 2, + _ = (h + p) / 2, + w = Math.abs(b - l), + k = Math.abs(_ - h), + M = "A" + w + "," + k, + A = b + w + "," + _; + return ( + "M" + A + M + " 0 1,1 " + (b + "," + (_ - k)) + M + " 0 0,1 " + A + "Z" + ); + } + function d(t, e, r) { + return t.replace(u.segmentRE, function (t) { + var n = 0, + i = t.charAt(0), + a = u.paramIsX[i], + o = u.paramIsY[i], + s = u.numParams[i]; + return ( + i + + t.substr(1).replace(u.paramRE, function (t) { + return n >= s ? t : (a[n] ? (t = e(t)) : o[n] && (t = r(t)), n++, t); + }) + ); + }); + } + e.exports = { + draw: function (t) { + var e = t._fullLayout; + for (var r in (e._shapeUpperLayer.selectAll("path").remove(), + e._shapeLowerLayer.selectAll("path").remove(), + e._plots)) { + var n = e._plots[r].shapelayer; + n && n.selectAll("path").remove(); + } + for (var i = 0; i < e.shapes.length; i++) e.shapes[i].visible && h(t, i); + }, + drawOne: h, + }; + }, + { + "../../lib": 602, + "../../lib/setcursor": 622, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "../color": 474, + "../dragelement": 496, + "../drawing": 499, + "./constants": 556, + "./helpers": 559, + }, + ], + 559: [ + function (t, e, r) { + "use strict"; + ((r.rangeToShapePosition = function (t) { + return "log" === t.type + ? t.r2d + : function (t) { + return t; + }; + }), + (r.shapePositionToRange = function (t) { + return "log" === t.type + ? t.d2r + : function (t) { + return t; + }; + }), + (r.decodeDate = function (t) { + return function (e) { + return (e.replace && (e = e.replace("_", " ")), t(e)); + }; + }), + (r.encodeDate = function (t) { + return function (e) { + return t(e).replace(" ", "_"); + }; + }), + (r.getDataToPixel = function (t, e, n) { + var i, + a = t._fullLayout._size; + if (e) { + var o = r.shapePositionToRange(e); + ((i = function (t) { + return e._offset + e.r2p(o(t, !0)); + }), + "date" === e.type && (i = r.decodeDate(i))); + } else + i = n + ? function (t) { + return a.t + a.h * (1 - t); + } + : function (t) { + return a.l + a.w * t; + }; + return i; + }), + (r.getPixelToData = function (t, e, n) { + var i, + a = t._fullLayout._size; + if (e) { + var o = r.rangeToShapePosition(e); + i = function (t) { + return o(e.p2r(t - e._offset)); + }; + } else + i = n + ? function (t) { + return 1 - (t - a.t) / a.h; + } + : function (t) { + return (t - a.l) / a.w; + }; + return i; + })); + }, + {}, + ], + 560: [ + function (t, e, r) { + "use strict"; + var n = t("./draw"); + e.exports = { + moduleType: "component", + name: "shapes", + layoutAttributes: t("./attributes"), + supplyLayoutDefaults: t("./defaults"), + includeBasePlot: t("../../plots/cartesian/include_components")("shapes"), + calcAutorange: t("./calc_autorange"), + draw: n.draw, + drawOne: n.drawOne, + }; + }, + { + "../../plots/cartesian/include_components": 658, + "./attributes": 554, + "./calc_autorange": 555, + "./defaults": 557, + "./draw": 558, + }, + ], + 561: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("./attributes"), + o = t("./helpers"); + e.exports = function (t, e, r, s, l) { + function c(r, i) { + return n.coerce(t, e, a, r, i); + } + if (((s = s || {}), !c("visible", !(l = l || {}).itemIsNotPlainObject))) + return e; + (c("layer"), + c("opacity"), + c("fillcolor"), + c("line.color"), + c("line.width"), + c("line.dash")); + for ( + var u = c("type", t.path ? "path" : "rect"), + f = c("xsizemode"), + h = c("ysizemode"), + p = ["x", "y"], + d = 0; + d < 2; + d++ + ) { + var g, + m, + v, + y = p[d], + x = y + "anchor", + b = "x" === y ? f : h, + _ = { _fullLayout: r }, + w = i.coerceRef(t, e, _, y, "", "paper"); + if ( + ("paper" !== w + ? ((g = i.getFromId(_, w)), + (v = o.rangeToShapePosition(g)), + (m = o.shapePositionToRange(g))) + : (m = v = n.identity), + "path" !== u) + ) { + var k = y + "0", + M = y + "1", + A = t[k], + T = t[M]; + ((t[k] = m(t[k], !0)), + (t[M] = m(t[M], !0)), + "pixel" === b + ? (c(k, 0), c(M, 10)) + : (i.coercePosition(e, _, c, w, k, 0.25), + i.coercePosition(e, _, c, w, M, 0.75)), + (e[k] = v(e[k])), + (e[M] = v(e[M])), + (t[k] = A), + (t[M] = T)); + } + if ("pixel" === b) { + var S = t[x]; + ((t[x] = m(t[x], !0)), + i.coercePosition(e, _, c, w, x, 0.25), + (e[x] = v(e[x])), + (t[x] = S)); + } + } + return ( + "path" === u ? c("path") : n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]), + e + ); + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "./attributes": 554, + "./helpers": 559, + }, + ], + 562: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../../plots/pad_attributes"), + a = t("../../lib/extend").extendDeepAll, + o = t("../../plot_api/edit_types").overrideAll, + s = t("../../plots/animation_attributes"), + l = t("./constants"); + e.exports = o( + { + _isLinkedToArray: "slider", + visible: { valType: "boolean", dflt: !0 }, + active: { valType: "number", min: 0, dflt: 0 }, + steps: { + _isLinkedToArray: "step", + method: { + valType: "enumerated", + values: ["restyle", "relayout", "animate", "update", "skip"], + dflt: "restyle", + }, + args: { + valType: "info_array", + freeLength: !0, + items: [{ valType: "any" }, { valType: "any" }, { valType: "any" }], + }, + label: { valType: "string" }, + value: { valType: "string" }, + execute: { valType: "boolean", dflt: !0 }, + }, + lenmode: { + valType: "enumerated", + values: ["fraction", "pixels"], + dflt: "fraction", + }, + len: { valType: "number", min: 0, dflt: 1 }, + x: { valType: "number", min: -2, max: 3, dflt: 0 }, + pad: a({}, i, {}, { t: { dflt: 20 } }), + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "left", + }, + y: { valType: "number", min: -2, max: 3, dflt: 0 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + transition: { + duration: { valType: "number", min: 0, dflt: 150 }, + easing: { + valType: "enumerated", + values: s.transition.easing.values, + dflt: "cubic-in-out", + }, + }, + currentvalue: { + visible: { valType: "boolean", dflt: !0 }, + xanchor: { + valType: "enumerated", + values: ["left", "center", "right"], + dflt: "left", + }, + offset: { valType: "number", dflt: 10 }, + prefix: { valType: "string" }, + suffix: { valType: "string" }, + font: n({}), + }, + font: n({}), + activebgcolor: { valType: "color", dflt: l.gripBgActiveColor }, + bgcolor: { valType: "color", dflt: l.railBgColor }, + bordercolor: { valType: "color", dflt: l.railBorderColor }, + borderwidth: { valType: "number", min: 0, dflt: l.railBorderWidth }, + ticklen: { valType: "number", min: 0, dflt: l.tickLength }, + tickcolor: { valType: "color", dflt: l.tickColor }, + tickwidth: { valType: "number", min: 0, dflt: 1 }, + minorticklen: { valType: "number", min: 0, dflt: l.minorTickLength }, + }, + "arraydraw", + "from-root", + ); + }, + { + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/animation_attributes": 643, + "../../plots/font_attributes": 674, + "../../plots/pad_attributes": 709, + "./constants": 563, + }, + ], + 563: [ + function (t, e, r) { + "use strict"; + e.exports = { + name: "sliders", + containerClassName: "slider-container", + groupClassName: "slider-group", + inputAreaClass: "slider-input-area", + railRectClass: "slider-rail-rect", + railTouchRectClass: "slider-rail-touch-rect", + gripRectClass: "slider-grip-rect", + tickRectClass: "slider-tick-rect", + inputProxyClass: "slider-input-proxy", + labelsClass: "slider-labels", + labelGroupClass: "slider-label-group", + labelClass: "slider-label", + currentValueClass: "slider-current-value", + railHeight: 5, + menuIndexAttrName: "slider-active-index", + autoMarginIdRoot: "slider-", + minWidth: 30, + minHeight: 30, + textPadX: 40, + arrowOffsetX: 4, + railRadius: 2, + railWidth: 5, + railBorder: 4, + railBorderWidth: 1, + railBorderColor: "#bec8d9", + railBgColor: "#f8fafc", + railInset: 8, + stepInset: 10, + gripRadius: 10, + gripWidth: 20, + gripHeight: 20, + gripBorder: 20, + gripBorderWidth: 1, + gripBorderColor: "#bec8d9", + gripBgColor: "#f6f8fa", + gripBgActiveColor: "#dbdde0", + labelPadding: 8, + labelOffset: 0, + tickWidth: 1, + tickColor: "#333", + tickOffset: 25, + tickLength: 7, + minorTickOffset: 25, + minorTickColor: "#333", + minorTickLength: 4, + currentValuePadding: 8, + currentValueInset: 0, + }; + }, + {}, + ], + 564: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/array_container_defaults"), + a = t("./attributes"), + o = t("./constants").name, + s = a.steps; + function l(t, e, r) { + function i(r, i) { + return n.coerce(t, e, a, r, i); + } + i( + "visible", + (function (t, e) { + var r, + i, + a = t.steps || [], + o = (e.steps = []); + function l(t, e) { + return n.coerce(r, i, s, t, e); + } + for (var c = 0; c < a.length; c++) + ((r = a[c]), + (i = {}), + l("method"), + n.isPlainObject(r) && + ("skip" === i.method || Array.isArray(r.args)) && + (l("args"), + l("label", "step-" + c), + l("value", i.label), + l("execute"), + o.push(i))); + return o; + })(t, e).length > 0, + ) && + (i("active"), + i("x"), + i("y"), + n.noneOrAll(t, e, ["x", "y"]), + i("xanchor"), + i("yanchor"), + i("len"), + i("lenmode"), + i("pad.t"), + i("pad.r"), + i("pad.b"), + i("pad.l"), + n.coerceFont(i, "font", r.font), + i("currentvalue.visible") && + (i("currentvalue.xanchor"), + i("currentvalue.prefix"), + i("currentvalue.suffix"), + i("currentvalue.offset"), + n.coerceFont(i, "currentvalue.font", e.font)), + i("transition.duration"), + i("transition.easing"), + i("bgcolor"), + i("activebgcolor"), + i("bordercolor"), + i("borderwidth"), + i("ticklen"), + i("tickwidth"), + i("tickcolor"), + i("minorticklen")); + } + e.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + { + "../../lib": 602, + "../../plots/array_container_defaults": 644, + "./attributes": 562, + "./constants": 563, + }, + ], + 565: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../plots/plots"), + a = t("../color"), + o = t("../drawing"), + s = t("../../lib"), + l = t("../../lib/svg_text_utils"), + c = t("../legend/anchor_utils"), + u = t("./constants"), + f = t("../../constants/alignment"), + h = f.LINE_SPACING, + p = f.FROM_TL, + d = f.FROM_BR; + function g(t) { + return t._index; + } + function m(t, e) { + var r = o.tester.selectAll("g." + u.labelGroupClass).data(e.steps); + r.enter().append("g").classed(u.labelGroupClass, !0); + var a = 0, + s = 0; + (r.each(function (t) { + var r = x(n.select(this), { step: t }, e).node(); + if (r) { + var i = o.bBox(r); + ((s = Math.max(s, i.height)), (a = Math.max(a, i.width))); + } + }), + r.remove()); + var f = (e._dims = {}); + f.inputAreaWidth = Math.max(u.railWidth, u.gripHeight); + var h = t._fullLayout._size; + ((f.lx = h.l + h.w * e.x), + (f.ly = h.t + h.h * (1 - e.y)), + "fraction" === e.lenmode + ? (f.outerLength = Math.round(h.w * e.len)) + : (f.outerLength = e.len), + (f.inputAreaStart = 0), + (f.inputAreaLength = Math.round(f.outerLength - e.pad.l - e.pad.r))); + var g = (f.inputAreaLength - 2 * u.stepInset) / (e.steps.length - 1), + m = a + u.labelPadding; + if ( + ((f.labelStride = Math.max(1, Math.ceil(m / g))), + (f.labelHeight = s), + (f.currentValueMaxWidth = 0), + (f.currentValueHeight = 0), + (f.currentValueTotalHeight = 0), + (f.currentValueMaxLines = 1), + e.currentvalue.visible) + ) { + var y = o.tester.append("g"); + (r.each(function (t) { + var r = v(y, e, t.label), + n = (r.node() && o.bBox(r.node())) || { width: 0, height: 0 }, + i = l.lineCount(r); + ((f.currentValueMaxWidth = Math.max( + f.currentValueMaxWidth, + Math.ceil(n.width), + )), + (f.currentValueHeight = Math.max( + f.currentValueHeight, + Math.ceil(n.height), + )), + (f.currentValueMaxLines = Math.max(f.currentValueMaxLines, i))); + }), + (f.currentValueTotalHeight = + f.currentValueHeight + e.currentvalue.offset), + y.remove()); + } + f.height = + f.currentValueTotalHeight + + u.tickOffset + + e.ticklen + + u.labelOffset + + f.labelHeight + + e.pad.t + + e.pad.b; + var b = "left"; + (c.isRightAnchor(e) && ((f.lx -= f.outerLength), (b = "right")), + c.isCenterAnchor(e) && ((f.lx -= f.outerLength / 2), (b = "center"))); + var _ = "top"; + (c.isBottomAnchor(e) && ((f.ly -= f.height), (_ = "bottom")), + c.isMiddleAnchor(e) && ((f.ly -= f.height / 2), (_ = "middle")), + (f.outerLength = Math.ceil(f.outerLength)), + (f.height = Math.ceil(f.height)), + (f.lx = Math.round(f.lx)), + (f.ly = Math.round(f.ly)), + i.autoMargin(t, u.autoMarginIdRoot + e._index, { + x: e.x, + y: e.y, + l: f.outerLength * p[b], + r: f.outerLength * d[b], + b: f.height * d[_], + t: f.height * p[_], + })); + } + function v(t, e, r) { + if (e.currentvalue.visible) { + var n, + i, + a = e._dims; + switch (e.currentvalue.xanchor) { + case "right": + ((n = + a.inputAreaLength - u.currentValueInset - a.currentValueMaxWidth), + (i = "left")); + break; + case "center": + ((n = 0.5 * a.inputAreaLength), (i = "middle")); + break; + default: + ((n = u.currentValueInset), (i = "left")); + } + var c = s.ensureSingle(t, "text", u.labelClass, function (t) { + t.classed("user-select-none", !0).attr({ + "text-anchor": i, + "data-notex": 1, + }); + }), + f = e.currentvalue.prefix ? e.currentvalue.prefix : ""; + if ("string" == typeof r) f += r; + else f += e.steps[e.active].label; + (e.currentvalue.suffix && (f += e.currentvalue.suffix), + c + .call(o.font, e.currentvalue.font) + .text(f) + .call(l.convertToTspans, e._gd)); + var p = l.lineCount(c), + d = (a.currentValueMaxLines + 1 - p) * e.currentvalue.font.size * h; + return (l.positionText(c, n, d), c); + } + } + function y(t, e, r) { + s.ensureSingle(t, "rect", u.gripRectClass, function (n) { + n.call(k, e, t, r).style("pointer-events", "all"); + }) + .attr({ + width: u.gripWidth, + height: u.gripHeight, + rx: u.gripRadius, + ry: u.gripRadius, + }) + .call(a.stroke, r.bordercolor) + .call(a.fill, r.bgcolor) + .style("stroke-width", r.borderwidth + "px"); + } + function x(t, e, r) { + var n = s.ensureSingle(t, "text", u.labelClass, function (t) { + t.classed("user-select-none", !0).attr({ + "text-anchor": "middle", + "data-notex": 1, + }); + }); + return ( + n.call(o.font, r.font).text(e.step.label).call(l.convertToTspans, r._gd), + n + ); + } + function b(t, e) { + var r = s.ensureSingle(t, "g", u.labelsClass), + i = e._dims, + a = r.selectAll("g." + u.labelGroupClass).data(i.labelSteps); + (a.enter().append("g").classed(u.labelGroupClass, !0), + a.exit().remove(), + a.each(function (t) { + var r = n.select(this); + (r.call(x, t, e), + o.setTranslate( + r, + T(e, t.fraction), + u.tickOffset + + e.ticklen + + e.font.size * h + + u.labelOffset + + i.currentValueTotalHeight, + )); + })); + } + function _(t, e, r, n, i) { + var a = Math.round(n * (r.steps.length - 1)); + a !== r.active && w(t, e, r, a, !0, i); + } + function w(t, e, r, n, a, o) { + var s = r.active; + r._input.active = r.active = n; + var l = r.steps[r.active]; + (e.call(A, r, r.active / (r.steps.length - 1), o), + e.call(v, r), + t.emit("plotly_sliderchange", { + slider: r, + step: r.steps[r.active], + interaction: a, + previousActive: s, + }), + l && + l.method && + a && + (e._nextMethod + ? ((e._nextMethod.step = l), + (e._nextMethod.doCallback = a), + (e._nextMethod.doTransition = o)) + : ((e._nextMethod = { step: l, doCallback: a, doTransition: o }), + (e._nextMethodRaf = window.requestAnimationFrame(function () { + var r = e._nextMethod.step; + r.method && + (r.execute && i.executeAPICommand(t, r.method, r.args), + (e._nextMethod = null), + (e._nextMethodRaf = null)); + }))))); + } + function k(t, e, r) { + var i = r.node(), + o = n.select(e); + function s() { + return r.data()[0]; + } + t.on("mousedown", function () { + var t = s(); + e.emit("plotly_sliderstart", { slider: t }); + var l = r.select("." + u.gripRectClass); + (n.event.stopPropagation(), + n.event.preventDefault(), + l.call(a.fill, t.activebgcolor)); + var c = S(t, n.mouse(i)[0]); + (_(e, r, t, c, !0), + (t._dragging = !0), + o.on("mousemove", function () { + var t = s(), + a = S(t, n.mouse(i)[0]); + _(e, r, t, a, !1); + }), + o.on("mouseup", function () { + var t = s(); + ((t._dragging = !1), + l.call(a.fill, t.bgcolor), + o.on("mouseup", null), + o.on("mousemove", null), + e.emit("plotly_sliderend", { slider: t, step: t.steps[t.active] })); + })); + }); + } + function M(t, e) { + var r = t.selectAll("rect." + u.tickRectClass).data(e.steps), + i = e._dims; + (r.enter().append("rect").classed(u.tickRectClass, !0), + r.exit().remove(), + r.attr({ width: e.tickwidth + "px", "shape-rendering": "crispEdges" }), + r.each(function (t, r) { + var s = r % i.labelStride == 0, + l = n.select(this); + (l + .attr({ height: s ? e.ticklen : e.minorticklen }) + .call(a.fill, e.tickcolor), + o.setTranslate( + l, + T(e, r / (e.steps.length - 1)) - 0.5 * e.tickwidth, + (s ? u.tickOffset : u.minorTickOffset) + i.currentValueTotalHeight, + )); + })); + } + function A(t, e, r, n) { + var i = t.select("rect." + u.gripRectClass), + a = T(e, r); + if (!e._invokingCommand) { + var o = i; + (n && + e.transition.duration > 0 && + (o = o + .transition() + .duration(e.transition.duration) + .ease(e.transition.easing)), + o.attr( + "transform", + "translate(" + + (a - 0.5 * u.gripWidth) + + "," + + e._dims.currentValueTotalHeight + + ")", + )); + } + } + function T(t, e) { + var r = t._dims; + return ( + r.inputAreaStart + + u.stepInset + + (r.inputAreaLength - 2 * u.stepInset) * Math.min(1, Math.max(0, e)) + ); + } + function S(t, e) { + var r = t._dims; + return Math.min( + 1, + Math.max( + 0, + (e - u.stepInset - r.inputAreaStart) / + (r.inputAreaLength - 2 * u.stepInset - 2 * r.inputAreaStart), + ), + ); + } + function C(t, e, r) { + var n = r._dims, + i = s.ensureSingle(t, "rect", u.railTouchRectClass, function (n) { + n.call(k, e, t, r).style("pointer-events", "all"); + }); + (i + .attr({ + width: n.inputAreaLength, + height: Math.max( + n.inputAreaWidth, + u.tickOffset + r.ticklen + n.labelHeight, + ), + }) + .call(a.fill, r.bgcolor) + .attr("opacity", 0), + o.setTranslate(i, 0, n.currentValueTotalHeight)); + } + function E(t, e) { + var r = e._dims, + n = r.inputAreaLength - 2 * u.railInset, + i = s.ensureSingle(t, "rect", u.railRectClass); + (i + .attr({ + width: n, + height: u.railWidth, + rx: u.railRadius, + ry: u.railRadius, + "shape-rendering": "crispEdges", + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"), + o.setTranslate( + i, + u.railInset, + 0.5 * (r.inputAreaWidth - u.railWidth) + r.currentValueTotalHeight, + )); + } + e.exports = function (t) { + var e = t._fullLayout, + r = (function (t, e) { + for (var r = t[u.name], n = [], i = 0; i < r.length; i++) { + var a = r[i]; + a.visible && a.steps.length && ((a._gd = e), n.push(a)); + } + return n; + })(e, t), + a = e._infolayer + .selectAll("g." + u.containerClassName) + .data(r.length > 0 ? [0] : []); + if ( + (a + .enter() + .append("g") + .classed(u.containerClassName, !0) + .style("cursor", "ew-resize"), + a.exit().remove(), + a.exit().size() && + (function (t) { + for ( + var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; + n < r.length; + n++ + ) { + var a = r[n]; + -1 !== a.indexOf(u.autoMarginIdRoot) && i.autoMargin(t, a); + } + })(t), + 0 !== r.length) + ) { + var s = a.selectAll("g." + u.groupClassName).data(r, g); + (s.enter().append("g").classed(u.groupClassName, !0), + s.exit().each(function (e) { + (n.select(this).remove(), + e._commandObserver.remove(), + delete e._commandObserver, + i.autoMargin(t, u.autoMarginIdRoot + e._index)); + })); + for (var l = 0; l < r.length; l++) { + var c = r[l]; + m(t, c); + } + s.each(function (e) { + if (!(e.steps.length < 2)) { + var r = n.select(this); + (!(function (t) { + var e = t._dims; + e.labelSteps = []; + for (var r = t.steps.length, n = 0; n < r; n += e.labelStride) + e.labelSteps.push({ fraction: n / (r - 1), step: t.steps[n] }); + })(e), + i.manageCommandObserver(t, e, e.steps, function (e) { + var n = r.data()[0]; + n.active !== e.index && + (n._dragging || w(t, r, n, e.index, !1, !0)); + }), + (function (t, e, r) { + r.active >= r.steps.length && (r.active = 0); + e.call(v, r) + .call(E, r) + .call(b, r) + .call(M, r) + .call(C, t, r) + .call(y, t, r); + var n = r._dims; + (o.setTranslate(e, n.lx + r.pad.l, n.ly + r.pad.t), + e.call(A, r, r.active / (r.steps.length - 1), !1), + e.call(v, r)); + })(t, n.select(this), e)); + } + }); + } + }; + }, + { + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/plots": 710, + "../color": 474, + "../drawing": 499, + "../legend/anchor_utils": 526, + "./constants": 563, + d3: 130, + }, + ], + 566: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"); + e.exports = { + moduleType: "component", + name: n.name, + layoutAttributes: t("./attributes"), + supplyLayoutDefaults: t("./defaults"), + draw: t("./draw"), + }; + }, + { "./attributes": 562, "./constants": 563, "./defaults": 564, "./draw": 565 }, + ], + 567: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../../plots/plots"), + o = t("../../registry"), + s = t("../../lib"), + l = t("../drawing"), + c = t("../color"), + u = t("../../lib/svg_text_utils"), + f = t("../../constants/interactions"); + e.exports = { + draw: function (t, e, r) { + var p, + d = r.propContainer, + g = r.propName, + m = r.placeholder, + v = r.traceIndex, + y = r.avoid || {}, + x = r.attributes, + b = r.transform, + _ = r.containerGroup, + w = t._fullLayout, + k = d.titlefont || {}, + M = k.family, + A = k.size, + T = k.color, + S = 1, + C = !1, + E = (d.title || "").trim(); + "title" === g + ? (p = "titleText") + : -1 !== g.indexOf("axis") + ? (p = "axisTitleText") + : g.indexOf(!0) && (p = "colorbarTitleText"); + var L = t._context.edits[p]; + "" === E + ? (S = 0) + : E.replace(h, " % ") === m.replace(h, " % ") && + ((S = 0.2), (C = !0), L || (E = "")); + var z = E || L; + _ || (_ = s.ensureSingle(w._infolayer, "g", "g-" + e)); + var P = _.selectAll("text").data(z ? [0] : []); + if ( + (P.enter().append("text"), + P.text(E).attr("class", e), + P.exit().remove(), + !z) + ) + return _; + function D(t) { + s.syncOrAsync([O, I], t); + } + function O(e) { + var r; + return ( + b + ? ((r = ""), + b.rotate && (r += "rotate(" + [b.rotate, x.x, x.y] + ")"), + b.offset && (r += "translate(0, " + b.offset + ")")) + : (r = null), + e.attr("transform", r), + e + .style({ + "font-family": M, + "font-size": n.round(A, 2) + "px", + fill: c.rgb(T), + opacity: S * c.opacity(T), + "font-weight": a.fontWeight, + }) + .attr(x) + .call(u.convertToTspans, t), + a.previousPromises(t) + ); + } + function I(t) { + var e = n.select(t.node().parentNode); + if (y && y.selection && y.side && E) { + e.attr("transform", null); + var r = 0, + a = { left: "right", right: "left", top: "bottom", bottom: "top" }[ + y.side + ], + o = -1 !== ["left", "top"].indexOf(y.side) ? -1 : 1, + c = i(y.pad) ? y.pad : 2, + u = l.bBox(e.node()), + f = { left: 0, top: 0, right: w.width, bottom: w.height }, + h = + y.maxShift || + (f[y.side] - u[y.side]) * + ("left" === y.side || "top" === y.side ? -1 : 1); + if (h < 0) r = h; + else { + var p = y.offsetLeft || 0, + d = y.offsetTop || 0; + ((u.left -= p), + (u.right -= p), + (u.top -= d), + (u.bottom -= d), + y.selection.each(function () { + var t = l.bBox(this); + s.bBoxIntersect(u, t, c) && + (r = Math.max(r, o * (t[y.side] - u[a]) + c)); + }), + (r = Math.min(h, r))); + } + if (r > 0 || h < 0) { + var g = { + left: [-r, 0], + right: [r, 0], + top: [0, -r], + bottom: [0, r], + }[y.side]; + e.attr("transform", "translate(" + g + ")"); + } + } + } + (P.call(D), + L && + (E + ? P.on(".opacity", null) + : ((S = 0), + (C = !0), + P.text(m) + .on("mouseover.opacity", function () { + n.select(this) + .transition() + .duration(f.SHOW_PLACEHOLDER) + .style("opacity", 1); + }) + .on("mouseout.opacity", function () { + n.select(this) + .transition() + .duration(f.HIDE_PLACEHOLDER) + .style("opacity", 0); + })), + P.call(u.makeEditable, { gd: t }) + .on("edit", function (e) { + void 0 !== v + ? o.call("restyle", t, g, e, v) + : o.call("relayout", t, g, e); + }) + .on("cancel", function () { + this.text(this.attr("data-unformatted")).call(D); + }) + .on("input", function (t) { + this.text(t || " ").call(u.positionText, x.x, x.y); + }))); + return (P.classed("js-placeholder", C), _); + }, + }; + var h = / [XY][0-9]* /; + }, + { + "../../constants/interactions": 578, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/plots": 710, + "../../registry": 732, + "../color": 474, + "../drawing": 499, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 568: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../color/attributes"), + a = t("../../lib/extend").extendFlat, + o = t("../../plot_api/edit_types").overrideAll, + s = t("../../plots/pad_attributes"); + e.exports = o( + { + _isLinkedToArray: "updatemenu", + _arrayAttrRegexps: [/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/], + visible: { valType: "boolean" }, + type: { + valType: "enumerated", + values: ["dropdown", "buttons"], + dflt: "dropdown", + }, + direction: { + valType: "enumerated", + values: ["left", "right", "up", "down"], + dflt: "down", + }, + active: { valType: "integer", min: -1, dflt: 0 }, + showactive: { valType: "boolean", dflt: !0 }, + buttons: { + _isLinkedToArray: "button", + method: { + valType: "enumerated", + values: ["restyle", "relayout", "animate", "update", "skip"], + dflt: "restyle", + }, + args: { + valType: "info_array", + freeLength: !0, + items: [{ valType: "any" }, { valType: "any" }, { valType: "any" }], + }, + label: { valType: "string", dflt: "" }, + execute: { valType: "boolean", dflt: !0 }, + }, + x: { valType: "number", min: -2, max: 3, dflt: -0.05 }, + xanchor: { + valType: "enumerated", + values: ["auto", "left", "center", "right"], + dflt: "right", + }, + y: { valType: "number", min: -2, max: 3, dflt: 1 }, + yanchor: { + valType: "enumerated", + values: ["auto", "top", "middle", "bottom"], + dflt: "top", + }, + pad: a({}, s, {}), + font: n({}), + bgcolor: { valType: "color" }, + bordercolor: { valType: "color", dflt: i.borderLine }, + borderwidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "arraydraw", + }, + }, + "arraydraw", + "from-root", + ); + }, + { + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/font_attributes": 674, + "../../plots/pad_attributes": 709, + "../color/attributes": 473, + }, + ], + 569: [ + function (t, e, r) { + "use strict"; + e.exports = { + name: "updatemenus", + containerClassName: "updatemenu-container", + headerGroupClassName: "updatemenu-header-group", + headerClassName: "updatemenu-header", + headerArrowClassName: "updatemenu-header-arrow", + dropdownButtonGroupClassName: "updatemenu-dropdown-button-group", + dropdownButtonClassName: "updatemenu-dropdown-button", + buttonClassName: "updatemenu-button", + itemRectClassName: "updatemenu-item-rect", + itemTextClassName: "updatemenu-item-text", + menuIndexAttrName: "updatemenu-active-index", + autoMarginIdRoot: "updatemenu-", + blankHeaderOpts: { label: " " }, + minWidth: 30, + minHeight: 30, + textPadX: 24, + arrowPadX: 16, + rx: 2, + ry: 2, + textOffsetX: 12, + textOffsetY: 3, + arrowOffsetX: 4, + gapButtonHeader: 5, + gapButton: 2, + activeColor: "#F4FAFF", + hoverColor: "#F4FAFF", + arrowSymbol: { + left: "\u25c4", + right: "\u25ba", + up: "\u25b2", + down: "\u25bc", + }, + }; + }, + {}, + ], + 570: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/array_container_defaults"), + a = t("./attributes"), + o = t("./constants").name, + s = a.buttons; + function l(t, e, r) { + function i(r, i) { + return n.coerce(t, e, a, r, i); + } + i( + "visible", + (function (t, e) { + var r, + i, + a = t.buttons || [], + o = (e.buttons = []); + function l(t, e) { + return n.coerce(r, i, s, t, e); + } + for (var c = 0; c < a.length; c++) + ((r = a[c]), + (i = {}), + l("method"), + n.isPlainObject(r) && + ("skip" === i.method || Array.isArray(r.args)) && + (l("args"), l("label"), l("execute"), (i._index = c), o.push(i))); + return o; + })(t, e).length > 0, + ) && + (i("active"), + i("direction"), + i("type"), + i("showactive"), + i("x"), + i("y"), + n.noneOrAll(t, e, ["x", "y"]), + i("xanchor"), + i("yanchor"), + i("pad.t"), + i("pad.r"), + i("pad.b"), + i("pad.l"), + n.coerceFont(i, "font", r.font), + i("bgcolor", r.paper_bgcolor), + i("bordercolor"), + i("borderwidth")); + } + e.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + { + "../../lib": 602, + "../../plots/array_container_defaults": 644, + "./attributes": 568, + "./constants": 569, + }, + ], + 571: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../plots/plots"), + a = t("../color"), + o = t("../drawing"), + s = t("../../lib"), + l = t("../../lib/svg_text_utils"), + c = t("../legend/anchor_utils"), + u = t("../../constants/alignment").LINE_SPACING, + f = t("./constants"), + h = t("./scrollbox"); + function p(t) { + return t._index; + } + function d(t, e) { + return +t.attr(f.menuIndexAttrName) === e._index; + } + function g(t, e, r, n, i, a, o, s) { + ((e._input.active = e.active = o), + "buttons" === e.type + ? v(t, n, null, null, e) + : "dropdown" === e.type && + (i.attr(f.menuIndexAttrName, "-1"), + m(t, n, i, a, e), + s || v(t, n, i, a, e))); + } + function m(t, e, r, n, i) { + var a = s.ensureSingle(e, "g", f.headerClassName, function (t) { + t.style("pointer-events", "all"); + }), + l = i._dims, + c = i.active, + u = i.buttons[c] || f.blankHeaderOpts, + h = { y: i.pad.t, yPad: 0, x: i.pad.l, xPad: 0, index: 0 }, + p = { width: l.headerWidth, height: l.headerHeight }; + (a.call(y, i, u, t).call(A, i, h, p), + s + .ensureSingle(e, "text", f.headerArrowClassName, function (t) { + t.classed("user-select-none", !0) + .attr("text-anchor", "end") + .call(o.font, i.font) + .text(f.arrowSymbol[i.direction]); + }) + .attr({ + x: l.headerWidth - f.arrowOffsetX + i.pad.l, + y: l.headerHeight / 2 + f.textOffsetY + i.pad.t, + }), + a.on("click", function () { + (r.call(T), + r.attr(f.menuIndexAttrName, d(r, i) ? -1 : String(i._index)), + v(t, e, r, n, i)); + }), + a.on("mouseover", function () { + a.call(w); + }), + a.on("mouseout", function () { + a.call(k, i); + }), + o.setTranslate(e, l.lx, l.ly)); + } + function v(t, e, r, a, o) { + r || (r = e).attr("pointer-events", "all"); + var s = + (function (t) { + return -1 == +t.attr(f.menuIndexAttrName); + })(r) && "buttons" !== o.type + ? [] + : o.buttons, + l = "dropdown" === o.type ? f.dropdownButtonClassName : f.buttonClassName, + c = r.selectAll("g." + l).data(s), + u = c.enter().append("g").classed(l, !0), + h = c.exit(); + "dropdown" === o.type + ? (u.attr("opacity", "0").transition().attr("opacity", "1"), + h.transition().attr("opacity", "0").remove()) + : h.remove(); + var p = 0, + d = 0, + m = o._dims, + v = -1 !== ["up", "down"].indexOf(o.direction); + ("dropdown" === o.type && + (v + ? (d = m.headerHeight + f.gapButtonHeader) + : (p = m.headerWidth + f.gapButtonHeader)), + "dropdown" === o.type && + "up" === o.direction && + (d = -f.gapButtonHeader + f.gapButton - m.openHeight), + "dropdown" === o.type && + "left" === o.direction && + (p = -f.gapButtonHeader + f.gapButton - m.openWidth)); + var x = { + x: m.lx + p + o.pad.l, + y: m.ly + d + o.pad.t, + yPad: f.gapButton, + xPad: f.gapButton, + index: 0, + }, + b = { l: x.x + o.borderwidth, t: x.y + o.borderwidth }; + (c.each(function (s, l) { + var u = n.select(this); + (u.call(y, o, s, t).call(A, o, x), + u.on("click", function () { + n.event.defaultPrevented || + (g(t, o, 0, e, r, a, l), + s.execute && i.executeAPICommand(t, s.method, s.args), + t.emit("plotly_buttonclicked", { + menu: o, + button: s, + active: o.active, + })); + }), + u.on("mouseover", function () { + u.call(w); + }), + u.on("mouseout", function () { + (u.call(k, o), c.call(_, o)); + })); + }), + c.call(_, o), + v + ? ((b.w = Math.max(m.openWidth, m.headerWidth)), (b.h = x.y - b.t)) + : ((b.w = x.x - b.l), (b.h = Math.max(m.openHeight, m.headerHeight))), + (b.direction = o.direction), + a && + (c.size() + ? (function (t, e, r, n, i, a) { + var o, + s, + l, + c = i.direction, + u = "up" === c || "down" === c, + h = i._dims, + p = i.active; + if (u) + for (s = 0, l = 0; l < p; l++) s += h.heights[l] + f.gapButton; + else + for (o = 0, l = 0; l < p; l++) o += h.widths[l] + f.gapButton; + (n.enable(a, o, s), + n.hbar && + n.hbar + .attr("opacity", "0") + .transition() + .attr("opacity", "1")); + n.vbar && + n.vbar.attr("opacity", "0").transition().attr("opacity", "1"); + })(0, 0, 0, a, o, b) + : (function (t) { + var e = !!t.hbar, + r = !!t.vbar; + e && + t.hbar + .transition() + .attr("opacity", "0") + .each("end", function () { + ((e = !1), r || t.disable()); + }); + r && + t.vbar + .transition() + .attr("opacity", "0") + .each("end", function () { + ((r = !1), e || t.disable()); + }); + })(a))); + } + function y(t, e, r, n) { + t.call(x, e).call(b, e, r, n); + } + function x(t, e) { + s.ensureSingle(t, "rect", f.itemRectClassName, function (t) { + t.attr({ rx: f.rx, ry: f.ry, "shape-rendering": "crispEdges" }); + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style("stroke-width", e.borderwidth + "px"); + } + function b(t, e, r, n) { + s.ensureSingle(t, "text", f.itemTextClassName, function (t) { + t.classed("user-select-none", !0).attr({ + "text-anchor": "start", + "data-notex": 1, + }); + }) + .call(o.font, e.font) + .text(r.label) + .call(l.convertToTspans, n); + } + function _(t, e) { + var r = e.active; + t.each(function (t, i) { + var o = n.select(this); + i === r && + e.showactive && + o.select("rect." + f.itemRectClassName).call(a.fill, f.activeColor); + }); + } + function w(t) { + t.select("rect." + f.itemRectClassName).call(a.fill, f.hoverColor); + } + function k(t, e) { + t.select("rect." + f.itemRectClassName).call(a.fill, e.bgcolor); + } + function M(t, e) { + var r = (e._dims = { + width1: 0, + height1: 0, + heights: [], + widths: [], + totalWidth: 0, + totalHeight: 0, + openWidth: 0, + openHeight: 0, + lx: 0, + ly: 0, + }), + a = o.tester.selectAll("g." + f.dropdownButtonClassName).data(e.buttons); + a.enter().append("g").classed(f.dropdownButtonClassName, !0); + var s = -1 !== ["up", "down"].indexOf(e.direction); + (a.each(function (i, a) { + var c = n.select(this); + c.call(y, e, i, t); + var h = c.select("." + f.itemTextClassName), + p = h.node() && o.bBox(h.node()).width, + d = Math.max(p + f.textPadX, f.minWidth), + g = e.font.size * u, + m = l.lineCount(h), + v = Math.max(g * m, f.minHeight) + f.textOffsetY; + ((v = Math.ceil(v)), + (d = Math.ceil(d)), + (r.widths[a] = d), + (r.heights[a] = v), + (r.height1 = Math.max(r.height1, v)), + (r.width1 = Math.max(r.width1, d)), + s + ? ((r.totalWidth = Math.max(r.totalWidth, d)), + (r.openWidth = r.totalWidth), + (r.totalHeight += v + f.gapButton), + (r.openHeight += v + f.gapButton)) + : ((r.totalWidth += d + f.gapButton), + (r.openWidth += d + f.gapButton), + (r.totalHeight = Math.max(r.totalHeight, v)), + (r.openHeight = r.totalHeight))); + }), + s ? (r.totalHeight -= f.gapButton) : (r.totalWidth -= f.gapButton), + (r.headerWidth = r.width1 + f.arrowPadX), + (r.headerHeight = r.height1), + "dropdown" === e.type && + (s + ? ((r.width1 += f.arrowPadX), (r.totalHeight = r.height1)) + : (r.totalWidth = r.width1), + (r.totalWidth += f.arrowPadX)), + a.remove()); + var h = r.totalWidth + e.pad.l + e.pad.r, + p = r.totalHeight + e.pad.t + e.pad.b, + d = t._fullLayout._size; + ((r.lx = d.l + d.w * e.x), (r.ly = d.t + d.h * (1 - e.y))); + var g = "left"; + (c.isRightAnchor(e) && ((r.lx -= h), (g = "right")), + c.isCenterAnchor(e) && ((r.lx -= h / 2), (g = "center"))); + var m = "top"; + (c.isBottomAnchor(e) && ((r.ly -= p), (m = "bottom")), + c.isMiddleAnchor(e) && ((r.ly -= p / 2), (m = "middle")), + (r.totalWidth = Math.ceil(r.totalWidth)), + (r.totalHeight = Math.ceil(r.totalHeight)), + (r.lx = Math.round(r.lx)), + (r.ly = Math.round(r.ly)), + i.autoMargin(t, f.autoMarginIdRoot + e._index, { + x: e.x, + y: e.y, + l: h * ({ right: 1, center: 0.5 }[g] || 0), + r: h * ({ left: 1, center: 0.5 }[g] || 0), + b: p * ({ top: 1, middle: 0.5 }[m] || 0), + t: p * ({ bottom: 1, middle: 0.5 }[m] || 0), + })); + } + function A(t, e, r, n) { + n = n || {}; + var i = t.select("." + f.itemRectClassName), + a = t.select("." + f.itemTextClassName), + s = e.borderwidth, + c = r.index, + h = e._dims; + o.setTranslate(t, s + r.x, s + r.y); + var p = -1 !== ["up", "down"].indexOf(e.direction), + d = n.height || (p ? h.heights[c] : h.height1); + i.attr({ + x: 0, + y: 0, + width: n.width || (p ? h.width1 : h.widths[c]), + height: d, + }); + var g = e.font.size * u, + m = ((l.lineCount(a) - 1) * g) / 2; + (l.positionText(a, f.textOffsetX, d / 2 - m + f.textOffsetY), + p ? (r.y += h.heights[c] + r.yPad) : (r.x += h.widths[c] + r.xPad), + r.index++); + } + function T(t) { + t.selectAll("g." + f.dropdownButtonClassName).remove(); + } + e.exports = function (t) { + var e = t._fullLayout, + r = (function (t) { + for (var e = t[f.name], r = [], n = 0; n < e.length; n++) { + var i = e[n]; + i.visible && r.push(i); + } + return r; + })(e), + a = e._menulayer + .selectAll("g." + f.containerClassName) + .data(r.length > 0 ? [0] : []); + if ( + (a + .enter() + .append("g") + .classed(f.containerClassName, !0) + .style("cursor", "pointer"), + a.exit().remove(), + a.exit().size() && + (function (t) { + for ( + var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; + n < r.length; + n++ + ) { + var a = r[n]; + -1 !== a.indexOf(f.autoMarginIdRoot) && i.autoMargin(t, a); + } + })(t), + 0 !== r.length) + ) { + var o = a.selectAll("g." + f.headerGroupClassName).data(r, p); + o.enter().append("g").classed(f.headerGroupClassName, !0); + for ( + var l = s.ensureSingle( + a, + "g", + f.dropdownButtonGroupClassName, + function (t) { + t.style("pointer-events", "all"); + }, + ), + c = 0; + c < r.length; + c++ + ) { + var u = r[c]; + M(t, u); + } + var y = "updatemenus" + e._uid, + x = new h(t, l, y); + (o.enter().size() && + (l.node().parentNode.appendChild(l.node()), + l.call(T).attr(f.menuIndexAttrName, "-1")), + o.exit().each(function (e) { + (n.select(this).remove(), + l.call(T).attr(f.menuIndexAttrName, "-1"), + i.autoMargin(t, f.autoMarginIdRoot + e._index)); + }), + o.each(function (e) { + var r = n.select(this), + a = "dropdown" === e.type ? l : null; + (i.manageCommandObserver(t, e, e.buttons, function (n) { + g(t, e, e.buttons[n.index], r, a, x, n.index, !0); + }), + "dropdown" === e.type + ? (m(t, r, l, x, e), d(l, e) && v(t, r, l, x, e)) + : v(t, r, null, null, e)); + })); + } + }; + }, + { + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/plots": 710, + "../color": 474, + "../drawing": 499, + "../legend/anchor_utils": 526, + "./constants": 569, + "./scrollbox": 573, + d3: 130, + }, + ], + 572: [ + function (t, e, r) { + arguments[4][566][0].apply(r, arguments); + }, + { + "./attributes": 568, + "./constants": 569, + "./defaults": 570, + "./draw": 571, + dup: 566, + }, + ], + 573: [ + function (t, e, r) { + "use strict"; + e.exports = s; + var n = t("d3"), + i = t("../color"), + a = t("../drawing"), + o = t("../../lib"); + function s(t, e, r) { + ((this.gd = t), + (this.container = e), + (this.id = r), + (this.position = null), + (this.translateX = null), + (this.translateY = null), + (this.hbar = null), + (this.vbar = null), + (this.bg = this.container.selectAll("rect.scrollbox-bg").data([0])), + this.bg.exit().on(".drag", null).on("wheel", null).remove(), + this.bg + .enter() + .append("rect") + .classed("scrollbox-bg", !0) + .style("pointer-events", "all") + .attr({ opacity: 0, x: 0, y: 0, width: 0, height: 0 })); + } + ((s.barWidth = 2), + (s.barLength = 20), + (s.barRadius = 2), + (s.barPad = 1), + (s.barColor = "#808BA4"), + (s.prototype.enable = function (t, e, r) { + var o = this.gd._fullLayout, + l = o.width, + c = o.height; + this.position = t; + var u, + f, + h, + p, + d = this.position.l, + g = this.position.w, + m = this.position.t, + v = this.position.h, + y = this.position.direction, + x = "down" === y, + b = "left" === y, + _ = "up" === y, + w = g, + k = v; + (x || + b || + "right" === y || + _ || + ((this.position.direction = "down"), (x = !0)), + x || _ + ? ((f = (u = d) + w), + x + ? ((h = m), (k = (p = Math.min(h + k, c)) - h)) + : (k = (p = m + k) - (h = Math.max(p - k, 0)))) + : ((p = (h = m) + k), + b + ? (w = (f = d + w) - (u = Math.max(f - w, 0))) + : ((u = d), (w = (f = Math.min(u + w, l)) - u))), + (this._box = { l: u, t: h, w: w, h: k })); + var M = g > w, + A = s.barLength + 2 * s.barPad, + T = s.barWidth + 2 * s.barPad, + S = d, + C = m + v; + C + T > c && (C = c - T); + var E = this.container + .selectAll("rect.scrollbar-horizontal") + .data(M ? [0] : []); + (E.exit().on(".drag", null).remove(), + E.enter() + .append("rect") + .classed("scrollbar-horizontal", !0) + .call(i.fill, s.barColor), + M + ? ((this.hbar = E.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: S, + y: C, + width: A, + height: T, + })), + (this._hbarXMin = S + A / 2), + (this._hbarTranslateMax = w - A)) + : (delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax)); + var L = v > k, + z = s.barWidth + 2 * s.barPad, + P = s.barLength + 2 * s.barPad, + D = d + g, + O = m; + D + z > l && (D = l - z); + var I = this.container + .selectAll("rect.scrollbar-vertical") + .data(L ? [0] : []); + (I.exit().on(".drag", null).remove(), + I.enter() + .append("rect") + .classed("scrollbar-vertical", !0) + .call(i.fill, s.barColor), + L + ? ((this.vbar = I.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: D, + y: O, + width: z, + height: P, + })), + (this._vbarYMin = O + P / 2), + (this._vbarTranslateMax = k - P)) + : (delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax)); + var R = this.id, + B = u - 0.5, + F = L ? f + z + 0.5 : f + 0.5, + N = h - 0.5, + j = M ? p + T + 0.5 : p + 0.5, + V = o._topdefs.selectAll("#" + R).data(M || L ? [0] : []); + if ( + (V.exit().remove(), + V.enter().append("clipPath").attr("id", R).append("rect"), + M || L + ? ((this._clipRect = V.select("rect").attr({ + x: Math.floor(B), + y: Math.floor(N), + width: Math.ceil(F) - Math.floor(B), + height: Math.ceil(j) - Math.floor(N), + })), + this.container.call(a.setClipUrl, R), + this.bg.attr({ x: d, y: m, width: g, height: v })) + : (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.setClipUrl, null), + delete this._clipRect), + M || L) + ) { + var U = n.behavior + .drag() + .on("dragstart", function () { + n.event.sourceEvent.preventDefault(); + }) + .on("drag", this._onBoxDrag.bind(this)); + this.container + .on("wheel", null) + .on("wheel", this._onBoxWheel.bind(this)) + .on(".drag", null) + .call(U); + var q = n.behavior + .drag() + .on("dragstart", function () { + (n.event.sourceEvent.preventDefault(), + n.event.sourceEvent.stopPropagation()); + }) + .on("drag", this._onBarDrag.bind(this)); + (M && this.hbar.on(".drag", null).call(q), + L && this.vbar.on(".drag", null).call(q)); + } + this.setTranslate(e, r); + }), + (s.prototype.disable = function () { + ((this.hbar || this.vbar) && + (this.bg.attr({ width: 0, height: 0 }), + this.container + .on("wheel", null) + .on(".drag", null) + .call(a.setClipUrl, null), + delete this._clipRect), + this.hbar && + (this.hbar.on(".drag", null), + this.hbar.remove(), + delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax), + this.vbar && + (this.vbar.on(".drag", null), + this.vbar.remove(), + delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax)); + }), + (s.prototype._onBoxDrag = function () { + var t = this.translateX, + e = this.translateY; + (this.hbar && (t -= n.event.dx), + this.vbar && (e -= n.event.dy), + this.setTranslate(t, e)); + }), + (s.prototype._onBoxWheel = function () { + var t = this.translateX, + e = this.translateY; + (this.hbar && (t += n.event.deltaY), + this.vbar && (e += n.event.deltaY), + this.setTranslate(t, e)); + }), + (s.prototype._onBarDrag = function () { + var t = this.translateX, + e = this.translateY; + if (this.hbar) { + var r = t + this._hbarXMin, + i = r + this._hbarTranslateMax; + t = + ((o.constrain(n.event.x, r, i) - r) / (i - r)) * + (this.position.w - this._box.w); + } + if (this.vbar) { + var a = e + this._vbarYMin, + s = a + this._vbarTranslateMax; + e = + ((o.constrain(n.event.y, a, s) - a) / (s - a)) * + (this.position.h - this._box.h); + } + this.setTranslate(t, e); + }), + (s.prototype.setTranslate = function (t, e) { + var r = this.position.w - this._box.w, + n = this.position.h - this._box.h; + if ( + ((t = o.constrain(t || 0, 0, r)), + (e = o.constrain(e || 0, 0, n)), + (this.translateX = t), + (this.translateY = e), + this.container.call( + a.setTranslate, + this._box.l - this.position.l - t, + this._box.t - this.position.t - e, + ), + this._clipRect && + this._clipRect.attr({ + x: Math.floor(this.position.l + t - 0.5), + y: Math.floor(this.position.t + e - 0.5), + }), + this.hbar) + ) { + var i = t / r; + this.hbar.call(a.setTranslate, t + i * this._hbarTranslateMax, e); + } + if (this.vbar) { + var s = e / n; + this.vbar.call(a.setTranslate, t, e + s * this._vbarTranslateMax); + } + })); + }, + { "../../lib": 602, "../color": 474, "../drawing": 499, d3: 130 }, + ], + 574: [ + function (t, e, r) { + "use strict"; + e.exports = { + FROM_BL: { left: 0, center: 0.5, right: 1, bottom: 0, middle: 0.5, top: 1 }, + FROM_TL: { left: 0, center: 0.5, right: 1, bottom: 1, middle: 0.5, top: 0 }, + FROM_BR: { left: 1, center: 0.5, right: 0, bottom: 0, middle: 0.5, top: 1 }, + LINE_SPACING: 1.3, + MID_SHIFT: 0.35, + OPPOSITE_SIDE: { + left: "right", + right: "left", + top: "bottom", + bottom: "top", + }, + }; + }, + {}, + ], + 575: [ + function (t, e, r) { + "use strict"; + e.exports = { + COMPARISON_OPS: ["=", "!=", "<", ">=", ">", "<="], + COMPARISON_OPS2: ["=", "<", ">=", ">", "<="], + INTERVAL_OPS: ["[]", "()", "[)", "(]", "][", ")(", "](", ")["], + SET_OPS: ["{}", "}{"], + CONSTRAINT_REDUCTION: { + "=": "=", + "<": "<", + "<=": "<", + ">": ">", + ">=": ">", + "[]": "[]", + "()": "[]", + "[)": "[]", + "(]": "[]", + "][": "][", + ")(": "][", + "](": "][", + ")[": "][", + }, + }; + }, + {}, + ], + 576: [ + function (t, e, r) { + "use strict"; + e.exports = { + solid: [[], 0], + dot: [[0.5, 1], 200], + dash: [[0.5, 1], 50], + longdash: [[0.5, 1], 10], + dashdot: [[0.5, 0.625, 0.875, 1], 50], + longdashdot: [[0.5, 0.7, 0.8, 1], 10], + }; + }, + {}, + ], + 577: [ + function (t, e, r) { + "use strict"; + e.exports = { + circle: "\u25cf", + "circle-open": "\u25cb", + square: "\u25a0", + "square-open": "\u25a1", + diamond: "\u25c6", + "diamond-open": "\u25c7", + cross: "+", + x: "\u274c", + }; + }, + {}, + ], + 578: [ + function (t, e, r) { + "use strict"; + e.exports = { + SHOW_PLACEHOLDER: 100, + HIDE_PLACEHOLDER: 1e3, + DBLCLICKDELAY: 300, + DESELECTDIM: 0.2, + }; + }, + {}, + ], + 579: [ + function (t, e, r) { + "use strict"; + e.exports = { + BADNUM: void 0, + FP_SAFE: Number.MAX_VALUE / 1e4, + ONEAVGYEAR: 315576e5, + ONEAVGMONTH: 26298e5, + ONEDAY: 864e5, + ONEHOUR: 36e5, + ONEMIN: 6e4, + ONESEC: 1e3, + EPOCHJD: 2440587.5, + ALMOST_EQUAL: 1 - 1e-6, + MINUS_SIGN: "\u2212", + }; + }, + {}, + ], + 580: [ + function (t, e, r) { + "use strict"; + e.exports = { + entityToUnicode: { + mu: "\u03bc", + "#956": "\u03bc", + amp: "&", + "#28": "&", + lt: "<", + "#60": "<", + gt: ">", + "#62": ">", + nbsp: "\xa0", + "#160": "\xa0", + times: "\xd7", + "#215": "\xd7", + plusmn: "\xb1", + "#177": "\xb1", + deg: "\xb0", + "#176": "\xb0", + }, + }; + }, + {}, + ], + 581: [ + function (t, e, r) { + "use strict"; + ((r.xmlns = "http://www.w3.org/2000/xmlns/"), + (r.svg = "http://www.w3.org/2000/svg"), + (r.xlink = "http://www.w3.org/1999/xlink"), + (r.svgAttrs = { xmlns: r.svg, "xmlns:xlink": r.xlink })); + }, + {}, + ], + 582: [ + function (t, e, r) { + "use strict"; + ((r.version = "1.37.1"), + t("es6-promise").polyfill(), + t("../build/plotcss"), + t("./fonts/mathjax_config")); + for ( + var n = t("./registry"), + i = (r.register = n.register), + a = t("./plot_api"), + o = Object.keys(a), + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + ((r[l] = a[l]), i({ moduleType: "apiMethod", name: l, fn: a[l] })); + } + (i(t("./traces/scatter")), + i([ + t("./components/fx"), + t("./components/legend"), + t("./components/annotations"), + t("./components/annotations3d"), + t("./components/shapes"), + t("./components/images"), + t("./components/updatemenus"), + t("./components/sliders"), + t("./components/rangeslider"), + t("./components/rangeselector"), + t("./components/grid"), + t("./components/errorbars"), + ]), + i([t("./locale-en"), t("./locale-en-us")]), + (r.Icons = t("../build/ploticon")), + (r.Plots = t("./plots/plots")), + (r.Fx = t("./components/fx")), + (r.Snapshot = t("./snapshot")), + (r.PlotSchema = t("./plot_api/plot_schema")), + (r.Queue = t("./lib/queue")), + (r.d3 = t("d3"))); + }, + { + "../build/plotcss": 1, + "../build/ploticon": 2, + "./components/annotations": 465, + "./components/annotations3d": 470, + "./components/errorbars": 505, + "./components/fx": 516, + "./components/grid": 520, + "./components/images": 525, + "./components/legend": 534, + "./components/rangeselector": 546, + "./components/rangeslider": 552, + "./components/shapes": 560, + "./components/sliders": 566, + "./components/updatemenus": 572, + "./fonts/mathjax_config": 583, + "./lib/queue": 617, + "./locale-en": 631, + "./locale-en-us": 630, + "./plot_api": 635, + "./plot_api/plot_schema": 639, + "./plots/plots": 710, + "./registry": 732, + "./snapshot": 737, + "./traces/scatter": 938, + d3: 130, + "es6-promise": 184, + }, + ], + 583: [ + function (t, e, r) { + "use strict"; + "undefined" != typeof MathJax + ? ((r.MathJax = !0), + MathJax.Hub.Config({ + messageStyle: "none", + skipStartupTypeset: !0, + displayAlign: "left", + tex2jax: { + inlineMath: [ + ["$", "$"], + ["\\(", "\\)"], + ], + }, + }), + MathJax.Hub.Configured()) + : (r.MathJax = !1); + }, + {}, + ], + 584: [ + function (t, e, r) { + "use strict"; + var n = Math.PI; + ((r.deg2rad = function (t) { + return (t / 180) * n; + }), + (r.rad2deg = function (t) { + return (t / n) * 180; + }), + (r.wrap360 = function (t) { + var e = t % 360; + return e < 0 ? e + 360 : e; + }), + (r.wrap180 = function (t) { + return (Math.abs(t) > 180 && (t -= 360 * Math.round(t / 360)), t); + })); + }, + {}, + ], + 585: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../constants/numerical").BADNUM, + a = /^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g; + e.exports = function (t) { + return ( + "string" == typeof t && (t = t.replace(a, "")), + n(t) ? Number(t) : i + ); + }; + }, + { "../constants/numerical": 579, "fast-isnumeric": 196 }, + ], + 586: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t._fullLayout; + e._glcanvas && + e._glcanvas.size() && + e._glcanvas.each(function (t) { + t.regl && t.regl.clear({ color: !0, depth: !0 }); + }); + }; + }, + {}, + ], + 587: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("tinycolor2"), + a = t("../plots/attributes"), + o = t("../components/colorscale/get_scale"), + s = + (Object.keys(t("../components/colorscale/scales")), + t("./nested_property")), + l = t("./regex").counter, + c = t("../constants/interactions").DESELECTDIM, + u = t("./angles").wrap180, + f = t("./is_array").isArrayOrTypedArray; + ((r.valObjectMeta = { + data_array: { + coerceFunction: function (t, e, r) { + f(t) ? e.set(t) : void 0 !== r && e.set(r); + }, + }, + enumerated: { + coerceFunction: function (t, e, r, n) { + (n.coerceNumber && (t = +t), + -1 === n.values.indexOf(t) ? e.set(r) : e.set(t)); + }, + validateFunction: function (t, e) { + e.coerceNumber && (t = +t); + for (var r = e.values, n = 0; n < r.length; n++) { + var i = String(r[n]); + if ("/" === i.charAt(0) && "/" === i.charAt(i.length - 1)) { + if (new RegExp(i.substr(1, i.length - 2)).test(t)) return !0; + } else if (t === r[n]) return !0; + } + return !1; + }, + }, + boolean: { + coerceFunction: function (t, e, r) { + !0 === t || !1 === t ? e.set(t) : e.set(r); + }, + }, + number: { + coerceFunction: function (t, e, r, i) { + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + integer: { + coerceFunction: function (t, e, r, i) { + t % 1 || + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + string: { + coerceFunction: function (t, e, r, n) { + if ("string" != typeof t) { + var i = "number" == typeof t; + !0 !== n.strict && i ? e.set(String(t)) : e.set(r); + } else n.noBlank && !t ? e.set(r) : e.set(t); + }, + }, + color: { + coerceFunction: function (t, e, r) { + i(t).isValid() ? e.set(t) : e.set(r); + }, + }, + colorlist: { + coerceFunction: function (t, e, r) { + Array.isArray(t) && + t.length && + t.every(function (t) { + return i(t).isValid(); + }) + ? e.set(t) + : e.set(r); + }, + }, + colorscale: { + coerceFunction: function (t, e, r) { + e.set(o(t, r)); + }, + }, + angle: { + coerceFunction: function (t, e, r) { + "auto" === t ? e.set("auto") : n(t) ? e.set(u(+t)) : e.set(r); + }, + }, + subplotid: { + coerceFunction: function (t, e, r, n) { + var i = n.regex || l(r); + "string" == typeof t && i.test(t) ? e.set(t) : e.set(r); + }, + validateFunction: function (t, e) { + var r = e.dflt; + return t === r || ("string" == typeof t && !!l(r).test(t)); + }, + }, + flaglist: { + coerceFunction: function (t, e, r, n) { + if ("string" == typeof t) + if (-1 === (n.extras || []).indexOf(t)) { + for (var i = t.split("+"), a = 0; a < i.length; ) { + var o = i[a]; + -1 === n.flags.indexOf(o) || i.indexOf(o) < a + ? i.splice(a, 1) + : a++; + } + i.length ? e.set(i.join("+")) : e.set(r); + } else e.set(t); + else e.set(r); + }, + }, + any: { + coerceFunction: function (t, e, r) { + void 0 === t ? e.set(r) : e.set(t); + }, + }, + info_array: { + coerceFunction: function (t, e, n, i) { + function a(t, e, n) { + var i, + a = { + set: function (t) { + i = t; + }, + }; + return ( + void 0 === n && (n = e.dflt), + r.valObjectMeta[e.valType].coerceFunction(t, a, n, e), + i + ); + } + var o = + 2 === i.dimensions || + ("1-2" === i.dimensions && Array.isArray(t) && Array.isArray(t[0])); + if (Array.isArray(t)) { + var s, + l, + c, + u, + f, + h, + p = i.items, + d = [], + g = Array.isArray(p), + m = g && o && Array.isArray(p[0]), + v = o && g && !m, + y = g && !v ? p.length : t.length; + if (((n = Array.isArray(n) ? n : []), o)) + for (s = 0; s < y; s++) + for ( + d[s] = [], + c = Array.isArray(t[s]) ? t[s] : [], + f = v ? p.length : g ? p[s].length : c.length, + l = 0; + l < f; + l++ + ) + ((u = v ? p[l] : g ? p[s][l] : p), + void 0 !== (h = a(c[l], u, (n[s] || [])[l])) && + (d[s][l] = h)); + else + for (s = 0; s < y; s++) + void 0 !== (h = a(t[s], g ? p[s] : p, n[s])) && (d[s] = h); + e.set(d); + } else e.set(n); + }, + validateFunction: function (t, e) { + if (!Array.isArray(t)) return !1; + var n = e.items, + i = Array.isArray(n), + a = 2 === e.dimensions; + if (!e.freeLength && t.length !== n.length) return !1; + for (var o = 0; o < t.length; o++) + if (a) { + if ( + !Array.isArray(t[o]) || + (!e.freeLength && t[o].length !== n[o].length) + ) + return !1; + for (var s = 0; s < t[o].length; s++) + if (!r.validate(t[o][s], i ? n[o][s] : n)) return !1; + } else if (!r.validate(t[o], i ? n[o] : n)) return !1; + return !0; + }, + }, + }), + (r.coerce = function (t, e, n, i, a) { + var o = s(n, i).get(), + l = s(t, i), + c = s(e, i), + u = l.get(); + return ( + void 0 === a && (a = o.dflt), + o.arrayOk && f(u) + ? (c.set(u), u) + : (r.valObjectMeta[o.valType].coerceFunction(u, c, a, o), c.get()) + ); + }), + (r.coerce2 = function (t, e, n, i, a) { + var o = s(t, i), + l = r.coerce(t, e, n, i, a), + c = o.get(); + return void 0 !== c && null !== c && l; + }), + (r.coerceFont = function (t, e, r) { + var n = {}; + return ( + (r = r || {}), + (n.family = t(e + ".family", r.family)), + (n.size = t(e + ".size", r.size)), + (n.color = t(e + ".color", r.color)), + n + ); + }), + (r.coerceHoverinfo = function (t, e, n) { + var i, + o = e._module.attributes, + s = o.hoverinfo ? o : a, + l = s.hoverinfo; + if (1 === n._dataLength) { + var c = "all" === l.dflt ? l.flags.slice() : l.dflt.split("+"); + (c.splice(c.indexOf("name"), 1), (i = c.join("+"))); + } + return r.coerce(t, e, s, "hoverinfo", i); + }), + (r.coerceSelectionMarkerOpacity = function (t, e) { + if (t.marker) { + var r, + n, + i = t.marker.opacity; + if (void 0 !== i) + (f(i) || t.selected || t.unselected || ((r = i), (n = c * i)), + e("selected.marker.opacity", r), + e("unselected.marker.opacity", n)); + } + }), + (r.validate = function (t, e) { + var n = r.valObjectMeta[e.valType]; + if (e.arrayOk && f(t)) return !0; + if (n.validateFunction) return n.validateFunction(t, e); + var i = {}, + a = i, + o = { + set: function (t) { + a = t; + }, + }; + return (n.coerceFunction(t, o, i, e), a !== i); + })); + }, + { + "../components/colorscale/get_scale": 487, + "../components/colorscale/scales": 493, + "../constants/interactions": 578, + "../plots/attributes": 645, + "./angles": 584, + "./is_array": 603, + "./nested_property": 610, + "./regex": 618, + "fast-isnumeric": 196, + tinycolor2: 415, + }, + ], + 588: [ + function (t, e, r) { + "use strict"; + var n, + i, + a = t("d3"), + o = t("fast-isnumeric"), + s = t("./loggers"), + l = t("./mod"), + c = t("../constants/numerical"), + u = c.BADNUM, + f = c.ONEDAY, + h = c.ONEHOUR, + p = c.ONEMIN, + d = c.ONESEC, + g = c.EPOCHJD, + m = t("../registry"), + v = a.time.format.utc, + y = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m, + x = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m, + b = new Date().getFullYear() - 70; + function _(t) { + return ( + t && + m.componentsRegistry.calendars && + "string" == typeof t && + "gregorian" !== t + ); + } + function w(t, e) { + return String(t + Math.pow(10, e)).substr(1); + } + ((r.dateTick0 = function (t, e) { + return _(t) + ? e + ? m.getComponentMethod("calendars", "CANONICAL_SUNDAY")[t] + : m.getComponentMethod("calendars", "CANONICAL_TICK")[t] + : e + ? "2000-01-02" + : "2000-01-01"; + }), + (r.dfltRange = function (t) { + return _(t) + ? m.getComponentMethod("calendars", "DFLTRANGE")[t] + : ["2000-01-01", "2001-01-01"]; + }), + (r.isJSDate = function (t) { + return ( + "object" == typeof t && null !== t && "function" == typeof t.getTime + ); + }), + (r.dateTime2ms = function (t, e) { + if (r.isJSDate(t)) + return (t = Number(t) - t.getTimezoneOffset() * p) >= n && t <= i + ? t + : u; + if ("string" != typeof t && "number" != typeof t) return u; + t = String(t); + var a = _(e), + o = t.charAt(0); + !a || ("G" !== o && "g" !== o) || ((t = t.substr(1)), (e = "")); + var s = a && "chinese" === e.substr(0, 7), + l = t.match(s ? x : y); + if (!l) return u; + var c = l[1], + v = l[3] || "1", + w = Number(l[5] || 1), + k = Number(l[7] || 0), + M = Number(l[9] || 0), + A = Number(l[11] || 0); + if (a) { + if (2 === c.length) return u; + var T; + c = Number(c); + try { + var S = m.getComponentMethod("calendars", "getCal")(e); + if (s) { + var C = "i" === v.charAt(v.length - 1); + ((v = parseInt(v, 10)), + (T = S.newDate(c, S.toMonthIndex(c, v, C), w))); + } else T = S.newDate(c, Number(v), w); + } catch (t) { + return u; + } + return T ? (T.toJD() - g) * f + k * h + M * p + A * d : u; + } + ((c = 2 === c.length ? ((Number(c) + 2e3 - b) % 100) + b : Number(c)), + (v -= 1)); + var E = new Date(Date.UTC(2e3, v, w, k, M)); + return ( + E.setUTCFullYear(c), + E.getUTCMonth() !== v + ? u + : E.getUTCDate() !== w + ? u + : E.getTime() + A * d + ); + }), + (n = r.MIN_MS = r.dateTime2ms("-9999")), + (i = r.MAX_MS = r.dateTime2ms("9999-12-31 23:59:59.9999")), + (r.isDateTime = function (t, e) { + return r.dateTime2ms(t, e) !== u; + })); + var k = 90 * f, + M = 3 * h, + A = 5 * p; + function T(t, e, r, n, i) { + if ( + (e || r || n || i) && + ((t += " " + w(e, 2) + ":" + w(r, 2)), + (n || i) && ((t += ":" + w(n, 2)), i)) + ) { + for (var a = 4; i % 10 == 0; ) ((a -= 1), (i /= 10)); + t += "." + w(i, a); + } + return t; + } + ((r.ms2DateTime = function (t, e, r) { + if ("number" != typeof t || !(t >= n && t <= i)) return u; + e || (e = 0); + var a, + o, + s, + c, + y, + x, + b = Math.floor(10 * l(t + 0.05, 1)), + w = Math.round(t - b / 10); + if (_(r)) { + var S = Math.floor(w / f) + g, + C = Math.floor(l(t, f)); + try { + a = m + .getComponentMethod("calendars", "getCal")(r) + .fromJD(S) + .formatDate("yyyy-mm-dd"); + } catch (t) { + a = v("G%Y-%m-%d")(new Date(w)); + } + if ("-" === a.charAt(0)) for (; a.length < 11; ) a = "-0" + a.substr(1); + else for (; a.length < 10; ) a = "0" + a; + ((o = e < k ? Math.floor(C / h) : 0), + (s = e < k ? Math.floor((C % h) / p) : 0), + (c = e < M ? Math.floor((C % p) / d) : 0), + (y = e < A ? (C % d) * 10 + b : 0)); + } else + ((x = new Date(w)), + (a = v("%Y-%m-%d")(x)), + (o = e < k ? x.getUTCHours() : 0), + (s = e < k ? x.getUTCMinutes() : 0), + (c = e < M ? x.getUTCSeconds() : 0), + (y = e < A ? 10 * x.getUTCMilliseconds() + b : 0)); + return T(a, o, s, c, y); + }), + (r.ms2DateTimeLocal = function (t) { + if (!(t >= n + f && t <= i - f)) return u; + var e = Math.floor(10 * l(t + 0.05, 1)), + r = new Date(Math.round(t - e / 10)); + return T( + a.time.format("%Y-%m-%d")(r), + r.getHours(), + r.getMinutes(), + r.getSeconds(), + 10 * r.getUTCMilliseconds() + e, + ); + }), + (r.cleanDate = function (t, e, n) { + if (r.isJSDate(t) || "number" == typeof t) { + if (_(n)) + return ( + s.error( + "JS Dates and milliseconds are incompatible with world calendars", + t, + ), + e + ); + if (!(t = r.ms2DateTimeLocal(+t)) && void 0 !== e) return e; + } else if (!r.isDateTime(t, n)) + return (s.error("unrecognized date", t), e); + return t; + })); + var S = /%\d?f/g; + function C(t, e, r, n) { + t = t.replace(S, function (t) { + var r = Math.min(+t.charAt(1) || 6, 6); + return ( + (((e / 1e3) % 1) + 2).toFixed(r).substr(2).replace(/0+$/, "") || "0" + ); + }); + var i = new Date(Math.floor(e + 0.05)); + if (_(n)) + try { + t = m.getComponentMethod("calendars", "worldCalFmt")(t, e, n); + } catch (t) { + return "Invalid"; + } + return r(t)(i); + } + var E = [59, 59.9, 59.99, 59.999, 59.9999]; + r.formatDate = function (t, e, r, n, i, a) { + if (((i = _(i) && i), !e)) + if ("y" === r) e = a.year; + else if ("m" === r) e = a.month; + else { + if ("d" !== r) + return ( + (function (t, e) { + var r = l(t + 0.05, f), + n = + w(Math.floor(r / h), 2) + + ":" + + w(l(Math.floor(r / p), 60), 2); + if ("M" !== e) { + o(e) || (e = 0); + var i = (100 + Math.min(l(t / d, 60), E[e])) + .toFixed(e) + .substr(1); + (e > 0 && (i = i.replace(/0+$/, "").replace(/[\.]$/, "")), + (n += ":" + i)); + } + return n; + })(t, r) + + "\n" + + C(a.dayMonthYear, t, n, i) + ); + e = a.dayMonth + "\n" + a.year; + } + return C(e, t, n, i); + }; + var L = 3 * f; + ((r.incrementMonth = function (t, e, r) { + r = _(r) && r; + var n = l(t, f); + if (((t = Math.round(t - n)), r)) + try { + var i = Math.round(t / f) + g, + a = m.getComponentMethod("calendars", "getCal")(r), + o = a.fromJD(i); + return ( + e % 12 ? a.add(o, e, "m") : a.add(o, e / 12, "y"), + (o.toJD() - g) * f + n + ); + } catch (e) { + s.error("invalid ms " + t + " in calendar " + r); + } + var c = new Date(t + L); + return c.setUTCMonth(c.getUTCMonth() + e) + n - L; + }), + (r.findExactDates = function (t, e) { + for ( + var r, + n, + i = 0, + a = 0, + s = 0, + l = 0, + c = _(e) && m.getComponentMethod("calendars", "getCal")(e), + u = 0; + u < t.length; + u++ + ) + if (((n = t[u]), o(n))) { + if (!(n % f)) + if (c) + try { + 1 === (r = c.fromJD(n / f + g)).day() + ? 1 === r.month() + ? i++ + : a++ + : s++; + } catch (t) {} + else + 1 === (r = new Date(n)).getUTCDate() + ? 0 === r.getUTCMonth() + ? i++ + : a++ + : s++; + } else l++; + s += a += i; + var h = t.length - l; + return { exactYears: i / h, exactMonths: a / h, exactDays: s / h }; + })); + }, + { + "../constants/numerical": 579, + "../registry": 732, + "./loggers": 607, + "./mod": 609, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 589: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return (Array.isArray(t) || (t = []), (t.length = e), t); + }; + }, + {}, + ], + 590: [ + function (t, e, r) { + "use strict"; + var n = t("events").EventEmitter, + i = { + init: function (t) { + if (t._ev instanceof n) return t; + var e = new n(), + r = new n(); + return ( + (t._ev = e), + (t._internalEv = r), + (t.on = e.on.bind(e)), + (t.once = e.once.bind(e)), + (t.removeListener = e.removeListener.bind(e)), + (t.removeAllListeners = e.removeAllListeners.bind(e)), + (t._internalOn = r.on.bind(r)), + (t._internalOnce = r.once.bind(r)), + (t._removeInternalListener = r.removeListener.bind(r)), + (t._removeAllInternalListeners = r.removeAllListeners.bind(r)), + (t.emit = function (n, i) { + ("undefined" != typeof jQuery && jQuery(t).trigger(n, i), + e.emit(n, i), + r.emit(n, i)); + }), + t + ); + }, + triggerHandler: function (t, e, r) { + var n, i; + "undefined" != typeof jQuery && (n = jQuery(t).triggerHandler(e, r)); + var a = t._ev; + if (!a) return n; + var o, + s = a._events[e]; + if (!s) return n; + function l(t) { + return t.listener + ? (a.removeListener(e, t.listener), + t.fired ? void 0 : ((t.fired = !0), t.listener.apply(a, [r]))) + : t.apply(a, [r]); + } + for (s = Array.isArray(s) ? s : [s], o = 0; o < s.length - 1; o++) + l(s[o]); + return ((i = l(s[o])), void 0 !== n ? n : i); + }, + purge: function (t) { + return ( + delete t._ev, + delete t.on, + delete t.once, + delete t.removeListener, + delete t.removeAllListeners, + delete t.emit, + delete t._ev, + delete t._internalEv, + delete t._internalOn, + delete t._internalOnce, + delete t._removeInternalListener, + delete t._removeAllInternalListeners, + t + ); + }, + }; + e.exports = i; + }, + { events: 194 }, + ], + 591: [ + function (t, e, r) { + "use strict"; + var n = t("./is_plain_object.js"), + i = Array.isArray; + function a(t, e, r, o) { + var s, + l, + c, + u, + f, + h, + p = t[0], + d = t.length; + if (2 === d && i(p) && i(t[1]) && 0 === p.length) { + if ( + (function (t, e) { + var r, n; + for (r = 0; r < t.length; r++) { + if (null !== (n = t[r]) && "object" == typeof n) return !1; + void 0 !== n && (e[r] = n); + } + return !0; + })(t[1], p) + ) + return p; + p.splice(0, p.length); + } + for (var g = 1; g < d; g++) + for (l in (s = t[g])) + ((c = p[l]), + (u = s[l]), + o && i(u) + ? (p[l] = u) + : e && u && (n(u) || (f = i(u))) + ? (f + ? ((f = !1), (h = c && i(c) ? c : [])) + : (h = c && n(c) ? c : {}), + (p[l] = a([h, u], e, r, o))) + : (void 0 !== u || r) && (p[l] = u)); + return p; + } + ((r.extendFlat = function () { + return a(arguments, !1, !1, !1); + }), + (r.extendDeep = function () { + return a(arguments, !0, !1, !1); + }), + (r.extendDeepAll = function () { + return a(arguments, !0, !0, !1); + }), + (r.extendDeepNoArrays = function () { + return a(arguments, !0, !1, !0); + })); + }, + { "./is_plain_object.js": 604 }, + ], + 592: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = {}, r = [], n = 0, i = 0; i < t.length; i++) { + var a = t[i]; + 1 !== e[a] && ((e[a] = 1), (r[n++] = a)); + } + return r; + }; + }, + {}, + ], + 593: [ + function (t, e, r) { + "use strict"; + function n(t) { + return !0 === t.visible; + } + function i(t) { + return !0 === t[0].trace.visible; + } + e.exports = function (t) { + for ( + var e, + r = + ((e = t), + Array.isArray(e) && Array.isArray(e[0]) && e[0][0] && e[0][0].trace + ? i + : n), + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + r(s) && a.push(s); + } + return a; + }; + }, + {}, + ], + 594: [ + function (t, e, r) { + "use strict"; + var n = t("country-regex"), + i = t("../lib"), + a = Object.keys(n), + o = { + "ISO-3": i.identity, + "USA-states": i.identity, + "country names": function (t) { + for (var e = 0; e < a.length; e++) { + var r = a[e], + o = new RegExp(n[r]); + if (o.test(t.trim().toLowerCase())) return r; + } + return (i.log("Unrecognized country name: " + t + "."), !1); + }, + }; + r.locationToFeature = function (t, e, r) { + if (!e || "string" != typeof e) return !1; + var n = (function (t, e) { + return (0, o[t])(e); + })(t, e); + if (n) { + for (var a = 0; a < r.length; a++) { + var s = r[a]; + if (s.id === n) return s; + } + i.log( + [ + "Location with id", + n, + "does not have a matching topojson feature at this resolution.", + ].join(" "), + ); + } + return !1; + }; + }, + { "../lib": 602, "country-regex": 114 }, + ], + 595: [ + function (t, e, r) { + "use strict"; + var n = t("../constants/numerical").BADNUM; + ((r.calcTraceToLineCoords = function (t) { + for ( + var e = t[0].trace.connectgaps, r = [], i = [], a = 0; + a < t.length; + a++ + ) { + var o = t[a].lonlat; + o[0] !== n ? i.push(o) : !e && i.length > 0 && (r.push(i), (i = [])); + } + return (i.length > 0 && r.push(i), r); + }), + (r.makeLine = function (t) { + return 1 === t.length + ? { type: "LineString", coordinates: t[0] } + : { type: "MultiLineString", coordinates: t }; + }), + (r.makePolygon = function (t) { + if (1 === t.length) return { type: "Polygon", coordinates: t }; + for (var e = new Array(t.length), r = 0; r < t.length; r++) e[r] = [t[r]]; + return { type: "MultiPolygon", coordinates: e }; + }), + (r.makeBlank = function () { + return { type: "Point", coordinates: [] }; + })); + }, + { "../constants/numerical": 579 }, + ], + 596: [ + function (t, e, r) { + "use strict"; + var n, + i, + a, + o = t("./mod"); + function s(t, e, r, n, i, a, o, s) { + var l = r - t, + c = i - t, + u = o - i, + f = n - e, + h = a - e, + p = s - a, + d = l * p - u * f; + if (0 === d) return null; + var g = (c * p - u * h) / d, + m = (c * f - l * h) / d; + return m < 0 || m > 1 || g < 0 || g > 1 + ? null + : { x: t + l * g, y: e + f * g }; + } + function l(t, e, r, n, i) { + var a = n * t + i * e; + if (a < 0) return n * n + i * i; + if (a > r) { + var o = n - t, + s = i - e; + return o * o + s * s; + } + var l = n * e - i * t; + return (l * l) / r; + } + ((r.segmentsIntersect = s), + (r.segmentDistance = function (t, e, r, n, i, a, o, c) { + if (s(t, e, r, n, i, a, o, c)) return 0; + var u = r - t, + f = n - e, + h = o - i, + p = c - a, + d = u * u + f * f, + g = h * h + p * p, + m = Math.min( + l(u, f, d, i - t, a - e), + l(u, f, d, o - t, c - e), + l(h, p, g, t - i, e - a), + l(h, p, g, r - i, n - a), + ); + return Math.sqrt(m); + }), + (r.getTextLocation = function (t, e, r, s) { + if (((t === i && s === a) || ((n = {}), (i = t), (a = s)), n[r])) + return n[r]; + var l = t.getPointAtLength(o(r - s / 2, e)), + c = t.getPointAtLength(o(r + s / 2, e)), + u = Math.atan((c.y - l.y) / (c.x - l.x)), + f = t.getPointAtLength(o(r, e)), + h = { + x: (4 * f.x + l.x + c.x) / 6, + y: (4 * f.y + l.y + c.y) / 6, + theta: u, + }; + return ((n[r] = h), h); + }), + (r.clearLocationCache = function () { + i = null; + }), + (r.getVisibleSegment = function (t, e, r) { + var n, + i, + a = e.left, + o = e.right, + s = e.top, + l = e.bottom, + c = 0, + u = t.getTotalLength(), + f = u; + function h(e) { + var r = t.getPointAtLength(e); + 0 === e ? (n = r) : e === u && (i = r); + var c = r.x < a ? a - r.x : r.x > o ? r.x - o : 0, + f = r.y < s ? s - r.y : r.y > l ? r.y - l : 0; + return Math.sqrt(c * c + f * f); + } + for (var p = h(c); p; ) { + if ((c += p + r) > f) return; + p = h(c); + } + for (p = h(f); p; ) { + if (c > (f -= p + r)) return; + p = h(f); + } + return { + min: c, + max: f, + len: f - c, + total: u, + isClosed: + 0 === c && + f === u && + Math.abs(n.x - i.x) < 0.1 && + Math.abs(n.y - i.y) < 0.1, + }; + }), + (r.findPointOnPath = function (t, e, r, n) { + for ( + var i, + a, + o, + s = (n = n || {}).pathLength || t.getTotalLength(), + l = n.tolerance || 0.001, + c = n.iterationLimit || 30, + u = t.getPointAtLength(0)[r] > t.getPointAtLength(s)[r] ? -1 : 1, + f = 0, + h = 0, + p = s; + f < c; + + ) { + if ( + ((i = (h + p) / 2), + (o = (a = t.getPointAtLength(i))[r] - e), + Math.abs(o) < l) + ) + return a; + (u * o > 0 ? (p = i) : (h = i), f++); + } + return a; + })); + }, + { "./mod": 609 }, + ], + 597: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e; + if ("string" == typeof t) { + if (null === (e = document.getElementById(t))) + throw new Error( + "No DOM element with id '" + t + "' exists on the page.", + ); + return e; + } + if (null === t || void 0 === t) + throw new Error("DOM element provided is null or undefined"); + return t; + }; + }, + {}, + ], + 598: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("color-normalize"), + a = t("../components/colorscale"), + o = t("../components/color/attributes").defaultLine, + s = t("./is_array").isArrayOrTypedArray, + l = i(o), + c = 1; + function u(t, e) { + var r = t; + return ((r[3] *= e), r); + } + function f(t) { + if (n(t)) return l; + var e = i(t); + return e.length ? e : l; + } + function h(t) { + return n(t) ? t : c; + } + e.exports = function (t, e, r) { + var n, + o, + p, + d, + g, + m = t.color, + v = s(m), + y = s(e), + x = []; + if ( + ((n = + void 0 !== t.colorscale + ? a.makeColorScaleFunc(a.extractScale(t.colorscale, t.cmin, t.cmax)) + : f), + (o = v + ? function (t, e) { + return void 0 === t[e] ? l : i(n(t[e])); + } + : f), + (p = y + ? function (t, e) { + return void 0 === t[e] ? c : h(t[e]); + } + : h), + v || y) + ) + for (var b = 0; b < r; b++) + ((d = o(m, b)), (g = p(e, b)), (x[b] = u(d, g))); + else x = u(i(m), e); + return x; + }; + }, + { + "../components/color/attributes": 473, + "../components/colorscale": 489, + "./is_array": 603, + "color-normalize": 100, + "fast-isnumeric": 196, + }, + ], + 599: [ + function (t, e, r) { + "use strict"; + var n = t("./identity"); + function i(t) { + return [t]; + } + e.exports = { + keyFun: function (t) { + return t.key; + }, + repeat: i, + descend: n, + wrap: i, + unwrap: function (t) { + return t[0]; + }, + }; + }, + { "./identity": 601 }, + ], + 600: [ + function (t, e, r) { + "use strict"; + var n = t("superscript-text"), + i = t("../constants/string_mappings"); + e.exports = function (t) { + return ( + "" + + (function (t) { + for (var e = i.entityToUnicode, r = 0; (r = t.indexOf("&", r)) >= 0; ) { + var n = t.indexOf(";", r); + if (n < r) r += 1; + else { + var a = e[t.slice(r + 1, n)]; + t = a + ? t.slice(0, r) + a + t.slice(n + 1) + : t.slice(0, r) + t.slice(n + 1); + } + } + return t; + })( + (function (t) { + return t.replace(/\<.*\>/g, ""); + })( + (function (t) { + for (var e = 0; (e = t.indexOf("", e)) >= 0; ) { + var r = t.indexOf("", e); + if (r < e) break; + t = t.slice(0, e) + n(t.slice(e + 5, r)) + t.slice(r + 6); + } + return t; + })(t.replace(/\/g, "\n")), + ), + ) + ); + }; + }, + { "../constants/string_mappings": 580, "superscript-text": 408 }, + ], + 601: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return t; + }; + }, + {}, + ], + 602: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../constants/numerical"), + o = a.FP_SAFE, + s = a.BADNUM, + l = (e.exports = {}); + ((l.nestedProperty = t("./nested_property")), + (l.keyedContainer = t("./keyed_container")), + (l.relativeAttr = t("./relative_attr")), + (l.isPlainObject = t("./is_plain_object")), + (l.mod = t("./mod")), + (l.toLogRange = t("./to_log_range")), + (l.relinkPrivateKeys = t("./relink_private")), + (l.ensureArray = t("./ensure_array"))); + var c = t("./is_array"); + ((l.isTypedArray = c.isTypedArray), + (l.isArrayOrTypedArray = c.isArrayOrTypedArray), + (l.isArray1D = c.isArray1D)); + var u = t("./coerce"); + ((l.valObjectMeta = u.valObjectMeta), + (l.coerce = u.coerce), + (l.coerce2 = u.coerce2), + (l.coerceFont = u.coerceFont), + (l.coerceHoverinfo = u.coerceHoverinfo), + (l.coerceSelectionMarkerOpacity = u.coerceSelectionMarkerOpacity), + (l.validate = u.validate)); + var f = t("./dates"); + ((l.dateTime2ms = f.dateTime2ms), + (l.isDateTime = f.isDateTime), + (l.ms2DateTime = f.ms2DateTime), + (l.ms2DateTimeLocal = f.ms2DateTimeLocal), + (l.cleanDate = f.cleanDate), + (l.isJSDate = f.isJSDate), + (l.formatDate = f.formatDate), + (l.incrementMonth = f.incrementMonth), + (l.dateTick0 = f.dateTick0), + (l.dfltRange = f.dfltRange), + (l.findExactDates = f.findExactDates), + (l.MIN_MS = f.MIN_MS), + (l.MAX_MS = f.MAX_MS)); + var h = t("./search"); + ((l.findBin = h.findBin), + (l.sorterAsc = h.sorterAsc), + (l.sorterDes = h.sorterDes), + (l.distinctVals = h.distinctVals), + (l.roundUp = h.roundUp)); + var p = t("./stats"); + ((l.aggNums = p.aggNums), + (l.len = p.len), + (l.mean = p.mean), + (l.variance = p.variance), + (l.stdev = p.stdev), + (l.interp = p.interp)); + var d = t("./matrix"); + ((l.init2dArray = d.init2dArray), + (l.transposeRagged = d.transposeRagged), + (l.dot = d.dot), + (l.translationMatrix = d.translationMatrix), + (l.rotationMatrix = d.rotationMatrix), + (l.rotationXYMatrix = d.rotationXYMatrix), + (l.apply2DTransform = d.apply2DTransform), + (l.apply2DTransform2 = d.apply2DTransform2)); + var g = t("./angles"); + ((l.deg2rad = g.deg2rad), + (l.rad2deg = g.rad2deg), + (l.wrap360 = g.wrap360), + (l.wrap180 = g.wrap180)); + var m = t("./geometry2d"); + ((l.segmentsIntersect = m.segmentsIntersect), + (l.segmentDistance = m.segmentDistance), + (l.getTextLocation = m.getTextLocation), + (l.clearLocationCache = m.clearLocationCache), + (l.getVisibleSegment = m.getVisibleSegment), + (l.findPointOnPath = m.findPointOnPath)); + var v = t("./extend"); + ((l.extendFlat = v.extendFlat), + (l.extendDeep = v.extendDeep), + (l.extendDeepAll = v.extendDeepAll), + (l.extendDeepNoArrays = v.extendDeepNoArrays)); + var y = t("./loggers"); + ((l.log = y.log), (l.warn = y.warn), (l.error = y.error)); + var x = t("./regex"); + l.counterRegex = x.counter; + var b = t("./throttle"); + ((l.throttle = b.throttle), + (l.throttleDone = b.done), + (l.clearThrottle = b.clear), + (l.getGraphDiv = t("./get_graph_div")), + (l._ = t("./localize")), + (l.notifier = t("./notifier")), + (l.filterUnique = t("./filter_unique")), + (l.filterVisible = t("./filter_visible")), + (l.pushUnique = t("./push_unique")), + (l.cleanNumber = t("./clean_number")), + (l.ensureNumber = function (t) { + return i(t) + ? (t = Number(t)) < -o || t > o + ? s + : i(t) + ? Number(t) + : s + : s; + }), + (l.noop = t("./noop")), + (l.identity = t("./identity")), + (l.swapAttrs = function (t, e, r, n) { + (r || (r = "x"), n || (n = "y")); + for (var i = 0; i < e.length; i++) { + var a = e[i], + o = l.nestedProperty(t, a.replace("?", r)), + s = l.nestedProperty(t, a.replace("?", n)), + c = o.get(); + (o.set(s.get()), s.set(c)); + } + }), + (l.raiseToTop = function (t) { + t.parentNode.appendChild(t); + }), + (l.cancelTransition = function (t) { + return t.transition().duration(0); + }), + (l.constrain = function (t, e, r) { + return e > r ? Math.max(r, Math.min(e, t)) : Math.max(e, Math.min(r, t)); + }), + (l.bBoxIntersect = function (t, e, r) { + return ( + (r = r || 0), + t.left <= e.right + r && + e.left <= t.right + r && + t.top <= e.bottom + r && + e.top <= t.bottom + r + ); + }), + (l.simpleMap = function (t, e, r, n) { + for (var i = t.length, a = new Array(i), o = 0; o < i; o++) + a[o] = e(t[o], r, n); + return a; + }), + (l.randstr = function t(e, r, n) { + if ((n || (n = 16), void 0 === r && (r = 24), r <= 0)) return "0"; + var i, + a, + o = Math.log(Math.pow(2, r)) / Math.log(n), + s = ""; + for (i = 2; o === 1 / 0; i *= 2) + o = (Math.log(Math.pow(2, r / i)) / Math.log(n)) * i; + var l = o - Math.floor(o); + for (i = 0; i < Math.floor(o); i++) + s = Math.floor(Math.random() * n).toString(n) + s; + l && + ((a = Math.pow(n, l)), + (s = Math.floor(Math.random() * a).toString(n) + s)); + var c = parseInt(s, n); + return (e && e.indexOf(s) > -1) || (c !== 1 / 0 && c >= Math.pow(2, r)) + ? t(e, r, n) + : s; + }), + (l.OptionControl = function (t, e) { + (t || (t = {}), e || (e = "opt")); + var r = { + optionList: [], + _newoption: function (n) { + ((n[e] = t), (r[n.name] = n), r.optionList.push(n)); + }, + }; + return ((r["_" + e] = t), r); + }), + (l.smooth = function (t, e) { + if ((e = Math.round(e) || 0) < 2) return t; + var r, + n, + i, + a, + o = t.length, + s = 2 * o, + l = 2 * e - 1, + c = new Array(l), + u = new Array(o); + for (r = 0; r < l; r++) + c[r] = (1 - Math.cos((Math.PI * (r + 1)) / e)) / (2 * e); + for (r = 0; r < o; r++) { + for (a = 0, n = 0; n < l; n++) + ((i = r + n + 1 - e) < -o + ? (i -= s * Math.round(i / s)) + : i >= s && (i -= s * Math.floor(i / s)), + i < 0 ? (i = -1 - i) : i >= o && (i = s - 1 - i), + (a += t[i] * c[n])); + u[r] = a; + } + return u; + }), + (l.syncOrAsync = function (t, e, r) { + var n; + function i() { + return l.syncOrAsync(t, e, r); + } + for (; t.length; ) + if ((n = (0, t.splice(0, 1)[0])(e)) && n.then) + return n.then(i).then(void 0, l.promiseError); + return r && r(e); + }), + (l.stripTrailingSlash = function (t) { + return "/" === t.substr(-1) ? t.substr(0, t.length - 1) : t; + }), + (l.noneOrAll = function (t, e, r) { + if (t) { + var n, + i, + a = !1, + o = !0; + for (n = 0; n < r.length; n++) + void 0 !== (i = t[r[n]]) && null !== i ? (a = !0) : (o = !1); + if (a && !o) for (n = 0; n < r.length; n++) t[r[n]] = e[r[n]]; + } + }), + (l.mergeArray = function (t, e, r) { + if (l.isArrayOrTypedArray(t)) + for (var n = Math.min(t.length, e.length), i = 0; i < n; i++) + e[i][r] = t[i]; + }), + (l.fillArray = function (t, e, r, n) { + if (((n = n || l.identity), l.isArrayOrTypedArray(t))) + for (var i = 0; i < e.length; i++) e[i][r] = n(t[i]); + }), + (l.castOption = function (t, e, r, n) { + n = n || l.identity; + var i = l.nestedProperty(t, r).get(); + return l.isArrayOrTypedArray(i) + ? Array.isArray(e) && l.isArrayOrTypedArray(i[e[0]]) + ? n(i[e[0]][e[1]]) + : n(i[e]) + : i; + }), + (l.extractOption = function (t, e, r, n) { + if (r in t) return t[r]; + var i = l.nestedProperty(e, n).get(); + return Array.isArray(i) ? void 0 : i; + }), + (l.tagSelected = function (t, e, r) { + var n, + a, + o = e.selectedpoints, + s = e._indexToPoints; + if (s) + for (var l in ((n = {}), s)) + for (var c = s[l], u = 0; u < c.length; u++) n[c[u]] = l; + function f(e) { + return void 0 !== e && e < t.length; + } + for (var h = 0; h < o.length; h++) { + var p = o[h]; + if (i((a = p)) && a >= 0 && a % 1 == 0) { + var d = n ? n[p] : p, + g = r ? r[d] : d; + f(g) && (t[g].selected = 1); + } + } + }), + (l.getTargetArray = function (t, e) { + var r = e.target; + if ("string" == typeof r && r) { + var n = l.nestedProperty(t, r).get(); + return !!Array.isArray(n) && n; + } + return !!Array.isArray(r) && r; + }), + (l.minExtend = function (t, e) { + var r = {}; + "object" != typeof e && (e = {}); + var n, + i, + a, + o = Object.keys(t); + for (n = 0; n < o.length; n++) + ((a = t[(i = o[n])]), + "_" !== i.charAt(0) && + "function" != typeof a && + ("module" === i + ? (r[i] = a) + : Array.isArray(a) + ? (r[i] = a.slice(0, 3)) + : (r[i] = + a && "object" == typeof a ? l.minExtend(t[i], e[i]) : a))); + for (o = Object.keys(e), n = 0; n < o.length; n++) + ("object" == typeof (a = e[(i = o[n])]) && + i in r && + "object" == typeof r[i]) || + (r[i] = a); + return r; + }), + (l.titleCase = function (t) { + return t.charAt(0).toUpperCase() + t.substr(1); + }), + (l.containsAny = function (t, e) { + for (var r = 0; r < e.length; r++) if (-1 !== t.indexOf(e[r])) return !0; + return !1; + }), + (l.isPlotDiv = function (t) { + var e = n.select(t); + return ( + e.node() instanceof HTMLElement && + e.size() && + e.classed("js-plotly-plot") + ); + }), + (l.removeElement = function (t) { + var e = t && t.parentNode; + e && e.removeChild(t); + }), + (l.addStyleRule = function (t, e) { + if (!l.styleSheet) { + var r = document.createElement("style"); + (r.appendChild(document.createTextNode("")), + document.head.appendChild(r), + (l.styleSheet = r.sheet)); + } + var n = l.styleSheet; + n.insertRule + ? n.insertRule(t + "{" + e + "}", 0) + : n.addRule + ? n.addRule(t, e, 0) + : l.warn("addStyleRule failed"); + }), + (l.isIE = function () { + return void 0 !== window.navigator.msSaveBlob; + }), + (l.isD3Selection = function (t) { + return t && "function" == typeof t.classed; + }), + (l.ensureSingle = function (t, e, r, n) { + var i = t.select(e + (r ? "." + r : "")); + if (i.size()) return i; + var a = t.append(e).classed(r, !0); + return (n && a.call(n), a); + }), + (l.ensureSingleById = function (t, e, r, n) { + var i = t.select(e + "#" + r); + if (i.size()) return i; + var a = t.append(e).attr("id", r); + return (n && a.call(n), a); + }), + (l.objectFromPath = function (t, e) { + for (var r, n = t.split("."), i = (r = {}), a = 0; a < n.length; a++) { + var o = n[a], + s = null, + l = n[a].match(/(.*)\[([0-9]+)\]/); + l + ? ((o = l[1]), + (s = l[2]), + (r = r[o] = []), + a === n.length - 1 ? (r[s] = e) : (r[s] = {}), + (r = r[s])) + : (a === n.length - 1 ? (r[o] = e) : (r[o] = {}), (r = r[o])); + } + return i; + })); + var _ = /^([^\[\.]+)\.(.+)?/, + w = /^([^\.]+)\[([0-9]+)\](\.)?(.+)?/; + ((l.expandObjectPaths = function (t) { + var e, r, n, i, a, o, s; + if ("object" == typeof t && !Array.isArray(t)) + for (r in t) + t.hasOwnProperty(r) && + ((e = r.match(_)) + ? ((i = t[r]), + (n = e[1]), + delete t[r], + (t[n] = l.extendDeepNoArrays( + t[n] || {}, + l.objectFromPath(r, l.expandObjectPaths(i))[n], + ))) + : (e = r.match(w)) + ? ((i = t[r]), + (n = e[1]), + (a = parseInt(e[2])), + delete t[r], + (t[n] = t[n] || []), + "." === e[3] + ? ((s = e[4]), + (o = t[n][a] = t[n][a] || {}), + l.extendDeepNoArrays( + o, + l.objectFromPath(s, l.expandObjectPaths(i)), + )) + : (t[n][a] = l.expandObjectPaths(i))) + : (t[r] = l.expandObjectPaths(t[r]))); + return t; + }), + (l.numSeparate = function (t, e, r) { + if ((r || (r = !1), "string" != typeof e || 0 === e.length)) + throw new Error("Separator string required for formatting!"); + "number" == typeof t && (t = String(t)); + var n = /(\d+)(\d{3})/, + i = e.charAt(0), + a = e.charAt(1), + o = t.split("."), + s = o[0], + l = o.length > 1 ? i + o[1] : ""; + if (a && (o.length > 1 || s.length > 4 || r)) + for (; n.test(s); ) s = s.replace(n, "$1" + a + "$2"); + return s + l; + })); + var k = /%{([^\s%{}]*)}/g, + M = /^\w*$/; + l.templateString = function (t, e) { + var r = {}; + return t.replace(k, function (t, n) { + return M.test(n) + ? e[n] || "" + : ((r[n] = r[n] || l.nestedProperty(e, n).get), r[n]() || ""); + }); + }; + l.subplotSort = function (t, e) { + for ( + var r = Math.min(t.length, e.length) + 1, n = 0, i = 0, a = 0; + a < r; + a++ + ) { + var o = t.charCodeAt(a) || 0, + s = e.charCodeAt(a) || 0, + l = o >= 48 && o <= 57, + c = s >= 48 && s <= 57; + if ((l && (n = 10 * n + o - 48), c && (i = 10 * i + s - 48), !l || !c)) { + if (n !== i) return n - i; + if (o !== s) return o - s; + } + } + return i - n; + }; + var A = 2e9; + ((l.seedPseudoRandom = function () { + A = 2e9; + }), + (l.pseudoRandom = function () { + var t = A; + return ( + (A = (69069 * A + 1) % 4294967296), + Math.abs(A - t) < 429496729 ? l.pseudoRandom() : A / 4294967296 + ); + })); + }, + { + "../constants/numerical": 579, + "./angles": 584, + "./clean_number": 585, + "./coerce": 587, + "./dates": 588, + "./ensure_array": 589, + "./extend": 591, + "./filter_unique": 592, + "./filter_visible": 593, + "./geometry2d": 596, + "./get_graph_div": 597, + "./identity": 601, + "./is_array": 603, + "./is_plain_object": 604, + "./keyed_container": 605, + "./localize": 606, + "./loggers": 607, + "./matrix": 608, + "./mod": 609, + "./nested_property": 610, + "./noop": 611, + "./notifier": 612, + "./push_unique": 616, + "./regex": 618, + "./relative_attr": 619, + "./relink_private": 620, + "./search": 621, + "./stats": 624, + "./throttle": 627, + "./to_log_range": 628, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 603: [ + function (t, e, r) { + "use strict"; + var n = + "undefined" != typeof ArrayBuffer && ArrayBuffer.isView + ? ArrayBuffer + : { + isView: function () { + return !1; + }, + }, + i = "undefined" == typeof DataView ? function () {} : DataView; + function a(t) { + return n.isView(t) && !(t instanceof i); + } + function o(t) { + return Array.isArray(t) || a(t); + } + e.exports = { + isTypedArray: a, + isArrayOrTypedArray: o, + isArray1D: function (t) { + return !o(t[0]); + }, + }; + }, + {}, + ], + 604: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return window && window.process && window.process.versions + ? "[object Object]" === Object.prototype.toString.call(t) + : "[object Object]" === Object.prototype.toString.call(t) && + Object.getPrototypeOf(t) === Object.prototype; + }; + }, + {}, + ], + 605: [ + function (t, e, r) { + "use strict"; + var n = t("./nested_property"), + i = /^\w*$/; + e.exports = function (t, e, r, a) { + var o, s, l; + ((r = r || "name"), (a = a || "value")); + var c = {}; + (e && e.length ? ((l = n(t, e)), (s = l.get())) : (s = t), (e = e || "")); + var u = {}; + if (s) for (o = 0; o < s.length; o++) u[s[o][r]] = o; + var f = i.test(a), + h = { + set: function (t, e) { + var i = null === e ? 4 : 0; + if (!s) { + if (!l || 4 === i) return; + ((s = []), l.set(s)); + } + var o = u[t]; + if (void 0 === o) { + if (4 === i) return; + ((i |= 3), (o = s.length), (u[t] = o)); + } else e !== (f ? s[o][a] : n(s[o], a).get()) && (i |= 2); + var p = (s[o] = s[o] || {}); + return ( + (p[r] = t), + f ? (p[a] = e) : n(p, a).set(e), + null !== e && (i &= -5), + (c[o] = c[o] | i), + h + ); + }, + get: function (t) { + if (s) { + var e = u[t]; + return void 0 === e ? void 0 : f ? s[e][a] : n(s[e], a).get(); + } + }, + rename: function (t, e) { + var n = u[t]; + return void 0 === n + ? h + : ((c[n] = 1 | c[n]), (u[e] = n), delete u[t], (s[n][r] = e), h); + }, + remove: function (t) { + var e = u[t]; + if (void 0 === e) return h; + var i = s[e]; + if (Object.keys(i).length > 2) + return ((c[e] = 2 | c[e]), h.set(t, null)); + if (f) { + for (o = e; o < s.length; o++) c[o] = 3 | c[o]; + for (o = e; o < s.length; o++) u[s[o][r]]--; + (s.splice(e, 1), delete u[t]); + } else (n(i, a).set(null), (c[e] = 6 | c[e])); + return h; + }, + constructUpdate: function () { + for (var t, i, o = {}, l = Object.keys(c), u = 0; u < l.length; u++) + ((i = l[u]), + (t = e + "[" + i + "]"), + s[i] + ? (1 & c[i] && (o[t + "." + r] = s[i][r]), + 2 & c[i] && + (o[t + "." + a] = f + ? 4 & c[i] + ? null + : s[i][a] + : 4 & c[i] + ? null + : n(s[i], a).get())) + : (o[t] = null)); + return o; + }, + }; + return h; + }; + }, + { "./nested_property": 610 }, + ], + 606: [ + function (t, e, r) { + "use strict"; + var n = t("../registry"); + e.exports = function (t, e) { + for (var r = t._context.locale, i = 0; i < 2; i++) { + for (var a = t._context.locales, o = 0; o < 2; o++) { + var s = (a[r] || {}).dictionary; + if (s) { + var l = s[e]; + if (l) return l; + } + a = n.localeRegistry; + } + var c = r.split("-")[0]; + if (c === r) break; + r = c; + } + return e; + }; + }, + { "../registry": 732 }, + ], + 607: [ + function (t, e, r) { + "use strict"; + var n = t("../plot_api/plot_config"), + i = (e.exports = {}); + function a(t, e) { + if (t.apply) t.apply(t, e); + else for (var r = 0; r < e.length; r++) t(e[r]); + } + ((i.log = function () { + if (n.logging > 1) { + for (var t = ["LOG:"], e = 0; e < arguments.length; e++) + t.push(arguments[e]); + a(console.trace || console.log, t); + } + }), + (i.warn = function () { + if (n.logging > 0) { + for (var t = ["WARN:"], e = 0; e < arguments.length; e++) + t.push(arguments[e]); + a(console.trace || console.log, t); + } + }), + (i.error = function () { + if (n.logging > 0) { + for (var t = ["ERROR:"], e = 0; e < arguments.length; e++) + t.push(arguments[e]); + a(console.error, t); + } + })); + }, + { "../plot_api/plot_config": 638 }, + ], + 608: [ + function (t, e, r) { + "use strict"; + ((r.init2dArray = function (t, e) { + for (var r = new Array(t), n = 0; n < t; n++) r[n] = new Array(e); + return r; + }), + (r.transposeRagged = function (t) { + var e, + r, + n = 0, + i = t.length; + for (e = 0; e < i; e++) n = Math.max(n, t[e].length); + var a = new Array(n); + for (e = 0; e < n; e++) + for (a[e] = new Array(i), r = 0; r < i; r++) a[e][r] = t[r][e]; + return a; + }), + (r.dot = function (t, e) { + if (!t.length || !e.length || t.length !== e.length) return null; + var n, + i, + a = t.length; + if (t[0].length) + for (n = new Array(a), i = 0; i < a; i++) n[i] = r.dot(t[i], e); + else if (e[0].length) { + var o = r.transposeRagged(e); + for (n = new Array(o.length), i = 0; i < o.length; i++) + n[i] = r.dot(t, o[i]); + } else for (n = 0, i = 0; i < a; i++) n += t[i] * e[i]; + return n; + }), + (r.translationMatrix = function (t, e) { + return [ + [1, 0, t], + [0, 1, e], + [0, 0, 1], + ]; + }), + (r.rotationMatrix = function (t) { + var e = (t * Math.PI) / 180; + return [ + [Math.cos(e), -Math.sin(e), 0], + [Math.sin(e), Math.cos(e), 0], + [0, 0, 1], + ]; + }), + (r.rotationXYMatrix = function (t, e, n) { + return r.dot( + r.dot(r.translationMatrix(e, n), r.rotationMatrix(t)), + r.translationMatrix(-e, -n), + ); + }), + (r.apply2DTransform = function (t) { + return function () { + var e = arguments; + 3 === e.length && (e = e[0]); + var n = 1 === arguments.length ? e[0] : [e[0], e[1]]; + return r.dot(t, [n[0], n[1], 1]).slice(0, 2); + }; + }), + (r.apply2DTransform2 = function (t) { + var e = r.apply2DTransform(t); + return function (t) { + return e(t.slice(0, 2)).concat(e(t.slice(2, 4))); + }; + })); + }, + {}, + ], + 609: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = t % e; + return r < 0 ? r + e : r; + }; + }, + {}, + ], + 610: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("./is_array").isArrayOrTypedArray; + e.exports = function (t, e) { + if (n(e)) e = String(e); + else if ("string" != typeof e || "[-1]" === e.substr(e.length - 4)) + throw "bad property string"; + for (var r, a, o, l = 0, c = e.split("."); l < c.length; ) { + if ((r = String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/))) { + if (r[1]) c[l] = r[1]; + else { + if (0 !== l) throw "bad property string"; + c.splice(0, 1); + } + for ( + a = r[2].substr(1, r[2].length - 2).split("]["), o = 0; + o < a.length; + o++ + ) + (l++, c.splice(l, 0, Number(a[o]))); + } + l++; + } + return "object" != typeof t + ? (function (t, e, r) { + return { + set: function () { + throw "bad container"; + }, + get: function () {}, + astr: e, + parts: r, + obj: t, + }; + })(t, e, c) + : { + set: s(t, c, e), + get: (function t(e, r) { + return function () { + var n, + a, + o, + s, + l, + c = e; + for (s = 0; s < r.length - 1; s++) { + if (-1 === (n = r[s])) { + for (a = !0, o = [], l = 0; l < c.length; l++) + ((o[l] = t(c[l], r.slice(s + 1))()), + o[l] !== o[0] && (a = !1)); + return a ? o[0] : o; + } + if ("number" == typeof n && !i(c)) return; + if ("object" != typeof (c = c[n]) || null === c) return; + } + if ("object" == typeof c && null !== c && null !== (o = c[r[s]])) + return o; + }; + })(t, c), + astr: e, + parts: c, + obj: t, + }; + }; + var a = /(^|\.)args\[/; + function o(t, e) { + return void 0 === t || (null === t && !e.match(a)); + } + function s(t, e, r) { + return function (n) { + var a, + s, + f = t, + h = "", + p = [[t, h]], + d = o(n, r); + for (s = 0; s < e.length - 1; s++) { + if ("number" == typeof (a = e[s]) && !i(f)) + throw "array index but container is not an array"; + if (-1 === a) { + if ((d = !c(f, e.slice(s + 1), n, r))) break; + return; + } + if (!u(f, a, e[s + 1], d)) break; + if ("object" != typeof (f = f[a]) || null === f) + throw "container is not an object"; + ((h = l(h, a)), p.push([f, h])); + } + if (d) { + if ( + s === e.length - 1 && + (delete f[e[s]], Array.isArray(f) && +e[s] == f.length - 1) + ) + for (; f.length && void 0 === f[f.length - 1]; ) f.pop(); + } else f[e[s]] = n; + }; + } + function l(t, e) { + var r = e; + return (n(e) ? (r = "[" + e + "]") : t && (r = "." + e), t + r); + } + function c(t, e, r, n) { + var a, + l = i(r), + c = !0, + f = r, + h = n.replace("-1", 0), + p = !l && o(r, h), + d = e[0]; + for (a = 0; a < t.length; a++) + ((h = n.replace("-1", a)), + l && (p = o((f = r[a % r.length]), h)), + p && (c = !1), + u(t, a, d, p) && s(t[a], e, n.replace("-1", a))(f)); + return c; + } + function u(t, e, r, n) { + if (void 0 === t[e]) { + if (n) return !1; + t[e] = "number" == typeof r ? [] : {}; + } + return !0; + } + }, + { "./is_array": 603, "fast-isnumeric": 196 }, + ], + 611: [ + function (t, e, r) { + "use strict"; + e.exports = function () {}; + }, + {}, + ], + 612: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = []; + e.exports = function (t, e) { + if (-1 === a.indexOf(t)) { + a.push(t); + var r = 1e3; + i(e) ? (r = e) : "long" === e && (r = 3e3); + var o = n.select("body").selectAll(".plotly-notifier").data([0]); + (o.enter().append("div").classed("plotly-notifier", !0), + o + .selectAll(".notifier-note") + .data(a) + .enter() + .append("div") + .classed("notifier-note", !0) + .style("opacity", 0) + .each(function (t) { + var e = n.select(this); + e.append("button") + .classed("notifier-close", !0) + .html("×") + .on("click", function () { + e.transition().call(s); + }); + for ( + var i = e.append("p"), a = t.split(//g), o = 0; + o < a.length; + o++ + ) + (o && i.append("br"), i.append("span").text(a[o])); + e.transition() + .duration(700) + .style("opacity", 1) + .transition() + .delay(r) + .call(s); + })); + } + function s(t) { + t.duration(700) + .style("opacity", 0) + .each("end", function (t) { + var e = a.indexOf(t); + (-1 !== e && a.splice(e, 1), n.select(this).remove()); + }); + } + }; + }, + { d3: 130, "fast-isnumeric": 196 }, + ], + 613: [ + function (t, e, r) { + "use strict"; + var n = t("./setcursor"), + i = "data-savedcursor"; + e.exports = function (t, e) { + var r = t.attr(i); + if (e) { + if (!r) { + for ( + var a = (t.attr("class") || "").split(" "), o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + 0 === s.indexOf("cursor-") && t.attr(i, s.substr(7)).classed(s, !1); + } + t.attr(i) || t.attr(i, "!!"); + } + n(t, e); + } else r && (t.attr(i, null), "!!" === r ? n(t) : n(t, r)); + }; + }, + { "./setcursor": 622 }, + ], + 614: [ + function (t, e, r) { + "use strict"; + var n = t("./matrix").dot, + i = t("../constants/numerical").BADNUM, + a = (e.exports = {}); + ((a.tester = function (t) { + if (Array.isArray(t[0][0])) return a.multitester(t); + var e, + r = t.slice(), + n = r[0][0], + o = n, + s = r[0][1], + l = s; + for (r.push(r[0]), e = 1; e < r.length; e++) + ((n = Math.min(n, r[e][0])), + (o = Math.max(o, r[e][0])), + (s = Math.min(s, r[e][1])), + (l = Math.max(l, r[e][1]))); + var c, + u = !1; + 5 === r.length && + (r[0][0] === r[1][0] + ? r[2][0] === r[3][0] && + r[0][1] === r[3][1] && + r[1][1] === r[2][1] && + ((u = !0), + (c = function (t) { + return t[0] === r[0][0]; + })) + : r[0][1] === r[1][1] && + r[2][1] === r[3][1] && + r[0][0] === r[3][0] && + r[1][0] === r[2][0] && + ((u = !0), + (c = function (t) { + return t[1] === r[0][1]; + }))); + var f = !0, + h = r[0]; + for (e = 1; e < r.length; e++) + if (h[0] !== r[e][0] || h[1] !== r[e][1]) { + f = !1; + break; + } + return { + xmin: n, + xmax: o, + ymin: s, + ymax: l, + pts: r, + contains: u + ? function (t, e) { + var r = t[0], + a = t[1]; + return !( + r === i || + r < n || + r > o || + a === i || + a < s || + a > l || + (e && c(t)) + ); + } + : function (t, e) { + var a = t[0], + c = t[1]; + if (a === i || a < n || a > o || c === i || c < s || c > l) + return !1; + var u, + f, + h, + p, + d, + g = r.length, + m = r[0][0], + v = r[0][1], + y = 0; + for (u = 1; u < g; u++) + if ( + ((f = m), + (h = v), + (m = r[u][0]), + (v = r[u][1]), + !( + a < (p = Math.min(f, m)) || + a > Math.max(f, m) || + c > Math.max(h, v) + )) + ) + if (c < Math.min(h, v)) a !== p && y++; + else { + if ( + c === (d = m === f ? c : h + ((a - f) * (v - h)) / (m - f)) + ) + return 1 !== u || !e; + c <= d && a !== p && y++; + } + return y % 2 == 1; + }, + isRect: u, + degenerate: f, + }; + }), + (a.multitester = function (t) { + for ( + var e = [], r = t[0][0][0], n = r, i = t[0][0][1], o = i, s = 0; + s < t.length; + s++ + ) { + var l = a.tester(t[s]); + ((l.subtract = t[s].subtract), + e.push(l), + (r = Math.min(r, l.xmin)), + (n = Math.max(n, l.xmax)), + (i = Math.min(i, l.ymin)), + (o = Math.max(o, l.ymax))); + } + return { + xmin: r, + xmax: n, + ymin: i, + ymax: o, + pts: [], + contains: function (t, r) { + for (var n = !1, i = 0; i < e.length; i++) + e[i].contains(t, r) && (n = !1 === e[i].subtract); + return n; + }, + isRect: !1, + degenerate: !1, + }; + })); + var o = (a.isSegmentBent = function (t, e, r, i) { + var a, + o, + s, + l = t[e], + c = [t[r][0] - l[0], t[r][1] - l[1]], + u = n(c, c), + f = Math.sqrt(u), + h = [-c[1] / f, c[0] / f]; + for (a = e + 1; a < r; a++) + if ( + ((o = [t[a][0] - l[0], t[a][1] - l[1]]), + (s = n(o, c)) < 0 || s > u || Math.abs(n(o, h)) > i) + ) + return !0; + return !1; + }); + a.filter = function (t, e) { + var r = [t[0]], + n = 0, + i = 0; + function a(a) { + t.push(a); + var s = r.length, + l = n; + r.splice(i + 1); + for (var c = l + 1; c < t.length; c++) + (c === t.length - 1 || o(t, l, c + 1, e)) && + (r.push(t[c]), + r.length < s - 2 && ((n = c), (i = r.length - 1)), + (l = c)); + } + t.length > 1 && a(t.pop()); + return { addPt: a, raw: t, filtered: r }; + }; + }, + { "../constants/numerical": 579, "./matrix": 608 }, + ], + 615: [ + function (t, e, r) { + (function (r) { + "use strict"; + var n = t("regl"); + e.exports = function (t, e) { + t._fullLayout._glcanvas.each(function (i) { + i.regl || + (i.regl = n({ + canvas: this, + attributes: { antialias: !i.pick, preserveDrawingBuffer: !0 }, + pixelRatio: t._context.plotGlPixelRatio || r.devicePixelRatio, + extensions: e || [], + })); + }); + }; + }).call( + this, + "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : "undefined" != typeof window + ? window + : {}, + ); + }, + { regl: 380 }, + ], + 616: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + if (e instanceof RegExp) { + var r, + n = e.toString(); + for (r = 0; r < t.length; r++) + if (t[r] instanceof RegExp && t[r].toString() === n) return t; + t.push(e); + } else (!e && 0 !== e) || -1 !== t.indexOf(e) || t.push(e); + return t; + }; + }, + {}, + ], + 617: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("../plot_api/plot_config"); + var a = { + add: function (t, e, r, n, a) { + var o, s; + ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), + (s = t.undoQueue.index), + t.autoplay + ? t.undoQueue.inSequence || (t.autoplay = !1) + : (!t.undoQueue.sequence || t.undoQueue.beginSequence + ? ((o = { + undo: { calls: [], args: [] }, + redo: { calls: [], args: [] }, + }), + t.undoQueue.queue.splice(s, t.undoQueue.queue.length - s, o), + (t.undoQueue.index += 1)) + : (o = t.undoQueue.queue[s - 1]), + (t.undoQueue.beginSequence = !1), + o && + (o.undo.calls.unshift(e), + o.undo.args.unshift(r), + o.redo.calls.push(n), + o.redo.args.push(a)), + t.undoQueue.queue.length > i.queueLength && + (t.undoQueue.queue.shift(), t.undoQueue.index--))); + }, + startSequence: function (t) { + ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), + (t.undoQueue.sequence = !0), + (t.undoQueue.beginSequence = !0)); + }, + stopSequence: function (t) { + ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), + (t.undoQueue.sequence = !1), + (t.undoQueue.beginSequence = !1)); + }, + undo: function (t) { + var e, r; + if (t.framework && t.framework.isPolar) t.framework.undo(); + else if ( + !( + void 0 === t.undoQueue || + isNaN(t.undoQueue.index) || + t.undoQueue.index <= 0 + ) + ) { + for ( + t.undoQueue.index--, + e = t.undoQueue.queue[t.undoQueue.index], + t.undoQueue.inSequence = !0, + r = 0; + r < e.undo.calls.length; + r++ + ) + a.plotDo(t, e.undo.calls[r], e.undo.args[r]); + ((t.undoQueue.inSequence = !1), (t.autoplay = !1)); + } + }, + redo: function (t) { + var e, r; + if (t.framework && t.framework.isPolar) t.framework.redo(); + else if ( + !( + void 0 === t.undoQueue || + isNaN(t.undoQueue.index) || + t.undoQueue.index >= t.undoQueue.queue.length + ) + ) { + for ( + e = t.undoQueue.queue[t.undoQueue.index], + t.undoQueue.inSequence = !0, + r = 0; + r < e.redo.calls.length; + r++ + ) + a.plotDo(t, e.redo.calls[r], e.redo.args[r]); + ((t.undoQueue.inSequence = !1), (t.autoplay = !1), t.undoQueue.index++); + } + }, + }; + ((a.plotDo = function (t, e, r) { + ((t.autoplay = !0), + (r = (function (t, e) { + for (var r, i = [], a = 0; a < e.length; a++) + ((r = e[a]), + (i[a] = + r === t + ? r + : "object" == typeof r + ? Array.isArray(r) + ? n.extendDeep([], r) + : n.extendDeepAll({}, r) + : r)); + return i; + })(t, r)), + e.apply(null, r)); + }), + (e.exports = a)); + }, + { "../lib": 602, "../plot_api/plot_config": 638 }, + ], + 618: [ + function (t, e, r) { + "use strict"; + r.counter = function (t, e, r) { + var n = (e || "") + (r ? "" : "$"); + return "xy" === t + ? new RegExp("^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?" + n) + : new RegExp("^" + t + "([2-9]|[1-9][0-9]+)?" + n); + }; + }, + {}, + ], + 619: [ + function (t, e, r) { + "use strict"; + var n = /^(.*)(\.[^\.\[\]]+|\[\d\])$/, + i = /^[^\.\[\]]+$/; + e.exports = function (t, e) { + for (; e; ) { + var r = t.match(n); + if (r) t = r[1]; + else { + if (!t.match(i)) throw new Error("bad relativeAttr call:" + [t, e]); + t = ""; + } + if ("^" !== e.charAt(0)) break; + e = e.slice(1); + } + return t && "[" !== e.charAt(0) ? t + "." + e : t + e; + }; + }, + {}, + ], + 620: [ + function (t, e, r) { + "use strict"; + var n = t("./is_array").isArrayOrTypedArray, + i = t("./is_plain_object"); + e.exports = function t(e, r) { + for (var a in r) { + var o = r[a], + s = e[a]; + if (s !== o) + if ("_" === a.charAt(0) || "function" == typeof o) { + if (a in e) continue; + e[a] = o; + } else if (n(o) && n(s) && i(o[0])) { + if ("customdata" === a || "ids" === a) continue; + for (var l = Math.min(o.length, s.length), c = 0; c < l; c++) + s[c] !== o[c] && i(o[c]) && i(s[c]) && t(s[c], o[c]); + } else i(o) && i(s) && (t(s, o), Object.keys(s).length || delete e[a]); + } + }; + }, + { "./is_array": 603, "./is_plain_object": 604 }, + ], + 621: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("./loggers"); + function a(t, e) { + return t < e; + } + function o(t, e) { + return t <= e; + } + function s(t, e) { + return t > e; + } + function l(t, e) { + return t >= e; + } + ((r.findBin = function (t, e, r) { + if (n(e.start)) + return r + ? Math.ceil((t - e.start) / e.size - 1e-9) - 1 + : Math.floor((t - e.start) / e.size + 1e-9); + var c, + u, + f = 0, + h = e.length, + p = 0, + d = h > 1 ? (e[h - 1] - e[0]) / (h - 1) : 1; + for ( + u = d >= 0 ? (r ? a : o) : r ? l : s, + t += 1e-9 * d * (r ? -1 : 1) * (d >= 0 ? 1 : -1); + f < h && p++ < 100; + + ) + u(e[(c = Math.floor((f + h) / 2))], t) ? (f = c + 1) : (h = c); + return (p > 90 && i.log("Long binary search..."), f - 1); + }), + (r.sorterAsc = function (t, e) { + return t - e; + }), + (r.sorterDes = function (t, e) { + return e - t; + }), + (r.distinctVals = function (t) { + var e = t.slice(); + e.sort(r.sorterAsc); + for ( + var n = e.length - 1, + i = e[n] - e[0] || 1, + a = i / (n || 1) / 1e4, + o = [e[0]], + s = 0; + s < n; + s++ + ) + e[s + 1] > e[s] + a && + ((i = Math.min(i, e[s + 1] - e[s])), o.push(e[s + 1])); + return { vals: o, minDiff: i }; + }), + (r.roundUp = function (t, e, r) { + for ( + var n, + i = 0, + a = e.length - 1, + o = 0, + s = r ? 0 : 1, + l = r ? 1 : 0, + c = r ? Math.ceil : Math.floor; + i < a && o++ < 100; + + ) + e[(n = c((i + a) / 2))] <= t ? (i = n + s) : (a = n - l); + return e[i]; + })); + }, + { "./loggers": 607, "fast-isnumeric": 196 }, + ], + 622: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + ((t.attr("class") || "").split(" ").forEach(function (e) { + 0 === e.indexOf("cursor-") && t.classed(e, !1); + }), + e && t.classed("cursor-" + e, !0)); + }; + }, + {}, + ], + 623: [ + function (t, e, r) { + "use strict"; + var n = t("../components/color"), + i = function () {}; + e.exports = function (t) { + for (var e in t) "function" == typeof t[e] && (t[e] = i); + t.destroy = function () { + t.container.parentNode.removeChild(t.container); + }; + var r = document.createElement("div"); + return ( + (r.textContent = + "Webgl is not supported by your browser - visit http://get.webgl.org for more info"), + (r.style.cursor = "pointer"), + (r.style.fontSize = "24px"), + (r.style.color = n.defaults[0]), + t.container.appendChild(r), + (t.container.style.background = "#FFFFFF"), + (t.container.onclick = function () { + window.open("http://get.webgl.org"); + }), + !1 + ); + }; + }, + { "../components/color": 474 }, + ], + 624: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("./is_array").isArrayOrTypedArray; + ((r.aggNums = function (t, e, a, o) { + var s, l; + if (((!o || o > a.length) && (o = a.length), n(e) || (e = !1), i(a[0]))) { + for (l = new Array(o), s = 0; s < o; s++) l[s] = r.aggNums(t, e, a[s]); + a = l; + } + for (s = 0; s < o; s++) n(e) ? n(a[s]) && (e = t(+e, +a[s])) : (e = a[s]); + return e; + }), + (r.len = function (t) { + return r.aggNums( + function (t) { + return t + 1; + }, + 0, + t, + ); + }), + (r.mean = function (t, e) { + return ( + e || (e = r.len(t)), + r.aggNums( + function (t, e) { + return t + e; + }, + 0, + t, + ) / e + ); + }), + (r.variance = function (t, e, i) { + return ( + e || (e = r.len(t)), + n(i) || (i = r.mean(t, e)), + r.aggNums( + function (t, e) { + return t + Math.pow(e - i, 2); + }, + 0, + t, + ) / e + ); + }), + (r.stdev = function (t, e, n) { + return Math.sqrt(r.variance(t, e, n)); + }), + (r.interp = function (t, e) { + if (!n(e)) throw "n should be a finite number"; + if ((e = e * t.length - 0.5) < 0) return t[0]; + if (e > t.length - 1) return t[t.length - 1]; + var r = e % 1; + return r * t[Math.ceil(e)] + (1 - r) * t[Math.floor(e)]; + })); + }, + { "./is_array": 603, "fast-isnumeric": 196 }, + ], + 625: [ + function (t, e, r) { + "use strict"; + var n = t("color-normalize"); + e.exports = function (t) { + return t ? n(t) : [0, 0, 0, 1]; + }; + }, + { "color-normalize": 100 }, + ], + 626: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../lib"), + a = t("../constants/xmlns_namespaces"), + o = t("../constants/string_mappings"), + s = t("../constants/alignment").LINE_SPACING; + function l(t, e) { + return t.node().getBoundingClientRect()[e]; + } + var c = /([^$]*)([$]+[^$]*[$]+)([^$]*)/; + r.convertToTspans = function (t, e, o) { + var v = t.text(), + E = !t.attr("data-notex") && "undefined" != typeof MathJax && v.match(c), + L = n.select(t.node().parentNode); + if (!L.empty()) { + var z = t.attr("class") ? t.attr("class").split(" ")[0] : "text"; + return ( + (z += "-math"), + L.selectAll("svg." + z).remove(), + L.selectAll("g." + z + "-group").remove(), + t + .style("display", null) + .attr({ "data-unformatted": v, "data-math": "N" }), + E + ? ((e && e._promises) || []).push( + new Promise(function (e) { + t.style("display", "none"); + var r = parseInt(t.node().style.fontSize, 10), + a = { fontSize: r }; + !(function (t, e, r) { + var a = "math-output-" + i.randstr([], 64), + o = n + .select("body") + .append("div") + .attr({ id: a }) + .style({ visibility: "hidden", position: "absolute" }) + .style({ "font-size": e.fontSize + "px" }) + .text( + ((s = t), s.replace(u, "\\lt ").replace(f, "\\gt ")), + ); + var s; + MathJax.Hub.Queue( + ["Typeset", MathJax.Hub, o.node()], + function () { + var e = n.select("body").select("#MathJax_SVG_glyphs"); + if ( + o.select(".MathJax_SVG").empty() || + !o.select("svg").node() + ) + (i.log("There was an error in the tex syntax.", t), + r()); + else { + var a = o.select("svg").node().getBoundingClientRect(); + r(o.select(".MathJax_SVG"), e, a); + } + o.remove(); + }, + ); + })(E[2], a, function (n, i, a) { + (L.selectAll("svg." + z).remove(), + L.selectAll("g." + z + "-group").remove()); + var s = n && n.select("svg"); + if (!s || !s.node()) return (P(), void e()); + var c = L.append("g") + .classed(z + "-group", !0) + .attr({ + "pointer-events": "none", + "data-unformatted": v, + "data-math": "Y", + }); + (c.node().appendChild(s.node()), + i && + i.node() && + s + .node() + .insertBefore( + i.node().cloneNode(!0), + s.node().firstChild, + ), + s + .attr({ + class: z, + height: a.height, + preserveAspectRatio: "xMinYMin meet", + }) + .style({ + overflow: "visible", + "pointer-events": "none", + })); + var u = t.node().style.fill || "black"; + s.select("g").attr({ fill: u, stroke: u }); + var f = l(s, "width"), + h = l(s, "height"), + p = + +t.attr("x") - + f * + { start: 0, middle: 0.5, end: 1 }[ + t.attr("text-anchor") || "start" + ], + d = -(r || l(t, "height")) / 4; + ("y" === z[0] + ? (c.attr({ + transform: + "rotate(" + + [-90, +t.attr("x"), +t.attr("y")] + + ") translate(" + + [-f / 2, d - h / 2] + + ")", + }), + s.attr({ x: +t.attr("x"), y: +t.attr("y") })) + : "l" === z[0] + ? s.attr({ x: t.attr("x"), y: d - h / 2 }) + : "a" === z[0] + ? s.attr({ x: 0, y: d }) + : s.attr({ x: p, y: +t.attr("y") + d - h / 2 }), + o && o.call(t, c), + e(c)); + }); + }), + ) + : P(), + t + ); + } + function P() { + (L.empty() || + ((z = t.attr("class") + "-math"), L.select("svg." + z).remove()), + t.text("").style("white-space", "pre"), + (function (t, e) { + e = ((r = e), + (function (t, e) { + if (!t) return ""; + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t = t.replace(n.regExp, n.sub); + } + return t; + })(r, y)).replace(x, " "); + var r; + var o, + l = !1, + c = [], + u = -1; + function f() { + u++; + var e = document.createElementNS(a.svg, "tspan"); + (n.select(e).attr({ class: "line", dy: u * s + "em" }), + t.appendChild(e), + (o = e)); + var r = c; + if (((c = [{ node: e }]), r.length > 1)) + for (var i = 1; i < r.length; i++) v(r[i]); + } + function v(t) { + var e, + r = t.type, + i = {}; + if ("a" === r) { + e = "a"; + var s = t.target, + l = t.href, + u = t.popup; + l && + ((i = { + "xlink:xlink:show": + "_blank" === s || "_" !== s.charAt(0) ? "new" : "replace", + target: s, + "xlink:xlink:href": l, + }), + u && + (i.onclick = + 'window.open(this.href.baseVal,this.target.baseVal,"' + + u + + '");return false;')); + } else e = "tspan"; + t.style && (i.style = t.style); + var f = document.createElementNS(a.svg, e); + if ("sup" === r || "sub" === r) { + (E(o, g), o.appendChild(f)); + var h = document.createElementNS(a.svg, "tspan"); + (E(h, g), + n.select(h).attr("dy", d[r]), + (i.dy = p[r]), + o.appendChild(f), + o.appendChild(h)); + } else o.appendChild(f); + (n.select(f).attr(i), (o = t.node = f), c.push(t)); + } + function E(t, e) { + t.appendChild(document.createTextNode(e)); + } + function L(t) { + if (1 !== c.length) { + var r = c.pop(); + (t !== r.type && + i.log( + "Start tag <" + + r.type + + "> doesnt match end tag <" + + t + + ">. Pretending it did match.", + e, + ), + (o = c[c.length - 1].node)); + } else i.log("Ignoring unexpected end tag .", e); + } + w.test(e) ? f() : ((o = t), (c = [{ node: t }])); + for (var z = e.split(b), P = 0; P < z.length; P++) { + var D = z[P], + O = D.match(_), + I = O && O[2].toLowerCase(), + R = h[I]; + if ("br" === I) f(); + else if (void 0 === R) E(o, D); + else if (O[1]) L(I); + else { + var B = O[4], + F = { type: I }, + N = S(B, k); + if ( + (N + ? ((N = N.replace(C, "$1 fill:")), R && (N += ";" + R)) + : R && (N = R), + N && (F.style = N), + "a" === I) + ) { + l = !0; + var j = S(B, M); + if (j) { + var V = document.createElement("a"); + ((V.href = j), + -1 !== m.indexOf(V.protocol) && + ((F.href = encodeURI(decodeURI(j))), + (F.target = S(B, A) || "_blank"), + (F.popup = S(B, T)))); + } + } + v(F); + } + } + return l; + })(t.node(), v) && t.style("pointer-events", "all"), + r.positionText(t), + o && o.call(t)); + } + }; + var u = /(<|<|<)/g, + f = /(>|>|>)/g; + var h = { + sup: "font-size:70%", + sub: "font-size:70%", + b: "font-weight:bold", + i: "font-style:italic", + a: "cursor:pointer", + span: "", + em: "font-style:italic;font-weight:bold", + }, + p = { sub: "0.3em", sup: "-0.6em" }, + d = { sub: "-0.21em", sup: "0.42em" }, + g = "\u200b", + m = ["http:", "https:", "mailto:", "", void 0, ":"], + v = new RegExp("]*)?/?>", "g"), + y = Object.keys(o.entityToUnicode).map(function (t) { + return { + regExp: new RegExp("&" + t + ";", "g"), + sub: o.entityToUnicode[t], + }; + }), + x = /(\r\n?|\n)/g, + b = /(<[^<>]*>)/, + _ = /<(\/?)([^ >]*)(\s+(.*))?>/i, + w = //i, + k = /(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i, + M = /(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i, + A = /(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i, + T = /(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i; + function S(t, e) { + if (!t) return null; + var r = t.match(e); + return r && (r[3] || r[4]); + } + var C = /(^|;)\s*color:/; + function E(t, e, r) { + var n, + i, + a, + o = r.horizontalAlign, + s = r.verticalAlign || "top", + l = t.node().getBoundingClientRect(), + c = e.node().getBoundingClientRect(); + return ( + (i = + "bottom" === s + ? function () { + return l.bottom - n.height; + } + : "middle" === s + ? function () { + return l.top + (l.height - n.height) / 2; + } + : function () { + return l.top; + }), + (a = + "right" === o + ? function () { + return l.right - n.width; + } + : "center" === o + ? function () { + return l.left + (l.width - n.width) / 2; + } + : function () { + return l.left; + }), + function () { + return ( + (n = this.node().getBoundingClientRect()), + this.style({ + top: i() - c.top + "px", + left: a() - c.left + "px", + "z-index": 1e3, + }), + this + ); + } + ); + } + ((r.plainText = function (t) { + return (t || "").replace(v, " "); + }), + (r.lineCount = function (t) { + return t.selectAll("tspan.line").size() || 1; + }), + (r.positionText = function (t, e, r) { + return t.each(function () { + var t = n.select(this); + function i(e, r) { + return ( + void 0 === r + ? null === (r = t.attr(e)) && (t.attr(e, 0), (r = 0)) + : t.attr(e, r), + r + ); + } + var a = i("x", e), + o = i("y", r); + "text" === this.nodeName && + t.selectAll("tspan.line").attr({ x: a, y: o }); + }); + }), + (r.makeEditable = function (t, e) { + var r = e.gd, + i = e.delegate, + a = n.dispatch("edit", "input", "cancel"), + o = i || t; + if ((t.style({ "pointer-events": i ? "none" : "all" }), 1 !== t.size())) + throw new Error("boo"); + function s() { + (!(function () { + var i = n.select(r).select(".svg-container"), + o = i.append("div"), + s = t.node().style, + c = parseFloat(s.fontSize || 12), + u = e.text; + void 0 === u && (u = t.attr("data-unformatted")); + o.classed("plugin-editable editable", !0) + .style({ + position: "absolute", + "font-family": s.fontFamily || "Arial", + "font-size": c, + color: e.fill || s.fill || "black", + opacity: 1, + "background-color": e.background || "transparent", + outline: "#ffffff33 1px solid", + margin: [-c / 8 + 1, 0, 0, -1].join("px ") + "px", + padding: "0", + "box-sizing": "border-box", + }) + .attr({ contenteditable: !0 }) + .text(u) + .call(E(t, i, e)) + .on("blur", function () { + ((r._editing = !1), + t.text(this.textContent).style({ opacity: 1 })); + var e, + i = n.select(this).attr("class"); + (e = i + ? "." + i.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n.select(t.node().parentNode).select(e).style({ opacity: 0 }); + var o = this.textContent; + (n.select(this).transition().duration(0).remove(), + n.select(document).on("mouseup", null), + a.edit.call(t, o)); + }) + .on("focus", function () { + var t = this; + ((r._editing = !0), + n.select(document).on("mouseup", function () { + if (n.event.target === t) return !1; + document.activeElement === o.node() && o.node().blur(); + })); + }) + .on("keyup", function () { + 27 === n.event.which + ? ((r._editing = !1), + t.style({ opacity: 1 }), + n + .select(this) + .style({ opacity: 0 }) + .on("blur", function () { + return !1; + }) + .transition() + .remove(), + a.cancel.call(t, this.textContent)) + : (a.input.call(t, this.textContent), + n.select(this).call(E(t, i, e))); + }) + .on("keydown", function () { + 13 === n.event.which && this.blur(); + }) + .call(l); + })(), + t.style({ opacity: 0 })); + var i, + s = o.attr("class"); + (i = s + ? "." + s.split(" ")[0] + "-math-group" + : "[class*=-math-group]") && + n.select(t.node().parentNode).select(i).style({ opacity: 0 }); + } + function l(t) { + var e = t.node(), + r = document.createRange(); + r.selectNodeContents(e); + var n = window.getSelection(); + (n.removeAllRanges(), n.addRange(r), e.focus()); + } + return (e.immediate ? s() : o.on("click", s), n.rebind(t, a, "on")); + })); + }, + { + "../constants/alignment": 574, + "../constants/string_mappings": 580, + "../constants/xmlns_namespaces": 581, + "../lib": 602, + d3: 130, + }, + ], + 627: [ + function (t, e, r) { + "use strict"; + var n = {}; + function i(t) { + t && null !== t.timer && (clearTimeout(t.timer), (t.timer = null)); + } + ((r.throttle = function (t, e, r) { + var a = n[t], + o = Date.now(); + if (!a) { + for (var s in n) n[s].ts < o - 6e4 && delete n[s]; + a = n[t] = { ts: 0, timer: null }; + } + function l() { + (r(), (a.ts = Date.now()), a.onDone && (a.onDone(), (a.onDone = null))); + } + (i(a), + o > a.ts + e + ? l() + : (a.timer = setTimeout(function () { + (l(), (a.timer = null)); + }, e))); + }), + (r.done = function (t) { + var e = n[t]; + return e && e.timer + ? new Promise(function (t) { + var r = e.onDone; + e.onDone = function () { + (r && r(), t(), (e.onDone = null)); + }; + }) + : Promise.resolve(); + }), + (r.clear = function (t) { + if (t) (i(n[t]), delete n[t]); + else for (var e in n) r.clear(e); + })); + }, + {}, + ], + 628: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"); + e.exports = function (t, e) { + if (t > 0) return Math.log(t) / Math.LN10; + var r = Math.log(Math.min(e[0], e[1])) / Math.LN10; + return (n(r) || (r = Math.log(Math.max(e[0], e[1])) / Math.LN10 - 6), r); + }; + }, + { "fast-isnumeric": 196 }, + ], + 629: [ + function (t, e, r) { + "use strict"; + var n = (e.exports = {}), + i = t("../plots/geo/constants").locationmodeToLayer, + a = t("topojson-client").feature; + ((n.getTopojsonName = function (t) { + return [t.scope.replace(/ /g, "-"), "_", t.resolution.toString(), "m"].join( + "", + ); + }), + (n.getTopojsonPath = function (t, e) { + return t + e + ".json"; + }), + (n.getTopojsonFeatures = function (t, e) { + var r = i[t.locationmode], + n = e.objects[r]; + return a(e, n).features; + })); + }, + { "../plots/geo/constants": 676, "topojson-client": 418 }, + ], + 630: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "locale", + name: "en-US", + dictionary: { + "Click to enter Colorscale title": "Click to enter Colorscale title", + }, + format: { date: "%m/%d/%Y" }, + }; + }, + {}, + ], + 631: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "locale", + name: "en", + dictionary: { + "Click to enter Colorscale title": "Click to enter Colourscale title", + }, + format: { + days: [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + shortMonths: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + periods: ["AM", "PM"], + dateTime: "%a %b %e %X %Y", + date: "%d/%m/%Y", + time: "%H:%M:%S", + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + year: "%Y", + month: "%b %Y", + dayMonth: "%b %-d", + dayMonthYear: "%b %-d, %Y", + }, + }; + }, + {}, + ], + 632: [ + function (t, e, r) { + "use strict"; + var n = t("../registry"); + e.exports = function (t) { + for ( + var e, + r, + i = n.layoutArrayContainers, + a = n.layoutArrayRegexes, + o = t.split("[")[0], + s = 0; + s < a.length; + s++ + ) + if ((r = t.match(a[s])) && 0 === r.index) { + e = r[0]; + break; + } + if ((e || (e = i[i.indexOf(o)]), !e)) return !1; + var l = t.substr(e.length); + return l + ? !!(r = l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/)) && { + array: e, + index: Number(r[1]), + property: r[3] || "", + } + : { array: e, index: "", property: "" }; + }; + }, + { "../registry": 732 }, + ], + 633: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = n.extendFlat, + a = n.isPlainObject, + o = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "calcIfAutorange", + "clearAxisTypes", + "plot", + "style", + "colorbars", + ], + }, + s = { + valType: "flaglist", + extras: ["none"], + flags: [ + "calc", + "calcIfAutorange", + "plot", + "legend", + "ticks", + "axrange", + "margins", + "layoutstyle", + "modebar", + "camera", + "arraydraw", + ], + }, + l = o.flags.slice().concat(["clearCalc", "fullReplot"]), + c = s.flags.slice().concat("layoutReplot"); + function u(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = !1; + return e; + } + function f(t, e, r) { + var n = i({}, t); + for (var o in n) { + var s = n[o]; + a(s) && (n[o] = h(s, e, r, o)); + } + return ("from-root" === r && (n.editType = e), n); + } + function h(t, e, r, n) { + if (t.valType) { + var a = i({}, t); + if (((a.editType = e), Array.isArray(t.items))) { + a.items = new Array(t.items.length); + for (var o = 0; o < t.items.length; o++) + a.items[o] = h(t.items[o], e, "from-root"); + } + return a; + } + return f(t, e, "_" === n.charAt(0) ? "nested" : "from-root"); + } + e.exports = { + traces: o, + layout: s, + traceFlags: function () { + return u(l); + }, + layoutFlags: function () { + return u(c); + }, + update: function (t, e) { + var r = e.editType; + if (r && "none" !== r) + for (var n = r.split("+"), i = 0; i < n.length; i++) t[n[i]] = !0; + }, + overrideAll: f, + }; + }, + { "../lib": 602 }, + ], + 634: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("gl-mat4/fromQuat"), + a = t("../registry"), + o = t("../lib"), + s = t("../plots/plots"), + l = t("../plots/cartesian/axis_ids"), + c = l.cleanId, + u = l.getFromTrace, + f = t("../components/color"); + function h(t, e) { + var r = t[e], + n = e.charAt(0); + r && "paper" !== r && (t[e] = c(r, n)); + } + function p(t) { + if (!o.isPlainObject(t)) return !1; + var e = t.name; + return ( + delete t.name, + delete t.showlegend, + ("string" == typeof e || "number" == typeof e) && String(e) + ); + } + function d(t, e, r, n) { + if (r && !n) return t; + if (n && !r) return e; + if (!t.trim()) return e; + if (!e.trim()) return t; + var i, + a = Math.min(t.length, e.length); + for (i = 0; i < a && t.charAt(i) === e.charAt(i); i++); + return t.substr(0, i).trim(); + } + function g(t) { + var e = "middle", + r = "center"; + return ( + -1 !== t.indexOf("top") + ? (e = "top") + : -1 !== t.indexOf("bottom") && (e = "bottom"), + -1 !== t.indexOf("left") + ? (r = "left") + : -1 !== t.indexOf("right") && (r = "right"), + e + " " + r + ); + } + function m(t, e) { + return e in t && "object" == typeof t[e] && 0 === Object.keys(t[e]).length; + } + ((r.clearPromiseQueue = function (t) { + (Array.isArray(t._promises) && + t._promises.length > 0 && + o.log("Clearing previous rejected promises from queue."), + (t._promises = [])); + }), + (r.cleanLayout = function (t) { + var e, r; + (t || (t = {}), + t.xaxis1 && (t.xaxis || (t.xaxis = t.xaxis1), delete t.xaxis1), + t.yaxis1 && (t.yaxis || (t.yaxis = t.yaxis1), delete t.yaxis1), + t.scene1 && (t.scene || (t.scene = t.scene1), delete t.scene1)); + var n = (s.subplotsRegistry.cartesian || {}).attrRegex, + a = (s.subplotsRegistry.gl3d || {}).attrRegex, + l = Object.keys(t); + for (e = 0; e < l.length; e++) { + var u = l[e]; + if (n && n.test(u)) { + var p = t[u]; + (p.anchor && "free" !== p.anchor && (p.anchor = c(p.anchor)), + p.overlaying && (p.overlaying = c(p.overlaying)), + p.type || + (p.isdate + ? (p.type = "date") + : p.islog + ? (p.type = "log") + : !1 === p.isdate && !1 === p.islog && (p.type = "linear")), + ("withzero" !== p.autorange && "tozero" !== p.autorange) || + ((p.autorange = !0), (p.rangemode = "tozero")), + delete p.islog, + delete p.isdate, + delete p.categories, + m(p, "domain") && delete p.domain, + void 0 !== p.autotick && + (void 0 === p.tickmode && + (p.tickmode = p.autotick ? "auto" : "linear"), + delete p.autotick)); + } else if (a && a.test(u)) { + var d = t[u], + g = d.cameraposition; + if (Array.isArray(g) && 4 === g[0].length) { + var v = g[0], + y = g[1], + x = g[2], + b = i([], v), + _ = []; + for (r = 0; r < 3; ++r) _[r] = y[r] + x * b[2 + 4 * r]; + ((d.camera = { + eye: { x: _[0], y: _[1], z: _[2] }, + center: { x: y[0], y: y[1], z: y[2] }, + up: { x: b[1], y: b[5], z: b[9] }, + }), + delete d.cameraposition); + } + } + } + var w = Array.isArray(t.annotations) ? t.annotations.length : 0; + for (e = 0; e < w; e++) { + var k = t.annotations[e]; + o.isPlainObject(k) && + (k.ref && + ("paper" === k.ref + ? ((k.xref = "paper"), (k.yref = "paper")) + : "data" === k.ref && ((k.xref = "x"), (k.yref = "y")), + delete k.ref), + h(k, "xref"), + h(k, "yref")); + } + var M = Array.isArray(t.shapes) ? t.shapes.length : 0; + for (e = 0; e < M; e++) { + var A = t.shapes[e]; + o.isPlainObject(A) && (h(A, "xref"), h(A, "yref")); + } + var T = t.legend; + return ( + T && + (T.x > 3 + ? ((T.x = 1.02), (T.xanchor = "left")) + : T.x < -2 && ((T.x = -0.02), (T.xanchor = "right")), + T.y > 3 + ? ((T.y = 1.02), (T.yanchor = "bottom")) + : T.y < -2 && ((T.y = -0.02), (T.yanchor = "top"))), + "rotate" === t.dragmode && (t.dragmode = "orbit"), + f.clean(t), + t + ); + }), + (r.cleanData = function (t, e) { + for ( + var n = [], + i = t + .concat(Array.isArray(e) ? e : []) + .filter(function (t) { + return ("uid" in t); + }) + .map(function (t) { + return t.uid; + }), + l = 0; + l < t.length; + l++ + ) { + var u, + h = t[l]; + if (!("uid" in h) || -1 !== n.indexOf(h.uid)) { + var v; + for ( + u = 0; + u < 100 && ((v = o.randstr(i)), -1 !== n.indexOf(v)); + u++ + ); + ((h.uid = o.randstr(i)), i.push(h.uid)); + } + if ( + (n.push(h.uid), + "histogramy" === h.type && + "xbins" in h && + !("ybins" in h) && + ((h.ybins = h.xbins), delete h.xbins), + h.error_y && "opacity" in h.error_y) + ) { + var y = f.defaults, + x = + h.error_y.color || + (a.traceIs(h, "bar") ? f.defaultLine : y[l % y.length]); + ((h.error_y.color = f.addOpacity( + f.rgb(x), + f.opacity(x) * h.error_y.opacity, + )), + delete h.error_y.opacity); + } + if ( + ("bardir" in h && + ("h" !== h.bardir || + (!a.traceIs(h, "bar") && "histogram" !== h.type.substr(0, 9)) || + ((h.orientation = "h"), r.swapXYData(h)), + delete h.bardir), + "histogramy" === h.type && r.swapXYData(h), + ("histogramx" !== h.type && "histogramy" !== h.type) || + (h.type = "histogram"), + "scl" in h && ((h.colorscale = h.scl), delete h.scl), + "reversescl" in h && + ((h.reversescale = h.reversescl), delete h.reversescl), + h.xaxis && (h.xaxis = c(h.xaxis, "x")), + h.yaxis && (h.yaxis = c(h.yaxis, "y")), + a.traceIs(h, "gl3d") && + h.scene && + (h.scene = s.subplotsRegistry.gl3d.cleanId(h.scene)), + !a.traceIs(h, "pie") && !a.traceIs(h, "bar")) + ) + if (Array.isArray(h.textposition)) + for (u = 0; u < h.textposition.length; u++) + h.textposition[u] = g(h.textposition[u]); + else h.textposition && (h.textposition = g(h.textposition)); + if ( + (a.traceIs(h, "2dMap") && + ("YIGnBu" === h.colorscale && (h.colorscale = "YlGnBu"), + "YIOrRd" === h.colorscale && (h.colorscale = "YlOrRd")), + a.traceIs(h, "markerColorscale") && h.marker) + ) { + var b = h.marker; + ("YIGnBu" === b.colorscale && (b.colorscale = "YlGnBu"), + "YIOrRd" === b.colorscale && (b.colorscale = "YlOrRd")); + } + if ("surface" === h.type && o.isPlainObject(h.contours)) { + var _ = ["x", "y", "z"]; + for (u = 0; u < _.length; u++) { + var w = h.contours[_[u]]; + o.isPlainObject(w) && + (w.highlightColor && + ((w.highlightcolor = w.highlightColor), + delete w.highlightColor), + w.highlightWidth && + ((w.highlightwidth = w.highlightWidth), + delete w.highlightWidth)); + } + } + if ("candlestick" === h.type || "ohlc" === h.type) { + var k = !1 !== (h.increasing || {}).showlegend, + M = !1 !== (h.decreasing || {}).showlegend, + A = p(h.increasing), + T = p(h.decreasing); + if (!1 !== A && !1 !== T) { + var S = d(A, T, k, M); + S && (h.name = S); + } else (!A && !T) || h.name || (h.name = A || T); + } + if (Array.isArray(h.transforms)) { + var C = h.transforms; + for (u = 0; u < C.length; u++) { + var E = C[u]; + if (o.isPlainObject(E)) + switch (E.type) { + case "filter": + (E.filtersrc && + ((E.target = E.filtersrc), delete E.filtersrc), + E.calendar && + (E.valuecalendar || (E.valuecalendar = E.calendar), + delete E.calendar)); + break; + case "groupby": + if ( + ((E.styles = E.styles || E.style), + E.styles && !Array.isArray(E.styles)) + ) { + var L = E.styles, + z = Object.keys(L); + E.styles = []; + for (var P = 0; P < z.length; P++) + E.styles.push({ target: z[P], value: L[z[P]] }); + } + } + } + } + (m(h, "line") && delete h.line, + "marker" in h && + (m(h.marker, "line") && delete h.marker.line, + m(h, "marker") && delete h.marker), + f.clean(h)); + } + }), + (r.swapXYData = function (t) { + var e; + if ( + (o.swapAttrs(t, [ + "?", + "?0", + "d?", + "?bins", + "nbins?", + "autobin?", + "?src", + "error_?", + ]), + Array.isArray(t.z) && + Array.isArray(t.z[0]) && + (t.transpose ? delete t.transpose : (t.transpose = !0)), + t.error_x && t.error_y) + ) { + var r = t.error_y, + n = + "copy_ystyle" in r + ? r.copy_ystyle + : !(r.color || r.thickness || r.width); + (o.swapAttrs(t, ["error_?.copy_ystyle"]), + n && + o.swapAttrs(t, [ + "error_?.color", + "error_?.thickness", + "error_?.width", + ])); + } + if ("string" == typeof t.hoverinfo) { + var i = t.hoverinfo.split("+"); + for (e = 0; e < i.length; e++) + "x" === i[e] ? (i[e] = "y") : "y" === i[e] && (i[e] = "x"); + t.hoverinfo = i.join("+"); + } + }), + (r.coerceTraceIndices = function (t, e) { + return n(e) + ? [e] + : Array.isArray(e) && e.length + ? e + : t.data.map(function (t, e) { + return e; + }); + }), + (r.manageArrayContainers = function (t, e, r) { + var i = t.obj, + a = t.parts, + s = a.length, + l = a[s - 1], + c = n(l); + if (c && null === e) { + var u = a.slice(0, s - 1).join("."); + o.nestedProperty(i, u).get().splice(l, 1); + } else + c && void 0 === t.get() + ? (void 0 === t.get() && (r[t.astr] = null), t.set(e)) + : t.set(e); + })); + var v = /(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/; + function y(t) { + var e = t.search(v); + if (e > 0) return t.substr(0, e); + } + r.hasParent = function (t, e) { + for (var r = y(e); r; ) { + if (r in t) return !0; + r = y(r); + } + return !1; + }; + var x = ["x", "y", "z"]; + ((r.clearAxisTypes = function (t, e, r) { + for (var n = 0; n < e.length; n++) + for (var i = t._fullData[n], a = 0; a < 3; a++) { + var s = u(t, i, x[a]); + if (s && "log" !== s.type) { + var l = s._name, + c = s._id.substr(1); + if ("scene" === c.substr(0, 5)) { + if (void 0 !== r[c]) continue; + l = c + "." + l; + } + var f = l + ".type"; + void 0 === r[l] && + void 0 === r[f] && + o.nestedProperty(t.layout, f).set(null); + } + } + }), + (r.clearAxisAutomargins = function (t) { + for ( + var e = Object.keys(t._fullLayout._pushmargin), r = 0; + r < e.length; + r++ + ) + -1 !== e[r].indexOf("automargin") && + delete t._fullLayout._pushmargin[e[r]]; + })); + }, + { + "../components/color": 474, + "../lib": 602, + "../plots/cartesian/axis_ids": 651, + "../plots/plots": 710, + "../registry": 732, + "fast-isnumeric": 196, + "gl-mat4/fromQuat": 227, + }, + ], + 635: [ + function (t, e, r) { + "use strict"; + var n = t("./plot_api"); + ((r.plot = n.plot), + (r.newPlot = n.newPlot), + (r.restyle = n.restyle), + (r.relayout = n.relayout), + (r.redraw = n.redraw), + (r.update = n.update), + (r.react = n.react), + (r.extendTraces = n.extendTraces), + (r.prependTraces = n.prependTraces), + (r.addTraces = n.addTraces), + (r.deleteTraces = n.deleteTraces), + (r.moveTraces = n.moveTraces), + (r.purge = n.purge), + (r.addFrames = n.addFrames), + (r.deleteFrames = n.deleteFrames), + (r.animate = n.animate), + (r.setPlotConfig = n.setPlotConfig), + (r.toImage = t("./to_image")), + (r.validate = t("./validate")), + (r.downloadImage = t("../snapshot/download"))); + }, + { + "../snapshot/download": 734, + "./plot_api": 637, + "./to_image": 641, + "./validate": 642, + }, + ], + 636: [ + function (t, e, r) { + "use strict"; + var n = t("../lib/nested_property"), + i = t("../lib/is_plain_object"), + a = t("../lib/noop"), + o = t("../lib/loggers"), + s = t("../lib/search").sorterAsc, + l = t("../registry"); + r.containerArrayMatch = t("./container_array_match"); + var c = (r.isAddVal = function (t) { + return "add" === t || i(t); + }), + u = (r.isRemoveVal = function (t) { + return null === t || "remove" === t; + }); + r.applyContainerArrayChanges = function (t, e, r, i) { + var f = e.astr, + h = l.getComponentMethod(f, "supplyLayoutDefaults"), + p = l.getComponentMethod(f, "draw"), + d = l.getComponentMethod(f, "drawOne"), + g = i.replot || i.recalc || h === a || p === a, + m = t.layout, + v = t._fullLayout; + if (r[""]) { + Object.keys(r).length > 1 && + o.warn("Full array edits are incompatible with other edits", f); + var y = r[""][""]; + if (u(y)) e.set(null); + else { + if (!Array.isArray(y)) + return (o.warn("Unrecognized full array edit value", f, y), !0); + e.set(y); + } + return !g && (h(m, v), p(t), !0); + } + var x, + b, + _, + w, + k, + M, + A, + T = Object.keys(r).map(Number).sort(s), + S = e.get(), + C = S || [], + E = n(v, f).get(), + L = [], + z = -1, + P = C.length; + for (x = 0; x < T.length; x++) + if ( + ((w = r[(_ = T[x])]), + (k = Object.keys(w)), + (M = w[""]), + (A = c(M)), + _ < 0 || _ > C.length - (A ? 0 : 1)) + ) + o.warn("index out of range", f, _); + else if (void 0 !== M) + (k.length > 1 && + o.warn( + "Insertion & removal are incompatible with edits to the same index.", + f, + _, + ), + u(M) + ? L.push(_) + : A + ? ("add" === M && (M = {}), + C.splice(_, 0, M), + E && E.splice(_, 0, {})) + : o.warn("Unrecognized full object edit value", f, _, M), + -1 === z && (z = _)); + else for (b = 0; b < k.length; b++) n(C[_], k[b]).set(w[k[b]]); + for (x = L.length - 1; x >= 0; x--) + (C.splice(L[x], 1), E && E.splice(L[x], 1)); + if ((C.length ? S || e.set(C) : e.set(null), g)) return !1; + if ((h(m, v), d !== a)) { + var D; + if (-1 === z) D = T; + else { + for ( + P = Math.max(C.length, P), D = [], x = 0; + x < T.length && !((_ = T[x]) >= z); + x++ + ) + D.push(_); + for (x = z; x < P; x++) D.push(x); + } + for (x = 0; x < D.length; x++) d(t, D[x]); + } else p(t); + return !0; + }; + }, + { + "../lib/is_plain_object": 604, + "../lib/loggers": 607, + "../lib/nested_property": 610, + "../lib/noop": 611, + "../lib/search": 621, + "../registry": 732, + "./container_array_match": 632, + }, + ], + 637: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("has-hover"), + o = t("../lib"), + s = t("../lib/events"), + l = t("../lib/queue"), + c = t("../registry"), + u = t("./plot_schema"), + f = t("../plots/plots"), + h = t("../plots/polar/legacy"), + p = t("../plots/cartesian/axes"), + d = t("../components/drawing"), + g = t("../components/color"), + m = t("../plots/cartesian/graph_interact").initInteractions, + v = t("../constants/xmlns_namespaces"), + y = t("../lib/svg_text_utils"), + x = t("./plot_config"), + b = t("./manage_arrays"), + _ = t("./helpers"), + w = t("./subroutines"), + k = t("./edit_types"), + M = t("../plots/cartesian/constants").AX_NAME_PATTERN, + A = 0; + function T(t, e) { + try { + t._fullLayout._paper.style("background", e); + } catch (t) { + o.error(t); + } + } + function S(t, e) { + T(t, g.combine(e, "white")); + } + function C(t, e) { + t._context || (t._context = o.extendDeep({}, x)); + var r, + n, + i, + s = t._context; + if (e) { + for (n = Object.keys(e), r = 0; r < n.length; r++) + "editable" !== (i = n[r]) && + "edits" !== i && + i in s && + ("setBackground" === i && "opaque" === e[i] + ? (s[i] = S) + : (s[i] = e[i])); + e.plot3dPixelRatio && + !s.plotGlPixelRatio && + (s.plotGlPixelRatio = s.plot3dPixelRatio); + var l = e.editable; + if (void 0 !== l) + for (s.editable = l, n = Object.keys(s.edits), r = 0; r < n.length; r++) + s.edits[n[r]] = l; + if (e.edits) + for (n = Object.keys(e.edits), r = 0; r < n.length; r++) + (i = n[r]) in s.edits && (s.edits[i] = e.edits[i]); + } + (s.staticPlot && + ((s.editable = !1), + (s.edits = {}), + (s.autosizable = !1), + (s.scrollZoom = !1), + (s.doubleClick = !1), + (s.showTips = !1), + (s.showLink = !1), + (s.displayModeBar = !1)), + "hover" !== s.displayModeBar || a || (s.displayModeBar = !0), + ("transparent" !== s.setBackground && + "function" == typeof s.setBackground) || + (s.setBackground = T)); + } + function E(t, e) { + var r, + n, + i = e + 1, + a = []; + for (r = 0; r < t.length; r++) (n = t[r]) < 0 ? a.push(i + n) : a.push(n); + return a; + } + function L(t, e, r) { + var n, i; + for (n = 0; n < e.length; n++) { + if ((i = e[n]) !== parseInt(i, 10)) + throw new Error("all values in " + r + " must be integers"); + if (i >= t.data.length || i < -t.data.length) + throw new Error(r + " must be valid indices for gd.data."); + if ( + e.indexOf(i, n + 1) > -1 || + (i >= 0 && e.indexOf(-t.data.length + i) > -1) || + (i < 0 && e.indexOf(t.data.length + i) > -1) + ) + throw new Error("each index in " + r + " must be unique."); + } + } + function z(t, e, r) { + if (!Array.isArray(t.data)) throw new Error("gd.data must be an array."); + if (void 0 === e) throw new Error("currentIndices is a required argument."); + if ( + (Array.isArray(e) || (e = [e]), + L(t, e, "currentIndices"), + void 0 === r || Array.isArray(r) || (r = [r]), + void 0 !== r && L(t, r, "newIndices"), + void 0 !== r && e.length !== r.length) + ) + throw new Error("current and new indices must be of equal length."); + } + function P(t, e, r, n, a) { + !(function (t, e, r, n) { + var i = o.isPlainObject(n); + if (!Array.isArray(t.data)) throw new Error("gd.data must be an array"); + if (!o.isPlainObject(e)) + throw new Error("update must be a key:value object"); + if (void 0 === r) + throw new Error("indices must be an integer or array of integers"); + for (var a in (L(t, r, "indices"), e)) { + if (!Array.isArray(e[a]) || e[a].length !== r.length) + throw new Error( + "attribute " + + a + + " must be an array of length equal to indices array length", + ); + if ( + i && + (!(a in n) || !Array.isArray(n[a]) || n[a].length !== e[a].length) + ) + throw new Error( + "when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object", + ); + } + })(t, e, r, n); + for ( + var s = (function (t, e, r, n) { + var a, + s, + l, + c, + u, + f = o.isPlainObject(n), + h = []; + for (var p in (Array.isArray(r) || (r = [r]), + (r = E(r, t.data.length - 1)), + e)) + for (var d = 0; d < r.length; d++) { + if ( + ((a = t.data[r[d]]), + (s = (l = o.nestedProperty(a, p)).get()), + (c = e[p][d]), + !o.isArrayOrTypedArray(c)) + ) + throw new Error( + "attribute: " + p + " index: " + d + " must be an array", + ); + if (!o.isArrayOrTypedArray(s)) + throw new Error( + "cannot extend missing or non-array attribute: " + p, + ); + if (s.constructor !== c.constructor) + throw new Error( + "cannot extend array with an array of a different type: " + p, + ); + ((u = f ? n[p][d] : n), + i(u) || (u = -1), + h.push({ prop: l, target: s, insert: c, maxp: Math.floor(u) })); + } + return h; + })(t, e, r, n), + l = {}, + c = {}, + u = 0; + u < s.length; + u++ + ) { + var f = s[u].prop, + h = s[u].maxp, + p = a(s[u].target, s[u].insert, h); + (f.set(p[0]), + Array.isArray(l[f.astr]) || (l[f.astr] = []), + l[f.astr].push(p[1]), + Array.isArray(c[f.astr]) || (c[f.astr] = []), + c[f.astr].push(s[u].target.length)); + } + return { update: l, maxPoints: c }; + } + function D(t, e) { + var r = new t.constructor(t.length + e.length); + return (r.set(t), r.set(e, t.length), r); + } + function O(t) { + return void 0 === t ? null : t; + } + function I(t, e, r) { + var n, + i, + a = t._fullLayout, + s = t._fullData, + l = t.data, + h = k.traceFlags(), + d = {}, + g = {}; + function m() { + return r.map(function () {}); + } + function v(t) { + var e = p.id2name(t); + -1 === i.indexOf(e) && i.push(e); + } + function y(t) { + return "LAYOUT" + t + ".autorange"; + } + function x(t) { + return "LAYOUT" + t + ".range"; + } + function b(n, i, a) { + var s; + Array.isArray(n) + ? n.forEach(function (t) { + b(t, i, a); + }) + : n in e || + _.hasParent(e, n) || + ((s = + "LAYOUT" === n.substr(0, 6) + ? o.nestedProperty(t.layout, n.replace("LAYOUT", "")) + : o.nestedProperty(l[r[a]], n)), + n in g || (g[n] = m()), + void 0 === g[n][a] && (g[n][a] = O(s.get())), + void 0 !== i && s.set(i)); + } + for (var w in e) { + if (_.hasParent(e, w)) + throw new Error( + "cannot set " + w + "and a parent attribute simultaneously", + ); + var M, + A, + T, + S, + C, + E, + L = e[w]; + if (((d[w] = L), "LAYOUT" !== w.substr(0, 6))) { + for (g[w] = m(), n = 0; n < r.length; n++) + if ( + ((M = l[r[n]]), + (A = s[r[n]]), + (S = (T = o.nestedProperty(M, w)).get()), + void 0 !== (C = Array.isArray(L) ? L[n % L.length] : L)) + ) { + if ( + (E = u.getTraceValObject(A, T.parts)) && + E.impliedEdits && + null !== C + ) + for (var z in E.impliedEdits) + b(o.relativeAttr(w, z), E.impliedEdits[z], n); + else if ( + "colorbar.thicknessmode" === w && + T.get() !== C && + -1 !== ["fraction", "pixels"].indexOf(C) && + A.colorbar + ) { + var P = + -1 !== ["top", "bottom"].indexOf(A.colorbar.orient) + ? a.height - a.margin.t - a.margin.b + : a.width - a.margin.l - a.margin.r; + b( + "colorbar.thickness", + A.colorbar.thickness * ("fraction" === C ? 1 / P : P), + n, + ); + } else if ( + "colorbar.lenmode" === w && + T.get() !== C && + -1 !== ["fraction", "pixels"].indexOf(C) && + A.colorbar + ) { + var D = + -1 !== ["top", "bottom"].indexOf(A.colorbar.orient) + ? a.width - a.margin.l - a.margin.r + : a.height - a.margin.t - a.margin.b; + b( + "colorbar.len", + A.colorbar.len * ("fraction" === C ? 1 / D : D), + n, + ); + } else + ("colorbar.tick0" !== w && "colorbar.dtick" !== w) || + b("colorbar.tickmode", "linear", n); + if ("type" === w && ("pie" === C) != ("pie" === S)) { + var I = "x", + R = "y"; + (("bar" !== C && "bar" !== S) || + "h" !== M.orientation || + ((I = "y"), (R = "x")), + o.swapAttrs(M, ["?", "?src"], "labels", I), + o.swapAttrs(M, ["d?", "?0"], "label", I), + o.swapAttrs(M, ["?", "?src"], "values", R), + "pie" === S + ? (o + .nestedProperty(M, "marker.color") + .set(o.nestedProperty(M, "marker.colors").get()), + a._pielayer.selectAll("g.trace").remove()) + : c.traceIs(M, "cartesian") && + o + .nestedProperty(M, "marker.colors") + .set(o.nestedProperty(M, "marker.color").get())); + } + g[w][n] = O(S); + if ( + -1 !== + [ + "swapxy", + "swapxyaxes", + "orientation", + "orientationaxes", + ].indexOf(w) + ) { + if ("orientation" === w) { + T.set(C); + var B = M.x && !M.y ? "h" : "v"; + if ((T.get() || B) === A.orientation) continue; + } else + "orientationaxes" === w && + (M.orientation = { v: "h", h: "v" }[A.orientation]); + (_.swapXYData(M), (h.calc = h.clearAxisTypes = !0)); + } else + -1 !== f.dataArrayContainers.indexOf(T.parts[0]) + ? (_.manageArrayContainers(T, C, g), (h.calc = !0)) + : (E + ? E.arrayOk && + (o.isArrayOrTypedArray(C) || o.isArrayOrTypedArray(S)) + ? (h.calc = !0) + : k.update(h, E) + : (h.calc = !0), + T.set(C)); + } + if ( + (-1 !== ["swapxyaxes", "orientationaxes"].indexOf(w) && p.swap(t, r), + "orientationaxes" === w) + ) { + var F = o.nestedProperty(t.layout, "hovermode"); + "x" === F.get() ? F.set("y") : "y" === F.get() && F.set("x"); + } + if (-1 !== ["orientation", "type"].indexOf(w)) { + for (i = [], n = 0; n < r.length; n++) { + var N = l[r[n]]; + c.traceIs(N, "cartesian") && + (v(N.xaxis || "x"), + v(N.yaxis || "y"), + "type" === w && b(["autobinx", "autobiny"], !0, n)); + } + (b(i.map(y), !0, 0), b(i.map(x), [0, 1], 0)); + } + } else + ((T = o.nestedProperty(t.layout, w.replace("LAYOUT", ""))), + (g[w] = [O(T.get())]), + T.set(Array.isArray(L) ? L[0] : L), + (h.calc = !0)); + } + var j = !1, + V = p.list(t); + for (n = 0; n < V.length; n++) + if (V[n].autorange) { + j = !0; + break; + } + return ( + (h.calc || (h.calcIfAutorange && j)) && (h.clearCalc = !0), + (h.calc || h.plot || h.calcIfAutorange) && (h.fullReplot = !0), + { + flags: h, + undoit: g, + redoit: d, + traces: r, + eventData: o.extendDeepNoArrays([], [d, r]), + } + ); + } + function R(t, e) { + var r, + n, + i, + a = t.layout, + s = t._fullLayout, + l = Object.keys(e), + f = p.list(t), + h = {}; + for (n = 0; n < l.length; n++) + if (0 === l[n].indexOf("allaxes")) { + for (i = 0; i < f.length; i++) { + var d = f[i]._id.substr(1), + g = -1 !== d.indexOf("scene") ? d + "." : "", + m = l[n].replace("allaxes", g + f[i]._name); + e[m] || (e[m] = e[l[n]]); + } + delete e[l[n]]; + } + var v = k.layoutFlags(), + y = {}, + x = {}; + function w(t, r) { + if (Array.isArray(t)) + t.forEach(function (t) { + w(t, r); + }); + else if (!(t in e || _.hasParent(e, t))) { + var n = o.nestedProperty(a, t); + (t in x || (x[t] = O(n.get())), void 0 !== r && n.set(r)); + } + } + var A, + T = {}; + function S(t) { + var e = p.name2id(t.split(".")[0]); + return ((T[e] = 1), e); + } + for (var C in e) { + if (_.hasParent(e, C)) + throw new Error( + "cannot set " + C + "and a parent attribute simultaneously", + ); + for ( + var E = o.nestedProperty(a, C), L = e[C], z = E.parts.length, P = z - 1; + P > 0 && "string" != typeof E.parts[z - 1]; + + ) + P--; + var D = E.parts[P], + I = E.parts[P - 1] + "." + D, + R = E.parts.slice(0, P).join("."), + N = o.nestedProperty(t.layout, R).get(), + j = o.nestedProperty(s, R).get(), + V = E.get(); + if (void 0 !== L) { + ((y[C] = L), (x[C] = "reverse" === D ? L : O(V))); + var U = u.getLayoutValObject(s, E.parts); + if (U && U.impliedEdits && null !== L) + for (var q in U.impliedEdits) + w(o.relativeAttr(C, q), U.impliedEdits[q]); + if (-1 !== ["width", "height"].indexOf(C) && null === L) + s[C] = t._initialAutoSize[C]; + else if (I.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/)) + (S(I), o.nestedProperty(s, R + "._inputRange").set(null)); + else if (I.match(/^[xyz]axis[0-9]*\.autorange$/)) { + (S(I), o.nestedProperty(s, R + "._inputRange").set(null)); + var H = o.nestedProperty(s, R).get(); + H._inputDomain && (H._input.domain = H._inputDomain.slice()); + } else + I.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/) && + o.nestedProperty(s, R + "._inputDomain").set(null); + if ("type" === D) { + var G = N, + W = "linear" === j.type && "log" === L, + Y = "log" === j.type && "linear" === L; + if (W || Y) { + if (G && G.range) + if (j.autorange) + W && (G.range = G.range[1] > G.range[0] ? [1, 2] : [2, 1]); + else { + var X = G.range[0], + Z = G.range[1]; + W + ? (X <= 0 && Z <= 0 && w(R + ".autorange", !0), + X <= 0 ? (X = Z / 1e6) : Z <= 0 && (Z = X / 1e6), + w(R + ".range[0]", Math.log(X) / Math.LN10), + w(R + ".range[1]", Math.log(Z) / Math.LN10)) + : (w(R + ".range[0]", Math.pow(10, X)), + w(R + ".range[1]", Math.pow(10, Z))); + } + else w(R + ".autorange", !0); + (Array.isArray(s._subplots.polar) && + s._subplots.polar.length && + s[E.parts[0]] && + "radialaxis" === E.parts[1] && + delete s[E.parts[0]]._subplot.viewInitial["radialaxis.range"], + c.getComponentMethod("annotations", "convertCoords")(t, j, L, w), + c.getComponentMethod("images", "convertCoords")(t, j, L, w)); + } else (w(R + ".autorange", !0), w(R + ".range", null)); + o.nestedProperty(s, R + "._inputRange").set(null); + } else if (D.match(M)) { + var J = o.nestedProperty(s, C).get(), + K = (L || {}).type; + ((K && "-" !== K) || (K = "linear"), + c.getComponentMethod("annotations", "convertCoords")(t, J, K, w), + c.getComponentMethod("images", "convertCoords")(t, J, K, w)); + } + var Q = b.containerArrayMatch(C); + if (Q) { + ((r = Q.array), (n = Q.index)); + var $ = Q.property, + tt = (o.nestedProperty(a, r) || [])[n] || {}, + et = tt, + rt = U || { editType: "calc" }, + nt = -1 !== rt.editType.indexOf("calcIfAutorange"); + ("" === n + ? (nt ? (v.calc = !0) : k.update(v, rt), (nt = !1)) + : "" === $ && + ((et = L), + b.isAddVal(L) + ? (x[C] = null) + : b.isRemoveVal(L) + ? ((x[C] = tt), (et = tt)) + : o.warn("unrecognized full object value", e)), + nt && (F(t, et, "x") || F(t, et, "y")) + ? (v.calc = !0) + : k.update(v, rt), + h[r] || (h[r] = {})); + var it = h[r][n]; + (it || (it = h[r][n] = {}), (it[$] = L), delete e[C]); + } else + "reverse" === D + ? (N.range + ? N.range.reverse() + : (w(R + ".autorange", !0), (N.range = [1, 0])), + j.autorange ? (v.calc = !0) : (v.plot = !0)) + : (s._has("scatter-like") && + s._has("regl") && + "dragmode" === C && + ("lasso" === L || "select" === L) && + "lasso" !== V && + "select" !== V + ? (v.plot = !0) + : U + ? k.update(v, U) + : (v.calc = !0), + E.set(L)); + } + } + for (r in h) { + b.applyContainerArrayChanges(t, o.nestedProperty(a, r), h[r], v) || + (v.plot = !0); + } + var at = s._axisConstraintGroups || []; + for (A in T) + for (n = 0; n < at.length; n++) { + var ot = at[n]; + if (ot[A]) + for (var st in ((v.calc = !0), ot)) + T[st] || (p.getFromId(t, st)._constraintShrinkable = !0); + } + return ( + (B(t) || e.height || e.width) && (v.plot = !0), + (v.plot || v.calc) && (v.layoutReplot = !0), + { flags: v, undoit: x, redoit: y, eventData: o.extendDeep({}, y) } + ); + } + function B(t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + return ( + t.layout.autosize && f.plotAutoSize(t, t.layout, e), + e.width !== r || e.height !== n + ); + } + function F(t, e, r) { + if (!o.isPlainObject(e)) return !1; + var n = e[r + "ref"] || r, + i = p.getFromId(t, n); + return ( + i || n.charAt(0) !== r || (i = p.getFromId(t, r)), + (i || {}).autorange + ); + } + function N(t, e, r, n) { + var i, + a, + s = n.getValObject, + l = n.flags, + c = n.immutable, + u = n.inArray, + f = n.arrayIndex, + h = n.gd, + p = n.autoranged; + function d() { + var t = i.editType; + -1 !== t.indexOf("calcIfAutorange") && + (p || (void 0 === p && (F(h, e, "x") || F(h, e, "y")))) + ? (l.calc = !0) + : u && -1 !== t.indexOf("arraydraw") + ? o.pushUnique(l.arrays[u], f) + : k.update(l, i); + } + function g(t) { + return "data_array" === t.valType || t.arrayOk; + } + for (a in t) { + if (l.calc) return; + var m = t[a], + v = e[a]; + if ("_" !== a.charAt(0) && "function" != typeof m && m !== v) { + if ("tick0" === a || "dtick" === a) { + var y = e.tickmode; + if ("auto" === y || "array" === y || !y) continue; + } + if ( + ("range" !== a || !e.autorange) && + (("zmin" !== a && "zmax" !== a) || "contourcarpet" !== e.type) + ) { + var x = r.concat(a); + if ( + (i = s(x)) && + (!i._compareAsJSON || JSON.stringify(m) !== JSON.stringify(v)) + ) { + var b, + _ = i.valType, + w = g(i), + M = Array.isArray(m), + A = Array.isArray(v); + if (M && A) { + var T = "_input_" + a, + S = t[T], + C = e[T]; + if (Array.isArray(S) && S === C) continue; + } + if (void 0 === v) w && M ? (l.calc = !0) : d(); + else if (i._isLinkedToArray) { + var E = [], + L = !1; + u || (l.arrays[a] = E); + var z = Math.min(m.length, v.length), + P = Math.max(m.length, v.length); + if (z !== P) { + if ("arraydraw" !== i.editType) { + d(); + continue; + } + L = !0; + } + for (b = 0; b < z; b++) + N( + m[b], + v[b], + x.concat(b), + o.extendFlat({ inArray: a, arrayIndex: b }, n), + ); + if (L) for (b = z; b < P; b++) E.push(b); + } else + !_ && o.isPlainObject(m) + ? N(m, v, x, n) + : w + ? M && A + ? c && (l.calc = !0) + : M !== A + ? (l.calc = !0) + : d() + : (M && + A && + m.length === v.length && + String(m) === String(v)) || + d(); + } + } + } + } + for (a in e) + if (!(a in t || "_" === a.charAt(0) || "function" == typeof e[a])) { + if (g((i = s(r.concat(a)))) && Array.isArray(e[a])) + return void (l.calc = !0); + d(); + } + } + function j(t) { + var e = n.select(t), + r = t._fullLayout; + if ( + ((r._container = e.selectAll(".plot-container").data([0])), + r._container + .enter() + .insert("div", ":first-child") + .classed("plot-container", !0) + .classed("plotly", !0), + (r._paperdiv = r._container.selectAll(".svg-container").data([0])), + r._paperdiv + .enter() + .append("div") + .classed("svg-container", !0) + .style("position", "relative"), + (r._glcontainer = r._paperdiv.selectAll(".gl-container").data([{}])), + r._glcontainer.enter().append("div").classed("gl-container", !0), + (r._glcanvas = null), + r._paperdiv.selectAll(".main-svg").remove(), + (r._paper = r._paperdiv + .insert("svg", ":first-child") + .classed("main-svg", !0)), + (r._toppaper = r._paperdiv.append("svg").classed("main-svg", !0)), + !r._uid) + ) { + var i = []; + (n.selectAll("defs").each(function () { + this.id && i.push(this.id.split("-")[1]); + }), + (r._uid = o.randstr(i))); + } + (r._paperdiv.selectAll(".main-svg").attr(v.svgAttrs), + (r._defs = r._paper.append("defs").attr("id", "defs-" + r._uid)), + (r._clips = r._defs.append("g").classed("clips", !0)), + (r._topdefs = r._toppaper.append("defs").attr("id", "topdefs-" + r._uid)), + (r._topclips = r._topdefs.append("g").classed("clips", !0)), + (r._bgLayer = r._paper.append("g").classed("bglayer", !0)), + (r._draggers = r._paper.append("g").classed("draglayer", !0))); + var a = r._paper.append("g").classed("layer-below", !0); + ((r._imageLowerLayer = a.append("g").classed("imagelayer", !0)), + (r._shapeLowerLayer = a.append("g").classed("shapelayer", !0)), + (r._cartesianlayer = r._paper.append("g").classed("cartesianlayer", !0)), + (r._polarlayer = r._paper.append("g").classed("polarlayer", !0)), + (r._ternarylayer = r._paper.append("g").classed("ternarylayer", !0)), + (r._geolayer = r._paper.append("g").classed("geolayer", !0)), + (r._pielayer = r._paper.append("g").classed("pielayer", !0)), + (r._glimages = r._paper.append("g").classed("glimages", !0))); + var s = r._toppaper.append("g").classed("layer-above", !0); + ((r._imageUpperLayer = s.append("g").classed("imagelayer", !0)), + (r._shapeUpperLayer = s.append("g").classed("shapelayer", !0)), + (r._infolayer = r._toppaper.append("g").classed("infolayer", !0)), + (r._menulayer = r._toppaper.append("g").classed("menulayer", !0)), + (r._zoomlayer = r._toppaper.append("g").classed("zoomlayer", !0)), + (r._hoverlayer = r._toppaper.append("g").classed("hoverlayer", !0)), + t.emit("plotly_framework")); + } + ((r.plot = function (t, e, i, a) { + var l; + if (((t = o.getGraphDiv(t)), s.init(t), o.isPlainObject(e))) { + var u = e; + ((e = u.data), (i = u.layout), (a = u.config), (l = u.frames)); + } + if (!1 === s.triggerHandler(t, "plotly_beforeplot", [e, i, a])) + return Promise.reject(); + (e || + i || + o.isPlotDiv(t) || + o.warn( + "Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.", + t, + ), + C(t, a), + i || (i = {}), + n.select(t).classed("js-plotly-plot", !0), + d.makeTester(), + delete d.baseUrl, + Array.isArray(t._promises) || (t._promises = [])); + var g = 0 === (t.data || []).length && Array.isArray(e); + if ( + (Array.isArray(e) && + (_.cleanData(e, t.data), + g ? (t.data = e) : t.data.push.apply(t.data, e), + (t.empty = !1)), + (t.layout && !g) || (t.layout = _.cleanLayout(i)), + t._dragging && !t._transitioning) + ) + return ((t._replotPending = !0), Promise.reject()); + ((t._replotPending = !1), f.supplyDefaults(t)); + var v = t._fullLayout, + x = v._has("cartesian"); + if (!v._has("polar") && e && e[0] && e[0].r) + return ( + o.log("Legacy polar charts are deprecated!"), + (function (t, e, r) { + var i = n.select(t).selectAll(".plot-container").data([0]); + i.enter() + .insert("div", ":first-child") + .classed("plot-container plotly", !0); + var a = i.selectAll(".svg-container").data([0]); + (a + .enter() + .append("div") + .classed("svg-container", !0) + .style("position", "relative"), + a.html(""), + e && (t.data = e)); + r && (t.layout = r); + (h.manager.fillLayout(t), + a.style({ + width: t._fullLayout.width + "px", + height: t._fullLayout.height + "px", + }), + (t.framework = h.manager.framework(t)), + t.framework({ data: t.data, layout: t.layout }, a.node()), + t.framework.setUndoPoint()); + var s = t.framework.svg(), + l = 1, + c = t._fullLayout.title; + ("" !== c && c) || (l = 0); + var u = function () { + this.call(y.convertToTspans, t); + }, + p = s.select(".title-group text").call(u); + if (t._context.edits.titleText) { + var d = o._(t, "Click to enter Plot title"); + (c && c !== d) || + ((l = 0.2), + p + .attr({ "data-unformatted": d }) + .text(d) + .style({ opacity: l }) + .on("mouseover.opacity", function () { + n.select(this).transition().duration(100).style("opacity", 1); + }) + .on("mouseout.opacity", function () { + n.select(this).transition().duration(1e3).style("opacity", 0); + })); + var g = function () { + this.call(y.makeEditable, { gd: t }) + .on("edit", function (e) { + (t.framework({ layout: { title: e } }), + this.text(e).call(u), + this.call(g)); + }) + .on("cancel", function () { + var t = this.attr("data-unformatted"); + this.text(t).call(u); + }); + }; + p.call(g); + } + return ( + t._context.setBackground(t, t._fullLayout.paper_bgcolor), + f.addLinks(t), + Promise.resolve() + ); + })(t, e, i) + ); + ((v._replotting = !0), + g && j(t), + t.framework !== j && ((t.framework = j), j(t)), + d.initGradients(t), + g && p.saveShowSpikeInitial(t)); + var b = !t.calcdata || t.calcdata.length !== (t._fullData || []).length; + b && f.doCalcdata(t); + for (var k = 0; k < t.calcdata.length; k++) + t.calcdata[k][0].trace = t._fullData[k]; + var M = JSON.stringify(v._size); + function A() { + var e, + r, + n, + i = t.calcdata; + for ( + c.getComponentMethod("legend", "draw")(t), + c.getComponentMethod("rangeselector", "draw")(t), + c.getComponentMethod("sliders", "draw")(t), + c.getComponentMethod("updatemenus", "draw")(t), + e = 0; + e < i.length; + e++ + ) + !0 === (n = (r = i[e])[0].trace).visible && n._module.colorbar + ? n._module.colorbar(t, r) + : f.autoMargin(t, "cb" + n.uid); + return (f.doAutoMargin(t), f.previousPromises(t)); + } + function T() { + t._transitioning || + (w.doAutoRangeAndConstraints(t), g && p.saveRangeInitial(t)); + } + var S = [ + f.previousPromises, + function () { + if (l) return r.addFrames(t, l); + }, + function () { + for (var e = v._basePlotModules, r = 0; r < e.length; r++) + e[r].drawFramework && e[r].drawFramework(t); + return ( + !v._glcanvas && + v._has("gl") && + ((v._glcanvas = v._glcontainer.selectAll(".gl-canvas").data( + [ + { key: "contextLayer", context: !0, pick: !1 }, + { key: "focusLayer", context: !1, pick: !1 }, + { key: "pickLayer", context: !1, pick: !0 }, + ], + function (t) { + return t.key; + }, + )), + v._glcanvas + .enter() + .append("canvas") + .attr("class", function (t) { + return "gl-canvas gl-canvas-" + t.key.replace("Layer", ""); + }) + .style({ + position: "absolute", + top: 0, + left: 0, + width: "100%", + height: "100%", + overflow: "visible", + "pointer-events": "none", + })), + v._glcanvas && + v._glcanvas.attr("width", v.width).attr("height", v.height), + f.previousPromises(t) + ); + }, + A, + function () { + if (JSON.stringify(v._size) !== M) + return o.syncOrAsync([A, w.layoutStyles], t); + }, + ]; + (x && + S.push(function () { + if (b) { + var e, + r, + n, + i = v._subplots.cartesian, + a = v._modules, + s = []; + for (n = 0; n < a.length; n++) o.pushUnique(s, a[n].setPositions); + if (s.length) + for (r = 0; r < i.length; r++) + for (e = v._plots[i[r]], n = 0; n < s.length; n++) s[n](t, e); + return ( + c.getComponentMethod("errorbars", "calc")(t), + o.syncOrAsync( + [ + c.getComponentMethod("shapes", "calcAutorange"), + c.getComponentMethod("annotations", "calcAutorange"), + T, + c.getComponentMethod("rangeslider", "calcAutorange"), + ], + t, + ) + ); + } + T(); + }), + S.push(w.layoutStyles), + x && + S.push(function () { + return p.doTicks(t, g ? "" : "redraw"); + }), + S.push( + w.drawData, + w.finalDraw, + m, + f.addLinks, + f.rehover, + f.previousPromises, + )); + var E = o.syncOrAsync(S, t); + return ( + (E && E.then) || (E = Promise.resolve()), + E.then(function () { + return (t.emit("plotly_afterplot"), t); + }) + ); + }), + (r.setPlotConfig = function (t) { + return o.extendFlat(x, t); + }), + (r.redraw = function (t) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error("This element is not a Plotly plot: " + t); + return ( + _.cleanData(t.data, t.data), + _.cleanLayout(t.layout), + (t.calcdata = void 0), + r.plot(t).then(function () { + return (t.emit("plotly_redraw"), t); + }) + ); + }), + (r.newPlot = function (t, e, n, i) { + return ( + (t = o.getGraphDiv(t)), + f.cleanPlot( + [], + {}, + t._fullData || [], + t._fullLayout || {}, + t.calcdata || [], + ), + f.purge(t), + r.plot(t, e, n, i) + ); + }), + (r.extendTraces = function t(e, n, i, a) { + var s = P((e = o.getGraphDiv(e)), n, i, a, function (t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r < 0) { + var a = new t.constructor(0), + s = D(t, e); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } else if ( + ((n = new t.constructor(r)), + (i = new t.constructor(t.length + e.length - r)), + r === e.length) + ) + (n.set(e), i.set(t)); + else if (r < e.length) { + var l = e.length - r; + (n.set(e.subarray(l)), + i.set(t), + i.set(e.subarray(0, l), t.length)); + } else { + var c = r - e.length, + u = t.length - c; + (n.set(t.subarray(u)), n.set(e, c), i.set(t.subarray(0, u))); + } + else + ((n = t.concat(e)), + (i = r >= 0 && r < n.length ? n.splice(0, n.length - r) : [])); + return [n, i]; + }), + c = r.redraw(e), + u = [e, s.update, i, s.maxPoints]; + return (l.add(e, r.prependTraces, u, t, arguments), c); + }), + (r.prependTraces = function t(e, n, i, a) { + var s = P((e = o.getGraphDiv(e)), n, i, a, function (t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r <= 0) { + var a = new t.constructor(0), + s = D(e, t); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } else if ( + ((n = new t.constructor(r)), + (i = new t.constructor(t.length + e.length - r)), + r === e.length) + ) + (n.set(e), i.set(t)); + else if (r < e.length) { + var l = e.length - r; + (n.set(e.subarray(0, l)), i.set(e.subarray(l)), i.set(t, l)); + } else { + var c = r - e.length; + (n.set(e), + n.set(t.subarray(0, c), e.length), + i.set(t.subarray(c))); + } + else + ((n = e.concat(t)), + (i = r >= 0 && r < n.length ? n.splice(r, n.length) : [])); + return [n, i]; + }), + c = r.redraw(e), + u = [e, s.update, i, s.maxPoints]; + return (l.add(e, r.extendTraces, u, t, arguments), c); + }), + (r.addTraces = function t(e, n, i) { + e = o.getGraphDiv(e); + var a, + s, + c = [], + u = r.deleteTraces, + f = t, + h = [e, c], + p = [e, n]; + for ( + (function (t, e, r) { + var n, i; + if (!Array.isArray(t.data)) + throw new Error("gd.data must be an array."); + if (void 0 === e) throw new Error("traces must be defined."); + for (Array.isArray(e) || (e = [e]), n = 0; n < e.length; n++) + if ("object" != typeof (i = e[n]) || Array.isArray(i) || null === i) + throw new Error( + "all values in traces array must be non-array objects", + ); + if ( + (void 0 === r || Array.isArray(r) || (r = [r]), + void 0 !== r && r.length !== e.length) + ) + throw new Error( + "if indices is specified, traces.length must equal indices.length", + ); + })(e, n, i), + Array.isArray(n) || (n = [n]), + n = n.map(function (t) { + return o.extendFlat({}, t); + }), + _.cleanData(n, e.data), + a = 0; + a < n.length; + a++ + ) + e.data.push(n[a]); + for (a = 0; a < n.length; a++) c.push(-n.length + a); + if (void 0 === i) return ((s = r.redraw(e)), l.add(e, u, h, f, p), s); + Array.isArray(i) || (i = [i]); + try { + z(e, c, i); + } catch (t) { + throw (e.data.splice(e.data.length - n.length, n.length), t); + } + return ( + l.startSequence(e), + l.add(e, u, h, f, p), + (s = r.moveTraces(e, c, i)), + l.stopSequence(e), + s + ); + }), + (r.deleteTraces = function t(e, n) { + e = o.getGraphDiv(e); + var i, + a, + s = [], + c = r.addTraces, + u = t, + f = [e, s, n], + h = [e, n]; + if (void 0 === n) + throw new Error("indices must be an integer or array of integers."); + for ( + Array.isArray(n) || (n = [n]), + L(e, n, "indices"), + (n = E(n, e.data.length - 1)).sort(o.sorterDes), + i = 0; + i < n.length; + i += 1 + ) + ((a = e.data.splice(n[i], 1)[0]), s.push(a)); + var p = r.redraw(e); + return (l.add(e, c, f, u, h), p); + }), + (r.moveTraces = function t(e, n, i) { + var a, + s = [], + c = [], + u = t, + f = t, + h = [(e = o.getGraphDiv(e)), i, n], + p = [e, n, i]; + if ((z(e, n, i), (n = Array.isArray(n) ? n : [n]), void 0 === i)) + for (i = [], a = 0; a < n.length; a++) i.push(-n.length + a); + for ( + i = Array.isArray(i) ? i : [i], + n = E(n, e.data.length - 1), + i = E(i, e.data.length - 1), + a = 0; + a < e.data.length; + a++ + ) + -1 === n.indexOf(a) && s.push(e.data[a]); + for (a = 0; a < n.length; a++) + c.push({ newIndex: i[a], trace: e.data[n[a]] }); + for ( + c.sort(function (t, e) { + return t.newIndex - e.newIndex; + }), + a = 0; + a < c.length; + a += 1 + ) + s.splice(c[a].newIndex, 0, c[a].trace); + e.data = s; + var d = r.redraw(e); + return (l.add(e, u, h, f, p), d); + }), + (r.restyle = function t(e, n, i, a) { + ((e = o.getGraphDiv(e)), _.clearPromiseQueue(e)); + var s = {}; + if ("string" == typeof n) s[n] = i; + else { + if (!o.isPlainObject(n)) + return (o.warn("Restyle fail.", n, i, a), Promise.reject()); + ((s = o.extendFlat({}, n)), void 0 === a && (a = i)); + } + Object.keys(s).length && (e.changed = !0); + var c = _.coerceTraceIndices(e, a), + u = I(e, s, c), + h = u.flags; + (h.clearCalc && (e.calcdata = void 0), + h.clearAxisTypes && _.clearAxisTypes(e, c, {})); + var p = []; + (h.fullReplot + ? p.push(r.plot) + : (p.push(f.previousPromises), + f.supplyDefaults(e), + h.style && p.push(w.doTraceStyle), + h.colorbars && p.push(w.doColorBars)), + p.push(f.rehover), + l.add(e, t, [e, u.undoit, u.traces], t, [e, u.redoit, u.traces])); + var d = o.syncOrAsync(p, e); + return ( + (d && d.then) || (d = Promise.resolve()), + d.then(function () { + return (e.emit("plotly_restyle", u.eventData), e); + }) + ); + }), + (r.relayout = function t(e, r, n) { + if ( + ((e = o.getGraphDiv(e)), + _.clearPromiseQueue(e), + e.framework && e.framework.isPolar) + ) + return Promise.resolve(e); + var i = {}; + if ("string" == typeof r) i[r] = n; + else { + if (!o.isPlainObject(r)) + return (o.warn("Relayout fail.", r, n), Promise.reject()); + i = o.extendFlat({}, r); + } + Object.keys(i).length && (e.changed = !0); + var a = R(e, i), + s = a.flags; + (s.calc && (e.calcdata = void 0), s.margins && _.clearAxisAutomargins(e)); + var c = [f.previousPromises]; + (s.layoutReplot + ? c.push(w.layoutReplot) + : Object.keys(i).length && + (f.supplyDefaults(e), + s.legend && c.push(w.doLegend), + s.layoutstyle && c.push(w.layoutStyles), + s.axrange && + c.push( + w.doAutoRangeAndConstraints, + w.doTicksRelayout, + w.drawData, + w.finalDraw, + ), + s.ticks && c.push(w.doTicksRelayout), + s.modebar && c.push(w.doModeBar), + s.camera && c.push(w.doCamera)), + c.push(f.rehover), + l.add(e, t, [e, a.undoit], t, [e, a.redoit])); + var u = o.syncOrAsync(c, e); + return ( + (u && u.then) || (u = Promise.resolve(e)), + u.then(function () { + return (e.emit("plotly_relayout", a.eventData), e); + }) + ); + }), + (r.update = function t(e, n, i, a) { + if ( + ((e = o.getGraphDiv(e)), + _.clearPromiseQueue(e), + e.framework && e.framework.isPolar) + ) + return Promise.resolve(e); + (o.isPlainObject(n) || (n = {}), + o.isPlainObject(i) || (i = {}), + Object.keys(n).length && (e.changed = !0), + Object.keys(i).length && (e.changed = !0)); + var s = _.coerceTraceIndices(e, a), + c = I(e, o.extendFlat({}, n), s), + u = c.flags, + h = R(e, o.extendFlat({}, i)), + p = h.flags; + ((u.clearCalc || p.calc) && (e.calcdata = void 0), + u.clearAxisTypes && _.clearAxisTypes(e, s, i), + p.margins && _.clearAxisAutomargins(e)); + var d = []; + if (u.fullReplot && p.layoutReplot) { + var g = e.data, + m = e.layout; + ((e.data = void 0), + (e.layout = void 0), + d.push(function () { + return r.plot(e, g, m); + })); + } else + u.fullReplot + ? d.push(r.plot) + : p.layoutReplot + ? d.push(w.layoutReplot) + : (d.push(f.previousPromises), + f.supplyDefaults(e), + u.style && d.push(w.doTraceStyle), + u.colorbars && d.push(w.doColorBars), + p.legend && d.push(w.doLegend), + p.layoutstyle && d.push(w.layoutStyles), + p.axrange && + d.push( + w.doAutoRangeAndConstraints, + w.doTicksRelayout, + w.drawData, + w.finalDraw, + ), + p.ticks && d.push(w.doTicksRelayout), + p.modebar && d.push(w.doModeBar), + p.camera && d.push(w.doCamera)); + (d.push(f.rehover), + l.add(e, t, [e, c.undoit, h.undoit, c.traces], t, [ + e, + c.redoit, + h.redoit, + c.traces, + ])); + var v = o.syncOrAsync(d, e); + return ( + (v && v.then) || (v = Promise.resolve(e)), + v.then(function () { + return ( + e.emit("plotly_update", { data: c.eventData, layout: h.eventData }), + e + ); + }) + ); + }), + (r.react = function (t, e, n, i) { + var a, s; + var l = (t = o.getGraphDiv(t))._fullData, + h = t._fullLayout; + if (o.isPlotDiv(t) && l && h) { + if (o.isPlainObject(e)) { + var d = e; + ((e = d.data), (n = d.layout), (i = d.config), (a = d.frames)); + } + var g = !1; + if (i) { + var m = o.extendDeep({}, t._context); + ((t._context = void 0), + C(t, i), + (g = (function t(e, r) { + var n; + for (n in e) { + var i = e[n], + a = r[n]; + if (i !== a) + if (o.isPlainObject(i) && o.isPlainObject(a)) { + if (t(i, a)) return !0; + } else { + if (!Array.isArray(i) || !Array.isArray(a)) return !0; + if (i.length !== a.length) return !0; + for (var s = 0; s < i.length; s++) + if (i[s] !== a[s]) { + if (!o.isPlainObject(i[s]) || !o.isPlainObject(a[s])) + return !0; + if (t(i[s], a[s])) return !0; + } + } + } + })(m, t._context))); + } + ((t.data = e || []), + _.cleanData(t.data, []), + (t.layout = n || {}), + _.cleanLayout(t.layout), + f.supplyDefaults(t, { skipUpdateCalc: !0 })); + var v = t._fullData, + y = t._fullLayout, + x = void 0 === y.datarevision, + b = (function (t, e, r, n) { + if (e.length !== r.length) return { fullReplot: !0, calc: !0 }; + var i, + a, + o = k.traceFlags(); + o.arrays = {}; + var s = { + getValObject: function (t) { + return u.getTraceValObject(a, t); + }, + flags: o, + immutable: n, + gd: t, + }, + l = {}; + for (i = 0; i < e.length; i++) + ((a = r[i]._fullInput), + l[a.uid] || + ((l[a.uid] = 1), + (s.autoranged = + !!a.xaxis && + (p.getFromId(t, a.xaxis).autorange || + p.getFromId(t, a.yaxis).autorange)), + N(e[i]._fullInput, a, [], s))); + (o.calc || o.plot || o.calcIfAutorange) && (o.fullReplot = !0); + return o; + })(t, l, v, x), + M = (function (t, e, r, n) { + var i = k.layoutFlags(); + ((i.arrays = {}), + N(e, r, [], { + getValObject: function (t) { + return u.getLayoutValObject(r, t); + }, + flags: i, + immutable: n, + gd: t, + }), + (i.plot || i.calc) && (i.layoutReplot = !0)); + return i; + })(t, h, y, x); + (B(t) && (M.layoutReplot = !0), + b.calc || M.calc + ? (t.calcdata = void 0) + : f.supplyDefaultsUpdateCalc(t.calcdata, v), + M.margins && _.clearAxisAutomargins(t)); + var A = []; + if ( + (a && + ((t._transitionData = {}), + f.createTransitionData(t), + A.push(function () { + return r.addFrames(t, a); + })), + b.fullReplot || M.layoutReplot || g) + ) + ((t._fullLayout._skipDefaults = !0), A.push(r.plot)); + else { + for (var T in M.arrays) { + var S = M.arrays[T]; + if (S.length) { + var E = c.getComponentMethod(T, "drawOne"); + if (E !== o.noop) for (var L = 0; L < S.length; L++) E(t, S[L]); + else { + var z = c.getComponentMethod(T, "draw"); + if (z === o.noop) + throw new Error("cannot draw components: " + T); + z(t); + } + } + } + (A.push(f.previousPromises), + b.style && A.push(w.doTraceStyle), + b.colorbars && A.push(w.doColorBars), + M.legend && A.push(w.doLegend), + M.layoutstyle && A.push(w.layoutStyles), + M.axrange && + A.push( + w.doAutoRangeAndConstraints, + w.doTicksRelayout, + w.drawData, + w.finalDraw, + ), + M.ticks && A.push(w.doTicksRelayout), + M.modebar && A.push(w.doModeBar), + M.camera && A.push(w.doCamera)); + } + (A.push(f.rehover), + ((s = o.syncOrAsync(A, t)) && s.then) || (s = Promise.resolve(t))); + } else s = r.newPlot(t, e, n, i); + return s.then(function () { + return (t.emit("plotly_react", { data: e, layout: n }), t); + }); + }), + (r.animate = function (t, e, r) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + "This element is not a Plotly plot: " + + t + + ". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/", + ); + var n = t._transitionData; + n._frameQueue || (n._frameQueue = []); + var i = (r = f.supplyAnimationDefaults(r)).transition, + a = r.frame; + function s(t) { + return Array.isArray(i) ? (t >= i.length ? i[0] : i[t]) : i; + } + function l(t) { + return Array.isArray(a) ? (t >= a.length ? a[0] : a[t]) : a; + } + function c(t, e) { + var r = 0; + return function () { + if (t && ++r === e) return t(); + }; + } + return ( + void 0 === n._frameWaitingCnt && (n._frameWaitingCnt = 0), + new Promise(function (a, u) { + function h() { + n._currentFrame && + n._currentFrame.onComplete && + n._currentFrame.onComplete(); + var e = (n._currentFrame = n._frameQueue.shift()); + if (e) { + var r = e.name ? e.name.toString() : null; + ((t._fullLayout._currentFrame = r), + (n._lastFrameAt = Date.now()), + (n._timeToNext = e.frameOpts.duration), + f + .transition( + t, + e.frame.data, + e.frame.layout, + _.coerceTraceIndices(t, e.frame.traces), + e.frameOpts, + e.transitionOpts, + ) + .then(function () { + e.onComplete && e.onComplete(); + }), + t.emit("plotly_animatingframe", { + name: r, + frame: e.frame, + animation: { + frame: e.frameOpts, + transition: e.transitionOpts, + }, + })); + } else + (t.emit("plotly_animated"), + window.cancelAnimationFrame(n._animationRaf), + (n._animationRaf = null)); + } + function p() { + (t.emit("plotly_animating"), + (n._lastFrameAt = -1 / 0), + (n._timeToNext = 0), + (n._runningTransitions = 0), + (n._currentFrame = null)); + var e = function () { + ((n._animationRaf = window.requestAnimationFrame(e)), + Date.now() - n._lastFrameAt > n._timeToNext && h()); + }; + e(); + } + var d, + g, + m = 0; + function v(t) { + return ( + Array.isArray(i) + ? m >= i.length + ? (t.transitionOpts = i[m]) + : (t.transitionOpts = i[0]) + : (t.transitionOpts = i), + m++, + t + ); + } + var y = [], + x = void 0 === e || null === e, + b = Array.isArray(e); + if (!x && !b && o.isPlainObject(e)) + y.push({ type: "object", data: v(o.extendFlat({}, e)) }); + else if (x || -1 !== ["string", "number"].indexOf(typeof e)) + for (d = 0; d < n._frames.length; d++) + (g = n._frames[d]) && + (x || String(g.group) === String(e)) && + y.push({ + type: "byname", + name: String(g.name), + data: v({ name: g.name }), + }); + else if (b) + for (d = 0; d < e.length; d++) { + var w = e[d]; + -1 !== ["number", "string"].indexOf(typeof w) + ? ((w = String(w)), + y.push({ type: "byname", name: w, data: v({ name: w }) })) + : o.isPlainObject(w) && + y.push({ type: "object", data: v(o.extendFlat({}, w)) }); + } + for (d = 0; d < y.length; d++) + if ("byname" === (g = y[d]).type && !n._frameHash[g.data.name]) + return ( + o.warn( + 'animate failure: frame not found: "' + g.data.name + '"', + ), + void u() + ); + (-1 !== ["next", "immediate"].indexOf(r.mode) && + (function () { + if (0 !== n._frameQueue.length) { + for (; n._frameQueue.length; ) { + var e = n._frameQueue.pop(); + e.onInterrupt && e.onInterrupt(); + } + t.emit("plotly_animationinterrupted", []); + } + })(), + "reverse" === r.direction && y.reverse()); + var k = t._fullLayout._currentFrame; + if (k && r.fromcurrent) { + var M = -1; + for (d = 0; d < y.length; d++) + if ("byname" === (g = y[d]).type && g.name === k) { + M = d; + break; + } + if (M > 0 && M < y.length - 1) { + var A = []; + for (d = 0; d < y.length; d++) + ((g = y[d]), ("byname" !== y[d].type || d > M) && A.push(g)); + y = A; + } + } + y.length > 0 + ? (function (e) { + if (0 !== e.length) { + for (var i = 0; i < e.length; i++) { + var o; + o = + "byname" === e[i].type + ? f.computeFrame(t, e[i].name) + : e[i].data; + var h = l(i), + d = s(i); + d.duration = Math.min(d.duration, h.duration); + var g = { + frame: o, + name: e[i].name, + frameOpts: h, + transitionOpts: d, + }; + (i === e.length - 1 && + ((g.onComplete = c(a, 2)), (g.onInterrupt = u)), + n._frameQueue.push(g)); + } + ("immediate" === r.mode && (n._lastFrameAt = -1 / 0), + n._animationRaf || p()); + } + })(y) + : (t.emit("plotly_animated"), a()); + }) + ); + }), + (r.addFrames = function (t, e, r) { + if (((t = o.getGraphDiv(t)), null === e || void 0 === e)) + return Promise.resolve(); + if (!o.isPlotDiv(t)) + throw new Error( + "This element is not a Plotly plot: " + + t + + ". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/", + ); + var n, + i, + a, + s, + c = t._transitionData._frames, + u = t._transitionData._frameHash; + if (!Array.isArray(e)) + throw new Error( + "addFrames failure: frameList must be an Array of frame definitions" + + e, + ); + var h = c.length + 2 * e.length, + p = [], + d = {}; + for (n = e.length - 1; n >= 0; n--) + if (o.isPlainObject(e[n])) { + var g = e[n].name, + m = (u[g] || d[g] || {}).name, + v = e[n].name, + y = u[m] || d[m]; + (m && + v && + "number" == typeof v && + y && + A < 5 && + (A++, + o.warn( + 'addFrames: overwriting frame "' + + (u[m] || d[m]).name + + '" with a frame whose name of type "number" also equates to "' + + m + + '". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.', + ), + 5 === A && + o.warn( + "addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.", + )), + (d[g] = { name: g }), + p.push({ + frame: f.supplyFrameDefaults(e[n]), + index: r && void 0 !== r[n] && null !== r[n] ? r[n] : h + n, + })); + } + p.sort(function (t, e) { + return t.index > e.index ? -1 : t.index < e.index ? 1 : 0; + }); + var x = [], + b = [], + _ = c.length; + for (n = p.length - 1; n >= 0; n--) { + if ( + ("number" == typeof (i = p[n].frame).name && + o.warn( + "Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings", + ), + !i.name) + ) + for (; u[(i.name = "frame " + t._transitionData._counter++)]; ); + if (u[i.name]) { + for (a = 0; a < c.length && (c[a] || {}).name !== i.name; a++); + (x.push({ type: "replace", index: a, value: i }), + b.unshift({ type: "replace", index: a, value: c[a] })); + } else + ((s = Math.max(0, Math.min(p[n].index, _))), + x.push({ type: "insert", index: s, value: i }), + b.unshift({ type: "delete", index: s }), + _++); + } + var w = f.modifyFrames, + k = f.modifyFrames, + M = [t, b], + T = [t, x]; + return (l && l.add(t, w, M, k, T), f.modifyFrames(t, x)); + }), + (r.deleteFrames = function (t, e) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error("This element is not a Plotly plot: " + t); + var r, + n, + i = t._transitionData._frames, + a = [], + s = []; + if (!e) for (e = [], r = 0; r < i.length; r++) e.push(r); + for ((e = e.slice(0)).sort(), r = e.length - 1; r >= 0; r--) + ((n = e[r]), + a.push({ type: "delete", index: n }), + s.unshift({ type: "insert", index: n, value: i[n] })); + var c = f.modifyFrames, + u = f.modifyFrames, + h = [t, s], + p = [t, a]; + return (l && l.add(t, c, h, u, p), f.modifyFrames(t, a)); + }), + (r.purge = function (t) { + var e = (t = o.getGraphDiv(t))._fullLayout || {}, + r = t._fullData || [], + n = t.calcdata || []; + return ( + f.cleanPlot([], {}, r, e, n), + f.purge(t), + s.purge(t), + e._container && e._container.remove(), + delete t._context, + t + ); + })); + }, + { + "../components/color": 474, + "../components/drawing": 499, + "../constants/xmlns_namespaces": 581, + "../lib": 602, + "../lib/events": 590, + "../lib/queue": 617, + "../lib/svg_text_utils": 626, + "../plots/cartesian/axes": 648, + "../plots/cartesian/constants": 653, + "../plots/cartesian/graph_interact": 657, + "../plots/plots": 710, + "../plots/polar/legacy": 718, + "../registry": 732, + "./edit_types": 633, + "./helpers": 634, + "./manage_arrays": 636, + "./plot_config": 638, + "./plot_schema": 639, + "./subroutines": 640, + d3: 130, + "fast-isnumeric": 196, + "has-hover": 296, + }, + ], + 638: [ + function (t, e, r) { + "use strict"; + e.exports = { + staticPlot: !1, + editable: !1, + edits: { + annotationPosition: !1, + annotationTail: !1, + annotationText: !1, + axisTitleText: !1, + colorbarPosition: !1, + colorbarTitleText: !1, + legendPosition: !1, + legendText: !1, + shapePosition: !1, + titleText: !1, + }, + autosizable: !1, + queueLength: 0, + fillFrame: !1, + frameMargins: 0, + scrollZoom: !1, + doubleClick: "reset+autosize", + showTips: !0, + showAxisDragHandles: !0, + showAxisRangeEntryBoxes: !0, + showLink: !1, + sendData: !0, + linkText: "Edit chart", + showSources: !1, + displayModeBar: "hover", + modeBarButtonsToRemove: [], + modeBarButtonsToAdd: [], + modeBarButtons: !1, + displaylogo: !0, + plotGlPixelRatio: 2, + setBackground: "transparent", + topojsonURL: "https://cdn.plot.ly/", + mapboxAccessToken: null, + logging: 1, + globalTransforms: [], + locale: "en-US", + locales: {}, + }; + }, + {}, + ], + 639: [ + function (t, e, r) { + "use strict"; + var n = t("../registry"), + i = t("../lib"), + a = t("../plots/attributes"), + o = t("../plots/layout_attributes"), + s = t("../plots/frame_attributes"), + l = t("../plots/animation_attributes"), + c = t("../plots/polar/legacy/area_attributes"), + u = t("../plots/polar/legacy/axis_attributes"), + f = t("./edit_types"), + h = i.extendFlat, + p = i.extendDeepAll, + d = i.isPlainObject, + g = "_isSubplotObj", + m = "_isLinkedToArray", + v = [g, m, "_arrayAttrRegexps", "_deprecated"]; + function y(t, e, r) { + if (!t) return !1; + if (t._isLinkedToArray) + if (x(e[r])) r++; + else if (r < e.length) return !1; + for (; r < e.length; r++) { + var n = t[e[r]]; + if (!d(n)) break; + if (((t = n), r === e.length - 1)) break; + if (t._isLinkedToArray) { + if (!x(e[++r])) return !1; + } else if ("info_array" === t.valType) { + var i = e[++r]; + if (!x(i)) return !1; + var a = t.items; + if (Array.isArray(a)) { + if (i >= a.length) return !1; + if (2 === t.dimensions) { + if ((r++, e.length === r)) return t; + var o = e[r]; + if (!x(o)) return !1; + t = a[i][o]; + } else t = a[i]; + } else t = a; + } + } + return t; + } + function x(t) { + return t === Math.round(t) && t >= 0; + } + function b(t) { + return ( + (function (t) { + r.crawl(t, function (t, e, n) { + r.isValObject(t) + ? "data_array" === t.valType + ? ((t.role = "data"), + (n[e + "src"] = { valType: "string", editType: "none" })) + : !0 === t.arrayOk && + (n[e + "src"] = { valType: "string", editType: "none" }) + : d(t) && (t.role = "object"); + }); + })(t), + (function (t) { + r.crawl(t, function (t, e, r) { + if (!t) return; + var n = t[m]; + if (!n) return; + (delete t[m], + (r[e] = { items: {} }), + (r[e].items[n] = t), + (r[e].role = "object")); + }); + })(t), + (function (t) { + !(function t(e) { + for (var r in e) + if (d(e[r])) t(e[r]); + else if (Array.isArray(e[r])) + for (var n = 0; n < e[r].length; n++) t(e[r][n]); + else e[r] instanceof RegExp && (e[r] = e[r].toString()); + })(t); + })(t), + t + ); + } + function _(t, e, r) { + var n = i.nestedProperty(t, r), + a = p({}, e.layoutAttributes); + ((a[g] = !0), n.set(a)); + } + function w(t, e, r) { + var n = i.nestedProperty(t, r); + n.set(p(n.get() || {}, e)); + } + ((r.IS_SUBPLOT_OBJ = g), + (r.IS_LINKED_TO_ARRAY = m), + (r.DEPRECATED = "_deprecated"), + (r.UNDERSCORE_ATTRS = v), + (r.get = function () { + var t = {}; + n.allTypes.concat("area").forEach(function (e) { + t[e] = (function (t) { + var e, r; + "area" === t + ? ((e = { attributes: c }), (r = {})) + : ((e = n.modules[t]._module), (r = e.basePlotModule)); + var i = { type: null }; + (p(i, a), p(i, e.attributes), r.attributes && p(i, r.attributes)); + i.type = t; + var o = { meta: e.meta || {}, attributes: b(i) }; + if (e.layoutAttributes) { + var s = {}; + (p(s, e.layoutAttributes), (o.layoutAttributes = b(s))); + } + return o; + })(e); + }); + var e, + r = {}; + return ( + Object.keys(n.transformsRegistry).forEach(function (t) { + r[t] = (function (t) { + var e = n.transformsRegistry[t], + r = p({}, e.attributes); + return ( + Object.keys(n.componentsRegistry).forEach(function (e) { + var i = n.componentsRegistry[e]; + i.schema && + i.schema.transforms && + i.schema.transforms[t] && + Object.keys(i.schema.transforms[t]).forEach(function (e) { + w(r, i.schema.transforms[t][e], e); + }); + }), + { attributes: b(r) } + ); + })(t); + }), + { + defs: { + valObjects: i.valObjectMeta, + metaKeys: v.concat([ + "description", + "role", + "editType", + "impliedEdits", + ]), + editType: { traces: f.traces, layout: f.layout }, + impliedEdits: {}, + }, + traces: t, + layout: (function () { + var t, + e, + r = {}; + for (t in (p(r, o), n.subplotsRegistry)) + if ((e = n.subplotsRegistry[t]).layoutAttributes) + if (Array.isArray(e.attr)) + for (var i = 0; i < e.attr.length; i++) _(r, e, e.attr[i]); + else { + var a = "subplot" === e.attr ? e.name : e.attr; + _(r, e, a); + } + for (t in ((r = (function (t) { + return ( + h(t, { radialaxis: u.radialaxis, angularaxis: u.angularaxis }), + h(t, u.layout), + t + ); + })(r)), + n.componentsRegistry)) { + var s = (e = n.componentsRegistry[t]).schema; + if (s && (s.subplots || s.layout)) { + var l = s.subplots; + if (l && l.xaxis && !l.yaxis) + for (var c in l.xaxis) delete r.yaxis[c]; + } else e.layoutAttributes && w(r, e.layoutAttributes, e.name); + } + return { layoutAttributes: b(r) }; + })(), + transforms: r, + frames: ((e = { frames: i.extendDeepAll({}, s) }), b(e), e.frames), + animation: b(l), + } + ); + }), + (r.crawl = function (t, e, n, i) { + var a = n || 0; + ((i = i || ""), + Object.keys(t).forEach(function (n) { + var o = t[n]; + if (-1 === v.indexOf(n)) { + var s = (i ? i + "." : "") + n; + (e(o, n, t, a, s), + r.isValObject(o) || + (d(o) && "impliedEdits" !== n && r.crawl(o, e, a + 1, s))); + } + })); + }), + (r.isValObject = function (t) { + return t && void 0 !== t.valType; + }), + (r.findArrayAttributes = function (t) { + var e, + n, + o = [], + s = [], + l = []; + function c(t, r, a, c) { + ((s = s.slice(0, c).concat([r])), + (l = l.slice(0, c).concat([t && t._isLinkedToArray])), + t && + ("data_array" === t.valType || !0 === t.arrayOk) && + !( + "colorbar" === s[c - 1] && + ("ticktext" === r || "tickvals" === r) + ) && + (function t(e, r, a) { + var c = e[s[r]]; + var u = a + s[r]; + if (r === s.length - 1) i.isArrayOrTypedArray(c) && o.push(n + u); + else if (l[r]) { + if (Array.isArray(c)) + for (var f = 0; f < c.length; f++) + i.isPlainObject(c[f]) && t(c[f], r + 1, u + "[" + f + "]."); + } else i.isPlainObject(c) && t(c, r + 1, u + "."); + })(e, 0, "")); + } + ((e = t), + (n = ""), + r.crawl(a, c), + t._module && t._module.attributes && r.crawl(t._module.attributes, c)); + var u = t.transforms; + if (u) + for (var f = 0; f < u.length; f++) { + var h = u[f], + p = h._module; + p && + ((n = "transforms[" + f + "]."), (e = h), r.crawl(p.attributes, c)); + } + return o; + }), + (r.getTraceValObject = function (t, e) { + var r, + i, + o = e[0], + s = 1; + if ("transforms" === o) { + if (1 === e.length) return a.transforms; + var l = t.transforms; + if (!Array.isArray(l) || !l.length) return !1; + var u = e[1]; + if (!x(u) || u >= l.length) return !1; + ((i = + (r = (n.transformsRegistry[l[u].type] || {}).attributes) && r[e[2]]), + (s = 3)); + } else if ("area" === t.type) i = c[o]; + else { + var f = t._module; + if ((f || (f = (n.modules[t.type || a.type.dflt] || {})._module), !f)) + return !1; + if (!(i = (r = f.attributes) && r[o])) { + var h = f.basePlotModule; + h && h.attributes && (i = h.attributes[o]); + } + i || (i = a[o]); + } + return y(i, e, s); + }), + (r.getLayoutValObject = function (t, e) { + return y( + (function (t, e) { + var r, + i, + a, + s, + l = t._basePlotModules; + if (l) { + var c; + for (r = 0; r < l.length; r++) { + if ((a = l[r]).attrRegex && a.attrRegex.test(e)) { + if (a.layoutAttrOverrides) return a.layoutAttrOverrides; + !c && a.layoutAttributes && (c = a.layoutAttributes); + } + var f = a.baseLayoutAttrOverrides; + if (f && e in f) return f[e]; + } + if (c) return c; + } + var h = t._modules; + if (h) + for (r = 0; r < h.length; r++) + if ((s = h[r].layoutAttributes) && e in s) return s[e]; + for (i in n.componentsRegistry) + if (!(a = n.componentsRegistry[i]).schema && e === a.name) + return a.layoutAttributes; + if (e in o) return o[e]; + if ("radialaxis" === e || "angularaxis" === e) return u[e]; + return u.layout[e] || !1; + })(t, e[0]), + e, + 1, + ); + })); + }, + { + "../lib": 602, + "../plots/animation_attributes": 643, + "../plots/attributes": 645, + "../plots/frame_attributes": 675, + "../plots/layout_attributes": 701, + "../plots/polar/legacy/area_attributes": 716, + "../plots/polar/legacy/axis_attributes": 717, + "../registry": 732, + "./edit_types": 633, + }, + ], + 640: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../registry"), + a = t("../plots/plots"), + o = t("../lib"), + s = t("../lib/clear_gl_canvases"), + l = t("../components/color"), + c = t("../components/drawing"), + u = t("../components/titles"), + f = t("../components/modebar"), + h = t("../plots/cartesian/axes"), + p = t("../constants/alignment"), + d = t("../plots/cartesian/constraints"), + g = d.enforce, + m = d.clean, + v = t("../plots/cartesian/autorange").doAutoRange; + function y(t, e) { + return ( + (t.ticks || t.showline) && + (e === t._mainSubplot || "all" === t.mirror || "allticks" === t.mirror) + ); + } + function x(t, e, r) { + if (!r.showline || !r._lw) return !1; + if ("all" === r.mirror || "allticks" === r.mirror) return !0; + var n = r._anchorAxis; + if (!n) return !1; + var i = p.FROM_BL[e]; + return r.side === e + ? n.domain[i] === t.domain[i] + : r.mirror && n.domain[1 - i] === t.domain[1 - i]; + } + function b(t, e, r, n) { + if (x(t, e, r)) return r._lw; + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (a._mainAxis === r._mainAxis && x(t, e, a)) return a._lw; + } + return 0; + } + ((r.layoutStyles = function (t) { + return o.syncOrAsync([a.doAutoMargin, r.lsInner], t); + }), + (r.lsInner = function (t) { + var e, + i = t._fullLayout, + a = i._size, + s = a.p, + u = h.list(t), + d = i._has("cartesian"); + function g(t, e, r) { + var n = t._lw / 2; + return "x" === t._id.charAt(0) + ? e + ? "top" === r + ? e._offset - s - n + : e._offset + e._length + s + n + : a.t + a.h * (1 - (t.position || 0)) + (n % 1) + : e + ? "right" === r + ? e._offset + e._length + s + n + : e._offset - s - n + : a.l + a.w * (t.position || 0) + (n % 1); + } + for (e = 0; e < u.length; e++) { + var m = u[e]; + m.setScale(); + var v = m._anchorAxis; + ((m._linepositions = {}), + (m._lw = c.crispRound(t, m.linewidth, 1)), + (m._mainLinePosition = g(m, v, m.side)), + (m._mainMirrorPosition = + m.mirror && v ? g(m, v, p.OPPOSITE_SIDE[m.side]) : null)); + } + (i._paperdiv + .style({ width: i.width + "px", height: i.height + "px" }) + .selectAll(".main-svg") + .call(c.setSize, i.width, i.height), + t._context.setBackground(t, i.paper_bgcolor)); + var x = i._paper.selectAll("g.subplot"), + _ = [], + w = []; + x.each(function (t) { + var e = i._plots[t]; + if (e.mainplot) return (e.bg && e.bg.remove(), void (e.bg = void 0)); + var r = e.xaxis.domain, + n = e.yaxis.domain, + a = e.plotgroup; + if ( + (function (t, e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n][0], + a = r[n][1]; + if (!(i[0] >= t[1] || i[1] <= t[0]) && a[0] < e[1] && a[1] > e[0]) + return !0; + } + return !1; + })(r, n, w) + ) { + var s = a.node(), + l = (e.bg = o.ensureSingle(a, "rect", "bg")); + s.insertBefore(l.node(), s.childNodes[0]); + } else (a.select("rect.bg").remove(), _.push(t), w.push([r, n])); + }); + var k = i._bgLayer.selectAll(".bg").data(_); + return ( + k.enter().append("rect").classed("bg", !0), + k.exit().remove(), + k.each(function (t) { + i._plots[t].bg = n.select(this); + }), + x.each(function (t) { + var e = i._plots[t], + r = e.xaxis, + n = e.yaxis; + e.bg && + d && + e.bg + .call( + c.setRect, + r._offset - s, + n._offset - s, + r._length + 2 * s, + n._length + 2 * s, + ) + .call(l.fill, i.plot_bgcolor) + .style("stroke-width", 0); + var a, + f, + h = (e.clipId = "clip" + i._uid + t + "plot"), + p = o.ensureSingleById(i._clips, "clipPath", h, function (t) { + t.classed("plotclip", !0).append("rect"); + }); + if ( + ((e.clipRect = p + .select("rect") + .attr({ width: r._length, height: n._length })), + c.setTranslate(e.plot, r._offset, n._offset), + e._hasClipOnAxisFalse + ? ((a = null), (f = h)) + : ((a = h), (f = null)), + c.setClipUrl(e.plot, a), + (e.layerClipId = f), + d) + ) { + var m, + v, + x, + _, + w, + k, + M, + A, + T, + S, + C, + E, + L, + z = "M0,0"; + (y(r, t) && + ((w = b(r, "left", n, u)), + (m = r._offset - (w ? s + w : 0)), + (k = b(r, "right", n, u)), + (v = r._offset + r._length + (k ? s + k : 0)), + (x = g(r, n, "bottom")), + (_ = g(r, n, "top")), + (L = !r._anchorAxis || t !== r._mainSubplot) && + r.ticks && + "allticks" === r.mirror && + (r._linepositions[t] = [x, _]), + (z = I(r, D, function (t) { + return "M" + r._offset + "," + t + "h" + r._length; + })), + L && + r.showline && + ("all" === r.mirror || "allticks" === r.mirror) && + (z += D(x) + D(_)), + e.xlines + .style("stroke-width", r._lw + "px") + .call(l.stroke, r.showline ? r.linecolor : "rgba(0,0,0,0)")), + e.xlines.attr("d", z)); + var P = "M0,0"; + (y(n, t) && + ((C = b(n, "bottom", r, u)), + (M = n._offset + n._length + (C ? s : 0)), + (E = b(n, "top", r, u)), + (A = n._offset - (E ? s : 0)), + (T = g(n, r, "left")), + (S = g(n, r, "right")), + (L = !n._anchorAxis || t !== r._mainSubplot) && + n.ticks && + "allticks" === n.mirror && + (n._linepositions[t] = [T, S]), + (P = I(n, O, function (t) { + return "M" + t + "," + n._offset + "v" + n._length; + })), + L && + n.showline && + ("all" === n.mirror || "allticks" === n.mirror) && + (P += O(T) + O(S)), + e.ylines + .style("stroke-width", n._lw + "px") + .call(l.stroke, n.showline ? n.linecolor : "rgba(0,0,0,0)")), + e.ylines.attr("d", P)); + } + function D(t) { + return "M" + m + "," + t + "H" + v; + } + function O(t) { + return "M" + t + "," + A + "V" + M; + } + function I(e, r, n) { + if (!e.showline || t !== e._mainSubplot) return ""; + if (!e._anchorAxis) return n(e._mainLinePosition); + var i = r(e._mainLinePosition); + return (e.mirror && (i += r(e._mainMirrorPosition)), i); + } + }), + h.makeClipPaths(t), + r.drawMainTitle(t), + f.manage(t), + t._promises.length && Promise.all(t._promises) + ); + }), + (r.drawMainTitle = function (t) { + var e = t._fullLayout; + u.draw(t, "gtitle", { + propContainer: e, + propName: "title", + placeholder: e._dfltTitle.plot, + attributes: { + x: e.width / 2, + y: e._size.t / 2, + "text-anchor": "middle", + }, + }); + }), + (r.doTraceStyle = function (t) { + for (var e = 0; e < t.calcdata.length; e++) { + var r = t.calcdata[e], + n = (((r[0] || {}).trace || {})._module || {}).arraysToCalcdata; + n && n(r, r[0].trace); + } + return ( + a.style(t), + i.getComponentMethod("legend", "draw")(t), + a.previousPromises(t) + ); + }), + (r.doColorBars = function (t) { + for (var e = 0; e < t.calcdata.length; e++) { + var r = t.calcdata[e][0]; + if ((r.t || {}).cb) { + var n = r.trace, + o = r.t.cb; + (i.traceIs(n, "contour") && + o.line({ + width: !1 !== n.contours.showlines ? n.line.width : 0, + dash: n.line.dash, + color: + "line" === n.contours.coloring + ? o._opts.line.color + : n.line.color, + }), + i.traceIs(n, "markerColorscale") + ? o.options(n.marker.colorbar)() + : o.options(n.colorbar)()); + } + } + return a.previousPromises(t); + }), + (r.layoutReplot = function (t) { + var e = t.layout; + return ((t.layout = void 0), i.call("plot", t, "", e)); + }), + (r.doLegend = function (t) { + return (i.getComponentMethod("legend", "draw")(t), a.previousPromises(t)); + }), + (r.doTicksRelayout = function (t) { + return ( + h.doTicks(t, "redraw"), + t._fullLayout._hasOnlyLargeSploms && + (s(t), i.subplotsRegistry.splom.plot(t)), + r.drawMainTitle(t), + a.previousPromises(t) + ); + }), + (r.doModeBar = function (t) { + var e = t._fullLayout; + f.manage(t); + for (var r = 0; r < e._basePlotModules.length; r++) { + var n = e._basePlotModules[r].updateFx; + n && n(e); + } + return a.previousPromises(t); + }), + (r.doCamera = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = 0; + n < r.length; + n++ + ) { + var i = e[r[n]]; + i._scene.setCamera(i.camera); + } + }), + (r.drawData = function (t) { + var e, + r = t._fullLayout, + n = t.calcdata; + for (e = 0; e < n.length; e++) { + var o = n[e][0].trace; + (!0 === o.visible && o._module.colorbar) || + r._infolayer.select(".cb" + o.uid).remove(); + } + s(t); + var l = r._basePlotModules; + for (e = 0; e < l.length; e++) l[e].plot(t); + return ( + a.style(t), + i.getComponentMethod("shapes", "draw")(t), + i.getComponentMethod("annotations", "draw")(t), + (r._replotting = !1), + a.previousPromises(t) + ); + }), + (r.doAutoRangeAndConstraints = function (t) { + for (var e = h.list(t, "", !0), r = 0; r < e.length; r++) { + var n = e[r]; + (m(t, n), v(n)); + } + g(t); + }), + (r.finalDraw = function (t) { + (i.getComponentMethod("shapes", "draw")(t), + i.getComponentMethod("images", "draw")(t), + i.getComponentMethod("annotations", "draw")(t), + i.getComponentMethod("legend", "draw")(t), + i.getComponentMethod("rangeslider", "draw")(t), + i.getComponentMethod("rangeselector", "draw")(t), + i.getComponentMethod("sliders", "draw")(t), + i.getComponentMethod("updatemenus", "draw")(t)); + })); + }, + { + "../components/color": 474, + "../components/drawing": 499, + "../components/modebar": 537, + "../components/titles": 567, + "../constants/alignment": 574, + "../lib": 602, + "../lib/clear_gl_canvases": 586, + "../plots/cartesian/autorange": 647, + "../plots/cartesian/axes": 648, + "../plots/cartesian/constraints": 655, + "../plots/plots": 710, + "../registry": 732, + d3: 130, + }, + ], + 641: [ + function (t, e, r) { + "use strict"; + var n = t("./plot_api"), + i = t("../lib"), + a = t("../snapshot/helpers"), + o = t("../snapshot/tosvg"), + s = t("../snapshot/svgtoimg"), + l = { + format: { + valType: "enumerated", + values: ["png", "jpeg", "webp", "svg"], + dflt: "png", + }, + width: { valType: "number", min: 1 }, + height: { valType: "number", min: 1 }, + scale: { valType: "number", min: 0, dflt: 1 }, + setBackground: { valType: "any", dflt: !1 }, + imageDataOnly: { valType: "boolean", dflt: !1 }, + }, + c = /^data:image\/\w+;base64,/; + e.exports = function (t, e) { + var r, u, f; + function h(t) { + return !(t in e) || i.validate(e[t], l[t]); + } + if ( + ((e = e || {}), + i.isPlainObject(t) + ? ((r = t.data || []), (u = t.layout || {}), (f = t.config || {})) + : ((t = i.getGraphDiv(t)), + (r = i.extendDeep([], t.data)), + (u = i.extendDeep({}, t.layout)), + (f = t._context)), + !h("width") || !h("height")) + ) + throw new Error("Height and width should be pixel values."); + if (!h("format")) + throw new Error("Image format is not jpeg, png, svg or webp."); + var p = {}; + function d(t, r) { + return i.coerce(e, p, l, t, r); + } + var g = d("format"), + m = d("width"), + v = d("height"), + y = d("scale"), + x = d("setBackground"), + b = d("imageDataOnly"), + _ = document.createElement("div"); + ((_.style.position = "absolute"), + (_.style.left = "-5000px"), + document.body.appendChild(_)); + var w = i.extendFlat({}, u); + (m && (w.width = m), v && (w.height = v)); + var k = i.extendFlat({}, f, { staticPlot: !0, setBackground: x }), + M = a.getRedrawFunc(_); + function A() { + return new Promise(function (t) { + setTimeout(t, a.getDelay(_._fullLayout)); + }); + } + function T() { + return new Promise(function (t, e) { + var r = o(_, g, y), + a = _._fullLayout.width, + l = _._fullLayout.height; + if ((n.purge(_), document.body.removeChild(_), "svg" === g)) + return t(b ? r : "data:image/svg+xml," + encodeURIComponent(r)); + var c = document.createElement("canvas"); + ((c.id = i.randstr()), + s({ + format: g, + width: a, + height: l, + scale: y, + canvas: c, + svg: r, + promise: !0, + }) + .then(t) + .catch(e)); + }); + } + return new Promise(function (t, e) { + n.plot(_, r, w, k) + .then(M) + .then(A) + .then(T) + .then(function (e) { + t( + (function (t) { + return b ? t.replace(c, "") : t; + })(e), + ); + }) + .catch(function (t) { + e(t); + }); + }); + }; + }, + { + "../lib": 602, + "../snapshot/helpers": 736, + "../snapshot/svgtoimg": 738, + "../snapshot/tosvg": 740, + "./plot_api": 637, + }, + ], + 642: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("../plots/plots"), + a = t("./plot_schema"), + o = t("./plot_config"), + s = n.isPlainObject, + l = Array.isArray, + c = n.isArrayOrTypedArray; + function u(t, e, r, i, a, o) { + o = o || []; + for (var f = Object.keys(t), h = 0; h < f.length; h++) { + var m = f[h]; + if ("transforms" !== m) { + var v = o.slice(); + v.push(m); + var y = t[m], + x = e[m], + b = g(r, m), + _ = "info_array" === (b || {}).valType, + w = "colorscale" === (b || {}).valType, + k = (b || {}).items; + if (d(r, m)) + if (s(y) && s(x)) u(y, x, b, i, a, v); + else if (_ && l(y)) { + y.length > x.length && i.push(p("unused", a, v.concat(x.length))); + var M, + A, + T, + S, + C, + E = x.length, + L = Array.isArray(k); + if ((L && (E = Math.min(E, k.length)), 2 === b.dimensions)) + for (A = 0; A < E; A++) + if (l(y[A])) { + y[A].length > x[A].length && + i.push(p("unused", a, v.concat(A, x[A].length))); + var z = x[A].length; + for (M = 0; M < (L ? Math.min(z, k[A].length) : z); M++) + ((T = L ? k[A][M] : k), + (S = y[A][M]), + (C = x[A][M]), + n.validate(S, T) + ? C !== S && + C !== +S && + i.push(p("dynamic", a, v.concat(A, M), S, C)) + : i.push(p("value", a, v.concat(A, M), S))); + } else i.push(p("array", a, v.concat(A), y[A])); + else + for (A = 0; A < E; A++) + ((T = L ? k[A] : k), + (S = y[A]), + (C = x[A]), + n.validate(S, T) + ? C !== S && + C !== +S && + i.push(p("dynamic", a, v.concat(A), S, C)) + : i.push(p("value", a, v.concat(A), S))); + } else if (b.items && !_ && l(y)) { + var P, + D, + O = k[Object.keys(k)[0]], + I = []; + for (P = 0; P < x.length; P++) { + var R = x[P]._index || P; + ((D = v.slice()).push(R), + s(y[R]) && s(x[P]) && (I.push(R), u(y[R], x[P], O, i, a, D))); + } + for (P = 0; P < y.length; P++) + ((D = v.slice()).push(P), + s(y[P]) + ? -1 === I.indexOf(P) && i.push(p("unused", a, D)) + : i.push(p("object", a, D, y[P]))); + } else + !s(y) && s(x) + ? i.push(p("object", a, v, y)) + : c(y) || !c(x) || _ || w + ? m in e + ? n.validate(y, b) + ? "enumerated" === b.valType && + ((b.coerceNumber && y !== +x) || y !== x) && + i.push(p("dynamic", a, v, y, x)) + : i.push(p("value", a, v, y)) + : i.push(p("unused", a, v, y)) + : i.push(p("array", a, v, y)); + else i.push(p("schema", a, v)); + } + } + return i; + } + e.exports = function (t, e) { + var r, + c, + f = a.get(), + h = [], + d = { _context: n.extendFlat({}, o) }; + (l(t) + ? ((d.data = n.extendDeep([], t)), (r = t)) + : ((d.data = []), (r = []), h.push(p("array", "data"))), + s(e) + ? ((d.layout = n.extendDeep({}, e)), (c = e)) + : ((d.layout = {}), + (c = {}), + arguments.length > 1 && h.push(p("object", "layout"))), + i.supplyDefaults(d)); + for (var g = d._fullData, m = r.length, v = 0; v < m; v++) { + var y = r[v], + x = ["data", v]; + if (s(y)) { + var b = g[v], + _ = b.type, + w = f.traces[_].attributes; + ((w.type = { valType: "enumerated", values: [_] }), + !1 === b.visible && !1 !== y.visible && h.push(p("invisible", x)), + u(y, b, w, h, x)); + var k = y.transforms, + M = b.transforms; + if (k) { + (l(k) || h.push(p("array", x, ["transforms"])), x.push("transforms")); + for (var A = 0; A < k.length; A++) { + var T = ["transforms", A], + S = k[A].type; + if (s(k[A])) { + var C = f.transforms[S] ? f.transforms[S].attributes : {}; + ((C.type = { + valType: "enumerated", + values: Object.keys(f.transforms), + }), + u(k[A], M[A], C, h, x, T)); + } else h.push(p("object", x, T)); + } + } + } else h.push(p("object", x)); + } + return ( + u( + c, + d._fullLayout, + (function (t, e) { + for (var r = 0; r < e.length; r++) { + var i = e[r].type, + a = t.traces[i].layoutAttributes; + a && n.extendFlat(t.layout.layoutAttributes, a); + } + return t.layout.layoutAttributes; + })(f, g), + h, + "layout", + ), + 0 === h.length ? void 0 : h + ); + }; + var f = { + object: function (t, e) { + return ( + ("layout" === t && "" === e + ? "The layout argument" + : "data" === t[0] && "" === e + ? "Trace " + t[1] + " in the data argument" + : h(t) + "key " + e) + " must be linked to an object container" + ); + }, + array: function (t, e) { + return ( + ("data" === t ? "The data argument" : h(t) + "key " + e) + + " must be linked to an array container" + ); + }, + schema: function (t, e) { + return h(t) + "key " + e + " is not part of the schema"; + }, + unused: function (t, e, r) { + var n = s(r) ? "container" : "key"; + return h(t) + n + " " + e + " did not get coerced"; + }, + dynamic: function (t, e, r, n) { + return [ + h(t) + "key", + e, + "(set to '" + r + "')", + "got reset to", + "'" + n + "'", + "during defaults.", + ].join(" "); + }, + invisible: function (t) { + return "Trace " + t[1] + " got defaulted to be not visible"; + }, + value: function (t, e, r) { + return [h(t) + "key " + e, "is set to an invalid value (" + r + ")"].join( + " ", + ); + }, + }; + function h(t) { + return l(t) ? "In data trace " + t[1] + ", " : "In " + t + ", "; + } + function p(t, e, r, i, a) { + var o, s; + ((r = r || ""), l(e) ? ((o = e[0]), (s = e[1])) : ((o = e), (s = null))); + var c = (function (t) { + if (!l(t)) return String(t); + for (var e = "", r = 0; r < t.length; r++) { + var n = t[r]; + ("number" == typeof n + ? (e = e.substr(0, e.length - 1) + "[" + n + "]") + : (e += n), + r < t.length - 1 && (e += ".")); + } + return e; + })(r), + u = f[t](e, c, i, a); + return ( + n.log(u), + { code: t, container: o, trace: s, path: r, astr: c, msg: u } + ); + } + function d(t, e) { + var r = v(e), + n = r.keyMinusId, + i = r.id; + return !!(n in t && t[n]._isSubplotObj && i) || e in t; + } + function g(t, e) { + return t[v(e).keyMinusId]; + } + var m = n.counterRegex("([a-z]+)"); + function v(t) { + var e = t.match(m); + return { keyMinusId: e && e[1], id: e && e[2] }; + } + }, + { + "../lib": 602, + "../plots/plots": 710, + "./plot_config": 638, + "./plot_schema": 639, + }, + ], + 643: [ + function (t, e, r) { + "use strict"; + e.exports = { + mode: { + valType: "enumerated", + dflt: "afterall", + values: ["immediate", "next", "afterall"], + }, + direction: { + valType: "enumerated", + values: ["forward", "reverse"], + dflt: "forward", + }, + fromcurrent: { valType: "boolean", dflt: !1 }, + frame: { + duration: { valType: "number", min: 0, dflt: 500 }, + redraw: { valType: "boolean", dflt: !0 }, + }, + transition: { + duration: { valType: "number", min: 0, dflt: 500 }, + easing: { + valType: "enumerated", + dflt: "cubic-in-out", + values: [ + "linear", + "quad", + "cubic", + "sin", + "exp", + "circle", + "elastic", + "back", + "bounce", + "linear-in", + "quad-in", + "cubic-in", + "sin-in", + "exp-in", + "circle-in", + "elastic-in", + "back-in", + "bounce-in", + "linear-out", + "quad-out", + "cubic-out", + "sin-out", + "exp-out", + "circle-out", + "elastic-out", + "back-out", + "bounce-out", + "linear-in-out", + "quad-in-out", + "cubic-in-out", + "sin-in-out", + "exp-in-out", + "circle-in-out", + "elastic-in-out", + "back-in-out", + "bounce-in-out", + ], + }, + }, + }; + }, + {}, + ], + 644: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"); + e.exports = function (t, e, r) { + var i, + a = r.name, + o = e[a], + s = n.isArrayOrTypedArray(t[a]) ? t[a] : [], + l = (e[a] = []); + for (i = 0; i < s.length; i++) { + var c = s[i], + u = {}, + f = {}; + (n.isPlainObject(c) || ((f.itemIsNotPlainObject = !0), (c = {})), + r.handleItemDefaults(c, u, e, r, f), + (u._input = c), + (u._index = i), + l.push(u)); + } + if (n.isArrayOrTypedArray(o)) { + var h = Math.min(o.length, l.length); + for (i = 0; i < h; i++) n.relinkPrivateKeys(l[i], o[i]); + } + }; + }, + { "../lib": 602 }, + ], + 645: [ + function (t, e, r) { + "use strict"; + var n = t("../components/fx/attributes"); + e.exports = { + type: { + valType: "enumerated", + values: [], + dflt: "scatter", + editType: "calc+clearAxisTypes", + }, + visible: { + valType: "enumerated", + values: [!0, !1, "legendonly"], + dflt: !0, + editType: "calc", + }, + showlegend: { valType: "boolean", dflt: !0, editType: "style" }, + legendgroup: { valType: "string", dflt: "", editType: "style" }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1, editType: "style" }, + name: { valType: "string", editType: "style" }, + uid: { valType: "string", dflt: "", editType: "calc" }, + ids: { valType: "data_array", editType: "calc" }, + customdata: { valType: "data_array", editType: "calc" }, + selectedpoints: { valType: "any", editType: "calc" }, + hoverinfo: { + valType: "flaglist", + flags: ["x", "y", "z", "text", "name"], + extras: ["all", "none", "skip"], + arrayOk: !0, + dflt: "all", + editType: "none", + }, + hoverlabel: n.hoverlabel, + stream: { + token: { valType: "string", noBlank: !0, strict: !0, editType: "calc" }, + maxpoints: { + valType: "number", + min: 0, + max: 1e4, + dflt: 500, + editType: "calc", + }, + editType: "calc", + }, + transforms: { _isLinkedToArray: "transform", editType: "calc" }, + }; + }, + { "../components/fx/attributes": 508 }, + ], + 646: [ + function (t, e, r) { + "use strict"; + e.exports = { + xaxis: { valType: "subplotid", dflt: "x", editType: "calc+clearAxisTypes" }, + yaxis: { valType: "subplotid", dflt: "y", editType: "calc+clearAxisTypes" }, + }; + }, + {}, + ], + 647: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../constants/numerical").FP_SAFE; + function o(t) { + var e, + r, + n, + a, + o, + l, + c, + u, + f = [], + h = t._min[0].val, + p = t._max[0].val, + d = 0, + g = !1, + m = s(t); + for (e = 1; e < t._min.length && h === p; e++) + h = Math.min(h, t._min[e].val); + for (e = 1; e < t._max.length && h === p; e++) + p = Math.max(p, t._max[e].val); + if (t.range) { + var v = i.simpleMap(t.range, t.r2l); + g = v[1] < v[0]; + } + for ( + "reversed" === t.autorange && ((g = !0), (t.autorange = !0)), e = 0; + e < t._min.length; + e++ + ) + for (n = t._min[e], r = 0; r < t._max.length; r++) + ((u = (a = t._max[r]).val - n.val), + (c = t._length - m(n) - m(a)), + u > 0 && c > 0 && u / c > d && ((o = n), (l = a), (d = u / c))); + if (h === p) { + var y = h - 1, + x = h + 1; + f = + "tozero" === t.rangemode + ? h < 0 + ? [y, 0] + : [0, x] + : "nonnegative" === t.rangemode + ? [Math.max(0, y), Math.max(0, x)] + : [y, x]; + } else + d && + (("linear" !== t.type && "-" !== t.type) || + ("tozero" === t.rangemode + ? (o.val >= 0 && (o = { val: 0, pad: 0 }), + l.val <= 0 && (l = { val: 0, pad: 0 })) + : "nonnegative" === t.rangemode && + (o.val - d * m(o) < 0 && (o = { val: 0, pad: 0 }), + l.val < 0 && (l = { val: 1, pad: 0 })), + (d = (l.val - o.val) / (t._length - m(o) - m(l)))), + (f = [o.val - d * m(o), l.val + d * m(l)])); + return ( + f[0] === f[1] && + ("tozero" === t.rangemode + ? (f = f[0] < 0 ? [f[0], 0] : f[0] > 0 ? [0, f[0]] : [0, 1]) + : ((f = [f[0] - 1, f[0] + 1]), + "nonnegative" === t.rangemode && (f[0] = Math.max(0, f[0])))), + g && f.reverse(), + i.simpleMap(f, t.l2r || Number) + ); + } + function s(t) { + var e = t._length / 20; + return ( + "domain" === t.constrain && + t._inputDomain && + (e *= + (t._inputDomain[1] - t._inputDomain[0]) / + (t.domain[1] - t.domain[0])), + function (t) { + return t.pad + (t.extrapad ? e : 0); + } + ); + } + function l(t) { + return n(t) && Math.abs(t) < a; + } + function c(t, e) { + return t <= e; + } + function u(t, e) { + return t >= e; + } + e.exports = { + getAutoRange: o, + makePadFn: s, + doAutoRange: function (t) { + t._length || t.setScale(); + var e, + r = t._min && t._max && t._min.length && t._max.length; + t.autorange && + r && + ((t.range = o(t)), + (t._r = t.range.slice()), + (t._rl = i.simpleMap(t._r, t.r2l)), + ((e = t._input).range = t.range.slice()), + (e.autorange = t.autorange)); + if (t._anchorAxis && t._anchorAxis.rangeslider) { + var n = t._anchorAxis.rangeslider[t._name]; + (n && + "auto" === n.rangemode && + (n.range = r + ? o(t) + : t._rangeInitial + ? t._rangeInitial.slice() + : t.range.slice()), + ((e = t._anchorAxis._input).rangeslider[t._name] = i.extendFlat( + {}, + n, + ))); + } + }, + expand: function (t, e, r) { + if ( + !(function (t) { + return t.autorange || t._rangesliderAutorange; + })(t) || + !e + ) + return; + t._min || (t._min = []); + t._max || (t._max = []); + r || (r = {}); + t._m || t.setScale(); + var i, + o, + s, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b = e.length, + _ = r.padded || !1, + w = r.tozero && ("linear" === t.type || "-" === t.type), + k = "log" === t.type, + M = !1; + function A(t) { + if (Array.isArray(t)) + return ( + (M = !0), + function (e) { + return Math.max(Number(t[e] || 0), 0); + } + ); + var e = Math.max(Number(t || 0), 0); + return function () { + return e; + }; + } + var T = A((t._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0), + S = A((t._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0), + C = A(r.vpadplus || r.vpad), + E = A(r.vpadminus || r.vpad); + if (!M) { + if (((y = 1 / 0), (x = -1 / 0), k)) + for (i = 0; i < b; i++) + ((f = e[i]) < y && f > 0 && (y = f), f > x && f < a && (x = f)); + else + for (i = 0; i < b; i++) + ((f = e[i]) < y && f > -a && (y = f), f > x && f < a && (x = f)); + ((e = [y, x]), (b = 2)); + } + function L(r) { + if (((h = e[r]), n(h))) + for ( + g = T(r), + m = S(r), + y = h - E(r), + x = h + C(r), + k && y < x / 10 && (y = x / 10), + p = t.c2l(y), + d = t.c2l(x), + w && ((p = Math.min(0, p)), (d = Math.max(0, d))), + s = 0; + s < 2; + s++ + ) { + var i = s ? d : p; + if (l(i)) { + var a = s ? t._max : t._min, + b = s ? g : m, + M = s ? u : c; + for (v = !0, o = 0; o < a.length && v; o++) { + if ( + ((f = a[o]), M(f.val, i) && f.pad >= b && (f.extrapad || !_)) + ) { + v = !1; + break; + } + M(i, f.val) && + f.pad <= b && + (_ || !f.extrapad) && + (a.splice(o, 1), o--); + } + if (v) { + var A = w && 0 === i; + a.push({ val: i, pad: A ? 0 : b, extrapad: !A && _ }); + } + } + } + } + var z = Math.min(6, b); + for (i = 0; i < z; i++) L(i); + for (i = b - 1; i >= z; i--) L(i); + }, + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, + ], + 648: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../../plots/plots"), + o = t("../../registry"), + s = t("../../lib"), + l = t("../../lib/svg_text_utils"), + c = t("../../components/titles"), + u = t("../../components/color"), + f = t("../../components/drawing"), + h = t("../../constants/numerical"), + p = h.ONEAVGYEAR, + d = h.ONEAVGMONTH, + g = h.ONEDAY, + m = h.ONEHOUR, + v = h.ONEMIN, + y = h.ONESEC, + x = h.MINUS_SIGN, + b = h.BADNUM, + _ = t("../../constants/alignment").MID_SHIFT, + w = t("../../constants/alignment").LINE_SPACING, + k = (e.exports = {}); + k.setConvert = t("./set_convert"); + var M = t("./axis_autotype"), + A = t("./axis_ids"); + ((k.id2name = A.id2name), + (k.name2id = A.name2id), + (k.cleanId = A.cleanId), + (k.list = A.list), + (k.listIds = A.listIds), + (k.getFromId = A.getFromId), + (k.getFromTrace = A.getFromTrace)); + var T = t("./autorange"); + ((k.expand = T.expand), + (k.getAutoRange = T.getAutoRange), + (k.coerceRef = function (t, e, r, n, i, a) { + var o = n.charAt(n.length - 1), + l = r._fullLayout._subplots[o + "axis"], + c = n + "ref", + u = {}; + return ( + i || (i = l[0] || a), + a || (a = i), + (u[c] = { + valType: "enumerated", + values: l.concat(a ? [a] : []), + dflt: i, + }), + s.coerce(t, e, u, c) + ); + }), + (k.coercePosition = function (t, e, r, n, i, a) { + var o, l; + if ("paper" === n || "pixel" === n) ((o = s.ensureNumber), (l = r(i, a))); + else { + var c = k.getFromId(e, n); + ((l = r(i, (a = c.fraction2r(a)))), (o = c.cleanPos)); + } + t[i] = o(l); + }), + (k.cleanPosition = function (t, e, r) { + return ( + "paper" === r || "pixel" === r + ? s.ensureNumber + : k.getFromId(e, r).cleanPos + )(t); + })); + var S = (k.getDataConversions = function (t, e, r, n) { + var i, + a = "x" === r || "y" === r || "z" === r ? r : n; + if (Array.isArray(a)) { + if ( + ((i = { type: M(n), _categories: [] }), + k.setConvert(i), + "category" === i.type) + ) + for (var o = 0; o < n.length; o++) i.d2c(n[o]); + } else i = k.getFromTrace(t, e, a); + return i + ? { d2c: i.d2c, c2d: i.c2d } + : "ids" === a + ? { d2c: E, c2d: E } + : { d2c: C, c2d: C }; + }); + function C(t) { + return +t; + } + function E(t) { + return String(t); + } + ((k.getDataToCoordFunc = function (t, e, r, n) { + return S(t, e, r, n).d2c; + }), + (k.counterLetter = function (t) { + var e = t.charAt(0); + return "x" === e ? "y" : "y" === e ? "x" : void 0; + }), + (k.minDtick = function (t, e, r, n) { + -1 === ["log", "category"].indexOf(t.type) && n + ? void 0 === t._minDtick + ? ((t._minDtick = e), (t._forceTick0 = r)) + : t._minDtick && + ((t._minDtick / e + 1e-6) % 1 < 2e-6 && + ((((r - t._forceTick0) / e) % 1) + 1.000001) % 1 < 2e-6 + ? ((t._minDtick = e), (t._forceTick0 = r)) + : ((e / t._minDtick + 1e-6) % 1 > 2e-6 || + ((((r - t._forceTick0) / t._minDtick) % 1) + 1.000001) % 1 > + 2e-6) && + (t._minDtick = 0)) + : (t._minDtick = 0); + }), + (k.saveRangeInitial = function (t, e) { + for (var r = k.list(t, "", !0), n = !1, i = 0; i < r.length; i++) { + var a = r[i], + o = void 0 === a._rangeInitial, + s = + o || + !( + a.range[0] === a._rangeInitial[0] && + a.range[1] === a._rangeInitial[1] + ); + ((o && !1 === a.autorange) || (e && s)) && + ((a._rangeInitial = a.range.slice()), (n = !0)); + } + return n; + }), + (k.saveShowSpikeInitial = function (t, e) { + for ( + var r = k.list(t, "", !0), n = !1, i = "on", a = 0; + a < r.length; + a++ + ) { + var o = r[a], + s = void 0 === o._showSpikeInitial, + l = s || !(o.showspikes === o._showspikes); + ((s || (e && l)) && ((o._showSpikeInitial = o.showspikes), (n = !0)), + "on" !== i || o.showspikes || (i = "off")); + } + return ((t._fullLayout._cartesianSpikesEnabled = i), n); + }), + (k.autoBin = function (t, e, r, n, a) { + var o, + l, + c = s.aggNums(Math.min, null, t), + u = s.aggNums(Math.max, null, t); + if ((a || (a = e.calendar), "category" === e.type)) + return { start: c - 0.5, end: u + 0.5, size: 1, _dataSpan: u - c }; + if (r) o = (u - c) / r; + else { + var f = s.distinctVals(t), + h = Math.pow(10, Math.floor(Math.log(f.minDiff) / Math.LN10)), + p = h * s.roundUp(f.minDiff / h, [0.9, 1.9, 4.9, 9.9], !0); + ((o = Math.max( + p, + (2 * s.stdev(t)) / Math.pow(t.length, n ? 0.25 : 0.4), + )), + i(o) || (o = 1)); + } + ((l = + "log" === e.type + ? { type: "linear", range: [c, u] } + : { + type: e.type, + range: s.simpleMap([c, u], e.c2r, 0, a), + calendar: a, + }), + k.setConvert(l), + k.autoTicks(l, o)); + var d, + m = k.tickIncrement(k.tickFirst(l), l.dtick, "reverse", a); + if ("number" == typeof l.dtick) + d = + (m = (function (t, e, r, n, a) { + var o = 0, + s = 0, + l = 0, + c = 0; + function u(e) { + return (1 + (100 * (e - t)) / r.dtick) % 100 < 2; + } + for (var f = 0; f < e.length; f++) + (e[f] % 1 == 0 ? l++ : i(e[f]) || c++, + u(e[f]) && o++, + u(e[f] + r.dtick / 2) && s++); + var h = e.length - c; + if (l === h && "date" !== r.type) + r.dtick < 1 + ? (t = n - 0.5 * r.dtick) + : (t -= 0.5) + r.dtick < n && (t += r.dtick); + else if (s < 0.1 * h && (o > 0.3 * h || u(n) || u(a))) { + var p = r.dtick / 2; + t += t + p < n ? p : -p; + } + return t; + })(m, t, l, c, u)) + + (1 + Math.floor((u - m) / l.dtick)) * l.dtick; + else + for ( + "M" === l.dtick.charAt(0) && + (m = (function (t, e, r, n, i) { + var a = s.findExactDates(e, i); + if (a.exactDays > 0.8) { + var o = Number(r.substr(1)); + a.exactYears > 0.8 && o % 12 == 0 + ? (t = k.tickIncrement(t, "M6", "reverse") + 1.5 * g) + : a.exactMonths > 0.8 + ? (t = k.tickIncrement(t, "M1", "reverse") + 15.5 * g) + : (t -= g / 2); + var l = k.tickIncrement(t, r); + if (l <= n) return l; + } + return t; + })(m, t, l.dtick, c, a)), + d = m, + 0; + d <= u; + + ) + ((d = k.tickIncrement(d, l.dtick, !1, a)), 0); + return { + start: e.c2r(m, 0, a), + end: e.c2r(d, 0, a), + size: l.dtick, + _dataSpan: u - c, + }; + }), + (k.prepTicks = function (t) { + var e = s.simpleMap(t.range, t.r2l); + if ("auto" === t.tickmode || !t.dtick) { + var r, + n = t.nticks; + (n || + ("category" === t.type + ? ((r = t.tickfont ? 1.2 * (t.tickfont.size || 12) : 15), + (n = t._length / r)) + : ((r = "y" === t._id.charAt(0) ? 40 : 80), + (n = s.constrain(t._length / r, 4, 9) + 1)), + "radialaxis" === t._name && (n *= 2)), + "array" === t.tickmode && (n *= 100), + k.autoTicks(t, Math.abs(e[1] - e[0]) / n), + t._minDtick > 0 && + t.dtick < 2 * t._minDtick && + ((t.dtick = t._minDtick), (t.tick0 = t.l2r(t._forceTick0)))); + } + (t.tick0 || (t.tick0 = "date" === t.type ? "2000-01-01" : 0), F(t)); + }), + (k.calcTicks = function (t) { + k.prepTicks(t); + var e = s.simpleMap(t.range, t.r2l); + if ("array" === t.tickmode) + return (function (t) { + var e, + r, + n = t.tickvals, + i = t.ticktext, + a = new Array(n.length), + o = s.simpleMap(t.range, t.r2l), + l = 1.0001 * o[0] - 1e-4 * o[1], + c = 1.0001 * o[1] - 1e-4 * o[0], + u = Math.min(l, c), + f = Math.max(l, c), + h = 0; + Array.isArray(i) || (i = []); + var p = "category" === t.type ? t.d2l_noadd : t.d2l; + "log" === t.type && + "L" !== String(t.dtick).charAt(0) && + (t.dtick = + "L" + + Math.pow(10, Math.floor(Math.min(t.range[0], t.range[1])) - 1)); + for (r = 0; r < n.length; r++) + (e = p(n[r])) > u && + e < f && + (void 0 === i[r] + ? (a[h] = k.tickText(t, e)) + : (a[h] = N(t, e, String(i[r]))), + h++); + h < n.length && a.splice(h, n.length - h); + return a; + })(t); + t._tmin = k.tickFirst(t); + var r = 1.0001 * e[0] - 1e-4 * e[1], + n = 1.0001 * e[1] - 1e-4 * e[0], + i = e[1] < e[0]; + if (t._tmin < r !== i) return []; + var a = []; + "category" === t.type && + (n = i ? Math.max(-0.5, n) : Math.min(t._categories.length - 0.5, n)); + for ( + var o = null, l = Math.max(1e3, t._length || 0), c = t._tmin; + (i ? c >= n : c <= n) && !(a.length > l || c === o); + c = k.tickIncrement(c, t.dtick, i, t.calendar) + ) + ((o = c), a.push(c)); + ("angular" === t._id && 360 === Math.abs(e[1] - e[0]) && a.pop(), + (t._tmax = a[a.length - 1]), + (t._prevDateHead = ""), + (t._inCalcTicks = !0)); + for (var u = new Array(a.length), f = 0; f < a.length; f++) + u[f] = k.tickText(t, a[f]); + return ((t._inCalcTicks = !1), u); + })); + var L = [2, 5, 10], + z = [1, 2, 3, 6, 12], + P = [1, 2, 5, 10, 15, 30], + D = [1, 2, 3, 7, 14], + O = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1], + I = [-0.301, 0, 0.301, 0.699, 1], + R = [15, 30, 45, 90, 180]; + function B(t, e, r) { + return e * s.roundUp(t / e, r); + } + function F(t) { + var e = t.dtick; + if ( + ((t._tickexponent = 0), + i(e) || "string" == typeof e || (e = 1), + "category" === t.type && (t._tickround = null), + "date" === t.type) + ) { + var r = t.r2l(t.tick0), + n = t.l2r(r).replace(/(^-|i)/g, ""), + a = n.length; + if ("M" === String(e).charAt(0)) + a > 10 || "01-01" !== n.substr(5) + ? (t._tickround = "d") + : (t._tickround = +e.substr(1) % 12 == 0 ? "y" : "m"); + else if ((e >= g && a <= 10) || e >= 15 * g) t._tickround = "d"; + else if ((e >= v && a <= 16) || e >= m) t._tickround = "M"; + else if ((e >= y && a <= 19) || e >= v) t._tickround = "S"; + else { + var o = t.l2r(r + e).replace(/^-/, "").length; + t._tickround = Math.max(a, o) - 20; + } + } else if (i(e) || "L" === e.charAt(0)) { + var s = t.range.map(t.r2d || Number); + (i(e) || (e = Number(e.substr(1))), + (t._tickround = 2 - Math.floor(Math.log(e) / Math.LN10 + 0.01))); + var l = Math.max(Math.abs(s[0]), Math.abs(s[1])), + c = Math.floor(Math.log(l) / Math.LN10 + 0.01); + Math.abs(c) > 3 && + (V(t.exponentformat) && !U(c) + ? (t._tickexponent = 3 * Math.round((c - 1) / 3)) + : (t._tickexponent = c)); + } else t._tickround = null; + } + function N(t, e, r) { + var n = t.tickfont || {}; + return { + x: e, + dx: 0, + dy: 0, + text: r || "", + fontSize: n.size, + font: n.family, + fontColor: n.color, + }; + } + ((k.autoTicks = function (t, e) { + var r; + function n(t) { + return Math.pow(t, Math.floor(Math.log(e) / Math.LN10)); + } + if ("date" === t.type) { + t.tick0 = s.dateTick0(t.calendar); + var a = 2 * e; + a > p + ? ((e /= p), (r = n(10)), (t.dtick = "M" + 12 * B(e, r, L))) + : a > d + ? ((e /= d), (t.dtick = "M" + B(e, 1, z))) + : a > g + ? ((t.dtick = B(e, g, D)), (t.tick0 = s.dateTick0(t.calendar, !0))) + : a > m + ? (t.dtick = B(e, m, z)) + : a > v + ? (t.dtick = B(e, v, P)) + : a > y + ? (t.dtick = B(e, y, P)) + : ((r = n(10)), (t.dtick = B(e, r, L))); + } else if ("log" === t.type) { + t.tick0 = 0; + var o = s.simpleMap(t.range, t.r2l); + if (e > 0.7) t.dtick = Math.ceil(e); + else if (Math.abs(o[1] - o[0]) < 1) { + var l = 1.5 * Math.abs((o[1] - o[0]) / e); + ((e = Math.abs(Math.pow(10, o[1]) - Math.pow(10, o[0])) / l), + (r = n(10)), + (t.dtick = "L" + B(e, r, L))); + } else t.dtick = e > 0.3 ? "D2" : "D1"; + } else + "category" === t.type + ? ((t.tick0 = 0), (t.dtick = Math.ceil(Math.max(e, 1)))) + : "angular" === t._id + ? ((t.tick0 = 0), (r = 1), (t.dtick = B(e, r, R))) + : ((t.tick0 = 0), (r = n(10)), (t.dtick = B(e, r, L))); + if ( + (0 === t.dtick && (t.dtick = 1), + !i(t.dtick) && "string" != typeof t.dtick) + ) { + var c = t.dtick; + throw ((t.dtick = 1), "ax.dtick error: " + String(c)); + } + }), + (k.tickIncrement = function (t, e, r, a) { + var o = r ? -1 : 1; + if (i(e)) return t + o * e; + var l = e.charAt(0), + c = o * Number(e.substr(1)); + if ("M" === l) return s.incrementMonth(t, c, a); + if ("L" === l) return Math.log(Math.pow(10, t) + c) / Math.LN10; + if ("D" === l) { + var u = "D2" === e ? I : O, + f = t + 0.01 * o, + h = s.roundUp(s.mod(f, 1), u, r); + return ( + Math.floor(f) + Math.log(n.round(Math.pow(10, h), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(e); + }), + (k.tickFirst = function (t) { + var e = t.r2l || Number, + r = s.simpleMap(t.range, e), + a = r[1] < r[0], + o = a ? Math.floor : Math.ceil, + l = 1.0001 * r[0] - 1e-4 * r[1], + c = t.dtick, + u = e(t.tick0); + if (i(c)) { + var f = o((l - u) / c) * c + u; + return ( + "category" === t.type && + (f = s.constrain(f, 0, t._categories.length - 1)), + f + ); + } + var h = c.charAt(0), + p = Number(c.substr(1)); + if ("M" === h) { + for (var d, g, m, v = 0, y = u; v < 10; ) { + if (((d = k.tickIncrement(y, c, a, t.calendar)) - l) * (y - l) <= 0) + return a ? Math.min(y, d) : Math.max(y, d); + ((g = (l - (y + d) / 2) / (d - y)), + (m = h + (Math.abs(Math.round(g)) || 1) * p), + (y = k.tickIncrement(y, m, g < 0 ? !a : a, t.calendar)), + v++); + } + return (s.error("tickFirst did not converge", t), y); + } + if ("L" === h) + return Math.log(o((Math.pow(10, l) - u) / p) * p + u) / Math.LN10; + if ("D" === h) { + var x = "D2" === c ? I : O, + b = s.roundUp(s.mod(l, 1), x, a); + return ( + Math.floor(l) + Math.log(n.round(Math.pow(10, b), 1)) / Math.LN10 + ); + } + throw "unrecognized dtick " + String(c); + }), + (k.tickText = function (t, e, r) { + var n, + a, + o = N(t, e), + l = "array" === t.tickmode, + c = r || l, + u = "category" === t.type ? t.d2l_noadd : t.d2l; + if (l && Array.isArray(t.ticktext)) { + var f = s.simpleMap(t.range, t.r2l), + h = Math.abs(f[1] - f[0]) / 1e4; + for ( + a = 0; + a < t.ticktext.length && !(Math.abs(e - u(t.tickvals[a])) < h); + a++ + ); + if (a < t.ticktext.length) return ((o.text = String(t.ticktext[a])), o); + } + function p(n) { + var i; + return ( + void 0 === n || + (r + ? "none" === n + : ((i = { first: t._tmin, last: t._tmax }[n]), + "all" !== n && e !== i)) + ); + } + return ( + (n = r + ? "never" + : "none" !== t.exponentformat && p(t.showexponent) + ? "hide" + : ""), + "date" === t.type + ? (function (t, e, r, n) { + var a = t._tickround, + o = (r && t.hoverformat) || k.getTickFormat(t); + n && (a = i(a) ? 4 : { y: "m", m: "d", d: "M", M: "S", S: 4 }[a]); + var l, + c = s.formatDate( + e.x, + o, + a, + t._dateFormat, + t.calendar, + t._extraFormat, + ), + u = c.indexOf("\n"); + -1 !== u && ((l = c.substr(u + 1)), (c = c.substr(0, u))); + n && + ("00:00:00" === c || "00:00" === c + ? ((c = l), (l = "")) + : 8 === c.length && (c = c.replace(/:00$/, ""))); + l && + (r + ? "d" === a + ? (c += ", " + l) + : (c = l + (c ? ", " + c : "")) + : (t._inCalcTicks && l === t._prevDateHead) || + ((c += "
      " + l), (t._prevDateHead = l))); + e.text = c; + })(t, o, r, c) + : "log" === t.type + ? (function (t, e, r, n, a) { + var o = t.dtick, + l = e.x, + c = t.tickformat; + "never" === a && (a = ""); + !n || + ("string" == typeof o && "L" === o.charAt(0)) || + (o = "L3"); + if (c || ("string" == typeof o && "L" === o.charAt(0))) + e.text = q(Math.pow(10, l), t, a, n); + else if ( + i(o) || + ("D" === o.charAt(0) && s.mod(l + 0.01, 1) < 0.1) + ) { + var u = Math.round(l); + -1 !== ["e", "E", "power"].indexOf(t.exponentformat) || + (V(t.exponentformat) && U(u)) + ? ((e.text = + 0 === u + ? 1 + : 1 === u + ? "10" + : u > 1 + ? "10" + u + "" + : "10" + x + -u + ""), + (e.fontSize *= 1.25)) + : ((e.text = q(Math.pow(10, l), t, "", "fakehover")), + "D1" === o && + "y" === t._id.charAt(0) && + (e.dy -= e.fontSize / 6)); + } else { + if ("D" !== o.charAt(0)) + throw "unrecognized dtick " + String(o); + ((e.text = String(Math.round(Math.pow(10, s.mod(l, 1))))), + (e.fontSize *= 0.75)); + } + if ("D1" === t.dtick) { + var f = String(e.text).charAt(0); + ("0" !== f && "1" !== f) || + ("y" === t._id.charAt(0) + ? (e.dx -= e.fontSize / 4) + : ((e.dy += e.fontSize / 2), + (e.dx += + (t.range[1] > t.range[0] ? 1 : -1) * + e.fontSize * + (l < 0 ? 0.5 : 0.25)))); + } + })(t, o, 0, c, n) + : "category" === t.type + ? (function (t, e) { + var r = t._categories[Math.round(e.x)]; + void 0 === r && (r = ""); + e.text = String(r); + })(t, o) + : "angular" === t._id + ? (function (t, e, r, n, i) { + if ("radians" !== t.thetaunit || r) + e.text = q(e.x, t, i, n); + else { + var a = e.x / 180; + if (0 === a) e.text = "0"; + else { + var o = (function (t) { + function e(t, e) { + return Math.abs(t - e) <= 1e-6; + } + var r = (function (t) { + var r = 1; + for (; !e(Math.round(t * r) / r, t); ) r *= 10; + return r; + })(t), + n = t * r, + i = Math.abs( + (function t(r, n) { + return e(n, 0) ? r : t(n, r % n); + })(n, r), + ); + return [Math.round(n / i), Math.round(r / i)]; + })(a); + if (o[1] >= 100) e.text = q(s.deg2rad(e.x), t, i, n); + else { + var l = e.x < 0; + (1 === o[1] + ? 1 === o[0] + ? (e.text = "\u03c0") + : (e.text = o[0] + "\u03c0") + : (e.text = [ + "", + o[0], + "", + "\u2044", + "", + o[1], + "", + "\u03c0", + ].join("")), + l && (e.text = x + e.text)); + } + } + } + })(t, o, r, c, n) + : (function (t, e, r, n, i) { + "never" === i + ? (i = "") + : "all" === t.showexponent && + Math.abs(e.x / t.dtick) < 1e-6 && + (i = "hide"); + e.text = q(e.x, t, i, n); + })(t, o, 0, c, n), + t.tickprefix && + !p(t.showtickprefix) && + (o.text = t.tickprefix + o.text), + t.ticksuffix && !p(t.showticksuffix) && (o.text += t.ticksuffix), + o + ); + }), + (k.hoverLabelText = function (t, e, r) { + if (r !== b && r !== e) + return k.hoverLabelText(t, e) + " - " + k.hoverLabelText(t, r); + var n = "log" === t.type && e <= 0, + i = k.tickText(t, t.c2l(n ? -e : e), "hover").text; + return n ? (0 === e ? "0" : x + i) : i; + })); + var j = ["f", "p", "n", "\u03bc", "m", "", "k", "M", "G", "T"]; + function V(t) { + return "SI" === t || "B" === t; + } + function U(t) { + return t > 14 || t < -15; + } + function q(t, e, r, n) { + var a = t < 0, + o = e._tickround, + l = r || e.exponentformat || "B", + c = e._tickexponent, + u = k.getTickFormat(e), + f = e.separatethousands; + if (n) { + var h = { + exponentformat: l, + dtick: "none" === e.showexponent ? e.dtick : (i(t) && Math.abs(t)) || 1, + range: "none" === e.showexponent ? e.range.map(e.r2d) : [0, t || 1], + }; + (F(h), + (o = (Number(h._tickround) || 0) + 4), + (c = h._tickexponent), + e.hoverformat && (u = e.hoverformat)); + } + if (u) return e._numFormat(u)(t).replace(/-/g, x); + var p, + d = Math.pow(10, -o) / 2; + if (("none" === l && (c = 0), (t = Math.abs(t)) < d)) ((t = "0"), (a = !1)); + else { + if (((t += d), c && ((t *= Math.pow(10, -c)), (o += c)), 0 === o)) + t = String(Math.floor(t)); + else if (o < 0) { + t = (t = String(Math.round(t))).substr(0, t.length + o); + for (var g = o; g < 0; g++) t += "0"; + } else { + var m = (t = String(t)).indexOf(".") + 1; + m && (t = t.substr(0, m + o).replace(/\.?0+$/, "")); + } + t = s.numSeparate(t, e._separators, f); + } + c && + "hide" !== l && + (V(l) && U(c) && (l = "power"), + (p = c < 0 ? x + -c : "power" !== l ? "+" + c : String(c)), + "e" === l + ? (t += "e" + p) + : "E" === l + ? (t += "E" + p) + : "power" === l + ? (t += "\xd710" + p + "") + : "B" === l && 9 === c + ? (t += "B") + : V(l) && (t += j[c / 3 + 5])); + return a ? x + t : t; + } + function H(t, e) { + for (var r = 0; r < e.length; r++) -1 === t.indexOf(e[r]) && t.push(e[r]); + } + function G(t, e, r) { + var n, + i, + a = [], + o = [], + l = t.layout; + for (n = 0; n < e.length; n++) a.push(k.getFromId(t, e[n])); + for (n = 0; n < r.length; n++) o.push(k.getFromId(t, r[n])); + var c = Object.keys(a[0]), + u = ["anchor", "domain", "overlaying", "position", "side", "tickangle"], + f = ["linear", "log"]; + for (n = 0; n < c.length; n++) { + var h = c[n], + p = a[0][h], + d = o[0][h], + g = !0, + m = !1, + v = !1; + if ( + "_" !== h.charAt(0) && + "function" != typeof p && + -1 === u.indexOf(h) + ) { + for (i = 1; i < a.length && g; i++) { + var y = a[i][h]; + "type" === h && -1 !== f.indexOf(p) && -1 !== f.indexOf(y) && p !== y + ? (m = !0) + : y !== p && (g = !1); + } + for (i = 1; i < o.length && g; i++) { + var x = o[i][h]; + "type" === h && -1 !== f.indexOf(d) && -1 !== f.indexOf(x) && d !== x + ? (v = !0) + : o[i][h] !== d && (g = !1); + } + g && + (m && (l[a[0]._name].type = "linear"), + v && (l[o[0]._name].type = "linear"), + W(l, h, a, o, t._fullLayout._dfltTitle)); + } + } + for (n = 0; n < t._fullLayout.annotations.length; n++) { + var b = t._fullLayout.annotations[n]; + -1 !== e.indexOf(b.xref) && + -1 !== r.indexOf(b.yref) && + s.swapAttrs(l.annotations[n], ["?"]); + } + } + function W(t, e, r, n, i) { + var a, + o = s.nestedProperty, + l = o(t[r[0]._name], e).get(), + c = o(t[n[0]._name], e).get(); + for ( + "title" === e && (l === i.x && (l = i.y), c === i.y && (c = i.x)), a = 0; + a < r.length; + a++ + ) + o(t, r[a]._name + "." + e).set(c); + for (a = 0; a < n.length; a++) o(t, n[a]._name + "." + e).set(l); + } + ((k.getTickFormat = function (t) { + var e, r, n, i, a, o, s; + function l(t) { + return "string" != typeof t ? t : Number(t.replace("M", "")) * d; + } + function c(t, e) { + var r = ["L", "D"]; + if (typeof t == typeof e) { + if ("number" == typeof t) return t - e; + var n = r.indexOf(t.charAt(0)), + i = r.indexOf(e.charAt(0)); + return n === i + ? Number(t.replace(/(L|D)/g, "")) - Number(e.replace(/(L|D)/g, "")) + : n - i; + } + return "number" == typeof t ? 1 : -1; + } + function u(t, e) { + var r = null === e[0], + n = null === e[1], + i = c(t, e[0]) >= 0, + a = c(t, e[1]) <= 0; + return (r || i) && (n || a); + } + if (t.tickformatstops && t.tickformatstops.length > 0) + switch (t.type) { + case "date": + case "linear": + for (e = 0; e < t.tickformatstops.length; e++) + if ( + ((n = t.dtick), + (i = t.tickformatstops[e].dtickrange), + (a = void 0), + void 0, + void 0, + (a = + l || + function (t) { + return t; + }), + (o = i[0]), + (s = i[1]), + ((!o && "number" != typeof o) || a(o) <= a(n)) && + ((!s && "number" != typeof s) || a(s) >= a(n))) + ) { + r = t.tickformatstops[e]; + break; + } + break; + case "log": + for (e = 0; e < t.tickformatstops.length; e++) + if (u(t.dtick, t.tickformatstops[e].dtickrange)) { + r = t.tickformatstops[e]; + break; + } + } + return r ? r.value : t.tickformat; + }), + (k.getSubplots = function (t, e) { + var r = t._fullLayout._subplots, + n = r.cartesian.concat(r.gl2d || []), + i = e ? k.findSubplotsWithAxis(n, e) : n; + return ( + i.sort(function (t, e) { + var r = t.substr(1).split("y"), + n = e.substr(1).split("y"); + return r[0] === n[0] ? +r[1] - +n[1] : +r[0] - +n[0]; + }), + i + ); + }), + (k.findSubplotsWithAxis = function (t, e) { + for ( + var r = new RegExp( + "x" === e._id.charAt(0) ? "^" + e._id + "y" : e._id + "$", + ), + n = [], + i = 0; + i < t.length; + i++ + ) { + var a = t[i]; + r.test(a) && n.push(a); + } + return n; + }), + (k.makeClipPaths = function (t) { + var e, + r, + i = t._fullLayout, + a = { _offset: 0, _length: i.width, _id: "" }, + o = { _offset: 0, _length: i.height, _id: "" }, + s = k.list(t, "x", !0), + l = k.list(t, "y", !0), + c = []; + for (e = 0; e < s.length; e++) + for (c.push({ x: s[e], y: o }), r = 0; r < l.length; r++) + (0 === e && c.push({ x: a, y: l[r] }), c.push({ x: s[e], y: l[r] })); + var u = i._clips.selectAll(".axesclip").data(c, function (t) { + return t.x._id + t.y._id; + }); + (u + .enter() + .append("clipPath") + .classed("axesclip", !0) + .attr("id", function (t) { + return "clip" + i._uid + t.x._id + t.y._id; + }) + .append("rect"), + u.exit().remove(), + u.each(function (t) { + n.select(this) + .select("rect") + .attr({ + x: t.x._offset || 0, + y: t.y._offset || 0, + width: t.x._length || 1, + height: t.y._length || 1, + }); + })); + }), + (k.doTicks = function (t, e, r) { + var h, + p = t._fullLayout, + d = !1; + if ("object" == typeof e) ((e = (h = e)._id), (d = !0)); + else if ( + ((h = k.getFromId(t, e)), + "redraw" === e && + p._paper.selectAll("g.subplot").each(function (t) { + var e = p._plots[t], + r = e.xaxis, + n = e.yaxis; + (e.xaxislayer.selectAll("." + r._id + "tick").remove(), + e.yaxislayer.selectAll("." + n._id + "tick").remove(), + e.gridlayer && e.gridlayer.selectAll("path").remove(), + e.zerolinelayer && e.zerolinelayer.selectAll("path").remove(), + p._infolayer.select(".g-" + r._id + "title").remove(), + p._infolayer.select(".g-" + n._id + "title").remove()); + }), + !e || "redraw" === e) + ) + return s.syncOrAsync( + k.list(t, "", !0).map(function (e) { + return function () { + if (e._id) { + var r = k.doTicks(t, e._id); + return ( + (e._r = e.range.slice()), + (e._rl = s.simpleMap(e._r, e.r2l)), + r + ); + } + }; + }), + ); + h.setScale(); + var g, + m, + v, + y, + x, + b, + M = e.charAt(0), + T = k.counterLetter(e), + S = (h._vals = k.calcTicks(h)), + C = function (t) { + return [t.text, t.x, h.mirror, t.font, t.fontSize, t.fontColor].join( + "_", + ); + }, + E = e + "tick", + L = e + "grid", + z = e + "zl", + P = (h.linewidth || 1) / 2, + D = "outside" === h.ticks ? h.ticklen : 0, + O = 0, + I = f.crispRound(t, h.gridwidth, 1), + R = f.crispRound(t, h.zerolinewidth, I), + B = f.crispRound(t, h.tickwidth, 1); + if (h._counterangle && "outside" === h.ticks) { + var F = (h._counterangle * Math.PI) / 180; + ((D = h.ticklen * Math.cos(F) + 1), (O = h.ticklen * Math.sin(F))); + } + if ( + (h.showticklabels && + ("outside" === h.ticks || h.showline) && + (D += 0.2 * h.tickfont.size), + "x" === M) + ) + ((g = ["bottom", "top"]), + (m = + h._transfn || + function (t) { + return "translate(" + (h._offset + h.l2p(t.x)) + ",0)"; + }), + (v = function (t, e) { + if (h._counterangle) { + var r = (h._counterangle * Math.PI) / 180; + return "M0," + t + "l" + Math.sin(r) * e + "," + Math.cos(r) * e; + } + return "M0," + t + "v" + e; + })); + else if ("y" === M) + ((g = ["left", "right"]), + (m = + h._transfn || + function (t) { + return "translate(0," + (h._offset + h.l2p(t.x)) + ")"; + }), + (v = function (t, e) { + if (h._counterangle) { + var r = (h._counterangle * Math.PI) / 180; + return "M" + t + ",0l" + Math.cos(r) * e + "," + -Math.sin(r) * e; + } + return "M" + t + ",0h" + e; + })); + else { + if ("angular" !== e) + return void s.warn("Unrecognized doTicks axis:", e); + ((g = ["left", "right"]), + (m = h._transfn), + (v = function (t, e) { + return "M" + t + ",0h" + e; + })); + } + var N = h.side || g[0], + j = [-1, 1, N === g[1] ? 1 : -1]; + if ( + (("inside" !== h.ticks) == ("x" === M) && + (j = j.map(function (t) { + return -t; + })), + h.visible) + ) { + h._tickFilter && (S = S.filter(h._tickFilter)); + var V = S.filter(X); + if (("angular" === h._id && (V = S), d)) { + if ( + (Z(h._axislayer, v(h._pos + P * j[2], j[2] * h.ticklen)), + h._counteraxis) + ) + $( + { gridlayer: h._gridlayer, zerolinelayer: h._zerolinelayer }, + h._counteraxis, + ); + return J(h._axislayer, h._pos); + } + if (p._has("cartesian")) { + var U = {}; + (y = k.getSubplots(t, h)).map(function (t) { + var e = p._plots[t], + r = e[T + "axis"], + n = r._mainAxis._id; + U[n] || ((U[n] = 1), $(e, r, t)); + }); + var q = h._mainSubplot, + H = p._plots[q], + G = []; + if (h.ticks) { + var W = j[2], + Y = v(h._mainLinePosition + P * W, W * h.ticklen); + (h._anchorAxis && + h.mirror && + !0 !== h.mirror && + (Y += v(h._mainMirrorPosition - P * W, -W * h.ticklen)), + Z(H[M + "axislayer"], Y), + (G = Object.keys(h._linepositions || {}))); + } + return ( + G.map(function (t) { + var e = p._plots[t][M + "axislayer"], + r = h._linepositions[t] || []; + function n(t) { + var e = j[t]; + return v(r[t] + P * e, e * h.ticklen); + } + Z(e, n(0) + n(1)); + }), + J(H[M + "axislayer"], h._mainLinePosition) + ); + } + } + function X(t) { + var e = h.l2p(t.x); + return e > 1 && e < h._length - 1; + } + function Z(t, e) { + var r = t.selectAll("path." + E).data("inside" === h.ticks ? V : S, C); + e && h.ticks + ? (r + .enter() + .append("path") + .classed(E, 1) + .classed("ticks", 1) + .classed("crisp", 1) + .call(u.stroke, h.tickcolor) + .style("stroke-width", B + "px") + .attr("d", e), + r.attr("transform", m), + r.exit().remove()) + : r.remove(); + } + function J(r, o) { + if (((x = r.selectAll("g." + E).data(S, C)), !i(o))) + return (x.remove(), void K()); + if (!h.showticklabels) return (x.remove(), K(), void z()); + var c, u, d, g, v; + "x" === M + ? ((c = function (t) { + return t.dx + O * v; + }), + (g = o + (D + P) * (v = "bottom" === N ? 1 : -1)), + (u = function (t) { + return t.dy + g + t.fontSize * ("bottom" === N ? 1 : -0.2); + }), + (d = function (t) { + return i(t) && 0 !== t && 180 !== t + ? t * v < 0 + ? "end" + : "start" + : "middle"; + })) + : "y" === M + ? ((v = "right" === N ? 1 : -1), + (u = function (t) { + return t.dy + t.fontSize * _ - O * v; + }), + (c = function (t) { + return ( + t.dx + + o + + (D + + P + + (90 === Math.abs(h.tickangle) ? t.fontSize / 2 : 0)) * + v + ); + }), + (d = function (t) { + return i(t) && 90 === Math.abs(t) + ? "middle" + : "right" === N + ? "start" + : "end"; + })) + : "angular" === e && + ((h._labelShift = O), + (h._labelStandoff = D), + (h._pad = P), + (c = h._labelx), + (u = h._labely), + (d = h._labelanchor)); + var k = 0, + A = 0, + T = []; + function L(t, e) { + t.each(function (t) { + var r = d(e, t), + a = n.select(this), + o = a.select(".text-math-group"), + s = + m.call(a.node(), t) + + (i(e) && 0 != +e + ? " rotate(" + + e + + "," + + c(t) + + "," + + (u(t) - t.fontSize / 2) + + ")" + : ""), + h = (function (t, e, r) { + var n = (t - 1) * e; + if ("x" === M) { + if (r < -60 || 60 < r) return -0.5 * n; + if ("top" === N) return -n; + } else { + if ((r *= "left" === N ? 1 : -1) < -30) return -n; + if (r < 30) return -0.5 * n; + } + return 0; + })(l.lineCount(a), w * t.fontSize, i(e) ? +e : 0); + if ((h && (s += " translate(0, " + h + ")"), o.empty())) + a.select("text").attr({ transform: s, "text-anchor": r }); + else { + var p = f.bBox(o.node()).width * { end: -0.5, start: 0.5 }[r]; + o.attr("transform", s + (p ? "translate(" + p + ",0)" : "")); + } + }); + } + function z() { + if (h.showticklabels) { + var e = t.getBoundingClientRect(), + n = r.node().getBoundingClientRect(); + h._boundingBox = { + width: n.width, + height: n.height, + left: n.left - e.left, + right: n.right - e.left, + top: n.top - e.top, + bottom: n.bottom - e.top, + }; + } else { + var i, + a = p._size; + "x" === M + ? ((i = + "free" === h.anchor + ? a.t + a.h * (1 - h.position) + : a.t + + a.h * + (1 - + h._anchorAxis.domain[{ bottom: 0, top: 1 }[h.side]])), + (h._boundingBox = { + top: i, + bottom: i, + left: h._offset, + right: h._offset + h._length, + width: h._length, + height: 0, + })) + : ((i = + "free" === h.anchor + ? a.l + a.w * h.position + : a.l + + a.w * + h._anchorAxis.domain[{ left: 0, right: 1 }[h.side]]), + (h._boundingBox = { + left: i, + right: i, + bottom: h._offset + h._length, + top: h._offset, + height: h._length, + width: 0, + })); + } + if (y) { + var o = (h._counterSpan = [1 / 0, -1 / 0]); + for (b = 0; b < y.length; b++) { + var s = p._plots[y[b]]["x" === M ? "yaxis" : "xaxis"]; + l(o, [s._offset, s._offset + s._length]); + } + "free" === h.anchor && + l( + o, + "x" === M + ? [h._boundingBox.bottom, h._boundingBox.top] + : [h._boundingBox.right, h._boundingBox.left], + ); + } + function l(t, e) { + ((t[0] = Math.min(t[0], e[0])), (t[1] = Math.max(t[1], e[1]))); + } + } + (x + .enter() + .append("g") + .classed(E, 1) + .append("text") + .attr("text-anchor", "middle") + .each(function (e) { + var r = n.select(this), + i = t._promises.length; + (r + .call(l.positionText, c(e), u(e)) + .call(f.font, e.font, e.fontSize, e.fontColor) + .text(e.text) + .call(l.convertToTspans, t), + (i = t._promises[i]) + ? T.push( + t._promises.pop().then(function () { + L(r, h.tickangle); + }), + ) + : L(r, h.tickangle)); + }), + x.exit().remove(), + x.each(function (t) { + k = Math.max(k, t.fontSize); + }), + "angular" === e && + x.each(function (t) { + n.select(this).select("text").call(l.positionText, c(t), u(t)); + }), + L(x, h._lastangle || h.tickangle)); + var I = s.syncOrAsync([ + function () { + return T.length && Promise.all(T); + }, + function () { + if ( + (L(x, h.tickangle), + "x" === M && + !i(h.tickangle) && + ("log" !== h.type || "D" !== String(h.dtick).charAt(0))) + ) { + var t = []; + for ( + x.each(function (e) { + var r = n.select(this), + i = r.select(".text-math-group"), + a = h.l2p(e.x); + i.empty() && (i = r.select("text")); + var o = f.bBox(i.node()); + t.push({ + top: 0, + bottom: 10, + height: 10, + left: a - o.width / 2, + right: a + o.width / 2 + 2, + width: o.width + 2, + }); + }), + b = 0; + b < t.length - 1; + b++ + ) + if (s.bBoxIntersect(t[b], t[b + 1])) { + A = 30; + break; + } + (A && + (Math.abs((S[S.length - 1].x - S[0].x) * h._m) / + (S.length - 1) < + 2.5 * k && (A = 90), + L(x, A)), + (h._lastangle = A)); + } + return (K(), e + " done"); + }, + z, + function () { + if (h.automargin && ("x" === M || "y" === M)) { + var e = h.side[0], + r = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }; + ("x" === M + ? ((r.y = + "free" === h.anchor + ? h.position + : h._anchorAxis.domain["t" === e ? 1 : 0]), + (r[e] += h._boundingBox.height)) + : ((r.x = + "free" === h.anchor + ? h.position + : h._anchorAxis.domain["r" === e ? 1 : 0]), + (r[e] += h._boundingBox.width)), + h.title !== p._dfltTitle[M] && (r[e] += h.titlefont.size)); + var n = h._name + ".automargin", + i = p._pushmargin[n]; + (!i || i[e].size < r[e]) && a.autoMargin(t, n, r); + } + }, + ]); + return (I && I.then && t._promises.push(I), I); + } + function K() { + if ( + !( + r || + (h.rangeslider && + h.rangeslider.visible && + h._boundingBox && + "bottom" === h.side) + ) + ) { + var n, + i, + a, + o, + s = { selection: x, side: h.side }, + l = e.charAt(0), + u = t._fullLayout._size, + d = h.titlefont.size; + if (x.size()) { + var g = f.getTranslate(x.node().parentNode); + ((s.offsetLeft = g.x), (s.offsetTop = g.y)); + } + var m = 10 + 1.5 * d + (h.linewidth ? h.linewidth - 1 : 0); + ("x" === l + ? ((i = + "free" === h.anchor + ? { _offset: u.t + (1 - (h.position || 0)) * u.h, _length: 0 } + : A.getFromId(t, h.anchor)), + (a = h._offset + h._length / 2), + (o = + "top" === h.side + ? -m - d * (h.showticklabels ? 1 : 0) + : i._length + m + d * (h.showticklabels ? 1.5 : 0.5)), + (o += i._offset), + s.side || (s.side = "bottom")) + : ((i = + "free" === h.anchor + ? { _offset: u.l + (h.position || 0) * u.w, _length: 0 } + : A.getFromId(t, h.anchor)), + (o = h._offset + h._length / 2), + (a = + "right" === h.side + ? i._length + m + d * (h.showticklabels ? 1 : 0.5) + : -m - d * (h.showticklabels ? 0.5 : 0)), + (a += i._offset), + (n = { rotate: "-90", offset: 0 }), + s.side || (s.side = "left")), + c.draw(t, e + "title", { + propContainer: h, + propName: h._name + ".title", + placeholder: p._dfltTitle[l], + avoid: s, + transform: n, + attributes: { x: a, y: o, "text-anchor": "middle" }, + })); + } + } + function Q(t, e) { + return ( + !0 === t.visible && + t.xaxis + t.yaxis === e && + (!(!o.traceIs(t, "bar") || t.orientation !== { x: "h", y: "v" }[M]) || + (t.fill && t.fill.charAt(t.fill.length - 1) === M)) + ); + } + function $(r, i, a) { + if (!p._hasOnlyLargeSploms) { + var o = r.gridlayer.selectAll("." + e), + l = r.zerolinelayer, + c = r["hidegrid" + M] ? [] : V, + f = + h._gridpath || + ("x" === M ? "M0," + i._offset + "v" : "M" + i._offset + ",0h") + + i._length, + d = o.selectAll("path." + L).data(!1 === h.showgrid ? [] : c, C); + if ( + (d + .enter() + .append("path") + .classed(L, 1) + .classed("crisp", 1) + .attr("d", f) + .each(function (t) { + h.zeroline && + ("linear" === h.type || "-" === h.type) && + Math.abs(t.x) < h.dtick / 100 && + n.select(this).remove(); + }), + d + .attr("transform", m) + .call(u.stroke, h.gridcolor || "#ddd") + .style("stroke-width", I + "px"), + "function" == typeof f && d.attr("d", f), + d.exit().remove(), + l) + ) { + for (var g = !1, v = 0; v < t._fullData.length; v++) + if (Q(t._fullData[v], a)) { + g = !0; + break; + } + var y = s.simpleMap(h.range, h.r2l), + x = + y[0] * y[1] <= 0 && + h.zeroline && + ("linear" === h.type || "-" === h.type) && + c.length && + (g || X({ x: 0 }) || !h.showline), + b = l.selectAll("path." + z).data(x ? [{ x: 0, id: e }] : []); + (b + .enter() + .append("path") + .classed(z, 1) + .classed("zl", 1) + .classed("crisp", 1) + .attr("d", f) + .each(function () { + l.selectAll("path").sort(function (t, e) { + return A.idSort(t.id, e.id); + }); + }), + b + .attr("transform", m) + .call(u.stroke, h.zerolinecolor || u.defaultLine) + .style("stroke-width", R + "px"), + b.exit().remove()); + } + } + } + }), + (k.swap = function (t, e) { + for ( + var r = (function (t, e) { + var r, + n, + i = []; + for (r = 0; r < e.length; r++) { + var a = [], + o = t._fullData[e[r]].xaxis, + s = t._fullData[e[r]].yaxis; + if (o && s) { + for (n = 0; n < i.length; n++) + (-1 === i[n].x.indexOf(o) && -1 === i[n].y.indexOf(s)) || + a.push(n); + if (a.length) { + var l, + c = i[a[0]]; + if (a.length > 1) + for (n = 1; n < a.length; n++) + ((l = i[a[n]]), H(c.x, l.x), H(c.y, l.y)); + (H(c.x, [o]), H(c.y, [s])); + } else i.push({ x: [o], y: [s] }); + } + } + return i; + })(t, e), + n = 0; + n < r.length; + n++ + ) + G(t, r[n].x, r[n].y); + })); + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../../components/titles": 567, + "../../constants/alignment": 574, + "../../constants/numerical": 579, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/plots": 710, + "../../registry": 732, + "./autorange": 647, + "./axis_autotype": 649, + "./axis_ids": 651, + "./set_convert": 666, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 649: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../constants/numerical").BADNUM; + e.exports = function (t, e) { + return (function (t, e) { + for ( + var r, a = 0, o = 0, s = Math.max(1, (t.length - 1) / 1e3), l = 0; + l < t.length; + l += s + ) + ((r = t[Math.round(l)]), + i.isDateTime(r, e) && (a += 1), + n(r) && (o += 1)); + return a > 2 * o; + })(t, e) + ? "date" + : (function (t) { + for ( + var e, r = Math.max(1, (t.length - 1) / 1e3), n = 0, o = 0, s = 0; + s < t.length; + s += r + ) + ((e = t[Math.round(s)]), + i.cleanNumber(e) !== a + ? n++ + : "string" == typeof e && "" !== e && "None" !== e && o++); + return o > 2 * n; + })(t) + ? "category" + : (function (t) { + if (!t) return !1; + for (var e = 0; e < t.length; e++) if (n(t[e])) return !0; + return !1; + })(t) + ? "linear" + : "-"; + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, + ], + 650: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("./layout_attributes"), + o = t("./tick_value_defaults"), + s = t("./tick_mark_defaults"), + l = t("./tick_label_defaults"), + c = t("./category_order_defaults"), + u = t("./line_grid_defaults"), + f = t("./set_convert"); + e.exports = function (t, e, r, h, p) { + var d = h.letter, + g = e._id, + m = h.font || {}, + v = r("visible", !h.cheateronly), + y = e.type; + "date" === y && + n.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + h.calendar, + ); + f(e, p); + var x = r("autorange", !e.isValidRange(t.range)); + if ( + ((e._rangesliderAutorange = !1), + x && r("rangemode"), + r("range"), + e.cleanRange(), + c(t, e, r, h), + "category" === y || h.noHover || r("hoverformat"), + !v) + ) + return e; + var b = r("color"), + _ = b === t.color ? b : m.color; + return ( + r("title", ((p._splomAxes || {})[d] || {})[g] || p._dfltTitle[d]), + i.coerceFont(r, "titlefont", { + family: m.family, + size: Math.round(1.2 * m.size), + color: _, + }), + o(t, e, r, y), + l(t, e, r, y, h), + s(t, e, r, h), + u(t, e, r, { + dfltColor: b, + bgColor: h.bgColor, + showGrid: h.showGrid, + attributes: a, + }), + (e.showline || e.ticks) && r("mirror"), + h.automargin && r("automargin"), + e + ); + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "./category_order_defaults": 652, + "./layout_attributes": 660, + "./line_grid_defaults": 662, + "./set_convert": 666, + "./tick_label_defaults": 667, + "./tick_mark_defaults": 668, + "./tick_value_defaults": 669, + }, + ], + 651: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("./constants"); + ((r.id2name = function (t) { + if ("string" == typeof t && t.match(i.AX_ID_PATTERN)) { + var e = t.substr(1); + return ("1" === e && (e = ""), t.charAt(0) + "axis" + e); + } + }), + (r.name2id = function (t) { + if (t.match(i.AX_NAME_PATTERN)) { + var e = t.substr(5); + return ("1" === e && (e = ""), t.charAt(0) + e); + } + }), + (r.cleanId = function (t, e) { + if (t.match(i.AX_ID_PATTERN) && (!e || t.charAt(0) === e)) { + var r = t.substr(1).replace(/^0+/, ""); + return ("1" === r && (r = ""), t.charAt(0) + r); + } + }), + (r.list = function (t, e, n) { + var i = t._fullLayout; + if (!i) return []; + var a, + o = r.listIds(t, e), + s = new Array(o.length); + for (a = 0; a < o.length; a++) { + var l = o[a]; + s[a] = i[l.charAt(0) + "axis" + l.substr(1)]; + } + if (!n) { + var c = i._subplots.gl3d || []; + for (a = 0; a < c.length; a++) { + var u = i[c[a]]; + e ? s.push(u[e + "axis"]) : s.push(u.xaxis, u.yaxis, u.zaxis); + } + } + return s; + }), + (r.listIds = function (t, e) { + var r = t._fullLayout; + if (!r) return []; + var n = r._subplots; + return e ? n[e + "axis"] : n.xaxis.concat(n.yaxis); + }), + (r.getFromId = function (t, e, n) { + var i = t._fullLayout; + return ( + "x" === n + ? (e = e.replace(/y[0-9]*/, "")) + : "y" === n && (e = e.replace(/x[0-9]*/, "")), + i[r.id2name(e)] + ); + }), + (r.getFromTrace = function (t, e, i) { + var a = t._fullLayout, + o = null; + if (n.traceIs(e, "gl3d")) { + var s = e.scene; + "scene" === s.substr(0, 5) && (o = a[s][i + "axis"]); + } else o = r.getFromId(t, e[i + "axis"] || i); + return o; + }), + (r.idSort = function (t, e) { + var r = t.charAt(0), + n = e.charAt(0); + return r !== n + ? r > n + ? 1 + : -1 + : +(t.substr(1) || 1) - +(e.substr(1) || 1); + })); + }, + { "../../registry": 732, "./constants": 653 }, + ], + 652: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + if ("category" === e.type) { + var i, + a = t.categoryarray, + o = Array.isArray(a) && a.length > 0; + o && (i = "array"); + var s, + l = r("categoryorder", i); + ("array" === l && (s = r("categoryarray")), + o || "array" !== l || (l = e.categoryorder = "trace"), + "trace" === l + ? (e._initialCategories = []) + : "array" === l + ? (e._initialCategories = s.slice()) + : ((s = (function (t, e) { + var r, + n, + i, + a = e.dataAttr || t._id.charAt(0), + o = {}; + if (e.axData) r = e.axData; + else + for (r = [], n = 0; n < e.data.length; n++) { + var s = e.data[n]; + s[a + "axis"] === t._id && r.push(s); + } + for (n = 0; n < r.length; n++) { + var l = r[n][a]; + for (i = 0; i < l.length; i++) { + var c = l[i]; + null !== c && void 0 !== c && (o[c] = 1); + } + } + return Object.keys(o); + })(e, n).sort()), + "category ascending" === l + ? (e._initialCategories = s) + : "category descending" === l && + (e._initialCategories = s.reverse()))); + } + }; + }, + {}, + ], + 653: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib/regex").counter; + e.exports = { + idRegex: { x: n("x"), y: n("y") }, + attrRegex: n("[xy]axis"), + xAxisMatch: n("xaxis"), + yAxisMatch: n("yaxis"), + AX_ID_PATTERN: /^[xyz][0-9]*$/, + AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/, + SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/, + MINDRAG: 8, + MINSELECT: 12, + MINZOOM: 20, + DRAGGERSIZE: 20, + BENDPX: 1.5, + REDRAWDELAY: 50, + SELECTDELAY: 100, + SELECTID: "-select", + DFLTRANGEX: [-1, 6], + DFLTRANGEY: [-1, 4], + traceLayerClasses: [ + "heatmaplayer", + "contourcarpetlayer", + "contourlayer", + "barlayer", + "carpetlayer", + "violinlayer", + "boxlayer", + "ohlclayer", + "scattercarpetlayer", + "scatterlayer", + ], + layerValue2layerClass: { "above traces": "above", "below traces": "below" }, + }; + }, + { "../../lib/regex": 618 }, + ], + 654: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./axis_ids").id2name; + e.exports = function (t, e, r, a, o) { + var s = o._axisConstraintGroups, + l = e._id, + c = l.charAt(0); + if ( + !e.fixedrange && + (r("constrain"), + n.coerce( + t, + e, + { + constraintoward: { + valType: "enumerated", + values: + "x" === c + ? ["left", "center", "right"] + : ["bottom", "middle", "top"], + dflt: "x" === c ? "center" : "middle", + }, + }, + "constraintoward", + ), + t.scaleanchor) + ) { + var u = (function (t, e, r, n) { + var a, + o, + s, + l, + c = n[i(e)].type, + u = []; + for (o = 0; o < r.length; o++) + (s = r[o]) !== e && + ((l = n[i(s)]).type !== c || l.fixedrange || u.push(s)); + for (a = 0; a < t.length; a++) + if (t[a][e]) { + var f = t[a], + h = []; + for (o = 0; o < u.length; o++) ((s = u[o]), f[s] || h.push(s)); + return { linkableAxes: h, thisGroup: f }; + } + return { linkableAxes: u, thisGroup: null }; + })(s, l, a, o), + f = n.coerce( + t, + e, + { scaleanchor: { valType: "enumerated", values: u.linkableAxes } }, + "scaleanchor", + ); + if (f) { + var h = r("scaleratio"); + (h || (h = e.scaleratio = 1), + (function (t, e, r, n, i) { + var a, o, s, l, c; + null === e + ? (((e = {})[r] = 1), (c = t.length), t.push(e)) + : (c = t.indexOf(e)); + var u = Object.keys(e); + for (a = 0; a < t.length; a++) + if (((s = t[a]), a !== c && s[n])) { + var f = s[n]; + for (o = 0; o < u.length; o++) + ((l = u[o]), (s[l] = f * i * e[l])); + return void t.splice(c, 1); + } + if (1 !== i) for (o = 0; o < u.length; o++) e[u[o]] *= i; + e[n] = 1; + })(s, u.thisGroup, l, f, h)); + } else + -1 !== a.indexOf(t.scaleanchor) && + n.warn( + "ignored " + + e._name + + '.scaleanchor: "' + + t.scaleanchor + + '" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.', + ); + } + }; + }, + { "../../lib": 602, "./axis_ids": 651 }, + ], + 655: [ + function (t, e, r) { + "use strict"; + var n = t("./axis_ids").id2name, + i = t("./scale_zoom"), + a = t("./autorange").makePadFn, + o = t("../../constants/numerical").ALMOST_EQUAL, + s = t("../../constants/alignment").FROM_BL; + function l(t, e) { + var r = t._inputDomain, + n = s[t.constraintoward], + i = r[0] + (r[1] - r[0]) * n; + t.domain = t._input.domain = [i + (r[0] - i) / e, i + (r[1] - i) / e]; + } + ((r.enforce = function (t) { + var e, + r, + s, + c, + u, + f, + h, + p = t._fullLayout, + d = p._axisConstraintGroups || []; + for (e = 0; e < d.length; e++) { + var g = d[e], + m = Object.keys(g), + v = 1 / 0, + y = 0, + x = 1 / 0, + b = {}, + _ = {}, + w = !1; + for (r = 0; r < m.length; r++) + ((_[(s = m[r])] = c = p[n(s)]), + c._inputDomain + ? (c.domain = c._inputDomain.slice()) + : (c._inputDomain = c.domain.slice()), + c._inputRange || (c._inputRange = c.range.slice()), + c.setScale(), + (b[s] = u = Math.abs(c._m) / g[s]), + (v = Math.min(v, u)), + ("domain" !== c.constrain && c._constraintShrinkable) || + (x = Math.min(x, u)), + delete c._constraintShrinkable, + (y = Math.max(y, u)), + "domain" === c.constrain && (w = !0)); + if (!(v > o * y) || w) + for (r = 0; r < m.length; r++) + if ( + ((u = b[(s = m[r])]), + (f = (c = _[s]).constrain), + u !== x || "domain" === f) + ) + if (((h = u / x), "range" === f)) i(c, h); + else { + var k = c._inputDomain, + M = (c.domain[1] - c.domain[0]) / (k[1] - k[0]), + A = + (c.r2l(c.range[1]) - c.r2l(c.range[0])) / + (c.r2l(c._inputRange[1]) - c.r2l(c._inputRange[0])); + if ((h /= M) * A < 1) { + ((c.domain = c._input.domain = k.slice()), i(c, h)); + continue; + } + if ( + (A < 1 && + ((c.range = c._input.range = c._inputRange.slice()), + (h *= A)), + c.autorange && c._min.length && c._max.length) + ) { + var T = c.r2l(c.range[0]), + S = c.r2l(c.range[1]), + C = (T + S) / 2, + E = C, + L = C, + z = Math.abs(S - C), + P = C - z * h * 1.0001, + D = C + z * h * 1.0001, + O = a(c); + (l(c, h), c.setScale()); + var I, + R, + B = Math.abs(c._m); + for (R = 0; R < c._min.length; R++) + (I = c._min[R].val - O(c._min[R]) / B) > P && + I < E && + (E = I); + for (R = 0; R < c._max.length; R++) + (I = c._max[R].val + O(c._max[R]) / B) < D && + I > L && + (L = I); + ((h /= (L - E) / (2 * z)), + (E = c.l2r(E)), + (L = c.l2r(L)), + (c.range = c._input.range = T < S ? [E, L] : [L, E])); + } + l(c, h); + } + } + }), + (r.clean = function (t, e) { + if (e._inputDomain) { + for ( + var r = !1, n = e._id, i = t._fullLayout._axisConstraintGroups, a = 0; + a < i.length; + a++ + ) + if (i[a][n]) { + r = !0; + break; + } + (r && "domain" === e.constrain) || + ((e._input.domain = e.domain = e._inputDomain), + delete e._inputDomain); + } + })); + }, + { + "../../constants/alignment": 574, + "../../constants/numerical": 579, + "./autorange": 647, + "./axis_ids": 651, + "./scale_zoom": 664, + }, + ], + 656: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("has-passive-events"), + o = t("../../registry"), + s = t("../../lib"), + l = t("../../lib/svg_text_utils"), + c = t("../../lib/clear_gl_canvases"), + u = t("../../components/color"), + f = t("../../components/drawing"), + h = t("../../components/fx"), + p = t("../../lib/setcursor"), + d = t("../../components/dragelement"), + g = t("../../constants/alignment").FROM_TL, + m = t("../plots"), + v = t("./axes").doTicks, + y = t("./axis_ids").getFromId, + x = t("./select").prepSelect, + b = t("./select").clearSelect, + _ = t("./scale_zoom"), + w = t("./constants"), + k = w.MINDRAG, + M = w.MINZOOM, + A = !0; + function T(t, e, r, n) { + var i = s.ensureSingle(t.draglayer, e, r, function (e) { + e.classed("drag", !0) + .style({ fill: "transparent", "stroke-width": 0 }) + .attr("data-subplot", t.id); + }); + return (i.call(p, n), i.node()); + } + function S(t, e, r, i, a, o, s) { + var l = T(t, "rect", e, r); + return (n.select(l).call(f.setRect, i, a, o, s), l); + } + function C(t, e) { + for (var r = 0; r < t.length; r++) if (!t[r].fixedrange) return e; + return ""; + } + function E(t, e, r, n, i) { + var a, o, s, l; + for (a = 0; a < t.length; a++) + (o = t[a]).fixedrange || + ((s = o._rl[0]), + (l = o._rl[1] - s), + (o.range = [o.l2r(s + l * e), o.l2r(s + l * r)]), + (n[o._name + ".range[0]"] = o.range[0]), + (n[o._name + ".range[1]"] = o.range[1])); + if (i && i.length) { + var c = (e + (1 - r)) / 2; + E(i, c, 1 - c, n); + } + } + function L(t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + n.fixedrange || + (n.range = [n.l2r(n._rl[0] - e / n._m), n.l2r(n._rl[1] - e / n._m)]); + } + } + function z(t) { + return ( + 1 - (t >= 0 ? Math.min(t, 0.9) : 1 / (1 / Math.max(t, -0.3) + 3.222)) + ); + } + function P(t, e, r, n, i) { + return t + .append("path") + .attr("class", "zoombox") + .style({ + fill: e > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("transform", "translate(" + r + ", " + n + ")") + .attr("d", i + "Z"); + } + function D(t, e, r) { + return t + .append("path") + .attr("class", "zoombox-corners") + .style({ + fill: u.background, + stroke: u.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("transform", "translate(" + e + ", " + r + ")") + .attr("d", "M0,0Z"); + } + function O(t, e, r, n, i, a) { + (t.attr( + "d", + n + + "M" + + r.l + + "," + + r.t + + "v" + + r.h + + "h" + + r.w + + "v-" + + r.h + + "h-" + + r.w + + "Z", + ), + I(t, e, i, a)); + } + function I(t, e, r, n) { + r || + (t + .transition() + .style("fill", n > 0.2 ? "rgba(0,0,0,0.4)" : "rgba(255,255,255,0.3)") + .duration(200), + e.transition().style("opacity", 1).duration(200)); + } + function R(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + function B(t) { + A && + t.data && + t._context.showTips && + (s.notifier(s._(t, "Double-click to zoom back out"), "long"), (A = !1)); + } + function F(t) { + return "lasso" === t || "select" === t; + } + function N(t) { + var e = Math.floor(Math.min(t.b - t.t, t.r - t.l, M) / 2); + return ( + "M" + + (t.l - 3.5) + + "," + + (t.t - 0.5 + e) + + "h3v" + + -e + + "h" + + e + + "v-3h-" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.t - 0.5 + e) + + "h-3v" + + -e + + "h" + + -e + + "v-3h" + + (e + 3) + + "ZM" + + (t.r + 3.5) + + "," + + (t.b + 0.5 - e) + + "h-3v" + + e + + "h" + + -e + + "v3h" + + (e + 3) + + "ZM" + + (t.l - 3.5) + + "," + + (t.b + 0.5 - e) + + "h3v" + + e + + "h" + + e + + "v3h-" + + (e + 3) + + "Z" + ); + } + function j(t, e) { + if (a) { + var r = void 0 !== t.onwheel ? "wheel" : "mousewheel"; + (t._onwheel && t.removeEventListener(r, t._onwheel), + (t._onwheel = e), + t.addEventListener(r, e, { passive: !1 })); + } else + void 0 !== t.onwheel + ? (t.onwheel = e) + : void 0 !== t.onmousewheel && (t.onmousewheel = e); + } + function V(t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + } + e.exports = { + makeDragBox: function (t, e, r, a, u, p, A, T) { + var I, + U, + q, + H, + G, + W, + Y, + X, + Z, + J, + K, + Q, + $, + tt, + et, + rt, + nt, + it = t._fullLayout._zoomlayer, + at = A + T === "nsew", + ot = 1 === (A + T).length; + function st() { + if ( + ((I = e.xaxis), + (U = e.yaxis), + (Z = I._length), + (J = U._length), + (Y = I._offset), + (X = U._offset), + ((q = {})[I._id] = I), + ((H = {})[U._id] = U), + A && T) + ) + for (var r = e.overlays, n = 0; n < r.length; n++) { + var i = r[n].xaxis; + q[i._id] = i; + var a = r[n].yaxis; + H[a._id] = a; + } + ((G = V(q)), + (W = V(H)), + (Q = C(G, T)), + ($ = C(W, A)), + (tt = !$ && !Q), + (K = (function (t, e, r) { + for ( + var n, + i, + a, + o, + l = t._fullLayout._axisConstraintGroups, + c = !1, + u = {}, + f = {}, + h = 0; + h < l.length; + h++ + ) { + var p = l[h]; + for (n in e) + if (p[n]) { + for (a in p) ("x" === a.charAt(0) ? e : r)[a] || (u[a] = 1); + for (i in r) p[i] && (c = !0); + } + for (i in r) + if (p[i]) + for (o in p) ("x" === o.charAt(0) ? e : r)[o] || (f[o] = 1); + } + c && (s.extendFlat(u, f), (f = {})); + var d = {}, + g = []; + for (a in u) { + var m = y(t, a); + (g.push(m), (d[m._id] = m)); + } + var v = {}, + x = []; + for (o in f) { + var b = y(t, o); + (x.push(b), (v[b._id] = b)); + } + return { + xaHash: d, + yaHash: v, + xaxes: g, + yaxes: x, + isSubplotConstrained: c, + }; + })(t, q, H)), + (et = K.isSubplotConstrained), + (rt = T || et), + (nt = A || et)); + } + st(); + var lt = (function (t, e, r) { + return t + ? "nsew" === t + ? r + ? "" + : "pan" === e + ? "move" + : "crosshair" + : t.toLowerCase() + "-resize" + : "pointer"; + })($ + Q, t._fullLayout.dragmode, at), + ct = S(e, A + T + "drag", lt, r, a, u, p); + if (tt && !at) + return ((ct.onmousedown = null), (ct.style.pointerEvents = "none"), ct); + var ut, + ft, + ht, + pt, + dt, + gt, + mt, + vt, + yt, + xt = { + element: ct, + gd: t, + plotinfo: e, + prepFn: function (e, r, n) { + var a = t._fullLayout.dragmode; + (st(), + tt || + (at + ? e.shiftKey + ? "pan" === a + ? (a = "zoom") + : F(a) || (a = "pan") + : e.ctrlKey && (a = "pan") + : (a = "pan")), + (xt.minDrag = "lasso" === a ? 1 : void 0), + F(a) + ? ((xt.xaxes = G), (xt.yaxes = W), x(e, r, n, xt, a)) + : tt + ? b(it) + : "zoom" === a + ? ((xt.moveFn = _t), + (xt.doneFn = wt), + (xt.minDrag = 1), + (function (e, r, n) { + var a = ct.getBoundingClientRect(); + ((ut = r - a.left), + (ft = n - a.top), + (ht = { l: ut, r: ut, w: 0, t: ft, b: ft, h: 0 }), + (pt = t._hmpixcount + ? t._hmlumcount / t._hmpixcount + : i(t._fullLayout.plot_bgcolor).getLuminance()), + (gt = !1), + (mt = "xy"), + (vt = P( + it, + pt, + Y, + X, + (dt = "M0,0H" + Z + "V" + J + "H0V0"), + )), + (yt = D(it, Y, X)), + b(it)); + })(0, r, n)) + : "pan" === a && + ((xt.moveFn = St), (xt.doneFn = Et), b(it))); + }, + clickFn: function (r, i) { + if ( + (R(t), + 2 !== r || + ot || + (function () { + if (!t._transitioningWithDuration) { + var e, + r, + n, + i = t._context.doubleClick, + a = (Q ? G : []).concat($ ? W : []), + s = {}; + if ("reset+autosize" === i) + for (i = "autosize", r = 0; r < a.length; r++) + if ( + ((e = a[r])._rangeInitial && + (e.range[0] !== e._rangeInitial[0] || + e.range[1] !== e._rangeInitial[1])) || + (!e._rangeInitial && !e.autorange) + ) { + i = "reset"; + break; + } + if ("autosize" === i) + for (r = 0; r < a.length; r++) + (e = a[r]).fixedrange || + (s[e._name + ".autorange"] = !0); + else if ("reset" === i) + for ( + (Q || et) && (a = a.concat(K.xaxes)), + $ && !et && (a = a.concat(K.yaxes)), + et && + (Q ? $ || (a = a.concat(W)) : (a = a.concat(G))), + r = 0; + r < a.length; + r++ + ) + (e = a[r])._rangeInitial + ? ((n = e._rangeInitial), + (s[e._name + ".range[0]"] = n[0]), + (s[e._name + ".range[1]"] = n[1])) + : (s[e._name + ".autorange"] = !0); + (t.emit("plotly_doubleclick", null), + o.call("relayout", t, s)); + } + })(), + at) + ) + h.click(t, i, e.id); + else if (1 === r && ot) { + var a = A ? U : I, + s = "s" === A || "w" === T ? 0 : 1, + c = a._name + ".range[" + s + "]", + u = (function (t, e) { + var r, + i = t.range[e], + a = Math.abs(i - t.range[1 - e]); + return "date" === t.type + ? i + : "log" === t.type + ? ((r = + Math.ceil(Math.max(0, -Math.log(a) / Math.LN10)) + 3), + n.format("." + r + "g")(Math.pow(10, i))) + : ((r = + Math.floor(Math.log(Math.abs(i)) / Math.LN10) - + Math.floor(Math.log(a) / Math.LN10) + + 4), + n.format("." + String(r) + "g")(i)); + })(a, s), + f = "left", + p = "middle"; + if (a.fixedrange) return; + (A + ? ((p = "n" === A ? "top" : "bottom"), + "right" === a.side && (f = "right")) + : "e" === T && (f = "right"), + t._context.showAxisRangeEntryBoxes && + n + .select(ct) + .call(l.makeEditable, { + gd: t, + immediate: !0, + background: t._fullLayout.paper_bgcolor, + text: String(u), + fill: a.tickfont ? a.tickfont.color : "#444", + horizontalAlign: f, + verticalAlign: p, + }) + .on("edit", function (e) { + var r = a.d2r(e); + void 0 !== r && o.call("relayout", t, c, r); + })); + } + }, + }; + d.init(xt); + var bt = {}; + function _t(e, r) { + if (t._transitioningWithDuration) return !1; + var n = Math.max(0, Math.min(Z, e + ut)), + i = Math.max(0, Math.min(J, r + ft)), + a = Math.abs(n - ut), + o = Math.abs(i - ft); + function s() { + ((mt = ""), (ht.r = ht.l), (ht.t = ht.b), yt.attr("d", "M0,0Z")); + } + ((ht.l = Math.min(ut, n)), + (ht.r = Math.max(ut, n)), + (ht.t = Math.min(ft, i)), + (ht.b = Math.max(ft, i)), + et + ? a > M || o > M + ? ((mt = "xy"), + a / Z > o / J + ? ((o = (a * J) / Z), + ft > i ? (ht.t = ft - o) : (ht.b = ft + o)) + : ((a = (o * Z) / J), + ut > n ? (ht.l = ut - a) : (ht.r = ut + a)), + yt.attr("d", N(ht))) + : s() + : !$ || o < Math.min(Math.max(0.6 * a, k), M) + ? a < k + ? s() + : ((ht.t = 0), + (ht.b = J), + (mt = "x"), + yt.attr( + "d", + (function (t, e) { + return ( + "M" + + (t.l - 0.5) + + "," + + (e - M - 0.5) + + "h-3v" + + (2 * M + 1) + + "h3ZM" + + (t.r + 0.5) + + "," + + (e - M - 0.5) + + "h3v" + + (2 * M + 1) + + "h-3Z" + ); + })(ht, ft), + )) + : !Q || a < Math.min(0.6 * o, M) + ? ((ht.l = 0), + (ht.r = Z), + (mt = "y"), + yt.attr( + "d", + (function (t, e) { + return ( + "M" + + (e - M - 0.5) + + "," + + (t.t - 0.5) + + "v-3h" + + (2 * M + 1) + + "v3ZM" + + (e - M - 0.5) + + "," + + (t.b + 0.5) + + "v3h" + + (2 * M + 1) + + "v-3Z" + ); + })(ht, ut), + )) + : ((mt = "xy"), yt.attr("d", N(ht))), + (ht.w = ht.r - ht.l), + (ht.h = ht.b - ht.t), + O(vt, yt, ht, dt, gt, pt), + (gt = !0)); + } + function wt() { + if (Math.min(ht.h, ht.w) < 2 * k) return R(t); + (("xy" !== mt && "x" !== mt) || E(G, ht.l / Z, ht.r / Z, bt, K.xaxes), + ("xy" !== mt && "y" !== mt) || + E(W, (J - ht.b) / J, (J - ht.t) / J, bt, K.yaxes), + R(t), + Et(), + B(t)); + } + var kt = [0, 0, Z, J], + Mt = null, + At = w.REDRAWDELAY, + Tt = e.mainplot ? t._fullLayout._plots[e.mainplot] : e; + function St(e, r) { + if (!t._transitioningWithDuration) { + if ("ew" === Q || "ns" === $) + return ( + Q && L(G, e), + $ && L(W, r), + Lt([Q ? -e : 0, $ ? -r : 0, Z, J]), + void Ct($, Q) + ); + if (et && Q && $) { + var n = ("w" === Q) == ("n" === $) ? 1 : -1, + i = (e / Z + (n * r) / J) / 2; + ((e = i * Z), (r = n * i * J)); + } + ("w" === Q + ? (e = l(G, 0, e)) + : "e" === Q + ? (e = l(G, 1, -e)) + : Q || (e = 0), + "n" === $ + ? (r = l(W, 1, r)) + : "s" === $ + ? (r = l(W, 0, -r)) + : $ || (r = 0)); + var a = "w" === Q ? e : 0, + o = "n" === $ ? r : 0; + if (et) { + var s; + if (!Q && 1 === $.length) { + for (s = 0; s < G.length; s++) + ((G[s].range = G[s]._r.slice()), _(G[s], 1 - r / J)); + a = (e = (r * Z) / J) / 2; + } + if (!$ && 1 === Q.length) { + for (s = 0; s < W.length; s++) + ((W[s].range = W[s]._r.slice()), _(W[s], 1 - e / Z)); + o = (r = (e * J) / Z) / 2; + } + } + (Lt([a, o, Z - e, J - r]), Ct($, Q)); + } + function l(t, e, r) { + for (var n, i, a = 1 - e, o = 0; o < t.length; o++) { + var s = t[o]; + if (!s.fixedrange) { + ((n = s), + (i = s._rl[a] + (s._rl[e] - s._rl[a]) / z(r / s._length))); + var l = s.l2r(i); + !1 !== l && void 0 !== l && (s.range[e] = l); + } + } + return (n._length * (n._rl[e] - i)) / (n._rl[e] - n._rl[a]); + } + } + function Ct(e, r) { + var n, + i = []; + function a(t) { + for (n = 0; n < t.length; n++) t[n].fixedrange || i.push(t[n]._id); + } + for ( + rt && (a(G), a(K.xaxes)), nt && (a(W), a(K.yaxes)), bt = {}, n = 0; + n < i.length; + n++ + ) { + var s = i[n]; + v(t, s, !0); + var l = y(t, s); + ((bt[l._name + ".range[0]"] = l.range[0]), + (bt[l._name + ".range[1]"] = l.range[1])); + } + function c(a, o, s) { + for (n = 0; n < a.length; n++) { + var l = a[n]; + if ( + ((r && -1 !== i.indexOf(l.xref)) || + (e && -1 !== i.indexOf(l.yref))) && + (o(t, n), s) + ) + return; + } + } + (c( + t._fullLayout.annotations || [], + o.getComponentMethod("annotations", "drawOne"), + ), + c( + t._fullLayout.shapes || [], + o.getComponentMethod("shapes", "drawOne"), + ), + c( + t._fullLayout.images || [], + o.getComponentMethod("images", "draw"), + !0, + )); + } + function Et() { + (Lt([0, 0, Z, J]), + s.syncOrAsync( + [ + m.previousPromises, + function () { + o.call("relayout", t, bt); + }, + ], + t, + )); + } + function Lt(e) { + var r, + n, + i, + a, + l = t._fullLayout, + u = l._plots, + h = l._subplots.cartesian, + p = l._has("scattergl"), + d = l._hasOnlyLargeSploms, + g = d || l._has("splom"), + m = l._has("svg"), + v = l._has("draggedPts"); + if (((g || p) && c(t), !g || (o.subplotsRegistry.splom.drag(t), !d))) { + if (p) + for (r = 0; r < h.length; r++) { + ((i = (n = u[h[r]]).xaxis), (a = n.yaxis)); + var y = n._scene; + if (y) { + var x = s.simpleMap(i.range, i.r2l), + b = s.simpleMap(a.range, a.r2l); + y.update({ range: [x[0], b[0], x[1], b[1]] }); + } + } + if (m) { + var _ = e[2] / I._length, + w = e[3] / U._length; + for (r = 0; r < h.length; r++) { + ((i = (n = u[h[r]]).xaxis), (a = n.yaxis)); + var k, + M, + S, + C, + E = rt && !i.fixedrange && q[i._id], + L = nt && !a.fixedrange && H[a._id]; + if ( + (E + ? ((k = _), (S = T ? e[0] : Dt(i, k))) + : (S = Pt(i, (k = zt(i, _, w)))), + L + ? ((M = w), (C = A ? e[1] : Dt(a, M))) + : (C = Pt(a, (M = zt(a, _, w)))), + k || M) + ) { + (k || (k = 1), M || (M = 1)); + var z = i._offset - S / k, + P = a._offset - C / M; + if ( + (n.clipRect.call(f.setTranslate, S, C).call(f.setScale, k, M), + n.plot + .call(f.setTranslate, z, P) + .call(f.setScale, 1 / k, 1 / M), + v) + ) { + var D = n.plot.selectAll( + ".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace", + ); + (D.selectAll(".point").call(f.setPointGroupScale, k, M), + D.selectAll(".textpoint").call(f.setTextPointsScale, k, M), + D.call(f.hideOutsideRangePoints, n), + n.plot + .selectAll(".barlayer .trace") + .call(f.hideOutsideRangePoints, n, ".bartext")); + } + } + } + } + } + } + function zt(t, e, r) { + return t.fixedrange + ? 0 + : rt && K.xaHash[t._id] + ? e + : nt && (et ? K.xaHash : K.yaHash)[t._id] + ? r + : 0; + } + function Pt(t, e) { + return e ? ((t.range = t._r.slice()), _(t, e), Dt(t, e)) : 0; + } + function Dt(t, e) { + return t._length * (1 - e) * g[t.constraintoward || "middle"]; + } + return ( + A.length * T.length != 1 && + j(ct, function (e) { + if (t._context.scrollZoom || t._fullLayout._enablescrollzoom) { + if ((null === Mt && b(it), t._transitioningWithDuration)) + return (e.preventDefault(), void e.stopPropagation()); + var r = t.querySelector(".plotly"); + if ( + (st(), + !( + r.scrollHeight - r.clientHeight > 10 || + r.scrollWidth - r.clientWidth > 10 + )) + ) { + clearTimeout(Mt); + var n = -e.deltaY; + if ((isFinite(n) || (n = e.wheelDelta / 10), isFinite(n))) { + var i, + a = Math.exp(-Math.min(Math.max(n, -20), 20) / 200), + o = Tt.draglayer + .select(".nsewdrag") + .node() + .getBoundingClientRect(), + l = (e.clientX - o.left) / o.width, + c = (o.bottom - e.clientY) / o.height; + if (rt) { + for (T || (l = 0.5), i = 0; i < G.length; i++) + u(G[i], l, a); + ((kt[2] *= a), (kt[0] += kt[2] * l * (1 / a - 1))); + } + if (nt) { + for (A || (c = 0.5), i = 0; i < W.length; i++) + u(W[i], c, a); + ((kt[3] *= a), (kt[1] += kt[3] * (1 - c) * (1 / a - 1))); + } + (Lt(kt), + Ct(A, T), + (Mt = setTimeout(function () { + ((kt = [0, 0, Z, J]), Et()); + }, At)), + e.preventDefault()); + } else s.log("Did not find wheel motion attributes: ", e); + } + } + function u(t, e, r) { + if (!t.fixedrange) { + var n = s.simpleMap(t.range, t.r2l), + i = n[0] + (n[1] - n[0]) * e; + t.range = n.map(function (e) { + return t.l2r(i + (e - i) * r); + }); + } + } + }), + ct + ); + }, + makeDragger: T, + makeRectDragger: S, + makeZoombox: P, + makeCorners: D, + updateZoombox: O, + xyCorners: N, + transitionZoombox: I, + removeZoombox: R, + showDoubleClickNotifier: B, + attachWheelEventHandler: j, + }; + }, + { + "../../components/color": 474, + "../../components/dragelement": 496, + "../../components/drawing": 499, + "../../components/fx": 516, + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/clear_gl_canvases": 586, + "../../lib/setcursor": 622, + "../../lib/svg_text_utils": 626, + "../../registry": 732, + "../plots": 710, + "./axes": 648, + "./axis_ids": 651, + "./constants": 653, + "./scale_zoom": 664, + "./select": 665, + d3: 130, + "has-passive-events": 297, + tinycolor2: 415, + }, + ], + 657: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/fx"), + a = t("../../components/dragelement"), + o = t("../../lib/setcursor"), + s = t("./dragbox").makeDragBox, + l = t("./constants").DRAGGERSIZE; + ((r.initInteractions = function (t) { + var e = t._fullLayout; + if (t._context.staticPlot) n.select(t).selectAll(".drag").remove(); + else if (e._has("cartesian") || e._has("gl2d") || e._has("splom")) { + Object.keys(e._plots || {}) + .sort(function (t, r) { + if ((e._plots[t].mainplot && !0) === (e._plots[r].mainplot && !0)) { + var n = t.split("y"), + i = r.split("y"); + return n[0] === i[0] + ? Number(n[1] || 1) - Number(i[1] || 1) + : Number(n[0] || 1) - Number(i[0] || 1); + } + return e._plots[t].mainplot ? 1 : -1; + }) + .forEach(function (r) { + var n = e._plots[r], + o = n.xaxis, + c = n.yaxis; + if (!n.mainplot) { + var u = s( + t, + n, + o._offset, + c._offset, + o._length, + c._length, + "ns", + "ew", + ); + ((u.onmousemove = function (e) { + ((t._fullLayout._rehover = function () { + t._fullLayout._hoversubplot === r && i.hover(t, e, r); + }), + i.hover(t, e, r), + (t._fullLayout._lasthover = u), + (t._fullLayout._hoversubplot = r)); + }), + (u.onmouseout = function (e) { + t._dragging || + ((t._fullLayout._hoversubplot = null), a.unhover(t, e)); + }), + t._context.showAxisDragHandles && + (s(t, n, o._offset - l, c._offset - l, l, l, "n", "w"), + s(t, n, o._offset + o._length, c._offset - l, l, l, "n", "e"), + s(t, n, o._offset - l, c._offset + c._length, l, l, "s", "w"), + s( + t, + n, + o._offset + o._length, + c._offset + c._length, + l, + l, + "s", + "e", + ))); + } + if (t._context.showAxisDragHandles) { + if (r === o._mainSubplot) { + var f = o._mainLinePosition; + ("top" === o.side && (f -= l), + s( + t, + n, + o._offset + 0.1 * o._length, + f, + 0.8 * o._length, + l, + "", + "ew", + ), + s(t, n, o._offset, f, 0.1 * o._length, l, "", "w"), + s( + t, + n, + o._offset + 0.9 * o._length, + f, + 0.1 * o._length, + l, + "", + "e", + )); + } + if (r === c._mainSubplot) { + var h = c._mainLinePosition; + ("right" !== c.side && (h -= l), + s( + t, + n, + h, + c._offset + 0.1 * c._length, + l, + 0.8 * c._length, + "ns", + "", + ), + s( + t, + n, + h, + c._offset + 0.9 * c._length, + l, + 0.1 * c._length, + "s", + "", + ), + s(t, n, h, c._offset, l, 0.1 * c._length, "n", "")); + } + } + }); + var o = e._hoverlayer.node(); + ((o.onmousemove = function (r) { + ((r.target = t._fullLayout._lasthover), i.hover(t, r, e._hoversubplot)); + }), + (o.onclick = function (e) { + ((e.target = t._fullLayout._lasthover), i.click(t, e)); + }), + (o.onmousedown = function (e) { + t._fullLayout._lasthover.onmousedown(e); + }), + r.updateFx(e)); + } + }), + (r.updateFx = function (t) { + var e = "pan" === t.dragmode ? "move" : "crosshair"; + o(t._draggers, e); + })); + }, + { + "../../components/dragelement": 496, + "../../components/fx": 516, + "../../lib/setcursor": 622, + "./constants": 653, + "./dragbox": 656, + d3: 130, + }, + ], + 658: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"); + e.exports = function (t) { + return function (e, r) { + var a = e[t]; + if (Array.isArray(a)) + for ( + var o = n.subplotsRegistry.cartesian, + s = o.idRegex, + l = r._subplots, + c = l.xaxis, + u = l.yaxis, + f = l.cartesian, + h = r._has("cartesian") || r._has("gl2d"), + p = 0; + p < a.length; + p++ + ) { + var d = a[p]; + if (i.isPlainObject(d)) { + var g = d.xref, + m = d.yref, + v = s.x.test(g), + y = s.y.test(m); + if (v || y) { + h || i.pushUnique(r._basePlotModules, o); + var x = !1; + (v && -1 === c.indexOf(g) && (c.push(g), (x = !0)), + y && -1 === u.indexOf(m) && (u.push(m), (x = !0)), + x && v && y && f.push(g + m)); + } + } + } + }; + }; + }, + { "../../lib": 602, "../../registry": 732 }, + ], + 659: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../lib"), + o = t("../plots"), + s = t("../../components/drawing"), + l = t("../get_data").getModuleCalcData, + c = t("./axis_ids"), + u = t("./constants"), + f = t("../../constants/xmlns_namespaces"), + h = a.ensureSingle; + function p(t, e, r) { + return a.ensureSingle(t, e, r, function (t) { + t.datum(r); + }); + } + function d(t, e, r, a, o) { + for ( + var c, + f, + h, + p = u.traceLayerClasses, + d = t._fullLayout, + g = d._modules, + m = [], + v = 0; + v < g.length; + v++ + ) { + var y = (c = g[v]).name; + if (i.modules[y].categories.svg) { + var x = c.layerName || y + "layer", + b = c.plot; + ((h = (f = l(r, b))[0]), + (r = f[1]), + h.length && + m.push({ + i: p.indexOf(x), + className: x, + plotMethod: b, + cdModule: h, + })); + } + } + m.sort(function (t, e) { + return t.i - e.i; + }); + var _ = e.plot.selectAll("g.mlayer").data(m, function (t) { + return t.className; + }); + (_.enter() + .append("g") + .attr("class", function (t) { + return t.className; + }) + .classed("mlayer", !0), + _.exit().remove(), + _.order(), + _.each(function (r) { + var i = n.select(this), + l = r.className; + (r.plotMethod(t, e, r.cdModule, i, a, o), + "scatterlayer" !== l && + "barlayer" !== l && + s.setClipUrl(i, e.layerClipId)); + }), + d._has("scattergl") && + ((c = i.getModule("scattergl")), (h = l(r, c)[0]), c.plot(t, e, h))); + } + function g(t, e) { + var r = e.plotgroup, + n = e.id, + i = u.layerValue2layerClass[e.xaxis.layer], + a = u.layerValue2layerClass[e.yaxis.layer], + o = t._fullLayout._hasOnlyLargeSploms; + if (e.mainplot) { + var s = e.mainplotinfo, + l = s.plotgroup, + f = n + "-x", + d = n + "-y"; + ((e.gridlayer = s.gridlayer), + (e.zerolinelayer = s.zerolinelayer), + h(s.overlinesBelow, "path", f), + h(s.overlinesBelow, "path", d), + h(s.overaxesBelow, "g", f), + h(s.overaxesBelow, "g", d), + (e.plot = h(s.overplot, "g", n)), + h(s.overlinesAbove, "path", f), + h(s.overlinesAbove, "path", d), + h(s.overaxesAbove, "g", f), + h(s.overaxesAbove, "g", d), + (e.xlines = l.select(".overlines-" + i).select("." + f)), + (e.ylines = l.select(".overlines-" + a).select("." + d)), + (e.xaxislayer = l.select(".overaxes-" + i).select("." + f)), + (e.yaxislayer = l.select(".overaxes-" + a).select("." + d))); + } else if (o) + ((e.plot = h(r, "g", "plot")), + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.xaxislayer = h(r, "g", "xaxislayer-above")), + (e.yaxislayer = h(r, "g", "yaxislayer-above"))); + else { + var g = h(r, "g", "layer-subplot"); + ((e.shapelayer = h(g, "g", "shapelayer")), + (e.imagelayer = h(g, "g", "imagelayer")), + (e.gridlayer = h(r, "g", "gridlayer")), + (e.zerolinelayer = h(r, "g", "zerolinelayer")), + h(r, "path", "xlines-below"), + h(r, "path", "ylines-below"), + (e.overlinesBelow = h(r, "g", "overlines-below")), + h(r, "g", "xaxislayer-below"), + h(r, "g", "yaxislayer-below"), + (e.overaxesBelow = h(r, "g", "overaxes-below")), + (e.plot = h(r, "g", "plot")), + (e.overplot = h(r, "g", "overplot")), + (e.xlines = h(r, "path", "xlines-above")), + (e.ylines = h(r, "path", "ylines-above")), + (e.overlinesAbove = h(r, "g", "overlines-above")), + h(r, "g", "xaxislayer-above"), + h(r, "g", "yaxislayer-above"), + (e.overaxesAbove = h(r, "g", "overaxes-above")), + (e.xlines = r.select(".xlines-" + i)), + (e.ylines = r.select(".ylines-" + a)), + (e.xaxislayer = r.select(".xaxislayer-" + i)), + (e.yaxislayer = r.select(".yaxislayer-" + a))); + } + (o || + (p(e.gridlayer, "g", e.xaxis._id), + p(e.gridlayer, "g", e.yaxis._id), + e.gridlayer.selectAll("g").sort(c.idSort)), + e.xlines.style("fill", "none").classed("crisp", !0), + e.ylines.style("fill", "none").classed("crisp", !0)); + } + function m(t, e) { + if (t) { + var r = {}; + for (var i in (t.each(function (t) { + (n.select(this).remove(), v(t, e), (r[t] = !0)); + }), + e._plots)) + for (var a = e._plots[i].overlays || [], o = 0; o < a.length; o++) { + var s = a[o]; + r[s.id] && s.plot.selectAll(".trace").remove(); + } + } + } + function v(t, e) { + (e._draggers.selectAll("g." + t).remove(), + e._defs.select("#clip" + e._uid + t + "plot").remove()); + } + ((r.name = "cartesian"), + (r.attr = ["xaxis", "yaxis"]), + (r.idRoot = ["x", "y"]), + (r.idRegex = u.idRegex), + (r.attrRegex = u.attrRegex), + (r.attributes = t("./attributes")), + (r.layoutAttributes = t("./layout_attributes")), + (r.supplyLayoutDefaults = t("./layout_defaults")), + (r.transitionAxes = t("./transition_axes")), + (r.finalizeSubplots = function (t, e) { + var r, + n, + i, + o = e._subplots, + s = o.xaxis, + l = o.yaxis, + f = o.cartesian, + h = f.concat(o.gl2d || []), + p = {}, + d = {}; + for (r = 0; r < h.length; r++) { + var g = h[r].split("y"); + ((p[g[0]] = 1), (d["y" + g[1]] = 1)); + } + for (r = 0; r < s.length; r++) + p[(n = s[r])] || + ((i = (t[c.id2name(n)] || {}).anchor), + u.idRegex.y.test(i) || (i = "y"), + f.push(n + i), + h.push(n + i), + d[i] || ((d[i] = 1), a.pushUnique(l, i))); + for (r = 0; r < l.length; r++) + d[(i = l[r])] || + ((n = (t[c.id2name(i)] || {}).anchor), + u.idRegex.x.test(n) || (n = "x"), + f.push(n + i), + h.push(n + i), + p[n] || ((p[n] = 1), a.pushUnique(s, n))); + if (!h.length) { + for (var m in ((n = ""), (i = ""), t)) { + if (u.attrRegex.test(m)) + "x" === m.charAt(0) + ? (!n || +m.substr(5) < +n.substr(5)) && (n = m) + : (!i || +m.substr(5) < +i.substr(5)) && (i = m); + } + ((n = n ? c.name2id(n) : "x"), + (i = i ? c.name2id(i) : "y"), + s.push(n), + l.push(i), + f.push(n + i)); + } + }), + (r.plot = function (t, e, r, n) { + var i, + a = t._fullLayout, + o = a._subplots.cartesian, + s = t.calcdata; + if (!Array.isArray(e)) for (e = [], i = 0; i < s.length; i++) e.push(i); + for (i = 0; i < o.length; i++) { + for ( + var l, c = o[i], u = a._plots[c], f = [], h = 0; + h < s.length; + h++ + ) { + var p = s[h], + g = p[0].trace; + g.xaxis + g.yaxis === c && + ((-1 !== e.indexOf(g.index) || g.carpet) && + (l && + l[0].trace.xaxis + l[0].trace.yaxis === c && + -1 !== ["tonextx", "tonexty", "tonext"].indexOf(g.fill) && + -1 === f.indexOf(l) && + f.push(l), + f.push(p)), + (l = p)); + } + d(t, u, f, r, n); + } + }), + (r.clean = function (t, e, r, n) { + var i, + a, + o, + s = n._plots || {}, + l = e._plots || {}, + u = n._subplots || {}; + if (n._hasOnlyLargeSploms && !e._hasOnlyLargeSploms) + for (o in s) (i = s[o]).plotgroup && i.plotgroup.remove(); + var f = n._has && n._has("gl"), + h = e._has && e._has("gl"); + if (f && !h) for (o in s) (i = s[o])._scene && i._scene.destroy(); + if (u.xaxis && u.yaxis) { + var p = c.listIds({ _fullLayout: n }); + for (a = 0; a < p.length; a++) { + var d = p[a]; + e[c.id2name(d)] || + n._infolayer.selectAll(".g-" + d + "title").remove(); + } + } + var g = n._has && n._has("cartesian"), + y = e._has && e._has("cartesian"); + if (g && !y) + (m(n._cartesianlayer.selectAll(".subplot"), n), + n._defs.selectAll(".axesclip").remove(), + delete n._axisConstraintGroups); + else if (u.cartesian) + for (a = 0; a < u.cartesian.length; a++) { + var x = u.cartesian[a]; + if (!l[x]) { + var b = "." + x + ",." + x + "-x,." + x + "-y"; + (n._cartesianlayer.selectAll(b).remove(), v(x, n)); + } + } + }), + (r.drawFramework = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e = t._fullLayout, + r = [], + n = []; + for (var i in e._plots) { + var a = e._plots[i], + o = a.xaxis._mainAxis, + s = a.yaxis._mainAxis, + l = o._id + s._id; + l !== i && e._plots[l] + ? ((a.mainplot = l), (a.mainplotinfo = e._plots[l]), n.push(i)) + : (r.push(i), (a.mainplot = void 0)); + } + return (r = r.concat(n)); + })(t), + i = e._cartesianlayer.selectAll(".subplot").data(r, a.identity); + (i + .enter() + .append("g") + .attr("class", function (t) { + return "subplot " + t; + }), + i.order(), + i.exit().call(m, e), + i.each(function (r) { + var i = e._plots[r]; + ((i.plotgroup = n.select(this)), + (i.overlays = []), + g(t, i), + i.mainplot) && e._plots[i.mainplot].overlays.push(i); + i.draglayer = h(e._draggers, "g", r); + })); + }), + (r.rangePlot = function (t, e, r) { + (g(t, e), d(t, e, r), o.style(t)); + }), + (r.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + r.filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: f.svg, + "xlink:href": t, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: this.width, + height: this.height, + }); + }); + }), + (r.updateFx = t("./graph_interact").updateFx)); + }, + { + "../../components/drawing": 499, + "../../constants/xmlns_namespaces": 581, + "../../lib": 602, + "../../registry": 732, + "../get_data": 684, + "../plots": 710, + "./attributes": 646, + "./axis_ids": 651, + "./constants": 653, + "./graph_interact": 657, + "./layout_attributes": 660, + "./layout_defaults": 661, + "./transition_axes": 670, + d3: 130, + }, + ], + 660: [ + function (t, e, r) { + "use strict"; + var n = t("../font_attributes"), + i = t("../../components/color/attributes"), + a = t("../../components/drawing/attributes").dash, + o = t("../../lib/extend").extendFlat, + s = t("./constants"); + e.exports = { + visible: { valType: "boolean", editType: "plot" }, + color: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, + title: { valType: "string", editType: "ticks+margins" }, + titlefont: n({ editType: "ticks+margins" }), + type: { + valType: "enumerated", + values: ["-", "linear", "log", "date", "category"], + dflt: "-", + editType: "calc", + }, + autorange: { + valType: "enumerated", + values: [!0, !1, "reversed"], + dflt: !0, + editType: "calc", + impliedEdits: { "range[0]": void 0, "range[1]": void 0 }, + }, + rangemode: { + valType: "enumerated", + values: ["normal", "tozero", "nonnegative"], + dflt: "normal", + editType: "plot", + }, + range: { + valType: "info_array", + items: [ + { + valType: "any", + editType: "axrange+margins", + impliedEdits: { "^autorange": !1 }, + }, + { + valType: "any", + editType: "axrange+margins", + impliedEdits: { "^autorange": !1 }, + }, + ], + editType: "axrange+margins", + impliedEdits: { autorange: !1 }, + }, + fixedrange: { valType: "boolean", dflt: !1, editType: "calc" }, + scaleanchor: { + valType: "enumerated", + values: [s.idRegex.x.toString(), s.idRegex.y.toString()], + editType: "plot", + }, + scaleratio: { valType: "number", min: 0, dflt: 1, editType: "plot" }, + constrain: { + valType: "enumerated", + values: ["range", "domain"], + dflt: "range", + editType: "plot", + }, + constraintoward: { + valType: "enumerated", + values: ["left", "center", "right", "top", "middle", "bottom"], + editType: "plot", + }, + tickmode: { + valType: "enumerated", + values: ["auto", "linear", "array"], + editType: "ticks+margins", + impliedEdits: { tick0: void 0, dtick: void 0 }, + }, + nticks: { valType: "integer", min: 0, dflt: 0, editType: "ticks+margins" }, + tick0: { + valType: "any", + editType: "ticks+margins", + impliedEdits: { tickmode: "linear" }, + }, + dtick: { + valType: "any", + editType: "ticks+margins", + impliedEdits: { tickmode: "linear" }, + }, + tickvals: { valType: "data_array", editType: "ticks+margins" }, + ticktext: { valType: "data_array", editType: "ticks+margins" }, + ticks: { + valType: "enumerated", + values: ["outside", "inside", ""], + editType: "ticks+margins", + }, + mirror: { + valType: "enumerated", + values: [!0, "ticks", !1, "all", "allticks"], + dflt: !1, + editType: "ticks+layoutstyle", + }, + ticklen: { valType: "number", min: 0, dflt: 5, editType: "ticks" }, + tickwidth: { valType: "number", min: 0, dflt: 1, editType: "ticks" }, + tickcolor: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, + showticklabels: { valType: "boolean", dflt: !0, editType: "ticks+margins" }, + automargin: { valType: "boolean", dflt: !1, editType: "ticks+margins" }, + showspikes: { valType: "boolean", dflt: !1, editType: "modebar" }, + spikecolor: { valType: "color", dflt: null, editType: "none" }, + spikethickness: { valType: "number", dflt: 3, editType: "none" }, + spikedash: o({}, a, { dflt: "dash", editType: "none" }), + spikemode: { + valType: "flaglist", + flags: ["toaxis", "across", "marker"], + dflt: "toaxis", + editType: "none", + }, + spikesnap: { + valType: "enumerated", + values: ["data", "cursor"], + dflt: "data", + editType: "none", + }, + tickfont: n({ editType: "ticks+margins" }), + tickangle: { valType: "angle", dflt: "auto", editType: "ticks+margins" }, + tickprefix: { valType: "string", dflt: "", editType: "ticks+margins" }, + showtickprefix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks+margins", + }, + ticksuffix: { valType: "string", dflt: "", editType: "ticks+margins" }, + showticksuffix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks+margins", + }, + showexponent: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "ticks+margins", + }, + exponentformat: { + valType: "enumerated", + values: ["none", "e", "E", "power", "SI", "B"], + dflt: "B", + editType: "ticks+margins", + }, + separatethousands: { + valType: "boolean", + dflt: !1, + editType: "ticks+margins", + }, + tickformat: { valType: "string", dflt: "", editType: "ticks+margins" }, + tickformatstops: { + _isLinkedToArray: "tickformatstop", + dtickrange: { + valType: "info_array", + items: [ + { valType: "any", editType: "ticks+margins" }, + { valType: "any", editType: "ticks+margins" }, + ], + editType: "ticks+margins", + }, + value: { valType: "string", dflt: "", editType: "ticks+margins" }, + editType: "ticks+margins", + }, + hoverformat: { valType: "string", dflt: "", editType: "none" }, + showline: { valType: "boolean", dflt: !1, editType: "layoutstyle" }, + linecolor: { + valType: "color", + dflt: i.defaultLine, + editType: "layoutstyle", + }, + linewidth: { + valType: "number", + min: 0, + dflt: 1, + editType: "ticks+layoutstyle", + }, + showgrid: { valType: "boolean", editType: "ticks" }, + gridcolor: { valType: "color", dflt: i.lightLine, editType: "ticks" }, + gridwidth: { valType: "number", min: 0, dflt: 1, editType: "ticks" }, + zeroline: { valType: "boolean", editType: "ticks" }, + zerolinecolor: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, + zerolinewidth: { valType: "number", dflt: 1, editType: "ticks" }, + anchor: { + valType: "enumerated", + values: ["free", s.idRegex.x.toString(), s.idRegex.y.toString()], + editType: "plot+margins", + }, + side: { + valType: "enumerated", + values: ["top", "bottom", "left", "right"], + editType: "plot+margins", + }, + overlaying: { + valType: "enumerated", + values: ["free", s.idRegex.x.toString(), s.idRegex.y.toString()], + editType: "plot", + }, + layer: { + valType: "enumerated", + values: ["above traces", "below traces"], + dflt: "above traces", + editType: "plot", + }, + domain: { + valType: "info_array", + items: [ + { valType: "number", min: 0, max: 1, editType: "plot+margins" }, + { valType: "number", min: 0, max: 1, editType: "plot+margins" }, + ], + dflt: [0, 1], + editType: "plot+margins", + }, + position: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "plot+margins", + }, + categoryorder: { + valType: "enumerated", + values: ["trace", "category ascending", "category descending", "array"], + dflt: "trace", + editType: "calc", + }, + categoryarray: { valType: "data_array", editType: "calc" }, + editType: "calc", + _deprecated: { + autotick: { valType: "boolean", editType: "ticks+margins" }, + }, + }; + }, + { + "../../components/color/attributes": 473, + "../../components/drawing/attributes": 498, + "../../lib/extend": 591, + "../font_attributes": 674, + "./constants": 653, + }, + ], + 661: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../components/color"), + o = t("../layout_attributes"), + s = t("./layout_attributes"), + l = t("./type_defaults"), + c = t("./axis_defaults"), + u = t("./constraint_defaults"), + f = t("./position_defaults"), + h = t("./axis_ids"); + e.exports = function (t, e, r) { + var p, + d = {}, + g = {}, + m = {}, + v = {}; + for (p = 0; p < r.length; p++) { + var y = r[p]; + if (n.traceIs(y, "cartesian") || n.traceIs(y, "gl2d")) { + var x = h.id2name(y.xaxis), + b = h.id2name(y.yaxis); + if ( + ((n.traceIs(y, "carpet") && ("carpet" !== y.type || y._cheater)) || + (x && (g[x] = 1)), + "carpet" === y.type && y._cheater && x && (d[x] = 1), + n.traceIs(y, "2dMap") && ((m[x] = !0), (m[b] = !0)), + n.traceIs(y, "oriented")) + ) + v["h" === y.orientation ? b : x] = !0; + } + } + var _ = e._subplots, + w = _.xaxis, + k = _.yaxis, + M = i.simpleMap(w, h.id2name), + A = i.simpleMap(k, h.id2name), + T = M.concat(A), + S = a.background; + w.length && k.length && (S = i.coerce(t, e, o, "plot_bgcolor")); + var C, + E, + L, + z, + P = a.combine(S, e.paper_bgcolor); + function D(t, e) { + return i.coerce(L, z, s, t, e); + } + function O(t, e) { + return i.coerce2(L, z, s, t, e); + } + function I(t) { + return "x" === t ? k : w; + } + var R = { x: I("x"), y: I("y") }; + function B(e, r) { + for (var n = "x" === e ? M : A, i = [], a = 0; a < n.length; a++) { + var o = n[a]; + o === r || (t[o] || {}).overlaying || i.push(h.name2id(o)); + } + return i; + } + for (p = 0; p < T.length; p++) { + ((C = T[p]), + i.isPlainObject(t[C]) || (t[C] = {}), + (L = t[C]), + (z = e[C] = {}), + l(L, z, D, r, C)); + var F = B((E = C.charAt(0)), C), + N = { + letter: E, + font: e.font, + outerTicks: m[C], + showGrid: !v[C], + data: r, + bgColor: P, + calendar: e.calendar, + automargin: !0, + cheateronly: "x" === E && d[C] && !g[C], + }; + c(L, z, D, N, e); + var j = O("spikecolor"), + V = O("spikethickness"), + U = O("spikedash"), + q = O("spikemode"), + H = O("spikesnap"); + D("showspikes", !!(j || V || U || q || H)) || + (delete z.spikecolor, + delete z.spikethickness, + delete z.spikedash, + delete z.spikemode, + delete z.spikesnap); + var G = { + letter: E, + counterAxes: R[E], + overlayableAxes: F, + grid: e.grid, + }; + (f(L, z, D, G), (z._input = L)); + } + var W = n.getComponentMethod("rangeslider", "handleDefaults"), + Y = n.getComponentMethod("rangeselector", "handleDefaults"); + for (p = 0; p < M.length; p++) + ((C = M[p]), + (L = t[C]), + (z = e[C]), + W(t, e, C), + "date" === z.type && Y(L, z, e, A, z.calendar), + D("fixedrange")); + for (p = 0; p < A.length; p++) { + ((C = A[p]), (L = t[C]), (z = e[C])); + var X = e[h.id2name(z.anchor)]; + D("fixedrange", X && X.rangeslider && X.rangeslider.visible); + } + e._axisConstraintGroups = []; + var Z = R.x.concat(R.y); + for (p = 0; p < T.length; p++) + ((E = (C = T[p]).charAt(0)), (L = t[C]), (z = e[C]), u(L, z, D, Z, e)); + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../registry": 732, + "../layout_attributes": 701, + "./axis_defaults": 650, + "./axis_ids": 651, + "./constraint_defaults": 654, + "./layout_attributes": 660, + "./position_defaults": 663, + "./type_defaults": 671, + }, + ], + 662: [ + function (t, e, r) { + "use strict"; + var n = t("tinycolor2").mix, + i = t("../../components/color/attributes").lightFraction, + a = t("../../lib"); + e.exports = function (t, e, r, o) { + var s = (o = o || {}).dfltColor; + function l(r, n) { + return a.coerce2(t, e, o.attributes, r, n); + } + var c = l("linecolor", s), + u = l("linewidth"); + r("showline", o.showLine || !!c || !!u) || + (delete e.linecolor, delete e.linewidth); + var f = l("gridcolor", n(s, o.bgColor, o.blend || i).toRgbString()), + h = l("gridwidth"); + if ( + (r("showgrid", o.showGrid || !!f || !!h) || + (delete e.gridcolor, delete e.gridwidth), + !o.noZeroLine) + ) { + var p = l("zerolinecolor", s), + d = l("zerolinewidth"); + r("zeroline", o.showGrid || !!p || !!d) || + (delete e.zerolinecolor, delete e.zerolinewidth); + } + }; + }, + { "../../components/color/attributes": 473, "../../lib": 602, tinycolor2: 415 }, + ], + 663: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"); + e.exports = function (t, e, r, a) { + var o, + s, + l, + c, + u = a.counterAxes || [], + f = a.overlayableAxes || [], + h = a.letter, + p = a.grid; + (p && + ((s = p._domains[h][p._axisMap[e._id]]), + (o = p._anchors[e._id]), + s && + ((l = p[h + "side"].split(" ")[0]), + (c = p.domain[h]["right" === l || "top" === l ? 1 : 0]))), + (s = s || [0, 1]), + (o = o || (n(t.position) ? "free" : u[0] || "free")), + (l = l || ("x" === h ? "bottom" : "left")), + (c = c || 0), + "free" === + i.coerce( + t, + e, + { + anchor: { + valType: "enumerated", + values: ["free"].concat(u), + dflt: o, + }, + }, + "anchor", + ) && r("position", c), + i.coerce( + t, + e, + { + side: { + valType: "enumerated", + values: "x" === h ? ["bottom", "top"] : ["left", "right"], + dflt: l, + }, + }, + "side", + )); + var d = !1; + if ( + (f.length && + (d = i.coerce( + t, + e, + { + overlaying: { + valType: "enumerated", + values: [!1].concat(f), + dflt: !1, + }, + }, + "overlaying", + )), + !d) + ) { + var g = r("domain", s); + (g[0] > g[1] - 0.01 && (e.domain = s), + i.noneOrAll(t.domain, e.domain, s)); + } + return (r("layer"), e); + }; + }, + { "../../lib": 602, "fast-isnumeric": 196 }, + ], + 664: [ + function (t, e, r) { + "use strict"; + var n = t("../../constants/alignment").FROM_BL; + e.exports = function (t, e, r) { + void 0 === r && (r = n[t.constraintoward || "center"]); + var i = [t.r2l(t.range[0]), t.r2l(t.range[1])], + a = i[0] + (i[1] - i[0]) * r; + t.range = t._input.range = [ + t.l2r(a + (i[0] - a) * e), + t.l2r(a + (i[1] - a) * e), + ]; + }; + }, + { "../../constants/alignment": 574 }, + ], + 665: [ + function (t, e, r) { + "use strict"; + var n = t("polybooljs"), + i = t("../../registry"), + a = t("../../components/color"), + o = t("../../components/fx"), + s = t("../../lib/polygon"), + l = t("../../lib/throttle"), + c = t("../../components/fx/helpers").makeEventData, + u = t("./axis_ids").getFromId, + f = t("../sort_modules").sortModules, + h = t("./constants"), + p = h.MINSELECT, + d = s.filter, + g = s.tester, + m = s.multitester; + function v(t) { + return t._id; + } + function y(t, e, r) { + var n, a, o, s; + if (r) { + var l = r.points || []; + for (n = 0; n < e.length; n++) + (((s = e[n].cd[0].trace).selectedpoints = []), + (s._input.selectedpoints = [])); + for (n = 0; n < l.length; n++) { + var c = l[n], + u = c.data, + h = c.fullData; + c.pointIndices + ? ([].push.apply(u.selectedpoints, c.pointIndices), + [].push.apply(h.selectedpoints, c.pointIndices)) + : (u.selectedpoints.push(c.pointIndex), + h.selectedpoints.push(c.pointIndex)); + } + } else + for (n = 0; n < e.length; n++) + (delete (s = e[n].cd[0].trace).selectedpoints, + delete s._input.selectedpoints); + var p = {}; + for (n = 0; n < e.length; n++) { + var d = (o = e[n])._module.name; + p[d] ? p[d].push(o) : (p[d] = [o]); + } + var g = Object.keys(p).sort(f); + for (n = 0; n < g.length; n++) { + var m = p[g[n]], + v = m.length, + y = m[0], + x = y.cd[0].trace, + b = y._module, + _ = b.styleOnSelect || b.style; + if (i.traceIs(x, "regl")) { + var w = new Array(v); + for (a = 0; a < v; a++) w[a] = m[a].cd; + _(t, w); + } else for (a = 0; a < v; a++) _(t, m[a].cd); + } + } + function x(t, e) { + if (Array.isArray(t)) + for (var r = e.cd, n = e.cd[0].trace, i = 0; i < t.length; i++) + t[i] = c(t[i], n, r); + return t; + } + function b(t) { + t.selectAll(".select-outline").remove(); + } + e.exports = { + prepSelect: function (t, e, r, i, s) { + var c, + f, + _, + w, + k, + M, + A, + T, + S, + C = i.gd, + E = C._fullLayout, + L = E._zoomlayer, + z = i.element.getBoundingClientRect(), + P = i.plotinfo, + D = P.xaxis._offset, + O = P.yaxis._offset, + I = e - z.left, + R = r - z.top, + B = I, + F = R, + N = "M" + I + "," + R, + j = i.xaxes[0]._length, + V = i.yaxes[0]._length, + U = i.xaxes.map(v), + q = i.yaxes.map(v), + H = i.xaxes.concat(i.yaxes), + G = t.altKey, + W = E._lastSelectedSubplot && E._lastSelectedSubplot === P.id; + (W && + (t.shiftKey || t.altKey) && + P.selection && + P.selection.polygons && + !i.polygons + ? ((i.polygons = P.selection.polygons), + (i.mergedPolygons = P.selection.mergedPolygons)) + : ((!t.shiftKey && !t.altKey) || + ((t.shiftKey || t.altKey) && !P.selection)) && + ((P.selection = {}), + (P.selection.polygons = i.polygons = []), + (P.selection.mergedPolygons = i.mergedPolygons = [])), + W || (b(L), (E._lastSelectedSubplot = P.id)), + "lasso" === s && (c = d([[I, R]], h.BENDPX))); + var Y = L.selectAll("path.select-outline-" + P.id).data([1, 2]); + Y.enter() + .append("path") + .attr("class", function (t) { + return ( + "select-outline select-outline-" + t + " select-outline-" + P.id + ); + }) + .attr("transform", "translate(" + D + ", " + O + ")") + .attr("d", N + "Z"); + var X, + Z = L.append("path") + .attr("class", "zoombox-corners") + .style({ + fill: a.background, + stroke: a.defaultLine, + "stroke-width": 1, + }) + .attr("transform", "translate(" + D + ", " + O + ")") + .attr("d", "M0,0Z"), + J = [], + K = E._uid + h.SELECTID, + Q = []; + for (k = 0; k < C.calcdata.length; k++) + if ( + !0 === (A = (M = C.calcdata[k])[0].trace).visible && + A._module && + A._module.selectPoints + ) + if (i.subplot) + (A.subplot !== i.subplot && A.geo !== i.subplot) || + J.push({ + _module: A._module, + cd: M, + xaxis: i.xaxes[0], + yaxis: i.yaxes[0], + }); + else if ("splom" === A.type && A._xaxes[U[0]] && A._yaxes[q[0]]) + J.push({ + _module: A._module, + cd: M, + xaxis: i.xaxes[0], + yaxis: i.yaxes[0], + }); + else { + if (-1 === U.indexOf(A.xaxis)) continue; + if (-1 === q.indexOf(A.yaxis)) continue; + J.push({ + _module: A._module, + cd: M, + xaxis: u(C, A.xaxis), + yaxis: u(C, A.yaxis), + }); + } + function $(t) { + var e = "y" === t._id.charAt(0) ? 1 : 0; + return function (r) { + return t.p2d(r[e]); + }; + } + function tt(t, e) { + return t - e; + } + ((X = P.fillRangeItems + ? P.fillRangeItems + : "select" === s + ? function (t, e) { + var r = (t.range = {}); + for (k = 0; k < H.length; k++) { + var n = H[k], + i = n._id.charAt(0); + r[n._id] = [n.p2d(e[i + "min"]), n.p2d(e[i + "max"])].sort(tt); + } + } + : function (t, e, r) { + var n = (t.lassoPoints = {}); + for (k = 0; k < H.length; k++) { + var i = H[k]; + n[i._id] = r.filtered.map($(i)); + } + }), + (i.moveFn = function (t, e) { + ((B = Math.max(0, Math.min(j, t + I))), + (F = Math.max(0, Math.min(V, e + R)))); + var r = Math.abs(B - I), + a = Math.abs(F - R); + if ("select" === s) { + var o = E.selectdirection; + "h" === + (o = + "any" === E.selectdirection + ? a < Math.min(0.6 * r, p) + ? "h" + : r < Math.min(0.6 * a, p) + ? "v" + : "d" + : E.selectdirection) + ? (((w = [ + [I, 0], + [I, V], + [B, V], + [B, 0], + ]).xmin = Math.min(I, B)), + (w.xmax = Math.max(I, B)), + (w.ymin = Math.min(0, V)), + (w.ymax = Math.max(0, V)), + Z.attr( + "d", + "M" + + w.xmin + + "," + + (R - p) + + "h-4v" + + 2 * p + + "h4ZM" + + (w.xmax - 1) + + "," + + (R - p) + + "h4v" + + 2 * p + + "h-4Z", + )) + : "v" === o + ? (((w = [ + [0, R], + [0, F], + [j, F], + [j, R], + ]).xmin = Math.min(0, j)), + (w.xmax = Math.max(0, j)), + (w.ymin = Math.min(R, F)), + (w.ymax = Math.max(R, F)), + Z.attr( + "d", + "M" + + (I - p) + + "," + + w.ymin + + "v-4h" + + 2 * p + + "v4ZM" + + (I - p) + + "," + + (w.ymax - 1) + + "v4h" + + 2 * p + + "v-4Z", + )) + : "d" === o && + (((w = [ + [I, R], + [I, F], + [B, F], + [B, R], + ]).xmin = Math.min(I, B)), + (w.xmax = Math.max(I, B)), + (w.ymin = Math.min(R, F)), + (w.ymax = Math.max(R, F)), + Z.attr("d", "M0,0Z")); + } else "lasso" === s && (c.addPt([B, F]), (w = c.filtered)); + i.polygons && i.polygons.length + ? ((_ = (function (t, e, r) { + return r + ? n.difference( + { regions: t, inverted: !1 }, + { regions: [e], inverted: !1 }, + ).regions + : n.union( + { regions: t, inverted: !1 }, + { regions: [e], inverted: !1 }, + ).regions; + })(i.mergedPolygons, w, G)), + (w.subtract = G), + (f = m(i.polygons.concat([w])))) + : ((_ = [w]), (f = g(w))); + var u = []; + for (k = 0; k < _.length; k++) { + var d = _[k]; + u.push(d.join("L") + "L" + d[0]); + } + (Y.attr("d", "M" + u.join("M") + "Z"), + l.throttle(K, h.SELECTDELAY, function () { + Q = []; + var t, + e, + r = []; + for (k = 0; k < J.length; k++) + if ( + ((e = (T = J[k])._module.selectPoints(T, f)), + r.push(e), + (t = x(e, T)), + Q.length) + ) + for (var n = 0; n < t.length; n++) Q.push(t[n]); + else Q = t; + (y(C, J, (S = { points: Q })), + X(S, w, c), + i.gd.emit("plotly_selecting", S)); + })); + }), + (i.clickFn = function (t, e) { + (Z.remove(), + l.done(K).then(function () { + if ((l.clear(K), 2 === t)) { + for (Y.remove(), k = 0; k < J.length; k++) + (T = J[k])._module.selectPoints(T, !1); + (y(C, J), C.emit("plotly_deselect", null)); + } else C.emit("plotly_selected", void 0); + o.click(C, e); + })); + }), + (i.doneFn = function () { + (Z.remove(), + l.done(K).then(function () { + (l.clear(K), + i.gd.emit("plotly_selected", S), + w && + i.polygons && + ((w.subtract = G), + i.polygons.push(w), + (i.mergedPolygons.length = 0), + [].push.apply(i.mergedPolygons, _))); + })); + })); + }, + clearSelect: b, + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../components/fx/helpers": 513, + "../../lib/polygon": 614, + "../../lib/throttle": 627, + "../../registry": 732, + "../sort_modules": 723, + "./axis_ids": 651, + "./constants": 653, + polybooljs: 357, + }, + ], + 666: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../../lib"), + o = a.cleanNumber, + s = a.ms2DateTime, + l = a.dateTime2ms, + c = a.ensureNumber, + u = t("../../constants/numerical"), + f = u.FP_SAFE, + h = u.BADNUM, + p = t("./constants"), + d = t("./axis_ids"); + function g(t) { + return Math.pow(10, t); + } + e.exports = function (t, e) { + e = e || {}; + var r = (t._id || "x").charAt(0), + u = 10; + function m(e, r) { + if (e > 0) return Math.log(e) / Math.LN10; + if (e <= 0 && r && t.range && 2 === t.range.length) { + var n = t.range[0], + i = t.range[1]; + return 0.5 * (n + i - 3 * u * Math.abs(n - i)); + } + return h; + } + function v(e, r, n) { + var a = l(e, n || t.calendar); + if (a === h) { + if (!i(e)) return h; + a = l(new Date(+e)); + } + return a; + } + function y(e, r, n) { + return s(e, r, n || t.calendar); + } + function x(e) { + return t._categories[Math.round(e)]; + } + function b(e) { + if (t._categoriesMap) { + var r = t._categoriesMap[e]; + if (void 0 !== r) return r; + } + if (i(e)) return +e; + } + function _(e) { + return i(e) ? n.round(t._b + t._m * e, 2) : h; + } + function w(e) { + return (e - t._b) / t._m; + } + ((t.c2l = "log" === t.type ? m : c), + (t.l2c = "log" === t.type ? g : c), + (t.l2p = _), + (t.p2l = w), + (t.c2p = + "log" === t.type + ? function (t, e) { + return _(m(t, e)); + } + : _), + (t.p2c = + "log" === t.type + ? function (t) { + return g(w(t)); + } + : w), + -1 !== ["linear", "-"].indexOf(t.type) + ? ((t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = o), + (t.c2d = t.c2r = t.l2d = t.l2r = c), + (t.d2p = t.r2p = + function (e) { + return t.l2p(o(e)); + }), + (t.p2d = t.p2r = w), + (t.cleanPos = c)) + : "log" === t.type + ? ((t.d2r = t.d2l = + function (t, e) { + return m(o(t), e); + }), + (t.r2d = t.r2c = + function (t) { + return g(o(t)); + }), + (t.d2c = t.r2l = o), + (t.c2d = t.l2r = c), + (t.c2r = m), + (t.l2d = g), + (t.d2p = function (e, r) { + return t.l2p(t.d2r(e, r)); + }), + (t.p2d = function (t) { + return g(w(t)); + }), + (t.r2p = function (e) { + return t.l2p(o(e)); + }), + (t.p2r = w), + (t.cleanPos = c)) + : "date" === t.type + ? ((t.d2r = t.r2d = a.identity), + (t.d2c = t.r2c = t.d2l = t.r2l = v), + (t.c2d = t.c2r = t.l2d = t.l2r = y), + (t.d2p = t.r2p = + function (e, r, n) { + return t.l2p(v(e, 0, n)); + }), + (t.p2d = t.p2r = + function (t, e, r) { + return y(w(t), e, r); + }), + (t.cleanPos = function (e) { + return a.cleanDate(e, h, t.calendar); + })) + : "category" === t.type && + ((t.d2c = t.d2l = + function (e) { + if (null !== e && void 0 !== e) { + if ( + (void 0 === t._categoriesMap && (t._categoriesMap = {}), + void 0 !== t._categoriesMap[e]) + ) + return t._categoriesMap[e]; + t._categories.push(e); + var r = t._categories.length - 1; + return ((t._categoriesMap[e] = r), r); + } + return h; + }), + (t.r2d = t.c2d = t.l2d = x), + (t.d2r = t.d2l_noadd = b), + (t.r2c = function (e) { + var r = b(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.l2r = t.c2r = c), + (t.r2l = b), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return x(w(t)); + }), + (t.r2p = t.d2p), + (t.p2r = w), + (t.cleanPos = function (t) { + return "string" == typeof t && "" !== t ? t : c(t); + })), + (t.fraction2r = function (e) { + var r = t.r2l(t.range[0]), + n = t.r2l(t.range[1]); + return t.l2r(r + e * (n - r)); + }), + (t.r2fraction = function (e) { + var r = t.r2l(t.range[0]), + n = t.r2l(t.range[1]); + return (t.r2l(e) - r) / (n - r); + }), + (t.cleanRange = function (e, n) { + (n || (n = {}), e || (e = "range")); + var o, + s, + l = a.nestedProperty(t, e).get(); + if ( + ((s = (s = + "date" === t.type + ? a.dfltRange(t.calendar) + : "y" === r + ? p.DFLTRANGEY + : n.dfltRange || p.DFLTRANGEX).slice()), + l && 2 === l.length) + ) + for ( + "date" === t.type && + ((l[0] = a.cleanDate(l[0], h, t.calendar)), + (l[1] = a.cleanDate(l[1], h, t.calendar))), + o = 0; + o < 2; + o++ + ) + if ("date" === t.type) { + if (!a.isDateTime(l[o], t.calendar)) { + t[e] = s; + break; + } + if (t.r2l(l[0]) === t.r2l(l[1])) { + var c = a.constrain( + t.r2l(l[0]), + a.MIN_MS + 1e3, + a.MAX_MS - 1e3, + ); + ((l[0] = t.l2r(c - 1e3)), (l[1] = t.l2r(c + 1e3))); + break; + } + } else { + if (!i(l[o])) { + if (!i(l[1 - o])) { + t[e] = s; + break; + } + l[o] = l[1 - o] * (o ? 10 : 0.1); + } + if ( + (l[o] < -f ? (l[o] = -f) : l[o] > f && (l[o] = f), + l[0] === l[1]) + ) { + var u = Math.max(1, Math.abs(1e-6 * l[0])); + ((l[0] -= u), (l[1] += u)); + } + } + else a.nestedProperty(t, e).set(s); + }), + (t.setScale = function (n) { + var i = e._size; + if ( + (t._categories || (t._categories = []), + t._categoriesMap || (t._categoriesMap = {}), + t.overlaying) + ) { + var a = d.getFromId({ _fullLayout: e }, t.overlaying); + t.domain = a.domain; + } + var o = n && t._r ? "_r" : "range", + s = t.calendar; + t.cleanRange(o); + var l = t.r2l(t[o][0], s), + c = t.r2l(t[o][1], s); + if ( + ("y" === r + ? ((t._offset = i.t + (1 - t.domain[1]) * i.h), + (t._length = i.h * (t.domain[1] - t.domain[0])), + (t._m = t._length / (l - c)), + (t._b = -t._m * c)) + : ((t._offset = i.l + t.domain[0] * i.w), + (t._length = i.w * (t.domain[1] - t.domain[0])), + (t._m = t._length / (c - l)), + (t._b = -t._m * l)), + !isFinite(t._m) || !isFinite(t._b)) + ) + throw ( + (e._replotting = !1), + new Error("Something went wrong with axis scaling") + ); + }), + (t.makeCalcdata = function (e, r) { + var n, + i, + o, + s, + l = t.type, + c = "date" === l && e[r + "calendar"]; + if (r in e) { + if ( + ((n = e[r]), + (s = e._length || n.length), + a.isTypedArray(n) && ("linear" === l || "log" === l)) + ) { + if (s === n.length) return n; + if (n.subarray) return n.subarray(0, s); + } + for (i = new Array(s), o = 0; o < s; o++) i[o] = t.d2c(n[o], 0, c); + } else { + var u = r + "0" in e ? t.d2c(e[r + "0"], 0, c) : 0, + f = e["d" + r] ? Number(e["d" + r]) : 1; + for ( + n = e[{ x: "y", y: "x" }[r]], + s = e._length || n.length, + i = new Array(s), + o = 0; + o < s; + o++ + ) + i[o] = u + o * f; + } + return i; + }), + (t.isValidRange = function (e) { + return ( + Array.isArray(e) && 2 === e.length && i(t.r2l(e[0])) && i(t.r2l(e[1])) + ); + }), + (t.isPtWithinRange = function (e, n) { + var i = t.c2l(e[r], null, n), + a = t.r2l(t.range[0]), + o = t.r2l(t.range[1]); + return a < o ? a <= i && i <= o : o <= i && i <= a; + }), + (t.clearCalc = function () { + ((t._min = []), + (t._max = []), + (t._categories = (t._initialCategories || []).slice()), + (t._categoriesMap = {})); + for (var e = 0; e < t._categories.length; e++) + t._categoriesMap[t._categories[e]] = e; + })); + var k = e._d3locale; + ("date" === t.type && + ((t._dateFormat = k ? k.timeFormat.utc : n.time.format.utc), + (t._extraFormat = e._extraFormat)), + (t._separators = e.separators), + (t._numFormat = k ? k.numberFormat : n.format), + delete t._minDtick, + delete t._forceTick0); + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "./axis_ids": 651, + "./constants": 653, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 667: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./layout_attributes"); + e.exports = function (t, e, r, a, o) { + var s = (function (t) { + var e = ["showexponent", "showtickprefix", "showticksuffix"].filter( + function (e) { + return void 0 !== t[e]; + }, + ); + if ( + e.every(function (r) { + return t[r] === t[e[0]]; + }) || + 1 === e.length + ) + return t[e[0]]; + })(t); + if ( + (r("tickprefix") && r("showtickprefix", s), + r("ticksuffix", o.tickSuffixDflt) && r("showticksuffix", s), + r("showticklabels")) + ) { + var l = o.font || {}, + c = e.color === t.color ? e.color : l.color; + if ( + (n.coerceFont(r, "tickfont", { + family: l.family, + size: l.size, + color: c, + }), + r("tickangle"), + "category" !== a) + ) { + var u = r("tickformat"); + (!(function (t, e) { + var r, + a, + o = t.tickformatstops, + s = (e.tickformatstops = []); + if (!Array.isArray(o)) return; + function l(t, e) { + return n.coerce(r, a, i.tickformatstops, t, e); + } + for (var c = 0; c < o.length; c++) + ((r = o[c]), (a = {}), l("dtickrange"), l("value"), s.push(a)); + })(t, e), + u || + "date" === a || + (r("showexponent", s), + r("exponentformat"), + r("separatethousands"))); + } + } + }; + }, + { "../../lib": 602, "./layout_attributes": 660 }, + ], + 668: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./layout_attributes"); + e.exports = function (t, e, r, a) { + var o = n.coerce2(t, e, i, "ticklen"), + s = n.coerce2(t, e, i, "tickwidth"), + l = n.coerce2(t, e, i, "tickcolor", e.color); + r("ticks", a.outerTicks || o || s || l ? "outside" : "") || + (delete e.ticklen, delete e.tickwidth, delete e.tickcolor); + }; + }, + { "../../lib": 602, "./layout_attributes": 660 }, + ], + 669: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../constants/numerical").ONEDAY; + e.exports = function (t, e, r, o) { + var s = "auto"; + ("array" !== t.tickmode || + ("log" !== o && "date" !== o) || + (t.tickmode = "auto"), + Array.isArray(t.tickvals) ? (s = "array") : t.dtick && (s = "linear")); + var l = r("tickmode", s); + if ("auto" === l) r("nticks"); + else if ("linear" === l) { + var c = "date" === o ? a : 1, + u = r("dtick", c); + if (n(u)) e.dtick = u > 0 ? Number(u) : c; + else if ("string" != typeof u) e.dtick = c; + else { + var f = u.charAt(0), + h = u.substr(1); + ((h = n(h) ? Number(h) : 0) <= 0 || + !( + ("date" === o && "M" === f && h === Math.round(h)) || + ("log" === o && "L" === f) || + ("log" === o && "D" === f && (1 === h || 2 === h)) + )) && + (e.dtick = c); + } + var p = "date" === o ? i.dateTick0(e.calendar) : 0, + d = r("tick0", p); + "date" === o + ? (e.tick0 = i.cleanDate(d, p)) + : n(d) && "D1" !== u && "D2" !== u + ? (e.tick0 = Number(d)) + : (e.tick0 = p); + } else { + void 0 === r("tickvals") ? (e.tickmode = "auto") : r("ticktext"); + } + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, + ], + 670: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../components/drawing"), + o = t("./axes"), + s = t("./constants").attrRegex; + e.exports = function (t, e, r, l) { + var c = t._fullLayout, + u = []; + var f, + h, + p, + d, + g = (function (t) { + var e, + r, + n, + i, + a = {}; + for (e in t) + if ((r = e.split("."))[0].match(s)) { + var o = e.charAt(0), + l = r[0]; + if ( + ((n = c[l]), + (i = {}), + Array.isArray(t[e]) + ? (i.to = t[e].slice(0)) + : Array.isArray(t[e].range) && (i.to = t[e].range.slice(0)), + !i.to) + ) + continue; + ((i.axisName = l), (i.length = n._length), u.push(o), (a[o] = i)); + } + return a; + })(e), + m = Object.keys(g), + v = (function (t, e, r) { + var n, + i, + a, + o = t._plots, + s = []; + for (n in o) { + var l = o[n]; + if (-1 === s.indexOf(l)) { + var c = l.xaxis._id, + u = l.yaxis._id, + f = l.xaxis.range, + h = l.yaxis.range; + ((l.xaxis._r = l.xaxis.range.slice()), + (l.yaxis._r = l.yaxis.range.slice()), + (i = r[c] ? r[c].to : f), + (a = r[u] ? r[u].to : h), + (f[0] === i[0] && + f[1] === i[1] && + h[0] === a[0] && + h[1] === a[1]) || + (-1 === e.indexOf(c) && -1 === e.indexOf(u)) || + s.push(l)); + } + } + return s; + })(c, m, g); + if (!v.length) + return ( + (function () { + function e(e, r, n) { + for (var i = 0; i < e.length; i++) if ((r(t, i), n)) return; + } + (e( + c.annotations || [], + i.getComponentMethod("annotations", "drawOne"), + ), + e(c.shapes || [], i.getComponentMethod("shapes", "drawOne")), + e(c.images || [], i.getComponentMethod("images", "draw"), !0)); + })(), + !1 + ); + function y(t) { + var e = t.xaxis, + r = t.yaxis; + (c._defs + .select("#" + t.clipId + "> rect") + .call(a.setTranslate, 0, 0) + .call(a.setScale, 1, 1), + t.plot + .call(a.setTranslate, e._offset, r._offset) + .call(a.setScale, 1, 1)); + var n = t.plot.selectAll(".scatterlayer .trace"); + (n.selectAll(".point").call(a.setPointGroupScale, 1, 1), + n.selectAll(".textpoint").call(a.setTextPointsScale, 1, 1), + n.call(a.hideOutsideRangePoints, t)); + } + function x(e, r) { + var n, + s, + l, + u = g[e.xaxis._id], + f = g[e.yaxis._id], + h = []; + if (u) { + ((s = (n = t._fullLayout[u.axisName])._r), + (l = u.to), + (h[0] = + ((s[0] * (1 - r) + r * l[0] - s[0]) / (s[1] - s[0])) * + e.xaxis._length)); + var p = s[1] - s[0], + d = l[1] - l[0]; + ((n.range[0] = s[0] * (1 - r) + r * l[0]), + (n.range[1] = s[1] * (1 - r) + r * l[1]), + (h[2] = e.xaxis._length * (1 - r + (r * d) / p))); + } else ((h[0] = 0), (h[2] = e.xaxis._length)); + if (f) { + ((s = (n = t._fullLayout[f.axisName])._r), + (l = f.to), + (h[1] = + ((s[1] * (1 - r) + r * l[1] - s[1]) / (s[0] - s[1])) * + e.yaxis._length)); + var m = s[1] - s[0], + v = l[1] - l[0]; + ((n.range[0] = s[0] * (1 - r) + r * l[0]), + (n.range[1] = s[1] * (1 - r) + r * l[1]), + (h[3] = e.yaxis._length * (1 - r + (r * v) / m))); + } else ((h[1] = 0), (h[3] = e.yaxis._length)); + !(function (e, r) { + var n, + a = []; + for (a = [e._id, r._id], n = 0; n < a.length; n++) + o.doTicks(t, a[n], !0); + function s(e, r, i) { + for (n = 0; n < e.length; n++) { + var o = e[n]; + if ( + ((-1 === a.indexOf(o.xref) && -1 === a.indexOf(o.yref)) || + r(t, n), + i) + ) + return; + } + } + (s(c.annotations || [], i.getComponentMethod("annotations", "drawOne")), + s(c.shapes || [], i.getComponentMethod("shapes", "drawOne")), + s(c.images || [], i.getComponentMethod("images", "draw"), !0)); + })(e.xaxis, e.yaxis); + var y = e.xaxis, + x = e.yaxis, + b = !!u, + _ = !!f, + w = b ? y._length / h[2] : 1, + k = _ ? x._length / h[3] : 1, + M = b ? h[0] : 0, + A = _ ? h[1] : 0, + T = b ? (h[0] / h[2]) * y._length : 0, + S = _ ? (h[1] / h[3]) * x._length : 0, + C = y._offset - T, + E = x._offset - S; + (e.clipRect.call(a.setTranslate, M, A).call(a.setScale, 1 / w, 1 / k), + e.plot + .call(a.setTranslate, C, E) + .call(a.setScale, w, k) + .selectAll(".points") + .selectAll(".point") + .call(a.setPointGroupScale, 1 / w, 1 / k), + e.plot + .selectAll(".points") + .selectAll(".textpoint") + .call(a.setTextPointsScale, 1 / w, 1 / k)); + } + l && (f = l()); + var b = n.ease(r.easing); + return ( + t._transitionData._interruptCallbacks.push(function () { + return ( + window.cancelAnimationFrame(d), + (d = null), + (function () { + for (var e = {}, r = 0; r < m.length; r++) { + var n = t._fullLayout[m[r] + "axis"]; + ((e[n._name + ".range[0]"] = n.range[0]), + (e[n._name + ".range[1]"] = n.range[1]), + (n.range = n._r.slice())); + } + return i.call("relayout", t, e).then(function () { + for (var t = 0; t < v.length; t++) y(v[t]); + }); + })() + ); + }), + (h = Date.now()), + (d = window.requestAnimationFrame(function e() { + p = Date.now(); + for ( + var n = Math.min(1, (p - h) / r.duration), a = b(n), o = 0; + o < v.length; + o++ + ) + x(v[o], a); + p - h > r.duration + ? ((function () { + for (var e = {}, r = 0; r < m.length; r++) { + var n = t._fullLayout[g[m[r]].axisName], + a = g[m[r]].to; + ((e[n._name + ".range[0]"] = a[0]), + (e[n._name + ".range[1]"] = a[1]), + (n.range = a.slice())); + } + (f && f(), + i.call("relayout", t, e).then(function () { + for (var t = 0; t < v.length; t++) y(v[t]); + })); + })(), + (d = window.cancelAnimationFrame(e))) + : (d = window.requestAnimationFrame(e)); + })), + Promise.resolve() + ); + }; + }, + { + "../../components/drawing": 499, + "../../registry": 732, + "./axes": 648, + "./constants": 653, + d3: 130, + }, + ], + 671: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("./axis_autotype"), + a = t("./axis_ids").name2id; + function o(t) { + return { v: "x", h: "y" }[t.orientation || "v"]; + } + function s(t, e) { + var r = o(t), + i = n.traceIs(t, "box-violin"), + a = n.traceIs(t._fullInput || {}, "candlestick"); + return i && !a && e === r && void 0 === t[r] && void 0 === t[r + "0"]; + } + e.exports = function (t, e, r, l, c) { + (c && ((e._name = c), (e._id = a(c))), + "-" === r("type") && + (!(function (t, e) { + if ("-" !== t.type) return; + var r = t._id, + a = r.charAt(0); + -1 !== r.indexOf("scene") && (r = a); + var l = (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n]; + if ("splom" === i.type && i._length > 0 && i["_" + r + "axes"][e]) + return i; + if ((i[r + "axis"] || r) === e) { + if (s(i, r)) return i; + if ((i[r] || []).length || i[r + "0"]) return i; + } + } + })(e, r, a); + if (!l) return; + if ( + "histogram" === l.type && + a === { v: "y", h: "x" }[l.orientation || "v"] + ) + return void (t.type = "linear"); + var c, + u = a + "calendar", + f = l[u]; + if (s(l, a)) { + var h = o(l), + p = []; + for (c = 0; c < e.length; c++) { + var d = e[c]; + n.traceIs(d, "box-violin") && + (d[a + "axis"] || a) === r && + (void 0 !== d[h] + ? p.push(d[h][0]) + : void 0 !== d.name + ? p.push(d.name) + : p.push("text"), + d[u] !== f && (f = void 0)); + } + t.type = i(p, f); + } else if ("splom" === l.type) { + var g = l.dimensions; + for (c = 0; c < g.length; c++) { + var m = g[c]; + if (m.visible) { + t.type = i(m.values, f); + break; + } + } + } else t.type = i(l[a] || [l[a + "0"]], f); + })(e, l), + "-" === e.type ? (e.type = "linear") : (t.type = e.type))); + }; + }, + { "../../registry": 732, "./axis_autotype": 649, "./axis_ids": 651 }, + ], + 672: [ + function (t, e, r) { + "use strict"; + var n = t("../registry"), + i = t("../lib"); + function a(t, e, r) { + var n, + a, + o, + s = !1; + if ("data" === e.type) n = t._fullData[null !== e.traces ? e.traces[0] : 0]; + else { + if ("layout" !== e.type) return !1; + n = t._fullLayout; + } + return ( + (a = i.nestedProperty(n, e.prop).get()), + (o = r[e.type] = r[e.type] || {}).hasOwnProperty(e.prop) && + o[e.prop] !== a && + (s = !0), + (o[e.prop] = a), + { changed: s, value: a } + ); + } + function o(t, e) { + var r = [], + n = e[0], + a = {}; + if ("string" == typeof n) a[n] = e[1]; + else { + if (!i.isPlainObject(n)) return r; + a = n; + } + return ( + l( + a, + function (t, e, n) { + r.push({ type: "layout", prop: t, value: n }); + }, + "", + 0, + ), + r + ); + } + function s(t, e) { + var r, + n, + a, + o, + s = []; + if (((n = e[0]), (a = e[1]), (r = e[2]), (o = {}), "string" == typeof n)) + o[n] = a; + else { + if (!i.isPlainObject(n)) return s; + ((o = n), void 0 === r && (r = a)); + } + return ( + void 0 === r && (r = null), + l( + o, + function (e, n, i) { + var a; + if (Array.isArray(i)) { + var o = Math.min(i.length, t.data.length); + (r && (o = Math.min(o, r.length)), (a = [])); + for (var l = 0; l < o; l++) a[l] = r ? r[l] : l; + } else a = r ? r.slice(0) : null; + if (null === a) Array.isArray(i) && (i = i[0]); + else if (Array.isArray(a)) { + if (!Array.isArray(i)) { + var c = i; + i = []; + for (var u = 0; u < a.length; u++) i[u] = c; + } + i.length = Math.min(a.length, i.length); + } + s.push({ type: "data", prop: e, traces: a, value: i }); + }, + "", + 0, + ), + s + ); + } + function l(t, e, r, n) { + Object.keys(t).forEach(function (a) { + var o = t[a]; + if ("_" !== a[0]) { + var s = r + (n > 0 ? "." : "") + a; + i.isPlainObject(o) ? l(o, e, s, n + 1) : e(s, a, o); + } + }); + } + ((r.manageCommandObserver = function (t, e, n, o) { + var s = {}, + l = !0; + (e && e._commandObserver && (s = e._commandObserver), + s.cache || (s.cache = {}), + (s.lookupTable = {})); + var c = r.hasSimpleAPICommandBindings(t, n, s.lookupTable); + if (e && e._commandObserver) { + if (c) return s; + if (e._commandObserver.remove) + return (e._commandObserver.remove(), (e._commandObserver = null), s); + } + if (c) { + (a(t, c, s.cache), + (s.check = function () { + if (l) { + var e = a(t, c, s.cache); + return ( + e.changed && + o && + void 0 !== s.lookupTable[e.value] && + (s.disable(), + Promise.resolve( + o({ + value: e.value, + type: c.type, + prop: c.prop, + traces: c.traces, + index: s.lookupTable[e.value], + }), + ).then(s.enable, s.enable)), + e.changed + ); + } + })); + for ( + var u = [ + "plotly_relayout", + "plotly_redraw", + "plotly_restyle", + "plotly_update", + "plotly_animatingframe", + "plotly_afterplot", + ], + f = 0; + f < u.length; + f++ + ) + t._internalOn(u[f], s.check); + s.remove = function () { + for (var e = 0; e < u.length; e++) + t._removeInternalListener(u[e], s.check); + }; + } else + (i.log("Unable to automatically bind plot updates to API command"), + (s.lookupTable = {}), + (s.remove = function () {})); + return ( + (s.disable = function () { + l = !1; + }), + (s.enable = function () { + l = !0; + }), + e && (e._commandObserver = s), + s + ); + }), + (r.hasSimpleAPICommandBindings = function (t, e, n) { + var i, + a, + o = e.length; + for (i = 0; i < o; i++) { + var s, + l = e[i], + c = l.method, + u = l.args; + if ((Array.isArray(u) || (u = []), !c)) return !1; + var f = r.computeAPICommandBindings(t, c, u); + if (1 !== f.length) return !1; + if (a) { + if ((s = f[0]).type !== a.type) return !1; + if (s.prop !== a.prop) return !1; + if (Array.isArray(a.traces)) { + if (!Array.isArray(s.traces)) return !1; + s.traces.sort(); + for (var h = 0; h < a.traces.length; h++) + if (a.traces[h] !== s.traces[h]) return !1; + } else if (s.prop !== a.prop) return !1; + } else ((a = f[0]), Array.isArray(a.traces) && a.traces.sort()); + var p = (s = f[0]).value; + if (Array.isArray(p)) { + if (1 !== p.length) return !1; + p = p[0]; + } + n && (n[p] = i); + } + return a; + }), + (r.executeAPICommand = function (t, e, r) { + if ("skip" === e) return Promise.resolve(); + var a = n.apiMethodRegistry[e], + o = [t]; + Array.isArray(r) || (r = []); + for (var s = 0; s < r.length; s++) o.push(r[s]); + return a.apply(null, o).catch(function (t) { + return ( + i.warn("API call to Plotly." + e + " rejected.", t), + Promise.reject(t) + ); + }); + }), + (r.computeAPICommandBindings = function (t, e, r) { + var n; + switch ((Array.isArray(r) || (r = []), e)) { + case "restyle": + n = s(t, r); + break; + case "relayout": + n = o(t, r); + break; + case "update": + n = s(t, [r[0], r[2]]).concat(o(t, [r[1]])); + break; + case "animate": + n = (function (t, e) { + return Array.isArray(e[0]) && + 1 === e[0].length && + -1 !== ["string", "number"].indexOf(typeof e[0][0]) + ? [ + { + type: "layout", + prop: "_currentFrame", + value: e[0][0].toString(), + }, + ] + : []; + })(0, r); + break; + default: + n = []; + } + return n; + })); + }, + { "../lib": 602, "../registry": 732 }, + ], + 673: [ + function (t, e, r) { + "use strict"; + var n = t("../lib/extend").extendFlat; + ((r.attributes = function (t, e) { + ((t = t || {}), (e = e || {})); + var r = { + valType: "info_array", + editType: t.editType, + items: [ + { valType: "number", min: 0, max: 1, editType: t.editType }, + { valType: "number", min: 0, max: 1, editType: t.editType }, + ], + dflt: [0, 1], + }, + i = + (t.name && t.name, + t.trace, + e.description && e.description, + { x: n({}, r, {}), y: n({}, r, {}), editType: t.editType }); + return ( + t.noGridCell || + ((i.row = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + }), + (i.column = { + valType: "integer", + min: 0, + dflt: 0, + editType: t.editType, + })), + i + ); + }), + (r.defaults = function (t, e, r, n) { + var i = (n && n.x) || [0, 1], + a = (n && n.y) || [0, 1], + o = e.grid; + if (o) { + var s = r("domain.column"); + void 0 !== s && + (s < o.columns ? (i = o._domains.x[s]) : delete t.domain.column); + var l = r("domain.row"); + void 0 !== l && + (l < o.rows ? (a = o._domains.y[l]) : delete t.domain.row); + } + (r("domain.x", i), r("domain.y", a)); + })); + }, + { "../lib/extend": 591 }, + ], + 674: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + var e = t.editType, + r = t.colorEditType; + void 0 === r && (r = e); + var n = { + family: { valType: "string", noBlank: !0, strict: !0, editType: e }, + size: { valType: "number", min: 1, editType: e }, + color: { valType: "color", editType: r }, + editType: e, + }; + return ( + t.arrayOk && + ((n.family.arrayOk = !0), + (n.size.arrayOk = !0), + (n.color.arrayOk = !0)), + n + ); + }; + }, + {}, + ], + 675: [ + function (t, e, r) { + "use strict"; + e.exports = { + _isLinkedToArray: "frames_entry", + group: { valType: "string" }, + name: { valType: "string" }, + traces: { valType: "any" }, + baseframe: { valType: "string" }, + data: { valType: "any" }, + layout: { valType: "any" }, + }; + }, + {}, + ], + 676: [ + function (t, e, r) { + "use strict"; + ((r.projNames = { + equirectangular: "equirectangular", + mercator: "mercator", + orthographic: "orthographic", + "natural earth": "naturalEarth", + kavrayskiy7: "kavrayskiy7", + miller: "miller", + robinson: "robinson", + eckert4: "eckert4", + "azimuthal equal area": "azimuthalEqualArea", + "azimuthal equidistant": "azimuthalEquidistant", + "conic equal area": "conicEqualArea", + "conic conformal": "conicConformal", + "conic equidistant": "conicEquidistant", + gnomonic: "gnomonic", + stereographic: "stereographic", + mollweide: "mollweide", + hammer: "hammer", + "transverse mercator": "transverseMercator", + "albers usa": "albersUsa", + "winkel tripel": "winkel3", + aitoff: "aitoff", + sinusoidal: "sinusoidal", + }), + (r.axesNames = ["lonaxis", "lataxis"]), + (r.lonaxisSpan = { + orthographic: 180, + "azimuthal equal area": 360, + "azimuthal equidistant": 360, + "conic conformal": 180, + gnomonic: 160, + stereographic: 180, + "transverse mercator": 180, + "*": 360, + }), + (r.lataxisSpan = { + "conic conformal": 150, + stereographic: 179.5, + "*": 180, + }), + (r.scopeDefaults = { + world: { + lonaxisRange: [-180, 180], + lataxisRange: [-90, 90], + projType: "equirectangular", + projRotate: [0, 0, 0], + }, + usa: { + lonaxisRange: [-180, -50], + lataxisRange: [15, 80], + projType: "albers usa", + }, + europe: { + lonaxisRange: [-30, 60], + lataxisRange: [30, 85], + projType: "conic conformal", + projRotate: [15, 0, 0], + projParallels: [0, 60], + }, + asia: { + lonaxisRange: [22, 160], + lataxisRange: [-15, 55], + projType: "mercator", + projRotate: [0, 0, 0], + }, + africa: { + lonaxisRange: [-30, 60], + lataxisRange: [-40, 40], + projType: "mercator", + projRotate: [0, 0, 0], + }, + "north america": { + lonaxisRange: [-180, -45], + lataxisRange: [5, 85], + projType: "conic conformal", + projRotate: [-100, 0, 0], + projParallels: [29.5, 45.5], + }, + "south america": { + lonaxisRange: [-100, -30], + lataxisRange: [-60, 15], + projType: "mercator", + projRotate: [0, 0, 0], + }, + }), + (r.clipPad = 0.001), + (r.precision = 0.1), + (r.landColor = "#F0DC82"), + (r.waterColor = "#3399FF"), + (r.locationmodeToLayer = { + "ISO-3": "countries", + "USA-states": "subunits", + "country names": "countries", + }), + (r.sphereSVG = { type: "Sphere" }), + (r.fillLayers = { ocean: 1, land: 1, lakes: 1 }), + (r.lineLayers = { + subunits: 1, + countries: 1, + coastlines: 1, + rivers: 1, + frame: 1, + }), + (r.layers = [ + "bg", + "ocean", + "land", + "lakes", + "subunits", + "countries", + "coastlines", + "rivers", + "lataxis", + "lonaxis", + "frame", + "backplot", + "frontplot", + ]), + (r.layersForChoropleth = [ + "bg", + "ocean", + "land", + "subunits", + "countries", + "coastlines", + "lataxis", + "lonaxis", + "frame", + "backplot", + "rivers", + "lakes", + "frontplot", + ]), + (r.layerNameToAdjective = { + ocean: "ocean", + land: "land", + lakes: "lake", + subunits: "subunit", + countries: "country", + coastlines: "coastline", + rivers: "river", + frame: "frame", + })); + }, + {}, + ], + 677: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../lib"), + o = t("../../components/color"), + s = t("../../components/drawing"), + l = t("../../components/fx"), + c = t("../plots"), + u = t("../cartesian/axes"), + f = t("../../components/dragelement"), + h = t("../cartesian/select").prepSelect, + p = t("./zoom"), + d = t("./constants"), + g = t("../../lib/topojson_utils"), + m = t("topojson-client").feature; + function v(t) { + ((this.id = t.id), + (this.graphDiv = t.graphDiv), + (this.container = t.container), + (this.topojsonURL = t.topojsonURL), + (this.isStatic = t.staticPlot), + (this.topojsonName = null), + (this.topojson = null), + (this.projection = null), + (this.viewInitial = null), + (this.fitScale = null), + (this.bounds = null), + (this.midPt = null), + (this.hasChoropleth = !1), + (this.traceHash = {}), + (this.layers = {}), + (this.basePaths = {}), + (this.dataPaths = {}), + (this.dataPoints = {}), + (this.clipDef = null), + (this.clipRect = null), + (this.bgRect = null), + this.makeFramework()); + } + t("./projections")(n); + var y = v.prototype; + ((e.exports = function (t) { + return new v(t); + }), + (y.plot = function (t, e, r) { + var n = this, + i = e[this.id], + a = g.getTopojsonName(i); + null === n.topojson || a !== n.topojsonName + ? ((n.topojsonName = a), + void 0 === PlotlyGeoAssets.topojson[n.topojsonName] + ? r.push( + n.fetchTopojson().then(function (r) { + ((PlotlyGeoAssets.topojson[n.topojsonName] = r), + (n.topojson = r), + n.update(t, e)); + }), + ) + : ((n.topojson = PlotlyGeoAssets.topojson[n.topojsonName]), + n.update(t, e))) + : n.update(t, e); + }), + (y.fetchTopojson = function () { + var t = g.getTopojsonPath(this.topojsonURL, this.topojsonName); + return new Promise(function (e, r) { + n.json(t, function (n, i) { + if (n) + return 404 === n.status + ? r( + new Error( + [ + "plotly.js could not find topojson file at", + t, + ".", + "Make sure the *topojsonURL* plot config option", + "is set properly.", + ].join(" "), + ), + ) + : r( + new Error( + [ + "unexpected error while fetching topojson file at", + t, + ].join(" "), + ), + ); + e(i); + }); + }); + }), + (y.update = function (t, e) { + var r = e[this.id]; + if (!this.updateProjection(e, r)) { + this.hasChoropleth = !1; + for (var n = 0; n < t.length; n++) + if ("choropleth" === t[n][0].trace.type) { + this.hasChoropleth = !0; + break; + } + (this.viewInitial || this.saveViewInitial(r), + this.updateBaseLayers(e, r), + this.updateDims(e, r), + this.updateFx(e, r), + c.generalUpdatePerTraceModule(this.graphDiv, this, t, r)); + var i = this.layers.frontplot.select(".scatterlayer"); + ((this.dataPoints.point = i.selectAll(".point")), + (this.dataPoints.text = i.selectAll("text")), + (this.dataPaths.line = i.selectAll(".js-line"))); + var a = this.layers.backplot.select(".choroplethlayer"); + ((this.dataPaths.choropleth = a.selectAll("path")), this.render()); + } + }), + (y.updateProjection = function (t, e) { + var r = t._size, + o = e.domain, + s = e.projection, + l = s.rotation || {}, + c = e.center || {}, + u = (this.projection = (function (t) { + for ( + var e = t.projection.type, + r = n.geo[d.projNames[e]](), + i = t._isClipped ? d.lonaxisSpan[e] / 2 : null, + a = ["center", "rotate", "parallels", "clipExtent"], + o = function (t) { + return t ? r : []; + }, + s = 0; + s < a.length; + s++ + ) { + var l = a[s]; + "function" != typeof r[l] && (r[l] = o); + } + ((r.isLonLatOverEdges = function (t) { + if (null === r(t)) return !0; + if (i) { + var e = r.rotate(); + return n.geo.distance(t, [-e[0], -e[1]]) > (i * Math.PI) / 180; + } + return !1; + }), + (r.getPath = function () { + return n.geo.path().projection(r); + }), + (r.getBounds = function (t) { + return r.getPath().bounds(t); + }), + (r.fitExtent = function (t, e) { + var n = t[1][0] - t[0][0], + i = t[1][1] - t[0][1], + a = r.clipExtent && r.clipExtent(); + (r.scale(150).translate([0, 0]), a && r.clipExtent(null)); + var o = r.getBounds(e), + s = Math.min(n / (o[1][0] - o[0][0]), i / (o[1][1] - o[0][1])), + l = +t[0][0] + (n - s * (o[1][0] + o[0][0])) / 2, + c = +t[0][1] + (i - s * (o[1][1] + o[0][1])) / 2; + return (a && r.clipExtent(a), r.scale(150 * s).translate([l, c])); + }), + r.precision(d.precision), + i && r.clipAngle(i - d.clipPad)); + return r; + })(e)); + u.center([c.lon - l.lon, c.lat - l.lat]) + .rotate([-l.lon, -l.lat, l.roll]) + .parallels(s.parallels); + var f = [ + [r.l + r.w * o.x[0], r.t + r.h * (1 - o.y[1])], + [r.l + r.w * o.x[1], r.t + r.h * (1 - o.y[0])], + ], + h = e.lonaxis, + p = e.lataxis, + g = (function (t, e) { + var r = d.clipPad, + n = t[0] + r, + i = t[1] - r, + a = e[0] + r, + o = e[1] - r; + n > 0 && i < 0 && (i += 360); + var s = (i - n) / 4; + return { + type: "Polygon", + coordinates: [ + [ + [n, a], + [n, o], + [n + s, o], + [n + 2 * s, o], + [n + 3 * s, o], + [i, o], + [i, a], + [i - s, a], + [i - 2 * s, a], + [i - 3 * s, a], + [n, a], + ], + ], + }; + })(h.range, p.range); + u.fitExtent(f, g); + var m = (this.bounds = u.getBounds(g)), + v = (this.fitScale = u.scale()), + y = u.translate(); + if ( + !isFinite(m[0][0]) || + !isFinite(m[0][1]) || + !isFinite(m[1][0]) || + !isFinite(m[1][1]) || + isNaN(y[0]) || + isNaN(y[0]) + ) { + for ( + var x = this.graphDiv, + b = [ + "projection.rotation", + "center", + "lonaxis.range", + "lataxis.range", + ], + _ = "Invalid geo settings, relayout'ing to default view.", + w = {}, + k = 0; + k < b.length; + k++ + ) + w[this.id + "." + b[k]] = null; + return ( + (this.viewInitial = null), + a.warn(_), + x._promises.push(i.call("relayout", x, w)), + _ + ); + } + var M = (this.midPt = [(m[0][0] + m[1][0]) / 2, (m[0][1] + m[1][1]) / 2]); + if ( + (u + .scale(s.scale * v) + .translate([y[0] + (M[0] - y[0]), y[1] + (M[1] - y[1])]) + .clipExtent(m), + e._isAlbersUsa) + ) { + var A = u([c.lon, c.lat]), + T = u.translate(); + u.translate([T[0] - (A[0] - T[0]), T[1] - (A[1] - T[1])]); + } + }), + (y.updateBaseLayers = function (t, e) { + var r = this, + i = r.topojson, + a = r.layers, + l = r.basePaths; + function c(t) { + return "lonaxis" === t || "lataxis" === t; + } + function u(t) { + return Boolean(d.lineLayers[t]); + } + function f(t) { + return Boolean(d.fillLayers[t]); + } + var h = (this.hasChoropleth ? d.layersForChoropleth : d.layers).filter( + function (t) { + return u(t) || f(t) ? e["show" + t] : !c(t) || e[t].showgrid; + }, + ), + p = r.framework.selectAll(".layer").data(h, String); + (p.exit().each(function (t) { + (delete a[t], delete l[t], n.select(this).remove()); + }), + p + .enter() + .append("g") + .attr("class", function (t) { + return "layer " + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + "bg" === t + ? (r.bgRect = e.append("rect").style("pointer-events", "all")) + : c(t) + ? (l[t] = e.append("path").style("fill", "none")) + : "backplot" === t + ? e.append("g").classed("choroplethlayer", !0) + : "frontplot" === t + ? e.append("g").classed("scatterlayer", !0) + : u(t) + ? (l[t] = e + .append("path") + .style("fill", "none") + .style("stroke-miterlimit", 2)) + : f(t) && + (l[t] = e.append("path").style("stroke", "none")); + }), + p.order(), + p.each(function (t) { + var r = l[t], + a = d.layerNameToAdjective[t]; + ("frame" === t + ? r.datum(d.sphereSVG) + : u(t) || f(t) + ? r.datum(m(i, i.objects[t])) + : c(t) && + r + .datum( + (function (t, e) { + var r = e[t].dtick, + i = d.scopeDefaults[e.scope], + a = i.lonaxisRange, + o = i.lataxisRange, + s = "lonaxis" === t ? [r] : [0, r]; + return n.geo + .graticule() + .extent([ + [a[0], o[0]], + [a[1], o[1]], + ]) + .step(s); + })(t, e), + ) + .call(o.stroke, e[t].gridcolor) + .call(s.dashLine, "", e[t].gridwidth), + u(t) + ? r + .call(o.stroke, e[a + "color"]) + .call(s.dashLine, "", e[a + "width"]) + : f(t) && r.call(o.fill, e[a + "color"])); + })); + }), + (y.updateDims = function (t, e) { + var r = this.bounds, + n = (e.framewidth || 0) / 2, + i = r[0][0] - n, + a = r[0][1] - n, + l = r[1][0] - i + n, + c = r[1][1] - a + n; + (s.setRect(this.clipRect, i, a, l, c), + this.bgRect.call(s.setRect, i, a, l, c).call(o.fill, e.bgcolor), + (this.xaxis._offset = i), + (this.xaxis._length = l), + (this.yaxis._offset = a), + (this.yaxis._length = c)); + }), + (y.updateFx = function (t, e) { + var r = this, + a = r.graphDiv, + o = r.bgRect, + s = t.dragmode; + if (!r.isStatic) { + if ("pan" === s) + ((o.node().onmousedown = null), + o.call(p(r, e)), + o.on("dblclick.zoom", function () { + var t = r.viewInitial, + e = {}; + for (var n in t) e[r.id + "." + n] = t[n]; + (i.call("relayout", a, e), a.emit("plotly_doubleclick", null)); + })); + else if ("select" === s || "lasso" === s) { + var c; + (o.on(".zoom", null), + "select" === s + ? (c = function (t, e) { + (t.range = {})[r.id] = [ + d([e.xmin, e.ymin]), + d([e.xmax, e.ymax]), + ]; + }) + : "lasso" === s && + (c = function (t, e, n) { + (t.lassoPoints = {})[r.id] = n.filtered.map(d); + })); + var u = { + element: r.bgRect.node(), + gd: a, + plotinfo: { xaxis: r.xaxis, yaxis: r.yaxis, fillRangeItems: c }, + xaxes: [r.xaxis], + yaxes: [r.yaxis], + subplot: r.id, + clickFn: function (e) { + 2 === e && t._zoomlayer.selectAll(".select-outline").remove(); + }, + prepFn: function (t, e, r) { + h(t, e, r, u, s); + }, + }; + f.init(u); + } + (o.on("mousemove", function () { + var t = r.projection.invert(n.mouse(this)); + if (!t || isNaN(t[0]) || isNaN(t[1])) return f.unhover(a, n.event); + ((r.xaxis.p2c = function () { + return t[0]; + }), + (r.yaxis.p2c = function () { + return t[1]; + }), + l.hover(a, n.event, r.id)); + }), + o.on("mouseout", function () { + f.unhover(a, n.event); + }), + o.on("click", function () { + l.click(a, n.event); + })); + } + function d(t) { + return r.projection.invert([ + t[0] + r.xaxis._offset, + t[1] + r.yaxis._offset, + ]); + } + }), + (y.makeFramework = function () { + var t = this, + e = t.graphDiv._fullLayout, + r = "clip" + e._uid + t.id; + ((t.clipDef = e._clips.append("clipPath").attr("id", r)), + (t.clipRect = t.clipDef.append("rect")), + (t.framework = n + .select(t.container) + .append("g") + .attr("class", "geo " + t.id) + .call(s.setClipUrl, r)), + (t.project = function (e) { + var r = t.projection(e); + return r + ? [r[0] - t.xaxis._offset, r[1] - t.yaxis._offset] + : [null, null]; + }), + (t.xaxis = { + _id: "x", + c2p: function (e) { + return t.project(e)[0]; + }, + }), + (t.yaxis = { + _id: "y", + c2p: function (e) { + return t.project(e)[1]; + }, + }), + (t.mockAxis = { + type: "linear", + showexponent: "all", + exponentformat: "B", + }), + u.setConvert(t.mockAxis, e)); + }), + (y.saveViewInitial = function (t) { + var e = t.center || {}, + r = t.projection, + n = r.rotation || {}; + t._isScoped + ? (this.viewInitial = { + "center.lon": e.lon, + "center.lat": e.lat, + "projection.scale": r.scale, + }) + : t._isClipped + ? (this.viewInitial = { + "projection.scale": r.scale, + "projection.rotation.lon": n.lon, + "projection.rotation.lat": n.lat, + }) + : (this.viewInitial = { + "center.lon": e.lon, + "center.lat": e.lat, + "projection.scale": r.scale, + "projection.rotation.lon": n.lon, + }); + }), + (y.render = function () { + var t, + e = this.projection, + r = e.getPath(); + function n(t) { + var r = e(t.lonlat); + return r ? "translate(" + r[0] + "," + r[1] + ")" : null; + } + function i(t) { + return e.isLonLatOverEdges(t.lonlat) ? "none" : null; + } + for (t in this.basePaths) this.basePaths[t].attr("d", r); + for (t in this.dataPaths) + this.dataPaths[t].attr("d", function (t) { + return r(t.geojson); + }); + for (t in this.dataPoints) + this.dataPoints[t].attr("display", i).attr("transform", n); + })); + }, + { + "../../components/color": 474, + "../../components/dragelement": 496, + "../../components/drawing": 499, + "../../components/fx": 516, + "../../lib": 602, + "../../lib/topojson_utils": 629, + "../../registry": 732, + "../cartesian/axes": 648, + "../cartesian/select": 665, + "../plots": 710, + "./constants": 676, + "./projections": 682, + "./zoom": 683, + d3: 130, + "topojson-client": 418, + }, + ], + 678: [ + function (t, e, r) { + "use strict"; + var n = t("./geo"), + i = t("../../plots/get_data").getSubplotCalcData, + a = t("../../lib").counterRegex, + o = "geo"; + ((r.name = o), + (r.attr = o), + (r.idRoot = o), + (r.idRegex = r.attrRegex = a(o)), + (r.attributes = t("./layout/attributes")), + (r.layoutAttributes = t("./layout/layout_attributes")), + (r.supplyLayoutDefaults = t("./layout/defaults")), + (r.plot = function (t) { + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.geo; + void 0 === window.PlotlyGeoAssets && + (window.PlotlyGeoAssets = { topojson: {} }); + for (var s = 0; s < a.length; s++) { + var l = a[s], + c = i(r, o, l), + u = e[l]._subplot; + (u || + ((u = n({ + id: l, + graphDiv: t, + container: e._geolayer.node(), + topojsonURL: t._context.topojsonURL, + staticPlot: t._context.staticPlot, + })), + (e[l]._subplot = u)), + u.plot(c, e, t._promises)); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.geo || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n[o]._subplot; + !e[o] && s && (s.framework.remove(), s.clipDef.remove()); + } + }), + (r.updateFx = function (t) { + for (var e = t._subplots.geo, r = 0; r < e.length; r++) { + var n = t[e[r]]; + n._subplot.updateFx(t, n); + } + })); + }, + { + "../../lib": 602, + "../../plots/get_data": 684, + "./geo": 677, + "./layout/attributes": 679, + "./layout/defaults": 680, + "./layout/layout_attributes": 681, + }, + ], + 679: [ + function (t, e, r) { + "use strict"; + e.exports = { geo: { valType: "subplotid", dflt: "geo", editType: "calc" } }; + }, + {}, + ], + 680: [ + function (t, e, r) { + "use strict"; + var n = t("../../subplot_defaults"), + i = t("../constants"), + a = t("./layout_attributes"), + o = i.axesNames; + function s(t, e, r) { + var n = r("resolution"), + a = r("scope"), + s = i.scopeDefaults[a], + l = r("projection.type", s.projType), + c = (e._isAlbersUsa = "albers usa" === l); + c && (a = e.scope = "usa"); + var u = (e._isScoped = "world" !== a), + f = (e._isConic = -1 !== l.indexOf("conic")); + e._isClipped = !!i.lonaxisSpan[l]; + for (var h = 0; h < o.length; h++) { + var p, + d = o[h], + g = [30, 10][h]; + if (u) p = s[d + "Range"]; + else { + var m = i[d + "Span"], + v = (m[l] || m["*"]) / 2, + y = r("projection.rotation." + d.substr(0, 3), s.projRotate[h]); + p = [y - v, y + v]; + } + (r(d + ".tick0", r(d + ".range", p)[0]), + r(d + ".dtick", g), + r(d + ".showgrid") && (r(d + ".gridcolor"), r(d + ".gridwidth"))); + } + var x = e.lonaxis.range, + b = e.lataxis.range, + _ = x[0], + w = x[1]; + _ > 0 && w < 0 && (w += 360); + var k, + M, + A, + T = (_ + w) / 2; + if (!c) { + var S = u ? s.projRotate : [T, 0, 0]; + ((k = r("projection.rotation.lon", S[0])), + r("projection.rotation.lat", S[1]), + r("projection.rotation.roll", S[2]), + r("showcoastlines", !u) && (r("coastlinecolor"), r("coastlinewidth")), + r("showocean") && r("oceancolor")); + } + (c ? ((M = -96.6), (A = 38.7)) : ((M = u ? T : k), (A = (b[0] + b[1]) / 2)), + r("center.lon", M), + r("center.lat", A), + f) && r("projection.parallels", s.projParallels || [0, 60]); + (r("projection.scale"), + r("showland") && r("landcolor"), + r("showlakes") && r("lakecolor"), + r("showrivers") && (r("rivercolor"), r("riverwidth")), + r("showcountries", u && "usa" !== a) && + (r("countrycolor"), r("countrywidth")), + ("usa" === a || ("north america" === a && 50 === n)) && + (r("showsubunits", !0), r("subunitcolor"), r("subunitwidth")), + u || (r("showframe", !0) && (r("framecolor"), r("framewidth"))), + r("bgcolor")); + } + e.exports = function (t, e, r) { + n(t, e, r, { + type: "geo", + attributes: a, + handleDefaults: s, + partition: "y", + }); + }; + }, + { + "../../subplot_defaults": 724, + "../constants": 676, + "./layout_attributes": 681, + }, + ], + 681: [ + function (t, e, r) { + "use strict"; + var n = t("../../../components/color/attributes"), + i = t("../../domain").attributes, + a = t("../constants"), + o = t("../../../plot_api/edit_types").overrideAll, + s = { + range: { + valType: "info_array", + items: [{ valType: "number" }, { valType: "number" }], + }, + showgrid: { valType: "boolean", dflt: !1 }, + tick0: { valType: "number" }, + dtick: { valType: "number" }, + gridcolor: { valType: "color", dflt: n.lightLine }, + gridwidth: { valType: "number", min: 0, dflt: 1 }, + }; + e.exports = o( + { + domain: i({ name: "geo" }, {}), + resolution: { + valType: "enumerated", + values: [110, 50], + dflt: 110, + coerceNumber: !0, + }, + scope: { + valType: "enumerated", + values: Object.keys(a.scopeDefaults), + dflt: "world", + }, + projection: { + type: { valType: "enumerated", values: Object.keys(a.projNames) }, + rotation: { + lon: { valType: "number" }, + lat: { valType: "number" }, + roll: { valType: "number" }, + }, + parallels: { + valType: "info_array", + items: [{ valType: "number" }, { valType: "number" }], + }, + scale: { valType: "number", min: 0, dflt: 1 }, + }, + center: { lon: { valType: "number" }, lat: { valType: "number" } }, + showcoastlines: { valType: "boolean" }, + coastlinecolor: { valType: "color", dflt: n.defaultLine }, + coastlinewidth: { valType: "number", min: 0, dflt: 1 }, + showland: { valType: "boolean", dflt: !1 }, + landcolor: { valType: "color", dflt: a.landColor }, + showocean: { valType: "boolean", dflt: !1 }, + oceancolor: { valType: "color", dflt: a.waterColor }, + showlakes: { valType: "boolean", dflt: !1 }, + lakecolor: { valType: "color", dflt: a.waterColor }, + showrivers: { valType: "boolean", dflt: !1 }, + rivercolor: { valType: "color", dflt: a.waterColor }, + riverwidth: { valType: "number", min: 0, dflt: 1 }, + showcountries: { valType: "boolean" }, + countrycolor: { valType: "color", dflt: n.defaultLine }, + countrywidth: { valType: "number", min: 0, dflt: 1 }, + showsubunits: { valType: "boolean" }, + subunitcolor: { valType: "color", dflt: n.defaultLine }, + subunitwidth: { valType: "number", min: 0, dflt: 1 }, + showframe: { valType: "boolean" }, + framecolor: { valType: "color", dflt: n.defaultLine }, + framewidth: { valType: "number", min: 0, dflt: 1 }, + bgcolor: { valType: "color", dflt: n.background }, + lonaxis: s, + lataxis: s, + }, + "plot", + "from-root", + ); + }, + { + "../../../components/color/attributes": 473, + "../../../plot_api/edit_types": 633, + "../../domain": 673, + "../constants": 676, + }, + ], + 682: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + function e(t, e) { + return { + type: "Feature", + id: t.id, + properties: t.properties, + geometry: r(t.geometry, e), + }; + } + function r(e, n) { + if (!e) return null; + if ("GeometryCollection" === e.type) + return { + type: "GeometryCollection", + geometries: object.geometries.map(function (t) { + return r(t, n); + }), + }; + if (!c.hasOwnProperty(e.type)) return null; + var i = c[e.type]; + return (t.geo.stream(e, n(i)), i.result()); + } + t.geo.project = function (t, e) { + var i = e.stream; + if (!i) throw new Error("not yet supported"); + return (t && n.hasOwnProperty(t.type) ? n[t.type] : r)(t, i); + }; + var n = { + Feature: e, + FeatureCollection: function (t, r) { + return { + type: "FeatureCollection", + features: t.features.map(function (t) { + return e(t, r); + }), + }; + }, + }, + i = [], + a = [], + o = { + point: function (t, e) { + i.push([t, e]); + }, + result: function () { + var t = i.length + ? i.length < 2 + ? { type: "Point", coordinates: i[0] } + : { type: "MultiPoint", coordinates: i } + : null; + return ((i = []), t); + }, + }, + s = { + lineStart: u, + point: function (t, e) { + i.push([t, e]); + }, + lineEnd: function () { + i.length && (a.push(i), (i = [])); + }, + result: function () { + var t = a.length + ? a.length < 2 + ? { type: "LineString", coordinates: a[0] } + : { type: "MultiLineString", coordinates: a } + : null; + return ((a = []), t); + }, + }, + l = { + polygonStart: u, + lineStart: u, + point: function (t, e) { + i.push([t, e]); + }, + lineEnd: function () { + var t = i.length; + if (t) { + do { + i.push(i[0].slice()); + } while (++t < 4); + (a.push(i), (i = [])); + } + }, + polygonEnd: u, + result: function () { + if (!a.length) return null; + var t = [], + e = []; + return ( + a.forEach(function (r) { + !(function (t) { + if ((e = t.length) < 4) return !1; + for ( + var e, + r = 0, + n = t[e - 1][1] * t[0][0] - t[e - 1][0] * t[0][1]; + ++r < e; + + ) + n += t[r - 1][1] * t[r][0] - t[r - 1][0] * t[r][1]; + return n <= 0; + })(r) + ? e.push(r) + : t.push([r]); + }), + e.forEach(function (e) { + var r = e[0]; + t.some(function (t) { + if ( + (function (t, e) { + for ( + var r = e[0], + n = e[1], + i = !1, + a = 0, + o = t.length, + s = o - 1; + a < o; + s = a++ + ) { + var l = t[a], + c = l[0], + u = l[1], + f = t[s], + h = f[0], + p = f[1]; + (u > n) ^ (p > n) && + r < ((h - c) * (n - u)) / (p - u) + c && + (i = !i); + } + return i; + })(t[0], r) + ) + return (t.push(e), !0); + }) || t.push([e]); + }), + (a = []), + t.length + ? t.length > 1 + ? { type: "MultiPolygon", coordinates: t } + : { type: "Polygon", coordinates: t[0] } + : null + ); + }, + }, + c = { + Point: o, + MultiPoint: o, + LineString: s, + MultiLineString: s, + Polygon: l, + MultiPolygon: l, + Sphere: l, + }; + function u() {} + var f = 1e-6, + h = f * f, + p = Math.PI, + d = p / 2, + g = (Math.sqrt(p), p / 180), + m = 180 / p; + function v(t) { + return t > 1 ? d : t < -1 ? -d : Math.asin(t); + } + function y(t) { + return t > 1 ? 0 : t < -1 ? p : Math.acos(t); + } + var x = t.geo.projection, + b = t.geo.projectionMutator; + function _(t, e) { + var r = (2 + d) * Math.sin(e); + e /= 2; + for (var n = 0, i = 1 / 0; n < 10 && Math.abs(i) > f; n++) { + var a = Math.cos(e); + e -= i = (e + Math.sin(e) * (a + 2) - r) / (2 * a * (1 + a)); + } + return [ + (2 / Math.sqrt(p * (4 + p))) * t * (1 + Math.cos(e)), + 2 * Math.sqrt(p / (4 + p)) * Math.sin(e), + ]; + } + ((t.geo.interrupt = function (e) { + var r, + n = [ + [ + [ + [-p, 0], + [0, d], + [p, 0], + ], + ], + [ + [ + [-p, 0], + [0, -d], + [p, 0], + ], + ], + ]; + function i(t, r) { + for ( + var i = r < 0 ? -1 : 1, a = n[+(r < 0)], o = 0, s = a.length - 1; + o < s && t > a[o][2][0]; + ++o + ); + var l = e(t - a[o][1][0], r); + return ( + (l[0] += e(a[o][1][0], i * r > i * a[o][0][1] ? a[o][0][1] : r)[0]), + l + ); + } + e.invert && + (i.invert = function (t, a) { + for ( + var o = r[+(a < 0)], s = n[+(a < 0)], c = 0, u = o.length; + c < u; + ++c + ) { + var f = o[c]; + if (f[0][0] <= t && t < f[1][0] && f[0][1] <= a && a < f[1][1]) { + var h = e.invert(t - e(s[c][1][0], 0)[0], a); + return ( + (h[0] += s[c][1][0]), + l(i(h[0], h[1]), [t, a]) ? h : null + ); + } + } + }); + var a = t.geo.projection(i), + o = a.stream; + function s(t, e) { + for (var r, n, i, a = -1, o = t.length, s = t[0], l = []; ++a < o; ) { + ((n = ((r = t[a])[0] - s[0]) / e), (i = (r[1] - s[1]) / e)); + for (var c = 0; c < e; ++c) l.push([s[0] + c * n, s[1] + c * i]); + s = r; + } + return (l.push(r), l); + } + function l(t, e) { + return Math.abs(t[0] - e[0]) < f && Math.abs(t[1] - e[1]) < f; + } + return ( + (a.stream = function (e) { + var r = a.rotate(), + i = o(e), + l = (a.rotate([0, 0]), o(e)); + return ( + a.rotate(r), + (i.sphere = function () { + t.geo.stream( + (function () { + for ( + var e = 1e-6, r = [], i = 0, a = n[0].length; + i < a; + ++i + ) { + var o = n[0][i], + l = (180 * o[0][0]) / p, + c = (180 * o[0][1]) / p, + u = (180 * o[1][1]) / p, + f = (180 * o[2][0]) / p, + h = (180 * o[2][1]) / p; + r.push( + s( + [ + [l + e, c + e], + [l + e, u - e], + [f - e, u - e], + [f - e, h + e], + ], + 30, + ), + ); + } + for (var i = n[1].length - 1; i >= 0; --i) { + var o = n[1][i], + l = (180 * o[0][0]) / p, + c = (180 * o[0][1]) / p, + u = (180 * o[1][1]) / p, + f = (180 * o[2][0]) / p, + h = (180 * o[2][1]) / p; + r.push( + s( + [ + [f - e, h - e], + [f - e, u + e], + [l + e, u + e], + [l + e, c - e], + ], + 30, + ), + ); + } + return { type: "Polygon", coordinates: [t.merge(r)] }; + })(), + l, + ); + }), + i + ); + }), + (a.lobes = function (t) { + return arguments.length + ? ((n = t.map(function (t) { + return t.map(function (t) { + return [ + [(t[0][0] * p) / 180, (t[0][1] * p) / 180], + [(t[1][0] * p) / 180, (t[1][1] * p) / 180], + [(t[2][0] * p) / 180, (t[2][1] * p) / 180], + ]; + }); + })), + (r = n.map(function (t) { + return t.map(function (t) { + var r, + n = e(t[0][0], t[0][1])[0], + i = e(t[2][0], t[2][1])[0], + a = e(t[1][0], t[0][1])[1], + o = e(t[1][0], t[1][1])[1]; + return ( + a > o && ((r = a), (a = o), (o = r)), + [ + [n, a], + [i, o], + ] + ); + }); + })), + a) + : n.map(function (t) { + return t.map(function (t) { + return [ + [(180 * t[0][0]) / p, (180 * t[0][1]) / p], + [(180 * t[1][0]) / p, (180 * t[1][1]) / p], + [(180 * t[2][0]) / p, (180 * t[2][1]) / p], + ]; + }); + }); + }), + a + ); + }), + (_.invert = function (t, e) { + var r = 0.5 * e * Math.sqrt((4 + p) / p), + n = v(r), + i = Math.cos(n); + return [ + t / ((2 / Math.sqrt(p * (4 + p))) * (1 + i)), + v((n + r * (i + 2)) / (2 + d)), + ]; + }), + ((t.geo.eckert4 = function () { + return x(_); + }).raw = _)); + var w = t.geo.azimuthalEqualArea.raw; + function k(t, e) { + if ((arguments.length < 2 && (e = t), 1 === e)) return w; + if (e === 1 / 0) return M; + function r(r, n) { + var i = w(r / e, n); + return ((i[0] *= t), i); + } + return ( + (r.invert = function (r, n) { + var i = w.invert(r / t, n); + return ((i[0] *= e), i); + }), + r + ); + } + function M(t, e) { + return [(t * Math.cos(e)) / Math.cos((e /= 2)), 2 * Math.sin(e)]; + } + function A(t, e) { + return [((3 * t) / (2 * p)) * Math.sqrt((p * p) / 3 - e * e), e]; + } + function T(t, e) { + return [t, 1.25 * Math.log(Math.tan(p / 4 + 0.4 * e))]; + } + function S(t) { + return function (e) { + var r, + n = t * Math.sin(e), + i = 30; + do { + e -= r = (e + Math.sin(e) - n) / (1 + Math.cos(e)); + } while (Math.abs(r) > f && --i > 0); + return e / 2; + }; + } + ((M.invert = function (t, e) { + var r = 2 * v(e / 2); + return [(t * Math.cos(r / 2)) / Math.cos(r), r]; + }), + ((t.geo.hammer = function () { + var t = 2, + e = b(k), + r = e(t); + return ( + (r.coefficient = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r + ); + }).raw = k), + (A.invert = function (t, e) { + return [((2 / 3) * p * t) / Math.sqrt((p * p) / 3 - e * e), e]; + }), + ((t.geo.kavrayskiy7 = function () { + return x(A); + }).raw = A), + (T.invert = function (t, e) { + return [t, 2.5 * Math.atan(Math.exp(0.8 * e)) - 0.625 * p]; + }), + ((t.geo.miller = function () { + return x(T); + }).raw = T), + S(p)); + var C = (function (t, e, r) { + var n = S(r); + function i(r, i) { + return [t * r * Math.cos((i = n(i))), e * Math.sin(i)]; + } + return ( + (i.invert = function (n, i) { + var a = v(i / e); + return [n / (t * Math.cos(a)), v((2 * a + Math.sin(2 * a)) / r)]; + }), + i + ); + })(Math.SQRT2 / d, Math.SQRT2, p); + function E(t, e) { + var r = e * e, + n = r * r; + return [ + t * + (0.8707 - + 0.131979 * r + + n * (n * (0.003971 * r - 0.001529 * n) - 0.013791)), + e * + (1.007226 + + r * (0.015085 + n * (0.028874 * r - 0.044475 - 0.005916 * n))), + ]; + } + (((t.geo.mollweide = function () { + return x(C); + }).raw = C), + (E.invert = function (t, e) { + var r, + n = e, + i = 25; + do { + var a = n * n, + o = a * a; + n -= r = + (n * + (1.007226 + + a * (0.015085 + o * (0.028874 * a - 0.044475 - 0.005916 * o))) - + e) / + (1.007226 + + a * + (0.045255 + o * (0.259866 * a - 0.311325 - 0.005916 * 11 * o))); + } while (Math.abs(r) > f && --i > 0); + return [ + t / + (0.8707 + + (a = n * n) * + (a * (a * a * a * (0.003971 - 0.001529 * a) - 0.013791) - + 0.131979)), + n, + ]; + }), + ((t.geo.naturalEarth = function () { + return x(E); + }).raw = E)); + var L = [ + [0.9986, -0.062], + [1, 0], + [0.9986, 0.062], + [0.9954, 0.124], + [0.99, 0.186], + [0.9822, 0.248], + [0.973, 0.31], + [0.96, 0.372], + [0.9427, 0.434], + [0.9216, 0.4958], + [0.8962, 0.5571], + [0.8679, 0.6176], + [0.835, 0.6769], + [0.7986, 0.7346], + [0.7597, 0.7903], + [0.7186, 0.8435], + [0.6732, 0.8936], + [0.6213, 0.9394], + [0.5722, 0.9761], + [0.5322, 1], + ]; + function z(t, e) { + var r, + n = Math.min(18, (36 * Math.abs(e)) / p), + i = Math.floor(n), + a = n - i, + o = (r = L[i])[0], + s = r[1], + l = (r = L[++i])[0], + c = r[1], + u = (r = L[Math.min(19, ++i)])[0], + f = r[1]; + return [ + t * (l + (a * (u - o)) / 2 + (a * a * (u - 2 * l + o)) / 2), + (e > 0 ? d : -d) * + (c + (a * (f - s)) / 2 + (a * a * (f - 2 * c + s)) / 2), + ]; + } + function P(t, e) { + return [t * Math.cos(e), e]; + } + function D(t, e) { + var r, + n = Math.cos(e), + i = (r = y(n * Math.cos((t /= 2)))) ? r / Math.sin(r) : 1; + return [2 * n * Math.sin(t) * i, Math.sin(e) * i]; + } + function O(t, e) { + var r = D(t, e); + return [(r[0] + t / d) / 2, (r[1] + e) / 2]; + } + (L.forEach(function (t) { + t[1] *= 1.0144; + }), + (z.invert = function (t, e) { + var r = e / d, + n = 90 * r, + i = Math.min(18, Math.abs(n / 5)), + a = Math.max(0, Math.floor(i)); + do { + var o = L[a][1], + s = L[a + 1][1], + l = L[Math.min(19, a + 2)][1], + c = l - o, + u = l - 2 * s + o, + f = (2 * (Math.abs(r) - s)) / c, + p = u / c, + v = f * (1 - p * f * (1 - 2 * p * f)); + if (v >= 0 || 1 === a) { + n = (e >= 0 ? 5 : -5) * (v + i); + var y, + x = 50; + do { + ((v = (i = Math.min(18, Math.abs(n) / 5)) - (a = Math.floor(i))), + (o = L[a][1]), + (s = L[a + 1][1]), + (l = L[Math.min(19, a + 2)][1]), + (n -= + (y = + (e >= 0 ? d : -d) * + (s + (v * (l - o)) / 2 + (v * v * (l - 2 * s + o)) / 2) - + e) * m)); + } while (Math.abs(y) > h && --x > 0); + break; + } + } while (--a >= 0); + var b = L[a][0], + _ = L[a + 1][0], + w = L[Math.min(19, a + 2)][0]; + return [ + t / (_ + (v * (w - b)) / 2 + (v * v * (w - 2 * _ + b)) / 2), + n * g, + ]; + }), + ((t.geo.robinson = function () { + return x(z); + }).raw = z), + (P.invert = function (t, e) { + return [t / Math.cos(e), e]; + }), + ((t.geo.sinusoidal = function () { + return x(P); + }).raw = P), + (D.invert = function (t, e) { + if (!(t * t + 4 * e * e > p * p + f)) { + var r = t, + n = e, + i = 25; + do { + var a, + o = Math.sin(r), + s = Math.sin(r / 2), + l = Math.cos(r / 2), + c = Math.sin(n), + u = Math.cos(n), + h = Math.sin(2 * n), + d = c * c, + g = u * u, + m = s * s, + v = 1 - g * l * l, + x = v ? y(u * l) * Math.sqrt((a = 1 / v)) : (a = 0), + b = 2 * x * u * s - t, + _ = x * c - e, + w = a * (g * m + x * u * l * d), + k = a * (0.5 * o * h - 2 * x * c * s), + M = 0.25 * a * (h * s - x * c * g * o), + A = a * (d * l + x * m * u), + T = k * M - A * w; + if (!T) break; + var S = (_ * k - b * A) / T, + C = (b * M - _ * w) / T; + ((r -= S), (n -= C)); + } while ((Math.abs(S) > f || Math.abs(C) > f) && --i > 0); + return [r, n]; + } + }), + ((t.geo.aitoff = function () { + return x(D); + }).raw = D), + (O.invert = function (t, e) { + var r = t, + n = e, + i = 25; + do { + var a, + o = Math.cos(n), + s = Math.sin(n), + l = Math.sin(2 * n), + c = s * s, + u = o * o, + h = Math.sin(r), + p = Math.cos(r / 2), + g = Math.sin(r / 2), + m = g * g, + v = 1 - u * p * p, + x = v ? y(o * p) * Math.sqrt((a = 1 / v)) : (a = 0), + b = 0.5 * (2 * x * o * g + r / d) - t, + _ = 0.5 * (x * s + n) - e, + w = 0.5 * a * (u * m + x * o * p * c) + 0.5 / d, + k = a * ((h * l) / 4 - x * s * g), + M = 0.125 * a * (l * g - x * s * u * h), + A = 0.5 * a * (c * p + x * m * o) + 0.5, + T = k * M - A * w, + S = (_ * k - b * A) / T, + C = (b * M - _ * w) / T; + ((r -= S), (n -= C)); + } while ((Math.abs(S) > f || Math.abs(C) > f) && --i > 0); + return [r, n]; + }), + ((t.geo.winkel3 = function () { + return x(O); + }).raw = O)); + }; + }, + {}, + ], + 683: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = Math.PI / 180, + o = 180 / Math.PI, + s = { cursor: "pointer" }, + l = { cursor: "auto" }; + function c(t, e) { + return n.behavior.zoom().translate(e.translate()).scale(e.scale()); + } + function u(t, e, r) { + var n = t.id, + a = t.graphDiv, + o = a.layout[n], + s = a._fullLayout[n], + l = {}; + function c(t, e) { + var r = i.nestedProperty(s, t); + r.get() !== e && + (r.set(e), i.nestedProperty(o, t).set(e), (l[n + "." + t] = e)); + } + (r(c), + c("projection.scale", e.scale() / t.fitScale), + a.emit("plotly_relayout", l)); + } + function f(t, e) { + var r = c(0, e); + function i(r) { + var n = e.invert(t.midPt); + (r("center.lon", n[0]), r("center.lat", n[1])); + } + return ( + r + .on("zoomstart", function () { + n.select(this).style(s); + }) + .on("zoom", function () { + (e.scale(n.event.scale).translate(n.event.translate), t.render()); + }) + .on("zoomend", function () { + (n.select(this).style(l), u(t, e, i)); + }), + r + ); + } + function h(t, e) { + var r, + i, + a, + o, + f, + h, + p, + d, + g = c(0, e), + m = 2; + function v(t) { + return e.invert(t); + } + function y(r) { + var n = e.rotate(), + i = e.invert(t.midPt); + (r("projection.rotation.lon", -n[0]), + r("center.lon", i[0]), + r("center.lat", i[1])); + } + return ( + g + .on("zoomstart", function () { + (n.select(this).style(s), + (r = n.mouse(this)), + (i = e.rotate()), + (a = e.translate()), + (o = i), + (f = v(r))); + }) + .on("zoom", function () { + if ( + ((h = n.mouse(this)), + (l = e(v((s = r)))), + Math.abs(l[0] - s[0]) > m || Math.abs(l[1] - s[1]) > m) + ) + return (g.scale(e.scale()), void g.translate(e.translate())); + var s, l; + (e.scale(n.event.scale), + e.translate([a[0], n.event.translate[1]]), + f + ? v(h) && + ((d = v(h)), + (p = [o[0] + (d[0] - f[0]), i[1], i[2]]), + e.rotate(p), + (o = p)) + : (f = v((r = h))), + t.render()); + }) + .on("zoomend", function () { + (n.select(this).style(l), u(t, e, y)); + }), + g + ); + } + function p(t, e) { + var r, + i = { r: e.rotate(), k: e.scale() }, + f = c(0, e), + h = (function (t) { + var e = 0, + r = arguments.length, + i = []; + for (; ++e < r; ) i.push(arguments[e]); + var a = n.dispatch.apply(null, i); + return ( + (a.of = function (e, r) { + return function (i) { + var o; + try { + ((o = i.sourceEvent = n.event), + (i.target = t), + (n.event = i), + a[i.type].apply(e, r)); + } finally { + n.event = o; + } + }; + }), + a + ); + })(f, "zoomstart", "zoom", "zoomend"), + p = 0, + m = f.on; + function x(t) { + var r = e.rotate(); + (t("projection.rotation.lon", -r[0]), + t("projection.rotation.lat", -r[1])); + } + return ( + f + .on("zoomstart", function () { + n.select(this).style(s); + var t, + l, + c, + u, + x, + b, + _, + w, + k, + M, + A, + T = n.mouse(this), + S = e.rotate(), + C = S, + E = e.translate(), + L = + ((l = 0.5 * (t = S)[0] * a), + (c = 0.5 * t[1] * a), + (u = 0.5 * t[2] * a), + (x = Math.sin(l)), + (b = Math.cos(l)), + (_ = Math.sin(c)), + (w = Math.cos(c)), + (k = Math.sin(u)), + (M = Math.cos(u)), + [ + b * w * M + x * _ * k, + x * w * M - b * _ * k, + b * _ * M + x * w * k, + b * w * k - x * _ * M, + ]); + ((r = d(e, T)), + m.call(f, "zoom", function () { + var t, + a, + s, + l, + c, + u, + f, + p, + m, + x, + b = n.mouse(this); + if ((e.scale((i.k = n.event.scale)), r)) { + if (d(e, b)) { + e.rotate(S).translate(E); + var _ = d(e, b), + w = (function (t, e) { + if (!t || !e) return; + var r = (function (t, e) { + return [ + t[1] * e[2] - t[2] * e[1], + t[2] * e[0] - t[0] * e[2], + t[0] * e[1] - t[1] * e[0], + ]; + })(t, e), + n = Math.sqrt(y(r, r)), + i = 0.5 * Math.acos(Math.max(-1, Math.min(1, y(t, e)))), + a = Math.sin(i) / n; + return n && [Math.cos(i), r[2] * a, -r[1] * a, r[0] * a]; + })(r, _), + k = (function (t) { + return [ + Math.atan2( + 2 * (t[0] * t[1] + t[2] * t[3]), + 1 - 2 * (t[1] * t[1] + t[2] * t[2]), + ) * o, + Math.asin( + Math.max( + -1, + Math.min(1, 2 * (t[0] * t[2] - t[3] * t[1])), + ), + ) * o, + Math.atan2( + 2 * (t[0] * t[3] + t[1] * t[2]), + 1 - 2 * (t[2] * t[2] + t[3] * t[3]), + ) * o, + ]; + })( + ((a = w), + (s = (t = L)[0]), + (l = t[1]), + (c = t[2]), + (u = t[3]), + (f = a[0]), + (p = a[1]), + (m = a[2]), + (x = a[3]), + [ + s * f - l * p - c * m - u * x, + s * p + l * f + c * x - u * m, + s * m - l * x + c * f + u * p, + s * x + l * m - c * p + u * f, + ]), + ), + M = (i.r = (function (t, e, r) { + var n = v(e, 2, t[0]); + n = v((n = v(n, 1, t[1])), 0, t[2] - r[2]); + var i, + a, + s = e[0], + l = e[1], + c = e[2], + u = n[0], + f = n[1], + h = n[2], + p = Math.atan2(l, s) * o, + d = Math.sqrt(s * s + l * l); + Math.abs(f) > d + ? ((a = (f > 0 ? 90 : -90) - p), (i = 0)) + : ((a = Math.asin(f / d) * o - p), + (i = Math.sqrt(d * d - f * f))); + var m = 180 - a - 2 * p, + y = (Math.atan2(h, u) - Math.atan2(c, i)) * o, + x = (Math.atan2(h, u) - Math.atan2(c, -i)) * o, + b = g(r[0], r[1], a, y), + _ = g(r[0], r[1], m, x); + return b <= _ ? [a, y, r[2]] : [m, x, r[2]]; + })(k, r, C)); + ((isFinite(M[0]) && isFinite(M[1]) && isFinite(M[2])) || + (M = C), + e.rotate(M), + (C = M)); + } + } else r = d(e, (T = b)); + h.of(this, arguments)({ type: "zoom" }); + }), + (A = h.of(this, arguments)), + p++ || A({ type: "zoomstart" })); + }) + .on("zoomend", function () { + var r; + (n.select(this).style(l), + m.call(f, "zoom", null), + (r = h.of(this, arguments)), + --p || r({ type: "zoomend" }), + u(t, e, x)); + }) + .on("zoom.redraw", function () { + t.render(); + }), + n.rebind(f, h, "on") + ); + } + function d(t, e) { + var r = t.invert(e); + return ( + r && + isFinite(r[0]) && + isFinite(r[1]) && + (function (t) { + var e = t[0] * a, + r = t[1] * a, + n = Math.cos(r); + return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; + })(r) + ); + } + function g(t, e, r, n) { + var i = m(r - t), + a = m(n - e); + return Math.sqrt(i * i + a * a); + } + function m(t) { + return (((t % 360) + 540) % 360) - 180; + } + function v(t, e, r) { + var n = r * a, + i = t.slice(), + o = 0 === e ? 1 : 0, + s = 2 === e ? 1 : 2, + l = Math.cos(n), + c = Math.sin(n); + return ((i[o] = t[o] * l - t[s] * c), (i[s] = t[s] * l + t[o] * c), i); + } + function y(t, e) { + for (var r = 0, n = 0, i = t.length; n < i; ++n) r += t[n] * e[n]; + return r; + } + e.exports = function (t, e) { + var r = t.projection; + return (e._isScoped ? f : e._isClipped ? p : h)(t, r); + }; + }, + { "../../lib": 602, d3: 130 }, + ], + 684: [ + function (t, e, r) { + "use strict"; + var n = t("../registry"), + i = t("./cartesian/constants").SUBPLOT_PATTERN; + ((r.getSubplotCalcData = function (t, e, r) { + var i = n.subplotsRegistry[e]; + if (!i) return []; + for (var a = i.attr, o = [], s = 0; s < t.length; s++) { + var l = t[s]; + l[0].trace[a] === r && o.push(l); + } + return o; + }), + (r.getModuleCalcData = function (t, e) { + var r, + i = [], + a = []; + if ( + !(r = + "string" == typeof e + ? n.getModule(e).plot + : "function" == typeof e + ? e + : e.plot) + ) + return [i, t]; + for (var o = 0; o < t.length; o++) { + var s = t[o], + l = s[0].trace; + !0 === l.visible && (l._module.plot === r ? i.push(s) : a.push(s)); + } + return [i, a]; + }), + (r.getSubplotData = function (t, e, r) { + if (!n.subplotsRegistry[e]) return []; + var a, + o, + s, + l = n.subplotsRegistry[e].attr, + c = []; + if ("gl2d" === e) { + var u = r.match(i); + ((o = "x" + u[1]), (s = "y" + u[2])); + } + for (var f = 0; f < t.length; f++) + ((a = t[f]), + "gl2d" === e && n.traceIs(a, "gl2d") + ? a[l[0]] === o && a[l[1]] === s && c.push(a) + : a[l] === r && c.push(a)); + return c; + }), + (r.getUidsFromCalcData = function (t) { + for (var e = {}, r = 0; r < t.length; r++) { + e[t[r][0].trace.uid] = 1; + } + return e; + })); + }, + { "../registry": 732, "./cartesian/constants": 653 }, + ], + 685: [ + function (t, e, r) { + "use strict"; + var n = t("mouse-change"), + i = t("mouse-wheel"), + a = t("mouse-event-offset"), + o = t("../cartesian/constants"), + s = t("has-passive-events"); + e.exports = function (t) { + var e = t.mouseContainer, + r = t.glplot, + l = new (function (t, e) { + ((this.element = t), + (this.plot = e), + (this.mouseListener = null), + (this.wheelListener = null), + (this.lastInputTime = Date.now()), + (this.lastPos = [0, 0]), + (this.boxEnabled = !1), + (this.boxInited = !1), + (this.boxStart = [0, 0]), + (this.boxEnd = [0, 0]), + (this.dragStart = [0, 0])); + })(e, r); + function c() { + ((t.xaxis.autorange = !1), (t.yaxis.autorange = !1)); + } + function u(e, n, i) { + var a, + s, + u = t.calcDataBox(), + f = r.viewBox, + h = l.lastPos[0], + p = l.lastPos[1], + d = o.MINDRAG * r.pixelRatio, + g = o.MINZOOM * r.pixelRatio; + function m(e, r, n) { + var i = Math.min(r, n), + a = Math.max(r, n); + i !== a + ? ((u[e] = i), (u[e + 2] = a), (l.dataBox = u), t.setRanges(u)) + : ((t.selectBox.selectBox = [0, 0, 1, 1]), t.glplot.setDirty()); + } + switch ( + ((n *= r.pixelRatio), + (i *= r.pixelRatio), + (i = f[3] - f[1] - i), + t.fullLayout.dragmode) + ) { + case "zoom": + if (e) { + var v = (n / (f[2] - f[0])) * (u[2] - u[0]) + u[0], + y = (i / (f[3] - f[1])) * (u[3] - u[1]) + u[1]; + (l.boxInited || + ((l.boxStart[0] = v), + (l.boxStart[1] = y), + (l.dragStart[0] = n), + (l.dragStart[1] = i)), + (l.boxEnd[0] = v), + (l.boxEnd[1] = y), + (l.boxInited = !0), + l.boxEnabled || + (l.boxStart[0] === l.boxEnd[0] && + l.boxStart[1] === l.boxEnd[1]) || + (l.boxEnabled = !0)); + var x = Math.abs(l.dragStart[0] - n) < g, + b = Math.abs(l.dragStart[1] - i) < g; + if ( + !(function () { + for ( + var e = t.graphDiv._fullLayout._axisConstraintGroups, + r = t.xaxis._id, + n = t.yaxis._id, + i = 0; + i < e.length; + i++ + ) + if (-1 !== e[i][r]) { + if (-1 !== e[i][n]) return !0; + break; + } + return !1; + })() || + (x && b) + ) + (x && (l.boxEnd[0] = l.boxStart[0]), + b && (l.boxEnd[1] = l.boxStart[1])); + else { + ((a = l.boxEnd[0] - l.boxStart[0]), + (s = l.boxEnd[1] - l.boxStart[1])); + var _ = (u[3] - u[1]) / (u[2] - u[0]); + Math.abs(a * _) > Math.abs(s) + ? ((l.boxEnd[1] = + l.boxStart[1] + Math.abs(a) * _ * (s >= 0 ? 1 : -1)), + l.boxEnd[1] < u[1] + ? ((l.boxEnd[1] = u[1]), + (l.boxEnd[0] = + l.boxStart[0] + (u[1] - l.boxStart[1]) / Math.abs(_))) + : l.boxEnd[1] > u[3] && + ((l.boxEnd[1] = u[3]), + (l.boxEnd[0] = + l.boxStart[0] + (u[3] - l.boxStart[1]) / Math.abs(_)))) + : ((l.boxEnd[0] = + l.boxStart[0] + (Math.abs(s) / _) * (a >= 0 ? 1 : -1)), + l.boxEnd[0] < u[0] + ? ((l.boxEnd[0] = u[0]), + (l.boxEnd[1] = + l.boxStart[1] + (u[0] - l.boxStart[0]) * Math.abs(_))) + : l.boxEnd[0] > u[2] && + ((l.boxEnd[0] = u[2]), + (l.boxEnd[1] = + l.boxStart[1] + (u[2] - l.boxStart[0]) * Math.abs(_)))); + } + } else + l.boxEnabled + ? ((a = l.boxStart[0] !== l.boxEnd[0]), + (s = l.boxStart[1] !== l.boxEnd[1]), + a || s + ? (a && + (m(0, l.boxStart[0], l.boxEnd[0]), + (t.xaxis.autorange = !1)), + s && + (m(1, l.boxStart[1], l.boxEnd[1]), + (t.yaxis.autorange = !1)), + t.relayoutCallback()) + : t.glplot.setDirty(), + (l.boxEnabled = !1), + (l.boxInited = !1)) + : l.boxInited && (l.boxInited = !1); + break; + case "pan": + ((l.boxEnabled = !1), + (l.boxInited = !1), + e + ? (l.panning || ((l.dragStart[0] = n), (l.dragStart[1] = i)), + Math.abs(l.dragStart[0] - n) < d && (n = l.dragStart[0]), + Math.abs(l.dragStart[1] - i) < d && (i = l.dragStart[1]), + (a = ((h - n) * (u[2] - u[0])) / (r.viewBox[2] - r.viewBox[0])), + (s = ((p - i) * (u[3] - u[1])) / (r.viewBox[3] - r.viewBox[1])), + (u[0] += a), + (u[2] += a), + (u[1] += s), + (u[3] += s), + t.setRanges(u), + (l.panning = !0), + (l.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations()) + : l.panning && ((l.panning = !1), t.relayoutCallback())); + } + ((l.lastPos[0] = n), (l.lastPos[1] = i)); + } + return ( + (l.mouseListener = n(e, u)), + e.addEventListener( + "touchstart", + function (t) { + var r = a(t.changedTouches[0], e); + (u(0, r[0], r[1]), u(1, r[0], r[1]), t.preventDefault()); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchmove", + function (t) { + t.preventDefault(); + var r = a(t.changedTouches[0], e); + (u(1, r[0], r[1]), t.preventDefault()); + }, + !!s && { passive: !1 }, + ), + e.addEventListener( + "touchend", + function (t) { + (u(0, l.lastPos[0], l.lastPos[1]), t.preventDefault()); + }, + !!s && { passive: !1 }, + ), + (l.wheelListener = i( + e, + function (e, n) { + if (!t.scrollZoom) return !1; + var i = t.calcDataBox(), + a = r.viewBox, + o = l.lastPos[0], + s = l.lastPos[1], + u = Math.exp((5 * n) / (a[3] - a[1])), + f = (o / (a[2] - a[0])) * (i[2] - i[0]) + i[0], + h = (s / (a[3] - a[1])) * (i[3] - i[1]) + i[1]; + return ( + (i[0] = (i[0] - f) * u + f), + (i[2] = (i[2] - f) * u + f), + (i[1] = (i[1] - h) * u + h), + (i[3] = (i[3] - h) * u + h), + t.setRanges(i), + (l.lastInputTime = Date.now()), + c(), + t.cameraChanged(), + t.handleAnnotations(), + t.relayoutCallback(), + !0 + ); + }, + !0, + )), + l + ); + }; + }, + { + "../cartesian/constants": 653, + "has-passive-events": 297, + "mouse-change": 320, + "mouse-event-offset": 321, + "mouse-wheel": 323, + }, + ], + 686: [ + function (t, e, r) { + "use strict"; + var n = t("../cartesian/axes"), + i = t("../../lib/html2unicode"), + a = t("../../lib/str2rgbarray"); + function o(t) { + ((this.scene = t), + (this.gl = t.gl), + (this.pixelRatio = t.pixelRatio), + (this.screenBox = [0, 0, 1, 1]), + (this.viewBox = [0, 0, 1, 1]), + (this.dataBox = [-1, -1, 1, 1]), + (this.borderLineEnable = [!1, !1, !1, !1]), + (this.borderLineWidth = [1, 1, 1, 1]), + (this.borderLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.ticks = [[], []]), + (this.tickEnable = [!0, !0, !1, !1]), + (this.tickPad = [15, 15, 15, 15]), + (this.tickAngle = [0, 0, 0, 0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickMarkLength = [0, 0, 0, 0]), + (this.tickMarkWidth = [0, 0, 0, 0]), + (this.tickMarkColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labels = ["x", "y"]), + (this.labelEnable = [!0, !0, !1, !1]), + (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), + (this.labelPad = [15, 15, 15, 15]), + (this.labelSize = [12, 12]), + (this.labelFont = ["sans-serif", "sans-serif"]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.title = ""), + (this.titleEnable = !0), + (this.titleCenter = [0, 0, 0, 0]), + (this.titleAngle = 0), + (this.titleColor = [0, 0, 0, 1]), + (this.titleFont = "sans-serif"), + (this.titleSize = 18), + (this.gridLineEnable = [!0, !0]), + (this.gridLineColor = [ + [0, 0, 0, 0.5], + [0, 0, 0, 0.5], + ]), + (this.gridLineWidth = [1, 1]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [1, 1]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderColor = !1), + (this.backgroundColor = [0, 0, 0, 0]), + (this.static = this.scene.staticPlot)); + } + var s = o.prototype, + l = ["xaxis", "yaxis"]; + ((s.merge = function (t) { + var e, r, n, o, s, c, u, f, h, p, d; + for ( + this.titleEnable = !1, this.backgroundColor = a(t.plot_bgcolor), p = 0; + p < 2; + ++p + ) { + var g = (e = l[p]).charAt(0); + for ( + n = + (r = t[this.scene[e]._name]).title === + this.scene.fullLayout._dfltTitle[g] + ? "" + : r.title, + d = 0; + d <= 2; + d += 2 + ) + ((this.labelEnable[p + d] = !1), + (this.labels[p + d] = i(n)), + (this.labelColor[p + d] = a(r.titlefont.color)), + (this.labelFont[p + d] = r.titlefont.family), + (this.labelSize[p + d] = r.titlefont.size), + (this.labelPad[p + d] = this.getLabelPad(e, r)), + (this.tickEnable[p + d] = !1), + (this.tickColor[p + d] = a((r.tickfont || {}).color)), + (this.tickAngle[p + d] = + "auto" === r.tickangle ? 0 : (Math.PI * -r.tickangle) / 180), + (this.tickPad[p + d] = this.getTickPad(r)), + (this.tickMarkLength[p + d] = 0), + (this.tickMarkWidth[p + d] = r.tickwidth || 0), + (this.tickMarkColor[p + d] = a(r.tickcolor)), + (this.borderLineEnable[p + d] = !1), + (this.borderLineColor[p + d] = a(r.linecolor)), + (this.borderLineWidth[p + d] = r.linewidth || 0)); + ((u = this.hasSharedAxis(r)), + (s = this.hasAxisInDfltPos(e, r) && !u), + (c = this.hasAxisInAltrPos(e, r) && !u), + (o = r.mirror || !1), + (f = u ? -1 !== String(o).indexOf("all") : !!o), + (h = u ? "allticks" === o : -1 !== String(o).indexOf("ticks")), + s ? (this.labelEnable[p] = !0) : c && (this.labelEnable[p + 2] = !0), + s + ? (this.tickEnable[p] = r.showticklabels) + : c && (this.tickEnable[p + 2] = r.showticklabels), + (s || f) && (this.borderLineEnable[p] = r.showline), + (c || f) && (this.borderLineEnable[p + 2] = r.showline), + (s || h) && (this.tickMarkLength[p] = this.getTickMarkLength(r)), + (c || h) && (this.tickMarkLength[p + 2] = this.getTickMarkLength(r)), + (this.gridLineEnable[p] = r.showgrid), + (this.gridLineColor[p] = a(r.gridcolor)), + (this.gridLineWidth[p] = r.gridwidth), + (this.zeroLineEnable[p] = r.zeroline), + (this.zeroLineColor[p] = a(r.zerolinecolor)), + (this.zeroLineWidth[p] = r.zerolinewidth)); + } + }), + (s.hasSharedAxis = function (t) { + var e = this.scene, + r = e.fullLayout._subplots.gl2d; + return 0 !== n.findSubplotsWithAxis(r, t).indexOf(e.id); + }), + (s.hasAxisInDfltPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "bottom" === r + : "yaxis" === t + ? "left" === r + : void 0; + }), + (s.hasAxisInAltrPos = function (t, e) { + var r = e.side; + return "xaxis" === t + ? "top" === r + : "yaxis" === t + ? "right" === r + : void 0; + }), + (s.getLabelPad = function (t, e) { + var r = e.titlefont.size, + n = e.showticklabels; + return "xaxis" === t + ? "top" === e.side + ? r * (1.5 + (n ? 1 : 0)) - 10 + : r * (1.5 + (n ? 0.5 : 0)) - 10 + : "yaxis" === t + ? "right" === e.side + ? 10 + r * (1.5 + (n ? 1 : 0.5)) + : 10 + r * (1.5 + (n ? 0.5 : 0)) + : void 0; + }), + (s.getTickPad = function (t) { + return "outside" === t.ticks ? 10 + t.ticklen : 15; + }), + (s.getTickMarkLength = function (t) { + if (!t.ticks) return 0; + var e = t.ticklen; + return "inside" === t.ticks ? -e : e; + }), + (e.exports = function (t) { + return new o(t); + })); + }, + { + "../../lib/html2unicode": 600, + "../../lib/str2rgbarray": 625, + "../cartesian/axes": 648, + }, + ], + 687: [ + function (t, e, r) { + "use strict"; + var n = t("../../plot_api/edit_types").overrideAll, + i = t("./scene2d"), + a = t("../layout_attributes"), + o = t("../../constants/xmlns_namespaces"), + s = t("../cartesian/constants"), + l = t("../cartesian"), + c = t("../../components/fx/layout_attributes"), + u = t("../get_data").getSubplotData; + ((r.name = "gl2d"), + (r.attr = ["xaxis", "yaxis"]), + (r.idRoot = ["x", "y"]), + (r.idRegex = s.idRegex), + (r.attrRegex = s.attrRegex), + (r.attributes = t("../cartesian/attributes")), + (r.supplyLayoutDefaults = function (t, e, r) { + e._has("cartesian") || l.supplyLayoutDefaults(t, e, r); + }), + (r.layoutAttrOverrides = n(l.layoutAttributes, "plot", "from-root")), + (r.baseLayoutAttrOverrides = n( + { plot_bgcolor: a.plot_bgcolor, hoverlabel: c.hoverlabel }, + "plot", + "nested", + )), + (r.plot = function (t) { + for ( + var e = t._fullLayout, r = t._fullData, n = e._subplots.gl2d, a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = e._plots[o], + l = u(r, "gl2d", o), + c = s._scene2d; + (void 0 === c && + ((c = new i( + { + id: o, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + }, + e, + )), + (s._scene2d = c)), + c.plot(l, t.calcdata, e, t.layout)); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.gl2d || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n._plots[o]; + if (s._scene2d) + 0 === u(t, "gl2d", o).length && + (s._scene2d.destroy(), delete n._plots[o]); + } + l.clean.apply(this, arguments); + }), + (r.drawFramework = function (t) { + t._context.staticPlot || l.drawFramework(t); + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl2d, n = 0; + n < r.length; + n++ + ) { + var i = e._plots[r[n]]._scene2d, + a = i.toImage("png"); + (e._glimages.append("svg:image").attr({ + xmlns: o.svg, + "xlink:href": a, + x: 0, + y: 0, + width: "100%", + height: "100%", + preserveAspectRatio: "none", + }), + i.destroy()); + } + }), + (r.updateFx = function (t) { + for (var e = t._subplots.gl2d, r = 0; r < e.length; r++) { + t._plots[e[r]]._scene2d.updateFx(t.dragmode); + } + })); + }, + { + "../../components/fx/layout_attributes": 517, + "../../constants/xmlns_namespaces": 581, + "../../plot_api/edit_types": 633, + "../cartesian": 659, + "../cartesian/attributes": 646, + "../cartesian/constants": 653, + "../get_data": 684, + "../layout_attributes": 701, + "./scene2d": 688, + }, + ], + 688: [ + function (t, e, r) { + "use strict"; + var n, + i, + a = t("../../registry"), + o = t("../../plots/cartesian/axes"), + s = t("../../components/fx"), + l = t("gl-plot2d"), + c = t("gl-spikes2d"), + u = t("gl-select-box"), + f = t("webgl-context"), + h = t("./convert"), + p = t("./camera"), + d = t("../../lib/html2unicode"), + g = t("../../lib/show_no_webgl_msg"), + m = t("../cartesian/constraints"), + v = m.enforce, + y = m.clean, + x = t("../cartesian/autorange").doAutoRange, + b = ["xaxis", "yaxis"], + _ = t("../cartesian/constants").SUBPLOT_PATTERN; + function w(t, e) { + ((this.container = t.container), + (this.graphDiv = t.graphDiv), + (this.pixelRatio = t.plotGlPixelRatio || window.devicePixelRatio), + (this.id = t.id), + (this.staticPlot = !!t.staticPlot), + (this.scrollZoom = this.graphDiv._context.scrollZoom), + (this.fullData = null), + this.updateRefs(e), + this.makeFramework(), + (this.glplotOptions = h(this)), + this.glplotOptions.merge(e), + (this.glplot = l(this.glplotOptions)), + (this.camera = p(this)), + (this.traces = {}), + (this.spikes = c(this.glplot)), + (this.selectBox = u(this.glplot, { innerFill: !1, outerFill: !0 })), + (this.lastButtonState = 0), + (this.pickResult = null), + (this.isMouseOver = !0), + (this.stopped = !1), + (this.redraw = this.draw.bind(this)), + this.redraw()); + } + e.exports = w; + var k = w.prototype; + ((k.makeFramework = function () { + if (this.staticPlot) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = f({ + canvas: n, + preserveDrawingBuffer: !1, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "Error creating static canvas/context for image server", + ); + ((this.canvas = n), (this.gl = i)); + } else { + var t = this.container.querySelector(".gl-canvas-focus"), + e = f({ canvas: t, preserveDrawingBuffer: !0, premultipliedAlpha: !0 }); + (e || g(this), (this.canvas = t), (this.gl = e)); + } + var r = this.canvas; + ((r.style.width = "100%"), + (r.style.height = "100%"), + (r.style.position = "absolute"), + (r.style.top = "0px"), + (r.style.left = "0px"), + (r.style["pointer-events"] = "none"), + this.updateSize(r), + (r.className += " user-select-none")); + var a = (this.svgContainer = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg", + )); + ((a.style.position = "absolute"), + (a.style.top = a.style.left = "0px"), + (a.style.width = a.style.height = "100%"), + (a.style["z-index"] = 20), + (a.style["pointer-events"] = "none")); + var o = (this.mouseContainer = document.createElement("div")); + ((o.style.position = "absolute"), + (o.style["pointer-events"] = "auto"), + (this.pickCanvas = this.container.querySelector(".gl-canvas-pick"))); + var s = this.container; + (s.appendChild(a), s.appendChild(o)); + var l = this; + (o.addEventListener("mouseout", function () { + ((l.isMouseOver = !1), l.unhover()); + }), + o.addEventListener("mouseover", function () { + l.isMouseOver = !0; + })); + }), + (k.toImage = function (t) { + (t || (t = "png"), + (this.stopped = !0), + this.staticPlot && this.container.appendChild(n), + this.updateSize(this.canvas)); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = e.drawingBufferHeight; + (e.clearColor(1, 1, 1, 0), + e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), + this.glplot.setDirty(), + this.glplot.draw(), + e.bindFramebuffer(e.FRAMEBUFFER, null)); + var a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); + for (var o = 0, s = i - 1; o < s; ++o, --s) + for (var l = 0; l < r; ++l) + for (var c = 0; c < 4; ++c) { + var u = a[4 * (r * o + l) + c]; + ((a[4 * (r * o + l) + c] = a[4 * (r * s + l) + c]), + (a[4 * (r * s + l) + c] = u)); + } + var f = document.createElement("canvas"); + ((f.width = r), (f.height = i)); + var h, + p = f.getContext("2d"), + d = p.createImageData(r, i); + switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { + case "jpeg": + h = f.toDataURL("image/jpeg"); + break; + case "webp": + h = f.toDataURL("image/webp"); + break; + default: + h = f.toDataURL("image/png"); + } + return (this.staticPlot && this.container.removeChild(n), h); + }), + (k.updateSize = function (t) { + t || (t = this.canvas); + var e = this.pixelRatio, + r = this.fullLayout, + n = r.width, + i = r.height, + a = 0 | Math.ceil(e * n), + o = 0 | Math.ceil(e * i); + return ( + (t.width === a && t.height === o) || ((t.width = a), (t.height = o)), + t + ); + }), + (k.computeTickMarks = function () { + (this.xaxis.setScale(), this.yaxis.setScale()); + for ( + var t = [o.calcTicks(this.xaxis), o.calcTicks(this.yaxis)], e = 0; + e < 2; + ++e + ) + for (var r = 0; r < t[e].length; ++r) + t[e][r].text = d(t[e][r].text + ""); + return t; + }), + (k.updateRefs = function (t) { + this.fullLayout = t; + var e = this.id.match(_), + r = "xaxis" + e[1], + n = "yaxis" + e[2]; + ((this.xaxis = this.fullLayout[r]), (this.yaxis = this.fullLayout[n])); + }), + (k.relayoutCallback = function () { + var t = this.graphDiv, + e = this.xaxis, + r = this.yaxis, + n = t.layout; + ((n.xaxis.autorange = e.autorange), + (n.xaxis.range = e.range.slice(0)), + (n.yaxis.autorange = r.autorange), + (n.yaxis.range = r.range.slice(0))); + var i = { lastInputTime: this.camera.lastInputTime }; + ((i[e._name] = e.range.slice(0)), + (i[r._name] = r.range.slice(0)), + t.emit("plotly_relayout", i)); + }), + (k.cameraChanged = function () { + var t = this.camera; + this.glplot.setDataBox(this.calcDataBox()); + var e = this.computeTickMarks(); + (function (t, e) { + for (var r = 0; r < 2; ++r) { + var n = t[r], + i = e[r]; + if (n.length !== i.length) return !0; + for (var a = 0; a < n.length; ++a) if (n[a].x !== i[a].x) return !0; + } + return !1; + })(e, this.glplotOptions.ticks) && + ((this.glplotOptions.ticks = e), + (this.glplotOptions.dataBox = t.dataBox), + this.glplot.update(this.glplotOptions), + this.handleAnnotations()); + }), + (k.handleAnnotations = function () { + for ( + var t = this.graphDiv, e = this.fullLayout.annotations, r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + n.xref === this.xaxis._id && + n.yref === this.yaxis._id && + a.getComponentMethod("annotations", "drawOne")(t, r); + } + }), + (k.destroy = function () { + if (this.glplot) { + var t = this.traces; + (t && + Object.keys(t).map(function (e) { + (t[e].dispose(), delete t[e]); + }), + this.glplot.dispose(), + this.container.removeChild(this.svgContainer), + this.container.removeChild(this.mouseContainer), + (this.fullData = null), + (this.glplot = null), + (this.stopped = !0), + (this.camera.mouseListener.enabled = !1), + this.mouseContainer.removeEventListener( + "wheel", + this.camera.wheelListener, + ), + (this.camera = null)); + } + }), + (k.plot = function (t, e, r) { + var n = this.glplot; + (this.updateRefs(r), + this.xaxis.clearCalc(), + this.yaxis.clearCalc(), + this.updateTraces(t, e), + this.updateFx(r.dragmode)); + var i = r.width, + a = r.height; + this.updateSize(this.canvas); + var o = this.glplotOptions; + (o.merge(r), (o.screenBox = [0, 0, i, a])); + var s = { + _fullLayout: { + _axisConstraintGroups: + this.graphDiv._fullLayout._axisConstraintGroups, + xaxis: this.xaxis, + yaxis: this.yaxis, + }, + }; + (y(s, this.xaxis), y(s, this.yaxis)); + var l, + c, + u = r._size, + f = this.xaxis.domain, + h = this.yaxis.domain; + for ( + o.viewBox = [ + u.l + f[0] * u.w, + u.b + h[0] * u.h, + i - u.r - (1 - f[1]) * u.w, + a - u.t - (1 - h[1]) * u.h, + ], + this.mouseContainer.style.width = u.w * (f[1] - f[0]) + "px", + this.mouseContainer.style.height = u.h * (h[1] - h[0]) + "px", + this.mouseContainer.height = u.h * (h[1] - h[0]), + this.mouseContainer.style.left = u.l + f[0] * u.w + "px", + this.mouseContainer.style.top = u.t + (1 - h[1]) * u.h + "px", + c = 0; + c < 2; + ++c + ) + (((l = this[b[c]])._length = o.viewBox[c + 2] - o.viewBox[c]), + x(l), + l.setScale()); + (v(s), + (o.ticks = this.computeTickMarks()), + (o.dataBox = this.calcDataBox()), + o.merge(r), + n.update(o), + this.glplot.draw()); + }), + (k.calcDataBox = function () { + var t = this.xaxis, + e = this.yaxis, + r = t.range, + n = e.range, + i = t.r2l, + a = e.r2l; + return [i(r[0]), a(n[0]), i(r[1]), a(n[1])]; + }), + (k.setRanges = function (t) { + var e = this.xaxis, + r = this.yaxis, + n = e.l2r, + i = r.l2r; + ((e.range = [n(t[0]), n(t[2])]), (r.range = [i(t[1]), i(t[3])])); + }), + (k.updateTraces = function (t, e) { + var r, + n, + i, + a = Object.keys(this.traces); + this.fullData = t; + t: for (r = 0; r < a.length; r++) { + var o = a[r], + s = this.traces[o]; + for (n = 0; n < t.length; n++) + if ((i = t[n]).uid === o && i.type === s.type) continue t; + (s.dispose(), delete this.traces[o]); + } + for (r = 0; r < t.length; r++) { + i = t[r]; + var l = e[r], + c = this.traces[i.uid]; + c + ? c.update(i, l) + : ((c = i._module.plot(this, i, l)), (this.traces[i.uid] = c)); + } + this.glplot.objects.sort(function (t, e) { + return t._trace.index - e._trace.index; + }); + }), + (k.updateFx = function (t) { + ("lasso" === t || "select" === t + ? ((this.pickCanvas.style["pointer-events"] = "none"), + (this.mouseContainer.style["pointer-events"] = "none")) + : ((this.pickCanvas.style["pointer-events"] = "auto"), + (this.mouseContainer.style["pointer-events"] = "auto")), + (this.mouseContainer.style.cursor = + "pan" === t ? "move" : "zoom" === t ? "crosshair" : null)); + }), + (k.emitPointAction = function (t, e) { + for ( + var r, n = t.trace.uid, i = t.pointIndex, a = 0; + a < this.fullData.length; + a++ + ) + this.fullData[a].uid === n && (r = this.fullData[a]); + var o = { + x: t.traceCoord[0], + y: t.traceCoord[1], + curveNumber: r.index, + pointNumber: i, + data: r._input, + fullData: this.fullData, + xaxis: this.xaxis, + yaxis: this.yaxis, + }; + (s.appendArrayPointValue(o, r, i), + this.graphDiv.emit(e, { points: [o] })); + }), + (k.draw = function () { + if (!this.stopped) { + requestAnimationFrame(this.redraw); + var t = this.glplot, + e = this.camera, + r = e.mouseListener, + n = 1 === this.lastButtonState && 0 === r.buttons, + i = this.fullLayout; + ((this.lastButtonState = r.buttons), this.cameraChanged()); + var a, + o = r.x * t.pixelRatio, + l = this.canvas.height - t.pixelRatio * r.y; + if (e.boxEnabled && "zoom" === i.dragmode) { + this.selectBox.enabled = !0; + for ( + var c = (this.selectBox.selectBox = [ + Math.min(e.boxStart[0], e.boxEnd[0]), + Math.min(e.boxStart[1], e.boxEnd[1]), + Math.max(e.boxStart[0], e.boxEnd[0]), + Math.max(e.boxStart[1], e.boxEnd[1]), + ]), + u = 0; + u < 2; + u++ + ) + e.boxStart[u] === e.boxEnd[u] && + ((c[u] = t.dataBox[u]), (c[u + 2] = t.dataBox[u + 2])); + t.setDirty(); + } else if (!e.panning && this.isMouseOver) { + this.selectBox.enabled = !1; + var f = i._size, + h = this.xaxis.domain, + p = this.yaxis.domain, + d = + (a = t.pick( + o / t.pixelRatio + f.l + h[0] * f.w, + l / t.pixelRatio - (f.t + (1 - p[1]) * f.h), + )) && a.object._trace.handlePick(a); + if ( + (d && n && this.emitPointAction(d, "plotly_click"), + a && + "skip" !== a.object._trace.hoverinfo && + i.hovermode && + d && + (!this.lastPickResult || + this.lastPickResult.traceUid !== d.trace.uid || + this.lastPickResult.dataCoord[0] !== d.dataCoord[0] || + this.lastPickResult.dataCoord[1] !== d.dataCoord[1])) + ) { + var g = d; + ((this.lastPickResult = { + traceUid: d.trace ? d.trace.uid : null, + dataCoord: d.dataCoord.slice(), + }), + this.spikes.update({ center: a.dataCoord }), + (g.screenCoord = [ + (((t.viewBox[2] - t.viewBox[0]) * + (a.dataCoord[0] - t.dataBox[0])) / + (t.dataBox[2] - t.dataBox[0]) + + t.viewBox[0]) / + t.pixelRatio, + (this.canvas.height - + ((t.viewBox[3] - t.viewBox[1]) * + (a.dataCoord[1] - t.dataBox[1])) / + (t.dataBox[3] - t.dataBox[1]) - + t.viewBox[1]) / + t.pixelRatio, + ]), + this.emitPointAction(d, "plotly_hover")); + var m = this.fullData[g.trace.index] || {}, + v = g.pointIndex, + y = s.castHoverinfo(m, i, v); + if (y && "all" !== y) { + var x = y.split("+"); + (-1 === x.indexOf("x") && (g.traceCoord[0] = void 0), + -1 === x.indexOf("y") && (g.traceCoord[1] = void 0), + -1 === x.indexOf("z") && (g.traceCoord[2] = void 0), + -1 === x.indexOf("text") && (g.textLabel = void 0), + -1 === x.indexOf("name") && (g.name = void 0)); + } + s.loneHover( + { + x: g.screenCoord[0], + y: g.screenCoord[1], + xLabel: this.hoverFormatter("xaxis", g.traceCoord[0]), + yLabel: this.hoverFormatter("yaxis", g.traceCoord[1]), + zLabel: g.traceCoord[2], + text: g.textLabel, + name: g.name, + color: s.castHoverOption(m, v, "bgcolor") || g.color, + borderColor: s.castHoverOption(m, v, "bordercolor"), + fontFamily: s.castHoverOption(m, v, "font.family"), + fontSize: s.castHoverOption(m, v, "font.size"), + fontColor: s.castHoverOption(m, v, "font.color"), + }, + { container: this.svgContainer, gd: this.graphDiv }, + ); + } + } + (a || this.unhover(), t.draw()); + } + }), + (k.unhover = function () { + this.lastPickResult && + (this.spikes.update({}), + (this.lastPickResult = null), + this.graphDiv.emit("plotly_unhover"), + s.loneUnhover(this.svgContainer)); + }), + (k.hoverFormatter = function (t, e) { + if (void 0 !== e) { + var r = this[t]; + return o.tickText(r, r.c2l(e), "hover").text; + } + })); + }, + { + "../../components/fx": 516, + "../../lib/html2unicode": 600, + "../../lib/show_no_webgl_msg": 623, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "../cartesian/autorange": 647, + "../cartesian/constants": 653, + "../cartesian/constraints": 655, + "./camera": 685, + "./convert": 686, + "gl-plot2d": 251, + "gl-select-box": 261, + "gl-spikes2d": 270, + "webgl-context": 436, + }, + ], + 689: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + ((t = t || document.body), (e = e || {})); + var r = [0.01, 1 / 0]; + "distanceLimits" in e && + ((r[0] = e.distanceLimits[0]), (r[1] = e.distanceLimits[1])); + "zoomMin" in e && (r[0] = e.zoomMin); + "zoomMax" in e && (r[1] = e.zoomMax); + var c = i({ + center: e.center || [0, 0, 0], + up: e.up || [0, 1, 0], + eye: e.eye || [0, 0, 10], + mode: e.mode || "orbit", + distanceLimits: r, + }), + u = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + f = 0, + h = t.clientWidth, + p = t.clientHeight, + d = { + keyBindingMode: "rotate", + view: c, + element: t, + delay: e.delay || 16, + rotateSpeed: e.rotateSpeed || 1, + zoomSpeed: e.zoomSpeed || 1, + translateSpeed: e.translateSpeed || 1, + flipX: !!e.flipX, + flipY: !!e.flipY, + modes: c.modes, + tick: function () { + var e = n(), + r = this.delay, + i = e - 2 * r; + (c.idle(e - r), c.recalcMatrix(i), c.flush(e - (100 + 2 * r))); + for (var a = !0, o = c.computedMatrix, s = 0; s < 16; ++s) + ((a = a && u[s] === o[s]), (u[s] = o[s])); + var l = t.clientWidth === h && t.clientHeight === p; + return ( + (h = t.clientWidth), + (p = t.clientHeight), + a ? !l : ((f = Math.exp(c.computedRadius[0])), !0) + ); + }, + lookAt: function (t, e, r) { + c.lookAt(c.lastT(), t, e, r); + }, + rotate: function (t, e, r) { + c.rotate(c.lastT(), t, e, r); + }, + pan: function (t, e, r) { + c.pan(c.lastT(), t, e, r); + }, + translate: function (t, e, r) { + c.translate(c.lastT(), t, e, r); + }, + }; + (Object.defineProperties(d, { + matrix: { + get: function () { + return c.computedMatrix; + }, + set: function (t) { + return (c.setMatrix(c.lastT(), t), c.computedMatrix); + }, + enumerable: !0, + }, + mode: { + get: function () { + return c.getMode(); + }, + set: function (t) { + var e = c.computedUp.slice(), + r = c.computedEye.slice(), + i = c.computedCenter.slice(); + if ((c.setMode(t), "turntable" === t)) { + var a = n(); + (c._active.lookAt(a, r, i, e), + c._active.lookAt(a + 500, r, i, [0, 0, 1]), + c._active.flush(a)); + } + return c.getMode(); + }, + enumerable: !0, + }, + center: { + get: function () { + return c.computedCenter; + }, + set: function (t) { + return (c.lookAt(c.lastT(), null, t), c.computedCenter); + }, + enumerable: !0, + }, + eye: { + get: function () { + return c.computedEye; + }, + set: function (t) { + return (c.lookAt(c.lastT(), t), c.computedEye); + }, + enumerable: !0, + }, + up: { + get: function () { + return c.computedUp; + }, + set: function (t) { + return (c.lookAt(c.lastT(), null, null, t), c.computedUp); + }, + enumerable: !0, + }, + distance: { + get: function () { + return f; + }, + set: function (t) { + return (c.setDistance(c.lastT(), t), t); + }, + enumerable: !0, + }, + distanceLimits: { + get: function () { + return c.getDistanceLimits(r); + }, + set: function (t) { + return (c.setDistanceLimits(t), t); + }, + enumerable: !0, + }, + }), + t.addEventListener("contextmenu", function (t) { + return (t.preventDefault(), !1); + })); + var g = 0, + m = 0, + v = { shift: !1, control: !1, alt: !1, meta: !1 }; + function y(e, r, i, a) { + var o = d.keyBindingMode; + if (!1 !== o) { + var s = "rotate" === o, + l = "pan" === o, + u = "zoom" === o, + h = !!a.control, + p = !!a.alt, + y = !!a.shift, + x = !!(1 & e), + b = !!(2 & e), + _ = !!(4 & e), + w = 1 / t.clientHeight, + k = w * (r - g), + M = w * (i - m), + A = d.flipX ? 1 : -1, + T = d.flipY ? 1 : -1, + S = n(), + C = Math.PI * d.rotateSpeed; + if ( + (((s && x && !h && !p && !y) || (x && !h && !p && y)) && + c.rotate(S, A * C * k, -T * C * M, 0), + ((l && x && !h && !p && !y) || b || (x && h && !p && !y)) && + c.pan(S, -d.translateSpeed * k * f, d.translateSpeed * M * f, 0), + (u && x && !h && !p && !y) || _ || (x && !h && p && !y)) + ) { + var E = + ((-d.zoomSpeed * M) / window.innerHeight) * (S - c.lastT()) * 100; + c.pan(S, 0, 0, f * (Math.exp(E) - 1)); + } + return ((g = r), (m = i), (v = a), !0); + } + } + return ( + (d.mouseListener = a(t, y)), + t.addEventListener( + "touchstart", + function (e) { + var r = s(e.changedTouches[0], t); + (y(0, r[0], r[1], v), y(1, r[0], r[1], v), e.preventDefault()); + }, + !!l && { passive: !1 }, + ), + t.addEventListener( + "touchmove", + function (e) { + var r = s(e.changedTouches[0], t); + (y(1, r[0], r[1], v), e.preventDefault()); + }, + !!l && { passive: !1 }, + ), + t.addEventListener( + "touchend", + function (t) { + (y(0, g, m, v), t.preventDefault()); + }, + !!l && { passive: !1 }, + ), + (d.wheelListener = o( + t, + function (t, e) { + if (!1 !== d.keyBindingMode) { + var r = d.flipX ? 1 : -1, + i = d.flipY ? 1 : -1, + a = n(); + if (Math.abs(t) > Math.abs(e)) + c.rotate( + a, + 0, + 0, + (-t * r * Math.PI * d.rotateSpeed) / window.innerWidth, + ); + else { + var o = + (((-d.zoomSpeed * i * e) / window.innerHeight) * + (a - c.lastT())) / + 20; + c.pan(a, 0, 0, f * (Math.exp(o) - 1)); + } + } + }, + !0, + )), + d + ); + }; + var n = t("right-now"), + i = t("3d-view"), + a = t("mouse-change"), + o = t("mouse-wheel"), + s = t("mouse-event-offset"), + l = t("has-passive-events"); + }, + { + "3d-view": 41, + "has-passive-events": 297, + "mouse-change": 320, + "mouse-event-offset": 321, + "mouse-wheel": 323, + "right-now": 382, + }, + ], + 690: [ + function (t, e, r) { + "use strict"; + var n = t("../../plot_api/edit_types").overrideAll, + i = t("../../components/fx/layout_attributes"), + a = t("./scene"), + o = t("../get_data").getSubplotData, + s = t("../../lib"), + l = t("../../constants/xmlns_namespaces"); + ((r.name = "gl3d"), + (r.attr = "scene"), + (r.idRoot = "scene"), + (r.idRegex = r.attrRegex = s.counterRegex("scene")), + (r.attributes = t("./layout/attributes")), + (r.layoutAttributes = t("./layout/layout_attributes")), + (r.baseLayoutAttrOverrides = n( + { hoverlabel: i.hoverlabel }, + "plot", + "nested", + )), + (r.supplyLayoutDefaults = t("./layout/defaults")), + (r.plot = function (t) { + for ( + var e = t._fullLayout, r = t._fullData, n = e._subplots.gl3d, i = 0; + i < n.length; + i++ + ) { + var l = n[i], + c = o(r, "gl3d", l), + u = e[l], + f = u._scene; + (f || + ((f = new a( + { + id: l, + graphDiv: t, + container: t.querySelector(".gl-container"), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + }, + e, + )), + (u._scene = f)), + f.cameraInitial || (f.cameraInitial = s.extendDeep({}, u.camera)), + f.plot(c, e, t.layout)); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.gl3d || [], a = 0; a < i.length; a++) { + var o = i[a]; + !e[o] && + n[o]._scene && + (n[o]._scene.destroy(), + n._infolayer && n._infolayer.selectAll(".annotation-" + o).remove()); + } + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = e._size, i = 0; + i < r.length; + i++ + ) { + var a = e[r[i]], + o = a.domain, + s = a._scene, + c = s.toImage("png"); + (e._glimages.append("svg:image").attr({ + xmlns: l.svg, + "xlink:href": c, + x: n.l + n.w * o.x[0], + y: n.t + n.h * (1 - o.y[1]), + width: n.w * (o.x[1] - o.x[0]), + height: n.h * (o.y[1] - o.y[0]), + preserveAspectRatio: "none", + }), + s.destroy()); + } + }), + (r.cleanId = function (t) { + if (t.match(/^scene[0-9]*$/)) { + var e = t.substr(5); + return ("1" === e && (e = ""), "scene" + e); + } + }), + (r.updateFx = function (t) { + for (var e = t._subplots.gl3d, r = 0; r < e.length; r++) { + t[e[r]]._scene.updateFx(t.dragmode, t.hovermode); + } + })); + }, + { + "../../components/fx/layout_attributes": 517, + "../../constants/xmlns_namespaces": 581, + "../../lib": 602, + "../../plot_api/edit_types": 633, + "../get_data": 684, + "./layout/attributes": 691, + "./layout/defaults": 695, + "./layout/layout_attributes": 696, + "./scene": 700, + }, + ], + 691: [ + function (t, e, r) { + "use strict"; + e.exports = { + scene: { + valType: "subplotid", + dflt: "scene", + editType: "calc+clearAxisTypes", + }, + }; + }, + {}, + ], + 692: [ + function (t, e, r) { + "use strict"; + var n = t("../../../components/color"), + i = t("../../cartesian/layout_attributes"), + a = t("../../../lib/extend").extendFlat, + o = t("../../../plot_api/edit_types").overrideAll; + e.exports = o( + { + visible: i.visible, + showspikes: { valType: "boolean", dflt: !0 }, + spikesides: { valType: "boolean", dflt: !0 }, + spikethickness: { valType: "number", min: 0, dflt: 2 }, + spikecolor: { valType: "color", dflt: n.defaultLine }, + showbackground: { valType: "boolean", dflt: !1 }, + backgroundcolor: { valType: "color", dflt: "rgba(204, 204, 204, 0.5)" }, + showaxeslabels: { valType: "boolean", dflt: !0 }, + color: i.color, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + title: i.title, + titlefont: i.titlefont, + type: i.type, + autorange: i.autorange, + rangemode: i.rangemode, + range: i.range, + tickmode: i.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + mirror: i.mirror, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickprefix: i.tickprefix, + showtickprefix: i.showtickprefix, + ticksuffix: i.ticksuffix, + showticksuffix: i.showticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + separatethousands: i.separatethousands, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + hoverformat: i.hoverformat, + showline: i.showline, + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: i.showgrid, + gridcolor: a({}, i.gridcolor, { dflt: "rgb(204, 204, 204)" }), + gridwidth: i.gridwidth, + zeroline: i.zeroline, + zerolinecolor: i.zerolinecolor, + zerolinewidth: i.zerolinewidth, + }, + "plot", + "from-root", + ); + }, + { + "../../../components/color": 474, + "../../../lib/extend": 591, + "../../../plot_api/edit_types": 633, + "../../cartesian/layout_attributes": 660, + }, + ], + 693: [ + function (t, e, r) { + "use strict"; + var n = t("tinycolor2").mix, + i = t("../../../lib"), + a = t("./axis_attributes"), + o = t("../../cartesian/type_defaults"), + s = t("../../cartesian/axis_defaults"), + l = ["xaxis", "yaxis", "zaxis"]; + e.exports = function (t, e, r) { + var c, u; + function f(t, e) { + return i.coerce(c, u, a, t, e); + } + for (var h = 0; h < l.length; h++) { + var p = l[h]; + ((c = t[p] || {}), + (u = e[p] = { _id: p[0] + r.scene, _name: p }), + o(c, u, f, r.data), + s( + c, + u, + f, + { + font: r.font, + letter: p[0], + data: r.data, + showGrid: !0, + bgColor: r.bgColor, + calendar: r.calendar, + }, + r.fullLayout, + ), + f("gridcolor", n(u.color, r.bgColor, 13600 / 187).toRgbString()), + f("title", p[0]), + (u.setScale = i.noop), + f("showspikes") && + (f("spikesides"), f("spikethickness"), f("spikecolor", u.color)), + f("showaxeslabels"), + f("showbackground") && f("backgroundcolor")); + } + }; + }, + { + "../../../lib": 602, + "../../cartesian/axis_defaults": 650, + "../../cartesian/type_defaults": 671, + "./axis_attributes": 692, + tinycolor2: 415, + }, + ], + 694: [ + function (t, e, r) { + "use strict"; + var n = t("../../../lib/html2unicode"), + i = t("../../../lib/str2rgbarray"), + a = ["xaxis", "yaxis", "zaxis"]; + function o() { + ((this.bounds = [ + [-10, -10, -10], + [10, 10, 10], + ]), + (this.ticks = [[], [], []]), + (this.tickEnable = [!0, !0, !0]), + (this.tickFont = ["sans-serif", "sans-serif", "sans-serif"]), + (this.tickSize = [12, 12, 12]), + (this.tickAngle = [0, 0, 0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [18, 18, 18]), + (this.labels = ["x", "y", "z"]), + (this.labelEnable = [!0, !0, !0]), + (this.labelFont = ["Open Sans", "Open Sans", "Open Sans"]), + (this.labelSize = [20, 20, 20]), + (this.labelAngle = [0, 0, 0]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [30, 30, 30]), + (this.lineEnable = [!0, !0, !0]), + (this.lineMirror = [!1, !1, !1]), + (this.lineWidth = [1, 1, 1]), + (this.lineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.lineTickEnable = [!0, !0, !0]), + (this.lineTickMirror = [!1, !1, !1]), + (this.lineTickLength = [10, 10, 10]), + (this.lineTickWidth = [1, 1, 1]), + (this.lineTickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.gridEnable = [!0, !0, !0]), + (this.gridWidth = [1, 1, 1]), + (this.gridColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroEnable = [!0, !0, !0]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroLineWidth = [2, 2, 2]), + (this.backgroundEnable = [!0, !0, !0]), + (this.backgroundColor = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._defaultTickPad = this.tickPad.slice()), + (this._defaultLabelPad = this.labelPad.slice()), + (this._defaultLineTickLength = this.lineTickLength.slice())); + } + ((o.prototype.merge = function (t) { + for (var e = 0; e < 3; ++e) { + var r = t[a[e]]; + r.visible + ? ((this.labels[e] = n(r.title)), + "titlefont" in r && + (r.titlefont.color && (this.labelColor[e] = i(r.titlefont.color)), + r.titlefont.family && (this.labelFont[e] = r.titlefont.family), + r.titlefont.size && (this.labelSize[e] = r.titlefont.size)), + "showline" in r && (this.lineEnable[e] = r.showline), + "linecolor" in r && (this.lineColor[e] = i(r.linecolor)), + "linewidth" in r && (this.lineWidth[e] = r.linewidth), + "showgrid" in r && (this.gridEnable[e] = r.showgrid), + "gridcolor" in r && (this.gridColor[e] = i(r.gridcolor)), + "gridwidth" in r && (this.gridWidth[e] = r.gridwidth), + "log" === r.type + ? (this.zeroEnable[e] = !1) + : "zeroline" in r && (this.zeroEnable[e] = r.zeroline), + "zerolinecolor" in r && (this.zeroLineColor[e] = i(r.zerolinecolor)), + "zerolinewidth" in r && (this.zeroLineWidth[e] = r.zerolinewidth), + "ticks" in r && r.ticks + ? (this.lineTickEnable[e] = !0) + : (this.lineTickEnable[e] = !1), + "ticklen" in r && + (this.lineTickLength[e] = this._defaultLineTickLength[e] = + r.ticklen), + "tickcolor" in r && (this.lineTickColor[e] = i(r.tickcolor)), + "tickwidth" in r && (this.lineTickWidth[e] = r.tickwidth), + "tickangle" in r && + (this.tickAngle[e] = + "auto" === r.tickangle ? 0 : (Math.PI * -r.tickangle) / 180), + "showticklabels" in r && (this.tickEnable[e] = r.showticklabels), + "tickfont" in r && + (r.tickfont.color && (this.tickColor[e] = i(r.tickfont.color)), + r.tickfont.family && (this.tickFont[e] = r.tickfont.family), + r.tickfont.size && (this.tickSize[e] = r.tickfont.size)), + "mirror" in r + ? -1 !== ["ticks", "all", "allticks"].indexOf(r.mirror) + ? ((this.lineTickMirror[e] = !0), (this.lineMirror[e] = !0)) + : !0 === r.mirror + ? ((this.lineTickMirror[e] = !1), (this.lineMirror[e] = !0)) + : ((this.lineTickMirror[e] = !1), (this.lineMirror[e] = !1)) + : (this.lineMirror[e] = !1), + "showbackground" in r && !1 !== r.showbackground + ? ((this.backgroundEnable[e] = !0), + (this.backgroundColor[e] = i(r.backgroundcolor))) + : (this.backgroundEnable[e] = !1)) + : ((this.tickEnable[e] = !1), + (this.labelEnable[e] = !1), + (this.lineEnable[e] = !1), + (this.lineTickEnable[e] = !1), + (this.gridEnable[e] = !1), + (this.zeroEnable[e] = !1), + (this.backgroundEnable[e] = !1)); + } + }), + (e.exports = function (t) { + var e = new o(); + return (e.merge(t), e); + })); + }, + { "../../../lib/html2unicode": 600, "../../../lib/str2rgbarray": 625 }, + ], + 695: [ + function (t, e, r) { + "use strict"; + var n = t("../../../lib"), + i = t("../../../components/color"), + a = t("../../../registry"), + o = t("../../subplot_defaults"), + s = t("./axis_defaults"), + l = t("./layout_attributes"); + function c(t, e, r, n) { + for ( + var o = r("bgcolor"), + l = i.combine(o, n.paper_bgcolor), + c = ["up", "center", "eye"], + u = 0; + u < c.length; + u++ + ) + (r("camera." + c[u] + ".x"), + r("camera." + c[u] + ".y"), + r("camera." + c[u] + ".z")); + var f = + !!r("aspectratio.x") && !!r("aspectratio.y") && !!r("aspectratio.z"), + h = r("aspectmode", f ? "manual" : "auto"); + (f || + ((t.aspectratio = e.aspectratio = { x: 1, y: 1, z: 1 }), + "manual" === h && (e.aspectmode = "auto"), + (t.aspectmode = e.aspectmode)), + s(t, e, { + font: n.font, + scene: n.id, + data: n.fullData, + bgColor: l, + calendar: n.calendar, + fullLayout: n.fullLayout, + }), + a.getComponentMethod("annotations3d", "handleDefaults")(t, e, n), + r("dragmode", n.getDfltFromLayout("dragmode")), + r("hovermode", n.getDfltFromLayout("hovermode"))); + } + e.exports = function (t, e, r) { + var i = e._basePlotModules.length > 1; + o(t, e, r, { + type: "gl3d", + attributes: l, + handleDefaults: c, + fullLayout: e, + font: e.font, + fullData: r, + getDfltFromLayout: function (e) { + if (!i) return n.validate(t[e], l[e]) ? t[e] : void 0; + }, + paper_bgcolor: e.paper_bgcolor, + calendar: e.calendar, + }); + }; + }, + { + "../../../components/color": 474, + "../../../lib": 602, + "../../../registry": 732, + "../../subplot_defaults": 724, + "./axis_defaults": 693, + "./layout_attributes": 696, + }, + ], + 696: [ + function (t, e, r) { + "use strict"; + var n = t("./axis_attributes"), + i = t("../../domain").attributes, + a = t("../../../lib/extend").extendFlat, + o = t("../../../lib").counterRegex; + function s(t, e, r) { + return { + x: { valType: "number", dflt: t, editType: "camera" }, + y: { valType: "number", dflt: e, editType: "camera" }, + z: { valType: "number", dflt: r, editType: "camera" }, + editType: "camera", + }; + } + e.exports = { + _arrayAttrRegexps: [o("scene", ".annotations", !0)], + bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)", editType: "plot" }, + camera: { + up: a(s(0, 0, 1), {}), + center: a(s(0, 0, 0), {}), + eye: a(s(1.25, 1.25, 1.25), {}), + editType: "camera", + }, + domain: i({ name: "scene", editType: "plot" }), + aspectmode: { + valType: "enumerated", + values: ["auto", "cube", "data", "manual"], + dflt: "auto", + editType: "plot", + impliedEdits: { + "aspectratio.x": void 0, + "aspectratio.y": void 0, + "aspectratio.z": void 0, + }, + }, + aspectratio: { + x: { + valType: "number", + min: 0, + editType: "plot", + impliedEdits: { "^aspectmode": "manual" }, + }, + y: { + valType: "number", + min: 0, + editType: "plot", + impliedEdits: { "^aspectmode": "manual" }, + }, + z: { + valType: "number", + min: 0, + editType: "plot", + impliedEdits: { "^aspectmode": "manual" }, + }, + editType: "plot", + impliedEdits: { aspectmode: "manual" }, + }, + xaxis: n, + yaxis: n, + zaxis: n, + dragmode: { + valType: "enumerated", + values: ["orbit", "turntable", "zoom", "pan", !1], + dflt: "turntable", + editType: "plot", + }, + hovermode: { + valType: "enumerated", + values: ["closest", !1], + dflt: "closest", + editType: "modebar", + }, + editType: "plot", + _deprecated: { + cameraposition: { valType: "info_array", editType: "camera" }, + }, + }; + }, + { + "../../../lib": 602, + "../../../lib/extend": 591, + "../../domain": 673, + "./axis_attributes": 692, + }, + ], + 697: [ + function (t, e, r) { + "use strict"; + var n = t("../../../lib/str2rgbarray"), + i = ["xaxis", "yaxis", "zaxis"]; + function a() { + ((this.enabled = [!0, !0, !0]), + (this.colors = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.drawSides = [!0, !0, !0]), + (this.lineWidth = [1, 1, 1])); + } + ((a.prototype.merge = function (t) { + for (var e = 0; e < 3; ++e) { + var r = t[i[e]]; + r.visible + ? ((this.enabled[e] = r.showspikes), + (this.colors[e] = n(r.spikecolor)), + (this.drawSides[e] = r.spikesides), + (this.lineWidth[e] = r.spikethickness)) + : ((this.enabled[e] = !1), (this.drawSides[e] = !1)); + } + }), + (e.exports = function (t) { + var e = new a(); + return (e.merge(t), e); + })); + }, + { "../../../lib/str2rgbarray": 625 }, + ], + 698: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for ( + var e = t.axesOptions, + r = t.glplot.axesPixels, + l = t.fullSceneLayout, + c = [[], [], []], + u = 0; + u < 3; + ++u + ) { + var f = l[o[u]]; + if ( + ((f._length = + ((r[u].hi - r[u].lo) * r[u].pixelsPerDataUnit) / t.dataScale[u]), + Math.abs(f._length) === 1 / 0) + ) + c[u] = []; + else { + ((f._input_range = f.range.slice()), + (f.range[0] = r[u].lo / t.dataScale[u]), + (f.range[1] = r[u].hi / t.dataScale[u]), + (f._m = 1 / (t.dataScale[u] * r[u].pixelsPerDataUnit)), + f.range[0] === f.range[1] && ((f.range[0] -= 1), (f.range[1] += 1))); + var h = f.tickmode; + if ("auto" === f.tickmode) { + f.tickmode = "linear"; + var p = f.nticks || i.constrain(f._length / 40, 4, 9); + n.autoTicks(f, Math.abs(f.range[1] - f.range[0]) / p); + } + for (var d = n.calcTicks(f), g = 0; g < d.length; ++g) + ((d[g].x = d[g].x * t.dataScale[u]), (d[g].text = a(d[g].text))); + ((c[u] = d), (f.tickmode = h)); + } + } + e.ticks = c; + for (var u = 0; u < 3; ++u) { + s[u] = 0.5 * (t.glplot.bounds[0][u] + t.glplot.bounds[1][u]); + for (var g = 0; g < 2; ++g) e.bounds[g][u] = t.glplot.bounds[g][u]; + } + t.contourLevels = (function (t) { + for (var e = new Array(3), r = 0; r < 3; ++r) { + for (var n = t[r], i = new Array(n.length), a = 0; a < n.length; ++a) + i[a] = n[a].x; + e[r] = i; + } + return e; + })(c); + }; + var n = t("../../cartesian/axes"), + i = t("../../../lib"), + a = t("../../../lib/html2unicode"), + o = ["xaxis", "yaxis", "zaxis"], + s = [0, 0, 0]; + }, + { + "../../../lib": 602, + "../../../lib/html2unicode": 600, + "../../cartesian/axes": 648, + }, + ], + 699: [ + function (t, e, r) { + "use strict"; + function n(t, e) { + var r, + n, + i = [0, 0, 0, 0]; + for (r = 0; r < 4; ++r) for (n = 0; n < 4; ++n) i[n] += t[4 * r + n] * e[r]; + return i; + } + e.exports = function (t, e) { + return n(t.projection, n(t.view, n(t.model, [e[0], e[1], e[2], 1]))); + }; + }, + {}, + ], + 700: [ + function (t, e, r) { + "use strict"; + var n, + i, + a = t("gl-plot3d"), + o = t("webgl-context"), + s = t("has-passive-events"), + l = t("../../registry"), + c = t("../../lib"), + u = t("../../plots/cartesian/axes"), + f = t("../../components/fx"), + h = t("../../lib/str2rgbarray"), + p = t("../../lib/show_no_webgl_msg"), + d = t("./camera"), + g = t("./project"), + m = t("./layout/convert"), + v = t("./layout/spikes"), + y = t("./layout/tick_marks"); + function x(t, e, r, l) { + var h = { + canvas: r, + gl: l, + container: t.container, + axes: t.axesOptions, + spikes: t.spikeOptions, + pickRadius: 10, + snapToData: !0, + autoScale: !0, + autoBounds: !1, + }; + if (t.staticMode) { + if ( + !( + i || + ((n = document.createElement("canvas")), + (i = o({ + canvas: n, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + "error creating static canvas/context for image server", + ); + ((h.pixelRatio = t.pixelRatio), (h.gl = i), (h.canvas = n)); + } + try { + t.glplot = a(h); + } catch (e) { + p(t); + } + var m = function (t) { + if (!1 !== t.fullSceneLayout.dragmode) { + var e = {}; + ((e[t.id + ".camera"] = A(t.camera)), + t.saveCamera(t.graphDiv.layout), + t.graphDiv.emit("plotly_relayout", e)); + } + }; + if ( + (t.glplot.canvas.addEventListener("mouseup", m.bind(null, t)), + t.glplot.canvas.addEventListener( + "wheel", + m.bind(null, t), + !!s && { passive: !1 }, + ), + t.staticMode || + t.glplot.canvas.addEventListener("webglcontextlost", function (t) { + (c.warn("Lost WebGL context."), t.preventDefault()); + }), + !t.camera) + ) { + var v = t.fullSceneLayout.camera; + t.camera = d(t.container, { + center: [v.center.x, v.center.y, v.center.z], + eye: [v.eye.x, v.eye.y, v.eye.z], + up: [v.up.x, v.up.y, v.up.z], + zoomMin: 0.1, + zoomMax: 100, + mode: "orbit", + }); + } + return ( + (t.glplot.camera = t.camera), + (t.glplot.oncontextloss = function () { + t.recoverContext(); + }), + (t.glplot.onrender = function (t) { + var e, + r = t.svgContainer, + n = t.container.getBoundingClientRect(), + i = n.width, + a = n.height; + (r.setAttributeNS(null, "viewBox", "0 0 " + i + " " + a), + r.setAttributeNS(null, "width", i), + r.setAttributeNS(null, "height", a), + y(t), + t.glplot.axes.update(t.axesOptions)); + for ( + var o, + s = Object.keys(t.traces), + l = null, + c = t.glplot.selection, + h = 0; + h < s.length; + ++h + ) + ("skip" !== (e = t.traces[s[h]]).data.hoverinfo && + e.handlePick(c) && + (l = e), + e.setContourLevels && e.setContourLevels()); + function p(e, r) { + var n = t.fullSceneLayout[e]; + return u.tickText(n, n.d2l(r), "hover").text; + } + if (null !== l) { + var d = g(t.glplot.cameraParams, c.dataCoordinate); + e = l.data; + var m = c.index, + v = f.castHoverinfo(e, t.fullLayout, m), + x = p("xaxis", c.traceCoordinate[0]), + b = p("yaxis", c.traceCoordinate[1]), + _ = p("zaxis", c.traceCoordinate[2]); + if ("all" !== v) { + var w = v.split("+"); + (-1 === w.indexOf("x") && (x = void 0), + -1 === w.indexOf("y") && (b = void 0), + -1 === w.indexOf("z") && (_ = void 0), + -1 === w.indexOf("text") && (c.textLabel = void 0), + -1 === w.indexOf("name") && (l.name = void 0)); + } + t.fullSceneLayout.hovermode && + f.loneHover( + { + x: (0.5 + (0.5 * d[0]) / d[3]) * i, + y: (0.5 - (0.5 * d[1]) / d[3]) * a, + xLabel: x, + yLabel: b, + zLabel: _, + text: c.textLabel, + name: l.name, + color: f.castHoverOption(e, m, "bgcolor") || l.color, + borderColor: f.castHoverOption(e, m, "bordercolor"), + fontFamily: f.castHoverOption(e, m, "font.family"), + fontSize: f.castHoverOption(e, m, "font.size"), + fontColor: f.castHoverOption(e, m, "font.color"), + }, + { container: r, gd: t.graphDiv }, + ); + var k = { + x: c.traceCoordinate[0], + y: c.traceCoordinate[1], + z: c.traceCoordinate[2], + data: e._input, + fullData: e, + curveNumber: e.index, + pointNumber: m, + }; + f.appendArrayPointValue(k, e, m); + var M = { points: [k] }; + (c.buttons && c.distance < 5 + ? t.graphDiv.emit("plotly_click", M) + : t.graphDiv.emit("plotly_hover", M), + (o = M)); + } else (f.loneUnhover(r), t.graphDiv.emit("plotly_unhover", o)); + t.drawAnnotations(t); + }.bind(null, t)), + (t.traces = {}), + !0 + ); + } + function b(t, e) { + var r = document.createElement("div"), + n = t.container; + this.graphDiv = t.graphDiv; + var i = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + ((i.style.position = "absolute"), + (i.style.top = i.style.left = "0px"), + (i.style.width = i.style.height = "100%"), + (i.style["z-index"] = 20), + (i.style["pointer-events"] = "none"), + r.appendChild(i), + (this.svgContainer = i), + (r.id = t.id), + (r.style.position = "absolute"), + (r.style.top = r.style.left = "0px"), + (r.style.width = r.style.height = "100%"), + n.appendChild(r), + (this.fullLayout = e), + (this.id = t.id || "scene"), + (this.fullSceneLayout = e[this.id]), + (this.plotArgs = [[], {}, {}]), + (this.axesOptions = m(e[this.id])), + (this.spikeOptions = v(e[this.id])), + (this.container = r), + (this.staticMode = !!t.staticPlot), + (this.pixelRatio = t.plotGlPixelRatio || 2), + (this.dataScale = [1, 1, 1]), + (this.contourLevels = [[], [], []]), + (this.convertAnnotations = l.getComponentMethod( + "annotations3d", + "convert", + )), + (this.drawAnnotations = l.getComponentMethod("annotations3d", "draw")), + x(this)); + } + var _ = b.prototype; + _.recoverContext = function () { + var t = this, + e = this.glplot.gl, + r = this.glplot.canvas; + (this.glplot.dispose(), + requestAnimationFrame(function n() { + e.isContextLost() + ? requestAnimationFrame(n) + : x(t, t.fullLayout, r, e) + ? t.plot.apply(t, t.plotArgs) + : c.error( + "Catastrophic and unrecoverable WebGL error. Context lost.", + ); + })); + }; + var w = ["xaxis", "yaxis", "zaxis"]; + function k(t, e, r, n, i, a) { + var o; + if (!c.isArrayOrTypedArray(e)) + return ( + (i[0][n] = Math.min(i[0][n], 0)), + void (i[1][n] = Math.max(i[1][n], r - 1)) + ); + for (var s = 0; s < (r || e.length); ++s) + if (c.isArrayOrTypedArray(e[s])) + for (var l = 0; l < e[s].length; ++l) + ((o = t.d2l(e[s][l], 0, a)), + !isNaN(o) && + isFinite(o) && + ((i[0][n] = Math.min(i[0][n], o)), + (i[1][n] = Math.max(i[1][n], o)))); + else + ((o = t.d2l(e[s], 0, a)), + !isNaN(o) && + isFinite(o) && + ((i[0][n] = Math.min(i[0][n], o)), + (i[1][n] = Math.max(i[1][n], o)))); + } + function M(t, e, r) { + var n = t.fullSceneLayout; + (k(n.xaxis, e.x, e._xlength, 0, r, e.xcalendar), + k(n.yaxis, e.y, e._ylength, 1, r, e.ycalendar), + k(n.zaxis, e.z, e._zlength, 2, r, e.zcalendar)); + } + function A(t) { + return { + up: { x: t.up[0], y: t.up[1], z: t.up[2] }, + center: { x: t.center[0], y: t.center[1], z: t.center[2] }, + eye: { x: t.eye[0], y: t.eye[1], z: t.eye[2] }, + }; + } + ((_.plot = function (t, e, r) { + if (((this.plotArgs = [t, e, r]), !this.glplot.contextLost)) { + var n, + i, + a, + o, + s, + l, + c = e[this.id], + u = r[this.id]; + (c.bgcolor + ? (this.glplot.clearColor = h(c.bgcolor)) + : (this.glplot.clearColor = [0, 0, 0, 0]), + (this.glplot.snapToData = !0), + (this.fullLayout = e), + (this.fullSceneLayout = c), + (this.glplotLayout = c), + this.axesOptions.merge(c), + this.spikeOptions.merge(c), + this.setCamera(c.camera), + this.updateFx(c.dragmode, c.hovermode), + this.glplot.update({}), + this.setConvert(s), + t ? Array.isArray(t) || (t = [t]) : (t = [])); + var f = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (a = 0; a < t.length; ++a) !0 === (n = t[a]).visible && M(this, n, f); + var p = [1, 1, 1]; + for (o = 0; o < 3; ++o) + f[0][o] > f[1][o] + ? (p[o] = 1) + : f[1][o] === f[0][o] + ? (p[o] = 1) + : (p[o] = 1 / (f[1][o] - f[0][o])); + for ( + this.dataScale = p, this.convertAnnotations(this), a = 0; + a < t.length; + ++a + ) + !0 === (n = t[a]).visible && + ((i = this.traces[n.uid]) + ? i.update(n) + : ((i = n._module.plot(this, n)), (this.traces[n.uid] = i)), + (i.name = n.name)); + var d = Object.keys(this.traces); + t: for (a = 0; a < d.length; ++a) { + for (o = 0; o < t.length; ++o) + if (t[o].uid === d[a] && !0 === t[o].visible) continue t; + ((i = this.traces[d[a]]).dispose(), delete this.traces[d[a]]); + } + this.glplot.objects.sort(function (t, e) { + return t._trace.data.index - e._trace.data.index; + }); + var g = [ + [0, 0, 0], + [0, 0, 0], + ], + m = [], + v = {}; + for (a = 0; a < 3; ++a) { + if ( + ((l = (s = c[w[a]]).type) in v + ? ((v[l].acc *= p[a]), (v[l].count += 1)) + : (v[l] = { acc: p[a], count: 1 }), + s.autorange) + ) { + ((g[0][a] = 1 / 0), (g[1][a] = -1 / 0)); + var y = this.glplot.objects, + x = this.fullSceneLayout.annotations || [], + b = s._name.charAt(0); + for (o = 0; o < y.length; o++) { + var _ = y[o].bounds; + ((g[0][a] = Math.min(g[0][a], _[0][a] / p[a])), + (g[1][a] = Math.max(g[1][a], _[1][a] / p[a]))); + } + for (o = 0; o < x.length; o++) { + var k = x[o]; + if (k.visible) { + var A = s.r2l(k[b]); + ((g[0][a] = Math.min(g[0][a], A)), + (g[1][a] = Math.max(g[1][a], A))); + } + } + if ( + ("rangemode" in s && + "tozero" === s.rangemode && + ((g[0][a] = Math.min(g[0][a], 0)), + (g[1][a] = Math.max(g[1][a], 0))), + g[0][a] > g[1][a]) + ) + ((g[0][a] = -1), (g[1][a] = 1)); + else { + var T = g[1][a] - g[0][a]; + ((g[0][a] -= T / 32), (g[1][a] += T / 32)); + } + } else { + var S = s.range; + ((g[0][a] = s.r2l(S[0])), (g[1][a] = s.r2l(S[1]))); + } + (g[0][a] === g[1][a] && ((g[0][a] -= 1), (g[1][a] += 1)), + (m[a] = g[1][a] - g[0][a]), + (this.glplot.bounds[0][a] = g[0][a] * p[a]), + (this.glplot.bounds[1][a] = g[1][a] * p[a])); + } + var C = [1, 1, 1]; + for (a = 0; a < 3; ++a) { + var E = v[(l = (s = c[w[a]]).type)]; + C[a] = Math.pow(E.acc, 1 / E.count) / p[a]; + } + var L; + if ("auto" === c.aspectmode) + L = + Math.max.apply(null, C) / Math.min.apply(null, C) <= 4 + ? C + : [1, 1, 1]; + else if ("cube" === c.aspectmode) L = [1, 1, 1]; + else if ("data" === c.aspectmode) L = C; + else { + if ("manual" !== c.aspectmode) + throw new Error( + "scene.js aspectRatio was not one of the enumerated types", + ); + var z = c.aspectratio; + L = [z.x, z.y, z.z]; + } + ((c.aspectratio.x = u.aspectratio.x = L[0]), + (c.aspectratio.y = u.aspectratio.y = L[1]), + (c.aspectratio.z = u.aspectratio.z = L[2]), + (this.glplot.aspect = L)); + var P = c.domain || null, + D = e._size || null; + if (P && D) { + var O = this.container.style; + ((O.position = "absolute"), + (O.left = D.l + P.x[0] * D.w + "px"), + (O.top = D.t + (1 - P.y[1]) * D.h + "px"), + (O.width = D.w * (P.x[1] - P.x[0]) + "px"), + (O.height = D.h * (P.y[1] - P.y[0]) + "px")); + } + this.glplot.redraw(); + } + }), + (_.destroy = function () { + this.glplot && + ((this.camera.mouseListener.enabled = !1), + this.container.removeEventListener("wheel", this.camera.wheelListener), + (this.camera = this.glplot.camera = null), + this.glplot.dispose(), + this.container.parentNode.removeChild(this.container), + (this.glplot = null)); + }), + (_.getCamera = function () { + return ( + this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()), + A(this.glplot.camera) + ); + }), + (_.setCamera = function (t) { + var e; + this.glplot.camera.lookAt.apply(this, [ + [(e = t).eye.x, e.eye.y, e.eye.z], + [e.center.x, e.center.y, e.center.z], + [e.up.x, e.up.y, e.up.z], + ]); + }), + (_.saveCamera = function (t) { + var e = this.getCamera(), + r = c.nestedProperty(t, this.id + ".camera"), + n = r.get(), + i = !1; + function a(t, e, r, n) { + var i = ["up", "center", "eye"], + a = ["x", "y", "z"]; + return e[i[r]] && t[i[r]][a[n]] === e[i[r]][a[n]]; + } + if (void 0 === n) i = !0; + else + for (var o = 0; o < 3; o++) + for (var s = 0; s < 3; s++) + if (!a(e, n, o, s)) { + i = !0; + break; + } + return (i && r.set(e), i); + }), + (_.updateFx = function (t, e) { + var r = this.camera; + (r && + ("orbit" === t + ? ((r.mode = "orbit"), (r.keyBindingMode = "rotate")) + : "turntable" === t + ? ((r.up = [0, 0, 1]), + (r.mode = "turntable"), + (r.keyBindingMode = "rotate")) + : (r.keyBindingMode = t)), + (this.fullSceneLayout.hovermode = e)); + }), + (_.toImage = function (t) { + (t || (t = "png"), + this.staticMode && this.container.appendChild(n), + this.glplot.redraw()); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = e.drawingBufferHeight; + e.bindFramebuffer(e.FRAMEBUFFER, null); + var a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); + for (var o = 0, s = i - 1; o < s; ++o, --s) + for (var l = 0; l < r; ++l) + for (var c = 0; c < 4; ++c) { + var u = a[4 * (r * o + l) + c]; + ((a[4 * (r * o + l) + c] = a[4 * (r * s + l) + c]), + (a[4 * (r * s + l) + c] = u)); + } + var f = document.createElement("canvas"); + ((f.width = r), (f.height = i)); + var h, + p = f.getContext("2d"), + d = p.createImageData(r, i); + switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { + case "jpeg": + h = f.toDataURL("image/jpeg"); + break; + case "webp": + h = f.toDataURL("image/webp"); + break; + default: + h = f.toDataURL("image/png"); + } + return (this.staticMode && this.container.removeChild(n), h); + }), + (_.setConvert = function () { + for (var t = 0; t < 3; t++) { + var e = this.fullSceneLayout[w[t]]; + (u.setConvert(e, this.fullLayout), (e.setScale = c.noop)); + } + }), + (e.exports = b)); + }, + { + "../../components/fx": 516, + "../../lib": 602, + "../../lib/show_no_webgl_msg": 623, + "../../lib/str2rgbarray": 625, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "./camera": 689, + "./layout/convert": 694, + "./layout/spikes": 697, + "./layout/tick_marks": 698, + "./project": 699, + "gl-plot3d": 253, + "has-passive-events": 297, + "webgl-context": 436, + }, + ], + 701: [ + function (t, e, r) { + "use strict"; + var n = t("./font_attributes"), + i = t("../components/color/attributes"), + a = n({ editType: "calc" }); + ((a.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (a.size.dflt = 12), + (a.color.dflt = i.defaultLine), + (e.exports = { + font: a, + title: { valType: "string", editType: "layoutstyle" }, + titlefont: n({ editType: "layoutstyle" }), + autosize: { valType: "boolean", dflt: !1, editType: "none" }, + width: { valType: "number", min: 10, dflt: 700, editType: "plot" }, + height: { valType: "number", min: 10, dflt: 450, editType: "plot" }, + margin: { + l: { valType: "number", min: 0, dflt: 80, editType: "plot" }, + r: { valType: "number", min: 0, dflt: 80, editType: "plot" }, + t: { valType: "number", min: 0, dflt: 100, editType: "plot" }, + b: { valType: "number", min: 0, dflt: 80, editType: "plot" }, + pad: { valType: "number", min: 0, dflt: 0, editType: "plot" }, + autoexpand: { valType: "boolean", dflt: !0, editType: "plot" }, + editType: "plot", + }, + paper_bgcolor: { valType: "color", dflt: i.background, editType: "plot" }, + plot_bgcolor: { + valType: "color", + dflt: i.background, + editType: "layoutstyle", + }, + separators: { valType: "string", editType: "plot" }, + hidesources: { valType: "boolean", dflt: !1, editType: "plot" }, + showlegend: { valType: "boolean", editType: "legend" }, + colorway: { valType: "colorlist", dflt: i.defaults, editType: "calc" }, + datarevision: { valType: "any", editType: "calc" }, + })); + }, + { "../components/color/attributes": 473, "./font_attributes": 674 }, + ], + 702: [ + function (t, e, r) { + "use strict"; + e.exports = { + requiredVersion: "0.44.1", + styleUrlPrefix: "mapbox://styles/mapbox/", + styleUrlSuffix: "v9", + controlContainerClassName: "mapboxgl-control-container", + wrongVersionErrorMsg: [ + "Your custom plotly.js bundle is not using the correct mapbox-gl version", + "Please install mapbox-gl@0.44.1.", + ].join("\n"), + noAccessTokenErrorMsg: [ + "Missing Mapbox access token.", + "Mapbox trace type require a Mapbox access token to be registered.", + "For example:", + " Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });", + "More info here: https://www.mapbox.com/help/define-access-token/", + ].join("\n"), + mapOnErrorMsg: "Mapbox error.", + styleRules: { + map: "overflow:hidden;position:relative;", + "missing-css": "display:none", + }, + }; + }, + {}, + ], + 703: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e) { + var r = t.split(" "), + i = r[0], + a = r[1], + o = n.isArrayOrTypedArray(e) ? n.mean(e) : e, + s = 0.5 + o / 100, + l = 1.5 + o / 100, + c = ["", ""], + u = [0, 0]; + switch (i) { + case "top": + ((c[0] = "top"), (u[1] = -l)); + break; + case "bottom": + ((c[0] = "bottom"), (u[1] = l)); + } + switch (a) { + case "left": + ((c[1] = "right"), (u[0] = -s)); + break; + case "right": + ((c[1] = "left"), (u[0] = s)); + } + return { + anchor: c[0] && c[1] ? c.join("-") : c[0] ? c[0] : c[1] ? c[1] : "center", + offset: u, + }; + }; + }, + { "../../lib": 602 }, + ], + 704: [ + function (t, e, r) { + "use strict"; + var n = t("mapbox-gl"), + i = t("../../lib"), + a = t("../../plots/get_data").getSubplotCalcData, + o = t("../../constants/xmlns_namespaces"), + s = t("./mapbox"), + l = t("./constants"); + for (var c in l.styleRules) i.addStyleRule(".mapboxgl-" + c, l.styleRules[c]); + ((r.name = "mapbox"), + (r.attr = "subplot"), + (r.idRoot = "mapbox"), + (r.idRegex = r.attrRegex = i.counterRegex("mapbox")), + (r.attributes = { + subplot: { valType: "subplotid", dflt: "mapbox", editType: "calc" }, + }), + (r.layoutAttributes = t("./layout_attributes")), + (r.supplyLayoutDefaults = t("./layout_defaults")), + (r.plot = function (t) { + var e = t._fullLayout, + r = t.calcdata, + o = e._subplots.mapbox; + if (n.version !== l.requiredVersion) + throw new Error(l.wrongVersionErrorMsg); + var c = (function (t, e) { + var r = t._fullLayout; + if ("" === t._context.mapboxAccessToken) return ""; + for (var n = 0; n < e.length; n++) { + var i = r[e[n]]; + if (i.accesstoken) return i.accesstoken; + } + throw new Error(l.noAccessTokenErrorMsg); + })(t, o); + n.accessToken = c; + for (var u = 0; u < o.length; u++) { + var f = o[u], + h = a(r, "mapbox", f), + p = e[f], + d = p._subplot; + (d || + ((d = s({ + gd: t, + container: e._glcontainer.node(), + id: f, + fullLayout: e, + staticPlot: t._context.staticPlot, + })), + (e[f]._subplot = d)), + d.viewInitial || + (d.viewInitial = { + center: i.extendFlat({}, p.center), + zoom: p.zoom, + bearing: p.bearing, + pitch: p.pitch, + }), + d.plot(h, e, t._promises)); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.mapbox || [], a = 0; a < i.length; a++) { + var o = i[a]; + !e[o] && n[o]._subplot && n[o]._subplot.destroy(); + } + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.mapbox, n = e._size, i = 0; + i < r.length; + i++ + ) { + var a = e[r[i]], + s = a.domain, + l = a._subplot, + c = l.toImage("png"); + (e._glimages.append("svg:image").attr({ + xmlns: o.svg, + "xlink:href": c, + x: n.l + n.w * s.x[0], + y: n.t + n.h * (1 - s.y[1]), + width: n.w * (s.x[1] - s.x[0]), + height: n.h * (s.y[1] - s.y[0]), + preserveAspectRatio: "none", + }), + l.destroy()); + } + }), + (r.updateFx = function (t) { + for (var e = t._subplots.mapbox, r = 0; r < e.length; r++) { + t[e[r]]._subplot.updateFx(t); + } + })); + }, + { + "../../constants/xmlns_namespaces": 581, + "../../lib": 602, + "../../plots/get_data": 684, + "./constants": 702, + "./layout_attributes": 706, + "./layout_defaults": 707, + "./mapbox": 708, + "mapbox-gl": 311, + }, + ], + 705: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./convert_text_opts"); + function a(t, e) { + ((this.mapbox = t), + (this.map = t.map), + (this.uid = t.uid + "-layer" + e), + (this.idSource = this.uid + "-source"), + (this.idLayer = this.uid + "-layer"), + (this.sourceType = null), + (this.source = null), + (this.layerType = null), + (this.below = null), + (this.visible = !1)); + } + var o = a.prototype; + function s(t) { + var e = t.source; + return n.isPlainObject(e) || ("string" == typeof e && e.length > 0); + } + function l(t) { + var e = {}, + r = {}; + switch (t.type) { + case "circle": + n.extendFlat(r, { + "circle-radius": t.circle.radius, + "circle-color": t.color, + "circle-opacity": t.opacity, + }); + break; + case "line": + n.extendFlat(r, { + "line-width": t.line.width, + "line-color": t.color, + "line-opacity": t.opacity, + }); + break; + case "fill": + n.extendFlat(r, { + "fill-color": t.color, + "fill-outline-color": t.fill.outlinecolor, + "fill-opacity": t.opacity, + }); + break; + case "symbol": + var a = t.symbol, + o = i(a.textposition, a.iconsize); + (n.extendFlat(e, { + "icon-image": a.icon + "-15", + "icon-size": a.iconsize / 10, + "text-field": a.text, + "text-size": a.textfont.size, + "text-anchor": o.anchor, + "text-offset": o.offset, + }), + n.extendFlat(r, { + "icon-color": t.color, + "text-color": a.textfont.color, + "text-opacity": t.opacity, + })); + } + return { layout: e, paint: r }; + } + ((o.update = function (t) { + (this.visible + ? this.needsNewSource(t) + ? (this.updateLayer(t), this.updateSource(t)) + : this.needsNewLayer(t) + ? this.updateLayer(t) + : this.updateStyle(t) + : (this.updateSource(t), this.updateLayer(t)), + (this.visible = s(t))); + }), + (o.needsNewSource = function (t) { + return ( + this.sourceType !== t.sourcetype || + this.source !== t.source || + this.layerType !== t.type + ); + }), + (o.needsNewLayer = function (t) { + return this.layerType !== t.type || this.below !== t.below; + }), + (o.updateSource = function (t) { + var e = this.map; + if ( + (e.getSource(this.idSource) && e.removeSource(this.idSource), + (this.sourceType = t.sourcetype), + (this.source = t.source), + s(t)) + ) { + var r = (function (t) { + var e, + r = t.sourcetype, + n = t.source, + i = { type: r }; + "geojson" === r + ? (e = "data") + : "vector" === r && (e = "string" == typeof n ? "url" : "tiles"); + return ((i[e] = n), i); + })(t); + e.addSource(this.idSource, r); + } + }), + (o.updateLayer = function (t) { + var e = this.map, + r = l(t); + (e.getLayer(this.idLayer) && e.removeLayer(this.idLayer), + (this.layerType = t.type), + s(t) && + e.addLayer( + { + id: this.idLayer, + source: this.idSource, + "source-layer": t.sourcelayer || "", + type: t.type, + layout: r.layout, + paint: r.paint, + }, + t.below, + )); + }), + (o.updateStyle = function (t) { + if (s(t)) { + var e = l(t); + (this.mapbox.setOptions(this.idLayer, "setLayoutProperty", e.layout), + this.mapbox.setOptions(this.idLayer, "setPaintProperty", e.paint)); + } + }), + (o.dispose = function () { + var t = this.map; + (t.removeLayer(this.idLayer), t.removeSource(this.idSource)); + }), + (e.exports = function (t, e, r) { + var n = new a(t, e); + return (n.update(r), n); + })); + }, + { "../../lib": 602, "./convert_text_opts": 703 }, + ], + 706: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/color").defaultLine, + a = t("../domain").attributes, + o = t("../font_attributes"), + s = t("../../traces/scatter/attributes").textposition, + l = t("../../plot_api/edit_types").overrideAll, + c = o({}); + ((c.family.dflt = "Open Sans Regular, Arial Unicode MS Regular"), + (e.exports = l( + { + _arrayAttrRegexps: [n.counterRegex("mapbox", ".layers", !0)], + domain: a({ name: "mapbox" }), + accesstoken: { valType: "string", noBlank: !0, strict: !0 }, + style: { + valType: "any", + values: [ + "basic", + "streets", + "outdoors", + "light", + "dark", + "satellite", + "satellite-streets", + ], + dflt: "basic", + }, + center: { + lon: { valType: "number", dflt: 0 }, + lat: { valType: "number", dflt: 0 }, + }, + zoom: { valType: "number", dflt: 1 }, + bearing: { valType: "number", dflt: 0 }, + pitch: { valType: "number", dflt: 0 }, + layers: { + _isLinkedToArray: "layer", + sourcetype: { + valType: "enumerated", + values: ["geojson", "vector"], + dflt: "geojson", + }, + source: { valType: "any" }, + sourcelayer: { valType: "string", dflt: "" }, + type: { + valType: "enumerated", + values: ["circle", "line", "fill", "symbol"], + dflt: "circle", + }, + below: { valType: "string", dflt: "" }, + color: { valType: "color", dflt: i }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + circle: { radius: { valType: "number", dflt: 15 } }, + line: { width: { valType: "number", dflt: 2 } }, + fill: { outlinecolor: { valType: "color", dflt: i } }, + symbol: { + icon: { valType: "string", dflt: "marker" }, + iconsize: { valType: "number", dflt: 10 }, + text: { valType: "string", dflt: "" }, + textfont: c, + textposition: n.extendFlat({}, s, { arrayOk: !1 }), + }, + }, + }, + "plot", + "from-root", + ))); + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../plot_api/edit_types": 633, + "../../traces/scatter/attributes": 926, + "../domain": 673, + "../font_attributes": 674, + }, + ], + 707: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../subplot_defaults"), + a = t("./layout_attributes"); + function o(t, e, r, i) { + (r("accesstoken", i.accessToken), + r("style"), + r("center.lon"), + r("center.lat"), + r("zoom"), + r("bearing"), + r("pitch"), + (function (t, e) { + var r, + i, + o = t.layers || [], + s = (e.layers = []); + function l(t, e) { + return n.coerce(r, i, a.layers, t, e); + } + for (var c = 0; c < o.length; c++) + if (((r = o[c]), (i = {}), n.isPlainObject(r))) { + var u = l("sourcetype"); + (l("source"), "vector" === u && l("sourcelayer")); + var f = l("type"); + (l("below"), + l("color"), + l("opacity"), + "circle" === f && l("circle.radius"), + "line" === f && l("line.width"), + "fill" === f && l("fill.outlinecolor"), + "symbol" === f && + (l("symbol.icon"), + l("symbol.iconsize"), + l("symbol.text"), + n.coerceFont(l, "symbol.textfont"), + l("symbol.textposition")), + (i._index = c), + s.push(i)); + } + })(t, e), + (e._input = t)); + } + e.exports = function (t, e, r) { + i(t, e, r, { + type: "mapbox", + attributes: a, + handleDefaults: o, + partition: "y", + accessToken: e._mapboxAccessToken, + }); + }; + }, + { "../../lib": 602, "../subplot_defaults": 724, "./layout_attributes": 706 }, + ], + 708: [ + function (t, e, r) { + "use strict"; + var n = t("mapbox-gl"), + i = t("../../components/fx"), + a = t("../../lib"), + o = t("../../components/dragelement"), + s = t("../cartesian/select").prepSelect, + l = t("./constants"), + c = t("./layout_attributes"), + u = t("./layers"); + function f(t) { + ((this.id = t.id), + (this.gd = t.gd), + (this.container = t.container), + (this.isStatic = t.staticPlot)); + var e = t.fullLayout; + ((this.uid = e._uid + "-" + this.id), + (this.opts = e[this.id]), + (this.div = null), + (this.xaxis = null), + (this.yaxis = null), + this.createFramework(e), + (this.map = null), + (this.accessToken = null), + (this.styleObj = null), + (this.traceHash = {}), + (this.layerList = [])); + } + var h = f.prototype; + function p(t) { + var e = c.style.values, + r = c.style.dflt, + n = {}; + return ( + a.isPlainObject(t) + ? ((n.id = t.id), (n.style = t)) + : "string" == typeof t + ? ((n.id = t), (n.style = -1 !== e.indexOf(t) ? d(t) : t)) + : ((n.id = r), (n.style = d(r))), + (n.transition = { duration: 0, delay: 0 }), + n + ); + } + function d(t) { + return l.styleUrlPrefix + t + "-" + l.styleUrlSuffix; + } + function g(t) { + return [t.lon, t.lat]; + } + ((e.exports = function (t) { + return new f(t); + }), + (h.plot = function (t, e, r) { + var n, + i = this, + a = (i.opts = e[this.id]); + (i.map && + a.accesstoken !== i.accessToken && + (i.map.remove(), + (i.map = null), + (i.styleObj = null), + (i.traceHash = []), + (i.layerList = {})), + (n = i.map + ? new Promise(function (r, n) { + i.updateMap(t, e, r, n); + }) + : new Promise(function (r, n) { + i.createMap(t, e, r, n); + })), + r.push(n)); + }), + (h.createMap = function (t, e, r, o) { + var s = this, + c = s.gd, + u = s.opts, + f = (s.styleObj = p(u.style)); + s.accessToken = u.accesstoken; + var h = (s.map = new n.Map({ + container: s.div, + style: f.style, + center: g(u.center), + zoom: u.zoom, + bearing: u.bearing, + pitch: u.pitch, + interactive: !s.isStatic, + preserveDrawingBuffer: s.isStatic, + doubleClickZoom: !1, + boxZoom: !1, + })), + d = l.controlContainerClassName, + m = s.div.getElementsByClassName(d)[0]; + function v() { + i.loneUnhover(e._toppaper); + } + (s.div.removeChild(m), + (h._canvas.style.left = "0px"), + (h._canvas.style.top = "0px"), + s.rejectOnError(o), + h.once("load", function () { + (s.updateData(t), s.updateLayout(e), s.resolveOnRender(r)); + }), + s.isStatic || + (h.on("moveend", function (t) { + if (s.map) { + var e = s.getView(); + if ( + ((u._input.center = u.center = e.center), + (u._input.zoom = u.zoom = e.zoom), + (u._input.bearing = u.bearing = e.bearing), + (u._input.pitch = u.pitch = e.pitch), + t.originalEvent) + ) { + var r = {}; + ((r[s.id] = a.extendFlat({}, e)), c.emit("plotly_relayout", r)); + } + } + }), + h.on("mousemove", function (t) { + var e = s.div.getBoundingClientRect(); + ((t.clientX = t.point.x + e.left), + (t.clientY = t.point.y + e.top), + (t.target.getBoundingClientRect = function () { + return e; + }), + (s.xaxis.p2c = function () { + return t.lngLat.lng; + }), + (s.yaxis.p2c = function () { + return t.lngLat.lat; + }), + i.hover(c, t, s.id)); + }), + h.on("click", function (t) { + i.click(c, t.originalEvent); + }), + h.on("dragstart", v), + h.on("zoomstart", v), + h.on("dblclick", function () { + var t = s.viewInitial; + (h.setCenter(g(t.center)), + h.setZoom(t.zoom), + h.setBearing(t.bearing), + h.setPitch(t.pitch)); + var e = s.getView(); + ((u._input.center = u.center = e.center), + (u._input.zoom = u.zoom = e.zoom), + (u._input.bearing = u.bearing = e.bearing), + (u._input.pitch = u.pitch = e.pitch), + c.emit("plotly_doubleclick", null)); + }), + (s.clearSelect = function () { + c._fullLayout._zoomlayer.selectAll(".select-outline").remove(); + }))); + }), + (h.updateMap = function (t, e, r, n) { + var i = this, + a = i.map; + i.rejectOnError(n); + var o = p(i.opts.style); + i.styleObj.id !== o.id + ? ((i.styleObj = o), + a.setStyle(o.style), + a.once("styledata", function () { + ((i.traceHash = {}), + i.updateData(t), + i.updateLayout(e), + i.resolveOnRender(r)); + })) + : (i.updateData(t), i.updateLayout(e), i.resolveOnRender(r)); + }), + (h.updateData = function (t) { + var e, + r, + n, + i, + a = this.traceHash; + for (n = 0; n < t.length; n++) { + var o = t[n]; + (e = a[(r = o[0].trace).uid]) + ? e.update(o) + : r._module && (a[r.uid] = r._module.plot(this, o)); + } + var s = Object.keys(a); + t: for (n = 0; n < s.length; n++) { + var l = s[n]; + for (i = 0; i < t.length; i++) + if (l === (r = t[i][0].trace).uid) continue t; + ((e = a[l]).dispose(), delete a[l]); + } + }), + (h.updateLayout = function (t) { + var e = this.map, + r = this.opts; + (e.setCenter(g(r.center)), + e.setZoom(r.zoom), + e.setBearing(r.bearing), + e.setPitch(r.pitch), + this.updateLayers(), + this.updateFramework(t), + this.updateFx(t), + this.map.resize()); + }), + (h.resolveOnRender = function (t) { + var e = this.map; + e.on("render", function r() { + e.loaded() && (e.off("render", r), setTimeout(t, 0)); + }); + }), + (h.rejectOnError = function (t) { + var e = this.map; + function r() { + t(new Error(l.mapOnErrorMsg)); + } + (e.once("error", r), + e.once("style.error", r), + e.once("source.error", r), + e.once("tile.error", r), + e.once("layer.error", r)); + }), + (h.createFramework = function (t) { + var e = this, + r = (e.div = document.createElement("div")); + ((r.id = e.uid), + (r.style.position = "absolute"), + e.container.appendChild(r), + (e.xaxis = { + _id: "x", + c2p: function (t) { + return e.project(t).x; + }, + }), + (e.yaxis = { + _id: "y", + c2p: function (t) { + return e.project(t).y; + }, + }), + e.updateFramework(t)); + }), + (h.updateFx = function (t) { + var e = this, + r = e.map, + n = e.gd; + if (!e.isStatic) { + var i, + a = t.dragmode; + if ( + ((i = + "select" === a + ? function (t, r) { + (t.range = {})[e.id] = [ + c([r.xmin, r.ymin]), + c([r.xmax, r.ymax]), + ]; + } + : function (t, r, n) { + (t.lassoPoints = {})[e.id] = n.filtered.map(c); + }), + "select" === a || "lasso" === a) + ) { + (r.dragPan.disable(), r.on("zoomstart", e.clearSelect)); + var l = { + element: e.div, + gd: n, + plotinfo: { xaxis: e.xaxis, yaxis: e.yaxis, fillRangeItems: i }, + xaxes: [e.xaxis], + yaxes: [e.yaxis], + subplot: e.id, + prepFn: function (t, e, r) { + s(t, e, r, l, a); + }, + }; + o.init(l); + } else + (r.dragPan.enable(), + r.off("zoomstart", e.clearSelect), + (e.div.onmousedown = null)); + } + function c(t) { + var r = e.map.unproject(t); + return [r.lng, r.lat]; + } + }), + (h.updateFramework = function (t) { + var e = t[this.id].domain, + r = t._size, + n = this.div.style; + ((n.width = r.w * (e.x[1] - e.x[0]) + "px"), + (n.height = r.h * (e.y[1] - e.y[0]) + "px"), + (n.left = r.l + e.x[0] * r.w + "px"), + (n.top = r.t + (1 - e.y[1]) * r.h + "px"), + (this.xaxis._offset = r.l + e.x[0] * r.w), + (this.xaxis._length = r.w * (e.x[1] - e.x[0])), + (this.yaxis._offset = r.t + (1 - e.y[1]) * r.h), + (this.yaxis._length = r.h * (e.y[1] - e.y[0]))); + }), + (h.updateLayers = function () { + var t, + e = this.opts.layers, + r = this.layerList; + if (e.length !== r.length) { + for (t = 0; t < r.length; t++) r[t].dispose(); + for (r = this.layerList = [], t = 0; t < e.length; t++) + r.push(u(this, t, e[t])); + } else for (t = 0; t < e.length; t++) r[t].update(e[t]); + }), + (h.destroy = function () { + this.map && + (this.map.remove(), + (this.map = null), + this.container.removeChild(this.div)); + }), + (h.toImage = function () { + return (this.map.stop(), this.map.getCanvas().toDataURL()); + }), + (h.setOptions = function (t, e, r) { + for (var n in r) this.map[e](t, n, r[n]); + }), + (h.project = function (t) { + return this.map.project(new n.LngLat(t[0], t[1])); + }), + (h.getView = function () { + var t = this.map, + e = t.getCenter(); + return { + center: { lon: e.lng, lat: e.lat }, + zoom: t.getZoom(), + bearing: t.getBearing(), + pitch: t.getPitch(), + }; + })); + }, + { + "../../components/dragelement": 496, + "../../components/fx": 516, + "../../lib": 602, + "../cartesian/select": 665, + "./constants": 702, + "./layers": 705, + "./layout_attributes": 706, + "mapbox-gl": 311, + }, + ], + 709: [ + function (t, e, r) { + "use strict"; + e.exports = { + t: { valType: "number", dflt: 0, editType: "arraydraw" }, + r: { valType: "number", dflt: 0, editType: "arraydraw" }, + b: { valType: "number", dflt: 0, editType: "arraydraw" }, + l: { valType: "number", dflt: 0, editType: "arraydraw" }, + editType: "arraydraw", + }; + }, + {}, + ], + 710: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("../registry"), + o = t("../plot_api/plot_schema"), + s = t("../lib"), + l = t("../components/color"), + c = t("../constants/numerical").BADNUM, + u = t("../plots/cartesian/axis_ids"), + f = t("./sort_modules").sortBasePlotModules, + h = t("./animation_attributes"), + p = t("./frame_attributes"), + d = s.relinkPrivateKeys, + g = s._, + m = (e.exports = {}); + (s.extendFlat(m, a), + (m.attributes = t("./attributes")), + (m.attributes.type.values = m.allTypes), + (m.fontAttrs = t("./font_attributes")), + (m.layoutAttributes = t("./layout_attributes")), + (m.fontWeight = "normal")); + var v = m.transformsRegistry, + y = t("./command"); + ((m.executeAPICommand = y.executeAPICommand), + (m.computeAPICommandBindings = y.computeAPICommandBindings), + (m.manageCommandObserver = y.manageCommandObserver), + (m.hasSimpleAPICommandBindings = y.hasSimpleAPICommandBindings), + (m.redrawText = function (t) { + if (!((t = s.getGraphDiv(t)).data && t.data[0] && t.data[0].r)) + return new Promise(function (e) { + setTimeout(function () { + (a.getComponentMethod("annotations", "draw")(t), + a.getComponentMethod("legend", "draw")(t), + (t.calcdata || []).forEach(function (t) { + t[0] && t[0].t && t[0].t.cb && t[0].t.cb(); + }), + e(m.previousPromises(t))); + }, 300); + }); + }), + (m.resize = function (t) { + return ( + (t = s.getGraphDiv(t)), + new Promise(function (e, r) { + ((t && + !(function (t) { + var e = window.getComputedStyle(t).display; + return !e || "none" === e; + })(t)) || + r(new Error("Resize must be passed a displayed plot div element.")), + t._redrawTimer && clearTimeout(t._redrawTimer), + (t._redrawTimer = setTimeout(function () { + if (t.layout.width && t.layout.height) e(t); + else { + (delete t.layout.width, delete t.layout.height); + var r = t.changed; + ((t.autoplay = !0), + a.call("relayout", t, { autosize: !0 }).then(function () { + ((t.changed = r), e(t)); + })); + } + }, 100))); + }) + ); + }), + (m.previousPromises = function (t) { + if ((t._promises || []).length) + return Promise.all(t._promises).then(function () { + t._promises = []; + }); + }), + (m.addLinks = function (t) { + if (t._context.showLink || t._context.showSources) { + var e = t._fullLayout, + r = s.ensureSingle( + e._paper, + "text", + "js-plot-link-container", + function (t) { + t.style({ + "font-family": '"Open Sans", Arial, sans-serif', + "font-size": "12px", + fill: l.defaultLine, + "pointer-events": "all", + }).each(function () { + var t = n.select(this); + (t.append("tspan").classed("js-link-to-tool", !0), + t.append("tspan").classed("js-link-spacer", !0), + t.append("tspan").classed("js-sourcelinks", !0)); + }); + }, + ), + i = r.node(), + a = { y: e._paper.attr("height") - 9 }; + (document.body.contains(i) && i.getComputedTextLength() >= e.width - 20 + ? ((a["text-anchor"] = "start"), (a.x = 5)) + : ((a["text-anchor"] = "end"), (a.x = e._paper.attr("width") - 7)), + r.attr(a)); + var o = r.select(".js-link-to-tool"), + c = r.select(".js-link-spacer"), + u = r.select(".js-sourcelinks"); + (t._context.showSources && t._context.showSources(t), + t._context.showLink && + (function (t, e) { + e.text(""); + var r = e + .append("a") + .attr({ + "xlink:xlink:href": "#", + class: "link--impt link--embedview", + "font-weight": "bold", + }) + .text(t._context.linkText + " " + String.fromCharCode(187)); + if (t._context.sendData) + r.on("click", function () { + m.sendDataToCloud(t); + }); + else { + var n = window.location.pathname.split("/"), + i = window.location.search; + r.attr({ + "xlink:xlink:show": "new", + "xlink:xlink:href": "/" + n[2].split(".")[0] + "/" + n[1] + i, + }); + } + })(t, o), + c.text(o.text() && u.text() ? " - " : "")); + } + }), + (m.sendDataToCloud = function (t) { + t.emit("plotly_beforeexport"); + var e = + (window.PLOTLYENV && window.PLOTLYENV.BASE_URL) || "https://plot.ly", + r = n + .select(t) + .append("div") + .attr("id", "hiddenform") + .style("display", "none"), + i = r + .append("form") + .attr({ action: e + "/external", method: "post", target: "_blank" }); + return ( + (i.append("input").attr({ type: "text", name: "data" }).node().value = + m.graphJson(t, !1, "keepdata")), + i.node().submit(), + r.remove(), + t.emit("plotly_afterexport"), + !1 + ); + })); + var x, + b = [ + "days", + "shortDays", + "months", + "shortMonths", + "periods", + "dateTime", + "date", + "time", + "decimal", + "thousands", + "grouping", + "currency", + ], + _ = ["year", "month", "dayMonth", "dayMonthYear"]; + function w(t, e) { + var r = t._context.locale, + n = !1, + i = {}; + function o(t) { + for (var r = !0, a = 0; a < e.length; a++) { + var o = e[a]; + i[o] || (t[o] ? (i[o] = t[o]) : (r = !1)); + } + r && (n = !0); + } + for (var s = 0; s < 2; s++) { + for (var l = t._context.locales, c = 0; c < 2; c++) { + var u = (l[r] || {}).format; + if (u && (o(u), n)) break; + l = a.localeRegistry; + } + var f = r.split("-")[0]; + if (n || f === r) break; + r = f; + } + return (n || o(a.localeRegistry.en.format), i); + } + function k(t, e, r, n) { + for (var i = t.transforms, a = [t], o = 0; o < i.length; o++) { + var s = i[o], + l = v[s.type]; + l && + l.transform && + (a = l.transform(a, { + transform: s, + fullTrace: t, + fullData: e, + layout: r, + fullLayout: n, + transformIndex: o, + })); + } + return a; + } + function M(t) { + for (var e = 0; e < t.length; e++) t[e].clearCalc(); + } + ((m.supplyDefaults = function (t, e) { + var r = e && e.skipUpdateCalc, + i = t._fullLayout || {}; + if (i._skipDefaults) delete i._skipDefaults; + else { + var o, + l = (t._fullLayout = {}), + c = t.layout || {}, + h = t._fullData || [], + p = (t._fullData = []), + v = t.data || [], + y = t.calcdata || [], + k = t._context || {}; + (t._transitionData || m.createTransitionData(t), + (l._dfltTitle = { + plot: g(t, "Click to enter Plot title"), + x: g(t, "Click to enter X axis title"), + y: g(t, "Click to enter Y axis title"), + colorbar: g(t, "Click to enter Colorscale title"), + annotation: g(t, "new text"), + }), + (l._traceWord = g(t, "trace"))); + var M = w(t, b); + if ( + ((l._mapboxAccessToken = k.mapboxAccessToken), i._initialAutoSizeIsDone) + ) { + var A = i.width, + T = i.height; + (m.supplyLayoutGlobalDefaults(c, l, M), + c.width || (l.width = A), + c.height || (l.height = T)); + } else { + m.supplyLayoutGlobalDefaults(c, l, M); + var S = !c.width || !c.height, + C = l.autosize, + E = k.autosizable; + (S && (C || E) ? m.plotAutoSize(t, c, l) : S && m.sanitizeMargins(t), + !C && S && ((c.width = l.width), (c.height = l.height))); + } + ((l._d3locale = (function (t, e) { + return ( + (t.decimal = e.charAt(0)), + (t.thousands = e.charAt(1)), + n.locale(t) + ); + })(M, l.separators)), + (l._extraFormat = w(t, _)), + (l._initialAutoSizeIsDone = !0), + (l._dataLength = v.length), + (l._modules = []), + (l._basePlotModules = [])); + var L = (l._subplots = (function () { + var t, + e, + r = {}; + if (!x) { + x = []; + var n = a.subplotsRegistry; + for (var i in n) { + var o = n[i], + l = o.attr; + if (l && (x.push(i), Array.isArray(l))) + for (e = 0; e < l.length; e++) s.pushUnique(x, l[e]); + } + } + for (t = 0; t < x.length; t++) r[x[t]] = []; + return r; + })()), + z = (l._splomAxes = { x: {}, y: {} }), + P = (l._splomSubplots = {}); + ((l._requestRangeslider = {}), + (l._globalTransforms = (t._context || {}).globalTransforms), + m.supplyDataDefaults(v, p, c, l)); + var D = Object.keys(z.x), + O = Object.keys(z.y); + if (D.length > 1 && O.length > 1) { + for ( + a.getComponentMethod("grid", "sizeDefaults")(c, l), o = 0; + o < D.length; + o++ + ) + s.pushUnique(L.xaxis, D[o]); + for (o = 0; o < O.length; o++) s.pushUnique(L.yaxis, O[o]); + for (var I in P) s.pushUnique(L.cartesian, I); + } + l._has = m._hasPlotType.bind(l); + var R = l._modules; + for (o = 0; o < R.length; o++) { + var B = R[o]; + B.cleanData && B.cleanData(p); + } + if (h.length === p.length) for (o = 0; o < p.length; o++) d(p[o], h[o]); + (m.supplyLayoutModuleDefaults(c, l, p, t._transitionData), + (l._hasOnlyLargeSploms = + 1 === l._basePlotModules.length && + "splom" === l._basePlotModules[0].name && + D.length > 15 && + O.length > 15 && + 0 === l.shapes.length && + 0 === l.images.length), + (l._hasCartesian = l._has("cartesian")), + (l._hasGeo = l._has("geo")), + (l._hasGL3D = l._has("gl3d")), + (l._hasGL2D = l._has("gl2d")), + (l._hasTernary = l._has("ternary")), + (l._hasPie = l._has("pie")), + m.linkSubplots(p, l, h, i), + m.cleanPlot(p, l, h, i, y), + d(l, i), + m.doAutoMargin(t)); + var F = u.list(t); + for (o = 0; o < F.length; o++) { + F[o].setScale(); + } + (r || y.length !== p.length || m.supplyDefaultsUpdateCalc(y, p), + l._basePlotModules.sort(f)); + } + }), + (m.supplyDefaultsUpdateCalc = function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = t[r][0]; + if (i && i.trace) { + var a = i.trace; + if (a._hasCalcTransform) { + var o, + l, + c, + u = a._arrayAttrs; + for (o = 0; o < u.length; o++) + ((l = u[o]), + (c = s.nestedProperty(a, l).get().slice()), + s.nestedProperty(n, l).set(c)); + } + i.trace = n; + } + } + }), + (m.createTransitionData = function (t) { + (t._transitionData || (t._transitionData = {}), + t._transitionData._frames || (t._transitionData._frames = []), + t._transitionData._frameHash || (t._transitionData._frameHash = {}), + t._transitionData._counter || (t._transitionData._counter = 0), + t._transitionData._interruptCallbacks || + (t._transitionData._interruptCallbacks = [])); + }), + (m._hasPlotType = function (t) { + var e, + r = this._basePlotModules || []; + for (e = 0; e < r.length; e++) if (r[e].name === t) return !0; + var n = this._modules || []; + for (e = 0; e < n.length; e++) { + var i = n[e].name; + if (i === t) return !0; + var o = a.modules[i]; + if (o && o.categories[t]) return !0; + } + return !1; + }), + (m.cleanPlot = function (t, e, r, n, i) { + var a, + o, + s = n._basePlotModules || []; + for (a = 0; a < s.length; a++) { + var l = s[a]; + l.clean && l.clean(t, e, r, n, i); + } + var c = n._has && n._has("gl"), + u = e._has && e._has("gl"); + c && + !u && + void 0 !== n._glcontainer && + (n._glcontainer.selectAll(".gl-canvas").remove(), (n._glcanvas = null)); + var f = !!n._infolayer; + t: for (a = 0; a < r.length; a++) { + var h = r[a].uid; + for (o = 0; o < t.length; o++) { + if (h === t[o].uid) continue t; + } + f && n._infolayer.select(".cb" + h).remove(); + } + n._zoomlayer && n._zoomlayer.selectAll(".select-outline").remove(); + }), + (m.linkSubplots = function (t, e, r, n) { + var i, + a, + o, + s, + l = n._plots || {}, + c = (e._plots = {}), + f = e._subplots, + h = { _fullData: t, _fullLayout: e }, + p = f.cartesian.concat(f.gl2d || []); + for (i = 0; i < p.length; i++) { + var d, + g = l[(o = p[i])], + m = u.getFromId(h, o, "x"), + v = u.getFromId(h, o, "y"); + for ( + g + ? ((d = c[o] = g).xaxis.layer !== m.layer && + (d.xlines.attr("d", null), + d.xaxislayer.selectAll("*").remove()), + d.yaxis.layer !== v.layer && + (d.ylines.attr("d", null), + d.yaxislayer.selectAll("*").remove())) + : ((d = c[o] = {}).id = o), + d.xaxis = m, + d.yaxis = v, + d._hasClipOnAxisFalse = !1, + a = 0; + a < t.length; + a++ + ) { + var y = t[a]; + if ( + y.xaxis === d.xaxis._id && + y.yaxis === d.yaxis._id && + !1 === y.cliponaxis + ) { + d._hasClipOnAxisFalse = !0; + break; + } + } + } + var x = u.list(h, null, !0); + for (i = 0; i < x.length; i++) { + var b = null; + ((s = x[i]).overlaying && + (b = u.getFromId(h, s.overlaying)) && + b.overlaying && + ((s.overlaying = !1), (b = null)), + (s._mainAxis = b || s), + b && (s.domain = b.domain.slice()), + (s._anchorAxis = + "free" === s.anchor ? null : u.getFromId(h, s.anchor))); + } + for (i = 0; i < x.length; i++) { + var _ = "x" === (s = x[i])._id.charAt(0), + w = s._mainAxis._anchorAxis, + k = "", + M = "", + A = ""; + if ( + (w && ((A = w._mainAxis._id), (k = _ ? s._id + A : A + s._id)), + !k || !c[k]) + ) + for (k = "", a = 0; a < p.length; a++) { + var T = (o = p[a]).indexOf("y"), + S = _ ? o.substr(0, T) : o.substr(T), + C = _ ? o.substr(T) : o.substr(0, T); + if (S === s._id) { + M || (M = o); + var E = u.getFromId(h, C); + if (A && E.overlaying === A) { + k = o; + break; + } + } + } + s._mainSubplot = k || M; + } + }), + (m.clearExpandedTraceDefaultColors = function (t) { + var e, r, n; + for ( + r = [], + (e = t._module._colorAttrs) || + ((t._module._colorAttrs = e = []), + o.crawl(t._module.attributes, function (t, n, i, a) { + ((r[a] = n), + (r.length = a + 1), + "color" === t.valType && + void 0 === t.dflt && + e.push(r.join("."))); + })), + n = 0; + n < e.length; + n++ + ) { + s.nestedProperty(t, "_input." + e[n]).get() || + s.nestedProperty(t, e[n]).set(null); + } + }), + (m.supplyDataDefaults = function (t, e, r, n) { + var i, + o, + l, + c = n._modules, + u = n._basePlotModules, + f = 0, + h = 0; + function p(t) { + e.push(t); + var r = t._module; + r && + (!0 === t.visible && s.pushUnique(c, r), + s.pushUnique(u, t._module.basePlotModule), + f++, + !1 !== t._input.visible && h++); + } + n._transformModules = []; + var g = {}, + v = []; + for (i = 0; i < t.length; i++) { + if ( + ((l = t[i]), + ((o = m.supplyTraceDefaults(l, h, n, i)).index = i), + (o._input = l), + (o._expandedIndex = f), + o.transforms && o.transforms.length) + ) + for (var y = k(o, e, r, n), x = 0; x < y.length; x++) { + var b = y[x], + _ = m.supplyTraceDefaults(b, f, n, i); + (d(_, b), + (b.uid = _.uid = o.uid + x), + (_.index = i), + (_._input = l), + (_._fullInput = o), + (_._expandedIndex = f), + (_._expandedInput = b), + p(_)); + } + else ((o._fullInput = o), (o._expandedInput = o), p(o)); + (a.traceIs(o, "carpetAxis") && (g[o.carpet] = o), + a.traceIs(o, "carpetDependent") && v.push(i)); + } + for (i = 0; i < v.length; i++) + if ((o = e[v[i]]).visible) { + var w = g[o.carpet]; + ((o._carpet = w), + w && w.visible + ? ((o.xaxis = w.xaxis), (o.yaxis = w.yaxis)) + : (o.visible = !1)); + } + }), + (m.supplyAnimationDefaults = function (t) { + var e; + t = t || {}; + var r = {}; + function n(e, n) { + return s.coerce(t || {}, r, h, e, n); + } + if ((n("mode"), n("direction"), n("fromcurrent"), Array.isArray(t.frame))) + for (r.frame = [], e = 0; e < t.frame.length; e++) + r.frame[e] = m.supplyAnimationFrameDefaults(t.frame[e] || {}); + else r.frame = m.supplyAnimationFrameDefaults(t.frame || {}); + if (Array.isArray(t.transition)) + for (r.transition = [], e = 0; e < t.transition.length; e++) + r.transition[e] = m.supplyAnimationTransitionDefaults( + t.transition[e] || {}, + ); + else + r.transition = m.supplyAnimationTransitionDefaults(t.transition || {}); + return r; + }), + (m.supplyAnimationFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return s.coerce(t || {}, e, h.frame, r, n); + } + return (r("duration"), r("redraw"), e); + }), + (m.supplyAnimationTransitionDefaults = function (t) { + var e = {}; + function r(r, n) { + return s.coerce(t || {}, e, h.transition, r, n); + } + return (r("duration"), r("easing"), e); + }), + (m.supplyFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return s.coerce(t, e, p, r, n); + } + return ( + r("group"), + r("name"), + r("traces"), + r("baseframe"), + r("data"), + r("layout"), + e + ); + }), + (m.supplyTraceDefaults = function (t, e, r, n) { + var i, + o = r.colorway || l.defaults, + c = {}, + u = o[e % o.length]; + function f(e, r) { + return s.coerce(t, c, m.attributes, e, r); + } + var h = f("visible"); + (f("type"), f("uid"), f("name", r._traceWord + " " + n)); + var p = m.getModule(c); + if (((c._module = p), p)) { + var d = p.basePlotModule, + g = d.attr, + v = d.attributes; + if (g && v) { + var y = r._subplots, + x = ""; + if ("gl2d" !== d.name || h) { + if (Array.isArray(g)) + for (i = 0; i < g.length; i++) { + var b = g[i], + _ = s.coerce(t, c, v, b); + (y[b] && s.pushUnique(y[b], _), (x += _)); + } + else x = s.coerce(t, c, v, g); + y[d.name] && s.pushUnique(y[d.name], x); + } + } + } + return ( + h && + (f("customdata"), + f("ids"), + a.traceIs(c, "showLegend") && (f("showlegend"), f("legendgroup")), + a.getComponentMethod("fx", "supplyDefaults")(t, c, u, r), + p && (p.supplyDefaults(t, c, u, r), s.coerceHoverinfo(t, c, r)), + a.traceIs(c, "noOpacity") || f("opacity"), + a.traceIs(c, "notLegendIsolatable") && (c.visible = !!c.visible), + p && p.selectPoints && f("selectedpoints"), + m.supplyTransformDefaults(t, c, r)), + c + ); + }), + (m.supplyTransformDefaults = function (t, e, r) { + if (e._length) { + var n = r._globalTransforms || [], + i = r._transformModules || []; + if (Array.isArray(t.transforms) || 0 !== n.length) + for ( + var a = t.transforms || [], + o = n.concat(a), + l = (e.transforms = []), + c = 0; + c < o.length; + c++ + ) { + var u, + f = o[c], + h = f.type, + p = v[h], + d = !(f._module && f._module === p), + g = p && "function" == typeof p.transform; + (p || s.warn("Unrecognized transform type " + h + "."), + p && p.supplyDefaults && (d || g) + ? (((u = p.supplyDefaults(f, e, r, t)).type = h), + (u._module = p), + s.pushUnique(i, p)) + : (u = s.extendFlat({}, f)), + l.push(u)); + } + } + }), + (m.supplyLayoutGlobalDefaults = function (t, e, r) { + function n(r, n) { + return s.coerce(t, e, m.layoutAttributes, r, n); + } + var i = s.coerceFont(n, "font"); + (n("title", e._dfltTitle.plot), + s.coerceFont(n, "titlefont", { + family: i.family, + size: Math.round(1.4 * i.size), + color: i.color, + }), + n("autosize", !(t.width && t.height)), + n("width"), + n("height"), + n("margin.l"), + n("margin.r"), + n("margin.t"), + n("margin.b"), + n("margin.pad"), + n("margin.autoexpand"), + t.width && t.height && m.sanitizeMargins(e), + a.getComponentMethod("grid", "sizeDefaults")(t, e), + n("paper_bgcolor"), + n("separators", r.decimal + r.thousands), + n("hidesources"), + n("colorway"), + n("datarevision"), + a.getComponentMethod("calendars", "handleDefaults")(t, e, "calendar"), + a.getComponentMethod("fx", "supplyLayoutGlobalDefaults")(t, e, n)); + }), + (m.plotAutoSize = function (t, e, r) { + var n, + a, + o = t._context || {}, + l = o.frameMargins, + c = s.isPlotDiv(t); + if ((c && t.emit("plotly_autosize"), o.fillFrame)) + ((n = window.innerWidth), + (a = window.innerHeight), + (document.body.style.overflow = "hidden")); + else if (i(l) && l > 0) { + var u = (function (t) { + var e, + r = { left: 0, right: 0, bottom: 0, top: 0 }; + if (t) + for (e in t) + t.hasOwnProperty(e) && + ((r.left += t[e].left || 0), + (r.right += t[e].right || 0), + (r.bottom += t[e].bottom || 0), + (r.top += t[e].top || 0)); + return r; + })(t._boundingBoxMargins), + f = u.left + u.right, + h = u.bottom + u.top, + p = 1 - 2 * l, + d = + r._container && r._container.node + ? r._container.node().getBoundingClientRect() + : { width: r.width, height: r.height }; + ((n = Math.round(p * (d.width - f))), + (a = Math.round(p * (d.height - h)))); + } else { + var g = c ? window.getComputedStyle(t) : {}; + ((n = parseFloat(g.width) || r.width), + (a = parseFloat(g.height) || r.height)); + } + var v = m.layoutAttributes.width.min, + y = m.layoutAttributes.height.min; + (n < v && (n = v), a < y && (a = y)); + var x = !e.width && Math.abs(r.width - n) > 1, + b = !e.height && Math.abs(r.height - a) > 1; + ((b || x) && (x && (r.width = n), b && (r.height = a)), + t._initialAutoSize || (t._initialAutoSize = { width: n, height: a }), + m.sanitizeMargins(r)); + }), + (m.supplyLayoutModuleDefaults = function (t, e, r, n) { + var i, + o, + l, + c = a.componentsRegistry, + u = e._basePlotModules, + f = a.subplotsRegistry.cartesian; + for (i in c) (l = c[i]).includeBasePlot && l.includeBasePlot(t, e); + for (var h in (u.length || u.push(f), + e._has("cartesian") && + (a.getComponentMethod("grid", "contentDefaults")(t, e), + f.finalizeSubplots(t, e)), + e._subplots)) + e._subplots[h].sort(s.subplotSort); + for (o = 0; o < u.length; o++) + (l = u[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); + var p = e._modules; + for (o = 0; o < p.length; o++) + (l = p[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); + var d = e._transformModules; + for (o = 0; o < d.length; o++) + (l = d[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r, n); + for (i in c) + (l = c[i]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); + }), + (m.purge = function (t) { + var e = t._fullLayout || {}; + (void 0 !== e._glcontainer && + (e._glcontainer.selectAll(".gl-canvas").remove(), + e._glcontainer.remove(), + (e._glcanvas = null)), + void 0 !== e._geocontainer && e._geocontainer.remove(), + e._modeBar && e._modeBar.destroy(), + t._transitionData && + (t._transitionData._interruptCallbacks && + (t._transitionData._interruptCallbacks.length = 0), + t._transitionData._animationRaf && + window.cancelAnimationFrame(t._transitionData._animationRaf)), + s.clearThrottle(), + delete t.data, + delete t.layout, + delete t._fullData, + delete t._fullLayout, + delete t.calcdata, + delete t.framework, + delete t.empty, + delete t.fid, + delete t.undoqueue, + delete t.undonum, + delete t.autoplay, + delete t.changed, + delete t._promises, + delete t._redrawTimer, + delete t.firstscatter, + delete t._hmlumcount, + delete t._hmpixcount, + delete t._transitionData, + delete t._transitioning, + delete t._initialAutoSize, + delete t._transitioningWithDuration, + delete t._dragging, + delete t._dragged, + delete t._hoverdata, + delete t._snapshotInProgress, + delete t._editing, + delete t._replotPending, + delete t._mouseDownTime, + delete t._legendMouseDownTime, + t.removeAllListeners && t.removeAllListeners()); + }), + (m.style = function (t) { + var e, + r = t._fullLayout._modules, + n = []; + for (e = 0; e < r.length; e++) { + var i = r[e]; + i.style && s.pushUnique(n, i.style); + } + for (e = 0; e < n.length; e++) n[e](t); + }), + (m.sanitizeMargins = function (t) { + if (t && t.margin) { + var e, + r = t.width, + n = t.height, + i = t.margin, + a = r - (i.l + i.r), + o = n - (i.t + i.b); + (a < 0 && + ((e = (r - 1) / (i.l + i.r)), + (i.l = Math.floor(e * i.l)), + (i.r = Math.floor(e * i.r))), + o < 0 && + ((e = (n - 1) / (i.t + i.b)), + (i.t = Math.floor(e * i.t)), + (i.b = Math.floor(e * i.b)))); + } + }), + (m.autoMargin = function (t, e, r) { + var n = t._fullLayout; + if ((n._pushmargin || (n._pushmargin = {}), !1 !== n.margin.autoexpand)) { + if (r) { + var i = void 0 === r.pad ? 12 : r.pad; + (r.l + r.r > 0.5 * n.width && (r.l = r.r = 0), + r.b + r.t > 0.5 * n.height && (r.b = r.t = 0), + (n._pushmargin[e] = { + l: { val: r.x, size: r.l + i }, + r: { val: r.x, size: r.r + i }, + b: { val: r.y, size: r.b + i }, + t: { val: r.y, size: r.t + i }, + })); + } else delete n._pushmargin[e]; + n._replotting || m.doAutoMargin(t); + } + }), + (m.doAutoMargin = function (t) { + var e = t._fullLayout; + (e._size || (e._size = {}), e._pushmargin || (e._pushmargin = {})); + var r = e._size, + n = JSON.stringify(r), + o = Math.max(e.margin.l || 0, 0), + s = Math.max(e.margin.r || 0, 0), + l = Math.max(e.margin.t || 0, 0), + c = Math.max(e.margin.b || 0, 0), + u = e._pushmargin; + if (!1 !== e.margin.autoexpand) + for (var f in ((u.base = { + l: { val: 0, size: o }, + r: { val: 1, size: s }, + t: { val: 1, size: l }, + b: { val: 0, size: c }, + }), + u)) { + var h = u[f].l || {}, + p = u[f].b || {}, + d = h.val, + g = h.size, + m = p.val, + v = p.size; + for (var y in u) { + if (i(g) && u[y].r) { + var x = u[y].r.val, + b = u[y].r.size; + if (x > d) { + var _ = (g * x + (b - e.width) * d) / (x - d), + w = (b * (1 - d) + (g - e.width) * (1 - x)) / (x - d); + _ >= 0 && w >= 0 && _ + w > o + s && ((o = _), (s = w)); + } + } + if (i(v) && u[y].t) { + var k = u[y].t.val, + M = u[y].t.size; + if (k > m) { + var A = (v * k + (M - e.height) * m) / (k - m), + T = (M * (1 - m) + (v - e.height) * (1 - k)) / (k - m); + A >= 0 && T >= 0 && A + T > c + l && ((c = A), (l = T)); + } + } + } + } + if ( + ((r.l = Math.round(o)), + (r.r = Math.round(s)), + (r.t = Math.round(l)), + (r.b = Math.round(c)), + (r.p = Math.round(e.margin.pad)), + (r.w = Math.round(e.width) - r.l - r.r), + (r.h = Math.round(e.height) - r.t - r.b), + !e._replotting && "{}" !== n && n !== JSON.stringify(e._size)) + ) + return a.call("plot", t); + }), + (m.graphJson = function (t, e, r, n, i) { + ((i && e && !t._fullData) || (i && !e && !t._fullLayout)) && + m.supplyDefaults(t); + var a = i ? t._fullData : t.data, + o = i ? t._fullLayout : t.layout, + l = (t._transitionData || {})._frames; + function c(t) { + if ("function" == typeof t) return null; + if (s.isPlainObject(t)) { + var e, + n, + i = {}; + for (e in t) + if ( + "function" != typeof t[e] && + -1 === ["_", "["].indexOf(e.charAt(0)) + ) { + if ("keepdata" === r) { + if ("src" === e.substr(e.length - 3)) continue; + } else if ("keepstream" === r) { + if ( + "string" == typeof (n = t[e + "src"]) && + n.indexOf(":") > 0 && + !s.isPlainObject(t.stream) + ) + continue; + } else if ( + "keepall" !== r && + "string" == typeof (n = t[e + "src"]) && + n.indexOf(":") > 0 + ) + continue; + i[e] = c(t[e]); + } + return i; + } + return Array.isArray(t) + ? t.map(c) + : s.isJSDate(t) + ? s.ms2DateTimeLocal(+t) + : t; + } + var u = { + data: (a || []).map(function (t) { + var r = c(t); + return (e && delete r.fit, r); + }), + }; + return ( + e || (u.layout = c(o)), + t.framework && t.framework.isPolar && (u = t.framework.getConfig()), + l && (u.frames = c(l)), + "object" === n ? u : JSON.stringify(u) + ); + }), + (m.modifyFrames = function (t, e) { + var r, + n, + i, + a = t._transitionData._frames, + o = t._transitionData._frameHash; + for (r = 0; r < e.length; r++) + switch ((n = e[r]).type) { + case "replace": + i = n.value; + var s = (a[n.index] || {}).name, + l = i.name; + ((a[n.index] = o[l] = i), l !== s && (delete o[s], (o[l] = i))); + break; + case "insert": + ((o[(i = n.value).name] = i), a.splice(n.index, 0, i)); + break; + case "delete": + (delete o[(i = a[n.index]).name], a.splice(n.index, 1)); + } + return Promise.resolve(); + }), + (m.computeFrame = function (t, e) { + var r, + n, + i, + a, + o = t._transitionData._frameHash; + if (!e) throw new Error("computeFrame must be given a string frame name"); + var s = o[e.toString()]; + if (!s) return !1; + for ( + var l = [s], c = [s.name]; + s.baseframe && + (s = o[s.baseframe.toString()]) && + -1 === c.indexOf(s.name); + + ) + (l.push(s), c.push(s.name)); + for (var u = {}; (s = l.pop()); ) + if ( + (s.layout && (u.layout = m.extendLayout(u.layout, s.layout)), s.data) + ) { + if ((u.data || (u.data = []), !(n = s.traces))) + for (n = [], r = 0; r < s.data.length; r++) n[r] = r; + for (u.traces || (u.traces = []), r = 0; r < s.data.length; r++) + void 0 !== (i = n[r]) && + null !== i && + (-1 === (a = u.traces.indexOf(i)) && + ((a = u.data.length), (u.traces[a] = i)), + (u.data[a] = m.extendTrace(u.data[a], s.data[r]))); + } + return u; + }), + (m.recomputeFrameHash = function (t) { + for ( + var e = (t._transitionData._frameHash = {}), + r = t._transitionData._frames, + n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + i && i.name && (e[i.name] = i); + } + }), + (m.extendObjectWithContainers = function (t, e, r) { + var n, + i, + a, + o, + l, + c, + u, + f = s.extendDeepNoArrays({}, e || {}), + h = s.expandObjectPaths(f), + p = {}; + if (r && r.length) + for (a = 0; a < r.length; a++) + void 0 === (i = (n = s.nestedProperty(h, r[a])).get()) + ? s.nestedProperty(p, r[a]).set(null) + : (n.set(null), s.nestedProperty(p, r[a]).set(i)); + if (((t = s.extendDeepNoArrays(t || {}, h)), r && r.length)) + for (a = 0; a < r.length; a++) + if ((c = s.nestedProperty(p, r[a]).get())) { + for ( + u = (l = s.nestedProperty(t, r[a])).get(), + Array.isArray(u) || ((u = []), l.set(u)), + o = 0; + o < c.length; + o++ + ) { + var d = c[o]; + u[o] = null === d ? null : m.extendObjectWithContainers(u[o], d); + } + l.set(u); + } + return t; + }), + (m.dataArrayContainers = ["transforms", "dimensions"]), + (m.layoutArrayContainers = a.layoutArrayContainers), + (m.extendTrace = function (t, e) { + return m.extendObjectWithContainers(t, e, m.dataArrayContainers); + }), + (m.extendLayout = function (t, e) { + return m.extendObjectWithContainers(t, e, m.layoutArrayContainers); + }), + (m.transition = function (t, e, r, n, i, o) { + var l, + c, + u = Array.isArray(e) ? e.length : 0, + f = n.slice(0, u), + h = []; + var p = !1; + for (l = 0; l < f.length; l++) { + c = f[l]; + t._fullData[c]._module; + } + var d = [ + m.previousPromises, + function () { + if (t._transitionData) + return ( + (t._transitioning = !1), + (function (t) { + var e = Promise.resolve(); + if (!t) return e; + for (; t.length; ) e = e.then(t.shift()); + return e; + })(t._transitionData._interruptCallbacks) + ); + }, + function () { + var n; + for (n = 0; n < f.length; n++) { + var i = f[n], + o = t._fullData[i]._module; + o && + (o.animatable && h.push(i), + (t.data[f[n]] = m.extendTrace(t.data[f[n]], e[n]))); + } + var l = s.expandObjectPaths(s.extendDeepNoArrays({}, r)), + c = /^[xy]axis[0-9]*$/; + for (var u in l) c.test(u) && delete l[u].range; + return ( + m.extendLayout(t.layout, l), + delete t.calcdata, + m.supplyDefaults(t), + m.doCalcdata(t), + a.getComponentMethod("errorbars", "calc")(t), + Promise.resolve() + ); + }, + m.rehover, + function () { + return ( + t.emit("plotly_transitioning", []), + new Promise(function (e) { + ((t._transitioning = !0), + o.duration > 0 && (t._transitioningWithDuration = !0), + t._transitionData._interruptCallbacks.push(function () { + p = !0; + }), + i.redraw && + t._transitionData._interruptCallbacks.push(function () { + return a.call("redraw", t); + }), + t._transitionData._interruptCallbacks.push(function () { + t.emit("plotly_transitioninterrupted", []); + })); + var n, + l, + c = 0, + u = 0; + function f() { + return ( + c++, + function () { + var r; + p || + ++u !== c || + ((r = e), + t._transitionData && + ((function (t) { + if (t) for (; t.length; ) t.shift(); + })(t._transitionData._interruptCallbacks), + Promise.resolve() + .then(function () { + if (i.redraw) return a.call("redraw", t); + }) + .then(function () { + ((t._transitioning = !1), + (t._transitioningWithDuration = !1), + t.emit("plotly_transitioned", [])); + }) + .then(r))); + } + ); + } + var d = t._fullLayout._basePlotModules, + g = !1; + if (r) + for (l = 0; l < d.length; l++) + if (d[l].transitionAxes) { + var m = s.expandObjectPaths(r); + g = d[l].transitionAxes(t, m, o, f) || g; + } + for ( + g ? ((n = s.extendFlat({}, o)).duration = 0) : (n = o), l = 0; + l < d.length; + l++ + ) + d[l].plot(t, h, n, f); + setTimeout(f()); + }) + ); + }, + ], + g = s.syncOrAsync(d, t); + return ( + (g && g.then) || (g = Promise.resolve()), + g.then(function () { + return t; + }) + ); + }), + (m.doCalcdata = function (t, e) { + var r, + n, + i, + s, + l = u.list(t), + f = t._fullData, + h = t._fullLayout, + p = new Array(f.length), + d = (t.calcdata || []).slice(0); + for ( + t.calcdata = p, + t.firstscatter = !0, + h._numBoxes = 0, + h._numViolins = 0, + h._violinScaleGroupStats = {}, + t._hmpixcount = 0, + t._hmlumcount = 0, + h._piecolormap = {}, + h._piecolorway = null, + h._piedefaultcolorcount = 0, + i = 0; + i < f.length; + i++ + ) + Array.isArray(e) && -1 === e.indexOf(i) && (p[i] = d[i]); + for (i = 0; i < f.length; i++) + (r = f[i])._arrayAttrs = o.findArrayAttributes(r); + var g = h._subplots.polar || []; + for (i = 0; i < g.length; i++) + l.push(h[g[i]].radialaxis, h[g[i]].angularaxis); + M(l); + var m = !1; + for (i = 0; i < f.length; i++) + if (!0 === (r = f[i]).visible && r.transforms) + for ( + (n = r._module) && n.calc && n.calc(t, r), s = 0; + s < r.transforms.length; + s++ + ) { + var y = r.transforms[s]; + (n = v[y.type]) && + n.calcTransform && + ((r._hasCalcTransform = !0), (m = !0), n.calcTransform(t, r, y)); + } + function x(e, i) { + if (((r = f[e]), !!(n = r._module).isContainer === i)) { + var a = []; + if (!0 === r.visible) { + var o = r.transforms || []; + for (s = o.length - 1; s >= 0; s--) + if (o[s].enabled) { + r._indexToPoints = o[s]._indexToPoints; + break; + } + n && n.calc && (a = n.calc(t, r)); + } + ((Array.isArray(a) && a[0]) || (a = [{ x: c, y: c }]), + a[0].t || (a[0].t = {}), + (a[0].trace = r), + (p[e] = a)); + } + } + for (m && M(l), i = 0; i < f.length; i++) x(i, !0); + for (i = 0; i < f.length; i++) x(i, !1); + a.getComponentMethod("fx", "calc")(t); + }), + (m.rehover = function (t) { + t._fullLayout._rehover && t._fullLayout._rehover(); + }), + (m.generalUpdatePerTraceModule = function (t, e, r, n) { + var i, + a = e.traceHash, + o = {}; + for (i = 0; i < r.length; i++) { + var l = r[i], + c = l[0].trace; + c.visible && ((o[c.type] = o[c.type] || []), o[c.type].push(l)); + } + for (var u in a) + if (!o[u]) { + var f = a[u][0]; + ((f[0].trace.visible = !1), (o[u] = [f])); + } + for (var h in o) { + var p = o[h]; + p[0][0].trace._module.plot(t, e, s.filterVisible(p), n); + } + e.traceHash = o; + })); + }, + { + "../components/color": 474, + "../constants/numerical": 579, + "../lib": 602, + "../plot_api/plot_schema": 639, + "../plots/cartesian/axis_ids": 651, + "../registry": 732, + "./animation_attributes": 643, + "./attributes": 645, + "./command": 672, + "./font_attributes": 674, + "./frame_attributes": 675, + "./layout_attributes": 701, + "./sort_modules": 723, + d3: 130, + "fast-isnumeric": 196, + }, + ], + 711: [ + function (t, e, r) { + "use strict"; + e.exports = { + attr: "subplot", + name: "polar", + axisNames: ["angularaxis", "radialaxis"], + axisName2dataArray: { angularaxis: "theta", radialaxis: "r" }, + layerNames: [ + "draglayer", + "plotbg", + "backplot", + "angular-grid", + "radial-grid", + "frontplot", + "angular-axis", + "radial-axis", + "angular-line", + "radial-line", + ], + radialDragBoxSize: 50, + angularDragBoxSize: 30, + cornerLen: 25, + cornerHalfWidth: 2, + MINDRAG: 8, + MINZOOM: 20, + OFFEDGE: 20, + }; + }, + {}, + ], + 712: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + r.setConvertAngular = function (t) { + var e, + r, + i = { clockwise: -1, counterclockwise: 1 }[t.direction], + a = n.deg2rad(t.rotation); + function o() { + return t.period + ? Math.max(t.period, t._categories.length) + : t._categories.length; + } + function s(t) { + return (t - a) / i; + } + ("linear" === t.type + ? ((e = function (t, e) { + return "degrees" === e ? n.deg2rad(t) : t; + }), + (r = function (t, e) { + return "degrees" === e ? n.rad2deg(t) : t; + })) + : "category" === t.type && + ((e = function (t) { + var e = o(); + return (2 * t * Math.PI) / e; + }), + (r = function (t) { + return (t * o()) / Math.PI / 2; + })), + (t.unTransformRad = s), + (t._c2rad = e), + (t.c2rad = function (t, r) { + return (function (t) { + return i * t + a; + })(e(t, r)); + }), + (t.rad2c = function (t, e) { + return r(s(t), e); + }), + (t.c2deg = function (e, r) { + return n.rad2deg(t.c2rad(e, r)); + }), + (t.deg2c = function (e, r) { + return t.rad2c(n.deg2rad(e), r); + })); + }; + }, + { "../../lib": 602 }, + ], + 713: [ + function (t, e, r) { + "use strict"; + var n = t("../get_data").getSubplotCalcData, + i = t("../../lib").counterRegex, + a = t("./polar"), + o = t("./constants"), + s = o.attr, + l = o.name, + c = i(l), + u = {}; + ((u[s] = { valType: "subplotid", dflt: l, editType: "calc" }), + (e.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: c, + attrRegex: c, + attributes: u, + layoutAttributes: t("./layout_attributes"), + supplyLayoutDefaults: t("./layout_defaults"), + plot: function (t) { + for ( + var e = t._fullLayout, r = t.calcdata, i = e._subplots[l], o = 0; + o < i.length; + o++ + ) { + var s = i[o], + c = n(r, l, s), + u = e[s]._subplot; + (u || ((u = a(t, s)), (e[s]._subplot = u)), + u.plot(c, e, t._promises)); + } + }, + clean: function (t, e, r, n) { + for (var i = n._subplots[l] || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n[o]._subplot; + if (!e[o] && s) + for (var c in (s.framework.remove(), + s.layers["radial-axis-title"].remove(), + s.clipPaths)) + s.clipPaths[c].remove(); + } + }, + toSVG: t("../cartesian").toSVG, + })); + }, + { + "../../lib": 602, + "../cartesian": 659, + "../get_data": 684, + "./constants": 711, + "./layout_attributes": 714, + "./layout_defaults": 715, + "./polar": 722, + }, + ], + 714: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color/attributes"), + i = t("../cartesian/layout_attributes"), + a = t("../domain").attributes, + o = t("../../lib").extendFlat, + s = t("../../plot_api/edit_types").overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + }, + "plot", + "from-root", + ), + c = s( + { + tickmode: i.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + separatethousands: i.separatethousands, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + layer: i.layer, + }, + "plot", + "from-root", + ), + u = { + visible: o({}, i.visible, { dflt: !0 }), + type: i.type, + autorange: i.autorange, + rangemode: { + valType: "enumerated", + values: ["tozero", "nonnegative", "normal"], + dflt: "tozero", + editType: "calc", + }, + range: i.range, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + angle: { valType: "angle", editType: "plot" }, + side: { + valType: "enumerated", + values: ["clockwise", "counterclockwise"], + dflt: "clockwise", + editType: "plot", + }, + title: o({}, i.title, { editType: "plot", dflt: "" }), + titlefont: s(i.titlefont, "plot", "from-root"), + hoverformat: i.hoverformat, + editType: "calc", + }; + o(u, l, c); + var f = { + visible: o({}, i.visible, { dflt: !0 }), + type: { + valType: "enumerated", + values: ["-", "linear", "category"], + dflt: "-", + editType: "calc", + }, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + thetaunit: { + valType: "enumerated", + values: ["radians", "degrees"], + dflt: "degrees", + editType: "calc", + }, + period: { valType: "number", editType: "calc", min: 0 }, + direction: { + valType: "enumerated", + values: ["counterclockwise", "clockwise"], + dflt: "counterclockwise", + editType: "calc", + }, + rotation: { valType: "angle", editType: "calc" }, + hoverformat: i.hoverformat, + editType: "calc", + }; + (o(f, l, c), + (e.exports = { + domain: a({ name: "polar", editType: "plot" }), + sector: { + valType: "info_array", + items: [ + { valType: "number", editType: "plot" }, + { valType: "number", editType: "plot" }, + ], + dflt: [0, 360], + editType: "plot", + }, + bgcolor: { valType: "color", editType: "plot", dflt: n.background }, + radialaxis: u, + angularaxis: f, + editType: "calc", + })); + }, + { + "../../components/color/attributes": 473, + "../../lib": 602, + "../../plot_api/edit_types": 633, + "../cartesian/layout_attributes": 660, + "../domain": 673, + }, + ], + 715: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/color"), + a = t("../subplot_defaults"), + o = t("../get_data").getSubplotData, + s = t("../cartesian/tick_value_defaults"), + l = t("../cartesian/tick_mark_defaults"), + c = t("../cartesian/tick_label_defaults"), + u = t("../cartesian/category_order_defaults"), + f = t("../cartesian/line_grid_defaults"), + h = t("../cartesian/axis_autotype"), + p = t("../cartesian/set_convert"), + d = t("./helpers").setConvertAngular, + g = t("./layout_attributes"), + m = t("./constants"), + v = m.axisNames; + function y(t, e, r, a) { + var h = r("bgcolor"); + a.bgColor = i.combine(h, a.paper_bgcolor); + var y, + b = r("sector"), + _ = o(a.fullData, m.name, a.id), + w = a.layoutOut; + function k(t, e) { + return r(y + "." + t, e); + } + for (var M = 0; M < v.length; M++) { + ((y = v[M]), n.isPlainObject(t[y]) || (t[y] = {})); + var A = t[y], + T = (e[y] = {}); + T._id = T._name = y; + var S = m.axisName2dataArray[y], + C = x(A, T, k, _, S); + u(A, T, k, { axData: _, dataAttr: S }); + var E, + L, + z = k("visible"); + switch ( + (p(T, w), + z && (L = (E = k("color")) === A.color ? E : a.font.color), + (T._m = 1), + y) + ) { + case "radialaxis": + var P = k("autorange", !T.isValidRange(A.range)); + ((A.autorange = P), + P && k("rangemode"), + "reversed" === P && (T._m = -1), + k("range"), + T.cleanRange("range", { dfltRange: [0, 1] }), + z && + (k("side"), + k("angle", b[0]), + k("title"), + n.coerceFont(k, "titlefont", { + family: a.font.family, + size: Math.round(1.2 * a.font.size), + color: L, + }))); + break; + case "angularaxis": + if ("date" === C) { + n.log("Polar plots do not support date angular axes yet."); + for (var D = 0; D < _.length; D++) _[D].visible = !1; + C = A.type = T.type = "linear"; + } + (k("linear" === C ? "thetaunit" : "period"), + k( + "rotation", + { counterclockwise: 0, clockwise: 90 }[k("direction")], + ), + d(T)); + } + if (z) + (s(A, T, k, T.type), + c(A, T, k, T.type, { + tickSuffixDflt: "degrees" === T.thetaunit ? "\xb0" : void 0, + }), + l(A, T, k, { outerTicks: !0 }), + k("showticklabels") && + (n.coerceFont(k, "tickfont", { + family: a.font.family, + size: a.font.size, + color: L, + }), + k("tickangle"), + k("tickformat")), + f(A, T, k, { + dfltColor: E, + bgColor: a.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: g[y], + }), + k("layer")); + ("category" !== C && k("hoverformat"), (T._input = A)); + } + } + function x(t, e, r, n, i) { + if ("-" === r("type")) { + for (var a, o = 0; o < n.length; o++) + if (n[o].visible) { + a = n[o]; + break; + } + (a && (e.type = h(a[i], "gregorian")), + "-" === e.type ? (e.type = "linear") : (t.type = e.type)); + } + return e.type; + } + e.exports = function (t, e, r) { + a(t, e, r, { + type: m.name, + attributes: g, + handleDefaults: y, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../cartesian/axis_autotype": 649, + "../cartesian/category_order_defaults": 652, + "../cartesian/line_grid_defaults": 662, + "../cartesian/set_convert": 666, + "../cartesian/tick_label_defaults": 667, + "../cartesian/tick_mark_defaults": 668, + "../cartesian/tick_value_defaults": 669, + "../get_data": 684, + "../subplot_defaults": 724, + "./constants": 711, + "./helpers": 712, + "./layout_attributes": 714, + }, + ], + 716: [ + function (t, e, r) { + "use strict"; + var n = t("../../../traces/scatter/attributes"), + i = n.marker; + e.exports = { + r: n.r, + t: n.t, + marker: { + color: i.color, + size: i.size, + symbol: i.symbol, + opacity: i.opacity, + editType: "calc", + }, + }; + }, + { "../../../traces/scatter/attributes": 926 }, + ], + 717: [ + function (t, e, r) { + "use strict"; + var n = t("../../cartesian/layout_attributes"), + i = t("../../../lib/extend").extendFlat, + a = t("../../../plot_api/edit_types").overrideAll, + o = i({}, n.domain, {}); + function s(t, e) { + return i({}, e, { + showline: { valType: "boolean" }, + showticklabels: { valType: "boolean" }, + tickorientation: { + valType: "enumerated", + values: ["horizontal", "vertical"], + }, + ticklen: { valType: "number", min: 0 }, + tickcolor: { valType: "color" }, + ticksuffix: { valType: "string" }, + endpadding: { valType: "number" }, + visible: { valType: "boolean" }, + }); + } + e.exports = a( + { + radialaxis: s(0, { + range: { + valType: "info_array", + items: [{ valType: "number" }, { valType: "number" }], + }, + domain: o, + orientation: { valType: "number" }, + }), + angularaxis: s(0, { + range: { + valType: "info_array", + items: [ + { valType: "number", dflt: 0 }, + { valType: "number", dflt: 360 }, + ], + }, + domain: o, + }), + layout: { + direction: { + valType: "enumerated", + values: ["clockwise", "counterclockwise"], + }, + orientation: { valType: "angle" }, + }, + }, + "plot", + "nested", + ); + }, + { + "../../../lib/extend": 591, + "../../../plot_api/edit_types": 633, + "../../cartesian/layout_attributes": 660, + }, + ], + 718: [ + function (t, e, r) { + "use strict"; + (e.exports = t("./micropolar")).manager = t("./micropolar_manager"); + }, + { "./micropolar": 719, "./micropolar_manager": 720 }, + ], + 719: [ + function (t, e, r) { + var n = t("d3"), + i = t("../../../lib").extendDeepAll, + a = t("../../../constants/alignment").MID_SHIFT, + o = (e.exports = { version: "0.2.2" }); + ((o.Axis = function () { + var t, + e, + r, + s, + l = { data: [], layout: {} }, + c = {}, + u = {}, + f = n.dispatch("hover"), + h = {}; + return ( + (h.render = function (c) { + return ( + (function (c) { + e = c || e; + var f = l.data, + h = l.layout; + (("string" == typeof e || e.nodeName) && (e = n.select(e)), + e.datum(f).each(function (e, l) { + var c = e.slice(); + u = { data: o.util.cloneJson(c), layout: o.util.cloneJson(h) }; + var f = 0; + c.forEach(function (t, e) { + (t.color || + ((t.color = h.defaultColorRange[f]), + (f = (f + 1) % h.defaultColorRange.length)), + t.strokeColor || + (t.strokeColor = + "LinePlot" === t.geometry + ? t.color + : n.rgb(t.color).darker().toString()), + (u.data[e].color = t.color), + (u.data[e].strokeColor = t.strokeColor), + (u.data[e].strokeDash = t.strokeDash), + (u.data[e].strokeSize = t.strokeSize)); + }); + var p = c.filter(function (t, e) { + var r = t.visible; + return void 0 === r || !0 === r; + }), + d = !1, + g = p.map(function (t, e) { + return ((d = d || void 0 !== t.groupId), t); + }); + if (d) { + var m = [], + v = n + .nest() + .key(function (t, e) { + return void 0 !== t.groupId ? t.groupId : "unstacked"; + }) + .entries(g) + .map(function (t, e) { + if ("unstacked" === t.key) return t.values; + var r = t.values[0].r.map(function (t, e) { + return 0; + }); + return ( + t.values.forEach(function (t, e, n) { + ((t.yStack = [r]), + m.push(r), + (r = o.util.sumArrays(t.r, r))); + }), + t.values + ); + }); + p = n.merge(v); + } + p.forEach(function (t, e) { + ((t.t = Array.isArray(t.t[0]) ? t.t : [t.t]), + (t.r = Array.isArray(t.r[0]) ? t.r : [t.r])); + }); + var y = + Math.min( + h.width - h.margin.left - h.margin.right, + h.height - h.margin.top - h.margin.bottom, + ) / 2; + y = Math.max(10, y); + var x, + b = [h.margin.left + y, h.margin.top + y]; + ((x = d + ? [ + 0, + n.max( + o.util.sumArrays( + o.util.arrayLast(p).r[0], + o.util.arrayLast(m), + ), + ), + ] + : n.extent( + o.util.flattenArray( + p.map(function (t, e) { + return t.r; + }), + ), + )), + h.radialAxis.domain != o.DATAEXTENT && (x[0] = 0), + (r = n.scale + .linear() + .domain( + h.radialAxis.domain != o.DATAEXTENT && h.radialAxis.domain + ? h.radialAxis.domain + : x, + ) + .range([0, y])), + (u.layout.radialAxis.domain = r.domain())); + var _, + w = o.util.flattenArray( + p.map(function (t, e) { + return t.t; + }), + ), + k = "string" == typeof w[0]; + k && + ((w = o.util.deduplicate(w)), + (_ = w.slice()), + (w = n.range(w.length)), + (p = p.map(function (t, e) { + var r = t; + return ((t.t = [w]), d && (r.yStack = t.yStack), r); + }))); + var M = + p.filter(function (t, e) { + return ( + "LinePlot" === t.geometry || "DotPlot" === t.geometry + ); + }).length === p.length, + A = null === h.needsEndSpacing ? k || !M : h.needsEndSpacing, + T = + h.angularAxis.domain && + h.angularAxis.domain != o.DATAEXTENT && + !k && + h.angularAxis.domain[0] >= 0 + ? h.angularAxis.domain + : n.extent(w), + S = Math.abs(w[1] - w[0]); + M && !k && (S = 0); + var C = T.slice(); + A && k && (C[1] += S); + var E = h.angularAxis.ticksCount || 4; + (E > 8 && (E = E / (E / 8) + (E % 8)), + h.angularAxis.ticksStep && (E = (C[1] - C[0]) / E)); + var L = + h.angularAxis.ticksStep || + (C[1] - C[0]) / (E * (h.minorTicks + 1)); + (_ && (L = Math.max(Math.round(L), 1)), C[2] || (C[2] = L)); + var z = n.range.apply(this, C); + if ( + ((z = z.map(function (t, e) { + return parseFloat(t.toPrecision(12)); + })), + (s = n.scale + .linear() + .domain(C.slice(0, 2)) + .range("clockwise" === h.direction ? [0, 360] : [360, 0])), + (u.layout.angularAxis.domain = s.domain()), + (u.layout.angularAxis.endPadding = A ? S : 0), + void 0 === (t = n.select(this).select("svg.chart-root")) || + t.empty()) + ) { + var P = new DOMParser().parseFromString( + "' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '", + "application/xml", + ), + D = this.appendChild( + this.ownerDocument.importNode(P.documentElement, !0), + ); + t = n.select(D); + } + (t.select(".guides-group").style({ "pointer-events": "none" }), + t + .select(".angular.axis-group") + .style({ "pointer-events": "none" }), + t + .select(".radial.axis-group") + .style({ "pointer-events": "none" })); + var O, + I = t.select(".chart-group"), + R = { fill: "none", stroke: h.tickColor }, + B = { + "font-size": h.font.size, + "font-family": h.font.family, + fill: h.font.color, + "text-shadow": [ + "-1px 0px", + "1px -1px", + "-1px 1px", + "1px 1px", + ] + .map(function (t, e) { + return " " + t + " 0 " + h.font.outlineColor; + }) + .join(","), + }; + if (h.showLegend) { + O = t + .select(".legend-group") + .attr({ transform: "translate(" + [y, h.margin.top] + ")" }) + .style({ display: "block" }); + var F = p.map(function (t, e) { + var r = o.util.cloneJson(t); + return ( + (r.symbol = + "DotPlot" === t.geometry + ? t.dotType || "circle" + : "LinePlot" != t.geometry + ? "square" + : "line"), + (r.visibleInLegend = + void 0 === t.visibleInLegend || t.visibleInLegend), + (r.color = + "LinePlot" === t.geometry ? t.strokeColor : t.color), + r + ); + }); + o.Legend().config({ + data: p.map(function (t, e) { + return t.name || "Element" + e; + }), + legendConfig: i({}, o.Legend.defaultConfig().legendConfig, { + container: O, + elements: F, + reverseOrder: h.legend.reverseOrder, + }), + })(); + var N = O.node().getBBox(); + ((y = + Math.min( + h.width - N.width - h.margin.left - h.margin.right, + h.height - h.margin.top - h.margin.bottom, + ) / 2), + (y = Math.max(10, y)), + (b = [h.margin.left + y, h.margin.top + y]), + r.range([0, y]), + (u.layout.radialAxis.domain = r.domain()), + O.attr( + "transform", + "translate(" + [b[0] + y, b[1] - y] + ")", + )); + } else O = t.select(".legend-group").style({ display: "none" }); + (t + .attr({ width: h.width, height: h.height }) + .style({ opacity: h.opacity }), + I.attr("transform", "translate(" + b + ")").style({ + cursor: "crosshair", + })); + var j = [ + (h.width - + (h.margin.left + + h.margin.right + + 2 * y + + (N ? N.width : 0))) / + 2, + (h.height - (h.margin.top + h.margin.bottom + 2 * y)) / 2, + ]; + if ( + ((j[0] = Math.max(0, j[0])), + (j[1] = Math.max(0, j[1])), + t + .select(".outer-group") + .attr("transform", "translate(" + j + ")"), + h.title) + ) { + var V = t.select("g.title-group text").style(B).text(h.title), + U = V.node().getBBox(); + V.attr({ x: b[0] - U.width / 2, y: b[1] - y - 20 }); + } + var q = t.select(".radial.axis-group"); + if (h.radialAxis.gridLinesVisible) { + var H = q.selectAll("circle.grid-circle").data(r.ticks(5)); + (H.enter() + .append("circle") + .attr({ class: "grid-circle" }) + .style(R), + H.attr("r", r), + H.exit().remove()); + } + q.select("circle.outside-circle").attr({ r: y }).style(R); + var G = t + .select("circle.background-circle") + .attr({ r: y }) + .style({ fill: h.backgroundColor, stroke: h.stroke }); + function W(t, e) { + return (s(t) % 360) + h.orientation; + } + if (h.radialAxis.visible) { + var Y = n.svg.axis().scale(r).ticks(5).tickSize(5); + (q.call(Y).attr({ + transform: "rotate(" + h.radialAxis.orientation + ")", + }), + q.selectAll(".domain").style(R), + q + .selectAll("g>text") + .text(function (t, e) { + return this.textContent + h.radialAxis.ticksSuffix; + }) + .style(B) + .style({ "text-anchor": "start" }) + .attr({ + x: 0, + y: 0, + dx: 0, + dy: 0, + transform: function (t, e) { + return "horizontal" === h.radialAxis.tickOrientation + ? "rotate(" + + -h.radialAxis.orientation + + ") translate(" + + [0, B["font-size"]] + + ")" + : "translate(" + [0, B["font-size"]] + ")"; + }, + }), + q.selectAll("g>line").style({ stroke: "black" })); + } + var X = t + .select(".angular.axis-group") + .selectAll("g.angular-tick") + .data(z), + Z = X.enter().append("g").classed("angular-tick", !0); + (X.attr({ + transform: function (t, e) { + return "rotate(" + W(t) + ")"; + }, + }).style({ display: h.angularAxis.visible ? "block" : "none" }), + X.exit().remove(), + Z.append("line") + .classed("grid-line", !0) + .classed("major", function (t, e) { + return e % (h.minorTicks + 1) == 0; + }) + .classed("minor", function (t, e) { + return !(e % (h.minorTicks + 1) == 0); + }) + .style(R), + Z.selectAll(".minor").style({ stroke: h.minorTickColor }), + X.select("line.grid-line") + .attr({ x1: h.tickLength ? y - h.tickLength : 0, x2: y }) + .style({ + display: h.angularAxis.gridLinesVisible + ? "block" + : "none", + }), + Z.append("text").classed("axis-text", !0).style(B)); + var J = X.select("text.axis-text") + .attr({ + x: y + h.labelOffset, + dy: a + "em", + transform: function (t, e) { + var r = W(t), + n = y + h.labelOffset, + i = h.angularAxis.tickOrientation; + return "horizontal" == i + ? "rotate(" + -r + " " + n + " 0)" + : "radial" == i + ? r < 270 && r > 90 + ? "rotate(180 " + n + " 0)" + : null + : "rotate(" + + (r <= 180 && r > 0 ? -90 : 90) + + " " + + n + + " 0)"; + }, + }) + .style({ + "text-anchor": "middle", + display: h.angularAxis.labelsVisible ? "block" : "none", + }) + .text(function (t, e) { + return e % (h.minorTicks + 1) != 0 + ? "" + : _ + ? _[t] + h.angularAxis.ticksSuffix + : t + h.angularAxis.ticksSuffix; + }) + .style(B); + h.angularAxis.rewriteTicks && + J.text(function (t, e) { + return e % (h.minorTicks + 1) != 0 + ? "" + : h.angularAxis.rewriteTicks(this.textContent, e); + }); + var K = n.max( + I.selectAll(".angular-tick text")[0].map(function (t, e) { + return t.getCTM().e + t.getBBox().width; + }), + ); + O.attr({ + transform: "translate(" + [y + K, h.margin.top] + ")", + }); + var Q = t.select("g.geometry-group").selectAll("g").size() > 0, + $ = t + .select("g.geometry-group") + .selectAll("g.geometry") + .data(p); + if ( + ($.enter() + .append("g") + .attr({ + class: function (t, e) { + return "geometry geometry" + e; + }, + }), + $.exit().remove(), + p[0] || Q) + ) { + var tt = []; + p.forEach(function (t, e) { + var n = {}; + ((n.radialScale = r), + (n.angularScale = s), + (n.container = $.filter(function (t, r) { + return r == e; + })), + (n.geometry = t.geometry), + (n.orientation = h.orientation), + (n.direction = h.direction), + (n.index = e), + tt.push({ data: t, geometryConfig: n })); + }); + var et = []; + (n + .nest() + .key(function (t, e) { + return void 0 !== t.data.groupId || "unstacked"; + }) + .entries(tt) + .forEach(function (t, e) { + "unstacked" === t.key + ? (et = et.concat( + t.values.map(function (t, e) { + return [t]; + }), + )) + : et.push(t.values); + }), + et.forEach(function (t, e) { + var r; + r = Array.isArray(t) + ? t[0].geometryConfig.geometry + : t.geometryConfig.geometry; + var n = t.map(function (t, e) { + return i(o[r].defaultConfig(), t); + }); + o[r]().config(n)(); + })); + } + var rt, + nt, + it = t.select(".guides-group"), + at = t.select(".tooltips-group"), + ot = o + .tooltipPanel() + .config({ container: at, fontSize: 8 })(), + st = o + .tooltipPanel() + .config({ container: at, fontSize: 8 })(), + lt = o + .tooltipPanel() + .config({ container: at, hasTick: !0 })(); + if (!k) { + var ct = it + .select("line") + .attr({ x1: 0, y1: 0, y2: 0 }) + .style({ stroke: "grey", "pointer-events": "none" }); + I.on("mousemove.angular-guide", function (t, e) { + var r = o.util.getMousePos(G).angle; + ct.attr({ x2: -y, transform: "rotate(" + r + ")" }).style({ + opacity: 0.5, + }); + var n = (r + 180 + 360 - h.orientation) % 360; + rt = s.invert(n); + var i = o.util.convertToCartesian(y + 12, r + 180); + ot.text(o.util.round(rt)).move([i[0] + b[0], i[1] + b[1]]); + }).on("mouseout.angular-guide", function (t, e) { + it.select("line").style({ opacity: 0 }); + }); + } + var ut = it + .select("circle") + .style({ stroke: "grey", fill: "none" }); + (I.on("mousemove.radial-guide", function (t, e) { + var n = o.util.getMousePos(G).radius; + (ut.attr({ r: n }).style({ opacity: 0.5 }), + (nt = r.invert(o.util.getMousePos(G).radius))); + var i = o.util.convertToCartesian( + n, + h.radialAxis.orientation, + ); + st.text(o.util.round(nt)).move([i[0] + b[0], i[1] + b[1]]); + }).on("mouseout.radial-guide", function (t, e) { + (ut.style({ opacity: 0 }), lt.hide(), ot.hide(), st.hide()); + }), + t + .selectAll(".geometry-group .mark") + .on("mouseover.tooltip", function (e, r) { + var i = n.select(this), + a = this.style.fill, + s = "black", + l = this.style.opacity || 1; + if ((i.attr({ "data-opacity": l }), a && "none" !== a)) { + (i.attr({ "data-fill": a }), + (s = n.hsl(a).darker().toString()), + i.style({ fill: s, opacity: 1 })); + var c = { + t: o.util.round(e[0]), + r: o.util.round(e[1]), + }; + k && (c.t = _[e[0]]); + var u = "t: " + c.t + ", r: " + c.r, + f = this.getBoundingClientRect(), + h = t.node().getBoundingClientRect(), + p = [ + f.left + f.width / 2 - j[0] - h.left, + f.top + f.height / 2 - j[1] - h.top, + ]; + (lt.config({ color: s }).text(u), lt.move(p)); + } else + ((a = this.style.stroke || "black"), + i.attr({ "data-stroke": a }), + (s = n.hsl(a).darker().toString()), + i.style({ stroke: s, opacity: 1 })); + }) + .on("mousemove.tooltip", function (t, e) { + if (0 != n.event.which) return !1; + n.select(this).attr("data-fill") && lt.show(); + }) + .on("mouseout.tooltip", function (t, e) { + lt.hide(); + var r = n.select(this), + i = r.attr("data-fill"); + i + ? r.style({ fill: i, opacity: r.attr("data-opacity") }) + : r.style({ + stroke: r.attr("data-stroke"), + opacity: r.attr("data-opacity"), + }); + })); + })); + })(c), + this + ); + }), + (h.config = function (t) { + if (!arguments.length) return l; + var e = o.util.cloneJson(t); + return ( + e.data.forEach(function (t, e) { + (l.data[e] || (l.data[e] = {}), + i(l.data[e], o.Axis.defaultConfig().data[0]), + i(l.data[e], t)); + }), + i(l.layout, o.Axis.defaultConfig().layout), + i(l.layout, e.layout), + this + ); + }), + (h.getLiveConfig = function () { + return u; + }), + (h.getinputConfig = function () { + return c; + }), + (h.radialScale = function (t) { + return r; + }), + (h.angularScale = function (t) { + return s; + }), + (h.svg = function () { + return t; + }), + n.rebind(h, f, "on"), + h + ); + }), + (o.Axis.defaultConfig = function (t, e) { + return { + data: [ + { + t: [1, 2, 3, 4], + r: [10, 11, 12, 13], + name: "Line1", + geometry: "LinePlot", + color: null, + strokeDash: "solid", + strokeColor: null, + strokeSize: "1", + visibleInLegend: !0, + opacity: 1, + }, + ], + layout: { + defaultColorRange: n.scale.category10().range(), + title: null, + height: 450, + width: 500, + margin: { top: 40, right: 40, bottom: 40, left: 40 }, + font: { + size: 12, + color: "gray", + outlineColor: "white", + family: "Tahoma, sans-serif", + }, + direction: "clockwise", + orientation: 0, + labelOffset: 10, + radialAxis: { + domain: null, + orientation: -45, + ticksSuffix: "", + visible: !0, + gridLinesVisible: !0, + tickOrientation: "horizontal", + rewriteTicks: null, + }, + angularAxis: { + domain: [0, 360], + ticksSuffix: "", + visible: !0, + gridLinesVisible: !0, + labelsVisible: !0, + tickOrientation: "horizontal", + rewriteTicks: null, + ticksCount: null, + ticksStep: null, + }, + minorTicks: 0, + tickLength: null, + tickColor: "silver", + minorTickColor: "#eee", + backgroundColor: "none", + needsEndSpacing: null, + showLegend: !0, + legend: { reverseOrder: !1 }, + opacity: 1, + }, + }; + }), + (o.util = {}), + (o.DATAEXTENT = "dataExtent"), + (o.AREA = "AreaChart"), + (o.LINE = "LinePlot"), + (o.DOT = "DotPlot"), + (o.BAR = "BarChart"), + (o.util._override = function (t, e) { + for (var r in t) r in e && (e[r] = t[r]); + }), + (o.util._extend = function (t, e) { + for (var r in t) e[r] = t[r]; + }), + (o.util._rndSnd = function () { + return ( + 2 * Math.random() - + 1 + + (2 * Math.random() - 1) + + (2 * Math.random() - 1) + ); + }), + (o.util.dataFromEquation2 = function (t, e) { + var r = e || 6; + return n.range(0, 360 + r, r).map(function (e, r) { + var n = (e * Math.PI) / 180; + return [e, t(n)]; + }); + }), + (o.util.dataFromEquation = function (t, e, r) { + var i = e || 6, + a = [], + o = []; + n.range(0, 360 + i, i).forEach(function (e, r) { + var n = (e * Math.PI) / 180, + i = t(n); + (a.push(e), o.push(i)); + }); + var s = { t: a, r: o }; + return (r && (s.name = r), s); + }), + (o.util.ensureArray = function (t, e) { + if (void 0 === t) return null; + var r = [].concat(t); + return n.range(e).map(function (t, e) { + return r[e] || r[0]; + }); + }), + (o.util.fillArrays = function (t, e, r) { + return ( + e.forEach(function (e, n) { + t[e] = o.util.ensureArray(t[e], r); + }), + t + ); + }), + (o.util.cloneJson = function (t) { + return JSON.parse(JSON.stringify(t)); + }), + (o.util.validateKeys = function (t, e) { + "string" == typeof e && (e = e.split(".")); + var r = e.shift(); + return t[r] && (!e.length || objHasKeys(t[r], e)); + }), + (o.util.sumArrays = function (t, e) { + return n.zip(t, e).map(function (t, e) { + return n.sum(t); + }); + }), + (o.util.arrayLast = function (t) { + return t[t.length - 1]; + }), + (o.util.arrayEqual = function (t, e) { + for ( + var r = Math.max(t.length, e.length, 1); + r-- >= 0 && t[r] === e[r]; + + ); + return -2 === r; + }), + (o.util.flattenArray = function (t) { + for (var e = []; !o.util.arrayEqual(e, t); ) + ((e = t), (t = [].concat.apply([], t))); + return t; + }), + (o.util.deduplicate = function (t) { + return t.filter(function (t, e, r) { + return r.indexOf(t) == e; + }); + }), + (o.util.convertToCartesian = function (t, e) { + var r = (e * Math.PI) / 180; + return [t * Math.cos(r), t * Math.sin(r)]; + }), + (o.util.round = function (t, e) { + var r = e || 2, + n = Math.pow(10, r); + return Math.round(t * n) / n; + }), + (o.util.getMousePos = function (t) { + var e = n.mouse(t.node()), + r = e[0], + i = e[1], + a = {}; + return ( + (a.x = r), + (a.y = i), + (a.pos = e), + (a.angle = (180 * (Math.atan2(i, r) + Math.PI)) / Math.PI), + (a.radius = Math.sqrt(r * r + i * i)), + a + ); + }), + (o.util.duplicatesCount = function (t) { + for (var e, r = {}, n = {}, i = 0, a = t.length; i < a; i++) + (e = t[i]) in r ? (r[e]++, (n[e] = r[e])) : (r[e] = 1); + return n; + }), + (o.util.duplicates = function (t) { + return Object.keys(o.util.duplicatesCount(t)); + }), + (o.util.translator = function (t, e, r, n) { + if (n) { + var i = r.slice(); + ((r = e), (e = i)); + } + var a = e.reduce(function (t, e) { + if (void 0 !== t) return t[e]; + }, t); + void 0 !== a && + (e.reduce(function (t, r, n) { + if (void 0 !== t) return (n === e.length - 1 && delete t[r], t[r]); + }, t), + r.reduce(function (t, e, n) { + return ( + void 0 === t[e] && (t[e] = {}), + n === r.length - 1 && (t[e] = a), + t[e] + ); + }, t)); + }), + (o.PolyChart = function () { + var t = [o.PolyChart.defaultConfig()], + e = n.dispatch("hover"), + r = { solid: "none", dash: [5, 2], dot: [2, 5] }; + function a() { + var e = t[0].geometryConfig, + i = e.container; + ("string" == typeof i && (i = n.select(i)), + i.datum(t).each(function (t, i) { + var a = !!t[0].data.yStack, + o = t.map(function (t, e) { + return a + ? n.zip(t.data.t[0], t.data.r[0], t.data.yStack[0]) + : n.zip(t.data.t[0], t.data.r[0]); + }), + s = e.angularScale, + l = e.radialScale.domain()[0], + c = { + bar: function (r, i, a) { + var o = t[a].data, + l = e.radialScale(r[1]) - e.radialScale(0), + c = e.radialScale(r[2] || 0), + u = o.barWidth; + n.select(this).attr({ + class: "mark bar", + d: + "M" + + [ + [l + c, -u / 2], + [l + c, u / 2], + [c, u / 2], + [c, -u / 2], + ].join("L") + + "Z", + transform: function (t, r) { + return "rotate(" + (e.orientation + s(t[0])) + ")"; + }, + }); + }, + }; + c.dot = function (r, i, a) { + var o = r[2] ? [r[0], r[1] + r[2]] : r, + s = n.svg + .symbol() + .size(t[a].data.dotSize) + .type(t[a].data.dotType)(r, i); + n.select(this).attr({ + class: "mark dot", + d: s, + transform: function (t, r) { + var n, + i, + a, + s = + ((n = (function (t, r) { + var n = e.radialScale(t[1]), + i = + ((e.angularScale(t[0]) + e.orientation) * Math.PI) / + 180; + return { r: n, t: i }; + })(o)), + (i = n.r * Math.cos(n.t)), + (a = n.r * Math.sin(n.t)), + { x: i, y: a }); + return "translate(" + [s.x, s.y] + ")"; + }, + }); + }; + var u = n.svg.line + .radial() + .interpolate(t[0].data.lineInterpolation) + .radius(function (t) { + return e.radialScale(t[1]); + }) + .angle(function (t) { + return (e.angularScale(t[0]) * Math.PI) / 180; + }); + c.line = function (r, i, a) { + var s = r[2] + ? o[a].map(function (t, e) { + return [t[0], t[1] + t[2]]; + }) + : o[a]; + if ( + (n + .select(this) + .each(c.dot) + .style({ + opacity: function (e, r) { + return +t[a].data.dotVisible; + }, + fill: d.stroke(r, i, a), + }) + .attr({ class: "mark dot" }), + !(i > 0)) + ) { + var l = n + .select(this.parentNode) + .selectAll("path.line") + .data([0]); + (l.enter().insert("path"), + l + .attr({ + class: "line", + d: u(s), + transform: function (t, r) { + return "rotate(" + (e.orientation + 90) + ")"; + }, + "pointer-events": "none", + }) + .style({ + fill: function (t, e) { + return d.fill(r, i, a); + }, + "fill-opacity": 0, + stroke: function (t, e) { + return d.stroke(r, i, a); + }, + "stroke-width": function (t, e) { + return d["stroke-width"](r, i, a); + }, + "stroke-dasharray": function (t, e) { + return d["stroke-dasharray"](r, i, a); + }, + opacity: function (t, e) { + return d.opacity(r, i, a); + }, + display: function (t, e) { + return d.display(r, i, a); + }, + })); + } + }; + var f = e.angularScale.range(), + h = ((Math.abs(f[1] - f[0]) / o[0].length) * Math.PI) / 180, + p = n.svg + .arc() + .startAngle(function (t) { + return -h / 2; + }) + .endAngle(function (t) { + return h / 2; + }) + .innerRadius(function (t) { + return e.radialScale(l + (t[2] || 0)); + }) + .outerRadius(function (t) { + return e.radialScale(l + (t[2] || 0)) + e.radialScale(t[1]); + }); + c.arc = function (t, r, i) { + n.select(this).attr({ + class: "mark arc", + d: p, + transform: function (t, r) { + return "rotate(" + (e.orientation + s(t[0]) + 90) + ")"; + }, + }); + }; + var d = { + fill: function (e, r, n) { + return t[n].data.color; + }, + stroke: function (e, r, n) { + return t[n].data.strokeColor; + }, + "stroke-width": function (e, r, n) { + return t[n].data.strokeSize + "px"; + }, + "stroke-dasharray": function (e, n, i) { + return r[t[i].data.strokeDash]; + }, + opacity: function (e, r, n) { + return t[n].data.opacity; + }, + display: function (e, r, n) { + return void 0 === t[n].data.visible || t[n].data.visible + ? "block" + : "none"; + }, + }, + g = n.select(this).selectAll("g.layer").data(o); + g.enter().append("g").attr({ class: "layer" }); + var m = g.selectAll("path.mark").data(function (t, e) { + return t; + }); + (m.enter().append("path").attr({ class: "mark" }), + m.style(d).each(c[e.geometryType]), + m.exit().remove(), + g.exit().remove()); + })); + } + return ( + (a.config = function (e) { + return arguments.length + ? (e.forEach(function (e, r) { + (t[r] || (t[r] = {}), + i(t[r], o.PolyChart.defaultConfig()), + i(t[r], e)); + }), + this) + : t; + }), + (a.getColorScale = function () {}), + n.rebind(a, e, "on"), + a + ); + }), + (o.PolyChart.defaultConfig = function () { + return { + data: { + name: "geom1", + t: [[1, 2, 3, 4]], + r: [[1, 2, 3, 4]], + dotType: "circle", + dotSize: 64, + dotVisible: !1, + barWidth: 20, + color: "#ffa500", + strokeSize: 1, + strokeColor: "silver", + strokeDash: "solid", + opacity: 1, + index: 0, + visible: !0, + visibleInLegend: !0, + }, + geometryConfig: { + geometry: "LinePlot", + geometryType: "arc", + direction: "clockwise", + orientation: 0, + container: "body", + radialScale: null, + angularScale: null, + colorScale: n.scale.category20(), + }, + }; + }), + (o.BarChart = function () { + return o.PolyChart(); + }), + (o.BarChart.defaultConfig = function () { + return { geometryConfig: { geometryType: "bar" } }; + }), + (o.AreaChart = function () { + return o.PolyChart(); + }), + (o.AreaChart.defaultConfig = function () { + return { geometryConfig: { geometryType: "arc" } }; + }), + (o.DotPlot = function () { + return o.PolyChart(); + }), + (o.DotPlot.defaultConfig = function () { + return { geometryConfig: { geometryType: "dot", dotType: "circle" } }; + }), + (o.LinePlot = function () { + return o.PolyChart(); + }), + (o.LinePlot.defaultConfig = function () { + return { geometryConfig: { geometryType: "line" } }; + }), + (o.Legend = function () { + var t = o.Legend.defaultConfig(), + e = n.dispatch("hover"); + function r() { + var e = t.legendConfig, + a = t.data.map(function (t, r) { + return [].concat(t).map(function (t, n) { + var a = i({}, e.elements[r]); + return ( + (a.name = t), + (a.color = [].concat(e.elements[r].color)[n]), + a + ); + }); + }), + o = n.merge(a); + ((o = o.filter(function (t, r) { + return ( + e.elements[r] && + (e.elements[r].visibleInLegend || + void 0 === e.elements[r].visibleInLegend) + ); + })), + e.reverseOrder && (o = o.reverse())); + var s = e.container; + ("string" == typeof s || s.nodeName) && (s = n.select(s)); + var l = o.map(function (t, e) { + return t.color; + }), + c = e.fontSize, + u = null == e.isContinuous ? "number" == typeof o[0] : e.isContinuous, + f = u ? e.height : c * o.length, + h = s.classed("legend-group", !0).selectAll("svg").data([0]), + p = h + .enter() + .append("svg") + .attr({ + width: 300, + height: f + c, + xmlns: "http://www.w3.org/2000/svg", + "xmlns:xlink": "http://www.w3.org/1999/xlink", + version: "1.1", + }); + (p.append("g").classed("legend-axis", !0), + p.append("g").classed("legend-marks", !0)); + var d = n.range(o.length), + g = n.scale[u ? "linear" : "ordinal"]().domain(d).range(l), + m = n.scale[u ? "linear" : "ordinal"]() + .domain(d) + [u ? "range" : "rangePoints"]([0, f]); + if (u) { + var v = h + .select(".legend-marks") + .append("defs") + .append("linearGradient") + .attr({ id: "grad1", x1: "0%", y1: "0%", x2: "0%", y2: "100%" }) + .selectAll("stop") + .data(l); + (v.enter().append("stop"), + v + .attr({ + offset: function (t, e) { + return (e / (l.length - 1)) * 100 + "%"; + }, + }) + .style({ + "stop-color": function (t, e) { + return t; + }, + }), + h.append("rect").classed("legend-mark", !0).attr({ + height: e.height, + width: e.colorBandWidth, + fill: "url(#grad1)", + })); + } else { + var y = h + .select(".legend-marks") + .selectAll("path.legend-mark") + .data(o); + (y.enter().append("path").classed("legend-mark", !0), + y.attr({ + transform: function (t, e) { + return "translate(" + [c / 2, m(e) + c / 2] + ")"; + }, + d: function (t, e) { + var r, + i, + a, + o = t.symbol; + return ( + (a = 3 * (i = c)), + "line" === (r = o) + ? "M" + + [ + [-i / 2, -i / 12], + [i / 2, -i / 12], + [i / 2, i / 12], + [-i / 2, i / 12], + ] + + "Z" + : -1 != n.svg.symbolTypes.indexOf(r) + ? n.svg.symbol().type(r).size(a)() + : n.svg.symbol().type("square").size(a)() + ); + }, + fill: function (t, e) { + return g(e); + }, + }), + y.exit().remove()); + } + var x = n.svg.axis().scale(m).orient("right"), + b = h + .select("g.legend-axis") + .attr({ + transform: "translate(" + [u ? e.colorBandWidth : c, c / 2] + ")", + }) + .call(x); + return ( + b.selectAll(".domain").style({ fill: "none", stroke: "none" }), + b + .selectAll("line") + .style({ fill: "none", stroke: u ? e.textColor : "none" }), + b + .selectAll("text") + .style({ fill: e.textColor, "font-size": e.fontSize }) + .text(function (t, e) { + return o[e].name; + }), + r + ); + } + return ( + (r.config = function (e) { + return arguments.length ? (i(t, e), this) : t; + }), + n.rebind(r, e, "on"), + r + ); + }), + (o.Legend.defaultConfig = function (t, e) { + return { + data: ["a", "b", "c"], + legendConfig: { + elements: [ + { symbol: "line", color: "red" }, + { symbol: "square", color: "yellow" }, + { symbol: "diamond", color: "limegreen" }, + ], + height: 150, + colorBandWidth: 30, + fontSize: 12, + container: "body", + isContinuous: null, + textColor: "grey", + reverseOrder: !1, + }, + }; + }), + (o.tooltipPanel = function () { + var t, + e, + r, + a = { + container: null, + hasTick: !1, + fontSize: 12, + color: "white", + padding: 5, + }, + s = "tooltip-" + o.tooltipPanel.uid++, + l = 10, + c = function () { + var n = (t = a.container.selectAll("g." + s).data([0])) + .enter() + .append("g") + .classed(s, !0) + .style({ "pointer-events": "none", display: "none" }); + return ( + (r = n + .append("path") + .style({ fill: "white", "fill-opacity": 0.9 }) + .attr({ d: "M0 0" })), + (e = n + .append("text") + .attr({ dx: a.padding + l, dy: 0.3 * +a.fontSize })), + c + ); + }; + return ( + (c.text = function (i) { + var o = n.hsl(a.color).l, + s = o >= 0.5 ? "#aaa" : "white", + u = o >= 0.5 ? "black" : "white", + f = i || ""; + e.style({ fill: u, "font-size": a.fontSize + "px" }).text(f); + var h = a.padding, + p = e.node().getBBox(), + d = { fill: a.color, stroke: s, "stroke-width": "2px" }, + g = p.width + 2 * h + l, + m = p.height + 2 * h; + return ( + r + .attr({ + d: + "M" + + [ + [l, -m / 2], + [l, -m / 4], + [a.hasTick ? 0 : l, 0], + [l, m / 4], + [l, m / 2], + [g, m / 2], + [g, -m / 2], + ].join("L") + + "Z", + }) + .style(d), + t.attr({ transform: "translate(" + [l, -m / 2 + 2 * h] + ")" }), + t.style({ display: "block" }), + c + ); + }), + (c.move = function (e) { + if (t) + return ( + t + .attr({ transform: "translate(" + [e[0], e[1]] + ")" }) + .style({ display: "block" }), + c + ); + }), + (c.hide = function () { + if (t) return (t.style({ display: "none" }), c); + }), + (c.show = function () { + if (t) return (t.style({ display: "block" }), c); + }), + (c.config = function (t) { + return (i(a, t), c); + }), + c + ); + }), + (o.tooltipPanel.uid = 1), + (o.adapter = {}), + (o.adapter.plotly = function () { + var t = { + convert: function (t, e) { + var r = {}; + if ( + t.data && + ((r.data = t.data.map(function (t, r) { + var n = i({}, t); + return ( + [ + [n, ["marker", "color"], ["color"]], + [n, ["marker", "opacity"], ["opacity"]], + [n, ["marker", "line", "color"], ["strokeColor"]], + [n, ["marker", "line", "dash"], ["strokeDash"]], + [n, ["marker", "line", "width"], ["strokeSize"]], + [n, ["marker", "symbol"], ["dotType"]], + [n, ["marker", "size"], ["dotSize"]], + [n, ["marker", "barWidth"], ["barWidth"]], + [n, ["line", "interpolation"], ["lineInterpolation"]], + [n, ["showlegend"], ["visibleInLegend"]], + ].forEach(function (t, r) { + o.util.translator.apply(null, t.concat(e)); + }), + e || delete n.marker, + e && delete n.groupId, + e + ? ("LinePlot" === n.geometry + ? ((n.type = "scatter"), + !0 === n.dotVisible + ? (delete n.dotVisible, (n.mode = "lines+markers")) + : (n.mode = "lines")) + : "DotPlot" === n.geometry + ? ((n.type = "scatter"), (n.mode = "markers")) + : "AreaChart" === n.geometry + ? (n.type = "area") + : "BarChart" === n.geometry && (n.type = "bar"), + delete n.geometry) + : ("scatter" === n.type + ? "lines" === n.mode + ? (n.geometry = "LinePlot") + : "markers" === n.mode + ? (n.geometry = "DotPlot") + : "lines+markers" === n.mode && + ((n.geometry = "LinePlot"), (n.dotVisible = !0)) + : "area" === n.type + ? (n.geometry = "AreaChart") + : "bar" === n.type && (n.geometry = "BarChart"), + delete n.mode, + delete n.type), + n + ); + })), + !e && t.layout && "stack" === t.layout.barmode) + ) { + var a = o.util.duplicates( + r.data.map(function (t, e) { + return t.geometry; + }), + ); + r.data.forEach(function (t, e) { + var n = a.indexOf(t.geometry); + -1 != n && (r.data[e].groupId = n); + }); + } + if (t.layout) { + var s = i({}, t.layout); + if ( + ([ + [s, ["plot_bgcolor"], ["backgroundColor"]], + [s, ["showlegend"], ["showLegend"]], + [s, ["radialaxis"], ["radialAxis"]], + [s, ["angularaxis"], ["angularAxis"]], + [s.angularaxis, ["showline"], ["gridLinesVisible"]], + [s.angularaxis, ["showticklabels"], ["labelsVisible"]], + [s.angularaxis, ["nticks"], ["ticksCount"]], + [s.angularaxis, ["tickorientation"], ["tickOrientation"]], + [s.angularaxis, ["ticksuffix"], ["ticksSuffix"]], + [s.angularaxis, ["range"], ["domain"]], + [s.angularaxis, ["endpadding"], ["endPadding"]], + [s.radialaxis, ["showline"], ["gridLinesVisible"]], + [s.radialaxis, ["tickorientation"], ["tickOrientation"]], + [s.radialaxis, ["ticksuffix"], ["ticksSuffix"]], + [s.radialaxis, ["range"], ["domain"]], + [s.angularAxis, ["showline"], ["gridLinesVisible"]], + [s.angularAxis, ["showticklabels"], ["labelsVisible"]], + [s.angularAxis, ["nticks"], ["ticksCount"]], + [s.angularAxis, ["tickorientation"], ["tickOrientation"]], + [s.angularAxis, ["ticksuffix"], ["ticksSuffix"]], + [s.angularAxis, ["range"], ["domain"]], + [s.angularAxis, ["endpadding"], ["endPadding"]], + [s.radialAxis, ["showline"], ["gridLinesVisible"]], + [s.radialAxis, ["tickorientation"], ["tickOrientation"]], + [s.radialAxis, ["ticksuffix"], ["ticksSuffix"]], + [s.radialAxis, ["range"], ["domain"]], + [s.font, ["outlinecolor"], ["outlineColor"]], + [s.legend, ["traceorder"], ["reverseOrder"]], + [s, ["labeloffset"], ["labelOffset"]], + [s, ["defaultcolorrange"], ["defaultColorRange"]], + ].forEach(function (t, r) { + o.util.translator.apply(null, t.concat(e)); + }), + e + ? (void 0 !== s.tickLength && + ((s.angularaxis.ticklen = s.tickLength), + delete s.tickLength), + s.tickColor && + ((s.angularaxis.tickcolor = s.tickColor), + delete s.tickColor)) + : (s.angularAxis && + void 0 !== s.angularAxis.ticklen && + (s.tickLength = s.angularAxis.ticklen), + s.angularAxis && + void 0 !== s.angularAxis.tickcolor && + (s.tickColor = s.angularAxis.tickcolor)), + s.legend && + "boolean" != typeof s.legend.reverseOrder && + (s.legend.reverseOrder = "normal" != s.legend.reverseOrder), + s.legend && + "boolean" == typeof s.legend.traceorder && + ((s.legend.traceorder = s.legend.traceorder + ? "reversed" + : "normal"), + delete s.legend.reverseOrder), + s.margin && void 0 !== s.margin.t) + ) { + var l = ["t", "r", "b", "l", "pad"], + c = ["top", "right", "bottom", "left", "pad"], + u = {}; + (n.entries(s.margin).forEach(function (t, e) { + u[c[l.indexOf(t.key)]] = t.value; + }), + (s.margin = u)); + } + (e && + (delete s.needsEndSpacing, + delete s.minorTickColor, + delete s.minorTicks, + delete s.angularaxis.ticksCount, + delete s.angularaxis.ticksCount, + delete s.angularaxis.ticksStep, + delete s.angularaxis.rewriteTicks, + delete s.angularaxis.nticks, + delete s.radialaxis.ticksCount, + delete s.radialaxis.ticksCount, + delete s.radialaxis.ticksStep, + delete s.radialaxis.rewriteTicks, + delete s.radialaxis.nticks), + (r.layout = s)); + } + return r; + }, + }; + return t; + })); + }, + { "../../../constants/alignment": 574, "../../../lib": 602, d3: 130 }, + ], + 720: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../../lib"), + a = t("../../../components/color"), + o = t("./micropolar"), + s = t("./undo_manager"), + l = i.extendDeepAll, + c = (e.exports = {}); + ((c.framework = function (t) { + var e, + r, + i, + a, + u, + f = new s(); + function h(r, s) { + return ( + s && (u = s), + n + .select(n.select(u).node().parentNode) + .selectAll(".svg-container>*:not(.chart-root)") + .remove(), + (e = e ? l(e, r) : r), + i || (i = o.Axis()), + (a = o.adapter.plotly().convert(e)), + i.config(a).render(u), + (t.data = e.data), + (t.layout = e.layout), + c.fillLayout(t), + e + ); + } + return ( + (h.isPolar = !0), + (h.svg = function () { + return i.svg(); + }), + (h.getConfig = function () { + return e; + }), + (h.getLiveConfig = function () { + return o.adapter.plotly().convert(i.getLiveConfig(), !0); + }), + (h.getLiveScales = function () { + return { t: i.angularScale(), r: i.radialScale() }; + }), + (h.setUndoPoint = function () { + var t, + n, + i = this, + a = o.util.cloneJson(e); + ((t = a), + (n = r), + f.add({ + undo: function () { + n && i(n); + }, + redo: function () { + i(t); + }, + }), + (r = o.util.cloneJson(a))); + }), + (h.undo = function () { + f.undo(); + }), + (h.redo = function () { + f.redo(); + }), + h + ); + }), + (c.fillLayout = function (t) { + var e = n.select(t).selectAll(".plot-container"), + r = e.selectAll(".svg-container"), + i = t.framework && t.framework.svg && t.framework.svg(), + o = { + width: 800, + height: 600, + paper_bgcolor: a.background, + _container: e, + _paperdiv: r, + _paper: i, + }; + t._fullLayout = l(o, t.layout); + })); + }, + { + "../../../components/color": 474, + "../../../lib": 602, + "./micropolar": 719, + "./undo_manager": 721, + d3: 130, + }, + ], + 721: [ + function (t, e, r) { + "use strict"; + e.exports = function () { + var t, + e = [], + r = -1, + n = !1; + function i(t, e) { + return t ? ((n = !0), t[e](), (n = !1), this) : this; + } + return { + add: function (t) { + return n + ? this + : (e.splice(r + 1, e.length - r), + e.push(t), + (r = e.length - 1), + this); + }, + setCallback: function (e) { + t = e; + }, + undo: function () { + var n = e[r]; + return n ? (i(n, "undo"), (r -= 1), t && t(n.undo), this) : this; + }, + redo: function () { + var n = e[r + 1]; + return n ? (i(n, "redo"), (r += 1), t && t(n.redo), this) : this; + }, + clear: function () { + ((e = []), (r = -1)); + }, + hasUndo: function () { + return -1 !== r; + }, + hasRedo: function () { + return r < e.length - 1; + }, + getCommands: function () { + return e; + }, + getPreviousCommand: function () { + return e[r - 1]; + }, + getIndex: function () { + return r; + }, + }; + }; + }, + {}, + ], + 722: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("../../registry"), + o = t("../../lib"), + s = t("../../components/color"), + l = t("../../components/drawing"), + c = t("../plots"), + u = t("../cartesian/axes"), + f = t("../cartesian/autorange").doAutoRange, + h = t("../../components/dragelement"), + p = t("../cartesian/dragbox"), + d = t("../../components/fx"), + g = t("../../components/titles"), + m = t("../cartesian/select").prepSelect, + v = t("../cartesian/select").clearSelect, + y = t("../../lib/setcursor"), + x = t("../../constants/alignment").MID_SHIFT, + b = o._, + _ = o.deg2rad, + w = o.rad2deg, + k = o.wrap360, + M = o.wrap180, + A = t("./helpers").setConvertAngular, + T = t("./constants"); + function S(t, e) { + ((this.id = e), + (this.gd = t), + (this._hasClipOnAxisFalse = null), + (this.traceHash = {}), + (this.layers = {}), + (this.clipPaths = {}), + (this.clipIds = {}), + (this.viewInitial = {})); + var r = t._fullLayout, + n = "clip" + r._uid + e; + ((this.clipIds.circle = n + "-circle"), + (this.clipPaths.circle = r._clips + .append("clipPath") + .attr("id", this.clipIds.circle)), + this.clipPaths.circle.append("path"), + (this.framework = r._polarlayer.append("g").attr("class", e)), + (this.radialTickLayout = null), + (this.angularTickLayout = null)); + } + var C = S.prototype; + function E(t, e, r) { + (u.setConvert(t, r), (t._min = e._min), (t._max = e._max), t.setScale()); + } + function L(t) { + var e = t.ticks + String(t.ticklen) + String(t.showticklabels); + return ("side" in t && (e += t.side), e); + } + function z(t, e) { + if (D(e)) return l.symbolFuncs[0](t); + var r = t * Math.cos(_(e[0])), + n = -t * Math.sin(_(e[0])), + i = t * Math.cos(_(e[1])), + a = -t * Math.sin(_(e[1])); + return ( + "M" + + [r, n] + + "A" + + [t, t] + + " " + + (Math.abs(e[1] - e[0]) <= 180 ? [0, 0, 0] : [0, 1, 0]) + + " " + + [i, a] + ); + } + function P(t, e) { + return z(t, e) + (D(e) ? "" : "L0,0Z"); + } + function D(t) { + return 360 === Math.abs(t[1] - t[0]); + } + function O(t, e, r) { + return ( + e ? (t.attr("display", null), t.attr(r)) : t && t.attr("display", "none"), + t + ); + } + function I(t, e) { + return "translate(" + t + "," + e + ")"; + } + function R(t) { + return "rotate(" + t + ")"; + } + function B(t) { + return Math.abs(t) < 1e-10 ? 0 : t > 0 ? 1 : -1; + } + function F(t) { + return B(Math.cos(t)); + } + function N(t) { + return B(Math.sin(t)); + } + ((e.exports = function (t, e) { + return new S(t, e); + }), + (C.plot = function (t, e) { + var r = e[this.id]; + this._hasClipOnAxisFalse = !1; + for (var n = 0; n < t.length; n++) { + if (!1 === t[n][0].trace.cliponaxis) { + this._hasClipOnAxisFalse = !0; + break; + } + } + (this.updateLayers(e, r), + this.updateLayout(e, r), + c.generalUpdatePerTraceModule(this.gd, this, t, r), + this.updateFx(e, r)); + }), + (C.updateLayers = function (t, e) { + var r = this.layers, + i = e.radialaxis, + a = e.angularaxis, + o = T.layerNames, + s = o.indexOf("frontplot"), + l = o.slice(0, s), + c = "below traces" === a.layer, + u = "below traces" === i.layer; + (c && l.push("angular-axis"), + u && l.push("radial-axis"), + c && l.push("angular-line"), + u && l.push("radial-line"), + l.push("frontplot"), + c || l.push("angular-axis"), + u || l.push("radial-axis"), + c || l.push("angular-line"), + u || l.push("radial-line")); + var f = this.framework.selectAll(".polarsublayer").data(l, String); + (f + .enter() + .append("g") + .attr("class", function (t) { + return "polarsublayer " + t; + }) + .each(function (t) { + var e = (r[t] = n.select(this)); + switch (t) { + case "frontplot": + e.append("g").classed("scatterlayer", !0); + break; + case "backplot": + e.append("g").classed("maplayer", !0); + break; + case "plotbg": + r.bgcircle = e.append("path"); + break; + case "radial-grid": + (e.style("fill", "none"), e.append("g").classed("x", 1)); + break; + case "angular-grid": + (e.style("fill", "none"), e.append("g").classed("angular", 1)); + break; + case "radial-line": + e.append("line").style("fill", "none"); + break; + case "angular-line": + e.append("path").style("fill", "none"); + } + }), + f.order()); + }), + (C.updateLayout = function (t, e) { + var r = this, + n = r.layers, + i = t._size, + a = e.domain.x, + o = e.domain.y; + ((r.xOffset = i.l + i.w * a[0]), (r.yOffset = i.t + i.h * (1 - o[1]))); + var c, + f, + h, + p, + d, + g = (r.xLength = i.w * (a[1] - a[0])), + m = (r.yLength = i.h * (o[1] - o[0])), + v = (r.sector = e.sector), + y = (r.sectorBBox = (function (t) { + var e, + r, + n, + i, + a = t[0], + o = t[1] - a, + s = k(a), + l = s + o, + c = Math.cos(_(s)), + u = Math.sin(_(s)), + f = Math.cos(_(l)), + h = Math.sin(_(l)); + i = + (s <= 90 && l >= 90) || (s > 90 && l >= 450) + ? 1 + : u <= 0 && h <= 0 + ? 0 + : Math.max(u, h); + e = + (s <= 180 && l >= 180) || (s > 180 && l >= 540) + ? -1 + : c >= 0 && f >= 0 + ? 0 + : Math.min(c, f); + r = + (s <= 270 && l >= 270) || (s > 270 && l >= 630) + ? -1 + : u >= 0 && h >= 0 + ? 0 + : Math.min(u, h); + n = l >= 360 ? 1 : c <= 0 && f <= 0 ? 0 : Math.max(c, f); + return [e, r, n, i]; + })(v)), + x = y[2] - y[0], + b = y[3] - y[1], + w = m / g, + M = Math.abs(b / x); + (w > M + ? ((c = g), + (d = (m - (f = g * M)) / i.h / 2), + (h = [a[0], a[1]]), + (p = [o[0] + d, o[1] - d])) + : ((f = m), + (d = (g - (c = m / M)) / i.w / 2), + (h = [a[0] + d, a[1] - d]), + (p = [o[0], o[1]])), + (r.xLength2 = c), + (r.yLength2 = f), + (r.xDomain2 = h), + (r.yDomain2 = p)); + var A = (r.xOffset2 = i.l + i.w * h[0]), + T = (r.yOffset2 = i.t + i.h * (1 - p[1])), + S = (r.radius = c / x), + C = (r.cx = A - S * y[0]), + E = (r.cy = T + S * y[3]), + L = (r.cxx = C - A), + z = (r.cyy = E - T); + (r.updateRadialAxis(t, e), + r.updateRadialAxisTitle(t, e), + r.updateAngularAxis(t, e)); + var D = r.radialAxis.range, + O = D[1] - D[0], + R = (r.xaxis = { + type: "linear", + _id: "x", + range: [y[0] * O, y[2] * O], + domain: h, + }); + (u.setConvert(R, t), R.setScale()); + var B = (r.yaxis = { + type: "linear", + _id: "y", + range: [y[1] * O, y[3] * O], + domain: p, + }); + (u.setConvert(B, t), + B.setScale(), + (R.isPtWithinRange = function (t) { + return r.isPtWithinSector(t); + }), + (B.isPtWithinRange = function () { + return !0; + }), + n.frontplot + .attr("transform", I(A, T)) + .call(l.setClipUrl, r._hasClipOnAxisFalse ? null : r.clipIds.circle), + n.bgcircle + .attr({ d: P(S, v), transform: I(C, E) }) + .call(s.fill, e.bgcolor), + r.clipPaths.circle + .select("path") + .attr("d", P(S, v)) + .attr("transform", I(L, z)), + r.framework.selectAll(".crisp").classed("crisp", 0)); + }), + (C.updateRadialAxis = function (t, e) { + var r = this.gd, + n = this.layers, + i = this.radius, + a = this.cx, + l = this.cy, + c = t._size, + h = e.radialaxis, + p = e.sector, + d = k(p[0]); + this.fillViewInitialKey("radialaxis.angle", h.angle); + var g = (this.radialAxis = o.extendFlat({}, h, { + _axislayer: n["radial-axis"], + _gridlayer: n["radial-grid"], + _id: "x", + _pos: 0, + side: { counterclockwise: "top", clockwise: "bottom" }[h.side], + domain: [0, i / c.w], + anchor: "free", + position: 0, + _counteraxis: !0, + automargin: !1, + })); + (E(g, h, t), + f(g), + (h.range = g.range.slice()), + (h._input.range = g.range.slice()), + this.fillViewInitialKey("radialaxis.range", g.range.slice()), + "auto" === g.tickangle && d > 90 && d <= 270 && (g.tickangle = 180), + (g._transfn = function (t) { + return "translate(" + g.l2p(t.x) + ",0)"; + }), + (g._gridpath = function (t) { + return z(g.r2p(t.x), p); + })); + var m = L(h); + (this.radialTickLayout !== m && + (n["radial-axis"].selectAll(".xtick").remove(), + (this.radialTickLayout = m)), + u.doTicks(r, g, !0), + O(n["radial-axis"], h.showticklabels || h.ticks, { + transform: I(a, l) + R(-h.angle), + }), + O(n["radial-grid"], h.showgrid, { transform: I(a, l) }) + .selectAll("path") + .attr("transform", null), + O(n["radial-line"].select("line"), h.showline, { + x1: 0, + y1: 0, + x2: i, + y2: 0, + transform: I(a, l) + R(-h.angle), + }) + .attr("stroke-width", h.linewidth) + .call(s.stroke, h.linecolor)); + }), + (C.updateRadialAxisTitle = function (t, e, r) { + var n = this.gd, + i = this.radius, + a = this.cx, + o = this.cy, + s = e.radialaxis, + c = this.id + "title", + u = void 0 !== r ? r : s.angle, + f = _(u), + h = Math.cos(f), + p = Math.sin(f), + d = 0; + if (s.title) { + var m = l.bBox(this.layers["radial-axis"].node()).height, + v = s.titlefont.size; + d = "counterclockwise" === s.side ? -m - 0.4 * v : m + 0.8 * v; + } + this.layers["radial-axis-title"] = g.draw(n, c, { + propContainer: s, + propName: this.id + ".radialaxis.title", + placeholder: b(n, "Click to enter radial axis title"), + attributes: { + x: a + (i / 2) * h + d * p, + y: o - (i / 2) * p + d * h, + "text-anchor": "middle", + }, + transform: { rotate: -u }, + }); + }), + (C.updateAngularAxis = function (t, e) { + var r = this, + i = r.gd, + a = r.layers, + l = r.radius, + c = r.cx, + f = r.cy, + h = e.angularaxis, + p = e.sector, + d = p.map(_); + r.fillViewInitialKey("angularaxis.rotation", h.rotation); + var g = (r.angularAxis = o.extendFlat({}, h, { + _axislayer: a["angular-axis"], + _gridlayer: a["angular-grid"], + _id: "angular", + _pos: 0, + side: "right", + domain: [0, Math.PI], + anchor: "free", + position: 0, + _counteraxis: !0, + automargin: !1, + autorange: !1, + })); + if ("linear" === g.type) + (D(p) + ? (g.range = p.slice()) + : (g.range = d.map(g.unTransformRad).map(w)), + "radians" === g.thetaunit && + ((g.tick0 = w(g.tick0)), (g.dtick = w(g.dtick)))); + else if ("category" === g.type) { + var m = h.period + ? Math.max(h.period, h._categories.length) + : h._categories.length; + ((g.range = [0, m]), + (g._tickFilter = function (t) { + return r.isPtWithinSector({ + r: r.radialAxis.range[1], + rad: g.c2rad(t.x), + }); + })); + } + function v(t) { + return g.c2rad(t.x, "degrees"); + } + function y(t) { + return [l * Math.cos(t), l * Math.sin(t)]; + } + (E(g, h, t), + (g._transfn = function (t) { + var e = v(t), + r = y(e), + i = I(c + r[0], f - r[1]), + a = n.select(this); + return (a && a.node() && a.classed("ticks") && (i += R(-w(e))), i); + }), + (g._gridpath = function (t) { + var e = y(v(t)); + return "M0,0L" + -e[0] + "," + e[1]; + })); + var b = "outside" !== h.ticks ? 0.7 : 0.5; + ((g._labelx = function (t) { + var e = v(t), + r = g._labelStandoff, + n = g._pad; + return ( + (0 === N(e) ? 0 : Math.cos(e) * (r + n + b * t.fontSize)) + + F(e) * (t.dx + r + n) + ); + }), + (g._labely = function (t) { + var e = v(t), + r = g._labelStandoff, + n = g._labelShift, + i = g._pad; + return ( + t.dy + t.fontSize * x - n + -Math.sin(e) * (r + i + b * t.fontSize) + ); + }), + (g._labelanchor = function (t, e) { + var r = v(e); + return 0 === N(r) ? (F(r) > 0 ? "start" : "end") : "middle"; + })); + var k = L(h); + (r.angularTickLayout !== k && + (a["angular-axis"].selectAll(".angulartick").remove(), + (r.angularTickLayout = k)), + u.doTicks(i, g, !0), + O(a["angular-line"].select("path"), h.showline, { + d: P(l, p), + transform: I(c, f), + }) + .attr("stroke-width", h.linewidth) + .call(s.stroke, h.linecolor)); + }), + (C.updateFx = function (t, e) { + this.gd._context.staticPlot || + (this.updateAngularDrag(t, e), + this.updateRadialDrag(t, e), + this.updateMainDrag(t, e)); + }), + (C.updateMainDrag = function (t, e) { + var r = this, + o = r.gd, + s = r.layers, + l = t._zoomlayer, + c = T.MINZOOM, + u = T.OFFEDGE, + f = r.radius, + g = r.cx, + y = r.cy, + x = r.cxx, + b = r.cyy, + _ = e.sector, + w = p.makeDragger(s, "path", "maindrag", "crosshair"); + n.select(w).attr("d", P(f, _)).attr("transform", I(g, y)); + var k, + M, + A, + S, + C, + E, + L, + z, + D, + O = { + element: w, + gd: o, + subplot: r.id, + plotinfo: { xaxis: r.xaxis, yaxis: r.yaxis }, + xaxes: [r.xaxis], + yaxes: [r.yaxis], + }; + function R(t, e) { + var r = t - x, + n = e - b; + return Math.sqrt(r * r + n * n); + } + function B(t, e) { + return Math.atan2(b - e, t - x); + } + function F(t, e) { + return [t * Math.cos(e), t * Math.sin(-e)]; + } + function N(t, e) { + var r = T.cornerLen, + n = T.cornerHalfWidth; + if (0 === t) return P(2 * n, _); + var i = r / t / 2, + a = e - i, + o = e + i, + s = Math.max(0, Math.min(t, f)), + l = s - n, + c = s + n; + return ( + "M" + + F(l, a) + + "A" + + [l, l] + + " 0,0,0 " + + F(l, o) + + "L" + + F(c, o) + + "A" + + [c, c] + + " 0,0,1 " + + F(c, a) + + "Z" + ); + } + function j(t, e) { + var r, + n, + i = k + t, + a = M + e, + o = R(k, M), + s = Math.min(R(i, a), f), + l = B(k, M), + h = B(i, a); + (o < u + ? (o = 0) + : f - o < u + ? (o = f) + : s < u + ? (s = 0) + : f - s < u && (s = f), + Math.abs(s - o) > c + ? (o < s + ? ((A = o), (S = s)) + : ((A = s), (S = o), (h = [l, (l = h)][0])), + (r = C + P(S, _) + P(A, _)), + (n = N(A, l) + N(S, h))) + : ((A = null), (S = null), (r = C), (n = "M0,0Z")), + z.attr("d", r), + D.attr("d", n), + p.transitionZoombox(z, D, E, L), + (E = !0)); + } + function V() { + if ((p.removeZoombox(o), null !== A && null !== S)) { + p.showDoubleClickNotifier(o); + var t = r.radialAxis.range, + e = t[1] - t[0], + n = {}; + ((n[r.id + ".radialaxis.range"] = [ + t[0] + (A * e) / f, + t[0] + (S * e) / f, + ]), + a.call("relayout", o, n)); + } + } + ((O.prepFn = function (t, e, n) { + var a = o._fullLayout.dragmode, + s = w.getBoundingClientRect(); + switch (((k = e - s.left), (M = n - s.top), a)) { + case "zoom": + ((O.moveFn = j), + (O.doneFn = V), + (function () { + ((A = null), (S = null), (C = P(f, _)), (E = !1)); + var t = o._fullLayout[r.id]; + ((L = i(t.bgcolor).getLuminance()), + (z = p.makeZoombox(l, L, g, y, C)).attr( + "fill-rule", + "evenodd", + ), + (D = p.makeCorners(l, g, y)), + v(l)); + })()); + break; + case "select": + case "lasso": + m(t, e, n, O, a); + } + }), + (O.clickFn = function (t, e) { + if ((p.removeZoombox(o), 2 === t)) { + var n = {}; + for (var i in r.viewInitial) n[r.id + "." + i] = r.viewInitial[i]; + (o.emit("plotly_doubleclick", null), a.call("relayout", o, n)); + } + d.click(o, e, r.id); + }), + (w.onmousemove = function (t) { + (d.hover(o, t, r.id), + (o._fullLayout._lasthover = w), + (o._fullLayout._hoversubplot = r.id)); + }), + (w.onmouseout = function (t) { + o._dragging || h.unhover(o, t); + }), + h.init(O)); + }), + (C.updateRadialDrag = function (t, e) { + var r = this, + i = r.gd, + s = r.layers, + l = r.radius, + c = r.cx, + f = r.cy, + d = r.radialAxis, + g = e.radialaxis, + m = _(g.angle), + y = d.range.slice(), + x = y[1] - y[0], + b = T.radialDragBoxSize, + k = b / 2; + if (g.visible) { + var M, + A, + S, + C = p.makeRectDragger(s, "radialdrag", "crosshair", -k, -k, b, b), + E = { element: C, gd: i }, + L = c + (l + k) * Math.cos(m), + z = f - (l + k) * Math.sin(m); + (n.select(C).attr("transform", I(L, z)), + (E.prepFn = function () { + ((M = null), + (A = null), + (S = null), + (E.moveFn = P), + (E.doneFn = D), + v(t._zoomlayer)); + }), + (E.clampFn = function (t, e) { + return ( + Math.sqrt(t * t + e * e) < T.MINDRAG && ((t = 0), (e = 0)), + [t, e] + ); + }), + h.init(E)); + } + function P(t, e) { + if (M) M(t, e); + else { + var r = [t, -e], + n = [Math.cos(m), Math.sin(m)], + i = Math.abs(o.dot(r, n) / Math.sqrt(o.dot(r, r))); + isNaN(i) || (M = i < 0.5 ? O : B); + } + } + function D() { + null !== A + ? a.call("relayout", i, r.id + ".radialaxis.angle", A) + : null !== S && + a.call("relayout", i, r.id + ".radialaxis.range[1]", S); + } + function O(t, e) { + var n = L + t, + i = z + e; + A = w(Math.atan2(f - i, n - c)); + var a = I(c, f) + R(-A); + (s["radial-axis"].attr("transform", a), + s["radial-line"].select("line").attr("transform", a)); + var o = r.gd._fullLayout, + l = o[r.id]; + r.updateRadialAxisTitle(o, l, A); + } + function B(t, e) { + var n = o.dot([t, -e], [Math.cos(m), Math.sin(m)]), + h = y[1] - ((x * n) / l) * 0.75; + if (x > 0 == h > y[0]) { + ((S = d.range[1] = h), + u.doTicks(i, r.radialAxis, !0), + s["radial-grid"] + .attr("transform", I(c, f)) + .selectAll("path") + .attr("transform", null)); + var p = S - y[0], + g = r.sectorBBox; + for (var v in ((r.xaxis.range = [g[0] * p, g[2] * p]), + (r.yaxis.range = [g[1] * p, g[3] * p]), + r.xaxis.setScale(), + r.yaxis.setScale(), + r.traceHash)) { + var b = r.traceHash[v], + _ = o.filterVisible(b), + w = b[0][0].trace._module, + k = i._fullLayout[r.id]; + if ((w.plot(i, r, _, k), !a.traceIs(v, "gl"))) + for (var M = 0; M < _.length; M++) w.style(i, _[M]); + } + } + } + }), + (C.updateAngularDrag = function (t, e) { + var r = this, + i = r.gd, + s = r.layers, + c = r.radius, + f = r.cx, + d = r.cy, + g = r.cxx, + m = r.cyy, + x = e.sector, + b = T.angularDragBoxSize, + k = p.makeDragger(s, "path", "angulardrag", "move"), + S = { element: k, gd: i }; + function C(t, e) { + return Math.atan2(m + b - e, t - g - b); + } + n.select(k) + .attr( + "d", + (function (t, e, r) { + var n, + i, + a, + o = Math.abs(r[1] - r[0]) <= 180 ? 0 : 1; + function s(t, e) { + return [t * Math.cos(e), -t * Math.sin(e)]; + } + function l(t, e, r) { + return "A" + [t, t] + " " + [0, o, r] + " " + s(t, e); + } + return D(r) + ? ((n = 0), + (a = 2 * Math.PI), + (i = Math.PI), + "M" + + s(t, n) + + l(t, i, 0) + + l(t, a, 0) + + "ZM" + + s(e, n) + + l(e, i, 1) + + l(e, a, 1) + + "Z") + : ((n = _(r[0])), + (a = _(r[1])), + "M" + + s(t, n) + + "L" + + s(e, n) + + l(e, a, 0) + + "L" + + s(t, a) + + l(t, n, 1) + + "Z"); + })(c, c + b, x), + ) + .attr("transform", I(f, d)) + .call(y, "move"); + var E, + L, + z, + P, + O, + B, + F = s.frontplot.select(".scatterlayer").selectAll(".trace"), + N = F.selectAll(".point"), + j = F.selectAll(".textpoint"); + function V(t, e) { + var c = C(E + t, L + e), + f = w(c - B); + ((P = z + f), + s.frontplot.attr( + "transform", + I(r.xOffset2, r.yOffset2) + R([-f, g, m]), + ), + r.clipPaths.circle.select("path").attr("transform", I(g, m) + R(f)), + N.each(function () { + var t = n.select(this), + e = l.getTranslate(t); + t.attr("transform", I(e.x, e.y) + R([f])); + }), + j.each(function () { + var t = n.select(this), + e = t.select("text"), + r = l.getTranslate(t); + t.attr("transform", R([f, e.attr("x"), e.attr("y")]) + I(r.x, r.y)); + })); + var h = r.angularAxis; + for (var p in ((h.rotation = M(P)), + "linear" !== h.type || + D(x) || + (h.range = O.map(_).map(h.unTransformRad).map(w)), + A(h), + u.doTicks(i, h, !0), + r._hasClipOnAxisFalse && + !D(x) && + ((r.sector = [O[0] - f, O[1] - f]), + F.call(l.hideOutsideRangePoints, r)), + r.traceHash)) + if (a.traceIs(p, "gl")) { + var d = r.traceHash[p], + v = o.filterVisible(d), + y = d[0][0].trace._module, + b = i._fullLayout[r.id]; + y.plot(i, r, v, b); + } + } + function U() { + j.select("text").attr("transform", null); + var t = {}; + ((t[r.id + ".angularaxis.rotation"] = P), a.call("relayout", i, t)); + } + ((S.prepFn = function (e, n, i) { + var a = t[r.id]; + ((O = a.sector.slice()), (z = a.angularaxis.rotation)); + var o = k.getBoundingClientRect(); + ((E = n - o.left), + (L = i - o.top), + (B = C(E, L)), + (S.moveFn = V), + (S.doneFn = U), + v(t._zoomlayer)); + }), + h.init(S)); + }), + (C.isPtWithinSector = function (t) { + var e = this.sector, + r = this.radialAxis, + n = r.range, + i = r.c2r(t.r), + a = k(e[0]), + o = k(e[1]); + a > o && (o += 360); + var s, + l, + c = k(w(t.rad)), + u = c + 360; + return ( + n[1] >= n[0] ? ((s = n[0]), (l = n[1])) : ((s = n[1]), (l = n[0])), + i >= s && i <= l && (D(e) || (c >= a && c <= o) || (u >= a && u <= o)) + ); + }), + (C.fillViewInitialKey = function (t, e) { + t in this.viewInitial || (this.viewInitial[t] = e); + })); + }, + { + "../../components/color": 474, + "../../components/dragelement": 496, + "../../components/drawing": 499, + "../../components/fx": 516, + "../../components/titles": 567, + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/setcursor": 622, + "../../registry": 732, + "../cartesian/autorange": 647, + "../cartesian/axes": 648, + "../cartesian/dragbox": 656, + "../cartesian/select": 665, + "../plots": 710, + "./constants": 711, + "./helpers": 712, + d3: 130, + tinycolor2: 415, + }, + ], + 723: [ + function (t, e, r) { + "use strict"; + function n(t, e) { + return "splom" === t ? -1 : "splom" === e ? 1 : 0; + } + e.exports = { + sortBasePlotModules: function (t, e) { + return n(t.name, e.name); + }, + sortModules: n, + }; + }, + {}, + ], + 724: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("./domain").defaults; + e.exports = function (t, e, r, a) { + var o, + s, + l = a.type, + c = a.attributes, + u = a.handleDefaults, + f = a.partition || "x", + h = e._subplots[l], + p = h.length; + function d(t, e) { + return n.coerce(o, s, c, t, e); + } + for (var g = 0; g < p; g++) { + var m = h[g]; + ((o = t[m] ? t[m] : (t[m] = {})), (e[m] = s = {})); + var v = {}; + ((v[f] = [g / p, (g + 1) / p]), i(s, e, d, v), (a.id = m), u(o, s, d, a)); + } + }; + }, + { "../lib": 602, "./domain": 673 }, + ], + 725: [ + function (t, e, r) { + "use strict"; + var n = t("./ternary"), + i = t("../../plots/get_data").getSubplotCalcData, + a = t("../../lib").counterRegex; + ((r.name = "ternary"), + (r.attr = "subplot"), + (r.idRoot = "ternary"), + (r.idRegex = r.attrRegex = a("ternary")), + (r.attributes = t("./layout/attributes")), + (r.layoutAttributes = t("./layout/layout_attributes")), + (r.supplyLayoutDefaults = t("./layout/defaults")), + (r.plot = function (t) { + for ( + var e = t._fullLayout, r = t.calcdata, a = e._subplots.ternary, o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = i(r, "ternary", s), + c = e[s]._subplot; + (c || + ((c = new n( + { id: s, graphDiv: t, container: e._ternarylayer.node() }, + e, + )), + (e[s]._subplot = c)), + c.plot(l, e, t._promises)); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.ternary || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n[o]._subplot; + !e[o] && + s && + (s.plotContainer.remove(), + s.clipDef.remove(), + s.clipDefRelative.remove(), + s.layers["a-title"].remove(), + s.layers["b-title"].remove(), + s.layers["c-title"].remove()); + } + })); + }, + { + "../../lib": 602, + "../../plots/get_data": 684, + "./layout/attributes": 726, + "./layout/defaults": 729, + "./layout/layout_attributes": 730, + "./ternary": 731, + }, + ], + 726: [ + function (t, e, r) { + "use strict"; + e.exports = { + subplot: { valType: "subplotid", dflt: "ternary", editType: "calc" }, + }; + }, + {}, + ], + 727: [ + function (t, e, r) { + "use strict"; + var n = t("../../cartesian/layout_attributes"), + i = t("../../../lib/extend").extendFlat; + e.exports = { + title: n.title, + titlefont: n.titlefont, + color: n.color, + tickmode: n.tickmode, + nticks: i({}, n.nticks, { dflt: 6, min: 1 }), + tick0: n.tick0, + dtick: n.dtick, + tickvals: n.tickvals, + ticktext: n.ticktext, + ticks: n.ticks, + ticklen: n.ticklen, + tickwidth: n.tickwidth, + tickcolor: n.tickcolor, + showticklabels: n.showticklabels, + showtickprefix: n.showtickprefix, + tickprefix: n.tickprefix, + showticksuffix: n.showticksuffix, + ticksuffix: n.ticksuffix, + showexponent: n.showexponent, + exponentformat: n.exponentformat, + separatethousands: n.separatethousands, + tickfont: n.tickfont, + tickangle: n.tickangle, + tickformat: n.tickformat, + tickformatstops: n.tickformatstops, + hoverformat: n.hoverformat, + showline: i({}, n.showline, { dflt: !0 }), + linecolor: n.linecolor, + linewidth: n.linewidth, + showgrid: i({}, n.showgrid, { dflt: !0 }), + gridcolor: n.gridcolor, + gridwidth: n.gridwidth, + layer: n.layer, + min: { valType: "number", dflt: 0, min: 0 }, + }; + }, + { "../../../lib/extend": 591, "../../cartesian/layout_attributes": 660 }, + ], + 728: [ + function (t, e, r) { + "use strict"; + var n = t("../../../lib"), + i = t("./axis_attributes"), + a = t("../../cartesian/tick_label_defaults"), + o = t("../../cartesian/tick_mark_defaults"), + s = t("../../cartesian/tick_value_defaults"), + l = t("../../cartesian/line_grid_defaults"); + e.exports = function (t, e, r) { + function c(r, a) { + return n.coerce(t, e, i, r, a); + } + e.type = "linear"; + var u = c("color"), + f = u === t.color ? u : r.font.color, + h = e._name.charAt(0).toUpperCase(), + p = "Component " + h, + d = c("title", p); + ((e._hovertitle = d === p ? d : h), + n.coerceFont(c, "titlefont", { + family: r.font.family, + size: Math.round(1.2 * r.font.size), + color: f, + }), + c("min"), + s(t, e, c, "linear"), + a(t, e, c, "linear", {}), + o(t, e, c, { outerTicks: !0 }), + c("showticklabels") && + (n.coerceFont(c, "tickfont", { + family: r.font.family, + size: r.font.size, + color: f, + }), + c("tickangle"), + c("tickformat")), + l(t, e, c, { + dfltColor: u, + bgColor: r.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: i, + }), + c("hoverformat"), + c("layer")); + }; + }, + { + "../../../lib": 602, + "../../cartesian/line_grid_defaults": 662, + "../../cartesian/tick_label_defaults": 667, + "../../cartesian/tick_mark_defaults": 668, + "../../cartesian/tick_value_defaults": 669, + "./axis_attributes": 727, + }, + ], + 729: [ + function (t, e, r) { + "use strict"; + var n = t("../../../components/color"), + i = t("../../subplot_defaults"), + a = t("./layout_attributes"), + o = t("./axis_defaults"), + s = ["aaxis", "baxis", "caxis"]; + function l(t, e, r, i) { + var a, + l, + c, + u = r("bgcolor"), + f = r("sum"); + i.bgColor = n.combine(u, i.paper_bgcolor); + for (var h = 0; h < s.length; h++) + ((l = t[(a = s[h])] || {}), + (c = e[a] = { _name: a, type: "linear" }), + o(l, c, i)); + var p = e.aaxis, + d = e.baxis, + g = e.caxis; + p.min + d.min + g.min >= f && + ((p.min = 0), + (d.min = 0), + (g.min = 0), + t.aaxis && delete t.aaxis.min, + t.baxis && delete t.baxis.min, + t.caxis && delete t.caxis.min); + } + e.exports = function (t, e, r) { + i(t, e, r, { + type: "ternary", + attributes: a, + handleDefaults: l, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + }); + }; + }, + { + "../../../components/color": 474, + "../../subplot_defaults": 724, + "./axis_defaults": 728, + "./layout_attributes": 730, + }, + ], + 730: [ + function (t, e, r) { + "use strict"; + var n = t("../../../components/color/attributes"), + i = t("../../domain").attributes, + a = t("./axis_attributes"), + o = t("../../../plot_api/edit_types").overrideAll; + e.exports = o( + { + domain: i({ name: "ternary" }), + bgcolor: { valType: "color", dflt: n.background }, + sum: { valType: "number", dflt: 1, min: 0 }, + aaxis: a, + baxis: a, + caxis: a, + }, + "plot", + "from-root", + ); + }, + { + "../../../components/color/attributes": 473, + "../../../plot_api/edit_types": 633, + "../../domain": 673, + "./axis_attributes": 727, + }, + ], + 731: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("../../registry"), + o = t("../../lib"), + s = o._, + l = t("../../components/color"), + c = t("../../components/drawing"), + u = t("../cartesian/set_convert"), + f = t("../../lib/extend").extendFlat, + h = t("../plots"), + p = t("../cartesian/axes"), + d = t("../../components/dragelement"), + g = t("../../components/fx"), + m = t("../../components/titles"), + v = t("../cartesian/select").prepSelect, + y = t("../cartesian/select").clearSelect, + x = t("../cartesian/constants"); + function b(t, e) { + ((this.id = t.id), + (this.graphDiv = t.graphDiv), + this.init(e), + this.makeFramework(e)); + } + e.exports = b; + var _ = b.prototype; + ((_.init = function (t) { + ((this.container = t._ternarylayer), + (this.defs = t._defs), + (this.layoutId = t._uid), + (this.traceHash = {}), + (this.layers = {})); + }), + (_.plot = function (t, e) { + var r = e[this.id], + n = e._size; + this._hasClipOnAxisFalse = !1; + for (var i = 0; i < t.length; i++) { + if (!1 === t[i][0].trace.cliponaxis) { + this._hasClipOnAxisFalse = !0; + break; + } + } + (this.updateLayers(r), + this.adjustLayout(r, n), + h.generalUpdatePerTraceModule(this.graphDiv, this, t, r), + this.layers.plotbg.select("path").call(l.fill, r.bgcolor)); + }), + (_.makeFramework = function (t) { + var e = t[this.id], + r = (this.clipId = "clip" + this.layoutId + this.id), + n = (this.clipIdRelative = "clip-relative" + this.layoutId + this.id); + ((this.clipDef = o.ensureSingleById( + t._clips, + "clipPath", + r, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (this.clipDefRelative = o.ensureSingleById( + t._clips, + "clipPath", + n, + function (t) { + t.append("path").attr("d", "M0,0Z"); + }, + )), + (this.plotContainer = o.ensureSingle(this.container, "g", this.id)), + this.updateLayers(e), + c.setClipUrl(this.layers.backplot, r), + c.setClipUrl(this.layers.grids, r)); + }), + (_.updateLayers = function (t) { + var e = this.layers, + r = ["draglayer", "plotbg", "backplot", "grids"]; + ("below traces" === t.aaxis.layer && r.push("aaxis", "aline"), + "below traces" === t.baxis.layer && r.push("baxis", "bline"), + "below traces" === t.caxis.layer && r.push("caxis", "cline"), + r.push("frontplot"), + "above traces" === t.aaxis.layer && r.push("aaxis", "aline"), + "above traces" === t.baxis.layer && r.push("baxis", "bline"), + "above traces" === t.caxis.layer && r.push("caxis", "cline")); + var i = this.plotContainer.selectAll("g.toplevel").data(r, String), + a = ["agrid", "bgrid", "cgrid"]; + (i + .enter() + .append("g") + .attr("class", function (t) { + return "toplevel " + t; + }) + .each(function (t) { + var r = n.select(this); + ((e[t] = r), + "frontplot" === t + ? r.append("g").classed("scatterlayer", !0) + : "backplot" === t + ? r.append("g").classed("maplayer", !0) + : "plotbg" === t + ? r.append("path").attr("d", "M0,0Z") + : "aline" === t || "bline" === t || "cline" === t + ? r.append("path") + : "grids" === t && + a.forEach(function (t) { + e[t] = r.append("g").classed("grid " + t, !0); + var n = "bgrid" === t ? "x" : "y"; + e[t].append("g").classed(n, !0); + })); + }), + i.order()); + })); + var w = Math.sqrt(4 / 3); + ((_.adjustLayout = function (t, e) { + var r, + n, + i, + a, + o, + s, + h = this, + p = t.domain, + d = (p.x[0] + p.x[1]) / 2, + g = (p.y[0] + p.y[1]) / 2, + m = p.x[1] - p.x[0], + v = p.y[1] - p.y[0], + y = m * e.w, + x = v * e.h, + b = t.sum, + _ = t.aaxis.min, + k = t.baxis.min, + M = t.caxis.min; + (y > w * x ? (i = (a = x) * w) : (a = (i = y) / w), + (o = (m * i) / y), + (s = (v * a) / x), + (r = e.l + e.w * d - i / 2), + (n = e.t + e.h * (1 - g) - a / 2), + (h.x0 = r), + (h.y0 = n), + (h.w = i), + (h.h = a), + (h.sum = b), + (h.xaxis = { + type: "linear", + range: [_ + 2 * M - b, b - _ - 2 * k], + domain: [d - o / 2, d + o / 2], + _id: "x", + }), + u(h.xaxis, h.graphDiv._fullLayout), + h.xaxis.setScale(), + (h.xaxis.isPtWithinRange = function (t) { + return ( + t.a >= h.aaxis.range[0] && + t.a <= h.aaxis.range[1] && + t.b >= h.baxis.range[1] && + t.b <= h.baxis.range[0] && + t.c >= h.caxis.range[1] && + t.c <= h.caxis.range[0] + ); + }), + (h.yaxis = { + type: "linear", + range: [_, b - k - M], + domain: [g - s / 2, g + s / 2], + _id: "y", + }), + u(h.yaxis, h.graphDiv._fullLayout), + h.yaxis.setScale(), + (h.yaxis.isPtWithinRange = function () { + return !0; + })); + var A = h.yaxis.domain[0], + T = (h.aaxis = f({}, t.aaxis, { + visible: !0, + range: [_, b - k - M], + side: "left", + _counterangle: 30, + tickangle: (+t.aaxis.tickangle || 0) - 30, + domain: [A, A + s * w], + _axislayer: h.layers.aaxis, + _gridlayer: h.layers.agrid, + _pos: 0, + _id: "y", + _length: i, + _gridpath: "M0,0l" + a + ",-" + i / 2, + automargin: !1, + })); + (u(T, h.graphDiv._fullLayout), T.setScale()); + var S = (h.baxis = f({}, t.baxis, { + visible: !0, + range: [b - _ - M, k], + side: "bottom", + _counterangle: 30, + domain: h.xaxis.domain, + _axislayer: h.layers.baxis, + _gridlayer: h.layers.bgrid, + _counteraxis: h.aaxis, + _pos: 0, + _id: "x", + _length: i, + _gridpath: "M0,0l-" + i / 2 + ",-" + a, + automargin: !1, + })); + (u(S, h.graphDiv._fullLayout), S.setScale(), (T._counteraxis = S)); + var C = (h.caxis = f({}, t.caxis, { + visible: !0, + range: [b - _ - k, M], + side: "right", + _counterangle: 30, + tickangle: (+t.caxis.tickangle || 0) + 30, + domain: [A, A + s * w], + _axislayer: h.layers.caxis, + _gridlayer: h.layers.cgrid, + _counteraxis: h.baxis, + _pos: 0, + _id: "y", + _length: i, + _gridpath: "M0,0l-" + a + "," + i / 2, + automargin: !1, + })); + (u(C, h.graphDiv._fullLayout), C.setScale()); + var E = "M" + r + "," + (n + a) + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; + (h.clipDef.select("path").attr("d", E), + h.layers.plotbg.select("path").attr("d", E)); + var L = "M0," + a + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; + h.clipDefRelative.select("path").attr("d", L); + var z = "translate(" + r + "," + n + ")"; + (h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform", z), + h.clipDefRelative.select("path").attr("transform", null)); + var P = "translate(" + (r - S._offset) + "," + (n + a) + ")"; + (h.layers.baxis.attr("transform", P), h.layers.bgrid.attr("transform", P)); + var D = + "translate(" + + (r + i / 2) + + "," + + n + + ")rotate(30)translate(0," + + -T._offset + + ")"; + (h.layers.aaxis.attr("transform", D), h.layers.agrid.attr("transform", D)); + var O = + "translate(" + + (r + i / 2) + + "," + + n + + ")rotate(-30)translate(0," + + -C._offset + + ")"; + (h.layers.caxis.attr("transform", O), + h.layers.cgrid.attr("transform", O), + h.drawAxes(!0), + h.plotContainer.selectAll(".crisp").classed("crisp", !1), + h.layers.aline + .select("path") + .attr( + "d", + T.showline + ? "M" + r + "," + (n + a) + "l" + i / 2 + ",-" + a + : "M0,0", + ) + .call(l.stroke, T.linecolor || "#000") + .style("stroke-width", (T.linewidth || 0) + "px"), + h.layers.bline + .select("path") + .attr("d", S.showline ? "M" + r + "," + (n + a) + "h" + i : "M0,0") + .call(l.stroke, S.linecolor || "#000") + .style("stroke-width", (S.linewidth || 0) + "px"), + h.layers.cline + .select("path") + .attr( + "d", + C.showline + ? "M" + (r + i / 2) + "," + n + "l" + i / 2 + "," + a + : "M0,0", + ) + .call(l.stroke, C.linecolor || "#000") + .style("stroke-width", (C.linewidth || 0) + "px"), + h.graphDiv._context.staticPlot || h.initInteractions(), + c.setClipUrl( + h.layers.frontplot, + h._hasClipOnAxisFalse ? null : h.clipId, + )); + }), + (_.drawAxes = function (t) { + var e = this.graphDiv, + r = this.id.substr(7) + "title", + n = this.aaxis, + i = this.baxis, + a = this.caxis; + if ((p.doTicks(e, n, !0), p.doTicks(e, i, !0), p.doTicks(e, a, !0), t)) { + var o = Math.max( + n.showticklabels ? n.tickfont.size / 2 : 0, + (a.showticklabels ? 0.75 * a.tickfont.size : 0) + + ("outside" === a.ticks ? 0.87 * a.ticklen : 0), + ); + this.layers["a-title"] = m.draw(e, "a" + r, { + propContainer: n, + propName: this.id + ".aaxis.title", + placeholder: s(e, "Click to enter Component A title"), + attributes: { + x: this.x0 + this.w / 2, + y: this.y0 - n.titlefont.size / 3 - o, + "text-anchor": "middle", + }, + }); + var l = + (i.showticklabels ? i.tickfont.size : 0) + + ("outside" === i.ticks ? i.ticklen : 0) + + 3; + ((this.layers["b-title"] = m.draw(e, "b" + r, { + propContainer: i, + propName: this.id + ".baxis.title", + placeholder: s(e, "Click to enter Component B title"), + attributes: { + x: this.x0 - l, + y: this.y0 + this.h + 0.83 * i.titlefont.size + l, + "text-anchor": "middle", + }, + })), + (this.layers["c-title"] = m.draw(e, "c" + r, { + propContainer: a, + propName: this.id + ".caxis.title", + placeholder: s(e, "Click to enter Component C title"), + attributes: { + x: this.x0 + this.w + l, + y: this.y0 + this.h + 0.83 * a.titlefont.size + l, + "text-anchor": "middle", + }, + }))); + } + })); + var k = x.MINZOOM / 2 + 0.87, + M = + "m-0.87,.5h" + + k + + "v3h-" + + (k + 5.2) + + "l" + + (k / 2 + 2.6) + + ",-" + + (0.87 * k + 4.5) + + "l2.6,1.5l-" + + k / 2 + + "," + + 0.87 * k + + "Z", + A = + "m0.87,.5h-" + + k + + "v3h" + + (k + 5.2) + + "l-" + + (k / 2 + 2.6) + + ",-" + + (0.87 * k + 4.5) + + "l-2.6,1.5l" + + k / 2 + + "," + + 0.87 * k + + "Z", + T = + "m0,1l" + + k / 2 + + "," + + 0.87 * k + + "l2.6,-1.5l-" + + (k / 2 + 2.6) + + ",-" + + (0.87 * k + 4.5) + + "l-" + + (k / 2 + 2.6) + + "," + + (0.87 * k + 4.5) + + "l2.6,1.5l" + + k / 2 + + ",-" + + 0.87 * k + + "Z", + S = "m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z", + C = !0; + function E(t) { + n.select(t) + .selectAll( + ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", + ) + .remove(); + } + _.initInteractions = function () { + var t, + e, + r, + n, + u, + f, + h, + p, + m, + b, + _ = this, + k = _.layers.plotbg.select("path").node(), + L = _.graphDiv, + z = L._fullLayout._zoomlayer, + P = { + element: k, + gd: L, + plotinfo: { xaxis: _.xaxis, yaxis: _.yaxis }, + subplot: _.id, + prepFn: function (a, o, s) { + ((P.xaxes = [_.xaxis]), (P.yaxes = [_.yaxis])); + var c = L._fullLayout.dragmode; + (a.shiftKey && (c = "pan" === c ? "zoom" : "pan"), + (P.minDrag = "lasso" === c ? 1 : void 0), + "zoom" === c + ? ((P.moveFn = R), + (P.doneFn = B), + (function (a, o, s) { + var c = k.getBoundingClientRect(); + ((t = o - c.left), + (e = s - c.top), + (r = { + a: _.aaxis.range[0], + b: _.baxis.range[1], + c: _.caxis.range[1], + }), + (u = r), + (n = _.aaxis.range[1] - r.a), + (f = i( + _.graphDiv._fullLayout[_.id].bgcolor, + ).getLuminance()), + (h = + "M0," + + _.h + + "L" + + _.w / 2 + + ", 0L" + + _.w + + "," + + _.h + + "Z"), + (p = !1), + (m = z + .append("path") + .attr("class", "zoombox") + .attr( + "transform", + "translate(" + _.x0 + ", " + _.y0 + ")", + ) + .style({ + fill: f > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", + "stroke-width": 0, + }) + .attr("d", h)), + (b = z + .append("path") + .attr("class", "zoombox-corners") + .attr( + "transform", + "translate(" + _.x0 + ", " + _.y0 + ")", + ) + .style({ + fill: l.background, + stroke: l.defaultLine, + "stroke-width": 1, + opacity: 0, + }) + .attr("d", "M0,0Z")), + y(z)); + })(0, o, s)) + : "pan" === c + ? ((P.moveFn = F), + (P.doneFn = N), + (r = { + a: _.aaxis.range[0], + b: _.baxis.range[1], + c: _.caxis.range[1], + }), + (u = r), + y(z)) + : ("select" !== c && "lasso" !== c) || v(a, o, s, P, c)); + }, + clickFn: function (t, e) { + if ((E(L), 2 === t)) { + var r = {}; + ((r[_.id + ".aaxis.min"] = 0), + (r[_.id + ".baxis.min"] = 0), + (r[_.id + ".caxis.min"] = 0), + L.emit("plotly_doubleclick", null), + a.call("relayout", L, r)); + } + g.click(L, e, _.id); + }, + }; + function D(t, e) { + return 1 - e / _.h; + } + function O(t, e) { + return 1 - (t + (_.h - e) / Math.sqrt(3)) / _.w; + } + function I(t, e) { + return (t - (_.h - e) / Math.sqrt(3)) / _.w; + } + function R(i, a) { + var o = t + i, + s = e + a, + l = Math.max(0, Math.min(1, D(0, e), D(0, s))), + c = Math.max(0, Math.min(1, O(t, e), O(o, s))), + d = Math.max(0, Math.min(1, I(t, e), I(o, s))), + g = (l / 2 + d) * _.w, + v = (1 - l / 2 - c) * _.w, + y = (g + v) / 2, + k = v - g, + C = (1 - l) * _.h, + E = C - k / w; + (k < x.MINZOOM + ? ((u = r), m.attr("d", h), b.attr("d", "M0,0Z")) + : ((u = { a: r.a + l * n, b: r.b + c * n, c: r.c + d * n }), + m.attr( + "d", + h + + "M" + + g + + "," + + C + + "H" + + v + + "L" + + y + + "," + + E + + "L" + + g + + "," + + C + + "Z", + ), + b.attr( + "d", + "M" + + t + + "," + + e + + S + + "M" + + g + + "," + + C + + M + + "M" + + v + + "," + + C + + A + + "M" + + y + + "," + + E + + T, + )), + p || + (m + .transition() + .style( + "fill", + f > 0.2 ? "rgba(0,0,0,0.4)" : "rgba(255,255,255,0.3)", + ) + .duration(200), + b.transition().style("opacity", 1).duration(200), + (p = !0))); + } + function B() { + if ((E(L), u !== r)) { + var t = {}; + ((t[_.id + ".aaxis.min"] = u.a), + (t[_.id + ".baxis.min"] = u.b), + (t[_.id + ".caxis.min"] = u.c), + a.call("relayout", L, t), + C && + L.data && + L._context.showTips && + (o.notifier(s(L, "Double-click to zoom back out"), "long"), + (C = !1))); + } + } + function F(t, e) { + var n = t / _.xaxis._m, + i = e / _.yaxis._m, + a = [ + (u = { a: r.a - i, b: r.b + (n + i) / 2, c: r.c - (n - i) / 2 }).a, + u.b, + u.c, + ].sort(), + o = a.indexOf(u.a), + s = a.indexOf(u.b), + l = a.indexOf(u.c); + a[0] < 0 && + (a[1] + a[0] / 2 < 0 + ? ((a[2] += a[0] + a[1]), (a[0] = a[1] = 0)) + : ((a[2] += a[0] / 2), (a[1] += a[0] / 2), (a[0] = 0)), + (u = { a: a[o], b: a[s], c: a[l] }), + (e = (r.a - u.a) * _.yaxis._m), + (t = (r.c - u.c - r.b + u.b) * _.xaxis._m)); + var f = "translate(" + (_.x0 + t) + "," + (_.y0 + e) + ")"; + _.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform", f); + var h = "translate(" + -t + "," + -e + ")"; + (_.clipDefRelative.select("path").attr("transform", h), + (_.aaxis.range = [u.a, _.sum - u.b - u.c]), + (_.baxis.range = [_.sum - u.a - u.c, u.b]), + (_.caxis.range = [_.sum - u.a - u.b, u.c]), + _.drawAxes(!1), + _.plotContainer.selectAll(".crisp").classed("crisp", !1), + _._hasClipOnAxisFalse && + _.plotContainer + .select(".scatterlayer") + .selectAll(".trace") + .call(c.hideOutsideRangePoints, _)); + } + function N() { + var t = {}; + ((t[_.id + ".aaxis.min"] = u.a), + (t[_.id + ".baxis.min"] = u.b), + (t[_.id + ".caxis.min"] = u.c), + a.call("relayout", L, t)); + } + ((k.onmousemove = function (t) { + (g.hover(L, t, _.id), + (L._fullLayout._lasthover = k), + (L._fullLayout._hoversubplot = _.id)); + }), + (k.onmouseout = function (t) { + L._dragging || d.unhover(L, t); + }), + d.init(P)); + }; + }, + { + "../../components/color": 474, + "../../components/dragelement": 496, + "../../components/drawing": 499, + "../../components/fx": 516, + "../../components/titles": 567, + "../../lib": 602, + "../../lib/extend": 591, + "../../registry": 732, + "../cartesian/axes": 648, + "../cartesian/constants": 653, + "../cartesian/select": 665, + "../cartesian/set_convert": 666, + "../plots": 710, + d3: 130, + tinycolor2: 415, + }, + ], + 732: [ + function (t, e, r) { + "use strict"; + var n = t("./lib/loggers"), + i = t("./lib/noop"), + a = t("./lib/push_unique"), + o = t("./lib/is_plain_object"), + s = t("./lib/extend"), + l = t("./plots/attributes"), + c = t("./plots/layout_attributes"), + u = s.extendFlat, + f = s.extendDeepAll; + function h(t) { + var e = t.name, + i = t.categories, + a = t.meta; + if (r.modules[e]) n.log("Type " + e + " already registered"); + else { + r.subplotsRegistry[t.basePlotModule.name] || + (function (t) { + var e = t.name; + if (r.subplotsRegistry[e]) + return void n.log("Plot type " + e + " already registered."); + for (var i in (m(t), + (r.subplotsRegistry[e] = t), + r.componentsRegistry)) + x(i, t.name); + })(t.basePlotModule); + for (var o = {}, s = 0; s < i.length; s++) + ((o[i[s]] = !0), (r.allCategories[i[s]] = !0)); + for (var l in ((r.modules[e] = { _module: t, categories: o }), + a && Object.keys(a).length && (r.modules[e].meta = a), + r.allTypes.push(e), + r.componentsRegistry)) + v(l, e); + t.layoutAttributes && u(r.traceLayoutAttributes, t.layoutAttributes); + } + } + function p(t) { + if ("string" != typeof t.name) + throw new Error("Component module *name* must be a string."); + var e = t.name; + for (var n in ((r.componentsRegistry[e] = t), + t.layoutAttributes && + (t.layoutAttributes._isLinkedToArray && a(r.layoutArrayContainers, e), + m(t)), + r.modules)) + v(e, n); + for (var i in r.subplotsRegistry) x(e, i); + for (var o in r.transformsRegistry) y(e, o); + t.schema && t.schema.layout && f(c, t.schema.layout); + } + function d(t) { + if ("string" != typeof t.name) + throw new Error("Transform module *name* must be a string."); + var e = "Transform module " + t.name, + i = "function" == typeof t.transform, + a = "function" == typeof t.calcTransform; + if (!i && !a) + throw new Error( + e + " is missing a *transform* or *calcTransform* method.", + ); + for (var s in (i && + a && + n.log( + [ + e + " has both a *transform* and *calcTransform* methods.", + "Please note that all *transform* methods are executed", + "before all *calcTransform* methods.", + ].join(" "), + ), + o(t.attributes) || n.log(e + " registered without an *attributes* object."), + "function" != typeof t.supplyDefaults && + n.log(e + " registered without a *supplyDefaults* method."), + (r.transformsRegistry[t.name] = t), + r.componentsRegistry)) + y(s, t.name); + } + function g(t) { + var e = t.name, + n = e.split("-")[0], + i = t.dictionary, + a = t.format, + o = i && Object.keys(i).length, + s = a && Object.keys(a).length, + l = r.localeRegistry, + c = l[e]; + if ((c || (l[e] = c = {}), n !== e)) { + var u = l[n]; + (u || (l[n] = u = {}), + o && u.dictionary === c.dictionary && (u.dictionary = i), + s && u.format === c.format && (u.format = a)); + } + (o && (c.dictionary = i), s && (c.format = a)); + } + function m(t) { + if (t.layoutAttributes) { + var e = t.layoutAttributes._arrayAttrRegexps; + if (e) for (var n = 0; n < e.length; n++) a(r.layoutArrayRegexes, e[n]); + } + } + function v(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.traces) { + var i = n.traces[e]; + i && f(r.modules[e]._module.attributes, i); + } + } + function y(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.transforms) { + var i = n.transforms[e]; + i && f(r.transformsRegistry[e].attributes, i); + } + } + function x(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.subplots) { + var i = r.subplotsRegistry[e], + a = i.layoutAttributes, + o = "subplot" === i.attr ? i.name : i.attr; + Array.isArray(o) && (o = o[0]); + var s = n.subplots[o]; + a && s && f(a, s); + } + } + function b(t) { + return ("object" == typeof t && (t = t.type), t); + } + ((r.modules = {}), + (r.allCategories = {}), + (r.allTypes = []), + (r.subplotsRegistry = {}), + (r.transformsRegistry = {}), + (r.componentsRegistry = {}), + (r.layoutArrayContainers = []), + (r.layoutArrayRegexes = []), + (r.traceLayoutAttributes = {}), + (r.localeRegistry = {}), + (r.apiMethodRegistry = {}), + (r.register = function (t) { + if (!t) throw new Error("No argument passed to Plotly.register."); + t && !Array.isArray(t) && (t = [t]); + for (var e = 0; e < t.length; e++) { + var n = t[e]; + if (!n) + throw new Error("Invalid module was attempted to be registered!"); + switch (n.moduleType) { + case "trace": + h(n); + break; + case "transform": + d(n); + break; + case "component": + p(n); + break; + case "locale": + g(n); + break; + case "apiMethod": + var i = n.name; + r.apiMethodRegistry[i] = n.fn; + break; + default: + throw new Error("Invalid module was attempted to be registered!"); + } + } + }), + (r.getModule = function (t) { + var e = r.modules[b(t)]; + return !!e && e._module; + }), + (r.traceIs = function (t, e) { + if ("various" === (t = b(t))) return !1; + var i = r.modules[t]; + return ( + i || + (t && "area" !== t && n.log("Unrecognized trace type " + t + "."), + (i = r.modules[l.type.dflt])), + !!i.categories[e] + ); + }), + (r.getTransformIndices = function (t, e) { + for (var r = [], n = t.transforms || [], i = 0; i < n.length; i++) + n[i].type === e && r.push(i); + return r; + }), + (r.hasTransform = function (t, e) { + for (var r = t.transforms || [], n = 0; n < r.length; n++) + if (r[n].type === e) return !0; + return !1; + }), + (r.getComponentMethod = function (t, e) { + var n = r.componentsRegistry[t]; + return (n && n[e]) || i; + }), + (r.call = function () { + var t = arguments[0], + e = [].slice.call(arguments, 1); + return r.apiMethodRegistry[t].apply(null, e); + })); + }, + { + "./lib/extend": 591, + "./lib/is_plain_object": 604, + "./lib/loggers": 607, + "./lib/noop": 611, + "./lib/push_unique": 616, + "./plots/attributes": 645, + "./plots/layout_attributes": 701, + }, + ], + 733: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = n.extendFlat, + a = n.extendDeep; + function o(t) { + var e; + switch (t) { + case "themes__thumb": + e = { + autosize: !0, + width: 150, + height: 150, + title: "", + showlegend: !1, + margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 }, + annotations: [], + }; + break; + case "thumbnail": + e = { + title: "", + hidesources: !0, + showlegend: !1, + borderwidth: 0, + bordercolor: "", + margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 }, + annotations: [], + }; + break; + default: + e = {}; + } + return e; + } + e.exports = function (t, e) { + var r; + t.framework && t.framework.isPolar && (t = t.framework.getConfig()); + var n, + s = t.data, + l = t.layout, + c = a([], s), + u = a({}, l, o(e.tileClass)), + f = t._context || {}; + if ( + (e.width && (u.width = e.width), + e.height && (u.height = e.height), + "thumbnail" === e.tileClass || "themes__thumb" === e.tileClass) + ) { + u.annotations = []; + var h = Object.keys(u); + for (r = 0; r < h.length; r++) + ((n = h[r]), + ["xaxis", "yaxis", "zaxis"].indexOf(n.slice(0, 5)) > -1 && + (u[h[r]].title = "")); + for (r = 0; r < c.length; r++) { + var p = c[r]; + ((p.showscale = !1), + p.marker && (p.marker.showscale = !1), + "pie" === p.type && (p.textposition = "none")); + } + } + if (Array.isArray(e.annotations)) + for (r = 0; r < e.annotations.length; r++) + u.annotations.push(e.annotations[r]); + var d = Object.keys(u).filter(function (t) { + return t.match(/^scene\d*$/); + }); + if (d.length) { + var g = {}; + for ( + "thumbnail" === e.tileClass && + (g = { + title: "", + showaxeslabels: !1, + showticklabels: !1, + linetickenable: !1, + }), + r = 0; + r < d.length; + r++ + ) { + var m = u[d[r]]; + (m.xaxis || (m.xaxis = {}), + m.yaxis || (m.yaxis = {}), + m.zaxis || (m.zaxis = {}), + i(m.xaxis, g), + i(m.yaxis, g), + i(m.zaxis, g), + (m._scene = null)); + } + } + var v = document.createElement("div"); + e.tileClass && (v.className = e.tileClass); + var y = { + gd: v, + td: v, + layout: u, + data: c, + config: { + staticPlot: void 0 === e.staticPlot || e.staticPlot, + plotGlPixelRatio: + void 0 === e.plotGlPixelRatio ? 2 : e.plotGlPixelRatio, + displaylogo: e.displaylogo || !1, + showLink: e.showLink || !1, + showTips: e.showTips || !1, + mapboxAccessToken: f.mapboxAccessToken, + }, + }; + return ( + "transparent" !== e.setBackground && + (y.config.setBackground = e.setBackground || "opaque"), + (y.gd.defaultLayout = o(e.tileClass)), + y + ); + }; + }, + { "../lib": 602 }, + ], + 734: [ + function (t, e, r) { + "use strict"; + var n = t("../plot_api/to_image"), + i = t("../lib"), + a = t("./filesaver"); + e.exports = function (t, e) { + return ( + ((e = e || {}).format = e.format || "png"), + new Promise(function (r, o) { + (t._snapshotInProgress && + o(new Error("Snapshotting already in progress.")), + i.isIE() && + "svg" !== e.format && + o( + new Error( + "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.", + ), + ), + (t._snapshotInProgress = !0)); + var s = n(t, e), + l = e.filename || t.fn || "newplot"; + ((l += "." + e.format), + s + .then(function (e) { + return ((t._snapshotInProgress = !1), a(e, l)); + }) + .then(function (t) { + r(t); + }) + .catch(function (e) { + ((t._snapshotInProgress = !1), o(e)); + })); + }) + ); + }; + }, + { "../lib": 602, "../plot_api/to_image": 641, "./filesaver": 735 }, + ], + 735: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r = document.createElement("a"), + n = "download" in r, + i = /Version\/[\d\.]+.*Safari/.test(navigator.userAgent); + return new Promise(function (a, o) { + if ( + ("undefined" != typeof navigator && + /MSIE [1-9]\./.test(navigator.userAgent) && + o(new Error("IE < 10 unsupported")), + i && + ((document.location.href = + "data:application/octet-stream" + t.slice(t.search(/[,;]/))), + a(e)), + e || (e = "download"), + n && + ((r.href = t), + (r.download = e), + document.body.appendChild(r), + r.click(), + document.body.removeChild(r), + a(e)), + "undefined" != typeof navigator && navigator.msSaveBlob) + ) { + var s = t.split(/^data:image\/svg\+xml,/)[1], + l = decodeURIComponent(s); + (navigator.msSaveBlob(new Blob([l]), e), a(e)); + } + o(new Error("download error")); + }); + }; + }, + {}, + ], + 736: [ + function (t, e, r) { + "use strict"; + ((r.getDelay = function (t) { + return t._has && (t._has("gl3d") || t._has("gl2d") || t._has("mapbox")) + ? 500 + : 0; + }), + (r.getRedrawFunc = function (t) { + var e = t._fullLayout || {}; + if (!(!(e._has && e._has("polar")) && t.data && t.data[0] && t.data[0].r)) + return function () { + (t.calcdata || []).forEach(function (t) { + t[0] && t[0].t && t[0].t.cb && t[0].t.cb(); + }); + }; + })); + }, + {}, + ], + 737: [ + function (t, e, r) { + "use strict"; + var n = t("./helpers"), + i = { + getDelay: n.getDelay, + getRedrawFunc: n.getRedrawFunc, + clone: t("./cloneplot"), + toSVG: t("./tosvg"), + svgToImg: t("./svgtoimg"), + toImage: t("./toimage"), + downloadImage: t("./download"), + }; + e.exports = i; + }, + { + "./cloneplot": 733, + "./download": 734, + "./helpers": 736, + "./svgtoimg": 738, + "./toimage": 739, + "./tosvg": 740, + }, + ], + 738: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("events").EventEmitter; + e.exports = function (t) { + var e = t.emitter || new i(), + r = new Promise(function (i, a) { + var o = window.Image, + s = t.svg, + l = t.format || "png"; + if (n.isIE() && "svg" !== l) { + var c = new Error( + "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.", + ); + return (a(c), t.promise ? r : e.emit("error", c)); + } + var u = t.canvas, + f = t.scale || 1, + h = f * (t.width || 300), + p = f * (t.height || 150), + d = u.getContext("2d"), + g = new o(), + m = "data:image/svg+xml," + encodeURIComponent(s); + ((u.width = h), + (u.height = p), + (g.onload = function () { + var r; + switch (("svg" !== l && d.drawImage(g, 0, 0, h, p), l)) { + case "jpeg": + r = u.toDataURL("image/jpeg"); + break; + case "png": + r = u.toDataURL("image/png"); + break; + case "webp": + r = u.toDataURL("image/webp"); + break; + case "svg": + r = m; + break; + default: + var n = "Image format is not jpeg, png, svg or webp."; + if ((a(new Error(n)), !t.promise)) return e.emit("error", n); + } + (i(r), t.promise || e.emit("success", r)); + }), + (g.onerror = function (r) { + if ((a(r), !t.promise)) return e.emit("error", r); + }), + (g.src = m)); + }); + return t.promise ? r : e; + }; + }, + { "../lib": 602, events: 194 }, + ], + 739: [ + function (t, e, r) { + "use strict"; + var n = t("events").EventEmitter, + i = t("../registry"), + a = t("../lib"), + o = t("./helpers"), + s = t("./cloneplot"), + l = t("./tosvg"), + c = t("./svgtoimg"); + e.exports = function (t, e) { + var r = new n(), + u = s(t, { format: "png" }), + f = u.gd; + ((f.style.position = "absolute"), + (f.style.left = "-5000px"), + document.body.appendChild(f)); + var h = o.getRedrawFunc(f); + return ( + i + .call("plot", f, u.data, u.layout, u.config) + .then(h) + .then(function () { + var t = o.getDelay(f._fullLayout); + setTimeout(function () { + var t = l(f), + n = document.createElement("canvas"); + ((n.id = a.randstr()), + ((r = c({ + format: e.format, + width: f._fullLayout.width, + height: f._fullLayout.height, + canvas: n, + emitter: r, + svg: t, + })).clean = function () { + f && document.body.removeChild(f); + })); + }, t); + }) + .catch(function (t) { + r.emit("error", t); + }), + r + ); + }; + }, + { + "../lib": 602, + "../registry": 732, + "./cloneplot": 733, + "./helpers": 736, + "./svgtoimg": 738, + "./tosvg": 740, + events: 194, + }, + ], + 740: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../lib"), + a = t("../components/drawing"), + o = t("../components/color"), + s = t("../constants/xmlns_namespaces"), + l = /"/g, + c = new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")', "g"); + e.exports = function (t, e, r) { + var u, + f = t._fullLayout, + h = f._paper, + p = f._toppaper, + d = f.width, + g = f.height; + h.insert("rect", ":first-child") + .call(a.setRect, 0, 0, d, g) + .call(o.fill, f.paper_bgcolor); + var m = f._basePlotModules || []; + for (u = 0; u < m.length; u++) { + var v = m[u]; + v.toSVG && v.toSVG(t); + } + if (p) { + var y = p.node().childNodes, + x = Array.prototype.slice.call(y); + for (u = 0; u < x.length; u++) { + var b = x[u]; + b.childNodes.length && h.node().appendChild(b); + } + } + (f._draggers && f._draggers.remove(), + (h.node().style.background = ""), + h + .selectAll("text") + .attr({ "data-unformatted": null, "data-math": null }) + .each(function () { + var t = n.select(this); + if ( + "hidden" !== this.style.visibility && + "none" !== this.style.display + ) { + t.style({ visibility: null, display: null }); + var e = this.style.fontFamily; + e && + -1 !== e.indexOf('"') && + t.style("font-family", e.replace(l, "TOBESTRIPPED")); + } else t.remove(); + }), + h.selectAll(".point,.scatterpts").each(function () { + var t = n.select(this), + e = this.style.fill; + e && + -1 !== e.indexOf("url(") && + t.style("fill", e.replace(l, "TOBESTRIPPED")); + }), + ("pdf" !== e && "eps" !== e) || + h.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width", 0), + h.node().setAttributeNS(s.xmlns, "xmlns", s.svg), + h.node().setAttributeNS(s.xmlns, "xmlns:xlink", s.xlink), + "svg" === e && + r && + (h.attr("width", r * d), + h.attr("height", r * g), + h.attr("viewBox", "0 0 " + d + " " + g))); + var _ = new window.XMLSerializer().serializeToString(h.node()); + return ( + (_ = (function (t) { + var e = n + .select("body") + .append("div") + .style({ display: "none" }) + .html(""), + r = t.replace(/(&[^;]*;)/gi, function (t) { + return "<" === t + ? "<" + : "&rt;" === t + ? ">" + : -1 !== t.indexOf("<") || -1 !== t.indexOf(">") + ? "" + : e.html(t).text(); + }); + return (e.remove(), r); + })(_)), + (_ = (_ = _.replace( + /&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g, + "&", + )).replace(c, "'")), + i.isIE() && + (_ = (_ = (_ = _.replace(/"/gi, "'")).replace( + /(\('#)([^']*)('\))/gi, + '("#$2")', + )).replace(/(\\')/gi, '"')), + _ + ); + }; + }, + { + "../components/color": 474, + "../components/drawing": 499, + "../constants/xmlns_namespaces": 581, + "../lib": 602, + d3: 130, + }, + ], + 741: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").mergeArray; + e.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + (n(e.text, t, "tx"), n(e.hovertext, t, "htx")); + var i = e.marker; + if (i) { + (n(i.opacity, t, "mo"), n(i.color, t, "mc")); + var a = i.line; + a && (n(a.color, t, "mlc"), n(a.width, t, "mlw")); + } + }; + }, + { "../../lib": 602 }, + ], + 742: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../components/colorscale/color_attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../../plots/font_attributes"), + s = t("../../lib/extend").extendFlat, + l = o({ editType: "calc", arrayOk: !0 }), + c = n.marker, + u = s( + { + line: s( + { width: s({}, c.line.width, { dflt: 0 }), editType: "calc" }, + i("marker.line"), + ), + editType: "calc", + }, + i("marker"), + { + showscale: c.showscale, + colorbar: a, + opacity: { + valType: "number", + arrayOk: !0, + dflt: 1, + min: 0, + max: 1, + editType: "style", + }, + }, + ); + e.exports = { + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + text: n.text, + hovertext: n.hovertext, + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "none", + arrayOk: !0, + editType: "calc", + }, + textfont: s({}, l, {}), + insidetextfont: s({}, l, {}), + outsidetextfont: s({}, l, {}), + constraintext: { + valType: "enumerated", + values: ["inside", "outside", "both", "none"], + dflt: "both", + editType: "calc", + }, + cliponaxis: s({}, n.cliponaxis, {}), + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc+clearAxisTypes", + }, + base: { valType: "any", dflt: null, arrayOk: !0, editType: "calc" }, + offset: { valType: "number", dflt: null, arrayOk: !0, editType: "calc" }, + width: { + valType: "number", + dflt: null, + min: 0, + arrayOk: !0, + editType: "calc", + }, + marker: u, + selected: { + marker: { + opacity: n.selected.marker.opacity, + color: n.selected.marker.color, + editType: "style", + }, + textfont: n.selected.textfont, + editType: "style", + }, + unselected: { + marker: { + opacity: n.unselected.marker.opacity, + color: n.unselected.marker.color, + editType: "style", + }, + textfont: n.unselected.textfont, + editType: "style", + }, + r: n.r, + t: n.t, + _deprecated: { + bardir: { valType: "enumerated", editType: "calc", values: ["v", "h"] }, + }, + }; + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/color_attributes": 482, + "../../lib/extend": 591, + "../../plots/font_attributes": 674, + "../scatter/attributes": 926, + }, + ], + 743: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib").isArrayOrTypedArray, + a = t("../../plots/cartesian/axes"), + o = t("../../components/colorscale/has_colorscale"), + s = t("../../components/colorscale/calc"), + l = t("./arrays_to_calcdata"), + c = t("../scatter/calc_selection"); + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d = a.getFromId(t, e.xaxis || "x"), + g = a.getFromId(t, e.yaxis || "y"); + "h" === (e.orientation || (e.x && !e.y ? "h" : "v")) + ? ((r = d), + (f = d.makeCalcdata(e, "x")), + (u = g.makeCalcdata(e, "y")), + (p = e.xcalendar)) + : ((r = g), + (f = g.makeCalcdata(e, "y")), + (u = d.makeCalcdata(e, "x")), + (p = e.ycalendar)); + var m = Math.min(u.length, f.length), + v = new Array(m); + for (h = 0; h < m; h++) + ((v[h] = { p: u[h], s: f[h] }), e.ids && (v[h].id = String(e.ids[h]))); + var y, + x = e.base; + if (i(x)) { + for (h = 0; h < Math.min(x.length, v.length); h++) + ((y = r.d2c(x[h], 0, p)), + n(y) ? ((v[h].b = +y), (v[h].hasB = 1)) : (v[h].b = 0)); + for (; h < v.length; h++) v[h].b = 0; + } else { + y = r.d2c(x, 0, p); + var b = n(y); + for (y = b ? y : 0, h = 0; h < v.length; h++) + ((v[h].b = y), b && (v[h].hasB = 1)); + } + return ( + o(e, "marker") && s(e, e.marker.color, "marker", "c"), + o(e, "marker.line") && s(e, e.marker.line.color, "marker.line", "c"), + l(v, e), + c(v, e), + v + ); + }; + }, + { + "../../components/colorscale/calc": 481, + "../../components/colorscale/has_colorscale": 488, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../scatter/calc_selection": 928, + "./arrays_to_calcdata": 741, + "fast-isnumeric": 196, + }, + ], + 744: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/color"), + a = t("../../registry"), + o = t("../scatter/xy_defaults"), + s = t("../bar/style_defaults"), + l = t("./attributes"); + e.exports = function (t, e, r, c) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + var f = n.coerceFont; + if (o(t, e, c, u)) { + (u("orientation", e.x && !e.y ? "h" : "v"), + u("base"), + u("offset"), + u("width"), + u("text"), + u("hovertext")); + var h = u("textposition"), + p = Array.isArray(h) || "auto" === h, + d = p || "inside" === h, + g = p || "outside" === h; + if (d || g) { + var m = f(u, "textfont", c.font); + (d && f(u, "insidetextfont", m), + g && f(u, "outsidetextfont", m), + u("constraintext"), + u("selected.textfont.color"), + u("unselected.textfont.color"), + u("cliponaxis")); + } + s(t, e, u, r, c); + var v = a.getComponentMethod("errorbars", "supplyDefaults"); + (v(t, e, i.defaultLine, { axis: "y" }), + v(t, e, i.defaultLine, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, u)); + } else e.visible = !1; + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../registry": 732, + "../bar/style_defaults": 754, + "../scatter/xy_defaults": 950, + "./attributes": 742, + }, + ], + 745: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/fx"), + i = t("../../registry"), + a = t("../../components/color"), + o = t("../scatter/fill_hover_text"); + e.exports = function (t, e, r, s) { + var l, + c, + u, + f, + h, + p, + d, + g = t.cd, + m = g[0].trace, + v = g[0].t, + y = "closest" === s, + x = t.maxHoverDistance, + b = t.maxSpikeDistance; + function _(t) { + return t[u] - t.w / 2; + } + function w(t) { + return t[u] + t.w / 2; + } + var k = y + ? _ + : function (t) { + return Math.min(_(t), t.p - v.bardelta / 2); + }, + M = y + ? w + : function (t) { + return Math.max(w(t), t.p + v.bardelta / 2); + }; + function A(t, e) { + return n.inbox(t - l, e - l, x + Math.min(1, Math.abs(e - t) / d) - 1); + } + function T(t) { + return A(k(t), M(t)); + } + function S(t) { + return n.inbox(t.b - c, t[f] - c, x + (t[f] - c) / (t[f] - t.b) - 1); + } + "h" === m.orientation + ? ((l = r), (c = e), (u = "y"), (f = "x"), (h = S), (p = T)) + : ((l = e), (c = r), (u = "x"), (f = "y"), (p = S), (h = T)); + var C = t[u + "a"], + E = t[f + "a"]; + d = Math.abs(C.r2c(C.range[1]) - C.r2c(C.range[0])); + var L = n.getDistanceFunction(s, h, p, function (t) { + return (h(t) + p(t)) / 2; + }); + if ((n.getClosest(g, L, t), !1 !== t.index)) { + y || + ((k = function (t) { + return Math.min(_(t), t.p - v.bargroupwidth / 2); + }), + (M = function (t) { + return Math.max(w(t), t.p + v.bargroupwidth / 2); + })); + var z = g[t.index], + P = z.mcc || m.marker.color, + D = z.mlcc || m.marker.line.color, + O = z.mlw || m.marker.line.width; + a.opacity(P) ? (t.color = P) : a.opacity(D) && O && (t.color = D); + var I = m.base ? z.b + z.s : z.s; + ((t[f + "0"] = t[f + "1"] = E.c2p(z[f], !0)), (t[f + "LabelVal"] = I)); + var R = v.extents[v.extents.round(z.p)]; + return ( + (t[u + "0"] = C.c2p(y ? k(z) : R[0], !0)), + (t[u + "1"] = C.c2p(y ? M(z) : R[1], !0)), + (t[u + "LabelVal"] = z.p), + (t.spikeDistance = + (S(z) + + (function (t) { + return A(_(t), w(t)); + })(z)) / + 2 + + b - + x), + (t[u + "Spike"] = C.c2p(z.p, !0)), + o(z, m, t), + i.getComponentMethod("errorbars", "hoverInfo")(z, m, t), + [t] + ); + } + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../registry": 732, + "../scatter/fill_hover_text": 934, + }, + ], + 746: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.layoutAttributes = t("./layout_attributes")), + (n.supplyDefaults = t("./defaults")), + (n.supplyLayoutDefaults = t("./layout_defaults")), + (n.calc = t("./calc")), + (n.setPositions = t("./set_positions")), + (n.colorbar = t("../scatter/colorbar")), + (n.arraysToCalcdata = t("./arrays_to_calcdata")), + (n.plot = t("./plot")), + (n.style = t("./style").style), + (n.styleOnSelect = t("./style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.selectPoints = t("./select")), + (n.moduleType = "trace"), + (n.name = "bar"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "bar", + "oriented", + "markerColorscale", + "errorBarsOK", + "showLegend", + "draggedPts", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../scatter/colorbar": 930, + "./arrays_to_calcdata": 741, + "./attributes": 742, + "./calc": 743, + "./defaults": 744, + "./hover": 745, + "./layout_attributes": 747, + "./layout_defaults": 748, + "./plot": 749, + "./select": 750, + "./set_positions": 751, + "./style": 753, + }, + ], + 747: [ + function (t, e, r) { + "use strict"; + e.exports = { + barmode: { + valType: "enumerated", + values: ["stack", "group", "overlay", "relative"], + dflt: "group", + editType: "calc", + }, + barnorm: { + valType: "enumerated", + values: ["", "fraction", "percent"], + dflt: "", + editType: "calc", + }, + bargap: { valType: "number", min: 0, max: 1, editType: "calc" }, + bargroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + }; + }, + {}, + ], + 748: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../plots/cartesian/axes"), + a = t("../../lib"), + o = t("./layout_attributes"); + e.exports = function (t, e, r) { + function s(r, n) { + return a.coerce(t, e, o, r, n); + } + for (var l = !1, c = !1, u = !1, f = {}, h = 0; h < r.length; h++) { + var p = r[h]; + if (n.traceIs(p, "bar")) { + if (((l = !0), "overlay" !== t.barmode && "stack" !== t.barmode)) { + var d = p.xaxis + p.yaxis; + (f[d] && (u = !0), (f[d] = !0)); + } + if (p.visible && "histogram" === p.type) + "category" !== + i.getFromId( + { _fullLayout: e }, + p["v" === p.orientation ? "xaxis" : "yaxis"], + ).type && (c = !0); + } + } + l && + ("overlay" !== s("barmode") && s("barnorm"), + s("bargap", c && !u ? 0 : 0.2), + s("bargroupgap")); + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "./layout_attributes": 747, + }, + ], + 749: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("fast-isnumeric"), + a = t("tinycolor2"), + o = t("../../lib"), + s = t("../../lib/svg_text_utils"), + l = t("../../components/color"), + c = t("../../components/drawing"), + u = t("../../registry"), + f = t("./attributes"), + h = f.text, + p = f.textposition, + d = f.textfont, + g = f.insidetextfont, + m = f.outsidetextfont, + v = 3; + function y(t, e, r, n, i, a) { + var o; + return ( + i < 1 ? (o = "scale(" + i + ") ") : ((i = 1), (o = "")), + "translate(" + + (r - i * t) + + " " + + (n - i * e) + + ")" + + o + + (a ? "rotate(" + a + " " + t + " " + e + ") " : "") + ); + } + function x(t, e, r, n) { + var o = b((e = e || {}).family, r), + s = b(e.size, r), + l = b(e.color, r); + return { + family: _(t.family, o, n.family), + size: (function (t, e, r) { + if (i(e)) { + e = +e; + var n = t.min, + a = t.max, + o = (void 0 !== n && e < n) || (void 0 !== a && e > a); + if (!o) return e; + } + return void 0 !== r ? r : t.dflt; + })(t.size, s, n.size), + color: (function (t, e, r) { + return a(e).isValid() ? e : void 0 !== r ? r : t.dflt; + })(t.color, l, n.color), + }; + } + function b(t, e) { + var r; + return (Array.isArray(t) ? e < t.length && (r = t[e]) : (r = t), r); + } + function _(t, e, r) { + if ("string" == typeof e) { + if (e || !t.noBlank) return e; + } else if ("number" == typeof e && !t.strict) return String(e); + return void 0 !== r ? r : t.dflt; + } + e.exports = function (t, e, r, a) { + var f = e.xaxis, + w = e.yaxis, + k = t._fullLayout, + M = a.selectAll("g.trace.bars").data(r, function (t) { + return t[0].trace.uid; + }); + (M.enter() + .append("g") + .attr("class", "trace bars") + .append("g") + .attr("class", "points"), + M.exit().remove(), + M.order(), + M.each(function (r) { + var a = r[0], + u = a.t, + M = a.trace, + A = n.select(this); + e.isRangePlot || (a.node3 = A); + var T = u.poffset, + S = Array.isArray(T), + C = A.select("g.points").selectAll("g.point").data(o.identity); + (C.enter().append("g").classed("point", !0), + C.exit().remove(), + C.each(function (a, u) { + var A, + C, + E, + L, + z = n.select(this), + P = a.p + (S ? T[u] : T), + D = P + a.w, + O = a.b, + I = O + a.s; + if ( + ("h" === M.orientation + ? ((E = w.c2p(P, !0)), + (L = w.c2p(D, !0)), + (A = f.c2p(O, !0)), + (C = f.c2p(I, !0)), + (a.ct = [C, (E + L) / 2])) + : ((A = f.c2p(P, !0)), + (C = f.c2p(D, !0)), + (E = w.c2p(O, !0)), + (L = w.c2p(I, !0)), + (a.ct = [(A + C) / 2, L])), + i(A) && i(C) && i(E) && i(L) && A !== C && E !== L) + ) { + var R = + (a.mlw + 1 || + M.marker.line.width + 1 || + (a.trace ? a.trace.marker.line.width : 0) + 1) - 1, + B = n.round((R / 2) % 1, 2); + if (!t._context.staticPlot) { + var F = + l.opacity(a.mc || M.marker.color) < 1 || R > 0.01 + ? N + : function (t, e) { + return Math.abs(t - e) >= 2 + ? N(t) + : t > e + ? Math.ceil(t) + : Math.floor(t); + }; + ((C = F(C, (A = F(A, C)))), (L = F(L, (E = F(E, L))))); + } + (o + .ensureSingle(z, "path") + .style("vector-effect", "non-scaling-stroke") + .attr( + "d", + "M" + A + "," + E + "V" + L + "H" + C + "V" + E + "Z", + ) + .call(c.setClipUrl, e.layerClipId), + (function (t, e, r, n, i, a, l, u) { + var f; + function w(e, r, n) { + var i = o + .ensureSingle(e, "text") + .text(r) + .attr({ + class: "bartext bartext-" + f, + transform: "", + "text-anchor": "middle", + "data-notex": 1, + }) + .call(c.font, n) + .call(s.convertToTspans, t); + return i; + } + var k = r[0].trace, + M = k.orientation, + A = (function (t, e) { + var r = b(t.text, e); + return _(h, r); + })(k, n); + if (!A) return; + if ( + "none" === + (f = (function (t, e) { + var r = b(t.textposition, e); + return (function (t, e, r) { + return ( + t.coerceNumber && (e = +e), + -1 !== t.values.indexOf(e) + ? e + : void 0 !== r + ? r + : t.dflt + ); + })(p, r); + })(k, n)) + ) + return; + var T, + S, + C, + E, + L, + z, + P = (function (t, e, r) { + return x(d, t.textfont, e, r); + })(k, n, t._fullLayout.font), + D = (function (t, e, r) { + return x(g, t.insidetextfont, e, r); + })(k, n, P), + O = (function (t, e, r) { + return x(m, t.outsidetextfont, e, r); + })(k, n, P), + I = t._fullLayout.barmode, + R = "stack" === I || "relative" === I, + B = r[n], + F = !R || B._outmost, + N = Math.abs(a - i) - 2 * v, + j = Math.abs(u - l) - 2 * v; + "outside" === f && (F || (f = "inside")); + if ("auto" === f) + if (F) { + ((f = "inside"), + (T = w(e, A, D)), + (S = c.bBox(T.node())), + (C = S.width), + (E = S.height)); + var V = C > 0 && E > 0, + U = C <= N && E <= j, + q = C <= j && E <= N, + H = "h" === M ? N >= C * (j / E) : j >= E * (N / C); + V && (U || q || H) + ? (f = "inside") + : ((f = "outside"), T.remove(), (T = null)); + } else f = "inside"; + if ( + !T && + ((T = w(e, A, "outside" === f ? O : D)), + (S = c.bBox(T.node())), + (C = S.width), + (E = S.height), + C <= 0 || E <= 0) + ) + return void T.remove(); + "outside" === f + ? ((z = + "both" === k.constraintext || + "outside" === k.constraintext), + (L = (function (t, e, r, n, i, a, o) { + var s, + l = "h" === a ? Math.abs(n - r) : Math.abs(e - t); + l > 2 * v && (s = v); + var c = 1; + o && + (c = + "h" === a + ? Math.min(1, l / i.height) + : Math.min(1, l / i.width)); + var u, + f, + h, + p, + d = (i.left + i.right) / 2, + g = (i.top + i.bottom) / 2; + ((u = c * i.width), + (f = c * i.height), + "h" === a + ? e < t + ? ((h = e - s - u / 2), (p = (r + n) / 2)) + : ((h = e + s + u / 2), (p = (r + n) / 2)) + : n > r + ? ((h = (t + e) / 2), (p = n + s + f / 2)) + : ((h = (t + e) / 2), (p = n - s - f / 2))); + return y(d, g, h, p, c, !1); + })(i, a, l, u, S, M, z))) + : ((z = + "both" === k.constraintext || + "inside" === k.constraintext), + (L = (function (t, e, r, n, i, a, o) { + var s, + l, + c, + u, + f, + h, + p, + d = i.width, + g = i.height, + m = (i.left + i.right) / 2, + x = (i.top + i.bottom) / 2, + b = Math.abs(e - t), + _ = Math.abs(n - r); + b > 2 * v && _ > 2 * v + ? ((b -= 2 * (f = v)), (_ -= 2 * f)) + : (f = 0); + d <= b && g <= _ + ? ((h = !1), (p = 1)) + : d <= _ && g <= b + ? ((h = !0), (p = 1)) + : d < g == b < _ + ? ((h = !1), (p = o ? Math.min(b / d, _ / g) : 1)) + : ((h = !0), + (p = o ? Math.min(_ / d, b / g) : 1)); + h && (h = 90); + h + ? ((s = p * g), (l = p * d)) + : ((s = p * d), (l = p * g)); + "h" === a + ? e < t + ? ((c = e + f + s / 2), (u = (r + n) / 2)) + : ((c = e - f - s / 2), (u = (r + n) / 2)) + : n > r + ? ((c = (t + e) / 2), (u = n - f - l / 2)) + : ((c = (t + e) / 2), (u = n + f + l / 2)); + return y(m, x, c, u, p, h); + })(i, a, l, u, S, M, z))); + T.attr("transform", L); + })(t, z, r, u, A, C, E, L), + e.layerClipId && + c.hideOutsideRangePoint( + r[u], + z.select("text"), + f, + w, + M.xcalendar, + M.ycalendar, + )); + } else z.remove(); + function N(t) { + return 0 === k.bargap && 0 === k.bargroupgap + ? n.round(Math.round(t) - B, 2) + : t; + } + })); + var E = !1 === r[0].trace.cliponaxis; + c.setClipUrl(A, E ? null : e.layerClipId); + }), + u.getComponentMethod("errorbars", "plot")(M, e)); + }; + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../registry": 732, + "./attributes": 742, + d3: 130, + "fast-isnumeric": 196, + tinycolor2: 415, + }, + ], + 750: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, + n = t.cd, + i = t.xaxis, + a = t.yaxis, + o = []; + if (!1 === e) for (r = 0; r < n.length; r++) n[r].selected = 0; + else + for (r = 0; r < n.length; r++) { + var s = n[r]; + e.contains(s.ct) + ? (o.push({ pointNumber: r, x: i.c2d(s.x), y: a.c2d(s.y) }), + (s.selected = 1)) + : (s.selected = 0); + } + return o; + }; + }, + {}, + ], + 751: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib").isArrayOrTypedArray, + a = t("../../constants/numerical").BADNUM, + o = t("../../registry"), + s = t("../../plots/cartesian/axes"), + l = t("./sieve.js"); + function c(t, e, r, i) { + if (i.length) { + var o, + c, + b, + _, + w = t._fullLayout.barmode, + k = "group" === w; + if ("overlay" === w) u(t, e, r, i); + else if (k) { + for (o = [], c = [], b = 0; b < i.length; b++) + void 0 === (_ = i[b])[0].trace.offset ? c.push(_) : o.push(_); + (c.length && + (function (t, e, r, n) { + var i = t._fullLayout.barnorm, + a = new l(n, !1, !i); + ((function (t, e, r) { + var n, + i, + a, + o, + s = t._fullLayout, + l = s.bargap, + c = s.bargroupgap, + u = r.positions, + f = r.distinctPositions, + g = r.minDiff, + m = r.traces, + v = u.length !== f.length, + y = m.length, + x = g * (1 - l), + b = v ? x / y : x, + _ = b * (1 - c); + for (n = 0; n < y; n++) { + ((i = m[n]), (a = i[0])); + var w = v ? ((2 * n + 1 - y) * b - _) / 2 : -_ / 2; + (((o = a.t).barwidth = _), + (o.poffset = w), + (o.bargroupwidth = x), + (o.bardelta = g)); + } + ((r.binWidth = m[0][0].t.barwidth / 100), + h(r), + p(t, e, r), + d(t, e, r, v)); + })(t, e, a), + i ? (v(t, r, a), y(t, r, a)) : m(t, r, a)); + })(t, e, r, c), + o.length && u(t, e, r, o)); + } else { + for (o = [], c = [], b = 0; b < i.length; b++) + void 0 === (_ = i[b])[0].trace.base ? c.push(_) : o.push(_); + (c.length && + (function (t, e, r, i) { + var o = t._fullLayout.barmode, + c = "stack" === o, + u = "relative" === o, + h = t._fullLayout.barnorm, + p = new l(i, u, !(h || c || u)); + (f(t, e, p), + (function (t, e, r) { + var i, + o, + l, + c, + u = t._fullLayout.barnorm, + f = x(e), + h = r.traces, + p = [null, null]; + for (i = 0; i < h.length; i++) + for (o = h[i], l = 0; l < o.length; l++) + if ((c = o[l]).s !== a) { + var d = r.put(c.p, c.b + c.s), + m = d + c.b + c.s; + ((c.b = d), + (c[f] = m), + u || + (n(e.c2l(m)) && g(p, m), + c.hasB && n(e.c2l(d)) && g(p, d))); + } + u || s.expand(e, p, { tozero: !0, padded: !0 }); + })(t, r, p)); + for (var d = 0; d < i.length; d++) + for (var m = i[d], v = 0; v < m.length; v++) { + var b = m[v]; + if (b.s !== a) { + var _ = b.b + b.s === p.get(b.p, b.s); + _ && (b._outmost = !0); + } + } + h && y(t, r, p); + })(t, e, r, c), + o.length && u(t, e, r, o)); + } + !(function (t, e) { + var r, + i, + a, + o = e._id.charAt(0), + s = {}, + l = 1 / 0, + c = -1 / 0; + for (r = 0; r < t.length; r++) + for (a = t[r], i = 0; i < a.length; i++) { + var u = a[i].p; + n(u) && ((l = Math.min(l, u)), (c = Math.max(c, u))); + } + var f = 1e4 / (c - l), + h = (s.round = function (t) { + return String(Math.round(f * (t - l))); + }); + for (r = 0; r < t.length; r++) + for ((a = t[r])[0].t.extents = s, i = 0; i < a.length; i++) { + var p = a[i], + d = p[o] - p.w / 2; + if (n(d)) { + var g = p[o] + p.w / 2, + m = h(p.p); + s[m] + ? (s[m] = [Math.min(d, s[m][0]), Math.max(g, s[m][1])]) + : (s[m] = [d, g]); + } + } + })(i, e); + } + } + function u(t, e, r, n) { + for (var i = t._fullLayout.barnorm, a = !i, o = 0; o < n.length; o++) { + var s = n[o], + c = new l([s], !1, a); + (f(t, e, c), i ? (v(t, r, c), y(t, r, c)) : m(t, r, c)); + } + } + function f(t, e, r) { + var n, + i, + a = t._fullLayout, + o = a.bargap, + s = a.bargroupgap, + l = r.minDiff, + c = r.traces, + u = l * (1 - o), + f = u * (1 - s), + g = -f / 2; + for (n = 0; n < c.length; n++) + (((i = c[n][0].t).barwidth = f), + (i.poffset = g), + (i.bargroupwidth = u), + (i.bardelta = l)); + ((r.binWidth = c[0][0].t.barwidth / 100), h(r), p(t, e, r), d(t, e, r)); + } + function h(t) { + var e, + r, + a, + o, + s, + l, + c = t.traces; + for (e = 0; e < c.length; e++) { + ((o = (a = (r = c[e])[0]).trace), (l = a.t)); + var u, + f = o.offset, + h = l.poffset; + if (i(f)) { + for (u = f.slice(0, r.length), s = 0; s < u.length; s++) + n(u[s]) || (u[s] = h); + for (s = u.length; s < r.length; s++) u.push(h); + l.poffset = u; + } else void 0 !== f && (l.poffset = f); + var p = o.width, + d = l.barwidth; + if (i(p)) { + var g = p.slice(0, r.length); + for (s = 0; s < g.length; s++) n(g[s]) || (g[s] = d); + for (s = g.length; s < r.length; s++) g.push(d); + if (((l.barwidth = g), void 0 === f)) { + for (u = [], s = 0; s < r.length; s++) u.push(h + (d - g[s]) / 2); + l.poffset = u; + } + } else + void 0 !== p && + ((l.barwidth = p), void 0 === f && (l.poffset = h + (d - p) / 2)); + } + } + function p(t, e, r) { + for (var n = r.traces, i = x(e), a = 0; a < n.length; a++) + for ( + var o = n[a], + s = o[0].t, + l = s.poffset, + c = Array.isArray(l), + u = s.barwidth, + f = Array.isArray(u), + h = 0; + h < o.length; + h++ + ) { + var p = o[h], + d = (p.w = f ? u[h] : u); + p[i] = p.p + (c ? l[h] : l) + d / 2; + } + } + function d(t, e, r, n) { + var i = r.traces, + a = r.distinctPositions, + o = a[0], + l = r.minDiff, + c = l / 2; + s.minDtick(e, l, o, n); + for ( + var u = Math.min.apply(Math, a) - c, + f = Math.max.apply(Math, a) + c, + h = 0; + h < i.length; + h++ + ) { + var p = i[h], + d = p[0], + g = d.trace; + if (void 0 !== g.width || void 0 !== g.offset) + for ( + var m = d.t, + v = m.poffset, + y = m.barwidth, + x = Array.isArray(v), + b = Array.isArray(y), + _ = 0; + _ < p.length; + _++ + ) { + var w = p[_], + k = x ? v[_] : v, + M = b ? y[_] : y, + A = w.p + k, + T = A + M; + ((u = Math.min(u, A)), (f = Math.max(f, T))); + } + } + s.expand(e, [u, f], { padded: !1 }); + } + function g(t, e) { + (n(t[0]) ? (t[0] = Math.min(t[0], e)) : (t[0] = e), + n(t[1]) ? (t[1] = Math.max(t[1], e)) : (t[1] = e)); + } + function m(t, e, r) { + for (var i = r.traces, a = x(e), o = [null, null], l = 0; l < i.length; l++) + for (var c = i[l], u = 0; u < c.length; u++) { + var f = c[u], + h = f.b, + p = h + f.s; + ((f[a] = p), n(e.c2l(p)) && g(o, p), f.hasB && n(e.c2l(h)) && g(o, h)); + } + s.expand(e, o, { tozero: !0, padded: !0 }); + } + function v(t, e, r) { + for (var n = r.traces, i = 0; i < n.length; i++) + for (var o = n[i], s = 0; s < o.length; s++) { + var l = o[s]; + l.s !== a && r.put(l.p, l.b + l.s); + } + } + function y(t, e, r) { + var i = r.traces, + o = x(e), + l = "fraction" === t._fullLayout.barnorm ? 1 : 100, + c = l / 1e9, + u = e.l2c(e.c2l(0)), + f = "stack" === t._fullLayout.barmode ? l : u, + h = [u, f], + p = !1; + function d(t) { + n(e.c2l(t)) && (t < u - c || t > f + c || !n(u)) && ((p = !0), g(h, t)); + } + for (var m = 0; m < i.length; m++) + for (var v = i[m], y = 0; y < v.length; y++) { + var b = v[y]; + if (b.s !== a) { + var _ = Math.abs(l / r.get(b.p, b.s)); + ((b.b *= _), (b.s *= _)); + var w = b.b, + k = w + b.s; + ((b[o] = k), d(k), b.hasB && d(w)); + } + } + s.expand(e, h, { tozero: !0, padded: p }); + } + function x(t) { + return t._id.charAt(0); + } + e.exports = function (t, e) { + var r, + n = e.xaxis, + i = e.yaxis, + a = t._fullData, + s = t.calcdata, + l = [], + u = []; + for (r = 0; r < a.length; r++) { + var f = a[r]; + !0 === f.visible && + o.traceIs(f, "bar") && + f.xaxis === n._id && + f.yaxis === i._id && + ("h" === f.orientation ? l.push(s[r]) : u.push(s[r])); + } + (c(t, n, i, u), c(t, i, n, l)); + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "./sieve.js": 752, + "fast-isnumeric": 196, + }, + ], + 752: [ + function (t, e, r) { + "use strict"; + e.exports = a; + var n = t("../../lib"), + i = t("../../constants/numerical").BADNUM; + function a(t, e, r) { + ((this.traces = t), + (this.separateNegativeValues = e), + (this.dontMergeOverlappingData = r)); + for (var a = 1 / 0, o = [], s = 0; s < t.length; s++) { + for (var l = t[s], c = 0; c < l.length; c++) { + var u = l[c]; + u.p !== i && o.push(u.p); + } + l[0] && l[0].width1 && (a = Math.min(l[0].width1, a)); + } + this.positions = o; + var f = n.distinctVals(o); + ((this.distinctPositions = f.vals), + 1 === f.vals.length && a !== 1 / 0 + ? (this.minDiff = a) + : (this.minDiff = Math.min(f.minDiff, a)), + (this.binWidth = this.minDiff), + (this.bins = {})); + } + ((a.prototype.put = function (t, e) { + var r = this.getLabel(t, e), + n = this.bins[r] || 0; + return ((this.bins[r] = n + e), n); + }), + (a.prototype.get = function (t, e) { + var r = this.getLabel(t, e); + return this.bins[r] || 0; + }), + (a.prototype.getLabel = function (t, e) { + return ( + (e < 0 && this.separateNegativeValues ? "v" : "^") + + (this.dontMergeOverlappingData ? t : Math.round(t / this.binWidth)) + ); + })); + }, + { "../../constants/numerical": 579, "../../lib": 602 }, + ], + 753: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("../../registry"); + function o(t, e, r) { + var a = t.selectAll("path"), + o = t.selectAll("text"); + (i.pointStyle(a, e, r), + o.each(function (t) { + var r, + a = n.select(this); + function o(e) { + var n = r[e]; + return Array.isArray(n) ? n[t.i] : n; + } + (a.classed("bartext-inside") + ? (r = e.insidetextfont) + : a.classed("bartext-outside") && (r = e.outsidetextfont), + r || (r = e.textfont), + i.font(a, o("family"), o("size"), o("color"))); + })); + } + e.exports = { + style: function (t, e) { + var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.bars"), + i = r.size(), + s = t._fullLayout; + (r + .style("opacity", function (t) { + return t[0].trace.opacity; + }) + .each(function (t) { + (("stack" === s.barmode && i > 1) || + (0 === s.bargap && + 0 === s.bargroupgap && + !t[0].trace.marker.line.width)) && + n.select(this).attr("shape-rendering", "crispEdges"); + }), + r.selectAll("g.points").each(function (e) { + o(n.select(this), e[0].trace, t); + }), + a.getComponentMethod("errorbars", "style")(r)); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? (i.selectedPointStyle(r.selectAll("path"), n), + i.selectedTextStyle(r.selectAll("text"), n)) + : o(r, n, t); + }, + }; + }, + { "../../components/drawing": 499, "../../registry": 732, d3: 130 }, + ], + 754: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("../../components/colorscale/has_colorscale"), + a = t("../../components/colorscale/defaults"); + e.exports = function (t, e, r, o, s) { + (r("marker.color", o), + i(t, "marker") && a(t, e, s, r, { prefix: "marker.", cLetter: "c" }), + r("marker.line.color", n.defaultLine), + i(t, "marker.line") && + a(t, e, s, r, { prefix: "marker.line.", cLetter: "c" }), + r("marker.line.width"), + r("marker.opacity"), + r("selected.marker.color"), + r("unselected.marker.color")); + }; + }, + { + "../../components/color": 474, + "../../components/colorscale/defaults": 484, + "../../components/colorscale/has_colorscale": 488, + }, + ], + 755: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../components/color/attributes"), + a = t("../../lib/extend").extendFlat, + o = n.marker, + s = o.line; + e.exports = { + y: { valType: "data_array", editType: "calc+clearAxisTypes" }, + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + x0: { valType: "any", editType: "calc+clearAxisTypes" }, + y0: { valType: "any", editType: "calc+clearAxisTypes" }, + name: { valType: "string", editType: "calc+clearAxisTypes" }, + text: a({}, n.text, {}), + whiskerwidth: { + valType: "number", + min: 0, + max: 1, + dflt: 0.5, + editType: "calcIfAutorange", + }, + notched: { valType: "boolean", editType: "calcIfAutorange" }, + notchwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.25, + editType: "calcIfAutorange", + }, + boxpoints: { + valType: "enumerated", + values: ["all", "outliers", "suspectedoutliers", !1], + dflt: "outliers", + editType: "calcIfAutorange", + }, + boxmean: { + valType: "enumerated", + values: [!0, "sd", !1], + dflt: !1, + editType: "calcIfAutorange", + }, + jitter: { valType: "number", min: 0, max: 1, editType: "calcIfAutorange" }, + pointpos: { + valType: "number", + min: -2, + max: 2, + editType: "calcIfAutorange", + }, + orientation: { + valType: "enumerated", + values: ["v", "h"], + editType: "calc+clearAxisTypes", + }, + marker: { + outliercolor: { + valType: "color", + dflt: "rgba(0, 0, 0, 0)", + editType: "style", + }, + symbol: a({}, o.symbol, { arrayOk: !1, editType: "plot" }), + opacity: a({}, o.opacity, { arrayOk: !1, dflt: 1, editType: "style" }), + size: a({}, o.size, { arrayOk: !1, editType: "calcIfAutorange" }), + color: a({}, o.color, { arrayOk: !1, editType: "style" }), + line: { + color: a({}, s.color, { + arrayOk: !1, + dflt: i.defaultLine, + editType: "style", + }), + width: a({}, s.width, { arrayOk: !1, dflt: 0, editType: "style" }), + outliercolor: { valType: "color", editType: "style" }, + outlierwidth: { valType: "number", min: 0, dflt: 1, editType: "style" }, + editType: "style", + }, + editType: "plot", + }, + line: { + color: { valType: "color", editType: "style" }, + width: { valType: "number", min: 0, dflt: 2, editType: "style" }, + editType: "plot", + }, + fillcolor: n.fillcolor, + selected: { marker: n.selected.marker, editType: "style" }, + unselected: { marker: n.unselected.marker, editType: "style" }, + hoveron: { + valType: "flaglist", + flags: ["boxes", "points"], + dflt: "boxes+points", + editType: "style", + }, + }; + }, + { + "../../components/color/attributes": 473, + "../../lib/extend": 591, + "../scatter/attributes": 926, + }, + ], + 756: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = i._, + o = t("../../plots/cartesian/axes"); + function s(t, e, r) { + var n = { text: "tx" }; + for (var i in n) Array.isArray(e[i]) && (t[n[i]] = e[i][r]); + } + function l(t, e) { + return t.v - e.v; + } + function c(t) { + return t.v; + } + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d = t._fullLayout, + g = o.getFromId(t, e.xaxis || "x"), + m = o.getFromId(t, e.yaxis || "y"), + v = [], + y = "violin" === e.type ? "_numViolins" : "_numBoxes"; + "h" === e.orientation + ? ((u = g), (f = "x"), (h = m), (p = "y")) + : ((u = m), (f = "y"), (h = g), (p = "x")); + var x = u.makeCalcdata(e, f), + b = (function (t, e, r, a, o) { + if (e in t) return r.makeCalcdata(t, e); + var s; + s = + e + "0" in t + ? t[e + "0"] + : "name" in t && + ("category" === r.type || + (n(t.name) && -1 !== ["linear", "log"].indexOf(r.type)) || + (i.isDateTime(t.name) && "date" === r.type)) + ? t.name + : o; + var l = r.d2c(s, 0, t[e + "calendar"]); + return a.map(function () { + return l; + }); + })(e, p, h, x, d[y]), + _ = i.distinctVals(b), + w = _.vals, + k = _.minDiff / 2, + M = (function (t, e) { + for (var r = t.length, n = new Array(r + 1), i = 0; i < r; i++) + n[i] = t[i] - e; + return ((n[r] = t[r - 1] + e), n); + })(w, k), + A = w.length, + T = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = []; + return e; + })(A); + for (r = 0; r < e._length; r++) { + var S = x[r]; + if (n(S)) { + var C = i.findBin(b[r], M); + if (C >= 0 && C < A) { + var E = { v: S, i: r }; + (s(E, e, r), T[C].push(E)); + } + } + } + for (r = 0; r < A; r++) + if (T[r].length > 0) { + var L = T[r].sort(l), + z = L.map(c), + P = z.length, + D = { pos: w[r], pts: L }; + ((D.min = z[0]), + (D.max = z[P - 1]), + (D.mean = i.mean(z, P)), + (D.sd = i.stdev(z, P, D.mean)), + (D.q1 = i.interp(z, 0.25)), + (D.med = i.interp(z, 0.5)), + (D.q3 = i.interp(z, 0.75)), + (D.lf = Math.min( + D.q1, + z[Math.min(i.findBin(2.5 * D.q1 - 1.5 * D.q3, z, !0) + 1, P - 1)], + )), + (D.uf = Math.max( + D.q3, + z[Math.max(i.findBin(2.5 * D.q3 - 1.5 * D.q1, z), 0)], + )), + (D.lo = 4 * D.q1 - 3 * D.q3), + (D.uo = 4 * D.q3 - 3 * D.q1)); + var O = (1.57 * (D.q3 - D.q1)) / Math.sqrt(P); + ((D.ln = D.med - O), (D.un = D.med + O), v.push(D)); + } + return ( + (function (t, e) { + if (i.isArrayOrTypedArray(e.selectedpoints)) + for (var r = 0; r < t.length; r++) { + for (var n = t[r].pts || [], a = {}, o = 0; o < n.length; o++) + a[n[o].i] = o; + i.tagSelected(n, e, a); + } + })(v, e), + o.expand(u, x, { padded: !0 }), + v.length > 0 + ? ((v[0].t = { + num: d[y], + dPos: k, + posLetter: p, + valLetter: f, + labels: { + med: a(t, "median:"), + min: a(t, "min:"), + q1: a(t, "q1:"), + q3: a(t, "q3:"), + max: a(t, "max:"), + mean: + "sd" === e.boxmean ? a(t, "mean \xb1 \u03c3:") : a(t, "mean:"), + lf: a(t, "lower fence:"), + uf: a(t, "upper fence:"), + }, + }), + d[y]++, + v) + : [{ t: { empty: !0 } }] + ); + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648, "fast-isnumeric": 196 }, + ], + 757: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../registry"), + a = t("../../components/color"), + o = t("./attributes"); + function s(t, e, r, n) { + var a, + o, + s = r("y"), + l = r("x"), + c = l && l.length; + if (s && s.length) + ((a = "v"), + c ? (o = Math.min(l.length, s.length)) : (r("x0"), (o = s.length))); + else { + if (!c) return void (e.visible = !1); + ((a = "h"), r("y0"), (o = l.length)); + } + ((e._length = o), + i.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y"], + n, + ), + r("orientation", a)); + } + function l(t, e, r, i) { + var a = i.prefix, + s = n.coerce2(t, e, o, "marker.outliercolor"), + l = r("marker.line.outliercolor"), + c = r(a + "points", s || l ? "suspectedoutliers" : void 0); + (c + ? (r("jitter", "all" === c ? 0.3 : 0), + r("pointpos", "all" === c ? -1.5 : 0), + r("marker.symbol"), + r("marker.opacity"), + r("marker.size"), + r("marker.color", e.line.color), + r("marker.line.color"), + r("marker.line.width"), + "suspectedoutliers" === c && + (r("marker.line.outliercolor", e.marker.color), + r("marker.line.outlierwidth")), + r("selected.marker.color"), + r("unselected.marker.color"), + r("selected.marker.size"), + r("unselected.marker.size"), + r("text")) + : delete e.marker, + r("hoveron"), + n.coerceSelectionMarkerOpacity(e, r)); + } + e.exports = { + supplyDefaults: function (t, e, r, i) { + function c(r, i) { + return n.coerce(t, e, o, r, i); + } + (s(t, e, c, i), + !1 !== e.visible && + (c("line.color", (t.marker || {}).color || r), + c("line.width"), + c("fillcolor", a.addOpacity(e.line.color, 0.5)), + c("whiskerwidth"), + c("boxmean"), + c("notched", void 0 !== t.notchwidth) && c("notchwidth"), + l(t, e, c, { prefix: "box" }))); + }, + handleSampleDefaults: s, + handlePointsDefaults: l, + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../registry": 732, + "./attributes": 755, + }, + ], + 758: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib"), + a = t("../../components/fx"), + o = t("../../components/color"), + s = t("../scatter/fill_hover_text"); + function l(t, e, r, s) { + var l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b = t.cd, + _ = t.xa, + w = t.ya, + k = b[0].trace, + M = b[0].t, + A = "violin" === k.type, + T = [], + S = M.bdPos, + C = M.wHover, + E = function (t) { + return t.pos + M.bPos - p; + }; + (A && "both" !== k.side + ? ("positive" === k.side && + (m = function (t) { + var e = E(t); + return a.inbox(e, e + C, v); + }), + "negative" === k.side && + (m = function (t) { + var e = E(t); + return a.inbox(e - C, e, v); + })) + : (m = function (t) { + var e = E(t); + return a.inbox(e - C, e + C, v); + }), + (x = A + ? function (t) { + return a.inbox(t.span[0] - h, t.span[1] - h, v); + } + : function (t) { + return a.inbox(t.min - h, t.max - h, v); + }), + "h" === k.orientation + ? ((h = e), + (p = r), + (d = x), + (g = m), + (l = "y"), + (u = w), + (c = "x"), + (f = _)) + : ((h = r), + (p = e), + (d = m), + (g = x), + (l = "x"), + (u = _), + (c = "y"), + (f = w))); + var L = Math.min(1, S / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0]))); + function z(t) { + return (d(t) + g(t)) / 2; + } + ((v = t.maxHoverDistance - L), (y = t.maxSpikeDistance - L)); + var P = a.getDistanceFunction(s, d, g, z); + if ((a.getClosest(b, P, t), !1 === t.index)) return []; + var D = b[t.index], + O = k.line.color, + I = (k.marker || {}).color; + (o.opacity(O) && k.line.width + ? (t.color = O) + : o.opacity(I) && k.boxpoints + ? (t.color = I) + : (t.color = k.fillcolor), + (t[l + "0"] = u.c2p(D.pos + M.bPos - S, !0)), + (t[l + "1"] = u.c2p(D.pos + M.bPos + S, !0)), + (t[l + "LabelVal"] = D.pos)); + var R = l + "Spike"; + ((t.spikeDistance = (z(D) * y) / v), (t[R] = u.c2p(D.pos, !0))); + var B = {}, + F = ["med", "min", "q1", "q3", "max"]; + ((k.boxmean || (k.meanline || {}).visible) && F.push("mean"), + (k.boxpoints || k.points) && F.push("lf", "uf")); + for (var N = 0; N < F.length; N++) { + var j = F[N]; + if (j in D && !(D[j] in B)) { + B[D[j]] = !0; + var V = D[j], + U = f.c2p(V, !0), + q = i.extendFlat({}, t); + ((q[c + "0"] = q[c + "1"] = U), + (q[c + "LabelVal"] = V), + (q[c + "Label"] = + (M.labels ? M.labels[j] + " " : "") + n.hoverLabelText(f, V)), + "mean" === j && + "sd" in D && + "sd" === k.boxmean && + (q[c + "err"] = D.sd), + (t.name = ""), + (t.spikeDistance = void 0), + (t[R] = void 0), + T.push(q)); + } + } + return T; + } + function c(t, e, r) { + for ( + var n, + o, + l, + c = t.cd, + u = t.xa, + f = t.ya, + h = c[0].trace, + p = u.c2p(e), + d = f.c2p(r), + g = a.quadrature( + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max(Math.abs(u.c2p(t.x) - p) - e, 1 - 3 / e); + }, + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max(Math.abs(f.c2p(t.y) - d) - e, 1 - 3 / e); + }, + ), + m = !1, + v = 0; + v < c.length; + v++ + ) { + o = c[v]; + for (var y = 0; y < (o.pts || []).length; y++) { + var x = g((l = o.pts[y])); + x <= t.distance && ((t.distance = x), (m = [v, y])); + } + } + if (!m) return !1; + l = (o = c[m[0]]).pts[m[1]]; + var b = u.c2p(l.x, !0), + _ = f.c2p(l.y, !0), + w = l.mrc || 1; + n = i.extendFlat({}, t, { + index: l.i, + color: (h.marker || {}).color, + name: h.name, + x0: b - w, + x1: b + w, + xLabelVal: l.x, + y0: _ - w, + y1: _ + w, + yLabelVal: l.y, + spikeDistance: t.distance, + }); + var k = "h" === h.orientation ? "y" : "x", + M = "h" === h.orientation ? f : u; + return ((n[k + "Spike"] = M.c2p(o.pos, !0)), s(l, h, n), n); + } + e.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a = t.cd[0].trace.hoveron, + o = []; + return ( + -1 !== a.indexOf("boxes") && (o = o.concat(l(t, e, r, n))), + -1 !== a.indexOf("points") && (i = c(t, e, r)), + "closest" === n ? (i ? [i] : o) : i ? (o.push(i), o) : o + ); + }, + hoverOnBoxes: l, + hoverOnPoints: c, + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../scatter/fill_hover_text": 934, + }, + ], + 759: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.layoutAttributes = t("./layout_attributes")), + (n.supplyDefaults = t("./defaults").supplyDefaults), + (n.supplyLayoutDefaults = t("./layout_defaults").supplyLayoutDefaults), + (n.calc = t("./calc")), + (n.setPositions = t("./set_positions").setPositions), + (n.plot = t("./plot").plot), + (n.style = t("./style").style), + (n.styleOnSelect = t("./style").styleOnSelect), + (n.hoverPoints = t("./hover").hoverPoints), + (n.selectPoints = t("./select")), + (n.moduleType = "trace"), + (n.name = "box"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "draggedPts", + "boxLayout", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "./attributes": 755, + "./calc": 756, + "./defaults": 757, + "./hover": 758, + "./layout_attributes": 760, + "./layout_defaults": 761, + "./plot": 762, + "./select": 763, + "./set_positions": 764, + "./style": 765, + }, + ], + 760: [ + function (t, e, r) { + "use strict"; + e.exports = { + boxmode: { + valType: "enumerated", + values: ["group", "overlay"], + dflt: "overlay", + editType: "calc", + }, + boxgap: { valType: "number", min: 0, max: 1, dflt: 0.3, editType: "calc" }, + boxgroupgap: { + valType: "number", + min: 0, + max: 1, + dflt: 0.3, + editType: "calc", + }, + }; + }, + {}, + ], + 761: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("./layout_attributes"); + function o(t, e, r, i, a) { + for (var o, s = a + "Layout", l = 0; l < r.length; l++) + if (n.traceIs(r[l], s)) { + o = !0; + break; + } + o && (i(a + "mode"), i(a + "gap"), i(a + "groupgap")); + } + e.exports = { + supplyLayoutDefaults: function (t, e, r) { + o( + 0, + 0, + r, + function (r, n) { + return i.coerce(t, e, a, r, n); + }, + "box", + ); + }, + _supply: o, + }; + }, + { "../../lib": 602, "../../registry": 732, "./layout_attributes": 760 }, + ], + 762: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../components/drawing"), + o = 5, + s = 0.01; + function l(t, e, r, a) { + var o, + s, + l = e.pos, + c = e.val, + u = a.bPos, + f = a.wdPos || 0, + h = a.bPosPxOffset || 0, + p = r.whiskerwidth || 0, + d = r.notched || !1, + g = d ? 1 - 2 * r.notchwidth : 1; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var m = t.selectAll("path.box").data(i.identity); + (m + .enter() + .append("path") + .style("vector-effect", "non-scaling-stroke") + .attr("class", "box"), + m.exit().remove(), + m.each(function (t) { + var e = t.pos, + a = l.c2p(e + u, !0) + h, + m = l.c2p(e + u - o, !0) + h, + v = l.c2p(e + u + s, !0) + h, + y = l.c2p(e + u - f, !0) + h, + x = l.c2p(e + u + f, !0) + h, + b = l.c2p(e + u - o * g, !0) + h, + _ = l.c2p(e + u + s * g, !0) + h, + w = c.c2p(t.q1, !0), + k = c.c2p(t.q3, !0), + M = i.constrain( + c.c2p(t.med, !0), + Math.min(w, k) + 1, + Math.max(w, k) - 1, + ), + A = void 0 === t.lf || !1 === r.boxpoints, + T = c.c2p(A ? t.min : t.lf, !0), + S = c.c2p(A ? t.max : t.uf, !0), + C = c.c2p(t.ln, !0), + E = c.c2p(t.un, !0); + "h" === r.orientation + ? n + .select(this) + .attr( + "d", + "M" + + M + + "," + + b + + "V" + + _ + + "M" + + w + + "," + + m + + "V" + + v + + (d ? "H" + C + "L" + M + "," + _ + "L" + E + "," + v : "") + + "H" + + k + + "V" + + m + + (d ? "H" + E + "L" + M + "," + b + "L" + C + "," + m : "") + + "ZM" + + w + + "," + + a + + "H" + + T + + "M" + + k + + "," + + a + + "H" + + S + + (0 === p + ? "" + : "M" + + T + + "," + + y + + "V" + + x + + "M" + + S + + "," + + y + + "V" + + x), + ) + : n + .select(this) + .attr( + "d", + "M" + + b + + "," + + M + + "H" + + _ + + "M" + + m + + "," + + w + + "H" + + v + + (d ? "V" + C + "L" + _ + "," + M + "L" + v + "," + E : "") + + "V" + + k + + "H" + + m + + (d ? "V" + E + "L" + b + "," + M + "L" + m + "," + C : "") + + "ZM" + + a + + "," + + w + + "V" + + T + + "M" + + a + + "," + + k + + "V" + + S + + (0 === p + ? "" + : "M" + + y + + "," + + T + + "H" + + x + + "M" + + y + + "," + + S + + "H" + + x), + ); + })); + } + function c(t, e, r, n) { + var l = e.x, + c = e.y, + u = n.bdPos, + f = n.bPos, + h = r.boxpoints || r.points; + i.seedPseudoRandom(); + var p = t.selectAll("g.points").data(function (t) { + return ( + t.forEach(function (t) { + ((t.t = n), (t.trace = r)); + }), + t + ); + }); + (p.enter().append("g").attr("class", "points"), p.exit().remove()); + var d = p.selectAll("path").data(function (t) { + var e, + n, + a = + "all" === h + ? t.pts + : t.pts.filter(function (e) { + return e.v < t.lf || e.v > t.uf; + }), + l = Math.max((t.max - t.min) / 10, t.q3 - t.q1), + c = 1e-9 * l, + p = l * s, + d = [], + g = 0; + if (r.jitter) { + if (0 === l) + for (g = 1, d = new Array(a.length), e = 0; e < a.length; e++) + d[e] = 1; + else + for (e = 0; e < a.length; e++) { + var m = Math.max(0, e - o), + v = a[m].v, + y = Math.min(a.length - 1, e + o), + x = a[y].v; + "all" !== h && + (a[e].v < t.lf + ? (x = Math.min(x, t.lf)) + : (v = Math.max(v, t.uf))); + var b = Math.sqrt((p * (y - m)) / (x - v + c)) || 0; + ((b = i.constrain(Math.abs(b), 0, 1)), + d.push(b), + (g = Math.max(b, g))); + } + n = (2 * r.jitter) / (g || 1); + } + for (e = 0; e < a.length; e++) { + var _ = a[e], + w = _.v, + k = r.jitter ? n * d[e] * (i.pseudoRandom() - 0.5) : 0, + M = t.pos + f + u * (r.pointpos + k); + ("h" === r.orientation + ? ((_.y = M), (_.x = w)) + : ((_.x = M), (_.y = w)), + "suspectedoutliers" === h && w < t.uo && w > t.lo && (_.so = !0)); + } + return a; + }); + (d.enter().append("path").classed("point", !0), + d.exit().remove(), + d.call(a.translatePoints, l, c)); + } + function u(t, e, r, a) { + var o, + s, + l = e.pos, + c = e.val, + u = a.bPos, + f = a.bPosPxOffset || 0; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var h = t.selectAll("path.mean").data(i.identity); + (h + .enter() + .append("path") + .attr("class", "mean") + .style({ fill: "none", "vector-effect": "non-scaling-stroke" }), + h.exit().remove(), + h.each(function (t) { + var e = l.c2p(t.pos + u, !0) + f, + i = l.c2p(t.pos + u - o, !0) + f, + a = l.c2p(t.pos + u + s, !0) + f, + h = c.c2p(t.mean, !0), + p = c.c2p(t.mean - t.sd, !0), + d = c.c2p(t.mean + t.sd, !0); + "h" === r.orientation + ? n + .select(this) + .attr( + "d", + "M" + + h + + "," + + i + + "V" + + a + + ("sd" === r.boxmean + ? "m0,0L" + + p + + "," + + e + + "L" + + h + + "," + + i + + "L" + + d + + "," + + e + + "Z" + : ""), + ) + : n + .select(this) + .attr( + "d", + "M" + + i + + "," + + h + + "H" + + a + + ("sd" === r.boxmean + ? "m0,0L" + + e + + "," + + p + + "L" + + i + + "," + + h + + "L" + + e + + "," + + d + + "Z" + : ""), + ); + })); + } + e.exports = { + plot: function (t, e, r, i) { + var a = t._fullLayout, + o = e.xaxis, + s = e.yaxis, + f = i.selectAll("g.trace.boxes").data(r, function (t) { + return t[0].trace.uid; + }); + (f.enter().append("g").attr("class", "trace boxes"), + f.exit().remove(), + f.order(), + f.each(function (t) { + var r = t[0], + i = r.t, + f = r.trace, + h = n.select(this); + e.isRangePlot || (r.node3 = h); + var p, + d, + g = a._numBoxes, + m = 1 - a.boxgap, + v = "group" === a.boxmode && g > 1, + y = (i.dPos * m * (1 - a.boxgroupgap)) / (v ? g : 1), + x = v ? 2 * i.dPos * ((i.num + 0.5) / g - 0.5) * m : 0, + b = y * f.whiskerwidth; + !0 !== f.visible || i.empty + ? h.remove() + : ("h" === f.orientation ? ((p = s), (d = o)) : ((p = o), (d = s)), + (i.bPos = x), + (i.bdPos = y), + (i.wdPos = b), + (i.wHover = i.dPos * (v ? m / g : 1)), + l(h, { pos: p, val: d }, f, i), + f.boxpoints && c(h, { x: o, y: s }, f, i), + f.boxmean && u(h, { pos: p, val: d }, f, i)); + })); + }, + plotBoxAndWhiskers: l, + plotPoints: c, + plotBoxMean: u, + }; + }, + { "../../components/drawing": 499, "../../lib": 602, d3: 130 }, + ], + 763: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, + n, + i = t.cd, + a = t.xaxis, + o = t.yaxis, + s = []; + if (!1 === e) + for (r = 0; r < i.length; r++) + for (n = 0; n < (i[r].pts || []).length; n++) i[r].pts[n].selected = 0; + else + for (r = 0; r < i.length; r++) + for (n = 0; n < (i[r].pts || []).length; n++) { + var l = i[r].pts[n], + c = a.c2p(l.x), + u = o.c2p(l.y); + e.contains([c, u]) + ? (s.push({ pointNumber: l.i, x: a.c2d(l.x), y: o.c2d(l.y) }), + (l.selected = 1)) + : (l.selected = 0); + } + return s; + }; + }, + {}, + ], + 764: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib"), + a = ["v", "h"]; + function o(t, e, r, a, o) { + var s, + l, + c, + u = e.calcdata, + f = e._fullLayout, + h = [], + p = "violin" === t ? "_numViolins" : "_numBoxes"; + for (s = 0; s < r.length; s++) + for (c = u[r[s]], l = 0; l < c.length; l++) h.push(c[l].pos); + if (h.length) { + var d = i.distinctVals(h), + g = d.minDiff / 2; + for ( + h.length === d.vals.length && (f[p] = 1), + n.minDtick(a, d.minDiff, d.vals[0], !0), + s = 0; + s < r.length; + s++ + ) + (c = u[r[s]])[0].t.dPos = g; + var m = ((1 - f[t + "gap"]) * (1 - f[t + "groupgap"]) * g) / f[p]; + n.expand(a, d.vals, { vpadminus: g + o[0] * m, vpadplus: g + o[1] * m }); + } + } + e.exports = { + setPositions: function (t, e) { + for ( + var r = t.calcdata, n = e.xaxis, i = e.yaxis, s = 0; + s < a.length; + s++ + ) { + for ( + var l = a[s], c = "h" === l ? i : n, u = [], f = 0, h = 0, p = 0; + p < r.length; + p++ + ) { + var d = r[p], + g = d[0].t, + m = d[0].trace; + !0 !== m.visible || + ("box" !== m.type && "candlestick" !== m.type) || + g.empty || + (m.orientation || "v") !== l || + m.xaxis !== n._id || + m.yaxis !== i._id || + (u.push(p), + m.boxpoints && + ((f = Math.max(f, m.jitter - m.pointpos - 1)), + (h = Math.max(h, m.jitter + m.pointpos - 1)))); + } + o("box", t, u, c, [f, h]); + } + }, + setPositionOffset: o, + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648 }, + ], + 765: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/color"), + a = t("../../components/drawing"); + e.exports = { + style: function (t, e) { + var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.boxes"); + (r.style("opacity", function (t) { + return t[0].trace.opacity; + }), + r.each(function (e) { + var r = n.select(this), + o = e[0].trace, + s = o.line.width; + function l(t, e, r, n) { + t.style("stroke-width", e + "px") + .call(i.stroke, r) + .call(i.fill, n); + } + var c = r.selectAll("path.box"); + if ("candlestick" === o.type) + c.each(function (t) { + var e = n.select(this), + r = o[t.dir]; + (l(e, r.line.width, r.line.color, r.fillcolor), + e.style("opacity", o.selectedpoints && !t.selected ? 0.3 : 1)); + }); + else { + (l(c, s, o.line.color, o.fillcolor), + r + .selectAll("path.mean") + .style({ + "stroke-width": s, + "stroke-dasharray": 2 * s + "px," + s + "px", + }) + .call(i.stroke, o.line.color)); + var u = r.selectAll("path.point"); + a.pointStyle(u, o, t); + } + })); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace, + i = r.selectAll("path.point"); + n.selectedpoints ? a.selectedPointStyle(i, n) : a.pointStyle(i, n, t); + }, + }; + }, + { "../../components/color": 474, "../../components/drawing": 499, d3: 130 }, + ], + 766: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").extendFlat, + i = t("../ohlc/attributes"), + a = t("../box/attributes"); + function o(t) { + return { + line: { + color: n({}, a.line.color, { dflt: t }), + width: a.line.width, + editType: "style", + }, + fillcolor: a.fillcolor, + editType: "style", + }; + } + e.exports = { + x: i.x, + open: i.open, + high: i.high, + low: i.low, + close: i.close, + line: { width: n({}, a.line.width, {}), editType: "style" }, + increasing: o(i.increasing.line.color.dflt), + decreasing: o(i.decreasing.line.color.dflt), + text: i.text, + whiskerwidth: n({}, a.whiskerwidth, { dflt: 0 }), + }; + }, + { "../../lib": 602, "../box/attributes": 755, "../ohlc/attributes": 881 }, + ], + 767: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../ohlc/calc").calcCommon; + function o(t, e, r, n) { + return { min: r, q1: Math.min(t, n), med: n, q3: Math.max(t, n), max: e }; + } + e.exports = function (t, e) { + var r = t._fullLayout, + s = i.getFromId(t, e.xaxis), + l = i.getFromId(t, e.yaxis), + c = s.makeCalcdata(e, "x"), + u = a(t, e, c, l, o); + return u.length + ? (n.extendFlat(u[0].t, { + num: r._numBoxes, + dPos: n.distinctVals(c).minDiff / 2, + posLetter: "x", + valLetter: "y", + }), + r._numBoxes++, + u) + : [{ t: { empty: !0 } }]; + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648, "../ohlc/calc": 882 }, + ], + 768: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/color"), + a = t("../ohlc/ohlc_defaults"), + o = t("./attributes"); + function s(t, e, r, n) { + var a = r(n + ".line.color"); + (r(n + ".line.width", e.line.width), + r(n + ".fillcolor", i.addOpacity(a, 0.5))); + } + e.exports = function (t, e, r, i) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + a(t, e, l, i) + ? (l("line.width"), + s(t, e, l, "increasing"), + s(t, e, l, "decreasing"), + l("text"), + l("whiskerwidth"), + (i._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../ohlc/ohlc_defaults": 886, + "./attributes": 766, + }, + ], + 769: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "trace", + name: "candlestick", + basePlotModule: t("../../plots/cartesian"), + categories: ["cartesian", "svg", "showLegend", "candlestick", "boxLayout"], + meta: {}, + attributes: t("./attributes"), + layoutAttributes: t("../box/layout_attributes"), + supplyLayoutDefaults: t("../box/layout_defaults").supplyLayoutDefaults, + setPositions: t("../box/set_positions").setPositions, + supplyDefaults: t("./defaults"), + calc: t("./calc"), + plot: t("../box/plot").plot, + layerName: "boxlayer", + style: t("../box/style").style, + hoverPoints: t("../ohlc/hover"), + selectPoints: t("../ohlc/select"), + }; + }, + { + "../../plots/cartesian": 659, + "../box/layout_attributes": 760, + "../box/layout_defaults": 761, + "../box/plot": 762, + "../box/set_positions": 764, + "../box/style": 765, + "../ohlc/hover": 884, + "../ohlc/select": 888, + "./attributes": 766, + "./calc": 767, + "./defaults": 768, + }, + ], + 770: [ + function (t, e, r) { + "use strict"; + var n = t("./axis_defaults"); + e.exports = function (t, e, r, i, a) { + (i("a") || (i("da"), i("a0")), + i("b") || (i("db"), i("b0")), + (function (t, e, r, i) { + ["aaxis", "baxis"].forEach(function (a) { + var o = a.charAt(0), + s = t[a] || {}, + l = {}, + c = { + tickfont: "x", + id: o + "axis", + letter: o, + font: e.font, + name: a, + data: t[o], + calendar: e.calendar, + dfltColor: i, + bgColor: r.paper_bgcolor, + fullLayout: r, + }; + (n(s, l, c), + (l._categories = l._categories || []), + (e[a] = l), + t[a] || "-" === s.type || (t[a] = { type: s.type })); + }); + })(t, e, r, a)); + }; + }, + { "./axis_defaults": 775 }, + ], + 771: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArrayOrTypedArray; + e.exports = function (t) { + return (function t(e, r) { + if (!n(e) || r >= 10) return null; + var i = 1 / 0; + var a = -1 / 0; + var o = e.length; + for (var s = 0; s < o; s++) { + var l = e[s]; + if (n(l)) { + var c = t(l, r + 1); + c && ((i = Math.min(c[0], i)), (a = Math.max(c[1], a))); + } else ((i = Math.min(l, i)), (a = Math.max(l, a))); + } + return [i, a]; + })(t, 0); + }; + }, + { "../../lib": 602 }, + ], + 772: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("./axis_attributes"), + a = t("../../components/color/attributes"), + o = n({ editType: "calc" }); + ((o.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (o.size.dflt = 12), + (o.color.dflt = a.defaultLine), + (e.exports = { + carpet: { valType: "string", editType: "calc" }, + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + y: { valType: "data_array", editType: "calc+clearAxisTypes" }, + a: { valType: "data_array", editType: "calc" }, + a0: { valType: "number", dflt: 0, editType: "calc" }, + da: { valType: "number", dflt: 1, editType: "calc" }, + b: { valType: "data_array", editType: "calc" }, + b0: { valType: "number", dflt: 0, editType: "calc" }, + db: { valType: "number", dflt: 1, editType: "calc" }, + cheaterslope: { valType: "number", dflt: 1, editType: "calc" }, + aaxis: i, + baxis: i, + font: o, + color: { valType: "color", dflt: a.defaultLine, editType: "plot" }, + })); + }, + { + "../../components/color/attributes": 473, + "../../plots/font_attributes": 674, + "./axis_attributes": 774, + }, + ], + 773: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArrayOrTypedArray; + e.exports = function (t, e, r, i) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y = n(r) ? "a" : "b", + x = ("a" === y ? t.aaxis : t.baxis).smoothing, + b = "a" === y ? t.a2i : t.b2j, + _ = "a" === y ? r : i, + w = "a" === y ? i : r, + k = "a" === y ? e.a.length : e.b.length, + M = "a" === y ? e.b.length : e.a.length, + A = Math.floor("a" === y ? t.b2j(w) : t.a2i(w)), + T = + "a" === y + ? function (e) { + return t.evalxy([], e, A); + } + : function (e) { + return t.evalxy([], A, e); + }; + x && + ((s = Math.max(0, Math.min(M - 2, A))), + (l = A - s), + (o = + "a" === y + ? function (e, r) { + return t.dxydi([], e, s, r, l); + } + : function (e, r) { + return t.dxydj([], s, e, l, r); + })); + var S = b(_[0]), + C = b(_[1]), + E = S < C ? 1 : -1, + L = 1e-8 * (C - S), + z = E > 0 ? Math.floor : Math.ceil, + P = E > 0 ? Math.ceil : Math.floor, + D = E > 0 ? Math.min : Math.max, + O = E > 0 ? Math.max : Math.min, + I = z(S + L), + R = P(C - L), + B = [[(f = T(S))]]; + for (a = I; a * E < R * E; a += E) + ((c = []), + (g = O(S, a)), + (v = (m = D(C, a + E)) - g), + (u = Math.max(0, Math.min(k - 2, Math.floor(0.5 * (g + m))))), + (h = T(m)), + x && + ((p = o(u, g - u)), + (d = o(u, m - u)), + c.push([f[0] + (p[0] / 3) * v, f[1] + (p[1] / 3) * v]), + c.push([h[0] - (d[0] / 3) * v, h[1] - (d[1] / 3) * v])), + c.push(h), + B.push(c), + (f = h)); + return B; + }; + }, + { "../../lib": 602 }, + ], + 774: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../../components/color/attributes"), + a = t("../../plots/cartesian/layout_attributes"), + o = t("../../plot_api/edit_types").overrideAll; + e.exports = { + color: { valType: "color", editType: "calc" }, + smoothing: { + valType: "number", + dflt: 1, + min: 0, + max: 1.3, + editType: "calc", + }, + title: { valType: "string", editType: "calc" }, + titlefont: n({ editType: "calc" }), + titleoffset: { valType: "number", dflt: 10, editType: "calc" }, + type: { + valType: "enumerated", + values: ["-", "linear", "date", "category"], + dflt: "-", + editType: "calc", + }, + autorange: { + valType: "enumerated", + values: [!0, !1, "reversed"], + dflt: !0, + editType: "calc", + }, + rangemode: { + valType: "enumerated", + values: ["normal", "tozero", "nonnegative"], + dflt: "normal", + editType: "calc", + }, + range: { + valType: "info_array", + editType: "calc", + items: [ + { valType: "any", editType: "calc" }, + { valType: "any", editType: "calc" }, + ], + }, + fixedrange: { valType: "boolean", dflt: !1, editType: "calc" }, + cheatertype: { + valType: "enumerated", + values: ["index", "value"], + dflt: "value", + editType: "calc", + }, + tickmode: { + valType: "enumerated", + values: ["linear", "array"], + dflt: "array", + editType: "calc", + }, + nticks: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, + tickvals: { valType: "data_array", editType: "calc" }, + ticktext: { valType: "data_array", editType: "calc" }, + showticklabels: { + valType: "enumerated", + values: ["start", "end", "both", "none"], + dflt: "start", + editType: "calc", + }, + tickfont: n({ editType: "calc" }), + tickangle: { valType: "angle", dflt: "auto", editType: "calc" }, + tickprefix: { valType: "string", dflt: "", editType: "calc" }, + showtickprefix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "calc", + }, + ticksuffix: { valType: "string", dflt: "", editType: "calc" }, + showticksuffix: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "calc", + }, + showexponent: { + valType: "enumerated", + values: ["all", "first", "last", "none"], + dflt: "all", + editType: "calc", + }, + exponentformat: { + valType: "enumerated", + values: ["none", "e", "E", "power", "SI", "B"], + dflt: "B", + editType: "calc", + }, + separatethousands: { valType: "boolean", dflt: !1, editType: "calc" }, + tickformat: { valType: "string", dflt: "", editType: "calc" }, + tickformatstops: o(a.tickformatstops, "calc", "from-root"), + categoryorder: { + valType: "enumerated", + values: ["trace", "category ascending", "category descending", "array"], + dflt: "trace", + editType: "calc", + }, + categoryarray: { valType: "data_array", editType: "calc" }, + labelpadding: { valType: "integer", dflt: 10, editType: "calc" }, + labelprefix: { valType: "string", editType: "calc" }, + labelsuffix: { valType: "string", dflt: "", editType: "calc" }, + showline: { valType: "boolean", dflt: !1, editType: "calc" }, + linecolor: { valType: "color", dflt: i.defaultLine, editType: "calc" }, + linewidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, + gridcolor: { valType: "color", editType: "calc" }, + gridwidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, + showgrid: { valType: "boolean", dflt: !0, editType: "calc" }, + minorgridcount: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, + minorgridwidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, + minorgridcolor: { valType: "color", dflt: i.lightLine, editType: "calc" }, + startline: { valType: "boolean", editType: "calc" }, + startlinecolor: { valType: "color", editType: "calc" }, + startlinewidth: { valType: "number", dflt: 1, editType: "calc" }, + endline: { valType: "boolean", editType: "calc" }, + endlinewidth: { valType: "number", dflt: 1, editType: "calc" }, + endlinecolor: { valType: "color", editType: "calc" }, + tick0: { valType: "number", min: 0, dflt: 0, editType: "calc" }, + dtick: { valType: "number", min: 0, dflt: 1, editType: "calc" }, + arraytick0: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, + arraydtick: { valType: "integer", min: 1, dflt: 1, editType: "calc" }, + editType: "calc", + }; + }, + { + "../../components/color/attributes": 473, + "../../plot_api/edit_types": 633, + "../../plots/cartesian/layout_attributes": 660, + "../../plots/font_attributes": 674, + }, + ], + 775: [ + function (t, e, r) { + "use strict"; + var n = t("./attributes"), + i = t("../../components/color").addOpacity, + a = t("../../registry"), + o = t("../../lib"), + s = t("../../plots/cartesian/tick_value_defaults"), + l = t("../../plots/cartesian/tick_label_defaults"), + c = t("../../plots/cartesian/category_order_defaults"), + u = t("../../plots/cartesian/set_convert"), + f = t("../../plots/cartesian/axis_autotype"); + e.exports = function (t, e, r) { + var h = r.letter, + p = r.font || {}, + d = n[h + "axis"]; + function g(r, n) { + return o.coerce(t, e, d, r, n); + } + function m(r, n) { + return o.coerce2(t, e, d, r, n); + } + r.name && ((e._name = r.name), (e._id = r.name)); + var v = g("type"); + ("-" === v && + (r.data && + (function (t, e) { + if ("-" !== t.type) return; + var r = t._id.charAt(0), + n = t[r + "calendar"]; + t.type = f(e, n); + })(e, r.data), + "-" === e.type ? (e.type = "linear") : (v = t.type = e.type)), + g("smoothing"), + g("cheatertype"), + g("showticklabels"), + g("labelprefix", h + " = "), + g("labelsuffix"), + g("showtickprefix"), + g("showticksuffix"), + g("separatethousands"), + g("tickformat"), + g("exponentformat"), + g("showexponent"), + g("categoryorder"), + g("tickmode"), + g("tickvals"), + g("ticktext"), + g("tick0"), + g("dtick"), + "array" === e.tickmode && (g("arraytick0"), g("arraydtick")), + g("labelpadding"), + (e._hovertitle = h), + "date" === v) && + a.getComponentMethod("calendars", "handleDefaults")( + t, + e, + "calendar", + r.calendar, + ); + (u(e, r.fullLayout), (e.c2p = o.identity)); + var y = g("color", r.dfltColor), + x = y === t.color ? y : p.color; + (g("title"), + o.coerceFont(g, "titlefont", { + family: p.family, + size: Math.round(1.2 * p.size), + color: x, + }), + g("titleoffset"), + g("tickangle"), + g("autorange", !e.isValidRange(t.range)) && g("rangemode"), + g("range"), + e.cleanRange(), + g("fixedrange"), + s(t, e, g, v), + l(t, e, g, v, r), + c(t, e, g, { data: r.data, dataAttr: h })); + var b = m("gridcolor", i(y, 0.3)), + _ = m("gridwidth"), + w = g("showgrid"); + w || (delete e.gridcolor, delete e.gridwidth); + var k = m("startlinecolor", y), + M = m("startlinewidth", _); + g("startline", e.showgrid || !!k || !!M) || + (delete e.startlinecolor, delete e.startlinewidth); + var A = m("endlinecolor", y), + T = m("endlinewidth", _); + return ( + g("endline", e.showgrid || !!A || !!T) || + (delete e.endlinecolor, delete e.endlinewidth), + w + ? (g("minorgridcount"), + g("minorgridwidth", _), + g("minorgridcolor", i(b, 0.06)), + e.minorgridcount || + (delete e.minorgridwidth, delete e.minorgridcolor)) + : (delete e.gridcolor, delete e.gridWidth), + "none" === e.showticklabels && + (delete e.tickfont, + delete e.tickangle, + delete e.showexponent, + delete e.exponentformat, + delete e.tickformat, + delete e.showticksuffix, + delete e.showtickprefix), + e.showticksuffix || delete e.ticksuffix, + e.showtickprefix || delete e.tickprefix, + g("tickmode"), + (!e.title || (e.title && 0 === e.title.length)) && + (delete e.titlefont, delete e.titleoffset), + e + ); + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../plots/cartesian/axis_autotype": 649, + "../../plots/cartesian/category_order_defaults": 652, + "../../plots/cartesian/set_convert": 666, + "../../plots/cartesian/tick_label_defaults": 667, + "../../plots/cartesian/tick_value_defaults": 669, + "../../registry": 732, + "./attributes": 772, + }, + ], + 776: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib").isArray1D, + a = t("./cheater_basis"), + o = t("./array_minmax"), + s = t("./calc_gridlines"), + l = t("./calc_labels"), + c = t("./calc_clippath"), + u = t("../heatmap/clean_2d_array"), + f = t("./smooth_fill_2d_array"), + h = t("../heatmap/convert_column_xyz"), + p = t("./set_convert"); + e.exports = function (t, e) { + var r = n.getFromId(t, e.xaxis), + d = n.getFromId(t, e.yaxis), + g = e.aaxis, + m = e.baxis, + v = e.x, + y = e.y, + x = []; + (v && i(v) && x.push("x"), + y && i(y) && x.push("y"), + x.length && h(e, g, m, "a", "b", x)); + var b = (e._a = e._a || e.a), + _ = (e._b = e._b || e.b); + ((v = e._x || e.x), (y = e._y || e.y)); + var w = {}; + if (e._cheater) { + var k = "index" === g.cheatertype ? b.length : b, + M = "index" === m.cheatertype ? _.length : _; + v = a(k, M, e.cheaterslope); + } + ((e._x = v = u(v)), + (e._y = y = u(y)), + f(v, b, _), + f(y, b, _), + p(e), + e.setScale()); + var A = o(v), + T = o(y), + S = 0.5 * (A[1] - A[0]), + C = 0.5 * (A[1] + A[0]), + E = 0.5 * (T[1] - T[0]), + L = 0.5 * (T[1] + T[0]); + return ( + (A = [C - 1.3 * S, C + 1.3 * S]), + (T = [L - 1.3 * E, L + 1.3 * E]), + n.expand(r, A, { padded: !0 }), + n.expand(d, T, { padded: !0 }), + s(e, "a", "b"), + s(e, "b", "a"), + l(e, g), + l(e, m), + (w.clipsegments = c(e._xctrl, e._yctrl, g, m)), + (w.x = v), + (w.y = y), + (w.a = b), + (w.b = _), + [w] + ); + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../heatmap/clean_2d_array": 837, + "../heatmap/convert_column_xyz": 839, + "./array_minmax": 771, + "./calc_clippath": 777, + "./calc_gridlines": 778, + "./calc_labels": 779, + "./cheater_basis": 781, + "./set_convert": 794, + "./smooth_fill_2d_array": 795, + }, + ], + 777: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + var i, + a, + o, + s = [], + l = !!r.smoothing, + c = !!n.smoothing, + u = t[0].length - 1, + f = t.length - 1; + for (i = 0, a = [], o = []; i <= u; i++) + ((a[i] = t[0][i]), (o[i] = e[0][i])); + for (s.push({ x: a, y: o, bicubic: l }), i = 0, a = [], o = []; i <= f; i++) + ((a[i] = t[i][u]), (o[i] = e[i][u])); + for (s.push({ x: a, y: o, bicubic: c }), i = u, a = [], o = []; i >= 0; i--) + ((a[u - i] = t[f][i]), (o[u - i] = e[f][i])); + for (s.push({ x: a, y: o, bicubic: l }), i = f, a = [], o = []; i >= 0; i--) + ((a[f - i] = t[i][0]), (o[f - i] = e[i][0])); + return (s.push({ x: a, y: o, bicubic: c }), s); + }; + }, + {}, + ], + 778: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib/extend").extendFlat; + e.exports = function (t, e, r) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x = t["_" + e], + b = t[e + "axis"], + _ = (b._gridlines = []), + w = (b._minorgridlines = []), + k = (b._boundarylines = []), + M = t["_" + r], + A = t[r + "axis"]; + "array" === b.tickmode && (b.tickvals = x.slice()); + var T = t._xctrl, + S = t._yctrl, + C = T[0].length, + E = T.length, + L = t._a.length, + z = t._b.length; + (n.prepTicks(b), "array" === b.tickmode && delete b.tickvals); + var P = b.smoothing ? 3 : 1; + function D(n) { + var i, + a, + o, + s, + l, + c, + u, + f, + p, + d, + g, + m, + v = [], + y = [], + x = {}; + if ("b" === e) + for ( + a = t.b2j(n), + o = Math.floor(Math.max(0, Math.min(z - 2, a))), + s = a - o, + x.length = z, + x.crossLength = L, + x.xy = function (e) { + return t.evalxy([], e, a); + }, + x.dxy = function (e, r) { + return t.dxydi([], e, o, r, s); + }, + i = 0; + i < L; + i++ + ) + ((c = Math.min(L - 2, i)), + (u = i - c), + (f = t.evalxy([], i, a)), + A.smoothing && + i > 0 && + ((p = t.dxydi([], i - 1, o, 0, s)), + v.push(l[0] + p[0] / 3), + y.push(l[1] + p[1] / 3), + (d = t.dxydi([], i - 1, o, 1, s)), + v.push(f[0] - d[0] / 3), + y.push(f[1] - d[1] / 3)), + v.push(f[0]), + y.push(f[1]), + (l = f)); + else + for ( + i = t.a2i(n), + c = Math.floor(Math.max(0, Math.min(L - 2, i))), + u = i - c, + x.length = L, + x.crossLength = z, + x.xy = function (e) { + return t.evalxy([], i, e); + }, + x.dxy = function (e, r) { + return t.dxydj([], c, e, u, r); + }, + a = 0; + a < z; + a++ + ) + ((o = Math.min(z - 2, a)), + (s = a - o), + (f = t.evalxy([], i, a)), + A.smoothing && + a > 0 && + ((g = t.dxydj([], c, a - 1, u, 0)), + v.push(l[0] + g[0] / 3), + y.push(l[1] + g[1] / 3), + (m = t.dxydj([], c, a - 1, u, 1)), + v.push(f[0] - m[0] / 3), + y.push(f[1] - m[1] / 3)), + v.push(f[0]), + y.push(f[1]), + (l = f)); + return ( + (x.axisLetter = e), + (x.axis = b), + (x.crossAxis = A), + (x.value = n), + (x.constvar = r), + (x.index = h), + (x.x = v), + (x.y = y), + (x.smoothing = A.smoothing), + x + ); + } + function O(n) { + var i, + a, + o, + s, + l, + c = [], + u = [], + f = {}; + if (((f.length = x.length), (f.crossLength = M.length), "b" === e)) + for ( + o = Math.max(0, Math.min(z - 2, n)), + l = Math.min(1, Math.max(0, n - o)), + f.xy = function (e) { + return t.evalxy([], e, n); + }, + f.dxy = function (e, r) { + return t.dxydi([], e, o, r, l); + }, + i = 0; + i < C; + i++ + ) + ((c[i] = T[n * P][i]), (u[i] = S[n * P][i])); + else + for ( + a = Math.max(0, Math.min(L - 2, n)), + s = Math.min(1, Math.max(0, n - a)), + f.xy = function (e) { + return t.evalxy([], n, e); + }, + f.dxy = function (e, r) { + return t.dxydj([], a, e, s, r); + }, + i = 0; + i < E; + i++ + ) + ((c[i] = T[i][n * P]), (u[i] = S[i][n * P])); + return ( + (f.axisLetter = e), + (f.axis = b), + (f.crossAxis = A), + (f.value = x[n]), + (f.constvar = r), + (f.index = n), + (f.x = c), + (f.y = u), + (f.smoothing = A.smoothing), + f + ); + } + if ("array" === b.tickmode) { + for ( + l = 5e-15, + u = + (c = [ + Math.floor( + ((x.length - 1 - b.arraytick0) / b.arraydtick) * (1 + l), + ), + Math.ceil(-b.arraytick0 / b.arraydtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0] - 1, + f = c[1] + 1, + h = u; + h < f; + h++ + ) + (o = b.arraytick0 + b.arraydtick * h) < 0 || + o > x.length - 1 || + _.push(i(O(o), { color: b.gridcolor, width: b.gridwidth })); + for (h = u; h < f; h++) + if ( + ((s = b.arraytick0 + b.arraydtick * h), + (g = Math.min(s + b.arraydtick, x.length - 1)), + !(s < 0 || s > x.length - 1 || g < 0 || g > x.length - 1)) + ) + for (m = x[s], v = x[g], a = 0; a < b.minorgridcount; a++) + (y = g - s) <= 0 || + (d = + m + + (((v - m) * (a + 1)) / (b.minorgridcount + 1)) * + (b.arraydtick / y)) < x[0] || + d > x[x.length - 1] || + w.push( + i(D(d), { color: b.minorgridcolor, width: b.minorgridwidth }), + ); + (b.startline && + k.push(i(O(0), { color: b.startlinecolor, width: b.startlinewidth })), + b.endline && + k.push( + i(O(x.length - 1), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + )); + } else { + for ( + l = 5e-15, + u = (c = [ + Math.floor(((x[x.length - 1] - b.tick0) / b.dtick) * (1 + l)), + Math.ceil((x[0] - b.tick0) / b.dtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0], + f = c[1], + h = u; + h <= f; + h++ + ) + ((p = b.tick0 + b.dtick * h), + _.push(i(D(p), { color: b.gridcolor, width: b.gridwidth }))); + for (h = u - 1; h < f + 1; h++) + for (p = b.tick0 + b.dtick * h, a = 0; a < b.minorgridcount; a++) + (d = p + (b.dtick * (a + 1)) / (b.minorgridcount + 1)) < x[0] || + d > x[x.length - 1] || + w.push( + i(D(d), { color: b.minorgridcolor, width: b.minorgridwidth }), + ); + (b.startline && + k.push( + i(D(x[0]), { color: b.startlinecolor, width: b.startlinewidth }), + ), + b.endline && + k.push( + i(D(x[x.length - 1]), { + color: b.endlinecolor, + width: b.endlinewidth, + }), + )); + } + }; + }, + { "../../lib/extend": 591, "../../plots/cartesian/axes": 648 }, + ], + 779: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib/extend").extendFlat; + e.exports = function (t, e) { + var r, + a, + o, + s = (e._labels = []), + l = e._gridlines; + for (r = 0; r < l.length; r++) + ((o = l[r]), + -1 !== ["start", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + prefix: void 0, + suffix: void 0, + endAnchor: !0, + xy: o.xy(0), + dxy: o.dxy(0, 0), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)), + -1 !== ["end", "both"].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + endAnchor: !1, + xy: o.xy(o.crossLength - 1), + dxy: o.dxy(o.crossLength - 2, 1), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a))); + }; + }, + { "../../lib/extend": 591, "../../plots/cartesian/axes": 648 }, + ], + 780: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + var i = t[0] - e[0], + a = t[1] - e[1], + o = r[0] - e[0], + s = r[1] - e[1], + l = Math.pow(i * i + a * a, 0.25), + c = Math.pow(o * o + s * s, 0.25), + u = (c * c * i - l * l * o) * n, + f = (c * c * a - l * l * s) * n, + h = c * (l + c) * 3, + p = l * (l + c) * 3; + return [ + [e[0] + (h && u / h), e[1] + (h && f / h)], + [e[0] - (p && u / p), e[1] - (p && f / p)], + ]; + }; + }, + {}, + ], + 781: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArrayOrTypedArray; + e.exports = function (t, e, r) { + var i, + a, + o, + s, + l, + c, + u = [], + f = n(t) ? t.length : t, + h = n(e) ? e.length : e, + p = n(t) ? t : null, + d = n(e) ? e : null; + (p && (o = (p.length - 1) / (p[p.length - 1] - p[0]) / (f - 1)), + d && (s = (d.length - 1) / (d[d.length - 1] - d[0]) / (h - 1))); + var g = 1 / 0, + m = -1 / 0; + for (a = 0; a < h; a++) + for ( + u[a] = [], l = d ? (d[a] - d[0]) * s : a / (h - 1), i = 0; + i < f; + i++ + ) + ((c = (p ? (p[i] - p[0]) * o : i / (f - 1)) - l * r), + (g = Math.min(c, g)), + (m = Math.max(c, m)), + (u[a][i] = c)); + var v = 1 / (m - g), + y = -g * v; + for (a = 0; a < h; a++) for (i = 0; i < f; i++) u[a][i] = v * u[a][i] + y; + return u; + }; + }, + { "../../lib": 602 }, + ], + 782: [ + function (t, e, r) { + "use strict"; + var n = t("./catmull_rom"), + i = t("../../lib").ensureArray; + function a(t, e, r) { + var n = -0.5 * r[0] + 1.5 * e[0], + i = -0.5 * r[1] + 1.5 * e[1]; + return [(2 * n + t[0]) / 3, (2 * i + t[1]) / 3]; + } + e.exports = function (t, e, r, o, s, l) { + var c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x = r[0].length, + b = r.length, + _ = s ? 3 * x - 2 : x, + w = l ? 3 * b - 2 : b; + for (t = i(t, w), e = i(e, w), f = 0; f < w; f++) + ((t[f] = i(t[f], _)), (e[f] = i(e[f], _))); + for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) + for ( + p = t[h], d = e[h], g = r[u], m = o[u], c = 0, f = 0; + c < x; + c++, f += s ? 3 : 1 + ) + ((p[f] = g[c]), (d[f] = m[c])); + if (s) + for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) { + for (c = 1, f = 3; c < x - 1; c++, f += 3) + ((v = n( + [r[u][c - 1], o[u][c - 1]], + [r[u][c], o[u][c]], + [r[u][c + 1], o[u][c + 1]], + s, + )), + (t[h][f - 1] = v[0][0]), + (e[h][f - 1] = v[0][1]), + (t[h][f + 1] = v[1][0]), + (e[h][f + 1] = v[1][1])); + ((y = a([t[h][0], e[h][0]], [t[h][2], e[h][2]], [t[h][3], e[h][3]])), + (t[h][1] = y[0]), + (e[h][1] = y[1]), + (y = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = y[0]), + (e[h][_ - 2] = y[1])); + } + if (l) + for (f = 0; f < _; f++) { + for (h = 3; h < w - 3; h += 3) + ((v = n( + [t[h - 3][f], e[h - 3][f]], + [t[h][f], e[h][f]], + [t[h + 3][f], e[h + 3][f]], + l, + )), + (t[h - 1][f] = v[0][0]), + (e[h - 1][f] = v[0][1]), + (t[h + 1][f] = v[1][0]), + (e[h + 1][f] = v[1][1])); + ((y = a([t[0][f], e[0][f]], [t[2][f], e[2][f]], [t[3][f], e[3][f]])), + (t[1][f] = y[0]), + (e[1][f] = y[1]), + (y = a( + [t[w - 1][f], e[w - 1][f]], + [t[w - 3][f], e[w - 3][f]], + [t[w - 4][f], e[w - 4][f]], + )), + (t[w - 2][f] = y[0]), + (e[w - 2][f] = y[1])); + } + if (s && l) + for (h = 1; h < w; h += (h + 1) % 3 == 0 ? 2 : 1) { + for (f = 3; f < _ - 3; f += 3) + ((v = n( + [t[h][f - 3], e[h][f - 3]], + [t[h][f], e[h][f]], + [t[h][f + 3], e[h][f + 3]], + s, + )), + (t[h][f - 1] = 0.5 * (t[h][f - 1] + v[0][0])), + (e[h][f - 1] = 0.5 * (e[h][f - 1] + v[0][1])), + (t[h][f + 1] = 0.5 * (t[h][f + 1] + v[1][0])), + (e[h][f + 1] = 0.5 * (e[h][f + 1] + v[1][1]))); + ((y = a([t[h][0], e[h][0]], [t[h][2], e[h][2]], [t[h][3], e[h][3]])), + (t[h][1] = 0.5 * (t[h][1] + y[0])), + (e[h][1] = 0.5 * (e[h][1] + y[1])), + (y = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]], + )), + (t[h][_ - 2] = 0.5 * (t[h][_ - 2] + y[0])), + (e[h][_ - 2] = 0.5 * (e[h][_ - 2] + y[1]))); + } + return [t, e]; + }; + }, + { "../../lib": 602, "./catmull_rom": 780 }, + ], + 783: [ + function (t, e, r) { + "use strict"; + e.exports = { RELATIVE_CULL_TOLERANCE: 1e-6 }; + }, + {}, + ], + 784: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + (e || (e = []), (r *= 3), (n *= 3)); + var h = i * i, + p = 1 - i, + d = p * p, + g = p * i * 2, + m = -3 * d, + v = 3 * (d - g), + y = 3 * (g - h), + x = 3 * h, + b = a * a, + _ = b * a, + w = 1 - a, + k = w * w, + M = k * w; + for (f = 0; f < t.length; f++) + ((o = + m * (u = t[f])[n][r] + + v * u[n][r + 1] + + y * u[n][r + 2] + + x * u[n][r + 3]), + (s = + m * u[n + 1][r] + + v * u[n + 1][r + 1] + + y * u[n + 1][r + 2] + + x * u[n + 1][r + 3]), + (l = + m * u[n + 2][r] + + v * u[n + 2][r + 1] + + y * u[n + 2][r + 2] + + x * u[n + 2][r + 3]), + (c = + m * u[n + 3][r] + + v * u[n + 3][r + 1] + + y * u[n + 3][r + 2] + + x * u[n + 3][r + 3]), + (e[f] = M * o + 3 * (k * a * s + w * b * l) + _ * c)); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, c; + (e || (e = []), (r *= 3)); + var u = i * i, + f = 1 - i, + h = f * f, + p = f * i * 2, + d = -3 * h, + g = 3 * (h - p), + m = 3 * (p - u), + v = 3 * u, + y = 1 - a; + for (l = 0; l < t.length; l++) + ((o = + d * (c = t[l])[n][r] + + g * c[n][r + 1] + + m * c[n][r + 2] + + v * c[n][r + 3]), + (s = + d * c[n + 1][r] + + g * c[n + 1][r + 1] + + m * c[n + 1][r + 2] + + v * c[n + 1][r + 3]), + (e[l] = y * o + a * s)); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + (e || (e = []), (n *= 3)); + var h = a * a, + p = h * a, + d = 1 - a, + g = d * d, + m = g * d; + for (u = 0; u < t.length; u++) + ((o = (f = t[u])[n][r + 1] - f[n][r]), + (s = f[n + 1][r + 1] - f[n + 1][r]), + (l = f[n + 2][r + 1] - f[n + 2][r]), + (c = f[n + 3][r + 1] - f[n + 3][r]), + (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c)); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []); + var u = 1 - a; + for (l = 0; l < t.length; l++) + ((o = (c = t[l])[n][r + 1] - c[n][r]), + (s = c[n + 1][r + 1] - c[n + 1][r]), + (e[l] = u * o + a * s)); + return e; + }; + }; + }, + {}, + ], + 785: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + (e || (e = []), (r *= 3), (n *= 3)); + var h = i * i, + p = h * i, + d = 1 - i, + g = d * d, + m = g * d, + v = a * a, + y = 1 - a, + x = y * y, + b = y * a * 2, + _ = -3 * x, + w = 3 * (x - b), + k = 3 * (b - v), + M = 3 * v; + for (f = 0; f < t.length; f++) + ((o = + _ * (u = t[f])[n][r] + + w * u[n + 1][r] + + k * u[n + 2][r] + + M * u[n + 3][r]), + (s = + _ * u[n][r + 1] + + w * u[n + 1][r + 1] + + k * u[n + 2][r + 1] + + M * u[n + 3][r + 1]), + (l = + _ * u[n][r + 2] + + w * u[n + 1][r + 2] + + k * u[n + 2][r + 2] + + M * u[n + 3][r + 2]), + (c = + _ * u[n][r + 3] + + w * u[n + 1][r + 3] + + k * u[n + 2][r + 3] + + M * u[n + 3][r + 3]), + (e[f] = m * o + 3 * (g * i * s + d * h * l) + p * c)); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + (e || (e = []), (r *= 3)); + var h = a * a, + p = h * a, + d = 1 - a, + g = d * d, + m = g * d; + for (u = 0; u < t.length; u++) + ((o = (f = t[u])[n + 1][r] - f[n][r]), + (s = f[n + 1][r + 1] - f[n][r + 1]), + (l = f[n + 1][r + 2] - f[n][r + 2]), + (c = f[n + 1][r + 3] - f[n][r + 3]), + (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c)); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, c; + (e || (e = []), (n *= 3)); + var u = 1 - i, + f = a * a, + h = 1 - a, + p = h * h, + d = h * a * 2, + g = -3 * p, + m = 3 * (p - d), + v = 3 * (d - f), + y = 3 * f; + for (l = 0; l < t.length; l++) + ((o = + g * (c = t[l])[n][r] + + m * c[n + 1][r] + + v * c[n + 2][r] + + y * c[n + 3][r]), + (s = + g * c[n][r + 1] + + m * c[n + 1][r + 1] + + v * c[n + 2][r + 1] + + y * c[n + 3][r + 1]), + (e[l] = u * o + i * s)); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []); + var u = 1 - i; + for (l = 0; l < t.length; l++) + ((o = (c = t[l])[n + 1][r] - c[n][r]), + (s = c[n + 1][r + 1] - c[n][r + 1]), + (e[l] = u * o + i * s)); + return e; + }; + }; + }, + {}, + ], + 786: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i) { + var a = e - 2, + o = r - 2; + return n && i + ? function (e, r, n) { + var i, s, l, c, u, f; + e || (e = []); + var h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + ((h *= 3), (p *= 3)); + var m = d * d, + v = m * d, + y = 1 - d, + x = y * y, + b = x * y, + _ = g * g, + w = _ * g, + k = 1 - g, + M = k * k, + A = M * k; + for (f = 0; f < t.length; f++) + ((i = + b * (u = t[f])[p][h] + + 3 * (x * d * u[p][h + 1] + y * m * u[p][h + 2]) + + v * u[p][h + 3]), + (s = + b * u[p + 1][h] + + 3 * (x * d * u[p + 1][h + 1] + y * m * u[p + 1][h + 2]) + + v * u[p + 1][h + 3]), + (l = + b * u[p + 2][h] + + 3 * (x * d * u[p + 2][h + 1] + y * m * u[p + 2][h + 2]) + + v * u[p + 2][h + 3]), + (c = + b * u[p + 3][h] + + 3 * (x * d * u[p + 3][h + 1] + y * m * u[p + 3][h + 2]) + + v * u[p + 3][h + 3]), + (e[f] = A * i + 3 * (M * g * s + k * _ * l) + w * c)); + return e; + } + : n + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u, + f, + h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + h *= 3; + var m = d * d, + v = m * d, + y = 1 - d, + x = y * y, + b = x * y, + _ = 1 - g; + for (u = 0; u < t.length; u++) + ((i = _ * (f = t[u])[p][h] + g * f[p + 1][h]), + (s = _ * f[p][h + 1] + g * f[p + 1][h + 1]), + (l = _ * f[p][h + 2] + g * f[p + 1][h + 1]), + (c = _ * f[p][h + 3] + g * f[p + 1][h + 1]), + (e[u] = b * i + 3 * (x * d * s + y * m * l) + v * c)); + return e; + } + : i + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u, + f, + h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + p *= 3; + var m = g * g, + v = m * g, + y = 1 - g, + x = y * y, + b = x * y, + _ = 1 - d; + for (u = 0; u < t.length; u++) + ((i = _ * (f = t[u])[p][h] + d * f[p][h + 1]), + (s = _ * f[p + 1][h] + d * f[p + 1][h + 1]), + (l = _ * f[p + 2][h] + d * f[p + 2][h + 1]), + (c = _ * f[p + 3][h] + d * f[p + 3][h + 1]), + (e[u] = b * i + 3 * (x * g * s + y * m * l) + v * c)); + return e; + } + : function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u = Math.max(0, Math.min(Math.floor(r), a)), + f = Math.max(0, Math.min(Math.floor(n), o)), + h = Math.max(0, Math.min(1, r - u)), + p = Math.max(0, Math.min(1, n - f)), + d = 1 - p, + g = 1 - h; + for (l = 0; l < t.length; l++) + ((i = g * (c = t[l])[f][u] + h * c[f][u + 1]), + (s = g * c[f + 1][u] + h * c[f + 1][u + 1]), + (e[l] = d * i + p * s)); + return e; + }; + }; + }, + {}, + ], + 787: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./xy_defaults"), + a = t("./ab_defaults"), + o = t("./attributes"), + s = t("../../components/color/attributes"); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, o, r, i); + } + e._clipPathId = "clip" + e.uid + "carpet"; + var u = c("color", s.defaultLine); + (n.coerceFont(c, "font"), c("carpet"), a(t, e, l, c, u), e.a && e.b) + ? (e.a.length < 3 && (e.aaxis.smoothing = 0), + e.b.length < 3 && (e.baxis.smoothing = 0), + i(t, e, c) || (e.visible = !1), + e._cheater && c("cheaterslope")) + : (e.visible = !1); + }; + }, + { + "../../components/color/attributes": 473, + "../../lib": 602, + "./ab_defaults": 770, + "./attributes": 772, + "./xy_defaults": 796, + }, + ], + 788: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.plot = t("./plot")), + (n.calc = t("./calc")), + (n.animatable = !0), + (n.isContainer = !0), + (n.moduleType = "trace"), + (n.name = "carpet"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "carpet", + "carpetAxis", + "notLegendIsolatable", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "./attributes": 772, + "./calc": 776, + "./defaults": 787, + "./plot": 793, + }, + ], + 789: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for (var r, n = t._fullData.length, i = 0; i < n; i++) { + var a = t._fullData[i]; + if ( + a.index !== e.index && + "carpet" === a.type && + (r || (r = a), a.carpet === e.carpet) + ) + return a; + } + return r; + }; + }, + {}, + ], + 790: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + if (0 === t.length) return ""; + var n, + i = [], + a = r ? 3 : 1; + for (n = 0; n < t.length; n += a) + (i.push(t[n] + "," + e[n]), + r && + n < t.length - a && + (i.push("C"), + i.push( + [t[n + 1] + "," + e[n + 1], t[n + 2] + "," + e[n + 2] + " "].join( + " ", + ), + ))); + return i.join(r ? "" : "L"); + }; + }, + {}, + ], + 791: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArrayOrTypedArray; + e.exports = function (t, e, r) { + var i; + for ( + n(t) ? t.length > e.length && (t = t.slice(0, e.length)) : (t = []), + i = 0; + i < e.length; + i++ + ) + t[i] = r(e[i]); + return t; + }; + }, + { "../../lib": 602 }, + ], + 792: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i, a) { + var o = i[0] * t.dpdx(e), + s = i[1] * t.dpdy(r), + l = 1, + c = 1; + if (a) { + var u = Math.sqrt(i[0] * i[0] + i[1] * i[1]), + f = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + h = (i[0] * a[0] + i[1] * a[1]) / u / f; + c = Math.max(0, h); + } + var p = (180 * Math.atan2(s, o)) / Math.PI; + return ( + p < -90 ? ((p += 180), (l = -l)) : p > 90 && ((p -= 180), (l = -l)), + { angle: p, flip: l, p: t.c2p(n, e, r), offsetMultplier: c } + ); + }; + }, + {}, + ], + 793: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("./map_1d_array"), + o = t("./makepath"), + s = t("./orient_text"), + l = t("../../lib/svg_text_utils"), + c = t("../../lib"), + u = t("../../constants/alignment"), + f = t("../../plots/get_data").getUidsFromCalcData; + function h(t, e, r, n) { + var i = r[0], + l = r[0].trace, + u = e.xaxis, + f = e.yaxis, + h = l.aaxis, + g = l.baxis, + m = t._fullLayout._clips, + y = c.ensureSingle(n, "g", "carpet" + l.uid).classed("trace", !0), + x = c.ensureSingle(y, "g", "minorlayer"), + b = c.ensureSingle(y, "g", "majorlayer"), + _ = c.ensureSingle(y, "g", "boundarylayer"), + w = c.ensureSingle(y, "g", "labellayer"); + (y.style("opacity", l.opacity), + p(u, f, b, h, "a", h._gridlines), + p(u, f, b, g, "b", g._gridlines), + p(u, f, x, h, "a", h._minorgridlines), + p(u, f, x, g, "b", g._minorgridlines), + p(u, f, _, h, "a-boundary", h._boundarylines), + p(u, f, _, g, "b-boundary", g._boundarylines), + (function (t, e, r, n, i, a, o, l) { + var u, f, h, p; + ((u = 0.5 * (r.a[0] + r.a[r.a.length - 1])), + (f = r.b[0]), + (h = r.ab2xy(u, f, !0)), + (p = r.dxyda_rough(u, f)), + void 0 === o.angle && + c.extendFlat(o, s(r, i, a, h, r.dxydb_rough(u, f)))); + (v(t, e, r, n, h, p, r.aaxis, i, a, o, "a-title"), + (u = r.a[0]), + (f = 0.5 * (r.b[0] + r.b[r.b.length - 1])), + (h = r.ab2xy(u, f, !0)), + (p = r.dxydb_rough(u, f)), + void 0 === l.angle && + c.extendFlat(l, s(r, i, a, h, r.dxyda_rough(u, f)))); + v(t, e, r, n, h, p, r.baxis, i, a, l, "b-title"); + })( + t, + w, + l, + i, + u, + f, + d(t, u, f, l, i, w, h._labels, "a-label"), + d(t, u, f, l, i, w, g._labels, "b-label"), + ), + (function (t, e, r, n, i) { + var s, + l, + u, + f, + h = r.select("#" + t._clipPathId); + h.size() || (h = r.append("clipPath").classed("carpetclip", !0)); + var p = c.ensureSingle(h, "path", "carpetboundary"), + d = e.clipsegments, + g = []; + for (f = 0; f < d.length; f++) + ((s = d[f]), + (l = a([], s.x, n.c2p)), + (u = a([], s.y, i.c2p)), + g.push(o(l, u, s.bicubic))); + var m = "M" + g.join("L") + "Z"; + (h.attr("id", t._clipPathId), p.attr("d", m)); + })(l, i, m, u, f)); + } + function p(t, e, r, i, s, l) { + var c = "const-" + s + "-lines", + u = r.selectAll("." + c).data(l); + (u + .enter() + .append("path") + .classed(c, !0) + .style("vector-effect", "non-scaling-stroke"), + u.each(function (r) { + var i = r, + s = i.x, + l = i.y, + c = a([], s, t.c2p), + u = a([], l, e.c2p), + f = "M" + o(c, u, i.smoothing); + n.select(this) + .attr("d", f) + .style("stroke-width", i.width) + .style("stroke", i.color) + .style("fill", "none"); + }), + u.exit().remove()); + } + function d(t, e, r, a, o, c, u, f) { + var h = c.selectAll("text." + f).data(u); + h.enter().append("text").classed(f, !0); + var p = 0, + d = {}; + return ( + h.each(function (o, c) { + var u; + if ("auto" === o.axis.tickangle) u = s(a, e, r, o.xy, o.dxy); + else { + var f = ((o.axis.tickangle + 180) * Math.PI) / 180; + u = s(a, e, r, o.xy, [Math.cos(f), Math.sin(f)]); + } + c || (d = { angle: u.angle, flip: u.flip }); + var h = (o.endAnchor ? -1 : 1) * u.flip, + g = n + .select(this) + .attr({ "text-anchor": h > 0 ? "start" : "end", "data-notex": 1 }) + .call(i.font, o.font) + .text(o.text) + .call(l.convertToTspans, t), + m = i.bBox(this); + (g.attr( + "transform", + "translate(" + + u.p[0] + + "," + + u.p[1] + + ") rotate(" + + u.angle + + ")translate(" + + o.axis.labelpadding * h + + "," + + 0.3 * m.height + + ")", + ), + (p = Math.max(p, m.width + o.axis.labelpadding))); + }), + h.exit().remove(), + (d.maxExtent = p), + d + ); + } + e.exports = function (t, e, r, i) { + var a = f(r); + i.selectAll("g.trace").each(function () { + var t = n.select(this).attr("class").split("carpet")[1].split(/\s/)[0]; + a[t] || n.select(this).remove(); + }); + for (var o = 0; o < r.length; o++) h(t, e, r[o], i); + }; + var g = u.LINE_SPACING, + m = (1 - u.MID_SHIFT) / g + 1; + function v(t, e, r, a, o, c, u, f, h, p, d) { + var v = []; + u.title && v.push(u.title); + var y = e.selectAll("text." + d).data(v), + x = p.maxExtent; + (y.enter().append("text").classed(d, !0), + y.each(function () { + var e = s(r, f, h, o, c); + -1 === ["start", "both"].indexOf(u.showticklabels) && (x = 0); + var a = u.titlefont.size; + x += a + u.titleoffset; + var d = (p.angle + (p.flip < 0 ? 180 : 0) - e.angle + 450) % 360, + v = d > 90 && d < 270, + y = n.select(this); + (y.text(u.title || "").call(l.convertToTspans, t), + v && (x = (-l.lineCount(y) + m) * g * a - x), + y + .attr( + "transform", + "translate(" + + e.p[0] + + "," + + e.p[1] + + ") rotate(" + + e.angle + + ") translate(0," + + x + + ")", + ) + .classed("user-select-none", !0) + .attr("text-anchor", "middle") + .call(i.font, u.titlefont)); + }), + y.exit().remove()); + } + }, + { + "../../components/drawing": 499, + "../../constants/alignment": 574, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/get_data": 684, + "./makepath": 790, + "./map_1d_array": 791, + "./orient_text": 792, + d3: 130, + }, + ], + 794: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("../../lib/search").findBin, + a = t("./compute_control_points"), + o = t("./create_spline_evaluator"), + s = t("./create_i_derivative_evaluator"), + l = t("./create_j_derivative_evaluator"); + e.exports = function (t) { + var e = t._a, + r = t._b, + c = e.length, + u = r.length, + f = t.aaxis, + h = t.baxis, + p = e[0], + d = e[c - 1], + g = r[0], + m = r[u - 1], + v = e[e.length - 1] - e[0], + y = r[r.length - 1] - r[0], + x = v * n.RELATIVE_CULL_TOLERANCE, + b = y * n.RELATIVE_CULL_TOLERANCE; + ((p -= x), + (d += x), + (g -= b), + (m += b), + (t.isVisible = function (t, e) { + return t > p && t < d && e > g && e < m; + }), + (t.isOccluded = function (t, e) { + return t < p || t > d || e < g || e > m; + }), + (t.setScale = function () { + var e = t._x, + r = t._y, + n = a(t._xctrl, t._yctrl, e, r, f.smoothing, h.smoothing); + ((t._xctrl = n[0]), + (t._yctrl = n[1]), + (t.evalxy = o([t._xctrl, t._yctrl], c, u, f.smoothing, h.smoothing)), + (t.dxydi = s([t._xctrl, t._yctrl], f.smoothing, h.smoothing)), + (t.dxydj = l([t._xctrl, t._yctrl], f.smoothing, h.smoothing))); + }), + (t.i2a = function (t) { + var r = Math.max(0, Math.floor(t[0]), c - 2), + n = t[0] - r; + return (1 - n) * e[r] + n * e[r + 1]; + }), + (t.j2b = function (t) { + var e = Math.max(0, Math.floor(t[1]), c - 2), + n = t[1] - e; + return (1 - n) * r[e] + n * r[e + 1]; + }), + (t.ij2ab = function (e) { + return [t.i2a(e[0]), t.j2b(e[1])]; + }), + (t.a2i = function (t) { + var r = Math.max(0, Math.min(i(t, e), c - 2)), + n = e[r], + a = e[r + 1]; + return Math.max(0, Math.min(c - 1, r + (t - n) / (a - n))); + }), + (t.b2j = function (t) { + var e = Math.max(0, Math.min(i(t, r), u - 2)), + n = r[e], + a = r[e + 1]; + return Math.max(0, Math.min(u - 1, e + (t - n) / (a - n))); + }), + (t.ab2ij = function (e) { + return [t.a2i(e[0]), t.b2j(e[1])]; + }), + (t.i2c = function (e, r) { + return t.evalxy([], e, r); + }), + (t.ab2xy = function (n, i, a) { + if (!a && (n < e[0] || (n > e[c - 1]) | (i < r[0]) || i > r[u - 1])) + return [!1, !1]; + var o = t.a2i(n), + s = t.b2j(i), + l = t.evalxy([], o, s); + if (a) { + var f, + h, + p, + d, + g = 0, + m = 0, + v = []; + (n < e[0] + ? ((f = 0), (h = 0), (g = (n - e[0]) / (e[1] - e[0]))) + : n > e[c - 1] + ? ((f = c - 2), + (h = 1), + (g = (n - e[c - 1]) / (e[c - 1] - e[c - 2]))) + : (h = o - (f = Math.max(0, Math.min(c - 2, Math.floor(o))))), + i < r[0] + ? ((p = 0), (d = 0), (m = (i - r[0]) / (r[1] - r[0]))) + : i > r[u - 1] + ? ((p = u - 2), + (d = 1), + (m = (i - r[u - 1]) / (r[u - 1] - r[u - 2]))) + : (d = s - (p = Math.max(0, Math.min(u - 2, Math.floor(s))))), + g && + (t.dxydi(v, f, p, h, d), (l[0] += v[0] * g), (l[1] += v[1] * g)), + m && + (t.dxydj(v, f, p, h, d), (l[0] += v[0] * m), (l[1] += v[1] * m))); + } + return l; + }), + (t.c2p = function (t, e, r) { + return [e.c2p(t[0]), r.c2p(t[1])]; + }), + (t.p2x = function (t, e, r) { + return [e.p2c(t[0]), r.p2c(t[1])]; + }), + (t.dadi = function (t) { + var r = Math.max(0, Math.min(e.length - 2, t)); + return e[r + 1] - e[r]; + }), + (t.dbdj = function (t) { + var e = Math.max(0, Math.min(r.length - 2, t)); + return r[e + 1] - r[e]; + }), + (t.dxyda = function (e, r, n, i) { + var a = t.dxydi(null, e, r, n, i), + o = t.dadi(e, n); + return [a[0] / o, a[1] / o]; + }), + (t.dxydb = function (e, r, n, i) { + var a = t.dxydj(null, e, r, n, i), + o = t.dbdj(r, i); + return [a[0] / o, a[1] / o]; + }), + (t.dxyda_rough = function (e, r, n) { + var i = v * (n || 0.1), + a = t.ab2xy(e + i, r, !0), + o = t.ab2xy(e - i, r, !0); + return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; + }), + (t.dxydb_rough = function (e, r, n) { + var i = y * (n || 0.1), + a = t.ab2xy(e, r + i, !0), + o = t.ab2xy(e, r - i, !0); + return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; + }), + (t.dpdx = function (t) { + return t._m; + }), + (t.dpdy = function (t) { + return t._m; + })); + }; + }, + { + "../../lib/search": 621, + "./compute_control_points": 782, + "./constants": 783, + "./create_i_derivative_evaluator": 784, + "./create_j_derivative_evaluator": 785, + "./create_spline_evaluator": 786, + }, + ], + 795: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e, r) { + var i, + a, + o, + s = [], + l = [], + c = t[0].length, + u = t.length; + function f(e, r) { + var n, + i = 0, + a = 0; + return ( + e > 0 && void 0 !== (n = t[r][e - 1]) && (a++, (i += n)), + e < c - 1 && void 0 !== (n = t[r][e + 1]) && (a++, (i += n)), + r > 0 && void 0 !== (n = t[r - 1][e]) && (a++, (i += n)), + r < u - 1 && void 0 !== (n = t[r + 1][e]) && (a++, (i += n)), + i / Math.max(1, a) + ); + } + var h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + k = 0; + for (i = 0; i < c; i++) + for (a = 0; a < u; a++) + (void 0 === t[a][i] && (s.push(i), l.push(a), (t[a][i] = f(i, a))), + (k = Math.max(k, Math.abs(t[a][i])))); + if (!s.length) return t; + var M = 0, + A = 0, + T = s.length; + do { + for (M = 0, o = 0; o < T; o++) { + ((i = s[o]), (a = l[o])); + var S, + C, + E, + L, + z, + P, + D = 0, + O = 0; + (0 === i + ? ((E = e[(z = Math.min(c - 1, 2))]), + (L = e[1]), + (S = t[a][z]), + (O += (C = t[a][1]) + ((C - S) * (e[0] - L)) / (L - E)), + D++) + : i === c - 1 && + ((E = e[(z = Math.max(0, c - 3))]), + (L = e[c - 2]), + (S = t[a][z]), + (O += (C = t[a][c - 2]) + ((C - S) * (e[c - 1] - L)) / (L - E)), + D++), + (0 === i || i === c - 1) && + a > 0 && + a < u - 1 && + ((h = r[a + 1] - r[a]), + (O += + ((p = r[a] - r[a - 1]) * t[a + 1][i] + h * t[a - 1][i]) / + (p + h)), + D++), + 0 === a + ? ((E = r[(P = Math.min(u - 1, 2))]), + (L = r[1]), + (S = t[P][i]), + (O += (C = t[1][i]) + ((C - S) * (r[0] - L)) / (L - E)), + D++) + : a === u - 1 && + ((E = r[(P = Math.max(0, u - 3))]), + (L = r[u - 2]), + (S = t[P][i]), + (O += (C = t[u - 2][i]) + ((C - S) * (r[u - 1] - L)) / (L - E)), + D++), + (0 === a || a === u - 1) && + i > 0 && + i < c - 1 && + ((h = e[i + 1] - e[i]), + (O += + ((p = e[i] - e[i - 1]) * t[a][i + 1] + h * t[a][i - 1]) / + (p + h)), + D++), + D + ? (O /= D) + : ((d = e[i + 1] - e[i]), + (g = e[i] - e[i - 1]), + (x = (m = r[a + 1] - r[a]) * (v = r[a] - r[a - 1]) * (m + v)), + (O = + ((y = d * g * (d + g)) * (v * t[a + 1][i] + m * t[a - 1][i]) + + x * (g * t[a][i + 1] + d * t[a][i - 1])) / + (x * (g + d) + y * (v + m)))), + (M += (_ = (b = O - t[a][i]) / k) * _), + (w = D ? 0 : 0.85), + (t[a][i] += b * (1 + w))); + } + M = Math.sqrt(M); + } while (A++ < 100 && M > 1e-5); + return (n.log("Smoother converged to", M, "after", A, "iterations"), t); + }; + }, + { "../../lib": 602 }, + ], + 796: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArray1D; + e.exports = function (t, e, r) { + var i = r("x"), + a = i && i.length, + o = r("y"), + s = o && o.length; + if (!a && !s) return !1; + if (((e._cheater = !i), (a && !n(i)) || (s && !n(o)))) e._length = null; + else { + var l = a ? i.length : 1 / 0; + (s && (l = Math.min(l, o.length)), + e.a && e.a.length && (l = Math.min(l, e.a.length)), + e.b && e.b.length && (l = Math.min(l, e.b.length)), + (e._length = l)); + } + return !0; + }; + }, + { "../../lib": 602 }, + ], + 797: [ + function (t, e, r) { + "use strict"; + var n = t("../scattergeo/attributes"), + i = t("../../components/colorscale/attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../../plots/attributes"), + s = t("../../lib/extend"), + l = s.extendFlat, + c = s.extendDeepAll, + u = n.marker.line; + e.exports = l( + { + locations: { valType: "data_array", editType: "calc" }, + locationmode: n.locationmode, + z: { valType: "data_array", editType: "calc" }, + text: l({}, n.text, {}), + marker: { + line: { + color: u.color, + width: l({}, u.width, { dflt: 1 }), + editType: "calc", + }, + opacity: { + valType: "number", + arrayOk: !0, + min: 0, + max: 1, + dflt: 1, + editType: "style", + }, + editType: "calc", + }, + selected: { + marker: { opacity: n.selected.marker.opacity, editType: "plot" }, + editType: "plot", + }, + unselected: { + marker: { opacity: n.unselected.marker.opacity, editType: "plot" }, + editType: "plot", + }, + hoverinfo: l({}, o.hoverinfo, { + editType: "calc", + flags: ["location", "z", "text", "name"], + }), + }, + c({}, i, { zmax: { editType: "calc" }, zmin: { editType: "calc" } }), + { colorbar: a }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../scattergeo/attributes": 964, + }, + ], + 798: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../constants/numerical").BADNUM, + a = t("../../components/colorscale/calc"), + o = t("../scatter/arrays_to_calcdata"), + s = t("../scatter/calc_selection"); + e.exports = function (t, e) { + for (var r = e._length, l = new Array(r), c = 0; c < r; c++) { + var u = (l[c] = {}), + f = e.locations[c], + h = e.z[c]; + ((u.loc = "string" == typeof f ? f : null), (u.z = n(h) ? h : i)); + } + return (o(l, e), a(e, e.z, "", "z"), s(l, e), l); + }; + }, + { + "../../components/colorscale/calc": 481, + "../../constants/numerical": 579, + "../scatter/arrays_to_calcdata": 925, + "../scatter/calc_selection": 928, + "fast-isnumeric": 196, + }, + ], + 799: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/colorscale/defaults"), + a = t("./attributes"); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s("locations"), + c = s("z"); + l && l.length && n.isArrayOrTypedArray(c) && c.length + ? ((e._length = Math.min(l.length, c.length)), + s("locationmode"), + s("text"), + s("marker.line.color"), + s("marker.line.width"), + s("marker.opacity"), + i(t, e, o, s, { prefix: "", cLetter: "z" }), + n.coerceSelectionMarkerOpacity(e, s)) + : (e.visible = !1); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../lib": 602, + "./attributes": 797, + }, + ], + 800: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return ((t.location = e.location), (t.z = e.z), t); + }; + }, + {}, + ], + 801: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("./attributes"), + a = t("../scatter/fill_hover_text"); + e.exports = function (t, e, r) { + var o, + s, + l, + c, + u = t.cd, + f = u[0].trace, + h = t.subplot; + for (s = 0; s < u.length; s++) + if (((c = !1), (o = u[s])._polygons)) { + for (l = 0; l < o._polygons.length; l++) + (o._polygons[l].contains([e, r]) && (c = !c), + o._polygons[l].contains([e + 360, r]) && (c = !c)); + if (c) break; + } + if (c && o) + return ( + (t.x0 = t.x1 = t.xa.c2p(o.ct)), + (t.y0 = t.y1 = t.ya.c2p(o.ct)), + (t.index = o.index), + (t.location = o.loc), + (t.z = o.z), + (function (t, e, r, o) { + var s = r.hi || e.hoverinfo, + l = "all" === s ? i.hoverinfo.flags : s.split("+"), + c = -1 !== l.indexOf("name"), + u = -1 !== l.indexOf("location"), + f = -1 !== l.indexOf("z"), + h = -1 !== l.indexOf("text"), + p = []; + !c && u + ? (t.nameOverride = r.loc) + : (c && (t.nameOverride = e.name), u && p.push(r.loc)); + f && p.push(((d = r.z), n.tickText(o, o.c2l(d), "hover").text)); + var d; + h && a(r, e, p); + t.extraText = p.join("
      "); + })(t, f, o, h.mockAxis), + [t] + ); + }; + }, + { + "../../plots/cartesian/axes": 648, + "../scatter/fill_hover_text": 934, + "./attributes": 797, + }, + ], + 802: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../heatmap/colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("./style").style), + (n.styleOnSelect = t("./style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.eventData = t("./event_data")), + (n.selectPoints = t("./select")), + (n.moduleType = "trace"), + (n.name = "choropleth"), + (n.basePlotModule = t("../../plots/geo")), + (n.categories = ["geo", "noOpacity"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/geo": 678, + "../heatmap/colorbar": 838, + "./attributes": 797, + "./calc": 798, + "./defaults": 799, + "./event_data": 800, + "./hover": 801, + "./plot": 803, + "./select": 804, + "./style": 805, + }, + ], + 803: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../lib/polygon"), + o = t("../../lib/topojson_utils").getTopojsonFeatures, + s = t("../../lib/geo_location_utils").locationToFeature, + l = t("./style").style; + function c(t, e) { + for (var r = t[0].trace, n = t.length, i = o(r, e), a = 0; a < n; a++) { + var l = t[a], + c = s(r.locationmode, l.loc, i); + c + ? ((l.geojson = c), + (l.ct = c.properties.ct), + (l.index = a), + (l._polygons = u(c))) + : (l.geojson = null); + } + } + function u(t) { + var e, + r, + n, + i, + o = t.geometry, + s = o.coordinates, + l = t.id, + c = []; + function u(t) { + for (var e = 0; e < t.length - 1; e++) + if (t[e][0] > 0 && t[e + 1][0] < 0) return e; + return null; + } + switch ( + ((e = + "RUS" === l || "FJI" === l + ? function (t) { + var e; + if (null === u(t)) e = t; + else + for (e = new Array(t.length), i = 0; i < t.length; i++) + e[i] = [t[i][0] < 0 ? t[i][0] + 360 : t[i][0], t[i][1]]; + c.push(a.tester(e)); + } + : "ATA" === l + ? function (t) { + var e = u(t); + if (null === e) return c.push(a.tester(t)); + var r = new Array(t.length + 1), + n = 0; + for (i = 0; i < t.length; i++) + i > e + ? (r[n++] = [t[i][0] + 360, t[i][1]]) + : i === e + ? ((r[n++] = t[i]), (r[n++] = [t[i][0], -90])) + : (r[n++] = t[i]); + var o = a.tester(r); + (o.pts.pop(), c.push(o)); + } + : function (t) { + c.push(a.tester(t)); + }), + o.type) + ) { + case "MultiPolygon": + for (r = 0; r < s.length; r++) + for (n = 0; n < s[r].length; n++) e(s[r][n]); + break; + case "Polygon": + for (r = 0; r < s.length; r++) e(s[r]); + } + return c; + } + e.exports = function (t, e, r) { + for (var a = 0; a < r.length; a++) c(r[a], e.topojson); + var o = e.layers.backplot + .select(".choroplethlayer") + .selectAll("g.trace.choropleth") + .data(r, function (t) { + return t[0].trace.uid; + }); + (o.enter().append("g").attr("class", "trace choropleth"), + o.exit().remove(), + o.each(function (e) { + var r = (e[0].node3 = n.select(this)) + .selectAll("path.choroplethlocation") + .data(i.identity); + (r.enter().append("path").classed("choroplethlocation", !0), + r.exit().remove(), + l(t, e)); + })); + }; + }, + { + "../../lib": 602, + "../../lib/geo_location_utils": 594, + "../../lib/polygon": 614, + "../../lib/topojson_utils": 629, + "./style": 805, + d3: 130, + }, + ], + 804: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, + n, + i, + a, + o, + s = t.cd, + l = t.xaxis, + c = t.yaxis, + u = []; + if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + (i = (n = s[r]).ct) && + ((a = l.c2p(i)), + (o = c.c2p(i)), + e.contains([a, o]) + ? (u.push({ pointNumber: r, lon: i[0], lat: i[1] }), + (n.selected = 1)) + : (n.selected = 0)); + return u; + }; + }, + {}, + ], + 805: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/color"), + a = t("../../components/drawing"), + o = t("../../components/colorscale"); + function s(t, e) { + var r = e[0].trace, + s = e[0].node3.selectAll(".choroplethlocation"), + l = r.marker || {}, + c = l.line || {}, + u = o.makeColorScaleFunc(o.extractScale(r.colorscale, r.zmin, r.zmax)); + (s.each(function (t) { + n.select(this) + .attr("fill", u(t.z)) + .call(i.stroke, t.mlc || c.color) + .call(a.dashLine, "", t.mlw || c.width || 0) + .style("opacity", l.opacity); + }), + a.selectedPointStyle(s, r, t)); + } + e.exports = { + style: function (t, e) { + e && s(t, e); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? a.selectedPointStyle(r.selectAll(".choroplethlocation"), n, t) + : s(t, e); + }, + }; + }, + { + "../../components/color": 474, + "../../components/colorscale": 489, + "../../components/drawing": 499, + d3: 130, + }, + ], + 806: [ + function (t, e, r) { + "use strict"; + var n = t("../heatmap/attributes"), + i = t("../scatter/attributes"), + a = t("../../components/colorscale/attributes"), + o = t("../../components/colorbar/attributes"), + s = t("../../components/drawing/attributes").dash, + l = t("../../plots/font_attributes"), + c = t("../../lib/extend").extendFlat, + u = t("../../constants/filter_ops"), + f = u.COMPARISON_OPS2, + h = u.INTERVAL_OPS, + p = i.line; + e.exports = c( + { + z: n.z, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + text: n.text, + transpose: n.transpose, + xtype: n.xtype, + ytype: n.ytype, + zhoverformat: n.zhoverformat, + connectgaps: n.connectgaps, + fillcolor: { valType: "color", editType: "calc" }, + autocontour: { + valType: "boolean", + dflt: !0, + editType: "calc", + impliedEdits: { + "contours.start": void 0, + "contours.end": void 0, + "contours.size": void 0, + }, + }, + ncontours: { valType: "integer", dflt: 15, min: 1, editType: "calc" }, + contours: { + type: { + valType: "enumerated", + values: ["levels", "constraint"], + dflt: "levels", + editType: "calc", + }, + start: { + valType: "number", + dflt: null, + editType: "plot", + impliedEdits: { "^autocontour": !1 }, + }, + end: { + valType: "number", + dflt: null, + editType: "plot", + impliedEdits: { "^autocontour": !1 }, + }, + size: { + valType: "number", + dflt: null, + min: 0, + editType: "plot", + impliedEdits: { "^autocontour": !1 }, + }, + coloring: { + valType: "enumerated", + values: ["fill", "heatmap", "lines", "none"], + dflt: "fill", + editType: "calc", + }, + showlines: { valType: "boolean", dflt: !0, editType: "plot" }, + showlabels: { valType: "boolean", dflt: !1, editType: "plot" }, + labelfont: l({ editType: "plot", colorEditType: "style" }), + labelformat: { valType: "string", dflt: "", editType: "plot" }, + operation: { + valType: "enumerated", + values: [].concat(f).concat(h), + dflt: "=", + editType: "calc", + }, + value: { valType: "any", dflt: 0, editType: "calc" }, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: c({}, p.color, { editType: "style+colorbars" }), + width: c({}, p.width, { editType: "style+colorbars" }), + dash: s, + smoothing: c({}, p.smoothing, {}), + editType: "plot", + }, + }, + a, + { + autocolorscale: c({}, a.autocolorscale, { dflt: !1 }), + zmin: c({}, a.zmin, { editType: "calc" }), + zmax: c({}, a.zmax, { editType: "calc" }), + }, + { colorbar: o }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../components/drawing/attributes": 498, + "../../constants/filter_ops": 575, + "../../lib/extend": 591, + "../../plots/font_attributes": 674, + "../heatmap/attributes": 835, + "../scatter/attributes": 926, + }, + ], + 807: [ + function (t, e, r) { + "use strict"; + var n = t("../heatmap/calc"), + i = t("./set_contours"); + e.exports = function (t, e) { + var r = n(t, e); + return (i(e), r); + }; + }, + { "../heatmap/calc": 836, "./set_contours": 825 }, + ], + 808: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + var i, + a, + o, + s = t[0], + l = s.x.length, + c = s.y.length, + u = s.z, + f = n.contours, + h = -1 / 0, + p = 1 / 0; + for (i = 0; i < c; i++) + ((p = Math.min(p, u[i][0])), + (p = Math.min(p, u[i][l - 1])), + (h = Math.max(h, u[i][0])), + (h = Math.max(h, u[i][l - 1]))); + for (i = 1; i < l - 1; i++) + ((p = Math.min(p, u[0][i])), + (p = Math.min(p, u[c - 1][i])), + (h = Math.max(h, u[0][i])), + (h = Math.max(h, u[c - 1][i]))); + switch (((s.prefixBoundary = !1), e)) { + case ">": + f.value > h && (s.prefixBoundary = !0); + break; + case "<": + f.value < p && (s.prefixBoundary = !0); + break; + case "[]": + ((a = Math.min.apply(null, f.value)), + ((o = Math.max.apply(null, f.value)) < p || a > h) && + (s.prefixBoundary = !0)); + break; + case "][": + ((a = Math.min.apply(null, f.value)), + (o = Math.max.apply(null, f.value)), + a < p && o > h && (s.prefixBoundary = !0)); + } + }; + }, + {}, + ], + 809: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/plots"), + i = t("../../components/colorbar/draw"), + a = t("./make_color_map"), + o = t("./end_plus"); + e.exports = function (t, e) { + var r = e[0].trace, + s = "cb" + r.uid; + if ((t._fullLayout._infolayer.selectAll("." + s).remove(), r.showscale)) { + var l = i(t, s); + e[0].t.cb = l; + var c = r.contours, + u = r.line, + f = c.size || 1, + h = c.coloring, + p = a(r, { isColorbar: !0 }); + ("heatmap" === h && + l.filllevels({ + start: r.zmin, + end: r.zmax, + size: (r.zmax - r.zmin) / 254, + }), + l + .fillcolor("fill" === h || "heatmap" === h ? p : "") + .line({ + color: "lines" === h ? p : u.color, + width: !1 !== c.showlines ? u.width : 0, + dash: u.dash, + }) + .levels({ start: c.start, end: o(c), size: f }) + .options(r.colorbar)()); + } else n.autoMargin(t, s); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../plots/plots": 710, + "./end_plus": 817, + "./make_color_map": 822, + }, + ], + 810: [ + function (t, e, r) { + "use strict"; + e.exports = { + BOTTOMSTART: [1, 9, 13, 104, 713], + TOPSTART: [4, 6, 7, 104, 713], + LEFTSTART: [8, 12, 14, 208, 1114], + RIGHTSTART: [2, 3, 11, 208, 1114], + NEWDELTA: [ + null, + [-1, 0], + [0, -1], + [-1, 0], + [1, 0], + null, + [0, -1], + [-1, 0], + [0, 1], + [0, 1], + null, + [0, 1], + [1, 0], + [1, 0], + [0, -1], + ], + CHOOSESADDLE: { 104: [4, 1], 208: [2, 8], 713: [7, 13], 1114: [11, 14] }, + SADDLEREMAINDER: { 1: 4, 2: 8, 4: 1, 7: 13, 8: 2, 11: 14, 13: 7, 14: 11 }, + LABELDISTANCE: 2, + LABELINCREASE: 10, + LABELMIN: 3, + LABELMAX: 10, + LABELOPTIMIZER: { + EDGECOST: 1, + ANGLECOST: 1, + NEIGHBORCOST: 5, + SAMELEVELFACTOR: 10, + SAMELEVELDISTANCE: 5, + MAXCOST: 100, + INITIALSEARCHPOINTS: 10, + ITERATIONS: 5, + }, + }; + }, + {}, + ], + 811: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("./label_defaults"), + a = t("../../components/color"), + o = a.addOpacity, + s = a.opacity, + l = t("../../constants/filter_ops"), + c = l.CONSTRAINT_REDUCTION, + u = l.COMPARISON_OPS2; + e.exports = function (t, e, r, a, l, f) { + var h, + p, + d, + g = e.contours, + m = r("contours.operation"); + ((g._operation = c[m]), + (function (t, e) { + var r; + -1 === u.indexOf(e.operation) + ? (t("contours.value", [0, 1]), + Array.isArray(e.value) + ? e.value.length > 2 + ? (e.value = e.value.slice(2)) + : 0 === e.length + ? (e.value = [0, 1]) + : e.length < 2 + ? ((r = parseFloat(e.value[0])), (e.value = [r, r + 1])) + : (e.value = [parseFloat(e.value[0]), parseFloat(e.value[1])]) + : n(e.value) && ((r = parseFloat(e.value)), (e.value = [r, r + 1]))) + : (t("contours.value", 0), + n(e.value) || + (Array.isArray(e.value) + ? (e.value = parseFloat(e.value[0])) + : (e.value = 0))); + })(r, g), + "=" === m + ? (h = g.showlines = !0) + : ((h = r("contours.showlines")), + (d = r("fillcolor", o((t.line || {}).color || l, 0.5)))), + h) && + ((p = r("line.color", d && s(d) ? o(e.fillcolor, 1) : l)), + r("line.width", 2), + r("line.dash")); + (r("line.smoothing"), i(r, a, p, f)); + }; + }, + { + "../../components/color": 474, + "../../constants/filter_ops": 575, + "./label_defaults": 821, + "fast-isnumeric": 196, + }, + ], + 812: [ + function (t, e, r) { + "use strict"; + var n = t("../../constants/filter_ops"), + i = t("fast-isnumeric"); + function a(t, e) { + var r, + a = Array.isArray(e); + function o(t) { + return i(t) ? +t : null; + } + return ( + -1 !== n.COMPARISON_OPS2.indexOf(t) + ? (r = o(a ? e[0] : e)) + : -1 !== n.INTERVAL_OPS.indexOf(t) + ? (r = a ? [o(e[0]), o(e[1])] : [o(e), o(e)]) + : -1 !== n.SET_OPS.indexOf(t) && (r = a ? e.map(o) : [o(e)]), + r + ); + } + function o(t) { + return function (e) { + e = a(t, e); + var r = Math.min(e[0], e[1]), + n = Math.max(e[0], e[1]); + return { start: r, end: n, size: n - r }; + }; + } + function s(t) { + return function (e) { + return { start: (e = a(t, e)), end: 1 / 0, size: 1 / 0 }; + }; + } + e.exports = { + "[]": o("[]"), + "][": o("]["), + ">": s(">"), + "<": s("<"), + "=": s("="), + }; + }, + { "../../constants/filter_ops": 575, "fast-isnumeric": 196 }, + ], + 813: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + var i = n("contours.start"), + a = n("contours.end"), + o = !1 === i || !1 === a, + s = r("contours.size"); + (!(o ? (e.autocontour = !0) : r("autocontour", !1)) && s) || r("ncontours"); + }; + }, + {}, + ], + 814: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + function i(t) { + return n.extendFlat({}, t, { + edgepaths: n.extendDeep([], t.edgepaths), + paths: n.extendDeep([], t.paths), + }); + } + e.exports = function (t, e) { + var r, + a, + o, + s = function (t) { + return t.reverse(); + }, + l = function (t) { + return t; + }; + switch (e) { + case "=": + case "<": + return t; + case ">": + for ( + 1 !== t.length && + n.warn( + "Contour data invalid for the specified inequality operation.", + ), + a = t[0], + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); + return t; + case "][": + var c = s; + ((s = l), (l = c)); + case "[]": + for ( + 2 !== t.length && + n.warn( + "Contour data invalid for the specified inequality range operation.", + ), + a = i(t[0]), + o = i(t[1]), + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); + for (; o.edgepaths.length; ) a.edgepaths.push(l(o.edgepaths.shift())); + for (; o.paths.length; ) a.paths.push(l(o.paths.shift())); + return [a]; + } + }; + }, + { "../../lib": 602 }, + ], + 815: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../heatmap/xyz_defaults"), + a = t("./constraint_defaults"), + o = t("./contours_defaults"), + s = t("./style_defaults"), + l = t("./attributes"); + e.exports = function (t, e, r, c) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + if (i(t, e, u, c)) { + u("text"); + var f = "constraint" === u("contours.type"); + (u("connectgaps", n.isArray1D(e.z)), + f || delete e.showlegend, + f + ? a(t, e, u, c, r) + : (o(t, e, u, function (r) { + return n.coerce2(t, e, l, r); + }), + s(t, e, u, c))); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../heatmap/xyz_defaults": 850, + "./attributes": 806, + "./constraint_defaults": 811, + "./contours_defaults": 813, + "./style_defaults": 827, + }, + ], + 816: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./constraint_mapping"), + a = t("./end_plus"); + e.exports = function (t, e, r) { + for ( + var o = "constraint" === t.type ? i[t._operation](t.value) : t, + s = o.size, + l = [], + c = a(o), + u = r.trace._carpetTrace, + f = u + ? { xaxis: u.aaxis, yaxis: u.baxis, x: r.a, y: r.b } + : { xaxis: e.xaxis, yaxis: e.yaxis, x: r.x, y: r.y }, + h = o.start; + h < c; + h += s + ) + if ( + (l.push( + n.extendFlat( + { + level: h, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + z: r.z, + smoothing: r.trace.line.smoothing, + }, + f, + ), + ), + l.length > 1e3) + ) { + n.warn("Too many contours, clipping at 1000", t); + break; + } + return l; + }; + }, + { "../../lib": 602, "./constraint_mapping": 812, "./end_plus": 817 }, + ], + 817: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + return t.end + t.size / 1e6; + }; + }, + {}, + ], + 818: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./constants"); + function a(t, e, r, n) { + return Math.abs(t[0] - e[0]) < r && Math.abs(t[1] - e[1]) < n; + } + function o(t, e, r, o, l) { + var c, + u = e.join(","), + f = u, + h = t.crossings[f], + p = (function (t, e, r) { + var n = 0, + a = 0; + t > 20 && e + ? 208 === t || 1114 === t + ? (n = 0 === r[0] ? 1 : -1) + : (a = 0 === r[1] ? 1 : -1) + : -1 !== i.BOTTOMSTART.indexOf(t) + ? (a = 1) + : -1 !== i.LEFTSTART.indexOf(t) + ? (n = 1) + : -1 !== i.TOPSTART.indexOf(t) + ? (a = -1) + : (n = -1); + return [n, a]; + })(h, r, e), + d = [s(t, e, [-p[0], -p[1]])], + g = p.join(","), + m = t.z.length, + v = t.z[0].length; + for (c = 0; c < 1e4; c++) { + if ( + (h > 20 + ? ((h = i.CHOOSESADDLE[h][(p[0] || p[1]) < 0 ? 0 : 1]), + (t.crossings[f] = i.SADDLEREMAINDER[h])) + : delete t.crossings[f], + !(p = i.NEWDELTA[h])) + ) { + n.log("Found bad marching index:", h, e, t.level); + break; + } + (d.push(s(t, e, p)), + (e[0] += p[0]), + (e[1] += p[1]), + a(d[d.length - 1], d[d.length - 2], o, l) && d.pop(), + (f = e.join(","))); + var y = + (p[0] && (e[0] < 0 || e[0] > v - 2)) || + (p[1] && (e[1] < 0 || e[1] > m - 2)); + if ((f === u && p.join(",") === g) || (r && y)) break; + h = t.crossings[f]; + } + 1e4 === c && n.log("Infinite loop in contour?"); + var x, + b, + _, + w, + k, + M, + A, + T, + S, + C, + E, + L, + z, + P, + D, + O = a(d[0], d[d.length - 1], o, l), + I = 0, + R = 0.2 * t.smoothing, + B = [], + F = 0; + for (c = 1; c < d.length; c++) + ((L = d[c]), + (z = d[c - 1]), + void 0, + void 0, + (P = L[2] - z[2]), + (D = L[3] - z[3]), + (I += A = Math.sqrt(P * P + D * D)), + B.push(A)); + var N = (I / B.length) * R; + function j(t) { + return d[t % d.length]; + } + for (c = d.length - 2; c >= F; c--) + if ((x = B[c]) < N) { + for (_ = 0, b = c - 1; b >= F && x + B[b] < N; b--) x += B[b]; + if (O && c === d.length - 2) + for (_ = 0; _ < b && x + B[_] < N; _++) x += B[_]; + ((k = c - b + _ + 1), + (M = Math.floor((c + b + _ + 2) / 2)), + (w = + O || c !== d.length - 2 + ? O || -1 !== b + ? k % 2 + ? j(M) + : [(j(M)[0] + j(M + 1)[0]) / 2, (j(M)[1] + j(M + 1)[1]) / 2] + : d[0] + : d[d.length - 1]), + d.splice(b + 1, c - b + 1, w), + (c = b + 1), + _ && (F = _), + O && + (c === d.length - 2 + ? (d[_] = d[d.length - 1]) + : 0 === c && (d[d.length - 1] = d[0]))); + } + for (d.splice(0, F), c = 0; c < d.length; c++) d[c].length = 2; + if (!(d.length < 2)) + if (O) (d.pop(), t.paths.push(d)); + else { + r || n.log("Unclosed interior contour?", t.level, u, d.join("L")); + var V = !1; + for (T = 0; T < t.edgepaths.length; T++) + if (((C = t.edgepaths[T]), !V && a(C[0], d[d.length - 1], o, l))) { + (d.pop(), (V = !0)); + var U = !1; + for (S = 0; S < t.edgepaths.length; S++) + if (a((E = t.edgepaths[S])[E.length - 1], d[0], o, l)) { + ((U = !0), + d.shift(), + t.edgepaths.splice(T, 1), + S === T + ? t.paths.push(d.concat(E)) + : (S > T && S--, (t.edgepaths[S] = E.concat(d, C)))); + break; + } + U || (t.edgepaths[T] = d.concat(C)); + } + for (T = 0; T < t.edgepaths.length && !V; T++) + a((C = t.edgepaths[T])[C.length - 1], d[0], o, l) && + (d.shift(), (t.edgepaths[T] = C.concat(d)), (V = !0)); + V || t.edgepaths.push(d); + } + } + function s(t, e, r) { + var n = e[0] + Math.max(r[0], 0), + i = e[1] + Math.max(r[1], 0), + a = t.z[i][n], + o = t.xaxis, + s = t.yaxis; + if (r[1]) { + var l = (t.level - a) / (t.z[i][n + 1] - a); + return [ + o.c2p((1 - l) * t.x[n] + l * t.x[n + 1], !0), + s.c2p(t.y[i], !0), + n + l, + i, + ]; + } + var c = (t.level - a) / (t.z[i + 1][n] - a); + return [ + o.c2p(t.x[n], !0), + s.c2p((1 - c) * t.y[i] + c * t.y[i + 1], !0), + n, + i + c, + ]; + } + e.exports = function (t, e, r) { + var i, a, s, l; + for (e = e || 0.01, r = r || 0.01, a = 0; a < t.length; a++) { + for (s = t[a], l = 0; l < s.starts.length; l++) + o(s, s.starts[l], "edge", e, r); + for (i = 0; Object.keys(s.crossings).length && i < 1e4; ) + (i++, + o( + s, + Object.keys(s.crossings)[0].split(",").map(Number), + void 0, + e, + r, + )); + 1e4 === i && n.log("Infinite loop in contour?"); + } + }; + }, + { "../../lib": 602, "./constants": 810 }, + ], + 819: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("../heatmap/hover"); + e.exports = function (t, e, r, a, o) { + var s = i(t, e, r, a, o, !0); + return ( + s && + s.forEach(function (t) { + var e = t.trace; + "constraint" === e.contours.type && + (e.fillcolor && n.opacity(e.fillcolor) + ? (t.color = n.addOpacity(e.fillcolor, 1)) + : e.contours.showlines && + n.opacity(e.line.color) && + (t.color = n.addOpacity(e.line.color, 1))); + }), + s + ); + }; + }, + { "../../components/color": 474, "../heatmap/hover": 842 }, + ], + 820: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.plot = t("./plot").plot), + (n.style = t("./style")), + (n.colorbar = t("./colorbar")), + (n.hoverPoints = t("./hover")), + (n.moduleType = "trace"), + (n.name = "contour"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = ["cartesian", "svg", "2dMap", "contour", "showLegend"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "./attributes": 806, + "./calc": 807, + "./colorbar": 809, + "./defaults": 815, + "./hover": 819, + "./plot": 824, + "./style": 826, + }, + ], + 821: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e, r, i) { + if ((i || (i = {}), t("contours.showlabels"))) { + var a = e.font; + (n.coerceFont(t, "contours.labelfont", { + family: a.family, + size: a.size, + color: r, + }), + t("contours.labelformat")); + } + !1 !== i.hasHover && t("zhoverformat"); + }; + }, + { "../../lib": 602 }, + ], + 822: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/colorscale"), + a = t("./end_plus"); + e.exports = function (t) { + var e = t.contours, + r = e.start, + o = a(e), + s = e.size || 1, + l = Math.floor((o - r) / s) + 1, + c = "lines" === e.coloring ? 0 : 1; + isFinite(s) || ((s = 1), (l = 1)); + var u, + f, + h = t.colorscale, + p = h.length, + d = new Array(p), + g = new Array(p); + if ("heatmap" === e.coloring) { + for ( + t.zauto && + !1 === t.autocontour && + ((t.zmin = r - s / 2), (t.zmax = t.zmin + l * s)), + f = 0; + f < p; + f++ + ) + ((u = h[f]), (d[f] = u[0] * (t.zmax - t.zmin) + t.zmin), (g[f] = u[1])); + var m = n.extent([t.zmin, t.zmax, e.start, e.start + s * (l - 1)]), + v = m[t.zmin < t.zmax ? 0 : 1], + y = m[t.zmin < t.zmax ? 1 : 0]; + (v !== t.zmin && (d.splice(0, 0, v), g.splice(0, 0, Range[0])), + y !== t.zmax && (d.push(y), g.push(g[g.length - 1]))); + } else + for (f = 0; f < p; f++) + ((u = h[f]), + (d[f] = (u[0] * (l + c - 1) - c / 2) * s + r), + (g[f] = u[1])); + return i.makeColorScaleFunc( + { domain: d, range: g }, + { noNumericCheck: !0 }, + ); + }; + }, + { "../../components/colorscale": 489, "./end_plus": 817, d3: 130 }, + ], + 823: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"); + function i(t, e) { + var r = + (e[0][0] > t ? 0 : 1) + + (e[0][1] > t ? 0 : 2) + + (e[1][1] > t ? 0 : 4) + + (e[1][0] > t ? 0 : 8); + return 5 === r || 10 === r + ? t > (e[0][0] + e[0][1] + e[1][0] + e[1][1]) / 4 + ? 5 === r + ? 713 + : 1114 + : 5 === r + ? 104 + : 208 + : 15 === r + ? 0 + : r; + } + e.exports = function (t) { + var e, + r, + a, + o, + s, + l, + c, + u, + f, + h = t[0].z, + p = h.length, + d = h[0].length, + g = 2 === p || 2 === d; + for (r = 0; r < p - 1; r++) + for ( + o = [], + 0 === r && (o = o.concat(n.BOTTOMSTART)), + r === p - 2 && (o = o.concat(n.TOPSTART)), + e = 0; + e < d - 1; + e++ + ) + for ( + a = o.slice(), + 0 === e && (a = a.concat(n.LEFTSTART)), + e === d - 2 && (a = a.concat(n.RIGHTSTART)), + s = e + "," + r, + l = [ + [h[r][e], h[r][e + 1]], + [h[r + 1][e], h[r + 1][e + 1]], + ], + f = 0; + f < t.length; + f++ + ) + (c = i((u = t[f]).level, l)) && + ((u.crossings[s] = c), + -1 !== a.indexOf(c) && + (u.starts.push([e, r]), + g && + -1 !== a.indexOf(c, a.indexOf(c) + 1) && + u.starts.push([e, r]))); + }; + }, + { "./constants": 810 }, + ], + 824: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../components/drawing"), + o = t("../../lib/svg_text_utils"), + s = t("../../plots/cartesian/axes"), + l = t("../../plots/cartesian/set_convert"), + c = t("../../plots/get_data").getUidsFromCalcData, + u = t("../heatmap/plot"), + f = t("./make_crossings"), + h = t("./find_all_paths"), + p = t("./empty_pathinfo"), + d = t("./convert_to_constraints"), + g = t("./close_boundaries"), + m = t("./constants"), + v = m.LABELOPTIMIZER; + function y(t, e, o, s) { + var l = o[0].trace, + c = o[0].x, + v = o[0].y, + y = l.contours, + b = "contour" + l.uid, + _ = e.xaxis, + w = e.yaxis, + k = t._fullLayout, + M = p(y, e, o[0]), + A = i.ensureSingle(s, "g", "heatmapcoloring"), + T = []; + ("heatmap" === y.coloring && + (l.zauto && + !1 === l.autocontour && + ((l._input.zmin = l.zmin = y.start - y.size / 2), + (l._input.zmax = l.zmax = l.zmin + M.length * y.size)), + (T = [o])), + u(t, e, T, A), + f(M), + h(M)); + var S = _.c2p(c[0], !0), + C = _.c2p(c[c.length - 1], !0), + E = w.c2p(v[0], !0), + L = w.c2p(v[v.length - 1], !0), + z = [ + [S, L], + [C, L], + [C, E], + [S, E], + ], + P = M; + "constraint" === y.type && + ((P = d(M, y._operation)), g(P, y._operation, z, l)); + var D = r.makeContourGroup(s, o, b); + (!(function (t, e, r) { + var n = i + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" === r.coloring ? [0] : []); + (n.enter().append("path"), + n.exit().remove(), + n.attr("d", "M" + e.join("L") + "Z").style("stroke", "none")); + })(D, z, y), + (function (t, e, r, a) { + var o = i + .ensureSingle(t, "g", "contourfill") + .selectAll("path") + .data( + "fill" === a.coloring || + ("constraint" === a.type && "=" !== a._operation) + ? e + : [], + ); + (o.enter().append("path"), + o.exit().remove(), + o.each(function (t) { + var e = x(t, r); + e + ? n.select(this).attr("d", e).style("stroke", "none") + : n.select(this).remove(); + })); + })(D, P, z, y), + (function (t, e, o, s, l, c) { + var u = i.ensureSingle(t, "g", "contourlines"), + f = !1 !== l.showlines, + h = l.showlabels, + p = f && h, + d = r.createLines(u, f || h, e), + g = r.createLineClip(u, p, o._fullLayout._clips, s.trace.uid), + v = t.selectAll("g.contourlabels").data(h ? [0] : []); + if ( + (v.exit().remove(), + v.enter().append("g").classed("contourlabels", !0), + h) + ) { + var y = [c], + x = []; + i.clearLocationCache(); + var b = r.labelFormatter(l, s.t.cb, o._fullLayout), + _ = a.tester + .append("text") + .attr("data-notex", 1) + .call(a.font, l.labelfont), + w = e[0].xaxis._length, + k = e[0].yaxis._length, + M = { + left: Math.max(c[0][0], 0), + right: Math.min(c[2][0], w), + top: Math.max(c[0][1], 0), + bottom: Math.min(c[2][1], k), + }; + ((M.middle = (M.top + M.bottom) / 2), + (M.center = (M.left + M.right) / 2)); + var A = Math.sqrt(w * w + k * k), + T = (m.LABELDISTANCE * A) / Math.max(1, e.length / m.LABELINCREASE); + (d.each(function (t) { + var e = r.calcTextOpts(t.level, b, _, o); + n.select(this) + .selectAll("path") + .each(function () { + var t = i.getVisibleSegment(this, M, e.height / 2); + if (t && !(t.len < (e.width + e.height) * m.LABELMIN)) + for ( + var n = Math.min(Math.ceil(t.len / T), m.LABELMAX), a = 0; + a < n; + a++ + ) { + var o = r.findBestTextLocation(this, t, e, x, M); + if (!o) break; + r.addLabelData(o, e, x, y); + } + }); + }), + _.remove(), + r.drawLabels(v, x, o, g, p ? y : null)); + } + h && !f && d.remove(); + })(D, M, t, o[0], y, z), + (function (t, e, r, n, o) { + var s = "clip" + n.trace.uid, + l = r.selectAll("#" + s).data(n.trace.connectgaps ? [] : [0]); + if ( + (l + .enter() + .append("clipPath") + .classed("contourclip", !0) + .attr("id", s), + l.exit().remove(), + !1 === n.trace.connectgaps) + ) { + var c = { + level: 0.9, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + xaxis: e.xaxis, + yaxis: e.yaxis, + x: n.x, + y: n.y, + z: (function (t) { + var e, + r, + n = t.trace._emptypoints, + i = [], + a = t.z.length, + o = t.z[0].length, + s = []; + for (e = 0; e < o; e++) s.push(1); + for (e = 0; e < a; e++) i.push(s.slice()); + for (e = 0; e < n.length; e++) ((r = n[e]), (i[r[0]][r[1]] = 0)); + return ((t.zmask = i), i); + })(n), + smoothing: 0, + }; + (f([c]), h([c])); + var u = x(c, o), + p = i.ensureSingle(l, "path", ""); + p.attr("d", u); + } else s = null; + (t.call(a.setClipUrl, s), + e.plot.selectAll(".hm" + n.trace.uid).call(a.setClipUrl, s)); + })(D, e, k._clips, o[0], z)); + } + function x(t, e) { + var r, + n, + o, + s, + l, + c, + u, + f = (function (t, e) { + var r = t.prefixBoundary; + if (void 0 === r) { + var n = Math.min(t.z[0][0], t.z[0][1]); + r = !t.edgepaths.length && n > t.level; + } + return r ? "M" + e.join("L") + "Z" : ""; + })(t, e), + h = 0, + p = t.edgepaths.map(function (t, e) { + return e; + }), + d = !0; + function g(t) { + return Math.abs(t[1] - e[2][1]) < 0.01; + } + function m(t) { + return Math.abs(t[0] - e[0][0]) < 0.01; + } + function v(t) { + return Math.abs(t[0] - e[2][0]) < 0.01; + } + for (; p.length; ) { + for ( + c = a.smoothopen(t.edgepaths[h], t.smoothing), + f += d ? c : c.replace(/^M/, "L"), + p.splice(p.indexOf(h), 1), + r = t.edgepaths[h][t.edgepaths[h].length - 1], + s = -1, + o = 0; + o < 4; + o++ + ) { + if (!r) { + i.log("Missing end?", h, t); + break; + } + for ( + u = r, + Math.abs(u[1] - e[0][1]) < 0.01 && !v(r) + ? (n = e[1]) + : m(r) + ? (n = e[0]) + : g(r) + ? (n = e[3]) + : v(r) && (n = e[2]), + l = 0; + l < t.edgepaths.length; + l++ + ) { + var y = t.edgepaths[l][0]; + Math.abs(r[0] - n[0]) < 0.01 + ? Math.abs(r[0] - y[0]) < 0.01 && + (y[1] - r[1]) * (n[1] - y[1]) >= 0 && + ((n = y), (s = l)) + : Math.abs(r[1] - n[1]) < 0.01 + ? Math.abs(r[1] - y[1]) < 0.01 && + (y[0] - r[0]) * (n[0] - y[0]) >= 0 && + ((n = y), (s = l)) + : i.log("endpt to newendpt is not vert. or horz.", r, n, y); + } + if (((r = n), s >= 0)) break; + f += "L" + n; + } + if (s === t.edgepaths.length) { + i.log("unclosed perimeter path"); + break; + } + ((h = s), (d = -1 === p.indexOf(h)) && ((h = p[0]), (f += "Z"))); + } + for (h = 0; h < t.paths.length; h++) + f += a.smoothclosed(t.paths[h], t.smoothing); + return f; + } + function b(t, e, r, n) { + var a = e.width / 2, + o = e.height / 2, + s = t.x, + l = t.y, + c = t.theta, + u = Math.cos(c) * a, + f = Math.sin(c) * a, + h = + (s > n.center ? n.right - s : s - n.left) / + (u + Math.abs(Math.sin(c) * o)), + p = + (l > n.middle ? n.bottom - l : l - n.top) / + (Math.abs(f) + Math.cos(c) * o); + if (h < 1 || p < 1) return 1 / 0; + var d = v.EDGECOST * (1 / (h - 1) + 1 / (p - 1)); + d += v.ANGLECOST * c * c; + for ( + var g = s - u, m = l - f, y = s + u, x = l + f, b = 0; + b < r.length; + b++ + ) { + var _ = r[b], + w = (Math.cos(_.theta) * _.width) / 2, + k = (Math.sin(_.theta) * _.width) / 2, + M = + (2 * + i.segmentDistance(g, m, y, x, _.x - w, _.y - k, _.x + w, _.y + k)) / + (e.height + _.height), + A = _.level === e.level, + T = A ? v.SAMELEVELDISTANCE : 1; + if (M <= T) return 1 / 0; + d += (v.NEIGHBORCOST * (A ? v.SAMELEVELFACTOR : 1)) / (M - T); + } + return d; + } + ((r.plot = function (t, e, r, i) { + var a = c(r); + i.selectAll("g.contour").each(function (t) { + a[t.trace.uid] || n.select(this).remove(); + }); + for (var o = 0; o < r.length; o++) y(t, e, r[o], i); + }), + (r.makeContourGroup = function (t, e, r) { + var n = t.selectAll("g.contour." + r).data(e); + return ( + n.enter().append("g").classed("contour", !0).classed(r, !0), + n.exit().remove(), + n + ); + }), + (r.createLines = function (t, e, r) { + var n = r[0].smoothing, + i = t.selectAll("g.contourlevel").data(e ? r : []); + if ( + (i.exit().remove(), + i.enter().append("g").classed("contourlevel", !0), + e) + ) { + var o = i.selectAll("path.openline").data(function (t) { + return t.pedgepaths || t.edgepaths; + }); + (o.exit().remove(), + o.enter().append("path").classed("openline", !0), + o + .attr("d", function (t) { + return a.smoothopen(t, n); + }) + .style("stroke-miterlimit", 1) + .style("vector-effect", "non-scaling-stroke")); + var s = i.selectAll("path.closedline").data(function (t) { + return t.ppaths || t.paths; + }); + (s.exit().remove(), + s.enter().append("path").classed("closedline", !0), + s + .attr("d", function (t) { + return a.smoothclosed(t, n); + }) + .style("stroke-miterlimit", 1) + .style("vector-effect", "non-scaling-stroke")); + } + return i; + }), + (r.createLineClip = function (t, e, r, n) { + var i = e ? "clipline" + n : null, + o = r.selectAll("#" + i).data(e ? [0] : []); + return ( + o.exit().remove(), + o + .enter() + .append("clipPath") + .classed("contourlineclip", !0) + .attr("id", i), + a.setClipUrl(t, i), + o + ); + }), + (r.labelFormatter = function (t, e, r) { + if (t.labelformat) return r._d3locale.numberFormat(t.labelformat); + var n; + if (e) n = e.axis; + else { + if ( + ((n = { type: "linear", _id: "ycontour", showexponent: "all" }), + "constraint" === t.type) + ) { + var i = t.value; + Array.isArray(i) + ? (n.range = [i[0], i[i.length - 1]]) + : (n.range = [i, i]); + } else + ((n.range = [t.start, t.end]), + (n.nticks = (t.end - t.start) / t.size)); + (n.range[0] === n.range[1] && (n.range[1] += n.range[0] || 1), + n.nticks || (n.nticks = 1e3), + l(n, r), + s.prepTicks(n), + (n._tmin = null), + (n._tmax = null)); + } + return function (t) { + return s.tickText(n, t).text; + }; + }), + (r.calcTextOpts = function (t, e, r, n) { + var i = e(t); + r.text(i).call(o.convertToTspans, n); + var s = a.bBox(r.node(), !0); + return { + text: i, + width: s.width, + height: s.height, + level: t, + dy: (s.top + s.bottom) / 2, + }; + }), + (r.findBestTextLocation = function (t, e, r, n, a) { + var o, + s, + l, + c, + u, + f = r.width; + e.isClosed + ? ((s = e.len / v.INITIALSEARCHPOINTS), + (o = e.min + s / 2), + (l = e.max)) + : ((s = (e.len - f) / (v.INITIALSEARCHPOINTS + 1)), + (o = e.min + s + f / 2), + (l = e.max - (s + f) / 2)); + for (var h = 1 / 0, p = 0; p < v.ITERATIONS; p++) { + for (var d = o; d < l; d += s) { + var g = i.getTextLocation(t, e.total, d, f), + m = b(g, r, n, a); + m < h && ((h = m), (u = g), (c = d)); + } + if (h > 2 * v.MAXCOST) break; + (p && (s /= 2), (l = (o = c - s / 2) + 1.5 * s)); + } + if (h <= v.MAXCOST) return u; + }), + (r.addLabelData = function (t, e, r, n) { + var i = e.width / 2, + a = e.height / 2, + o = t.x, + s = t.y, + l = t.theta, + c = Math.sin(l), + u = Math.cos(l), + f = i * u, + h = a * c, + p = i * c, + d = -a * u, + g = [ + [o - f - h, s - p - d], + [o + f - h, s + p - d], + [o + f + h, s + p + d], + [o - f + h, s - p + d], + ]; + (r.push({ + text: e.text, + x: o, + y: s, + dy: e.dy, + theta: l, + level: e.level, + width: e.width, + height: e.height, + }), + n.push(g)); + }), + (r.drawLabels = function (t, e, r, a, s) { + var l = t.selectAll("text").data(e, function (t) { + return t.text + "," + t.x + "," + t.y + "," + t.theta; + }); + if ( + (l.exit().remove(), + l + .enter() + .append("text") + .attr({ "data-notex": 1, "text-anchor": "middle" }) + .each(function (t) { + var e = t.x + Math.sin(t.theta) * t.dy, + i = t.y - Math.cos(t.theta) * t.dy; + n.select(this) + .text(t.text) + .attr({ + x: e, + y: i, + transform: + "rotate(" + + (180 * t.theta) / Math.PI + + " " + + e + + " " + + i + + ")", + }) + .call(o.convertToTspans, r); + }), + s) + ) { + for (var c = "", u = 0; u < s.length; u++) + c += "M" + s[u].join("L") + "Z"; + i.ensureSingle(a, "path", "").attr("d", c); + } + })); + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "../../plots/cartesian/axes": 648, + "../../plots/cartesian/set_convert": 666, + "../../plots/get_data": 684, + "../heatmap/plot": 847, + "./close_boundaries": 808, + "./constants": 810, + "./convert_to_constraints": 814, + "./empty_pathinfo": 816, + "./find_all_paths": 818, + "./make_crossings": 823, + d3: 130, + }, + ], + 825: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../lib"); + function a(t, e, r) { + var i = { type: "linear", range: [t, e] }; + return (n.autoTicks(i, (e - t) / (r || 15)), i); + } + e.exports = function (t) { + var e = t.contours; + if (t.autocontour) { + var r = t.zmin, + o = t.zmax; + (void 0 !== r && void 0 !== o) || + ((r = i.aggNums(Math.min, null, t._z)), + (o = i.aggNums(Math.max, null, t._z))); + var s = a(r, o, t.ncontours); + ((e.size = s.dtick), + (e.start = n.tickFirst(s)), + s.range.reverse(), + (e.end = n.tickFirst(s)), + e.start === r && (e.start += e.size), + e.end === o && (e.end -= e.size), + e.start > e.end && (e.start = e.end = (e.start + e.end) / 2), + t._input.contours || (t._input.contours = {}), + i.extendFlat(t._input.contours, { + start: e.start, + end: e.end, + size: e.size, + }), + (t._input.autocontour = !0)); + } else if ("constraint" !== e.type) { + var l, + c = e.start, + u = e.end, + f = t._input.contours; + if ( + (c > u && + ((e.start = f.start = u), (u = e.end = f.end = c), (c = e.start)), + !(e.size > 0)) + ) + ((l = c === u ? 1 : a(c, u, t.ncontours).dtick), (f.size = e.size = l)); + } + }; + }, + { "../../lib": 602, "../../plots/cartesian/axes": 648 }, + ], + 826: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("../heatmap/style"), + o = t("./make_color_map"); + e.exports = function (t) { + var e = n.select(t).selectAll("g.contour"); + (e.style("opacity", function (t) { + return t.trace.opacity; + }), + e.each(function (t) { + var e = n.select(this), + r = t.trace, + a = r.contours, + s = r.line, + l = a.size || 1, + c = a.start, + u = "constraint" === a.type, + f = !u && "lines" === a.coloring, + h = !u && "fill" === a.coloring, + p = f || h ? o(r) : null; + e.selectAll("g.contourlevel").each(function (t) { + n.select(this) + .selectAll("path") + .call(i.lineGroupStyle, s.width, f ? p(t.level) : s.color, s.dash); + }); + var d = a.labelfont; + if ( + (e.selectAll("g.contourlabels text").each(function (t) { + i.font(n.select(this), { + family: d.family, + size: d.size, + color: d.color || (f ? p(t.level) : s.color), + }); + }), + u) + ) + e.selectAll("g.contourfill path").style("fill", r.fillcolor); + else if (h) { + var g; + (e.selectAll("g.contourfill path").style("fill", function (t) { + return (void 0 === g && (g = t.level), p(t.level + 0.5 * l)); + }), + void 0 === g && (g = c), + e.selectAll("g.contourbg path").style("fill", p(g - 0.5 * l))); + } + }), + a(t)); + }; + }, + { + "../../components/drawing": 499, + "../heatmap/style": 848, + "./make_color_map": 822, + d3: 130, + }, + ], + 827: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/defaults"), + i = t("./label_defaults"); + e.exports = function (t, e, r, a, o) { + var s, + l = r("contours.coloring"), + c = ""; + ("fill" === l && (s = r("contours.showlines")), + !1 !== s && + ("lines" !== l && (c = r("line.color", "#000")), + r("line.width", 0.5), + r("line.dash")), + "none" !== l && n(t, e, a, r, { prefix: "", cLetter: "z" }), + r("line.smoothing"), + i(r, a, c, o)); + }; + }, + { "../../components/colorscale/defaults": 484, "./label_defaults": 821 }, + ], + 828: [ + function (t, e, r) { + "use strict"; + var n = t("../heatmap/attributes"), + i = t("../contour/attributes"), + a = i.contours, + o = t("../scatter/attributes"), + s = t("../../components/colorscale/attributes"), + l = t("../../components/colorbar/attributes"), + c = t("../../lib/extend").extendFlat, + u = o.line; + e.exports = c( + {}, + { + carpet: { valType: "string", editType: "calc" }, + z: n.z, + a: n.x, + a0: n.x0, + da: n.dx, + b: n.y, + b0: n.y0, + db: n.dy, + text: n.text, + transpose: n.transpose, + atype: n.xtype, + btype: n.ytype, + fillcolor: i.fillcolor, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: { + type: a.type, + start: a.start, + end: a.end, + size: a.size, + coloring: { + valType: "enumerated", + values: ["fill", "lines", "none"], + dflt: "fill", + editType: "calc", + }, + showlines: a.showlines, + showlabels: a.showlabels, + labelfont: a.labelfont, + labelformat: a.labelformat, + operation: a.operation, + value: a.value, + editType: "calc", + impliedEdits: { autocontour: !1 }, + }, + line: { + color: c({}, u.color, {}), + width: u.width, + dash: u.dash, + smoothing: c({}, u.smoothing, {}), + editType: "plot", + }, + }, + s, + { autocolorscale: c({}, s.autocolorscale, { dflt: !1 }) }, + { colorbar: l }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../contour/attributes": 806, + "../heatmap/attributes": 835, + "../scatter/attributes": 926, + }, + ], + 829: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/calc"), + i = t("../../lib").isArray1D, + a = t("../heatmap/convert_column_xyz"), + o = t("../heatmap/clean_2d_array"), + s = t("../heatmap/max_row_length"), + l = t("../heatmap/interp2d"), + c = t("../heatmap/find_empties"), + u = t("../heatmap/make_bound_array"), + f = t("./defaults"), + h = t("../carpet/lookup_carpetid"), + p = t("../contour/set_contours"); + e.exports = function (t, e) { + var r = (e._carpetTrace = h(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + if (!e.a || !e.b) { + var d = t.data[r.index], + g = t.data[e.index]; + (g.a || (g.a = d.a), + g.b || (g.b = d.b), + f(g, e, e._defaultColor, t._fullLayout)); + } + var m = (function (t, e) { + var r, + f, + h, + p, + d, + g, + m, + v = e._carpetTrace, + y = v.aaxis, + x = v.baxis; + ((y._minDtick = 0), + (x._minDtick = 0), + i(e.z) && a(e, y, x, "a", "b", ["z"])); + ((r = e._a = e._a || e.a), + (p = e._b = e._b || e.b), + (r = r ? y.makeCalcdata(e, "_a") : []), + (p = p ? x.makeCalcdata(e, "_b") : []), + (f = e.a0 || 0), + (h = e.da || 1), + (d = e.b0 || 0), + (g = e.db || 1), + (m = e._z = o(e._z || e.z, e.transpose)), + (e._emptypoints = c(m)), + (e._interpz = l(m, e._emptypoints, e._interpz))); + var b = s(m), + _ = "scaled" === e.xtype ? "" : r, + w = u(e, _, f, h, b, y), + k = "scaled" === e.ytype ? "" : p, + M = u(e, k, d, g, m.length, x), + A = { a: w, b: M, z: m }; + "levels" === e.contours.type && + "none" !== e.contours.coloring && + n(e, m, "", "z"); + return [A]; + })(0, e); + return (p(e), m); + } + }; + }, + { + "../../components/colorscale/calc": 481, + "../../lib": 602, + "../carpet/lookup_carpetid": 789, + "../contour/set_contours": 825, + "../heatmap/clean_2d_array": 837, + "../heatmap/convert_column_xyz": 839, + "../heatmap/find_empties": 841, + "../heatmap/interp2d": 844, + "../heatmap/make_bound_array": 845, + "../heatmap/max_row_length": 846, + "./defaults": 830, + }, + ], + 830: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../heatmap/xyz_defaults"), + a = t("./attributes"), + o = t("../contour/constraint_defaults"), + s = t("../contour/contours_defaults"), + l = t("../contour/style_defaults"); + e.exports = function (t, e, r, c) { + function u(r, i) { + return n.coerce(t, e, a, r, i); + } + if ((u("carpet"), t.a && t.b)) { + if (!i(t, e, u, c, "a", "b")) return void (e.visible = !1); + u("text"); + var f = "constraint" === u("contours.type"); + (f || delete e.showlegend, + f + ? o(t, e, u, c, r, { hasHover: !1 }) + : (s(t, e, u, function (r) { + return n.coerce2(t, e, a, r); + }), + l(t, e, u, c, { hasHover: !1 }))); + } else ((e._defaultColor = r), (e._length = null)); + }; + }, + { + "../../lib": 602, + "../contour/constraint_defaults": 811, + "../contour/contours_defaults": 813, + "../contour/style_defaults": 827, + "../heatmap/xyz_defaults": 850, + "./attributes": 828, + }, + ], + 831: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../contour/colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("../contour/style")), + (n.moduleType = "trace"), + (n.name = "contourcarpet"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "carpet", + "contour", + "symbols", + "showLegend", + "hasLines", + "carpetDependent", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../contour/colorbar": 809, + "../contour/style": 826, + "./attributes": 828, + "./calc": 829, + "./defaults": 830, + "./plot": 834, + }, + ], + 832: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/drawing"), + i = t("../carpet/axis_aligned_line"), + a = t("../../lib"); + e.exports = function (t, e, r, o, s, l, c, u) { + var f, + h, + p, + d, + g, + m, + v, + y = "", + x = e.edgepaths.map(function (t, e) { + return e; + }), + b = !0, + _ = 1e-4 * Math.abs(r[0][0] - r[2][0]), + w = 1e-4 * Math.abs(r[0][1] - r[2][1]); + function k(t) { + return Math.abs(t[1] - r[0][1]) < w; + } + function M(t) { + return Math.abs(t[1] - r[2][1]) < w; + } + function A(t) { + return Math.abs(t[0] - r[0][0]) < _; + } + function T(t) { + return Math.abs(t[0] - r[2][0]) < _; + } + function S(t, e) { + var r, + n, + a, + o, + f = ""; + for ( + (k(t) && !T(t)) || (M(t) && !A(t)) + ? ((o = s.aaxis), (a = i(s, l, [t[0], e[0]], 0.5 * (t[1] + e[1])))) + : ((o = s.baxis), (a = i(s, l, 0.5 * (t[0] + e[0]), [t[1], e[1]]))), + r = 1; + r < a.length; + r++ + ) + for (f += o.smoothing ? "C" : "L", n = 0; n < a[r].length; n++) { + var h = a[r][n]; + f += [c.c2p(h[0]), u.c2p(h[1])] + " "; + } + return f; + } + for (f = 0, h = null; x.length; ) { + var C = e.edgepaths[f][0]; + for ( + h && (y += S(h, C)), + v = n.smoothopen(e.edgepaths[f].map(o), e.smoothing), + y += b ? v : v.replace(/^M/, "L"), + x.splice(x.indexOf(f), 1), + h = e.edgepaths[f][e.edgepaths[f].length - 1], + g = -1, + d = 0; + d < 4; + d++ + ) { + if (!h) { + a.log("Missing end?", f, e); + break; + } + for ( + k(h) && !T(h) + ? (p = r[1]) + : A(h) + ? (p = r[0]) + : M(h) + ? (p = r[3]) + : T(h) && (p = r[2]), + m = 0; + m < e.edgepaths.length; + m++ + ) { + var E = e.edgepaths[m][0]; + Math.abs(h[0] - p[0]) < _ + ? Math.abs(h[0] - E[0]) < _ && + (E[1] - h[1]) * (p[1] - E[1]) >= 0 && + ((p = E), (g = m)) + : Math.abs(h[1] - p[1]) < w + ? Math.abs(h[1] - E[1]) < w && + (E[0] - h[0]) * (p[0] - E[0]) >= 0 && + ((p = E), (g = m)) + : a.log("endpt to newendpt is not vert. or horz.", h, p, E); + } + if (g >= 0) break; + ((y += S(h, p)), (h = p)); + } + if (g === e.edgepaths.length) { + a.log("unclosed perimeter path"); + break; + } + ((f = g), + (b = -1 === x.indexOf(f)) && + ((f = x[0]), (y += S(h, p) + "Z"), (h = null))); + } + for (f = 0; f < e.paths.length; f++) + y += n.smoothclosed(e.paths[f].map(o), e.smoothing); + return y; + }; + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../carpet/axis_aligned_line": 773, + }, + ], + 833: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, n, i, a, o, s, l, c, u; + for (r = 0; r < t.length; r++) { + for ( + o = (a = t[r]).pedgepaths = [], s = a.ppaths = [], n = 0; + n < a.edgepaths.length; + n++ + ) { + for (u = a.edgepaths[n], l = [], i = 0; i < u.length; i++) + l[i] = e(u[i]); + o.push(l); + } + for (n = 0; n < a.paths.length; n++) { + for (u = a.paths[n], c = [], i = 0; i < u.length; i++) c[i] = e(u[i]); + s.push(c); + } + } + }; + }, + {}, + ], + 834: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../carpet/map_1d_array"), + a = t("../carpet/makepath"), + o = t("../../components/drawing"), + s = t("../../lib"), + l = t("../../plots/get_data").getUidsFromCalcData, + c = t("../contour/make_crossings"), + u = t("../contour/find_all_paths"), + f = t("../contour/plot"), + h = t("../contour/constants"), + p = t("../contour/convert_to_constraints"), + d = t("./join_all_paths"), + g = t("../contour/empty_pathinfo"), + m = t("./map_pathinfo"), + v = t("../carpet/lookup_carpetid"), + y = t("../contour/close_boundaries"); + function x(t, e, r, l) { + var x = r[0].trace, + k = (x._carpetTrace = v(t, x)), + M = t.calcdata[k.index][0]; + if (k.visible && "legendonly" !== k.visible) { + var A = r[0].a, + T = r[0].b, + S = x.contours, + C = x.uid, + E = e.xaxis, + L = e.yaxis, + z = "contour" + C, + P = g(S, e, r[0]), + D = "constraint" === S.type, + O = S._operation, + I = D ? ("=" === O ? "lines" : "fill") : S.coloring, + R = [ + [A[0], T[T.length - 1]], + [A[A.length - 1], T[T.length - 1]], + [A[A.length - 1], T[0]], + [A[0], T[0]], + ]; + c(P); + var B = 1e-8 * (A[A.length - 1] - A[0]), + F = 1e-8 * (T[T.length - 1] - T[0]); + u(P, B, F); + var N = P; + ("constraint" === S.type && ((N = p(P, O)), y(N, O, R, x)), m(P, Y)); + var j, + V, + U, + q, + H = f.makeContourGroup(l, r, z), + G = []; + for (q = M.clipsegments.length - 1; q >= 0; q--) + ((j = M.clipsegments[q]), + (V = i([], j.x, E.c2p)), + (U = i([], j.y, L.c2p)), + V.reverse(), + U.reverse(), + G.push(a(V, U, j.bicubic))); + var W = "M" + G.join("L") + "Z"; + (!(function (t, e, r, n, o, l) { + var c, + u, + f, + h, + p = s + .ensureSingle(t, "g", "contourbg") + .selectAll("path") + .data("fill" !== l || o ? [] : [0]); + (p.enter().append("path"), p.exit().remove()); + var d = []; + for (h = 0; h < e.length; h++) + ((c = e[h]), + (u = i([], c.x, r.c2p)), + (f = i([], c.y, n.c2p)), + d.push(a(u, f, c.bicubic))); + p.attr("d", "M" + d.join("L") + "Z").style("stroke", "none"); + })(H, M.clipsegments, E, L, D, I), + (function (t, e, r, i, a, o, l, c, u, f, h) { + var p = s + .ensureSingle(e, "g", "contourfill") + .selectAll("path") + .data("fill" === f ? a : []); + (p.enter().append("path"), + p.exit().remove(), + p.each(function (e) { + var a = d(t, e, o, l, c, u, r, i); + (e.prefixBoundary && (a = h + a), + a + ? n.select(this).attr("d", a).style("stroke", "none") + : n.select(this).remove()); + })); + })(x, H, E, L, N, R, Y, k, M, I, W), + (function (t, e, r, i, a, l, c) { + var u = s.ensureSingle(t, "g", "contourlines"), + p = !1 !== a.showlines, + d = a.showlabels, + g = p && d, + m = f.createLines(u, p || d, e), + v = f.createLineClip(u, g, r._fullLayout._defs, i.trace.uid), + y = t.selectAll("g.contourlabels").data(d ? [0] : []); + if ( + (y.exit().remove(), + y.enter().append("g").classed("contourlabels", !0), + d) + ) { + var x = l.xaxis, + k = l.yaxis, + M = x._length, + A = k._length, + T = [ + [ + [0, 0], + [M, 0], + [M, A], + [0, A], + ], + ], + S = []; + s.clearLocationCache(); + var C = f.labelFormatter(a, i.t.cb, r._fullLayout), + E = o.tester + .append("text") + .attr("data-notex", 1) + .call(o.font, a.labelfont), + L = { + left: 0, + right: M, + center: M / 2, + top: 0, + bottom: A, + middle: A / 2, + }, + z = Math.sqrt(M * M + A * A), + P = + (h.LABELDISTANCE * z) / Math.max(1, e.length / h.LABELINCREASE); + (m.each(function (t) { + var e = f.calcTextOpts(t.level, C, E, r); + n.select(this) + .selectAll("path") + .each(function (r) { + var n = s.getVisibleSegment(this, L, e.height / 2); + if ( + n && + ((function (t, e, r, n, i, a) { + for (var o, s = 0; s < r.pedgepaths.length; s++) + e === r.pedgepaths[s] && (o = r.edgepaths[s]); + if (!o) return; + var l = i.a[0], + c = i.a[i.a.length - 1], + u = i.b[0], + f = i.b[i.b.length - 1]; + function h(t, e) { + var r, + n = 0; + return ( + (Math.abs(t[0] - l) < 0.1 || + Math.abs(t[0] - c) < 0.1) && + ((r = _(i.dxydb_rough(t[0], t[1], 0.1))), + (n = Math.max(n, (a * w(e, r)) / 2))), + (Math.abs(t[1] - u) < 0.1 || + Math.abs(t[1] - f) < 0.1) && + ((r = _(i.dxyda_rough(t[0], t[1], 0.1))), + (n = Math.max(n, (a * w(e, r)) / 2))), + n + ); + } + var p = b(t, 0, 1), + d = b(t, n.total, n.total - 1), + g = h(o[0], p), + m = n.total - h(o[o.length - 1], d); + n.min < g && (n.min = g); + n.max > m && (n.max = m); + n.len = n.max - n.min; + })(this, r, t, n, c, e.height), + !(n.len < (e.width + e.height) * h.LABELMIN)) + ) + for ( + var i = Math.min(Math.ceil(n.len / P), h.LABELMAX), a = 0; + a < i; + a++ + ) { + var o = f.findBestTextLocation(this, n, e, S, L); + if (!o) break; + f.addLabelData(o, e, S, T); + } + }); + }), + E.remove(), + f.drawLabels(y, S, r, v, g ? T : null)); + } + d && !p && m.remove(); + })(H, P, t, r[0], S, e, k), + o.setClipUrl(H, k._clipPathId)); + } + function Y(t) { + var e = k.ab2xy(t[0], t[1], !0); + return [E.c2p(e[0]), L.c2p(e[1])]; + } + } + function b(t, e, r) { + var n = t.getPointAtLength(e), + i = t.getPointAtLength(r), + a = i.x - n.x, + o = i.y - n.y, + s = Math.sqrt(a * a + o * o); + return [a / s, o / s]; + } + function _(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]); + return [t[0] / e, t[1] / e]; + } + function w(t, e) { + var r = Math.abs(t[0] * e[0] + t[1] * e[1]); + return Math.sqrt(1 - r * r) / r; + } + e.exports = function (t, e, r, i) { + var a = l(r); + i.selectAll("g.contour").each(function (t) { + a[t.trace.uid] || n.select(this).remove(); + }); + for (var o = 0; o < r.length; o++) x(t, e, r[o], i); + }; + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../../plots/get_data": 684, + "../carpet/lookup_carpetid": 789, + "../carpet/makepath": 790, + "../carpet/map_1d_array": 791, + "../contour/close_boundaries": 808, + "../contour/constants": 810, + "../contour/convert_to_constraints": 814, + "../contour/empty_pathinfo": 816, + "../contour/find_all_paths": 818, + "../contour/make_crossings": 823, + "../contour/plot": 824, + "./join_all_paths": 832, + "./map_pathinfo": 833, + d3: 130, + }, + ], + 835: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../components/colorscale/attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../../lib/extend").extendFlat; + e.exports = o( + {}, + { + z: { valType: "data_array", editType: "calc" }, + x: o({}, n.x, { impliedEdits: { xtype: "array" } }), + x0: o({}, n.x0, { impliedEdits: { xtype: "scaled" } }), + dx: o({}, n.dx, { impliedEdits: { xtype: "scaled" } }), + y: o({}, n.y, { impliedEdits: { ytype: "array" } }), + y0: o({}, n.y0, { impliedEdits: { ytype: "scaled" } }), + dy: o({}, n.dy, { impliedEdits: { ytype: "scaled" } }), + text: { valType: "data_array", editType: "calc" }, + transpose: { valType: "boolean", dflt: !1, editType: "calc" }, + xtype: { + valType: "enumerated", + values: ["array", "scaled"], + editType: "calc+clearAxisTypes", + }, + ytype: { + valType: "enumerated", + values: ["array", "scaled"], + editType: "calc+clearAxisTypes", + }, + zsmooth: { + valType: "enumerated", + values: ["fast", "best", !1], + dflt: !1, + editType: "calc", + }, + connectgaps: { valType: "boolean", dflt: !1, editType: "calc" }, + xgap: { valType: "number", dflt: 0, min: 0, editType: "plot" }, + ygap: { valType: "number", dflt: 0, min: 0, editType: "plot" }, + zhoverformat: { valType: "string", dflt: "", editType: "none" }, + }, + i, + { autocolorscale: o({}, i.autocolorscale, { dflt: !1 }) }, + { colorbar: a }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../scatter/attributes": 926, + }, + ], + 836: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../plots/cartesian/axes"), + o = t("../histogram2d/calc"), + s = t("../../components/colorscale/calc"), + l = t("./convert_column_xyz"), + c = t("./max_row_length"), + u = t("./clean_2d_array"), + f = t("./interp2d"), + h = t("./find_empties"), + p = t("./make_bound_array"); + e.exports = function (t, e) { + var r, + d, + g, + m, + v, + y, + x, + b, + _, + w = a.getFromId(t, e.xaxis || "x"), + k = a.getFromId(t, e.yaxis || "y"), + M = n.traceIs(e, "contour"), + A = n.traceIs(e, "histogram"), + T = n.traceIs(e, "gl2d"), + S = M ? "best" : e.zsmooth; + if (((w._minDtick = 0), (k._minDtick = 0), A)) + ((r = (_ = o(t, e)).x), + (d = _.x0), + (g = _.dx), + (m = _.y), + (v = _.y0), + (y = _.dy), + (x = _.z)); + else { + var C = e.z; + (i.isArray1D(C) + ? (l(e, w, k, "x", "y", ["z"]), (r = e._x), (m = e._y), (C = e._z)) + : ((r = e.x ? w.makeCalcdata(e, "x") : []), + (m = e.y ? k.makeCalcdata(e, "y") : [])), + (d = e.x0 || 0), + (g = e.dx || 1), + (v = e.y0 || 0), + (y = e.dy || 1), + (x = u(C, e.transpose)), + (M || e.connectgaps) && + ((e._emptypoints = h(x)), + (e._interpz = f(x, e._emptypoints, e._interpz)))); + } + function E(t) { + ((S = e._input.zsmooth = e.zsmooth = !1), + i.warn('cannot use zsmooth: "fast": ' + t)); + } + if ("fast" === S) + if ("log" === w.type || "log" === k.type) E("log axis found"); + else if (!A) { + if (r.length) { + var L = (r[r.length - 1] - r[0]) / (r.length - 1), + z = Math.abs(L / 100); + for (b = 0; b < r.length - 1; b++) + if (Math.abs(r[b + 1] - r[b] - L) > z) { + E("x scale is not linear"); + break; + } + } + if (m.length && "fast" === S) { + var P = (m[m.length - 1] - m[0]) / (m.length - 1), + D = Math.abs(P / 100); + for (b = 0; b < m.length - 1; b++) + if (Math.abs(m[b + 1] - m[b] - P) > D) { + E("y scale is not linear"); + break; + } + } + } + var O = c(x), + I = "scaled" === e.xtype ? "" : r, + R = p(e, I, d, g, O, w), + B = "scaled" === e.ytype ? "" : m, + F = p(e, B, v, y, x.length, k); + T || (a.expand(w, R), a.expand(k, F)); + var N = { x: R, y: F, z: x, text: e._text || e.text }; + if ( + (I && I.length === R.length - 1 && (N.xCenter = I), + B && B.length === F.length - 1 && (N.yCenter = B), + A && ((N.xRanges = _.xRanges), (N.yRanges = _.yRanges), (N.pts = _.pts)), + (M && "constraint" === e.contours.type) || s(e, x, "", "z"), + M && e.contours && "heatmap" === e.contours.coloring) + ) { + var j = { + type: "contour" === e.type ? "heatmap" : "histogram2d", + xcalendar: e.xcalendar, + ycalendar: e.ycalendar, + }; + ((N.xfill = p(j, I, d, g, O, w)), (N.yfill = p(j, B, v, y, x.length, k))); + } + return [N]; + }; + }, + { + "../../components/colorscale/calc": 481, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../../registry": 732, + "../histogram2d/calc": 867, + "./clean_2d_array": 837, + "./convert_column_xyz": 839, + "./find_empties": 841, + "./interp2d": 844, + "./make_bound_array": 845, + "./max_row_length": 846, + }, + ], + 837: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"); + e.exports = function (t, e) { + var r, i, a, o, s, l; + function c(t) { + if (n(t)) return +t; + } + if (e) { + for (r = 0, s = 0; s < t.length; s++) r = Math.max(r, t[s].length); + if (0 === r) return !1; + ((a = function (t) { + return t.length; + }), + (o = function (t, e, r) { + return t[r][e]; + })); + } else + ((r = t.length), + (a = function (t, e) { + return t[e].length; + }), + (o = function (t, e, r) { + return t[e][r]; + })); + var u = new Array(r); + for (s = 0; s < r; s++) + for (i = a(t, s), u[s] = new Array(i), l = 0; l < i; l++) + u[s][l] = c(o(t, s, l)); + return u; + }; + }, + { "fast-isnumeric": 196 }, + ], + 838: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../components/colorscale"), + s = t("../../components/colorbar/draw"); + e.exports = function (t, e) { + var r = e[0].trace, + l = "cb" + r.uid, + c = r.zmin, + u = r.zmax; + if ( + (n(c) || (c = i.aggNums(Math.min, null, r.z)), + n(u) || (u = i.aggNums(Math.max, null, r.z)), + t._fullLayout._infolayer.selectAll("." + l).remove(), + r.showscale) + ) { + var f = (e[0].t.cb = s(t, l)), + h = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { + noNumericCheck: !0, + }); + f + .fillcolor(h) + .filllevels({ start: c, end: u, size: (u - c) / 254 }) + .options(r.colorbar)(); + } else a.autoMargin(t, l); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../components/colorscale": 489, + "../../lib": 602, + "../../plots/plots": 710, + "fast-isnumeric": 196, + }, + ], + 839: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../constants/numerical").BADNUM; + e.exports = function (t, e, r, a, o, s) { + var l, + c, + u, + f = t._length, + h = t[a].slice(0, f), + p = t[o].slice(0, f), + d = t.text, + g = void 0 !== d && n.isArray1D(d), + m = t[a + "calendar"], + v = t[o + "calendar"]; + for (l = 0; l < f; l++) + ((h[l] = e.d2c(h[l], 0, m)), (p[l] = r.d2c(p[l], 0, v))); + var y, + x, + b, + _ = n.distinctVals(h), + w = _.vals, + k = n.distinctVals(p), + M = k.vals, + A = []; + for (l = 0; l < s.length; l++) A[l] = n.init2dArray(M.length, w.length); + for (g && (b = n.init2dArray(M.length, w.length)), l = 0; l < f; l++) + if (h[l] !== i && p[l] !== i) { + for ( + y = n.findBin(h[l] + _.minDiff / 2, w), + x = n.findBin(p[l] + k.minDiff / 2, M), + c = 0; + c < s.length; + c++ + ) + ((u = t[s[c]]), (A[c][x][y] = u[l])); + g && (b[x][y] = d[l]); + } + for (t["_" + a] = w, t["_" + o] = M, c = 0; c < s.length; c++) + t["_" + s[c]] = A[c]; + g && (t._text = b); + }; + }, + { "../../constants/numerical": 579, "../../lib": 602 }, + ], + 840: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./xyz_defaults"), + a = t("./style_defaults"), + o = t("../../components/colorscale/defaults"), + s = t("./attributes"); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + i(t, e, c, l) + ? (c("text"), + a(t, e, c, l), + c("connectgaps", n.isArray1D(e.z) && !1 !== e.zsmooth), + o(t, e, l, c, { prefix: "", cLetter: "z" })) + : (e.visible = !1); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../lib": 602, + "./attributes": 835, + "./style_defaults": 849, + "./xyz_defaults": 850, + }, + ], + 841: [ + function (t, e, r) { + "use strict"; + var n = t("./max_row_length"); + e.exports = function (t) { + var e, + r, + i, + a, + o, + s, + l, + c, + u = [], + f = {}, + h = [], + p = t[0], + d = [], + g = [0, 0, 0], + m = n(t); + for (r = 0; r < t.length; r++) + for (e = d, d = p, p = t[r + 1] || [], i = 0; i < m; i++) + void 0 === d[i] && + ((s = + (void 0 !== d[i - 1] ? 1 : 0) + + (void 0 !== d[i + 1] ? 1 : 0) + + (void 0 !== e[i] ? 1 : 0) + + (void 0 !== p[i] ? 1 : 0)) + ? (0 === r && s++, + 0 === i && s++, + r === t.length - 1 && s++, + i === d.length - 1 && s++, + s < 4 && (f[[r, i]] = [r, i, s]), + u.push([r, i, s])) + : h.push([r, i])); + for (; h.length; ) { + for (l = {}, c = !1, o = h.length - 1; o >= 0; o--) + (s = + ((f[[(r = (a = h[o])[0]) - 1, (i = a[1])]] || g)[2] + + (f[[r + 1, i]] || g)[2] + + (f[[r, i - 1]] || g)[2] + + (f[[r, i + 1]] || g)[2]) / + 20) && ((l[a] = [r, i, s]), h.splice(o, 1), (c = !0)); + if (!c) throw "findEmpties iterated with no new neighbors"; + for (a in l) ((f[a] = l[a]), u.push(l[a])); + } + return u.sort(function (t, e) { + return e[2] - t[2]; + }); + }; + }, + { "./max_row_length": 846 }, + ], + 842: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/fx"), + i = t("../../lib"), + a = t("../../plots/cartesian/axes"); + e.exports = function (t, e, r, o, s, l) { + var c, + u, + f, + h, + p = t.cd[0], + d = p.trace, + g = t.xa, + m = t.ya, + v = p.x, + y = p.y, + x = p.z, + b = p.xCenter, + _ = p.yCenter, + w = p.zmask, + k = [d.zmin, d.zmax], + M = d.zhoverformat, + A = v, + T = y; + if (!1 !== t.index) { + try { + ((f = Math.round(t.index[1])), (h = Math.round(t.index[0]))); + } catch (e) { + return void i.error( + "Error hovering on heatmap, pointNumber must be [row,col], found:", + t.index, + ); + } + if (f < 0 || f >= x[0].length || h < 0 || h > x.length) return; + } else { + if ( + n.inbox(e - v[0], e - v[v.length - 1], 0) > 0 || + n.inbox(r - y[0], r - y[y.length - 1], 0) > 0 + ) + return; + if (l) { + var S; + for (A = [2 * v[0] - v[1]], S = 1; S < v.length; S++) + A.push((v[S] + v[S - 1]) / 2); + for ( + A.push([2 * v[v.length - 1] - v[v.length - 2]]), + T = [2 * y[0] - y[1]], + S = 1; + S < y.length; + S++ + ) + T.push((y[S] + y[S - 1]) / 2); + T.push([2 * y[y.length - 1] - y[y.length - 2]]); + } + ((f = Math.max(0, Math.min(A.length - 2, i.findBin(e, A)))), + (h = Math.max(0, Math.min(T.length - 2, i.findBin(r, T))))); + } + var C = g.c2p(v[f]), + E = g.c2p(v[f + 1]), + L = m.c2p(y[h]), + z = m.c2p(y[h + 1]); + l + ? ((E = C), (c = v[f]), (z = L), (u = y[h])) + : ((c = b ? b[f] : (v[f] + v[f + 1]) / 2), + (u = _ ? _[h] : (y[h] + y[h + 1]) / 2), + d.zsmooth && ((C = E = g.c2p(c)), (L = z = m.c2p(u)))); + var P, + D, + O = x[h][f]; + (w && !w[h][f] && (O = void 0), + Array.isArray(p.text) && Array.isArray(p.text[h]) && (P = p.text[h][f])); + var I = { + type: "linear", + range: k, + hoverformat: M, + _separators: g._separators, + _numFormat: g._numFormat, + }; + return ( + (D = a.tickText(I, O, "hover").text), + [ + i.extendFlat(t, { + index: [h, f], + distance: t.maxHoverDistance, + spikeDistance: t.maxSpikeDistance, + x0: C, + x1: E, + y0: L, + y1: z, + xLabelVal: c, + yLabelVal: u, + zLabelVal: O, + zLabel: D, + text: P, + }), + ] + ); + }; + }, + { + "../../components/fx": 516, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + }, + ], + 843: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.colorbar = t("./colorbar")), + (n.style = t("./style")), + (n.hoverPoints = t("./hover")), + (n.moduleType = "trace"), + (n.name = "heatmap"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = ["cartesian", "svg", "2dMap"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "./attributes": 835, + "./calc": 836, + "./colorbar": 838, + "./defaults": 840, + "./hover": 842, + "./plot": 847, + "./style": 848, + }, + ], + 844: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = [ + [-1, 0], + [1, 0], + [0, -1], + [0, 1], + ]; + function a(t) { + return 0.5 - 0.25 * Math.min(1, 0.5 * t); + } + function o(t, e, r) { + var n, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v = 0; + for (s = 0; s < e.length; s++) { + for ( + a = (n = e[s])[0], o = n[1], d = t[a][o], p = 0, h = 0, l = 0; + l < 4; + l++ + ) + (u = t[a + (c = i[l])[0]]) && + void 0 !== (f = u[o + c[1]]) && + (0 === p ? (g = m = f) : ((g = Math.min(g, f)), (m = Math.max(m, f))), + h++, + (p += f)); + if (0 === h) throw "iterateInterp2d order is wrong: no defined neighbors"; + ((t[a][o] = p / h), + void 0 === d + ? h < 4 && (v = 1) + : ((t[a][o] = (1 + r) * t[a][o] - r * d), + m > g && (v = Math.max(v, Math.abs(t[a][o] - d) / (m - g))))); + } + return v; + } + e.exports = function (t, e, r) { + var i, + s, + l = 1; + if (Array.isArray(r)) + for (i = 0; i < e.length; i++) t[(s = e[i])[0]][s[1]] = r[s[0]][s[1]]; + else o(t, e); + for (i = 0; i < e.length && !(e[i][2] < 4); i++); + for (e = e.slice(i), i = 0; i < 100 && l > 0.01; i++) l = o(t, e, a(l)); + return (l > 0.01 && n.log("interp2d didn't converge quickly", l), t); + }; + }, + { "../../lib": 602 }, + ], + 845: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib").isArrayOrTypedArray; + e.exports = function (t, e, r, a, o, s) { + var l, + c, + u, + f = [], + h = n.traceIs(t, "contour"), + p = n.traceIs(t, "histogram"), + d = n.traceIs(t, "gl2d"); + if (i(e) && e.length > 1 && !p && "category" !== s.type) { + var g = e.length; + if (!(g <= o)) return h ? e.slice(0, o) : e.slice(0, o + 1); + if (h || d) f = e.slice(0, o); + else if (1 === o) f = [e[0] - 0.5, e[0] + 0.5]; + else { + for (f = [1.5 * e[0] - 0.5 * e[1]], u = 1; u < g; u++) + f.push(0.5 * (e[u - 1] + e[u])); + f.push(1.5 * e[g - 1] - 0.5 * e[g - 2]); + } + if (g < o) { + var m = f[f.length - 1], + v = m - f[f.length - 2]; + for (u = g; u < o; u++) ((m += v), f.push(m)); + } + } else { + c = a || 1; + var y = t[s._id.charAt(0) + "calendar"]; + for ( + l = + p || "category" === s.type + ? s.r2c(r, 0, y) || 0 + : i(e) && 1 === e.length + ? e[0] + : void 0 === r + ? 0 + : s.d2c(r, 0, y), + u = h || d ? 0 : -0.5; + u < o; + u++ + ) + f.push(l + c * u); + } + return f; + }; + }, + { "../../lib": 602, "../../registry": 732 }, + ], + 846: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = 0, r = 0; r < t.length; r++) e = Math.max(e, t[r].length); + return e; + }; + }, + {}, + ], + 847: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("tinycolor2"), + a = t("../../registry"), + o = t("../../lib"), + s = t("../../components/colorscale"), + l = t("../../constants/xmlns_namespaces"), + c = t("../../plots/get_data").getUidsFromCalcData, + u = t("./max_row_length"); + function f(t, e, r, n) { + var c, + f, + g, + m, + v, + y, + x = r[0], + b = x.trace, + _ = e.xaxis, + w = e.yaxis, + k = "hm" + b.uid, + M = x.z, + A = x.x, + T = x.y, + S = x.xCenter, + C = x.yCenter, + E = a.traceIs(b, "contour"), + L = E ? "best" : b.zsmooth, + z = M.length, + P = u(M), + D = !1, + O = !1; + for (y = 0; void 0 === c && y < A.length - 1; ) ((c = _.c2p(A[y])), y++); + for (y = A.length - 1; void 0 === f && y > 0; ) ((f = _.c2p(A[y])), y--); + for ( + f < c && ((g = f), (f = c), (c = g), (D = !0)), y = 0; + void 0 === m && y < T.length - 1; + + ) + ((m = w.c2p(T[y])), y++); + for (y = T.length - 1; void 0 === v && y > 0; ) ((v = w.c2p(T[y])), y--); + if ( + (v < m && ((g = m), (m = v), (v = g), (O = !0)), + E && ((S = A), (C = T), (A = x.xfill), (T = x.yfill)), + "fast" !== L) + ) { + var I = "best" === L ? 0 : 0.5; + ((c = Math.max(-I * _._length, c)), + (f = Math.min((1 + I) * _._length, f)), + (m = Math.max(-I * w._length, m)), + (v = Math.min((1 + I) * w._length, v))); + } + var R = Math.round(f - c), + B = Math.round(v - m), + F = R <= 0 || B <= 0, + N = n.selectAll("g.hm." + k).data(F ? [] : [0]); + if ( + (N.enter().append("g").classed("hm", !0).classed(k, !0), + N.exit().remove(), + !F) + ) { + var j, V; + "fast" === L ? ((j = P), (V = z)) : ((j = R), (V = B)); + var U = document.createElement("canvas"); + ((U.width = j), (U.height = V)); + var q, + H, + G = U.getContext("2d"), + W = s.makeColorScaleFunc(s.extractScale(b.colorscale, b.zmin, b.zmax), { + noNumericCheck: !0, + returnArray: !0, + }); + "fast" === L + ? ((q = D + ? function (t) { + return P - 1 - t; + } + : o.identity), + (H = O + ? function (t) { + return z - 1 - t; + } + : o.identity)) + : ((q = function (t) { + return o.constrain(Math.round(_.c2p(A[t]) - c), 0, R); + }), + (H = function (t) { + return o.constrain(Math.round(w.c2p(T[t]) - m), 0, B); + })); + var Y, + X, + Z, + J, + K, + Q = H(0), + $ = [Q, Q], + tt = D ? 0 : 1, + et = O ? 0 : 1, + rt = 0, + nt = 0, + it = 0, + at = 0; + if (L) { + var ot, + st = 0; + try { + ot = new Uint8Array(R * B * 4); + } catch (t) { + ot = new Array(R * B * 4); + } + if ("best" === L) { + var lt, + ct, + ut, + ft = S || A, + ht = C || T, + pt = new Array(ft.length), + dt = new Array(ht.length), + gt = new Array(R), + mt = S ? p : h, + vt = C ? p : h; + for (y = 0; y < ft.length; y++) pt[y] = Math.round(_.c2p(ft[y]) - c); + for (y = 0; y < ht.length; y++) dt[y] = Math.round(w.c2p(ht[y]) - m); + for (y = 0; y < R; y++) gt[y] = mt(y, pt); + for (X = 0; X < B; X++) + for ( + ct = M[(lt = vt(X, dt)).bin0], ut = M[lt.bin1], y = 0; + y < R; + y++, st += 4 + ) + d(ot, st, (K = Ct(ct, ut, gt[y], lt))); + } else + for (X = 0; X < z; X++) + for (J = M[X], $ = H(X), y = 0; y < R; y++) + ((K = St(J[y], 1)), d(ot, (st = 4 * ($ * R + q(y))), K)); + var yt = G.createImageData(R, B); + try { + yt.data.set(ot); + } catch (t) { + var xt = yt.data, + bt = xt.length; + for (X = 0; X < bt; X++) xt[X] = ot[X]; + } + G.putImageData(yt, 0, 0); + } else { + var _t = b.xgap, + wt = b.ygap, + kt = Math.floor(_t / 2), + Mt = Math.floor(wt / 2); + for (X = 0; X < z; X++) + if ( + ((J = M[X]), + $.reverse(), + ($[et] = H(X + 1)), + $[0] !== $[1] && void 0 !== $[0] && void 0 !== $[1]) + ) + for (Y = [(Z = q(0)), Z], y = 0; y < P; y++) + (Y.reverse(), + (Y[tt] = q(y + 1)), + Y[0] !== Y[1] && + void 0 !== Y[0] && + void 0 !== Y[1] && + ((K = St(J[y], (Y[1] - Y[0]) * ($[1] - $[0]))), + (G.fillStyle = "rgba(" + K.join(",") + ")"), + G.fillRect( + Y[0] + kt, + $[0] + Mt, + Y[1] - Y[0] - _t, + $[1] - $[0] - wt, + ))); + } + ((nt = Math.round(nt / rt)), + (it = Math.round(it / rt)), + (at = Math.round(at / rt))); + var At = i("rgb(" + nt + "," + it + "," + at + ")"); + ((t._hmpixcount = (t._hmpixcount || 0) + rt), + (t._hmlumcount = (t._hmlumcount || 0) + rt * At.getLuminance())); + var Tt = N.selectAll("image").data(r); + (Tt.enter() + .append("svg:image") + .attr({ xmlns: l.svg, preserveAspectRatio: "none" }), + Tt.attr({ + height: B, + width: R, + x: c, + y: m, + "xlink:href": U.toDataURL("image/png"), + }), + Tt.exit().remove()); + } + function St(t, e) { + if (void 0 !== t) { + var r = W(t); + return ( + (r[0] = Math.round(r[0])), + (r[1] = Math.round(r[1])), + (r[2] = Math.round(r[2])), + (rt += e), + (nt += r[0] * e), + (it += r[1] * e), + (at += r[2] * e), + r + ); + } + return [0, 0, 0, 0]; + } + function Ct(t, e, r, n) { + var i = t[r.bin0]; + if (void 0 === i) return St(void 0, 1); + var a, + o = t[r.bin1], + s = e[r.bin0], + l = e[r.bin1], + c = o - i || 0, + u = s - i || 0; + return ( + (a = + void 0 === o + ? void 0 === l + ? 0 + : void 0 === s + ? 2 * (l - i) + : (2 * (2 * l - s - i)) / 3 + : void 0 === l + ? void 0 === s + ? 0 + : (2 * (2 * i - o - s)) / 3 + : void 0 === s + ? (2 * (2 * l - o - i)) / 3 + : l + i - o - s), + St(i + r.frac * c + n.frac * (u + r.frac * a)) + ); + } + } + function h(t, e) { + var r = e.length - 2, + n = o.constrain(o.findBin(t, e), 0, r), + i = e[n], + a = e[n + 1], + s = o.constrain(n + (t - i) / (a - i) - 0.5, 0, r), + l = Math.round(s), + c = Math.abs(s - l); + return s && s !== r && c + ? { bin0: l, frac: c, bin1: Math.round(l + c / (s - l)) } + : { bin0: l, bin1: l, frac: 0 }; + } + function p(t, e) { + var r = e.length - 1, + n = o.constrain(o.findBin(t, e), 0, r), + i = e[n], + a = (t - i) / (e[n + 1] - i) || 0; + return a <= 0 + ? { bin0: n, bin1: n, frac: 0 } + : a < 0.5 + ? { bin0: n, bin1: n + 1, frac: a } + : { bin0: n + 1, bin1: n, frac: 1 - a }; + } + function d(t, e, r) { + ((t[e] = r[0]), + (t[e + 1] = r[1]), + (t[e + 2] = r[2]), + (t[e + 3] = Math.round(255 * r[3]))); + } + e.exports = function (t, e, r, i) { + var a = c(r); + i.selectAll(".hm > image").each(function (t) { + var e = t.trace || {}; + a[e.uid] || n.select(this.parentNode).remove(); + }); + for (var o = 0; o < r.length; o++) f(t, e, r[o], i); + }; + }, + { + "../../components/colorscale": 489, + "../../constants/xmlns_namespaces": 581, + "../../lib": 602, + "../../plots/get_data": 684, + "../../registry": 732, + "./max_row_length": 846, + d3: 130, + tinycolor2: 415, + }, + ], + 848: [ + function (t, e, r) { + "use strict"; + var n = t("d3"); + e.exports = function (t) { + n.select(t) + .selectAll(".hm image") + .style("opacity", function (t) { + return t.trace.opacity; + }); + }; + }, + { d3: 130 }, + ], + 849: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + (!1 === r("zsmooth") && (r("xgap"), r("ygap")), r("zhoverformat")); + }; + }, + {}, + ], + 850: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../registry"); + function o(t, e) { + var r = e(t); + return ( + "scaled" === (r ? e(t + "type", "array") : "scaled") && + (e(t + "0"), e("d" + t)), + r + ); + } + e.exports = function (t, e, r, s, l, c) { + var u, + f, + h = r("z"); + if (((l = l || "x"), (c = c || "y"), void 0 === h || !h.length)) return 0; + if (i.isArray1D(t.z)) { + if (((u = r(l)), (f = r(c)), !(u && u.length && f && f.length))) return 0; + e._length = Math.min(u.length, f.length, h.length); + } else { + if ( + ((u = o(l, r)), + (f = o(c, r)), + !(function (t) { + for (var e, r = !0, a = !1, o = !1, s = 0; s < t.length; s++) { + if (((e = t[s]), !i.isArrayOrTypedArray(e))) { + r = !1; + break; + } + e.length > 0 && (a = !0); + for (var l = 0; l < e.length; l++) + if (n(e[l])) { + o = !0; + break; + } + } + return r && a && o; + })(h)) + ) + return 0; + (r("transpose"), (e._length = null)); + } + return ( + a.getComponentMethod("calendars", "handleTraceDefaults")(t, e, [l, c], s), + !0 + ); + }; + }, + { "../../lib": 602, "../../registry": 732, "fast-isnumeric": 196 }, + ], + 851: [ + function (t, e, r) { + "use strict"; + for ( + var n = t("../heatmap/attributes"), + i = t("../../components/colorscale/attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../../lib/extend").extendFlat, + s = t("../../plot_api/edit_types").overrideAll, + l = [ + "z", + "x", + "x0", + "dx", + "y", + "y0", + "dy", + "text", + "transpose", + "xtype", + "ytype", + ], + c = {}, + u = 0; + u < l.length; + u++ + ) { + var f = l[u]; + c[f] = n[f]; + } + (o( + c, + i, + { autocolorscale: o({}, i.autocolorscale, { dflt: !1 }) }, + { colorbar: a }, + ), + (e.exports = s(c, "calc", "nested"))); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../heatmap/attributes": 835, + }, + ], + 852: [ + function (t, e, r) { + "use strict"; + var n = t("gl-heatmap2d"), + i = t("../../plots/cartesian/axes"), + a = t("../../lib/str2rgbarray"); + function o(t, e) { + ((this.scene = t), + (this.uid = e), + (this.type = "heatmapgl"), + (this.name = ""), + (this.hoverinfo = "all"), + (this.xData = []), + (this.yData = []), + (this.zData = []), + (this.textLabels = []), + (this.idToIndex = []), + (this.bounds = [0, 0, 0, 0]), + (this.options = { + z: [], + x: [], + y: [], + shape: [0, 0], + colorLevels: [0], + colorValues: [0, 0, 0, 1], + }), + (this.heatmap = n(t.glplot, this.options)), + (this.heatmap._trace = this)); + } + var s = o.prototype; + ((s.handlePick = function (t) { + var e = this.options, + r = e.shape, + n = t.pointId, + i = n % r[0], + a = Math.floor(n / r[0]), + o = n; + return { + trace: this, + dataCoord: t.dataCoord, + traceCoord: [e.x[i], e.y[a], e.z[o]], + textLabel: this.textLabels[n], + name: this.name, + pointIndex: [a, i], + hoverinfo: this.hoverinfo, + }; + }), + (s.update = function (t, e) { + var r = e[0]; + ((this.index = t.index), + (this.name = t.name), + (this.hoverinfo = t.hoverinfo)); + var n = r.z; + this.options.z = [].concat.apply([], n); + var o = n[0].length, + s = n.length; + ((this.options.shape = [o, s]), + (this.options.x = r.x), + (this.options.y = r.y)); + var l = (function (t) { + for ( + var e = t.colorscale, + r = t.zmin, + n = t.zmax, + i = e.length, + o = new Array(i), + s = new Array(4 * i), + l = 0; + l < i; + l++ + ) { + var c = e[l], + u = a(c[1]); + o[l] = r + c[0] * (n - r); + for (var f = 0; f < 4; f++) s[4 * l + f] = u[f]; + } + return { colorLevels: o, colorValues: s }; + })(t); + ((this.options.colorLevels = l.colorLevels), + (this.options.colorValues = l.colorValues), + (this.textLabels = [].concat.apply([], t.text)), + this.heatmap.update(this.options), + i.expand(this.scene.xaxis, r.x), + i.expand(this.scene.yaxis, r.y)); + }), + (s.dispose = function () { + this.heatmap.dispose(); + }), + (e.exports = function (t, e, r) { + var n = new o(t, e.uid); + return (n.update(e, r), n); + })); + }, + { + "../../lib/str2rgbarray": 625, + "../../plots/cartesian/axes": 648, + "gl-heatmap2d": 217, + }, + ], + 853: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("../heatmap/defaults")), + (n.colorbar = t("../heatmap/colorbar")), + (n.calc = t("../heatmap/calc")), + (n.plot = t("./convert")), + (n.moduleType = "trace"), + (n.name = "heatmapgl"), + (n.basePlotModule = t("../../plots/gl2d")), + (n.categories = ["gl", "gl2d", "2dMap"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/gl2d": 687, + "../heatmap/calc": 836, + "../heatmap/colorbar": 838, + "../heatmap/defaults": 840, + "./attributes": 851, + "./convert": 852, + }, + ], + 854: [ + function (t, e, r) { + "use strict"; + var n = t("../bar/attributes"); + function i(t) { + var e = {}; + e["autobin" + t] = !1; + var r = {}; + return ( + (r["^autobin" + t] = !1), + { + start: { + valType: "any", + dflt: null, + editType: "calc", + impliedEdits: r, + }, + end: { valType: "any", dflt: null, editType: "calc", impliedEdits: r }, + size: { valType: "any", dflt: null, editType: "calc", impliedEdits: r }, + editType: "calc", + impliedEdits: e, + } + ); + } + e.exports = { + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + y: { valType: "data_array", editType: "calc+clearAxisTypes" }, + text: n.text, + orientation: n.orientation, + histfunc: { + valType: "enumerated", + values: ["count", "sum", "avg", "min", "max"], + dflt: "count", + editType: "calc", + }, + histnorm: { + valType: "enumerated", + values: ["", "percent", "probability", "density", "probability density"], + dflt: "", + editType: "calc", + }, + cumulative: { + enabled: { valType: "boolean", dflt: !1, editType: "calc" }, + direction: { + valType: "enumerated", + values: ["increasing", "decreasing"], + dflt: "increasing", + editType: "calc", + }, + currentbin: { + valType: "enumerated", + values: ["include", "exclude", "half"], + dflt: "include", + editType: "calc", + }, + editType: "calc", + }, + autobinx: { + valType: "boolean", + dflt: null, + editType: "calc", + impliedEdits: { + "xbins.start": void 0, + "xbins.end": void 0, + "xbins.size": void 0, + }, + }, + nbinsx: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, + xbins: i("x"), + autobiny: { + valType: "boolean", + dflt: null, + editType: "calc", + impliedEdits: { + "ybins.start": void 0, + "ybins.end": void 0, + "ybins.size": void 0, + }, + }, + nbinsy: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, + ybins: i("y"), + marker: n.marker, + selected: n.selected, + unselected: n.unselected, + _deprecated: { bardir: n._deprecated.bardir }, + }; + }, + { "../bar/attributes": 742 }, + ], + 855: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + for (var r = t.length, n = 0, i = 0; i < r; i++) + e[i] ? ((t[i] /= e[i]), (n += t[i])) : (t[i] = null); + return n; + }; + }, + {}, + ], + 856: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n) { + return ( + r("histnorm"), + n.forEach(function (t) { + (r(t + "bins.start"), + r(t + "bins.end"), + r(t + "bins.size"), + !1 !== r("autobin" + t) && r("nbins" + t)); + }), + e + ); + }; + }, + {}, + ], + 857: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"); + e.exports = { + count: function (t, e, r) { + return (r[t]++, 1); + }, + sum: function (t, e, r, i) { + var a = i[e]; + return n(a) ? ((a = Number(a)), (r[t] += a), a) : 0; + }, + avg: function (t, e, r, i, a) { + var o = i[e]; + return (n(o) && ((o = Number(o)), (r[t] += o), a[t]++), 0); + }, + min: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return ((r[t] = a), a); + if (r[t] > a) { + var o = a - r[t]; + return ((r[t] = a), o); + } + } + return 0; + }, + max: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return ((r[t] = a), a); + if (r[t] < a) { + var o = a - r[t]; + return ((r[t] = a), o); + } + } + return 0; + }, + }; + }, + { "fast-isnumeric": 196 }, + ], + 858: [ + function (t, e, r) { + "use strict"; + var n = t("../../constants/numerical"), + i = n.ONEAVGYEAR, + a = n.ONEAVGMONTH, + o = n.ONEDAY, + s = n.ONEHOUR, + l = n.ONEMIN, + c = n.ONESEC, + u = t("../../plots/cartesian/axes").tickIncrement; + function f(t, e, r, n) { + if (t * e <= 0) return 1 / 0; + for ( + var i = Math.abs(e - t), a = "date" === r.type, o = h(i, a), s = 0; + s < 10; + s++ + ) { + var l = h(80 * o, a); + if (o === l) break; + if (!p(l, t, e, a, r, n)) break; + o = l; + } + return o; + } + function h(t, e) { + return e && t > c + ? t > o + ? t > 1.1 * i + ? i + : t > 1.1 * a + ? a + : o + : t > s + ? s + : t > l + ? l + : c + : Math.pow(10, Math.floor(Math.log(t) / Math.LN10)); + } + function p(t, e, r, n, a, s) { + if (n && t > o) { + var l = d(e, a, s), + c = d(r, a, s), + u = t === i ? 0 : 1; + return l[u] !== c[u]; + } + return Math.floor(r / t) - Math.floor(e / t) > 0.1; + } + function d(t, e, r) { + var n = e.c2d(t, i, r).split("-"); + return ("" === n[0] && (n.unshift(), (n[0] = "-" + n[0])), n); + } + e.exports = function (t, e, r, n, a) { + var s, + l, + c = -1.1 * e, + h = -0.1 * e, + p = t - h, + d = r[0], + g = r[1], + m = Math.min(f(d + h, d + p, n, a), f(g + h, g + p, n, a)), + v = Math.min(f(d + c, d + h, n, a), f(g + c, g + h, n, a)); + if ( + (m > v && v < Math.abs(g - d) / 4e3 + ? ((s = m), (l = !1)) + : ((s = Math.min(m, v)), (l = !0)), + "date" === n.type && s > o) + ) { + var y = s === i ? 1 : 6, + x = s === i ? "M12" : "M1"; + return function (e, r) { + var o = n.c2d(e, i, a), + s = o.indexOf("-", y); + s > 0 && (o = o.substr(0, s)); + var c = n.d2c(o, 0, a); + if (c < e) { + var f = u(c, x, !1, a); + (c + f) / 2 < e + t && (c = f); + } + return r && l ? u(c, x, !0, a) : c; + }; + } + return function (e, r) { + var n = s * Math.round(e / s); + return ( + n + s / 10 < e && n + 0.9 * s < e + t && (n += s), + r && l && (n -= s), + n + ); + }; + }; + }, + { "../../constants/numerical": 579, "../../plots/cartesian/axes": 648 }, + ], + 859: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/cartesian/axes"), + o = t("../bar/arrays_to_calcdata"), + s = t("./bin_functions"), + l = t("./norm_functions"), + c = t("./average"), + u = t("./clean_bins"), + f = t("../../constants/numerical").ONEAVGMONTH, + h = t("./bin_label_vals"); + function p(t, e, r, i, o) { + var s, + l, + c, + u, + f, + h = i + "bins", + p = "overlay" === t._fullLayout.barmode; + if (e._autoBinFinished) delete e._autoBinFinished; + else { + var v = p ? [e] : g(t, e), + y = [], + x = 1 / 0, + b = 1 / 0, + _ = -1 / 0, + w = "autobin" + i; + for (s = 0; s < v.length; s++) { + f = (l = v[s])._pos0 = r.makeCalcdata(l, i); + var k = l[h]; + if (l[w] || !k || null === k.start || null === k.end) { + c = l[i + "calendar"]; + var M = l.cumulative; + if ( + ((k = a.autoBin(f, r, l["nbins" + i], !1, c)), + p && 0 === k._dataSpan && "category" !== r.type) + ) { + if (o) return [k, f, !0]; + k = d(t, e, r, i, h); + } + (M.enabled && + "include" !== M.currentbin && + ("decreasing" === M.direction + ? (b = Math.min(b, r.r2c(k.start, 0, c) - k.size)) + : (_ = Math.max(_, r.r2c(k.end, 0, c) + k.size))), + y.push(l)); + } else + u || + (u = { + size: k.size, + start: r.r2c(k.start, 0, c), + end: r.r2c(k.end, 0, c), + }); + ((x = m(x, k.size)), + (b = Math.min(b, r.r2c(k.start, 0, c))), + (_ = Math.max(_, r.r2c(k.end, 0, c))), + s && (l._autoBinFinished = 1)); + } + if (u && n(u.size) && n(x)) { + x = x > u.size / 1.9 ? u.size : u.size / Math.ceil(u.size / x); + var A = u.start + (u.size - x) / 2; + b = A - x * Math.ceil((A - b) / x); + } + for (s = 0; s < y.length; s++) + ((c = (l = y[s])[i + "calendar"]), + (l._input[h] = l[h] = + { start: r.c2r(b, 0, c), end: r.c2r(_, 0, c), size: x }), + (l._input[w] = l[w])); + } + return ((f = e._pos0), delete e._pos0, [e[h], f]); + } + function d(t, e, r, n, a) { + var o, + s, + l = g(t, e), + c = !1, + u = 1 / 0, + f = [e]; + for (o = 0; o < l.length; o++) + if ((s = l[o]) === e) c = !0; + else if (c) { + var h = p(t, s, r, n, !0), + d = h[0], + m = h[2]; + ((s._autoBinFinished = 1), + (s._pos0 = h[1]), + m ? f.push(s) : (u = Math.min(u, d.size))); + } else u = Math.min(u, s[a].size); + var v = new Array(f.length); + for (o = 0; o < f.length; o++) + for (var y = f[o]._pos0, x = 0; x < y.length; x++) + if (void 0 !== y[x]) { + v[o] = y[x]; + break; + } + for ( + isFinite(u) || (u = i.distinctVals(v).minDiff), o = 0; + o < f.length; + o++ + ) { + var b = (s = f[o])[n + "calendar"]; + s._input[a] = s[a] = { + start: r.c2r(v[o] - u / 2, 0, b), + end: r.c2r(v[o] + u / 2, 0, b), + size: u, + }; + } + return e[a]; + } + function g(t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + i = e.orientation, + a = [], + o = t._fullData, + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + "histogram" === l.type && + l.orientation === i && + l.xaxis === r && + l.yaxis === n && + a.push(l); + } + return a; + } + function m(t, e) { + if (t === 1 / 0) return e; + var r = v(t); + return v(e) < r ? e : t; + } + function v(t) { + return n(t) + ? t + : "string" == typeof t && "M" === t.charAt(0) + ? f * +t.substr(1) + : 1 / 0; + } + e.exports = function (t, e) { + if (!0 === e.visible) { + var r, + f = [], + d = [], + g = a.getFromId( + t, + "h" === e.orientation ? e.yaxis || "y" : e.xaxis || "x", + ), + m = "h" === e.orientation ? "y" : "x", + v = { x: "y", y: "x" }[m], + y = e[m + "calendar"], + x = e.cumulative; + u(e, g, m); + var b, + _, + w, + k = p(t, e, g, m), + M = k[0], + A = k[1], + T = "string" == typeof M.size, + S = [], + C = T ? S : M, + E = [], + L = [], + z = [], + P = 0, + D = e.histnorm, + O = e.histfunc, + I = -1 !== D.indexOf("density"); + x.enabled && I && ((D = D.replace(/ ?density$/, "")), (I = !1)); + var R, + B = "max" === O || "min" === O ? null : 0, + F = s.count, + N = l[D], + j = !1, + V = function (t) { + return g.r2c(t, 0, y); + }; + for ( + i.isArrayOrTypedArray(e[v]) && + "count" !== O && + ((R = e[v]), (j = "avg" === O), (F = s[O])), + r = V(M.start), + _ = V(M.end) + (r - a.tickIncrement(r, M.size, !1, y)) / 1e6; + r < _ && + f.length < 1e6 && + ((b = a.tickIncrement(r, M.size, !1, y)), + f.push((r + b) / 2), + d.push(B), + z.push([]), + S.push(r), + I && E.push(1 / (b - r)), + j && L.push(0), + !(b <= r)); + + ) + r = b; + (S.push(r), + T || + "date" !== g.type || + (C = { start: V(C.start), end: V(C.end), size: C.size })); + var U, + q = d.length, + H = !0, + G = 1 / 0, + W = 1 / 0, + Y = {}; + for (r = 0; r < A.length; r++) { + var X = A[r]; + (w = i.findBin(X, C)) >= 0 && + w < q && + ((P += F(w, r, d, R, L)), + H && z[w].length && X !== A[z[w][0]] && (H = !1), + z[w].push(r), + (Y[r] = w), + (G = Math.min(G, X - S[w])), + (W = Math.min(W, S[w + 1] - X))); + } + (H || (U = h(G, W, S, g, y)), + j && (P = c(d, L)), + N && N(d, P, E), + x.enabled && + (function (t, e, r) { + var n, i, a; + function o(e) { + ((a = t[e]), (t[e] /= 2)); + } + function s(e) { + ((i = t[e]), (t[e] = a + i / 2), (a += i)); + } + if ("half" === r) + if ("increasing" === e) for (o(0), n = 1; n < t.length; n++) s(n); + else for (o(t.length - 1), n = t.length - 2; n >= 0; n--) s(n); + else if ("increasing" === e) { + for (n = 1; n < t.length; n++) t[n] += t[n - 1]; + "exclude" === r && (t.unshift(0), t.pop()); + } else { + for (n = t.length - 2; n >= 0; n--) t[n] += t[n + 1]; + "exclude" === r && (t.push(0), t.shift()); + } + })(d, x.direction, x.currentbin)); + var Z = Math.min(f.length, d.length), + J = [], + K = 0, + Q = Z - 1; + for (r = 0; r < Z; r++) + if (d[r]) { + K = r; + break; + } + for (r = Z - 1; r >= K; r--) + if (d[r]) { + Q = r; + break; + } + for (r = K; r <= Q; r++) + if (n(f[r]) && n(d[r])) { + var $ = { p: f[r], s: d[r], b: 0 }; + (x.enabled || + (($.pts = z[r]), + H + ? ($.p0 = $.p1 = z[r].length ? A[z[r][0]] : f[r]) + : (($.p0 = U(S[r])), ($.p1 = U(S[r + 1], !0)))), + J.push($)); + } + return ( + 1 === J.length && + (J[0].width1 = a.tickIncrement(J[0].p, M.size, !1, y) - J[0].p), + o(J, e), + i.isArrayOrTypedArray(e.selectedpoints) && i.tagSelected(J, e, Y), + J + ); + } + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../bar/arrays_to_calcdata": 741, + "./average": 855, + "./bin_functions": 857, + "./bin_label_vals": 858, + "./clean_bins": 860, + "./norm_functions": 865, + "fast-isnumeric": 196, + }, + ], + 860: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib").cleanDate, + a = t("../../constants/numerical"), + o = a.ONEDAY, + s = a.BADNUM; + e.exports = function (t, e, r) { + var a = e.type, + l = r + "bins", + c = t[l]; + c || (c = t[l] = {}); + var u = + "date" === a + ? function (t) { + return t || 0 === t ? i(t, s, c.calendar) : null; + } + : function (t) { + return n(t) ? Number(t) : null; + }; + ((c.start = u(c.start)), (c.end = u(c.end))); + var f = "date" === a ? o : 1, + h = c.size; + if (n(h)) c.size = h > 0 ? Number(h) : f; + else if ("string" != typeof h) c.size = f; + else { + var p = h.charAt(0), + d = h.substr(1); + ((d = n(d) ? Number(d) : 0) <= 0 || + "date" !== a || + "M" !== p || + d !== Math.round(d)) && + (c.size = f); + } + var g = "autobin" + r; + ("boolean" != typeof t[g] && + (t[g] = + t._fullInput[g] = + t._input[g] = + !((c.start || 0 === c.start) && (c.end || 0 === c.end))), + t[g] || (delete t["nbins" + r], delete t._fullInput["nbins" + r])); + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, + ], + 861: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../components/color"), + o = t("./bin_defaults"), + s = t("../bar/style_defaults"), + l = t("./attributes"); + e.exports = function (t, e, r, c) { + function u(r, n) { + return i.coerce(t, e, l, r, n); + } + var f = u("x"), + h = u("y"); + (u("cumulative.enabled") && + (u("cumulative.direction"), u("cumulative.currentbin")), + u("text")); + var p = u("orientation", h && !f ? "h" : "v"), + d = "v" === p ? "x" : "y", + g = "v" === p ? "y" : "x", + m = f && h ? Math.min(f.length && h.length) : (e[d] || []).length; + if (m) { + ((e._length = m), + n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y"], + c, + ), + e[g] && u("histfunc"), + o(t, e, u, [d]), + s(t, e, u, r, c)); + var v = n.getComponentMethod("errorbars", "supplyDefaults"); + (v(t, e, a.defaultLine, { axis: "y" }), + v(t, e, a.defaultLine, { axis: "x", inherit: "y" }), + i.coerceSelectionMarkerOpacity(e, u)); + } else e.visible = !1; + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../registry": 732, + "../bar/style_defaults": 754, + "./attributes": 854, + "./bin_defaults": 856, + }, + ], + 862: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i) { + if ( + ((t.x = "xVal" in e ? e.xVal : e.x), + (t.y = "yVal" in e ? e.yVal : e.y), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + !(r.cumulative || {}).enabled) + ) { + var a, + o = Array.isArray(i) ? n[0].pts[i[0]][i[1]] : n[i].pts; + if ( + ((t.pointNumbers = o), + (t.binNumber = t.pointNumber), + delete t.pointNumber, + delete t.pointIndex, + r._indexToPoints) + ) { + a = []; + for (var s = 0; s < o.length; s++) a = a.concat(r._indexToPoints[o[s]]); + } else a = o; + t.pointIndices = a; + } + return t; + }; + }, + {}, + ], + 863: [ + function (t, e, r) { + "use strict"; + var n = t("../bar/hover"), + i = t("../../plots/cartesian/axes").hoverLabelText; + e.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o) { + var s = (t = o[0]).cd[t.index], + l = t.cd[0].trace; + if (!l.cumulative.enabled) { + var c = "h" === l.orientation ? "y" : "x"; + t[c + "Label"] = i(t[c + "a"], s.p0, s.p1); + } + return o; + } + }; + }, + { "../../plots/cartesian/axes": 648, "../bar/hover": 745 }, + ], + 864: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.layoutAttributes = t("../bar/layout_attributes")), + (n.supplyDefaults = t("./defaults")), + (n.supplyLayoutDefaults = t("../bar/layout_defaults")), + (n.calc = t("./calc")), + (n.setPositions = t("../bar/set_positions")), + (n.plot = t("../bar/plot")), + (n.layerName = "barlayer"), + (n.style = t("../bar/style").style), + (n.styleOnSelect = t("../bar/style").styleOnSelect), + (n.colorbar = t("../scatter/colorbar")), + (n.hoverPoints = t("./hover")), + (n.selectPoints = t("../bar/select")), + (n.eventData = t("./event_data")), + (n.moduleType = "trace"), + (n.name = "histogram"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "bar", + "histogram", + "oriented", + "errorBarsOK", + "showLegend", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../bar/layout_attributes": 747, + "../bar/layout_defaults": 748, + "../bar/plot": 749, + "../bar/select": 750, + "../bar/set_positions": 751, + "../bar/style": 753, + "../scatter/colorbar": 930, + "./attributes": 854, + "./calc": 859, + "./defaults": 861, + "./event_data": 862, + "./hover": 863, + }, + ], + 865: [ + function (t, e, r) { + "use strict"; + e.exports = { + percent: function (t, e) { + for (var r = t.length, n = 100 / e, i = 0; i < r; i++) t[i] *= n; + }, + probability: function (t, e) { + for (var r = t.length, n = 0; n < r; n++) t[n] /= e; + }, + density: function (t, e, r, n) { + var i = t.length; + n = n || 1; + for (var a = 0; a < i; a++) t[a] *= r[a] * n; + }, + "probability density": function (t, e, r, n) { + var i = t.length; + n && (e /= n); + for (var a = 0; a < i; a++) t[a] *= r[a] / e; + }, + }; + }, + {}, + ], + 866: [ + function (t, e, r) { + "use strict"; + var n = t("../histogram/attributes"), + i = t("../heatmap/attributes"), + a = t("../../components/colorscale/attributes"), + o = t("../../components/colorbar/attributes"), + s = t("../../lib/extend").extendFlat; + e.exports = s( + {}, + { + x: n.x, + y: n.y, + z: { valType: "data_array", editType: "calc" }, + marker: { + color: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + histnorm: n.histnorm, + histfunc: n.histfunc, + autobinx: n.autobinx, + nbinsx: n.nbinsx, + xbins: n.xbins, + autobiny: n.autobiny, + nbinsy: n.nbinsy, + ybins: n.ybins, + xgap: i.xgap, + ygap: i.ygap, + zsmooth: i.zsmooth, + zhoverformat: i.zhoverformat, + }, + a, + { autocolorscale: s({}, a.autocolorscale, { dflt: !1 }) }, + { colorbar: o }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../heatmap/attributes": 835, + "../histogram/attributes": 854, + }, + ], + 867: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../histogram/bin_functions"), + o = t("../histogram/norm_functions"), + s = t("../histogram/average"), + l = t("../histogram/clean_bins"), + c = t("../histogram/bin_label_vals"); + function u(t, e, r, n, a, o, s) { + var c = e + "bins", + u = "autobin" + e, + f = t[c]; + (l(t, n, e), + (!t[u] && f && null !== f.start && null !== f.end) || + ((f = i.autoBin(r, n, t["nbins" + e], "2d", s)), + "histogram2dcontour" === t.type && + ((f.start = o(i.tickIncrement(a(f.start), f.size, !0, s))), + (f.end = o(i.tickIncrement(a(f.end), f.size, !1, s)))), + (t._input[c] = t[c] = f), + (t._input[u] = t[u]))); + } + function f(t, e, r, n) { + var i, + a = new Array(t); + if (n) for (i = 0; i < t; i++) a[i] = 1 / (e[i + 1] - e[i]); + else { + var o = 1 / r; + for (i = 0; i < t; i++) a[i] = o; + } + return a; + } + function h(t, e) { + return { start: t(e.start), end: t(e.end), size: e.size }; + } + function p(t, e, r, n, i, a) { + var o, + s = t.length - 1, + l = new Array(s); + if (e) for (o = 0; o < s; o++) l[o] = [e[o], e[o]]; + else { + var u = c(r, n, t, i, a); + for (o = 0; o < s; o++) l[o] = [u(t[o]), u(t[o + 1], !0)]; + } + return l; + } + e.exports = function (t, e) { + var r, + l, + c, + d, + g = i.getFromId(t, e.xaxis || "x"), + m = e.x ? g.makeCalcdata(e, "x") : [], + v = i.getFromId(t, e.yaxis || "y"), + y = e.y ? v.makeCalcdata(e, "y") : [], + x = e.xcalendar, + b = e.ycalendar, + _ = function (t) { + return g.r2c(t, 0, x); + }, + w = function (t) { + return v.r2c(t, 0, b); + }, + k = function (t) { + return g.c2r(t, 0, x); + }, + M = function (t) { + return v.c2r(t, 0, b); + }, + A = e._length; + (m.length > A && m.splice(A, m.length - A), + y.length > A && y.splice(A, y.length - A), + u(e, "x", m, g, _, k, x), + u(e, "y", y, v, w, M, b)); + var T = [], + S = [], + C = [], + E = "string" == typeof e.xbins.size, + L = "string" == typeof e.ybins.size, + z = [], + P = [], + D = E ? z : e.xbins, + O = L ? P : e.ybins, + I = 0, + R = [], + B = [], + F = e.histnorm, + N = e.histfunc, + j = -1 !== F.indexOf("density"), + V = "max" === N || "min" === N ? null : 0, + U = a.count, + q = o[F], + H = !1, + G = [], + W = [], + Y = + "z" in e + ? e.z + : "marker" in e && Array.isArray(e.marker.color) + ? e.marker.color + : ""; + Y && "count" !== N && ((H = "avg" === N), (U = a[N])); + var X = e.xbins, + Z = _(X.start), + J = _(X.end) + (Z - i.tickIncrement(Z, X.size, !1, x)) / 1e6; + for (r = Z; r < J; r = i.tickIncrement(r, X.size, !1, x)) + (S.push(V), z.push(r), H && C.push(0)); + z.push(r); + var K = S.length, + Q = _(e.xbins.start), + $ = (r - Q) / K, + tt = k(Q + $ / 2); + for ( + Z = w((X = e.ybins).start), + J = w(X.end) + (Z - i.tickIncrement(Z, X.size, !1, b)) / 1e6, + r = Z; + r < J; + r = i.tickIncrement(r, X.size, !1, b) + ) { + (T.push(S.slice()), P.push(r)); + var et = new Array(K); + for (l = 0; l < K; l++) et[l] = []; + (B.push(et), H && R.push(C.slice())); + } + P.push(r); + var rt = T.length, + nt = w(e.ybins.start), + it = (r - nt) / rt, + at = M(nt + it / 2); + (j && ((G = f(S.length, D, $, E)), (W = f(T.length, O, it, L))), + E || "date" !== g.type || (D = h(_, D)), + L || "date" !== v.type || (O = h(w, O))); + var ot = !0, + st = !0, + lt = new Array(K), + ct = new Array(rt), + ut = 1 / 0, + ft = 1 / 0, + ht = 1 / 0, + pt = 1 / 0; + for (r = 0; r < A; r++) { + var dt = m[r], + gt = y[r]; + ((c = n.findBin(dt, D)), + (d = n.findBin(gt, O)), + c >= 0 && + c < K && + d >= 0 && + d < rt && + ((I += U(c, r, T[d], Y, R[d])), + B[d][c].push(r), + ot && (void 0 === lt[c] ? (lt[c] = dt) : lt[c] !== dt && (ot = !1)), + st && (void 0 === ct[c] ? (ct[c] = gt) : ct[c] !== gt && (st = !1)), + (ut = Math.min(ut, dt - z[c])), + (ft = Math.min(ft, z[c + 1] - dt)), + (ht = Math.min(ht, gt - P[d])), + (pt = Math.min(pt, P[d + 1] - gt)))); + } + if (H) for (d = 0; d < rt; d++) I += s(T[d], R[d]); + if (q) for (d = 0; d < rt; d++) q(T[d], I, G, W[d]); + return { + x: m, + xRanges: p(z, ot && lt, ut, ft, g, x), + x0: tt, + dx: $, + y: y, + yRanges: p(P, st && ct, ht, pt, v, b), + y0: at, + dy: it, + z: T, + pts: B, + }; + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../histogram/average": 855, + "../histogram/bin_functions": 857, + "../histogram/bin_label_vals": 858, + "../histogram/clean_bins": 860, + "../histogram/norm_functions": 865, + }, + ], + 868: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./sample_defaults"), + a = t("../heatmap/style_defaults"), + o = t("../../components/colorscale/defaults"), + s = t("./attributes"); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + (i(t, e, c, l), + !1 !== e.visible && + (a(t, e, c, l), o(t, e, l, c, { prefix: "", cLetter: "z" }))); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../lib": 602, + "../heatmap/style_defaults": 849, + "./attributes": 866, + "./sample_defaults": 871, + }, + ], + 869: [ + function (t, e, r) { + "use strict"; + var n = t("../heatmap/hover"), + i = t("../../plots/cartesian/axes").hoverLabelText; + e.exports = function (t, e, r, a, o, s) { + var l = n(t, e, r, a, o, s); + if (l) { + var c = (t = l[0]).index, + u = c[0], + f = c[1], + h = t.cd[0], + p = h.xRanges[f], + d = h.yRanges[u]; + return ( + (t.xLabel = i(t.xa, p[0], p[1])), + (t.yLabel = i(t.ya, d[0], d[1])), + l + ); + } + }; + }, + { "../../plots/cartesian/axes": 648, "../heatmap/hover": 842 }, + ], + 870: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("../heatmap/calc")), + (n.plot = t("../heatmap/plot")), + (n.layerName = "heatmaplayer"), + (n.colorbar = t("../heatmap/colorbar")), + (n.style = t("../heatmap/style")), + (n.hoverPoints = t("./hover")), + (n.eventData = t("../histogram/event_data")), + (n.moduleType = "trace"), + (n.name = "histogram2d"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = ["cartesian", "svg", "2dMap", "histogram"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../heatmap/calc": 836, + "../heatmap/colorbar": 838, + "../heatmap/plot": 847, + "../heatmap/style": 848, + "../histogram/event_data": 862, + "./attributes": 866, + "./defaults": 868, + "./hover": 869, + }, + ], + 871: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../histogram/bin_defaults"); + e.exports = function (t, e, r, a) { + var o = r("x"), + s = r("y"); + if (o && o.length && s && s.length) { + ((e._length = Math.min(o.length, s.length)), + n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y"], + a, + ), + (r("z") || r("marker.color")) && r("histfunc")); + i(t, e, r, ["x", "y"]); + } else e.visible = !1; + }; + }, + { "../../registry": 732, "../histogram/bin_defaults": 856 }, + ], + 872: [ + function (t, e, r) { + "use strict"; + var n = t("../histogram2d/attributes"), + i = t("../contour/attributes"), + a = t("../../components/colorscale/attributes"), + o = t("../../components/colorbar/attributes"), + s = t("../../lib/extend").extendFlat; + e.exports = s( + { + x: n.x, + y: n.y, + z: n.z, + marker: n.marker, + histnorm: n.histnorm, + histfunc: n.histfunc, + autobinx: n.autobinx, + nbinsx: n.nbinsx, + xbins: n.xbins, + autobiny: n.autobiny, + nbinsy: n.nbinsy, + ybins: n.ybins, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: i.contours, + line: i.line, + zhoverformat: n.zhoverformat, + }, + a, + { + zmin: s({}, a.zmin, { editType: "calc" }), + zmax: s({}, a.zmax, { editType: "calc" }), + }, + { colorbar: o }, + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../contour/attributes": 806, + "../histogram2d/attributes": 866, + }, + ], + 873: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../histogram2d/sample_defaults"), + a = t("../contour/contours_defaults"), + o = t("../contour/style_defaults"), + s = t("./attributes"); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + (i(t, e, c, l), + !1 !== e.visible && + (a(t, e, c, function (r) { + return n.coerce2(t, e, s, r); + }), + o(t, e, c, l))); + }; + }, + { + "../../lib": 602, + "../contour/contours_defaults": 813, + "../contour/style_defaults": 827, + "../histogram2d/sample_defaults": 871, + "./attributes": 872, + }, + ], + 874: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("../contour/calc")), + (n.plot = t("../contour/plot").plot), + (n.layerName = "contourlayer"), + (n.style = t("../contour/style")), + (n.colorbar = t("../contour/colorbar")), + (n.hoverPoints = t("../contour/hover")), + (n.moduleType = "trace"), + (n.name = "histogram2dcontour"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = ["cartesian", "svg", "2dMap", "contour", "histogram"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../contour/calc": 807, + "../contour/colorbar": 809, + "../contour/hover": 819, + "../contour/plot": 824, + "../contour/style": 826, + "./attributes": 872, + "./defaults": 873, + }, + ], + 875: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/color_attributes"), + i = t("../../components/colorscale/attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../surface/attributes"), + s = t("../../plots/attributes"), + l = t("../../lib/extend").extendFlat; + e.exports = l(n("", "calc", !1), { + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + y: { valType: "data_array", editType: "calc+clearAxisTypes" }, + z: { valType: "data_array", editType: "calc+clearAxisTypes" }, + i: { valType: "data_array", editType: "calc" }, + j: { valType: "data_array", editType: "calc" }, + k: { valType: "data_array", editType: "calc" }, + text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, + delaunayaxis: { + valType: "enumerated", + values: ["x", "y", "z"], + dflt: "z", + editType: "calc", + }, + alphahull: { valType: "number", dflt: -1, editType: "calc" }, + intensity: { valType: "data_array", editType: "calc" }, + color: { valType: "color", editType: "calc" }, + vertexcolor: { valType: "data_array", editType: "calc" }, + facecolor: { valType: "data_array", editType: "calc" }, + opacity: o.opacity, + flatshading: { valType: "boolean", dflt: !1, editType: "calc" }, + contour: { + show: l({}, o.contours.x.show, {}), + color: o.contours.x.color, + width: o.contours.x.width, + editType: "calc", + }, + showscale: i.showscale, + colorbar: a, + lightposition: { + x: l({}, o.lightposition.x, { dflt: 1e5 }), + y: l({}, o.lightposition.y, { dflt: 1e5 }), + z: l({}, o.lightposition.z, { dflt: 0 }), + editType: "calc", + }, + lighting: l( + { + vertexnormalsepsilon: { + valType: "number", + min: 0, + max: 1, + dflt: 1e-12, + editType: "calc", + }, + facenormalsepsilon: { + valType: "number", + min: 0, + max: 1, + dflt: 1e-6, + editType: "calc", + }, + editType: "calc", + }, + o.lighting, + ), + hoverinfo: l({}, s.hoverinfo, { editType: "calc" }), + }); + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../components/colorscale/color_attributes": 482, + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../surface/attributes": 1006, + }, + ], + 876: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/calc"); + e.exports = function (t, e) { + e.intensity && n(e, e.intensity, "", "c"); + }; + }, + { "../../components/colorscale/calc": 481 }, + ], + 877: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../components/colorscale"), + s = t("../../components/colorbar/draw"); + e.exports = function (t, e) { + var r = e[0].trace, + l = "cb" + r.uid, + c = r.cmin, + u = r.cmax, + f = r.intensity || []; + if ( + (n(c) || (c = i.aggNums(Math.min, null, f)), + n(u) || (u = i.aggNums(Math.max, null, f)), + t._fullLayout._infolayer.selectAll("." + l).remove(), + r.showscale) + ) { + var h = (e[0].t.cb = s(t, l)), + p = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { + noNumericCheck: !0, + }); + h + .fillcolor(p) + .filllevels({ start: c, end: u, size: (u - c) / 254 }) + .options(r.colorbar)(); + } else a.autoMargin(t, l); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../components/colorscale": 489, + "../../lib": 602, + "../../plots/plots": 710, + "fast-isnumeric": 196, + }, + ], + 878: [ + function (t, e, r) { + "use strict"; + var n = t("gl-mesh3d"), + i = t("tinycolor2"), + a = t("delaunay-triangulate"), + o = t("alpha-shape"), + s = t("convex-hull"), + l = t("../../lib/str2rgbarray"); + function c(t, e, r) { + ((this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ""), + (this.color = "#fff"), + (this.data = null), + (this.showContour = !1)); + } + var u = c.prototype; + function f(t) { + return t.map(l); + } + function h(t, e, r) { + for (var n = new Array(t.length), i = 0; i < t.length; ++i) + n[i] = [t[i], e[i], r[i]]; + return n; + } + ((u.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index); + t.traceCoordinate = [this.data.x[e], this.data.y[e], this.data.z[e]]; + var r = this.data.text; + return ( + Array.isArray(r) && void 0 !== r[e] + ? (t.textLabel = r[e]) + : r && (t.textLabel = r), + !0 + ); + } + }), + (u.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + function n(t, e, r, n) { + return e.map(function (e) { + return t.d2l(e, 0, n) * r; + }); + } + this.data = t; + var c, + u = h( + n(r.xaxis, t.x, e.dataScale[0], t.xcalendar), + n(r.yaxis, t.y, e.dataScale[1], t.ycalendar), + n(r.zaxis, t.z, e.dataScale[2], t.zcalendar), + ); + if (t.i && t.j && t.k) c = h(t.i, t.j, t.k); + else if (0 === t.alphahull) c = s(u); + else if (t.alphahull > 0) c = o(t.alphahull, u); + else { + var p = ["x", "y", "z"].indexOf(t.delaunayaxis); + c = a( + u.map(function (t) { + return [t[(p + 1) % 3], t[(p + 2) % 3]]; + }), + ); + } + var d = { + positions: u, + cells: c, + lightPosition: [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ], + ambient: t.lighting.ambient, + diffuse: t.lighting.diffuse, + specular: t.lighting.specular, + roughness: t.lighting.roughness, + fresnel: t.lighting.fresnel, + vertexNormalsEpsilon: t.lighting.vertexnormalsepsilon, + faceNormalsEpsilon: t.lighting.facenormalsepsilon, + opacity: t.opacity, + contourEnable: t.contour.show, + contourColor: l(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }; + (t.intensity + ? ((this.color = "#fff"), + (d.vertexIntensity = t.intensity), + (d.vertexIntensityBounds = [t.cmin, t.cmax]), + (d.colormap = t.colorscale.map(function (t) { + var e = t[0], + r = i(t[1]).toRgb(); + return { index: e, rgb: [r.r, r.g, r.b, 1] }; + }))) + : t.vertexcolor + ? ((this.color = t.vertexcolor[0]), + (d.vertexColors = f(t.vertexcolor))) + : t.facecolor + ? ((this.color = t.facecolor[0]), (d.cellColors = f(t.facecolor))) + : ((this.color = t.color), (d.meshColor = l(t.color))), + this.mesh.update(d)); + }), + (u.dispose = function () { + (this.scene.glplot.remove(this.mesh), this.mesh.dispose()); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new c(t, i, e.uid); + return ((i._trace = a), a.update(e), t.glplot.add(i), a); + })); + }, + { + "../../lib/str2rgbarray": 625, + "alpha-shape": 48, + "convex-hull": 110, + "delaunay-triangulate": 132, + "gl-mesh3d": 244, + tinycolor2: 415, + }, + ], + 879: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../components/colorscale/defaults"), + o = t("./attributes"); + e.exports = function (t, e, r, s) { + function l(r, n) { + return i.coerce(t, e, o, r, n); + } + function c(t) { + var e = t.map(function (t) { + var e = l(t); + return e && i.isArrayOrTypedArray(e) ? e : null; + }); + return ( + e.every(function (t) { + return t && t.length === e[0].length; + }) && e + ); + } + var u = c(["x", "y", "z"]), + f = c(["i", "j", "k"]); + u + ? (f && + f.forEach(function (t) { + for (var e = 0; e < t.length; ++e) t[e] |= 0; + }), + n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y", "z"], + s, + ), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lighting.vertexnormalsepsilon", + "lighting.facenormalsepsilon", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "contour.show", + "contour.color", + "contour.width", + "colorscale", + "reversescale", + "flatshading", + "alphahull", + "delaunayaxis", + "opacity", + ].forEach(function (t) { + l(t); + }), + "intensity" in t + ? (l("intensity"), a(t, e, s, l, { prefix: "", cLetter: "c" })) + : ((e.showscale = !1), + "facecolor" in t + ? l("facecolor") + : "vertexcolor" in t + ? l("vertexcolor") + : l("color", r)), + l("text"), + (e._length = null)) + : (e.visible = !1); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../lib": 602, + "../../registry": 732, + "./attributes": 875, + }, + ], + 880: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.colorbar = t("./colorbar")), + (n.plot = t("./convert")), + (n.moduleType = "trace"), + (n.name = "mesh3d"), + (n.basePlotModule = t("../../plots/gl3d")), + (n.categories = ["gl3d"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/gl3d": 690, + "./attributes": 875, + "./calc": 876, + "./colorbar": 877, + "./convert": 878, + "./defaults": 879, + }, + ], + 881: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").extendFlat, + i = t("../scatter/attributes"), + a = t("../../components/drawing/attributes").dash, + o = i.line; + function s(t) { + return { + line: { + color: n({}, o.color, { dflt: t }), + width: o.width, + dash: a, + editType: "style", + }, + editType: "style", + }; + } + e.exports = { + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + open: { valType: "data_array", editType: "calc" }, + high: { valType: "data_array", editType: "calc" }, + low: { valType: "data_array", editType: "calc" }, + close: { valType: "data_array", editType: "calc" }, + line: { width: n({}, o.width, {}), dash: n({}, a, {}), editType: "style" }, + increasing: s("#3D9970"), + decreasing: s("#FF4136"), + text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, + tickwidth: { + valType: "number", + min: 0, + max: 0.5, + dflt: 0.3, + editType: "calcIfAutorange", + }, + }; + }, + { + "../../components/drawing/attributes": 498, + "../../lib": 602, + "../scatter/attributes": 926, + }, + ], + 882: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = n._, + a = t("../../plots/cartesian/axes"), + o = t("../../constants/numerical").BADNUM; + function s(t, e, r, n) { + return { o: t, h: e, l: r, c: n }; + } + function l(t, e, r, n, s) { + for ( + var l = n.makeCalcdata(e, "open"), + c = n.makeCalcdata(e, "high"), + u = n.makeCalcdata(e, "low"), + f = n.makeCalcdata(e, "close"), + h = Array.isArray(e.text), + p = !0, + d = null, + g = [], + m = 0; + m < r.length; + m++ + ) { + var v = r[m], + y = l[m], + x = c[m], + b = u[m], + _ = f[m]; + if (v !== o && y !== o && x !== o && b !== o && _ !== o) { + (_ === y ? null !== d && _ !== d && (p = _ > d) : (p = _ > y), (d = _)); + var w = s(y, x, b, _); + ((w.pos = v), + (w.yc = (y + _) / 2), + (w.i = m), + (w.dir = p ? "increasing" : "decreasing"), + h && (w.tx = e.text[m]), + g.push(w)); + } + } + return ( + a.expand(n, u.concat(c), { padded: !0 }), + g.length && + (g[0].t = { + labels: { + open: i(t, "open:") + " ", + high: i(t, "high:") + " ", + low: i(t, "low:") + " ", + close: i(t, "close:") + " ", + }, + }), + g + ); + } + e.exports = { + calc: function (t, e) { + var r = a.getFromId(t, e.xaxis), + i = a.getFromId(t, e.yaxis), + o = (function (t, e, r) { + var i = r._minDiff; + if (!i) { + var a, + o = t._fullData, + s = []; + for (i = 1 / 0, a = 0; a < o.length; a++) { + var l = o[a]; + if ("ohlc" === l.type && !0 === l.visible && l.xaxis === e._id) { + s.push(l); + var c = e.makeCalcdata(l, "x"); + l._xcalc = c; + var u = n.distinctVals(c).minDiff; + u && isFinite(u) && (i = Math.min(i, u)); + } + } + for (i === 1 / 0 && (i = 1), a = 0; a < s.length; a++) + s[a]._minDiff = i; + } + return i * r.tickwidth; + })(t, r, e), + c = e._minDiff; + e._minDiff = null; + var u = e._xcalc; + e._xcalc = null; + var f = l(t, e, u, i, s); + return ( + a.expand(r, u, { vpad: c / 2 }), + f.length + ? (n.extendFlat(f[0].t, { wHover: c / 2, tickLen: o }), f) + : [{ t: { empty: !0 } }] + ); + }, + calcCommon: l, + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + }, + ], + 883: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./ohlc_defaults"), + a = t("./attributes"); + function o(t, e, r, n) { + (r(n + ".line.color"), + r(n + ".line.width", e.line.width), + r(n + ".line.dash", e.line.dash)); + } + e.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, a, r, i); + } + i(t, e, l, s) + ? (l("line.width"), + l("line.dash"), + o(t, e, l, "increasing"), + o(t, e, l, "decreasing"), + l("text"), + l("tickwidth"), + (s._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + { "../../lib": 602, "./attributes": 881, "./ohlc_defaults": 886 }, + ], + 884: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/cartesian/axes"), + i = t("../../components/fx"), + a = t("../../components/color"), + o = t("../scatter/fill_hover_text"), + s = { increasing: "\u25b2", decreasing: "\u25bc" }; + e.exports = function (t, e, r, l) { + var c = t.cd, + u = t.xa, + f = t.ya, + h = c[0].trace, + p = c[0].t, + d = h.type, + g = "ohlc" === d ? "l" : "min", + m = "ohlc" === d ? "h" : "max", + v = p.bPos || 0, + y = e - v, + x = p.bdPos || p.tickLen, + b = p.wHover, + _ = Math.min(1, x / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0]))), + w = t.maxHoverDistance - _, + k = t.maxSpikeDistance - _; + function M(t) { + var e = t.pos - y; + return i.inbox(e - b, e + b, w); + } + function A(t) { + return i.inbox(t[g] - r, t[m] - r, w); + } + function T(t) { + return (M(t) + A(t)) / 2; + } + var S = i.getDistanceFunction(l, M, A, T); + if ((i.getClosest(c, S, t), !1 === t.index)) return []; + var C = c[t.index], + E = (t.index = C.i), + L = C.dir, + z = h[L], + P = z.line.color; + function D(t) { + return p.labels[t] + n.hoverLabelText(f, h[t][E]); + } + (a.opacity(P) && z.line.width ? (t.color = P) : (t.color = z.fillcolor), + (t.x0 = u.c2p(C.pos + v - x, !0)), + (t.x1 = u.c2p(C.pos + v + x, !0)), + (t.xLabelVal = C.pos), + (t.spikeDistance = (T(C) * k) / w), + (t.xSpike = u.c2p(C.pos, !0))); + var O = h.hoverinfo, + I = O.split("+"), + R = "all" === O, + B = R || -1 !== I.indexOf("y"), + F = R || -1 !== I.indexOf("text"), + N = B ? [D("open"), D("high"), D("low"), D("close") + " " + s[L]] : []; + return ( + F && o(C, h, N), + (t.extraText = N.join("
      ")), + (t.y0 = t.y1 = f.c2p(C.yc, !0)), + [t] + ); + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../plots/cartesian/axes": 648, + "../scatter/fill_hover_text": 934, + }, + ], + 885: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "trace", + name: "ohlc", + basePlotModule: t("../../plots/cartesian"), + categories: ["cartesian", "svg", "showLegend"], + meta: {}, + attributes: t("./attributes"), + supplyDefaults: t("./defaults"), + calc: t("./calc").calc, + plot: t("./plot"), + style: t("./style"), + hoverPoints: t("./hover"), + selectPoints: t("./select"), + }; + }, + { + "../../plots/cartesian": 659, + "./attributes": 881, + "./calc": 882, + "./defaults": 883, + "./hover": 884, + "./plot": 887, + "./select": 888, + "./style": 889, + }, + ], + 886: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"); + e.exports = function (t, e, r, i) { + var a = r("x"), + o = r("open"), + s = r("high"), + l = r("low"), + c = r("close"); + if ( + (n.getComponentMethod("calendars", "handleTraceDefaults")(t, e, ["x"], i), + o && s && l && c) + ) { + var u = Math.min(o.length, s.length, l.length, c.length); + return (a && (u = Math.min(u, a.length)), (e._length = u), u); + } + }; + }, + { "../../registry": 732 }, + ], + 887: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"); + e.exports = function (t, e, r, a) { + var o = e.xaxis, + s = e.yaxis, + l = a.selectAll("g.trace").data(r, function (t) { + return t[0].trace.uid; + }); + (l.enter().append("g").attr("class", "trace ohlc"), + l.exit().remove(), + l.order(), + l.each(function (t) { + var r = t[0], + a = r.t, + l = r.trace, + c = n.select(this); + if ((e.isRangePlot || (r.node3 = c), !0 !== l.visible || a.empty)) + c.remove(); + else { + var u = a.tickLen, + f = c.selectAll("path").data(i.identity); + (f.enter().append("path"), + f.exit().remove(), + f.attr("d", function (t) { + var e = o.c2p(t.pos, !0), + r = o.c2p(t.pos - u, !0), + n = o.c2p(t.pos + u, !0); + return ( + "M" + + r + + "," + + s.c2p(t.o, !0) + + "H" + + e + + "M" + + e + + "," + + s.c2p(t.h, !0) + + "V" + + s.c2p(t.l, !0) + + "M" + + n + + "," + + s.c2p(t.c, !0) + + "H" + + e + ); + })); + } + })); + }; + }, + { "../../lib": 602, d3: 130 }, + ], + 888: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + var r, + n = t.cd, + i = t.xaxis, + a = t.yaxis, + o = [], + s = n[0].t.bPos || 0; + if (!1 === e) for (r = 0; r < n.length; r++) n[r].selected = 0; + else + for (r = 0; r < n.length; r++) { + var l = n[r]; + e.contains([i.c2p(l.pos + s), a.c2p(l.yc)]) + ? (o.push({ pointNumber: l.i, x: i.c2d(l.pos), y: a.c2d(l.yc) }), + (l.selected = 1)) + : (l.selected = 0); + } + return o; + }; + }, + {}, + ], + 889: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("../../components/color"); + e.exports = function (t, e) { + var r = e + ? e[0].node3 + : n.select(t).selectAll("g.ohlclayer").selectAll("g.trace"); + (r.style("opacity", function (t) { + return t[0].trace.opacity; + }), + r.each(function (t) { + var e = t[0].trace; + n.select(this) + .selectAll("path") + .each(function (t) { + var r = e[t.dir].line; + n.select(this) + .style("fill", "none") + .call(a.stroke, r.color) + .call(i.dashLine, r.dash, r.width) + .style("opacity", e.selectedpoints && !t.selected ? 0.3 : 1); + }); + })); + }; + }, + { "../../components/color": 474, "../../components/drawing": 499, d3: 130 }, + ], + 890: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/color_attributes"), + i = t("../../components/colorbar/attributes"), + a = t("../../components/colorscale/scales"), + o = t("../../plots/cartesian/layout_attributes"), + s = t("../../plots/font_attributes"), + l = t("../../plots/domain").attributes, + c = t("../../lib/extend"), + u = c.extendDeepAll, + f = c.extendFlat; + e.exports = { + domain: l({ name: "parcoords", trace: !0, editType: "calc" }), + labelfont: s({ editType: "calc" }), + tickfont: s({ editType: "calc" }), + rangefont: s({ editType: "calc" }), + dimensions: { + _isLinkedToArray: "dimension", + label: { valType: "string", editType: "calc" }, + tickvals: f({}, o.tickvals, { editType: "calc" }), + ticktext: f({}, o.ticktext, { editType: "calc" }), + tickformat: { valType: "string", dflt: "3s", editType: "calc" }, + visible: { valType: "boolean", dflt: !0, editType: "calc" }, + range: { + valType: "info_array", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + constraintrange: { + valType: "info_array", + freeLength: !0, + dimensions: "1-2", + items: [ + { valType: "number", editType: "calc" }, + { valType: "number", editType: "calc" }, + ], + editType: "calc", + }, + multiselect: { valType: "boolean", dflt: !0, editType: "calc" }, + values: { valType: "data_array", editType: "calc" }, + editType: "calc", + }, + line: f( + u(n("line", "calc"), { + colorscale: { dflt: a.Viridis }, + autocolorscale: { dflt: !1 }, + }), + { + showscale: { valType: "boolean", dflt: !1, editType: "calc" }, + colorbar: i, + editType: "calc", + }, + ), + }; + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/color_attributes": 482, + "../../components/colorscale/scales": 493, + "../../lib/extend": 591, + "../../plots/cartesian/layout_attributes": 660, + "../../plots/domain": 673, + "../../plots/font_attributes": 674, + }, + ], + 891: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("d3"), + a = t("../../lib/gup").keyFun, + o = t("../../lib/gup").repeat, + s = t("../../lib").sorterAsc, + l = n.bar.snapRatio; + function c(t, e) { + return t * (1 - l) + e * l; + } + var u = n.bar.snapClose; + function f(t, e) { + return t * (1 - u) + e * u; + } + function h(t, e, r) { + if (d(e, r)) return e; + for (var n = t[0], i = n, a = 1; a < t.length; a++) { + var o = t[a]; + if (e < f(n, o)) return c(n, i); + if (e < o || a === t.length - 1) return c(o, n); + ((i = n), (n = o)); + } + } + function p(t, e, r) { + if (d(e, r)) return e; + for (var n = t[t.length - 1], i = n, a = t.length - 2; a >= 0; a--) { + var o = t[a]; + if (e > f(n, o)) return c(n, i); + if (e > o || a === t.length - 1) return c(o, n); + ((i = n), (n = o)); + } + } + function d(t, e) { + for (var r = 0; r < e.length; r++) + if (t >= e[r][0] && t <= e[r][1]) return !0; + return !1; + } + function g(t) { + t.attr("x", -n.bar.captureWidth / 2).attr("width", n.bar.captureWidth); + } + function m(t) { + t.attr("visibility", "visible") + .style("visibility", "visible") + .attr("fill", "yellow") + .attr("opacity", 0); + } + function v(t) { + if (!t.brush.filterSpecified) return "0," + t.height; + for ( + var e, + r, + n, + i = y(t.brush.filter.getConsolidated(), t.height), + a = [0], + o = i.length ? i[0][0] : null, + s = 0; + s < i.length; + s++ + ) + ((r = (e = i[s])[1] - e[0]), + a.push(o), + a.push(r), + (n = s + 1) < i.length && (o = i[n][0] - e[1])); + return (a.push(t.height), a); + } + function y(t, e) { + return t.map(function (t) { + return t + .map(function (t) { + return t * e; + }) + .sort(s); + }); + } + function x() { + i.select(document.body).style("cursor", null); + } + function b(t) { + t.attr("stroke-dasharray", v); + } + function _(t, e) { + var r = i.select(t).selectAll(".highlight, .highlight-shadow"); + b(e ? r.transition().duration(n.bar.snapDuration).each("end", e) : r); + } + function w(t, e) { + var r, + i = t.brush, + a = NaN, + o = {}; + if (i.filterSpecified) { + var s = t.height, + l = i.filter.getConsolidated(), + c = y(l, s), + u = NaN, + f = NaN, + h = NaN; + for (r = 0; r <= c.length; r++) { + var p = c[r]; + if (p && p[0] <= e && e <= p[1]) { + u = r; + break; + } + if (((f = r ? r - 1 : NaN), p && p[0] > e)) { + h = r; + break; + } + } + if ( + ((a = u), + isNaN(a) && + (a = + isNaN(f) || isNaN(h) + ? isNaN(f) + ? h + : f + : e - c[f][1] < c[h][0] - e + ? f + : h), + !isNaN(a)) + ) { + var d = c[a], + g = (function (t, e) { + var r = n.bar.handleHeight; + if (!(e > t[1] + r || e < t[0] - r)) + return e >= 0.9 * t[1] + 0.1 * t[0] + ? "n" + : e <= 0.9 * t[0] + 0.1 * t[1] + ? "s" + : "ns"; + })(d, e); + g && ((o.interval = l[a]), (o.intervalPix = d), (o.region = g)); + } + } + if (t.ordinal && !o.region) { + var m = t.unitTickvals, + v = t.unitToPaddedPx.invert(e); + for (r = 0; r < m.length; r++) { + var x = [ + 0.25 * m[Math.max(r - 1, 0)] + 0.75 * m[r], + 0.25 * m[Math.min(r + 1, m.length - 1)] + 0.75 * m[r], + ]; + if (v >= x[0] && v <= x[1]) { + o.clickableOrdinalRange = x; + break; + } + } + } + return o; + } + function k(t) { + t.on("mousemove", function (t) { + if ((i.event.preventDefault(), !t.parent.inBrushDrag)) { + var e = w(t, t.height - i.mouse(this)[1] - 2 * n.verticalPadding), + r = "crosshair"; + (e.clickableOrdinalRange + ? (r = "pointer") + : e.region && (r = e.region + "-resize"), + i.select(document.body).style("cursor", r)); + } + }) + .on("mouseleave", function (t) { + t.parent.inBrushDrag || x(); + }) + .call( + i.behavior + .drag() + .on("dragstart", function (t) { + i.event.sourceEvent.stopPropagation(); + var e = t.height - i.mouse(this)[1] - 2 * n.verticalPadding, + r = t.unitToPaddedPx.invert(e), + a = t.brush, + o = w(t, e), + s = o.interval, + l = a.svgBrush; + if ( + ((l.wasDragged = !1), + (l.grabbingBar = "ns" === o.region), + l.grabbingBar) + ) { + var c = s.map(t.unitToPaddedPx); + ((l.grabPoint = e - c[0] - n.verticalPadding), + (l.barLength = c[1] - c[0])); + } + ((l.clickableOrdinalRange = o.clickableOrdinalRange), + (l.stayingIntervals = + t.multiselect && a.filterSpecified + ? a.filter.getConsolidated() + : []), + s && + (l.stayingIntervals = l.stayingIntervals.filter(function (t) { + return t[0] !== s[0] && t[1] !== s[1]; + })), + (l.startExtent = o.region ? s["s" === o.region ? 1 : 0] : r), + (t.parent.inBrushDrag = !0), + l.brushStartCallback()); + }) + .on("drag", function (t) { + i.event.sourceEvent.stopPropagation(); + var e = t.height - i.mouse(this)[1] - 2 * n.verticalPadding, + r = t.brush.svgBrush; + ((r.wasDragged = !0), + r.grabbingBar + ? (r.newExtent = [ + e - r.grabPoint, + e + r.barLength - r.grabPoint, + ].map(t.unitToPaddedPx.invert)) + : (r.newExtent = [ + r.startExtent, + t.unitToPaddedPx.invert(e), + ].sort(s))); + var a = Math.max(0, -r.newExtent[0]), + o = Math.max(0, r.newExtent[1] - 1); + ((r.newExtent[0] += a), + (r.newExtent[1] -= o), + r.grabbingBar && ((r.newExtent[1] += a), (r.newExtent[0] -= o)), + (t.brush.filterSpecified = !0), + (r.extent = r.stayingIntervals.concat([r.newExtent])), + r.brushCallback(t), + _(this.parentNode)); + }) + .on("dragend", function (t) { + i.event.sourceEvent.stopPropagation(); + var e = t.brush, + r = e.filter, + n = e.svgBrush, + a = n.grabbingBar; + if ( + ((n.grabbingBar = !1), + (n.grabLocation = void 0), + (t.parent.inBrushDrag = !1), + x(), + !n.wasDragged) + ) + return ( + (n.wasDragged = void 0), + n.clickableOrdinalRange + ? e.filterSpecified && t.multiselect + ? n.extent.push(n.clickableOrdinalRange) + : ((n.extent = [n.clickableOrdinalRange]), + (e.filterSpecified = !0)) + : a + ? ((n.extent = n.stayingIntervals), + 0 === n.extent.length && A(e)) + : A(e), + n.brushCallback(t), + _(this.parentNode), + void n.brushEndCallback( + e.filterSpecified ? r.getConsolidated() : [], + ) + ); + var o = function () { + r.set(r.getConsolidated()); + }; + if (t.ordinal) { + var s = t.unitTickvals; + (s[s.length - 1] < s[0] && s.reverse(), + (n.newExtent = [ + h(s, n.newExtent[0], n.stayingIntervals), + p(s, n.newExtent[1], n.stayingIntervals), + ])); + var l = n.newExtent[1] > n.newExtent[0]; + ((n.extent = n.stayingIntervals.concat(l ? [n.newExtent] : [])), + n.extent.length || A(e), + n.brushCallback(t), + l ? _(this.parentNode, o) : (o(), _(this.parentNode))); + } else o(); + n.brushEndCallback(e.filterSpecified ? r.getConsolidated() : []); + }), + ); + } + function M(t, e) { + return t[0] - e[0]; + } + function A(t) { + ((t.filterSpecified = !1), (t.svgBrush.extent = [[0, 1]])); + } + function T(t) { + for (var e, r = t.slice(), n = [], i = r.shift(); i; ) { + for (e = i.slice(); (i = r.shift()) && i[0] <= e[1]; ) + e[1] = Math.max(e[1], i[1]); + n.push(e); + } + return n; + } + e.exports = { + makeBrush: function (t, e, r, n, i, a) { + var o, + l = (function () { + var t, + e, + r = []; + return { + set: function (n) { + ((r = n + .map(function (t) { + return t.slice().sort(s); + }) + .sort(M)), + (t = T(r)), + (e = r.reduce( + function (t, e) { + return [Math.min(t[0], e[0]), Math.max(t[1], e[1])]; + }, + [1 / 0, -1 / 0], + ))); + }, + get: function () { + return r.slice(); + }, + getConsolidated: function () { + return t; + }, + getBounds: function () { + return e; + }, + }; + })(); + return ( + l.set(r), + { + filter: l, + filterSpecified: e, + svgBrush: { + extent: [], + brushStartCallback: n, + brushCallback: + ((o = i), + function (t) { + var e = t.brush, + r = (function (t) { + return t.svgBrush.extent.map(function (t) { + return t.slice(); + }); + })(e).slice(); + (e.filter.set(r), o()); + }), + brushEndCallback: a, + }, + } + ); + }, + ensureAxisBrush: function (t) { + var e = t.selectAll("." + n.cn.axisBrush).data(o, a); + (e.enter().append("g").classed(n.cn.axisBrush, !0), + (function (t) { + var e = t.selectAll(".background").data(o); + (e + .enter() + .append("rect") + .classed("background", !0) + .call(g) + .call(m) + .style("pointer-events", "auto") + .attr("transform", "translate(0 " + n.verticalPadding + ")"), + e.call(k).attr("height", function (t) { + return t.height - n.verticalPadding; + })); + var r = t.selectAll(".highlight-shadow").data(o); + (r + .enter() + .append("line") + .classed("highlight-shadow", !0) + .attr("x", -n.bar.width / 2) + .attr("stroke-width", n.bar.width + n.bar.strokeWidth) + .attr("stroke", n.bar.strokeColor) + .attr("opacity", n.bar.strokeOpacity) + .attr("stroke-linecap", "butt"), + r + .attr("y1", function (t) { + return t.height; + }) + .call(b)); + var i = t.selectAll(".highlight").data(o); + (i + .enter() + .append("line") + .classed("highlight", !0) + .attr("x", -n.bar.width / 2) + .attr("stroke-width", n.bar.width - n.bar.strokeWidth) + .attr("stroke", n.bar.fillColor) + .attr("opacity", n.bar.fillOpacity) + .attr("stroke-linecap", "butt"), + i + .attr("y1", function (t) { + return t.height; + }) + .call(b)); + })(e)); + }, + cleanRanges: function (t, e) { + if ( + (Array.isArray(t[0]) + ? ((t = t.map(function (t) { + return t.sort(s); + })), + (t = e.multiselect ? T(t.sort(M)) : [t[0]])) + : (t = [t.sort(s)]), + e.tickvals) + ) { + var r = e.tickvals.slice().sort(s); + if ( + !(t = t + .map(function (t) { + var e = [h(r, t[0], []), p(r, t[1], [])]; + if (e[1] > e[0]) return e; + }) + .filter(function (t) { + return t; + })).length + ) + return; + } + return t.length > 1 ? t : t[0]; + }, + }; + }, + { "../../lib": 602, "../../lib/gup": 599, "./constants": 895, d3: 130 }, + ], + 892: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../plots/get_data").getModuleCalcData, + a = t("./plot"), + o = t("../../constants/xmlns_namespaces"); + ((r.name = "parcoords"), + (r.plot = function (t) { + var e = i(t.calcdata, "parcoords")[0]; + e.length && a(t, e); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has("parcoords"), + a = e._has && e._has("parcoords"); + i && + !a && + (n._paperdiv.selectAll(".parcoords").remove(), + n._glimages.selectAll("*").remove()); + }), + (r.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll(".svg-container"); + (r + .filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll(".gl-canvas-context, .gl-canvas-focus") + .each(function () { + var t = this.toDataURL("image/png"); + e.append("svg:image").attr({ + xmlns: o.svg, + "xlink:href": t, + preserveAspectRatio: "none", + x: 0, + y: 0, + width: this.width, + height: this.height, + }); + }), + window.setTimeout(function () { + n.selectAll("#filterBarPattern").attr("id", "filterBarPattern"); + }, 60)); + })); + }, + { + "../../constants/xmlns_namespaces": 581, + "../../plots/get_data": 684, + "./plot": 900, + d3: 130, + }, + ], + 893: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/has_colorscale"), + i = t("../../components/colorscale/calc"), + a = t("../../lib"), + o = t("../../lib/gup").wrap; + e.exports = function (t, e) { + var r = !!e.line.colorscale && a.isArrayOrTypedArray(e.line.color), + s = r + ? e.line.color + : (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0.5; + return e; + })(e._length), + l = r + ? e.line.colorscale + : [ + [0, e.line.color], + [1, e.line.color], + ]; + return ( + n(e, "line") && i(e, s, "line", "c"), + o({ lineColor: s, cscale: l }) + ); + }; + }, + { + "../../components/colorscale/calc": 481, + "../../components/colorscale/has_colorscale": 488, + "../../lib": 602, + "../../lib/gup": 599, + }, + ], + 894: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../components/colorscale"), + s = t("../../components/colorbar/draw"); + e.exports = function (t, e) { + var r = e[0].trace, + l = r.line, + c = "cb" + r.uid; + if ( + (t._fullLayout._infolayer.selectAll("." + c).remove(), + void 0 !== l && l.showscale) + ) { + var u = l.color, + f = l.cmin, + h = l.cmax; + (n(f) || (f = i.aggNums(Math.min, null, u)), + n(h) || (h = i.aggNums(Math.max, null, u))); + var p = (e[0].t.cb = s(t, c)), + d = o.makeColorScaleFunc(o.extractScale(l.colorscale, f, h), { + noNumericCheck: !0, + }); + p + .fillcolor(d) + .filllevels({ start: f, end: h, size: (h - f) / 254 }) + .options(l.colorbar)(); + } else a.autoMargin(t, c); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../components/colorscale": 489, + "../../lib": 602, + "../../plots/plots": 710, + "fast-isnumeric": 196, + }, + ], + 895: [ + function (t, e, r) { + "use strict"; + e.exports = { + maxDimensionCount: 60, + overdrag: 45, + verticalPadding: 2, + tickDistance: 50, + canvasPixelRatio: 1, + blockLineCount: 5e3, + layers: ["contextLineLayer", "focusLineLayer", "pickLineLayer"], + axisTitleOffset: 28, + axisExtentOffset: 10, + bar: { + width: 4, + captureWidth: 10, + fillColor: "magenta", + fillOpacity: 1, + snapDuration: 150, + snapRatio: 0.25, + snapClose: 0.01, + strokeColor: "white", + strokeOpacity: 1, + strokeWidth: 1, + handleHeight: 8, + handleOpacity: 1, + handleOverlap: 0, + }, + cn: { + axisExtentText: "axis-extent-text", + parcoordsLineLayers: "parcoords-line-layers", + parcoordsLineLayer: "parcoords-lines", + parcoords: "parcoords", + parcoordsControlView: "parcoords-control-view", + yAxis: "y-axis", + axisOverlays: "axis-overlays", + axis: "axis", + axisHeading: "axis-heading", + axisTitle: "axis-title", + axisExtent: "axis-extent", + axisExtentTop: "axis-extent-top", + axisExtentTopText: "axis-extent-top-text", + axisExtentBottom: "axis-extent-bottom", + axisExtentBottomText: "axis-extent-bottom-text", + axisBrush: "axis-brush", + }, + id: { filterBarPattern: "filter-bar-pattern" }, + }; + }, + {}, + ], + 896: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("../../components/colorscale/has_colorscale"), + o = t("../../components/colorscale/defaults"), + s = t("./constants").maxDimensionCount, + l = t("../../plots/domain").defaults, + c = t("./axisbrush"); + e.exports = function (t, e, r, u) { + function f(r, a) { + return n.coerce(t, e, i, r, a); + } + var h = (function (t, e) { + var r, + a, + o, + l = t.dimensions || [], + u = (e.dimensions = []), + f = 1 / 0; + function h(t, e) { + return n.coerce(r, a, i.dimensions, t, e); + } + for ( + l.length > s && + (n.log( + "parcoords traces support up to " + s + " dimensions at the moment", + ), + l.splice(s)), + o = 0; + o < l.length; + o++ + ) + if (((r = l[o]), (a = {}), n.isPlainObject(r))) { + var p = h("values"), + d = h("visible"); + if (((p && p.length) || (d = a.visible = !1), d)) { + (h("label"), + h("tickvals"), + h("ticktext"), + h("tickformat"), + h("range"), + h("multiselect")); + var g = h("constraintrange"); + (g && (a.constraintrange = c.cleanRanges(g, a)), + (f = Math.min(f, p.length))); + } + ((a._index = o), u.push(a)); + } + return ((e._length = f), u); + })(t, e); + (!(function (t, e, r, i, s) { + var l = s("line.color", r); + a(t, "line") && + n.isArrayOrTypedArray(l) && + (l.length + ? (s("line.colorscale"), + o(t, e, i, s, { prefix: "line.", cLetter: "c" }), + (e._length = Math.min(e._length, l.length))) + : (e.line.color = r)); + })(t, e, r, u, f), + l(e, u, f), + (Array.isArray(h) && h.length) || (e.visible = !1)); + for (var p = 0; p < h.length; p++) + h[p].visible && (h[p]._length = e._length); + var d = { + family: u.font.family, + size: Math.round(u.font.size / 1.2), + color: u.font.color, + }; + (n.coerceFont(f, "labelfont", d), + n.coerceFont(f, "tickfont", d), + n.coerceFont(f, "rangefont", d)); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../components/colorscale/has_colorscale": 488, + "../../lib": 602, + "../../plots/domain": 673, + "./attributes": 890, + "./axisbrush": 891, + "./constants": 895, + }, + ], + 897: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.colorbar = t("./colorbar")), + (n.moduleType = "trace"), + (n.name = "parcoords"), + (n.basePlotModule = t("./base_plot")), + (n.categories = ["gl", "regl", "noOpacity"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "./attributes": 890, + "./base_plot": 892, + "./calc": 893, + "./colorbar": 894, + "./defaults": 896, + "./plot": 900, + }, + ], + 898: [ + function (t, e, r) { + "use strict"; + var n = t("glslify"), + i = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n", + ]), + a = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec2 xyProjection = vec2(1, 1);\n\nvec4 unit = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depth,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n", + ]), + o = n([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n fragColor = vec4(pf.rgb, 1.0);\n}\n", + ]), + s = n([ + "precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n", + ]), + l = t("../../lib"), + c = 1e-6, + u = 1e-7, + f = 2048, + h = 64, + p = 2, + d = 4, + g = 8, + m = h / g, + v = [119, 119, 119], + y = new Uint8Array(4), + x = new Uint8Array(4), + b = { + shape: [256, 1], + format: "rgba", + type: "uint8", + mag: "nearest", + min: "nearest", + }; + function _(t, e, r, n, i) { + var a = t._gl; + (a.enable(a.SCISSOR_TEST), + a.scissor(e, r, n, i), + t.clear({ color: [0, 0, 0, 0], depth: 1 })); + } + function w(t, e, r, n, i, a) { + var o = a.key; + (r.drawCompleted || + (!(function (t) { + t.read({ x: 0, y: 0, width: 1, height: 1, data: y }); + })(t), + (r.drawCompleted = !0)), + (function s(l) { + var c; + ((c = Math.min(n, i - l * n)), + (a.offset = p * l * n), + (a.count = p * c), + 0 === l && + (window.cancelAnimationFrame(r.currentRafs[o]), + delete r.currentRafs[o], + _(t, a.scissorX, a.scissorY, a.scissorWidth, a.viewBoxSize[1])), + r.clearOnly || + (e(a), + l * n + c < i && + (r.currentRafs[o] = window.requestAnimationFrame(function () { + s(l + 1); + })), + (r.drawCompleted = !1))); + })(0)); + } + function k(t, e) { + return ((t >>> (8 * e)) % 256) / 255; + } + function M(t, e, r) { + var n, + i, + a, + o = []; + for (i = 0; i < t; i++) + for (a = 0; a < p; a++) + for (n = 0; n < d; n++) + (o.push(e[i * h + r * d + n]), + r * d + n === h - 1 && a % 2 == 0 && (o[o.length - 1] *= -1)); + return o; + } + e.exports = function (t, e) { + var r, + n, + p, + d, + y, + A = e.context, + T = e.pick, + S = e.regl, + C = { currentRafs: {}, drawCompleted: !0, clearOnly: !1 }, + E = (function (t) { + for (var e = {}, r = 0; r < 16; r++) + e["p" + r.toString(16)] = t.buffer({ + usage: "dynamic", + type: "float", + data: null, + }); + return e; + })(S), + L = S.texture(b); + P(e); + var z = S({ + profile: !1, + blend: { + enable: A, + func: { + srcRGB: "src alpha", + dstRGB: "one minus src alpha", + srcAlpha: 1, + dstAlpha: 1, + }, + equation: { rgb: "add", alpha: "add" }, + color: [0, 0, 0, 0], + }, + depth: { enable: !A, mask: !0, func: "less", range: [0, 1] }, + cull: { enable: !0, face: "back" }, + scissor: { + enable: !0, + box: { + x: S.prop("scissorX"), + y: S.prop("scissorY"), + width: S.prop("scissorWidth"), + height: S.prop("scissorHeight"), + }, + }, + viewport: { + x: S.prop("viewportX"), + y: S.prop("viewportY"), + width: S.prop("viewportWidth"), + height: S.prop("viewportHeight"), + }, + dither: !1, + vert: T ? o : A ? a : i, + frag: s, + primitive: "lines", + lineWidth: 1, + attributes: E, + uniforms: { + resolution: S.prop("resolution"), + viewBoxPosition: S.prop("viewBoxPosition"), + viewBoxSize: S.prop("viewBoxSize"), + dim1A: S.prop("dim1A"), + dim2A: S.prop("dim2A"), + dim1B: S.prop("dim1B"), + dim2B: S.prop("dim2B"), + dim1C: S.prop("dim1C"), + dim2C: S.prop("dim2C"), + dim1D: S.prop("dim1D"), + dim2D: S.prop("dim2D"), + loA: S.prop("loA"), + hiA: S.prop("hiA"), + loB: S.prop("loB"), + hiB: S.prop("hiB"), + loC: S.prop("loC"), + hiC: S.prop("hiC"), + loD: S.prop("loD"), + hiD: S.prop("hiD"), + palette: L, + mask: S.prop("maskTexture"), + maskHeight: S.prop("maskHeight"), + colorClamp: S.prop("colorClamp"), + }, + offset: S.prop("offset"), + count: S.prop("count"), + }); + function P(t) { + ((r = t.model), + (n = t.viewModel), + (p = n.dimensions.slice()), + (d = p[0] ? p[0].values.length : 0)); + var e = r.lines, + i = T + ? e.color.map(function (t, r) { + return r / e.color.length; + }) + : e.color, + a = Math.max(1 / 255, Math.pow(1 / i.length, 1 / 3)), + o = (function (t, e, r) { + for (var n, i = e.length, a = [], o = 0; o < t; o++) + for (var s = 0; s < h; s++) + a.push( + s < i + ? e[s].paddedUnitValues[o] + : s === h - 1 + ? ((n = r[o]), Math.max(c, Math.min(1 - c, n))) + : s >= h - 4 + ? k(o, h - 2 - s) + : 0.5, + ); + return a; + })(d, p, i); + (!(function (t, e, r) { + for (var n = 0; n < 16; n++) t["p" + n.toString(16)](M(e, r, n)); + })(E, d, o), + (L = S.texture( + l.extendFlat( + { + data: (function (t, e, r) { + for (var n = [], i = 0; i < 256; i++) { + var a = t(i / 255); + n.push((e ? v : a).concat(r)); + } + return n; + })(r.unitToColor, A, Math.round(255 * (A ? a : 1))), + }, + b, + ), + ))); + } + var D = [0, 1]; + var O = []; + function I(t, e, n, i, a, o, s, c, u, f, h) { + var p, + d, + g, + m, + v = [t, e], + y = [0, 1].map(function () { + return [0, 1, 2, 3].map(function () { + return new Float32Array(16); + }); + }); + for (p = 0; p < 2; p++) + for (m = v[p], d = 0; d < 4; d++) + for (g = 0; g < 16; g++) y[p][d][g] = g + 16 * d === m ? 1 : 0; + var x = r.lines.canvasOverdrag, + b = r.domain, + _ = r.canvasWidth, + w = r.canvasHeight; + return l.extendFlat( + { + key: s, + resolution: [_, w], + viewBoxPosition: [n + x, i], + viewBoxSize: [a, o], + i: t, + ii: e, + dim1A: y[0][0], + dim1B: y[0][1], + dim1C: y[0][2], + dim1D: y[0][3], + dim2A: y[1][0], + dim2B: y[1][1], + dim2C: y[1][2], + dim2D: y[1][3], + colorClamp: D, + scissorX: + (c === u ? 0 : n + x) + (r.pad.l - x) + r.layoutWidth * b.x[0], + scissorWidth: (c === f ? _ - n + x : a + 0.5) + (c === u ? n + x : 0), + scissorY: i + r.pad.b + r.layoutHeight * b.y[0], + scissorHeight: o, + viewportX: r.pad.l - x + r.layoutWidth * b.x[0], + viewportY: r.pad.b + r.layoutHeight * b.y[0], + viewportWidth: _, + viewportHeight: w, + }, + h, + ); + } + return { + setColorDomain: function (t) { + ((D[0] = t[0]), (D[1] = t[1])); + }, + render: function (t, e, n) { + var i, + a, + o, + s = t.length, + l = 1 / 0, + c = -1 / 0; + for (i = 0; i < s; i++) + (t[i].dim2.canvasX > c && ((c = t[i].dim2.canvasX), (o = i)), + t[i].dim1.canvasX < l && ((l = t[i].dim1.canvasX), (a = i))); + 0 === s && _(S, 0, 0, r.canvasWidth, r.canvasHeight); + var h = A + ? {} + : (function () { + var t, + e, + r, + n = [0, 1].map(function () { + return [0, 1, 2, 3].map(function () { + return new Float32Array(16); + }); + }); + for (t = 0; t < 2; t++) + for (e = 0; e < 4; e++) + for (r = 0; r < 16; r++) { + var i, + a = r + 16 * e; + ((i = a < p.length ? p[a].brush.filter.getBounds()[t] : t), + (n[t][e][r] = i + (2 * t - 1) * u)); + } + function o(t, e) { + var r = f - 1; + return [ + Math.max(0, Math.floor(e[0] * r)), + Math.min(r, Math.ceil(e[1] * r)), + ]; + } + for ( + var s = Array.apply(null, new Array(f * m)).map(function () { + return 255; + }), + l = 0; + l < p.length; + l++ + ) { + var c = l % g, + h = (l - c) / g, + d = Math.pow(2, c), + v = p[l], + x = v.brush.filter.get(); + if (!(x.length < 2)) + for (var b = o(0, x[0])[1], _ = 1; _ < x.length; _++) { + for (var w = o(0, x[_]), k = b + 1; k < w[0]; k++) + s[k * m + h] &= ~d; + b = Math.max(b, w[1]); + } + } + var M = { + shape: [m, f], + format: "alpha", + type: "uint8", + mag: "nearest", + min: "nearest", + data: s, + }; + return ( + y ? y(M) : (y = S.texture(M)), + { + maskTexture: y, + maskHeight: f, + loA: n[0][0], + loB: n[0][1], + loC: n[0][2], + loD: n[0][3], + hiA: n[1][0], + hiB: n[1][1], + hiC: n[1][2], + hiD: n[1][3], + } + ); + })(); + for (i = 0; i < s; i++) { + var v = t[i], + x = v.dim1, + b = x.crossfilterDimensionIndex, + k = v.canvasX, + M = v.canvasY, + T = v.dim2.crossfilterDimensionIndex, + E = v.panelSizeX, + L = v.panelSizeY, + P = k + E; + if (e || !O[b] || O[b][0] !== k || O[b][1] !== P) { + O[b] = [k, P]; + var D = I( + b, + T, + k, + M, + E, + L, + x.crossfilterDimensionIndex, + i, + a, + o, + h, + ); + ((C.clearOnly = n), + w(S, z, C, e ? r.lines.blockLineCount : d, d, D)); + } + } + }, + readPixel: function (t, e) { + return (S.read({ x: t, y: e, width: 1, height: 1, data: x }), x); + }, + readPixels: function (t, e, r, n) { + var i = new Uint8Array(4 * r * n); + return (S.read({ x: t, y: e, width: r, height: n, data: i }), i); + }, + destroy: function () { + for (var e in ((t.style["pointer-events"] = "none"), + L.destroy(), + y && y.destroy(), + E)) + E[e].destroy(); + }, + update: P, + }; + }; + }, + { "../../lib": 602, glslify: 295 }, + ], + 899: [ + function (t, e, r) { + "use strict"; + var n = t("./lines"), + i = t("./constants"), + a = t("../../lib"), + o = t("d3"), + s = t("../../components/drawing"), + l = t("../../lib/gup"), + c = l.keyFun, + u = l.repeat, + f = l.unwrap, + h = t("./axisbrush"); + function p(t) { + return !("visible" in t) || t.visible; + } + function d(t) { + var e = t.range + ? t.range[0] + : a.aggNums(Math.min, null, t.values, t._length), + r = t.range ? t.range[1] : a.aggNums(Math.max, null, t.values, t._length); + return ( + (!isNaN(e) && isFinite(e)) || (e = 0), + (!isNaN(r) && isFinite(r)) || (r = 0), + e === r && (0 === e ? ((e -= 1), (r += 1)) : ((e *= 0.9), (r *= 1.1))), + [e, r] + ); + } + function g(t) { + return t.dimensions.some(function (t) { + return t.brush.filterSpecified; + }); + } + function m(t, e, r) { + var n = f(e), + s = n.trace, + l = n.lineColor, + c = n.cscale, + u = s.line, + h = s.domain, + g = s.dimensions, + m = t.width, + v = s.labelfont, + y = s.tickfont, + x = s.rangefont, + b = a.extendDeepNoArrays({}, u, { + color: l.map( + o.scale + .linear() + .domain( + d({ values: l, range: [u.cmin, u.cmax], _length: s._length }), + ), + ), + blockLineCount: i.blockLineCount, + canvasOverdrag: i.overdrag * i.canvasPixelRatio, + }), + _ = Math.floor(m * (h.x[1] - h.x[0])), + w = Math.floor(t.height * (h.y[1] - h.y[0])), + k = t.margin || { l: 80, r: 80, t: 100, b: 80 }, + M = _, + A = w; + return { + key: r, + colCount: g.filter(p).length, + dimensions: g, + tickDistance: i.tickDistance, + unitToColor: (function (t) { + var e = t.map(function (t) { + return t[0]; + }), + r = t.map(function (t) { + return o.rgb(t[1]); + }), + n = "rgb".split("").map(function (t) { + return o.scale + .linear() + .clamp(!0) + .domain(e) + .range( + r.map( + ((n = t), + function (t) { + return t[n]; + }), + ), + ); + var n; + }); + return function (t) { + return n.map(function (e) { + return e(t); + }); + }; + })(c), + lines: b, + labelFont: v, + tickFont: y, + rangeFont: x, + layoutWidth: m, + layoutHeight: t.height, + domain: h, + translateX: h.x[0] * m, + translateY: t.height - h.y[1] * t.height, + pad: k, + canvasWidth: M * i.canvasPixelRatio + 2 * b.canvasOverdrag, + canvasHeight: A * i.canvasPixelRatio, + width: M, + height: A, + canvasPixelRatio: i.canvasPixelRatio, + }; + } + function v(t, e, r) { + var n = r.width, + s = r.height, + l = r.dimensions, + c = r.canvasPixelRatio, + u = function (t) { + return (n * t) / Math.max(1, r.colCount - 1); + }, + f = i.verticalPadding / s, + m = (function (t, e) { + return o.scale.linear().range([e, t - e]); + })(s, i.verticalPadding), + v = { key: r.key, xScale: u, model: r, inBrushDrag: !1 }, + y = {}; + return ( + (v.dimensions = l.filter(p).map(function (n, l) { + var p = (function (t, e) { + return o.scale + .linear() + .domain(d(t)) + .range([e, 1 - e]); + })(n, f), + x = y[n.label]; + y[n.label] = (x || 0) + 1; + var b = n.label + (x ? "__" + x : ""), + _ = n.constraintrange, + w = _ && _.length; + w && !Array.isArray(_[0]) && (_ = [_]); + var k = w + ? _.map(function (t) { + return t.map(p); + }) + : [[0, 1]], + M = n.values; + M.length > n._length && (M = M.slice(0, n._length)); + var A, + T = n.tickvals; + function S(t, e) { + return { val: t, text: A[e] }; + } + function C(t, e) { + return t.val - e.val; + } + if (Array.isArray(T) && T.length) { + ((A = n.ticktext), + Array.isArray(A) && A.length + ? A.length > T.length + ? (A = A.slice(0, T.length)) + : T.length > A.length && (T = T.slice(0, A.length)) + : (A = T.map(o.format(n.tickformat)))); + for (var E = 1; E < T.length; E++) + if (T[E] < T[E - 1]) { + for (var L = T.map(S).sort(C), z = 0; z < T.length; z++) + ((T[z] = L[z].val), (A[z] = L[z].text)); + break; + } + } else T = void 0; + return { + key: b, + label: n.label, + tickFormat: n.tickformat, + tickvals: T, + ticktext: A, + ordinal: !!T, + multiselect: n.multiselect, + xIndex: l, + crossfilterDimensionIndex: l, + visibleIndex: n._index, + height: s, + values: M, + paddedUnitValues: M.map(p), + unitTickvals: T && T.map(p), + xScale: u, + x: u(l), + canvasX: u(l) * c, + unitToPaddedPx: m, + domainScale: (function (t, e, r, n, i) { + var a, + s, + l = d(r); + return n + ? o.scale + .ordinal() + .domain( + n.map( + ((a = o.format(r.tickformat)), + (s = i), + s + ? function (t, e) { + var r = s[e]; + return null === r || void 0 === r ? a(t) : r; + } + : a), + ), + ) + .range( + n.map(function (r) { + var n = (r - l[0]) / (l[1] - l[0]); + return t - e + n * (2 * e - t); + }), + ) + : o.scale + .linear() + .domain(l) + .range([t - e, e]); + })(s, i.verticalPadding, n, T, A), + ordinalScale: (function (t) { + if (t.tickvals) { + var e = d(t); + return o.scale + .ordinal() + .domain(t.tickvals) + .range( + t.tickvals.map(function (t) { + return (t - e[0]) / (e[1] - e[0]); + }), + ); + } + })(n), + parent: v, + model: r, + brush: h.makeBrush( + t, + w, + k, + function () { + t.linePickActive(!1); + }, + function () { + var e = v; + e.focusLayer && e.focusLayer.render(e.panels, !0); + var r = g(e); + !t.contextShown() && r + ? (e.contextLayer && e.contextLayer.render(e.panels, !0), + t.contextShown(!0)) + : t.contextShown() && + !r && + (e.contextLayer && e.contextLayer.render(e.panels, !0, !0), + t.contextShown(!1)); + }, + function (r) { + var i = v; + if ( + (i.focusLayer.render(i.panels, !0), + i.pickLayer && i.pickLayer.render(i.panels, !0), + t.linePickActive(!0), + e && e.filterChanged) + ) { + var o = p.invert, + s = r + .map(function (t) { + return t.map(o).sort(a.sorterAsc); + }) + .sort(function (t, e) { + return t[0] - e[0]; + }); + e.filterChanged(i.key, n._index, s); + } + }, + ), + }; + })), + v + ); + } + function y(t) { + t.classed(i.cn.axisExtentText, !0) + .attr("text-anchor", "middle") + .style("cursor", "default") + .style("user-select", "none"); + } + e.exports = function (t, e, r, l, p, d) { + var x, + b, + _ = + ((x = !0), + (b = !1), + { + linePickActive: function (t) { + return arguments.length ? (x = !!t) : x; + }, + contextShown: function (t) { + return arguments.length ? (b = !!t) : b; + }, + }), + w = l + .filter(function (t) { + return f(t).trace.visible; + }) + .map(m.bind(0, p)) + .map(v.bind(0, _, d)); + r.each(function (t, e) { + return a.extendFlat(t, w[e]); + }); + var k = r.selectAll(".gl-canvas").each(function (t) { + ((t.viewModel = w[0]), + (t.model = t.viewModel ? t.viewModel.model : null)); + }), + M = null; + (k + .filter(function (t) { + return t.pick; + }) + .style("pointer-events", "auto") + .on("mousemove", function (t) { + if (_.linePickActive() && t.lineLayer && d && d.hover) { + var e = o.event, + r = this.width, + n = this.height, + i = o.mouse(this), + a = i[0], + s = i[1]; + if (a < 0 || s < 0 || a >= r || s >= n) return; + var l = t.lineLayer.readPixel(a, n - 1 - s), + c = 0 !== l[3], + u = c ? l[2] + 256 * (l[1] + 256 * l[0]) : null, + f = { + x: a, + y: s, + clientX: e.clientX, + clientY: e.clientY, + dataIndex: t.model.key, + curveNumber: u, + }; + u !== M && (c ? d.hover(f) : d.unhover && d.unhover(f), (M = u)); + } + }), + k.style("opacity", function (t) { + return t.pick ? 0.01 : 1; + }), + e.style("background", "rgba(255, 255, 255, 0)")); + var A = e.selectAll("." + i.cn.parcoords).data(w, c); + (A.exit().remove(), + A.enter() + .append("g") + .classed(i.cn.parcoords, !0) + .style("shape-rendering", "crispEdges") + .style("pointer-events", "none"), + A.attr("transform", function (t) { + return ( + "translate(" + t.model.translateX + "," + t.model.translateY + ")" + ); + })); + var T = A.selectAll("." + i.cn.parcoordsControlView).data(u, c); + (T.enter().append("g").classed(i.cn.parcoordsControlView, !0), + T.attr("transform", function (t) { + return "translate(" + t.model.pad.l + "," + t.model.pad.t + ")"; + })); + var S = T.selectAll("." + i.cn.yAxis).data(function (t) { + return t.dimensions; + }, c); + function C(t, e) { + for ( + var r = e.panels || (e.panels = []), + n = t.data(), + i = n.length - 1, + a = 0; + a < i; + a++ + ) { + var o = r[a] || (r[a] = {}), + s = n[a], + l = n[a + 1]; + ((o.dim1 = s), + (o.dim2 = l), + (o.canvasX = s.canvasX), + (o.panelSizeX = l.canvasX - s.canvasX), + (o.panelSizeY = e.model.canvasHeight), + (o.y = 0), + (o.canvasY = 0)); + } + } + (S.enter().append("g").classed(i.cn.yAxis, !0), + T.each(function (t) { + C(S, t); + }), + k.each(function (t) { + t.viewModel && + (t.lineLayer ? t.lineLayer.update(t) : (t.lineLayer = n(this, t)), + (t.viewModel[t.key] = t.lineLayer), + t.lineLayer.render(t.viewModel.panels, !t.context)); + }), + S.attr("transform", function (t) { + return "translate(" + t.xScale(t.xIndex) + ", 0)"; + }), + S.call( + o.behavior + .drag() + .origin(function (t) { + return t; + }) + .on("drag", function (t) { + var e = t.parent; + (_.linePickActive(!1), + (t.x = Math.max( + -i.overdrag, + Math.min(t.model.width + i.overdrag, o.event.x), + )), + (t.canvasX = t.x * t.model.canvasPixelRatio), + S.sort(function (t, e) { + return t.x - e.x; + }).each(function (e, r) { + ((e.xIndex = r), + (e.x = t === e ? e.x : e.xScale(e.xIndex)), + (e.canvasX = e.x * e.model.canvasPixelRatio)); + }), + C(S, e), + S.filter(function (e) { + return 0 !== Math.abs(t.xIndex - e.xIndex); + }).attr("transform", function (t) { + return "translate(" + t.xScale(t.xIndex) + ", 0)"; + }), + o.select(this).attr("transform", "translate(" + t.x + ", 0)"), + S.each(function (r, n, i) { + i === t.parent.key && (e.dimensions[n] = r); + }), + e.contextLayer && e.contextLayer.render(e.panels, !1, !g(e)), + e.focusLayer.render && e.focusLayer.render(e.panels)); + }) + .on("dragend", function (t) { + var e = t.parent; + ((t.x = t.xScale(t.xIndex)), + (t.canvasX = t.x * t.model.canvasPixelRatio), + C(S, e), + o.select(this).attr("transform", function (t) { + return "translate(" + t.x + ", 0)"; + }), + e.contextLayer && e.contextLayer.render(e.panels, !1, !g(e)), + e.focusLayer && e.focusLayer.render(e.panels), + e.pickLayer && e.pickLayer.render(e.panels, !0), + _.linePickActive(!0), + d && + d.axesMoved && + d.axesMoved( + e.key, + e.dimensions.map(function (t) { + return t.crossfilterDimensionIndex; + }), + )); + }), + ), + S.exit().remove()); + var E = S.selectAll("." + i.cn.axisOverlays).data(u, c); + (E.enter().append("g").classed(i.cn.axisOverlays, !0), + E.selectAll("." + i.cn.axis).remove()); + var L = E.selectAll("." + i.cn.axis).data(u, c); + (L.enter().append("g").classed(i.cn.axis, !0), + L.each(function (t) { + var e = t.model.height / t.model.tickDistance, + r = t.domainScale, + n = r.domain(); + (o.select(this).call( + o.svg + .axis() + .orient("left") + .tickSize(4) + .outerTickSize(2) + .ticks(e, t.tickFormat) + .tickValues(t.ordinal ? n : null) + .tickFormat( + t.ordinal + ? function (t) { + return t; + } + : null, + ) + .scale(r), + ), + s.font(L.selectAll("text"), t.model.tickFont)); + }), + L.selectAll(".domain, .tick>line") + .attr("fill", "none") + .attr("stroke", "black") + .attr("stroke-opacity", 0.25) + .attr("stroke-width", "1px"), + L.selectAll("text") + .style( + "text-shadow", + "1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff", + ) + .style("cursor", "default") + .style("user-select", "none")); + var z = E.selectAll("." + i.cn.axisHeading).data(u, c); + z.enter().append("g").classed(i.cn.axisHeading, !0); + var P = z.selectAll("." + i.cn.axisTitle).data(u, c); + (P.enter() + .append("text") + .classed(i.cn.axisTitle, !0) + .attr("text-anchor", "middle") + .style("cursor", "ew-resize") + .style("user-select", "none") + .style("pointer-events", "auto"), + P.attr("transform", "translate(0," + -i.axisTitleOffset + ")") + .text(function (t) { + return t.label; + }) + .each(function (t) { + s.font(o.select(this), t.model.labelFont); + })); + var D = E.selectAll("." + i.cn.axisExtent).data(u, c); + D.enter().append("g").classed(i.cn.axisExtent, !0); + var O = D.selectAll("." + i.cn.axisExtentTop).data(u, c); + (O.enter().append("g").classed(i.cn.axisExtentTop, !0), + O.attr("transform", "translate(0," + -i.axisExtentOffset + ")")); + var I = O.selectAll("." + i.cn.axisExtentTopText).data(u, c); + function R(t, e) { + if (t.ordinal) return ""; + var r = t.domainScale.domain(); + return o.format(t.tickFormat)(r[e ? r.length - 1 : 0]); + } + (I.enter().append("text").classed(i.cn.axisExtentTopText, !0).call(y), + I.text(function (t) { + return R(t, !0); + }).each(function (t) { + s.font(o.select(this), t.model.rangeFont); + })); + var B = D.selectAll("." + i.cn.axisExtentBottom).data(u, c); + (B.enter().append("g").classed(i.cn.axisExtentBottom, !0), + B.attr("transform", function (t) { + return "translate(0," + (t.model.height + i.axisExtentOffset) + ")"; + })); + var F = B.selectAll("." + i.cn.axisExtentBottomText).data(u, c); + (F.enter() + .append("text") + .classed(i.cn.axisExtentBottomText, !0) + .attr("dy", "0.75em") + .call(y), + F.text(function (t) { + return R(t); + }).each(function (t) { + s.font(o.select(this), t.model.rangeFont); + }), + h.ensureAxisBrush(E)); + }; + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/gup": 599, + "./axisbrush": 891, + "./constants": 895, + "./lines": 898, + d3: 130, + }, + ], + 900: [ + function (t, e, r) { + "use strict"; + var n = t("./parcoords"), + i = t("../../lib/prepare_regl"); + e.exports = function (t, e) { + var r = t._fullLayout, + a = r._toppaper, + o = r._paperdiv, + s = r._glcontainer; + i(t); + var l = {}, + c = {}, + u = r._size; + e.forEach(function (e, r) { + ((l[r] = t.data[r].dimensions), (c[r] = t.data[r].dimensions.slice())); + }); + n( + o, + a, + s, + e, + { width: u.w, height: u.h, margin: { t: u.t, r: u.r, b: u.b, l: u.l } }, + { + filterChanged: function (e, r, n) { + var i = c[e][r], + a = n.map(function (t) { + return t.slice(); + }); + a.length + ? (1 === a.length && (a = a[0]), (i.constraintrange = a), (a = [a])) + : (delete i.constraintrange, (a = null)); + var o = {}; + ((o["dimensions[" + r + "].constraintrange"] = a), + t.emit("plotly_restyle", [o, [e]])); + }, + hover: function (e) { + t.emit("plotly_hover", e); + }, + unhover: function (e) { + t.emit("plotly_unhover", e); + }, + axesMoved: function (e, r) { + function n(t) { + return !("visible" in t) || t.visible; + } + function i(t, e, r) { + var n = e.indexOf(r), + i = t.indexOf(n); + return (-1 === i && (i += e.length), i); + } + var a = (function (t) { + return function (e, n) { + return i(r, t, e) - i(r, t, n); + }; + })(c[e].filter(n)); + (l[e].sort(a), + c[e] + .filter(function (t) { + return !n(t); + }) + .sort(function (t) { + return c[e].indexOf(t); + }) + .forEach(function (t) { + (l[e].splice(l[e].indexOf(t), 1), + l[e].splice(c[e].indexOf(t), 0, t)); + }), + t.emit("plotly_restyle")); + }, + }, + ); + }; + }, + { "../../lib/prepare_regl": 615, "./parcoords": 899 }, + ], + 901: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color/attributes"), + i = t("../../plots/font_attributes"), + a = t("../../plots/attributes"), + o = t("../../plots/domain").attributes, + s = t("../../lib/extend").extendFlat, + l = i({ editType: "calc", colorEditType: "style" }); + e.exports = { + labels: { valType: "data_array", editType: "calc" }, + label0: { valType: "number", dflt: 0, editType: "calc" }, + dlabel: { valType: "number", dflt: 1, editType: "calc" }, + values: { valType: "data_array", editType: "calc" }, + marker: { + colors: { valType: "data_array", editType: "calc" }, + line: { + color: { + valType: "color", + dflt: n.defaultLine, + arrayOk: !0, + editType: "style", + }, + width: { + valType: "number", + min: 0, + dflt: 0, + arrayOk: !0, + editType: "style", + }, + editType: "calc", + }, + editType: "calc", + }, + text: { valType: "data_array", editType: "calc" }, + hovertext: { valType: "string", dflt: "", arrayOk: !0, editType: "style" }, + scalegroup: { valType: "string", dflt: "", editType: "calc" }, + textinfo: { + valType: "flaglist", + flags: ["label", "text", "value", "percent"], + extras: ["none"], + editType: "calc", + }, + hoverinfo: s({}, a.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + textposition: { + valType: "enumerated", + values: ["inside", "outside", "auto", "none"], + dflt: "auto", + arrayOk: !0, + editType: "calc", + }, + textfont: s({}, l, {}), + insidetextfont: s({}, l, {}), + outsidetextfont: s({}, l, {}), + domain: o({ name: "pie", trace: !0, editType: "calc" }), + hole: { valType: "number", min: 0, max: 1, dflt: 0, editType: "calc" }, + sort: { valType: "boolean", dflt: !0, editType: "calc" }, + direction: { + valType: "enumerated", + values: ["clockwise", "counterclockwise"], + dflt: "counterclockwise", + editType: "calc", + }, + rotation: { + valType: "number", + min: -360, + max: 360, + dflt: 0, + editType: "calc", + }, + pull: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + arrayOk: !0, + editType: "calc", + }, + }; + }, + { + "../../components/color/attributes": 473, + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../../plots/domain": 673, + "../../plots/font_attributes": 674, + }, + ], + 902: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../plots/get_data").getModuleCalcData; + ((r.name = "pie"), + (r.plot = function (t) { + var e = n.getModule("pie"), + r = i(t.calcdata, e)[0]; + r.length && e.plot(t, r); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has("pie"), + a = e._has && e._has("pie"); + i && !a && n._pielayer.selectAll("g.trace").remove(); + })); + }, + { "../../plots/get_data": 684, "../../registry": 732 }, + ], + 903: [ + function (t, e, r) { + "use strict"; + var n, + i = t("fast-isnumeric"), + a = t("../../lib").isArrayOrTypedArray, + o = t("tinycolor2"), + s = t("../../components/color"), + l = t("./helpers"); + function c(t, e) { + if (!n) { + var r = s.defaults; + n = u(r); + } + var i = e || n; + return i[t % i.length]; + } + function u(t) { + var e, + r = t.slice(); + for (e = 0; e < t.length; e++) r.push(o(t[e]).lighten(20).toHexString()); + for (e = 0; e < t.length; e++) r.push(o(t[e]).darken(20).toHexString()); + return r; + } + e.exports = function (t, e) { + var r, + n, + f, + h, + p, + d = e.values, + g = a(d) && d.length, + m = e.labels, + v = e.marker.colors || [], + y = [], + x = t._fullLayout, + b = x.colorway, + _ = x._piecolormap, + w = {}, + k = 0, + M = x.hiddenlabels || []; + if ( + (x._piecolorway || b === s.defaults || (x._piecolorway = u(b)), e.dlabel) + ) + for (m = new Array(d.length), r = 0; r < d.length; r++) + m[r] = String(e.label0 + r * e.dlabel); + function A(t, e) { + return ( + !!t && + !!(t = o(t)).isValid() && + ((t = s.addOpacity(t, t.getAlpha())), _[e] || (_[e] = t), t) + ); + } + var T = (g ? d : m).length; + for (r = 0; r < T; r++) { + if (g) { + if (((n = d[r]), !i(n))) continue; + if ((n = +n) < 0) continue; + } else n = 1; + (void 0 !== (f = m[r]) && "" !== f) || (f = r); + var S = w[(f = String(f))]; + void 0 === S + ? ((w[f] = y.length), + (h = -1 !== M.indexOf(f)) || (k += n), + y.push({ v: n, label: f, color: A(v[r]), i: r, pts: [r], hidden: h })) + : (((p = y[S]).v += n), + p.pts.push(r), + p.hidden || (k += n), + !1 === p.color && v[r] && (p.color = A(v[r], f))); + } + for ( + e.sort && + y.sort(function (t, e) { + return e.v - t.v; + }), + r = 0; + r < y.length; + r++ + ) + !1 === (p = y[r]).color && + (_[p.label] + ? (p.color = _[p.label]) + : ((_[p.label] = p.color = + c(x._piedefaultcolorcount, x._piecolorway)), + x._piedefaultcolorcount++)); + if ((y[0] && (y[0].vTotal = k), e.textinfo && "none" !== e.textinfo)) { + var C, + E = -1 !== e.textinfo.indexOf("label"), + L = -1 !== e.textinfo.indexOf("text"), + z = -1 !== e.textinfo.indexOf("value"), + P = -1 !== e.textinfo.indexOf("percent"), + D = x.separators; + for (r = 0; r < y.length; r++) { + if (((p = y[r]), (C = E ? [p.label] : []), L)) { + var O = l.getFirstFilled(e.text, p.pts); + O && C.push(O); + } + (z && C.push(l.formatPieValue(p.v, D)), + P && C.push(l.formatPiePercent(p.v / k, D)), + (p.text = C.join("
      "))); + } + } + return y; + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "./helpers": 906, + "fast-isnumeric": 196, + tinycolor2: 415, + }, + ], + 904: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("../../plots/domain").defaults; + e.exports = function (t, e, r, o) { + function s(r, a) { + return n.coerce(t, e, i, r, a); + } + var l, + c = n.coerceFont, + u = s("values"), + f = n.isArrayOrTypedArray(u), + h = s("labels"); + if ( + (Array.isArray(h) && ((l = h.length), f && (l = Math.min(l, u.length))), + !Array.isArray(h)) + ) { + if (!f) return void (e.visible = !1); + ((l = u.length), s("label0"), s("dlabel")); + } + if (l) { + ((e._length = l), + s("marker.line.width") && s("marker.line.color"), + s("marker.colors"), + s("scalegroup")); + var p = s("text"), + d = s("textinfo", Array.isArray(p) ? "text+percent" : "percent"); + if ((s("hovertext"), d && "none" !== d)) { + var g = s("textposition"), + m = Array.isArray(g) || "auto" === g, + v = m || "inside" === g, + y = m || "outside" === g; + if (v || y) { + var x = c(s, "textfont", o.font); + (v && c(s, "insidetextfont", x), y && c(s, "outsidetextfont", x)); + } + } + (a(e, o, s), + s("hole"), + s("sort"), + s("direction"), + s("rotation"), + s("pull")); + } else e.visible = !1; + }; + }, + { "../../lib": 602, "../../plots/domain": 673, "./attributes": 901 }, + ], + 905: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/fx/helpers").appendArrayMultiPointValues; + e.exports = function (t, e) { + var r = { + curveNumber: e.index, + pointNumbers: t.pts, + data: e._input, + fullData: e, + label: t.label, + color: t.color, + value: t.v, + v: t.v, + }; + return ( + 1 === t.pts.length && (r.pointNumber = r.i = t.pts[0]), + n(r, e, t.pts), + r + ); + }; + }, + { "../../components/fx/helpers": 513 }, + ], + 906: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + ((r.formatPiePercent = function (t, e) { + var r = (100 * t).toPrecision(3); + return ( + -1 !== r.lastIndexOf(".") && (r = r.replace(/[.]?0+$/, "")), + n.numSeparate(r, e) + "%" + ); + }), + (r.formatPieValue = function (t, e) { + var r = t.toPrecision(10); + return ( + -1 !== r.lastIndexOf(".") && (r = r.replace(/[.]?0+$/, "")), + n.numSeparate(r, e) + ); + }), + (r.getFirstFilled = function (t, e) { + if (Array.isArray(t)) + for (var r = 0; r < e.length; r++) { + var n = t[e[r]]; + if (n || 0 === n) return n; + } + }), + (r.castOption = function (t, e) { + return Array.isArray(t) ? r.getFirstFilled(t, e) : t || void 0; + })); + }, + { "../../lib": 602 }, + ], + 907: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.supplyLayoutDefaults = t("./layout_defaults")), + (n.layoutAttributes = t("./layout_attributes")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("./style")), + (n.styleOne = t("./style_one")), + (n.moduleType = "trace"), + (n.name = "pie"), + (n.basePlotModule = t("./base_plot")), + (n.categories = ["pie", "showLegend"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "./attributes": 901, + "./base_plot": 902, + "./calc": 903, + "./defaults": 904, + "./layout_attributes": 908, + "./layout_defaults": 909, + "./plot": 910, + "./style": 911, + "./style_one": 912, + }, + ], + 908: [ + function (t, e, r) { + "use strict"; + e.exports = { hiddenlabels: { valType: "data_array", editType: "calc" } }; + }, + {}, + ], + 909: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./layout_attributes"); + e.exports = function (t, e) { + var r, a; + ((r = "hiddenlabels"), n.coerce(t, e, i, r, a)); + }; + }, + { "../../lib": 602, "./layout_attributes": 908 }, + ], + 910: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/fx"), + a = t("../../components/color"), + o = t("../../components/drawing"), + s = t("../../lib"), + l = t("../../lib/svg_text_utils"), + c = t("./helpers"), + u = t("./event_data"); + function f(t, e) { + if (t.v === e.vTotal && !e.trace.hole) return 1; + var r = Math.PI * Math.min(t.v / e.vTotal, 0.5); + return Math.min(1 / (1 + 1 / Math.sin(r)), (1 - e.trace.hole) / 2); + } + function h(t, e) { + var r = e.pxmid[0], + n = e.pxmid[1], + i = t.width / 2, + a = t.height / 2; + return ( + r < 0 && (i *= -1), + n < 0 && (a *= -1), + { + scale: 1, + rCenter: 1, + rotate: 0, + x: i + (Math.abs(a) * (i > 0 ? 1 : -1)) / 2, + y: a / (1 + (r * r) / (n * n)), + outside: !0, + } + ); + } + e.exports = function (t, e) { + var r = t._fullLayout; + !(function (t, e) { + var r, + n, + i, + a, + o, + s, + l, + c, + u, + f = []; + for (i = 0; i < t.length; i++) { + if ( + ((o = t[i][0]), + (s = o.trace), + (r = e.w * (s.domain.x[1] - s.domain.x[0])), + (n = e.h * (s.domain.y[1] - s.domain.y[0])), + (l = s.pull), + Array.isArray(l)) + ) + for (l = 0, a = 0; a < s.pull.length; a++) + s.pull[a] > l && (l = s.pull[a]); + ((o.r = Math.min(r, n) / (2 + 2 * l)), + (o.cx = e.l + (e.w * (s.domain.x[1] + s.domain.x[0])) / 2), + (o.cy = e.t + (e.h * (2 - s.domain.y[1] - s.domain.y[0])) / 2), + s.scalegroup && + -1 === f.indexOf(s.scalegroup) && + f.push(s.scalegroup)); + } + for (a = 0; a < f.length; a++) { + for (u = 1 / 0, c = f[a], i = 0; i < t.length; i++) + (o = t[i][0]).trace.scalegroup === c && + (u = Math.min(u, (o.r * o.r) / o.vTotal)); + for (i = 0; i < t.length; i++) + (o = t[i][0]).trace.scalegroup === c && + (o.r = Math.sqrt(u * o.vTotal)); + } + })(e, r._size); + var p = r._pielayer.selectAll("g.trace").data(e); + (p.enter().append("g").attr({ "stroke-linejoin": "round", class: "trace" }), + p.exit().remove(), + p.order(), + p.each(function (e) { + var p = n.select(this), + d = e[0], + g = d.trace; + (!(function (t) { + var e, + r, + n, + i = t[0], + a = i.trace, + o = (a.rotation * Math.PI) / 180, + s = (2 * Math.PI) / i.vTotal, + l = "px0", + c = "px1"; + if ("counterclockwise" === a.direction) { + for (e = 0; e < t.length && t[e].hidden; e++); + if (e === t.length) return; + ((o += s * t[e].v), (s *= -1), (l = "px1"), (c = "px0")); + } + function u(t) { + return [i.r * Math.sin(t), -i.r * Math.cos(t)]; + } + for (n = u(o), e = 0; e < t.length; e++) + (r = t[e]).hidden || + ((r[l] = n), + (o += (s * r.v) / 2), + (r.pxmid = u(o)), + (r.midangle = o), + (o += (s * r.v) / 2), + (n = u(o)), + (r[c] = n), + (r.largeArc = r.v > i.vTotal / 2 ? 1 : 0)); + })(e), + p.each(function () { + var p = n.select(this).selectAll("g.slice").data(e); + (p.enter().append("g").classed("slice", !0), p.exit().remove()); + var m = [ + [[], []], + [[], []], + ], + v = !1; + (p.each(function (e) { + if (e.hidden) n.select(this).selectAll("path,g").remove(); + else { + ((e.pointNumber = e.i), + (e.curveNumber = g.index), + m[e.pxmid[1] < 0 ? 0 : 1][e.pxmid[0] < 0 ? 0 : 1].push(e)); + var a = d.cx, + p = d.cy, + y = n.select(this), + x = y.selectAll("path.surface").data([e]), + b = !1, + _ = !1; + if ( + (x + .enter() + .append("path") + .classed("surface", !0) + .style({ "pointer-events": "all" }), + y.select("path.textline").remove(), + y + .on("mouseover", function () { + var o = t._fullLayout, + s = t._fullData[g.index]; + if (!t._dragging && !1 !== o.hovermode) { + var l = s.hoverinfo; + if ( + (Array.isArray(l) && + (l = i.castHoverinfo( + { + hoverinfo: [c.castOption(l, e.pts)], + _module: g._module, + }, + o, + 0, + )), + "all" === l && (l = "label+text+value+percent+name"), + "none" !== l && "skip" !== l && l) + ) { + var h = f(e, d), + m = a + e.pxmid[0] * (1 - h), + v = p + e.pxmid[1] * (1 - h), + y = r.separators, + x = []; + if ( + (-1 !== l.indexOf("label") && x.push(e.label), + -1 !== l.indexOf("text")) + ) { + var w = c.castOption(s.hovertext || s.text, e.pts); + w && x.push(w); + } + (-1 !== l.indexOf("value") && + x.push(c.formatPieValue(e.v, y)), + -1 !== l.indexOf("percent") && + x.push(c.formatPiePercent(e.v / d.vTotal, y))); + var k = g.hoverlabel, + M = k.font; + (i.loneHover( + { + x0: m - h * d.r, + x1: m + h * d.r, + y: v, + text: x.join("
      "), + name: -1 !== l.indexOf("name") ? s.name : void 0, + idealAlign: e.pxmid[0] < 0 ? "left" : "right", + color: c.castOption(k.bgcolor, e.pts) || e.color, + borderColor: c.castOption(k.bordercolor, e.pts), + fontFamily: c.castOption(M.family, e.pts), + fontSize: c.castOption(M.size, e.pts), + fontColor: c.castOption(M.color, e.pts), + }, + { + container: o._hoverlayer.node(), + outerContainer: o._paper.node(), + gd: t, + }, + ), + (b = !0)); + } + (t.emit("plotly_hover", { + points: [u(e, s)], + event: n.event, + }), + (_ = !0)); + } + }) + .on("mouseout", function (r) { + var a = t._fullLayout, + o = t._fullData[g.index]; + (_ && + ((r.originalEvent = n.event), + t.emit("plotly_unhover", { + points: [u(e, o)], + event: n.event, + }), + (_ = !1)), + b && (i.loneUnhover(a._hoverlayer.node()), (b = !1))); + }) + .on("click", function () { + var r = t._fullLayout, + a = t._fullData[g.index]; + t._dragging || + !1 === r.hovermode || + ((t._hoverdata = [u(e, a)]), i.click(t, n.event)); + }), + g.pull) + ) { + var w = +c.castOption(g.pull, e.pts) || 0; + w > 0 && ((a += w * e.pxmid[0]), (p += w * e.pxmid[1])); + } + ((e.cxFinal = a), (e.cyFinal = p)); + var k = g.hole; + if (e.v === d.vTotal) { + var M = + "M" + + (a + e.px0[0]) + + "," + + (p + e.px0[1]) + + E(e.px0, e.pxmid, !0, 1) + + E(e.pxmid, e.px0, !0, 1) + + "Z"; + k + ? x.attr( + "d", + "M" + + (a + k * e.px0[0]) + + "," + + (p + k * e.px0[1]) + + E(e.px0, e.pxmid, !1, k) + + E(e.pxmid, e.px0, !1, k) + + "Z" + + M, + ) + : x.attr("d", M); + } else { + var A = E(e.px0, e.px1, !0, 1); + if (k) { + var T = 1 - k; + x.attr( + "d", + "M" + + (a + k * e.px1[0]) + + "," + + (p + k * e.px1[1]) + + E(e.px1, e.px0, !1, k) + + "l" + + T * e.px0[0] + + "," + + T * e.px0[1] + + A + + "Z", + ); + } else + x.attr( + "d", + "M" + + a + + "," + + p + + "l" + + e.px0[0] + + "," + + e.px0[1] + + A + + "Z", + ); + } + var S = c.castOption(g.textposition, e.pts), + C = y + .selectAll("g.slicetext") + .data(e.text && "none" !== S ? [0] : []); + (C.enter().append("g").classed("slicetext", !0), + C.exit().remove(), + C.each(function () { + var r = s.ensureSingle( + n.select(this), + "text", + "", + function (t) { + t.attr("data-notex", 1); + }, + ); + r.text(e.text) + .attr({ + class: "slicetext", + transform: "", + "text-anchor": "middle", + }) + .call( + o.font, + "outside" === S ? g.outsidetextfont : g.insidetextfont, + ) + .call(l.convertToTspans, t); + var i, + c = o.bBox(r.node()); + "outside" === S + ? (i = h(c, e)) + : ((i = (function (t, e, r) { + var n = Math.sqrt( + t.width * t.width + t.height * t.height, + ), + i = t.width / t.height, + a = Math.PI * Math.min(e.v / r.vTotal, 0.5), + o = 1 - r.trace.hole, + s = f(e, r), + l = { + scale: (s * r.r * 2) / n, + rCenter: 1 - s, + rotate: 0, + }; + if (l.scale >= 1) return l; + var c = i + 1 / (2 * Math.tan(a)), + u = + r.r * + Math.min( + 1 / (Math.sqrt(c * c + 0.5) + c), + o / (Math.sqrt(i * i + o / 2) + i), + ), + h = { + scale: (2 * u) / t.height, + rCenter: Math.cos(u / r.r) - (u * i) / r.r, + rotate: + (((180 / Math.PI) * e.midangle + 720) % 180) - + 90, + }, + p = 1 / i, + d = p + 1 / (2 * Math.tan(a)), + g = + r.r * + Math.min( + 1 / (Math.sqrt(d * d + 0.5) + d), + o / (Math.sqrt(p * p + o / 2) + p), + ), + m = { + scale: (2 * g) / t.width, + rCenter: Math.cos(g / r.r) - g / i / r.r, + rotate: + (((180 / Math.PI) * e.midangle + 810) % 180) - + 90, + }, + v = m.scale > h.scale ? m : h; + return l.scale < 1 && v.scale > l.scale ? v : l; + })(c, e, d)), + "auto" === S && + i.scale < 1 && + (r.call(o.font, g.outsidetextfont), + (g.outsidetextfont.family === + g.insidetextfont.family && + g.outsidetextfont.size === g.insidetextfont.size) || + (c = o.bBox(r.node())), + (i = h(c, e)))); + var u = a + e.pxmid[0] * i.rCenter + (i.x || 0), + m = p + e.pxmid[1] * i.rCenter + (i.y || 0); + (i.outside && + ((e.yLabelMin = m - c.height / 2), + (e.yLabelMid = m), + (e.yLabelMax = m + c.height / 2), + (e.labelExtraX = 0), + (e.labelExtraY = 0), + (v = !0)), + r.attr( + "transform", + "translate(" + + u + + "," + + m + + ")" + + (i.scale < 1 ? "scale(" + i.scale + ")" : "") + + (i.rotate ? "rotate(" + i.rotate + ")" : "") + + "translate(" + + -(c.left + c.right) / 2 + + "," + + -(c.top + c.bottom) / 2 + + ")", + )); + })); + } + function E(t, r, n, i) { + return ( + "a" + + i * d.r + + "," + + i * d.r + + " 0 " + + e.largeArc + + (n ? " 1 " : " 0 ") + + i * (r[0] - t[0]) + + "," + + i * (r[1] - t[1]) + ); + } + }), + v && + (function (t, e) { + var r, n, i, a, o, s, l, u, f, h, p, d, g; + function m(t, e) { + return t.pxmid[1] - e.pxmid[1]; + } + function v(t, e) { + return e.pxmid[1] - t.pxmid[1]; + } + function y(t, r) { + r || (r = {}); + var i, + u, + f, + p, + d, + g, + m = r.labelExtraY + (n ? r.yLabelMax : r.yLabelMin), + v = n ? t.yLabelMin : t.yLabelMax, + y = n ? t.yLabelMax : t.yLabelMin, + x = t.cyFinal + o(t.px0[1], t.px1[1]), + b = m - v; + if ( + (b * l > 0 && (t.labelExtraY = b), Array.isArray(e.pull)) + ) + for (u = 0; u < h.length; u++) + (f = h[u]) === t || + (c.castOption(e.pull, t.pts) || 0) >= + (c.castOption(e.pull, f.pts) || 0) || + ((t.pxmid[1] - f.pxmid[1]) * l > 0 + ? ((p = f.cyFinal + o(f.px0[1], f.px1[1])), + (b = p - v - t.labelExtraY) * l > 0 && + (t.labelExtraY += b)) + : (y + t.labelExtraY - x) * l > 0 && + ((i = 3 * s * Math.abs(u - h.indexOf(t))), + (d = f.cxFinal + a(f.px0[0], f.px1[0])), + (g = + d + + i - + (t.cxFinal + t.pxmid[0]) - + t.labelExtraX) * + s > + 0 && (t.labelExtraX += g))); + } + for (n = 0; n < 2; n++) + for ( + i = n ? m : v, + o = n ? Math.max : Math.min, + l = n ? 1 : -1, + r = 0; + r < 2; + r++ + ) { + for ( + a = r ? Math.max : Math.min, + s = r ? 1 : -1, + (u = t[n][r]).sort(i), + f = t[1 - n][r], + h = f.concat(u), + d = [], + p = 0; + p < u.length; + p++ + ) + void 0 !== u[p].yLabelMid && d.push(u[p]); + for (g = !1, p = 0; n && p < f.length; p++) + if (void 0 !== f[p].yLabelMid) { + g = f[p]; + break; + } + for (p = 0; p < d.length; p++) { + var x = p && d[p - 1]; + (g && !p && (x = g), y(d[p], x)); + } + } + })(m, g), + p.each(function (t) { + if (t.labelExtraX || t.labelExtraY) { + var e = n.select(this), + r = e.select("g.slicetext text"); + r.attr( + "transform", + "translate(" + + t.labelExtraX + + "," + + t.labelExtraY + + ")" + + r.attr("transform"), + ); + var i = t.cxFinal + t.pxmid[0], + o = "M" + i + "," + (t.cyFinal + t.pxmid[1]), + s = + ((t.yLabelMax - t.yLabelMin) * + (t.pxmid[0] < 0 ? -1 : 1)) / + 4; + if (t.labelExtraX) { + var l = (t.labelExtraX * t.pxmid[1]) / t.pxmid[0], + c = + t.yLabelMid + t.labelExtraY - (t.cyFinal + t.pxmid[1]); + Math.abs(l) > Math.abs(c) + ? (o += + "l" + + (c * t.pxmid[0]) / t.pxmid[1] + + "," + + c + + "H" + + (i + t.labelExtraX + s)) + : (o += + "l" + + t.labelExtraX + + "," + + l + + "v" + + (c - l) + + "h" + + s); + } else o += "V" + (t.yLabelMid + t.labelExtraY) + "h" + s; + e.append("path") + .classed("textline", !0) + .call(a.stroke, g.outsidetextfont.color) + .attr({ + "stroke-width": Math.min(2, g.outsidetextfont.size / 8), + d: o, + fill: "none", + }); + } + })); + })); + }), + setTimeout(function () { + p.selectAll("tspan").each(function () { + var t = n.select(this); + t.attr("dy") && t.attr("dy", t.attr("dy")); + }); + }, 0)); + }; + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../../components/fx": 516, + "../../lib": 602, + "../../lib/svg_text_utils": 626, + "./event_data": 905, + "./helpers": 906, + d3: 130, + }, + ], + 911: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("./style_one"); + e.exports = function (t) { + t._fullLayout._pielayer.selectAll(".trace").each(function (t) { + var e = t[0].trace, + r = n.select(this); + (r.style({ opacity: e.opacity }), + r.selectAll("path.surface").each(function (t) { + n.select(this).call(i, t, e); + })); + }); + }; + }, + { "./style_one": 912, d3: 130 }, + ], + 912: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("./helpers").castOption; + e.exports = function (t, e, r) { + var a = r.marker.line, + o = i(a.color, e.pts) || n.defaultLine, + s = i(a.width, e.pts) || 0; + t.style({ "stroke-width": s }).call(n.fill, e.color).call(n.stroke, o); + }; + }, + { "../../components/color": 474, "./helpers": 906 }, + ], + 913: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"); + e.exports = { + x: n.x, + y: n.y, + xy: { valType: "data_array", editType: "calc" }, + indices: { valType: "data_array", editType: "calc" }, + xbounds: { valType: "data_array", editType: "calc" }, + ybounds: { valType: "data_array", editType: "calc" }, + text: n.text, + marker: { + color: { valType: "color", arrayOk: !1, editType: "calc" }, + opacity: { + valType: "number", + min: 0, + max: 1, + dflt: 1, + arrayOk: !1, + editType: "calc", + }, + blend: { valType: "boolean", dflt: null, editType: "calc" }, + sizemin: { + valType: "number", + min: 0.1, + max: 2, + dflt: 0.5, + editType: "calc", + }, + sizemax: { valType: "number", min: 0.1, dflt: 20, editType: "calc" }, + border: { + color: { valType: "color", arrayOk: !1, editType: "calc" }, + arearatio: { + valType: "number", + min: 0, + max: 1, + dflt: 0, + editType: "calc", + }, + editType: "calc", + }, + editType: "calc", + }, + }; + }, + { "../scatter/attributes": 926 }, + ], + 914: [ + function (t, e, r) { + "use strict"; + var n = t("gl-pointcloud2d"), + i = t("../../lib/str2rgbarray"), + a = t("../../plots/cartesian/autorange").expand, + o = t("../scatter/get_trace_color"); + function s(t, e) { + ((this.scene = t), + (this.uid = e), + (this.type = "pointcloud"), + (this.pickXData = []), + (this.pickYData = []), + (this.xData = []), + (this.yData = []), + (this.textLabels = []), + (this.color = "rgb(0, 0, 0)"), + (this.name = ""), + (this.hoverinfo = "all"), + (this.idToIndex = new Int32Array(0)), + (this.bounds = [0, 0, 0, 0]), + (this.pointcloudOptions = { + positions: new Float32Array(0), + idToIndex: this.idToIndex, + sizemin: 0.5, + sizemax: 12, + color: [0, 0, 0, 1], + areaRatio: 1, + borderColor: [0, 0, 0, 1], + }), + (this.pointcloud = n(t.glplot, this.pointcloudOptions)), + (this.pointcloud._trace = this)); + } + var l = s.prototype; + ((l.handlePick = function (t) { + var e = this.idToIndex[t.pointId]; + return { + trace: this, + dataCoord: t.dataCoord, + traceCoord: this.pickXYData + ? [this.pickXYData[2 * e], this.pickXYData[2 * e + 1]] + : [this.pickXData[e], this.pickYData[e]], + textLabel: Array.isArray(this.textLabels) + ? this.textLabels[e] + : this.textLabels, + color: this.color, + name: this.name, + pointIndex: e, + hoverinfo: this.hoverinfo, + }; + }), + (l.update = function (t) { + ((this.index = t.index), + (this.textLabels = t.text), + (this.name = t.name), + (this.hoverinfo = t.hoverinfo), + (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + this.updateFast(t), + (this.color = o(t, {}))); + }), + (l.updateFast = function (t) { + var e, + r, + n, + a, + o, + s, + l = (this.xData = this.pickXData = t.x), + c = (this.yData = this.pickYData = t.y), + u = (this.pickXYData = t.xy), + f = t.xbounds && t.ybounds, + h = t.indices, + p = this.bounds; + if (u) { + if (((n = u), (e = u.length >>> 1), f)) + ((p[0] = t.xbounds[0]), + (p[2] = t.xbounds[1]), + (p[1] = t.ybounds[0]), + (p[3] = t.ybounds[1])); + else + for (s = 0; s < e; s++) + ((a = n[2 * s]), + (o = n[2 * s + 1]), + a < p[0] && (p[0] = a), + a > p[2] && (p[2] = a), + o < p[1] && (p[1] = o), + o > p[3] && (p[3] = o)); + if (h) r = h; + else for (r = new Int32Array(e), s = 0; s < e; s++) r[s] = s; + } else + for ( + e = l.length, + n = new Float32Array(2 * e), + r = new Int32Array(e), + s = 0; + s < e; + s++ + ) + ((a = l[s]), + (o = c[s]), + (r[s] = s), + (n[2 * s] = a), + (n[2 * s + 1] = o), + a < p[0] && (p[0] = a), + a > p[2] && (p[2] = a), + o < p[1] && (p[1] = o), + o > p[3] && (p[3] = o)); + ((this.idToIndex = r), + (this.pointcloudOptions.idToIndex = r), + (this.pointcloudOptions.positions = n)); + var d = i(t.marker.color), + g = i(t.marker.border.color), + m = t.opacity * t.marker.opacity; + ((d[3] *= m), (this.pointcloudOptions.color = d)); + var v = t.marker.blend; + if (null === v) { + v = l.length < 100 || c.length < 100; + } + ((this.pointcloudOptions.blend = v), + (g[3] *= m), + (this.pointcloudOptions.borderColor = g)); + var y = t.marker.sizemin, + x = Math.max(t.marker.sizemax, t.marker.sizemin); + ((this.pointcloudOptions.sizeMin = y), + (this.pointcloudOptions.sizeMax = x), + (this.pointcloudOptions.areaRatio = t.marker.border.arearatio), + this.pointcloud.update(this.pointcloudOptions), + this.expandAxesFast(p, x / 2)); + }), + (l.expandAxesFast = function (t, e) { + var r = e || 0.5; + (a(this.scene.xaxis, [t[0], t[2]], { ppad: r }), + a(this.scene.yaxis, [t[1], t[3]], { ppad: r })); + }), + (l.dispose = function () { + this.pointcloud.dispose(); + }), + (e.exports = function (t, e) { + var r = new s(t, e.uid); + return (r.update(e), r); + })); + }, + { + "../../lib/str2rgbarray": 625, + "../../plots/cartesian/autorange": 647, + "../scatter/get_trace_color": 936, + "gl-pointcloud2d": 255, + }, + ], + 915: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"); + e.exports = function (t, e, r) { + function a(r, a) { + return n.coerce(t, e, i, r, a); + } + (a("x"), + a("y"), + a("xbounds"), + a("ybounds"), + t.xy && t.xy instanceof Float32Array && (e.xy = t.xy), + t.indices && t.indices instanceof Int32Array && (e.indices = t.indices), + a("text"), + a("marker.color", r), + a("marker.opacity"), + a("marker.blend"), + a("marker.sizemin"), + a("marker.sizemax"), + a("marker.border.color", r), + a("marker.border.arearatio"), + (e._length = null)); + }; + }, + { "../../lib": 602, "./attributes": 913 }, + ], + 916: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("../scatter3d/calc")), + (n.plot = t("./convert")), + (n.moduleType = "trace"), + (n.name = "pointcloud"), + (n.basePlotModule = t("../../plots/gl2d")), + (n.categories = ["gl", "gl2d", "showLegend"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/gl2d": 687, + "../scatter3d/calc": 952, + "./attributes": 913, + "./convert": 914, + "./defaults": 915, + }, + ], + 917: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/font_attributes"), + i = t("../../plots/attributes"), + a = t("../../components/color/attributes"), + o = t("../../components/fx/attributes"), + s = t("../../plots/domain").attributes, + l = t("../../lib/extend").extendFlat, + c = t("../../plot_api/edit_types").overrideAll; + e.exports = c( + { + hoverinfo: l({}, i.hoverinfo, { + flags: ["label", "text", "value", "percent", "name"], + }), + hoverlabel: o.hoverlabel, + domain: s({ name: "sankey", trace: !0 }), + orientation: { valType: "enumerated", values: ["v", "h"], dflt: "h" }, + valueformat: { valType: "string", dflt: ".3s" }, + valuesuffix: { valType: "string", dflt: "" }, + arrangement: { + valType: "enumerated", + values: ["snap", "perpendicular", "freeform", "fixed"], + dflt: "snap", + }, + textfont: n({}), + node: { + label: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + line: { + color: { valType: "color", dflt: a.defaultLine, arrayOk: !0 }, + width: { valType: "number", min: 0, dflt: 0.5, arrayOk: !0 }, + }, + pad: { valType: "number", arrayOk: !1, min: 0, dflt: 20 }, + thickness: { valType: "number", arrayOk: !1, min: 1, dflt: 20 }, + }, + link: { + label: { valType: "data_array", dflt: [] }, + color: { valType: "color", arrayOk: !0 }, + line: { + color: { valType: "color", dflt: a.defaultLine, arrayOk: !0 }, + width: { valType: "number", min: 0, dflt: 0, arrayOk: !0 }, + }, + source: { valType: "data_array", dflt: [] }, + target: { valType: "data_array", dflt: [] }, + value: { valType: "data_array", dflt: [] }, + }, + }, + "calc", + "nested", + ); + }, + { + "../../components/color/attributes": 473, + "../../components/fx/attributes": 508, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + "../../plots/domain": 673, + "../../plots/font_attributes": 674, + }, + ], + 918: [ + function (t, e, r) { + "use strict"; + var n = t("../../plot_api/edit_types").overrideAll, + i = t("../../plots/get_data").getModuleCalcData, + a = t("./plot"), + o = t("../../components/fx/layout_attributes"); + ((r.name = "sankey"), + (r.baseLayoutAttrOverrides = n( + { hoverlabel: o.hoverlabel }, + "plot", + "nested", + )), + (r.plot = function (t) { + var e = i(t.calcdata, "sankey")[0]; + a(t, e); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has("sankey"), + a = e._has && e._has("sankey"); + i && !a && n._paperdiv.selectAll(".sankey").remove(); + })); + }, + { + "../../components/fx/layout_attributes": 517, + "../../plot_api/edit_types": 633, + "../../plots/get_data": 684, + "./plot": 923, + }, + ], + 919: [ + function (t, e, r) { + "use strict"; + var n = t("strongly-connected-components"), + i = t("../../lib"), + a = t("../../lib/gup").wrap; + e.exports = function (t, e) { + return ( + (function (t, e, r) { + for ( + var i = t.map(function () { + return []; + }), + a = 0; + a < Math.min(e.length, r.length); + a++ + ) { + if (e[a] === r[a]) return !0; + i[e[a]].push(r[a]); + } + return n(i).components.some(function (t) { + return t.length > 1; + }); + })(e.node.label, e.link.source, e.link.target) && + (i.error( + "Circularity is present in the Sankey data. Removing all nodes and links.", + ), + (e.link.label = []), + (e.link.source = []), + (e.link.target = []), + (e.link.value = []), + (e.link.color = []), + (e.node.label = []), + (e.node.color = [])), + a({ link: e.link, node: e.node }) + ); + }; + }, + { + "../../lib": 602, + "../../lib/gup": 599, + "strongly-connected-components": 407, + }, + ], + 920: [ + function (t, e, r) { + "use strict"; + e.exports = { + nodeTextOffsetHorizontal: 4, + nodeTextOffsetVertical: 3, + nodePadAcross: 10, + sankeyIterations: 50, + forceIterations: 5, + forceTicksPerFrame: 10, + duration: 500, + ease: "cubic-in-out", + cn: { + sankey: "sankey", + sankeyLinks: "sankey-links", + sankeyLink: "sankey-link", + sankeyNodeSet: "sankey-node-set", + sankeyNode: "sankey-node", + nodeRect: "node-rect", + nodeCapture: "node-capture", + nodeCentered: "node-entered", + nodeLabelGuide: "node-label-guide", + nodeLabel: "node-label", + nodeLabelTextPath: "node-label-text-path", + }, + }; + }, + {}, + ], + 921: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("../../components/color"), + o = t("tinycolor2"), + s = t("../../plots/domain").defaults; + e.exports = function (t, e, r, l) { + function c(r, a) { + return n.coerce(t, e, i, r, a); + } + (c("node.label"), + c("node.pad"), + c("node.thickness"), + c("node.line.color"), + c("node.line.width")); + var u = l.colorway; + (c( + "node.color", + e.node.label.map(function (t, e) { + return a.addOpacity( + (function (t) { + return u[t % u.length]; + })(e), + 0.8, + ); + }), + ), + c("link.label"), + c("link.source"), + c("link.target"), + c("link.value"), + c("link.line.color"), + c("link.line.width"), + c( + "link.color", + e.link.value.map(function () { + return o(l.paper_bgcolor).getLuminance() < 0.333 + ? "rgba(255, 255, 255, 0.6)" + : "rgba(0, 0, 0, 0.2)"; + }), + ), + s(e, l, c), + c("orientation"), + c("valueformat"), + c("valuesuffix"), + c("arrangement"), + n.coerceFont(c, "textfont", n.extendFlat({}, l.font))); + (e.node.label.some(function (t, r) { + return -1 === e.link.source.indexOf(r) && -1 === e.link.target.indexOf(r); + }) && + n.warn( + "Some of the nodes are neither sources nor targets, they will not be displayed.", + ), + (e._length = null)); + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../../plots/domain": 673, + "./attributes": 917, + tinycolor2: 415, + }, + ], + 922: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.moduleType = "trace"), + (n.name = "sankey"), + (n.basePlotModule = t("./base_plot")), + (n.categories = ["noOpacity"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "./attributes": 917, + "./base_plot": 918, + "./calc": 919, + "./defaults": 921, + "./plot": 923, + }, + ], + 923: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("./render"), + a = t("../../components/fx"), + o = t("../../components/color"), + s = t("../../lib"), + l = t("./constants").cn, + c = s._; + function u(t) { + return "" !== t; + } + function f(t, e) { + return t.filter(function (t) { + return t.key === e.traceId; + }); + } + function h(t, e) { + (n.select(t).select("path").style("fill-opacity", e), + n.select(t).select("rect").style("fill-opacity", e)); + } + function p(t) { + n.select(t).select("text.name").style("fill", "black"); + } + function d(t) { + return function (e) { + return ( + -1 !== t.node.sourceLinks.indexOf(e.link) || + -1 !== t.node.targetLinks.indexOf(e.link) + ); + }; + } + function g(t) { + return function (e) { + return ( + -1 !== e.node.sourceLinks.indexOf(t.link) || + -1 !== e.node.targetLinks.indexOf(t.link) + ); + }; + } + function m(t, e, r) { + e && + r && + f(r, e) + .selectAll("." + l.sankeyLink) + .filter(d(e)) + .call(y.bind(0, e, r, !1)); + } + function v(t, e, r) { + e && + r && + f(r, e) + .selectAll("." + l.sankeyLink) + .filter(d(e)) + .call(x.bind(0, e, r, !1)); + } + function y(t, e, r, n) { + var i = n.datum().link.label; + (n.style("fill-opacity", 0.4), + i && + f(e, t) + .selectAll("." + l.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", 0.4), + r && + f(e, t) + .selectAll("." + l.sankeyNode) + .filter(g(t)) + .call(m)); + } + function x(t, e, r, n) { + var i = n.datum().link.label; + (n.style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + i && + f(e, t) + .selectAll("." + l.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + r && f(e, t).selectAll(l.sankeyNode).filter(g(t)).call(v)); + } + function b(t, e) { + var r = t.hoverlabel || {}, + n = s.nestedProperty(r, e).get(); + return !Array.isArray(n) && n; + } + e.exports = function (t, e) { + var r = t._fullLayout, + s = r._paper, + f = r._size, + d = c(t, "source:") + " ", + g = c(t, "target:") + " ", + _ = c(t, "incoming flow count:") + " ", + w = c(t, "outgoing flow count:") + " "; + i( + s, + e, + { width: f.w, height: f.h, margin: { t: f.t, r: f.r, b: f.b, l: f.l } }, + { + linkEvents: { + hover: function (e, r, i) { + (n.select(e).call(y.bind(0, r, i, !0)), + t.emit("plotly_hover", { event: n.event, points: [r.link] })); + }, + follow: function (e, i) { + var s = i.link.trace, + l = t._fullLayout._paperdiv.node().getBoundingClientRect(), + c = e.getBoundingClientRect(), + f = c.left + c.width / 2, + m = c.top + c.height / 2, + v = a.loneHover( + { + x: f - l.left, + y: m - l.top, + name: n.format(i.valueFormat)(i.link.value) + i.valueSuffix, + text: [ + i.link.label || "", + d + i.link.source.label, + g + i.link.target.label, + ] + .filter(u) + .join("
      "), + color: b(s, "bgcolor") || o.addOpacity(i.tinyColorHue, 1), + borderColor: b(s, "bordercolor"), + fontFamily: b(s, "font.family"), + fontSize: b(s, "font.size"), + fontColor: b(s, "font.color"), + idealAlign: n.event.x < f ? "right" : "left", + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + }, + ); + (h(v, 0.65), p(v)); + }, + unhover: function (e, i, o) { + (n.select(e).call(x.bind(0, i, o, !0)), + t.emit("plotly_unhover", { event: n.event, points: [i.link] }), + a.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r) { + var i = r.link; + ((i.originalEvent = n.event), + (t._hoverdata = [i]), + a.click(t, { target: !0 })); + }, + }, + nodeEvents: { + hover: function (e, r, i) { + (n.select(e).call(m, r, i), + t.emit("plotly_hover", { event: n.event, points: [r.node] })); + }, + follow: function (e, i) { + var o = i.node.trace, + s = n.select(e).select("." + l.nodeRect), + c = t._fullLayout._paperdiv.node().getBoundingClientRect(), + f = s.node().getBoundingClientRect(), + d = f.left - 2 - c.left, + g = f.right + 2 - c.left, + m = f.top + f.height / 4 - c.top, + v = a.loneHover( + { + x0: d, + x1: g, + y: m, + name: n.format(i.valueFormat)(i.node.value) + i.valueSuffix, + text: [ + i.node.label, + _ + i.node.targetLinks.length, + w + i.node.sourceLinks.length, + ] + .filter(u) + .join("
      "), + color: b(o, "bgcolor") || i.tinyColorHue, + borderColor: b(o, "bordercolor"), + fontFamily: b(o, "font.family"), + fontSize: b(o, "font.size"), + fontColor: b(o, "font.color"), + idealAlign: "left", + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + }, + ); + (h(v, 0.85), p(v)); + }, + unhover: function (e, i, o) { + (n.select(e).call(v, i, o), + t.emit("plotly_unhover", { event: n.event, points: [i.node] }), + a.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r, i) { + var o = r.node; + ((o.originalEvent = n.event), + (t._hoverdata = [o]), + n.select(e).call(v, r, i), + a.click(t, { target: !0 })); + }, + }, + }, + ); + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../lib": 602, + "./constants": 920, + "./render": 924, + d3: 130, + }, + ], + 924: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("d3"), + a = t("tinycolor2"), + o = t("../../components/color"), + s = t("../../components/drawing"), + l = t("@plotly/d3-sankey").sankey, + c = t("d3-force"), + u = t("../../lib"), + f = t("../../lib/gup").keyFun, + h = t("../../lib/gup").repeat, + p = t("../../lib/gup").unwrap; + function d(t) { + ((t.lastDraggedX = t.x), (t.lastDraggedY = t.y)); + } + function g(t) { + return function (e) { + return e.node.originalX === t.node.originalX; + }; + } + function m(t) { + for (var e = 0; e < t.length; e++) t[e].y = t[e].y + t[e].dy / 2; + } + function v(t) { + t.attr("transform", function (t) { + return ( + "translate(" + + t.node.x.toFixed(3) + + ", " + + (t.node.y - t.node.dy / 2).toFixed(3) + + ")" + ); + }); + } + function y(t) { + var e = t.sankey.nodes(); + !(function (t) { + for (var e = 0; e < t.length; e++) t[e].y = t[e].y - t[e].dy / 2; + })(e); + var r = t.sankey.link()(t.link); + return (m(e), r); + } + function x(t) { + t.call(v); + } + function b(t, e) { + (t.call(x), e.attr("d", y)); + } + function _(t) { + t.attr("width", function (t) { + return t.visibleWidth; + }).attr("height", function (t) { + return t.visibleHeight; + }); + } + function w(t) { + return t.link.dy > 1 || t.linkLineWidth > 0; + } + function k(t) { + return ( + "translate(" + + t.translateX + + "," + + t.translateY + + ")" + + (t.horizontal ? "matrix(1 0 0 1 0 0)" : "matrix(0 1 1 0 0 0)") + ); + } + function M(t) { + return ( + "translate(" + + (t.horizontal ? 0 : t.labelY) + + " " + + (t.horizontal ? t.labelY : 0) + + ")" + ); + } + function A(t) { + return i.svg.line()([ + [ + t.horizontal + ? t.left + ? -t.sizeAcross + : t.visibleWidth + n.nodeTextOffsetHorizontal + : n.nodeTextOffsetHorizontal, + 0, + ], + [ + t.horizontal + ? t.left + ? -n.nodeTextOffsetHorizontal + : t.sizeAcross + : t.visibleHeight - n.nodeTextOffsetHorizontal, + 0, + ], + ]); + } + function T(t) { + return t.horizontal ? "matrix(1 0 0 1 0 0)" : "matrix(0 1 1 0 0 0)"; + } + function S(t) { + return t.horizontal ? "scale(1 1)" : "scale(-1 1)"; + } + function C(t) { + return t.darkBackground && !t.horizontal + ? "rgb(255,255,255)" + : "rgb(0,0,0)"; + } + function E(t) { + return t.horizontal && t.left ? "100%" : "0%"; + } + function L(t, e, r) { + t.on(".basic", null) + .on("mouseover.basic", function (t) { + t.interactionState.dragInProgress || + (r.hover(this, t, e), (t.interactionState.hovered = [this, t])); + }) + .on("mousemove.basic", function (t) { + t.interactionState.dragInProgress || + (r.follow(this, t), (t.interactionState.hovered = [this, t])); + }) + .on("mouseout.basic", function (t) { + t.interactionState.dragInProgress || + (r.unhover(this, t, e), (t.interactionState.hovered = !1)); + }) + .on("click.basic", function (t) { + (t.interactionState.hovered && + (r.unhover(this, t, e), (t.interactionState.hovered = !1)), + t.interactionState.dragInProgress || r.select(this, t, e)); + }); + } + function z(t, e, r) { + var a = i.behavior + .drag() + .origin(function (t) { + return t.node; + }) + .on("dragstart", function (i) { + if ( + "fixed" !== i.arrangement && + (u.raiseToTop(this), + (i.interactionState.dragInProgress = i.node), + d(i.node), + i.interactionState.hovered && + (r.nodeEvents.unhover.apply(0, i.interactionState.hovered), + (i.interactionState.hovered = !1)), + "snap" === i.arrangement) + ) { + var a = i.traceId + "|" + Math.floor(i.node.originalX); + (i.forceLayouts[a] + ? i.forceLayouts[a].alpha(1) + : (function (t, e, r) { + var i = r.sankey.nodes().filter(function (t) { + return t.originalX === r.node.originalX; + }); + r.forceLayouts[e] = c + .forceSimulation(i) + .alphaDecay(0) + .force( + "collide", + c + .forceCollide() + .radius(function (t) { + return t.dy / 2 + r.nodePad / 2; + }) + .strength(1) + .iterations(n.forceIterations), + ) + .force( + "constrain", + (function (t, e, r, i) { + return function () { + for (var t = 0, a = 0; a < r.length; a++) { + var o = r[a]; + (o === i.interactionState.dragInProgress + ? ((o.x = o.lastDraggedX), (o.y = o.lastDraggedY)) + : ((o.vx = + (o.originalX - o.x) / n.forceTicksPerFrame), + (o.y = Math.min( + i.size - o.dy / 2, + Math.max(o.dy / 2, o.y), + ))), + (t = Math.max(t, Math.abs(o.vx), Math.abs(o.vy)))); + } + !i.interactionState.dragInProgress && + t < 0.1 && + i.forceLayouts[e].alpha() > 0 && + i.forceLayouts[e].alpha(0); + }; + })(0, e, i, r), + ) + .stop(); + })(0, a, i), + (function (t, e, r, i) { + window.requestAnimationFrame(function a() { + for (var o = 0; o < n.forceTicksPerFrame; o++) + r.forceLayouts[i].tick(); + (r.sankey.relayout(), + b(t.filter(g(r)), e), + r.forceLayouts[i].alpha() > 0 && + window.requestAnimationFrame(a)); + }); + })(t, e, i, a)); + } + }) + .on("drag", function (r) { + if ("fixed" !== r.arrangement) { + var n = i.event.x, + a = i.event.y; + ("snap" === r.arrangement + ? ((r.node.x = n), (r.node.y = a)) + : ("freeform" === r.arrangement && (r.node.x = n), + (r.node.y = Math.max( + r.node.dy / 2, + Math.min(r.size - r.node.dy / 2, a), + ))), + d(r.node), + "snap" !== r.arrangement && + (r.sankey.relayout(), b(t.filter(g(r)), e))); + } + }) + .on("dragend", function (t) { + t.interactionState.dragInProgress = !1; + }); + t.on(".drag", null).call(a); + } + e.exports = function (t, e, r, i) { + var c = t.selectAll("." + n.cn.sankey).data( + e + .filter(function (t) { + return p(t).trace.visible; + }) + .map( + function (t, e, r) { + for ( + var i, + a = p(e).trace, + o = a.domain, + s = a.node, + c = a.link, + f = a.arrangement, + h = "h" === a.orientation, + d = a.node.pad, + g = a.node.thickness, + v = a.node.line.color, + y = a.node.line.width, + x = a.link.line.color, + b = a.link.line.width, + _ = a.valueformat, + w = a.valuesuffix, + k = a.textfont, + M = t.width * (o.x[1] - o.x[0]), + A = t.height * (o.y[1] - o.y[0]), + T = s.label.map(function (t, e) { + return { + pointNumber: e, + label: t, + color: u.isArrayOrTypedArray(s.color) + ? s.color[e] + : s.color, + }; + }), + S = c.value.map(function (t, e) { + return { + pointNumber: e, + label: c.label[e], + color: u.isArrayOrTypedArray(c.color) + ? c.color[e] + : c.color, + source: c.source[e], + target: c.target[e], + value: t, + }; + }), + C = l() + .size(h ? [M, A] : [A, M]) + .nodeWidth(g) + .nodePadding(d) + .nodes(T) + .links(S) + .layout(n.sankeyIterations), + E = C.nodes(), + L = 0; + L < E.length; + L++ + ) + (((i = E[L]).width = M), (i.height = A)); + return ( + m(T), + { + key: r, + trace: a, + guid: Math.floor(1e12 * (1 + Math.random())), + horizontal: h, + width: M, + height: A, + nodePad: d, + nodeLineColor: v, + nodeLineWidth: y, + linkLineColor: x, + linkLineWidth: b, + valueFormat: _, + valueSuffix: w, + textFont: k, + translateX: o.x[0] * M + t.margin.l, + translateY: t.height - o.y[1] * t.height + t.margin.t, + dragParallel: h ? A : M, + dragPerpendicular: h ? M : A, + nodes: T, + links: S, + arrangement: f, + sankey: C, + forceLayouts: {}, + interactionState: { dragInProgress: !1, hovered: !1 }, + } + ); + }.bind(null, r), + ), + f, + ); + (c.exit().remove(), + c + .enter() + .append("g") + .classed(n.cn.sankey, !0) + .style("box-sizing", "content-box") + .style("position", "absolute") + .style("left", 0) + .style("shape-rendering", "geometricPrecision") + .style("pointer-events", "auto") + .style("box-sizing", "content-box") + .attr("transform", k), + c.transition().ease(n.ease).duration(n.duration).attr("transform", k)); + var d = c.selectAll("." + n.cn.sankeyLinks).data(h, f); + d.enter().append("g").classed(n.cn.sankeyLinks, !0).style("fill", "none"); + var g = d.selectAll("." + n.cn.sankeyLink).data(function (t) { + return t.sankey + .links() + .filter(function (t) { + return t.value; + }) + .map( + function (t, e, r) { + var n = a(r.color), + i = r.source.label + "|" + r.target.label, + s = t[i]; + t[i] = (s || 0) + 1; + var l = i + "__" + t[i]; + return ( + (r.trace = e.trace), + (r.curveNumber = e.trace.index), + { + key: l, + traceId: e.key, + link: r, + tinyColorHue: o.tinyRGB(n), + tinyColorAlpha: n.getAlpha(), + linkLineColor: e.linkLineColor, + linkLineWidth: e.linkLineWidth, + valueFormat: e.valueFormat, + valueSuffix: e.valueSuffix, + sankey: e.sankey, + interactionState: e.interactionState, + } + ); + }.bind(null, {}, t), + ); + }, f); + (g + .enter() + .append("path") + .classed(n.cn.sankeyLink, !0) + .attr("d", y) + .call(L, c, i.linkEvents), + g + .style("stroke", function (t) { + return w(t) ? o.tinyRGB(a(t.linkLineColor)) : t.tinyColorHue; + }) + .style("stroke-opacity", function (t) { + return w(t) ? o.opacity(t.linkLineColor) : t.tinyColorAlpha; + }) + .style("stroke-width", function (t) { + return w(t) ? t.linkLineWidth : 1; + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + g.transition().ease(n.ease).duration(n.duration).attr("d", y), + g + .exit() + .transition() + .ease(n.ease) + .duration(n.duration) + .style("opacity", 0) + .remove()); + var x = c.selectAll("." + n.cn.sankeyNodeSet).data(h, f); + (x.enter().append("g").classed(n.cn.sankeyNodeSet, !0), + x.style("cursor", function (t) { + switch (t.arrangement) { + case "fixed": + return "default"; + case "perpendicular": + return "ns-resize"; + default: + return "move"; + } + })); + var b = x.selectAll("." + n.cn.sankeyNode).data(function (t) { + var e = t.sankey.nodes(); + return ( + (function (t) { + var e, + r = []; + for (e = 0; e < t.length; e++) + ((t[e].originalX = t[e].x), + (t[e].originalY = t[e].y), + -1 === r.indexOf(t[e].x) && r.push(t[e].x)); + for ( + r.sort(function (t, e) { + return t - e; + }), + e = 0; + e < t.length; + e++ + ) + ((t[e].originalLayerIndex = r.indexOf(t[e].originalX)), + (t[e].originalLayer = t[e].originalLayerIndex / (r.length - 1))); + })(e), + e + .filter(function (t) { + return t.value; + }) + .map( + function (t, e, r) { + var i = a(r.color), + s = n.nodePadAcross, + l = e.nodePad / 2, + c = r.dx, + u = Math.max(0.5, r.dy), + f = r.label, + h = t[f]; + t[f] = (h || 0) + 1; + var p = f + "__" + t[f]; + return ( + (r.trace = e.trace), + (r.curveNumber = e.trace.index), + { + key: p, + traceId: e.key, + node: r, + nodePad: e.nodePad, + nodeLineColor: e.nodeLineColor, + nodeLineWidth: e.nodeLineWidth, + textFont: e.textFont, + size: e.horizontal ? e.height : e.width, + visibleWidth: Math.ceil(c), + visibleHeight: u, + zoneX: -s, + zoneY: -l, + zoneWidth: c + 2 * s, + zoneHeight: u + 2 * l, + labelY: e.horizontal ? r.dy / 2 + 1 : r.dx / 2 + 1, + left: 1 === r.originalLayer, + sizeAcross: e.width, + forceLayouts: e.forceLayouts, + horizontal: e.horizontal, + darkBackground: i.getBrightness() <= 128, + tinyColorHue: o.tinyRGB(i), + tinyColorAlpha: i.getAlpha(), + valueFormat: e.valueFormat, + valueSuffix: e.valueSuffix, + sankey: e.sankey, + arrangement: e.arrangement, + uniqueNodeLabelPathId: [e.guid, e.key, p].join(" "), + interactionState: e.interactionState, + } + ); + }.bind(null, {}, t), + ) + ); + }, f); + (b + .enter() + .append("g") + .classed(n.cn.sankeyNode, !0) + .call(v) + .call(L, c, i.nodeEvents), + b.call(z, g, i), + b.transition().ease(n.ease).duration(n.duration).call(v), + b + .exit() + .transition() + .ease(n.ease) + .duration(n.duration) + .style("opacity", 0) + .remove()); + var P = b.selectAll("." + n.cn.nodeRect).data(h); + (P.enter().append("rect").classed(n.cn.nodeRect, !0).call(_), + P.style("stroke-width", function (t) { + return t.nodeLineWidth; + }) + .style("stroke", function (t) { + return o.tinyRGB(a(t.nodeLineColor)); + }) + .style("stroke-opacity", function (t) { + return o.opacity(t.nodeLineColor); + }) + .style("fill", function (t) { + return t.tinyColorHue; + }) + .style("fill-opacity", function (t) { + return t.tinyColorAlpha; + }), + P.transition().ease(n.ease).duration(n.duration).call(_)); + var D = b.selectAll("." + n.cn.nodeCapture).data(h); + (D.enter() + .append("rect") + .classed(n.cn.nodeCapture, !0) + .style("fill-opacity", 0), + D.attr("x", function (t) { + return t.zoneX; + }) + .attr("y", function (t) { + return t.zoneY; + }) + .attr("width", function (t) { + return t.zoneWidth; + }) + .attr("height", function (t) { + return t.zoneHeight; + })); + var O = b.selectAll("." + n.cn.nodeCentered).data(h); + (O.enter().append("g").classed(n.cn.nodeCentered, !0).attr("transform", M), + O.transition().ease(n.ease).duration(n.duration).attr("transform", M)); + var I = O.selectAll("." + n.cn.nodeLabelGuide).data(h); + (I.enter() + .append("path") + .classed(n.cn.nodeLabelGuide, !0) + .attr("id", function (t) { + return t.uniqueNodeLabelPathId; + }) + .attr("d", A) + .attr("transform", T), + I.transition() + .ease(n.ease) + .duration(n.duration) + .attr("d", A) + .attr("transform", T)); + var R = O.selectAll("." + n.cn.nodeLabel).data(h); + (R.enter() + .append("text") + .classed(n.cn.nodeLabel, !0) + .attr("transform", S) + .style("user-select", "none") + .style("cursor", "default") + .style("fill", "black"), + R.style("text-shadow", function (t) { + return t.horizontal + ? "-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff" + : "none"; + }).each(function (t) { + s.font(R, t.textFont); + }), + R.transition().ease(n.ease).duration(n.duration).attr("transform", S)); + var B = R.selectAll("." + n.cn.nodeLabelTextPath).data(h); + (B.enter() + .append("textPath") + .classed(n.cn.nodeLabelTextPath, !0) + .attr("alignment-baseline", "middle") + .attr("xlink:href", function (t) { + return "#" + t.uniqueNodeLabelPathId; + }) + .attr("startOffset", E) + .style("fill", C), + B.text(function (t) { + return t.horizontal || t.node.dy > 5 ? t.node.label : ""; + }).attr("text-anchor", function (t) { + return t.horizontal && t.left ? "end" : "start"; + }), + B.transition() + .ease(n.ease) + .duration(n.duration) + .attr("startOffset", E) + .style("fill", C)); + }; + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/gup": 599, + "./constants": 920, + "@plotly/d3-sankey": 42, + d3: 130, + "d3-force": 126, + tinycolor2: 415, + }, + ], + 925: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + (n.mergeArray(e.text, t, "tx"), + n.mergeArray(e.hovertext, t, "htx"), + n.mergeArray(e.customdata, t, "data"), + n.mergeArray(e.textposition, t, "tp"), + e.textfont && + (n.mergeArray(e.textfont.size, t, "ts"), + n.mergeArray(e.textfont.color, t, "tc"), + n.mergeArray(e.textfont.family, t, "tf"))); + var i = e.marker; + if (i) { + (n.mergeArray(i.size, t, "ms"), + n.mergeArray(i.opacity, t, "mo"), + n.mergeArray(i.symbol, t, "mx"), + n.mergeArray(i.color, t, "mc")); + var a = i.line; + i.line && + (n.mergeArray(a.color, t, "mlc"), n.mergeArray(a.width, t, "mlw")); + var o = i.gradient; + o && + "none" !== o.type && + (n.mergeArray(o.type, t, "mgt"), n.mergeArray(o.color, t, "mgc")); + } + }; + }, + { "../../lib": 602 }, + ], + 926: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/color_attributes"), + i = t("../../components/colorbar/attributes"), + a = t("../../plots/font_attributes"), + o = t("../../components/drawing/attributes").dash, + s = t("../../components/drawing"), + l = (t("./constants"), t("../../lib/extend").extendFlat); + e.exports = { + x: { valType: "data_array", editType: "calc+clearAxisTypes" }, + x0: { valType: "any", dflt: 0, editType: "calc+clearAxisTypes" }, + dx: { valType: "number", dflt: 1, editType: "calc" }, + y: { valType: "data_array", editType: "calc+clearAxisTypes" }, + y0: { valType: "any", dflt: 0, editType: "calc+clearAxisTypes" }, + dy: { valType: "number", dflt: 1, editType: "calc" }, + text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, + hovertext: { valType: "string", dflt: "", arrayOk: !0, editType: "style" }, + mode: { + valType: "flaglist", + flags: ["lines", "markers", "text"], + extras: ["none"], + editType: "calc", + }, + hoveron: { + valType: "flaglist", + flags: ["points", "fills"], + editType: "style", + }, + line: { + color: { valType: "color", editType: "style" }, + width: { valType: "number", min: 0, dflt: 2, editType: "style" }, + shape: { + valType: "enumerated", + values: ["linear", "spline", "hv", "vh", "hvh", "vhv"], + dflt: "linear", + editType: "plot", + }, + smoothing: { + valType: "number", + min: 0, + max: 1.3, + dflt: 1, + editType: "plot", + }, + dash: l({}, o, { editType: "style" }), + simplify: { valType: "boolean", dflt: !0, editType: "plot" }, + editType: "plot", + }, + connectgaps: { valType: "boolean", dflt: !1, editType: "calc" }, + cliponaxis: { valType: "boolean", dflt: !0, editType: "plot" }, + fill: { + valType: "enumerated", + values: [ + "none", + "tozeroy", + "tozerox", + "tonexty", + "tonextx", + "toself", + "tonext", + ], + dflt: "none", + editType: "calc", + }, + fillcolor: { valType: "color", editType: "style" }, + marker: l( + { + symbol: { + valType: "enumerated", + values: s.symbolList, + dflt: "circle", + arrayOk: !0, + editType: "style", + }, + opacity: { + valType: "number", + min: 0, + max: 1, + arrayOk: !0, + editType: "style", + }, + size: { + valType: "number", + min: 0, + dflt: 6, + arrayOk: !0, + editType: "calcIfAutorange", + }, + maxdisplayed: { valType: "number", min: 0, dflt: 0, editType: "plot" }, + sizeref: { valType: "number", dflt: 1, editType: "calc" }, + sizemin: { valType: "number", min: 0, dflt: 0, editType: "calc" }, + sizemode: { + valType: "enumerated", + values: ["diameter", "area"], + dflt: "diameter", + editType: "calc", + }, + showscale: { valType: "boolean", dflt: !1, editType: "calc" }, + colorbar: i, + line: l( + { + width: { + valType: "number", + min: 0, + arrayOk: !0, + editType: "style", + }, + editType: "calc", + }, + n("marker.line"), + ), + gradient: { + type: { + valType: "enumerated", + values: ["radial", "horizontal", "vertical", "none"], + arrayOk: !0, + dflt: "none", + editType: "calc", + }, + color: { valType: "color", arrayOk: !0, editType: "calc" }, + editType: "calc", + }, + editType: "calc", + }, + n("marker"), + ), + selected: { + marker: { + opacity: { valType: "number", min: 0, max: 1, editType: "style" }, + color: { valType: "color", editType: "style" }, + size: { valType: "number", min: 0, editType: "style" }, + editType: "style", + }, + textfont: { + color: { valType: "color", editType: "style" }, + editType: "style", + }, + editType: "style", + }, + unselected: { + marker: { + opacity: { valType: "number", min: 0, max: 1, editType: "style" }, + color: { valType: "color", editType: "style" }, + size: { valType: "number", min: 0, editType: "style" }, + editType: "style", + }, + textfont: { + color: { valType: "color", editType: "style" }, + editType: "style", + }, + editType: "style", + }, + textposition: { + valType: "enumerated", + values: [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right", + ], + dflt: "middle center", + arrayOk: !0, + editType: "calc", + }, + textfont: a({ editType: "calc", colorEditType: "style", arrayOk: !0 }), + r: { valType: "data_array", editType: "calc" }, + t: { valType: "data_array", editType: "calc" }, + }; + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/color_attributes": 482, + "../../components/drawing": 499, + "../../components/drawing/attributes": 498, + "../../lib/extend": 591, + "../../plots/font_attributes": 674, + "./constants": 932, + }, + ], + 927: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib").isArrayOrTypedArray, + a = t("../../plots/cartesian/axes"), + o = t("../../constants/numerical").BADNUM, + s = t("./subtypes"), + l = t("./colorscale_calc"), + c = t("./arrays_to_calcdata"), + u = t("./calc_selection"); + function f(t, e, r, n, i, o, l) { + var c = e._length; + ((r._minDtick = 0), (n._minDtick = 0)); + var u = { padded: !0 }, + f = { padded: !0 }; + (l && (u.ppad = f.ppad = l), + !("tozerox" === e.fill || ("tonextx" === e.fill && t.firstscatter)) || + (i[0] === i[c - 1] && o[0] === o[c - 1]) + ? (e.error_y || {}).visible || + (-1 === ["tonexty", "tozeroy"].indexOf(e.fill) && + (s.hasMarkers(e) || s.hasText(e))) || + ((u.padded = !1), (u.ppad = 0)) + : (u.tozero = !0), + !("tozeroy" === e.fill || ("tonexty" === e.fill && t.firstscatter)) || + (i[0] === i[c - 1] && o[0] === o[c - 1]) + ? -1 !== ["tonextx", "tozerox"].indexOf(e.fill) && (f.padded = !1) + : (f.tozero = !0), + a.expand(r, i, u), + a.expand(n, o, f)); + } + function h(t, e) { + if (s.hasMarkers(t)) { + var r, + n = t.marker, + o = 1.6 * (t.marker.sizeref || 1); + if ( + ((r = + "area" === t.marker.sizemode + ? function (t) { + return Math.max(Math.sqrt((t || 0) / o), 3); + } + : function (t) { + return Math.max((t || 0) / o, 3); + }), + i(n.size)) + ) { + var l = { type: "linear" }; + a.setConvert(l); + for ( + var c = l.makeCalcdata(t.marker, "size"), u = new Array(e), f = 0; + f < e; + f++ + ) + u[f] = r(c[f]); + return u; + } + return r(n.size); + } + } + e.exports = { + calc: function (t, e) { + var r = a.getFromId(t, e.xaxis || "x"), + i = a.getFromId(t, e.yaxis || "y"), + s = r.makeCalcdata(e, "x"), + p = i.makeCalcdata(e, "y"), + d = e._length, + g = new Array(d); + f(t, e, r, i, s, p, h(e, d)); + for (var m = 0; m < d; m++) + ((g[m] = n(s[m]) && n(p[m]) ? { x: s[m], y: p[m] } : { x: o, y: o }), + e.ids && (g[m].id = String(e.ids[m]))); + return (c(g, e), l(e), u(g, e), (t.firstscatter = !1), g); + }, + calcMarkerSize: h, + calcAxisExpansion: f, + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "./arrays_to_calcdata": 925, + "./calc_selection": 928, + "./colorscale_calc": 931, + "./subtypes": 948, + "fast-isnumeric": 196, + }, + ], + 928: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e) { + n.isArrayOrTypedArray(e.selectedpoints) && n.tagSelected(t, e); + }; + }, + { "../../lib": 602 }, + ], + 929: [ + function (t, e, r) { + "use strict"; + e.exports = function (t) { + for (var e = 0; e < t.length; e++) { + var r = t[e]; + if ("scatter" === r.type) { + var n = r.fill; + if ( + "none" !== n && + "toself" !== n && + ((r.opacity = void 0), "tonexty" === n || "tonextx" === n) + ) + for (var i = e - 1; i >= 0; i--) { + var a = t[i]; + if ( + "scatter" === a.type && + a.xaxis === r.xaxis && + a.yaxis === r.yaxis + ) { + a.opacity = void 0; + break; + } + } + } + } + }; + }, + {}, + ], + 930: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../components/colorscale"), + s = t("../../components/colorbar/draw"); + e.exports = function (t, e) { + var r = e[0].trace, + l = r.marker, + c = "cb" + r.uid; + if ( + (t._fullLayout._infolayer.selectAll("." + c).remove(), + void 0 !== l && l.showscale) + ) { + var u = l.color, + f = l.cmin, + h = l.cmax; + (n(f) || (f = i.aggNums(Math.min, null, u)), + n(h) || (h = i.aggNums(Math.max, null, u))); + var p = (e[0].t.cb = s(t, c)), + d = o.makeColorScaleFunc(o.extractScale(l.colorscale, f, h), { + noNumericCheck: !0, + }); + p + .fillcolor(d) + .filllevels({ start: f, end: h, size: (h - f) / 254 }) + .options(l.colorbar)(); + } else a.autoMargin(t, c); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../components/colorscale": 489, + "../../lib": 602, + "../../plots/plots": 710, + "fast-isnumeric": 196, + }, + ], + 931: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/has_colorscale"), + i = t("../../components/colorscale/calc"), + a = t("./subtypes"); + e.exports = function (t) { + (a.hasLines(t) && n(t, "line") && i(t, t.line.color, "line", "c"), + a.hasMarkers(t) && + (n(t, "marker") && i(t, t.marker.color, "marker", "c"), + n(t, "marker.line") && i(t, t.marker.line.color, "marker.line", "c"))); + }; + }, + { + "../../components/colorscale/calc": 481, + "../../components/colorscale/has_colorscale": 488, + "./subtypes": 948, + }, + ], + 932: [ + function (t, e, r) { + "use strict"; + e.exports = { + PTS_LINESONLY: 20, + minTolerance: 0.2, + toleranceGrowth: 10, + maxScreensAway: 20, + }; + }, + {}, + ], + 933: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../registry"), + a = t("./attributes"), + o = t("./constants"), + s = t("./subtypes"), + l = t("./xy_defaults"), + c = t("./marker_defaults"), + u = t("./line_defaults"), + f = t("./line_shape_defaults"), + h = t("./text_defaults"), + p = t("./fillcolor_defaults"); + e.exports = function (t, e, r, d) { + function g(r, i) { + return n.coerce(t, e, a, r, i); + } + var m = l(t, e, d, g), + v = m < o.PTS_LINESONLY ? "lines+markers" : "lines"; + if (m) { + (g("text"), + g("hovertext"), + g("mode", v), + s.hasLines(e) && + (u(t, e, r, d, g), f(t, e, g), g("connectgaps"), g("line.simplify")), + s.hasMarkers(e) && c(t, e, r, d, g, { gradient: !0 }), + s.hasText(e) && h(t, e, d, g)); + var y = []; + ((s.hasMarkers(e) || s.hasText(e)) && + (g("cliponaxis"), g("marker.maxdisplayed"), y.push("points")), + g("fill"), + "none" !== e.fill && (p(t, e, r, g), s.hasLines(e) || f(t, e, g)), + ("tonext" !== e.fill && "toself" !== e.fill) || y.push("fills"), + g("hoveron", y.join("+") || "points")); + var x = i.getComponentMethod("errorbars", "supplyDefaults"); + (x(t, e, r, { axis: "y" }), + x(t, e, r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, g)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "./attributes": 926, + "./constants": 932, + "./fillcolor_defaults": 935, + "./line_defaults": 939, + "./line_shape_defaults": 941, + "./marker_defaults": 944, + "./subtypes": 948, + "./text_defaults": 949, + "./xy_defaults": 950, + }, + ], + 934: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + function i(t) { + return t || 0 === t; + } + e.exports = function (t, e, r) { + var a = Array.isArray(r) + ? function (t) { + r.push(t); + } + : function (t) { + r.text = t; + }, + o = n.extractOption(t, e, "htx", "hovertext"); + if (i(o)) return a(o); + var s = n.extractOption(t, e, "tx", "text"); + return i(s) ? a(s) : void 0; + }; + }, + { "../../lib": 602 }, + ], + 935: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("../../lib").isArrayOrTypedArray; + e.exports = function (t, e, r, a) { + var o = !1; + if (e.marker) { + var s = e.marker.color, + l = (e.marker.line || {}).color; + s && !i(s) ? (o = s) : l && !i(l) && (o = l); + } + a("fillcolor", n.addOpacity((e.line || {}).color || o || r, 0.5)); + }; + }, + { "../../components/color": 474, "../../lib": 602 }, + ], + 936: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("./subtypes"); + e.exports = function (t, e) { + var r, a; + if ("lines" === t.mode) + return (r = t.line.color) && n.opacity(r) ? r : t.fillcolor; + if ("none" === t.mode) return t.fill ? t.fillcolor : ""; + var o = e.mcc || (t.marker || {}).color, + s = e.mlcc || ((t.marker || {}).line || {}).color; + return (a = + o && n.opacity(o) + ? o + : s && n.opacity(s) && (e.mlw || ((t.marker || {}).line || {}).width) + ? s + : "") + ? n.opacity(a) < 0.3 + ? n.addOpacity(a, 0.3) + : a + : (r = (t.line || {}).color) && + n.opacity(r) && + i.hasLines(t) && + t.line.width + ? r + : t.fillcolor; + }; + }, + { "../../components/color": 474, "./subtypes": 948 }, + ], + 937: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/fx"), + a = t("../../registry"), + o = t("./get_trace_color"), + s = t("../../components/color"), + l = t("./fill_hover_text"); + e.exports = function (t, e, r, c) { + var u = t.cd, + f = u[0].trace, + h = t.xa, + p = t.ya, + d = h.c2p(e), + g = p.c2p(r), + m = [d, g], + v = f.hoveron || "", + y = -1 !== f.mode.indexOf("markers") ? 3 : 0.5; + if (-1 !== v.indexOf("points")) { + var x = function (t) { + var e = Math.max(y, t.mrc || 0), + r = h.c2p(t.x) - d, + n = p.c2p(t.y) - g; + return Math.max(Math.sqrt(r * r + n * n) - e, 1 - y / e); + }, + b = i.getDistanceFunction( + c, + function (t) { + var e = Math.max(3, t.mrc || 0), + r = 1 - 1 / e, + n = Math.abs(h.c2p(t.x) - d); + return n < e ? (r * n) / e : n - e + r; + }, + function (t) { + var e = Math.max(3, t.mrc || 0), + r = 1 - 1 / e, + n = Math.abs(p.c2p(t.y) - g); + return n < e ? (r * n) / e : n - e + r; + }, + x, + ); + if ((i.getClosest(u, b, t), !1 !== t.index)) { + var _ = u[t.index], + w = h.c2p(_.x, !0), + k = p.c2p(_.y, !0), + M = _.mrc || 1; + return ( + n.extendFlat(t, { + color: o(f, _), + x0: w - M, + x1: w + M, + xLabelVal: _.x, + y0: k - M, + y1: k + M, + yLabelVal: _.y, + spikeDistance: x(_), + }), + l(_, f, t), + a.getComponentMethod("errorbars", "hoverInfo")(_, f, t), + [t] + ); + } + } + if (-1 !== v.indexOf("fills") && f._polygons) { + var A, + T, + S, + C, + E, + L, + z, + P, + D, + O = f._polygons, + I = [], + R = !1, + B = 1 / 0, + F = -1 / 0, + N = 1 / 0, + j = -1 / 0; + for (A = 0; A < O.length; A++) + (S = O[A]).contains(m) && + ((R = !R), + I.push(S), + (N = Math.min(N, S.ymin)), + (j = Math.max(j, S.ymax))); + if (R) { + var V = ((N = Math.max(N, 0)) + (j = Math.min(j, p._length))) / 2; + for (A = 0; A < I.length; A++) + for (C = I[A].pts, T = 1; T < C.length; T++) + (P = C[T - 1][1]) > V != (D = C[T][1]) >= V && + ((L = C[T - 1][0]), + (z = C[T][0]), + D - P && + ((E = L + ((z - L) * (V - P)) / (D - P)), + (B = Math.min(B, E)), + (F = Math.max(F, E)))); + ((B = Math.max(B, 0)), (F = Math.min(F, h._length))); + var U = s.defaultLine; + return ( + s.opacity(f.fillcolor) + ? (U = f.fillcolor) + : s.opacity((f.line || {}).color) && (U = f.line.color), + n.extendFlat(t, { + distance: t.maxHoverDistance, + x0: B, + x1: F, + y0: V, + y1: V, + color: U, + }), + delete t.index, + f.text && !Array.isArray(f.text) + ? (t.text = String(f.text)) + : (t.text = f.name), + [t] + ); + } + } + }; + }, + { + "../../components/color": 474, + "../../components/fx": 516, + "../../lib": 602, + "../../registry": 732, + "./fill_hover_text": 934, + "./get_trace_color": 936, + }, + ], + 938: [ + function (t, e, r) { + "use strict"; + var n = {}, + i = t("./subtypes"); + ((n.hasLines = i.hasLines), + (n.hasMarkers = i.hasMarkers), + (n.hasText = i.hasText), + (n.isBubble = i.isBubble), + (n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.cleanData = t("./clean_data")), + (n.calc = t("./calc").calc), + (n.arraysToCalcdata = t("./arrays_to_calcdata")), + (n.plot = t("./plot")), + (n.colorbar = t("./colorbar")), + (n.style = t("./style").style), + (n.styleOnSelect = t("./style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.selectPoints = t("./select")), + (n.animatable = !0), + (n.moduleType = "trace"), + (n.name = "scatter"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "cartesian", + "svg", + "symbols", + "markerColorscale", + "errorBarsOK", + "showLegend", + "scatter-like", + "draggedPts", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "./arrays_to_calcdata": 925, + "./attributes": 926, + "./calc": 927, + "./clean_data": 929, + "./colorbar": 930, + "./defaults": 933, + "./hover": 937, + "./plot": 945, + "./select": 946, + "./style": 947, + "./subtypes": 948, + }, + ], + 939: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib").isArrayOrTypedArray, + i = t("../../components/colorscale/has_colorscale"), + a = t("../../components/colorscale/defaults"); + e.exports = function (t, e, r, o, s, l) { + var c = (t.marker || {}).color; + (s("line.color", r), i(t, "line")) + ? a(t, e, o, s, { prefix: "line.", cLetter: "c" }) + : s("line.color", (!n(c) && c) || r); + (s("line.width"), (l || {}).noDash || s("line.dash")); + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../components/colorscale/has_colorscale": 488, + "../../lib": 602, + }, + ], + 940: [ + function (t, e, r) { + "use strict"; + var n = t("../../constants/numerical").BADNUM, + i = t("../../lib"), + a = i.segmentsIntersect, + o = i.constrain, + s = t("./constants"); + e.exports = function (t, e) { + var r, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + k = e.xaxis, + M = e.yaxis, + A = e.simplify, + T = e.connectGaps, + S = e.baseTolerance, + C = e.shape, + E = "linear" === C, + L = [], + z = s.minTolerance, + P = new Array(t.length), + D = 0; + function O(e) { + var r = t[e], + i = k.c2p(r.x), + a = M.c2p(r.y); + return i === n || a === n ? r.intoCenter || !1 : [i, a]; + } + function I(t) { + var e = t[0] / k._length, + r = t[1] / M._length; + return (1 + s.toleranceGrowth * Math.max(0, -e, e - 1, -r, r - 1)) * S; + } + function R(t, e) { + var r = t[0] - e[0], + n = t[1] - e[1]; + return Math.sqrt(r * r + n * n); + } + A || (S = z = -1); + var B, + F, + N, + j, + V, + U, + q, + H = s.maxScreensAway, + G = -k._length * H, + W = k._length * (1 + H), + Y = -M._length * H, + X = M._length * (1 + H), + Z = [ + [G, Y, W, Y], + [W, Y, W, X], + [W, X, G, X], + [G, X, G, Y], + ]; + function J(t) { + if (t[0] < G || t[0] > W || t[1] < Y || t[1] > X) + return [o(t[0], G, W), o(t[1], Y, X)]; + } + function K(t, e) { + return ( + (t[0] === e[0] && (t[0] === G || t[0] === W)) || + (t[1] === e[1] && (t[1] === Y || t[1] === X)) || + void 0 + ); + } + function Q(t, e, r) { + return function (n, a) { + var o = J(n), + s = J(a), + l = []; + if (o && s && K(o, s)) return l; + (o && l.push(o), s && l.push(s)); + var c = + 2 * i.constrain((n[t] + a[t]) / 2, e, r) - + ((o || n)[t] + (s || a)[t]); + c && ((o && s ? (c > 0 == o[t] > s[t] ? o : s) : o || s)[t] += c); + return l; + }; + } + function $(t) { + var e = t[0], + r = t[1], + n = e === P[D - 1][0], + i = r === P[D - 1][1]; + if (!n || !i) + if (D > 1) { + var a = e === P[D - 2][0], + o = r === P[D - 2][1]; + n && (e === G || e === W) && a + ? o + ? D-- + : (P[D - 1] = t) + : i && (r === Y || r === X) && o + ? a + ? D-- + : (P[D - 1] = t) + : (P[D++] = t); + } else P[D++] = t; + } + function tt(t) { + (P[D - 1][0] !== t[0] && P[D - 1][1] !== t[1] && $([N, j]), + $(t), + (V = null), + (N = j = 0)); + } + function et(t) { + if ( + ((B = t[0] < G ? G : t[0] > W ? W : 0), + (F = t[1] < Y ? Y : t[1] > X ? X : 0), + B || F) + ) { + if (D) + if (V) { + var e = q(V, t); + e.length > 1 && (tt(e[0]), (P[D++] = e[1])); + } else ((U = q(P[D - 1], t)[0]), (P[D++] = U)); + else P[D++] = [B || t[0], F || t[1]]; + var r = P[D - 1]; + (B && F && (r[0] !== B || r[1] !== F) + ? (V && + (N !== B && j !== F + ? $( + N && j + ? ((n = V), + (a = (i = t)[0] - n[0]), + (o = (i[1] - n[1]) / a), + (n[1] * i[0] - i[1] * n[0]) / a > 0 + ? [o > 0 ? G : W, X] + : [o > 0 ? W : G, Y]) + : [N || B, j || F], + ) + : N && j && $([N, j])), + $([B, F])) + : N - B && j - F && $([B || N, F || j]), + (V = t), + (N = B), + (j = F)); + } else (V && tt(q(V, t)[0]), (P[D++] = t)); + var n, i, a, o; + } + for ( + "linear" === C || "spline" === C + ? (q = function (t, e) { + for (var r = [], n = 0, i = 0; i < 4; i++) { + var o = Z[i], + s = a(t[0], t[1], e[0], e[1], o[0], o[1], o[2], o[3]); + s && + (!n || + Math.abs(s.x - r[0][0]) > 1 || + Math.abs(s.y - r[0][1]) > 1) && + ((s = [s.x, s.y]), + n && R(s, t) < R(r[0], t) ? r.unshift(s) : r.push(s), + n++); + } + return r; + }) + : "hv" === C || "vh" === C + ? (q = function (t, e) { + var r = [], + n = J(t), + i = J(e); + return n && i && K(n, i) + ? r + : (n && r.push(n), i && r.push(i), r); + }) + : "hvh" === C + ? (q = Q(0, G, W)) + : "vhv" === C && (q = Q(1, Y, X)), + r = 0; + r < t.length; + r++ + ) + if ((l = O(r))) { + for (D = 0, V = null, et(l), r++; r < t.length; r++) { + if (!(u = O(r))) { + if (T) continue; + break; + } + if (E) { + if (!((m = R(u, l)) < I(u) * z)) { + for ( + d = [(u[0] - l[0]) / m, (u[1] - l[1]) / m], + f = l, + v = m, + y = b = _ = 0, + p = !1, + c = u, + r++; + r < t.length; + r++ + ) { + if (!(h = O(r))) { + if (T) continue; + break; + } + if ( + ((w = + (g = [h[0] - l[0], h[1] - l[1]])[0] * d[1] - g[1] * d[0]), + (b = Math.min(b, w)), + (_ = Math.max(_, w)) - b > I(h)) + ) + break; + ((c = h), + (x = g[0] * d[0] + g[1] * d[1]) > v + ? ((v = x), (u = h), (p = !1)) + : x < y && ((y = x), (f = h), (p = !0))); + } + if ( + (p + ? (et(u), c !== f && et(f)) + : (f !== l && et(f), c !== u && et(u)), + et(c), + r >= t.length || !h) + ) + break; + (et(h), (l = h)); + } + } else et(u); + } + (V && $([N || V[0], j || V[1]]), L.push(P.slice(0, D))); + } + return L; + }; + }, + { "../../constants/numerical": 579, "../../lib": 602, "./constants": 932 }, + ], + 941: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + "spline" === r("line.shape") && r("line.smoothing"); + }; + }, + {}, + ], + 942: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r) { + var n, + i, + a = null; + for (i = 0; i < r.length; ++i) + !0 === (n = r[i][0].trace).visible + ? ((n._nexttrace = null), + -1 !== ["tonextx", "tonexty", "tonext"].indexOf(n.fill) && + ((n._prevtrace = a), a && (a._nexttrace = n)), + (a = n)) + : (n._prevtrace = n._nexttrace = null); + }; + }, + {}, + ], + 943: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"); + e.exports = function (t) { + var e = t.marker, + r = e.sizeref || 1, + i = e.sizemin || 0, + a = + "area" === e.sizemode + ? function (t) { + return Math.sqrt(t / r); + } + : function (t) { + return t / r; + }; + return function (t) { + var e = a(t / 2); + return n(e) && e > 0 ? Math.max(e, i) : 0; + }; + }; + }, + { "fast-isnumeric": 196 }, + ], + 944: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("../../components/colorscale/has_colorscale"), + a = t("../../components/colorscale/defaults"), + o = t("./subtypes"); + e.exports = function (t, e, r, s, l, c) { + var u = o.isBubble(t), + f = (t.line || {}).color; + ((c = c || {}), + f && (r = f), + l("marker.symbol"), + l("marker.opacity", u ? 0.7 : 1), + l("marker.size"), + l("marker.color", r), + i(t, "marker") && a(t, e, s, l, { prefix: "marker.", cLetter: "c" }), + c.noSelect || + (l("selected.marker.color"), + l("unselected.marker.color"), + l("selected.marker.size"), + l("unselected.marker.size")), + c.noLine || + (l( + "marker.line.color", + f && !Array.isArray(f) && e.marker.color !== f + ? f + : u + ? n.background + : n.defaultLine, + ), + i(t, "marker.line") && + a(t, e, s, l, { prefix: "marker.line.", cLetter: "c" }), + l("marker.line.width", u ? 1 : 0)), + u && (l("marker.sizeref"), l("marker.sizemin"), l("marker.sizemode")), + c.gradient) && + "none" !== l("marker.gradient.type") && + l("marker.gradient.color"); + }; + }, + { + "../../components/color": 474, + "../../components/colorscale/defaults": 484, + "../../components/colorscale/has_colorscale": 488, + "./subtypes": 948, + }, + ], + 945: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../registry"), + a = t("../../lib"), + o = t("../../components/drawing"), + s = t("./subtypes"), + l = t("./line_points"), + c = t("./link_traces"), + u = t("../../lib/polygon").tester; + function f(t, e, r, c, f, h, p) { + var d, g; + !(function (t, e, r, i, o) { + var l = r.xaxis, + c = r.yaxis, + u = n.extent(a.simpleMap(l.range, l.r2c)), + f = n.extent(a.simpleMap(c.range, c.r2c)), + h = i[0].trace; + if (!s.hasMarkers(h)) return; + var p = h.marker.maxdisplayed; + if (0 === p) return; + var d = i.filter(function (t) { + return t.x >= u[0] && t.x <= u[1] && t.y >= f[0] && t.y <= f[1]; + }), + g = Math.ceil(d.length / p), + m = 0; + o.forEach(function (t, r) { + var n = t[0].trace; + s.hasMarkers(n) && n.marker.maxdisplayed > 0 && r < e && m++; + }); + var v = Math.round((m * g) / 3 + (Math.floor(m / 3) * g) / 7.1); + (i.forEach(function (t) { + delete t.vis; + }), + d.forEach(function (t, e) { + 0 === Math.round((e + v) % g) && (t.vis = !0); + })); + })(0, e, r, c, f); + var m = !!p && p.duration > 0; + function v(t) { + return m ? t.transition() : t; + } + var y = r.xaxis, + x = r.yaxis, + b = c[0].trace, + _ = b.line, + w = n.select(h); + if ( + (i.getComponentMethod("errorbars", "plot")(w, r, p), !0 === b.visible) + ) { + var k, M; + v(w).style("opacity", b.opacity); + var A = b.fill.charAt(b.fill.length - 1); + ("x" !== A && "y" !== A && (A = ""), r.isRangePlot || (c[0].node3 = w)); + var T = "", + S = [], + C = b._prevtrace; + C && ((T = C._prevRevpath || ""), (M = C._nextFill), (S = C._polygons)); + var E, + L, + z, + P, + D, + O, + I, + R, + B, + F = "", + N = "", + j = [], + V = a.noop; + if (((k = b._ownFill), s.hasLines(b) || "none" !== b.fill)) { + for ( + M && M.datum(c), + -1 !== ["hv", "vh", "hvh", "vhv"].indexOf(_.shape) + ? ((z = o.steps(_.shape)), + (P = o.steps(_.shape.split("").reverse().join("")))) + : (z = P = + "spline" === _.shape + ? function (t) { + var e = t[t.length - 1]; + return t.length > 1 && + t[0][0] === e[0] && + t[0][1] === e[1] + ? o.smoothclosed(t.slice(1), _.smoothing) + : o.smoothopen(t, _.smoothing); + } + : function (t) { + return "M" + t.join("L"); + }), + D = function (t) { + return P(t.reverse()); + }, + j = l(c, { + xaxis: y, + yaxis: x, + connectGaps: b.connectgaps, + baseTolerance: Math.max(_.width || 1, 3) / 4, + shape: _.shape, + simplify: _.simplify, + }), + B = b._polygons = new Array(j.length), + g = 0; + g < j.length; + g++ + ) + b._polygons[g] = u(j[g]); + (j.length && ((O = j[0][0]), (R = (I = j[j.length - 1])[I.length - 1])), + (V = function (t) { + return function (e) { + if ( + ((E = z(e)), + (L = D(e)), + F + ? A + ? ((F += "L" + E.substr(1)), (N = L + "L" + N.substr(1))) + : ((F += "Z" + E), (N = L + "Z" + N)) + : ((F = E), (N = L)), + s.hasLines(b) && e.length > 1) + ) { + var r = n.select(this); + if ((r.datum(c), t)) + v( + r.style("opacity", 0).attr("d", E).call(o.lineGroupStyle), + ).style("opacity", 1); + else { + var i = v(r); + (i.attr("d", E), o.singleLineStyle(c, i)); + } + } + }; + })); + } + var U = w.selectAll(".js-line").data(j); + (v(U.exit()).style("opacity", 0).remove(), + U.each(V(!1)), + U.enter() + .append("path") + .classed("js-line", !0) + .style("vector-effect", "non-scaling-stroke") + .call(o.lineGroupStyle) + .each(V(!0)), + o.setClipUrl(U, r.layerClipId), + j.length + ? (k + ? O && + R && + (A + ? ("y" === A + ? (O[1] = R[1] = x.c2p(0, !0)) + : "x" === A && (O[0] = R[0] = y.c2p(0, !0)), + v(k) + .attr("d", "M" + R + "L" + O + "L" + F.substr(1)) + .call(o.singleFillStyle)) + : v(k) + .attr("d", F + "Z") + .call(o.singleFillStyle)) + : M && + ("tonext" === b.fill.substr(0, 6) && F && T + ? ("tonext" === b.fill + ? v(M) + .attr("d", F + "Z" + T + "Z") + .call(o.singleFillStyle) + : v(M) + .attr("d", F + "L" + T.substr(1) + "Z") + .call(o.singleFillStyle), + (b._polygons = b._polygons.concat(S))) + : (H(M), (b._polygons = null))), + (b._prevRevpath = N), + (b._prevPolygons = B)) + : (k ? H(k) : M && H(M), + (b._polygons = b._prevRevpath = b._prevPolygons = null))); + var q = w.selectAll(".points"); + ((d = q.data([c])), + q.each(Z), + d.enter().append("g").classed("points", !0).each(Z), + d.exit().remove(), + d.each(function (t) { + var e = !1 === t[0].trace.cliponaxis; + o.setClipUrl(n.select(this), e ? null : r.layerClipId); + })); + } + function H(t) { + v(t).attr("d", "M0,0Z"); + } + function G(t) { + return t.filter(function (t) { + return t.vis; + }); + } + function W(t) { + return t.id; + } + function Y(t) { + if (t.ids) return W; + } + function X() { + return !1; + } + function Z(e) { + var i, + l = e[0].trace, + c = n.select(this), + u = s.hasMarkers(l), + f = s.hasText(l), + h = Y(l), + p = X, + d = X; + (u && (p = l.marker.maxdisplayed || l._needsCull ? G : a.identity), + f && (d = l.marker.maxdisplayed || l._needsCull ? G : a.identity)); + var g, + b = (i = c.selectAll("path.point").data(p, h)) + .enter() + .append("path") + .classed("point", !0); + (m && + b + .call(o.pointStyle, l, t) + .call(o.translatePoints, y, x) + .style("opacity", 0) + .transition() + .style("opacity", 1), + i.order(), + u && (g = o.makePointStyleFns(l)), + i.each(function (e) { + var i = n.select(this), + a = v(i); + o.translatePoint(e, a, y, x) + ? (o.singlePointStyle(e, a, l, g, t), + r.layerClipId && + o.hideOutsideRangePoint(e, a, y, x, l.xcalendar, l.ycalendar), + l.customdata && + i.classed( + "plotly-customdata", + null !== e.data && void 0 !== e.data, + )) + : a.remove(); + }), + m + ? i.exit().transition().style("opacity", 0).remove() + : i.exit().remove(), + (i = c.selectAll("g").data(d, h)) + .enter() + .append("g") + .classed("textpoint", !0) + .append("text"), + i.order(), + i.each(function (t) { + var e = n.select(this), + i = v(e.select("text")); + o.translatePoint(t, i, y, x) + ? r.layerClipId && + o.hideOutsideRangePoint(t, e, y, x, l.xcalendar, l.ycalendar) + : e.remove(); + }), + i + .selectAll("text") + .call(o.textPointStyle, l, t) + .each(function (t) { + var e = y.c2p(t.x), + r = x.c2p(t.y); + n.select(this) + .selectAll("tspan.line") + .each(function () { + v(n.select(this)).attr({ x: e, y: r }); + }); + }), + i.exit().remove()); + } + } + e.exports = function (t, e, r, i, a, s) { + var l, + u, + h, + p, + d = !a, + g = !!a && a.duration > 0; + for ( + (h = i.selectAll("g.trace").data(r, function (t) { + return t[0].trace.uid; + })) + .enter() + .append("g") + .attr("class", function (t) { + return "trace scatter trace" + t[0].trace.uid; + }) + .style("stroke-miterlimit", 2), + c(t, e, r), + (function (t, e, r) { + var i; + e.selectAll("g.trace").each(function (t) { + var e = n.select(this); + if ((i = t[0].trace)._nexttrace) { + if ( + ((i._nextFill = e.select(".js-fill.js-tonext")), + !i._nextFill.size()) + ) { + var a = ":first-child"; + (e.select(".js-fill.js-tozero").size() && (a += " + *"), + (i._nextFill = e + .insert("path", a) + .attr("class", "js-fill js-tonext"))); + } + } else + (e.selectAll(".js-fill.js-tonext").remove(), + (i._nextFill = null)); + (i.fill && + ("tozero" === i.fill.substr(0, 6) || + "toself" === i.fill || + ("to" === i.fill.substr(0, 2) && !i._prevtrace)) + ? ((i._ownFill = e.select(".js-fill.js-tozero")), + i._ownFill.size() || + (i._ownFill = e + .insert("path", ":first-child") + .attr("class", "js-fill js-tozero"))) + : (e.selectAll(".js-fill.js-tozero").remove(), + (i._ownFill = null)), + e.selectAll(".js-fill").call(o.setClipUrl, r.layerClipId)); + }); + })(0, i, e), + l = 0, + u = {}; + l < r.length; + l++ + ) + u[r[l][0].trace.uid] = l; + (i.selectAll("g.trace").sort(function (t, e) { + return u[t[0].trace.uid] > u[e[0].trace.uid] ? 1 : -1; + }), + g) + ? (s && (p = s()), + n + .transition() + .duration(a.duration) + .ease(a.easing) + .each("end", function () { + p && p(); + }) + .each("interrupt", function () { + p && p(); + }) + .each(function () { + i.selectAll("g.trace").each(function (n, i) { + f(t, i, e, n, r, this, a); + }); + })) + : i.selectAll("g.trace").each(function (n, i) { + f(t, i, e, n, r, this, a); + }); + (d && h.exit().remove(), i.selectAll("path:not([d])").remove()); + }; + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/polygon": 614, + "../../registry": 732, + "./line_points": 940, + "./link_traces": 942, + "./subtypes": 948, + d3: 130, + }, + ], + 946: [ + function (t, e, r) { + "use strict"; + var n = t("./subtypes"); + e.exports = function (t, e) { + var r, + i, + a, + o, + s = t.cd, + l = t.xaxis, + c = t.yaxis, + u = [], + f = s[0].trace; + if (!n.hasMarkers(f) && !n.hasText(f)) return []; + if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + ((i = s[r]), + (a = l.c2p(i.x)), + (o = c.c2p(i.y)), + e.contains([a, o]) + ? (u.push({ pointNumber: r, x: l.c2d(i.x), y: c.c2d(i.y) }), + (i.selected = 1)) + : (i.selected = 0)); + return u; + }; + }, + { "./subtypes": 948 }, + ], + 947: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("../../registry"); + function o(t, e, r) { + (i.pointStyle(t.selectAll("path.point"), e, r), + i.textPointStyle(t.selectAll("text"), e, r)); + } + e.exports = { + style: function (t, e) { + var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.scatter"); + (r.style("opacity", function (t) { + return t[0].trace.opacity; + }), + r.selectAll("g.points").each(function (e) { + o(n.select(this), e.trace || e[0].trace, t); + }), + r.selectAll("g.trace path.js-line").call(i.lineGroupStyle), + r.selectAll("g.trace path.js-fill").call(i.fillGroupStyle), + a.getComponentMethod("errorbars", "style")(r)); + }, + stylePoints: o, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? (i.selectedPointStyle(r.selectAll("path.point"), n), + i.selectedTextStyle(r.selectAll("text"), n)) + : o(r, n, t); + }, + }; + }, + { "../../components/drawing": 499, "../../registry": 732, d3: 130 }, + ], + 948: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = { + hasLines: function (t) { + return t.visible && t.mode && -1 !== t.mode.indexOf("lines"); + }, + hasMarkers: function (t) { + return ( + t.visible && + ((t.mode && -1 !== t.mode.indexOf("markers")) || "splom" === t.type) + ); + }, + hasText: function (t) { + return t.visible && t.mode && -1 !== t.mode.indexOf("text"); + }, + isBubble: function (t) { + return n.isPlainObject(t.marker) && n.isArrayOrTypedArray(t.marker.size); + }, + }; + }, + { "../../lib": 602 }, + ], + 949: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"); + e.exports = function (t, e, r, i, a) { + ((a = a || {}), + i("textposition"), + n.coerceFont(i, "textfont", r.font), + a.noSelect || + (i("selected.textfont.color"), i("unselected.textfont.color"))); + }; + }, + { "../../lib": 602 }, + ], + 950: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"); + e.exports = function (t, e, r, i) { + var a, + o = i("x"), + s = i("y"); + if ( + (n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y"], + r, + ), + o) + ) + s + ? (a = Math.min(o.length, s.length)) + : ((a = o.length), i("y0"), i("dy")); + else { + if (!s) return 0; + ((a = e.y.length), i("x0"), i("dx")); + } + return ((e._length = a), a); + }; + }, + { "../../registry": 732 }, + ], + 951: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../components/colorscale/color_attributes"), + a = t("../../plots/attributes"), + o = t("../../constants/gl3d_dashes"), + s = t("../../constants/gl3d_markers"), + l = t("../../lib/extend").extendFlat, + c = t("../../plot_api/edit_types").overrideAll, + u = n.line, + f = n.marker, + h = f.line; + var p = (e.exports = c( + { + x: n.x, + y: n.y, + z: { valType: "data_array" }, + text: l({}, n.text, {}), + hovertext: l({}, n.hovertext, {}), + mode: l({}, n.mode, { dflt: "lines+markers" }), + surfaceaxis: { valType: "enumerated", values: [-1, 0, 1, 2], dflt: -1 }, + surfacecolor: { valType: "color" }, + projection: { + x: { + show: { valType: "boolean", dflt: !1 }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, + }, + y: { + show: { valType: "boolean", dflt: !1 }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, + }, + z: { + show: { valType: "boolean", dflt: !1 }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, + }, + }, + connectgaps: n.connectgaps, + line: l( + { + width: u.width, + dash: { + valType: "enumerated", + values: Object.keys(o), + dflt: "solid", + }, + showscale: { valType: "boolean", dflt: !1 }, + }, + i("line"), + ), + marker: l( + { + symbol: { + valType: "enumerated", + values: Object.keys(s), + dflt: "circle", + arrayOk: !0, + }, + size: l({}, f.size, { dflt: 8 }), + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + opacity: l({}, f.opacity, { arrayOk: !1 }), + showscale: f.showscale, + colorbar: f.colorbar, + line: l({ width: l({}, h.width, { arrayOk: !1 }) }, i("marker.line")), + }, + i("marker"), + ), + textposition: l({}, n.textposition, { dflt: "top center" }), + textfont: n.textfont, + hoverinfo: l({}, a.hoverinfo), + }, + "calc", + "nested", + )); + p.x.editType = p.y.editType = p.z.editType = "calc+clearAxisTypes"; + }, + { + "../../components/colorscale/color_attributes": 482, + "../../constants/gl3d_dashes": 576, + "../../constants/gl3d_markers": 577, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + }, + ], + 952: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/arrays_to_calcdata"), + i = t("../scatter/colorscale_calc"); + e.exports = function (t, e) { + var r = [{ x: !1, y: !1, trace: e, t: {} }]; + return (n(r, e), i(e), r); + }; + }, + { "../scatter/arrays_to_calcdata": 925, "../scatter/colorscale_calc": 931 }, + ], + 953: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/errorbars/compute_error"); + function i(t, e, r) { + if (!e || !e.visible) return null; + for (var i = n(e), a = new Array(t.length), o = 0; o < t.length; o++) { + var s = i(+t[o], o); + a[o] = [-s[0] * r, s[1] * r]; + } + return a; + } + e.exports = function (t, e) { + var r = [ + i(t.x, t.error_x, e[0]), + i(t.y, t.error_y, e[1]), + i(t.z, t.error_z, e[2]), + ], + n = (function (t) { + for (var e = 0; e < t.length; e++) if (t[e]) return t[e].length; + return 0; + })(r); + if (0 === n) return null; + for (var a = new Array(n), o = 0; o < n; o++) { + for ( + var s = [ + [0, 0, 0], + [0, 0, 0], + ], + l = 0; + l < 3; + l++ + ) + if (r[l]) for (var c = 0; c < 2; c++) s[c][l] = r[l][o][c]; + a[o] = s; + } + return a; + }; + }, + { "../../components/errorbars/compute_error": 503 }, + ], + 954: [ + function (t, e, r) { + "use strict"; + var n = t("gl-line3d"), + i = t("gl-scatter3d"), + a = t("gl-error3d"), + o = t("gl-mesh3d"), + s = t("delaunay-triangulate"), + l = t("../../lib"), + c = t("../../lib/str2rgbarray"), + u = t("../../lib/gl_format_color"), + f = t("../scatter/make_bubble_size_func"), + h = t("../../constants/gl3d_dashes"), + p = t("../../constants/gl3d_markers"), + d = t("./calc_errors"); + function g(t, e) { + ((this.scene = t), + (this.uid = e), + (this.linePlot = null), + (this.scatterPlot = null), + (this.errorBars = null), + (this.textMarkers = null), + (this.delaunayMesh = null), + (this.color = null), + (this.mode = ""), + (this.dataPoints = []), + (this.axesBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.textLabels = null), + (this.data = null)); + } + var m = g.prototype; + function v(t, e) { + return e(4 * t); + } + function y(t) { + return p[t]; + } + function x(t, e, r, n, i) { + var a = null; + if (l.isArrayOrTypedArray(t)) { + a = []; + for (var o = 0; o < e; o++) + void 0 === t[o] ? (a[o] = n) : (a[o] = r(t[o], i)); + } else a = r(t, l.identity); + return a; + } + function b(t, e) { + var r, + n, + i, + a, + o, + s, + h, + p, + g = [], + m = t.fullSceneLayout, + b = t.dataScale, + _ = m.xaxis, + w = m.yaxis, + k = m.zaxis, + M = e.marker, + A = e.line, + T = e.x || [], + S = e.y || [], + C = e.z || [], + E = T.length, + L = e.xcalendar, + z = e.ycalendar, + P = e.zcalendar; + for (n = 0; n < E; n++) + ((i = _.d2l(T[n], 0, L) * b[0]), + (a = w.d2l(S[n], 0, z) * b[1]), + (o = k.d2l(C[n], 0, P) * b[2]), + (g[n] = [i, a, o])); + if (Array.isArray(e.text)) s = e.text; + else if (void 0 !== e.text) + for (s = new Array(E), n = 0; n < E; n++) s[n] = e.text; + if ( + ((r = { position: g, mode: e.mode, text: s }), + "line" in e && + ((r.lineColor = u(A, 1, E)), + (r.lineWidth = A.width), + (r.lineDashes = A.dash)), + "marker" in e) + ) { + var D = f(e); + ((r.scatterColor = u(M, 1, E)), + (r.scatterSize = x(M.size, E, v, 20, D)), + (r.scatterMarker = x(M.symbol, E, y, "\u25cf")), + (r.scatterLineWidth = M.line.width), + (r.scatterLineColor = u(M.line, 1, E)), + (r.scatterAngle = 0)); + } + "textposition" in e && + ((r.textOffset = + ((h = e.textposition), + (p = [0, 0]), + Array.isArray(h) + ? [0, -1] + : (h.indexOf("bottom") >= 0 && (p[1] += 1), + h.indexOf("top") >= 0 && (p[1] -= 1), + h.indexOf("left") >= 0 && (p[0] -= 1), + h.indexOf("right") >= 0 && (p[0] += 1), + p))), + (r.textColor = u(e.textfont, 1, E)), + (r.textSize = x(e.textfont.size, E, l.identity, 12)), + (r.textFont = e.textfont.family), + (r.textAngle = 0)); + var O = ["x", "y", "z"]; + for ( + r.project = [!1, !1, !1], + r.projectScale = [1, 1, 1], + r.projectOpacity = [1, 1, 1], + n = 0; + n < 3; + ++n + ) { + var I = e.projection[O[n]]; + (r.project[n] = I.show) && + ((r.projectOpacity[n] = I.opacity), (r.projectScale[n] = I.scale)); + } + r.errorBounds = d(e, b); + var R = (function (t) { + for ( + var e = [0, 0, 0], + r = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + n = [0, 0, 0], + i = 0; + i < 3; + i++ + ) { + var a = t[i]; + (a && !1 !== a.copy_zstyle && (a = t[2]), + a && ((e[i] = a.width / 2), (r[i] = c(a.color)), (n = a.thickness))); + } + return { capSize: e, color: r, lineWidth: n }; + })([e.error_x, e.error_y, e.error_z]); + return ( + (r.errorColor = R.color), + (r.errorLineWidth = R.lineWidth), + (r.errorCapSize = R.capSize), + (r.delaunayAxis = e.surfaceaxis), + (r.delaunayColor = c(e.surfacecolor)), + r + ); + } + function _(t) { + if (Array.isArray(t)) { + var e = t[0]; + return ( + Array.isArray(e) && (t = e), + "rgb(" + + t.slice(0, 3).map(function (t) { + return Math.round(255 * t); + }) + + ")" + ); + } + return null; + } + ((m.handlePick = function (t) { + if ( + t.object && + (t.object === this.linePlot || + t.object === this.delaunayMesh || + t.object === this.textMarkers || + t.object === this.scatterPlot) + ) { + (t.object.highlight && t.object.highlight(null), + this.scatterPlot && + ((t.object = this.scatterPlot), this.scatterPlot.highlight(t.data)), + this.textLabels + ? void 0 !== this.textLabels[t.data.index] + ? (t.textLabel = this.textLabels[t.data.index]) + : (t.textLabel = this.textLabels) + : (t.textLabel = "")); + var e = (t.index = t.data.index); + return ( + (t.traceCoordinate = [this.data.x[e], this.data.y[e], this.data.z[e]]), + !0 + ); + } + }), + (m.update = function (t) { + var e, + r, + l, + c, + u = this.scene.glplot.gl, + f = h.solid; + this.data = t; + var p = b(this.scene, t); + ("mode" in p && (this.mode = p.mode), + "lineDashes" in p && p.lineDashes in h && (f = h[p.lineDashes]), + (this.color = _(p.scatterColor) || _(p.lineColor)), + (this.dataPoints = p.position), + (e = { + gl: u, + position: p.position, + color: p.lineColor, + lineWidth: p.lineWidth || 1, + dashes: f[0], + dashScale: f[1], + opacity: t.opacity, + connectGaps: t.connectgaps, + }), + -1 !== this.mode.indexOf("lines") + ? this.linePlot + ? this.linePlot.update(e) + : ((this.linePlot = n(e)), + (this.linePlot._trace = this), + this.scene.glplot.add(this.linePlot)) + : this.linePlot && + (this.scene.glplot.remove(this.linePlot), + this.linePlot.dispose(), + (this.linePlot = null))); + var d = t.opacity; + if ( + (t.marker && t.marker.opacity && (d *= t.marker.opacity), + (r = { + gl: u, + position: p.position, + color: p.scatterColor, + size: p.scatterSize, + glyph: p.scatterMarker, + opacity: d, + orthographic: !0, + lineWidth: p.scatterLineWidth, + lineColor: p.scatterLineColor, + project: p.project, + projectScale: p.projectScale, + projectOpacity: p.projectOpacity, + }), + -1 !== this.mode.indexOf("markers") + ? this.scatterPlot + ? this.scatterPlot.update(r) + : ((this.scatterPlot = i(r)), + (this.scatterPlot._trace = this), + (this.scatterPlot.highlightScale = 1), + this.scene.glplot.add(this.scatterPlot)) + : this.scatterPlot && + (this.scene.glplot.remove(this.scatterPlot), + this.scatterPlot.dispose(), + (this.scatterPlot = null)), + (c = { + gl: u, + position: p.position, + glyph: p.text, + color: p.textColor, + size: p.textSize, + angle: p.textAngle, + alignment: p.textOffset, + font: p.textFont, + orthographic: !0, + lineWidth: 0, + project: !1, + opacity: t.opacity, + }), + (this.textLabels = t.hovertext || t.text), + -1 !== this.mode.indexOf("text") + ? this.textMarkers + ? this.textMarkers.update(c) + : ((this.textMarkers = i(c)), + (this.textMarkers._trace = this), + (this.textMarkers.highlightScale = 1), + this.scene.glplot.add(this.textMarkers)) + : this.textMarkers && + (this.scene.glplot.remove(this.textMarkers), + this.textMarkers.dispose(), + (this.textMarkers = null)), + (l = { + gl: u, + position: p.position, + color: p.errorColor, + error: p.errorBounds, + lineWidth: p.errorLineWidth, + capSize: p.errorCapSize, + opacity: t.opacity, + }), + this.errorBars + ? p.errorBounds + ? this.errorBars.update(l) + : (this.scene.glplot.remove(this.errorBars), + this.errorBars.dispose(), + (this.errorBars = null)) + : p.errorBounds && + ((this.errorBars = a(l)), + (this.errorBars._trace = this), + this.scene.glplot.add(this.errorBars)), + p.delaunayAxis >= 0) + ) { + var g = (function (t, e, r) { + var n, + i = (r + 1) % 3, + a = (r + 2) % 3, + o = [], + l = []; + for (n = 0; n < t.length; ++n) { + var c = t[n]; + !isNaN(c[i]) && + isFinite(c[i]) && + !isNaN(c[a]) && + isFinite(c[a]) && + (o.push([c[i], c[a]]), l.push(n)); + } + var u = s(o); + for (n = 0; n < u.length; ++n) + for (var f = u[n], h = 0; h < f.length; ++h) f[h] = l[f[h]]; + return { positions: t, cells: u, meshColor: e }; + })(p.position, p.delaunayColor, p.delaunayAxis); + ((g.opacity = t.opacity), + this.delaunayMesh + ? this.delaunayMesh.update(g) + : ((g.gl = u), + (this.delaunayMesh = o(g)), + (this.delaunayMesh._trace = this), + this.scene.glplot.add(this.delaunayMesh))); + } else + this.delaunayMesh && + (this.scene.glplot.remove(this.delaunayMesh), + this.delaunayMesh.dispose(), + (this.delaunayMesh = null)); + }), + (m.dispose = function () { + (this.linePlot && + (this.scene.glplot.remove(this.linePlot), this.linePlot.dispose()), + this.scatterPlot && + (this.scene.glplot.remove(this.scatterPlot), + this.scatterPlot.dispose()), + this.errorBars && + (this.scene.glplot.remove(this.errorBars), this.errorBars.dispose()), + this.textMarkers && + (this.scene.glplot.remove(this.textMarkers), + this.textMarkers.dispose()), + this.delaunayMesh && + (this.scene.glplot.remove(this.delaunayMesh), + this.delaunayMesh.dispose())); + }), + (e.exports = function (t, e) { + var r = new g(t, e.uid); + return (r.update(e), r); + })); + }, + { + "../../constants/gl3d_dashes": 576, + "../../constants/gl3d_markers": 577, + "../../lib": 602, + "../../lib/gl_format_color": 598, + "../../lib/str2rgbarray": 625, + "../scatter/make_bubble_size_func": 943, + "./calc_errors": 953, + "delaunay-triangulate": 132, + "gl-error3d": 213, + "gl-line3d": 221, + "gl-mesh3d": 244, + "gl-scatter3d": 259, + }, + ], + 955: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../scatter/subtypes"), + o = t("../scatter/marker_defaults"), + s = t("../scatter/line_defaults"), + l = t("../scatter/text_defaults"), + c = t("./attributes"); + e.exports = function (t, e, r, u) { + function f(r, n) { + return i.coerce(t, e, c, r, n); + } + if ( + (function (t, e, r, i) { + var a = 0, + o = r("x"), + s = r("y"), + l = r("z"); + (n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y", "z"], + i, + ), + o && + s && + l && + ((a = Math.min(o.length, s.length, l.length)), + (e._length = e._xlength = e._ylength = e._zlength = a))); + return a; + })(t, e, f, u) + ) { + (f("text"), + f("hovertext"), + f("mode"), + a.hasLines(e) && (f("connectgaps"), s(t, e, r, u, f)), + a.hasMarkers(e) && o(t, e, r, u, f, { noSelect: !0 }), + a.hasText(e) && l(t, e, u, f, { noSelect: !0 })); + var h = (e.line || {}).color, + p = (e.marker || {}).color; + f("surfaceaxis") >= 0 && f("surfacecolor", h || p); + for (var d = ["x", "y", "z"], g = 0; g < 3; ++g) { + var m = "projection." + d[g]; + f(m + ".show") && (f(m + ".opacity"), f(m + ".scale")); + } + var v = n.getComponentMethod("errorbars", "supplyDefaults"); + (v(t, e, r, { axis: "z" }), + v(t, e, r, { axis: "y", inherit: "z" }), + v(t, e, r, { axis: "x", inherit: "z" })); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "../scatter/line_defaults": 939, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 951, + }, + ], + 956: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.plot = t("./convert")), + (n.attributes = t("./attributes")), + (n.markerSymbols = t("../../constants/gl3d_markers")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../scatter/colorbar")), + (n.calc = t("./calc")), + (n.moduleType = "trace"), + (n.name = "scatter3d"), + (n.basePlotModule = t("../../plots/gl3d")), + (n.categories = ["gl3d", "symbols", "markerColorscale", "showLegend"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../constants/gl3d_markers": 577, + "../../plots/gl3d": 690, + "../scatter/colorbar": 930, + "./attributes": 951, + "./calc": 952, + "./convert": 954, + "./defaults": 955, + }, + ], + 957: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../plots/attributes"), + a = t("../../components/colorscale/color_attributes"), + o = t("../../components/colorbar/attributes"), + s = t("../../lib/extend").extendFlat, + l = n.marker, + c = n.line, + u = l.line; + e.exports = { + carpet: { valType: "string", editType: "calc" }, + a: { valType: "data_array", editType: "calc" }, + b: { valType: "data_array", editType: "calc" }, + mode: s({}, n.mode, { dflt: "markers" }), + text: s({}, n.text, {}), + line: { + color: c.color, + width: c.width, + dash: c.dash, + shape: s({}, c.shape, { values: ["linear", "spline"] }), + smoothing: c.smoothing, + editType: "calc", + }, + connectgaps: n.connectgaps, + fill: s({}, n.fill, { values: ["none", "toself", "tonext"] }), + fillcolor: n.fillcolor, + marker: s( + { + symbol: l.symbol, + opacity: l.opacity, + maxdisplayed: l.maxdisplayed, + size: l.size, + sizeref: l.sizeref, + sizemin: l.sizemin, + sizemode: l.sizemode, + line: s({ width: u.width, editType: "calc" }, a("marker".line)), + gradient: l.gradient, + editType: "calc", + }, + a("marker"), + { showscale: l.showscale, colorbar: o }, + ), + textfont: n.textfont, + textposition: n.textposition, + selected: n.selected, + unselected: n.unselected, + hoverinfo: s({}, i.hoverinfo, { flags: ["a", "b", "text", "name"] }), + hoveron: n.hoveron, + }; + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/color_attributes": 482, + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + }, + ], + 958: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../scatter/colorscale_calc"), + a = t("../scatter/arrays_to_calcdata"), + o = t("../scatter/calc_selection"), + s = t("../scatter/calc").calcMarkerSize, + l = t("../carpet/lookup_carpetid"); + e.exports = function (t, e) { + var r = (e._carpetTrace = l(t, e)); + if (r && r.visible && "legendonly" !== r.visible) { + var c; + ((e.xaxis = r.xaxis), (e.yaxis = r.yaxis)); + var u, + f, + h = e._length, + p = new Array(h), + d = !1; + for (c = 0; c < h; c++) + if (((u = e.a[c]), (f = e.b[c]), n(u) && n(f))) { + var g = r.ab2xy(+u, +f, !0), + m = r.isVisible(+u, +f); + (m || (d = !0), (p[c] = { x: g[0], y: g[1], a: u, b: f, vis: m })); + } else p[c] = { x: !1, y: !1 }; + return ( + (e._needsCull = d), + (p[0].carpet = r), + (p[0].trace = e), + s(e, h), + i(e), + a(p, e), + o(p, e), + p + ); + } + }; + }, + { + "../carpet/lookup_carpetid": 789, + "../scatter/arrays_to_calcdata": 925, + "../scatter/calc": 927, + "../scatter/calc_selection": 928, + "../scatter/colorscale_calc": 931, + "fast-isnumeric": 196, + }, + ], + 959: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/constants"), + a = t("../scatter/subtypes"), + o = t("../scatter/marker_defaults"), + s = t("../scatter/line_defaults"), + l = t("../scatter/line_shape_defaults"), + c = t("../scatter/text_defaults"), + u = t("../scatter/fillcolor_defaults"), + f = t("./attributes"); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + (p("carpet"), (e.xaxis = "x"), (e.yaxis = "y")); + var d = p("a"), + g = p("b"), + m = Math.min(d.length, g.length); + if (m) { + ((e._length = m), + p("text"), + p("mode", m < i.PTS_LINESONLY ? "lines+markers" : "lines"), + a.hasLines(e) && (s(t, e, r, h, p), l(t, e, p), p("connectgaps")), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && c(t, e, h, p)); + var v = []; + ((a.hasMarkers(e) || a.hasText(e)) && + (p("marker.maxdisplayed"), v.push("points")), + p("fill"), + "none" !== e.fill && (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), + p("hoveron", v.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/constants": 932, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/line_shape_defaults": 941, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 957, + }, + ], + 960: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i) { + var a = n[i]; + return ((t.a = a.a), (t.b = a.b), t); + }; + }, + {}, + ], + 961: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/hover"); + e.exports = function (t, e, r, i) { + var a = n(t, e, r, i); + if (a && !1 !== a[0].index) { + var o = a[0]; + if (void 0 === o.index) { + var s = 1 - o.y0 / t.ya._length, + l = t.xa._length, + c = (l * s) / 2, + u = l - c; + return ( + (o.x0 = Math.max(Math.min(o.x0, u), c)), + (o.x1 = Math.max(Math.min(o.x1, u), c)), + a + ); + } + var f = o.cd[o.index]; + ((o.a = f.a), + (o.b = f.b), + (o.xLabelVal = void 0), + (o.yLabelVal = void 0)); + var h = o.trace, + p = h._carpet, + d = (f.hi || h.hoverinfo).split("+"), + g = []; + (-1 !== d.indexOf("all") && (d = ["a", "b"]), + -1 !== d.indexOf("a") && w(p.aaxis, f.a), + -1 !== d.indexOf("b") && w(p.baxis, f.b)); + var m = p.ab2ij([f.a, f.b]), + v = Math.floor(m[0]), + y = m[0] - v, + x = Math.floor(m[1]), + b = m[1] - x, + _ = p.evalxy([], v, x, y, b); + return ( + g.push("y: " + _[1].toFixed(3)), + (o.extraText = g.join("
      ")), + a + ); + } + function w(t, e) { + var r; + ((r = + t.labelprefix && t.labelprefix.length > 0 + ? t.labelprefix.replace(/ = $/, "") + : t._hovertitle), + g.push(r + ": " + e.toFixed(3) + t.labelsuffix)); + } + }; + }, + { "../scatter/hover": 937 }, + ], + 962: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../scatter/colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("../scatter/style").style), + (n.styleOnSelect = t("../scatter/style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.selectPoints = t("../scatter/select")), + (n.eventData = t("./event_data")), + (n.moduleType = "trace"), + (n.name = "scattercarpet"), + (n.basePlotModule = t("../../plots/cartesian")), + (n.categories = [ + "svg", + "carpet", + "symbols", + "markerColorscale", + "showLegend", + "carpetDependent", + "draggedPts", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/cartesian": 659, + "../scatter/colorbar": 930, + "../scatter/select": 946, + "../scatter/style": 947, + "./attributes": 957, + "./calc": 958, + "./defaults": 959, + "./event_data": 960, + "./hover": 961, + "./plot": 963, + }, + ], + 963: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/plot"), + i = t("../../plots/cartesian/axes"), + a = t("../../components/drawing"); + e.exports = function (t, e, r, o) { + var s, + l, + c, + u = r[0][0].carpet, + f = { + xaxis: i.getFromId(t, u.xaxis || "x"), + yaxis: i.getFromId(t, u.yaxis || "y"), + plot: e.plot, + }; + for (n(t, f, r, o), s = 0; s < r.length; s++) + ((l = r[s][0].trace), + (c = o.selectAll("g.trace" + l.uid + " .js-line")), + a.setClipUrl(c, u._clipPathId)); + }; + }, + { + "../../components/drawing": 499, + "../../plots/cartesian/axes": 648, + "../scatter/plot": 945, + }, + ], + 964: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../plots/attributes"), + a = t("../../components/colorscale/color_attributes"), + o = t("../../components/drawing/attributes").dash, + s = t("../../lib/extend").extendFlat, + l = t("../../plot_api/edit_types").overrideAll, + c = n.marker, + u = n.line, + f = c.line; + e.exports = l( + { + lon: { valType: "data_array" }, + lat: { valType: "data_array" }, + locations: { valType: "data_array" }, + locationmode: { + valType: "enumerated", + values: ["ISO-3", "USA-states", "country names"], + dflt: "ISO-3", + }, + mode: s({}, n.mode, { dflt: "markers" }), + text: s({}, n.text, {}), + hovertext: s({}, n.hovertext, {}), + textfont: n.textfont, + textposition: n.textposition, + line: { color: u.color, width: u.width, dash: o }, + connectgaps: n.connectgaps, + marker: s( + { + symbol: c.symbol, + opacity: c.opacity, + size: c.size, + sizeref: c.sizeref, + sizemin: c.sizemin, + sizemode: c.sizemode, + showscale: c.showscale, + colorbar: c.colorbar, + line: s({ width: f.width }, a("marker.line")), + gradient: c.gradient, + }, + a("marker"), + ), + fill: { valType: "enumerated", values: ["none", "toself"], dflt: "none" }, + fillcolor: n.fillcolor, + selected: n.selected, + unselected: n.unselected, + hoverinfo: s({}, i.hoverinfo, { + flags: ["lon", "lat", "location", "text", "name"], + }), + }, + "calc", + "nested", + ); + }, + { + "../../components/colorscale/color_attributes": 482, + "../../components/drawing/attributes": 498, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + }, + ], + 965: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../constants/numerical").BADNUM, + a = t("../scatter/colorscale_calc"), + o = t("../scatter/arrays_to_calcdata"), + s = t("../scatter/calc_selection"), + l = t("../../lib")._; + e.exports = function (t, e) { + for ( + var r = Array.isArray(e.locations), + c = r ? e.locations.length : e._length, + u = new Array(c), + f = 0; + f < c; + f++ + ) { + var h = (u[f] = {}); + if (r) { + var p = e.locations[f]; + h.loc = "string" == typeof p ? p : null; + } else { + var d = e.lon[f], + g = e.lat[f]; + n(d) && n(g) ? (h.lonlat = [+d, +g]) : (h.lonlat = [i, i]); + } + } + return ( + o(u, e), + a(e), + s(u, e), + c && + (u[0].t = { + labels: { lat: l(t, "lat:") + " ", lon: l(t, "lon:") + " " }, + }), + u + ); + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../scatter/arrays_to_calcdata": 925, + "../scatter/calc_selection": 928, + "../scatter/colorscale_calc": 931, + "fast-isnumeric": 196, + }, + ], + 966: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/subtypes"), + a = t("../scatter/marker_defaults"), + o = t("../scatter/line_defaults"), + s = t("../scatter/text_defaults"), + l = t("../scatter/fillcolor_defaults"), + c = t("./attributes"); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + !(function (t, e, r) { + var n, + i, + a = 0, + o = r("locations"); + if (o) return (r("locationmode"), (a = o.length)); + return ( + (n = r("lon") || []), + (i = r("lat") || []), + (a = Math.min(n.length, i.length)), + (e._length = a), + a + ); + })(0, e, f) + ? (e.visible = !1) + : (f("text"), + f("hovertext"), + f("mode"), + i.hasLines(e) && (o(t, e, r, u, f), f("connectgaps")), + i.hasMarkers(e) && a(t, e, r, u, f, { gradient: !0 }), + i.hasText(e) && s(t, e, u, f), + f("fill"), + "none" !== e.fill && l(t, e, r, f)); + }; + }, + { + "../../lib": 602, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 964, + }, + ], + 967: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return ( + (t.lon = e.lon), + (t.lat = e.lat), + (t.location = e.loc ? e.loc : null), + t + ); + }; + }, + {}, + ], + 968: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/fx"), + i = t("../../plots/cartesian/axes"), + a = t("../../constants/numerical").BADNUM, + o = t("../scatter/get_trace_color"), + s = t("../scatter/fill_hover_text"), + l = t("./attributes"); + e.exports = function (t, e, r) { + var c = t.cd, + u = c[0].trace, + f = t.xa, + h = t.ya, + p = t.subplot, + d = p.projection.isLonLatOverEdges, + g = p.project; + if ( + (n.getClosest( + c, + function (t) { + var n = t.lonlat; + if (n[0] === a) return 1 / 0; + if (d(n)) return 1 / 0; + var i = g(n), + o = g([e, r]), + s = Math.abs(i[0] - o[0]), + l = Math.abs(i[1] - o[1]), + c = Math.max(3, t.mrc || 0); + return Math.max(Math.sqrt(s * s + l * l) - c, 1 - 3 / c); + }, + t, + ), + !1 !== t.index) + ) { + var m = c[t.index], + v = m.lonlat, + y = [f.c2p(v), h.c2p(v)], + x = m.mrc || 1; + return ( + (t.x0 = y[0] - x), + (t.x1 = y[0] + x), + (t.y0 = y[1] - x), + (t.y1 = y[1] + x), + (t.loc = m.loc), + (t.lon = v[0]), + (t.lat = v[1]), + (t.color = o(u, m)), + (t.extraText = (function (t, e, r, n) { + var a = e.hi || t.hoverinfo, + o = "all" === a ? l.hoverinfo.flags : a.split("+"), + c = -1 !== o.indexOf("location") && Array.isArray(t.locations), + u = -1 !== o.indexOf("lon"), + f = -1 !== o.indexOf("lat"), + h = -1 !== o.indexOf("text"), + p = []; + function d(t) { + return i.tickText(r, r.c2l(t), "hover").text + "\xb0"; + } + c + ? p.push(e.loc) + : u && f + ? p.push("(" + d(e.lonlat[0]) + ", " + d(e.lonlat[1]) + ")") + : u + ? p.push(n.lon + d(e.lonlat[0])) + : f && p.push(n.lat + d(e.lonlat[1])); + h && s(e, t, p); + return p.join("
      "); + })(u, m, p.mockAxis, c[0].t.labels)), + [t] + ); + } + }; + }, + { + "../../components/fx": 516, + "../../constants/numerical": 579, + "../../plots/cartesian/axes": 648, + "../scatter/fill_hover_text": 934, + "../scatter/get_trace_color": 936, + "./attributes": 964, + }, + ], + 969: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../scatter/colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("./style")), + (n.styleOnSelect = t("../scatter/style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.eventData = t("./event_data")), + (n.selectPoints = t("./select")), + (n.moduleType = "trace"), + (n.name = "scattergeo"), + (n.basePlotModule = t("../../plots/geo")), + (n.categories = [ + "geo", + "symbols", + "markerColorscale", + "showLegend", + "scatter-like", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/geo": 678, + "../scatter/colorbar": 930, + "../scatter/style": 947, + "./attributes": 964, + "./calc": 965, + "./defaults": 966, + "./event_data": 967, + "./hover": 968, + "./plot": 970, + "./select": 971, + "./style": 972, + }, + ], + 970: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../constants/numerical").BADNUM, + o = t("../../lib/topojson_utils").getTopojsonFeatures, + s = t("../../lib/geo_location_utils").locationToFeature, + l = t("../../lib/geojson_utils"), + c = t("../scatter/subtypes"), + u = t("./style"); + function f(t, e) { + var r = t[0].trace; + if (Array.isArray(r.locations)) + for (var n = o(r, e), i = r.locationmode, l = 0; l < t.length; l++) { + var c = t[l], + u = s(i, c.loc, n); + c.lonlat = u ? u.properties.ct : [a, a]; + } + } + e.exports = function (t, e, r) { + for (var o = 0; o < r.length; o++) f(r[o], e.topojson); + function s(t, e) { + t.lonlat[0] === a && n.select(e).remove(); + } + var h = e.layers.frontplot + .select(".scatterlayer") + .selectAll("g.trace.scattergeo") + .data(r, function (t) { + return t[0].trace.uid; + }); + (h.enter().append("g").attr("class", "trace scattergeo"), + h.exit().remove(), + h.selectAll("*").remove(), + h.each(function (e) { + var r = (e[0].node3 = n.select(this)), + a = e[0].trace; + if (c.hasLines(a) || "none" !== a.fill) { + var o = l.calcTraceToLineCoords(e), + f = "none" !== a.fill ? l.makePolygon(o) : l.makeLine(o); + r.selectAll("path.js-line") + .data([{ geojson: f, trace: a }]) + .enter() + .append("path") + .classed("js-line", !0) + .style("stroke-miterlimit", 2); + } + (c.hasMarkers(a) && + r + .selectAll("path.point") + .data(i.identity) + .enter() + .append("path") + .classed("point", !0) + .each(function (t) { + s(t, this); + }), + c.hasText(a) && + r + .selectAll("g") + .data(i.identity) + .enter() + .append("g") + .append("text") + .each(function (t) { + s(t, this); + }), + u(t, e)); + })); + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../lib/geo_location_utils": 594, + "../../lib/geojson_utils": 595, + "../../lib/topojson_utils": 629, + "../scatter/subtypes": 948, + "./style": 972, + d3: 130, + }, + ], + 971: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/subtypes"); + e.exports = function (t, e) { + var r, + i, + a, + o, + s, + l = t.cd, + c = t.xaxis, + u = t.yaxis, + f = [], + h = l[0].trace; + if (!n.hasMarkers(h) && !n.hasText(h)) return []; + if (!1 === e) for (s = 0; s < l.length; s++) l[s].selected = 0; + else + for (s = 0; s < l.length; s++) + ((i = (r = l[s]).lonlat), + (a = c.c2p(i)), + (o = u.c2p(i)), + e.contains([a, o]) + ? (f.push({ pointNumber: s, lon: i[0], lat: i[1] }), + (r.selected = 1)) + : (r.selected = 0)); + return f; + }; + }, + { "../scatter/subtypes": 948 }, + ], + 972: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/drawing"), + a = t("../../components/color"), + o = t("../scatter/style").stylePoints; + e.exports = function (t, e) { + e && + (function (t, e) { + var r = e[0].trace, + s = e[0].node3; + (s.style("opacity", e[0].trace.opacity), + o(s, r, t), + s + .selectAll("path.js-line") + .style("fill", "none") + .each(function (t) { + var e = n.select(this), + r = t.trace, + o = r.line || {}; + (e + .call(a.stroke, o.color) + .call(i.dashLine, o.dash || "", o.width || 0), + "none" !== r.fill && e.call(a.fill, r.fillcolor)); + })); + })(t, e); + }; + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../scatter/style": 947, + d3: 130, + }, + ], + 973: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/attributes"), + i = t("../scatter/attributes"), + a = t("../../components/colorscale/color_attributes"), + o = t("../../lib/extend").extendFlat, + s = t("../../plot_api/edit_types").overrideAll, + l = t("./constants").DASHES, + c = i.line, + u = i.marker, + f = u.line, + h = (e.exports = s( + { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + text: o({}, i.text, {}), + mode: { + valType: "flaglist", + flags: ["lines", "markers"], + extras: ["none"], + }, + line: { + color: c.color, + width: c.width, + dash: { + valType: "enumerated", + values: Object.keys(l), + dflt: "solid", + }, + }, + marker: o({}, a("marker"), { + symbol: u.symbol, + size: u.size, + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + opacity: u.opacity, + showscale: u.showscale, + colorbar: u.colorbar, + line: o({}, a("marker.line"), { width: f.width }), + }), + connectgaps: i.connectgaps, + fill: i.fill, + fillcolor: i.fillcolor, + hoveron: i.hoveron, + selected: { marker: i.selected.marker }, + unselected: { marker: i.unselected.marker }, + opacity: n.opacity, + }, + "calc", + "nested", + )); + h.x.editType = + h.y.editType = + h.x0.editType = + h.y0.editType = + "calc+clearAxisTypes"; + }, + { + "../../components/colorscale/color_attributes": 482, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + "./constants": 974, + }, + ], + 974: [ + function (t, e, r) { + "use strict"; + e.exports = { + TOO_MANY_POINTS: 1e5, + SYMBOL_SDF_SIZE: 200, + SYMBOL_SIZE: 20, + SYMBOL_STROKE: 1, + DOT_RE: /-dot/, + OPEN_RE: /-open/, + DASHES: { + solid: [1], + dot: [1, 1], + dash: [4, 1], + longdash: [8, 1], + dashdot: [4, 1, 1, 1], + longdashdot: [8, 1, 1, 1], + }, + }; + }, + {}, + ], + 975: [ + function (t, e, r) { + "use strict"; + var n = t("svg-path-sdf"), + i = t("color-normalize"), + a = t("../../registry"), + o = t("../../lib"), + s = t("../../components/drawing"), + l = t("../../plots/cartesian/axis_ids"), + c = t("../../lib/gl_format_color"), + u = t("../scatter/subtypes"), + f = t("../scatter/make_bubble_size_func"), + h = t("./constants"), + p = t("../../constants/interactions").DESELECTDIM; + function d(t) { + var e, + r, + n = t._length, + a = t.marker, + s = {}, + l = Array.isArray(a.symbol), + u = o.isArrayOrTypedArray(a.color), + p = o.isArrayOrTypedArray(a.line.color), + d = o.isArrayOrTypedArray(a.opacity), + g = o.isArrayOrTypedArray(a.size), + m = o.isArrayOrTypedArray(a.line.width); + if ((l || (r = h.OPEN_RE.test(a.symbol)), l || u || p || d)) { + ((s.colors = new Array(n)), (s.borderColors = new Array(n))); + var v = c(a, a.opacity, n), + y = c(a.line, a.opacity, n); + if (!Array.isArray(y[0])) { + var x = y; + for (y = Array(n), e = 0; e < n; e++) y[e] = x; + } + if (!Array.isArray(v[0])) { + var b = v; + for (v = Array(n), e = 0; e < n; e++) v[e] = b; + } + for (s.colors = v, s.borderColors = y, e = 0; e < n; e++) { + if (l) { + var _ = a.symbol[e]; + r = h.OPEN_RE.test(_); + } + r && ((y[e] = v[e].slice()), (v[e] = v[e].slice()), (v[e][3] = 0)); + } + s.opacity = t.opacity; + } else + (r + ? ((s.color = i(a.color, "uint8")), + (s.color[3] = 0), + (s.borderColor = i(a.color, "uint8"))) + : ((s.color = i(a.color, "uint8")), + (s.borderColor = i(a.line.color, "uint8"))), + (s.opacity = t.opacity * a.opacity)); + if (l) + for (s.markers = new Array(n), e = 0; e < n; e++) + s.markers[e] = w(a.symbol[e]); + else s.marker = w(a.symbol); + var k, + M = f(t); + if (g || m) { + var A, + T = (s.sizes = new Array(n)), + S = (s.borderSizes = new Array(n)), + C = 0; + if (g) { + for (e = 0; e < n; e++) ((T[e] = M(a.size[e])), (C += T[e])); + A = C / n; + } else for (k = M(a.size), e = 0; e < n; e++) T[e] = k; + if (m) for (e = 0; e < n; e++) S[e] = M(a.line.width[e]); + else for (k = M(a.line.width), e = 0; e < n; e++) S[e] = k; + s.sizeAvg = A; + } else + ((s.size = M((a && a.size) || 10)), (s.borderSizes = M(a.line.width))); + return s; + } + function g(t, e) { + var r = t.marker, + n = {}; + return e + ? (e.marker && e.marker.symbol + ? (n = d(o.extendFlat({}, r, e.marker))) + : e.marker && + (e.marker.size && (n.sizes = e.marker.size), + e.marker.color && (n.colors = e.marker.color), + void 0 !== e.marker.opacity && (n.opacity = e.marker.opacity)), + n) + : n; + } + function m(t, e) { + var r = { capSize: 2 * e.width, lineWidth: e.thickness, color: e.color }; + return (e.copy_ystyle && (r = t.error_y), r); + } + var v = h.SYMBOL_SDF_SIZE, + y = h.SYMBOL_SIZE, + x = h.SYMBOL_STROKE, + b = {}, + _ = s.symbolFuncs[0](0.05 * y); + function w(t) { + if ("circle" === t) return null; + var e, + r, + i = s.symbolNumber(t), + a = s.symbolFuncs[i % 100], + o = !!s.symbolNoDot[i % 100], + l = !!s.symbolNoFill[i % 100], + c = h.DOT_RE.test(t); + return b[t] + ? b[t] + : ((e = c && !o ? a(1.1 * y) + _ : a(y)), + (r = n(e, { w: v, h: v, viewBox: [-y, -y, y, y], stroke: l ? x : -x })), + (b[t] = r), + r || null); + } + e.exports = { + convertStyle: function (t, e) { + var r, + n = { + marker: void 0, + line: void 0, + fill: void 0, + errorX: void 0, + errorY: void 0, + selected: void 0, + unselected: void 0, + }; + if (!0 !== e.visible) return n; + if ( + u.hasMarkers(e) && + ((n.marker = d(e)), + (n.selected = g(e, e.selected)), + (n.unselected = g(e, e.unselected)), + !e.unselected && Array.isArray(e.marker.opacity)) + ) { + var i = e.marker.opacity; + for ( + n.unselected.opacity = new Array(i.length), r = 0; + r < i.length; + r++ + ) + n.unselected.opacity[r] = p * i[r]; + } + if (u.hasLines(e)) { + n.line = { + overlay: !0, + thickness: e.line.width, + color: e.line.color, + opacity: e.opacity, + }; + var a = (h.DASHES[e.line.dash] || [1]).slice(); + for (r = 0; r < a.length; ++r) a[r] *= e.line.width; + n.line.dashes = a; + } + return ( + e.error_x && e.error_x.visible && (n.errorX = m(e, e.error_x)), + e.error_y && e.error_y.visible && (n.errorY = m(e, e.error_y)), + e.fill && + "none" !== e.fill && + (n.fill = { closed: !0, fill: e.fillcolor, thickness: 0 }), + n + ); + }, + convertMarkerStyle: d, + convertMarkerSelection: g, + convertLinePositions: function (t, e, r) { + var n, + i, + a = r.length / 2; + if (u.hasLines(e) && a) + if ("hv" === e.line.shape) { + for (n = [], i = 0; i < a - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? (n.push(NaN), n.push(NaN), n.push(NaN), n.push(NaN)) + : (n.push(r[2 * i]), + n.push(r[2 * i + 1]), + n.push(r[2 * i + 2]), + n.push(r[2 * i + 1])); + (n.push(r[r.length - 2]), n.push(r[r.length - 1])); + } else if ("vh" === e.line.shape) { + for (n = [], i = 0; i < a - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? (n.push(NaN), n.push(NaN), n.push(NaN), n.push(NaN)) + : (n.push(r[2 * i]), + n.push(r[2 * i + 1]), + n.push(r[2 * i]), + n.push(r[2 * i + 3])); + (n.push(r[r.length - 2]), n.push(r[r.length - 1])); + } else n = r; + var o = !1; + for (i = 0; i < n.length; i++) + if (isNaN(n[i])) { + o = !0; + break; + } + var s = + o || n.length > h.TOO_MANY_POINTS + ? "rect" + : u.hasMarkers(e) + ? "rect" + : "round"; + if (o && e.connectgaps) { + var l = n[0], + c = n[1]; + for (i = 0; i < n.length; i += 2) + isNaN(n[i]) || isNaN(n[i + 1]) + ? ((n[i] = l), (n[i + 1] = c)) + : ((l = n[i]), (c = n[i + 1])); + } + return { join: s, positions: n }; + }, + convertErrorBarPositions: function (t, e, r) { + var n = a.getComponentMethod("errorbars", "calcFromTrace")( + e, + t._fullLayout, + ), + i = r.length / 2, + o = {}; + function s(a) { + for ( + var o = new Float64Array(4 * i), + s = l.getFromId(t, e[a + "axis"]), + c = { x: 0, y: 1 }[a], + u = { x: [0, 1, 2, 3], y: [2, 3, 0, 1] }[a], + f = 0, + h = 0; + f < i; + f++, h += 4 + ) + ((o[h + u[0]] = r[2 * f + c] - s.d2l(n[f][a + "s"]) || 0), + (o[h + u[1]] = s.d2l(n[f][a + "h"]) - r[2 * f + c] || 0), + (o[h + u[2]] = 0), + (o[h + u[3]] = 0)); + return o; + } + return ( + e.error_x && + e.error_x.visible && + (o.x = { positions: r, errors: s("x") }), + e.error_y && + e.error_y.visible && + (o.y = { positions: r, errors: s("y") }), + o + ); + }, + }; + }, + { + "../../components/drawing": 499, + "../../constants/interactions": 578, + "../../lib": 602, + "../../lib/gl_format_color": 598, + "../../plots/cartesian/axis_ids": 651, + "../../registry": 732, + "../scatter/make_bubble_size_func": 943, + "../scatter/subtypes": 948, + "./constants": 974, + "color-normalize": 100, + "svg-path-sdf": 413, + }, + ], + 976: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../registry"), + a = t("./attributes"), + o = t("../scatter/constants"), + s = t("../scatter/subtypes"), + l = t("../scatter/xy_defaults"), + c = t("../scatter/marker_defaults"), + u = t("../scatter/line_defaults"), + f = t("../scatter/fillcolor_defaults"); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, a, r, i); + } + var d = !!t.marker && /-open/.test(t.marker.symbol), + g = s.isBubble(t), + m = l(t, e, h, p); + if (m) { + (p("text"), + p("mode", m < o.PTS_LINESONLY ? "lines+markers" : "lines"), + s.hasLines(e) && (p("connectgaps"), u(t, e, r, h, p))); + var v = []; + (s.hasMarkers(e) && + (c(t, e, r, h, p), + p("marker.line.width", d || g ? 1 : 0), + v.push("points")), + p("fill"), + "none" !== e.fill && f(t, e, r, p), + ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), + p("hoveron", v.join("+") || "points")); + var y = i.getComponentMethod("errorbars", "supplyDefaults"); + (y(t, e, r, { axis: "y" }), + y(t, e, r, { axis: "x", inherit: "y" }), + n.coerceSelectionMarkerOpacity(e, p)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../../registry": 732, + "../scatter/constants": 932, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/xy_defaults": 950, + "./attributes": 973, + }, + ], + 977: [ + function (t, e, r) { + "use strict"; + var n = t("regl-scatter2d"), + i = t("regl-line2d"), + a = t("regl-error2d"), + o = t("point-cluster"), + s = t("array-range"), + l = t("../../registry"), + c = t("../../lib"), + u = t("../../lib/prepare_regl"), + f = t("../../plots/cartesian/axis_ids"), + h = t("../scatter/subtypes"), + p = t("../scatter/calc").calcMarkerSize, + d = t("../scatter/calc").calcAxisExpansion, + g = t("../scatter/colorscale_calc"), + m = t("../scatter/link_traces"), + v = t("../scatter/get_trace_color"), + y = t("../scatter/fill_hover_text"), + x = t("./convert").convertStyle, + b = t("./convert").convertLinePositions, + _ = t("./convert").convertErrorBarPositions, + w = t("../../constants/numerical").BADNUM, + k = t("./constants").TOO_MANY_POINTS; + function M(t, e, r, n) { + var i = x(t, r); + if ( + (i.marker && (i.marker.positions = n), + i.line && n.length > 1 && c.extendFlat(i.line, b(t, r, n)), + i.errorX || i.errorY) + ) { + var a = _(t, r, n); + (i.errorX && c.extendFlat(i.errorX, a.x), + i.errorY && c.extendFlat(i.errorY, a.y)); + } + return i; + } + function A(t, e) { + var r = e._scene, + n = t._fullLayout, + i = { + count: 0, + dirty: !0, + lineOptions: [], + fillOptions: [], + markerOptions: [], + selectedOptions: [], + unselectedOptions: [], + errorXOptions: [], + errorYOptions: [], + }; + return ( + e._scene || + (((r = e._scene = + c.extendFlat({}, i, { + selectBatch: null, + unselectBatch: null, + fill2d: !1, + scatter2d: !1, + error2d: !1, + line2d: !1, + select2d: null, + })).update = function (t) { + for (var e = new Array(r.count), n = 0; n < r.count; n++) e[n] = t; + (r.fill2d && r.fill2d.update(e), + r.scatter2d && r.scatter2d.update(e), + r.line2d && r.line2d.update(e), + r.error2d && r.error2d.update(e.concat(e)), + r.select2d && r.select2d.update(e), + r.draw()); + }), + (r.draw = function () { + var t; + for (t = 0; t < r.count; t++) + r.fill2d && r.fillOptions[t] && r.fill2d.draw(t); + for (t = 0; t < r.count; t++) + (r.line2d && r.lineOptions[t] && r.line2d.draw(t), + r.error2d && r.errorXOptions[t] && r.error2d.draw(t), + r.error2d && r.errorYOptions[t] && r.error2d.draw(t + r.count), + !r.scatter2d || + !r.markerOptions[t] || + (r.selectBatch && r.selectBatch[t]) || + r.scatter2d.draw(t)); + (r.scatter2d && + r.select2d && + r.selectBatch && + (r.select2d.draw(r.selectBatch), r.scatter2d.draw(r.unselectBatch)), + (r.dirty = !1)); + }), + (r.clear = function () { + var t, + i = n._size, + a = n.width, + o = n.height, + s = e.xaxis, + l = e.yaxis, + c = [ + i.l + s.domain[0] * i.w, + i.b + l.domain[0] * i.h, + a - i.r - (1 - s.domain[1]) * i.w, + o - i.t - (1 - l.domain[1]) * i.h, + ]; + (r.select2d && + ((t = r.select2d.regl._gl).enable(t.SCISSOR_TEST), + t.scissor(c[0], c[1], c[2] - c[0], c[3] - c[1]), + t.clearColor(0, 0, 0, 0), + t.clear(t.COLOR_BUFFER_BIT)), + r.scatter2d && + ((t = r.scatter2d.regl._gl).enable(t.SCISSOR_TEST), + t.scissor(c[0], c[1], c[2] - c[0], c[3] - c[1]), + t.clearColor(0, 0, 0, 0), + t.clear(t.COLOR_BUFFER_BIT))); + }), + (r.destroy = function () { + (r.fill2d && r.fill2d.destroy(), + r.scatter2d && r.scatter2d.destroy(), + r.error2d && r.error2d.destroy(), + r.line2d && r.line2d.destroy(), + r.select2d && r.select2d.destroy(), + (r.lineOptions = null), + (r.fillOptions = null), + (r.markerOptions = null), + (r.selectedOptions = null), + (r.unselectedOptions = null), + (r.errorXOptions = null), + (r.errorYOptions = null), + (r.selectBatch = null), + (r.unselectBatch = null), + (e._scene = null)); + })), + r.dirty || c.extendFlat(r, i), + r + ); + } + function T(t, e, r, n) { + var i = t.xa, + a = t.ya, + o = t.distance, + s = t.dxy, + u = t.index, + f = { pointNumber: u, x: e[u], y: r[u] }; + ((f.tx = Array.isArray(n.text) ? n.text[u] : n.text), + (f.htx = Array.isArray(n.hovertext) ? n.hovertext[u] : n.hovertext), + (f.data = Array.isArray(n.customdata) ? n.customdata[u] : n.customdata), + (f.tp = Array.isArray(n.textposition) + ? n.textposition[u] + : n.textposition)); + var h = n.textfont; + h && + ((f.ts = Array.isArray(h.size) ? h.size[u] : h.size), + (f.tc = Array.isArray(h.color) ? h.color[u] : h.color), + (f.tf = Array.isArray(h.family) ? h.family[u] : h.family)); + var p = n.marker; + p && + ((f.ms = c.isArrayOrTypedArray(p.size) ? p.size[u] : p.size), + (f.mo = c.isArrayOrTypedArray(p.opacity) ? p.opacity[u] : p.opacity), + (f.mx = Array.isArray(p.symbol) ? p.symbol[u] : p.symbol), + (f.mc = c.isArrayOrTypedArray(p.color) ? p.color[u] : p.color)); + var d = p && p.line; + d && + ((f.mlc = Array.isArray(d.color) ? d.color[u] : d.color), + (f.mlw = c.isArrayOrTypedArray(d.width) ? d.width[u] : d.width)); + var g = p && p.gradient; + g && + "none" !== g.type && + ((f.mgt = Array.isArray(g.type) ? g.type[u] : g.type), + (f.mgc = Array.isArray(g.color) ? g.color[u] : g.color)); + var m = i.c2p(f.x, !0), + x = a.c2p(f.y, !0), + b = f.mrc || 1, + _ = n.hoverlabel; + _ && + ((f.hbg = Array.isArray(_.bgcolor) ? _.bgcolor[u] : _.bgcolor), + (f.hbc = Array.isArray(_.bordercolor) ? _.bordercolor[u] : _.bordercolor), + (f.hts = Array.isArray(_.font.size) ? _.font.size[u] : _.font.size), + (f.htc = Array.isArray(_.font.color) ? _.font.color[u] : _.font.color), + (f.htf = Array.isArray(_.font.family) ? _.font.family[u] : _.font.family), + (f.hnl = Array.isArray(_.namelength) ? _.namelength[u] : _.namelength)); + var w = n.hoverinfo; + w && (f.hi = Array.isArray(w) ? w[u] : w); + var k = {}; + return ( + (k[t.index] = f), + c.extendFlat(t, { + color: v(n, f), + x0: m - b, + x1: m + b, + xLabelVal: f.x, + y0: x - b, + y1: x + b, + yLabelVal: f.y, + cd: k, + distance: o, + spikeDistance: s, + }), + f.htx + ? (t.text = f.htx) + : f.tx + ? (t.text = f.tx) + : n.text && (t.text = n.text), + y(f, n, t), + l.getComponentMethod("errorbars", "hoverInfo")(f, n, t), + t + ); + } + e.exports = { + moduleType: "trace", + name: "scattergl", + basePlotModule: t("../../plots/cartesian"), + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "errorBarsOK", + "markerColorscale", + "showLegend", + "scatter-like", + ], + attributes: t("./attributes"), + supplyDefaults: t("./defaults"), + cleanData: t("../scatter/clean_data"), + colorbar: t("../scatter/colorbar"), + calc: function (t, e) { + var r, + n, + i, + a = t._fullLayout, + s = f.getFromId(t, e.xaxis), + l = f.getFromId(t, e.yaxis), + c = a._plots[e.xaxis + e.yaxis], + u = e._length, + h = 2 * u, + m = {}, + v = s.makeCalcdata(e, "x"), + y = l.makeCalcdata(e, "y"), + x = new Array(h); + for (r = 0; r < u; r++) + ((n = v[r]), + (i = y[r]), + (x[2 * r] = n === w ? NaN : n), + (x[2 * r + 1] = i === w ? NaN : i)); + if ("log" === s.type) for (r = 0; r < h; r += 2) x[r] = s.c2l(x[r]); + if ("log" === l.type) for (r = 1; r < h; r += 2) x[r] = l.c2l(x[r]); + if ("log" !== s.type && "log" !== l.type) m.tree = o(x); + else { + var b = (m.ids = new Array(u)); + for (r = 0; r < u; r++) b[r] = r; + } + g(e); + var _, + T = M(t, 0, e, x), + S = A(t, c); + return ( + u < k + ? (_ = p(e, u)) + : T.marker && + (_ = 2 * (T.marker.sizeAvg || Math.max(T.marker.size, 3))), + d(t, e, s, l, v, y, _), + T.fill && !S.fill2d && (S.fill2d = !0), + T.marker && !S.scatter2d && (S.scatter2d = !0), + T.line && !S.line2d && (S.line2d = !0), + (!T.errorX && !T.errorY) || S.error2d || (S.error2d = !0), + T.marker && u >= k && (T.marker.cluster = m.tree), + S.lineOptions.push(T.line), + S.errorXOptions.push(T.errorX), + S.errorYOptions.push(T.errorY), + S.fillOptions.push(T.fill), + S.markerOptions.push(T.marker), + S.selectedOptions.push(T.selected), + S.unselectedOptions.push(T.unselected), + S.count++, + (m._scene = S), + (m.index = S.count - 1), + (m.x = v), + (m.y = y), + (m.positions = x), + (m.count = u), + (t.firstscatter = !1), + [{ x: !1, y: !1, t: m, trace: e }] + ); + }, + plot: function (t, e, r) { + if (r.length) { + var o = t._fullLayout, + s = r[0][0].t._scene, + l = o.dragmode; + if (s) { + var c = o._size, + h = o.width, + p = o.height; + u(t, ["ANGLE_instanced_arrays", "OES_element_index_uint"]); + var d = o._glcanvas.data()[0].regl; + if ((m(t, e, r), s.dirty)) { + if ( + (!0 === s.error2d && (s.error2d = a(d)), + !0 === s.line2d && (s.line2d = i(d)), + !0 === s.scatter2d && (s.scatter2d = n(d)), + !0 === s.fill2d && (s.fill2d = i(d)), + s.line2d && s.line2d.update(s.lineOptions), + s.error2d) + ) { + var g = (s.errorXOptions || []).concat(s.errorYOptions || []); + s.error2d.update(g); + } + (s.scatter2d && s.scatter2d.update(s.markerOptions), + s.fill2d && + ((s.fillOptions = s.fillOptions.map(function (t, e) { + var n = r[e]; + if (!(t && n && n[0] && n[0].trace)) return null; + var i, + a, + o = n[0], + l = o.trace, + c = o.t, + u = s.lineOptions[e], + f = [], + h = (u && u.positions) || c.positions; + if ("tozeroy" === l.fill) + ((f = (f = [h[0], 0]).concat(h)).push(h[h.length - 2]), + f.push(0)); + else if ("tozerox" === l.fill) + ((f = (f = [0, h[1]]).concat(h)).push(0), + f.push(h[h.length - 1])); + else if ("toself" === l.fill || "tonext" === l.fill) { + for (f = [], i = 0, a = 0; a < h.length; a += 2) + (isNaN(h[a]) || isNaN(h[a + 1])) && + ((f = f.concat(h.slice(i, a))).push(h[i], h[i + 1]), + (i = a + 2)); + ((f = f.concat(h.slice(i))), i && f.push(h[i], h[i + 1])); + } else { + var p = l._nexttrace; + if (p) { + var d = s.lineOptions[e + 1]; + if (d) { + var g = d.positions; + if ("tonexty" === l.fill) { + for ( + f = h.slice(), e = Math.floor(g.length / 2); + e--; + + ) { + var m = g[2 * e], + v = g[2 * e + 1]; + isNaN(m) || isNaN(v) || (f.push(m), f.push(v)); + } + t.fill = p.fillcolor; + } + } + } + } + if (l._prevtrace && "tonext" === l._prevtrace.fill) { + var y = s.lineOptions[e - 1].positions, + x = f.length / 2, + b = [(i = x)]; + for (a = 0; a < y.length; a += 2) + (isNaN(y[a]) || isNaN(y[a + 1])) && + (b.push(a / 2 + x + 1), (i = a + 2)); + ((f = f.concat(y)), (t.hole = b)); + } + return ((t.opacity = l.opacity), (t.positions = f), t); + })), + s.fill2d.update(s.fillOptions))); + } + var v = "lasso" === l || "select" === l; + ((s.selectBatch = null), (s.unselectBatch = null)); + var y = r.map(function (r) { + if (r && r[0] && r[0].trace) { + var n, + i = r[0], + a = i.trace, + o = i.t, + l = o.index, + u = o.x, + d = o.y, + g = e.xaxis || f.getFromId(t, a.xaxis || "x"), + m = e.yaxis || f.getFromId(t, a.yaxis || "y"), + y = [ + (g._rl || g.range)[0], + (m._rl || m.range)[0], + (g._rl || g.range)[1], + (m._rl || m.range)[1], + ], + x = [ + c.l + g.domain[0] * c.w, + c.b + m.domain[0] * c.h, + h - c.r - (1 - g.domain[1]) * c.w, + p - c.t - (1 - m.domain[1]) * c.h, + ]; + if (a.selectedpoints || v) { + if ( + (v || (v = !0), + s.selectBatch || + ((s.selectBatch = []), (s.unselectBatch = [])), + a.selectedpoints) + ) { + s.selectBatch[l] = a.selectedpoints; + var b = a.selectedpoints, + _ = {}; + for (n = 0; n < b.length; n++) _[b[n]] = !0; + var w = []; + for (n = 0; n < o.count; n++) _[n] || w.push(n); + s.unselectBatch[l] = w; + } + var k = new Array(o.count), + M = new Array(o.count); + for (n = 0; n < o.count; n++) + ((k[n] = g.c2p(u[n])), (M[n] = m.c2p(d[n]))); + ((o.xpx = k), (o.ypx = M)); + } else o.xpx = o.ypx = null; + return a.visible ? { viewport: x, range: y } : null; + } + }); + (v && + (s.select2d || (s.select2d = n(o._glcanvas.data()[1].regl)), + s.scatter2d && + s.selectBatch && + s.selectBatch.length && + s.scatter2d.update( + s.unselectedOptions.map(function (t, e) { + return s.selectBatch[e] ? t : null; + }), + ), + s.select2d && + (s.select2d.update(s.markerOptions), + s.select2d.update(s.selectedOptions))), + s.fill2d && s.fill2d.update(y), + s.line2d && s.line2d.update(y), + s.error2d && s.error2d.update(y.concat(y)), + s.scatter2d && s.scatter2d.update(y), + s.select2d && s.select2d.update(y), + s.draw()); + } + } + }, + hoverPoints: function (t, e, r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p = t.cd, + d = p[0].t, + g = p[0].trace, + m = t.xa, + v = t.ya, + y = d.x, + x = d.y, + b = m.c2p(e), + _ = v.c2p(r), + w = t.distance; + if (d.tree) { + var k = m.p2c(b - w), + M = m.p2c(b + w), + A = v.p2c(_ - w), + S = v.p2c(_ + w); + i = + "x" === n + ? d.tree.range( + Math.min(k, M), + Math.min(v._rl[0], v._rl[1]), + Math.max(k, M), + Math.max(v._rl[0], v._rl[1]), + ) + : d.tree.range( + Math.min(k, M), + Math.min(A, S), + Math.max(k, M), + Math.max(A, S), + ); + } else { + if (!d.ids) return [t]; + i = d.ids; + } + var C = w; + if ("x" === n) + for (l = 0; l < i.length; l++) + ((o = y[i[l]]), + (c = Math.abs(m.c2p(o) - b)) < C && + ((C = c), + (u = v.c2p(x[i[l]]) - _), + (h = Math.sqrt(c * c + u * u)), + (a = i[l]))); + else + for (l = 0; l < i.length; l++) + ((o = y[i[l]]), + (s = x[i[l]]), + (c = m.c2p(o) - b), + (u = v.c2p(s) - _), + (f = Math.sqrt(c * c + u * u)) < C && ((C = h = f), (a = i[l]))); + return ( + (t.index = a), + (t.distance = C), + (t.dxy = h), + void 0 === a ? [t] : (T(t, y, x, g), [t]) + ); + }, + style: function (t, e) { + if (e) { + var r = e[0][0].t._scene; + (t._fullLayout._has("splom") || r.clear(), r.draw()); + } + }, + selectPoints: function (t, e) { + var r = t.cd, + n = [], + i = r[0].trace, + a = r[0].t, + o = a.x, + l = a.y, + c = a._scene; + if (!c) return n; + var u = !h.hasMarkers(i) && !h.hasText(i); + if (!0 !== i.visible || u) return n; + var f, + p = null, + d = null; + if (!1 === e || e.degenerate) d = s(a.count); + else + for (p = [], d = [], f = 0; f < a.count; f++) + e.contains([a.xpx[f], a.ypx[f]]) + ? (p.push(f), n.push({ pointNumber: f, x: o[f], y: l[f] })) + : d.push(f); + if ( + (c.selectBatch || ((c.selectBatch = []), (c.unselectBatch = [])), + !c.selectBatch[a.index]) + ) { + for (f = 0; f < c.count; f++) + ((c.selectBatch[f] = []), (c.unselectBatch[f] = [])); + c.scatter2d.update(c.unselectedOptions); + } + return ((c.selectBatch[a.index] = p), (c.unselectBatch[a.index] = d), n); + }, + sceneOptions: M, + sceneUpdate: A, + calcHover: T, + meta: {}, + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../lib/prepare_regl": 615, + "../../plots/cartesian": 659, + "../../plots/cartesian/axis_ids": 651, + "../../registry": 732, + "../scatter/calc": 927, + "../scatter/clean_data": 929, + "../scatter/colorbar": 930, + "../scatter/colorscale_calc": 931, + "../scatter/fill_hover_text": 934, + "../scatter/get_trace_color": 936, + "../scatter/link_traces": 942, + "../scatter/subtypes": 948, + "./attributes": 973, + "./constants": 974, + "./convert": 975, + "./defaults": 976, + "array-range": 51, + "point-cluster": 353, + "regl-error2d": 374, + "regl-line2d": 375, + "regl-scatter2d": 376, + }, + ], + 978: [ + function (t, e, r) { + "use strict"; + var n = t("../scattergeo/attributes"), + i = t("../scatter/attributes"), + a = t("../../plots/mapbox/layout_attributes"), + o = t("../../plots/attributes"), + s = t("../../components/colorbar/attributes"), + l = t("../../lib/extend").extendFlat, + c = t("../../plot_api/edit_types").overrideAll, + u = n.line, + f = n.marker; + e.exports = c( + { + lon: n.lon, + lat: n.lat, + mode: l({}, i.mode, { dflt: "markers" }), + text: l({}, i.text, {}), + hovertext: l({}, i.hovertext, {}), + line: { color: u.color, width: u.width }, + connectgaps: i.connectgaps, + marker: { + symbol: { valType: "string", dflt: "circle", arrayOk: !0 }, + opacity: f.opacity, + size: f.size, + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + color: f.color, + colorscale: f.colorscale, + cauto: f.cauto, + cmax: f.cmax, + cmin: f.cmin, + autocolorscale: f.autocolorscale, + reversescale: f.reversescale, + showscale: f.showscale, + colorbar: s, + }, + fill: n.fill, + fillcolor: i.fillcolor, + textfont: a.layers.symbol.textfont, + textposition: a.layers.symbol.textposition, + selected: { marker: i.selected.marker }, + unselected: { marker: i.unselected.marker }, + hoverinfo: l({}, o.hoverinfo, { flags: ["lon", "lat", "text", "name"] }), + }, + "calc", + "nested", + ); + }, + { + "../../components/colorbar/attributes": 475, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + "../../plots/mapbox/layout_attributes": 706, + "../scatter/attributes": 926, + "../scattergeo/attributes": 964, + }, + ], + 979: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../constants/numerical").BADNUM, + o = t("../../lib/geojson_utils"), + s = t("../../components/colorscale"), + l = t("../../components/drawing"), + c = t("../scatter/make_bubble_size_func"), + u = t("../scatter/subtypes"), + f = t("../../plots/mapbox/convert_text_opts"); + function h() { + return { + geojson: o.makeBlank(), + layout: { visibility: "none" }, + paint: {}, + }; + } + function p(t) { + return i.isArrayOrTypedArray(t) + ? function (t) { + return t; + } + : t + ? function () { + return t; + } + : d; + } + function d() { + return ""; + } + function g(t) { + return t[0] === a; + } + e.exports = function (t) { + var e, + r = t[0].trace, + a = !0 === r.visible, + m = "none" !== r.fill, + v = u.hasLines(r), + y = u.hasMarkers(r), + x = u.hasText(r), + b = y && "circle" === r.marker.symbol, + _ = y && "circle" !== r.marker.symbol, + w = h(), + k = h(), + M = h(), + A = h(), + T = { fill: w, line: k, circle: M, symbol: A }; + if (!a) return T; + if ( + ((m || v) && (e = o.calcTraceToLineCoords(t)), + m && + ((w.geojson = o.makePolygon(e)), + (w.layout.visibility = "visible"), + i.extendFlat(w.paint, { "fill-color": r.fillcolor })), + v && + ((k.geojson = o.makeLine(e)), + (k.layout.visibility = "visible"), + i.extendFlat(k.paint, { + "line-width": r.line.width, + "line-color": r.line.color, + "line-opacity": r.opacity, + })), + b) + ) { + var S = (function (t) { + var e, + r, + a, + o, + u = t[0].trace, + f = u.marker, + h = u.selectedpoints, + p = i.isArrayOrTypedArray(f.color), + d = i.isArrayOrTypedArray(f.size), + m = i.isArrayOrTypedArray(f.opacity); + function v(t) { + return u.opacity * t; + } + p && + (r = s.hasColorscale(u, "marker") + ? s.makeColorScaleFunc(s.extractScale(f.colorscale, f.cmin, f.cmax)) + : i.identity); + d && (a = c(u)); + m && + (o = function (t) { + var e = n(t) ? +i.constrain(t, 0, 1) : 0; + return v(e); + }); + var y, + x = []; + for (e = 0; e < t.length; e++) { + var b = t[e], + _ = b.lonlat; + if (!g(_)) { + var w = {}; + (r && (w.mcc = b.mcc = r(b.mc)), + a && (w.mrc = b.mrc = a(b.ms)), + o && (w.mo = o(b.mo)), + h && (w.selected = b.selected || 0), + x.push({ + type: "Feature", + geometry: { type: "Point", coordinates: _ }, + properties: w, + })); + } + } + if (h) + for (y = l.makeSelectedPointStyleFns(u), e = 0; e < x.length; e++) { + var k = x[e].properties; + (y.selectedOpacityFn && (k.mo = v(y.selectedOpacityFn(k))), + y.selectedColorFn && (k.mcc = y.selectedColorFn(k)), + y.selectedSizeFn && (k.mrc = y.selectedSizeFn(k))); + } + return { + geojson: { type: "FeatureCollection", features: x }, + mcc: + p || (y && y.selectedColorFn) + ? { type: "identity", property: "mcc" } + : f.color, + mrc: + d || (y && y.selectedSizeFn) + ? { type: "identity", property: "mrc" } + : ((M = f.size), M / 2), + mo: + m || (y && y.selectedOpacityFn) + ? { type: "identity", property: "mo" } + : v(f.opacity), + }; + var M; + })(t); + ((M.geojson = S.geojson), + (M.layout.visibility = "visible"), + i.extendFlat(M.paint, { + "circle-color": S.mcc, + "circle-radius": S.mrc, + "circle-opacity": S.mo, + })); + } + if ( + (_ || x) && + ((A.geojson = (function (t) { + for ( + var e = t[0].trace, + r = (e.marker || {}).symbol, + n = e.text, + i = "circle" !== r ? p(r) : d, + a = u.hasText(e) ? p(n) : d, + o = [], + s = 0; + s < t.length; + s++ + ) { + var l = t[s]; + g(l.lonlat) || + o.push({ + type: "Feature", + geometry: { type: "Point", coordinates: l.lonlat }, + properties: { symbol: i(l.mx), text: a(l.tx) }, + }); + } + return { type: "FeatureCollection", features: o }; + })(t)), + i.extendFlat(A.layout, { + visibility: "visible", + "icon-image": "{symbol}-15", + "text-field": "{text}", + }), + _ && + (i.extendFlat(A.layout, { "icon-size": r.marker.size / 10 }), + i.extendFlat(A.paint, { + "icon-opacity": r.opacity * r.marker.opacity, + "icon-color": r.marker.color, + })), + x) + ) { + var C = (r.marker || {}).size, + E = f(r.textposition, C); + (i.extendFlat(A.layout, { + "text-size": r.textfont.size, + "text-anchor": E.anchor, + "text-offset": E.offset, + }), + i.extendFlat(A.paint, { + "text-color": r.textfont.color, + "text-opacity": r.opacity, + })); + } + return T; + }; + }, + { + "../../components/colorscale": 489, + "../../components/drawing": 499, + "../../constants/numerical": 579, + "../../lib": 602, + "../../lib/geojson_utils": 595, + "../../plots/mapbox/convert_text_opts": 703, + "../scatter/make_bubble_size_func": 943, + "../scatter/subtypes": 948, + "fast-isnumeric": 196, + }, + ], + 980: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/subtypes"), + a = t("../scatter/marker_defaults"), + o = t("../scatter/line_defaults"), + s = t("../scatter/text_defaults"), + l = t("../scatter/fillcolor_defaults"), + c = t("./attributes"); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + if ( + (function (t, e, r) { + var n = r("lon") || [], + i = r("lat") || [], + a = Math.min(n.length, i.length); + return ((e._length = a), a); + })(0, e, f) + ) { + if ( + (f("text"), + f("hovertext"), + f("mode"), + i.hasLines(e) && (o(t, e, r, u, f, { noDash: !0 }), f("connectgaps")), + i.hasMarkers(e)) + ) { + a(t, e, r, u, f, { noLine: !0 }); + var h = e.marker; + ((h.line = { width: 0 }), + "circle" !== h.symbol && + (n.isArrayOrTypedArray(h.size) && (h.size = h.size[0]), + n.isArrayOrTypedArray(h.color) && (h.color = h.color[0]))); + } + (i.hasText(e) && s(t, e, u, f, { noSelect: !0 }), + f("fill"), + "none" !== e.fill && l(t, e, r, f), + n.coerceSelectionMarkerOpacity(e, f)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 978, + }, + ], + 981: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e) { + return ((t.lon = e.lon), (t.lat = e.lat), t); + }; + }, + {}, + ], + 982: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/fx"), + i = t("../../lib"), + a = t("../scatter/get_trace_color"), + o = t("../scatter/fill_hover_text"), + s = t("../../constants/numerical").BADNUM; + e.exports = function (t, e, r) { + var l = t.cd, + c = l[0].trace, + u = t.xa, + f = t.ya, + h = t.subplot, + p = + 360 * + (e >= 0 ? Math.floor((e + 180) / 360) : Math.ceil((e - 180) / 360)), + d = e - p; + if ( + (n.getClosest( + l, + function (t) { + var e = t.lonlat; + if (e[0] === s) return 1 / 0; + var n = i.wrap180(e[0]), + a = e[1], + o = h.project([n, a]), + l = o.x - u.c2p([d, a]), + c = o.y - f.c2p([n, r]), + p = Math.max(3, t.mrc || 0); + return Math.max(Math.sqrt(l * l + c * c) - p, 1 - 3 / p); + }, + t, + ), + !1 !== t.index) + ) { + var g = l[t.index], + m = g.lonlat, + v = [i.wrap180(m[0]) + p, m[1]], + y = u.c2p(v), + x = f.c2p(v), + b = g.mrc || 1; + return ( + (t.x0 = y - b), + (t.x1 = y + b), + (t.y0 = x - b), + (t.y1 = x + b), + (t.color = a(c, g)), + (t.extraText = (function (t, e, r) { + var n = (e.hi || t.hoverinfo).split("+"), + i = -1 !== n.indexOf("all"), + a = -1 !== n.indexOf("lon"), + s = -1 !== n.indexOf("lat"), + l = e.lonlat, + c = []; + function u(t) { + return t + "\xb0"; + } + i || (a && s) + ? c.push("(" + u(l[0]) + ", " + u(l[1]) + ")") + : a + ? c.push(r.lon + u(l[0])) + : s && c.push(r.lat + u(l[1])); + (i || -1 !== n.indexOf("text")) && o(e, t, c); + return c.join("
      "); + })(c, g, l[0].t.labels)), + [t] + ); + } + }; + }, + { + "../../components/fx": 516, + "../../constants/numerical": 579, + "../../lib": 602, + "../scatter/fill_hover_text": 934, + "../scatter/get_trace_color": 936, + }, + ], + 983: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../scatter/colorbar")), + (n.calc = t("../scattergeo/calc")), + (n.plot = t("./plot")), + (n.hoverPoints = t("./hover")), + (n.eventData = t("./event_data")), + (n.selectPoints = t("./select")), + (n.style = function (t, e) { + e && e[0].trace._glTrace.update(e); + }), + (n.moduleType = "trace"), + (n.name = "scattermapbox"), + (n.basePlotModule = t("../../plots/mapbox")), + (n.categories = [ + "mapbox", + "gl", + "symbols", + "markerColorscale", + "showLegend", + "scatterlike", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/mapbox": 704, + "../scatter/colorbar": 930, + "../scattergeo/calc": 965, + "./attributes": 978, + "./defaults": 980, + "./event_data": 981, + "./hover": 982, + "./plot": 984, + "./select": 985, + }, + ], + 984: [ + function (t, e, r) { + "use strict"; + var n = t("./convert"); + function i(t, e) { + ((this.subplot = t), + (this.uid = e), + (this.sourceIds = { + fill: e + "-source-fill", + line: e + "-source-line", + circle: e + "-source-circle", + symbol: e + "-source-symbol", + }), + (this.layerIds = { + fill: e + "-layer-fill", + line: e + "-layer-line", + circle: e + "-layer-circle", + symbol: e + "-layer-symbol", + }), + (this.order = ["fill", "line", "circle", "symbol"])); + } + var a = i.prototype; + ((a.addSource = function (t, e) { + this.subplot.map.addSource(this.sourceIds[t], { + type: "geojson", + data: e.geojson, + }); + }), + (a.setSourceData = function (t, e) { + this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson); + }), + (a.addLayer = function (t, e) { + this.subplot.map.addLayer({ + type: t, + id: this.layerIds[t], + source: this.sourceIds[t], + layout: e.layout, + paint: e.paint, + }); + }), + (a.update = function (t) { + for (var e = this.subplot, r = n(t), i = 0; i < this.order.length; i++) { + var a = this.order[i], + o = r[a]; + (e.setOptions(this.layerIds[a], "setLayoutProperty", o.layout), + "visible" === o.layout.visibility && + (this.setSourceData(a, o), + e.setOptions(this.layerIds[a], "setPaintProperty", o.paint))); + } + t[0].trace._glTrace = this; + }), + (a.dispose = function () { + for (var t = this.subplot.map, e = 0; e < this.order.length; e++) { + var r = this.order[e]; + (t.removeLayer(this.layerIds[r]), t.removeSource(this.sourceIds[r])); + } + }), + (e.exports = function (t, e) { + for ( + var r = new i(t, e[0].trace.uid), a = n(e), o = 0; + o < r.order.length; + o++ + ) { + var s = r.order[o], + l = a[s]; + (r.addSource(s, l), r.addLayer(s, l)); + } + return ((e[0].trace._glTrace = r), r); + })); + }, + { "./convert": 979 }, + ], + 985: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/subtypes"), + a = t("../../constants/numerical").BADNUM; + e.exports = function (t, e) { + var r, + o = t.cd, + s = t.xaxis, + l = t.yaxis, + c = [], + u = o[0].trace; + if (!i.hasMarkers(u)) return []; + if (!1 === e) for (r = 0; r < o.length; r++) o[r].selected = 0; + else + for (r = 0; r < o.length; r++) { + var f = o[r], + h = f.lonlat; + if (h[0] !== a) { + var p = [n.wrap180(h[0]), h[1]], + d = [s.c2p(p), l.c2p(p)]; + e.contains(d) + ? (c.push({ pointNumber: r, lon: h[0], lat: h[1] }), + (f.selected = 1)) + : (f.selected = 0); + } + } + return c; + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../scatter/subtypes": 948, + }, + ], + 986: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib/extend").extendFlat, + i = t("../scatter/attributes"), + a = t("../../plots/attributes"), + o = i.line; + e.exports = { + mode: i.mode, + r: { valType: "data_array", editType: "calc+clearAxisTypes" }, + theta: { valType: "data_array", editType: "calc+clearAxisTypes" }, + thetaunit: { + valType: "enumerated", + values: ["radians", "degrees", "gradians"], + dflt: "degrees", + editType: "calc+clearAxisTypes", + }, + text: i.text, + hovertext: i.hovertext, + line: { + color: o.color, + width: o.width, + dash: o.dash, + shape: n({}, o.shape, { values: ["linear", "spline"] }), + smoothing: o.smoothing, + editType: "calc", + }, + connectgaps: i.connectgaps, + marker: i.marker, + cliponaxis: n({}, i.cliponaxis, { dflt: !1 }), + textposition: i.textposition, + textfont: i.textfont, + fill: n({}, i.fill, { values: ["none", "toself", "tonext"] }), + fillcolor: i.fillcolor, + hoverinfo: n({}, a.hoverinfo, { flags: ["r", "theta", "text", "name"] }), + hoveron: i.hoveron, + selected: i.selected, + unselected: i.unselected, + }; + }, + { + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + }, + ], + 987: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../constants/numerical").BADNUM, + a = t("../../plots/cartesian/axes"), + o = t("../scatter/colorscale_calc"), + s = t("../scatter/arrays_to_calcdata"), + l = t("../scatter/calc_selection"), + c = t("../scatter/calc").calcMarkerSize; + e.exports = function (t, e) { + var r, + u = t._fullLayout, + f = e.subplot, + h = u[f].radialaxis, + p = u[f].angularaxis, + d = h.makeCalcdata(e, "r"), + g = p.makeCalcdata(e, "theta"), + m = e._length, + v = new Array(m); + for (var y = 0; y < m; y++) { + var x = d[y], + b = g[y], + _ = (v[y] = {}); + n(x) && n(b) + ? ((_.r = x), + (_.theta = b), + (_.rad = ((r = b), p.c2rad(r, e.thetaunit)))) + : (_.r = i); + } + var w = c(e, m); + return (a.expand(h, d, { ppad: w }), o(e), s(v, e), l(v, e), v); + }; + }, + { + "../../constants/numerical": 579, + "../../plots/cartesian/axes": 648, + "../scatter/arrays_to_calcdata": 925, + "../scatter/calc": 927, + "../scatter/calc_selection": 928, + "../scatter/colorscale_calc": 931, + "fast-isnumeric": 196, + }, + ], + 988: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/subtypes"), + a = t("../scatter/marker_defaults"), + o = t("../scatter/line_defaults"), + s = t("../scatter/line_shape_defaults"), + l = t("../scatter/text_defaults"), + c = t("../scatter/fillcolor_defaults"), + u = t("../scatter/constants").PTS_LINESONLY, + f = t("./attributes"); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = p("r"), + g = p("theta"), + m = d && g ? Math.min(d.length, g.length) : 0; + if (m) { + ((e._length = m), + p("thetaunit"), + p("mode", m < u ? "lines+markers" : "lines"), + p("text"), + p("hovertext"), + i.hasLines(e) && (o(t, e, r, h, p), s(t, e, p), p("connectgaps")), + i.hasMarkers(e) && a(t, e, r, h, p, { gradient: !0 }), + i.hasText(e) && l(t, e, h, p)); + var v = []; + ((i.hasMarkers(e) || i.hasText(e)) && + (p("cliponaxis"), p("marker.maxdisplayed"), v.push("points")), + p("fill"), + "none" !== e.fill && (c(t, e, r, p), i.hasLines(e) || s(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), + p("hoveron", v.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/constants": 932, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/line_shape_defaults": 941, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 986, + }, + ], + 989: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/hover"), + i = t("../../plots/cartesian/axes"), + a = t("../../lib"); + function o(t, e, r) { + var n = r.radialAxis, + o = r.angularAxis, + s = (t.hi || e.hoverinfo).split("+"), + l = []; + ((n._hovertitle = "r"), (o._hovertitle = "\u03b8")); + var c, + u = o._c2rad(t.theta, e.thetaunit); + function f(t, e) { + l.push(t._hovertitle + ": " + i.tickText(t, e, "hover").text); + } + return ( + (c = + "linear" === o.type && e.thetaunit !== o.thetaunit + ? "degrees" === o.thetaunit + ? a.rad2deg(u) + : u + : t.theta), + -1 !== s.indexOf("all") && (s = ["r", "theta"]), + -1 !== s.indexOf("r") && f(n, n.c2r(t.r)), + -1 !== s.indexOf("theta") && f(o, c), + l.join("
      ") + ); + } + e.exports = { + hoverPoints: function (t, e, r, i) { + var a = n(t, e, r, i); + if (a && !1 !== a[0].index) { + var s = a[0]; + if (void 0 === s.index) return a; + var l = t.subplot, + c = s.cd[s.index], + u = s.trace; + if (l.isPtWithinSector(c)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + (s.extraText = o(c, u, l)), + a + ); + } + }, + makeHoverPointText: o, + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../scatter/hover": 937, + }, + ], + 990: [ + function (t, e, r) { + "use strict"; + e.exports = { + moduleType: "trace", + name: "scatterpolar", + basePlotModule: t("../../plots/polar"), + categories: [ + "polar", + "symbols", + "markerColorscale", + "showLegend", + "scatter-like", + ], + attributes: t("./attributes"), + supplyDefaults: t("./defaults"), + calc: t("./calc"), + plot: t("./plot"), + style: t("../scatter/style").style, + hoverPoints: t("./hover").hoverPoints, + selectPoints: t("../scatter/select"), + meta: {}, + }; + }, + { + "../../plots/polar": 713, + "../scatter/select": 946, + "../scatter/style": 947, + "./attributes": 986, + "./calc": 987, + "./defaults": 988, + "./hover": 989, + "./plot": 991, + }, + ], + 991: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/plot"), + i = t("../../constants/numerical").BADNUM; + e.exports = function (t, e, r) { + var a, + o, + s, + l = { + xaxis: e.xaxis, + yaxis: e.yaxis, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse ? e.clipIds.circle : null, + }, + c = e.radialAxis, + u = c.range; + for ( + s = + u[0] > u[1] + ? function (t) { + return t <= 0; + } + : function (t) { + return t >= 0; + }, + a = 0; + a < r.length; + a++ + ) + for (o = 0; o < r[a].length; o++) { + var f = r[a][o], + h = f.r; + if (h !== i) { + var p = c.c2r(h) - u[0]; + if (s(p)) { + var d = f.rad; + ((f.x = p * Math.cos(d)), (f.y = p * Math.sin(d))); + continue; + } + f.intoCenter = [e.cxx, e.cyy]; + } + ((f.x = i), (f.y = i)); + } + var g = e.layers.frontplot.select("g.scatterlayer"); + n(t, l, r, g); + }; + }, + { "../../constants/numerical": 579, "../scatter/plot": 945 }, + ], + 992: [ + function (t, e, r) { + "use strict"; + var n = t("../scatterpolar/attributes"), + i = t("../scattergl/attributes"); + e.exports = { + mode: n.mode, + r: n.r, + theta: n.theta, + thetaunit: n.thetaunit, + text: n.text, + line: i.line, + connectgaps: i.connectgaps, + marker: i.marker, + fill: i.fill, + fillcolor: i.fillcolor, + hoverinfo: n.hoverinfo, + hoveron: n.hoveron, + selected: n.selected, + unselected: n.unselected, + }; + }, + { "../scattergl/attributes": 973, "../scatterpolar/attributes": 986 }, + ], + 993: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/subtypes"), + a = t("../scatter/marker_defaults"), + o = t("../scatter/line_defaults"), + s = t("../scatter/fillcolor_defaults"), + l = t("../scatter/constants").PTS_LINESONLY, + c = t("./attributes"); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + var h = f("r"), + p = f("theta"), + d = h && p ? Math.min(h.length, p.length) : 0; + if (d) { + ((e._length = d), + f("thetaunit"), + f("mode", d < l ? "lines+markers" : "lines"), + f("text"), + i.hasLines(e) && (o(t, e, r, u, f), f("connectgaps"))); + var g = []; + (i.hasMarkers(e) && (a(t, e, r, u, f), g.push("points")), + f("fill"), + "none" !== e.fill && s(t, e, r, f), + ("tonext" !== e.fill && "toself" !== e.fill) || g.push("fills"), + f("hoveron", g.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, f)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/constants": 932, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "./attributes": 992, + }, + ], + 994: [ + function (t, e, r) { + "use strict"; + var n = t("point-cluster"), + i = t("fast-isnumeric"), + a = t("../scattergl"), + o = t("../scatter/colorscale_calc"), + s = t("../../plots/cartesian/axes"), + l = t("../scatterpolar/hover").makeHoverPointText, + c = t("../scatter/subtypes"), + u = t("../scattergl/constants").TOO_MANY_POINTS; + e.exports = { + moduleType: "trace", + name: "scatterpolargl", + basePlotModule: t("../../plots/polar"), + categories: [ + "gl", + "regl", + "polar", + "symbols", + "markerColorscale", + "showLegend", + "scatter-like", + ], + attributes: t("./attributes"), + supplyDefaults: t("./defaults"), + calc: function (t, e) { + var r = t._fullLayout, + n = e.subplot, + i = r[n].radialaxis, + a = r[n].angularaxis, + l = i.makeCalcdata(e, "r"), + c = a.makeCalcdata(e, "theta"), + u = {}; + return ( + e._length < l.length && (l = l.slice(0, e._length)), + e._length < c.length && (c = c.slice(0, e._length)), + o(e), + (u.r = l), + (u.theta = c), + s.expand(i, l, { tozero: !0 }), + "linear" !== a.type && + ((a.autorange = !0), s.expand(a, c), delete a.autorange), + [{ x: !1, y: !1, t: u, trace: e }] + ); + }, + plot: function (t, e, r) { + var o = e.radialAxis, + s = e.angularAxis, + l = o.range, + f = a.sceneUpdate(t, e); + return ( + f.clear(), + r.forEach(function (h, p) { + if (h && h[0] && h[0].trace) { + var d, + g, + m, + v, + y, + x = h[0], + b = x.trace, + _ = x.t, + w = _.r, + k = _.theta, + M = w.slice(), + A = k.slice(); + for (d = 0; d < w.length; d++) + ((g = w[d]), + (v = k[d]), + (y = s.c2rad(v, b.thetaunit)), + e.isPtWithinSector({ r: g, rad: y }) || + ((M[d] = NaN), (A[d] = NaN))); + var T, + S = w.length, + C = new Array(2 * S), + E = Array(S), + L = Array(S); + for (d = 0; d < S; d++) + ((g = M[d]), + (v = A[d]), + i(g) && i(v) && g >= 0 + ? ((m = o.c2r(g) - l[0]), + (T = v), + (y = s.c2rad(T, b.thetaunit)), + (E[d] = C[2 * d] = m * Math.cos(y)), + (L[d] = C[2 * d + 1] = m * Math.sin(y))) + : (E[d] = L[d] = C[2 * d] = C[2 * d + 1] = NaN)); + var z = a.sceneOptions(t, e, b, C); + (z.fill && !f.fill2d && (f.fill2d = !0), + z.marker && !f.scatter2d && (f.scatter2d = !0), + z.line && !f.line2d && (f.line2d = !0), + (!z.errorX && !z.errorY) || f.error2d || (f.error2d = !0), + (_.tree = n(C)), + z.marker && S >= u && (z.marker.cluster = _.tree), + c.hasMarkers(b) && + (z.selected.positions = z.unselected.positions = + z.marker.positions), + f.lineOptions.push(z.line), + f.errorXOptions.push(z.errorX), + f.errorYOptions.push(z.errorY), + f.fillOptions.push(z.fill), + f.markerOptions.push(z.marker), + f.selectedOptions.push(z.selected), + f.unselectedOptions.push(z.unselected), + (f.count = r.length), + (_._scene = f), + (_.index = p), + (_.x = E), + (_.y = L), + (_.rawx = E), + (_.rawy = L), + (_.r = w), + (_.theta = k), + (_.positions = C), + (_.count = S)); + } + }), + a.plot(t, e, r) + ); + }, + hoverPoints: function (t, e, r, n) { + var i = t.cd[0].t, + o = i.r, + s = i.theta, + c = a.hoverPoints(t, e, r, n); + if (c && !1 !== c[0].index) { + var u = c[0]; + if (void 0 === u.index) return c; + var f = t.subplot, + h = f.angularAxis, + p = u.cd[u.index], + d = u.trace; + if ( + ((p.r = o[u.index]), + (p.theta = s[u.index]), + (p.rad = h.c2rad(p.theta, d.thetaunit)), + f.isPtWithinSector(p)) + ) + return ( + (u.xLabelVal = void 0), + (u.yLabelVal = void 0), + (u.extraText = l(p, d, f)), + c + ); + } + }, + style: a.style, + selectPoints: a.selectPoints, + meta: {}, + }; + }, + { + "../../plots/cartesian/axes": 648, + "../../plots/polar": 713, + "../scatter/colorscale_calc": 931, + "../scatter/subtypes": 948, + "../scattergl": 977, + "../scattergl/constants": 974, + "../scatterpolar/hover": 989, + "./attributes": 992, + "./defaults": 993, + "fast-isnumeric": 196, + "point-cluster": 353, + }, + ], + 995: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/attributes"), + i = t("../../plots/attributes"), + a = t("../../components/colorscale/color_attributes"), + o = t("../../components/colorbar/attributes"), + s = t("../../components/drawing/attributes").dash, + l = t("../../lib/extend").extendFlat, + c = n.marker, + u = n.line, + f = c.line; + e.exports = { + a: { valType: "data_array", editType: "calc" }, + b: { valType: "data_array", editType: "calc" }, + c: { valType: "data_array", editType: "calc" }, + sum: { valType: "number", dflt: 0, min: 0, editType: "calc" }, + mode: l({}, n.mode, { dflt: "markers" }), + text: l({}, n.text, {}), + hovertext: l({}, n.hovertext, {}), + line: { + color: u.color, + width: u.width, + dash: s, + shape: l({}, u.shape, { values: ["linear", "spline"] }), + smoothing: u.smoothing, + editType: "calc", + }, + connectgaps: n.connectgaps, + cliponaxis: n.cliponaxis, + fill: l({}, n.fill, { values: ["none", "toself", "tonext"] }), + fillcolor: n.fillcolor, + marker: l( + { + symbol: c.symbol, + opacity: c.opacity, + maxdisplayed: c.maxdisplayed, + size: c.size, + sizeref: c.sizeref, + sizemin: c.sizemin, + sizemode: c.sizemode, + line: l({ width: f.width, editType: "calc" }, a("marker.line")), + gradient: c.gradient, + editType: "calc", + }, + a("marker"), + { showscale: c.showscale, colorbar: o }, + ), + textfont: n.textfont, + textposition: n.textposition, + selected: n.selected, + unselected: n.unselected, + hoverinfo: l({}, i.hoverinfo, { flags: ["a", "b", "c", "text", "name"] }), + hoveron: n.hoveron, + }; + }, + { + "../../components/colorbar/attributes": 475, + "../../components/colorscale/color_attributes": 482, + "../../components/drawing/attributes": 498, + "../../lib/extend": 591, + "../../plots/attributes": 645, + "../scatter/attributes": 926, + }, + ], + 996: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../scatter/colorscale_calc"), + a = t("../scatter/arrays_to_calcdata"), + o = t("../scatter/calc_selection"), + s = t("../scatter/calc").calcMarkerSize, + l = ["a", "b", "c"], + c = { a: ["b", "c"], b: ["a", "c"], c: ["a", "b"] }; + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d, + g = t._fullLayout[e.subplot].sum, + m = e.sum || g, + v = { a: e.a, b: e.b, c: e.c }; + for (r = 0; r < l.length; r++) + if (!v[(f = l[r])]) { + for ( + p = v[c[f][0]], d = v[c[f][1]], h = new Array(p.length), u = 0; + u < p.length; + u++ + ) + h[u] = m - p[u] - d[u]; + v[f] = h; + } + var y, + x, + b, + _, + w, + k, + M = e._length, + A = new Array(M); + for (r = 0; r < M; r++) + ((y = v.a[r]), + (x = v.b[r]), + (b = v.c[r]), + n(y) && n(x) && n(b) + ? (1 !== (_ = g / ((y = +y) + (x = +x) + (b = +b))) && + ((y *= _), (x *= _), (b *= _)), + (k = y), + (w = b - x), + (A[r] = { x: w, y: k, a: y, b: x, c: b })) + : (A[r] = { x: !1, y: !1 })); + return (s(e, M), i(e), a(A, e), o(A, e), A); + }; + }, + { + "../scatter/arrays_to_calcdata": 925, + "../scatter/calc": 927, + "../scatter/calc_selection": 928, + "../scatter/colorscale_calc": 931, + "fast-isnumeric": 196, + }, + ], + 997: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../scatter/constants"), + a = t("../scatter/subtypes"), + o = t("../scatter/marker_defaults"), + s = t("../scatter/line_defaults"), + l = t("../scatter/line_shape_defaults"), + c = t("../scatter/text_defaults"), + u = t("../scatter/fillcolor_defaults"), + f = t("./attributes"); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d, + g = p("a"), + m = p("b"), + v = p("c"); + if ( + (g + ? ((d = g.length), + m + ? ((d = Math.min(d, m.length)), v && (d = Math.min(d, v.length))) + : (d = v ? Math.min(d, v.length) : 0)) + : m && v && (d = Math.min(m.length, v.length)), + d) + ) { + ((e._length = d), + p("sum"), + p("text"), + p("hovertext"), + p("mode", d < i.PTS_LINESONLY ? "lines+markers" : "lines"), + a.hasLines(e) && (s(t, e, r, h, p), l(t, e, p), p("connectgaps")), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && c(t, e, h, p)); + var y = []; + ((a.hasMarkers(e) || a.hasText(e)) && + (p("cliponaxis"), p("marker.maxdisplayed"), y.push("points")), + p("fill"), + "none" !== e.fill && (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ("tonext" !== e.fill && "toself" !== e.fill) || y.push("fills"), + p("hoveron", y.join("+") || "points"), + n.coerceSelectionMarkerOpacity(e, p)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/constants": 932, + "../scatter/fillcolor_defaults": 935, + "../scatter/line_defaults": 939, + "../scatter/line_shape_defaults": 941, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "../scatter/text_defaults": 949, + "./attributes": 995, + }, + ], + 998: [ + function (t, e, r) { + "use strict"; + e.exports = function (t, e, r, n, i) { + if ((e.xa && (t.xaxis = e.xa), e.ya && (t.yaxis = e.ya), n[i])) { + var a = n[i]; + ((t.a = a.a), (t.b = a.b), (t.c = a.c)); + } else ((t.a = e.a), (t.b = e.b), (t.c = e.c)); + return t; + }; + }, + {}, + ], + 999: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/hover"), + i = t("../../plots/cartesian/axes"); + e.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) { + var l = 1 - s.y0 / t.ya._length, + c = t.xa._length, + u = (c * l) / 2, + f = c - u; + return ( + (s.x0 = Math.max(Math.min(s.x0, f), u)), + (s.x1 = Math.max(Math.min(s.x1, f), u)), + o + ); + } + var h = s.cd[s.index]; + ((s.a = h.a), + (s.b = h.b), + (s.c = h.c), + (s.xLabelVal = void 0), + (s.yLabelVal = void 0)); + var p = s.trace, + d = s.subplot, + g = (h.hi || p.hoverinfo).split("+"), + m = []; + return ( + -1 !== g.indexOf("all") && (g = ["a", "b", "c"]), + -1 !== g.indexOf("a") && v(d.aaxis, h.a), + -1 !== g.indexOf("b") && v(d.baxis, h.b), + -1 !== g.indexOf("c") && v(d.caxis, h.c), + (s.extraText = m.join("
      ")), + o + ); + } + function v(t, e) { + m.push(t._hovertitle + ": " + i.tickText(t, e, "hover").text); + } + }; + }, + { "../../plots/cartesian/axes": 648, "../scatter/hover": 937 }, + ], + 1000: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("../scatter/colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.style = t("../scatter/style").style), + (n.styleOnSelect = t("../scatter/style").styleOnSelect), + (n.hoverPoints = t("./hover")), + (n.selectPoints = t("../scatter/select")), + (n.eventData = t("./event_data")), + (n.moduleType = "trace"), + (n.name = "scatterternary"), + (n.basePlotModule = t("../../plots/ternary")), + (n.categories = [ + "ternary", + "symbols", + "markerColorscale", + "showLegend", + "scatter-like", + ]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/ternary": 725, + "../scatter/colorbar": 930, + "../scatter/select": 946, + "../scatter/style": 947, + "./attributes": 995, + "./calc": 996, + "./defaults": 997, + "./event_data": 998, + "./hover": 999, + "./plot": 1001, + }, + ], + 1001: [ + function (t, e, r) { + "use strict"; + var n = t("../scatter/plot"); + e.exports = function (t, e, r) { + var i = e.plotContainer; + i.select(".scatterlayer").selectAll("*").remove(); + var a = { + xaxis: e.xaxis, + yaxis: e.yaxis, + plot: i, + layerClipId: e._hasClipOnAxisFalse ? e.clipIdRelative : null, + }, + o = e.layers.frontplot.select("g.scatterlayer"); + n(t, a, r, o); + }; + }, + { "../scatter/plot": 945 }, + ], + 1002: [ + function (t, e, r) { + "use strict"; + var n = t("../scattergl/attributes"), + i = t("../../plots/cartesian/constants").idRegex; + function a(t) { + return { + valType: "info_array", + freeLength: !0, + editType: "calc", + items: { valType: "subplotid", regex: i[t], editType: "plot" }, + }; + } + e.exports = { + dimensions: { + _isLinkedToArray: "dimension", + visible: { valType: "boolean", dflt: !0, editType: "calc" }, + label: { valType: "string", editType: "calc" }, + values: { valType: "data_array", editType: "calc+clearAxisTypes" }, + editType: "calc+clearAxisTypes", + }, + text: n.text, + marker: n.marker, + xaxes: a("x"), + yaxes: a("y"), + diagonal: { + visible: { valType: "boolean", dflt: !0, editType: "calc" }, + editType: "calc", + }, + showupperhalf: { valType: "boolean", dflt: !0, editType: "calc" }, + showlowerhalf: { valType: "boolean", dflt: !0, editType: "calc" }, + selected: { marker: n.selected.marker, editType: "calc" }, + unselected: { marker: n.unselected.marker, editType: "calc" }, + opacity: n.opacity, + }; + }, + { "../../plots/cartesian/constants": 653, "../scattergl/attributes": 973 }, + ], + 1003: [ + function (t, e, r) { + "use strict"; + var n = t("regl-line2d"), + i = t("../../registry"), + a = t("../../lib"), + o = t("../../lib/prepare_regl"), + s = t("../../plots/get_data").getModuleCalcData, + l = t("../../plots/cartesian"), + c = t("../../plots/cartesian/axis_ids"), + u = "splom"; + function f(t, e, r) { + for ( + var n = e.dimensions, + i = r.matrixOptions.data.length, + a = new Array(i), + o = 0, + s = 0; + o < n.length; + o++ + ) + if (n[o].visible) { + var l = (a[s] = new Array(4)), + u = c.getFromId(t, e._diag[o][0]); + u && ((l[0] = u.r2l(u.range[0])), (l[2] = u.r2l(u.range[1]))); + var f = c.getFromId(t, e._diag[o][1]); + (f && ((l[1] = f.r2l(f.range[0])), (l[3] = f.r2l(f.range[1]))), s++); + } + r.selectBatch + ? (r.matrix.update({ ranges: a }, { ranges: a }), + r.matrix.draw(r.unselectBatch, r.selectBatch)) + : (r.matrix.update({ ranges: a }), r.matrix.draw()); + } + function h(t) { + var e = t._fullLayout, + r = e._glcanvas.data()[0].regl, + i = e._splomGrid; + (i || (i = e._splomGrid = n(r)), + i.update( + (function (t) { + var e, + r = t._fullLayout, + n = r._size, + i = [0, 0, r.width, r.height], + a = {}; + function o(t, e, r, n, o, s) { + var l = e[t + "color"], + c = e[t + "width"], + u = String(l + c); + u in a + ? a[u].data.push(NaN, NaN, r, n, o, s) + : (a[u] = { + data: [r, n, o, s], + join: "rect", + thickness: c, + color: l, + viewport: i, + range: i, + overlay: !1, + }); + } + for (e in r._splomSubplots) { + var s, + l, + c = r._plots[e], + u = c.xaxis, + f = c.yaxis, + h = u._vals, + d = f._vals, + g = n.b + f.domain[0] * n.h, + m = -f._m, + v = -m * f.r2l(f.range[0], f.calendar); + if (u.showgrid) + for (e = 0; e < h.length; e++) + ((s = u._offset + u.l2p(h[e].x)), + o("grid", u, s, g, s, g + f._length)); + if ( + (p(u) && + ((s = u._offset + u.l2p(0)), + o("zeroline", u, s, g, s, g + f._length)), + f.showgrid) + ) + for (e = 0; e < d.length; e++) + ((l = g + v + m * d[e].x), + o("grid", f, u._offset, l, u._offset + u._length, l)); + p(f) && + ((l = g + v + 0), + o("zeroline", f, u._offset, l, u._offset + u._length, l)); + } + var y = []; + for (e in a) y.push(a[e]); + return y; + })(t), + ), + i.draw()); + } + function p(t) { + var e = a.simpleMap(t.range, t.r2l), + r = t.l2p(0); + return ( + t.zeroline && + t._vals && + t._vals.length && + e[0] * e[1] <= 0 && + ("linear" === t.type || "-" === t.type) && + ((r > 1 && r < t._length - 1) || !t.showline) + ); + } + e.exports = { + name: u, + attr: l.attr, + attrRegex: l.attrRegex, + layoutAttributes: l.layoutAttributes, + supplyLayoutDefaults: l.supplyLayoutDefaults, + drawFramework: l.drawFramework, + plot: function (t) { + var e = t._fullLayout, + r = i.getModule(u), + n = s(t.calcdata, r)[0]; + (o(t, ["ANGLE_instanced_arrays", "OES_element_index_uint"]), + e._hasOnlyLargeSploms && h(t), + r.plot(t, {}, n)); + }, + drag: function (t) { + var e = t.calcdata; + t._fullLayout._hasOnlyLargeSploms && h(t); + for (var r = 0; r < e.length; r++) { + var n = e[r][0], + i = n.trace, + a = n.t._scene; + "splom" === i.type && a && a.matrix && f(t, i, a); + } + }, + clean: function (t, e, r, n, i) { + var a, + o, + s, + c = n._modules || [], + u = e._modules || []; + for (s = 0; s < c.length; s++) + if ("splom" === c[s].name) { + a = !0; + break; + } + for (s = 0; s < u.length; s++) + if ("splom" === u[s].name) { + o = !0; + break; + } + if (a && !o) + for (s = 0; s < i.length; s++) { + var f = i[s][0], + h = f.trace, + p = f.t._scene; + "splom" === h.type && + p && + p.matrix && + (p.matrix.destroy(), (f.t._scene = null)); + } + (n._splomGrid && + !e._hasOnlyLargeSploms && + n._hasOnlyLargeSploms && + (n._splomGrid.destroy(), (n._splomGrid = null)), + l.clean(t, e, r, n)); + }, + updateFx: l.updateFx, + toSVG: l.toSVG, + }; + }, + { + "../../lib": 602, + "../../lib/prepare_regl": 615, + "../../plots/cartesian": 659, + "../../plots/cartesian/axis_ids": 651, + "../../plots/get_data": 684, + "../../registry": 732, + "regl-line2d": 375, + }, + ], + 1004: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("../scatter/subtypes"), + o = t("../scatter/marker_defaults"), + s = /-open/; + function l(t, e) { + for (var r = new Array(e), n = 0; n < e; n++) r[n] = t + (n ? n + 1 : ""); + return r; + } + function c(t, e, r) { + if (e) { + var n = e.charAt(0), + i = t._splomAxes[n]; + e in i || (i[e] = (r || {}).label || ""); + } + } + function u(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = 1; + return e; + } + e.exports = function (t, e, r, f) { + function h(r, a) { + return n.coerce(t, e, i, r, a); + } + var p = (function (t, e) { + var r = t.dimensions; + if (!Array.isArray(r)) return 0; + var a, + o, + s, + l = r.length, + c = 0, + u = (e.dimensions = new Array(l)); + function f(t, e) { + return n.coerce(a, o, i.dimensions, t, e); + } + for (s = 0; s < l; s++) { + ((a = r[s]), (o = u[s] = {}), f("label")); + var h = f("visible"); + if (h) { + var p = f("values"); + p && p.length + ? ((c = Math.max(c, p.length)), (o._index = s)) + : (o.visible = !1); + } + } + for (s = 0; s < l; s++) (o = u[s]).visible && (o._length = c); + return ((e._length = c), u.length); + })(t, e), + d = h("diagonal.visible"), + g = h("showupperhalf"), + m = h("showlowerhalf"); + if (p && (d || g || m)) { + (h("text"), o(t, e, r, f, h)); + var v = s.test(e.marker.symbol), + y = a.isBubble(e); + (h("marker.line.width", v || y ? 1 : 0), + (function (t, e, r, n) { + var i, + a, + o = e.dimensions, + s = o.length, + f = e.showupperhalf, + h = e.showlowerhalf, + p = e.diagonal.visible, + d = p || (f && h) ? s : s - 1, + g = n("xaxes", l("x", d)), + m = n("yaxes", l("y", d)); + ((e._xaxes = u(g)), (e._yaxes = u(m))); + var v = Math.min(d, g.length, m.length); + for (i = 0; i < v; i++) + for (a = 0; a < v; a++) { + var y = [g[i] + m[a]]; + i > a && f + ? (r._splomSubplots[y] = 1) + : i < a && h + ? (r._splomSubplots[y] = 1) + : i !== a || (!p && h && f) || (r._splomSubplots[y] = 1); + } + var x = (e._diag = new Array(s)), + b = p || h ? 0 : -1, + _ = p || f ? 0 : -1; + for (i = 0; i < s; i++) { + var w = o[i], + k = g[i + b], + M = m[i + _]; + (c(r, k, w), c(r, M, w), (x[i] = [k, M])); + } + })(0, e, f, h), + n.coerceSelectionMarkerOpacity(e, h)); + } else e.visible = !1; + }; + }, + { + "../../lib": 602, + "../scatter/marker_defaults": 944, + "../scatter/subtypes": 948, + "./attributes": 1002, + }, + ], + 1005: [ + function (t, e, r) { + "use strict"; + var n = t("regl-splom"), + i = t("array-range"), + a = t("../../registry"), + o = t("../../components/grid"), + s = t("../../lib"), + l = t("../../plots/cartesian/axis_ids"), + c = t("../scatter/subtypes"), + u = t("../scatter/calc").calcMarkerSize, + f = t("../scatter/calc").calcAxisExpansion, + h = t("../scatter/colorscale_calc"), + p = t("../scattergl/convert").convertMarkerSelection, + d = t("../scattergl/convert").convertMarkerStyle, + g = t("../scattergl").calcHover, + m = t("../../constants/numerical").BADNUM, + v = t("../scattergl/constants").TOO_MANY_POINTS; + function y(t, e, r) { + for ( + var n = t.makeCalcdata({ v: r.values, vcalendar: e.calendar }, "v"), + i = 0; + i < n.length; + i++ + ) + n[i] = n[i] === m ? NaN : n[i]; + return n; + } + function x(t, e) { + var r, + i, + a, + o, + s, + c = t._fullLayout, + u = c._size, + f = e.trace, + h = e.t, + p = h._scene, + d = p.matrixOptions, + g = d.cdata, + m = c._glcanvas.data()[0].regl, + v = c.dragmode; + if (0 !== g.length) { + ((d.lower = f.showupperhalf), + (d.upper = f.showlowerhalf), + (d.diagonal = f.diagonal.visible)); + var y = f.dimensions, + x = g.length, + b = {}; + for ( + b.ranges = new Array(x), b.domains = new Array(x), a = 0, s = 0; + a < y.length; + a++ + ) + if (f.dimensions[a].visible) { + var _ = (b.ranges[s] = new Array(4)), + w = (b.domains[s] = new Array(4)); + ((r = l.getFromId(t, f._diag[a][0])) && + ((_[0] = r._rl[0]), + (_[2] = r._rl[1]), + (w[0] = r.domain[0]), + (w[2] = r.domain[1])), + (i = l.getFromId(t, f._diag[a][1])) && + ((_[1] = i._rl[0]), + (_[3] = i._rl[1]), + (w[1] = i.domain[0]), + (w[3] = i.domain[1])), + s++); + } + ((b.viewport = [u.l, u.b, u.w + u.l, u.h + u.b]), + !0 === p.matrix && (p.matrix = n(m))); + var k = "lasso" === v || "select" === v || !!f.selectedpoints; + if (((p.selectBatch = null), (p.unselectBatch = null), k)) { + var M = f._length; + if ( + (p.selectBatch || ((p.selectBatch = []), (p.unselectBatch = [])), + f.selectedpoints) + ) { + p.selectBatch = f.selectedpoints; + var A = f.selectedpoints, + T = {}; + for (a = 0; a < A.length; a++) T[A[a]] = !0; + var S = []; + for (a = 0; a < M; a++) T[a] || S.push(a); + p.unselectBatch = S; + } + var C = (h.xpx = new Array(x)), + E = (h.ypx = new Array(x)); + for (a = 0, s = 0; a < y.length; a++) + if (f.dimensions[a].visible) { + if ((r = l.getFromId(t, f._diag[a][0]))) + for (C[s] = new Array(M), o = 0; o < M; o++) + C[s][o] = r.c2p(g[s][o]); + if ((i = l.getFromId(t, f._diag[a][1]))) + for (E[s] = new Array(M), o = 0; o < M; o++) + E[s][o] = i.c2p(g[s][o]); + s++; + } + p.selectBatch + ? (p.matrix.update(d, d), + p.matrix.update(p.unselectedOptions, p.selectedOptions), + p.matrix.update(b, b)) + : p.matrix.update(b, null); + } else (p.matrix.update(d), p.matrix.update(b), (h.xpx = h.ypx = null)); + p.draw(); + } + } + function b(t, e) { + for ( + var r = e._id, + n = { x: 0, y: 1 }[r.charAt(0)], + i = t.dimensions, + a = 0, + o = 0; + a < i.length; + a++ + ) + if (i[a].visible) { + if (t._diag[a][n] === r) return o; + o++; + } + return !1; + } + ((e.exports = { + moduleType: "trace", + name: "splom", + basePlotModule: t("./base_plot"), + categories: [ + "gl", + "regl", + "cartesian", + "symbols", + "markerColorscale", + "showLegend", + "scatter-like", + ], + attributes: t("./attributes"), + supplyDefaults: t("./defaults"), + calc: function (t, e) { + var r, + n, + i, + a = e.dimensions, + o = e._length, + c = {}, + g = {}, + m = (g.cdata = []), + x = (g.data = []); + for (r = 0; r < a.length; r++) + if ((i = a[r]).visible) { + var b = e._diag[r][0] || e._diag[r][1], + _ = l.getFromId(t, b); + if (_) { + var w = y(_, e, i), + k = "log" === _.type ? s.simpleMap(w, _.c2l) : w; + (m.push(w), x.push(k)); + } + } + (h(e), s.extendFlat(g, d(e))); + var M = m.length * o > v; + for (r = 0, n = 0; r < a.length; r++) + if ((i = a[r]).visible) { + var A, + T = l.getFromId(t, e._diag[r][0]) || {}, + S = l.getFromId(t, e._diag[r][1]) || {}; + ((A = M ? 2 * (g.sizeAvg || Math.max(g.size, 3)) : u(e, o)), + f(t, e, T, S, m[n], m[n], A), + n++); + } + var C = (c._scene = (function (t, e) { + var r = e._scene, + n = { dirty: !0 }; + return ( + r || + (((r = e._scene = + s.extendFlat({}, n, { + selectBatch: null, + unselectBatch: null, + matrix: !1, + select: null, + })).draw = function () { + (r.matrix && r.selectBatch + ? r.matrix.draw(r.unselectBatch, r.selectBatch) + : r.matrix && r.matrix.draw(), + (r.dirty = !1)); + }), + (r.destroy = function () { + (r.matrix && r.matrix.destroy(), + (r.matrixOptions = null), + (r.selectBatch = null), + (r.unselectBatch = null), + (e._scene = null)); + })), + r.dirty || s.extendFlat(r, n), + r + ); + })(0, c)); + return ( + C.matrix || (C.matrix = !0), + (C.matrixOptions = g), + (C.selectedOptions = p(e, e.selected)), + (C.unselectedOptions = p(e, e.unselected)), + [{ x: !1, y: !1, t: c, trace: e }] + ); + }, + plot: function (t, e, r) { + if (r.length) for (var n = 0; n < r.length; n++) x(t, r[n][0]); + }, + hoverPoints: function (t, e, r) { + var n = t.cd, + i = n[0].trace, + a = n[0].t._scene.matrixOptions.cdata, + o = t.xa, + s = t.ya, + l = o.c2p(e), + c = s.c2p(r), + u = t.distance, + f = b(i, o), + h = b(i, s); + if (!1 === f || !1 === h) return [t]; + for (var p, d, m = a[f], v = a[h], y = u, x = 0; x < m.length; x++) { + var _ = m[x], + w = v[x], + k = o.c2p(_) - l, + M = s.c2p(w) - c, + A = Math.sqrt(k * k + M * M); + A < y && ((y = d = A), (p = x)); + } + return ( + (t.index = p), + (t.distance = y), + (t.dxy = d), + void 0 === p ? [t] : (g(t, m, v, i), [t]) + ); + }, + selectPoints: function (t, e) { + var r, + n = t.cd, + a = n[0].trace, + o = n[0].t, + s = o._scene, + l = s.matrixOptions.cdata, + u = t.xaxis, + f = t.yaxis, + h = []; + if (!s) return h; + var p = !c.hasMarkers(a) && !c.hasText(a); + if (!0 !== a.visible || p) return h; + var d = b(a, u), + g = b(a, f); + if (!1 === d || !1 === g) return h; + var m = o.xpx[d], + v = o.ypx[g], + y = l[d], + x = l[g], + _ = null, + w = null; + if (!1 === e || e.degenerate) w = i(o.count); + else + for (_ = [], w = [], r = 0; r < y.length; r++) + e.contains([m[r], v[r]]) + ? (_.push(r), h.push({ pointNumber: r, x: y[r], y: x[r] })) + : w.push(r); + if ( + (s.selectBatch || ((s.selectBatch = []), (s.unselectBatch = [])), + !s.selectBatch) + ) { + for (r = 0; r < s.count; r++) + ((s.selectBatch = []), (s.unselectBatch = [])); + s.matrix.update(s.unselectedOptions, s.selectedOptions); + } + return ((s.selectBatch = _), (s.unselectBatch = w), h); + }, + style: function (t, e) { + if (e) { + var r = t._fullLayout; + (e[0][0].t._scene.matrix.regl.clear({ color: !0, depth: !0 }), + r._splomGrid && r._splomGrid.draw()); + for (var n = 0; n < e.length; n++) e[n][0].t._scene.draw(); + if (r._has("cartesian")) + for (var i in r._plots) { + var a = r._plots[i]; + a._scene && a._scene.draw(); + } + } + }, + meta: {}, + }), + a.register(o)); + }, + { + "../../components/grid": 520, + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axis_ids": 651, + "../../registry": 732, + "../scatter/calc": 927, + "../scatter/colorscale_calc": 931, + "../scatter/subtypes": 948, + "../scattergl": 977, + "../scattergl/constants": 974, + "../scattergl/convert": 975, + "./attributes": 1002, + "./base_plot": 1003, + "./defaults": 1004, + "array-range": 51, + "regl-splom": 378, + }, + ], + 1006: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/color"), + i = t("../../components/colorscale/attributes"), + a = t("../../components/colorbar/attributes"), + o = t("../../plots/attributes"), + s = t("../../lib/extend").extendFlat, + l = t("../../plot_api/edit_types").overrideAll; + function c(t) { + return { + show: { valType: "boolean", dflt: !1 }, + project: { + x: { valType: "boolean", dflt: !1 }, + y: { valType: "boolean", dflt: !1 }, + z: { valType: "boolean", dflt: !1 }, + }, + color: { valType: "color", dflt: n.defaultLine }, + usecolormap: { valType: "boolean", dflt: !1 }, + width: { valType: "number", min: 1, max: 16, dflt: 2 }, + highlight: { valType: "boolean", dflt: !0 }, + highlightcolor: { valType: "color", dflt: n.defaultLine }, + highlightwidth: { valType: "number", min: 1, max: 16, dflt: 2 }, + }; + } + var u = (e.exports = l( + { + z: { valType: "data_array" }, + x: { valType: "data_array" }, + y: { valType: "data_array" }, + text: { valType: "string", dflt: "", arrayOk: !0 }, + surfacecolor: { valType: "data_array" }, + cauto: i.zauto, + cmin: i.zmin, + cmax: i.zmax, + colorscale: i.colorscale, + autocolorscale: s({}, i.autocolorscale, { dflt: !1 }), + reversescale: i.reversescale, + showscale: i.showscale, + colorbar: a, + contours: { x: c(), y: c(), z: c() }, + hidesurface: { valType: "boolean", dflt: !1 }, + lightposition: { + x: { valType: "number", min: -1e5, max: 1e5, dflt: 10 }, + y: { valType: "number", min: -1e5, max: 1e5, dflt: 1e4 }, + z: { valType: "number", min: -1e5, max: 1e5, dflt: 0 }, + }, + lighting: { + ambient: { valType: "number", min: 0, max: 1, dflt: 0.8 }, + diffuse: { valType: "number", min: 0, max: 1, dflt: 0.8 }, + specular: { valType: "number", min: 0, max: 2, dflt: 0.05 }, + roughness: { valType: "number", min: 0, max: 1, dflt: 0.5 }, + fresnel: { valType: "number", min: 0, max: 5, dflt: 0.2 }, + }, + opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, + _deprecated: { + zauto: s({}, i.zauto, {}), + zmin: s({}, i.zmin, {}), + zmax: s({}, i.zmax, {}), + }, + hoverinfo: s({}, o.hoverinfo), + }, + "calc", + "nested", + )); + u.x.editType = u.y.editType = u.z.editType = "calc+clearAxisTypes"; + }, + { + "../../components/color": 474, + "../../components/colorbar/attributes": 475, + "../../components/colorscale/attributes": 480, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/attributes": 645, + }, + ], + 1007: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/colorscale/calc"); + e.exports = function (t, e) { + e.surfacecolor ? n(e, e.surfacecolor, "", "c") : n(e, e.z, "", "c"); + }; + }, + { "../../components/colorscale/calc": 481 }, + ], + 1008: [ + function (t, e, r) { + "use strict"; + var n = t("fast-isnumeric"), + i = t("../../lib"), + a = t("../../plots/plots"), + o = t("../../components/colorscale"), + s = t("../../components/colorbar/draw"); + e.exports = function (t, e) { + var r = e[0].trace, + l = "cb" + r.uid, + c = r.cmin, + u = r.cmax, + f = r.surfacecolor || r.z; + if ( + (n(c) || (c = i.aggNums(Math.min, null, f)), + n(u) || (u = i.aggNums(Math.max, null, f)), + t._fullLayout._infolayer.selectAll("." + l).remove(), + r.showscale) + ) { + var h = (e[0].t.cb = s(t, l)), + p = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { + noNumericCheck: !0, + }); + h + .fillcolor(p) + .filllevels({ start: c, end: u, size: (u - c) / 254 }) + .options(r.colorbar)(); + } else a.autoMargin(t, l); + }; + }, + { + "../../components/colorbar/draw": 478, + "../../components/colorscale": 489, + "../../lib": 602, + "../../plots/plots": 710, + "fast-isnumeric": 196, + }, + ], + 1009: [ + function (t, e, r) { + "use strict"; + var n = t("gl-surface3d"), + i = t("ndarray"), + a = t("ndarray-homography"), + o = t("ndarray-fill"), + s = t("ndarray-ops"), + l = t("tinycolor2"), + c = t("../../lib").isArrayOrTypedArray, + u = t("../../lib/str2rgbarray"), + f = 128; + function h(t, e, r) { + ((this.scene = t), + (this.uid = r), + (this.surface = e), + (this.data = null), + (this.showContour = [!1, !1, !1]), + (this.dataScale = 1)); + } + var p = h.prototype; + function d(t) { + var e = t.shape, + r = [e[0] + 2, e[1] + 2], + n = i(new Float32Array(r[0] * r[1]), r); + return ( + s.assign(n.lo(1, 1).hi(e[0], e[1]), t), + s.assign(n.lo(1).hi(e[0], 1), t.hi(e[0], 1)), + s.assign(n.lo(1, r[1] - 1).hi(e[0], 1), t.lo(0, e[1] - 1).hi(e[0], 1)), + s.assign(n.lo(0, 1).hi(1, e[1]), t.hi(1)), + s.assign(n.lo(r[0] - 1, 1).hi(1, e[1]), t.lo(e[0] - 1)), + n.set(0, 0, t.get(0, 0)), + n.set(0, r[1] - 1, t.get(0, e[1] - 1)), + n.set(r[0] - 1, 0, t.get(e[0] - 1, 0)), + n.set(r[0] - 1, r[1] - 1, t.get(e[0] - 1, e[1] - 1)), + n + ); + } + ((p.handlePick = function (t) { + if (t.object === this.surface) { + var e = (t.index = [ + Math.min( + 0 | Math.round(t.data.index[0] / this.dataScale - 1), + this.data.z[0].length - 1, + ), + Math.min( + 0 | Math.round(t.data.index[1] / this.dataScale - 1), + this.data.z.length - 1, + ), + ]), + r = [0, 0, 0]; + (c(this.data.x) + ? c(this.data.x[0]) + ? (r[0] = this.data.x[e[1]][e[0]]) + : (r[0] = this.data.x[e[0]]) + : (r[0] = e[0]), + c(this.data.y) + ? c(this.data.y[0]) + ? (r[1] = this.data.y[e[1]][e[0]]) + : (r[1] = this.data.y[e[1]]) + : (r[1] = e[1]), + (r[2] = this.data.z[e[1]][e[0]]), + (t.traceCoordinate = r)); + var n = this.scene.fullSceneLayout; + t.dataCoordinate = [ + n.xaxis.d2l(r[0], 0, this.data.xcalendar) * this.scene.dataScale[0], + n.yaxis.d2l(r[1], 0, this.data.ycalendar) * this.scene.dataScale[1], + n.zaxis.d2l(r[2], 0, this.data.zcalendar) * this.scene.dataScale[2], + ]; + var i = this.data.text; + return ( + Array.isArray(i) && i[e[1]] && void 0 !== i[e[1]][e[0]] + ? (t.textLabel = i[e[1]][e[0]]) + : (t.textLabel = i || ""), + (t.data.dataCoordinate = t.dataCoordinate.slice()), + this.surface.highlight(t.data), + (this.scene.glplot.spikes.position = t.dataCoordinate), + !0 + ); + } + }), + (p.setContourLevels = function () { + for (var t = [[], [], []], e = !1, r = 0; r < 3; ++r) + this.showContour[r] && ((e = !0), (t[r] = this.scene.contourLevels[r])); + e && this.surface.update({ levels: t }); + }), + (p.update = function (t) { + var e, + r = this.scene, + n = r.fullSceneLayout, + s = this.surface, + h = t.opacity, + p = (function (t, e) { + return ( + void 0 === e && (e = 1), + t.map(function (t) { + var r = t[0], + n = l(t[1]).toRgb(); + return { index: r, rgb: [n.r, n.g, n.b, e] }; + }) + ); + })(t.colorscale, h), + g = t.z, + m = t.x, + v = t.y, + y = n.xaxis, + x = n.yaxis, + b = n.zaxis, + _ = r.dataScale, + w = g[0].length, + k = t._ylength, + M = [ + i(new Float32Array(w * k), [w, k]), + i(new Float32Array(w * k), [w, k]), + i(new Float32Array(w * k), [w, k]), + ], + A = M[0], + T = M[1], + S = r.contourLevels; + this.data = t; + var C = t.xcalendar, + E = t.ycalendar, + L = t.zcalendar; + (o(M[2], function (t, e) { + return b.d2l(g[e][t], 0, L) * _[2]; + }), + c(m) + ? c(m[0]) + ? o(A, function (t, e) { + return y.d2l(m[e][t], 0, C) * _[0]; + }) + : o(A, function (t) { + return y.d2l(m[t], 0, C) * _[0]; + }) + : o(A, function (t) { + return y.d2l(t, 0, C) * _[0]; + }), + c(m) + ? c(v[0]) + ? o(T, function (t, e) { + return x.d2l(v[e][t], 0, E) * _[1]; + }) + : o(T, function (t, e) { + return x.d2l(v[e], 0, E) * _[1]; + }) + : o(T, function (t, e) { + return x.d2l(e, 0, C) * _[1]; + })); + var z = { + colormap: p, + levels: [[], [], []], + showContour: [!0, !0, !0], + showSurface: !t.hidesurface, + contourProject: [ + [!1, !1, !1], + [!1, !1, !1], + [!1, !1, !1], + ], + contourWidth: [1, 1, 1], + contourColor: [ + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + ], + contourTint: [1, 1, 1], + dynamicColor: [ + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + ], + dynamicWidth: [1, 1, 1], + dynamicTint: [1, 1, 1], + opacity: t.opacity, + }; + if (((z.intensityBounds = [t.cmin, t.cmax]), t.surfacecolor)) { + var P = i(new Float32Array(w * k), [w, k]); + (o(P, function (e, r) { + return t.surfacecolor[r][e]; + }), + M.push(P)); + } else ((z.intensityBounds[0] *= _[2]), (z.intensityBounds[1] *= _[2])); + ((this.dataScale = (function (t) { + var e = Math.max(t[0].shape[0], t[0].shape[1]); + if (e < f) { + for ( + var r = f / e, + n = [ + 0 | Math.floor(t[0].shape[0] * r + 1), + 0 | Math.floor(t[0].shape[1] * r + 1), + ], + o = n[0] * n[1], + s = 0; + s < t.length; + ++s + ) { + var l = d(t[s]), + c = i(new Float32Array(o), n); + (a(c, l, [r, 0, 0, 0, r, 0, 0, 0, 1]), (t[s] = c)); + } + return r; + } + return 1; + })(M)), + t.surfacecolor && (z.intensity = M.pop())); + var D = [!0, !0, !0], + O = ["x", "y", "z"]; + for (e = 0; e < 3; ++e) { + var I = t.contours[O[e]]; + ((D[e] = I.highlight), + (z.showContour[e] = I.show || I.highlight), + z.showContour[e] && + ((z.contourProject[e] = [I.project.x, I.project.y, I.project.z]), + I.show + ? ((this.showContour[e] = !0), + (z.levels[e] = S[e]), + (s.highlightColor[e] = z.contourColor[e] = u(I.color)), + I.usecolormap + ? (s.highlightTint[e] = z.contourTint[e] = 0) + : (s.highlightTint[e] = z.contourTint[e] = 1), + (z.contourWidth[e] = I.width)) + : (this.showContour[e] = !1), + I.highlight && + ((z.dynamicColor[e] = u(I.highlightcolor)), + (z.dynamicWidth[e] = I.highlightwidth)))); + } + ((function (t) { + var e = t[0].rgb, + r = t[t.length - 1].rgb; + return e[0] === r[0] && e[1] === r[1] && e[2] === r[2] && e[3] === r[3]; + })(p) && (z.vertexColor = !0), + (z.coords = M), + s.update(z), + (s.visible = t.visible), + (s.enableDynamic = D), + (s.snapToData = !0), + "lighting" in t && + ((s.ambientLight = t.lighting.ambient), + (s.diffuseLight = t.lighting.diffuse), + (s.specularLight = t.lighting.specular), + (s.roughness = t.lighting.roughness), + (s.fresnel = t.lighting.fresnel)), + "lightposition" in t && + (s.lightPosition = [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ]), + h && h < 1 && (s.supportsTransparency = !0)); + }), + (p.dispose = function () { + (this.scene.glplot.remove(this.surface), this.surface.dispose()); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new h(t, i, e.uid); + return ((i._trace = a), a.update(e), t.glplot.add(i), a); + })); + }, + { + "../../lib": 602, + "../../lib/str2rgbarray": 625, + "gl-surface3d": 274, + ndarray: 335, + "ndarray-fill": 325, + "ndarray-homography": 327, + "ndarray-ops": 329, + tinycolor2: 415, + }, + ], + 1010: [ + function (t, e, r) { + "use strict"; + var n = t("../../registry"), + i = t("../../lib"), + a = t("../../components/colorscale/defaults"), + o = t("./attributes"); + function s(t, e, r) { + e in t && !(r in t) && (t[r] = t[e]); + } + e.exports = function (t, e, r, l) { + var c, u; + function f(r, n) { + return i.coerce(t, e, o, r, n); + } + var h = f("z"); + if (h) { + var p = f("x"); + (f("y"), + (e._xlength = + Array.isArray(p) && i.isArrayOrTypedArray(p[0]) + ? h.length + : h[0].length), + (e._ylength = h.length), + n.getComponentMethod("calendars", "handleTraceDefaults")( + t, + e, + ["x", "y", "z"], + l, + ), + f("text"), + [ + "lighting.ambient", + "lighting.diffuse", + "lighting.specular", + "lighting.roughness", + "lighting.fresnel", + "lightposition.x", + "lightposition.y", + "lightposition.z", + "hidesurface", + "opacity", + ].forEach(function (t) { + f(t); + })); + var d = f("surfacecolor"); + f("colorscale"); + var g = ["x", "y", "z"]; + for (c = 0; c < 3; ++c) { + var m = "contours." + g[c], + v = f(m + ".show"), + y = f(m + ".highlight"); + if (v || y) for (u = 0; u < 3; ++u) f(m + ".project." + g[u]); + (v && (f(m + ".color"), f(m + ".width"), f(m + ".usecolormap")), + y && (f(m + ".highlightcolor"), f(m + ".highlightwidth"))); + } + (d || + (s(t, "zmin", "cmin"), s(t, "zmax", "cmax"), s(t, "zauto", "cauto")), + a(t, e, l, f, { prefix: "", cLetter: "c" }), + (e._length = null)); + } else e.visible = !1; + }; + }, + { + "../../components/colorscale/defaults": 484, + "../../lib": 602, + "../../registry": 732, + "./attributes": 1006, + }, + ], + 1011: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.colorbar = t("./colorbar")), + (n.calc = t("./calc")), + (n.plot = t("./convert")), + (n.moduleType = "trace"), + (n.name = "surface"), + (n.basePlotModule = t("../../plots/gl3d")), + (n.categories = ["gl3d", "2dMap", "noOpacity"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "../../plots/gl3d": 690, + "./attributes": 1006, + "./calc": 1007, + "./colorbar": 1008, + "./convert": 1009, + "./defaults": 1010, + }, + ], + 1012: [ + function (t, e, r) { + "use strict"; + var n = t("../../components/annotations/attributes"), + i = t("../../lib/extend").extendFlat, + a = t("../../plot_api/edit_types").overrideAll, + o = t("../../plots/font_attributes"), + s = t("../../plots/domain").attributes; + e.exports = a( + { + domain: s({ name: "table", trace: !0 }), + columnwidth: { valType: "number", arrayOk: !0, dflt: null }, + columnorder: { valType: "data_array" }, + header: { + values: { valType: "data_array", dflt: [] }, + format: { valType: "data_array", dflt: [] }, + prefix: { valType: "string", arrayOk: !0, dflt: null }, + suffix: { valType: "string", arrayOk: !0, dflt: null }, + height: { valType: "number", dflt: 28 }, + align: i({}, n.align, { arrayOk: !0 }), + line: { + width: { valType: "number", arrayOk: !0, dflt: 1 }, + color: { valType: "color", arrayOk: !0, dflt: "grey" }, + }, + fill: { color: { valType: "color", arrayOk: !0, dflt: "white" } }, + font: i({}, o({ arrayOk: !0 })), + }, + cells: { + values: { valType: "data_array", dflt: [] }, + format: { valType: "data_array", dflt: [] }, + prefix: { valType: "string", arrayOk: !0, dflt: null }, + suffix: { valType: "string", arrayOk: !0, dflt: null }, + height: { valType: "number", dflt: 20 }, + align: i({}, n.align, { arrayOk: !0 }), + line: { + width: { valType: "number", arrayOk: !0, dflt: 1 }, + color: { valType: "color", arrayOk: !0, dflt: "grey" }, + }, + fill: { color: { valType: "color", arrayOk: !0, dflt: "white" } }, + font: i({}, o({ arrayOk: !0 })), + }, + }, + "calc", + "from-root", + ); + }, + { + "../../components/annotations/attributes": 457, + "../../lib/extend": 591, + "../../plot_api/edit_types": 633, + "../../plots/domain": 673, + "../../plots/font_attributes": 674, + }, + ], + 1013: [ + function (t, e, r) { + "use strict"; + var n = t("../../plots/get_data").getModuleCalcData, + i = t("./plot"); + ((r.name = "table"), + (r.plot = function (t) { + var e = n(t.calcdata, "table")[0]; + e.length && i(t, e); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has("table"), + a = e._has && e._has("table"); + i && !a && n._paperdiv.selectAll(".table").remove(); + })); + }, + { "../../plots/get_data": 684, "./plot": 1020 }, + ], + 1014: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib/gup").wrap; + e.exports = function () { + return n({}); + }; + }, + { "../../lib/gup": 599 }, + ], + 1015: [ + function (t, e, r) { + "use strict"; + e.exports = { + cellPad: 8, + columnExtentOffset: 10, + columnTitleOffset: 28, + emptyHeaderHeight: 16, + latexCheck: /^\$.*\$$/, + goldenRatio: 1.618, + lineBreaker: "
      ", + maxDimensionCount: 60, + overdrag: 45, + releaseTransitionDuration: 120, + releaseTransitionEase: "cubic-out", + scrollbarCaptureWidth: 18, + scrollbarHideDelay: 1e3, + scrollbarHideDuration: 1e3, + scrollbarOffset: 5, + scrollbarWidth: 8, + transitionDuration: 100, + transitionEase: "cubic-out", + uplift: 5, + wrapSpacer: " ", + wrapSplitCharacter: " ", + cn: { + table: "table", + tableControlView: "table-control-view", + scrollBackground: "scroll-background", + yColumn: "y-column", + columnBlock: "column-block", + scrollAreaClip: "scroll-area-clip", + scrollAreaClipRect: "scroll-area-clip-rect", + columnBoundary: "column-boundary", + columnBoundaryClippath: "column-boundary-clippath", + columnBoundaryRect: "column-boundary-rect", + columnCells: "column-cells", + columnCell: "column-cell", + cellRect: "cell-rect", + cellText: "cell-text", + cellTextHolder: "cell-text-holder", + scrollbarKit: "scrollbar-kit", + scrollbar: "scrollbar", + scrollbarSlider: "scrollbar-slider", + scrollbarGlyph: "scrollbar-glyph", + scrollbarCaptureZone: "scrollbar-capture-zone", + }, + }; + }, + {}, + ], + 1016: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("../../lib/extend").extendFlat, + a = t("fast-isnumeric"); + function o(t) { + if (Array.isArray(t)) { + for (var e = 0, r = 0; r < t.length; r++) e = Math.max(e, o(t[r])); + return e; + } + return t; + } + function s(t, e) { + return t + e; + } + function l(t) { + var e, + r = t.slice(), + n = 1 / 0, + i = 0; + for (e = 0; e < r.length; e++) + (Array.isArray(r[e]) || (r[e] = [r[e]]), + (n = Math.min(n, r[e].length)), + (i = Math.max(i, r[e].length))); + if (n !== i) + for (e = 0; e < r.length; e++) { + var a = i - r[e].length; + a && (r[e] = r[e].concat(c(a))); + } + return r; + } + function c(t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = ""; + return e; + } + function u(t) { + return t.calcdata.columns.reduce(function (e, r) { + return r.xIndex < t.xIndex ? e + r.columnWidth : e; + }, 0); + } + function f(t, e) { + return Object.keys(t).map(function (r) { + return i({}, t[r], { auxiliaryBlocks: e }); + }); + } + function h(t, e) { + for ( + var r, + n = {}, + i = 0, + a = 0, + o = { firstRowIndex: null, lastRowIndex: null, rows: [] }, + s = 0, + l = 0, + c = 0; + c < t.length; + c++ + ) + ((r = t[c]), + o.rows.push({ rowIndex: c, rowHeight: r }), + ((a += r) >= e || c === t.length - 1) && + ((n[i] = o), + (o.key = l++), + (o.firstRowIndex = s), + (o.lastRowIndex = c), + (o = { firstRowIndex: null, lastRowIndex: null, rows: [] }), + (i += a), + (s = c + 1), + (a = 0))); + return n; + } + e.exports = function (t, e) { + var r = l(e.cells.values), + p = function (t) { + return t.slice(e.header.values.length, t.length); + }, + d = l(e.header.values); + d.length && !d[0].length && ((d[0] = [""]), (d = l(d))); + var g = d.concat( + p(r).map(function () { + return c((d[0] || [""]).length); + }), + ), + m = e.domain, + v = Math.floor(t._fullLayout._size.w * (m.x[1] - m.x[0])), + y = Math.floor(t._fullLayout._size.h * (m.y[1] - m.y[0])), + x = e.header.values.length + ? g[0].map(function () { + return e.header.height; + }) + : [n.emptyHeaderHeight], + b = r.length + ? r[0].map(function () { + return e.cells.height; + }) + : [], + _ = x.reduce(s, 0), + w = h(b, y - _ + n.uplift), + k = f(h(x, _), []), + M = f(w, k), + A = {}, + T = e._fullInput.columnorder.concat( + p( + r.map(function (t, e) { + return e; + }), + ), + ), + S = g.map(function (t, r) { + var n = Array.isArray(e.columnwidth) + ? e.columnwidth[Math.min(r, e.columnwidth.length - 1)] + : e.columnwidth; + return a(n) ? Number(n) : 1; + }), + C = S.reduce(s, 0); + S = S.map(function (t) { + return (t / C) * v; + }); + var E = Math.max(o(e.header.line.width), o(e.cells.line.width)), + L = { + key: e.index, + translateX: m.x[0] * t._fullLayout._size.w, + translateY: t._fullLayout._size.h * (1 - m.y[1]), + size: t._fullLayout._size, + width: v, + maxLineWidth: E, + height: y, + columnOrder: T, + groupHeight: y, + rowBlocks: M, + headerRowBlocks: k, + scrollY: 0, + cells: i({}, e.cells, { values: r }), + headerCells: i({}, e.header, { values: g }), + gdColumns: g.map(function (t) { + return t[0]; + }), + gdColumnsOriginalOrder: g.map(function (t) { + return t[0]; + }), + prevPages: [0, 0], + scrollbarState: { scrollbarScrollInProgress: !1 }, + columns: g.map(function (t, e) { + var r = A[t]; + return ( + (A[t] = (r || 0) + 1), + { + key: t + "__" + A[t], + label: t, + specIndex: e, + xIndex: T[e], + xScale: u, + x: void 0, + calcdata: void 0, + columnWidth: S[e], + } + ); + }), + }; + return ( + L.columns.forEach(function (t) { + ((t.calcdata = L), (t.x = u(t))); + }), + L + ); + }; + }, + { "../../lib/extend": 591, "./constants": 1015, "fast-isnumeric": 196 }, + ], + 1017: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib/extend").extendFlat; + ((r.splitToPanels = function (t) { + var e = [0, 0], + r = n({}, t, { + key: "header", + type: "header", + page: 0, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !0, + values: t.calcdata.headerCells.values[t.specIndex], + rowBlocks: t.calcdata.headerRowBlocks, + calcdata: n({}, t.calcdata, { cells: t.calcdata.headerCells }), + }); + return [ + n({}, t, { + key: "cells1", + type: "cells", + page: 0, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !1, + values: t.calcdata.cells.values[t.specIndex], + rowBlocks: t.calcdata.rowBlocks, + }), + n({}, t, { + key: "cells2", + type: "cells", + page: 1, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !1, + values: t.calcdata.cells.values[t.specIndex], + rowBlocks: t.calcdata.rowBlocks, + }), + r, + ]; + }), + (r.splitToCells = function (t) { + var e = (function (t) { + var e = t.rowBlocks[t.page], + r = e ? e.rows[0].rowIndex : 0, + n = e ? r + e.rows.length : 0; + return [r, n]; + })(t); + return (t.values || []).slice(e[0], e[1]).map(function (r, n) { + return { + keyWithinBlock: + n + + ("string" == typeof r && r.match(/[<$&> ]/) + ? "_keybuster_" + Math.random() + : ""), + key: e[0] + n, + column: t, + calcdata: t.calcdata, + page: t.page, + rowBlocks: t.rowBlocks, + value: r, + }; + }); + })); + }, + { "../../lib/extend": 591 }, + ], + 1018: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./attributes"), + a = t("../../plots/domain").defaults; + e.exports = function (t, e, r, o) { + function s(r, a) { + return n.coerce(t, e, i, r, a); + } + (a(e, o, s), + s("columnwidth"), + s("header.values"), + s("header.format"), + s("header.align"), + s("header.prefix"), + s("header.suffix"), + s("header.height"), + s("header.line.width"), + s("header.line.color"), + s("header.fill.color"), + n.coerceFont(s, "header.font", n.extendFlat({}, o.font)), + (function (t, e) { + for ( + var r = t.columnorder || [], + n = t.header.values.length, + i = r.slice(0, n), + a = i.slice().sort(function (t, e) { + return t - e; + }), + o = i.map(function (t) { + return a.indexOf(t); + }), + s = o.length; + s < n; + s++ + ) + o.push(s); + e("columnorder", o); + })(e, s), + s("cells.values"), + s("cells.format"), + s("cells.align"), + s("cells.prefix"), + s("cells.suffix"), + s("cells.height"), + s("cells.line.width"), + s("cells.line.color"), + s("cells.fill.color"), + n.coerceFont(s, "cells.font", n.extendFlat({}, o.font)), + (e._length = null)); + }; + }, + { "../../lib": 602, "../../plots/domain": 673, "./attributes": 1012 }, + ], + 1019: [ + function (t, e, r) { + "use strict"; + var n = {}; + ((n.attributes = t("./attributes")), + (n.supplyDefaults = t("./defaults")), + (n.calc = t("./calc")), + (n.plot = t("./plot")), + (n.moduleType = "trace"), + (n.name = "table"), + (n.basePlotModule = t("./base_plot")), + (n.categories = ["noOpacity"]), + (n.meta = {}), + (e.exports = n)); + }, + { + "./attributes": 1012, + "./base_plot": 1013, + "./calc": 1014, + "./defaults": 1018, + "./plot": 1020, + }, + ], + 1020: [ + function (t, e, r) { + "use strict"; + var n = t("./constants"), + i = t("d3"), + a = t("../../lib/gup"), + o = t("../../components/drawing"), + s = t("../../lib/svg_text_utils"), + l = t("../../lib").raiseToTop, + c = t("../../lib").cancelTransition, + u = t("./data_preparation_helper"), + f = t("./data_split_helpers"), + h = t("../../components/color"); + function p(t) { + return Math.ceil(t.calcdata.maxLineWidth / 2); + } + function d(t, e) { + return "clip" + t._fullLayout._uid + "_scrollAreaBottomClip_" + e.key; + } + function g(t, e) { + return ( + "clip" + + t._fullLayout._uid + + "_columnBoundaryClippath_" + + e.calcdata.key + + "_" + + e.specIndex + ); + } + function m(t) { + return [].concat + .apply( + [], + t.map(function (t) { + return t; + }), + ) + .map(function (t) { + return t.__data__; + }); + } + function v(t, e, r) { + var o = t.selectAll("." + n.cn.scrollbarKit).data(a.repeat, a.keyFun); + (o + .enter() + .append("g") + .classed(n.cn.scrollbarKit, !0) + .style("shape-rendering", "geometricPrecision"), + o + .each(function (t) { + var e = t.scrollbarState; + ((e.totalHeight = (function (t) { + var e = t.rowBlocks; + return ( + D(e, e.length - 1) + (e.length ? O(e[e.length - 1], 1 / 0) : 1) + ); + })(t)), + (e.scrollableAreaHeight = t.groupHeight - A(t)), + (e.currentlyVisibleHeight = Math.min( + e.totalHeight, + e.scrollableAreaHeight, + )), + (e.ratio = e.currentlyVisibleHeight / e.totalHeight), + (e.barLength = Math.max( + e.ratio * e.currentlyVisibleHeight, + n.goldenRatio * n.scrollbarWidth, + )), + (e.barWiggleRoom = e.currentlyVisibleHeight - e.barLength), + (e.wiggleRoom = Math.max( + 0, + e.totalHeight - e.scrollableAreaHeight, + )), + (e.topY = + 0 === e.barWiggleRoom + ? 0 + : (t.scrollY / e.wiggleRoom) * e.barWiggleRoom), + (e.bottomY = e.topY + e.barLength), + (e.dragMultiplier = e.wiggleRoom / e.barWiggleRoom)); + }) + .attr("transform", function (t) { + return ( + "translate(" + + (t.width + n.scrollbarWidth / 2 + n.scrollbarOffset) + + " " + + A(t) + + ")" + ); + })); + var s = o.selectAll("." + n.cn.scrollbar).data(a.repeat, a.keyFun); + s.enter().append("g").classed(n.cn.scrollbar, !0); + var l = s.selectAll("." + n.cn.scrollbarSlider).data(a.repeat, a.keyFun); + (l.enter().append("g").classed(n.cn.scrollbarSlider, !0), + l.attr("transform", function (t) { + return "translate(0 " + (t.scrollbarState.topY || 0) + ")"; + })); + var c = l.selectAll("." + n.cn.scrollbarGlyph).data(a.repeat, a.keyFun); + (c + .enter() + .append("line") + .classed(n.cn.scrollbarGlyph, !0) + .attr("stroke", "black") + .attr("stroke-width", n.scrollbarWidth) + .attr("stroke-linecap", "round") + .attr("y1", n.scrollbarWidth / 2), + c + .attr("y2", function (t) { + return t.scrollbarState.barLength - n.scrollbarWidth / 2; + }) + .attr("stroke-opacity", function (t) { + return t.columnDragInProgress || !t.scrollbarState.barWiggleRoom || r + ? 0 + : 0.4; + }), + c.transition().delay(0).duration(0), + c + .transition() + .delay(n.scrollbarHideDelay) + .duration(n.scrollbarHideDuration) + .attr("stroke-opacity", 0)); + var u = s + .selectAll("." + n.cn.scrollbarCaptureZone) + .data(a.repeat, a.keyFun); + (u + .enter() + .append("line") + .classed(n.cn.scrollbarCaptureZone, !0) + .attr("stroke", "white") + .attr("stroke-opacity", 0.01) + .attr("stroke-width", n.scrollbarCaptureWidth) + .attr("stroke-linecap", "butt") + .attr("y1", 0) + .on("mousedown", function (r) { + var n = i.event.y, + a = this.getBoundingClientRect(), + o = r.scrollbarState, + s = n - a.top, + l = i.scale + .linear() + .domain([0, o.scrollableAreaHeight]) + .range([0, o.totalHeight]) + .clamp(!0); + (o.topY <= s && s <= o.bottomY) || + S(e, t, null, l(s - o.barLength / 2))(r); + }) + .call( + i.behavior + .drag() + .origin(function (t) { + return ( + i.event.stopPropagation(), + (t.scrollbarState.scrollbarScrollInProgress = !0), + t + ); + }) + .on("drag", S(e, t)) + .on("dragend", function () {}), + ), + u.attr("y2", function (t) { + return t.scrollbarState.scrollableAreaHeight; + })); + } + function y(t, e, r, s) { + var l = (function (t) { + var e = t + .selectAll("." + n.cn.columnCell) + .data(f.splitToCells, function (t) { + return t.keyWithinBlock; + }); + return ( + e.enter().append("g").classed(n.cn.columnCell, !0), + e.exit().remove(), + e + ); + })( + (function (t) { + var e = t.selectAll("." + n.cn.columnCells).data(a.repeat, a.keyFun); + return ( + e.enter().append("g").classed(n.cn.columnCells, !0), + e.exit().remove(), + e + ); + })(r), + ); + (!(function (t) { + t.each(function (t, e) { + var r = t.calcdata.cells.font, + n = t.column.specIndex, + i = { + size: _(r.size, n, e), + color: _(r.color, n, e), + family: _(r.family, n, e), + }; + ((t.rowNumber = t.key), + (t.align = _(t.calcdata.cells.align, n, e)), + (t.cellBorderWidth = _(t.calcdata.cells.line.width, n, e)), + (t.font = i)); + }); + })(l), + (function (t) { + t.attr("width", function (t) { + return t.column.columnWidth; + }) + .attr("stroke-width", function (t) { + return t.cellBorderWidth; + }) + .each(function (t) { + var e = i.select(this); + (h.stroke( + e, + _(t.calcdata.cells.line.color, t.column.specIndex, t.rowNumber), + ), + h.fill( + e, + _(t.calcdata.cells.fill.color, t.column.specIndex, t.rowNumber), + )); + }); + })( + (function (t) { + var e = t.selectAll("." + n.cn.cellRect).data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return (e.enter().append("rect").classed(n.cn.cellRect, !0), e); + })(l), + )); + var c = (function (t) { + var e = t.selectAll("." + n.cn.cellText).data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("text") + .classed(n.cn.cellText, !0) + .style("cursor", function () { + return "auto"; + }) + .on("mousedown", function () { + i.event.stopPropagation(); + }), + e + ); + })( + (function (t) { + var e = t + .selectAll("." + n.cn.cellTextHolder) + .data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append("g") + .classed(n.cn.cellTextHolder, !0) + .style("shape-rendering", "geometricPrecision"), + e + ); + })(l), + ); + (!(function (t) { + t.each(function (t) { + o.font(i.select(this), t.font); + }); + })(c), + x(c, e, s, t), + P(l)); + } + function x(t, e, r, a) { + t.text(function (t) { + var e = t.column.specIndex, + r = t.rowNumber, + a = t.value, + o = "string" == typeof a, + s = o && a.match(/
      /i), + l = !o || s; + t.mayHaveMarkup = o && a.match(/[<&>]/); + var c, + u = "string" == typeof (c = a) && c.match(n.latexCheck); + t.latex = u; + var f, + h, + p = u ? "" : _(t.calcdata.cells.prefix, e, r) || "", + d = u ? "" : _(t.calcdata.cells.suffix, e, r) || "", + g = u ? null : _(t.calcdata.cells.format, e, r) || null, + m = p + (g ? i.format(g)(t.value) : t.value) + d; + if ( + ((t.wrappingNeeded = !t.wrapped && !l && !u && (f = b(m))), + (t.cellHeightMayIncrease = + s || u || t.mayHaveMarkup || (void 0 === f ? b(m) : f)), + (t.needsConvertToTspans = + t.mayHaveMarkup || t.wrappingNeeded || t.latex), + t.wrappingNeeded) + ) { + var v = ( + " " === n.wrapSplitCharacter + ? m.replace(/
      i && n.push(a), + (i += l)); + } + return n; + })(i, l, s); + (1 === c.length && + (c[0] === i.length - 1 ? c.unshift(c[0] - 1) : c.push(c[0] + 1)), + c[0] % 2 && c.reverse(), + e.each(function (t, e) { + ((t.page = c[e]), (t.scrollY = l)); + }), + e.attr("transform", function (t) { + return "translate(0 " + (D(t.rowBlocks, t.page) - t.scrollY) + ")"; + }), + t && + (C(t, r, e, c, n.prevPages, n, 0), + C(t, r, e, c, n.prevPages, n, 1), + v(r, t))); + } + } + function S(t, e, r, a) { + return function (o) { + var s = o.calcdata ? o.calcdata : o, + l = e.filter(function (t) { + return s.key === t.key; + }), + c = r || s.scrollbarState.dragMultiplier; + s.scrollY = void 0 === a ? s.scrollY + c * i.event.dy : a; + var u = l + .selectAll("." + n.cn.yColumn) + .selectAll("." + n.cn.columnBlock) + .filter(k); + T(t, u, l); + }; + } + function C(t, e, r, n, i, a, o) { + n[o] !== i[o] && + (clearTimeout(a.currentRepaint[o]), + (a.currentRepaint[o] = setTimeout(function () { + var a = r.filter(function (t, e) { + return e === o && n[e] !== i[e]; + }); + (y(t, e, a, r), (i[o] = n[o])); + }))); + } + function E(t, e, r) { + return function () { + var a = i.select(e.parentNode); + (a.each(function (t) { + var e = t.fragments; + a.selectAll("tspan.line").each(function (t, r) { + e[r].width = this.getComputedTextLength(); + }); + var r, + i, + o = e[e.length - 1].width, + s = e.slice(0, -1), + l = [], + c = 0, + u = t.column.columnWidth - 2 * n.cellPad; + for (t.value = ""; s.length; ) + (c + (i = (r = s.shift()).width + o) > u && + ((t.value += l.join(n.wrapSpacer) + n.lineBreaker), + (l = []), + (c = 0)), + l.push(r.text), + (c += i)); + (c && (t.value += l.join(n.wrapSpacer)), (t.wrapped = !0)); + }), + a.selectAll("tspan.line").remove(), + x(a.select("." + n.cn.cellText), r, t), + i.select(e.parentNode.parentNode).call(P)); + }; + } + function L(t, e, r, a, o) { + return function () { + if (!o.settledY) { + var s = i.select(e.parentNode), + l = R(o), + c = o.key - l.firstRowIndex, + u = l.rows[c].rowHeight, + f = o.cellHeightMayIncrease + ? e.parentNode.getBoundingClientRect().height + 2 * n.cellPad + : u, + h = Math.max(f, u); + (h - l.rows[c].rowHeight && + ((l.rows[c].rowHeight = h), + t.selectAll("." + n.cn.columnCell).call(P), + T(null, t.filter(k), 0), + v(r, a, !0)), + s.attr("transform", function () { + var t = this.parentNode.getBoundingClientRect(), + e = i + .select(this.parentNode) + .select("." + n.cn.cellRect) + .node() + .getBoundingClientRect(), + r = this.transform.baseVal.consolidate(), + a = e.top - t.top + (r ? r.matrix.f : n.cellPad); + return ( + "translate(" + + z( + o, + i + .select(this.parentNode) + .select("." + n.cn.cellTextHolder) + .node() + .getBoundingClientRect().width, + ) + + " " + + a + + ")" + ); + }), + (o.settledY = !0)); + } + }; + } + function z(t, e) { + switch (t.align) { + case "left": + return n.cellPad; + case "right": + return t.column.columnWidth - (e || 0) - n.cellPad; + case "center": + return (t.column.columnWidth - (e || 0)) / 2; + default: + return n.cellPad; + } + } + function P(t) { + t.attr("transform", function (t) { + var e = t.rowBlocks[0].auxiliaryBlocks.reduce(function (t, e) { + return t + O(e, 1 / 0); + }, 0); + return "translate(0 " + (O(R(t), t.key) + e) + ")"; + }) + .selectAll("." + n.cn.cellRect) + .attr("height", function (t) { + return ((e = R(t)), (r = t.key), e.rows[r - e.firstRowIndex]).rowHeight; + var e, r; + }); + } + function D(t, e) { + for (var r = 0, n = e - 1; n >= 0; n--) r += I(t[n]); + return r; + } + function O(t, e) { + for (var r = 0, n = 0; n < t.rows.length && t.rows[n].rowIndex < e; n++) + r += t.rows[n].rowHeight; + return r; + } + function I(t) { + var e = t.allRowsHeight; + if (void 0 !== e) return e; + for (var r = 0, n = 0; n < t.rows.length; n++) r += t.rows[n].rowHeight; + return ((t.allRowsHeight = r), r); + } + function R(t) { + return t.rowBlocks[t.page]; + } + e.exports = function (t, e) { + var r = t._fullLayout._paper.selectAll("." + n.cn.table).data( + e.map(function (e) { + var r = a.unwrap(e).trace; + return u(t, r); + }), + a.keyFun, + ); + (r.exit().remove(), + r + .enter() + .append("g") + .classed(n.cn.table, !0) + .attr("overflow", "visible") + .style("box-sizing", "content-box") + .style("position", "absolute") + .style("left", 0) + .style("overflow", "visible") + .style("shape-rendering", "crispEdges") + .style("pointer-events", "all"), + r + .attr("width", function (t) { + return t.width + t.size.l + t.size.r; + }) + .attr("height", function (t) { + return t.height + t.size.t + t.size.b; + }) + .attr("transform", function (t) { + return "translate(" + t.translateX + "," + t.translateY + ")"; + })); + var s = r.selectAll("." + n.cn.tableControlView).data(a.repeat, a.keyFun); + (s + .enter() + .append("g") + .classed(n.cn.tableControlView, !0) + .style("box-sizing", "content-box") + .on("mousemove", function (e) { + s.filter(function (t) { + return e === t; + }).call(v, t); + }) + .on("mousewheel", function (e) { + e.scrollbarState.wheeling || + ((e.scrollbarState.wheeling = !0), + i.event.stopPropagation(), + i.event.preventDefault(), + S(t, s, null, e.scrollY + i.event.deltaY)(e), + (e.scrollbarState.wheeling = !1)); + }) + .call(v, t, !0), + s.attr("transform", function (t) { + return "translate(" + t.size.l + " " + t.size.t + ")"; + })); + var h = s.selectAll("." + n.cn.scrollBackground).data(a.repeat, a.keyFun); + (h + .enter() + .append("rect") + .classed(n.cn.scrollBackground, !0) + .attr("fill", "none"), + h + .attr("width", function (t) { + return t.width; + }) + .attr("height", function (t) { + return t.height; + }), + s.each(function (e) { + o.setClipUrl(i.select(this), d(t, e)); + })); + var x = s.selectAll("." + n.cn.yColumn).data(function (t) { + return t.columns; + }, a.keyFun); + (x.enter().append("g").classed(n.cn.yColumn, !0), + x.exit().remove(), + x + .attr("transform", function (t) { + return "translate(" + t.x + " 0)"; + }) + .call( + i.behavior + .drag() + .origin(function (e) { + return ( + w(i.select(this), e, -n.uplift), + l(this), + (e.calcdata.columnDragInProgress = !0), + v( + s.filter(function (t) { + return e.calcdata.key === t.key; + }), + t, + ), + e + ); + }) + .on("drag", function (t) { + var e = i.select(this), + r = function (e) { + return (t === e ? i.event.x : e.x) + e.columnWidth / 2; + }; + ((t.x = Math.max( + -n.overdrag, + Math.min( + t.calcdata.width + n.overdrag - t.columnWidth, + i.event.x, + ), + )), + m(x) + .filter(function (e) { + return e.calcdata.key === t.calcdata.key; + }) + .sort(function (t, e) { + return r(t) - r(e); + }) + .forEach(function (e, r) { + ((e.xIndex = r), (e.x = t === e ? e.x : e.xScale(e))); + }), + x + .filter(function (e) { + return t !== e; + }) + .transition() + .ease(n.transitionEase) + .duration(n.transitionDuration) + .attr("transform", function (t) { + return "translate(" + t.x + " 0)"; + }), + e + .call(c) + .attr( + "transform", + "translate(" + t.x + " -" + n.uplift + " )", + )); + }) + .on("dragend", function (e) { + var r = i.select(this), + n = e.calcdata; + ((e.x = e.xScale(e)), + (e.calcdata.columnDragInProgress = !1), + w(r, e, 0), + (function (t, e, r) { + var n = e.gdColumnsOriginalOrder; + (e.gdColumns.sort(function (t, e) { + return r[n.indexOf(t)] - r[n.indexOf(e)]; + }), + (e.columnorder = r), + t.emit("plotly_restyle")); + })( + t, + n, + n.columns.map(function (t) { + return t.xIndex; + }), + )); + }), + ), + x.each(function (e) { + o.setClipUrl(i.select(this), g(t, e)); + })); + var b = x.selectAll("." + n.cn.columnBlock).data(f.splitToPanels, a.keyFun); + (b + .enter() + .append("g") + .classed(n.cn.columnBlock, !0) + .attr("id", function (t) { + return t.key; + }), + b.style("cursor", function (t) { + return t.dragHandle + ? "ew-resize" + : t.calcdata.scrollbarState.barWiggleRoom + ? "ns-resize" + : "default"; + })); + var _ = b.filter(M), + A = b.filter(k); + (A.call( + i.behavior + .drag() + .origin(function (t) { + return (i.event.stopPropagation(), t); + }) + .on("drag", S(t, s, -1)) + .on("dragend", function () {}), + ), + y(t, s, _, b), + y(t, s, A, b)); + var C = s.selectAll("." + n.cn.scrollAreaClip).data(a.repeat, a.keyFun); + C.enter() + .append("clipPath") + .classed(n.cn.scrollAreaClip, !0) + .attr("id", function (e) { + return d(t, e); + }); + var E = C.selectAll("." + n.cn.scrollAreaClipRect).data(a.repeat, a.keyFun); + (E.enter() + .append("rect") + .classed(n.cn.scrollAreaClipRect, !0) + .attr("x", -n.overdrag) + .attr("y", -n.uplift) + .attr("fill", "none"), + E.attr("width", function (t) { + return t.width + 2 * n.overdrag; + }).attr("height", function (t) { + return t.height + n.uplift; + }), + x + .selectAll("." + n.cn.columnBoundary) + .data(a.repeat, a.keyFun) + .enter() + .append("g") + .classed(n.cn.columnBoundary, !0)); + var L = x + .selectAll("." + n.cn.columnBoundaryClippath) + .data(a.repeat, a.keyFun); + (L.enter().append("clipPath").classed(n.cn.columnBoundaryClippath, !0), + L.attr("id", function (e) { + return g(t, e); + })); + var z = L.selectAll("." + n.cn.columnBoundaryRect).data(a.repeat, a.keyFun); + (z + .enter() + .append("rect") + .classed(n.cn.columnBoundaryRect, !0) + .attr("fill", "none"), + z + .attr("width", function (t) { + return t.columnWidth + 2 * p(t); + }) + .attr("height", function (t) { + return t.calcdata.height + 2 * p(t) + n.uplift; + }) + .attr("x", function (t) { + return -p(t); + }) + .attr("y", function (t) { + return -p(t); + }), + T(null, A, s)); + }; + }, + { + "../../components/color": 474, + "../../components/drawing": 499, + "../../lib": 602, + "../../lib/gup": 599, + "../../lib/svg_text_utils": 626, + "./constants": 1015, + "./data_preparation_helper": 1016, + "./data_split_helpers": 1017, + d3: 130, + }, + ], + 1021: [ + function (t, e, r) { + "use strict"; + var n = t("../box/attributes"), + i = t("../../lib/extend").extendFlat; + e.exports = { + y: n.y, + x: n.x, + x0: n.x0, + y0: n.y0, + name: n.name, + orientation: i({}, n.orientation, {}), + bandwidth: { valType: "number", min: 0, editType: "calc" }, + scalegroup: { valType: "string", dflt: "", editType: "calc" }, + scalemode: { + valType: "enumerated", + values: ["width", "count"], + dflt: "width", + editType: "calc", + }, + spanmode: { + valType: "enumerated", + values: ["soft", "hard", "manual"], + dflt: "soft", + editType: "calc", + }, + span: { + valType: "info_array", + items: [ + { valType: "any", editType: "calc" }, + { valType: "any", editType: "calc" }, + ], + editType: "calc", + }, + line: { + color: { valType: "color", editType: "style" }, + width: { valType: "number", min: 0, dflt: 2, editType: "style" }, + editType: "plot", + }, + fillcolor: n.fillcolor, + points: i({}, n.boxpoints, {}), + jitter: i({}, n.jitter, {}), + pointpos: i({}, n.pointpos, {}), + marker: n.marker, + text: n.text, + box: { + visible: { valType: "boolean", dflt: !1, editType: "plot" }, + width: { + valType: "number", + min: 0, + max: 1, + dflt: 0.25, + editType: "plot", + }, + fillcolor: { valType: "color", editType: "style" }, + line: { + color: { valType: "color", editType: "style" }, + width: { valType: "number", min: 0, editType: "style" }, + editType: "style", + }, + editType: "plot", + }, + meanline: { + visible: { valType: "boolean", dflt: !1, editType: "plot" }, + color: { valType: "color", editType: "style" }, + width: { valType: "number", min: 0, editType: "style" }, + editType: "plot", + }, + side: { + valType: "enumerated", + values: ["both", "positive", "negative"], + dflt: "both", + editType: "plot", + }, + selected: n.selected, + unselected: n.unselected, + hoveron: { + valType: "flaglist", + flags: ["violins", "points", "kde"], + dflt: "violins+points+kde", + extras: ["all"], + editType: "style", + }, + }; + }, + { "../../lib/extend": 591, "../box/attributes": 755 }, + ], + 1022: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../box/calc"), + o = t("./helpers"), + s = t("../../constants/numerical").BADNUM; + function l(t, e, r) { + return 1.059 * Math.min(e, r / 1.349) * Math.pow(t.length, -0.2); + } + function c(t, e, r, n) { + var a, + o = t.spanmode, + l = t.span || [], + c = [e.min, e.max], + u = [e.min - 2 * n, e.max + 2 * n]; + function f(n) { + var i = l[n], + a = r.d2c(i, 0, t[e.valLetter + "calendar"]); + return a === s ? u[n] : a; + } + var h = { + type: "linear", + range: (a = "soft" === o ? u : "hard" === o ? c : [f(0), f(1)]), + }; + return (i.setConvert(h), h.cleanRange(), a); + } + e.exports = function (t, e) { + var r = a(t, e); + if (r[0].t.empty) return r; + var s = t._fullLayout, + u = i.getFromId(t, e["h" === e.orientation ? "xaxis" : "yaxis"]), + f = s._violinScaleGroupStats, + h = e.scalegroup, + p = f[h]; + p || (p = f[h] = { maxWidth: 0, maxCount: 0 }); + for (var d = 0; d < r.length; d++) { + var g = r[d], + m = g.pts.map(o.extractVal), + v = m.length, + y = l(m, n.stdev(m, v - 1, g.mean), g.q3 - g.q1), + x = (g.bandwidth = e.bandwidth || y), + b = (g.span = c(e, g, u, x)), + _ = b[1] - b[0], + w = Math.ceil(_ / (Math.min(y, x) / 3)), + k = _ / w; + if (!isFinite(k) || !isFinite(w)) + return ( + n.error("Something went wrong with computing the violin span"), + (r[0].t.empty = !0), + r + ); + var M = o.makeKDE(g, e, m); + g.density = new Array(w); + for (var A = 0, T = b[0]; T < b[1] + k / 2; A++, T += k) { + var S = M(T); + ((p.maxWidth = Math.max(p.maxWidth, S)), + (g.density[A] = { v: S, t: T })); + } + (i.expand(u, b, { padded: !0 }), + (p.maxCount = Math.max(p.maxCount, m.length))); + } + return ((r[0].t.labels.kde = n._(t, "kde:")), r); + }; + }, + { + "../../constants/numerical": 579, + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../box/calc": 756, + "./helpers": 1024, + }, + ], + 1023: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../components/color"), + a = t("../box/defaults"), + o = t("./attributes"); + e.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + function c(r, i) { + return n.coerce2(t, e, o, r, i); + } + if ((a.handleSampleDefaults(t, e, l, s), !1 !== e.visible)) { + (l("bandwidth"), l("scalegroup", e.name), l("scalemode"), l("side")); + var u, + f = l("span"); + (Array.isArray(f) && (u = "manual"), l("spanmode", u)); + var h = l("line.color", (t.marker || {}).color || r), + p = l("line.width"), + d = l("fillcolor", i.addOpacity(e.line.color, 0.5)); + a.handlePointsDefaults(t, e, l, { prefix: "" }); + var g = c("box.width"), + m = c("box.fillcolor", d), + v = c("box.line.color", h), + y = c("box.line.width", p); + l("box.visible", Boolean(g || m || v || y)) || delete e.box; + var x = c("meanline.color", h), + b = c("meanline.width", p); + l("meanline.visible", Boolean(x || b)) || delete e.meanline; + } + }; + }, + { + "../../components/color": 474, + "../../lib": 602, + "../box/defaults": 757, + "./attributes": 1021, + }, + ], + 1024: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = function (t) { + return (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * t * t); + }; + ((r.makeKDE = function (t, e, r) { + var n = r.length, + a = i, + o = t.bandwidth, + s = 1 / (n * o); + return function (t) { + for (var e = 0, i = 0; i < n; i++) e += a((t - r[i]) / o); + return s * e; + }; + }), + (r.getPositionOnKdePath = function (t, e, r) { + var i, a; + "h" === e.orientation ? ((i = "y"), (a = "x")) : ((i = "x"), (a = "y")); + var o = n.findPointOnPath(t.path, r, a, { pathLength: t.pathLength }), + s = t.posCenterPx, + l = o[i]; + return [l, "both" === e.side ? 2 * s - l : s]; + }), + (r.getKdeValue = function (t, e, n) { + var i = t.pts.map(r.extractVal); + return r.makeKDE(t, e, i)(n) / t.posDensityScale; + }), + (r.extractVal = function (t) { + return t.v; + })); + }, + { "../../lib": 602 }, + ], + 1025: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("../../plots/cartesian/axes"), + a = t("../box/hover"), + o = t("./helpers"); + e.exports = function (t, e, r, s, l) { + var c, + u, + f = t.cd, + h = f[0].trace, + p = h.hoveron, + d = -1 !== p.indexOf("violins"), + g = -1 !== p.indexOf("kde"), + m = []; + if (d || g) { + var v = a.hoverOnBoxes(t, e, r, s); + if ((d && (m = m.concat(v)), g && v.length > 0)) { + var y, + x, + b, + _, + w, + k = t.xa, + M = t.ya; + "h" === h.orientation + ? ((w = e), (y = "y"), (b = M), (x = "x"), (_ = k)) + : ((w = r), (y = "x"), (b = k), (x = "y"), (_ = M)); + var A = f[t.index]; + if (w >= A.span[0] && w <= A.span[1]) { + var T = n.extendFlat({}, t), + S = _.c2p(w, !0), + C = o.getKdeValue(A, h, w), + E = o.getPositionOnKdePath(A, h, S), + L = b._offset, + z = b._length; + ((T[y + "0"] = E[0]), + (T[y + "1"] = E[1]), + (T[x + "0"] = T[x + "1"] = S), + (T[x + "Label"] = + x + + ": " + + i.hoverLabelText(_, w) + + ", " + + f[0].t.labels.kde + + " " + + C.toFixed(3)), + (T.spikeDistance = v[0].spikeDistance)); + var P = y + "Spike"; + ((T[P] = v[0][P]), + (v[0].spikeDistance = void 0), + (v[0][P] = void 0), + m.push(T), + ((u = { stroke: t.color })[y + "1"] = n.constrain( + L + E[0], + L, + L + z, + )), + (u[y + "2"] = n.constrain(L + E[1], L, L + z)), + (u[x + "1"] = u[x + "2"] = _._offset + S)); + } + } + } + -1 !== p.indexOf("points") && (c = a.hoverOnPoints(t, e, r)); + var D = l.selectAll(".violinline-" + h.uid).data(u ? [0] : []); + return ( + D.enter() + .append("line") + .classed("violinline-" + h.uid, !0) + .attr("stroke-width", 1.5), + D.exit().remove(), + D.attr(u), + "closest" === s ? (c ? [c] : m) : c ? (m.push(c), m) : m + ); + }; + }, + { + "../../lib": 602, + "../../plots/cartesian/axes": 648, + "../box/hover": 758, + "./helpers": 1024, + }, + ], + 1026: [ + function (t, e, r) { + "use strict"; + e.exports = { + attributes: t("./attributes"), + layoutAttributes: t("./layout_attributes"), + supplyDefaults: t("./defaults"), + supplyLayoutDefaults: t("./layout_defaults"), + calc: t("./calc"), + setPositions: t("./set_positions"), + plot: t("./plot"), + style: t("./style"), + styleOnSelect: t("../scatter/style").styleOnSelect, + hoverPoints: t("./hover"), + selectPoints: t("../box/select"), + moduleType: "trace", + name: "violin", + basePlotModule: t("../../plots/cartesian"), + categories: [ + "cartesian", + "svg", + "symbols", + "oriented", + "box-violin", + "showLegend", + "draggedPts", + "violinLayout", + ], + meta: {}, + }; + }, + { + "../../plots/cartesian": 659, + "../box/select": 763, + "../scatter/style": 947, + "./attributes": 1021, + "./calc": 1022, + "./defaults": 1023, + "./hover": 1025, + "./layout_attributes": 1027, + "./layout_defaults": 1028, + "./plot": 1029, + "./set_positions": 1030, + "./style": 1031, + }, + ], + 1027: [ + function (t, e, r) { + "use strict"; + var n = t("../box/layout_attributes"), + i = t("../../lib").extendFlat; + e.exports = { + violinmode: i({}, n.boxmode, {}), + violingap: i({}, n.boxgap, {}), + violingroupgap: i({}, n.boxgroupgap, {}), + }; + }, + { "../../lib": 602, "../box/layout_attributes": 760 }, + ], + 1028: [ + function (t, e, r) { + "use strict"; + var n = t("../../lib"), + i = t("./layout_attributes"), + a = t("../box/layout_defaults"); + e.exports = function (t, e, r) { + a._supply( + t, + e, + r, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + "violin", + ); + }; + }, + { + "../../lib": 602, + "../box/layout_defaults": 761, + "./layout_attributes": 1027, + }, + ], + 1029: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../lib"), + a = t("../../components/drawing"), + o = t("../box/plot"), + s = t("../scatter/line_points"), + l = t("./helpers"); + e.exports = function (t, e, r, c) { + var u = t._fullLayout, + f = e.xaxis, + h = e.yaxis; + function p(t) { + var e = s(t, { + xaxis: f, + yaxis: h, + connectGaps: !0, + baseTolerance: 0.75, + shape: "spline", + simplify: !0, + }); + return a.smoothopen(e[0], 1); + } + var d = c.selectAll("g.trace.violins").data(r, function (t) { + return t[0].trace.uid; + }); + (d.enter().append("g").attr("class", "trace violins"), + d.exit().remove(), + d.order(), + d.each(function (t) { + var r = t[0], + a = r.t, + s = r.trace, + c = n.select(this); + e.isRangePlot || (r.node3 = c); + var d = u._numViolins, + g = "group" === u.violinmode && d > 1, + m = 1 - u.violingap, + v = (a.bdPos = (a.dPos * m * (1 - u.violingroupgap)) / (g ? d : 1)), + y = (a.bPos = g ? 2 * a.dPos * ((a.num + 0.5) / d - 0.5) * m : 0); + if ( + ((a.wHover = a.dPos * (g ? m / d : 1)), !0 !== s.visible || a.empty) + ) + n.select(this).remove(); + else { + var x = e[a.valLetter + "axis"], + b = e[a.posLetter + "axis"], + _ = "both" === s.side, + w = _ || "positive" === s.side, + k = _ || "negative" === s.side, + M = s.box && s.box.visible, + A = s.meanline && s.meanline.visible, + T = u._violinScaleGroupStats[s.scalegroup], + S = c.selectAll("path.violin").data(i.identity); + if ( + (S.enter() + .append("path") + .style("vector-effect", "non-scaling-stroke") + .attr("class", "violin"), + S.exit().remove(), + S.each(function (t) { + var e, + r, + i, + o, + l, + c, + u, + f, + h = n.select(this), + d = t.density, + g = d.length, + m = t.pos + y, + M = b.c2p(m); + switch (s.scalemode) { + case "width": + e = T.maxWidth / v; + break; + case "count": + e = (T.maxWidth / v) * (T.maxCount / t.pts.length); + } + if (w) { + for (u = new Array(g), l = 0; l < g; l++) + (((f = u[l] = {})[a.posLetter] = m + d[l].v / e), + (f[a.valLetter] = d[l].t)); + r = p(u); + } + if (k) { + for (u = new Array(g), c = 0, l = g - 1; c < g; c++, l--) + (((f = u[c] = {})[a.posLetter] = m - d[l].v / e), + (f[a.valLetter] = d[l].t)); + i = p(u); + } + if (_) o = r + "L" + i.substr(1) + "Z"; + else { + var A = [M, x.c2p(d[0].t)], + S = [M, x.c2p(d[g - 1].t)]; + ("h" === s.orientation && (A.reverse(), S.reverse()), + (o = w + ? "M" + A + "L" + r.substr(1) + "L" + S + : "M" + S + "L" + i.substr(1) + "L" + A)); + } + (h.attr("d", o), + (t.posCenterPx = M), + (t.posDensityScale = e * v), + (t.path = h.node()), + (t.pathLength = t.path.getTotalLength() / (_ ? 2 : 1))); + }), + M) + ) { + var C, + E, + L = s.box.width, + z = s.box.line.width; + (_ + ? ((C = v * L), (E = 0)) + : w + ? ((C = [0, (v * L) / 2]), (E = -z)) + : ((C = [(v * L) / 2, 0]), (E = z)), + o.plotBoxAndWhiskers(c, { pos: b, val: x }, s, { + bPos: y, + bdPos: C, + bPosPxOffset: E, + }), + A && + o.plotBoxMean(c, { pos: b, val: x }, s, { + bPos: y, + bdPos: C, + bPosPxOffset: E, + })); + } else if (A) { + var P = c.selectAll("path.mean").data(i.identity); + (P.enter() + .append("path") + .attr("class", "mean") + .style({ fill: "none", "vector-effect": "non-scaling-stroke" }), + P.exit().remove(), + P.each(function (t) { + var e = x.c2p(t.mean, !0), + r = l.getPositionOnKdePath(t, s, e); + n.select(this).attr( + "d", + "h" === s.orientation + ? "M" + e + "," + r[0] + "V" + r[1] + : "M" + r[0] + "," + e + "H" + r[1], + ); + })); + } + s.points && o.plotPoints(c, { x: f, y: h }, s, a); + } + })); + }; + }, + { + "../../components/drawing": 499, + "../../lib": 602, + "../box/plot": 762, + "../scatter/line_points": 940, + "./helpers": 1024, + d3: 130, + }, + ], + 1030: [ + function (t, e, r) { + "use strict"; + var n = t("../box/set_positions").setPositionOffset, + i = ["v", "h"]; + e.exports = function (t, e) { + for ( + var r = t.calcdata, a = e.xaxis, o = e.yaxis, s = 0; + s < i.length; + s++ + ) { + for ( + var l = i[s], c = "h" === l ? o : a, u = [], f = 0, h = 0, p = 0; + p < r.length; + p++ + ) { + var d = r[p], + g = d[0].t, + m = d[0].trace; + !0 !== m.visible || + "violin" !== m.type || + g.empty || + m.orientation !== l || + m.xaxis !== a._id || + m.yaxis !== o._id || + (u.push(p), + !1 !== m.points && + ((f = Math.max(f, m.jitter - m.pointpos - 1)), + (h = Math.max(h, m.jitter + m.pointpos - 1)))); + } + n("violin", t, u, c, [f, h]); + } + }; + }, + { "../box/set_positions": 764 }, + ], + 1031: [ + function (t, e, r) { + "use strict"; + var n = t("d3"), + i = t("../../components/color"), + a = t("../scatter/style").stylePoints; + e.exports = function (t, e) { + var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.violins"); + (r.style("opacity", function (t) { + return t[0].trace.opacity; + }), + r.each(function (e) { + var r = e[0].trace, + o = n.select(this), + s = r.box || {}, + l = s.line || {}, + c = r.meanline || {}, + u = c.width; + (o + .selectAll("path.violin") + .style("stroke-width", r.line.width + "px") + .call(i.stroke, r.line.color) + .call(i.fill, r.fillcolor), + o + .selectAll("path.box") + .style("stroke-width", l.width + "px") + .call(i.stroke, l.color) + .call(i.fill, s.fillcolor), + o + .selectAll("path.mean") + .style({ + "stroke-width": u + "px", + "stroke-dasharray": 2 * u + "px," + u + "px", + }) + .call(i.stroke, c.color), + a(o, r, t)); + })); + }; + }, + { "../../components/color": 474, "../scatter/style": 947, d3: 130 }, + ], + 1032: [ + function (t, e, r) { + "use strict"; + var n = t("../plots/cartesian/axes"), + i = t("../lib"), + a = t("../plot_api/plot_schema"), + o = t("./helpers").pointsAccessorFunction, + s = t("../constants/numerical").BADNUM; + ((r.moduleType = "transform"), (r.name = "aggregate")); + var l = (r.attributes = { + enabled: { valType: "boolean", dflt: !0, editType: "calc" }, + groups: { + valType: "string", + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: "x", + editType: "calc", + }, + aggregations: { + _isLinkedToArray: "aggregation", + target: { valType: "string", editType: "calc" }, + func: { + valType: "enumerated", + values: [ + "count", + "sum", + "avg", + "median", + "mode", + "rms", + "stddev", + "min", + "max", + "first", + "last", + ], + dflt: "first", + editType: "calc", + }, + funcmode: { + valType: "enumerated", + values: ["sample", "population"], + dflt: "sample", + editType: "calc", + }, + enabled: { valType: "boolean", dflt: !0, editType: "calc" }, + editType: "calc", + }, + editType: "calc", + }), + c = l.aggregations; + function u(t, e, r, a) { + if (a.enabled) { + for ( + var o = a.target, + l = i.nestedProperty(e, o), + c = l.get(), + u = (function (t, e) { + var r = t.func, + n = e.d2c, + i = e.c2d; + switch (r) { + case "count": + return f; + case "first": + return h; + case "last": + return p; + case "sum": + return function (t, e) { + for (var r = 0, a = 0; a < e.length; a++) { + var o = n(t[e[a]]); + o !== s && (r += o); + } + return i(r); + }; + case "avg": + return function (t, e) { + for (var r = 0, a = 0, o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && ((r += l), a++); + } + return a ? i(r / a) : s; + }; + case "min": + return function (t, e) { + for (var r = 1 / 0, a = 0; a < e.length; a++) { + var o = n(t[e[a]]); + o !== s && (r = Math.min(r, o)); + } + return r === 1 / 0 ? s : i(r); + }; + case "max": + return function (t, e) { + for (var r = -1 / 0, a = 0; a < e.length; a++) { + var o = n(t[e[a]]); + o !== s && (r = Math.max(r, o)); + } + return r === -1 / 0 ? s : i(r); + }; + case "median": + return function (t, e) { + for (var r = [], a = 0; a < e.length; a++) { + var o = n(t[e[a]]); + o !== s && r.push(o); + } + if (!r.length) return s; + r.sort(); + var l = (r.length - 1) / 2; + return i((r[Math.floor(l)] + r[Math.ceil(l)]) / 2); + }; + case "mode": + return function (t, e) { + for (var r = {}, a = 0, o = s, l = 0; l < e.length; l++) { + var c = n(t[e[l]]); + if (c !== s) { + var u = (r[c] = (r[c] || 0) + 1); + u > a && ((a = u), (o = c)); + } + } + return a ? i(o) : s; + }; + case "rms": + return function (t, e) { + for (var r = 0, a = 0, o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && ((r += l * l), a++); + } + return a ? i(Math.sqrt(r / a)) : s; + }; + case "stddev": + return function (e, r) { + var i, + a = 0, + o = 0, + l = 1, + c = s; + for (i = 0; i < r.length && c === s; i++) c = n(e[r[i]]); + if (c === s) return s; + for (; i < r.length; i++) { + var u = n(e[r[i]]); + if (u !== s) { + var f = u - c; + ((a += f), (o += f * f), l++); + } + } + var h = "sample" === t.funcmode ? l - 1 : l; + return h ? Math.sqrt((o - (a * a) / l) / h) : 0; + }; + } + })(a, n.getDataConversions(t, e, o, c)), + d = new Array(r.length), + g = 0; + g < r.length; + g++ + ) + d[g] = u(c, r[g]); + (l.set(d), "count" === a.func && i.pushUnique(e._arrayAttrs, o)); + } + } + function f(t, e) { + return e.length; + } + function h(t, e) { + return t[e[0]]; + } + function p(t, e) { + return t[e[e.length - 1]]; + } + ((r.supplyDefaults = function (t, e) { + var r, + n = {}; + function o(e, r) { + return i.coerce(t, n, l, e, r); + } + if (!o("enabled")) return n; + var s = a.findArrayAttributes(e), + u = {}; + for (r = 0; r < s.length; r++) u[s[r]] = 1; + var f = o("groups"); + if (!Array.isArray(f)) { + if (!u[f]) return void (n.enabled = !1); + u[f] = 0; + } + var h, + p = t.aggregations || [], + d = (n.aggregations = new Array(p.length)); + function g(t, e) { + return i.coerce(p[r], h, c, t, e); + } + for (r = 0; r < p.length; r++) { + h = { _index: r }; + var m = g("target"), + v = g("func"); + g("enabled") && m && (u[m] || ("count" === v && void 0 === u[m])) + ? ("stddev" === v && g("funcmode"), (u[m] = 0), (d[r] = h)) + : (d[r] = { enabled: !1, _index: r }); + } + for (r = 0; r < s.length; r++) + u[s[r]] && + d.push({ target: s[r], func: c.func.dflt, enabled: !0, _index: -1 }); + return n; + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var n = r.groups, + a = i.getTargetArray(e, { target: n }); + if (a) { + var s, + l, + c, + f, + h = {}, + p = {}, + d = [], + g = o(e.transforms, r), + m = a.length; + for (e._length && (m = Math.min(m, e._length)), s = 0; s < m; s++) + void 0 === (c = h[(l = a[s])]) + ? ((h[l] = d.length), (f = [s]), d.push(f), (p[h[l]] = g(s))) + : (d[c].push(s), (p[h[l]] = (p[h[l]] || []).concat(g(s)))); + r._indexToPoints = p; + var v = r.aggregations; + for (s = 0; s < v.length; s++) u(t, e, d, v[s]); + ("string" == typeof n && + u(t, e, d, { target: n, func: "first", enabled: !0 }), + (e._length = d.length)); + } + } + })); + }, + { + "../constants/numerical": 579, + "../lib": 602, + "../plot_api/plot_schema": 639, + "../plots/cartesian/axes": 648, + "./helpers": 1035, + }, + ], + 1033: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("../registry"), + a = t("../plots/cartesian/axes"), + o = t("./helpers").pointsAccessorFunction, + s = t("../constants/filter_ops"), + l = s.COMPARISON_OPS, + c = s.INTERVAL_OPS, + u = s.SET_OPS; + ((r.moduleType = "transform"), + (r.name = "filter"), + (r.attributes = { + enabled: { valType: "boolean", dflt: !0, editType: "calc" }, + target: { + valType: "string", + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: "x", + editType: "calc", + }, + operation: { + valType: "enumerated", + values: [].concat(l).concat(c).concat(u), + dflt: "=", + editType: "calc", + }, + value: { valType: "any", dflt: 0, editType: "calc" }, + preservegaps: { valType: "boolean", dflt: !1, editType: "calc" }, + editType: "calc", + }), + (r.supplyDefaults = function (t) { + var e = {}; + function a(i, a) { + return n.coerce(t, e, r.attributes, i, a); + } + if (a("enabled")) { + (a("preservegaps"), a("operation"), a("value"), a("target")); + var o = i.getComponentMethod("calendars", "handleDefaults"); + (o(t, e, "valuecalendar", null), o(t, e, "targetcalendar", null)); + } + return e; + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var i = n.getTargetArray(e, r); + if (i) { + var s = r.target, + f = i.length; + e._length && (f = Math.min(f, e._length)); + var h = r.targetcalendar, + p = e._arrayAttrs, + d = r.preservegaps; + if ("string" == typeof s) { + var g = n.nestedProperty(e, s + "calendar").get(); + g && (h = g); + } + var m, + v, + y = (function (t, e, r) { + var n = t.operation, + i = t.value, + a = Array.isArray(i); + function o(t) { + return -1 !== t.indexOf(n); + } + var s, + f = function (r) { + return e(r, 0, t.valuecalendar); + }, + h = function (t) { + return e(t, 0, r); + }; + o(l) + ? (s = f(a ? i[0] : i)) + : o(c) + ? (s = a ? [f(i[0]), f(i[1])] : [f(i), f(i)]) + : o(u) && (s = a ? i.map(f) : [f(i)]); + switch (n) { + case "=": + return function (t) { + return h(t) === s; + }; + case "!=": + return function (t) { + return h(t) !== s; + }; + case "<": + return function (t) { + return h(t) < s; + }; + case "<=": + return function (t) { + return h(t) <= s; + }; + case ">": + return function (t) { + return h(t) > s; + }; + case ">=": + return function (t) { + return h(t) >= s; + }; + case "[]": + return function (t) { + var e = h(t); + return e >= s[0] && e <= s[1]; + }; + case "()": + return function (t) { + var e = h(t); + return e > s[0] && e < s[1]; + }; + case "[)": + return function (t) { + var e = h(t); + return e >= s[0] && e < s[1]; + }; + case "(]": + return function (t) { + var e = h(t); + return e > s[0] && e <= s[1]; + }; + case "][": + return function (t) { + var e = h(t); + return e <= s[0] || e >= s[1]; + }; + case ")(": + return function (t) { + var e = h(t); + return e < s[0] || e > s[1]; + }; + case "](": + return function (t) { + var e = h(t); + return e <= s[0] || e > s[1]; + }; + case ")[": + return function (t) { + var e = h(t); + return e < s[0] || e >= s[1]; + }; + case "{}": + return function (t) { + return -1 !== s.indexOf(h(t)); + }; + case "}{": + return function (t) { + return -1 === s.indexOf(h(t)); + }; + } + })(r, a.getDataToCoordFunc(t, e, s, i), h), + x = {}, + b = {}, + _ = 0; + (d + ? ((m = function (t) { + ((x[t.astr] = n.extendDeep([], t.get())), t.set(new Array(f))); + }), + (v = function (t, e) { + var r = x[t.astr][e]; + t.get()[e] = r; + })) + : ((m = function (t) { + ((x[t.astr] = n.extendDeep([], t.get())), t.set([])); + }), + (v = function (t, e) { + var r = x[t.astr][e]; + t.get().push(r); + })), + M(m)); + for (var w = o(e.transforms, r), k = 0; k < f; k++) { + y(i[k]) ? (M(v, k), (b[_++] = w(k))) : d && _++; + } + ((r._indexToPoints = b), (e._length = _)); + } + } + function M(t, r) { + for (var i = 0; i < p.length; i++) { + t(n.nestedProperty(e, p[i]), r); + } + } + })); + }, + { + "../constants/filter_ops": 575, + "../lib": 602, + "../plots/cartesian/axes": 648, + "../registry": 732, + "./helpers": 1035, + }, + ], + 1034: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("../plot_api/plot_schema"), + a = t("../plots/plots"), + o = t("./helpers").pointsAccessorFunction; + function s(t, e) { + var r, + s, + c, + u, + f, + h, + p, + d, + g, + m, + v = e.transform, + y = e.transformIndex, + x = t.transforms[y].groups, + b = o(t.transforms, v); + if (!Array.isArray(x) || 0 === x.length) return [t]; + var _ = n.filterUnique(x), + w = new Array(_.length), + k = x.length, + M = i.findArrayAttributes(t), + A = v.styles || [], + T = {}; + for (r = 0; r < A.length; r++) T[A[r].target] = A[r].value; + v.styles && (m = n.keyedContainer(v, "styles", "target", "value.name")); + var S = {}, + C = {}; + for (r = 0; r < _.length; r++) { + ((S[(h = _[r])] = r), + (C[h] = 0), + ((p = w[r] = n.extendDeepNoArrays({}, t))._group = h), + (p.updateStyle = l(h, y)), + (p.transforms[y]._indexToPoints = {})); + var E = null; + for ( + m && (E = m.get(h)), + p.name = + E || "" === E + ? E + : n.templateString(v.nameformat, { trace: t.name, group: h }), + d = p.transforms, + p.transforms = [], + s = 0; + s < d.length; + s++ + ) + p.transforms[s] = n.extendDeepNoArrays({}, d[s]); + for (s = 0; s < M.length; s++) n.nestedProperty(p, M[s]).set([]); + } + for (c = 0; c < M.length; c++) { + for (u = M[c], s = 0, g = []; s < _.length; s++) + g[s] = n.nestedProperty(w[s], u).get(); + for (f = n.nestedProperty(t, u).get(), s = 0; s < k; s++) + g[S[x[s]]].push(f[s]); + } + for (s = 0; s < k; s++) { + (((p = w[S[x[s]]]).transforms[y]._indexToPoints[C[x[s]]] = b(s)), + C[x[s]]++); + } + for (r = 0; r < _.length; r++) + ((h = _[r]), + (p = w[r]), + a.clearExpandedTraceDefaultColors(p), + (p = n.extendDeepNoArrays(p, T[h] || {}))); + return w; + } + function l(t, e) { + return function (r, i, a) { + n.keyedContainer( + r, + "transforms[" + e + "].styles", + "target", + "value." + i, + ).set(String(t), a); + }; + } + ((r.moduleType = "transform"), + (r.name = "groupby"), + (r.attributes = { + enabled: { valType: "boolean", dflt: !0, editType: "calc" }, + groups: { valType: "data_array", dflt: [], editType: "calc" }, + nameformat: { valType: "string", editType: "calc" }, + styles: { + _isLinkedToArray: "style", + target: { valType: "string", editType: "calc" }, + value: { + valType: "any", + dflt: {}, + editType: "calc", + _compareAsJSON: !0, + }, + editType: "calc", + }, + editType: "calc", + }), + (r.supplyDefaults = function (t, e, i) { + var a, + o = {}; + function s(e, i) { + return n.coerce(t, o, r.attributes, e, i); + } + if (!s("enabled")) return o; + (s("groups"), + s( + "nameformat", + i._dataLength > 1 ? "%{group} (%{trace})" : "%{group}", + )); + var l = t.styles, + c = (o.styles = []); + if (l) + for (a = 0; a < l.length; a++) { + var u = (c[a] = {}); + n.coerce(l[a], c[a], r.attributes.styles, "target"); + var f = n.coerce(l[a], c[a], r.attributes.styles, "value"); + n.isPlainObject(f) + ? (u.value = n.extendDeep({}, f)) + : f && delete u.value; + } + return o; + }), + (r.transform = function (t, e) { + var r, + n, + i, + a = []; + for (n = 0; n < t.length; n++) + for (r = s(t[n], e), i = 0; i < r.length; i++) a.push(r[i]); + return a; + })); + }, + { + "../lib": 602, + "../plot_api/plot_schema": 639, + "../plots/plots": 710, + "./helpers": 1035, + }, + ], + 1035: [ + function (t, e, r) { + "use strict"; + r.pointsAccessorFunction = function (t, e) { + for (var r, n, i = 0; i < t.length && (r = t[i]) !== e; i++) + r._indexToPoints && !1 !== r.enabled && (n = r._indexToPoints); + return n + ? function (t) { + return n[t]; + } + : function (t) { + return [t]; + }; + }; + }, + {}, + ], + 1036: [ + function (t, e, r) { + "use strict"; + var n = t("../lib"), + i = t("../plots/cartesian/axes"), + a = t("./helpers").pointsAccessorFunction; + ((r.moduleType = "transform"), + (r.name = "sort"), + (r.attributes = { + enabled: { valType: "boolean", dflt: !0, editType: "calc" }, + target: { + valType: "string", + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: "x", + editType: "calc", + }, + order: { + valType: "enumerated", + values: ["ascending", "descending"], + dflt: "ascending", + editType: "calc", + }, + editType: "calc", + }), + (r.supplyDefaults = function (t) { + var e = {}; + function i(i, a) { + return n.coerce(t, e, r.attributes, i, a); + } + return (i("enabled") && (i("target"), i("order")), e); + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var o = n.getTargetArray(e, r); + if (o) { + var s = r.target, + l = o.length; + e._length && (l = Math.min(l, e._length)); + var c, + u, + f = e._arrayAttrs, + h = (function (t, e, r, n) { + var i, + a = new Array(n), + o = new Array(n); + for (i = 0; i < n; i++) a[i] = { v: e[i], i: i }; + for ( + a.sort( + (function (t, e) { + switch (t.order) { + case "ascending": + return function (t, r) { + return e(t.v) - e(r.v); + }; + case "descending": + return function (t, r) { + return e(r.v) - e(t.v); + }; + } + })(t, r), + ), + i = 0; + i < n; + i++ + ) + o[i] = a[i].i; + return o; + })(r, o, i.getDataToCoordFunc(t, e, s, o), l), + p = a(e.transforms, r), + d = {}; + for (c = 0; c < f.length; c++) { + var g = n.nestedProperty(e, f[c]), + m = g.get(), + v = new Array(l); + for (u = 0; u < l; u++) v[u] = m[h[u]]; + g.set(v); + } + for (u = 0; u < l; u++) d[u] = p(h[u]); + ((r._indexToPoints = d), (e._length = l)); + } + } + })); + }, + { "../lib": 602, "../plots/cartesian/axes": 648, "./helpers": 1035 }, + ], + }, + {}, + [20], + )(20); +}); diff --git a/openwisp_ipam/static/openwisp-ipam/js/subnet.js b/openwisp_ipam/static/openwisp-ipam/js/subnet.js index 202e9ea..47a27e3 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/subnet.js +++ b/openwisp_ipam/static/openwisp-ipam/js/subnet.js @@ -66,7 +66,8 @@ function initHostsInfiniteScroll( "&subnet=" + current_subnet + '" ' + - id_attr + ' onclick="return showAddAnotherPopup(this);">' + + id_attr + + ' onclick="return showAddAnotherPopup(this);">' + addr.address + "" ); @@ -122,9 +123,15 @@ function initHostsInfiniteScroll( var target = $("#addr_" + id); if (target.length) { // IP is already on the page - $("#subnet-visual").animate({ - scrollTop: target.offset().top - $("#subnet-visual").offset().top + $("#subnet-visual").scrollTop() - }, 500); + $("#subnet-visual").animate( + { + scrollTop: + target.offset().top - + $("#subnet-visual").offset().top + + $("#subnet-visual").scrollTop(), + }, + 500, + ); target.css("background-color", "yellow"); setTimeout(function () { target.css("background-color", ""); @@ -132,13 +139,14 @@ function initHostsInfiniteScroll( } else { // IP not on page, re-fetch searchQuery = input; - nextPageUrl = "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; + nextPageUrl = + "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; $("#subnet-visual").empty(); fetchedPages = []; lastRenderedPage = 0; busy = false; onUpdate(); - } + } }); } function appendPage() { From 2f1eda688eac21bece17bdbdd813d7c05d80346f Mon Sep 17 00:00:00 2001 From: Pranshu Date: Thu, 2 Oct 2025 20:15:01 +0530 Subject: [PATCH 4/5] [fix] Matching Prettier code style again #73 Same as above. Fixes #73. --- .../openwisp-ipam/css/minified/jstree.min.css | 1058 +- .../openwisp-ipam/js/minified/jstree.min.js | 7215 +- .../openwisp-ipam/js/minified/plotly.min.js | 153601 +-------------- .../static/openwisp-ipam/js/subnet.js | 20 +- 4 files changed, 18 insertions(+), 161876 deletions(-) diff --git a/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css b/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css index 5795ace..a24ff30 100644 --- a/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css +++ b/openwisp_ipam/static/openwisp-ipam/css/minified/jstree.min.css @@ -1,1057 +1 @@ -.jstree-node, -.jstree-children, -.jstree-container-ul { - display: block; - margin: 0; - padding: 0; - list-style-type: none; - list-style-image: none; -} -.jstree-node { - white-space: nowrap; -} -.jstree-anchor { - display: inline-block; - color: #000; - white-space: nowrap; - padding: 0 4px 0 1px; - margin: 0; - vertical-align: top; -} -.jstree-anchor:focus { - outline: 0; -} -.jstree-anchor, -.jstree-anchor:link, -.jstree-anchor:visited, -.jstree-anchor:hover, -.jstree-anchor:active { - text-decoration: none; - color: inherit; -} -.jstree-icon { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} -.jstree-icon:empty { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} -.jstree-ocl { - cursor: pointer; -} -.jstree-leaf > .jstree-ocl { - cursor: default; -} -.jstree .jstree-open > .jstree-children { - display: block; -} -.jstree .jstree-closed > .jstree-children, -.jstree .jstree-leaf > .jstree-children { - display: none; -} -.jstree-anchor > .jstree-themeicon { - margin-right: 2px; -} -.jstree-no-icons .jstree-themeicon, -.jstree-anchor > .jstree-themeicon-hidden { - display: none; -} -.jstree-hidden { - display: none; -} -.jstree-rtl .jstree-anchor { - padding: 0 1px 0 4px; -} -.jstree-rtl .jstree-anchor > .jstree-themeicon { - margin-left: 2px; - margin-right: 0; -} -.jstree-rtl .jstree-node { - margin-left: 0; -} -.jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; -} -.jstree-wholerow-ul { - position: relative; - display: inline-block; - min-width: 100%; -} -.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { - cursor: pointer; -} -.jstree-wholerow-ul .jstree-anchor, -.jstree-wholerow-ul .jstree-icon { - position: relative; -} -.jstree-wholerow-ul .jstree-wholerow { - width: 100%; - cursor: pointer; - position: absolute; - left: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.vakata-context { - display: none; -} -.vakata-context, -.vakata-context ul { - margin: 0; - padding: 2px; - position: absolute; - background: #f5f5f5; - border: 1px solid #979797; - box-shadow: 2px 2px 2px #999; -} -.vakata-context ul { - list-style: none; - left: 100%; - margin-top: -2.7em; - margin-left: -4px; -} -.vakata-context .vakata-context-right ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; -} -.vakata-context li { - list-style: none; - display: inline; -} -.vakata-context li > a { - display: block; - padding: 0 2em; - text-decoration: none; - width: auto; - color: #000; - white-space: nowrap; - line-height: 2.4em; - text-shadow: 1px 1px 0 #fff; - border-radius: 1px; -} -.vakata-context li > a:hover { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; -} -.vakata-context li > a.vakata-context-parent { - background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==); - background-position: right center; - background-repeat: no-repeat; -} -.vakata-context li > a:focus { - outline: 0; -} -.vakata-context .vakata-context-hover > a { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; -} -.vakata-context .vakata-context-separator > a, -.vakata-context .vakata-context-separator > a:hover { - background: #fff; - border: 0; - border-top: 1px solid #e2e3e3; - height: 1px; - min-height: 1px; - max-height: 1px; - padding: 0; - margin: 0 0 0 2.4em; - border-left: 1px solid #e0e0e0; - text-shadow: 0 0 0 transparent; - box-shadow: 0 0 0 transparent; - border-radius: 0; -} -.vakata-context .vakata-contextmenu-disabled a, -.vakata-context .vakata-contextmenu-disabled a:hover { - color: silver; - background-color: transparent; - border: 0; - box-shadow: 0 0 0; -} -.vakata-context li > a > i { - text-decoration: none; - display: inline-block; - width: 2.4em; - height: 2.4em; - background: 0 0; - margin: 0 0 0 -2em; - vertical-align: top; - text-align: center; - line-height: 2.4em; -} -.vakata-context li > a > i:empty { - width: 2.4em; - line-height: 2.4em; -} -.vakata-context li > a .vakata-contextmenu-sep { - display: inline-block; - width: 1px; - height: 2.4em; - background: #fff; - margin: 0 0.5em 0 0; - border-left: 1px solid #e2e3e3; -} -.vakata-context .vakata-contextmenu-shortcut { - font-size: 0.8em; - color: silver; - opacity: 0.5; - display: none; -} -.vakata-context-rtl ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; -} -.vakata-context-rtl li > a.vakata-context-parent { - background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7); - background-position: left center; - background-repeat: no-repeat; -} -.vakata-context-rtl .vakata-context-separator > a { - margin: 0 2.4em 0 0; - border-left: 0; - border-right: 1px solid #e2e3e3; -} -.vakata-context-rtl .vakata-context-left ul { - right: auto; - left: 100%; - margin-left: -4px; - margin-right: auto; -} -.vakata-context-rtl li > a > i { - margin: 0 -2em 0 0; -} -.vakata-context-rtl li > a .vakata-contextmenu-sep { - margin: 0 0 0 0.5em; - border-left-color: #fff; - background: #e2e3e3; -} -#jstree-marker { - position: absolute; - top: 0; - left: 0; - margin: -5px 0 0 0; - padding: 0; - border-right: 0; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid; - width: 0; - height: 0; - font-size: 0; - line-height: 0; -} -#jstree-dnd { - line-height: 16px; - margin: 0; - padding: 4px; -} -#jstree-dnd .jstree-icon, -#jstree-dnd .jstree-copy { - display: inline-block; - text-decoration: none; - margin: 0 2px 0 0; - padding: 0; - width: 16px; - height: 16px; -} -#jstree-dnd .jstree-ok { - background: green; -} -#jstree-dnd .jstree-er { - background: red; -} -#jstree-dnd .jstree-copy { - margin: 0 2px; -} -.jstree-default .jstree-node, -.jstree-default .jstree-icon { - background-repeat: no-repeat; - background-color: transparent; -} -.jstree-default .jstree-anchor, -.jstree-default .jstree-wholerow { - transition: - background-color 0.15s, - box-shadow 0.15s; -} -.jstree-default .jstree-hovered { - background: #e7f4f9; - border-radius: 2px; - box-shadow: inset 0 0 1px #ccc; -} -.jstree-default .jstree-clicked { - background: #beebff; - border-radius: 2px; - box-shadow: inset 0 0 1px #999; -} -.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { - display: none; -} -.jstree-default .jstree-disabled { - background: 0 0; - color: #666; -} -.jstree-default .jstree-disabled.jstree-hovered { - background: 0 0; - box-shadow: none; -} -.jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; -} -.jstree-default .jstree-disabled > .jstree-icon { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - filter: gray; - -webkit-filter: grayscale(100%); -} -.jstree-default .jstree-search { - font-style: italic; - color: #8b0000; - font-weight: 700; -} -.jstree-default .jstree-no-checkboxes .jstree-checkbox { - display: none !important; -} -.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { - background: 0 0; - box-shadow: none; -} -.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { - background: #e7f4f9; -} -.jstree-default.jstree-checkbox-no-clicked - > .jstree-wholerow-ul - .jstree-wholerow-clicked { - background: 0 0; -} -.jstree-default.jstree-checkbox-no-clicked - > .jstree-wholerow-ul - .jstree-wholerow-clicked.jstree-wholerow-hovered { - background: #e7f4f9; -} -.jstree-default > .jstree-striped { - min-width: 100%; - display: inline-block; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) - left top repeat; -} -.jstree-default > .jstree-wholerow-ul .jstree-hovered, -.jstree-default > .jstree-wholerow-ul .jstree-clicked { - background: 0 0; - box-shadow: none; - border-radius: 0; -} -.jstree-default .jstree-wholerow { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.jstree-default .jstree-wholerow-hovered { - background: #e7f4f9; -} -.jstree-default .jstree-wholerow-clicked { - background: #beebff; - background: -webkit-linear-gradient(top, #beebff 0, #a8e4ff 100%); - background: linear-gradient(to bottom, #beebff 0, #a8e4ff 100%); -} -.jstree-default .jstree-node { - min-height: 24px; - line-height: 24px; - margin-left: 24px; - min-width: 24px; -} -.jstree-default .jstree-anchor { - line-height: 24px; - height: 24px; -} -.jstree-default .jstree-icon { - width: 24px; - height: 24px; - line-height: 24px; -} -.jstree-default .jstree-icon:empty { - width: 24px; - height: 24px; - line-height: 24px; -} -.jstree-default.jstree-rtl .jstree-node { - margin-right: 24px; -} -.jstree-default .jstree-wholerow { - height: 24px; -} -.jstree-default .jstree-node, -.jstree-default .jstree-icon { - background-image: url(32px.png); -} -.jstree-default .jstree-node { - background-position: -292px -4px; - background-repeat: repeat-y; -} -.jstree-default .jstree-last { - background: 0 0; -} -.jstree-default .jstree-open > .jstree-ocl { - background-position: -132px -4px; -} -.jstree-default .jstree-closed > .jstree-ocl { - background-position: -100px -4px; -} -.jstree-default .jstree-leaf > .jstree-ocl { - background-position: -68px -4px; -} -.jstree-default .jstree-themeicon { - background-position: -260px -4px; -} -.jstree-default > .jstree-no-dots .jstree-node, -.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -4px; -} -.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -4px; -} -.jstree-default .jstree-disabled { - background: 0 0; -} -.jstree-default .jstree-disabled.jstree-hovered { - background: 0 0; -} -.jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; -} -.jstree-default .jstree-checkbox { - background-position: -164px -4px; -} -.jstree-default .jstree-checkbox:hover { - background-position: -164px -36px; -} -.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, -.jstree-default .jstree-checked > .jstree-checkbox { - background-position: -228px -4px; -} -.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, -.jstree-default .jstree-checked > .jstree-checkbox:hover { - background-position: -228px -36px; -} -.jstree-default .jstree-anchor > .jstree-undetermined { - background-position: -196px -4px; -} -.jstree-default .jstree-anchor > .jstree-undetermined:hover { - background-position: -196px -36px; -} -.jstree-default .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - filter: gray; - -webkit-filter: grayscale(100%); -} -.jstree-default > .jstree-striped { - background-size: auto 48px; -} -.jstree-default.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); - background-position: 100% 1px; - background-repeat: repeat-y; -} -.jstree-default.jstree-rtl .jstree-last { - background: 0 0; -} -.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -132px -36px; -} -.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -100px -36px; -} -.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -68px -36px; -} -.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, -.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -36px; -} -.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -36px; -} -.jstree-default .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; -} -.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url(throbber.gif) center center no-repeat; -} -.jstree-default .jstree-file { - background: url(32px.png) -100px -68px no-repeat; -} -.jstree-default .jstree-folder { - background: url(32px.png) -260px -4px no-repeat; -} -.jstree-default > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; -} -#jstree-dnd.jstree-default { - line-height: 24px; - padding: 0 4px; -} -#jstree-dnd.jstree-default .jstree-ok, -#jstree-dnd.jstree-default .jstree-er { - background-image: url(32px.png); - background-repeat: no-repeat; - background-color: transparent; -} -#jstree-dnd.jstree-default i { - background: 0 0; - width: 24px; - height: 24px; - line-height: 24px; -} -#jstree-dnd.jstree-default .jstree-ok { - background-position: -4px -68px; -} -#jstree-dnd.jstree-default .jstree-er { - background-position: -36px -68px; -} -.jstree-default.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); -} -.jstree-default.jstree-rtl .jstree-last { - background: 0 0; -} -.jstree-default-small .jstree-node { - min-height: 18px; - line-height: 18px; - margin-left: 18px; - min-width: 18px; -} -.jstree-default-small .jstree-anchor { - line-height: 18px; - height: 18px; -} -.jstree-default-small .jstree-icon { - width: 18px; - height: 18px; - line-height: 18px; -} -.jstree-default-small .jstree-icon:empty { - width: 18px; - height: 18px; - line-height: 18px; -} -.jstree-default-small.jstree-rtl .jstree-node { - margin-right: 18px; -} -.jstree-default-small .jstree-wholerow { - height: 18px; -} -.jstree-default-small .jstree-node, -.jstree-default-small .jstree-icon { - background-image: url(32px.png); -} -.jstree-default-small .jstree-node { - background-position: -295px -7px; - background-repeat: repeat-y; -} -.jstree-default-small .jstree-last { - background: 0 0; -} -.jstree-default-small .jstree-open > .jstree-ocl { - background-position: -135px -7px; -} -.jstree-default-small .jstree-closed > .jstree-ocl { - background-position: -103px -7px; -} -.jstree-default-small .jstree-leaf > .jstree-ocl { - background-position: -71px -7px; -} -.jstree-default-small .jstree-themeicon { - background-position: -263px -7px; -} -.jstree-default-small > .jstree-no-dots .jstree-node, -.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -7px; -} -.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -7px; -} -.jstree-default-small .jstree-disabled { - background: 0 0; -} -.jstree-default-small .jstree-disabled.jstree-hovered { - background: 0 0; -} -.jstree-default-small .jstree-disabled.jstree-clicked { - background: #efefef; -} -.jstree-default-small .jstree-checkbox { - background-position: -167px -7px; -} -.jstree-default-small .jstree-checkbox:hover { - background-position: -167px -39px; -} -.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, -.jstree-default-small .jstree-checked > .jstree-checkbox { - background-position: -231px -7px; -} -.jstree-default-small.jstree-checkbox-selection - .jstree-clicked - > .jstree-checkbox:hover, -.jstree-default-small .jstree-checked > .jstree-checkbox:hover { - background-position: -231px -39px; -} -.jstree-default-small .jstree-anchor > .jstree-undetermined { - background-position: -199px -7px; -} -.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { - background-position: -199px -39px; -} -.jstree-default-small .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - filter: gray; - -webkit-filter: grayscale(100%); -} -.jstree-default-small > .jstree-striped { - background-size: auto 36px; -} -.jstree-default-small.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); - background-position: 100% 1px; - background-repeat: repeat-y; -} -.jstree-default-small.jstree-rtl .jstree-last { - background: 0 0; -} -.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -135px -39px; -} -.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -103px -39px; -} -.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -71px -39px; -} -.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, -.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -39px; -} -.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -39px; -} -.jstree-default-small .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; -} -.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url(throbber.gif) center center no-repeat; -} -.jstree-default-small .jstree-file { - background: url(32px.png) -103px -71px no-repeat; -} -.jstree-default-small .jstree-folder { - background: url(32px.png) -263px -7px no-repeat; -} -.jstree-default-small > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; -} -#jstree-dnd.jstree-default-small { - line-height: 18px; - padding: 0 4px; -} -#jstree-dnd.jstree-default-small .jstree-ok, -#jstree-dnd.jstree-default-small .jstree-er { - background-image: url(32px.png); - background-repeat: no-repeat; - background-color: transparent; -} -#jstree-dnd.jstree-default-small i { - background: 0 0; - width: 18px; - height: 18px; - line-height: 18px; -} -#jstree-dnd.jstree-default-small .jstree-ok { - background-position: -7px -71px; -} -#jstree-dnd.jstree-default-small .jstree-er { - background-position: -39px -71px; -} -.jstree-default-small.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==); -} -.jstree-default-small.jstree-rtl .jstree-last { - background: 0 0; -} -.jstree-default-large .jstree-node { - min-height: 32px; - line-height: 32px; - margin-left: 32px; - min-width: 32px; -} -.jstree-default-large .jstree-anchor { - line-height: 32px; - height: 32px; -} -.jstree-default-large .jstree-icon { - width: 32px; - height: 32px; - line-height: 32px; -} -.jstree-default-large .jstree-icon:empty { - width: 32px; - height: 32px; - line-height: 32px; -} -.jstree-default-large.jstree-rtl .jstree-node { - margin-right: 32px; -} -.jstree-default-large .jstree-wholerow { - height: 32px; -} -.jstree-default-large .jstree-node, -.jstree-default-large .jstree-icon { - background-image: url(32px.png); -} -.jstree-default-large .jstree-node { - background-position: -288px 0; - background-repeat: repeat-y; -} -.jstree-default-large .jstree-last { - background: 0 0; -} -.jstree-default-large .jstree-open > .jstree-ocl { - background-position: -128px 0; -} -.jstree-default-large .jstree-closed > .jstree-ocl { - background-position: -96px 0; -} -.jstree-default-large .jstree-leaf > .jstree-ocl { - background-position: -64px 0; -} -.jstree-default-large .jstree-themeicon { - background-position: -256px 0; -} -.jstree-default-large > .jstree-no-dots .jstree-node, -.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px 0; -} -.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0 0; -} -.jstree-default-large .jstree-disabled { - background: 0 0; -} -.jstree-default-large .jstree-disabled.jstree-hovered { - background: 0 0; -} -.jstree-default-large .jstree-disabled.jstree-clicked { - background: #efefef; -} -.jstree-default-large .jstree-checkbox { - background-position: -160px 0; -} -.jstree-default-large .jstree-checkbox:hover { - background-position: -160px -32px; -} -.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, -.jstree-default-large .jstree-checked > .jstree-checkbox { - background-position: -224px 0; -} -.jstree-default-large.jstree-checkbox-selection - .jstree-clicked - > .jstree-checkbox:hover, -.jstree-default-large .jstree-checked > .jstree-checkbox:hover { - background-position: -224px -32px; -} -.jstree-default-large .jstree-anchor > .jstree-undetermined { - background-position: -192px 0; -} -.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { - background-position: -192px -32px; -} -.jstree-default-large .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - filter: gray; - -webkit-filter: grayscale(100%); -} -.jstree-default-large > .jstree-striped { - background-size: auto 64px; -} -.jstree-default-large.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==); - background-position: 100% 1px; - background-repeat: repeat-y; -} -.jstree-default-large.jstree-rtl .jstree-last { - background: 0 0; -} -.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -128px -32px; -} -.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -96px -32px; -} -.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -64px -32px; -} -.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, -.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: 0 0; -} -.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px -32px; -} -.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0 -32px; -} -.jstree-default-large .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; -} -.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url(throbber.gif) center center no-repeat; -} -.jstree-default-large .jstree-file { - background: url(32px.png) -96px -64px no-repeat; -} -.jstree-default-large .jstree-folder { - background: url(32px.png) -256px 0 no-repeat; -} -.jstree-default-large > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; -} -#jstree-dnd.jstree-default-large { - line-height: 32px; - padding: 0 4px; -} -#jstree-dnd.jstree-default-large .jstree-ok, -#jstree-dnd.jstree-default-large .jstree-er { - background-image: url(32px.png); - background-repeat: no-repeat; - background-color: transparent; -} -#jstree-dnd.jstree-default-large i { - background: 0 0; - width: 32px; - height: 32px; - line-height: 32px; -} -#jstree-dnd.jstree-default-large .jstree-ok { - background-position: 0 -64px; -} -#jstree-dnd.jstree-default-large .jstree-er { - background-position: -32px -64px; -} -.jstree-default-large.jstree-rtl .jstree-node { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==); -} -.jstree-default-large.jstree-rtl .jstree-last { - background: 0 0; -} -@media (max-width: 768px) { - #jstree-dnd.jstree-dnd-responsive { - line-height: 40px; - font-weight: 700; - font-size: 1.1em; - text-shadow: 1px 1px #fff; - } - #jstree-dnd.jstree-dnd-responsive > i { - background: 0 0; - width: 40px; - height: 40px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-ok { - background-image: url(40px.png); - background-position: 0 -200px; - background-size: 120px 240px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-er { - background-image: url(40px.png); - background-position: -40px -200px; - background-size: 120px 240px; - } - #jstree-marker.jstree-dnd-responsive { - border-left-width: 10px; - border-top-width: 10px; - border-bottom-width: 10px; - margin-top: -10px; - } -} -@media (max-width: 768px) { - .jstree-default-responsive .jstree-icon { - background-image: url(40px.png); - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: 0 0; - } - .jstree-default-responsive .jstree-node { - min-height: 40px; - line-height: 40px; - margin-left: 40px; - min-width: 40px; - white-space: nowrap; - } - .jstree-default-responsive .jstree-anchor { - line-height: 40px; - height: 40px; - } - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-icon:empty { - width: 40px; - height: 40px; - line-height: 40px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - } - .jstree-default-responsive.jstree-rtl .jstree-node { - margin-left: 0; - margin-right: 40px; - } - .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; - } - .jstree-default-responsive .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: 0 0; - } - .jstree-default-responsive .jstree-open > .jstree-ocl { - background-position: 0 0 !important; - } - .jstree-default-responsive .jstree-closed > .jstree-ocl { - background-position: 0 -40px !important; - } - .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -40px 0 !important; - } - .jstree-default-responsive .jstree-themeicon { - background-position: -40px -40px; - } - .jstree-default-responsive .jstree-checkbox, - .jstree-default-responsive .jstree-checkbox:hover { - background-position: -40px -80px; - } - .jstree-default-responsive.jstree-checkbox-selection - .jstree-clicked - > .jstree-checkbox, - .jstree-default-responsive.jstree-checkbox-selection - .jstree-clicked - > .jstree-checkbox:hover, - .jstree-default-responsive .jstree-checked > .jstree-checkbox, - .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { - background-position: 0 -80px; - } - .jstree-default-responsive .jstree-anchor > .jstree-undetermined, - .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { - background-position: 0 -120px; - } - .jstree-default-responsive .jstree-anchor { - font-weight: 700; - font-size: 1.1em; - text-shadow: 1px 1px #fff; - } - .jstree-default-responsive > .jstree-striped { - background: 0 0; - } - .jstree-default-responsive .jstree-wholerow { - border-top: 1px solid rgba(255, 255, 255, 0.7); - border-bottom: 1px solid rgba(64, 64, 64, 0.2); - background: #ebebeb; - height: 40px; - } - .jstree-default-responsive .jstree-wholerow-hovered { - background: #e7f4f9; - } - .jstree-default-responsive .jstree-wholerow-clicked { - background: #beebff; - } - .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { - box-shadow: inset 0 -6px 3px -5px #666; - } - .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { - box-shadow: inset 0 6px 3px -5px #666; - border-top: 0; - } - .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { - box-shadow: none; - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-node > .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-image: url(40px.png); - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-node { - background-position: -80px 0; - background-repeat: repeat-y; - } - .jstree-default-responsive .jstree-last { - background: 0 0; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background-position: -40px -120px; - } - .jstree-default-responsive .jstree-last > .jstree-ocl { - background-position: -40px -160px; - } - .jstree-default-responsive .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; - } - .jstree-default-responsive .jstree-file { - background: url(40px.png) 0 -160px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-folder { - background: url(40px.png) -40px -40px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; - } -} +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} \ No newline at end of file diff --git a/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js b/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js index 262c05f..4e57359 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js +++ b/openwisp_ipam/static/openwisp-ipam/js/minified/jstree.min.js @@ -1,7211 +1,6 @@ /*! jsTree - v3.3.7 - 2018-11-06 - (MIT) */ -!(function (a) { - "use strict"; - "function" == typeof define && define.amd - ? define(["jquery"], a) - : "undefined" != typeof module && module.exports - ? (module.exports = a(require("jquery"))) - : a(django.jQuery); -})(function (a, b) { - "use strict"; - if (!a.jstree) { - var c = 0, - d = !1, - e = !1, - f = !1, - g = [], - h = a("script:last").attr("src"), - i = window.document; - ((a.jstree = { - version: "3.3.7", - defaults: { plugins: [] }, - plugins: {}, - path: h && -1 !== h.indexOf("/") ? h.replace(/\/[^\/]+$/, "") : "", - idregex: /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g, - root: "#", - }), - (a.jstree.create = function (b, d) { - var e = new a.jstree.core(++c), - f = d; - return ( - (d = a.extend(!0, {}, a.jstree.defaults, d)), - f && f.plugins && (d.plugins = f.plugins), - a.each(d.plugins, function (a, b) { - "core" !== a && (e = e.plugin(b, d[b])); - }), - a(b).data("jstree", e), - e.init(b, d), - e - ); - }), - (a.jstree.destroy = function () { - (a(".jstree:jstree").jstree("destroy"), a(i).off(".jstree")); - }), - (a.jstree.core = function (a) { - ((this._id = a), - (this._cnt = 0), - (this._wrk = null), - (this._data = { - core: { - themes: { name: !1, dots: !1, icons: !1, ellipsis: !1 }, - selected: [], - last_error: {}, - working: !1, - worker_queue: [], - focused: null, - }, - })); - }), - (a.jstree.reference = function (b) { - var c = null, - d = null; - if ((!b || !b.id || (b.tagName && b.nodeType) || (b = b.id), !d || !d.length)) - try { - d = a(b); - } catch (e) {} - if (!d || !d.length) - try { - d = a("#" + b.replace(a.jstree.idregex, "\\$&")); - } catch (e) {} - return ( - d && d.length && (d = d.closest(".jstree")).length && (d = d.data("jstree")) - ? (c = d) - : a(".jstree").each(function () { - var d = a(this).data("jstree"); - return d && d._model.data[b] ? ((c = d), !1) : void 0; - }), - c - ); - }), - (a.fn.jstree = function (c) { - var d = "string" == typeof c, - e = Array.prototype.slice.call(arguments, 1), - f = null; - return c !== !0 || this.length - ? (this.each(function () { - var g = a.jstree.reference(this), - h = d && g ? g[c] : null; - return ( - (f = d && h ? h.apply(g, e) : null), - g || d || (c !== b && !a.isPlainObject(c)) || a.jstree.create(this, c), - ((g && !d) || c === !0) && (f = g || !1), - null !== f && f !== b ? !1 : void 0 - ); - }), - null !== f && f !== b ? f : this) - : !1; - }), - (a.expr.pseudos.jstree = a.expr.createPseudo(function (c) { - return function (c) { - return a(c).hasClass("jstree") && a(c).data("jstree") !== b; - }; - })), - (a.jstree.defaults.core = { - data: !1, - strings: !1, - check_callback: !1, - error: a.noop, - animation: 200, - multiple: !0, - themes: { - name: !1, - url: !1, - dir: !1, - dots: !0, - icons: !0, - ellipsis: !1, - stripes: !1, - variant: !1, - responsive: !1, - }, - expand_selected_onload: !0, - worker: !0, - force_text: !1, - dblclick_toggle: !0, - loaded_state: !1, - restore_focus: !0, - keyboard: { - "ctrl-space": function (b) { - ((b.type = "click"), a(b.currentTarget).trigger(b)); - }, - enter: function (b) { - ((b.type = "click"), a(b.currentTarget).trigger(b)); - }, - left: function (b) { - if ((b.preventDefault(), this.is_open(b.currentTarget))) - this.close_node(b.currentTarget); - else { - var c = this.get_parent(b.currentTarget); - c && - c.id !== a.jstree.root && - this.get_node(c, !0).children(".jstree-anchor").focus(); - } - }, - up: function (a) { - a.preventDefault(); - var b = this.get_prev_dom(a.currentTarget); - b && b.length && b.children(".jstree-anchor").focus(); - }, - right: function (b) { - if ((b.preventDefault(), this.is_closed(b.currentTarget))) - this.open_node(b.currentTarget, function (a) { - this.get_node(a, !0).children(".jstree-anchor").focus(); - }); - else if (this.is_open(b.currentTarget)) { - var c = this.get_node(b.currentTarget, !0).children( - ".jstree-children", - )[0]; - c && a(this._firstChild(c)).children(".jstree-anchor").focus(); - } - }, - down: function (a) { - a.preventDefault(); - var b = this.get_next_dom(a.currentTarget); - b && b.length && b.children(".jstree-anchor").focus(); - }, - "*": function (a) { - this.open_all(); - }, - home: function (b) { - b.preventDefault(); - var c = this._firstChild(this.get_container_ul()[0]); - c && a(c).children(".jstree-anchor").filter(":visible").focus(); - }, - end: function (a) { - (a.preventDefault(), - this.element.find(".jstree-anchor").filter(":visible").last().focus()); - }, - f2: function (a) { - (a.preventDefault(), this.edit(a.currentTarget)); - }, - }, - }), - (a.jstree.core.prototype = { - plugin: function (b, c) { - var d = a.jstree.plugins[b]; - return d - ? ((this._data[b] = {}), (d.prototype = this), new d(c, this)) - : this; - }, - init: function (b, c) { - ((this._model = { - data: {}, - changed: [], - force_full_redraw: !1, - redraw_timeout: !1, - default_state: { loaded: !0, opened: !1, selected: !1, disabled: !1 }, - }), - (this._model.data[a.jstree.root] = { - id: a.jstree.root, - parent: null, - parents: [], - children: [], - children_d: [], - state: { loaded: !1 }, - }), - (this.element = a(b).addClass("jstree jstree-" + this._id)), - (this.settings = c), - (this._data.core.ready = !1), - (this._data.core.loaded = !1), - (this._data.core.rtl = "rtl" === this.element.css("direction")), - this.element[this._data.core.rtl ? "addClass" : "removeClass"]( - "jstree-rtl", - ), - this.element.attr("role", "tree"), - this.settings.core.multiple && - this.element.attr("aria-multiselectable", !0), - this.element.attr("tabindex") || this.element.attr("tabindex", "0"), - this.bind(), - this.trigger("init"), - (this._data.core.original_container_html = this.element - .find(" > ul > li") - .clone(!0)), - this._data.core.original_container_html - .find("li") - .addBack() - .contents() - .filter(function () { - return ( - 3 === this.nodeType && - (!this.nodeValue || /^\s+$/.test(this.nodeValue)) - ); - }) - .remove(), - this.element.html( - "", - ), - this.element.attr("aria-activedescendant", "j" + this._id + "_loading"), - (this._data.core.li_height = - this.get_container_ul().children("li").first().outerHeight() || 24), - (this._data.core.node = this._create_prototype_node()), - this.trigger("loading"), - this.load_node(a.jstree.root)); - }, - destroy: function (a) { - if ((this.trigger("destroy"), this._wrk)) - try { - (window.URL.revokeObjectURL(this._wrk), (this._wrk = null)); - } catch (b) {} - (a || this.element.empty(), this.teardown()); - }, - _create_prototype_node: function () { - var a = i.createElement("LI"), - b, - c; - return ( - a.setAttribute("role", "treeitem"), - (b = i.createElement("I")), - (b.className = "jstree-icon jstree-ocl"), - b.setAttribute("role", "presentation"), - a.appendChild(b), - (b = i.createElement("A")), - (b.className = "jstree-anchor"), - b.setAttribute("href", "#"), - b.setAttribute("tabindex", "-1"), - (c = i.createElement("I")), - (c.className = "jstree-icon jstree-themeicon"), - c.setAttribute("role", "presentation"), - b.appendChild(c), - a.appendChild(b), - (b = c = null), - a - ); - }, - _kbevent_to_func: function (a) { - var b = { - 8: "Backspace", - 9: "Tab", - 13: "Return", - 19: "Pause", - 27: "Esc", - 32: "Space", - 33: "PageUp", - 34: "PageDown", - 35: "End", - 36: "Home", - 37: "Left", - 38: "Up", - 39: "Right", - 40: "Down", - 44: "Print", - 45: "Insert", - 46: "Delete", - 96: "Numpad0", - 97: "Numpad1", - 98: "Numpad2", - 99: "Numpad3", - 100: "Numpad4", - 101: "Numpad5", - 102: "Numpad6", - 103: "Numpad7", - 104: "Numpad8", - 105: "Numpad9", - "-13": "NumpadEnter", - 112: "F1", - 113: "F2", - 114: "F3", - 115: "F4", - 116: "F5", - 117: "F6", - 118: "F7", - 119: "F8", - 120: "F9", - 121: "F10", - 122: "F11", - 123: "F12", - 144: "Numlock", - 145: "Scrolllock", - 16: "Shift", - 17: "Ctrl", - 18: "Alt", - 48: "0", - 49: "1", - 50: "2", - 51: "3", - 52: "4", - 53: "5", - 54: "6", - 55: "7", - 56: "8", - 57: "9", - 59: ";", - 61: "=", - 65: "a", - 66: "b", - 67: "c", - 68: "d", - 69: "e", - 70: "f", - 71: "g", - 72: "h", - 73: "i", - 74: "j", - 75: "k", - 76: "l", - 77: "m", - 78: "n", - 79: "o", - 80: "p", - 81: "q", - 82: "r", - 83: "s", - 84: "t", - 85: "u", - 86: "v", - 87: "w", - 88: "x", - 89: "y", - 90: "z", - 107: "+", - 109: "-", - 110: ".", - 186: ";", - 187: "=", - 188: ",", - 189: "-", - 190: ".", - 191: "/", - 192: "`", - 219: "[", - 220: "\\", - 221: "]", - 222: "'", - 111: "/", - 106: "*", - 173: "-", - }, - c = []; - (a.ctrlKey && c.push("ctrl"), - a.altKey && c.push("alt"), - a.shiftKey && c.push("shift"), - c.push(b[a.which] || a.which), - (c = c.sort().join("-").toLowerCase())); - var d = this.settings.core.keyboard, - e, - f; - for (e in d) - if ( - d.hasOwnProperty(e) && - ((f = e), - "-" !== f && - "+" !== f && - ((f = f - .replace("--", "-MINUS") - .replace("+-", "-MINUS") - .replace("++", "-PLUS") - .replace("-+", "-PLUS")), - (f = f - .split(/-|\+/) - .sort() - .join("-") - .replace("MINUS", "-") - .replace("PLUS", "+") - .toLowerCase())), - f === c) - ) - return d[e]; - return null; - }, - teardown: function () { - (this.unbind(), - this.element - .removeClass("jstree") - .removeData("jstree") - .find("[class^='jstree']") - .addBack() - .attr("class", function () { - return this.className.replace(/jstree[^ ]*|$/gi, ""); - }), - (this.element = null)); - }, - bind: function () { - var b = "", - c = null, - d = 0; - this.element - .on("dblclick.jstree", function (a) { - if (a.target.tagName && "input" === a.target.tagName.toLowerCase()) - return !0; - if (i.selection && i.selection.empty) i.selection.empty(); - else if (window.getSelection) { - var b = window.getSelection(); - try { - (b.removeAllRanges(), b.collapse()); - } catch (c) {} - } - }) - .on( - "mousedown.jstree", - a.proxy(function (a) { - a.target === this.element[0] && (a.preventDefault(), (d = +new Date())); - }, this), - ) - .on("mousedown.jstree", ".jstree-ocl", function (a) { - a.preventDefault(); - }) - .on( - "click.jstree", - ".jstree-ocl", - a.proxy(function (a) { - this.toggle_node(a.target); - }, this), - ) - .on( - "dblclick.jstree", - ".jstree-anchor", - a.proxy(function (a) { - return a.target.tagName && "input" === a.target.tagName.toLowerCase() - ? !0 - : void ( - this.settings.core.dblclick_toggle && this.toggle_node(a.target) - ); - }, this), - ) - .on( - "click.jstree", - ".jstree-anchor", - a.proxy(function (b) { - (b.preventDefault(), - b.currentTarget !== i.activeElement && a(b.currentTarget).focus(), - this.activate_node(b.currentTarget, b)); - }, this), - ) - .on( - "keydown.jstree", - ".jstree-anchor", - a.proxy(function (a) { - if (a.target.tagName && "input" === a.target.tagName.toLowerCase()) - return !0; - this._data.core.rtl && - (37 === a.which ? (a.which = 39) : 39 === a.which && (a.which = 37)); - var b = this._kbevent_to_func(a); - if (b) { - var c = b.call(this, a); - if (c === !1 || c === !0) return c; - } - }, this), - ) - .on( - "load_node.jstree", - a.proxy(function (b, c) { - c.status && - (c.node.id !== a.jstree.root || - this._data.core.loaded || - ((this._data.core.loaded = !0), - this._firstChild(this.get_container_ul()[0]) && - this.element.attr( - "aria-activedescendant", - this._firstChild(this.get_container_ul()[0]).id, - ), - this.trigger("loaded")), - this._data.core.ready || - setTimeout( - a.proxy(function () { - if ( - this.element && - !this.get_container_ul().find(".jstree-loading").length - ) { - if ( - ((this._data.core.ready = !0), - this._data.core.selected.length) - ) { - if (this.settings.core.expand_selected_onload) { - var b = [], - c, - d; - for ( - c = 0, d = this._data.core.selected.length; - d > c; - c++ - ) - b = b.concat( - this._model.data[this._data.core.selected[c]].parents, - ); - for ( - b = a.vakata.array_unique(b), c = 0, d = b.length; - d > c; - c++ - ) - this.open_node(b[c], !1, 0); - } - this.trigger("changed", { - action: "ready", - selected: this._data.core.selected, - }); - } - this.trigger("ready"); - } - }, this), - 0, - )); - }, this), - ) - .on( - "keypress.jstree", - a.proxy(function (d) { - if (d.target.tagName && "input" === d.target.tagName.toLowerCase()) - return !0; - (c && clearTimeout(c), - (c = setTimeout(function () { - b = ""; - }, 500))); - var e = String.fromCharCode(d.which).toLowerCase(), - f = this.element.find(".jstree-anchor").filter(":visible"), - g = f.index(i.activeElement) || 0, - h = !1; - if (((b += e), b.length > 1)) { - if ( - (f.slice(g).each( - a.proxy(function (c, d) { - return 0 === a(d).text().toLowerCase().indexOf(b) - ? (a(d).focus(), (h = !0), !1) - : void 0; - }, this), - ), - h) - ) - return; - if ( - (f.slice(0, g).each( - a.proxy(function (c, d) { - return 0 === a(d).text().toLowerCase().indexOf(b) - ? (a(d).focus(), (h = !0), !1) - : void 0; - }, this), - ), - h) - ) - return; - } - if ( - new RegExp( - "^" + e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") + "+$", - ).test(b) - ) { - if ( - (f.slice(g + 1).each( - a.proxy(function (b, c) { - return a(c).text().toLowerCase().charAt(0) === e - ? (a(c).focus(), (h = !0), !1) - : void 0; - }, this), - ), - h) - ) - return; - if ( - (f.slice(0, g + 1).each( - a.proxy(function (b, c) { - return a(c).text().toLowerCase().charAt(0) === e - ? (a(c).focus(), (h = !0), !1) - : void 0; - }, this), - ), - h) - ) - return; - } - }, this), - ) - .on( - "init.jstree", - a.proxy(function () { - var a = this.settings.core.themes; - ((this._data.core.themes.dots = a.dots), - (this._data.core.themes.stripes = a.stripes), - (this._data.core.themes.icons = a.icons), - (this._data.core.themes.ellipsis = a.ellipsis), - this.set_theme(a.name || "default", a.url), - this.set_theme_variant(a.variant)); - }, this), - ) - .on( - "loading.jstree", - a.proxy(function () { - (this[this._data.core.themes.dots ? "show_dots" : "hide_dots"](), - this[this._data.core.themes.icons ? "show_icons" : "hide_icons"](), - this[ - this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" - ](), - this[ - this._data.core.themes.ellipsis ? "show_ellipsis" : "hide_ellipsis" - ]()); - }, this), - ) - .on( - "blur.jstree", - ".jstree-anchor", - a.proxy(function (b) { - ((this._data.core.focused = null), - a(b.currentTarget).filter(".jstree-hovered").mouseleave(), - this.element.attr("tabindex", "0")); - }, this), - ) - .on( - "focus.jstree", - ".jstree-anchor", - a.proxy(function (b) { - var c = this.get_node(b.currentTarget); - (c && c.id && (this._data.core.focused = c.id), - this.element - .find(".jstree-hovered") - .not(b.currentTarget) - .mouseleave(), - a(b.currentTarget).mouseenter(), - this.element.attr("tabindex", "-1")); - }, this), - ) - .on( - "focus.jstree", - a.proxy(function () { - if ( - +new Date() - d > 500 && - !this._data.core.focused && - this.settings.core.restore_focus - ) { - d = 0; - var a = this.get_node(this.element.attr("aria-activedescendant"), !0); - a && a.find("> .jstree-anchor").focus(); - } - }, this), - ) - .on( - "mouseenter.jstree", - ".jstree-anchor", - a.proxy(function (a) { - this.hover_node(a.currentTarget); - }, this), - ) - .on( - "mouseleave.jstree", - ".jstree-anchor", - a.proxy(function (a) { - this.dehover_node(a.currentTarget); - }, this), - ); - }, - unbind: function () { - (this.element.off(".jstree"), a(i).off(".jstree-" + this._id)); - }, - trigger: function (a, b) { - (b || (b = {}), - (b.instance = this), - this.element.triggerHandler(a.replace(".jstree", "") + ".jstree", b)); - }, - get_container: function () { - return this.element; - }, - get_container_ul: function () { - return this.element.children(".jstree-children").first(); - }, - get_string: function (b) { - var c = this.settings.core.strings; - return a.isFunction(c) ? c.call(this, b) : c && c[b] ? c[b] : b; - }, - _firstChild: function (a) { - a = a ? a.firstChild : null; - while (null !== a && 1 !== a.nodeType) a = a.nextSibling; - return a; - }, - _nextSibling: function (a) { - a = a ? a.nextSibling : null; - while (null !== a && 1 !== a.nodeType) a = a.nextSibling; - return a; - }, - _previousSibling: function (a) { - a = a ? a.previousSibling : null; - while (null !== a && 1 !== a.nodeType) a = a.previousSibling; - return a; - }, - get_node: function (b, c) { - (b && b.id && (b = b.id), - b instanceof django.jQuery && b.length && b[0].id && (b = b[0].id)); - var d; - try { - if (this._model.data[b]) b = this._model.data[b]; - else if ("string" == typeof b && this._model.data[b.replace(/^#/, "")]) - b = this._model.data[b.replace(/^#/, "")]; - else if ( - "string" == typeof b && - (d = a("#" + b.replace(a.jstree.idregex, "\\$&"), this.element)).length && - this._model.data[d.closest(".jstree-node").attr("id")] - ) - b = this._model.data[d.closest(".jstree-node").attr("id")]; - else if ( - (d = this.element.find(b)).length && - this._model.data[d.closest(".jstree-node").attr("id")] - ) - b = this._model.data[d.closest(".jstree-node").attr("id")]; - else { - if (!(d = this.element.find(b)).length || !d.hasClass("jstree")) - return !1; - b = this._model.data[a.jstree.root]; - } - return ( - c && - (b = - b.id === a.jstree.root - ? this.element - : a("#" + b.id.replace(a.jstree.idregex, "\\$&"), this.element)), - b - ); - } catch (e) { - return !1; - } - }, - get_path: function (b, c, d) { - if ( - ((b = b.parents ? b : this.get_node(b)), - !b || b.id === a.jstree.root || !b.parents) - ) - return !1; - var e, - f, - g = []; - for (g.push(d ? b.id : b.text), e = 0, f = b.parents.length; f > e; e++) - g.push(d ? b.parents[e] : this.get_text(b.parents[e])); - return ((g = g.reverse().slice(1)), c ? g.join(c) : g); - }, - get_next_dom: function (b, c) { - var d; - if (((b = this.get_node(b, !0)), b[0] === this.element[0])) { - d = this._firstChild(this.get_container_ul()[0]); - while (d && 0 === d.offsetHeight) d = this._nextSibling(d); - return d ? a(d) : !1; - } - if (!b || !b.length) return !1; - if (c) { - d = b[0]; - do d = this._nextSibling(d); - while (d && 0 === d.offsetHeight); - return d ? a(d) : !1; - } - if (b.hasClass("jstree-open")) { - d = this._firstChild(b.children(".jstree-children")[0]); - while (d && 0 === d.offsetHeight) d = this._nextSibling(d); - if (null !== d) return a(d); - } - d = b[0]; - do d = this._nextSibling(d); - while (d && 0 === d.offsetHeight); - return null !== d - ? a(d) - : b - .parentsUntil(".jstree", ".jstree-node") - .nextAll(".jstree-node:visible") - .first(); - }, - get_prev_dom: function (b, c) { - var d; - if (((b = this.get_node(b, !0)), b[0] === this.element[0])) { - d = this.get_container_ul()[0].lastChild; - while (d && 0 === d.offsetHeight) d = this._previousSibling(d); - return d ? a(d) : !1; - } - if (!b || !b.length) return !1; - if (c) { - d = b[0]; - do d = this._previousSibling(d); - while (d && 0 === d.offsetHeight); - return d ? a(d) : !1; - } - d = b[0]; - do d = this._previousSibling(d); - while (d && 0 === d.offsetHeight); - if (null !== d) { - b = a(d); - while (b.hasClass("jstree-open")) - b = b - .children(".jstree-children") - .first() - .children(".jstree-node:visible:last"); - return b; - } - return ( - (d = b[0].parentNode.parentNode), - d && d.className && -1 !== d.className.indexOf("jstree-node") ? a(d) : !1 - ); - }, - get_parent: function (b) { - return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.parent : !1); - }, - get_children_dom: function (a) { - return ( - (a = this.get_node(a, !0)), - a[0] === this.element[0] - ? this.get_container_ul().children(".jstree-node") - : a && a.length - ? a.children(".jstree-children").children(".jstree-node") - : !1 - ); - }, - is_parent: function (a) { - return ( - (a = this.get_node(a)), - a && (a.state.loaded === !1 || a.children.length > 0) - ); - }, - is_loaded: function (a) { - return ((a = this.get_node(a)), a && a.state.loaded); - }, - is_loading: function (a) { - return ((a = this.get_node(a)), a && a.state && a.state.loading); - }, - is_open: function (a) { - return ((a = this.get_node(a)), a && a.state.opened); - }, - is_closed: function (a) { - return ((a = this.get_node(a)), a && this.is_parent(a) && !a.state.opened); - }, - is_leaf: function (a) { - return !this.is_parent(a); - }, - load_node: function (b, c) { - var d, e, f, g, h; - if (a.isArray(b)) return (this._load_nodes(b.slice(), c), !0); - if (((b = this.get_node(b)), !b)) return (c && c.call(this, b, !1), !1); - if (b.state.loaded) { - for (b.state.loaded = !1, f = 0, g = b.parents.length; g > f; f++) - this._model.data[b.parents[f]].children_d = a.vakata.array_filter( - this._model.data[b.parents[f]].children_d, - function (c) { - return -1 === a.inArray(c, b.children_d); - }, - ); - for (d = 0, e = b.children_d.length; e > d; d++) - (this._model.data[b.children_d[d]].state.selected && (h = !0), - delete this._model.data[b.children_d[d]]); - (h && - (this._data.core.selected = a.vakata.array_filter( - this._data.core.selected, - function (c) { - return -1 === a.inArray(c, b.children_d); - }, - )), - (b.children = []), - (b.children_d = []), - h && - this.trigger("changed", { - action: "load_node", - node: b, - selected: this._data.core.selected, - })); - } - return ( - (b.state.failed = !1), - (b.state.loading = !0), - this.get_node(b, !0).addClass("jstree-loading").attr("aria-busy", !0), - this._load_node( - b, - a.proxy(function (a) { - ((b = this._model.data[b.id]), - (b.state.loading = !1), - (b.state.loaded = a), - (b.state.failed = !b.state.loaded)); - var d = this.get_node(b, !0), - e = 0, - f = 0, - g = this._model.data, - h = !1; - for (e = 0, f = b.children.length; f > e; e++) - if (g[b.children[e]] && !g[b.children[e]].state.hidden) { - h = !0; - break; - } - (b.state.loaded && - d && - d.length && - (d.removeClass("jstree-closed jstree-open jstree-leaf"), - h - ? "#" !== b.id && - d.addClass(b.state.opened ? "jstree-open" : "jstree-closed") - : d.addClass("jstree-leaf")), - d.removeClass("jstree-loading").attr("aria-busy", !1), - this.trigger("load_node", { node: b, status: a }), - c && c.call(this, b, a)); - }, this), - ), - !0 - ); - }, - _load_nodes: function (a, b, c, d) { - var e = !0, - f = function () { - this._load_nodes(a, b, !0); - }, - g = this._model.data, - h, - i, - j = []; - for (h = 0, i = a.length; i > h; h++) - g[a[h]] && - ((!g[a[h]].state.loaded && !g[a[h]].state.failed) || (!c && d)) && - (this.is_loading(a[h]) || this.load_node(a[h], f), (e = !1)); - if (e) { - for (h = 0, i = a.length; i > h; h++) - g[a[h]] && g[a[h]].state.loaded && j.push(a[h]); - b && !b.done && (b.call(this, j), (b.done = !0)); - } - }, - load_all: function (b, c) { - if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; - var d = [], - e = this._model.data, - f = e[b.id].children_d, - g, - h; - for ( - b.state && !b.state.loaded && d.push(b.id), g = 0, h = f.length; - h > g; - g++ - ) - e[f[g]] && e[f[g]].state && !e[f[g]].state.loaded && d.push(f[g]); - d.length - ? this._load_nodes(d, function () { - this.load_all(b, c); - }) - : (c && c.call(this, b), this.trigger("load_all", { node: b })); - }, - _load_node: function (b, c) { - var d = this.settings.core.data, - e, - f = function g() { - return 3 !== this.nodeType && 8 !== this.nodeType; - }; - return d - ? a.isFunction(d) - ? d.call( - this, - b, - a.proxy(function (d) { - d === !1 - ? c.call(this, !1) - : this[ - "string" == typeof d - ? "_append_html_data" - : "_append_json_data" - ]( - b, - "string" == typeof d ? a(a.parseHTML(d)).filter(f) : d, - function (a) { - c.call(this, a); - }, - ); - }, this), - ) - : "object" == typeof d - ? d.url - ? ((d = a.extend(!0, {}, d)), - a.isFunction(d.url) && (d.url = d.url.call(this, b)), - a.isFunction(d.data) && (d.data = d.data.call(this, b)), - a - .ajax(d) - .done( - a.proxy(function (d, e, g) { - var h = g.getResponseHeader("Content-Type"); - return (h && -1 !== h.indexOf("json")) || "object" == typeof d - ? this._append_json_data(b, d, function (a) { - c.call(this, a); - }) - : (h && -1 !== h.indexOf("html")) || "string" == typeof d - ? this._append_html_data( - b, - a(a.parseHTML(d)).filter(f), - function (a) { - c.call(this, a); - }, - ) - : ((this._data.core.last_error = { - error: "ajax", - plugin: "core", - id: "core_04", - reason: "Could not load node", - data: JSON.stringify({ id: b.id, xhr: g }), - }), - this.settings.core.error.call( - this, - this._data.core.last_error, - ), - c.call(this, !1)); - }, this), - ) - .fail( - a.proxy(function (a) { - ((this._data.core.last_error = { - error: "ajax", - plugin: "core", - id: "core_04", - reason: "Could not load node", - data: JSON.stringify({ id: b.id, xhr: a }), - }), - c.call(this, !1), - this.settings.core.error.call( - this, - this._data.core.last_error, - )); - }, this), - )) - : ((e = a.isArray(d) - ? a.extend(!0, [], d) - : a.isPlainObject(d) - ? a.extend(!0, {}, d) - : d), - b.id === a.jstree.root - ? this._append_json_data(b, e, function (a) { - c.call(this, a); - }) - : ((this._data.core.last_error = { - error: "nodata", - plugin: "core", - id: "core_05", - reason: "Could not load node", - data: JSON.stringify({ id: b.id }), - }), - this.settings.core.error.call(this, this._data.core.last_error), - c.call(this, !1))) - : "string" == typeof d - ? b.id === a.jstree.root - ? this._append_html_data( - b, - a(a.parseHTML(d)).filter(f), - function (a) { - c.call(this, a); - }, - ) - : ((this._data.core.last_error = { - error: "nodata", - plugin: "core", - id: "core_06", - reason: "Could not load node", - data: JSON.stringify({ id: b.id }), - }), - this.settings.core.error.call(this, this._data.core.last_error), - c.call(this, !1)) - : c.call(this, !1) - : b.id === a.jstree.root - ? this._append_html_data( - b, - this._data.core.original_container_html.clone(!0), - function (a) { - c.call(this, a); - }, - ) - : c.call(this, !1); - }, - _node_changed: function (b) { - ((b = this.get_node(b)), - b && - -1 === a.inArray(b.id, this._model.changed) && - this._model.changed.push(b.id)); - }, - _append_html_data: function (b, c, d) { - ((b = this.get_node(b)), (b.children = []), (b.children_d = [])); - var e = c.is("ul") ? c.children() : c, - f = b.id, - g = [], - h = [], - i = this._model.data, - j = i[f], - k = this._data.core.selected.length, - l, - m, - n; - for ( - e.each( - a.proxy(function (b, c) { - ((l = this._parse_model_from_html(a(c), f, j.parents.concat())), - l && - (g.push(l), - h.push(l), - i[l].children_d.length && (h = h.concat(i[l].children_d)))); - }, this), - ), - j.children = g, - j.children_d = h, - m = 0, - n = j.parents.length; - n > m; - m++ - ) - i[j.parents[m]].children_d = i[j.parents[m]].children_d.concat(h); - (this.trigger("model", { nodes: h, parent: f }), - f !== a.jstree.root - ? (this._node_changed(f), this.redraw()) - : (this.get_container_ul().children(".jstree-initial-node").remove(), - this.redraw(!0)), - this._data.core.selected.length !== k && - this.trigger("changed", { - action: "model", - selected: this._data.core.selected, - }), - d.call(this, !0)); - }, - _append_json_data: function (b, c, d, e) { - if (null !== this.element) { - ((b = this.get_node(b)), - (b.children = []), - (b.children_d = []), - c.d && ((c = c.d), "string" == typeof c && (c = JSON.parse(c))), - a.isArray(c) || (c = [c])); - var f = null, - g = { - df: this._model.default_state, - dat: c, - par: b.id, - m: this._model.data, - t_id: this._id, - t_cnt: this._cnt, - sel: this._data.core.selected, - }, - h = function (a, b) { - a.data && (a = a.data); - var c = a.dat, - d = a.par, - e = [], - f = [], - g = [], - h = a.df, - i = a.t_id, - j = a.t_cnt, - k = a.m, - l = k[d], - m = a.sel, - n, - o, - p, - q, - r = function (a, c, d) { - ((d = d ? d.concat() : []), c && d.unshift(c)); - var e = a.id.toString(), - f, - i, - j, - l, - m = { - id: e, - text: a.text || "", - icon: a.icon !== b ? a.icon : !0, - parent: c, - parents: d, - children: a.children || [], - children_d: a.children_d || [], - data: a.data, - state: {}, - li_attr: { id: !1 }, - a_attr: { href: "#" }, - original: !1, - }; - for (f in h) h.hasOwnProperty(f) && (m.state[f] = h[f]); - if ( - (a && - a.data && - a.data.jstree && - a.data.jstree.icon && - (m.icon = a.data.jstree.icon), - (m.icon === b || null === m.icon || "" === m.icon) && - (m.icon = !0), - a && a.data && ((m.data = a.data), a.data.jstree)) - ) - for (f in a.data.jstree) - a.data.jstree.hasOwnProperty(f) && - (m.state[f] = a.data.jstree[f]); - if (a && "object" == typeof a.state) - for (f in a.state) - a.state.hasOwnProperty(f) && (m.state[f] = a.state[f]); - if (a && "object" == typeof a.li_attr) - for (f in a.li_attr) - a.li_attr.hasOwnProperty(f) && (m.li_attr[f] = a.li_attr[f]); - if ( - (m.li_attr.id || (m.li_attr.id = e), - a && "object" == typeof a.a_attr) - ) - for (f in a.a_attr) - a.a_attr.hasOwnProperty(f) && (m.a_attr[f] = a.a_attr[f]); - for ( - a && - a.children && - a.children === !0 && - ((m.state.loaded = !1), (m.children = []), (m.children_d = [])), - k[m.id] = m, - f = 0, - i = m.children.length; - i > f; - f++ - ) - ((j = r(k[m.children[f]], m.id, d)), - (l = k[j]), - m.children_d.push(j), - l.children_d.length && - (m.children_d = m.children_d.concat(l.children_d))); - return ( - delete a.data, - delete a.children, - (k[m.id].original = a), - m.state.selected && g.push(m.id), - m.id - ); - }, - s = function (a, c, d) { - ((d = d ? d.concat() : []), c && d.unshift(c)); - var e = !1, - f, - l, - m, - n, - o; - do e = "j" + i + "_" + ++j; - while (k[e]); - o = { - id: !1, - text: "string" == typeof a ? a : "", - icon: "object" == typeof a && a.icon !== b ? a.icon : !0, - parent: c, - parents: d, - children: [], - children_d: [], - data: null, - state: {}, - li_attr: { id: !1 }, - a_attr: { href: "#" }, - original: !1, - }; - for (f in h) h.hasOwnProperty(f) && (o.state[f] = h[f]); - if ( - (a && a.id && (o.id = a.id.toString()), - a && a.text && (o.text = a.text), - a && - a.data && - a.data.jstree && - a.data.jstree.icon && - (o.icon = a.data.jstree.icon), - (o.icon === b || null === o.icon || "" === o.icon) && - (o.icon = !0), - a && a.data && ((o.data = a.data), a.data.jstree)) - ) - for (f in a.data.jstree) - a.data.jstree.hasOwnProperty(f) && - (o.state[f] = a.data.jstree[f]); - if (a && "object" == typeof a.state) - for (f in a.state) - a.state.hasOwnProperty(f) && (o.state[f] = a.state[f]); - if (a && "object" == typeof a.li_attr) - for (f in a.li_attr) - a.li_attr.hasOwnProperty(f) && (o.li_attr[f] = a.li_attr[f]); - if ( - (o.li_attr.id && !o.id && (o.id = o.li_attr.id.toString()), - o.id || (o.id = e), - o.li_attr.id || (o.li_attr.id = o.id), - a && "object" == typeof a.a_attr) - ) - for (f in a.a_attr) - a.a_attr.hasOwnProperty(f) && (o.a_attr[f] = a.a_attr[f]); - if (a && a.children && a.children.length) { - for (f = 0, l = a.children.length; l > f; f++) - ((m = s(a.children[f], o.id, d)), - (n = k[m]), - o.children.push(m), - n.children_d.length && - (o.children_d = o.children_d.concat(n.children_d))); - o.children_d = o.children_d.concat(o.children); - } - return ( - a && - a.children && - a.children === !0 && - ((o.state.loaded = !1), (o.children = []), (o.children_d = [])), - delete a.data, - delete a.children, - (o.original = a), - (k[o.id] = o), - o.state.selected && g.push(o.id), - o.id - ); - }; - if (c.length && c[0].id !== b && c[0].parent !== b) { - for (o = 0, p = c.length; p > o; o++) - (c[o].children || (c[o].children = []), - c[o].state || (c[o].state = {}), - (k[c[o].id.toString()] = c[o])); - for (o = 0, p = c.length; p > o; o++) - k[c[o].parent.toString()] - ? (k[c[o].parent.toString()].children.push(c[o].id.toString()), - l.children_d.push(c[o].id.toString())) - : ((this._data.core.last_error = { - error: "parse", - plugin: "core", - id: "core_07", - reason: "Node with invalid parent", - data: JSON.stringify({ - id: c[o].id.toString(), - parent: c[o].parent.toString(), - }), - }), - this.settings.core.error.call( - this, - this._data.core.last_error, - )); - for (o = 0, p = l.children.length; p > o; o++) - ((n = r(k[l.children[o]], d, l.parents.concat())), - f.push(n), - k[n].children_d.length && (f = f.concat(k[n].children_d))); - for (o = 0, p = l.parents.length; p > o; o++) - k[l.parents[o]].children_d = k[l.parents[o]].children_d.concat(f); - q = { cnt: j, mod: k, sel: m, par: d, dpc: f, add: g }; - } else { - for (o = 0, p = c.length; p > o; o++) - ((n = s(c[o], d, l.parents.concat())), - n && - (e.push(n), - f.push(n), - k[n].children_d.length && (f = f.concat(k[n].children_d)))); - for ( - l.children = e, l.children_d = f, o = 0, p = l.parents.length; - p > o; - o++ - ) - k[l.parents[o]].children_d = k[l.parents[o]].children_d.concat(f); - q = { cnt: j, mod: k, sel: m, par: d, dpc: f, add: g }; - } - return "undefined" != typeof window && - "undefined" != typeof window.document - ? q - : void postMessage(q); - }, - i = function (b, c) { - if (null !== this.element) { - this._cnt = b.cnt; - var e, - f = this._model.data; - for (e in f) - f.hasOwnProperty(e) && - f[e].state && - f[e].state.loading && - b.mod[e] && - (b.mod[e].state.loading = !0); - if (((this._model.data = b.mod), c)) { - var g, - h = b.add, - i = b.sel, - j = this._data.core.selected.slice(); - if ( - ((f = this._model.data), - i.length !== j.length || - a.vakata.array_unique(i.concat(j)).length !== i.length) - ) { - for (e = 0, g = i.length; g > e; e++) - -1 === a.inArray(i[e], h) && - -1 === a.inArray(i[e], j) && - (f[i[e]].state.selected = !1); - for (e = 0, g = j.length; g > e; e++) - -1 === a.inArray(j[e], i) && (f[j[e]].state.selected = !0); - } - } - (b.add.length && - (this._data.core.selected = this._data.core.selected.concat(b.add)), - this.trigger("model", { nodes: b.dpc, parent: b.par }), - b.par !== a.jstree.root - ? (this._node_changed(b.par), this.redraw()) - : this.redraw(!0), - b.add.length && - this.trigger("changed", { - action: "model", - selected: this._data.core.selected, - }), - d.call(this, !0)); - } - }; - if (this.settings.core.worker && window.Blob && window.URL && window.Worker) - try { - (null === this._wrk && - (this._wrk = window.URL.createObjectURL( - new window.Blob(["self.onmessage = " + h.toString()], { - type: "text/javascript", - }), - )), - !this._data.core.working || e - ? ((this._data.core.working = !0), - (f = new window.Worker(this._wrk)), - (f.onmessage = a.proxy(function (a) { - i.call(this, a.data, !0); - try { - (f.terminate(), (f = null)); - } catch (b) {} - this._data.core.worker_queue.length - ? this._append_json_data.apply( - this, - this._data.core.worker_queue.shift(), - ) - : (this._data.core.working = !1); - }, this)), - g.par - ? f.postMessage(g) - : this._data.core.worker_queue.length - ? this._append_json_data.apply( - this, - this._data.core.worker_queue.shift(), - ) - : (this._data.core.working = !1)) - : this._data.core.worker_queue.push([b, c, d, !0])); - } catch (j) { - (i.call(this, h(g), !1), - this._data.core.worker_queue.length - ? this._append_json_data.apply( - this, - this._data.core.worker_queue.shift(), - ) - : (this._data.core.working = !1)); - } - else i.call(this, h(g), !1); - } - }, - _parse_model_from_html: function (c, d, e) { - ((e = e ? [].concat(e) : []), d && e.unshift(d)); - var f, - g, - h = this._model.data, - i = { - id: !1, - text: !1, - icon: !0, - parent: d, - parents: e, - children: [], - children_d: [], - data: null, - state: {}, - li_attr: { id: !1 }, - a_attr: { href: "#" }, - original: !1, - }, - j, - k, - l; - for (j in this._model.default_state) - this._model.default_state.hasOwnProperty(j) && - (i.state[j] = this._model.default_state[j]); - if ( - ((k = a.vakata.attributes(c, !0)), - a.each(k, function (b, c) { - return ( - (c = a.trim(c)), - c.length - ? ((i.li_attr[b] = c), void ("id" === b && (i.id = c.toString()))) - : !0 - ); - }), - (k = c.children("a").first()), - k.length && - ((k = a.vakata.attributes(k, !0)), - a.each(k, function (b, c) { - ((c = a.trim(c)), c.length && (i.a_attr[b] = c)); - })), - (k = c.children("a").first().length - ? c.children("a").first().clone() - : c.clone()), - k.children("ins, i, ul").remove(), - (k = k.html()), - (k = a("
      ").html(k)), - (i.text = this.settings.core.force_text ? k.text() : k.html()), - (k = c.data()), - (i.data = k ? a.extend(!0, {}, k) : null), - (i.state.opened = c.hasClass("jstree-open")), - (i.state.selected = c.children("a").hasClass("jstree-clicked")), - (i.state.disabled = c.children("a").hasClass("jstree-disabled")), - i.data && i.data.jstree) - ) - for (j in i.data.jstree) - i.data.jstree.hasOwnProperty(j) && (i.state[j] = i.data.jstree[j]); - ((k = c.children("a").children(".jstree-themeicon")), - k.length && - (i.icon = k.hasClass("jstree-themeicon-hidden") ? !1 : k.attr("rel")), - i.state.icon !== b && (i.icon = i.state.icon), - (i.icon === b || null === i.icon || "" === i.icon) && (i.icon = !0), - (k = c.children("ul").children("li"))); - do l = "j" + this._id + "_" + ++this._cnt; - while (h[l]); - return ( - (i.id = i.li_attr.id ? i.li_attr.id.toString() : l), - k.length - ? (k.each( - a.proxy(function (b, c) { - ((f = this._parse_model_from_html(a(c), i.id, e)), - (g = this._model.data[f]), - i.children.push(f), - g.children_d.length && - (i.children_d = i.children_d.concat(g.children_d))); - }, this), - ), - (i.children_d = i.children_d.concat(i.children))) - : c.hasClass("jstree-closed") && (i.state.loaded = !1), - i.li_attr["class"] && - (i.li_attr["class"] = i.li_attr["class"] - .replace("jstree-closed", "") - .replace("jstree-open", "")), - i.a_attr["class"] && - (i.a_attr["class"] = i.a_attr["class"] - .replace("jstree-clicked", "") - .replace("jstree-disabled", "")), - (h[i.id] = i), - i.state.selected && this._data.core.selected.push(i.id), - i.id - ); - }, - _parse_model_from_flat_json: function (a, c, d) { - ((d = d ? d.concat() : []), c && d.unshift(c)); - var e = a.id.toString(), - f = this._model.data, - g = this._model.default_state, - h, - i, - j, - k, - l = { - id: e, - text: a.text || "", - icon: a.icon !== b ? a.icon : !0, - parent: c, - parents: d, - children: a.children || [], - children_d: a.children_d || [], - data: a.data, - state: {}, - li_attr: { id: !1 }, - a_attr: { href: "#" }, - original: !1, - }; - for (h in g) g.hasOwnProperty(h) && (l.state[h] = g[h]); - if ( - (a && - a.data && - a.data.jstree && - a.data.jstree.icon && - (l.icon = a.data.jstree.icon), - (l.icon === b || null === l.icon || "" === l.icon) && (l.icon = !0), - a && a.data && ((l.data = a.data), a.data.jstree)) - ) - for (h in a.data.jstree) - a.data.jstree.hasOwnProperty(h) && (l.state[h] = a.data.jstree[h]); - if (a && "object" == typeof a.state) - for (h in a.state) a.state.hasOwnProperty(h) && (l.state[h] = a.state[h]); - if (a && "object" == typeof a.li_attr) - for (h in a.li_attr) - a.li_attr.hasOwnProperty(h) && (l.li_attr[h] = a.li_attr[h]); - if ((l.li_attr.id || (l.li_attr.id = e), a && "object" == typeof a.a_attr)) - for (h in a.a_attr) - a.a_attr.hasOwnProperty(h) && (l.a_attr[h] = a.a_attr[h]); - for ( - a && - a.children && - a.children === !0 && - ((l.state.loaded = !1), (l.children = []), (l.children_d = [])), - f[l.id] = l, - h = 0, - i = l.children.length; - i > h; - h++ - ) - ((j = this._parse_model_from_flat_json(f[l.children[h]], l.id, d)), - (k = f[j]), - l.children_d.push(j), - k.children_d.length && - (l.children_d = l.children_d.concat(k.children_d))); - return ( - delete a.data, - delete a.children, - (f[l.id].original = a), - l.state.selected && this._data.core.selected.push(l.id), - l.id - ); - }, - _parse_model_from_json: function (a, c, d) { - ((d = d ? d.concat() : []), c && d.unshift(c)); - var e = !1, - f, - g, - h, - i, - j = this._model.data, - k = this._model.default_state, - l; - do e = "j" + this._id + "_" + ++this._cnt; - while (j[e]); - l = { - id: !1, - text: "string" == typeof a ? a : "", - icon: "object" == typeof a && a.icon !== b ? a.icon : !0, - parent: c, - parents: d, - children: [], - children_d: [], - data: null, - state: {}, - li_attr: { id: !1 }, - a_attr: { href: "#" }, - original: !1, - }; - for (f in k) k.hasOwnProperty(f) && (l.state[f] = k[f]); - if ( - (a && a.id && (l.id = a.id.toString()), - a && a.text && (l.text = a.text), - a && - a.data && - a.data.jstree && - a.data.jstree.icon && - (l.icon = a.data.jstree.icon), - (l.icon === b || null === l.icon || "" === l.icon) && (l.icon = !0), - a && a.data && ((l.data = a.data), a.data.jstree)) - ) - for (f in a.data.jstree) - a.data.jstree.hasOwnProperty(f) && (l.state[f] = a.data.jstree[f]); - if (a && "object" == typeof a.state) - for (f in a.state) a.state.hasOwnProperty(f) && (l.state[f] = a.state[f]); - if (a && "object" == typeof a.li_attr) - for (f in a.li_attr) - a.li_attr.hasOwnProperty(f) && (l.li_attr[f] = a.li_attr[f]); - if ( - (l.li_attr.id && !l.id && (l.id = l.li_attr.id.toString()), - l.id || (l.id = e), - l.li_attr.id || (l.li_attr.id = l.id), - a && "object" == typeof a.a_attr) - ) - for (f in a.a_attr) - a.a_attr.hasOwnProperty(f) && (l.a_attr[f] = a.a_attr[f]); - if (a && a.children && a.children.length) { - for (f = 0, g = a.children.length; g > f; f++) - ((h = this._parse_model_from_json(a.children[f], l.id, d)), - (i = j[h]), - l.children.push(h), - i.children_d.length && - (l.children_d = l.children_d.concat(i.children_d))); - l.children_d = l.children_d.concat(l.children); - } - return ( - a && - a.children && - a.children === !0 && - ((l.state.loaded = !1), (l.children = []), (l.children_d = [])), - delete a.data, - delete a.children, - (l.original = a), - (j[l.id] = l), - l.state.selected && this._data.core.selected.push(l.id), - l.id - ); - }, - _redraw: function () { - var b = this._model.force_full_redraw - ? this._model.data[a.jstree.root].children.concat([]) - : this._model.changed.concat([]), - c = i.createElement("UL"), - d, - e, - f, - g = this._data.core.focused; - for (e = 0, f = b.length; f > e; e++) - ((d = this.redraw_node(b[e], !0, this._model.force_full_redraw)), - d && this._model.force_full_redraw && c.appendChild(d)); - (this._model.force_full_redraw && - ((c.className = this.get_container_ul()[0].className), - c.setAttribute("role", "group"), - this.element.empty().append(c)), - null !== g && - this.settings.core.restore_focus && - ((d = this.get_node(g, !0)), - d && d.length && d.children(".jstree-anchor")[0] !== i.activeElement - ? d.children(".jstree-anchor").focus() - : (this._data.core.focused = null)), - (this._model.force_full_redraw = !1), - (this._model.changed = []), - this.trigger("redraw", { nodes: b })); - }, - redraw: function (a) { - (a && (this._model.force_full_redraw = !0), this._redraw()); - }, - draw_children: function (b) { - var c = this.get_node(b), - d = !1, - e = !1, - f = !1, - g = i; - if (!c) return !1; - if (c.id === a.jstree.root) return this.redraw(!0); - if (((b = this.get_node(b, !0)), !b || !b.length)) return !1; - if ( - (b.children(".jstree-children").remove(), - (b = b[0]), - c.children.length && c.state.loaded) - ) { - for ( - f = g.createElement("UL"), - f.setAttribute("role", "group"), - f.className = "jstree-children", - d = 0, - e = c.children.length; - e > d; - d++ - ) - f.appendChild(this.redraw_node(c.children[d], !0, !0)); - b.appendChild(f); - } - }, - redraw_node: function (b, c, d, e) { - var f = this.get_node(b), - g = !1, - h = !1, - j = !1, - k = !1, - l = !1, - m = !1, - n = "", - o = i, - p = this._model.data, - q = !1, - r = !1, - s = null, - t = 0, - u = 0, - v = !1, - w = !1; - if (!f) return !1; - if (f.id === a.jstree.root) return this.redraw(!0); - if ( - ((c = c || 0 === f.children.length), - (b = i.querySelector - ? this.element[0].querySelector( - "#" + - (-1 !== "0123456789".indexOf(f.id[0]) - ? "\\3" + - f.id[0] + - " " + - f.id.substr(1).replace(a.jstree.idregex, "\\$&") - : f.id.replace(a.jstree.idregex, "\\$&")), - ) - : i.getElementById(f.id))) - ) - ((b = a(b)), - d || - ((g = b.parent().parent()[0]), - g === this.element[0] && (g = null), - (h = b.index())), - c || - !f.children.length || - b.children(".jstree-children").length || - (c = !0), - c || (j = b.children(".jstree-children")[0]), - (q = b.children(".jstree-anchor")[0] === i.activeElement), - b.remove()); - else if (((c = !0), !d)) { - if ( - ((g = - f.parent !== a.jstree.root - ? a("#" + f.parent.replace(a.jstree.idregex, "\\$&"), this.element)[0] - : null), - !(null === g || (g && p[f.parent].state.opened))) - ) - return !1; - h = a.inArray( - f.id, - null === g ? p[a.jstree.root].children : p[f.parent].children, - ); - } - ((b = this._data.core.node.cloneNode(!0)), (n = "jstree-node ")); - for (k in f.li_attr) - if (f.li_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - "class" !== k ? b.setAttribute(k, f.li_attr[k]) : (n += f.li_attr[k]); - } - for ( - f.a_attr.id || (f.a_attr.id = f.id + "_anchor"), - b.setAttribute("aria-selected", !!f.state.selected), - b.setAttribute("aria-level", f.parents.length), - b.setAttribute("aria-labelledby", f.a_attr.id), - f.state.disabled && b.setAttribute("aria-disabled", !0), - k = 0, - l = f.children.length; - l > k; - k++ - ) - if (!p[f.children[k]].state.hidden) { - v = !0; - break; - } - if ( - null !== f.parent && - p[f.parent] && - !f.state.hidden && - ((k = a.inArray(f.id, p[f.parent].children)), (w = f.id), -1 !== k) - ) - for (k++, l = p[f.parent].children.length; l > k; k++) - if ( - (p[p[f.parent].children[k]].state.hidden || - (w = p[f.parent].children[k]), - w !== f.id) - ) - break; - (f.state.hidden && (n += " jstree-hidden"), - f.state.loading && (n += " jstree-loading"), - f.state.loaded && !v - ? (n += " jstree-leaf") - : ((n += - f.state.opened && f.state.loaded ? " jstree-open" : " jstree-closed"), - b.setAttribute("aria-expanded", f.state.opened && f.state.loaded)), - w === f.id && (n += " jstree-last"), - (b.id = f.id), - (b.className = n), - (n = - (f.state.selected ? " jstree-clicked" : "") + - (f.state.disabled ? " jstree-disabled" : ""))); - for (l in f.a_attr) - if (f.a_attr.hasOwnProperty(l)) { - if ("href" === l && "#" === f.a_attr[l]) continue; - "class" !== l - ? b.childNodes[1].setAttribute(l, f.a_attr[l]) - : (n += " " + f.a_attr[l]); - } - if ( - (n.length && (b.childNodes[1].className = "jstree-anchor " + n), - ((f.icon && f.icon !== !0) || f.icon === !1) && - (f.icon === !1 - ? (b.childNodes[1].childNodes[0].className += - " jstree-themeicon-hidden") - : -1 === f.icon.indexOf("/") && -1 === f.icon.indexOf(".") - ? (b.childNodes[1].childNodes[0].className += - " " + f.icon + " jstree-themeicon-custom") - : ((b.childNodes[1].childNodes[0].style.backgroundImage = - 'url("' + f.icon + '")'), - (b.childNodes[1].childNodes[0].style.backgroundPosition = - "center center"), - (b.childNodes[1].childNodes[0].style.backgroundSize = "auto"), - (b.childNodes[1].childNodes[0].className += - " jstree-themeicon-custom"))), - this.settings.core.force_text - ? b.childNodes[1].appendChild(o.createTextNode(f.text)) - : (b.childNodes[1].innerHTML += f.text), - c && f.children.length && (f.state.opened || e) && f.state.loaded) - ) { - for ( - m = o.createElement("UL"), - m.setAttribute("role", "group"), - m.className = "jstree-children", - k = 0, - l = f.children.length; - l > k; - k++ - ) - m.appendChild(this.redraw_node(f.children[k], c, !0)); - b.appendChild(m); - } - if ((j && b.appendChild(j), !d)) { - for (g || (g = this.element[0]), k = 0, l = g.childNodes.length; l > k; k++) - if ( - g.childNodes[k] && - g.childNodes[k].className && - -1 !== g.childNodes[k].className.indexOf("jstree-children") - ) { - s = g.childNodes[k]; - break; - } - (s || - ((s = o.createElement("UL")), - s.setAttribute("role", "group"), - (s.className = "jstree-children"), - g.appendChild(s)), - (g = s), - h < g.childNodes.length - ? g.insertBefore(b, g.childNodes[h]) - : g.appendChild(b), - q && - ((t = this.element[0].scrollTop), - (u = this.element[0].scrollLeft), - b.childNodes[1].focus(), - (this.element[0].scrollTop = t), - (this.element[0].scrollLeft = u))); - } - return ( - f.state.opened && - !f.state.loaded && - ((f.state.opened = !1), - setTimeout( - a.proxy(function () { - this.open_node(f.id, !1, 0); - }, this), - 0, - )), - b - ); - }, - open_node: function (c, d, e) { - var f, g, h, i; - if (a.isArray(c)) { - for (c = c.slice(), f = 0, g = c.length; g > f; f++) - this.open_node(c[f], d, e); - return !0; - } - return ( - (c = this.get_node(c)), - c && c.id !== a.jstree.root - ? ((e = e === b ? this.settings.core.animation : e), - this.is_closed(c) - ? this.is_loaded(c) - ? ((h = this.get_node(c, !0)), - (i = this), - h.length && - (e && - h.children(".jstree-children").length && - h.children(".jstree-children").stop(!0, !0), - c.children.length && - !this._firstChild(h.children(".jstree-children")[0]) && - this.draw_children(c), - e - ? (this.trigger("before_open", { node: c }), - h - .children(".jstree-children") - .css("display", "none") - .end() - .removeClass("jstree-closed") - .addClass("jstree-open") - .attr("aria-expanded", !0) - .children(".jstree-children") - .stop(!0, !0) - .slideDown(e, function () { - ((this.style.display = ""), - i.element && i.trigger("after_open", { node: c })); - })) - : (this.trigger("before_open", { node: c }), - (h[0].className = h[0].className.replace( - "jstree-closed", - "jstree-open", - )), - h[0].setAttribute("aria-expanded", !0))), - (c.state.opened = !0), - d && d.call(this, c, !0), - h.length || this.trigger("before_open", { node: c }), - this.trigger("open_node", { node: c }), - (e && h.length) || this.trigger("after_open", { node: c }), - !0) - : this.is_loading(c) - ? setTimeout( - a.proxy(function () { - this.open_node(c, d, e); - }, this), - 500, - ) - : void this.load_node(c, function (a, b) { - return b - ? this.open_node(a, d, e) - : d - ? d.call(this, a, !1) - : !1; - }) - : (d && d.call(this, c, !1), !1)) - : !1 - ); - }, - _open_to: function (b) { - if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; - var c, - d, - e = b.parents; - for (c = 0, d = e.length; d > c; c += 1) - c !== a.jstree.root && this.open_node(e[c], !1, 0); - return a("#" + b.id.replace(a.jstree.idregex, "\\$&"), this.element); - }, - close_node: function (c, d) { - var e, f, g, h; - if (a.isArray(c)) { - for (c = c.slice(), e = 0, f = c.length; f > e; e++) - this.close_node(c[e], d); - return !0; - } - return ( - (c = this.get_node(c)), - c && c.id !== a.jstree.root - ? this.is_closed(c) - ? !1 - : ((d = d === b ? this.settings.core.animation : d), - (g = this), - (h = this.get_node(c, !0)), - (c.state.opened = !1), - this.trigger("close_node", { node: c }), - void (h.length - ? d - ? h - .children(".jstree-children") - .attr("style", "display:block !important") - .end() - .removeClass("jstree-open") - .addClass("jstree-closed") - .attr("aria-expanded", !1) - .children(".jstree-children") - .stop(!0, !0) - .slideUp(d, function () { - ((this.style.display = ""), - h.children(".jstree-children").remove(), - g.element && g.trigger("after_close", { node: c })); - }) - : ((h[0].className = h[0].className.replace( - "jstree-open", - "jstree-closed", - )), - h - .attr("aria-expanded", !1) - .children(".jstree-children") - .remove(), - this.trigger("after_close", { node: c })) - : this.trigger("after_close", { node: c }))) - : !1 - ); - }, - toggle_node: function (b) { - var c, d; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.toggle_node(b[c]); - return !0; - } - return this.is_closed(b) - ? this.open_node(b) - : this.is_open(b) - ? this.close_node(b) - : void 0; - }, - open_all: function (b, c, d) { - if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; - var e = - b.id === a.jstree.root ? this.get_container_ul() : this.get_node(b, !0), - f, - g, - h; - if (!e.length) { - for (f = 0, g = b.children_d.length; g > f; f++) - this.is_closed(this._model.data[b.children_d[f]]) && - (this._model.data[b.children_d[f]].state.opened = !0); - return this.trigger("open_all", { node: b }); - } - ((d = d || e), - (h = this), - (e = this.is_closed(b) - ? e.find(".jstree-closed").addBack() - : e.find(".jstree-closed")), - e.each(function () { - h.open_node( - this, - function (a, b) { - b && this.is_parent(a) && this.open_all(a, c, d); - }, - c || 0, - ); - }), - 0 === d.find(".jstree-closed").length && - this.trigger("open_all", { node: this.get_node(d) })); - }, - close_all: function (b, c) { - if ((b || (b = a.jstree.root), (b = this.get_node(b)), !b)) return !1; - var d = - b.id === a.jstree.root ? this.get_container_ul() : this.get_node(b, !0), - e = this, - f, - g; - for ( - d.length && - ((d = this.is_open(b) - ? d.find(".jstree-open").addBack() - : d.find(".jstree-open")), - a(d.get().reverse()).each(function () { - e.close_node(this, c || 0); - })), - f = 0, - g = b.children_d.length; - g > f; - f++ - ) - this._model.data[b.children_d[f]].state.opened = !1; - this.trigger("close_all", { node: b }); - }, - is_disabled: function (a) { - return ((a = this.get_node(a)), a && a.state && a.state.disabled); - }, - enable_node: function (b) { - var c, d; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.enable_node(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((b.state.disabled = !1), - this.get_node(b, !0) - .children(".jstree-anchor") - .removeClass("jstree-disabled") - .attr("aria-disabled", !1), - void this.trigger("enable_node", { node: b })) - : !1 - ); - }, - disable_node: function (b) { - var c, d; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) - this.disable_node(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((b.state.disabled = !0), - this.get_node(b, !0) - .children(".jstree-anchor") - .addClass("jstree-disabled") - .attr("aria-disabled", !0), - void this.trigger("disable_node", { node: b })) - : !1 - ); - }, - is_hidden: function (a) { - return ((a = this.get_node(a)), a.state.hidden === !0); - }, - hide_node: function (b, c) { - var d, e; - if (a.isArray(b)) { - for (b = b.slice(), d = 0, e = b.length; e > d; d++) - this.hide_node(b[d], !0); - return (c || this.redraw(), !0); - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? void ( - b.state.hidden || - ((b.state.hidden = !0), - this._node_changed(b.parent), - c || this.redraw(), - this.trigger("hide_node", { node: b })) - ) - : !1 - ); - }, - show_node: function (b, c) { - var d, e; - if (a.isArray(b)) { - for (b = b.slice(), d = 0, e = b.length; e > d; d++) - this.show_node(b[d], !0); - return (c || this.redraw(), !0); - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? void ( - b.state.hidden && - ((b.state.hidden = !1), - this._node_changed(b.parent), - c || this.redraw(), - this.trigger("show_node", { node: b })) - ) - : !1 - ); - }, - hide_all: function (b) { - var c, - d = this._model.data, - e = []; - for (c in d) - d.hasOwnProperty(c) && - c !== a.jstree.root && - !d[c].state.hidden && - ((d[c].state.hidden = !0), e.push(c)); - return ( - (this._model.force_full_redraw = !0), - b || this.redraw(), - this.trigger("hide_all", { nodes: e }), - e - ); - }, - show_all: function (b) { - var c, - d = this._model.data, - e = []; - for (c in d) - d.hasOwnProperty(c) && - c !== a.jstree.root && - d[c].state.hidden && - ((d[c].state.hidden = !1), e.push(c)); - return ( - (this._model.force_full_redraw = !0), - b || this.redraw(), - this.trigger("show_all", { nodes: e }), - e - ); - }, - activate_node: function (a, c) { - if (this.is_disabled(a)) return !1; - if ( - ((c && "object" == typeof c) || (c = {}), - (this._data.core.last_clicked = - this._data.core.last_clicked && this._data.core.last_clicked.id !== b - ? this.get_node(this._data.core.last_clicked.id) - : null), - this._data.core.last_clicked && - !this._data.core.last_clicked.state.selected && - (this._data.core.last_clicked = null), - !this._data.core.last_clicked && - this._data.core.selected.length && - (this._data.core.last_clicked = this.get_node( - this._data.core.selected[this._data.core.selected.length - 1], - )), - this.settings.core.multiple && - (c.metaKey || c.ctrlKey || c.shiftKey) && - (!c.shiftKey || - (this._data.core.last_clicked && - this.get_parent(a) && - this.get_parent(a) === this._data.core.last_clicked.parent))) - ) - if (c.shiftKey) { - var d = this.get_node(a).id, - e = this._data.core.last_clicked.id, - f = this.get_node(this._data.core.last_clicked.parent).children, - g = !1, - h, - i; - for (h = 0, i = f.length; i > h; h += 1) - (f[h] === d && (g = !g), - f[h] === e && (g = !g), - this.is_disabled(f[h]) || (!g && f[h] !== d && f[h] !== e) - ? this.deselect_node(f[h], !0, c) - : this.is_hidden(f[h]) || this.select_node(f[h], !0, !1, c)); - this.trigger("changed", { - action: "select_node", - node: this.get_node(a), - selected: this._data.core.selected, - event: c, - }); - } else - this.is_selected(a) - ? this.deselect_node(a, !1, c) - : this.select_node(a, !1, !1, c); - else - !this.settings.core.multiple && - (c.metaKey || c.ctrlKey || c.shiftKey) && - this.is_selected(a) - ? this.deselect_node(a, !1, c) - : (this.deselect_all(!0), - this.select_node(a, !1, !1, c), - (this._data.core.last_clicked = this.get_node(a))); - this.trigger("activate_node", { node: this.get_node(a), event: c }); - }, - hover_node: function (a) { - if ( - ((a = this.get_node(a, !0)), - !a || !a.length || a.children(".jstree-hovered").length) - ) - return !1; - var b = this.element.find(".jstree-hovered"), - c = this.element; - (b && b.length && this.dehover_node(b), - a.children(".jstree-anchor").addClass("jstree-hovered"), - this.trigger("hover_node", { node: this.get_node(a) }), - setTimeout(function () { - c.attr("aria-activedescendant", a[0].id); - }, 0)); - }, - dehover_node: function (a) { - return ( - (a = this.get_node(a, !0)), - a && a.length && a.children(".jstree-hovered").length - ? (a.children(".jstree-anchor").removeClass("jstree-hovered"), - void this.trigger("dehover_node", { node: this.get_node(a) })) - : !1 - ); - }, - select_node: function (b, c, d, e) { - var f, g, h, i; - if (a.isArray(b)) { - for (b = b.slice(), g = 0, h = b.length; h > g; g++) - this.select_node(b[g], c, d, e); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((f = this.get_node(b, !0)), - void ( - b.state.selected || - ((b.state.selected = !0), - this._data.core.selected.push(b.id), - d || (f = this._open_to(b)), - f && - f.length && - f - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass("jstree-clicked"), - this.trigger("select_node", { - node: b, - selected: this._data.core.selected, - event: e, - }), - c || - this.trigger("changed", { - action: "select_node", - node: b, - selected: this._data.core.selected, - event: e, - })) - )) - : !1 - ); - }, - deselect_node: function (b, c, d) { - var e, f, g; - if (a.isArray(b)) { - for (b = b.slice(), e = 0, f = b.length; f > e; e++) - this.deselect_node(b[e], c, d); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((g = this.get_node(b, !0)), - void ( - b.state.selected && - ((b.state.selected = !1), - (this._data.core.selected = a.vakata.array_remove_item( - this._data.core.selected, - b.id, - )), - g.length && - g - .attr("aria-selected", !1) - .children(".jstree-anchor") - .removeClass("jstree-clicked"), - this.trigger("deselect_node", { - node: b, - selected: this._data.core.selected, - event: d, - }), - c || - this.trigger("changed", { - action: "deselect_node", - node: b, - selected: this._data.core.selected, - event: d, - })) - )) - : !1 - ); - }, - select_all: function (b) { - var c = this._data.core.selected.concat([]), - d, - e; - for ( - this._data.core.selected = - this._model.data[a.jstree.root].children_d.concat(), - d = 0, - e = this._data.core.selected.length; - e > d; - d++ - ) - this._model.data[this._data.core.selected[d]] && - (this._model.data[this._data.core.selected[d]].state.selected = !0); - (this.redraw(!0), - this.trigger("select_all", { selected: this._data.core.selected }), - b || - this.trigger("changed", { - action: "select_all", - selected: this._data.core.selected, - old_selection: c, - })); - }, - deselect_all: function (a) { - var b = this._data.core.selected.concat([]), - c, - d; - for (c = 0, d = this._data.core.selected.length; d > c; c++) - this._model.data[this._data.core.selected[c]] && - (this._model.data[this._data.core.selected[c]].state.selected = !1); - ((this._data.core.selected = []), - this.element - .find(".jstree-clicked") - .removeClass("jstree-clicked") - .parent() - .attr("aria-selected", !1), - this.trigger("deselect_all", { - selected: this._data.core.selected, - node: b, - }), - a || - this.trigger("changed", { - action: "deselect_all", - selected: this._data.core.selected, - old_selection: b, - })); - }, - is_selected: function (b) { - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root ? b.state.selected : !1 - ); - }, - get_selected: function (b) { - return b - ? a.map( - this._data.core.selected, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : this._data.core.selected.slice(); - }, - get_top_selected: function (b) { - var c = this.get_selected(!0), - d = {}, - e, - f, - g, - h; - for (e = 0, f = c.length; f > e; e++) d[c[e].id] = c[e]; - for (e = 0, f = c.length; f > e; e++) - for (g = 0, h = c[e].children_d.length; h > g; g++) - d[c[e].children_d[g]] && delete d[c[e].children_d[g]]; - c = []; - for (e in d) d.hasOwnProperty(e) && c.push(e); - return b - ? a.map( - c, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : c; - }, - get_bottom_selected: function (b) { - var c = this.get_selected(!0), - d = [], - e, - f; - for (e = 0, f = c.length; f > e; e++) c[e].children.length || d.push(c[e].id); - return b - ? a.map( - d, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : d; - }, - get_state: function () { - var b = { - core: { - open: [], - loaded: [], - scroll: { - left: this.element.scrollLeft(), - top: this.element.scrollTop(), - }, - selected: [], - }, - }, - c; - for (c in this._model.data) - this._model.data.hasOwnProperty(c) && - c !== a.jstree.root && - (this._model.data[c].state.loaded && - this.settings.core.loaded_state && - b.core.loaded.push(c), - this._model.data[c].state.opened && b.core.open.push(c), - this._model.data[c].state.selected && b.core.selected.push(c)); - return b; - }, - set_state: function (c, d) { - if (c) { - if ( - (c.core && - c.core.selected && - c.core.initial_selection === b && - (c.core.initial_selection = this._data.core.selected - .concat([]) - .sort() - .join(",")), - c.core) - ) { - var e, f, g, h, i; - if (c.core.loaded) - return ( - this.settings.core.loaded_state && - a.isArray(c.core.loaded) && - c.core.loaded.length - ? this._load_nodes(c.core.loaded, function (a) { - (delete c.core.loaded, this.set_state(c, d)); - }) - : (delete c.core.loaded, this.set_state(c, d)), - !1 - ); - if (c.core.open) - return ( - a.isArray(c.core.open) && c.core.open.length - ? this._load_nodes(c.core.open, function (a) { - (this.open_node(a, !1, 0), - delete c.core.open, - this.set_state(c, d)); - }) - : (delete c.core.open, this.set_state(c, d)), - !1 - ); - if (c.core.scroll) - return ( - c.core.scroll && - c.core.scroll.left !== b && - this.element.scrollLeft(c.core.scroll.left), - c.core.scroll && - c.core.scroll.top !== b && - this.element.scrollTop(c.core.scroll.top), - delete c.core.scroll, - this.set_state(c, d), - !1 - ); - if (c.core.selected) - return ( - (h = this), - (c.core.initial_selection === b || - c.core.initial_selection === - this._data.core.selected.concat([]).sort().join(",")) && - (this.deselect_all(), - a.each(c.core.selected, function (a, b) { - h.select_node(b, !1, !0); - })), - delete c.core.initial_selection, - delete c.core.selected, - this.set_state(c, d), - !1 - ); - for (i in c) - c.hasOwnProperty(i) && - "core" !== i && - -1 === a.inArray(i, this.settings.plugins) && - delete c[i]; - if (a.isEmptyObject(c.core)) - return (delete c.core, this.set_state(c, d), !1); - } - return a.isEmptyObject(c) - ? ((c = null), d && d.call(this), this.trigger("set_state"), !1) - : !0; - } - return !1; - }, - refresh: function (b, c) { - ((this._data.core.state = c === !0 ? {} : this.get_state()), - c && - a.isFunction(c) && - (this._data.core.state = c.call(this, this._data.core.state)), - (this._cnt = 0), - (this._model.data = {}), - (this._model.data[a.jstree.root] = { - id: a.jstree.root, - parent: null, - parents: [], - children: [], - children_d: [], - state: { loaded: !1 }, - }), - (this._data.core.selected = []), - (this._data.core.last_clicked = null), - (this._data.core.focused = null)); - var d = this.get_container_ul()[0].className; - (b || - (this.element.html( - "", - ), - this.element.attr("aria-activedescendant", "j" + this._id + "_loading")), - this.load_node(a.jstree.root, function (b, c) { - (c && - ((this.get_container_ul()[0].className = d), - this._firstChild(this.get_container_ul()[0]) && - this.element.attr( - "aria-activedescendant", - this._firstChild(this.get_container_ul()[0]).id, - ), - this.set_state(a.extend(!0, {}, this._data.core.state), function () { - this.trigger("refresh"); - })), - (this._data.core.state = null)); - })); - }, - refresh_node: function (b) { - if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; - var c = [], - d = [], - e = this._data.core.selected.concat([]); - (d.push(b.id), - b.state.opened === !0 && c.push(b.id), - this.get_node(b, !0) - .find(".jstree-open") - .each(function () { - (d.push(this.id), c.push(this.id)); - }), - this._load_nodes( - d, - a.proxy(function (a) { - (this.open_node(c, !1, 0), - this.select_node(e), - this.trigger("refresh_node", { node: b, nodes: a })); - }, this), - !1, - !0, - )); - }, - set_id: function (b, c) { - if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; - var d, - e, - f = this._model.data, - g = b.id; - for ( - c = c.toString(), - f[b.parent].children[a.inArray(b.id, f[b.parent].children)] = c, - d = 0, - e = b.parents.length; - e > d; - d++ - ) - f[b.parents[d]].children_d[a.inArray(b.id, f[b.parents[d]].children_d)] = c; - for (d = 0, e = b.children.length; e > d; d++) f[b.children[d]].parent = c; - for (d = 0, e = b.children_d.length; e > d; d++) - f[b.children_d[d]].parents[a.inArray(b.id, f[b.children_d[d]].parents)] = c; - return ( - (d = a.inArray(b.id, this._data.core.selected)), - -1 !== d && (this._data.core.selected[d] = c), - (d = this.get_node(b.id, !0)), - d && - (d.attr("id", c), - this.element.attr("aria-activedescendant") === b.id && - this.element.attr("aria-activedescendant", c)), - delete f[b.id], - (b.id = c), - (b.li_attr.id = c), - (f[c] = b), - this.trigger("set_id", { node: b, new: b.id, old: g }), - !0 - ); - }, - get_text: function (b) { - return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.text : !1); - }, - set_text: function (b, c) { - var d, e; - if (a.isArray(b)) { - for (b = b.slice(), d = 0, e = b.length; e > d; d++) this.set_text(b[d], c); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((b.text = c), - this.get_node(b, !0).length && this.redraw_node(b.id), - this.trigger("set_text", { obj: b, text: c }), - !0) - : !1 - ); - }, - get_json: function (b, c, d) { - if (((b = this.get_node(b || a.jstree.root)), !b)) return !1; - c && c.flat && !d && (d = []); - var e = { - id: b.id, - text: b.text, - icon: this.get_icon(b), - li_attr: a.extend(!0, {}, b.li_attr), - a_attr: a.extend(!0, {}, b.a_attr), - state: {}, - data: - c && c.no_data ? !1 : a.extend(!0, a.isArray(b.data) ? [] : {}, b.data), - }, - f, - g; - if ( - (c && c.flat ? (e.parent = b.parent) : (e.children = []), c && c.no_state) - ) - delete e.state; - else - for (f in b.state) b.state.hasOwnProperty(f) && (e.state[f] = b.state[f]); - if ( - (c && c.no_li_attr && delete e.li_attr, - c && c.no_a_attr && delete e.a_attr, - c && - c.no_id && - (delete e.id, - e.li_attr && e.li_attr.id && delete e.li_attr.id, - e.a_attr && e.a_attr.id && delete e.a_attr.id), - c && c.flat && b.id !== a.jstree.root && d.push(e), - !c || !c.no_children) - ) - for (f = 0, g = b.children.length; g > f; f++) - c && c.flat - ? this.get_json(b.children[f], c, d) - : e.children.push(this.get_json(b.children[f], c)); - return c && c.flat ? d : b.id === a.jstree.root ? e.children : e; - }, - create_node: function (c, d, e, f, g) { - if ((null === c && (c = a.jstree.root), (c = this.get_node(c)), !c)) - return !1; - if ( - ((e = e === b ? "last" : e), - !e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(c)) - ) - return this.load_node(c, function () { - this.create_node(c, d, e, f, !0); - }); - (d || (d = { text: this.get_string("New node") }), - (d = "string" == typeof d ? { text: d } : a.extend(!0, {}, d)), - d.text === b && (d.text = this.get_string("New node"))); - var h, i, j, k; - switch ( - (c.id === a.jstree.root && - ("before" === e && (e = "first"), "after" === e && (e = "last")), - e) - ) { - case "before": - ((h = this.get_node(c.parent)), - (e = a.inArray(c.id, h.children)), - (c = h)); - break; - case "after": - ((h = this.get_node(c.parent)), - (e = a.inArray(c.id, h.children) + 1), - (c = h)); - break; - case "inside": - case "first": - e = 0; - break; - case "last": - e = c.children.length; - break; - default: - e || (e = 0); - } - if ( - (e > c.children.length && (e = c.children.length), - d.id || (d.id = !0), - !this.check("create_node", d, c, e)) - ) - return ( - this.settings.core.error.call(this, this._data.core.last_error), - !1 - ); - if ( - (d.id === !0 && delete d.id, - (d = this._parse_model_from_json(d, c.id, c.parents.concat())), - !d) - ) - return !1; - for ( - h = this.get_node(d), - i = [], - i.push(d), - i = i.concat(h.children_d), - this.trigger("model", { nodes: i, parent: c.id }), - c.children_d = c.children_d.concat(i), - j = 0, - k = c.parents.length; - k > j; - j++ - ) - this._model.data[c.parents[j]].children_d = - this._model.data[c.parents[j]].children_d.concat(i); - for (d = h, h = [], j = 0, k = c.children.length; k > j; j++) - h[j >= e ? j + 1 : j] = c.children[j]; - return ( - (h[e] = d.id), - (c.children = h), - this.redraw_node(c, !0), - this.trigger("create_node", { - node: this.get_node(d), - parent: c.id, - position: e, - }), - f && f.call(this, this.get_node(d)), - d.id - ); - }, - rename_node: function (b, c) { - var d, e, f; - if (a.isArray(b)) { - for (b = b.slice(), d = 0, e = b.length; e > d; d++) - this.rename_node(b[d], c); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((f = b.text), - this.check("rename_node", b, this.get_parent(b), c) - ? (this.set_text(b, c), - this.trigger("rename_node", { node: b, text: c, old: f }), - !0) - : (this.settings.core.error.call(this, this._data.core.last_error), - !1)) - : !1 - ); - }, - delete_node: function (b) { - var c, d, e, f, g, h, i, j, k, l, m, n; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.delete_node(b[c]); - return !0; - } - if (((b = this.get_node(b)), !b || b.id === a.jstree.root)) return !1; - if ( - ((e = this.get_node(b.parent)), - (f = a.inArray(b.id, e.children)), - (l = !1), - !this.check("delete_node", b, e, f)) - ) - return ( - this.settings.core.error.call(this, this._data.core.last_error), - !1 - ); - for ( - -1 !== f && (e.children = a.vakata.array_remove(e.children, f)), - g = b.children_d.concat([]), - g.push(b.id), - h = 0, - i = b.parents.length; - i > h; - h++ - ) - this._model.data[b.parents[h]].children_d = a.vakata.array_filter( - this._model.data[b.parents[h]].children_d, - function (b) { - return -1 === a.inArray(b, g); - }, - ); - for (j = 0, k = g.length; k > j; j++) - if (this._model.data[g[j]].state.selected) { - l = !0; - break; - } - for ( - l && - (this._data.core.selected = a.vakata.array_filter( - this._data.core.selected, - function (b) { - return -1 === a.inArray(b, g); - }, - )), - this.trigger("delete_node", { node: b, parent: e.id }), - l && - this.trigger("changed", { - action: "delete_node", - node: b, - selected: this._data.core.selected, - parent: e.id, - }), - j = 0, - k = g.length; - k > j; - j++ - ) - delete this._model.data[g[j]]; - return ( - -1 !== a.inArray(this._data.core.focused, g) && - ((this._data.core.focused = null), - (m = this.element[0].scrollTop), - (n = this.element[0].scrollLeft), - e.id === a.jstree.root - ? this._model.data[a.jstree.root].children[0] && - this.get_node(this._model.data[a.jstree.root].children[0], !0) - .children(".jstree-anchor") - .focus() - : this.get_node(e, !0).children(".jstree-anchor").focus(), - (this.element[0].scrollTop = m), - (this.element[0].scrollLeft = n)), - this.redraw_node(e, !0), - !0 - ); - }, - check: function (b, c, d, e, f) { - ((c = c && c.id ? c : this.get_node(c)), - (d = d && d.id ? d : this.get_node(d))); - var g = b.match(/^move_node|copy_node|create_node$/i) ? d : c, - h = this.settings.core.check_callback; - return ("move_node" !== b && "copy_node" !== b) || - (f && f.is_multi) || - (c.id !== d.id && - ("move_node" !== b || a.inArray(c.id, d.children) !== e) && - -1 === a.inArray(d.id, c.children_d)) - ? (g && g.data && (g = g.data), - g && g.functions && (g.functions[b] === !1 || g.functions[b] === !0) - ? (g.functions[b] === !1 && - (this._data.core.last_error = { - error: "check", - plugin: "core", - id: "core_02", - reason: "Node data prevents function: " + b, - data: JSON.stringify({ - chk: b, - pos: e, - obj: c && c.id ? c.id : !1, - par: d && d.id ? d.id : !1, - }), - }), - g.functions[b]) - : h === !1 || - (a.isFunction(h) && h.call(this, b, c, d, e, f) === !1) || - (h && h[b] === !1) - ? ((this._data.core.last_error = { - error: "check", - plugin: "core", - id: "core_03", - reason: - "User config for core.check_callback prevents function: " + b, - data: JSON.stringify({ - chk: b, - pos: e, - obj: c && c.id ? c.id : !1, - par: d && d.id ? d.id : !1, - }), - }), - !1) - : !0) - : ((this._data.core.last_error = { - error: "check", - plugin: "core", - id: "core_01", - reason: "Moving parent inside child", - data: JSON.stringify({ - chk: b, - pos: e, - obj: c && c.id ? c.id : !1, - par: d && d.id ? d.id : !1, - }), - }), - !1); - }, - last_error: function () { - return this._data.core.last_error; - }, - move_node: function (c, d, e, f, g, h, i) { - var j, k, l, m, n, o, p, q, r, s, t, u, v, w; - if (((d = this.get_node(d)), (e = e === b ? 0 : e), !d)) return !1; - if (!e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(d)) - return this.load_node(d, function () { - this.move_node(c, d, e, f, !0, !1, i); - }); - if (a.isArray(c)) { - if (1 !== c.length) { - for (j = 0, k = c.length; k > j; j++) - (r = this.move_node(c[j], d, e, f, g, !1, i)) && - ((d = r), (e = "after")); - return (this.redraw(), !0); - } - c = c[0]; - } - if (((c = c && c.id ? c : this.get_node(c)), !c || c.id === a.jstree.root)) - return !1; - if ( - ((l = (c.parent || a.jstree.root).toString()), - (n = - e.toString().match(/^(before|after)$/) && d.id !== a.jstree.root - ? this.get_node(d.parent) - : d), - (o = i ? i : this._model.data[c.id] ? this : a.jstree.reference(c.id)), - (p = !o || !o._id || this._id !== o._id), - (m = - o && o._id && l && o._model.data[l] && o._model.data[l].children - ? a.inArray(c.id, o._model.data[l].children) - : -1), - o && o._id && (c = o._model.data[c.id]), - p) - ) - return (r = this.copy_node(c, d, e, f, g, !1, i)) - ? (o && o.delete_node(c), r) - : !1; - switch ( - (d.id === a.jstree.root && - ("before" === e && (e = "first"), "after" === e && (e = "last")), - e) - ) { - case "before": - e = a.inArray(d.id, n.children); - break; - case "after": - e = a.inArray(d.id, n.children) + 1; - break; - case "inside": - case "first": - e = 0; - break; - case "last": - e = n.children.length; - break; - default: - e || (e = 0); - } - if ( - (e > n.children.length && (e = n.children.length), - !this.check("move_node", c, n, e, { - core: !0, - origin: i, - is_multi: o && o._id && o._id !== this._id, - is_foreign: !o || !o._id, - })) - ) - return ( - this.settings.core.error.call(this, this._data.core.last_error), - !1 - ); - if (c.parent === n.id) { - for ( - q = n.children.concat(), - r = a.inArray(c.id, q), - -1 !== r && ((q = a.vakata.array_remove(q, r)), e > r && e--), - r = [], - s = 0, - t = q.length; - t > s; - s++ - ) - r[s >= e ? s + 1 : s] = q[s]; - ((r[e] = c.id), - (n.children = r), - this._node_changed(n.id), - this.redraw(n.id === a.jstree.root)); - } else { - for ( - r = c.children_d.concat(), r.push(c.id), s = 0, t = c.parents.length; - t > s; - s++ - ) { - for ( - q = [], w = o._model.data[c.parents[s]].children_d, u = 0, v = w.length; - v > u; - u++ - ) - -1 === a.inArray(w[u], r) && q.push(w[u]); - o._model.data[c.parents[s]].children_d = q; - } - for ( - o._model.data[l].children = a.vakata.array_remove_item( - o._model.data[l].children, - c.id, - ), - s = 0, - t = n.parents.length; - t > s; - s++ - ) - this._model.data[n.parents[s]].children_d = - this._model.data[n.parents[s]].children_d.concat(r); - for (q = [], s = 0, t = n.children.length; t > s; s++) - q[s >= e ? s + 1 : s] = n.children[s]; - for ( - q[e] = c.id, - n.children = q, - n.children_d.push(c.id), - n.children_d = n.children_d.concat(c.children_d), - c.parent = n.id, - r = n.parents.concat(), - r.unshift(n.id), - w = c.parents.length, - c.parents = r, - r = r.concat(), - s = 0, - t = c.children_d.length; - t > s; - s++ - ) - ((this._model.data[c.children_d[s]].parents = this._model.data[ - c.children_d[s] - ].parents.slice(0, -1 * w)), - Array.prototype.push.apply( - this._model.data[c.children_d[s]].parents, - r, - )); - ((l === a.jstree.root || n.id === a.jstree.root) && - (this._model.force_full_redraw = !0), - this._model.force_full_redraw || - (this._node_changed(l), this._node_changed(n.id)), - h || this.redraw()); - } - return ( - f && f.call(this, c, n, e), - this.trigger("move_node", { - node: c, - parent: n.id, - position: e, - old_parent: l, - old_position: m, - is_multi: o && o._id && o._id !== this._id, - is_foreign: !o || !o._id, - old_instance: o, - new_instance: this, - }), - c.id - ); - }, - copy_node: function (c, d, e, f, g, h, i) { - var j, k, l, m, n, o, p, q, r, s, t; - if (((d = this.get_node(d)), (e = e === b ? 0 : e), !d)) return !1; - if (!e.toString().match(/^(before|after)$/) && !g && !this.is_loaded(d)) - return this.load_node(d, function () { - this.copy_node(c, d, e, f, !0, !1, i); - }); - if (a.isArray(c)) { - if (1 !== c.length) { - for (j = 0, k = c.length; k > j; j++) - (m = this.copy_node(c[j], d, e, f, g, !0, i)) && - ((d = m), (e = "after")); - return (this.redraw(), !0); - } - c = c[0]; - } - if (((c = c && c.id ? c : this.get_node(c)), !c || c.id === a.jstree.root)) - return !1; - switch ( - ((q = (c.parent || a.jstree.root).toString()), - (r = - e.toString().match(/^(before|after)$/) && d.id !== a.jstree.root - ? this.get_node(d.parent) - : d), - (s = i ? i : this._model.data[c.id] ? this : a.jstree.reference(c.id)), - (t = !s || !s._id || this._id !== s._id), - s && s._id && (c = s._model.data[c.id]), - d.id === a.jstree.root && - ("before" === e && (e = "first"), "after" === e && (e = "last")), - e) - ) { - case "before": - e = a.inArray(d.id, r.children); - break; - case "after": - e = a.inArray(d.id, r.children) + 1; - break; - case "inside": - case "first": - e = 0; - break; - case "last": - e = r.children.length; - break; - default: - e || (e = 0); - } - if ( - (e > r.children.length && (e = r.children.length), - !this.check("copy_node", c, r, e, { - core: !0, - origin: i, - is_multi: s && s._id && s._id !== this._id, - is_foreign: !s || !s._id, - })) - ) - return ( - this.settings.core.error.call(this, this._data.core.last_error), - !1 - ); - if ( - ((p = s ? s.get_json(c, { no_id: !0, no_data: !0, no_state: !0 }) : c), !p) - ) - return !1; - if ( - (p.id === !0 && delete p.id, - (p = this._parse_model_from_json(p, r.id, r.parents.concat())), - !p) - ) - return !1; - for ( - m = this.get_node(p), - c && c.state && c.state.loaded === !1 && (m.state.loaded = !1), - l = [], - l.push(p), - l = l.concat(m.children_d), - this.trigger("model", { nodes: l, parent: r.id }), - n = 0, - o = r.parents.length; - o > n; - n++ - ) - this._model.data[r.parents[n]].children_d = - this._model.data[r.parents[n]].children_d.concat(l); - for (l = [], n = 0, o = r.children.length; o > n; n++) - l[n >= e ? n + 1 : n] = r.children[n]; - return ( - (l[e] = m.id), - (r.children = l), - r.children_d.push(m.id), - (r.children_d = r.children_d.concat(m.children_d)), - r.id === a.jstree.root && (this._model.force_full_redraw = !0), - this._model.force_full_redraw || this._node_changed(r.id), - h || this.redraw(r.id === a.jstree.root), - f && f.call(this, m, r, e), - this.trigger("copy_node", { - node: m, - original: c, - parent: r.id, - position: e, - old_parent: q, - old_position: - s && s._id && q && s._model.data[q] && s._model.data[q].children - ? a.inArray(c.id, s._model.data[q].children) - : -1, - is_multi: s && s._id && s._id !== this._id, - is_foreign: !s || !s._id, - old_instance: s, - new_instance: this, - }), - m.id - ); - }, - cut: function (b) { - if ( - (b || (b = this._data.core.selected.concat()), - a.isArray(b) || (b = [b]), - !b.length) - ) - return !1; - var c = [], - g, - h, - i; - for (h = 0, i = b.length; i > h; h++) - ((g = this.get_node(b[h])), - g && g.id && g.id !== a.jstree.root && c.push(g)); - return c.length - ? ((d = c), - (f = this), - (e = "move_node"), - void this.trigger("cut", { node: b })) - : !1; - }, - copy: function (b) { - if ( - (b || (b = this._data.core.selected.concat()), - a.isArray(b) || (b = [b]), - !b.length) - ) - return !1; - var c = [], - g, - h, - i; - for (h = 0, i = b.length; i > h; h++) - ((g = this.get_node(b[h])), - g && g.id && g.id !== a.jstree.root && c.push(g)); - return c.length - ? ((d = c), - (f = this), - (e = "copy_node"), - void this.trigger("copy", { node: b })) - : !1; - }, - get_buffer: function () { - return { mode: e, node: d, inst: f }; - }, - can_paste: function () { - return e !== !1 && d !== !1; - }, - paste: function (a, b) { - return ( - (a = this.get_node(a)), - a && e && e.match(/^(copy_node|move_node)$/) && d - ? (this[e](d, a, b, !1, !1, !1, f) && - this.trigger("paste", { parent: a.id, node: d, mode: e }), - (d = !1), - (e = !1), - void (f = !1)) - : !1 - ); - }, - clear_buffer: function () { - ((d = !1), (e = !1), (f = !1), this.trigger("clear_buffer")); - }, - edit: function (b, c, d) { - var e, - f, - g, - h, - j, - k, - l, - m, - n, - o = !1; - return (b = this.get_node(b)) - ? this.check("edit", b, this.get_parent(b)) - ? ((n = b), - (c = "string" == typeof c ? c : b.text), - this.set_text(b, ""), - (b = this._open_to(b)), - (n.text = c), - (e = this._data.core.rtl), - (f = this.element.width()), - (this._data.core.focused = n.id), - (g = b.children(".jstree-anchor").focus()), - (h = a("")), - (j = c), - (k = a("
      ", { - css: { - position: "absolute", - top: "-200px", - left: e ? "0px" : "-1000px", - visibility: "hidden", - }, - }).appendTo(i.body)), - (l = a("", { - value: j, - class: "jstree-rename-input", - css: { - padding: "0", - border: "1px solid silver", - "box-sizing": "border-box", - display: "inline-block", - height: this._data.core.li_height + "px", - lineHeight: this._data.core.li_height + "px", - width: "150px", - }, - blur: a.proxy(function (c) { - (c.stopImmediatePropagation(), c.preventDefault()); - var e = h.children(".jstree-rename-input"), - f = e.val(), - i = this.settings.core.force_text, - m; - ("" === f && (f = j), - k.remove(), - h.replaceWith(g), - h.remove(), - (j = i ? j : a("
      ").append(a.parseHTML(j)).html()), - (b = this.get_node(b)), - this.set_text(b, j), - (m = !!this.rename_node( - b, - i - ? a("
      ").text(f).text() - : a("
      ").append(a.parseHTML(f)).html(), - )), - m || this.set_text(b, j), - (this._data.core.focused = n.id), - setTimeout( - a.proxy(function () { - var a = this.get_node(n.id, !0); - a.length && - ((this._data.core.focused = n.id), - a.children(".jstree-anchor").focus()); - }, this), - 0, - ), - d && d.call(this, n, m, o), - (l = null)); - }, this), - keydown: function (a) { - var b = a.which; - (27 === b && ((o = !0), (this.value = j)), - (27 === b || - 13 === b || - 37 === b || - 38 === b || - 39 === b || - 40 === b || - 32 === b) && - a.stopImmediatePropagation(), - (27 === b || 13 === b) && (a.preventDefault(), this.blur())); - }, - click: function (a) { - a.stopImmediatePropagation(); - }, - mousedown: function (a) { - a.stopImmediatePropagation(); - }, - keyup: function (a) { - l.width(Math.min(k.text("pW" + this.value).width(), f)); - }, - keypress: function (a) { - return 13 === a.which ? !1 : void 0; - }, - })), - (m = { - fontFamily: g.css("fontFamily") || "", - fontSize: g.css("fontSize") || "", - fontWeight: g.css("fontWeight") || "", - fontStyle: g.css("fontStyle") || "", - fontStretch: g.css("fontStretch") || "", - fontVariant: g.css("fontVariant") || "", - letterSpacing: g.css("letterSpacing") || "", - wordSpacing: g.css("wordSpacing") || "", - }), - h.attr("class", g.attr("class")).append(g.contents().clone()).append(l), - g.replaceWith(h), - k.css(m), - l - .css(m) - .width(Math.min(k.text("pW" + l[0].value).width(), f))[0] - .select(), - void a(i).one( - "mousedown.jstree touchstart.jstree dnd_start.vakata", - function (b) { - l && b.target !== l && a(l).blur(); - }, - )) - : (this.settings.core.error.call(this, this._data.core.last_error), !1) - : !1; - }, - set_theme: function (b, c) { - if (!b) return !1; - if (c === !0) { - var d = this.settings.core.themes.dir; - (d || (d = a.jstree.path + "/themes"), (c = d + "/" + b + "/style.css")); - } - (c && - -1 === a.inArray(c, g) && - (a("head").append( - '', - ), - g.push(c)), - this._data.core.themes.name && - this.element.removeClass("jstree-" + this._data.core.themes.name), - (this._data.core.themes.name = b), - this.element.addClass("jstree-" + b), - this.element[ - this.settings.core.themes.responsive ? "addClass" : "removeClass" - ]("jstree-" + b + "-responsive"), - this.trigger("set_theme", { theme: b })); - }, - get_theme: function () { - return this._data.core.themes.name; - }, - set_theme_variant: function (a) { - (this._data.core.themes.variant && - this.element.removeClass( - "jstree-" + - this._data.core.themes.name + - "-" + - this._data.core.themes.variant, - ), - (this._data.core.themes.variant = a), - a && - this.element.addClass( - "jstree-" + - this._data.core.themes.name + - "-" + - this._data.core.themes.variant, - )); - }, - get_theme_variant: function () { - return this._data.core.themes.variant; - }, - show_stripes: function () { - ((this._data.core.themes.stripes = !0), - this.get_container_ul().addClass("jstree-striped"), - this.trigger("show_stripes")); - }, - hide_stripes: function () { - ((this._data.core.themes.stripes = !1), - this.get_container_ul().removeClass("jstree-striped"), - this.trigger("hide_stripes")); - }, - toggle_stripes: function () { - this._data.core.themes.stripes ? this.hide_stripes() : this.show_stripes(); - }, - show_dots: function () { - ((this._data.core.themes.dots = !0), - this.get_container_ul().removeClass("jstree-no-dots"), - this.trigger("show_dots")); - }, - hide_dots: function () { - ((this._data.core.themes.dots = !1), - this.get_container_ul().addClass("jstree-no-dots"), - this.trigger("hide_dots")); - }, - toggle_dots: function () { - this._data.core.themes.dots ? this.hide_dots() : this.show_dots(); - }, - show_icons: function () { - ((this._data.core.themes.icons = !0), - this.get_container_ul().removeClass("jstree-no-icons"), - this.trigger("show_icons")); - }, - hide_icons: function () { - ((this._data.core.themes.icons = !1), - this.get_container_ul().addClass("jstree-no-icons"), - this.trigger("hide_icons")); - }, - toggle_icons: function () { - this._data.core.themes.icons ? this.hide_icons() : this.show_icons(); - }, - show_ellipsis: function () { - ((this._data.core.themes.ellipsis = !0), - this.get_container_ul().addClass("jstree-ellipsis"), - this.trigger("show_ellipsis")); - }, - hide_ellipsis: function () { - ((this._data.core.themes.ellipsis = !1), - this.get_container_ul().removeClass("jstree-ellipsis"), - this.trigger("hide_ellipsis")); - }, - toggle_ellipsis: function () { - this._data.core.themes.ellipsis ? this.hide_ellipsis() : this.show_ellipsis(); - }, - set_icon: function (c, d) { - var e, f, g, h; - if (a.isArray(c)) { - for (c = c.slice(), e = 0, f = c.length; f > e; e++) this.set_icon(c[e], d); - return !0; - } - return ( - (c = this.get_node(c)), - c && c.id !== a.jstree.root - ? ((h = c.icon), - (c.icon = d === !0 || null === d || d === b || "" === d ? !0 : d), - (g = this.get_node(c, !0) - .children(".jstree-anchor") - .children(".jstree-themeicon")), - d === !1 - ? (g - .removeClass("jstree-themeicon-custom " + h) - .css("background", "") - .removeAttr("rel"), - this.hide_icon(c)) - : d === !0 || null === d || d === b || "" === d - ? (g - .removeClass("jstree-themeicon-custom " + h) - .css("background", "") - .removeAttr("rel"), - h === !1 && this.show_icon(c)) - : -1 === d.indexOf("/") && -1 === d.indexOf(".") - ? (g.removeClass(h).css("background", ""), - g.addClass(d + " jstree-themeicon-custom").attr("rel", d), - h === !1 && this.show_icon(c)) - : (g.removeClass(h).css("background", ""), - g - .addClass("jstree-themeicon-custom") - .css("background", "url('" + d + "') center center no-repeat") - .attr("rel", d), - h === !1 && this.show_icon(c)), - !0) - : !1 - ); - }, - get_icon: function (b) { - return ((b = this.get_node(b)), b && b.id !== a.jstree.root ? b.icon : !1); - }, - hide_icon: function (b) { - var c, d; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.hide_icon(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b !== a.jstree.root - ? ((b.icon = !1), - this.get_node(b, !0) - .children(".jstree-anchor") - .children(".jstree-themeicon") - .addClass("jstree-themeicon-hidden"), - !0) - : !1 - ); - }, - show_icon: function (b) { - var c, d, e; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) this.show_icon(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b !== a.jstree.root - ? ((e = this.get_node(b, !0)), - (b.icon = e.length - ? e - .children(".jstree-anchor") - .children(".jstree-themeicon") - .attr("rel") - : !0), - b.icon || (b.icon = !0), - e - .children(".jstree-anchor") - .children(".jstree-themeicon") - .removeClass("jstree-themeicon-hidden"), - !0) - : !1 - ); - }, - }), - (a.vakata = {}), - (a.vakata.attributes = function (b, c) { - b = a(b)[0]; - var d = c ? {} : []; - return ( - b && - b.attributes && - a.each(b.attributes, function (b, e) { - -1 === - a.inArray(e.name.toLowerCase(), [ - "style", - "contenteditable", - "hasfocus", - "tabindex", - ]) && - null !== e.value && - "" !== a.trim(e.value) && - (c ? (d[e.name] = e.value) : d.push(e.name)); - }), - d - ); - }), - (a.vakata.array_unique = function (a) { - var c = [], - d, - e, - f, - g = {}; - for (d = 0, f = a.length; f > d; d++) - g[a[d]] === b && (c.push(a[d]), (g[a[d]] = !0)); - return c; - }), - (a.vakata.array_remove = function (a, b) { - return (a.splice(b, 1), a); - }), - (a.vakata.array_remove_item = function (b, c) { - var d = a.inArray(c, b); - return -1 !== d ? a.vakata.array_remove(b, d) : b; - }), - (a.vakata.array_filter = function (a, b, c, d, e) { - if (a.filter) return a.filter(b, c); - d = []; - for (e in a) - ~~e + "" == e + "" && e >= 0 && b.call(c, a[e], +e, a) && d.push(a[e]); - return d; - }), - (a.jstree.plugins.changed = function (a, b) { - var c = []; - ((this.trigger = function (a, d) { - var e, f; - if ((d || (d = {}), "changed" === a.replace(".jstree", ""))) { - d.changed = { selected: [], deselected: [] }; - var g = {}; - for (e = 0, f = c.length; f > e; e++) g[c[e]] = 1; - for (e = 0, f = d.selected.length; f > e; e++) - g[d.selected[e]] - ? (g[d.selected[e]] = 2) - : d.changed.selected.push(d.selected[e]); - for (e = 0, f = c.length; f > e; e++) - 1 === g[c[e]] && d.changed.deselected.push(c[e]); - c = d.selected.slice(); - } - b.trigger.call(this, a, d); - }), - (this.refresh = function (a, d) { - return ((c = []), b.refresh.apply(this, arguments)); - })); - })); - var j = i.createElement("I"); - ((j.className = "jstree-icon jstree-checkbox"), - j.setAttribute("role", "presentation"), - (a.jstree.defaults.checkbox = { - visible: !0, - three_state: !0, - whole_node: !0, - keep_selected_style: !0, - cascade: "", - tie_selection: !0, - cascade_to_disabled: !0, - cascade_to_hidden: !0, - }), - (a.jstree.plugins.checkbox = function (c, d) { - ((this.bind = function () { - (d.bind.call(this), - (this._data.checkbox.uto = !1), - (this._data.checkbox.selected = []), - this.settings.checkbox.three_state && - (this.settings.checkbox.cascade = "up+down+undetermined"), - this.element - .on( - "init.jstree", - a.proxy(function () { - ((this._data.checkbox.visible = this.settings.checkbox.visible), - this.settings.checkbox.keep_selected_style || - this.element.addClass("jstree-checkbox-no-clicked"), - this.settings.checkbox.tie_selection && - this.element.addClass("jstree-checkbox-selection")); - }, this), - ) - .on( - "loading.jstree", - a.proxy(function () { - this[ - this._data.checkbox.visible ? "show_checkboxes" : "hide_checkboxes" - ](); - }, this), - ), - -1 !== this.settings.checkbox.cascade.indexOf("undetermined") && - this.element.on( - "changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree", - a.proxy(function () { - (this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), - (this._data.checkbox.uto = setTimeout( - a.proxy(this._undetermined, this), - 50, - ))); - }, this), - ), - this.settings.checkbox.tie_selection || - this.element.on( - "model.jstree", - a.proxy(function (a, b) { - var c = this._model.data, - d = c[b.parent], - e = b.nodes, - f, - g; - for (f = 0, g = e.length; g > f; f++) - ((c[e[f]].state.checked = - c[e[f]].state.checked || - (c[e[f]].original && - c[e[f]].original.state && - c[e[f]].original.state.checked)), - c[e[f]].state.checked && this._data.checkbox.selected.push(e[f])); - }, this), - ), - (-1 !== this.settings.checkbox.cascade.indexOf("up") || - -1 !== this.settings.checkbox.cascade.indexOf("down")) && - this.element - .on( - "model.jstree", - a.proxy(function (b, c) { - var d = this._model.data, - e = d[c.parent], - f = c.nodes, - g = [], - h, - i, - j, - k, - l, - m, - n = this.settings.checkbox.cascade, - o = this.settings.checkbox.tie_selection; - if (-1 !== n.indexOf("down")) - if (e.state[o ? "selected" : "checked"]) { - for (i = 0, j = f.length; j > i; i++) - d[f[i]].state[o ? "selected" : "checked"] = !0; - this._data[o ? "core" : "checkbox"].selected = - this._data[o ? "core" : "checkbox"].selected.concat(f); - } else - for (i = 0, j = f.length; j > i; i++) - if (d[f[i]].state[o ? "selected" : "checked"]) { - for (k = 0, l = d[f[i]].children_d.length; l > k; k++) - d[d[f[i]].children_d[k]].state[ - o ? "selected" : "checked" - ] = !0; - this._data[o ? "core" : "checkbox"].selected = this._data[ - o ? "core" : "checkbox" - ].selected.concat(d[f[i]].children_d); - } - if (-1 !== n.indexOf("up")) { - for (i = 0, j = e.children_d.length; j > i; i++) - d[e.children_d[i]].children.length || - g.push(d[e.children_d[i]].parent); - for ( - g = a.vakata.array_unique(g), k = 0, l = g.length; - l > k; - k++ - ) { - e = d[g[k]]; - while (e && e.id !== a.jstree.root) { - for (h = 0, i = 0, j = e.children.length; j > i; i++) - h += d[e.children[i]].state[o ? "selected" : "checked"]; - if (h !== j) break; - ((e.state[o ? "selected" : "checked"] = !0), - this._data[o ? "core" : "checkbox"].selected.push(e.id), - (m = this.get_node(e, !0)), - m && - m.length && - m - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(o ? "jstree-clicked" : "jstree-checked"), - (e = this.get_node(e.parent))); - } - } - } - this._data[o ? "core" : "checkbox"].selected = - a.vakata.array_unique( - this._data[o ? "core" : "checkbox"].selected, - ); - }, this), - ) - .on( - this.settings.checkbox.tie_selection - ? "select_node.jstree" - : "check_node.jstree", - a.proxy(function (b, c) { - var d = this, - e = c.node, - f = this._model.data, - g = this.get_node(e.parent), - h, - i, - j, - k, - l = this.settings.checkbox.cascade, - m = this.settings.checkbox.tie_selection, - n = {}, - o = this._data[m ? "core" : "checkbox"].selected; - for (h = 0, i = o.length; i > h; h++) n[o[h]] = !0; - if (-1 !== l.indexOf("down")) { - var p = this._cascade_new_checked_state(e.id, !0), - q = e.children_d.concat(e.id); - for (h = 0, i = q.length; i > h; h++) - p.indexOf(q[h]) > -1 ? (n[q[h]] = !0) : delete n[q[h]]; - } - if (-1 !== l.indexOf("up")) - while (g && g.id !== a.jstree.root) { - for (j = 0, h = 0, i = g.children.length; i > h; h++) - j += f[g.children[h]].state[m ? "selected" : "checked"]; - if (j !== i) break; - ((g.state[m ? "selected" : "checked"] = !0), - (n[g.id] = !0), - (k = this.get_node(g, !0)), - k && - k.length && - k - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(m ? "jstree-clicked" : "jstree-checked"), - (g = this.get_node(g.parent))); - } - o = []; - for (h in n) n.hasOwnProperty(h) && o.push(h); - this._data[m ? "core" : "checkbox"].selected = o; - }, this), - ) - .on( - this.settings.checkbox.tie_selection - ? "deselect_all.jstree" - : "uncheck_all.jstree", - a.proxy(function (b, c) { - var d = this.get_node(a.jstree.root), - e = this._model.data, - f, - g, - h; - for (f = 0, g = d.children_d.length; g > f; f++) - ((h = e[d.children_d[f]]), - h && - h.original && - h.original.state && - h.original.state.undetermined && - (h.original.state.undetermined = !1)); - }, this), - ) - .on( - this.settings.checkbox.tie_selection - ? "deselect_node.jstree" - : "uncheck_node.jstree", - a.proxy(function (a, b) { - var c = this, - d = b.node, - e = this.get_node(d, !0), - f, - g, - h, - i = this.settings.checkbox.cascade, - j = this.settings.checkbox.tie_selection, - k = this._data[j ? "core" : "checkbox"].selected, - l = {}, - m = [], - n = d.children_d.concat(d.id); - if (-1 !== i.indexOf("down")) { - var o = this._cascade_new_checked_state(d.id, !1); - k = k.filter(function (a) { - return -1 === n.indexOf(a) || o.indexOf(a) > -1; - }); - } - if (-1 !== i.indexOf("up") && -1 === k.indexOf(d.id)) { - for (f = 0, g = d.parents.length; g > f; f++) - ((h = this._model.data[d.parents[f]]), - (h.state[j ? "selected" : "checked"] = !1), - h && - h.original && - h.original.state && - h.original.state.undetermined && - (h.original.state.undetermined = !1), - (h = this.get_node(d.parents[f], !0)), - h && - h.length && - h - .attr("aria-selected", !1) - .children(".jstree-anchor") - .removeClass(j ? "jstree-clicked" : "jstree-checked")); - k = k.filter(function (a) { - return -1 === d.parents.indexOf(a); - }); - } - this._data[j ? "core" : "checkbox"].selected = k; - }, this), - ), - -1 !== this.settings.checkbox.cascade.indexOf("up") && - this.element - .on( - "delete_node.jstree", - a.proxy(function (b, c) { - var d = this.get_node(c.parent), - e = this._model.data, - f, - g, - h, - i, - j = this.settings.checkbox.tie_selection; - while ( - d && - d.id !== a.jstree.root && - !d.state[j ? "selected" : "checked"] - ) { - for (h = 0, f = 0, g = d.children.length; g > f; f++) - h += e[d.children[f]].state[j ? "selected" : "checked"]; - if (!(g > 0 && h === g)) break; - ((d.state[j ? "selected" : "checked"] = !0), - this._data[j ? "core" : "checkbox"].selected.push(d.id), - (i = this.get_node(d, !0)), - i && - i.length && - i - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(j ? "jstree-clicked" : "jstree-checked"), - (d = this.get_node(d.parent))); - } - }, this), - ) - .on( - "move_node.jstree", - a.proxy(function (b, c) { - var d = c.is_multi, - e = c.old_parent, - f = this.get_node(c.parent), - g = this._model.data, - h, - i, - j, - k, - l, - m = this.settings.checkbox.tie_selection; - if (!d) { - h = this.get_node(e); - while ( - h && - h.id !== a.jstree.root && - !h.state[m ? "selected" : "checked"] - ) { - for (i = 0, j = 0, k = h.children.length; k > j; j++) - i += g[h.children[j]].state[m ? "selected" : "checked"]; - if (!(k > 0 && i === k)) break; - ((h.state[m ? "selected" : "checked"] = !0), - this._data[m ? "core" : "checkbox"].selected.push(h.id), - (l = this.get_node(h, !0)), - l && - l.length && - l - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(m ? "jstree-clicked" : "jstree-checked"), - (h = this.get_node(h.parent))); - } - } - h = f; - while (h && h.id !== a.jstree.root) { - for (i = 0, j = 0, k = h.children.length; k > j; j++) - i += g[h.children[j]].state[m ? "selected" : "checked"]; - if (i === k) - h.state[m ? "selected" : "checked"] || - ((h.state[m ? "selected" : "checked"] = !0), - this._data[m ? "core" : "checkbox"].selected.push(h.id), - (l = this.get_node(h, !0)), - l && - l.length && - l - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(m ? "jstree-clicked" : "jstree-checked")); - else { - if (!h.state[m ? "selected" : "checked"]) break; - ((h.state[m ? "selected" : "checked"] = !1), - (this._data[m ? "core" : "checkbox"].selected = - a.vakata.array_remove_item( - this._data[m ? "core" : "checkbox"].selected, - h.id, - )), - (l = this.get_node(h, !0)), - l && - l.length && - l - .attr("aria-selected", !1) - .children(".jstree-anchor") - .removeClass(m ? "jstree-clicked" : "jstree-checked")); - } - h = this.get_node(h.parent); - } - }, this), - )); - }), - (this.get_undetermined = function (c) { - if (-1 === this.settings.checkbox.cascade.indexOf("undetermined")) - return []; - var d, - e, - f, - g, - h = {}, - i = this._model.data, - j = this.settings.checkbox.tie_selection, - k = this._data[j ? "core" : "checkbox"].selected, - l = [], - m = this, - n = []; - for (d = 0, e = k.length; e > d; d++) - if (i[k[d]] && i[k[d]].parents) - for (f = 0, g = i[k[d]].parents.length; g > f; f++) { - if (h[i[k[d]].parents[f]] !== b) break; - i[k[d]].parents[f] !== a.jstree.root && - ((h[i[k[d]].parents[f]] = !0), l.push(i[k[d]].parents[f])); - } - for ( - this.element - .find(".jstree-closed") - .not(":has(.jstree-children)") - .each(function () { - var c = m.get_node(this), - j; - if (c) - if (c.state.loaded) { - for (d = 0, e = c.children_d.length; e > d; d++) - if ( - ((j = i[c.children_d[d]]), - !j.state.loaded && - j.original && - j.original.state && - j.original.state.undetermined && - j.original.state.undetermined === !0) - ) - for ( - h[j.id] === b && - j.id !== a.jstree.root && - ((h[j.id] = !0), l.push(j.id)), - f = 0, - g = j.parents.length; - g > f; - f++ - ) - h[j.parents[f]] === b && - j.parents[f] !== a.jstree.root && - ((h[j.parents[f]] = !0), l.push(j.parents[f])); - } else if ( - c.original && - c.original.state && - c.original.state.undetermined && - c.original.state.undetermined === !0 - ) - for ( - h[c.id] === b && - c.id !== a.jstree.root && - ((h[c.id] = !0), l.push(c.id)), - f = 0, - g = c.parents.length; - g > f; - f++ - ) - h[c.parents[f]] === b && - c.parents[f] !== a.jstree.root && - ((h[c.parents[f]] = !0), l.push(c.parents[f])); - }), - d = 0, - e = l.length; - e > d; - d++ - ) - i[l[d]].state[j ? "selected" : "checked"] || n.push(c ? i[l[d]] : l[d]); - return n; - }), - (this._undetermined = function () { - if (null !== this.element) { - var a = this.get_undetermined(!1), - b, - c, - d; - for ( - this.element - .find(".jstree-undetermined") - .removeClass("jstree-undetermined"), - b = 0, - c = a.length; - c > b; - b++ - ) - ((d = this.get_node(a[b], !0)), - d && - d.length && - d - .children(".jstree-anchor") - .children(".jstree-checkbox") - .addClass("jstree-undetermined")); - } - }), - (this.redraw_node = function (b, c, e, f) { - if ((b = d.redraw_node.apply(this, arguments))) { - var g, - h, - i = null, - k = null; - for (g = 0, h = b.childNodes.length; h > g; g++) - if ( - b.childNodes[g] && - b.childNodes[g].className && - -1 !== b.childNodes[g].className.indexOf("jstree-anchor") - ) { - i = b.childNodes[g]; - break; - } - i && - (!this.settings.checkbox.tie_selection && - this._model.data[b.id].state.checked && - (i.className += " jstree-checked"), - (k = j.cloneNode(!1)), - this._model.data[b.id].state.checkbox_disabled && - (k.className += " jstree-checkbox-disabled"), - i.insertBefore(k, i.childNodes[0])); - } - return ( - e || - -1 === this.settings.checkbox.cascade.indexOf("undetermined") || - (this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), - (this._data.checkbox.uto = setTimeout( - a.proxy(this._undetermined, this), - 50, - ))), - b - ); - }), - (this.show_checkboxes = function () { - ((this._data.core.themes.checkboxes = !0), - this.get_container_ul().removeClass("jstree-no-checkboxes")); - }), - (this.hide_checkboxes = function () { - ((this._data.core.themes.checkboxes = !1), - this.get_container_ul().addClass("jstree-no-checkboxes")); - }), - (this.toggle_checkboxes = function () { - this._data.core.themes.checkboxes - ? this.hide_checkboxes() - : this.show_checkboxes(); - }), - (this.is_undetermined = function (b) { - b = this.get_node(b); - var c = this.settings.checkbox.cascade, - d, - e, - f = this.settings.checkbox.tie_selection, - g = this._data[f ? "core" : "checkbox"].selected, - h = this._model.data; - if ( - !b || - b.state[f ? "selected" : "checked"] === !0 || - -1 === c.indexOf("undetermined") || - (-1 === c.indexOf("down") && -1 === c.indexOf("up")) - ) - return !1; - if (!b.state.loaded && b.original.state.undetermined === !0) return !0; - for (d = 0, e = b.children_d.length; e > d; d++) - if ( - -1 !== a.inArray(b.children_d[d], g) || - (!h[b.children_d[d]].state.loaded && - h[b.children_d[d]].original.state.undetermined) - ) - return !0; - return !1; - }), - (this.disable_checkbox = function (b) { - var c, d, e; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) - this.disable_checkbox(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((e = this.get_node(b, !0)), - void ( - b.state.checkbox_disabled || - ((b.state.checkbox_disabled = !0), - e && - e.length && - e - .children(".jstree-anchor") - .children(".jstree-checkbox") - .addClass("jstree-checkbox-disabled"), - this.trigger("disable_checkbox", { node: b })) - )) - : !1 - ); - }), - (this.enable_checkbox = function (b) { - var c, d, e; - if (a.isArray(b)) { - for (b = b.slice(), c = 0, d = b.length; d > c; c++) - this.enable_checkbox(b[c]); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((e = this.get_node(b, !0)), - void ( - b.state.checkbox_disabled && - ((b.state.checkbox_disabled = !1), - e && - e.length && - e - .children(".jstree-anchor") - .children(".jstree-checkbox") - .removeClass("jstree-checkbox-disabled"), - this.trigger("enable_checkbox", { node: b })) - )) - : !1 - ); - }), - (this.activate_node = function (b, c) { - return a(c.target).hasClass("jstree-checkbox-disabled") - ? !1 - : (this.settings.checkbox.tie_selection && - (this.settings.checkbox.whole_node || - a(c.target).hasClass("jstree-checkbox")) && - (c.ctrlKey = !0), - this.settings.checkbox.tie_selection || - (!this.settings.checkbox.whole_node && - !a(c.target).hasClass("jstree-checkbox")) - ? d.activate_node.call(this, b, c) - : this.is_disabled(b) - ? !1 - : (this.is_checked(b) - ? this.uncheck_node(b, c) - : this.check_node(b, c), - void this.trigger("activate_node", { node: this.get_node(b) }))); - }), - (this._cascade_new_checked_state = function (a, b) { - var c = this, - d = this.settings.checkbox.tie_selection, - e = this._model.data[a], - f = [], - g = [], - h, - i, - j; - if ( - (!this.settings.checkbox.cascade_to_disabled && e.state.disabled) || - (!this.settings.checkbox.cascade_to_hidden && e.state.hidden) - ) - ((j = this.get_checked_descendants(a)), - e.state[d ? "selected" : "checked"] && j.push(e.id), - (f = f.concat(j))); - else { - if (e.children) - for (h = 0, i = e.children.length; i > h; h++) { - var k = e.children[h]; - ((j = c._cascade_new_checked_state(k, b)), - (f = f.concat(j)), - j.indexOf(k) > -1 && g.push(k)); - } - var l = c.get_node(e, !0), - m = g.length > 0 && g.length < e.children.length; - (e.original && - e.original.state && - e.original.state.undetermined && - (e.original.state.undetermined = m), - m - ? ((e.state[d ? "selected" : "checked"] = !1), - l - .attr("aria-selected", !1) - .children(".jstree-anchor") - .removeClass(d ? "jstree-clicked" : "jstree-checked")) - : b && g.length === e.children.length - ? ((e.state[d ? "selected" : "checked"] = b), - f.push(e.id), - l - .attr("aria-selected", !0) - .children(".jstree-anchor") - .addClass(d ? "jstree-clicked" : "jstree-checked")) - : ((e.state[d ? "selected" : "checked"] = !1), - l - .attr("aria-selected", !1) - .children(".jstree-anchor") - .removeClass(d ? "jstree-clicked" : "jstree-checked"))); - } - return f; - }), - (this.get_checked_descendants = function (a) { - var b = this, - c = b.settings.checkbox.tie_selection, - d = b._model.data[a]; - return d.children_d.filter(function (a) { - return b._model.data[a].state[c ? "selected" : "checked"]; - }); - }), - (this.check_node = function (b, c) { - if (this.settings.checkbox.tie_selection) - return this.select_node(b, !1, !0, c); - var d, e, f, g; - if (a.isArray(b)) { - for (b = b.slice(), e = 0, f = b.length; f > e; e++) - this.check_node(b[e], c); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((d = this.get_node(b, !0)), - void ( - b.state.checked || - ((b.state.checked = !0), - this._data.checkbox.selected.push(b.id), - d && - d.length && - d.children(".jstree-anchor").addClass("jstree-checked"), - this.trigger("check_node", { - node: b, - selected: this._data.checkbox.selected, - event: c, - })) - )) - : !1 - ); - }), - (this.uncheck_node = function (b, c) { - if (this.settings.checkbox.tie_selection) - return this.deselect_node(b, !1, c); - var d, e, f; - if (a.isArray(b)) { - for (b = b.slice(), d = 0, e = b.length; e > d; d++) - this.uncheck_node(b[d], c); - return !0; - } - return ( - (b = this.get_node(b)), - b && b.id !== a.jstree.root - ? ((f = this.get_node(b, !0)), - void ( - b.state.checked && - ((b.state.checked = !1), - (this._data.checkbox.selected = a.vakata.array_remove_item( - this._data.checkbox.selected, - b.id, - )), - f.length && - f.children(".jstree-anchor").removeClass("jstree-checked"), - this.trigger("uncheck_node", { - node: b, - selected: this._data.checkbox.selected, - event: c, - })) - )) - : !1 - ); - }), - (this.check_all = function () { - if (this.settings.checkbox.tie_selection) return this.select_all(); - var b = this._data.checkbox.selected.concat([]), - c, - d; - for ( - this._data.checkbox.selected = - this._model.data[a.jstree.root].children_d.concat(), - c = 0, - d = this._data.checkbox.selected.length; - d > c; - c++ - ) - this._model.data[this._data.checkbox.selected[c]] && - (this._model.data[this._data.checkbox.selected[c]].state.checked = !0); - (this.redraw(!0), - this.trigger("check_all", { selected: this._data.checkbox.selected })); - }), - (this.uncheck_all = function () { - if (this.settings.checkbox.tie_selection) return this.deselect_all(); - var a = this._data.checkbox.selected.concat([]), - b, - c; - for (b = 0, c = this._data.checkbox.selected.length; c > b; b++) - this._model.data[this._data.checkbox.selected[b]] && - (this._model.data[this._data.checkbox.selected[b]].state.checked = !1); - ((this._data.checkbox.selected = []), - this.element.find(".jstree-checked").removeClass("jstree-checked"), - this.trigger("uncheck_all", { - selected: this._data.checkbox.selected, - node: a, - })); - }), - (this.is_checked = function (b) { - return this.settings.checkbox.tie_selection - ? this.is_selected(b) - : ((b = this.get_node(b)), - b && b.id !== a.jstree.root ? b.state.checked : !1); - }), - (this.get_checked = function (b) { - return this.settings.checkbox.tie_selection - ? this.get_selected(b) - : b - ? a.map( - this._data.checkbox.selected, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : this._data.checkbox.selected; - }), - (this.get_top_checked = function (b) { - if (this.settings.checkbox.tie_selection) return this.get_top_selected(b); - var c = this.get_checked(!0), - d = {}, - e, - f, - g, - h; - for (e = 0, f = c.length; f > e; e++) d[c[e].id] = c[e]; - for (e = 0, f = c.length; f > e; e++) - for (g = 0, h = c[e].children_d.length; h > g; g++) - d[c[e].children_d[g]] && delete d[c[e].children_d[g]]; - c = []; - for (e in d) d.hasOwnProperty(e) && c.push(e); - return b - ? a.map( - c, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : c; - }), - (this.get_bottom_checked = function (b) { - if (this.settings.checkbox.tie_selection) - return this.get_bottom_selected(b); - var c = this.get_checked(!0), - d = [], - e, - f; - for (e = 0, f = c.length; f > e; e++) - c[e].children.length || d.push(c[e].id); - return b - ? a.map( - d, - a.proxy(function (a) { - return this.get_node(a); - }, this), - ) - : d; - }), - (this.load_node = function (b, c) { - var e, f, g, h, i, j; - if ( - !a.isArray(b) && - !this.settings.checkbox.tie_selection && - ((j = this.get_node(b)), j && j.state.loaded) - ) - for (e = 0, f = j.children_d.length; f > e; e++) - this._model.data[j.children_d[e]].state.checked && - ((i = !0), - (this._data.checkbox.selected = a.vakata.array_remove_item( - this._data.checkbox.selected, - j.children_d[e], - ))); - return d.load_node.apply(this, arguments); - }), - (this.get_state = function () { - var a = d.get_state.apply(this, arguments); - return this.settings.checkbox.tie_selection - ? a - : ((a.checkbox = this._data.checkbox.selected.slice()), a); - }), - (this.set_state = function (b, c) { - var e = d.set_state.apply(this, arguments); - if (e && b.checkbox) { - if (!this.settings.checkbox.tie_selection) { - this.uncheck_all(); - var f = this; - a.each(b.checkbox, function (a, b) { - f.check_node(b); - }); - } - return (delete b.checkbox, this.set_state(b, c), !1); - } - return e; - }), - (this.refresh = function (a, b) { - return ( - this.settings.checkbox.tie_selection && - (this._data.checkbox.selected = []), - d.refresh.apply(this, arguments) - ); - })); - }), - (a.jstree.defaults.conditionalselect = function () { - return !0; - }), - (a.jstree.plugins.conditionalselect = function (a, b) { - this.activate_node = function (a, c) { - return this.settings.conditionalselect.call(this, this.get_node(a), c) - ? b.activate_node.call(this, a, c) - : void 0; - }; - }), - (a.jstree.defaults.contextmenu = { - select_node: !0, - show_at_node: !0, - items: function (b, c) { - return { - create: { - separator_before: !1, - separator_after: !0, - _disabled: !1, - label: "Create", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.create_node(d, {}, "last", function (a) { - try { - c.edit(a); - } catch (b) { - setTimeout(function () { - c.edit(a); - }, 0); - } - }); - }, - }, - rename: { - separator_before: !1, - separator_after: !1, - _disabled: !1, - label: "Rename", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.edit(d); - }, - }, - remove: { - separator_before: !1, - icon: !1, - separator_after: !1, - _disabled: !1, - label: "Delete", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.is_selected(d) ? c.delete_node(c.get_selected()) : c.delete_node(d); - }, - }, - ccp: { - separator_before: !0, - icon: !1, - separator_after: !1, - label: "Edit", - action: !1, - submenu: { - cut: { - separator_before: !1, - separator_after: !1, - label: "Cut", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.is_selected(d) ? c.cut(c.get_top_selected()) : c.cut(d); - }, - }, - copy: { - separator_before: !1, - icon: !1, - separator_after: !1, - label: "Copy", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.is_selected(d) ? c.copy(c.get_top_selected()) : c.copy(d); - }, - }, - paste: { - separator_before: !1, - icon: !1, - _disabled: function (b) { - return !a.jstree.reference(b.reference).can_paste(); - }, - separator_after: !1, - label: "Paste", - action: function (b) { - var c = a.jstree.reference(b.reference), - d = c.get_node(b.reference); - c.paste(d); - }, - }, - }, - }, - }; - }, - }), - (a.jstree.plugins.contextmenu = function (c, d) { - ((this.bind = function () { - d.bind.call(this); - var b = 0, - c = null, - e, - f; - (this.element - .on( - "init.jstree loading.jstree ready.jstree", - a.proxy(function () { - this.get_container_ul().addClass("jstree-contextmenu"); - }, this), - ) - .on( - "contextmenu.jstree", - ".jstree-anchor", - a.proxy(function (a, d) { - "input" !== a.target.tagName.toLowerCase() && - (a.preventDefault(), - (b = a.ctrlKey ? +new Date() : 0), - (d || c) && (b = +new Date() + 1e4), - c && clearTimeout(c), - this.is_loading(a.currentTarget) || - this.show_contextmenu(a.currentTarget, a.pageX, a.pageY, a)); - }, this), - ) - .on( - "click.jstree", - ".jstree-anchor", - a.proxy(function (c) { - (this._data.contextmenu.visible && - (!b || +new Date() - b > 250) && - a.vakata.context.hide(), - (b = 0)); - }, this), - ) - .on("touchstart.jstree", ".jstree-anchor", function (b) { - b.originalEvent && - b.originalEvent.changedTouches && - b.originalEvent.changedTouches[0] && - ((e = b.originalEvent.changedTouches[0].clientX), - (f = b.originalEvent.changedTouches[0].clientY), - (c = setTimeout(function () { - a(b.currentTarget).trigger("contextmenu", !0); - }, 750))); - }) - .on("touchmove.vakata.jstree", function (b) { - c && - b.originalEvent && - b.originalEvent.changedTouches && - b.originalEvent.changedTouches[0] && - (Math.abs(e - b.originalEvent.changedTouches[0].clientX) > 10 || - Math.abs(f - b.originalEvent.changedTouches[0].clientY) > 10) && - (clearTimeout(c), a.vakata.context.hide()); - }) - .on("touchend.vakata.jstree", function (a) { - c && clearTimeout(c); - }), - a(i).on( - "context_hide.vakata.jstree", - a.proxy(function (b, c) { - ((this._data.contextmenu.visible = !1), - a(c.reference).removeClass("jstree-context")); - }, this), - )); - }), - (this.teardown = function () { - (this._data.contextmenu.visible && a.vakata.context.hide(), - d.teardown.call(this)); - }), - (this.show_contextmenu = function (c, d, e, f) { - if (((c = this.get_node(c)), !c || c.id === a.jstree.root)) return !1; - var g = this.settings.contextmenu, - h = this.get_node(c, !0), - i = h.children(".jstree-anchor"), - j = !1, - k = !1; - ((g.show_at_node || d === b || e === b) && - ((j = i.offset()), (d = j.left), (e = j.top + this._data.core.li_height)), - this.settings.contextmenu.select_node && - !this.is_selected(c) && - this.activate_node(c, f), - (k = g.items), - a.isFunction(k) && - (k = k.call( - this, - c, - a.proxy(function (a) { - this._show_contextmenu(c, d, e, a); - }, this), - )), - a.isPlainObject(k) && this._show_contextmenu(c, d, e, k)); - }), - (this._show_contextmenu = function (b, c, d, e) { - var f = this.get_node(b, !0), - g = f.children(".jstree-anchor"); - (a(i).one( - "context_show.vakata.jstree", - a.proxy(function (b, c) { - var d = - "jstree-contextmenu jstree-" + this.get_theme() + "-contextmenu"; - (a(c.element).addClass(d), g.addClass("jstree-context")); - }, this), - ), - (this._data.contextmenu.visible = !0), - a.vakata.context.show(g, { x: c, y: d }, e), - this.trigger("show_contextmenu", { node: b, x: c, y: d })); - })); - }), - (function (a) { - var b = !1, - c = { - element: !1, - reference: !1, - position_x: 0, - position_y: 0, - items: [], - html: "", - is_visible: !1, - }; - ((a.vakata.context = { - settings: { hide_onmouseleave: 0, icons: !0 }, - _trigger: function (b) { - a(i).triggerHandler("context_" + b + ".vakata", { - reference: c.reference, - element: c.element, - position: { x: c.position_x, y: c.position_y }, - }); - }, - _execute: function (b) { - return ( - (b = c.items[b]), - b && - (!b._disabled || - (a.isFunction(b._disabled) && - !b._disabled({ - item: b, - reference: c.reference, - element: c.element, - }))) && - b.action - ? b.action.call(null, { - item: b, - reference: c.reference, - element: c.element, - position: { x: c.position_x, y: c.position_y }, - }) - : !1 - ); - }, - _parse: function (b, d) { - if (!b) return !1; - d || ((c.html = ""), (c.items = [])); - var e = "", - f = !1, - g; - return ( - d && (e += ""), - d || ((c.html = e), a.vakata.context._trigger("parse")), - e.length > 10 ? e : !1 - ); - }, - _show_submenu: function (c) { - if (((c = a(c)), c.length && c.children("ul").length)) { - var d = c.children("ul"), - e = c.offset().left, - f = e + c.outerWidth(), - g = c.offset().top, - h = d.width(), - i = d.height(), - j = a(window).width() + a(window).scrollLeft(), - k = a(window).height() + a(window).scrollTop(); - (b - ? c[f - (h + 10 + c.outerWidth()) < 0 ? "addClass" : "removeClass"]( - "vakata-context-left", - ) - : c[f + h > j && e > j - f ? "addClass" : "removeClass"]( - "vakata-context-right", - ), - g + i + 10 > k && d.css("bottom", "-1px"), - c.hasClass("vakata-context-right") - ? h > e && d.css("margin-right", e - h) - : h > j - f && d.css("margin-left", j - f - h), - d.show()); - } - }, - show: function (d, e, f) { - var g, - h, - j, - k, - l, - m, - n, - o, - p = !0; - switch ((c.element && c.element.length && c.element.width(""), p)) { - case !e && !d: - return !1; - case !!e && !!d: - ((c.reference = d), (c.position_x = e.x), (c.position_y = e.y)); - break; - case !e && !!d: - ((c.reference = d), - (g = d.offset()), - (c.position_x = g.left + d.outerHeight()), - (c.position_y = g.top)); - break; - case !!e && !d: - ((c.position_x = e.x), (c.position_y = e.y)); - } - (d && - !f && - a(d).data("vakata_contextmenu") && - (f = a(d).data("vakata_contextmenu")), - a.vakata.context._parse(f) && c.element.html(c.html), - c.items.length && - (c.element.appendTo(i.body), - (h = c.element), - (j = c.position_x), - (k = c.position_y), - (l = h.width()), - (m = h.height()), - (n = a(window).width() + a(window).scrollLeft()), - (o = a(window).height() + a(window).scrollTop()), - b && - ((j -= h.outerWidth() - a(d).outerWidth()), - j < a(window).scrollLeft() + 20 && (j = a(window).scrollLeft() + 20)), - j + l + 20 > n && (j = n - (l + 20)), - k + m + 20 > o && (k = o - (m + 20)), - c.element - .css({ left: j, top: k }) - .show() - .find("a") - .first() - .focus() - .parent() - .addClass("vakata-context-hover"), - (c.is_visible = !0), - a.vakata.context._trigger("show"))); - }, - hide: function () { - c.is_visible && - (c.element - .hide() - .find("ul") - .hide() - .end() - .find(":focus") - .blur() - .end() - .detach(), - (c.is_visible = !1), - a.vakata.context._trigger("hide")); - }, - }), - a(function () { - b = "rtl" === a(i.body).css("direction"); - var d = !1; - ((c.element = a("
        ")), - c.element - .on("mouseenter", "li", function (b) { - (b.stopImmediatePropagation(), - a.contains(this, b.relatedTarget) || - (d && clearTimeout(d), - c.element - .find(".vakata-context-hover") - .removeClass("vakata-context-hover") - .end(), - a(this) - .siblings() - .find("ul") - .hide() - .end() - .end() - .parentsUntil(".vakata-context", "li") - .addBack() - .addClass("vakata-context-hover"), - a.vakata.context._show_submenu(this))); - }) - .on("mouseleave", "li", function (b) { - a.contains(this, b.relatedTarget) || - a(this) - .find(".vakata-context-hover") - .addBack() - .removeClass("vakata-context-hover"); - }) - .on("mouseleave", function (b) { - (a(this) - .find(".vakata-context-hover") - .removeClass("vakata-context-hover"), - a.vakata.context.settings.hide_onmouseleave && - (d = setTimeout( - (function (b) { - return function () { - a.vakata.context.hide(); - }; - })(this), - a.vakata.context.settings.hide_onmouseleave, - ))); - }) - .on("click", "a", function (b) { - (b.preventDefault(), - a(this).blur().parent().hasClass("vakata-context-disabled") || - a.vakata.context._execute(a(this).attr("rel")) === !1 || - a.vakata.context.hide()); - }) - .on("keydown", "a", function (b) { - var d = null; - switch (b.which) { - case 13: - case 32: - ((b.type = "click"), - b.preventDefault(), - a(b.currentTarget).trigger(b)); - break; - case 37: - c.is_visible && - (c.element - .find(".vakata-context-hover") - .last() - .closest("li") - .first() - .find("ul") - .hide() - .find(".vakata-context-hover") - .removeClass("vakata-context-hover") - .end() - .end() - .children("a") - .focus(), - b.stopImmediatePropagation(), - b.preventDefault()); - break; - case 38: - c.is_visible && - ((d = c.element - .find("ul:visible") - .addBack() - .last() - .children(".vakata-context-hover") - .removeClass("vakata-context-hover") - .prevAll("li:not(.vakata-context-separator)") - .first()), - d.length || - (d = c.element - .find("ul:visible") - .addBack() - .last() - .children("li:not(.vakata-context-separator)") - .last()), - d.addClass("vakata-context-hover").children("a").focus(), - b.stopImmediatePropagation(), - b.preventDefault()); - break; - case 39: - c.is_visible && - (c.element - .find(".vakata-context-hover") - .last() - .children("ul") - .show() - .children("li:not(.vakata-context-separator)") - .removeClass("vakata-context-hover") - .first() - .addClass("vakata-context-hover") - .children("a") - .focus(), - b.stopImmediatePropagation(), - b.preventDefault()); - break; - case 40: - c.is_visible && - ((d = c.element - .find("ul:visible") - .addBack() - .last() - .children(".vakata-context-hover") - .removeClass("vakata-context-hover") - .nextAll("li:not(.vakata-context-separator)") - .first()), - d.length || - (d = c.element - .find("ul:visible") - .addBack() - .last() - .children("li:not(.vakata-context-separator)") - .first()), - d.addClass("vakata-context-hover").children("a").focus(), - b.stopImmediatePropagation(), - b.preventDefault()); - break; - case 27: - (a.vakata.context.hide(), b.preventDefault()); - } - }) - .on("keydown", function (a) { - a.preventDefault(); - var b = c.element - .find(".vakata-contextmenu-shortcut-" + a.which) - .parent(); - b.parent().not(".vakata-context-disabled") && b.click(); - }), - a(i) - .on("mousedown.vakata.jstree", function (b) { - c.is_visible && - c.element[0] !== b.target && - !a.contains(c.element[0], b.target) && - a.vakata.context.hide(); - }) - .on("context_show.vakata.jstree", function (a, d) { - (c.element - .find("li:has(ul)") - .children("a") - .addClass("vakata-context-parent"), - b && - c.element.addClass("vakata-context-rtl").css("direction", "rtl"), - c.element.find("ul").hide().end()); - })); - })); - })(a), - (a.jstree.defaults.dnd = { - copy: !0, - open_timeout: 500, - is_draggable: !0, - check_while_dragging: !0, - always_copy: !1, - inside_pos: 0, - drag_selection: !0, - touch: !0, - large_drop_target: !1, - large_drag_target: !1, - use_html5: !1, - })); - var k, l; - ((a.jstree.plugins.dnd = function (b, c) { - ((this.init = function (a, b) { - (c.init.call(this, a, b), - (this.settings.dnd.use_html5 = - this.settings.dnd.use_html5 && "draggable" in i.createElement("span"))); - }), - (this.bind = function () { - (c.bind.call(this), - this.element.on( - this.settings.dnd.use_html5 - ? "dragstart.jstree" - : "mousedown.jstree touchstart.jstree", - this.settings.dnd.large_drag_target ? ".jstree-node" : ".jstree-anchor", - a.proxy(function (b) { - if ( - this.settings.dnd.large_drag_target && - a(b.target).closest(".jstree-node")[0] !== b.currentTarget - ) - return !0; - if ( - "touchstart" === b.type && - (!this.settings.dnd.touch || - ("selected" === this.settings.dnd.touch && - !a(b.currentTarget) - .closest(".jstree-node") - .children(".jstree-anchor") - .hasClass("jstree-clicked"))) - ) - return !0; - var c = this.get_node(b.target), - d = - this.is_selected(c) && this.settings.dnd.drag_selection - ? this.get_top_selected().length - : 1, - e = - d > 1 - ? d + " " + this.get_string("nodes") - : this.get_text(b.currentTarget); - if ( - (this.settings.core.force_text && (e = a.vakata.html.escape(e)), - c && - c.id && - c.id !== a.jstree.root && - (1 === b.which || - "touchstart" === b.type || - "dragstart" === b.type) && - (this.settings.dnd.is_draggable === !0 || - (a.isFunction(this.settings.dnd.is_draggable) && - this.settings.dnd.is_draggable.call( - this, - d > 1 ? this.get_top_selected(!0) : [c], - b, - )))) - ) { - if ( - ((k = { - jstree: !0, - origin: this, - obj: this.get_node(c, !0), - nodes: d > 1 ? this.get_top_selected() : [c.id], - }), - (l = b.currentTarget), - !this.settings.dnd.use_html5) - ) - return ( - this.element.trigger("mousedown.jstree"), - a.vakata.dnd.start( - b, - k, - '
        ' + - e + - '
        ', - ) - ); - a.vakata.dnd._trigger("start", b, { - helper: a(), - element: l, - data: k, - }); - } - }, this), - ), - this.settings.dnd.use_html5 && - this.element - .on("dragover.jstree", function (b) { - return ( - b.preventDefault(), - a.vakata.dnd._trigger("move", b, { - helper: a(), - element: l, - data: k, - }), - !1 - ); - }) - .on( - "drop.jstree", - a.proxy(function (b) { - return ( - b.preventDefault(), - a.vakata.dnd._trigger("stop", b, { - helper: a(), - element: l, - data: k, - }), - !1 - ); - }, this), - )); - }), - (this.redraw_node = function (a, b, d, e) { - if ( - ((a = c.redraw_node.apply(this, arguments)), - a && this.settings.dnd.use_html5) - ) - if (this.settings.dnd.large_drag_target) a.setAttribute("draggable", !0); - else { - var f, - g, - h = null; - for (f = 0, g = a.childNodes.length; g > f; f++) - if ( - a.childNodes[f] && - a.childNodes[f].className && - -1 !== a.childNodes[f].className.indexOf("jstree-anchor") - ) { - h = a.childNodes[f]; - break; - } - h && h.setAttribute("draggable", !0); - } - return a; - })); - }), - a(function () { - var c = !1, - d = !1, - e = !1, - f = !1, - g = a('
         
        ').hide(); - a(i) - .on("dragover.vakata.jstree", function (b) { - l && a.vakata.dnd._trigger("move", b, { helper: a(), element: l, data: k }); - }) - .on("drop.vakata.jstree", function (b) { - l && - (a.vakata.dnd._trigger("stop", b, { helper: a(), element: l, data: k }), - (l = null), - (k = null)); - }) - .on("dnd_start.vakata.jstree", function (a, b) { - ((c = !1), (e = !1), b && b.data && b.data.jstree && g.appendTo(i.body)); - }) - .on("dnd_move.vakata.jstree", function (h, i) { - var j = i.event.target !== e.target; - if ( - (f && (!i.event || "dragover" !== i.event.type || j) && clearTimeout(f), - i && - i.data && - i.data.jstree && - (!i.event.target.id || "jstree-marker" !== i.event.target.id)) - ) { - e = i.event; - var k = a.jstree.reference(i.event.target), - l = !1, - m = !1, - n = !1, - o, - p, - q, - r, - s, - t, - u, - v, - w, - x, - y, - z, - A, - B, - C, - D, - E; - if (k && k._data && k._data.dnd) - if ( - (g.attr( - "class", - "jstree-" + - k.get_theme() + - (k.settings.core.themes.responsive - ? " jstree-dnd-responsive" - : ""), - ), - (D = - i.data.origin && - (i.data.origin.settings.dnd.always_copy || - (i.data.origin.settings.dnd.copy && - (i.event.metaKey || i.event.ctrlKey)))), - i.helper - .children() - .attr( - "class", - "jstree-" + - k.get_theme() + - " jstree-" + - k.get_theme() + - "-" + - k.get_theme_variant() + - " " + - (k.settings.core.themes.responsive - ? " jstree-dnd-responsive" - : ""), - ) - .find(".jstree-copy") - .first() - [D ? "show" : "hide"](), - (i.event.target !== k.element[0] && - i.event.target !== k.get_container_ul()[0]) || - 0 !== k.get_container_ul().children().length) - ) { - if ( - ((l = k.settings.dnd.large_drop_target - ? a(i.event.target) - .closest(".jstree-node") - .children(".jstree-anchor") - : a(i.event.target).closest(".jstree-anchor")), - l && - l.length && - l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf") && - ((m = l.offset()), - (n = - (i.event.pageY !== b - ? i.event.pageY - : i.event.originalEvent.pageY) - m.top), - (r = l.outerHeight()), - (u = - r / 3 > n - ? ["b", "i", "a"] - : n > r - r / 3 - ? ["a", "i", "b"] - : n > r / 2 - ? ["i", "a", "b"] - : ["i", "b", "a"]), - a.each(u, function (b, e) { - switch (e) { - case "b": - ((p = m.left - 6), - (q = m.top), - (s = k.get_parent(l)), - (t = l.parent().index())); - break; - case "i": - ((B = k.settings.dnd.inside_pos), - (C = k.get_node(l.parent())), - (p = m.left - 2), - (q = m.top + r / 2 + 1), - (s = C.id), - (t = - "first" === B - ? 0 - : "last" === B - ? C.children.length - : Math.min(B, C.children.length))); - break; - case "a": - ((p = m.left - 6), - (q = m.top + r), - (s = k.get_parent(l)), - (t = l.parent().index() + 1)); - } - for (v = !0, w = 0, x = i.data.nodes.length; x > w; w++) - if ( - ((y = - i.data.origin && - (i.data.origin.settings.dnd.always_copy || - (i.data.origin.settings.dnd.copy && - (i.event.metaKey || i.event.ctrlKey))) - ? "copy_node" - : "move_node"), - (z = t), - "move_node" === y && - "a" === e && - i.data.origin && - i.data.origin === k && - s === k.get_parent(i.data.nodes[w]) && - ((A = k.get_node(s)), - z > a.inArray(i.data.nodes[w], A.children) && (z -= 1)), - (v = - v && - ((k && - k.settings && - k.settings.dnd && - k.settings.dnd.check_while_dragging === !1) || - k.check( - y, - i.data.origin && i.data.origin !== k - ? i.data.origin.get_node(i.data.nodes[w]) - : i.data.nodes[w], - s, - z, - { - dnd: !0, - ref: k.get_node(l.parent()), - pos: e, - origin: i.data.origin, - is_multi: i.data.origin && i.data.origin !== k, - is_foreign: !i.data.origin, - }, - ))), - !v) - ) { - k && k.last_error && (d = k.last_error()); - break; - } - return ( - "i" === e && - l.parent().is(".jstree-closed") && - k.settings.dnd.open_timeout && - (!i.event || "dragover" !== i.event.type || j) && - (f && clearTimeout(f), - (f = setTimeout( - (function (a, b) { - return function () { - a.open_node(b); - }; - })(k, l), - k.settings.dnd.open_timeout, - ))), - v - ? ((E = k.get_node(s, !0)), - E.hasClass(".jstree-dnd-parent") || - (a(".jstree-dnd-parent").removeClass( - "jstree-dnd-parent", - ), - E.addClass("jstree-dnd-parent")), - (c = { - ins: k, - par: s, - pos: - "i" !== e || "last" !== B || 0 !== t || k.is_loaded(C) - ? t - : "last", - }), - g.css({ left: p + "px", top: q + "px" }).show(), - i.helper - .find(".jstree-icon") - .first() - .removeClass("jstree-er") - .addClass("jstree-ok"), - i.event.originalEvent && - i.event.originalEvent.dataTransfer && - (i.event.originalEvent.dataTransfer.dropEffect = D - ? "copy" - : "move"), - (d = {}), - (u = !0), - !1) - : void 0 - ); - }), - u === !0)) - ) - return; - } else { - for (v = !0, w = 0, x = i.data.nodes.length; x > w; w++) - if ( - ((v = - v && - k.check( - i.data.origin && - (i.data.origin.settings.dnd.always_copy || - (i.data.origin.settings.dnd.copy && - (i.event.metaKey || i.event.ctrlKey))) - ? "copy_node" - : "move_node", - i.data.origin && i.data.origin !== k - ? i.data.origin.get_node(i.data.nodes[w]) - : i.data.nodes[w], - a.jstree.root, - "last", - { - dnd: !0, - ref: k.get_node(a.jstree.root), - pos: "i", - origin: i.data.origin, - is_multi: i.data.origin && i.data.origin !== k, - is_foreign: !i.data.origin, - }, - )), - !v) - ) - break; - if (v) - return ( - (c = { ins: k, par: a.jstree.root, pos: "last" }), - g.hide(), - i.helper - .find(".jstree-icon") - .first() - .removeClass("jstree-er") - .addClass("jstree-ok"), - void ( - i.event.originalEvent && - i.event.originalEvent.dataTransfer && - (i.event.originalEvent.dataTransfer.dropEffect = D - ? "copy" - : "move") - ) - ); - } - (a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"), - (c = !1), - i.helper - .find(".jstree-icon") - .removeClass("jstree-ok") - .addClass("jstree-er"), - i.event.originalEvent && i.event.originalEvent.dataTransfer, - g.hide()); - } - }) - .on("dnd_scroll.vakata.jstree", function (a, b) { - b && - b.data && - b.data.jstree && - (g.hide(), - (c = !1), - (e = !1), - b.helper - .find(".jstree-icon") - .first() - .removeClass("jstree-ok") - .addClass("jstree-er")); - }) - .on("dnd_stop.vakata.jstree", function (b, h) { - if ( - (a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"), - f && clearTimeout(f), - h && h.data && h.data.jstree) - ) { - g.hide().detach(); - var i, - j, - k = []; - if (c) { - for (i = 0, j = h.data.nodes.length; j > i; i++) - k[i] = h.data.origin - ? h.data.origin.get_node(h.data.nodes[i]) - : h.data.nodes[i]; - c.ins[ - h.data.origin && - (h.data.origin.settings.dnd.always_copy || - (h.data.origin.settings.dnd.copy && - (h.event.metaKey || h.event.ctrlKey))) - ? "copy_node" - : "move_node" - ](k, c.par, c.pos, !1, !1, !1, h.data.origin); - } else - ((i = a(h.event.target).closest(".jstree")), - i.length && - d && - d.error && - "check" === d.error && - ((i = i.jstree(!0)), i && i.settings.core.error.call(this, d))); - ((e = !1), (c = !1)); - } - }) - .on("keyup.jstree keydown.jstree", function (b, h) { - ((h = a.vakata.dnd._get()), - h && - h.data && - h.data.jstree && - ("keyup" === b.type && 27 === b.which - ? (f && clearTimeout(f), - (c = !1), - (d = !1), - (e = !1), - (f = !1), - g.hide().detach(), - a.vakata.dnd._clean()) - : (h.helper - .find(".jstree-copy") - .first() - [ - h.data.origin && - (h.data.origin.settings.dnd.always_copy || - (h.data.origin.settings.dnd.copy && (b.metaKey || b.ctrlKey))) - ? "show" - : "hide" - ](), - e && - ((e.metaKey = b.metaKey), - (e.ctrlKey = b.ctrlKey), - a.vakata.dnd._trigger("move", e))))); - }); - }), - (function (a) { - a.vakata.html = { - div: a("
        "), - escape: function (b) { - return a.vakata.html.div.text(b).html(); - }, - strip: function (b) { - return a.vakata.html.div.empty().append(a.parseHTML(b)).text(); - }, - }; - var c = { - element: !1, - target: !1, - is_down: !1, - is_drag: !1, - helper: !1, - helper_w: 0, - data: !1, - init_x: 0, - init_y: 0, - scroll_l: 0, - scroll_t: 0, - scroll_e: !1, - scroll_i: !1, - is_touch: !1, - }; - a.vakata.dnd = { - settings: { - scroll_speed: 10, - scroll_proximity: 20, - helper_left: 5, - helper_top: 10, - threshold: 5, - threshold_touch: 10, - }, - _trigger: function (c, d, e) { - (e === b && (e = a.vakata.dnd._get()), - (e.event = d), - a(i).triggerHandler("dnd_" + c + ".vakata", e)); - }, - _get: function () { - return { data: c.data, element: c.element, helper: c.helper }; - }, - _clean: function () { - (c.helper && c.helper.remove(), - c.scroll_i && (clearInterval(c.scroll_i), (c.scroll_i = !1)), - (c = { - element: !1, - target: !1, - is_down: !1, - is_drag: !1, - helper: !1, - helper_w: 0, - data: !1, - init_x: 0, - init_y: 0, - scroll_l: 0, - scroll_t: 0, - scroll_e: !1, - scroll_i: !1, - is_touch: !1, - }), - a(i).off( - "mousemove.vakata.jstree touchmove.vakata.jstree", - a.vakata.dnd.drag, - ), - a(i).off( - "mouseup.vakata.jstree touchend.vakata.jstree", - a.vakata.dnd.stop, - )); - }, - _scroll: function (b) { - if (!c.scroll_e || (!c.scroll_l && !c.scroll_t)) - return (c.scroll_i && (clearInterval(c.scroll_i), (c.scroll_i = !1)), !1); - if (!c.scroll_i) - return ((c.scroll_i = setInterval(a.vakata.dnd._scroll, 100)), !1); - if (b === !0) return !1; - var d = c.scroll_e.scrollTop(), - e = c.scroll_e.scrollLeft(); - (c.scroll_e.scrollTop(d + c.scroll_t * a.vakata.dnd.settings.scroll_speed), - c.scroll_e.scrollLeft( - e + c.scroll_l * a.vakata.dnd.settings.scroll_speed, - ), - (d !== c.scroll_e.scrollTop() || e !== c.scroll_e.scrollLeft()) && - a.vakata.dnd._trigger("scroll", c.scroll_e)); - }, - start: function (b, d, e) { - ("touchstart" === b.type && - b.originalEvent && - b.originalEvent.changedTouches && - b.originalEvent.changedTouches[0] && - ((b.pageX = b.originalEvent.changedTouches[0].pageX), - (b.pageY = b.originalEvent.changedTouches[0].pageY), - (b.target = i.elementFromPoint( - b.originalEvent.changedTouches[0].pageX - window.pageXOffset, - b.originalEvent.changedTouches[0].pageY - window.pageYOffset, - ))), - c.is_drag && a.vakata.dnd.stop({})); - try { - ((b.currentTarget.unselectable = "on"), - (b.currentTarget.onselectstart = function () { - return !1; - }), - b.currentTarget.style && - ((b.currentTarget.style.touchAction = "none"), - (b.currentTarget.style.msTouchAction = "none"), - (b.currentTarget.style.MozUserSelect = "none"))); - } catch (f) {} - return ( - (c.init_x = b.pageX), - (c.init_y = b.pageY), - (c.data = d), - (c.is_down = !0), - (c.element = b.currentTarget), - (c.target = b.target), - (c.is_touch = "touchstart" === b.type), - e !== !1 && - (c.helper = a("
        ").html(e).css({ - display: "block", - margin: "0", - padding: "0", - position: "absolute", - top: "-2000px", - lineHeight: "16px", - zIndex: "10000", - })), - a(i).on( - "mousemove.vakata.jstree touchmove.vakata.jstree", - a.vakata.dnd.drag, - ), - a(i).on( - "mouseup.vakata.jstree touchend.vakata.jstree", - a.vakata.dnd.stop, - ), - !1 - ); - }, - drag: function (b) { - if ( - ("touchmove" === b.type && - b.originalEvent && - b.originalEvent.changedTouches && - b.originalEvent.changedTouches[0] && - ((b.pageX = b.originalEvent.changedTouches[0].pageX), - (b.pageY = b.originalEvent.changedTouches[0].pageY), - (b.target = i.elementFromPoint( - b.originalEvent.changedTouches[0].pageX - window.pageXOffset, - b.originalEvent.changedTouches[0].pageY - window.pageYOffset, - ))), - c.is_down) - ) { - if (!c.is_drag) { - if ( - !( - Math.abs(b.pageX - c.init_x) > - (c.is_touch - ? a.vakata.dnd.settings.threshold_touch - : a.vakata.dnd.settings.threshold) || - Math.abs(b.pageY - c.init_y) > - (c.is_touch - ? a.vakata.dnd.settings.threshold_touch - : a.vakata.dnd.settings.threshold) - ) - ) - return; - (c.helper && - (c.helper.appendTo(i.body), (c.helper_w = c.helper.outerWidth())), - (c.is_drag = !0), - a(c.target).one("click.vakata", !1), - a.vakata.dnd._trigger("start", b)); - } - var d = !1, - e = !1, - f = !1, - g = !1, - h = !1, - j = !1, - k = !1, - l = !1, - m = !1, - n = !1; - return ( - (c.scroll_t = 0), - (c.scroll_l = 0), - (c.scroll_e = !1), - a(a(b.target).parentsUntil("body").addBack().get().reverse()) - .filter(function () { - return ( - /^auto|scroll$/.test(a(this).css("overflow")) && - (this.scrollHeight > this.offsetHeight || - this.scrollWidth > this.offsetWidth) - ); - }) - .each(function () { - var d = a(this), - e = d.offset(); - return ( - this.scrollHeight > this.offsetHeight && - (e.top + d.height() - b.pageY < - a.vakata.dnd.settings.scroll_proximity && (c.scroll_t = 1), - b.pageY - e.top < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_t = -1)), - this.scrollWidth > this.offsetWidth && - (e.left + d.width() - b.pageX < - a.vakata.dnd.settings.scroll_proximity && (c.scroll_l = 1), - b.pageX - e.left < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_l = -1)), - c.scroll_t || c.scroll_l ? ((c.scroll_e = a(this)), !1) : void 0 - ); - }), - c.scroll_e || - ((d = a(i)), - (e = a(window)), - (f = d.height()), - (g = e.height()), - (h = d.width()), - (j = e.width()), - (k = d.scrollTop()), - (l = d.scrollLeft()), - f > g && - b.pageY - k < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_t = -1), - f > g && - g - (b.pageY - k) < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_t = 1), - h > j && - b.pageX - l < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_l = -1), - h > j && - j - (b.pageX - l) < a.vakata.dnd.settings.scroll_proximity && - (c.scroll_l = 1), - (c.scroll_t || c.scroll_l) && (c.scroll_e = d)), - c.scroll_e && a.vakata.dnd._scroll(!0), - c.helper && - ((m = parseInt(b.pageY + a.vakata.dnd.settings.helper_top, 10)), - (n = parseInt(b.pageX + a.vakata.dnd.settings.helper_left, 10)), - f && m + 25 > f && (m = f - 50), - h && n + c.helper_w > h && (n = h - (c.helper_w + 2)), - c.helper.css({ left: n + "px", top: m + "px" })), - a.vakata.dnd._trigger("move", b), - !1 - ); - } - }, - stop: function (b) { - if ( - ("touchend" === b.type && - b.originalEvent && - b.originalEvent.changedTouches && - b.originalEvent.changedTouches[0] && - ((b.pageX = b.originalEvent.changedTouches[0].pageX), - (b.pageY = b.originalEvent.changedTouches[0].pageY), - (b.target = i.elementFromPoint( - b.originalEvent.changedTouches[0].pageX - window.pageXOffset, - b.originalEvent.changedTouches[0].pageY - window.pageYOffset, - ))), - c.is_drag) - ) - (b.target !== c.target && a(c.target).off("click.vakata"), - a.vakata.dnd._trigger("stop", b)); - else if ("touchend" === b.type && b.target === c.target) { - var d = setTimeout(function () { - a(b.target).click(); - }, 100); - a(b.target).one("click", function () { - d && clearTimeout(d); - }); - } - return (a.vakata.dnd._clean(), !1); - }, - }; - })(a), - (a.jstree.defaults.massload = null), - (a.jstree.plugins.massload = function (b, c) { - ((this.init = function (a, b) { - ((this._data.massload = {}), c.init.call(this, a, b)); - }), - (this._load_nodes = function (b, d, e, f) { - var g = this.settings.massload, - h = JSON.stringify(b), - i = [], - j = this._model.data, - k, - l, - m; - if (!e) { - for (k = 0, l = b.length; l > k; k++) - (!j[b[k]] || (!j[b[k]].state.loaded && !j[b[k]].state.failed) || f) && - (i.push(b[k]), - (m = this.get_node(b[k], !0)), - m && m.length && m.addClass("jstree-loading").attr("aria-busy", !0)); - if (((this._data.massload = {}), i.length)) { - if (a.isFunction(g)) - return g.call( - this, - i, - a.proxy(function (a) { - var g, h; - if (a) - for (g in a) - a.hasOwnProperty(g) && (this._data.massload[g] = a[g]); - for (g = 0, h = b.length; h > g; g++) - ((m = this.get_node(b[g], !0)), - m && - m.length && - m.removeClass("jstree-loading").attr("aria-busy", !1)); - c._load_nodes.call(this, b, d, e, f); - }, this), - ); - if ("object" == typeof g && g && g.url) - return ( - (g = a.extend(!0, {}, g)), - a.isFunction(g.url) && (g.url = g.url.call(this, i)), - a.isFunction(g.data) && (g.data = g.data.call(this, i)), - a - .ajax(g) - .done( - a.proxy(function (a, g, h) { - var i, j; - if (a) - for (i in a) - a.hasOwnProperty(i) && (this._data.massload[i] = a[i]); - for (i = 0, j = b.length; j > i; i++) - ((m = this.get_node(b[i], !0)), - m && - m.length && - m.removeClass("jstree-loading").attr("aria-busy", !1)); - c._load_nodes.call(this, b, d, e, f); - }, this), - ) - .fail( - a.proxy(function (a) { - c._load_nodes.call(this, b, d, e, f); - }, this), - ) - ); - } - } - return c._load_nodes.call(this, b, d, e, f); - }), - (this._load_node = function (b, d) { - var e = this._data.massload[b.id], - f = null, - g; - return e - ? ((f = this[ - "string" == typeof e ? "_append_html_data" : "_append_json_data" - ]( - b, - "string" == typeof e - ? a(a.parseHTML(e)).filter(function () { - return 3 !== this.nodeType; - }) - : e, - function (a) { - d.call(this, a); - }, - )), - (g = this.get_node(b.id, !0)), - g && g.length && g.removeClass("jstree-loading").attr("aria-busy", !1), - delete this._data.massload[b.id], - f) - : c._load_node.call(this, b, d); - })); - }), - (a.jstree.defaults.search = { - ajax: !1, - fuzzy: !1, - case_sensitive: !1, - show_only_matches: !1, - show_only_matches_children: !1, - close_opened_onclear: !0, - search_leaves_only: !1, - search_callback: !1, - }), - (a.jstree.plugins.search = function (c, d) { - ((this.bind = function () { - (d.bind.call(this), - (this._data.search.str = ""), - (this._data.search.dom = a()), - (this._data.search.res = []), - (this._data.search.opn = []), - (this._data.search.som = !1), - (this._data.search.smc = !1), - (this._data.search.hdn = []), - this.element - .on( - "search.jstree", - a.proxy(function (b, c) { - if (this._data.search.som && c.res.length) { - var d = this._model.data, - e, - f, - g = [], - h, - i; - for (e = 0, f = c.res.length; f > e; e++) - if ( - d[c.res[e]] && - !d[c.res[e]].state.hidden && - (g.push(c.res[e]), - (g = g.concat(d[c.res[e]].parents)), - this._data.search.smc) - ) - for (h = 0, i = d[c.res[e]].children_d.length; i > h; h++) - d[d[c.res[e]].children_d[h]] && - !d[d[c.res[e]].children_d[h]].state.hidden && - g.push(d[c.res[e]].children_d[h]); - ((g = a.vakata.array_remove_item( - a.vakata.array_unique(g), - a.jstree.root, - )), - (this._data.search.hdn = this.hide_all(!0)), - this.show_node(g, !0), - this.redraw(!0)); - } - }, this), - ) - .on( - "clear_search.jstree", - a.proxy(function (a, b) { - this._data.search.som && - b.res.length && - (this.show_node(this._data.search.hdn, !0), this.redraw(!0)); - }, this), - )); - }), - (this.search = function (c, d, e, f, g, h) { - if (c === !1 || "" === a.trim(c.toString())) return this.clear_search(); - ((f = this.get_node(f)), (f = f && f.id ? f.id : null), (c = c.toString())); - var i = this.settings.search, - j = i.ajax ? i.ajax : !1, - k = this._model.data, - l = null, - m = [], - n = [], - o, - p; - if ( - (this._data.search.res.length && !g && this.clear_search(), - e === b && (e = i.show_only_matches), - h === b && (h = i.show_only_matches_children), - !d && j !== !1) - ) - return a.isFunction(j) - ? j.call( - this, - c, - a.proxy(function (b) { - (b && b.d && (b = b.d), - this._load_nodes( - a.isArray(b) ? a.vakata.array_unique(b) : [], - function () { - this.search(c, !0, e, f, g, h); - }, - )); - }, this), - f, - ) - : ((j = a.extend({}, j)), - j.data || (j.data = {}), - (j.data.str = c), - f && (j.data.inside = f), - this._data.search.lastRequest && - this._data.search.lastRequest.abort(), - (this._data.search.lastRequest = a - .ajax(j) - .fail( - a.proxy(function () { - ((this._data.core.last_error = { - error: "ajax", - plugin: "search", - id: "search_01", - reason: "Could not load search parents", - data: JSON.stringify(j), - }), - this.settings.core.error.call( - this, - this._data.core.last_error, - )); - }, this), - ) - .done( - a.proxy(function (b) { - (b && b.d && (b = b.d), - this._load_nodes( - a.isArray(b) ? a.vakata.array_unique(b) : [], - function () { - this.search(c, !0, e, f, g, h); - }, - )); - }, this), - )), - this._data.search.lastRequest); - if ( - (g || - ((this._data.search.str = c), - (this._data.search.dom = a()), - (this._data.search.res = []), - (this._data.search.opn = []), - (this._data.search.som = e), - (this._data.search.smc = h)), - (l = new a.vakata.search(c, !0, { - caseSensitive: i.case_sensitive, - fuzzy: i.fuzzy, - })), - a.each(k[f ? f : a.jstree.root].children_d, function (a, b) { - var d = k[b]; - d.text && - !d.state.hidden && - (!i.search_leaves_only || - (d.state.loaded && 0 === d.children.length)) && - ((i.search_callback && i.search_callback.call(this, c, d)) || - (!i.search_callback && l.search(d.text).isMatch)) && - (m.push(b), (n = n.concat(d.parents))); - }), - m.length) - ) { - for (n = a.vakata.array_unique(n), o = 0, p = n.length; p > o; o++) - n[o] !== a.jstree.root && - k[n[o]] && - this.open_node(n[o], null, 0) === !0 && - this._data.search.opn.push(n[o]); - (g - ? ((this._data.search.dom = this._data.search.dom.add( - a( - this.element[0].querySelectorAll( - "#" + - a - .map(m, function (b) { - return -1 !== "0123456789".indexOf(b[0]) - ? "\\3" + - b[0] + - " " + - b.substr(1).replace(a.jstree.idregex, "\\$&") - : b.replace(a.jstree.idregex, "\\$&"); - }) - .join(", #"), - ), - ), - )), - (this._data.search.res = a.vakata.array_unique( - this._data.search.res.concat(m), - ))) - : ((this._data.search.dom = a( - this.element[0].querySelectorAll( - "#" + - a - .map(m, function (b) { - return -1 !== "0123456789".indexOf(b[0]) - ? "\\3" + - b[0] + - " " + - b.substr(1).replace(a.jstree.idregex, "\\$&") - : b.replace(a.jstree.idregex, "\\$&"); - }) - .join(", #"), - ), - )), - (this._data.search.res = m)), - this._data.search.dom - .children(".jstree-anchor") - .addClass("jstree-search")); - } - this.trigger("search", { - nodes: this._data.search.dom, - str: c, - res: this._data.search.res, - show_only_matches: e, - }); - }), - (this.clear_search = function () { - (this.settings.search.close_opened_onclear && - this.close_node(this._data.search.opn, 0), - this.trigger("clear_search", { - nodes: this._data.search.dom, - str: this._data.search.str, - res: this._data.search.res, - }), - this._data.search.res.length && - ((this._data.search.dom = a( - this.element[0].querySelectorAll( - "#" + - a - .map(this._data.search.res, function (b) { - return -1 !== "0123456789".indexOf(b[0]) - ? "\\3" + - b[0] + - " " + - b.substr(1).replace(a.jstree.idregex, "\\$&") - : b.replace(a.jstree.idregex, "\\$&"); - }) - .join(", #"), - ), - )), - this._data.search.dom - .children(".jstree-anchor") - .removeClass("jstree-search")), - (this._data.search.str = ""), - (this._data.search.res = []), - (this._data.search.opn = []), - (this._data.search.dom = a())); - }), - (this.redraw_node = function (b, c, e, f) { - if ( - ((b = d.redraw_node.apply(this, arguments)), - b && -1 !== a.inArray(b.id, this._data.search.res)) - ) { - var g, - h, - i = null; - for (g = 0, h = b.childNodes.length; h > g; g++) - if ( - b.childNodes[g] && - b.childNodes[g].className && - -1 !== b.childNodes[g].className.indexOf("jstree-anchor") - ) { - i = b.childNodes[g]; - break; - } - i && (i.className += " jstree-search"); - } - return b; - })); - }), - (function (a) { - ((a.vakata.search = function (b, c, d) { - ((d = d || {}), - (d = a.extend({}, a.vakata.search.defaults, d)), - d.fuzzy !== !1 && (d.fuzzy = !0), - (b = d.caseSensitive ? b : b.toLowerCase())); - var e = d.location, - f = d.distance, - g = d.threshold, - h = b.length, - i, - j, - k, - l; - return ( - h > 32 && (d.fuzzy = !1), - d.fuzzy && - ((i = 1 << (h - 1)), - (j = (function () { - var a = {}, - c = 0; - for (c = 0; h > c; c++) a[b.charAt(c)] = 0; - for (c = 0; h > c; c++) a[b.charAt(c)] |= 1 << (h - c - 1); - return a; - })()), - (k = function (a, b) { - var c = a / h, - d = Math.abs(e - b); - return f ? c + d / f : d ? 1 : c; - })), - (l = function (a) { - if ( - ((a = d.caseSensitive ? a : a.toLowerCase()), - b === a || -1 !== a.indexOf(b)) - ) - return { isMatch: !0, score: 0 }; - if (!d.fuzzy) return { isMatch: !1, score: 1 }; - var c, - f, - l = a.length, - m = g, - n = a.indexOf(b, e), - o, - p, - q = h + l, - r, - s, - t, - u, - v, - w = 1, - x = []; - for ( - -1 !== n && - ((m = Math.min(k(0, n), m)), - (n = a.lastIndexOf(b, e + h)), - -1 !== n && (m = Math.min(k(0, n), m))), - n = -1, - c = 0; - h > c; - c++ - ) { - ((o = 0), (p = q)); - while (p > o) - (k(c, e + p) <= m ? (o = p) : (q = p), - (p = Math.floor((q - o) / 2 + o))); - for ( - q = p, - s = Math.max(1, e - p + 1), - t = Math.min(e + p, l) + h, - u = new Array(t + 2), - u[t + 1] = (1 << c) - 1, - f = t; - f >= s; - f-- - ) - if ( - ((v = j[a.charAt(f - 1)]), - 0 === c - ? (u[f] = ((u[f + 1] << 1) | 1) & v) - : (u[f] = - (((u[f + 1] << 1) | 1) & v) | - (((r[f + 1] | r[f]) << 1) | 1) | - r[f + 1]), - u[f] & i && ((w = k(c, f - 1)), m >= w)) - ) { - if (((m = w), (n = f - 1), x.push(n), !(n > e))) break; - s = Math.max(1, 2 * e - n); - } - if (k(c + 1, e) > m) break; - r = u; - } - return { isMatch: n >= 0, score: w }; - }), - c === !0 ? { search: l } : l(c) - ); - }), - (a.vakata.search.defaults = { - location: 0, - distance: 100, - threshold: 0.6, - fuzzy: !1, - caseSensitive: !1, - })); - })(a), - (a.jstree.defaults.sort = function (a, b) { - return this.get_text(a) > this.get_text(b) ? 1 : -1; - }), - (a.jstree.plugins.sort = function (b, c) { - ((this.bind = function () { - (c.bind.call(this), - this.element - .on( - "model.jstree", - a.proxy(function (a, b) { - this.sort(b.parent, !0); - }, this), - ) - .on( - "rename_node.jstree create_node.jstree", - a.proxy(function (a, b) { - (this.sort(b.parent || b.node.parent, !1), - this.redraw_node(b.parent || b.node.parent, !0)); - }, this), - ) - .on( - "move_node.jstree copy_node.jstree", - a.proxy(function (a, b) { - (this.sort(b.parent, !1), this.redraw_node(b.parent, !0)); - }, this), - )); - }), - (this.sort = function (b, c) { - var d, e; - if ( - ((b = this.get_node(b)), - b && - b.children && - b.children.length && - (b.children.sort(a.proxy(this.settings.sort, this)), c)) - ) - for (d = 0, e = b.children_d.length; e > d; d++) - this.sort(b.children_d[d], !1); - })); - })); - var m = !1; - ((a.jstree.defaults.state = { - key: "jstree", - events: - "changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree", - ttl: !1, - filter: !1, - preserve_loaded: !1, - }), - (a.jstree.plugins.state = function (b, c) { - ((this.bind = function () { - c.bind.call(this); - var b = a.proxy(function () { - (this.element.on( - this.settings.state.events, - a.proxy(function () { - (m && clearTimeout(m), - (m = setTimeout( - a.proxy(function () { - this.save_state(); - }, this), - 100, - ))); - }, this), - ), - this.trigger("state_ready")); - }, this); - this.element.on( - "ready.jstree", - a.proxy(function (a, c) { - (this.element.one("restore_state.jstree", b), - this.restore_state() || b()); - }, this), - ); - }), - (this.save_state = function () { - var b = this.get_state(); - this.settings.state.preserve_loaded || delete b.core.loaded; - var c = { state: b, ttl: this.settings.state.ttl, sec: +new Date() }; - a.vakata.storage.set(this.settings.state.key, JSON.stringify(c)); - }), - (this.restore_state = function () { - var b = a.vakata.storage.get(this.settings.state.key); - if (b) - try { - b = JSON.parse(b); - } catch (c) { - return !1; - } - return b && b.ttl && b.sec && +new Date() - b.sec > b.ttl - ? !1 - : (b && b.state && (b = b.state), - b && - a.isFunction(this.settings.state.filter) && - (b = this.settings.state.filter.call(this, b)), - b - ? (this.settings.state.preserve_loaded || delete b.core.loaded, - this.element.one("set_state.jstree", function (c, d) { - d.instance.trigger("restore_state", { - state: a.extend(!0, {}, b), - }); - }), - this.set_state(b), - !0) - : !1); - }), - (this.clear_state = function () { - return a.vakata.storage.del(this.settings.state.key); - })); - }), - (function (a, b) { - a.vakata.storage = { - set: function (a, b) { - return window.localStorage.setItem(a, b); - }, - get: function (a) { - return window.localStorage.getItem(a); - }, - del: function (a) { - return window.localStorage.removeItem(a); - }, - }; - })(a), - (a.jstree.defaults.types = { default: {} }), - (a.jstree.defaults.types[a.jstree.root] = {}), - (a.jstree.plugins.types = function (c, d) { - ((this.init = function (c, e) { - var f, g; - if (e && e.types && e.types["default"]) - for (f in e.types) - if ("default" !== f && f !== a.jstree.root && e.types.hasOwnProperty(f)) - for (g in e.types["default"]) - e.types["default"].hasOwnProperty(g) && - e.types[f][g] === b && - (e.types[f][g] = e.types["default"][g]); - (d.init.call(this, c, e), - (this._model.data[a.jstree.root].type = a.jstree.root)); - }), - (this.refresh = function (b, c) { - (d.refresh.call(this, b, c), - (this._model.data[a.jstree.root].type = a.jstree.root)); - }), - (this.bind = function () { - (this.element.on( - "model.jstree", - a.proxy(function (c, d) { - var e = this._model.data, - f = d.nodes, - g = this.settings.types, - h, - i, - j = "default", - k; - for (h = 0, i = f.length; i > h; h++) { - if ( - ((j = "default"), - e[f[h]].original && - e[f[h]].original.type && - g[e[f[h]].original.type] && - (j = e[f[h]].original.type), - e[f[h]].data && - e[f[h]].data.jstree && - e[f[h]].data.jstree.type && - g[e[f[h]].data.jstree.type] && - (j = e[f[h]].data.jstree.type), - (e[f[h]].type = j), - e[f[h]].icon === !0 && - g[j].icon !== b && - (e[f[h]].icon = g[j].icon), - g[j].li_attr !== b && "object" == typeof g[j].li_attr) - ) - for (k in g[j].li_attr) - if (g[j].li_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - e[f[h]].li_attr[k] === b - ? (e[f[h]].li_attr[k] = g[j].li_attr[k]) - : "class" === k && - (e[f[h]].li_attr["class"] = - g[j].li_attr["class"] + " " + e[f[h]].li_attr["class"]); - } - if (g[j].a_attr !== b && "object" == typeof g[j].a_attr) - for (k in g[j].a_attr) - if (g[j].a_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - e[f[h]].a_attr[k] === b - ? (e[f[h]].a_attr[k] = g[j].a_attr[k]) - : "href" === k && "#" === e[f[h]].a_attr[k] - ? (e[f[h]].a_attr.href = g[j].a_attr.href) - : "class" === k && - (e[f[h]].a_attr["class"] = - g[j].a_attr["class"] + " " + e[f[h]].a_attr["class"]); - } - } - e[a.jstree.root].type = a.jstree.root; - }, this), - ), - d.bind.call(this)); - }), - (this.get_json = function (b, c, e) { - var f, - g, - h = this._model.data, - i = c ? a.extend(!0, {}, c, { no_id: !1 }) : {}, - j = d.get_json.call(this, b, i, e); - if (j === !1) return !1; - if (a.isArray(j)) - for (f = 0, g = j.length; g > f; f++) - ((j[f].type = - j[f].id && h[j[f].id] && h[j[f].id].type - ? h[j[f].id].type - : "default"), - c && - c.no_id && - (delete j[f].id, - j[f].li_attr && j[f].li_attr.id && delete j[f].li_attr.id, - j[f].a_attr && j[f].a_attr.id && delete j[f].a_attr.id)); - else - ((j.type = j.id && h[j.id] && h[j.id].type ? h[j.id].type : "default"), - c && c.no_id && (j = this._delete_ids(j))); - return j; - }), - (this._delete_ids = function (b) { - if (a.isArray(b)) { - for (var c = 0, d = b.length; d > c; c++) b[c] = this._delete_ids(b[c]); - return b; - } - return ( - delete b.id, - b.li_attr && b.li_attr.id && delete b.li_attr.id, - b.a_attr && b.a_attr.id && delete b.a_attr.id, - b.children && - a.isArray(b.children) && - (b.children = this._delete_ids(b.children)), - b - ); - }), - (this.check = function (c, e, f, g, h) { - if (d.check.call(this, c, e, f, g, h) === !1) return !1; - ((e = e && e.id ? e : this.get_node(e)), - (f = f && f.id ? f : this.get_node(f))); - var i = - e && e.id - ? h && h.origin - ? h.origin - : a.jstree.reference(e.id) - : null, - j, - k, - l, - m; - switch (((i = i && i._model && i._model.data ? i._model.data : null), c)) { - case "create_node": - case "move_node": - case "copy_node": - if ("move_node" !== c || -1 === a.inArray(e.id, f.children)) { - if ( - ((j = this.get_rules(f)), - j.max_children !== b && - -1 !== j.max_children && - j.max_children === f.children.length) - ) - return ( - (this._data.core.last_error = { - error: "check", - plugin: "types", - id: "types_01", - reason: "max_children prevents function: " + c, - data: JSON.stringify({ - chk: c, - pos: g, - obj: e && e.id ? e.id : !1, - par: f && f.id ? f.id : !1, - }), - }), - !1 - ); - if ( - j.valid_children !== b && - -1 !== j.valid_children && - -1 === a.inArray(e.type || "default", j.valid_children) - ) - return ( - (this._data.core.last_error = { - error: "check", - plugin: "types", - id: "types_02", - reason: "valid_children prevents function: " + c, - data: JSON.stringify({ - chk: c, - pos: g, - obj: e && e.id ? e.id : !1, - par: f && f.id ? f.id : !1, - }), - }), - !1 - ); - if (i && e.children_d && e.parents) { - for (k = 0, l = 0, m = e.children_d.length; m > l; l++) - k = Math.max(k, i[e.children_d[l]].parents.length); - k = k - e.parents.length + 1; - } - (0 >= k || k === b) && (k = 1); - do { - if (j.max_depth !== b && -1 !== j.max_depth && j.max_depth < k) - return ( - (this._data.core.last_error = { - error: "check", - plugin: "types", - id: "types_03", - reason: "max_depth prevents function: " + c, - data: JSON.stringify({ - chk: c, - pos: g, - obj: e && e.id ? e.id : !1, - par: f && f.id ? f.id : !1, - }), - }), - !1 - ); - ((f = this.get_node(f.parent)), (j = this.get_rules(f)), k++); - } while (f); - } - } - return !0; - }), - (this.get_rules = function (a) { - if (((a = this.get_node(a)), !a)) return !1; - var c = this.get_type(a, !0); - return ( - c.max_depth === b && (c.max_depth = -1), - c.max_children === b && (c.max_children = -1), - c.valid_children === b && (c.valid_children = -1), - c - ); - }), - (this.get_type = function (b, c) { - return ( - (b = this.get_node(b)), - b - ? c - ? a.extend({ type: b.type }, this.settings.types[b.type]) - : b.type - : !1 - ); - }), - (this.set_type = function (c, d) { - var e = this._model.data, - f, - g, - h, - i, - j, - k, - l, - m; - if (a.isArray(c)) { - for (c = c.slice(), g = 0, h = c.length; h > g; g++) - this.set_type(c[g], d); - return !0; - } - if (((f = this.settings.types), (c = this.get_node(c)), !f[d] || !c)) - return !1; - if ( - ((l = this.get_node(c, !0)), - l && l.length && (m = l.children(".jstree-anchor")), - (i = c.type), - (j = this.get_icon(c)), - (c.type = d), - (j === !0 || !f[i] || (f[i].icon !== b && j === f[i].icon)) && - this.set_icon(c, f[d].icon !== b ? f[d].icon : !0), - f[i] && f[i].li_attr !== b && "object" == typeof f[i].li_attr) - ) - for (k in f[i].li_attr) - if (f[i].li_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - "class" === k - ? ((e[c.id].li_attr["class"] = ( - e[c.id].li_attr["class"] || "" - ).replace(f[i].li_attr[k], "")), - l && l.removeClass(f[i].li_attr[k])) - : e[c.id].li_attr[k] === f[i].li_attr[k] && - ((e[c.id].li_attr[k] = null), l && l.removeAttr(k)); - } - if (f[i] && f[i].a_attr !== b && "object" == typeof f[i].a_attr) - for (k in f[i].a_attr) - if (f[i].a_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - "class" === k - ? ((e[c.id].a_attr["class"] = ( - e[c.id].a_attr["class"] || "" - ).replace(f[i].a_attr[k], "")), - m && m.removeClass(f[i].a_attr[k])) - : e[c.id].a_attr[k] === f[i].a_attr[k] && - ("href" === k - ? ((e[c.id].a_attr[k] = "#"), m && m.attr("href", "#")) - : (delete e[c.id].a_attr[k], m && m.removeAttr(k))); - } - if (f[d].li_attr !== b && "object" == typeof f[d].li_attr) - for (k in f[d].li_attr) - if (f[d].li_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - e[c.id].li_attr[k] === b - ? ((e[c.id].li_attr[k] = f[d].li_attr[k]), - l && - ("class" === k - ? l.addClass(f[d].li_attr[k]) - : l.attr(k, f[d].li_attr[k]))) - : "class" === k && - ((e[c.id].li_attr["class"] = - f[d].li_attr[k] + " " + e[c.id].li_attr["class"]), - l && l.addClass(f[d].li_attr[k])); - } - if (f[d].a_attr !== b && "object" == typeof f[d].a_attr) - for (k in f[d].a_attr) - if (f[d].a_attr.hasOwnProperty(k)) { - if ("id" === k) continue; - e[c.id].a_attr[k] === b - ? ((e[c.id].a_attr[k] = f[d].a_attr[k]), - m && - ("class" === k - ? m.addClass(f[d].a_attr[k]) - : m.attr(k, f[d].a_attr[k]))) - : "href" === k && "#" === e[c.id].a_attr[k] - ? ((e[c.id].a_attr.href = f[d].a_attr.href), - m && m.attr("href", f[d].a_attr.href)) - : "class" === k && - ((e[c.id].a_attr["class"] = - f[d].a_attr["class"] + " " + e[c.id].a_attr["class"]), - m && m.addClass(f[d].a_attr[k])); - } - return !0; - })); - }), - (a.jstree.defaults.unique = { - case_sensitive: !1, - trim_whitespace: !1, - duplicate: function (a, b) { - return a + " (" + b + ")"; - }, - }), - (a.jstree.plugins.unique = function (c, d) { - ((this.check = function (b, c, e, f, g) { - if (d.check.call(this, b, c, e, f, g) === !1) return !1; - if ( - ((c = c && c.id ? c : this.get_node(c)), - (e = e && e.id ? e : this.get_node(e)), - !e || !e.children) - ) - return !0; - var h = "rename_node" === b ? f : c.text, - i = [], - j = this.settings.unique.case_sensitive, - k = this.settings.unique.trim_whitespace, - l = this._model.data, - m, - n, - o; - for (m = 0, n = e.children.length; n > m; m++) - ((o = l[e.children[m]].text), - j || (o = o.toLowerCase()), - k && (o = o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), - i.push(o)); - switch ( - (j || (h = h.toLowerCase()), - k && (h = h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), - b) - ) { - case "delete_node": - return !0; - case "rename_node": - return ( - (o = c.text || ""), - j || (o = o.toLowerCase()), - k && (o = o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), - (m = -1 === a.inArray(h, i) || (c.text && o === h)), - m || - (this._data.core.last_error = { - error: "check", - plugin: "unique", - id: "unique_01", - reason: - "Child with name " + h + " already exists. Preventing: " + b, - data: JSON.stringify({ - chk: b, - pos: f, - obj: c && c.id ? c.id : !1, - par: e && e.id ? e.id : !1, - }), - }), - m - ); - case "create_node": - return ( - (m = -1 === a.inArray(h, i)), - m || - (this._data.core.last_error = { - error: "check", - plugin: "unique", - id: "unique_04", - reason: - "Child with name " + h + " already exists. Preventing: " + b, - data: JSON.stringify({ - chk: b, - pos: f, - obj: c && c.id ? c.id : !1, - par: e && e.id ? e.id : !1, - }), - }), - m - ); - case "copy_node": - return ( - (m = -1 === a.inArray(h, i)), - m || - (this._data.core.last_error = { - error: "check", - plugin: "unique", - id: "unique_02", - reason: - "Child with name " + h + " already exists. Preventing: " + b, - data: JSON.stringify({ - chk: b, - pos: f, - obj: c && c.id ? c.id : !1, - par: e && e.id ? e.id : !1, - }), - }), - m - ); - case "move_node": - return ( - (m = - (c.parent === e.id && (!g || !g.is_multi)) || -1 === a.inArray(h, i)), - m || - (this._data.core.last_error = { - error: "check", - plugin: "unique", - id: "unique_03", - reason: - "Child with name " + h + " already exists. Preventing: " + b, - data: JSON.stringify({ - chk: b, - pos: f, - obj: c && c.id ? c.id : !1, - par: e && e.id ? e.id : !1, - }), - }), - m - ); - } - return !0; - }), - (this.create_node = function (c, e, f, g, h) { - if (!e || e.text === b) { - if ((null === c && (c = a.jstree.root), (c = this.get_node(c)), !c)) - return d.create_node.call(this, c, e, f, g, h); - if ( - ((f = f === b ? "last" : f), - !f.toString().match(/^(before|after)$/) && !h && !this.is_loaded(c)) - ) - return d.create_node.call(this, c, e, f, g, h); - e || (e = {}); - var i, - j, - k, - l, - m, - n = this._model.data, - o = this.settings.unique.case_sensitive, - p = this.settings.unique.trim_whitespace, - q = this.settings.unique.duplicate, - r; - for ( - j = i = this.get_string("New node"), - k = [], - l = 0, - m = c.children.length; - m > l; - l++ - ) - ((r = n[c.children[l]].text), - o || (r = r.toLowerCase()), - p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")), - k.push(r)); - ((l = 1), - (r = j), - o || (r = r.toLowerCase()), - p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""))); - while (-1 !== a.inArray(r, k)) - ((j = q.call(this, i, ++l).toString()), - (r = j), - o || (r = r.toLowerCase()), - p && (r = r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""))); - e.text = j; - } - return d.create_node.call(this, c, e, f, g, h); - })); - })); - var n = i.createElement("DIV"); - if ( - (n.setAttribute("unselectable", "on"), - n.setAttribute("role", "presentation"), - (n.className = "jstree-wholerow"), - (n.innerHTML = " "), - (a.jstree.plugins.wholerow = function (b, c) { - ((this.bind = function () { - (c.bind.call(this), - this.element - .on( - "ready.jstree set_state.jstree", - a.proxy(function () { - this.hide_dots(); - }, this), - ) - .on( - "init.jstree loading.jstree ready.jstree", - a.proxy(function () { - this.get_container_ul().addClass("jstree-wholerow-ul"); - }, this), - ) - .on( - "deselect_all.jstree", - a.proxy(function (a, b) { - this.element - .find(".jstree-wholerow-clicked") - .removeClass("jstree-wholerow-clicked"); - }, this), - ) - .on( - "changed.jstree", - a.proxy(function (a, b) { - this.element - .find(".jstree-wholerow-clicked") - .removeClass("jstree-wholerow-clicked"); - var c = !1, - d, - e; - for (d = 0, e = b.selected.length; e > d; d++) - ((c = this.get_node(b.selected[d], !0)), - c && - c.length && - c - .children(".jstree-wholerow") - .addClass("jstree-wholerow-clicked")); - }, this), - ) - .on( - "open_node.jstree", - a.proxy(function (a, b) { - this.get_node(b.node, !0) - .find(".jstree-clicked") - .parent() - .children(".jstree-wholerow") - .addClass("jstree-wholerow-clicked"); - }, this), - ) - .on( - "hover_node.jstree dehover_node.jstree", - a.proxy(function (a, b) { - ("hover_node" === a.type && this.is_disabled(b.node)) || - this.get_node(b.node, !0) - .children(".jstree-wholerow") - [ - "hover_node" === a.type ? "addClass" : "removeClass" - ]("jstree-wholerow-hovered"); - }, this), - ) - .on( - "contextmenu.jstree", - ".jstree-wholerow", - a.proxy(function (b) { - if (this._data.contextmenu) { - b.preventDefault(); - var c = a.Event("contextmenu", { - metaKey: b.metaKey, - ctrlKey: b.ctrlKey, - altKey: b.altKey, - shiftKey: b.shiftKey, - pageX: b.pageX, - pageY: b.pageY, - }); - a(b.currentTarget) - .closest(".jstree-node") - .children(".jstree-anchor") - .first() - .trigger(c); - } - }, this), - ) - .on("click.jstree", ".jstree-wholerow", function (b) { - b.stopImmediatePropagation(); - var c = a.Event("click", { - metaKey: b.metaKey, - ctrlKey: b.ctrlKey, - altKey: b.altKey, - shiftKey: b.shiftKey, - }); - a(b.currentTarget) - .closest(".jstree-node") - .children(".jstree-anchor") - .first() - .trigger(c) - .focus(); - }) - .on("dblclick.jstree", ".jstree-wholerow", function (b) { - b.stopImmediatePropagation(); - var c = a.Event("dblclick", { - metaKey: b.metaKey, - ctrlKey: b.ctrlKey, - altKey: b.altKey, - shiftKey: b.shiftKey, - }); - a(b.currentTarget) - .closest(".jstree-node") - .children(".jstree-anchor") - .first() - .trigger(c) - .focus(); - }) - .on( - "click.jstree", - ".jstree-leaf > .jstree-ocl", - a.proxy(function (b) { - b.stopImmediatePropagation(); - var c = a.Event("click", { - metaKey: b.metaKey, - ctrlKey: b.ctrlKey, - altKey: b.altKey, - shiftKey: b.shiftKey, - }); - a(b.currentTarget) - .closest(".jstree-node") - .children(".jstree-anchor") - .first() - .trigger(c) - .focus(); - }, this), - ) - .on( - "mouseover.jstree", - ".jstree-wholerow, .jstree-icon", - a.proxy(function (a) { - return ( - a.stopImmediatePropagation(), - this.is_disabled(a.currentTarget) || - this.hover_node(a.currentTarget), - !1 - ); - }, this), - ) - .on( - "mouseleave.jstree", - ".jstree-node", - a.proxy(function (a) { - this.dehover_node(a.currentTarget); - }, this), - )); - }), - (this.teardown = function () { - (this.settings.wholerow && this.element.find(".jstree-wholerow").remove(), - c.teardown.call(this)); - }), - (this.redraw_node = function (b, d, e, f) { - if ((b = c.redraw_node.apply(this, arguments))) { - var g = n.cloneNode(!0); - (-1 !== a.inArray(b.id, this._data.core.selected) && - (g.className += " jstree-wholerow-clicked"), - this._data.core.focused && - this._data.core.focused === b.id && - (g.className += " jstree-wholerow-hovered"), - b.insertBefore(g, b.childNodes[0])); - } - return b; - })); - }), - window.customElements && Object && Object.create) - ) { - var o = Object.create(HTMLElement.prototype); - o.createdCallback = function () { - var b = { core: {}, plugins: [] }, - c; - for (c in a.jstree.plugins) - a.jstree.plugins.hasOwnProperty(c) && - this.attributes[c] && - (b.plugins.push(c), - this.getAttribute(c) && - JSON.parse(this.getAttribute(c)) && - (b[c] = JSON.parse(this.getAttribute(c)))); - for (c in a.jstree.defaults.core) - a.jstree.defaults.core.hasOwnProperty(c) && - this.attributes[c] && - (b.core[c] = JSON.parse(this.getAttribute(c)) || this.getAttribute(c)); - a(this).jstree(b); - }; - try { - window.customElements.define("vakata-jstree", function () {}, { prototype: o }); - } catch (p) {} - } - } -}); +!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(django.jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document;a.jstree={version:"3.3.7",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0,loaded_state:!1,restore_focus:!0,keyboard:{"ctrl-space":function(b){b.type="click",a(b.currentTarget).trigger(b)},enter:function(b){b.type="click",a(b.currentTarget).trigger(b)},left:function(b){if(b.preventDefault(),this.is_open(b.currentTarget))this.close_node(b.currentTarget);else{var c=this.get_parent(b.currentTarget);c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus()}},up:function(a){a.preventDefault();var b=this.get_prev_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").focus()},right:function(b){if(b.preventDefault(),this.is_closed(b.currentTarget))this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()});else if(this.is_open(b.currentTarget)){var c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0];c&&a(this._firstChild(c)).children(".jstree-anchor").focus()}},down:function(a){a.preventDefault();var b=this.get_next_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").focus()},"*":function(a){this.open_all()},home:function(b){b.preventDefault();var c=this._firstChild(this.get_container_ul()[0]);c&&a(c).children(".jstree-anchor").filter(":visible").focus()},end:function(a){a.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()},f2:function(a){a.preventDefault(),this.edit(a.currentTarget)}}},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","treeitem"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},_kbevent_to_func:function(a){var b={8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock",16:"Shift",17:"Ctrl",18:"Alt",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*",173:"-"},c=[];a.ctrlKey&&c.push("ctrl"),a.altKey&&c.push("alt"),a.shiftKey&&c.push("shift"),c.push(b[a.which]||a.which),c=c.sort().join("-").toLowerCase();var d=this.settings.core.keyboard,e,f;for(e in d)if(d.hasOwnProperty(e)&&(f=e,"-"!==f&&"+"!==f&&(f=f.replace("--","-MINUS").replace("+-","-MINUS").replace("++","-PLUS").replace("-+","-PLUS"),f=f.split(/-|\+/).sort().join("-").replace("MINUS","-").replace("PLUS","+").toLowerCase()),f===c))return d[e];return null},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;this._data.core.rtl&&(37===a.which?a.which=39:39===a.which&&(a.which=37));var b=this._kbevent_to_func(a);if(b){var c=b.call(this,a);if(c===!1||c===!0)return c}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused&&this.settings.core.restore_focus){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id),b instanceof django.jQuery&&b.length&&b[0].id&&(b=b[0].id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=this.element.find(b)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=this.element.find(b)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},c.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)?a.extend(!0,[],d):a.isPlainObject(d)?a.extend(!0,{},d):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(b){b=this.get_node(b),b&&-1===a.inArray(b.id,this._model.changed)&&this._model.changed.push(b.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),c[o].state||(c[o].state={}),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()]?(k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString())):(this._data.core.last_error={error:"parse",plugin:"core",id:"core_07",reason:"Node with invalid parent",data:JSON.stringify({id:c[o].id.toString(),parent:c[o].parent.toString()})},this.settings.core.error.call(this,this._data.core.last_error));for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("
        ").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()), +l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&this.settings.core.restore_focus&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loading&&(n+=" jstree-loading"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,hf;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],loaded:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.loaded&&this.settings.core.loaded_state&&b.core.loaded.push(c),this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core&&c.core.selected&&c.core.initial_selection===b&&(c.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),c.core){var e,f,g,h,i;if(c.core.loaded)return this.settings.core.loaded_state&&a.isArray(c.core.loaded)&&c.core.loaded.length?this._load_nodes(c.core.loaded,function(a){delete c.core.loaded,this.set_state(c,d)}):(delete c.core.loaded,this.set_state(c,d)),!1;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,(c.core.initial_selection===b||c.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)})),delete c.core.initial_selection,delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,a.isArray(b.data)?[]:{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),d="string"==typeof d?{text:d}:a.extend(!0,{},d),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),f&&f.call(this,this.get_node(d)),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g); +return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.check("edit",b,this.get_parent(b))?(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a(""),j=c,k=a("
        ",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo(i.body),l=a("",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("
        ").append(a.parseHTML(j)).html(),b=this.get_node(b),this.set_text(b,j),m=!!this.rename_node(b,i?a("
        ").text(f).text():a("
        ").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})):(this.settings.core.error.call(this,this._data.core.last_error),!1):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append(''),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),this.hide_icon(c)):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var j=i.createElement("I");j.className="jstree-icon jstree-checkbox",j.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=this,e=c.node,f=this._model.data,g=this.get_node(e.parent),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!0),q=e.children_d.concat(e.id);for(h=0,i=q.length;i>h;h++)p.indexOf(q[h])>-1?n[q[h]]=!0:delete n[q[h]]}if(-1!==l.indexOf("up"))while(g&&g.id!==a.jstree.root){for(j=0,h=0,i=g.children.length;i>h;h++)j+=f[g.children[h]].state[m?"selected":"checked"];if(j!==i)break;g.state[m?"selected":"checked"]=!0,n[g.id]=!0,k=this.get_node(g,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),g=this.get_node(g.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(a,b){var c=this,d=b.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={},m=[],n=d.children_d.concat(d.id);if(-1!==i.indexOf("down")){var o=this._cascade_new_checked_state(d.id,!1);k=k.filter(function(a){return-1===n.indexOf(a)||o.indexOf(a)>-1})}if(-1!==i.indexOf("up")&&-1===k.indexOf(d.id)){for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");k=k.filter(function(a){return-1===d.parents.indexOf(a)})}this._data[j?"core":"checkbox"].selected=k},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this.get_undetermined=function(c){if(-1===this.settings.checkbox.cascade.indexOf("undetermined"))return[];var d,e,f,g,h={},i=this._model.data,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l=[],m=this,n=[];for(d=0,e=k.length;e>d;d++)if(i[k[d]]&&i[k[d]].parents)for(f=0,g=i[k[d]].parents.length;g>f;f++){if(h[i[k[d]].parents[f]]!==b)break;i[k[d]].parents[f]!==a.jstree.root&&(h[i[k[d]].parents[f]]=!0,l.push(i[k[d]].parents[f]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var c=m.get_node(this),j;if(c)if(c.state.loaded){for(d=0,e=c.children_d.length;e>d;d++)if(j=i[c.children_d[d]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(h[j.id]===b&&j.id!==a.jstree.root&&(h[j.id]=!0,l.push(j.id)),f=0,g=j.parents.length;g>f;f++)h[j.parents[f]]===b&&j.parents[f]!==a.jstree.root&&(h[j.parents[f]]=!0,l.push(j.parents[f]))}else if(c.original&&c.original.state&&c.original.state.undetermined&&c.original.state.undetermined===!0)for(h[c.id]===b&&c.id!==a.jstree.root&&(h[c.id]=!0,l.push(c.id)),f=0,g=c.parents.length;g>f;f++)h[c.parents[f]]===b&&c.parents[f]!==a.jstree.root&&(h[c.parents[f]]=!0,l.push(c.parents[f]))}),d=0,e=l.length;e>d;d++)i[l[d]].state[j?"selected":"checked"]||n.push(c?i[l[d]]:l[d]);return n},this._undetermined=function(){if(null!==this.element){var a=this.get_undetermined(!1),b,c,d;for(this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),b=0,c=a.length;c>b;b++)d=this.get_node(a[b],!0),d&&d.length&&d.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,k=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),k=j.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(k.className+=" jstree-checkbox-disabled"),i.insertBefore(k,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this._cascade_new_checked_state=function(a,b){var c=this,d=this.settings.checkbox.tie_selection,e=this._model.data[a],f=[],g=[],h,i,j;if(!this.settings.checkbox.cascade_to_disabled&&e.state.disabled||!this.settings.checkbox.cascade_to_hidden&&e.state.hidden)j=this.get_checked_descendants(a),e.state[d?"selected":"checked"]&&j.push(e.id),f=f.concat(j);else{if(e.children)for(h=0,i=e.children.length;i>h;h++){var k=e.children[h];j=c._cascade_new_checked_state(k,b),f=f.concat(j),j.indexOf(k)>-1&&g.push(k)}var l=c.get_node(e,!0),m=g.length>0&&g.lengthe;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection&&(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){return this.settings.conditionalselect.call(this,this.get_node(a),c)?b.activate_node.call(this,a,c):void 0}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){try{c.edit(a)}catch(b){setTimeout(function(){c.edit(a)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-contextmenu")},this)).on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(b){c&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(Math.abs(e-b.originalEvent.changedTouches[0].clientX)>10||Math.abs(f-b.originalEvent.changedTouches[0].clientY)>10)&&(clearTimeout(c),a.vakata.context.hide())}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+=""),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,j,k,l,m,n,o,p=!0;switch(c.element&&c.element.length&&c.element.width(""),p){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo(i.body),h=c.element,j=c.position_x,k=c.position_y,l=h.width(),m=h.height(),n=a(window).width()+a(window).scrollLeft(),o=a(window).height()+a(window).scrollTop(),b&&(j-=h.outerWidth()-a(d).outerWidth(),jn&&(j=n-(l+20)),k+m+20>o&&(k=o-(m+20)),c.element.css({left:j,top:k}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a(i.body).css("direction");var d=!1;c.element=a("
          "),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&c.element[0]!==b.target&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var k,l;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(k={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},l=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,k,'
          '+e+'
          ');a.vakata.dnd._trigger("start",b,{helper:a(),element:l,data:k})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('
           
          ').hide();a(i).on("dragover.vakata.jstree",function(b){l&&a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k})}).on("drop.vakata.jstree",function(b){l&&(a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),l=null,k=null)}).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo(i.body)}).on("dnd_move.vakata.jstree",function(h,i){var j=i.event.target!==e.target;if(f&&(!i.event||"dragover"!==i.event.type||j)&&clearTimeout(f),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var k=a.jstree.reference(i.event.target),l=!1,m=!1,n=!1,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E;if(k&&k._data&&k._data.dnd)if(g.attr("class","jstree-"+k.get_theme()+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")),D=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+k.get_theme()+" jstree-"+k.get_theme()+"-"+k.get_theme_variant()+" "+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[D?"show":"hide"](),i.event.target!==k.element[0]&&i.event.target!==k.get_container_ul()[0]||0!==k.get_container_ul().children().length){if(l=k.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),l&&l.length&&l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(m=l.offset(),n=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-m.top,r=l.outerHeight(),u=r/3>n?["b","i","a"]:n>r-r/3?["a","i","b"]:n>r/2?["i","a","b"]:["i","b","a"],a.each(u,function(b,e){switch(e){case"b":p=m.left-6,q=m.top,s=k.get_parent(l),t=l.parent().index();break;case"i":B=k.settings.dnd.inside_pos,C=k.get_node(l.parent()),p=m.left-2,q=m.top+r/2+1,s=C.id,t="first"===B?0:"last"===B?C.children.length:Math.min(B,C.children.length);break;case"a":p=m.left-6,q=m.top+r,s=k.get_parent(l),t=l.parent().index()+1}for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(y=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",z=t,"move_node"===y&&"a"===e&&i.data.origin&&i.data.origin===k&&s===k.get_parent(i.data.nodes[w])&&(A=k.get_node(s),z>a.inArray(i.data.nodes[w],A.children)&&(z-=1)),v=v&&(k&&k.settings&&k.settings.dnd&&k.settings.dnd.check_while_dragging===!1||k.check(y,i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],s,z,{dnd:!0,ref:k.get_node(l.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin})),!v){k&&k.last_error&&(d=k.last_error());break}return"i"===e&&l.parent().is(".jstree-closed")&&k.settings.dnd.open_timeout&&(!i.event||"dragover"!==i.event.type||j)&&(f&&clearTimeout(f),f=setTimeout(function(a,b){return function(){a.open_node(b)}}(k,l),k.settings.dnd.open_timeout)),v?(E=k.get_node(s,!0),E.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),E.addClass("jstree-dnd-parent")),c={ins:k,par:s,pos:"i"!==e||"last"!==B||0!==t||k.is_loaded(C)?t:"last"},g.css({left:p+"px",top:q+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"),d={},u=!0,!1):void 0}),u===!0))return}else{for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(v=v&&k.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],a.jstree.root,"last",{dnd:!0,ref:k.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin}),!v)break;if(v)return c={ins:k,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer,g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("
          "),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:10},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("
          ").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo(i.body),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageYthis.offsetWidth&&(e.left+d.width()-b.pageXg&&b.pageY-kg&&g-(b.pageY-k)j&&b.pageX-lj&&j-(b.pageX-l)f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var m=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1,preserve_loaded:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){m&&clearTimeout(m),m=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b=this.get_state();this.settings.state.preserve_loaded||delete b.core.loaded;var c={state:b,ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(c))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.settings.state.preserve_loaded||delete b.core.loaded,this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id, +b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depthg;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,trim_whitespace:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this.settings.unique.trim_whitespace,l=this._model.data,m,n,o;for(m=0,n=e.children.length;n>m;m++)o=l[e.children[m]].text,j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),i.push(o);switch(j||(h=h.toLowerCase()),k&&(h=h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),b){case"delete_node":return!0;case"rename_node":return o=c.text||"",j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),m=-1===a.inArray(h,i)||c.text&&o===h,m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"create_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"copy_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"move_node":return m=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.trim_whitespace,q=this.settings.unique.duplicate,r;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)r=n[c.children[l]].text,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),k.push(r);l=1,r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));while(-1!==a.inArray(r,k))j=q.call(this,i,++l).toString(),r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var n=i.createElement("DIV");if(n.setAttribute("unselectable","on"),n.setAttribute("role","presentation"),n.className="jstree-wholerow",n.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=n.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},window.customElements&&Object&&Object.create){var o=Object.create(HTMLElement.prototype);o.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{window.customElements.define("vakata-jstree",function(){},{prototype:o})}catch(p){}}}}); \ No newline at end of file diff --git a/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js b/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js index 7e3d52c..6c8e746 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js +++ b/openwisp_ipam/static/openwisp-ipam/js/minified/plotly.min.js @@ -1,153596 +1,7 @@ /** - * plotly.js v1.37.1 - * Copyright 2012-2018, Plotly, Inc. - * All rights reserved. - * Licensed under the MIT license - */ -!(function (t) { - if ("object" == typeof exports && "undefined" != typeof module) module.exports = t(); - else if ("function" == typeof define && define.amd) define([], t); - else { - ("undefined" != typeof window - ? window - : "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : this - ).Plotly = t(); - } -})(function () { - return (function () { - return function t(e, r, n) { - function i(o, s) { - if (!r[o]) { - if (!e[o]) { - var l = "function" == typeof require && require; - if (!s && l) return l(o, !0); - if (a) return a(o, !0); - var c = new Error("Cannot find module '" + o + "'"); - throw ((c.code = "MODULE_NOT_FOUND"), c); - } - var u = (r[o] = { exports: {} }); - e[o][0].call( - u.exports, - function (t) { - var r = e[o][1][t]; - return i(r || t); - }, - u, - u.exports, - t, - e, - r, - n, - ); - } - return r[o].exports; - } - for (var a = "function" == typeof require && require, o = 0; o < n.length; o++) - i(n[o]); - return i; - }; - })()( - { - 1: [ - function (t, e, r) { - "use strict"; - var n = t("../src/lib"), - i = { - "X,X div": - "font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;", - "X input,X button": - "font-family:'Open Sans', verdana, arial, sans-serif;", - "X input:focus,X button:focus": "outline:none;", - "X a": "text-decoration:none;", - "X a:hover": "text-decoration:none;", - "X .crisp": "shape-rendering:crispEdges;", - "X .user-select-none": - "-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;", - "X svg": "overflow:hidden;", - "X svg a": "fill:#447adb;", - "X svg a:hover": "fill:#3c6dc5;", - "X .main-svg": "position:absolute;top:0;left:0;pointer-events:none;", - "X .main-svg .draglayer": "pointer-events:all;", - "X .cursor-default": "cursor:default;", - "X .cursor-pointer": "cursor:pointer;", - "X .cursor-crosshair": "cursor:crosshair;", - "X .cursor-move": "cursor:move;", - "X .cursor-col-resize": "cursor:col-resize;", - "X .cursor-row-resize": "cursor:row-resize;", - "X .cursor-ns-resize": "cursor:ns-resize;", - "X .cursor-ew-resize": "cursor:ew-resize;", - "X .cursor-sw-resize": "cursor:sw-resize;", - "X .cursor-s-resize": "cursor:s-resize;", - "X .cursor-se-resize": "cursor:se-resize;", - "X .cursor-w-resize": "cursor:w-resize;", - "X .cursor-e-resize": "cursor:e-resize;", - "X .cursor-nw-resize": "cursor:nw-resize;", - "X .cursor-n-resize": "cursor:n-resize;", - "X .cursor-ne-resize": "cursor:ne-resize;", - "X .modebar": - "position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);", - "X .modebar--hover": - "opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;", - "X:hover .modebar--hover": "opacity:1;", - "X .modebar-group": - "float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;", - "X .modebar-group:first-child": "margin-left:0px;", - "X .modebar-btn": - "position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;", - "X .modebar-btn svg": "position:relative;top:2px;", - "X .modebar-btn path": "fill:rgba(0,31,95,0.3);", - "X .modebar-btn.active path,X .modebar-btn:hover path": - "fill:rgba(0,22,72,0.5);", - "X .modebar-btn.modebar-btn--logo": "padding:3px 1px;", - "X .modebar-btn.modebar-btn--logo path": "fill:#447adb !important;", - "X [data-title]:before,X [data-title]:after": - "position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;", - "X [data-title]:hover:before,X [data-title]:hover:after": - "display:block;opacity:1;", - "X [data-title]:before": - "content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;", - "X [data-title]:after": - "content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;", - "X .select-outline": - "fill:none;stroke-width:1;shape-rendering:crispEdges;", - "X .select-outline-1": "stroke:white;", - "X .select-outline-2": "stroke:black;stroke-dasharray:2px 2px;", - Y: "font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;", - "Y p": "margin:0;", - "Y .notifier-note": - "min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;", - "Y .notifier-close": - "color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;", - "Y .notifier-close:hover": - "color:#444;text-decoration:none;cursor:pointer;", - }; - for (var a in i) { - var o = a - .replace(/^,/, " ,") - .replace(/X/g, ".js-plotly-plot .plotly") - .replace(/Y/g, ".plotly-notifier"); - n.addStyleRule(o, i[a]); - } - }, - { "../src/lib": 602 }, - ], - 2: [ - function (t, e, r) { - "use strict"; - e.exports = { - undo: { - width: 857.1, - path: "m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z", - ascent: 850, - descent: -150, - }, - home: { - width: 928.6, - path: "m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z", - ascent: 850, - descent: -150, - }, - "camera-retro": { - width: 1e3, - path: "m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z", - ascent: 850, - descent: -150, - }, - zoombox: { - width: 1e3, - path: "m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z", - ascent: 850, - descent: -150, - }, - pan: { - width: 1e3, - path: "m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z", - ascent: 850, - descent: -150, - }, - zoom_plus: { - width: 1e3, - path: "m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z", - ascent: 850, - descent: -150, - }, - zoom_minus: { - width: 1e3, - path: "m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z", - ascent: 850, - descent: -150, - }, - autoscale: { - width: 1e3, - path: "m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z", - ascent: 850, - descent: -150, - }, - tooltip_basic: { - width: 1500, - path: "m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z", - ascent: 850, - descent: -150, - }, - tooltip_compare: { - width: 1125, - path: "m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z", - ascent: 850, - descent: -150, - }, - plotlylogo: { - width: 1542, - path: "m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z", - ascent: 850, - descent: -150, - }, - "z-axis": { - width: 1e3, - path: "m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z", - ascent: 850, - descent: -150, - }, - "3d_rotate": { - width: 1e3, - path: "m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z", - ascent: 850, - descent: -150, - }, - camera: { - width: 1e3, - path: "m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z", - ascent: 850, - descent: -150, - }, - movie: { - width: 1e3, - path: "m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z", - ascent: 850, - descent: -150, - }, - question: { - width: 857.1, - path: "m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z", - ascent: 850, - descent: -150, - }, - disk: { - width: 857.1, - path: "m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z", - ascent: 850, - descent: -150, - }, - lasso: { - width: 1031, - path: "m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z", - ascent: 850, - descent: -150, - }, - selectbox: { - width: 1e3, - path: "m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z", - ascent: 850, - descent: -150, - }, - spikeline: { - width: 1e3, - path: "M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z", - ascent: 850, - descent: -150, - }, - }; - }, - {}, - ], - 3: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/transforms/aggregate"); - }, - { "../src/transforms/aggregate": 1032 }, - ], - 4: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/bar"); - }, - { "../src/traces/bar": 746 }, - ], - 5: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/box"); - }, - { "../src/traces/box": 759 }, - ], - 6: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/components/calendars"); - }, - { "../src/components/calendars": 472 }, - ], - 7: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/candlestick"); - }, - { "../src/traces/candlestick": 769 }, - ], - 8: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/carpet"); - }, - { "../src/traces/carpet": 788 }, - ], - 9: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/choropleth"); - }, - { "../src/traces/choropleth": 802 }, - ], - 10: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/contour"); - }, - { "../src/traces/contour": 820 }, - ], - 11: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/contourcarpet"); - }, - { "../src/traces/contourcarpet": 831 }, - ], - 12: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/core"); - }, - { "../src/core": 582 }, - ], - 13: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/transforms/filter"); - }, - { "../src/transforms/filter": 1033 }, - ], - 14: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/transforms/groupby"); - }, - { "../src/transforms/groupby": 1034 }, - ], - 15: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/heatmap"); - }, - { "../src/traces/heatmap": 843 }, - ], - 16: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/heatmapgl"); - }, - { "../src/traces/heatmapgl": 853 }, - ], - 17: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/histogram"); - }, - { "../src/traces/histogram": 864 }, - ], - 18: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/histogram2d"); - }, - { "../src/traces/histogram2d": 870 }, - ], - 19: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/histogram2dcontour"); - }, - { "../src/traces/histogram2dcontour": 874 }, - ], - 20: [ - function (t, e, r) { - "use strict"; - var n = t("./core"); - (n.register([ - t("./bar"), - t("./box"), - t("./heatmap"), - t("./histogram"), - t("./histogram2d"), - t("./histogram2dcontour"), - t("./pie"), - t("./contour"), - t("./scatterternary"), - t("./violin"), - t("./scatter3d"), - t("./surface"), - t("./mesh3d"), - t("./scattergeo"), - t("./choropleth"), - t("./scattergl"), - t("./splom"), - t("./pointcloud"), - t("./heatmapgl"), - t("./parcoords"), - t("./scattermapbox"), - t("./sankey"), - t("./table"), - t("./carpet"), - t("./scattercarpet"), - t("./contourcarpet"), - t("./ohlc"), - t("./candlestick"), - t("./scatterpolar"), - t("./scatterpolargl"), - ]), - n.register([t("./aggregate"), t("./filter"), t("./groupby"), t("./sort")]), - n.register([t("./calendars")]), - (e.exports = n)); - }, - { - "./aggregate": 3, - "./bar": 4, - "./box": 5, - "./calendars": 6, - "./candlestick": 7, - "./carpet": 8, - "./choropleth": 9, - "./contour": 10, - "./contourcarpet": 11, - "./core": 12, - "./filter": 13, - "./groupby": 14, - "./heatmap": 15, - "./heatmapgl": 16, - "./histogram": 17, - "./histogram2d": 18, - "./histogram2dcontour": 19, - "./mesh3d": 21, - "./ohlc": 22, - "./parcoords": 23, - "./pie": 24, - "./pointcloud": 25, - "./sankey": 26, - "./scatter3d": 27, - "./scattercarpet": 28, - "./scattergeo": 29, - "./scattergl": 30, - "./scattermapbox": 31, - "./scatterpolar": 32, - "./scatterpolargl": 33, - "./scatterternary": 34, - "./sort": 35, - "./splom": 36, - "./surface": 37, - "./table": 38, - "./violin": 39, - }, - ], - 21: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/mesh3d"); - }, - { "../src/traces/mesh3d": 880 }, - ], - 22: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/ohlc"); - }, - { "../src/traces/ohlc": 885 }, - ], - 23: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/parcoords"); - }, - { "../src/traces/parcoords": 897 }, - ], - 24: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/pie"); - }, - { "../src/traces/pie": 907 }, - ], - 25: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/pointcloud"); - }, - { "../src/traces/pointcloud": 916 }, - ], - 26: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/sankey"); - }, - { "../src/traces/sankey": 922 }, - ], - 27: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scatter3d"); - }, - { "../src/traces/scatter3d": 956 }, - ], - 28: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scattercarpet"); - }, - { "../src/traces/scattercarpet": 962 }, - ], - 29: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scattergeo"); - }, - { "../src/traces/scattergeo": 969 }, - ], - 30: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scattergl"); - }, - { "../src/traces/scattergl": 977 }, - ], - 31: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scattermapbox"); - }, - { "../src/traces/scattermapbox": 983 }, - ], - 32: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scatterpolar"); - }, - { "../src/traces/scatterpolar": 990 }, - ], - 33: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scatterpolargl"); - }, - { "../src/traces/scatterpolargl": 994 }, - ], - 34: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/scatterternary"); - }, - { "../src/traces/scatterternary": 1e3 }, - ], - 35: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/transforms/sort"); - }, - { "../src/transforms/sort": 1036 }, - ], - 36: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/splom"); - }, - { "../src/traces/splom": 1005 }, - ], - 37: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/surface"); - }, - { "../src/traces/surface": 1011 }, - ], - 38: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/table"); - }, - { "../src/traces/table": 1019 }, - ], - 39: [ - function (t, e, r) { - "use strict"; - e.exports = t("../src/traces/violin"); - }, - { "../src/traces/violin": 1026 }, - ], - 40: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - ((t = t || document.body), (e = e || {})); - var r = [0.01, 1 / 0]; - "distanceLimits" in e && - ((r[0] = e.distanceLimits[0]), (r[1] = e.distanceLimits[1])); - "zoomMin" in e && (r[0] = e.zoomMin); - "zoomMax" in e && (r[1] = e.zoomMax); - var c = i({ - center: e.center || [0, 0, 0], - up: e.up || [0, 1, 0], - eye: e.eye || [0, 0, 10], - mode: e.mode || "orbit", - distanceLimits: r, - }), - u = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - f = 0, - h = t.clientWidth, - p = t.clientHeight, - d = { - view: c, - element: t, - delay: e.delay || 16, - rotateSpeed: e.rotateSpeed || 1, - zoomSpeed: e.zoomSpeed || 1, - translateSpeed: e.translateSpeed || 1, - flipX: !!e.flipX, - flipY: !!e.flipY, - modes: c.modes, - tick: function () { - var e = n(), - r = this.delay; - (c.idle(e - r), c.flush(e - (100 + 2 * r))); - var i = e - 2 * r; - c.recalcMatrix(i); - for (var a = !0, o = c.computedMatrix, s = 0; s < 16; ++s) - ((a = a && u[s] === o[s]), (u[s] = o[s])); - var l = t.clientWidth === h && t.clientHeight === p; - return ( - (h = t.clientWidth), - (p = t.clientHeight), - a ? !l : ((f = Math.exp(c.computedRadius[0])), !0) - ); - }, - lookAt: function (t, e, r) { - c.lookAt(c.lastT(), t, e, r); - }, - rotate: function (t, e, r) { - c.rotate(c.lastT(), t, e, r); - }, - pan: function (t, e, r) { - c.pan(c.lastT(), t, e, r); - }, - translate: function (t, e, r) { - c.translate(c.lastT(), t, e, r); - }, - }; - (Object.defineProperties(d, { - matrix: { - get: function () { - return c.computedMatrix; - }, - set: function (t) { - return (c.setMatrix(c.lastT(), t), c.computedMatrix); - }, - enumerable: !0, - }, - mode: { - get: function () { - return c.getMode(); - }, - set: function (t) { - return (c.setMode(t), c.getMode()); - }, - enumerable: !0, - }, - center: { - get: function () { - return c.computedCenter; - }, - set: function (t) { - return (c.lookAt(c.lastT(), t), c.computedCenter); - }, - enumerable: !0, - }, - eye: { - get: function () { - return c.computedEye; - }, - set: function (t) { - return (c.lookAt(c.lastT(), null, t), c.computedEye); - }, - enumerable: !0, - }, - up: { - get: function () { - return c.computedUp; - }, - set: function (t) { - return (c.lookAt(c.lastT(), null, null, t), c.computedUp); - }, - enumerable: !0, - }, - distance: { - get: function () { - return f; - }, - set: function (t) { - return (c.setDistance(c.lastT(), t), t); - }, - enumerable: !0, - }, - distanceLimits: { - get: function () { - return c.getDistanceLimits(r); - }, - set: function (t) { - return (c.setDistanceLimits(t), t); - }, - enumerable: !0, - }, - }), - t.addEventListener("contextmenu", function (t) { - return (t.preventDefault(), !1); - })); - var g = 0, - m = 0, - v = { shift: !1, control: !1, alt: !1, meta: !1 }; - function y(e, r, i, a) { - var o = 1 / t.clientHeight, - s = o * (r - g), - l = o * (i - m), - u = d.flipX ? 1 : -1, - h = d.flipY ? 1 : -1, - p = Math.PI * d.rotateSpeed, - y = n(); - if (1 & e) - a.shift - ? c.rotate(y, 0, 0, -s * p) - : c.rotate(y, u * p * s, -h * p * l, 0); - else if (2 & e) - c.pan(y, -d.translateSpeed * s * f, d.translateSpeed * l * f, 0); - else if (4 & e) { - var x = ((d.zoomSpeed * l) / window.innerHeight) * (y - c.lastT()) * 50; - c.pan(y, 0, 0, f * (Math.exp(x) - 1)); - } - ((g = r), (m = i), (v = a)); - } - return ( - a(t, y), - t.addEventListener( - "touchstart", - function (e) { - var r = s(e.changedTouches[0], t); - (y(0, r[0], r[1], v), y(1, r[0], r[1], v), e.preventDefault()); - }, - !!l && { passive: !1 }, - ), - t.addEventListener( - "touchmove", - function (e) { - var r = s(e.changedTouches[0], t); - (y(1, r[0], r[1], v), e.preventDefault()); - }, - !!l && { passive: !1 }, - ), - t.addEventListener( - "touchend", - function (e) { - (s(e.changedTouches[0], t), y(0, g, m, v), e.preventDefault()); - }, - !!l && { passive: !1 }, - ), - o( - t, - function (t, e, r) { - var i = d.flipX ? 1 : -1, - a = d.flipY ? 1 : -1, - o = n(); - if (Math.abs(t) > Math.abs(e)) - c.rotate( - o, - 0, - 0, - (-t * i * Math.PI * d.rotateSpeed) / window.innerWidth, - ); - else { - var s = - (((d.zoomSpeed * a * e) / window.innerHeight) * (o - c.lastT())) / - 100; - c.pan(o, 0, 0, f * (Math.exp(s) - 1)); - } - }, - !0, - ), - d - ); - }; - var n = t("right-now"), - i = t("3d-view"), - a = t("mouse-change"), - o = t("mouse-wheel"), - s = t("mouse-event-offset"), - l = t("has-passive-events"); - }, - { - "3d-view": 41, - "has-passive-events": 297, - "mouse-change": 320, - "mouse-event-offset": 321, - "mouse-wheel": 323, - "right-now": 382, - }, - ], - 41: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = (t = t || {}).eye || [0, 0, 1], - r = t.center || [0, 0, 0], - s = t.up || [0, 1, 0], - l = t.distanceLimits || [0, 1 / 0], - c = t.mode || "turntable", - u = n(), - f = i(), - h = a(); - return ( - u.setDistanceLimits(l[0], l[1]), - u.lookAt(0, e, r, s), - f.setDistanceLimits(l[0], l[1]), - f.lookAt(0, e, r, s), - h.setDistanceLimits(l[0], l[1]), - h.lookAt(0, e, r, s), - new o({ turntable: u, orbit: f, matrix: h }, c) - ); - }; - var n = t("turntable-camera-controller"), - i = t("orbit-camera-controller"), - a = t("matrix-camera-controller"); - function o(t, e) { - ((this._controllerNames = Object.keys(t)), - (this._controllerList = this._controllerNames.map(function (e) { - return t[e]; - })), - (this._mode = e), - (this._active = t[e]), - this._active || - ((this._mode = "turntable"), (this._active = t.turntable)), - (this.modes = this._controllerNames), - (this.computedMatrix = this._active.computedMatrix), - (this.computedEye = this._active.computedEye), - (this.computedUp = this._active.computedUp), - (this.computedCenter = this._active.computedCenter), - (this.computedRadius = this._active.computedRadius)); - } - var s = o.prototype; - ([ - ["flush", 1], - ["idle", 1], - ["lookAt", 4], - ["rotate", 4], - ["pan", 4], - ["translate", 4], - ["setMatrix", 2], - ["setDistanceLimits", 2], - ["setDistance", 2], - ].forEach(function (t) { - for (var e = t[0], r = [], n = 0; n < t[1]; ++n) r.push("a" + n); - var i = - "var cc=this._controllerList;for(var i=0;i 0; --t) (p((c *= 0.99)), d(), h(c), d()); - function h(t) { - function r(t) { - return u(t.source) * t.value; - } - i.forEach(function (n) { - n.forEach(function (n) { - if (n.targetLinks.length) { - var i = - e.sum(n.targetLinks, r) / e.sum(n.targetLinks, f); - n.y += (i - u(n)) * t; - } - }); - }); - } - function p(t) { - function r(t) { - return u(t.target) * t.value; - } - i.slice() - .reverse() - .forEach(function (n) { - n.forEach(function (n) { - if (n.sourceLinks.length) { - var i = - e.sum(n.sourceLinks, r) / e.sum(n.sourceLinks, f); - n.y += (i - u(n)) * t; - } - }); - }); - } - function d() { - i.forEach(function (t) { - var e, - r, - n, - i = 0, - s = t.length; - for (t.sort(g), n = 0; n < s; ++n) - ((e = t[n]), - (r = i - e.y) > 0 && (e.y += r), - (i = e.y + e.dy + a)); - if ((r = i - a - o[1]) > 0) - for (i = e.y -= r, n = s - 2; n >= 0; --n) - ((e = t[n]), - (r = e.y + e.dy + a - i) > 0 && (e.y -= r), - (i = e.y)); - }); - } - function g(t, e) { - return t.y - e.y; - } - })(n), - c(), - t - ); - }), - (t.relayout = function () { - return (c(), t); - }), - (t.link = function () { - var t = 0.5; - function e(e) { - var r = e.source.x + e.source.dx, - i = e.target.x, - a = n.interpolateNumber(r, i), - o = a(t), - s = a(1 - t), - l = e.source.y + e.sy, - c = l + e.dy, - u = e.target.y + e.ty, - f = u + e.dy; - return ( - "M" + - r + - "," + - l + - "C" + - o + - "," + - l + - " " + - s + - "," + - u + - " " + - i + - "," + - u + - "L" + - i + - "," + - f + - "C" + - s + - "," + - f + - " " + - o + - "," + - c + - " " + - r + - "," + - c + - "Z" - ); - } - return ( - (e.curvature = function (r) { - return arguments.length ? ((t = +r), e) : t; - }), - e - ); - }), - t - ); - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - }), - "object" == typeof r && void 0 !== e - ? i(r, t("d3-array"), t("d3-collection"), t("d3-interpolate")) - : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3)); - }, - { "d3-array": 122, "d3-collection": 123, "d3-interpolate": 127 }, - ], - 43: [ - function (t, e, r) { - "use strict"; - var n = "undefined" == typeof WeakMap ? t("weak-map") : WeakMap, - i = t("gl-buffer"), - a = t("gl-vao"), - o = new n(); - e.exports = function (t) { - var e = o.get(t), - r = e && (e._triangleBuffer.handle || e._triangleBuffer.buffer); - if (!r || !t.isBuffer(r)) { - var n = i(t, new Float32Array([-1, -1, -1, 4, 4, -1])); - (((e = a(t, [{ buffer: n, type: t.FLOAT, size: 2 }]))._triangleBuffer = - n), - o.set(t, e)); - } - (e.bind(), t.drawArrays(t.TRIANGLES, 0, 3), e.unbind()); - }; - }, - { "gl-buffer": 210, "gl-vao": 279, "weak-map": 432 }, - ], - 44: [ - function (t, e, r) { - e.exports = function (t) { - var e = 0, - r = 0, - n = 0, - i = 0; - return t.map(function (t) { - var a = (t = t.slice())[0], - o = a.toUpperCase(); - if (a != o) - switch (((t[0] = o), a)) { - case "a": - ((t[6] += n), (t[7] += i)); - break; - case "v": - t[1] += i; - break; - case "h": - t[1] += n; - break; - default: - for (var s = 1; s < t.length; ) ((t[s++] += n), (t[s++] += i)); - } - switch (o) { - case "Z": - ((n = e), (i = r)); - break; - case "H": - n = t[1]; - break; - case "V": - i = t[1]; - break; - case "M": - ((n = e = t[1]), (i = r = t[2])); - break; - default: - ((n = t[t.length - 2]), (i = t[t.length - 1])); - } - return t; - }); - }; - }, - {}, - ], - 45: [ - function (t, e, r) { - var n = t("pad-left"); - e.exports = function (t, e, r) { - ((e = "number" == typeof e ? e : 1), (r = r || ": ")); - var i = t.split(/\r?\n/), - a = String(i.length + e - 1).length; - return i - .map(function (t, i) { - var o = i + e, - s = String(o).length, - l = n(o, a - s); - return l + r + t; - }) - .join("\n"); - }; - }, - { "pad-left": 342 }, - ], - 46: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.length; - if (0 === e) return []; - if (1 === e) return [0]; - for (var r = t[0].length, n = [t[0]], a = [0], o = 1; o < e; ++o) - if ((n.push(t[o]), i(n, r))) { - if ((a.push(o), a.length === r + 1)) return a; - } else n.pop(); - return a; - }; - var n = t("robust-orientation"); - function i(t, e) { - for (var r = new Array(e + 1), i = 0; i < t.length; ++i) r[i] = t[i]; - for (i = 0; i <= t.length; ++i) { - for (var a = t.length; a <= e; ++a) { - for (var o = new Array(e), s = 0; s < e; ++s) - o[s] = Math.pow(a + 1 - i, s); - r[a] = o; - } - if (n.apply(void 0, r)) return !0; - } - return !1; - } - }, - { "robust-orientation": 388 }, - ], - 47: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return n(e).filter(function (r) { - for (var n = new Array(r.length), a = 0; a < r.length; ++a) - n[a] = e[r[a]]; - return i(n) * t < 1; - }); - }; - var n = t("delaunay-triangulate"), - i = t("circumradius"); - }, - { circumradius: 94, "delaunay-triangulate": 132 }, - ], - 48: [ - function (t, e, r) { - e.exports = function (t, e) { - return i(n(t, e)); - }; - var n = t("alpha-complex"), - i = t("simplicial-complex-boundary"); - }, - { "alpha-complex": 47, "simplicial-complex-boundary": 395 }, - ], - 49: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - if (!t || null == t.length) throw Error("Argument should be an array"); - e = null == e ? 1 : Math.floor(e); - for (var r = Array(2 * e), n = 0; n < e; n++) { - for (var i = -1 / 0, a = 1 / 0, o = n, s = t.length; o < s; o += e) - (t[o] > i && (i = t[o]), t[o] < a && (a = t[o])); - ((r[n] = a), (r[e + n] = i)); - } - return r; - }; - }, - {}, - ], - 50: [ - function (t, e, r) { - "use strict"; - var n = t("array-bounds"); - e.exports = function (t, e, r) { - if (!t || null == t.length) throw Error("Argument should be an array"); - null == e && (e = 1); - null == r && (r = n(t, e)); - for (var i = 0; i < e; i++) { - var a = r[e + i], - o = r[i], - s = i, - l = t.length; - if (a === 1 / 0 && o === -1 / 0) - for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : t[s] === o ? 0 : 0.5; - else if (a === 1 / 0) - for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : 0; - else if (o === -1 / 0) - for (s = i; s < l; s += e) t[s] = t[s] === o ? 0 : 1; - else { - var c = a - o; - for (s = i; s < l; s += e) t[s] = 0 === c ? 0.5 : (t[s] - o) / c; - } - } - return t; - }; - }, - { "array-bounds": 49 }, - ], - 51: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = "number" == typeof t, - n = "number" == typeof e; - r && !n ? ((e = t), (t = 0)) : r || n || ((t = 0), (e = 0)); - var i = (e |= 0) - (t |= 0); - if (i < 0) throw new Error("array length must be positive"); - for (var a = new Array(i), o = 0, s = t; o < i; o++, s++) a[o] = s; - return a; - }; - }, - {}, - ], - 52: [ - function (t, e, r) { - (function (r) { - "use strict"; - function n(t, e) { - if (t === e) return 0; - for ( - var r = t.length, n = e.length, i = 0, a = Math.min(r, n); - i < a; - ++i - ) - if (t[i] !== e[i]) { - ((r = t[i]), (n = e[i])); - break; - } - return r < n ? -1 : n < r ? 1 : 0; - } - function i(t) { - return r.Buffer && "function" == typeof r.Buffer.isBuffer - ? r.Buffer.isBuffer(t) - : !(null == t || !t._isBuffer); - } - var a = t("util/"), - o = Object.prototype.hasOwnProperty, - s = Array.prototype.slice, - l = "foo" === function () {}.name; - function c(t) { - return Object.prototype.toString.call(t); - } - function u(t) { - return ( - !i(t) && - "function" == typeof r.ArrayBuffer && - ("function" == typeof ArrayBuffer.isView - ? ArrayBuffer.isView(t) - : !!t && - (t instanceof DataView || - !!(t.buffer && t.buffer instanceof ArrayBuffer))) - ); - } - var f = (e.exports = v), - h = /\s*function\s+([^\(\s]*)\s*/; - function p(t) { - if (a.isFunction(t)) { - if (l) return t.name; - var e = t.toString().match(h); - return e && e[1]; - } - } - function d(t, e) { - return "string" == typeof t ? (t.length < e ? t : t.slice(0, e)) : t; - } - function g(t) { - if (l || !a.isFunction(t)) return a.inspect(t); - var e = p(t); - return "[Function" + (e ? ": " + e : "") + "]"; - } - function m(t, e, r, n, i) { - throw new f.AssertionError({ - message: r, - actual: t, - expected: e, - operator: n, - stackStartFunction: i, - }); - } - function v(t, e) { - t || m(t, !0, e, "==", f.ok); - } - function y(t, e, r, o) { - if (t === e) return !0; - if (i(t) && i(e)) return 0 === n(t, e); - if (a.isDate(t) && a.isDate(e)) return t.getTime() === e.getTime(); - if (a.isRegExp(t) && a.isRegExp(e)) - return ( - t.source === e.source && - t.global === e.global && - t.multiline === e.multiline && - t.lastIndex === e.lastIndex && - t.ignoreCase === e.ignoreCase - ); - if ( - (null !== t && "object" == typeof t) || - (null !== e && "object" == typeof e) - ) { - if ( - u(t) && - u(e) && - c(t) === c(e) && - !(t instanceof Float32Array || t instanceof Float64Array) - ) - return 0 === n(new Uint8Array(t.buffer), new Uint8Array(e.buffer)); - if (i(t) !== i(e)) return !1; - var l = (o = o || { actual: [], expected: [] }).actual.indexOf(t); - return ( - (-1 !== l && l === o.expected.indexOf(e)) || - (o.actual.push(t), - o.expected.push(e), - (function (t, e, r, n) { - if (null === t || void 0 === t || null === e || void 0 === e) - return !1; - if (a.isPrimitive(t) || a.isPrimitive(e)) return t === e; - if (r && Object.getPrototypeOf(t) !== Object.getPrototypeOf(e)) - return !1; - var i = x(t), - o = x(e); - if ((i && !o) || (!i && o)) return !1; - if (i) return ((t = s.call(t)), (e = s.call(e)), y(t, e, r)); - var l, - c, - u = w(t), - f = w(e); - if (u.length !== f.length) return !1; - for (u.sort(), f.sort(), c = u.length - 1; c >= 0; c--) - if (u[c] !== f[c]) return !1; - for (c = u.length - 1; c >= 0; c--) - if (((l = u[c]), !y(t[l], e[l], r, n))) return !1; - return !0; - })(t, e, r, o)) - ); - } - return r ? t === e : t == e; - } - function x(t) { - return "[object Arguments]" == Object.prototype.toString.call(t); - } - function b(t, e) { - if (!t || !e) return !1; - if ("[object RegExp]" == Object.prototype.toString.call(e)) - return e.test(t); - try { - if (t instanceof e) return !0; - } catch (t) {} - return !Error.isPrototypeOf(e) && !0 === e.call({}, t); - } - function _(t, e, r, n) { - var i; - if ("function" != typeof e) - throw new TypeError('"block" argument must be a function'); - ("string" == typeof r && ((n = r), (r = null)), - (i = (function (t) { - var e; - try { - t(); - } catch (t) { - e = t; - } - return e; - })(e)), - (n = (r && r.name ? " (" + r.name + ")." : ".") + (n ? " " + n : ".")), - t && !i && m(i, r, "Missing expected exception" + n)); - var o = "string" == typeof n, - s = !t && a.isError(i), - l = !t && i && !r; - if ( - (((s && o && b(i, r)) || l) && m(i, r, "Got unwanted exception" + n), - (t && i && r && !b(i, r)) || (!t && i)) - ) - throw i; - } - ((f.AssertionError = function (t) { - var e; - ((this.name = "AssertionError"), - (this.actual = t.actual), - (this.expected = t.expected), - (this.operator = t.operator), - t.message - ? ((this.message = t.message), (this.generatedMessage = !1)) - : ((this.message = - d(g((e = this).actual), 128) + - " " + - e.operator + - " " + - d(g(e.expected), 128)), - (this.generatedMessage = !0))); - var r = t.stackStartFunction || m; - if (Error.captureStackTrace) Error.captureStackTrace(this, r); - else { - var n = new Error(); - if (n.stack) { - var i = n.stack, - a = p(r), - o = i.indexOf("\n" + a); - if (o >= 0) { - var s = i.indexOf("\n", o + 1); - i = i.substring(s + 1); - } - this.stack = i; - } - } - }), - a.inherits(f.AssertionError, Error), - (f.fail = m), - (f.ok = v), - (f.equal = function (t, e, r) { - t != e && m(t, e, r, "==", f.equal); - }), - (f.notEqual = function (t, e, r) { - t == e && m(t, e, r, "!=", f.notEqual); - }), - (f.deepEqual = function (t, e, r) { - y(t, e, !1) || m(t, e, r, "deepEqual", f.deepEqual); - }), - (f.deepStrictEqual = function (t, e, r) { - y(t, e, !0) || m(t, e, r, "deepStrictEqual", f.deepStrictEqual); - }), - (f.notDeepEqual = function (t, e, r) { - y(t, e, !1) && m(t, e, r, "notDeepEqual", f.notDeepEqual); - }), - (f.notDeepStrictEqual = function t(e, r, n) { - y(e, r, !0) && m(e, r, n, "notDeepStrictEqual", t); - }), - (f.strictEqual = function (t, e, r) { - t !== e && m(t, e, r, "===", f.strictEqual); - }), - (f.notStrictEqual = function (t, e, r) { - t === e && m(t, e, r, "!==", f.notStrictEqual); - }), - (f.throws = function (t, e, r) { - _(!0, t, e, r); - }), - (f.doesNotThrow = function (t, e, r) { - _(!1, t, e, r); - }), - (f.ifError = function (t) { - if (t) throw t; - })); - var w = - Object.keys || - function (t) { - var e = []; - for (var r in t) o.call(t, r) && e.push(r); - return e; - }; - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { "util/": 429 }, - ], - 53: [ - function (t, e, r) { - e.exports = function (t) { - return atob(t); - }; - }, - {}, - ], - 54: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for (var r = e.length, a = new Array(r + 1), o = 0; o < r; ++o) { - for (var s = new Array(r + 1), l = 0; l <= r; ++l) s[l] = t[l][o]; - a[o] = s; - } - a[r] = new Array(r + 1); - for (var o = 0; o <= r; ++o) a[r][o] = 1; - for (var c = new Array(r + 1), o = 0; o < r; ++o) c[o] = e[o]; - c[r] = 1; - var u = n(a, c), - f = i(u[r + 1]); - 0 === f && (f = 1); - for (var h = new Array(r + 1), o = 0; o <= r; ++o) h[o] = i(u[o]) / f; - return h; - }; - var n = t("robust-linear-solve"); - function i(t) { - for (var e = 0, r = 0; r < t.length; ++r) e += t[r]; - return e; - } - }, - { "robust-linear-solve": 387 }, - ], - 55: [ - function (t, e, r) { - "use strict"; - ((r.byteLength = function (t) { - return (3 * t.length) / 4 - c(t); - }), - (r.toByteArray = function (t) { - var e, - r, - n, - o, - s, - l = t.length; - ((o = c(t)), (s = new a((3 * l) / 4 - o)), (r = o > 0 ? l - 4 : l)); - var u = 0; - for (e = 0; e < r; e += 4) - ((n = - (i[t.charCodeAt(e)] << 18) | - (i[t.charCodeAt(e + 1)] << 12) | - (i[t.charCodeAt(e + 2)] << 6) | - i[t.charCodeAt(e + 3)]), - (s[u++] = (n >> 16) & 255), - (s[u++] = (n >> 8) & 255), - (s[u++] = 255 & n)); - 2 === o - ? ((n = (i[t.charCodeAt(e)] << 2) | (i[t.charCodeAt(e + 1)] >> 4)), - (s[u++] = 255 & n)) - : 1 === o && - ((n = - (i[t.charCodeAt(e)] << 10) | - (i[t.charCodeAt(e + 1)] << 4) | - (i[t.charCodeAt(e + 2)] >> 2)), - (s[u++] = (n >> 8) & 255), - (s[u++] = 255 & n)); - return s; - }), - (r.fromByteArray = function (t) { - for ( - var e, r = t.length, i = r % 3, a = "", o = [], s = 0, l = r - i; - s < l; - s += 16383 - ) - o.push(u(t, s, s + 16383 > l ? l : s + 16383)); - 1 === i - ? ((e = t[r - 1]), - (a += n[e >> 2]), - (a += n[(e << 4) & 63]), - (a += "==")) - : 2 === i && - ((e = (t[r - 2] << 8) + t[r - 1]), - (a += n[e >> 10]), - (a += n[(e >> 4) & 63]), - (a += n[(e << 2) & 63]), - (a += "=")); - return (o.push(a), o.join("")); - })); - for ( - var n = [], - i = [], - a = "undefined" != typeof Uint8Array ? Uint8Array : Array, - o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", - s = 0, - l = o.length; - s < l; - ++s - ) - ((n[s] = o[s]), (i[o.charCodeAt(s)] = s)); - function c(t) { - var e = t.length; - if (e % 4 > 0) - throw new Error("Invalid string. Length must be a multiple of 4"); - return "=" === t[e - 2] ? 2 : "=" === t[e - 1] ? 1 : 0; - } - function u(t, e, r) { - for (var i, a, o = [], s = e; s < r; s += 3) - ((i = - ((t[s] << 16) & 16711680) + - ((t[s + 1] << 8) & 65280) + - (255 & t[s + 2])), - o.push( - n[((a = i) >> 18) & 63] + - n[(a >> 12) & 63] + - n[(a >> 6) & 63] + - n[63 & a], - )); - return o.join(""); - } - ((i["-".charCodeAt(0)] = 62), (i["_".charCodeAt(0)] = 63)); - }, - {}, - ], - 56: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/rationalize"); - e.exports = function (t, e) { - return n(t[0].mul(e[1]).add(e[0].mul(t[1])), t[1].mul(e[1])); - }; - }, - { "./lib/rationalize": 66 }, - ], - 57: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return t[0].mul(e[1]).cmp(e[0].mul(t[1])); - }; - }, - {}, - ], - 58: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/rationalize"); - e.exports = function (t, e) { - return n(t[0].mul(e[1]), t[1].mul(e[0])); - }; - }, - { "./lib/rationalize": 66 }, - ], - 59: [ - function (t, e, r) { - "use strict"; - var n = t("./is-rat"), - i = t("./lib/is-bn"), - a = t("./lib/num-to-bn"), - o = t("./lib/str-to-bn"), - s = t("./lib/rationalize"), - l = t("./div"); - e.exports = function t(e, r) { - if (n(e)) return r ? l(e, t(r)) : [e[0].clone(), e[1].clone()]; - var c = 0; - var u, f; - if (i(e)) u = e.clone(); - else if ("string" == typeof e) u = o(e); - else { - if (0 === e) return [a(0), a(1)]; - if (e === Math.floor(e)) u = a(e); - else { - for (; e !== Math.floor(e); ) ((e *= Math.pow(2, 256)), (c -= 256)); - u = a(e); - } - } - if (n(r)) (u.mul(r[1]), (f = r[0].clone())); - else if (i(r)) f = r.clone(); - else if ("string" == typeof r) f = o(r); - else if (r) - if (r === Math.floor(r)) f = a(r); - else { - for (; r !== Math.floor(r); ) ((r *= Math.pow(2, 256)), (c += 256)); - f = a(r); - } - else f = a(1); - c > 0 ? (u = u.ushln(c)) : c < 0 && (f = f.ushln(-c)); - return s(u, f); - }; - }, - { - "./div": 58, - "./is-rat": 60, - "./lib/is-bn": 64, - "./lib/num-to-bn": 65, - "./lib/rationalize": 66, - "./lib/str-to-bn": 67, - }, - ], - 60: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/is-bn"); - e.exports = function (t) { - return Array.isArray(t) && 2 === t.length && n(t[0]) && n(t[1]); - }; - }, - { "./lib/is-bn": 64 }, - ], - 61: [ - function (t, e, r) { - "use strict"; - var n = t("bn.js"); - e.exports = function (t) { - return t.cmp(new n(0)); - }; - }, - { "bn.js": 75 }, - ], - 62: [ - function (t, e, r) { - "use strict"; - var n = t("./bn-sign"); - e.exports = function (t) { - var e = t.length, - r = t.words, - i = 0; - if (1 === e) i = r[0]; - else if (2 === e) i = r[0] + 67108864 * r[1]; - else - for (var a = 0; a < e; a++) { - var o = r[a]; - i += o * Math.pow(67108864, a); - } - return n(t) * i; - }; - }, - { "./bn-sign": 61 }, - ], - 63: [ - function (t, e, r) { - "use strict"; - var n = t("double-bits"), - i = t("bit-twiddle").countTrailingZeros; - e.exports = function (t) { - var e = i(n.lo(t)); - if (e < 32) return e; - var r = i(n.hi(t)); - if (r > 20) return 52; - return r + 32; - }; - }, - { "bit-twiddle": 73, "double-bits": 133 }, - ], - 64: [ - function (t, e, r) { - "use strict"; - t("bn.js"); - e.exports = function (t) { - return t && "object" == typeof t && Boolean(t.words); - }; - }, - { "bn.js": 75 }, - ], - 65: [ - function (t, e, r) { - "use strict"; - var n = t("bn.js"), - i = t("double-bits"); - e.exports = function (t) { - var e = i.exponent(t); - return e < 52 ? new n(t) : new n(t * Math.pow(2, 52 - e)).ushln(e - 52); - }; - }, - { "bn.js": 75, "double-bits": 133 }, - ], - 66: [ - function (t, e, r) { - "use strict"; - var n = t("./num-to-bn"), - i = t("./bn-sign"); - e.exports = function (t, e) { - var r = i(t), - a = i(e); - if (0 === r) return [n(0), n(1)]; - if (0 === a) return [n(0), n(0)]; - a < 0 && ((t = t.neg()), (e = e.neg())); - var o = t.gcd(e); - if (o.cmpn(1)) return [t.div(o), e.div(o)]; - return [t, e]; - }; - }, - { "./bn-sign": 61, "./num-to-bn": 65 }, - ], - 67: [ - function (t, e, r) { - "use strict"; - var n = t("bn.js"); - e.exports = function (t) { - return new n(t); - }; - }, - { "bn.js": 75 }, - ], - 68: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/rationalize"); - e.exports = function (t, e) { - return n(t[0].mul(e[0]), t[1].mul(e[1])); - }; - }, - { "./lib/rationalize": 66 }, - ], - 69: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/bn-sign"); - e.exports = function (t) { - return n(t[0]) * n(t[1]); - }; - }, - { "./lib/bn-sign": 61 }, - ], - 70: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/rationalize"); - e.exports = function (t, e) { - return n(t[0].mul(e[1]).sub(t[1].mul(e[0])), t[1].mul(e[1])); - }; - }, - { "./lib/rationalize": 66 }, - ], - 71: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/bn-to-num"), - i = t("./lib/ctz"); - e.exports = function (t) { - var e = t[0], - r = t[1]; - if (0 === e.cmpn(0)) return 0; - var a = e.abs().divmod(r.abs()), - o = a.div, - s = n(o), - l = a.mod, - c = e.negative !== r.negative ? -1 : 1; - if (0 === l.cmpn(0)) return c * s; - if (s) { - var u = i(s) + 4, - f = n(l.ushln(u).divRound(r)); - return c * (s + f * Math.pow(2, -u)); - } - var h = r.bitLength() - l.bitLength() + 53, - f = n(l.ushln(h).divRound(r)); - return h < 1023 - ? c * f * Math.pow(2, -h) - : ((f *= Math.pow(2, -1023)), c * f * Math.pow(2, 1023 - h)); - }; - }, - { "./lib/bn-to-num": 62, "./lib/ctz": 63 }, - ], - 72: [ - function (t, e, r) { - "use strict"; - function n(t, e, r, n, i, a) { - var o = [ - "function ", - t, - "(a,l,h,", - n.join(","), - "){", - a ? "" : "var i=", - r ? "l-1" : "h+1", - ";while(l<=h){var m=(l+h)>>>1,x=a", - i ? ".get(m)" : "[m]", - ]; - return ( - a - ? e.indexOf("c") < 0 - ? o.push(";if(x===y){return m}else if(x<=y){") - : o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){") - : o.push(";if(", e, "){i=m;"), - r ? o.push("l=m+1}else{h=m-1}") : o.push("h=m-1}else{l=m+1}"), - o.push("}"), - a ? o.push("return -1};") : o.push("return i};"), - o.join("") - ); - } - function i(t, e, r, i) { - return new Function( - [ - n("A", "x" + t + "y", e, ["y"], !1, i), - n("B", "x" + t + "y", e, ["y"], !0, i), - n("P", "c(x,y)" + t + "0", e, ["y", "c"], !1, i), - n("Q", "c(x,y)" + t + "0", e, ["y", "c"], !0, i), - "function dispatchBsearch", - r, - "(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch", - r, - ].join(""), - )(); - } - e.exports = { - ge: i(">=", !1, "GE"), - gt: i(">", !1, "GT"), - lt: i("<", !0, "LT"), - le: i("<=", !0, "LE"), - eq: i("-", !0, "EQ", !0), - }; - }, - {}, - ], - 73: [ - function (t, e, r) { - "use strict"; - "use restrict"; - function n(t) { - var e = 32; - return ( - (t &= -t) && e--, - 65535 & t && (e -= 16), - 16711935 & t && (e -= 8), - 252645135 & t && (e -= 4), - 858993459 & t && (e -= 2), - 1431655765 & t && (e -= 1), - e - ); - } - ((r.INT_BITS = 32), - (r.INT_MAX = 2147483647), - (r.INT_MIN = -1 << 31), - (r.sign = function (t) { - return (t > 0) - (t < 0); - }), - (r.abs = function (t) { - var e = t >> 31; - return (t ^ e) - e; - }), - (r.min = function (t, e) { - return e ^ ((t ^ e) & -(t < e)); - }), - (r.max = function (t, e) { - return t ^ ((t ^ e) & -(t < e)); - }), - (r.isPow2 = function (t) { - return !(t & (t - 1) || !t); - }), - (r.log2 = function (t) { - var e, r; - return ( - (e = (t > 65535) << 4), - (e |= r = ((t >>>= e) > 255) << 3), - (e |= r = ((t >>>= r) > 15) << 2), - (e |= r = ((t >>>= r) > 3) << 1) | ((t >>>= r) >> 1) - ); - }), - (r.log10 = function (t) { - return t >= 1e9 - ? 9 - : t >= 1e8 - ? 8 - : t >= 1e7 - ? 7 - : t >= 1e6 - ? 6 - : t >= 1e5 - ? 5 - : t >= 1e4 - ? 4 - : t >= 1e3 - ? 3 - : t >= 100 - ? 2 - : t >= 10 - ? 1 - : 0; - }), - (r.popCount = function (t) { - return ( - (16843009 * - (((t = - (858993459 & (t -= (t >>> 1) & 1431655765)) + - ((t >>> 2) & 858993459)) + - (t >>> 4)) & - 252645135)) >>> - 24 - ); - }), - (r.countTrailingZeros = n), - (r.nextPow2 = function (t) { - return ( - (t += 0 === t), - --t, - (t |= t >>> 1), - (t |= t >>> 2), - (t |= t >>> 4), - (t |= t >>> 8), - (t |= t >>> 16) + 1 - ); - }), - (r.prevPow2 = function (t) { - return ( - (t |= t >>> 1), - (t |= t >>> 2), - (t |= t >>> 4), - (t |= t >>> 8), - (t |= t >>> 16) - (t >>> 1) - ); - }), - (r.parity = function (t) { - return ( - (t ^= t >>> 16), - (t ^= t >>> 8), - (t ^= t >>> 4), - (27030 >>> (t &= 15)) & 1 - ); - })); - var i = new Array(256); - (!(function (t) { - for (var e = 0; e < 256; ++e) { - var r = e, - n = e, - i = 7; - for (r >>>= 1; r; r >>>= 1) ((n <<= 1), (n |= 1 & r), --i); - t[e] = (n << i) & 255; - } - })(i), - (r.reverse = function (t) { - return ( - (i[255 & t] << 24) | - (i[(t >>> 8) & 255] << 16) | - (i[(t >>> 16) & 255] << 8) | - i[(t >>> 24) & 255] - ); - }), - (r.interleave2 = function (t, e) { - return ( - (t = - 1431655765 & - ((t = - 858993459 & - ((t = - 252645135 & - ((t = 16711935 & ((t &= 65535) | (t << 8))) | (t << 4))) | - (t << 2))) | - (t << 1))) | - ((e = - 1431655765 & - ((e = - 858993459 & - ((e = - 252645135 & - ((e = 16711935 & ((e &= 65535) | (e << 8))) | (e << 4))) | - (e << 2))) | - (e << 1))) << - 1) - ); - }), - (r.deinterleave2 = function (t, e) { - return ( - ((t = - 65535 & - ((t = - 16711935 & - ((t = - 252645135 & - ((t = 858993459 & ((t = (t >>> e) & 1431655765) | (t >>> 1))) | - (t >>> 2))) | - (t >>> 4))) | - (t >>> 16))) << - 16) >> - 16 - ); - }), - (r.interleave3 = function (t, e, r) { - return ( - (t = - 1227133513 & - ((t = - 3272356035 & - ((t = - 251719695 & - ((t = 4278190335 & ((t &= 1023) | (t << 16))) | (t << 8))) | - (t << 4))) | - (t << 2))), - (t |= - (e = - 1227133513 & - ((e = - 3272356035 & - ((e = - 251719695 & - ((e = 4278190335 & ((e &= 1023) | (e << 16))) | (e << 8))) | - (e << 4))) | - (e << 2))) << 1) | - ((r = - 1227133513 & - ((r = - 3272356035 & - ((r = - 251719695 & - ((r = 4278190335 & ((r &= 1023) | (r << 16))) | (r << 8))) | - (r << 4))) | - (r << 2))) << - 2) - ); - }), - (r.deinterleave3 = function (t, e) { - return ( - ((t = - 1023 & - ((t = - 4278190335 & - ((t = - 251719695 & - ((t = 3272356035 & ((t = (t >>> e) & 1227133513) | (t >>> 2))) | - (t >>> 4))) | - (t >>> 8))) | - (t >>> 16))) << - 22) >> - 22 - ); - }), - (r.nextCombination = function (t) { - var e = t | (t - 1); - return (e + 1) | (((~e & -~e) - 1) >>> (n(t) + 1)); - })); - }, - {}, - ], - 74: [ - function (t, e, r) { - "use strict"; - var n = t("clamp"); - e.exports = function (t, e) { - e || (e = {}); - var r, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m = null == e.cutoff ? 0.25 : e.cutoff, - v = null == e.radius ? 8 : e.radius, - y = e.channel || 0; - if (ArrayBuffer.isView(t) || Array.isArray(t)) { - if (!e.width || !e.height) - throw Error( - "For raw data width and height should be provided by options", - ); - ((r = e.width), - (o = e.height), - (l = t), - (u = e.stride ? e.stride : Math.floor(t.length / r / o))); - } else - window.HTMLCanvasElement && t instanceof window.HTMLCanvasElement - ? ((f = (h = t).getContext("2d")), - (r = h.width), - (o = h.height), - (p = f.getImageData(0, 0, r, o)), - (l = p.data), - (u = 4)) - : window.CanvasRenderingContext2D && - t instanceof window.CanvasRenderingContext2D - ? ((h = t.canvas), - (f = t), - (r = h.width), - (o = h.height), - (p = f.getImageData(0, 0, r, o)), - (l = p.data), - (u = 4)) - : window.ImageData && - t instanceof window.ImageData && - ((p = t), (r = t.width), (o = t.height), (l = p.data), (u = 4)); - if ( - ((s = Math.max(r, o)), - (window.Uint8ClampedArray && l instanceof window.Uint8ClampedArray) || - (window.Uint8Array && l instanceof window.Uint8Array)) - ) - for (c = l, l = Array(r * o), d = 0, g = c.length; d < g; d++) - l[d] = c[d * u + y] / 255; - else if (1 !== u) throw Error("Raw data can have only 1 value per pixel"); - var x = Array(r * o), - b = Array(r * o), - _ = Array(s), - w = Array(s), - k = Array(s + 1), - M = Array(s); - for (d = 0, g = r * o; d < g; d++) { - var A = l[d]; - ((x[d] = 1 === A ? 0 : 0 === A ? i : Math.pow(Math.max(0, 0.5 - A), 2)), - (b[d] = 1 === A ? i : 0 === A ? 0 : Math.pow(Math.max(0, A - 0.5), 2))); - } - (a(x, r, o, _, w, M, k), a(b, r, o, _, w, M, k)); - var T = window.Float32Array ? new Float32Array(r * o) : new Array(r * o); - for (d = 0, g = r * o; d < g; d++) - T[d] = n(1 - ((x[d] - b[d]) / v + m), 0, 1); - return T; - }; - var i = 1e20; - function a(t, e, r, n, i, a, s) { - for (var l = 0; l < e; l++) { - for (var c = 0; c < r; c++) n[c] = t[c * e + l]; - for (o(n, i, a, s, r), c = 0; c < r; c++) t[c * e + l] = i[c]; - } - for (c = 0; c < r; c++) { - for (l = 0; l < e; l++) n[l] = t[c * e + l]; - for (o(n, i, a, s, e), l = 0; l < e; l++) t[c * e + l] = Math.sqrt(i[l]); - } - } - function o(t, e, r, n, a) { - ((r[0] = 0), (n[0] = -i), (n[1] = +i)); - for (var o = 1, s = 0; o < a; o++) { - for ( - var l = (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / (2 * o - 2 * r[s]); - l <= n[s]; - - ) - (s--, - (l = (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / (2 * o - 2 * r[s]))); - ((r[++s] = o), (n[s] = l), (n[s + 1] = +i)); - } - for (o = 0, s = 0; o < a; o++) { - for (; n[s + 1] < o; ) s++; - e[o] = (o - r[s]) * (o - r[s]) + t[r[s]]; - } - } - }, - { clamp: 95 }, - ], - 75: [ - function (t, e, r) { - !(function (e, r) { - "use strict"; - function n(t, e) { - if (!t) throw new Error(e || "Assertion failed"); - } - function i(t, e) { - t.super_ = e; - var r = function () {}; - ((r.prototype = e.prototype), - (t.prototype = new r()), - (t.prototype.constructor = t)); - } - function a(t, e, r) { - if (a.isBN(t)) return t; - ((this.negative = 0), - (this.words = null), - (this.length = 0), - (this.red = null), - null !== t && - (("le" !== e && "be" !== e) || ((r = e), (e = 10)), - this._init(t || 0, e || 10, r || "be"))); - } - var o; - ("object" == typeof e ? (e.exports = a) : (r.BN = a), - (a.BN = a), - (a.wordSize = 26)); - try { - o = t("buffer").Buffer; - } catch (t) {} - function s(t, e, r) { - for (var n = 0, i = Math.min(t.length, r), a = e; a < i; a++) { - var o = t.charCodeAt(a) - 48; - ((n <<= 4), - (n |= - o >= 49 && o <= 54 - ? o - 49 + 10 - : o >= 17 && o <= 22 - ? o - 17 + 10 - : 15 & o)); - } - return n; - } - function l(t, e, r, n) { - for (var i = 0, a = Math.min(t.length, r), o = e; o < a; o++) { - var s = t.charCodeAt(o) - 48; - ((i *= n), (i += s >= 49 ? s - 49 + 10 : s >= 17 ? s - 17 + 10 : s)); - } - return i; - } - ((a.isBN = function (t) { - return ( - t instanceof a || - (null !== t && - "object" == typeof t && - t.constructor.wordSize === a.wordSize && - Array.isArray(t.words)) - ); - }), - (a.max = function (t, e) { - return t.cmp(e) > 0 ? t : e; - }), - (a.min = function (t, e) { - return t.cmp(e) < 0 ? t : e; - }), - (a.prototype._init = function (t, e, r) { - if ("number" == typeof t) return this._initNumber(t, e, r); - if ("object" == typeof t) return this._initArray(t, e, r); - ("hex" === e && (e = 16), n(e === (0 | e) && e >= 2 && e <= 36)); - var i = 0; - ("-" === (t = t.toString().replace(/\s+/g, ""))[0] && i++, - 16 === e ? this._parseHex(t, i) : this._parseBase(t, e, i), - "-" === t[0] && (this.negative = 1), - this.strip(), - "le" === r && this._initArray(this.toArray(), e, r)); - }), - (a.prototype._initNumber = function (t, e, r) { - (t < 0 && ((this.negative = 1), (t = -t)), - t < 67108864 - ? ((this.words = [67108863 & t]), (this.length = 1)) - : t < 4503599627370496 - ? ((this.words = [67108863 & t, (t / 67108864) & 67108863]), - (this.length = 2)) - : (n(t < 9007199254740992), - (this.words = [67108863 & t, (t / 67108864) & 67108863, 1]), - (this.length = 3)), - "le" === r && this._initArray(this.toArray(), e, r)); - }), - (a.prototype._initArray = function (t, e, r) { - if ((n("number" == typeof t.length), t.length <= 0)) - return ((this.words = [0]), (this.length = 1), this); - ((this.length = Math.ceil(t.length / 3)), - (this.words = new Array(this.length))); - for (var i = 0; i < this.length; i++) this.words[i] = 0; - var a, - o, - s = 0; - if ("be" === r) - for (i = t.length - 1, a = 0; i >= 0; i -= 3) - ((o = t[i] | (t[i - 1] << 8) | (t[i - 2] << 16)), - (this.words[a] |= (o << s) & 67108863), - (this.words[a + 1] = (o >>> (26 - s)) & 67108863), - (s += 24) >= 26 && ((s -= 26), a++)); - else if ("le" === r) - for (i = 0, a = 0; i < t.length; i += 3) - ((o = t[i] | (t[i + 1] << 8) | (t[i + 2] << 16)), - (this.words[a] |= (o << s) & 67108863), - (this.words[a + 1] = (o >>> (26 - s)) & 67108863), - (s += 24) >= 26 && ((s -= 26), a++)); - return this.strip(); - }), - (a.prototype._parseHex = function (t, e) { - ((this.length = Math.ceil((t.length - e) / 6)), - (this.words = new Array(this.length))); - for (var r = 0; r < this.length; r++) this.words[r] = 0; - var n, - i, - a = 0; - for (r = t.length - 6, n = 0; r >= e; r -= 6) - ((i = s(t, r, r + 6)), - (this.words[n] |= (i << a) & 67108863), - (this.words[n + 1] |= (i >>> (26 - a)) & 4194303), - (a += 24) >= 26 && ((a -= 26), n++)); - (r + 6 !== e && - ((i = s(t, e, r + 6)), - (this.words[n] |= (i << a) & 67108863), - (this.words[n + 1] |= (i >>> (26 - a)) & 4194303)), - this.strip()); - }), - (a.prototype._parseBase = function (t, e, r) { - ((this.words = [0]), (this.length = 1)); - for (var n = 0, i = 1; i <= 67108863; i *= e) n++; - (n--, (i = (i / e) | 0)); - for ( - var a = t.length - r, - o = a % n, - s = Math.min(a, a - o) + r, - c = 0, - u = r; - u < s; - u += n - ) - ((c = l(t, u, u + n, e)), - this.imuln(i), - this.words[0] + c < 67108864 - ? (this.words[0] += c) - : this._iaddn(c)); - if (0 !== o) { - var f = 1; - for (c = l(t, u, t.length, e), u = 0; u < o; u++) f *= e; - (this.imuln(f), - this.words[0] + c < 67108864 - ? (this.words[0] += c) - : this._iaddn(c)); - } - }), - (a.prototype.copy = function (t) { - t.words = new Array(this.length); - for (var e = 0; e < this.length; e++) t.words[e] = this.words[e]; - ((t.length = this.length), - (t.negative = this.negative), - (t.red = this.red)); - }), - (a.prototype.clone = function () { - var t = new a(null); - return (this.copy(t), t); - }), - (a.prototype._expand = function (t) { - for (; this.length < t; ) this.words[this.length++] = 0; - return this; - }), - (a.prototype.strip = function () { - for (; this.length > 1 && 0 === this.words[this.length - 1]; ) - this.length--; - return this._normSign(); - }), - (a.prototype._normSign = function () { - return ( - 1 === this.length && 0 === this.words[0] && (this.negative = 0), - this - ); - }), - (a.prototype.inspect = function () { - return (this.red ? ""; - })); - var c = [ - "", - "0", - "00", - "000", - "0000", - "00000", - "000000", - "0000000", - "00000000", - "000000000", - "0000000000", - "00000000000", - "000000000000", - "0000000000000", - "00000000000000", - "000000000000000", - "0000000000000000", - "00000000000000000", - "000000000000000000", - "0000000000000000000", - "00000000000000000000", - "000000000000000000000", - "0000000000000000000000", - "00000000000000000000000", - "000000000000000000000000", - "0000000000000000000000000", - ], - u = [ - 0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - ], - f = [ - 0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, - 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, - 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, - 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, - 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, - 60466176, - ]; - function h(t, e, r) { - r.negative = e.negative ^ t.negative; - var n = (t.length + e.length) | 0; - ((r.length = n), (n = (n - 1) | 0)); - var i = 0 | t.words[0], - a = 0 | e.words[0], - o = i * a, - s = 67108863 & o, - l = (o / 67108864) | 0; - r.words[0] = s; - for (var c = 1; c < n; c++) { - for ( - var u = l >>> 26, - f = 67108863 & l, - h = Math.min(c, e.length - 1), - p = Math.max(0, c - t.length + 1); - p <= h; - p++ - ) { - var d = (c - p) | 0; - ((u += - ((o = (i = 0 | t.words[d]) * (a = 0 | e.words[p]) + f) / 67108864) | - 0), - (f = 67108863 & o)); - } - ((r.words[c] = 0 | f), (l = 0 | u)); - } - return (0 !== l ? (r.words[c] = 0 | l) : r.length--, r.strip()); - } - ((a.prototype.toString = function (t, e) { - var r; - if (((t = t || 10), (e = 0 | e || 1), 16 === t || "hex" === t)) { - r = ""; - for (var i = 0, a = 0, o = 0; o < this.length; o++) { - var s = this.words[o], - l = (16777215 & ((s << i) | a)).toString(16); - ((r = - 0 !== (a = (s >>> (24 - i)) & 16777215) || o !== this.length - 1 - ? c[6 - l.length] + l + r - : l + r), - (i += 2) >= 26 && ((i -= 26), o--)); - } - for (0 !== a && (r = a.toString(16) + r); r.length % e != 0; ) - r = "0" + r; - return (0 !== this.negative && (r = "-" + r), r); - } - if (t === (0 | t) && t >= 2 && t <= 36) { - var h = u[t], - p = f[t]; - r = ""; - var d = this.clone(); - for (d.negative = 0; !d.isZero(); ) { - var g = d.modn(p).toString(t); - r = (d = d.idivn(p)).isZero() ? g + r : c[h - g.length] + g + r; - } - for (this.isZero() && (r = "0" + r); r.length % e != 0; ) r = "0" + r; - return (0 !== this.negative && (r = "-" + r), r); - } - n(!1, "Base should be between 2 and 36"); - }), - (a.prototype.toNumber = function () { - var t = this.words[0]; - return ( - 2 === this.length - ? (t += 67108864 * this.words[1]) - : 3 === this.length && 1 === this.words[2] - ? (t += 4503599627370496 + 67108864 * this.words[1]) - : this.length > 2 && - n(!1, "Number can only safely store up to 53 bits"), - 0 !== this.negative ? -t : t - ); - }), - (a.prototype.toJSON = function () { - return this.toString(16); - }), - (a.prototype.toBuffer = function (t, e) { - return (n(void 0 !== o), this.toArrayLike(o, t, e)); - }), - (a.prototype.toArray = function (t, e) { - return this.toArrayLike(Array, t, e); - }), - (a.prototype.toArrayLike = function (t, e, r) { - var i = this.byteLength(), - a = r || Math.max(1, i); - (n(i <= a, "byte array longer than desired length"), - n(a > 0, "Requested array length <= 0"), - this.strip()); - var o, - s, - l = "le" === e, - c = new t(a), - u = this.clone(); - if (l) { - for (s = 0; !u.isZero(); s++) - ((o = u.andln(255)), u.iushrn(8), (c[s] = o)); - for (; s < a; s++) c[s] = 0; - } else { - for (s = 0; s < a - i; s++) c[s] = 0; - for (s = 0; !u.isZero(); s++) - ((o = u.andln(255)), u.iushrn(8), (c[a - s - 1] = o)); - } - return c; - }), - Math.clz32 - ? (a.prototype._countBits = function (t) { - return 32 - Math.clz32(t); - }) - : (a.prototype._countBits = function (t) { - var e = t, - r = 0; - return ( - e >= 4096 && ((r += 13), (e >>>= 13)), - e >= 64 && ((r += 7), (e >>>= 7)), - e >= 8 && ((r += 4), (e >>>= 4)), - e >= 2 && ((r += 2), (e >>>= 2)), - r + e - ); - }), - (a.prototype._zeroBits = function (t) { - if (0 === t) return 26; - var e = t, - r = 0; - return ( - 0 == (8191 & e) && ((r += 13), (e >>>= 13)), - 0 == (127 & e) && ((r += 7), (e >>>= 7)), - 0 == (15 & e) && ((r += 4), (e >>>= 4)), - 0 == (3 & e) && ((r += 2), (e >>>= 2)), - 0 == (1 & e) && r++, - r - ); - }), - (a.prototype.bitLength = function () { - var t = this.words[this.length - 1], - e = this._countBits(t); - return 26 * (this.length - 1) + e; - }), - (a.prototype.zeroBits = function () { - if (this.isZero()) return 0; - for (var t = 0, e = 0; e < this.length; e++) { - var r = this._zeroBits(this.words[e]); - if (((t += r), 26 !== r)) break; - } - return t; - }), - (a.prototype.byteLength = function () { - return Math.ceil(this.bitLength() / 8); - }), - (a.prototype.toTwos = function (t) { - return 0 !== this.negative - ? this.abs().inotn(t).iaddn(1) - : this.clone(); - }), - (a.prototype.fromTwos = function (t) { - return this.testn(t - 1) ? this.notn(t).iaddn(1).ineg() : this.clone(); - }), - (a.prototype.isNeg = function () { - return 0 !== this.negative; - }), - (a.prototype.neg = function () { - return this.clone().ineg(); - }), - (a.prototype.ineg = function () { - return (this.isZero() || (this.negative ^= 1), this); - }), - (a.prototype.iuor = function (t) { - for (; this.length < t.length; ) this.words[this.length++] = 0; - for (var e = 0; e < t.length; e++) - this.words[e] = this.words[e] | t.words[e]; - return this.strip(); - }), - (a.prototype.ior = function (t) { - return (n(0 == (this.negative | t.negative)), this.iuor(t)); - }), - (a.prototype.or = function (t) { - return this.length > t.length - ? this.clone().ior(t) - : t.clone().ior(this); - }), - (a.prototype.uor = function (t) { - return this.length > t.length - ? this.clone().iuor(t) - : t.clone().iuor(this); - }), - (a.prototype.iuand = function (t) { - var e; - e = this.length > t.length ? t : this; - for (var r = 0; r < e.length; r++) - this.words[r] = this.words[r] & t.words[r]; - return ((this.length = e.length), this.strip()); - }), - (a.prototype.iand = function (t) { - return (n(0 == (this.negative | t.negative)), this.iuand(t)); - }), - (a.prototype.and = function (t) { - return this.length > t.length - ? this.clone().iand(t) - : t.clone().iand(this); - }), - (a.prototype.uand = function (t) { - return this.length > t.length - ? this.clone().iuand(t) - : t.clone().iuand(this); - }), - (a.prototype.iuxor = function (t) { - var e, r; - this.length > t.length ? ((e = this), (r = t)) : ((e = t), (r = this)); - for (var n = 0; n < r.length; n++) - this.words[n] = e.words[n] ^ r.words[n]; - if (this !== e) for (; n < e.length; n++) this.words[n] = e.words[n]; - return ((this.length = e.length), this.strip()); - }), - (a.prototype.ixor = function (t) { - return (n(0 == (this.negative | t.negative)), this.iuxor(t)); - }), - (a.prototype.xor = function (t) { - return this.length > t.length - ? this.clone().ixor(t) - : t.clone().ixor(this); - }), - (a.prototype.uxor = function (t) { - return this.length > t.length - ? this.clone().iuxor(t) - : t.clone().iuxor(this); - }), - (a.prototype.inotn = function (t) { - n("number" == typeof t && t >= 0); - var e = 0 | Math.ceil(t / 26), - r = t % 26; - (this._expand(e), r > 0 && e--); - for (var i = 0; i < e; i++) this.words[i] = 67108863 & ~this.words[i]; - return ( - r > 0 && (this.words[i] = ~this.words[i] & (67108863 >> (26 - r))), - this.strip() - ); - }), - (a.prototype.notn = function (t) { - return this.clone().inotn(t); - }), - (a.prototype.setn = function (t, e) { - n("number" == typeof t && t >= 0); - var r = (t / 26) | 0, - i = t % 26; - return ( - this._expand(r + 1), - (this.words[r] = e - ? this.words[r] | (1 << i) - : this.words[r] & ~(1 << i)), - this.strip() - ); - }), - (a.prototype.iadd = function (t) { - var e, r, n; - if (0 !== this.negative && 0 === t.negative) - return ( - (this.negative = 0), - (e = this.isub(t)), - (this.negative ^= 1), - this._normSign() - ); - if (0 === this.negative && 0 !== t.negative) - return ( - (t.negative = 0), - (e = this.isub(t)), - (t.negative = 1), - e._normSign() - ); - this.length > t.length ? ((r = this), (n = t)) : ((r = t), (n = this)); - for (var i = 0, a = 0; a < n.length; a++) - ((e = (0 | r.words[a]) + (0 | n.words[a]) + i), - (this.words[a] = 67108863 & e), - (i = e >>> 26)); - for (; 0 !== i && a < r.length; a++) - ((e = (0 | r.words[a]) + i), - (this.words[a] = 67108863 & e), - (i = e >>> 26)); - if (((this.length = r.length), 0 !== i)) - ((this.words[this.length] = i), this.length++); - else if (r !== this) - for (; a < r.length; a++) this.words[a] = r.words[a]; - return this; - }), - (a.prototype.add = function (t) { - var e; - return 0 !== t.negative && 0 === this.negative - ? ((t.negative = 0), (e = this.sub(t)), (t.negative ^= 1), e) - : 0 === t.negative && 0 !== this.negative - ? ((this.negative = 0), (e = t.sub(this)), (this.negative = 1), e) - : this.length > t.length - ? this.clone().iadd(t) - : t.clone().iadd(this); - }), - (a.prototype.isub = function (t) { - if (0 !== t.negative) { - t.negative = 0; - var e = this.iadd(t); - return ((t.negative = 1), e._normSign()); - } - if (0 !== this.negative) - return ( - (this.negative = 0), - this.iadd(t), - (this.negative = 1), - this._normSign() - ); - var r, - n, - i = this.cmp(t); - if (0 === i) - return ( - (this.negative = 0), - (this.length = 1), - (this.words[0] = 0), - this - ); - i > 0 ? ((r = this), (n = t)) : ((r = t), (n = this)); - for (var a = 0, o = 0; o < n.length; o++) - ((a = (e = (0 | r.words[o]) - (0 | n.words[o]) + a) >> 26), - (this.words[o] = 67108863 & e)); - for (; 0 !== a && o < r.length; o++) - ((a = (e = (0 | r.words[o]) + a) >> 26), - (this.words[o] = 67108863 & e)); - if (0 === a && o < r.length && r !== this) - for (; o < r.length; o++) this.words[o] = r.words[o]; - return ( - (this.length = Math.max(this.length, o)), - r !== this && (this.negative = 1), - this.strip() - ); - }), - (a.prototype.sub = function (t) { - return this.clone().isub(t); - })); - var p = function (t, e, r) { - var n, - i, - a, - o = t.words, - s = e.words, - l = r.words, - c = 0, - u = 0 | o[0], - f = 8191 & u, - h = u >>> 13, - p = 0 | o[1], - d = 8191 & p, - g = p >>> 13, - m = 0 | o[2], - v = 8191 & m, - y = m >>> 13, - x = 0 | o[3], - b = 8191 & x, - _ = x >>> 13, - w = 0 | o[4], - k = 8191 & w, - M = w >>> 13, - A = 0 | o[5], - T = 8191 & A, - S = A >>> 13, - C = 0 | o[6], - E = 8191 & C, - L = C >>> 13, - z = 0 | o[7], - P = 8191 & z, - D = z >>> 13, - O = 0 | o[8], - I = 8191 & O, - R = O >>> 13, - B = 0 | o[9], - F = 8191 & B, - N = B >>> 13, - j = 0 | s[0], - V = 8191 & j, - U = j >>> 13, - q = 0 | s[1], - H = 8191 & q, - G = q >>> 13, - W = 0 | s[2], - Y = 8191 & W, - X = W >>> 13, - Z = 0 | s[3], - J = 8191 & Z, - K = Z >>> 13, - Q = 0 | s[4], - $ = 8191 & Q, - tt = Q >>> 13, - et = 0 | s[5], - rt = 8191 & et, - nt = et >>> 13, - it = 0 | s[6], - at = 8191 & it, - ot = it >>> 13, - st = 0 | s[7], - lt = 8191 & st, - ct = st >>> 13, - ut = 0 | s[8], - ft = 8191 & ut, - ht = ut >>> 13, - pt = 0 | s[9], - dt = 8191 & pt, - gt = pt >>> 13; - ((r.negative = t.negative ^ e.negative), (r.length = 19)); - var mt = - (((c + (n = Math.imul(f, V))) | 0) + - ((8191 & (i = ((i = Math.imul(f, U)) + Math.imul(h, V)) | 0)) << - 13)) | - 0; - ((c = ((((a = Math.imul(h, U)) + (i >>> 13)) | 0) + (mt >>> 26)) | 0), - (mt &= 67108863), - (n = Math.imul(d, V)), - (i = ((i = Math.imul(d, U)) + Math.imul(g, V)) | 0), - (a = Math.imul(g, U))); - var vt = - (((c + (n = (n + Math.imul(f, H)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, G)) | 0) + Math.imul(h, H)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, G)) | 0) + (i >>> 13)) | 0) + (vt >>> 26)) | - 0), - (vt &= 67108863), - (n = Math.imul(v, V)), - (i = ((i = Math.imul(v, U)) + Math.imul(y, V)) | 0), - (a = Math.imul(y, U)), - (n = (n + Math.imul(d, H)) | 0), - (i = ((i = (i + Math.imul(d, G)) | 0) + Math.imul(g, H)) | 0), - (a = (a + Math.imul(g, G)) | 0)); - var yt = - (((c + (n = (n + Math.imul(f, Y)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, X)) | 0) + Math.imul(h, Y)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, X)) | 0) + (i >>> 13)) | 0) + (yt >>> 26)) | - 0), - (yt &= 67108863), - (n = Math.imul(b, V)), - (i = ((i = Math.imul(b, U)) + Math.imul(_, V)) | 0), - (a = Math.imul(_, U)), - (n = (n + Math.imul(v, H)) | 0), - (i = ((i = (i + Math.imul(v, G)) | 0) + Math.imul(y, H)) | 0), - (a = (a + Math.imul(y, G)) | 0), - (n = (n + Math.imul(d, Y)) | 0), - (i = ((i = (i + Math.imul(d, X)) | 0) + Math.imul(g, Y)) | 0), - (a = (a + Math.imul(g, X)) | 0)); - var xt = - (((c + (n = (n + Math.imul(f, J)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, K)) | 0) + Math.imul(h, J)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, K)) | 0) + (i >>> 13)) | 0) + (xt >>> 26)) | - 0), - (xt &= 67108863), - (n = Math.imul(k, V)), - (i = ((i = Math.imul(k, U)) + Math.imul(M, V)) | 0), - (a = Math.imul(M, U)), - (n = (n + Math.imul(b, H)) | 0), - (i = ((i = (i + Math.imul(b, G)) | 0) + Math.imul(_, H)) | 0), - (a = (a + Math.imul(_, G)) | 0), - (n = (n + Math.imul(v, Y)) | 0), - (i = ((i = (i + Math.imul(v, X)) | 0) + Math.imul(y, Y)) | 0), - (a = (a + Math.imul(y, X)) | 0), - (n = (n + Math.imul(d, J)) | 0), - (i = ((i = (i + Math.imul(d, K)) | 0) + Math.imul(g, J)) | 0), - (a = (a + Math.imul(g, K)) | 0)); - var bt = - (((c + (n = (n + Math.imul(f, $)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, tt)) | 0) + Math.imul(h, $)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, tt)) | 0) + (i >>> 13)) | 0) + (bt >>> 26)) | - 0), - (bt &= 67108863), - (n = Math.imul(T, V)), - (i = ((i = Math.imul(T, U)) + Math.imul(S, V)) | 0), - (a = Math.imul(S, U)), - (n = (n + Math.imul(k, H)) | 0), - (i = ((i = (i + Math.imul(k, G)) | 0) + Math.imul(M, H)) | 0), - (a = (a + Math.imul(M, G)) | 0), - (n = (n + Math.imul(b, Y)) | 0), - (i = ((i = (i + Math.imul(b, X)) | 0) + Math.imul(_, Y)) | 0), - (a = (a + Math.imul(_, X)) | 0), - (n = (n + Math.imul(v, J)) | 0), - (i = ((i = (i + Math.imul(v, K)) | 0) + Math.imul(y, J)) | 0), - (a = (a + Math.imul(y, K)) | 0), - (n = (n + Math.imul(d, $)) | 0), - (i = ((i = (i + Math.imul(d, tt)) | 0) + Math.imul(g, $)) | 0), - (a = (a + Math.imul(g, tt)) | 0)); - var _t = - (((c + (n = (n + Math.imul(f, rt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, nt)) | 0) + Math.imul(h, rt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, nt)) | 0) + (i >>> 13)) | 0) + (_t >>> 26)) | - 0), - (_t &= 67108863), - (n = Math.imul(E, V)), - (i = ((i = Math.imul(E, U)) + Math.imul(L, V)) | 0), - (a = Math.imul(L, U)), - (n = (n + Math.imul(T, H)) | 0), - (i = ((i = (i + Math.imul(T, G)) | 0) + Math.imul(S, H)) | 0), - (a = (a + Math.imul(S, G)) | 0), - (n = (n + Math.imul(k, Y)) | 0), - (i = ((i = (i + Math.imul(k, X)) | 0) + Math.imul(M, Y)) | 0), - (a = (a + Math.imul(M, X)) | 0), - (n = (n + Math.imul(b, J)) | 0), - (i = ((i = (i + Math.imul(b, K)) | 0) + Math.imul(_, J)) | 0), - (a = (a + Math.imul(_, K)) | 0), - (n = (n + Math.imul(v, $)) | 0), - (i = ((i = (i + Math.imul(v, tt)) | 0) + Math.imul(y, $)) | 0), - (a = (a + Math.imul(y, tt)) | 0), - (n = (n + Math.imul(d, rt)) | 0), - (i = ((i = (i + Math.imul(d, nt)) | 0) + Math.imul(g, rt)) | 0), - (a = (a + Math.imul(g, nt)) | 0)); - var wt = - (((c + (n = (n + Math.imul(f, at)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, ot)) | 0) + Math.imul(h, at)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, ot)) | 0) + (i >>> 13)) | 0) + (wt >>> 26)) | - 0), - (wt &= 67108863), - (n = Math.imul(P, V)), - (i = ((i = Math.imul(P, U)) + Math.imul(D, V)) | 0), - (a = Math.imul(D, U)), - (n = (n + Math.imul(E, H)) | 0), - (i = ((i = (i + Math.imul(E, G)) | 0) + Math.imul(L, H)) | 0), - (a = (a + Math.imul(L, G)) | 0), - (n = (n + Math.imul(T, Y)) | 0), - (i = ((i = (i + Math.imul(T, X)) | 0) + Math.imul(S, Y)) | 0), - (a = (a + Math.imul(S, X)) | 0), - (n = (n + Math.imul(k, J)) | 0), - (i = ((i = (i + Math.imul(k, K)) | 0) + Math.imul(M, J)) | 0), - (a = (a + Math.imul(M, K)) | 0), - (n = (n + Math.imul(b, $)) | 0), - (i = ((i = (i + Math.imul(b, tt)) | 0) + Math.imul(_, $)) | 0), - (a = (a + Math.imul(_, tt)) | 0), - (n = (n + Math.imul(v, rt)) | 0), - (i = ((i = (i + Math.imul(v, nt)) | 0) + Math.imul(y, rt)) | 0), - (a = (a + Math.imul(y, nt)) | 0), - (n = (n + Math.imul(d, at)) | 0), - (i = ((i = (i + Math.imul(d, ot)) | 0) + Math.imul(g, at)) | 0), - (a = (a + Math.imul(g, ot)) | 0)); - var kt = - (((c + (n = (n + Math.imul(f, lt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, ct)) | 0) + Math.imul(h, lt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, ct)) | 0) + (i >>> 13)) | 0) + (kt >>> 26)) | - 0), - (kt &= 67108863), - (n = Math.imul(I, V)), - (i = ((i = Math.imul(I, U)) + Math.imul(R, V)) | 0), - (a = Math.imul(R, U)), - (n = (n + Math.imul(P, H)) | 0), - (i = ((i = (i + Math.imul(P, G)) | 0) + Math.imul(D, H)) | 0), - (a = (a + Math.imul(D, G)) | 0), - (n = (n + Math.imul(E, Y)) | 0), - (i = ((i = (i + Math.imul(E, X)) | 0) + Math.imul(L, Y)) | 0), - (a = (a + Math.imul(L, X)) | 0), - (n = (n + Math.imul(T, J)) | 0), - (i = ((i = (i + Math.imul(T, K)) | 0) + Math.imul(S, J)) | 0), - (a = (a + Math.imul(S, K)) | 0), - (n = (n + Math.imul(k, $)) | 0), - (i = ((i = (i + Math.imul(k, tt)) | 0) + Math.imul(M, $)) | 0), - (a = (a + Math.imul(M, tt)) | 0), - (n = (n + Math.imul(b, rt)) | 0), - (i = ((i = (i + Math.imul(b, nt)) | 0) + Math.imul(_, rt)) | 0), - (a = (a + Math.imul(_, nt)) | 0), - (n = (n + Math.imul(v, at)) | 0), - (i = ((i = (i + Math.imul(v, ot)) | 0) + Math.imul(y, at)) | 0), - (a = (a + Math.imul(y, ot)) | 0), - (n = (n + Math.imul(d, lt)) | 0), - (i = ((i = (i + Math.imul(d, ct)) | 0) + Math.imul(g, lt)) | 0), - (a = (a + Math.imul(g, ct)) | 0)); - var Mt = - (((c + (n = (n + Math.imul(f, ft)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, ht)) | 0) + Math.imul(h, ft)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, ht)) | 0) + (i >>> 13)) | 0) + (Mt >>> 26)) | - 0), - (Mt &= 67108863), - (n = Math.imul(F, V)), - (i = ((i = Math.imul(F, U)) + Math.imul(N, V)) | 0), - (a = Math.imul(N, U)), - (n = (n + Math.imul(I, H)) | 0), - (i = ((i = (i + Math.imul(I, G)) | 0) + Math.imul(R, H)) | 0), - (a = (a + Math.imul(R, G)) | 0), - (n = (n + Math.imul(P, Y)) | 0), - (i = ((i = (i + Math.imul(P, X)) | 0) + Math.imul(D, Y)) | 0), - (a = (a + Math.imul(D, X)) | 0), - (n = (n + Math.imul(E, J)) | 0), - (i = ((i = (i + Math.imul(E, K)) | 0) + Math.imul(L, J)) | 0), - (a = (a + Math.imul(L, K)) | 0), - (n = (n + Math.imul(T, $)) | 0), - (i = ((i = (i + Math.imul(T, tt)) | 0) + Math.imul(S, $)) | 0), - (a = (a + Math.imul(S, tt)) | 0), - (n = (n + Math.imul(k, rt)) | 0), - (i = ((i = (i + Math.imul(k, nt)) | 0) + Math.imul(M, rt)) | 0), - (a = (a + Math.imul(M, nt)) | 0), - (n = (n + Math.imul(b, at)) | 0), - (i = ((i = (i + Math.imul(b, ot)) | 0) + Math.imul(_, at)) | 0), - (a = (a + Math.imul(_, ot)) | 0), - (n = (n + Math.imul(v, lt)) | 0), - (i = ((i = (i + Math.imul(v, ct)) | 0) + Math.imul(y, lt)) | 0), - (a = (a + Math.imul(y, ct)) | 0), - (n = (n + Math.imul(d, ft)) | 0), - (i = ((i = (i + Math.imul(d, ht)) | 0) + Math.imul(g, ft)) | 0), - (a = (a + Math.imul(g, ht)) | 0)); - var At = - (((c + (n = (n + Math.imul(f, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(f, gt)) | 0) + Math.imul(h, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(h, gt)) | 0) + (i >>> 13)) | 0) + (At >>> 26)) | - 0), - (At &= 67108863), - (n = Math.imul(F, H)), - (i = ((i = Math.imul(F, G)) + Math.imul(N, H)) | 0), - (a = Math.imul(N, G)), - (n = (n + Math.imul(I, Y)) | 0), - (i = ((i = (i + Math.imul(I, X)) | 0) + Math.imul(R, Y)) | 0), - (a = (a + Math.imul(R, X)) | 0), - (n = (n + Math.imul(P, J)) | 0), - (i = ((i = (i + Math.imul(P, K)) | 0) + Math.imul(D, J)) | 0), - (a = (a + Math.imul(D, K)) | 0), - (n = (n + Math.imul(E, $)) | 0), - (i = ((i = (i + Math.imul(E, tt)) | 0) + Math.imul(L, $)) | 0), - (a = (a + Math.imul(L, tt)) | 0), - (n = (n + Math.imul(T, rt)) | 0), - (i = ((i = (i + Math.imul(T, nt)) | 0) + Math.imul(S, rt)) | 0), - (a = (a + Math.imul(S, nt)) | 0), - (n = (n + Math.imul(k, at)) | 0), - (i = ((i = (i + Math.imul(k, ot)) | 0) + Math.imul(M, at)) | 0), - (a = (a + Math.imul(M, ot)) | 0), - (n = (n + Math.imul(b, lt)) | 0), - (i = ((i = (i + Math.imul(b, ct)) | 0) + Math.imul(_, lt)) | 0), - (a = (a + Math.imul(_, ct)) | 0), - (n = (n + Math.imul(v, ft)) | 0), - (i = ((i = (i + Math.imul(v, ht)) | 0) + Math.imul(y, ft)) | 0), - (a = (a + Math.imul(y, ht)) | 0)); - var Tt = - (((c + (n = (n + Math.imul(d, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(d, gt)) | 0) + Math.imul(g, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(g, gt)) | 0) + (i >>> 13)) | 0) + (Tt >>> 26)) | - 0), - (Tt &= 67108863), - (n = Math.imul(F, Y)), - (i = ((i = Math.imul(F, X)) + Math.imul(N, Y)) | 0), - (a = Math.imul(N, X)), - (n = (n + Math.imul(I, J)) | 0), - (i = ((i = (i + Math.imul(I, K)) | 0) + Math.imul(R, J)) | 0), - (a = (a + Math.imul(R, K)) | 0), - (n = (n + Math.imul(P, $)) | 0), - (i = ((i = (i + Math.imul(P, tt)) | 0) + Math.imul(D, $)) | 0), - (a = (a + Math.imul(D, tt)) | 0), - (n = (n + Math.imul(E, rt)) | 0), - (i = ((i = (i + Math.imul(E, nt)) | 0) + Math.imul(L, rt)) | 0), - (a = (a + Math.imul(L, nt)) | 0), - (n = (n + Math.imul(T, at)) | 0), - (i = ((i = (i + Math.imul(T, ot)) | 0) + Math.imul(S, at)) | 0), - (a = (a + Math.imul(S, ot)) | 0), - (n = (n + Math.imul(k, lt)) | 0), - (i = ((i = (i + Math.imul(k, ct)) | 0) + Math.imul(M, lt)) | 0), - (a = (a + Math.imul(M, ct)) | 0), - (n = (n + Math.imul(b, ft)) | 0), - (i = ((i = (i + Math.imul(b, ht)) | 0) + Math.imul(_, ft)) | 0), - (a = (a + Math.imul(_, ht)) | 0)); - var St = - (((c + (n = (n + Math.imul(v, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(v, gt)) | 0) + Math.imul(y, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(y, gt)) | 0) + (i >>> 13)) | 0) + (St >>> 26)) | - 0), - (St &= 67108863), - (n = Math.imul(F, J)), - (i = ((i = Math.imul(F, K)) + Math.imul(N, J)) | 0), - (a = Math.imul(N, K)), - (n = (n + Math.imul(I, $)) | 0), - (i = ((i = (i + Math.imul(I, tt)) | 0) + Math.imul(R, $)) | 0), - (a = (a + Math.imul(R, tt)) | 0), - (n = (n + Math.imul(P, rt)) | 0), - (i = ((i = (i + Math.imul(P, nt)) | 0) + Math.imul(D, rt)) | 0), - (a = (a + Math.imul(D, nt)) | 0), - (n = (n + Math.imul(E, at)) | 0), - (i = ((i = (i + Math.imul(E, ot)) | 0) + Math.imul(L, at)) | 0), - (a = (a + Math.imul(L, ot)) | 0), - (n = (n + Math.imul(T, lt)) | 0), - (i = ((i = (i + Math.imul(T, ct)) | 0) + Math.imul(S, lt)) | 0), - (a = (a + Math.imul(S, ct)) | 0), - (n = (n + Math.imul(k, ft)) | 0), - (i = ((i = (i + Math.imul(k, ht)) | 0) + Math.imul(M, ft)) | 0), - (a = (a + Math.imul(M, ht)) | 0)); - var Ct = - (((c + (n = (n + Math.imul(b, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(b, gt)) | 0) + Math.imul(_, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(_, gt)) | 0) + (i >>> 13)) | 0) + (Ct >>> 26)) | - 0), - (Ct &= 67108863), - (n = Math.imul(F, $)), - (i = ((i = Math.imul(F, tt)) + Math.imul(N, $)) | 0), - (a = Math.imul(N, tt)), - (n = (n + Math.imul(I, rt)) | 0), - (i = ((i = (i + Math.imul(I, nt)) | 0) + Math.imul(R, rt)) | 0), - (a = (a + Math.imul(R, nt)) | 0), - (n = (n + Math.imul(P, at)) | 0), - (i = ((i = (i + Math.imul(P, ot)) | 0) + Math.imul(D, at)) | 0), - (a = (a + Math.imul(D, ot)) | 0), - (n = (n + Math.imul(E, lt)) | 0), - (i = ((i = (i + Math.imul(E, ct)) | 0) + Math.imul(L, lt)) | 0), - (a = (a + Math.imul(L, ct)) | 0), - (n = (n + Math.imul(T, ft)) | 0), - (i = ((i = (i + Math.imul(T, ht)) | 0) + Math.imul(S, ft)) | 0), - (a = (a + Math.imul(S, ht)) | 0)); - var Et = - (((c + (n = (n + Math.imul(k, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(k, gt)) | 0) + Math.imul(M, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(M, gt)) | 0) + (i >>> 13)) | 0) + (Et >>> 26)) | - 0), - (Et &= 67108863), - (n = Math.imul(F, rt)), - (i = ((i = Math.imul(F, nt)) + Math.imul(N, rt)) | 0), - (a = Math.imul(N, nt)), - (n = (n + Math.imul(I, at)) | 0), - (i = ((i = (i + Math.imul(I, ot)) | 0) + Math.imul(R, at)) | 0), - (a = (a + Math.imul(R, ot)) | 0), - (n = (n + Math.imul(P, lt)) | 0), - (i = ((i = (i + Math.imul(P, ct)) | 0) + Math.imul(D, lt)) | 0), - (a = (a + Math.imul(D, ct)) | 0), - (n = (n + Math.imul(E, ft)) | 0), - (i = ((i = (i + Math.imul(E, ht)) | 0) + Math.imul(L, ft)) | 0), - (a = (a + Math.imul(L, ht)) | 0)); - var Lt = - (((c + (n = (n + Math.imul(T, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(T, gt)) | 0) + Math.imul(S, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(S, gt)) | 0) + (i >>> 13)) | 0) + (Lt >>> 26)) | - 0), - (Lt &= 67108863), - (n = Math.imul(F, at)), - (i = ((i = Math.imul(F, ot)) + Math.imul(N, at)) | 0), - (a = Math.imul(N, ot)), - (n = (n + Math.imul(I, lt)) | 0), - (i = ((i = (i + Math.imul(I, ct)) | 0) + Math.imul(R, lt)) | 0), - (a = (a + Math.imul(R, ct)) | 0), - (n = (n + Math.imul(P, ft)) | 0), - (i = ((i = (i + Math.imul(P, ht)) | 0) + Math.imul(D, ft)) | 0), - (a = (a + Math.imul(D, ht)) | 0)); - var zt = - (((c + (n = (n + Math.imul(E, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(E, gt)) | 0) + Math.imul(L, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(L, gt)) | 0) + (i >>> 13)) | 0) + (zt >>> 26)) | - 0), - (zt &= 67108863), - (n = Math.imul(F, lt)), - (i = ((i = Math.imul(F, ct)) + Math.imul(N, lt)) | 0), - (a = Math.imul(N, ct)), - (n = (n + Math.imul(I, ft)) | 0), - (i = ((i = (i + Math.imul(I, ht)) | 0) + Math.imul(R, ft)) | 0), - (a = (a + Math.imul(R, ht)) | 0)); - var Pt = - (((c + (n = (n + Math.imul(P, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(P, gt)) | 0) + Math.imul(D, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(D, gt)) | 0) + (i >>> 13)) | 0) + (Pt >>> 26)) | - 0), - (Pt &= 67108863), - (n = Math.imul(F, ft)), - (i = ((i = Math.imul(F, ht)) + Math.imul(N, ft)) | 0), - (a = Math.imul(N, ht))); - var Dt = - (((c + (n = (n + Math.imul(I, dt)) | 0)) | 0) + - ((8191 & - (i = ((i = (i + Math.imul(I, gt)) | 0) + Math.imul(R, dt)) | 0)) << - 13)) | - 0; - ((c = - ((((a = (a + Math.imul(R, gt)) | 0) + (i >>> 13)) | 0) + (Dt >>> 26)) | - 0), - (Dt &= 67108863)); - var Ot = - (((c + (n = Math.imul(F, dt))) | 0) + - ((8191 & (i = ((i = Math.imul(F, gt)) + Math.imul(N, dt)) | 0)) << - 13)) | - 0; - return ( - (c = ((((a = Math.imul(N, gt)) + (i >>> 13)) | 0) + (Ot >>> 26)) | 0), - (Ot &= 67108863), - (l[0] = mt), - (l[1] = vt), - (l[2] = yt), - (l[3] = xt), - (l[4] = bt), - (l[5] = _t), - (l[6] = wt), - (l[7] = kt), - (l[8] = Mt), - (l[9] = At), - (l[10] = Tt), - (l[11] = St), - (l[12] = Ct), - (l[13] = Et), - (l[14] = Lt), - (l[15] = zt), - (l[16] = Pt), - (l[17] = Dt), - (l[18] = Ot), - 0 !== c && ((l[19] = c), r.length++), - r - ); - }; - function d(t, e, r) { - return new g().mulp(t, e, r); - } - function g(t, e) { - ((this.x = t), (this.y = e)); - } - (Math.imul || (p = h), - (a.prototype.mulTo = function (t, e) { - var r = this.length + t.length; - return 10 === this.length && 10 === t.length - ? p(this, t, e) - : r < 63 - ? h(this, t, e) - : r < 1024 - ? (function (t, e, r) { - ((r.negative = e.negative ^ t.negative), - (r.length = t.length + e.length)); - for (var n = 0, i = 0, a = 0; a < r.length - 1; a++) { - var o = i; - i = 0; - for ( - var s = 67108863 & n, - l = Math.min(a, e.length - 1), - c = Math.max(0, a - t.length + 1); - c <= l; - c++ - ) { - var u = a - c, - f = (0 | t.words[u]) * (0 | e.words[c]), - h = 67108863 & f; - ((s = 67108863 & (h = (h + s) | 0)), - (i += - (o = - ((o = (o + ((f / 67108864) | 0)) | 0) + - (h >>> 26)) | - 0) >>> 26), - (o &= 67108863)); - } - ((r.words[a] = s), (n = o), (o = i)); - } - return (0 !== n ? (r.words[a] = n) : r.length--, r.strip()); - })(this, t, e) - : d(this, t, e); - }), - (g.prototype.makeRBT = function (t) { - for ( - var e = new Array(t), r = a.prototype._countBits(t) - 1, n = 0; - n < t; - n++ - ) - e[n] = this.revBin(n, r, t); - return e; - }), - (g.prototype.revBin = function (t, e, r) { - if (0 === t || t === r - 1) return t; - for (var n = 0, i = 0; i < e; i++) - ((n |= (1 & t) << (e - i - 1)), (t >>= 1)); - return n; - }), - (g.prototype.permute = function (t, e, r, n, i, a) { - for (var o = 0; o < a; o++) ((n[o] = e[t[o]]), (i[o] = r[t[o]])); - }), - (g.prototype.transform = function (t, e, r, n, i, a) { - this.permute(a, t, e, r, n, i); - for (var o = 1; o < i; o <<= 1) - for ( - var s = o << 1, - l = Math.cos((2 * Math.PI) / s), - c = Math.sin((2 * Math.PI) / s), - u = 0; - u < i; - u += s - ) - for (var f = l, h = c, p = 0; p < o; p++) { - var d = r[u + p], - g = n[u + p], - m = r[u + p + o], - v = n[u + p + o], - y = f * m - h * v; - ((v = f * v + h * m), - (m = y), - (r[u + p] = d + m), - (n[u + p] = g + v), - (r[u + p + o] = d - m), - (n[u + p + o] = g - v), - p !== s && ((y = l * f - c * h), (h = l * h + c * f), (f = y))); - } - }), - (g.prototype.guessLen13b = function (t, e) { - var r = 1 | Math.max(e, t), - n = 1 & r, - i = 0; - for (r = (r / 2) | 0; r; r >>>= 1) i++; - return 1 << (i + 1 + n); - }), - (g.prototype.conjugate = function (t, e, r) { - if (!(r <= 1)) - for (var n = 0; n < r / 2; n++) { - var i = t[n]; - ((t[n] = t[r - n - 1]), - (t[r - n - 1] = i), - (i = e[n]), - (e[n] = -e[r - n - 1]), - (e[r - n - 1] = -i)); - } - }), - (g.prototype.normalize13b = function (t, e) { - for (var r = 0, n = 0; n < e / 2; n++) { - var i = - 8192 * Math.round(t[2 * n + 1] / e) + Math.round(t[2 * n] / e) + r; - ((t[n] = 67108863 & i), (r = i < 67108864 ? 0 : (i / 67108864) | 0)); - } - return t; - }), - (g.prototype.convert13b = function (t, e, r, i) { - for (var a = 0, o = 0; o < e; o++) - ((a += 0 | t[o]), - (r[2 * o] = 8191 & a), - (a >>>= 13), - (r[2 * o + 1] = 8191 & a), - (a >>>= 13)); - for (o = 2 * e; o < i; ++o) r[o] = 0; - (n(0 === a), n(0 == (-8192 & a))); - }), - (g.prototype.stub = function (t) { - for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0; - return e; - }), - (g.prototype.mulp = function (t, e, r) { - var n = 2 * this.guessLen13b(t.length, e.length), - i = this.makeRBT(n), - a = this.stub(n), - o = new Array(n), - s = new Array(n), - l = new Array(n), - c = new Array(n), - u = new Array(n), - f = new Array(n), - h = r.words; - ((h.length = n), - this.convert13b(t.words, t.length, o, n), - this.convert13b(e.words, e.length, c, n), - this.transform(o, a, s, l, n, i), - this.transform(c, a, u, f, n, i)); - for (var p = 0; p < n; p++) { - var d = s[p] * u[p] - l[p] * f[p]; - ((l[p] = s[p] * f[p] + l[p] * u[p]), (s[p] = d)); - } - return ( - this.conjugate(s, l, n), - this.transform(s, l, h, a, n, i), - this.conjugate(h, a, n), - this.normalize13b(h, n), - (r.negative = t.negative ^ e.negative), - (r.length = t.length + e.length), - r.strip() - ); - }), - (a.prototype.mul = function (t) { - var e = new a(null); - return ( - (e.words = new Array(this.length + t.length)), - this.mulTo(t, e) - ); - }), - (a.prototype.mulf = function (t) { - var e = new a(null); - return ((e.words = new Array(this.length + t.length)), d(this, t, e)); - }), - (a.prototype.imul = function (t) { - return this.clone().mulTo(t, this); - }), - (a.prototype.imuln = function (t) { - (n("number" == typeof t), n(t < 67108864)); - for (var e = 0, r = 0; r < this.length; r++) { - var i = (0 | this.words[r]) * t, - a = (67108863 & i) + (67108863 & e); - ((e >>= 26), - (e += (i / 67108864) | 0), - (e += a >>> 26), - (this.words[r] = 67108863 & a)); - } - return (0 !== e && ((this.words[r] = e), this.length++), this); - }), - (a.prototype.muln = function (t) { - return this.clone().imuln(t); - }), - (a.prototype.sqr = function () { - return this.mul(this); - }), - (a.prototype.isqr = function () { - return this.imul(this.clone()); - }), - (a.prototype.pow = function (t) { - var e = (function (t) { - for (var e = new Array(t.bitLength()), r = 0; r < e.length; r++) { - var n = (r / 26) | 0, - i = r % 26; - e[r] = (t.words[n] & (1 << i)) >>> i; - } - return e; - })(t); - if (0 === e.length) return new a(1); - for (var r = this, n = 0; n < e.length && 0 === e[n]; n++, r = r.sqr()); - if (++n < e.length) - for (var i = r.sqr(); n < e.length; n++, i = i.sqr()) - 0 !== e[n] && (r = r.mul(i)); - return r; - }), - (a.prototype.iushln = function (t) { - n("number" == typeof t && t >= 0); - var e, - r = t % 26, - i = (t - r) / 26, - a = (67108863 >>> (26 - r)) << (26 - r); - if (0 !== r) { - var o = 0; - for (e = 0; e < this.length; e++) { - var s = this.words[e] & a, - l = ((0 | this.words[e]) - s) << r; - ((this.words[e] = l | o), (o = s >>> (26 - r))); - } - o && ((this.words[e] = o), this.length++); - } - if (0 !== i) { - for (e = this.length - 1; e >= 0; e--) - this.words[e + i] = this.words[e]; - for (e = 0; e < i; e++) this.words[e] = 0; - this.length += i; - } - return this.strip(); - }), - (a.prototype.ishln = function (t) { - return (n(0 === this.negative), this.iushln(t)); - }), - (a.prototype.iushrn = function (t, e, r) { - var i; - (n("number" == typeof t && t >= 0), (i = e ? (e - (e % 26)) / 26 : 0)); - var a = t % 26, - o = Math.min((t - a) / 26, this.length), - s = 67108863 ^ ((67108863 >>> a) << a), - l = r; - if (((i -= o), (i = Math.max(0, i)), l)) { - for (var c = 0; c < o; c++) l.words[c] = this.words[c]; - l.length = o; - } - if (0 === o); - else if (this.length > o) - for (this.length -= o, c = 0; c < this.length; c++) - this.words[c] = this.words[c + o]; - else ((this.words[0] = 0), (this.length = 1)); - var u = 0; - for (c = this.length - 1; c >= 0 && (0 !== u || c >= i); c--) { - var f = 0 | this.words[c]; - ((this.words[c] = (u << (26 - a)) | (f >>> a)), (u = f & s)); - } - return ( - l && 0 !== u && (l.words[l.length++] = u), - 0 === this.length && ((this.words[0] = 0), (this.length = 1)), - this.strip() - ); - }), - (a.prototype.ishrn = function (t, e, r) { - return (n(0 === this.negative), this.iushrn(t, e, r)); - }), - (a.prototype.shln = function (t) { - return this.clone().ishln(t); - }), - (a.prototype.ushln = function (t) { - return this.clone().iushln(t); - }), - (a.prototype.shrn = function (t) { - return this.clone().ishrn(t); - }), - (a.prototype.ushrn = function (t) { - return this.clone().iushrn(t); - }), - (a.prototype.testn = function (t) { - n("number" == typeof t && t >= 0); - var e = t % 26, - r = (t - e) / 26, - i = 1 << e; - return !(this.length <= r) && !!(this.words[r] & i); - }), - (a.prototype.imaskn = function (t) { - n("number" == typeof t && t >= 0); - var e = t % 26, - r = (t - e) / 26; - if ( - (n(0 === this.negative, "imaskn works only with positive numbers"), - this.length <= r) - ) - return this; - if ( - (0 !== e && r++, (this.length = Math.min(r, this.length)), 0 !== e) - ) { - var i = 67108863 ^ ((67108863 >>> e) << e); - this.words[this.length - 1] &= i; - } - return this.strip(); - }), - (a.prototype.maskn = function (t) { - return this.clone().imaskn(t); - }), - (a.prototype.iaddn = function (t) { - return ( - n("number" == typeof t), - n(t < 67108864), - t < 0 - ? this.isubn(-t) - : 0 !== this.negative - ? 1 === this.length && (0 | this.words[0]) < t - ? ((this.words[0] = t - (0 | this.words[0])), - (this.negative = 0), - this) - : ((this.negative = 0), - this.isubn(t), - (this.negative = 1), - this) - : this._iaddn(t) - ); - }), - (a.prototype._iaddn = function (t) { - this.words[0] += t; - for (var e = 0; e < this.length && this.words[e] >= 67108864; e++) - ((this.words[e] -= 67108864), - e === this.length - 1 - ? (this.words[e + 1] = 1) - : this.words[e + 1]++); - return ((this.length = Math.max(this.length, e + 1)), this); - }), - (a.prototype.isubn = function (t) { - if ((n("number" == typeof t), n(t < 67108864), t < 0)) - return this.iaddn(-t); - if (0 !== this.negative) - return ( - (this.negative = 0), - this.iaddn(t), - (this.negative = 1), - this - ); - if (((this.words[0] -= t), 1 === this.length && this.words[0] < 0)) - ((this.words[0] = -this.words[0]), (this.negative = 1)); - else - for (var e = 0; e < this.length && this.words[e] < 0; e++) - ((this.words[e] += 67108864), (this.words[e + 1] -= 1)); - return this.strip(); - }), - (a.prototype.addn = function (t) { - return this.clone().iaddn(t); - }), - (a.prototype.subn = function (t) { - return this.clone().isubn(t); - }), - (a.prototype.iabs = function () { - return ((this.negative = 0), this); - }), - (a.prototype.abs = function () { - return this.clone().iabs(); - }), - (a.prototype._ishlnsubmul = function (t, e, r) { - var i, - a, - o = t.length + r; - this._expand(o); - var s = 0; - for (i = 0; i < t.length; i++) { - a = (0 | this.words[i + r]) + s; - var l = (0 | t.words[i]) * e; - ((s = ((a -= 67108863 & l) >> 26) - ((l / 67108864) | 0)), - (this.words[i + r] = 67108863 & a)); - } - for (; i < this.length - r; i++) - ((s = (a = (0 | this.words[i + r]) + s) >> 26), - (this.words[i + r] = 67108863 & a)); - if (0 === s) return this.strip(); - for (n(-1 === s), s = 0, i = 0; i < this.length; i++) - ((s = (a = -(0 | this.words[i]) + s) >> 26), - (this.words[i] = 67108863 & a)); - return ((this.negative = 1), this.strip()); - }), - (a.prototype._wordDiv = function (t, e) { - var r = (this.length, t.length), - n = this.clone(), - i = t, - o = 0 | i.words[i.length - 1]; - 0 !== (r = 26 - this._countBits(o)) && - ((i = i.ushln(r)), n.iushln(r), (o = 0 | i.words[i.length - 1])); - var s, - l = n.length - i.length; - if ("mod" !== e) { - (((s = new a(null)).length = l + 1), (s.words = new Array(s.length))); - for (var c = 0; c < s.length; c++) s.words[c] = 0; - } - var u = n.clone()._ishlnsubmul(i, 1, l); - 0 === u.negative && ((n = u), s && (s.words[l] = 1)); - for (var f = l - 1; f >= 0; f--) { - var h = - 67108864 * (0 | n.words[i.length + f]) + - (0 | n.words[i.length + f - 1]); - for ( - h = Math.min((h / o) | 0, 67108863), n._ishlnsubmul(i, h, f); - 0 !== n.negative; - - ) - (h--, - (n.negative = 0), - n._ishlnsubmul(i, 1, f), - n.isZero() || (n.negative ^= 1)); - s && (s.words[f] = h); - } - return ( - s && s.strip(), - n.strip(), - "div" !== e && 0 !== r && n.iushrn(r), - { div: s || null, mod: n } - ); - }), - (a.prototype.divmod = function (t, e, r) { - return ( - n(!t.isZero()), - this.isZero() - ? { div: new a(0), mod: new a(0) } - : 0 !== this.negative && 0 === t.negative - ? ((s = this.neg().divmod(t, e)), - "mod" !== e && (i = s.div.neg()), - "div" !== e && - ((o = s.mod.neg()), r && 0 !== o.negative && o.iadd(t)), - { div: i, mod: o }) - : 0 === this.negative && 0 !== t.negative - ? ((s = this.divmod(t.neg(), e)), - "mod" !== e && (i = s.div.neg()), - { div: i, mod: s.mod }) - : 0 != (this.negative & t.negative) - ? ((s = this.neg().divmod(t.neg(), e)), - "div" !== e && - ((o = s.mod.neg()), r && 0 !== o.negative && o.isub(t)), - { div: s.div, mod: o }) - : t.length > this.length || this.cmp(t) < 0 - ? { div: new a(0), mod: this } - : 1 === t.length - ? "div" === e - ? { div: this.divn(t.words[0]), mod: null } - : "mod" === e - ? { div: null, mod: new a(this.modn(t.words[0])) } - : { - div: this.divn(t.words[0]), - mod: new a(this.modn(t.words[0])), - } - : this._wordDiv(t, e) - ); - var i, o, s; - }), - (a.prototype.div = function (t) { - return this.divmod(t, "div", !1).div; - }), - (a.prototype.mod = function (t) { - return this.divmod(t, "mod", !1).mod; - }), - (a.prototype.umod = function (t) { - return this.divmod(t, "mod", !0).mod; - }), - (a.prototype.divRound = function (t) { - var e = this.divmod(t); - if (e.mod.isZero()) return e.div; - var r = 0 !== e.div.negative ? e.mod.isub(t) : e.mod, - n = t.ushrn(1), - i = t.andln(1), - a = r.cmp(n); - return a < 0 || (1 === i && 0 === a) - ? e.div - : 0 !== e.div.negative - ? e.div.isubn(1) - : e.div.iaddn(1); - }), - (a.prototype.modn = function (t) { - n(t <= 67108863); - for (var e = (1 << 26) % t, r = 0, i = this.length - 1; i >= 0; i--) - r = (e * r + (0 | this.words[i])) % t; - return r; - }), - (a.prototype.idivn = function (t) { - n(t <= 67108863); - for (var e = 0, r = this.length - 1; r >= 0; r--) { - var i = (0 | this.words[r]) + 67108864 * e; - ((this.words[r] = (i / t) | 0), (e = i % t)); - } - return this.strip(); - }), - (a.prototype.divn = function (t) { - return this.clone().idivn(t); - }), - (a.prototype.egcd = function (t) { - (n(0 === t.negative), n(!t.isZero())); - var e = this, - r = t.clone(); - e = 0 !== e.negative ? e.umod(t) : e.clone(); - for ( - var i = new a(1), o = new a(0), s = new a(0), l = new a(1), c = 0; - e.isEven() && r.isEven(); - - ) - (e.iushrn(1), r.iushrn(1), ++c); - for (var u = r.clone(), f = e.clone(); !e.isZero(); ) { - for (var h = 0, p = 1; 0 == (e.words[0] & p) && h < 26; ++h, p <<= 1); - if (h > 0) - for (e.iushrn(h); h-- > 0; ) - ((i.isOdd() || o.isOdd()) && (i.iadd(u), o.isub(f)), - i.iushrn(1), - o.iushrn(1)); - for (var d = 0, g = 1; 0 == (r.words[0] & g) && d < 26; ++d, g <<= 1); - if (d > 0) - for (r.iushrn(d); d-- > 0; ) - ((s.isOdd() || l.isOdd()) && (s.iadd(u), l.isub(f)), - s.iushrn(1), - l.iushrn(1)); - e.cmp(r) >= 0 - ? (e.isub(r), i.isub(s), o.isub(l)) - : (r.isub(e), s.isub(i), l.isub(o)); - } - return { a: s, b: l, gcd: r.iushln(c) }; - }), - (a.prototype._invmp = function (t) { - (n(0 === t.negative), n(!t.isZero())); - var e = this, - r = t.clone(); - e = 0 !== e.negative ? e.umod(t) : e.clone(); - for ( - var i, o = new a(1), s = new a(0), l = r.clone(); - e.cmpn(1) > 0 && r.cmpn(1) > 0; - - ) { - for (var c = 0, u = 1; 0 == (e.words[0] & u) && c < 26; ++c, u <<= 1); - if (c > 0) - for (e.iushrn(c); c-- > 0; ) (o.isOdd() && o.iadd(l), o.iushrn(1)); - for (var f = 0, h = 1; 0 == (r.words[0] & h) && f < 26; ++f, h <<= 1); - if (f > 0) - for (r.iushrn(f); f-- > 0; ) (s.isOdd() && s.iadd(l), s.iushrn(1)); - e.cmp(r) >= 0 ? (e.isub(r), o.isub(s)) : (r.isub(e), s.isub(o)); - } - return ((i = 0 === e.cmpn(1) ? o : s).cmpn(0) < 0 && i.iadd(t), i); - }), - (a.prototype.gcd = function (t) { - if (this.isZero()) return t.abs(); - if (t.isZero()) return this.abs(); - var e = this.clone(), - r = t.clone(); - ((e.negative = 0), (r.negative = 0)); - for (var n = 0; e.isEven() && r.isEven(); n++) - (e.iushrn(1), r.iushrn(1)); - for (;;) { - for (; e.isEven(); ) e.iushrn(1); - for (; r.isEven(); ) r.iushrn(1); - var i = e.cmp(r); - if (i < 0) { - var a = e; - ((e = r), (r = a)); - } else if (0 === i || 0 === r.cmpn(1)) break; - e.isub(r); - } - return r.iushln(n); - }), - (a.prototype.invm = function (t) { - return this.egcd(t).a.umod(t); - }), - (a.prototype.isEven = function () { - return 0 == (1 & this.words[0]); - }), - (a.prototype.isOdd = function () { - return 1 == (1 & this.words[0]); - }), - (a.prototype.andln = function (t) { - return this.words[0] & t; - }), - (a.prototype.bincn = function (t) { - n("number" == typeof t); - var e = t % 26, - r = (t - e) / 26, - i = 1 << e; - if (this.length <= r) - return (this._expand(r + 1), (this.words[r] |= i), this); - for (var a = i, o = r; 0 !== a && o < this.length; o++) { - var s = 0 | this.words[o]; - ((a = (s += a) >>> 26), (s &= 67108863), (this.words[o] = s)); - } - return (0 !== a && ((this.words[o] = a), this.length++), this); - }), - (a.prototype.isZero = function () { - return 1 === this.length && 0 === this.words[0]; - }), - (a.prototype.cmpn = function (t) { - var e, - r = t < 0; - if (0 !== this.negative && !r) return -1; - if (0 === this.negative && r) return 1; - if ((this.strip(), this.length > 1)) e = 1; - else { - (r && (t = -t), n(t <= 67108863, "Number is too big")); - var i = 0 | this.words[0]; - e = i === t ? 0 : i < t ? -1 : 1; - } - return 0 !== this.negative ? 0 | -e : e; - }), - (a.prototype.cmp = function (t) { - if (0 !== this.negative && 0 === t.negative) return -1; - if (0 === this.negative && 0 !== t.negative) return 1; - var e = this.ucmp(t); - return 0 !== this.negative ? 0 | -e : e; - }), - (a.prototype.ucmp = function (t) { - if (this.length > t.length) return 1; - if (this.length < t.length) return -1; - for (var e = 0, r = this.length - 1; r >= 0; r--) { - var n = 0 | this.words[r], - i = 0 | t.words[r]; - if (n !== i) { - n < i ? (e = -1) : n > i && (e = 1); - break; - } - } - return e; - }), - (a.prototype.gtn = function (t) { - return 1 === this.cmpn(t); - }), - (a.prototype.gt = function (t) { - return 1 === this.cmp(t); - }), - (a.prototype.gten = function (t) { - return this.cmpn(t) >= 0; - }), - (a.prototype.gte = function (t) { - return this.cmp(t) >= 0; - }), - (a.prototype.ltn = function (t) { - return -1 === this.cmpn(t); - }), - (a.prototype.lt = function (t) { - return -1 === this.cmp(t); - }), - (a.prototype.lten = function (t) { - return this.cmpn(t) <= 0; - }), - (a.prototype.lte = function (t) { - return this.cmp(t) <= 0; - }), - (a.prototype.eqn = function (t) { - return 0 === this.cmpn(t); - }), - (a.prototype.eq = function (t) { - return 0 === this.cmp(t); - }), - (a.red = function (t) { - return new w(t); - }), - (a.prototype.toRed = function (t) { - return ( - n(!this.red, "Already a number in reduction context"), - n(0 === this.negative, "red works only with positives"), - t.convertTo(this)._forceRed(t) - ); - }), - (a.prototype.fromRed = function () { - return ( - n(this.red, "fromRed works only with numbers in reduction context"), - this.red.convertFrom(this) - ); - }), - (a.prototype._forceRed = function (t) { - return ((this.red = t), this); - }), - (a.prototype.forceRed = function (t) { - return ( - n(!this.red, "Already a number in reduction context"), - this._forceRed(t) - ); - }), - (a.prototype.redAdd = function (t) { - return ( - n(this.red, "redAdd works only with red numbers"), - this.red.add(this, t) - ); - }), - (a.prototype.redIAdd = function (t) { - return ( - n(this.red, "redIAdd works only with red numbers"), - this.red.iadd(this, t) - ); - }), - (a.prototype.redSub = function (t) { - return ( - n(this.red, "redSub works only with red numbers"), - this.red.sub(this, t) - ); - }), - (a.prototype.redISub = function (t) { - return ( - n(this.red, "redISub works only with red numbers"), - this.red.isub(this, t) - ); - }), - (a.prototype.redShl = function (t) { - return ( - n(this.red, "redShl works only with red numbers"), - this.red.shl(this, t) - ); - }), - (a.prototype.redMul = function (t) { - return ( - n(this.red, "redMul works only with red numbers"), - this.red._verify2(this, t), - this.red.mul(this, t) - ); - }), - (a.prototype.redIMul = function (t) { - return ( - n(this.red, "redMul works only with red numbers"), - this.red._verify2(this, t), - this.red.imul(this, t) - ); - }), - (a.prototype.redSqr = function () { - return ( - n(this.red, "redSqr works only with red numbers"), - this.red._verify1(this), - this.red.sqr(this) - ); - }), - (a.prototype.redISqr = function () { - return ( - n(this.red, "redISqr works only with red numbers"), - this.red._verify1(this), - this.red.isqr(this) - ); - }), - (a.prototype.redSqrt = function () { - return ( - n(this.red, "redSqrt works only with red numbers"), - this.red._verify1(this), - this.red.sqrt(this) - ); - }), - (a.prototype.redInvm = function () { - return ( - n(this.red, "redInvm works only with red numbers"), - this.red._verify1(this), - this.red.invm(this) - ); - }), - (a.prototype.redNeg = function () { - return ( - n(this.red, "redNeg works only with red numbers"), - this.red._verify1(this), - this.red.neg(this) - ); - }), - (a.prototype.redPow = function (t) { - return ( - n(this.red && !t.red, "redPow(normalNum)"), - this.red._verify1(this), - this.red.pow(this, t) - ); - })); - var m = { k256: null, p224: null, p192: null, p25519: null }; - function v(t, e) { - ((this.name = t), - (this.p = new a(e, 16)), - (this.n = this.p.bitLength()), - (this.k = new a(1).iushln(this.n).isub(this.p)), - (this.tmp = this._tmp())); - } - function y() { - v.call( - this, - "k256", - "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", - ); - } - function x() { - v.call( - this, - "p224", - "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", - ); - } - function b() { - v.call( - this, - "p192", - "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", - ); - } - function _() { - v.call( - this, - "25519", - "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", - ); - } - function w(t) { - if ("string" == typeof t) { - var e = a._prime(t); - ((this.m = e.p), (this.prime = e)); - } else - (n(t.gtn(1), "modulus must be greater than 1"), - (this.m = t), - (this.prime = null)); - } - function k(t) { - (w.call(this, t), - (this.shift = this.m.bitLength()), - this.shift % 26 != 0 && (this.shift += 26 - (this.shift % 26)), - (this.r = new a(1).iushln(this.shift)), - (this.r2 = this.imod(this.r.sqr())), - (this.rinv = this.r._invmp(this.m)), - (this.minv = this.rinv.mul(this.r).isubn(1).div(this.m)), - (this.minv = this.minv.umod(this.r)), - (this.minv = this.r.sub(this.minv))); - } - ((v.prototype._tmp = function () { - var t = new a(null); - return ((t.words = new Array(Math.ceil(this.n / 13))), t); - }), - (v.prototype.ireduce = function (t) { - var e, - r = t; - do { - (this.split(r, this.tmp), - (e = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength())); - } while (e > this.n); - var n = e < this.n ? -1 : r.ucmp(this.p); - return ( - 0 === n - ? ((r.words[0] = 0), (r.length = 1)) - : n > 0 - ? r.isub(this.p) - : r.strip(), - r - ); - }), - (v.prototype.split = function (t, e) { - t.iushrn(this.n, 0, e); - }), - (v.prototype.imulK = function (t) { - return t.imul(this.k); - }), - i(y, v), - (y.prototype.split = function (t, e) { - for (var r = Math.min(t.length, 9), n = 0; n < r; n++) - e.words[n] = t.words[n]; - if (((e.length = r), t.length <= 9)) - return ((t.words[0] = 0), void (t.length = 1)); - var i = t.words[9]; - for (e.words[e.length++] = 4194303 & i, n = 10; n < t.length; n++) { - var a = 0 | t.words[n]; - ((t.words[n - 10] = ((4194303 & a) << 4) | (i >>> 22)), (i = a)); - } - ((i >>>= 22), - (t.words[n - 10] = i), - 0 === i && t.length > 10 ? (t.length -= 10) : (t.length -= 9)); - }), - (y.prototype.imulK = function (t) { - ((t.words[t.length] = 0), (t.words[t.length + 1] = 0), (t.length += 2)); - for (var e = 0, r = 0; r < t.length; r++) { - var n = 0 | t.words[r]; - ((e += 977 * n), - (t.words[r] = 67108863 & e), - (e = 64 * n + ((e / 67108864) | 0))); - } - return ( - 0 === t.words[t.length - 1] && - (t.length--, 0 === t.words[t.length - 1] && t.length--), - t - ); - }), - i(x, v), - i(b, v), - i(_, v), - (_.prototype.imulK = function (t) { - for (var e = 0, r = 0; r < t.length; r++) { - var n = 19 * (0 | t.words[r]) + e, - i = 67108863 & n; - ((n >>>= 26), (t.words[r] = i), (e = n)); - } - return (0 !== e && (t.words[t.length++] = e), t); - }), - (a._prime = function (t) { - if (m[t]) return m[t]; - var e; - if ("k256" === t) e = new y(); - else if ("p224" === t) e = new x(); - else if ("p192" === t) e = new b(); - else { - if ("p25519" !== t) throw new Error("Unknown prime " + t); - e = new _(); - } - return ((m[t] = e), e); - }), - (w.prototype._verify1 = function (t) { - (n(0 === t.negative, "red works only with positives"), - n(t.red, "red works only with red numbers")); - }), - (w.prototype._verify2 = function (t, e) { - (n(0 == (t.negative | e.negative), "red works only with positives"), - n(t.red && t.red === e.red, "red works only with red numbers")); - }), - (w.prototype.imod = function (t) { - return this.prime - ? this.prime.ireduce(t)._forceRed(this) - : t.umod(this.m)._forceRed(this); - }), - (w.prototype.neg = function (t) { - return t.isZero() ? t.clone() : this.m.sub(t)._forceRed(this); - }), - (w.prototype.add = function (t, e) { - this._verify2(t, e); - var r = t.add(e); - return (r.cmp(this.m) >= 0 && r.isub(this.m), r._forceRed(this)); - }), - (w.prototype.iadd = function (t, e) { - this._verify2(t, e); - var r = t.iadd(e); - return (r.cmp(this.m) >= 0 && r.isub(this.m), r); - }), - (w.prototype.sub = function (t, e) { - this._verify2(t, e); - var r = t.sub(e); - return (r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this)); - }), - (w.prototype.isub = function (t, e) { - this._verify2(t, e); - var r = t.isub(e); - return (r.cmpn(0) < 0 && r.iadd(this.m), r); - }), - (w.prototype.shl = function (t, e) { - return (this._verify1(t), this.imod(t.ushln(e))); - }), - (w.prototype.imul = function (t, e) { - return (this._verify2(t, e), this.imod(t.imul(e))); - }), - (w.prototype.mul = function (t, e) { - return (this._verify2(t, e), this.imod(t.mul(e))); - }), - (w.prototype.isqr = function (t) { - return this.imul(t, t.clone()); - }), - (w.prototype.sqr = function (t) { - return this.mul(t, t); - }), - (w.prototype.sqrt = function (t) { - if (t.isZero()) return t.clone(); - var e = this.m.andln(3); - if ((n(e % 2 == 1), 3 === e)) { - var r = this.m.add(new a(1)).iushrn(2); - return this.pow(t, r); - } - for (var i = this.m.subn(1), o = 0; !i.isZero() && 0 === i.andln(1); ) - (o++, i.iushrn(1)); - n(!i.isZero()); - var s = new a(1).toRed(this), - l = s.redNeg(), - c = this.m.subn(1).iushrn(1), - u = this.m.bitLength(); - for (u = new a(2 * u * u).toRed(this); 0 !== this.pow(u, c).cmp(l); ) - u.redIAdd(l); - for ( - var f = this.pow(u, i), - h = this.pow(t, i.addn(1).iushrn(1)), - p = this.pow(t, i), - d = o; - 0 !== p.cmp(s); - - ) { - for (var g = p, m = 0; 0 !== g.cmp(s); m++) g = g.redSqr(); - n(m < d); - var v = this.pow(f, new a(1).iushln(d - m - 1)); - ((h = h.redMul(v)), (f = v.redSqr()), (p = p.redMul(f)), (d = m)); - } - return h; - }), - (w.prototype.invm = function (t) { - var e = t._invmp(this.m); - return 0 !== e.negative - ? ((e.negative = 0), this.imod(e).redNeg()) - : this.imod(e); - }), - (w.prototype.pow = function (t, e) { - if (e.isZero()) return new a(1).toRed(this); - if (0 === e.cmpn(1)) return t.clone(); - var r = new Array(16); - ((r[0] = new a(1).toRed(this)), (r[1] = t)); - for (var n = 2; n < r.length; n++) r[n] = this.mul(r[n - 1], t); - var i = r[0], - o = 0, - s = 0, - l = e.bitLength() % 26; - for (0 === l && (l = 26), n = e.length - 1; n >= 0; n--) { - for (var c = e.words[n], u = l - 1; u >= 0; u--) { - var f = (c >> u) & 1; - (i !== r[0] && (i = this.sqr(i)), - 0 !== f || 0 !== o - ? ((o <<= 1), - (o |= f), - (4 === ++s || (0 === n && 0 === u)) && - ((i = this.mul(i, r[o])), (s = 0), (o = 0))) - : (s = 0)); - } - l = 26; - } - return i; - }), - (w.prototype.convertTo = function (t) { - var e = t.umod(this.m); - return e === t ? e.clone() : e; - }), - (w.prototype.convertFrom = function (t) { - var e = t.clone(); - return ((e.red = null), e); - }), - (a.mont = function (t) { - return new k(t); - }), - i(k, w), - (k.prototype.convertTo = function (t) { - return this.imod(t.ushln(this.shift)); - }), - (k.prototype.convertFrom = function (t) { - var e = this.imod(t.mul(this.rinv)); - return ((e.red = null), e); - }), - (k.prototype.imul = function (t, e) { - if (t.isZero() || e.isZero()) - return ((t.words[0] = 0), (t.length = 1), t); - var r = t.imul(e), - n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), - i = r.isub(n).iushrn(this.shift), - a = i; - return ( - i.cmp(this.m) >= 0 - ? (a = i.isub(this.m)) - : i.cmpn(0) < 0 && (a = i.iadd(this.m)), - a._forceRed(this) - ); - }), - (k.prototype.mul = function (t, e) { - if (t.isZero() || e.isZero()) return new a(0)._forceRed(this); - var r = t.mul(e), - n = r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), - i = r.isub(n).iushrn(this.shift), - o = i; - return ( - i.cmp(this.m) >= 0 - ? (o = i.isub(this.m)) - : i.cmpn(0) < 0 && (o = i.iadd(this.m)), - o._forceRed(this) - ); - }), - (k.prototype.invm = function (t) { - return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this); - })); - })(void 0 === e || e, this); - }, - { buffer: 84 }, - ], - 76: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e, - r, - n, - i = t.length, - a = 0; - for (e = 0; e < i; ++e) a += t[e].length; - var o = new Array(a), - s = 0; - for (e = 0; e < i; ++e) { - var l = t[e], - c = l.length; - for (r = 0; r < c; ++r) { - var u = (o[s++] = new Array(c - 1)), - f = 0; - for (n = 0; n < c; ++n) n !== r && (u[f++] = l[n]); - if (1 & r) { - var h = u[1]; - ((u[1] = u[0]), (u[0] = h)); - } - } - } - return o; - }; - }, - {}, - ], - 77: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - switch (arguments.length) { - case 1: - return ((n = []), c((i = t), i, u, !0), n); - case 2: - return "function" == typeof e - ? c(t, t, e, !0) - : (function (t, e) { - return ((n = []), c(t, e, u, !1), n); - })(t, e); - case 3: - return c(t, e, r, !1); - default: - throw new Error("box-intersect: Invalid arguments"); - } - var i; - }; - var n, - i = t("typedarray-pool"), - a = t("./lib/sweep"), - o = t("./lib/intersect"); - function s(t, e) { - for (var r = 0; r < t; ++r) if (!(e[r] <= e[r + t])) return !0; - return !1; - } - function l(t, e, r, n) { - for (var i = 0, a = 0, o = 0, l = t.length; o < l; ++o) { - var c = t[o]; - if (!s(e, c)) { - for (var u = 0; u < 2 * e; ++u) r[i++] = c[u]; - n[a++] = o; - } - } - return a; - } - function c(t, e, r, n) { - var s = t.length, - c = e.length; - if (!(s <= 0 || c <= 0)) { - var u = t[0].length >>> 1; - if (!(u <= 0)) { - var f, - h = i.mallocDouble(2 * u * s), - p = i.mallocInt32(s); - if ((s = l(t, u, h, p)) > 0) { - if (1 === u && n) - (a.init(s), (f = a.sweepComplete(u, r, 0, s, h, p, 0, s, h, p))); - else { - var d = i.mallocDouble(2 * u * c), - g = i.mallocInt32(c); - (c = l(e, u, d, g)) > 0 && - (a.init(s + c), - (f = - 1 === u - ? a.sweepBipartite(u, r, 0, s, h, p, 0, c, d, g) - : o(u, r, n, s, h, p, c, d, g)), - i.free(d), - i.free(g)); - } - (i.free(h), i.free(p)); - } - return f; - } - } - } - function u(t, e) { - n.push([t, e]); - } - }, - { "./lib/intersect": 79, "./lib/sweep": 83, "typedarray-pool": 423 }, - ], - 78: [ - function (t, e, r) { - "use strict"; - var n = "d", - i = "ax", - a = "vv", - o = "fp", - s = "es", - l = "rs", - c = "re", - u = "rb", - f = "ri", - h = "rp", - p = "bs", - d = "be", - g = "bb", - m = "bi", - v = "bp", - y = "rv", - x = "Q", - b = [n, i, a, l, c, u, f, p, d, g, m]; - function _(t) { - var e = "bruteForce" + (t ? "Full" : "Partial"), - r = [], - _ = b.slice(); - t || _.splice(3, 0, o); - var w = ["function " + e + "(" + _.join() + "){"]; - function k(e, o) { - var _ = (function (t, e, r) { - var o = - "bruteForce" + - (t ? "Red" : "Blue") + - (e ? "Flip" : "") + - (r ? "Full" : ""), - _ = ["function ", o, "(", b.join(), "){", "var ", s, "=2*", n, ";"], - w = - "for(var i=" + - l + - "," + - h + - "=" + - s + - "*" + - l + - ";i<" + - c + - ";++i," + - h + - "+=" + - s + - "){var x0=" + - u + - "[" + - i + - "+" + - h + - "],x1=" + - u + - "[" + - i + - "+" + - h + - "+" + - n + - "],xi=" + - f + - "[i];", - k = - "for(var j=" + - p + - "," + - v + - "=" + - s + - "*" + - p + - ";j<" + - d + - ";++j," + - v + - "+=" + - s + - "){var y0=" + - g + - "[" + - i + - "+" + - v + - "]," + - (r ? "y1=" + g + "[" + i + "+" + v + "+" + n + "]," : "") + - "yi=" + - m + - "[j];"; - return ( - t ? _.push(w, x, ":", k) : _.push(k, x, ":", w), - r - ? _.push("if(y1" + d + "-" + p + "){"), - t - ? (k(!0, !1), w.push("}else{"), k(!1, !1)) - : (w.push("if(" + o + "){"), - k(!0, !0), - w.push("}else{"), - k(!0, !1), - w.push("}}else{if(" + o + "){"), - k(!1, !0), - w.push("}else{"), - k(!1, !1), - w.push("}")), - w.push("}}return " + e)); - var M = r.join("") + w.join(""); - return new Function(M)(); - } - ((r.partial = _(!1)), (r.full = _(!0))); - }, - {}, - ], - 79: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, a, u, S, C, E, L) { - !(function (t, e) { - var r = (8 * i.log2(e + 1) * (t + 1)) | 0, - a = i.nextPow2(b * r); - w.length < a && (n.free(w), (w = n.mallocInt32(a))); - var o = i.nextPow2(_ * r); - k < o && (n.free(k), (k = n.mallocDouble(o))); - })(t, a + C); - var z, - P = 0, - D = 2 * t; - (M(P++, 0, 0, a, 0, C, r ? 16 : 0, -1 / 0, 1 / 0), - r || M(P++, 0, 0, C, 0, a, 1, -1 / 0, 1 / 0)); - for (; P > 0; ) { - var O = (P -= 1) * b, - I = w[O], - R = w[O + 1], - B = w[O + 2], - F = w[O + 3], - N = w[O + 4], - j = w[O + 5], - V = P * _, - U = k[V], - q = k[V + 1], - H = 1 & j, - G = !!(16 & j), - W = u, - Y = S, - X = E, - Z = L; - if ( - (H && ((W = E), (Y = L), (X = u), (Z = S)), - !( - (2 & j && ((B = m(t, I, R, B, W, Y, q)), R >= B)) || - (4 & j && (R = v(t, I, R, B, W, Y, U)) >= B) - )) - ) { - var J = B - R, - K = N - F; - if (G) { - if (t * J * (J + K) < p) { - if ( - void 0 !== (z = l.scanComplete(t, I, e, R, B, W, Y, F, N, X, Z)) - ) - return z; - continue; - } - } else { - if (t * Math.min(J, K) < f) { - if (void 0 !== (z = o(t, I, e, H, R, B, W, Y, F, N, X, Z))) - return z; - continue; - } - if (t * J * K < h) { - if ( - void 0 !== - (z = l.scanBipartite(t, I, e, H, R, B, W, Y, F, N, X, Z)) - ) - return z; - continue; - } - } - var Q = d(t, I, R, B, W, Y, U, q); - if (R < Q) - if (t * (Q - R) < f) { - if (void 0 !== (z = s(t, I + 1, e, R, Q, W, Y, F, N, X, Z))) - return z; - } else if (I === t - 2) { - if ( - void 0 !== - (z = H - ? l.sweepBipartite(t, e, F, N, X, Z, R, Q, W, Y) - : l.sweepBipartite(t, e, R, Q, W, Y, F, N, X, Z)) - ) - return z; - } else - (M(P++, I + 1, R, Q, F, N, H, -1 / 0, 1 / 0), - M(P++, I + 1, F, N, R, Q, 1 ^ H, -1 / 0, 1 / 0)); - if (Q < B) { - var $ = c(t, I, F, N, X, Z), - tt = X[D * $ + I], - et = g(t, I, $, N, X, Z, tt); - if ( - (et < N && M(P++, I, Q, B, et, N, (4 | H) + (G ? 16 : 0), tt, q), - F < $ && M(P++, I, Q, B, F, $, (2 | H) + (G ? 16 : 0), U, tt), - $ + 1 === et) - ) { - if ( - void 0 !== - (z = G - ? T(t, I, e, Q, B, W, Y, $, X, Z[$]) - : A(t, I, e, H, Q, B, W, Y, $, X, Z[$])) - ) - return z; - } else if ($ < et) { - var rt; - if (G) { - if (((rt = y(t, I, Q, B, W, Y, tt)), Q < rt)) { - var nt = g(t, I, Q, rt, W, Y, tt); - if (I === t - 2) { - if ( - Q < nt && - void 0 !== - (z = l.sweepComplete(t, e, Q, nt, W, Y, $, et, X, Z)) - ) - return z; - if ( - nt < rt && - void 0 !== - (z = l.sweepBipartite(t, e, nt, rt, W, Y, $, et, X, Z)) - ) - return z; - } else - (Q < nt && M(P++, I + 1, Q, nt, $, et, 16, -1 / 0, 1 / 0), - nt < rt && - (M(P++, I + 1, nt, rt, $, et, 0, -1 / 0, 1 / 0), - M(P++, I + 1, $, et, nt, rt, 1, -1 / 0, 1 / 0))); - } - } else - ((rt = H ? x(t, I, Q, B, W, Y, tt) : y(t, I, Q, B, W, Y, tt)), - Q < rt && - (I === t - 2 - ? (z = H - ? l.sweepBipartite(t, e, $, et, X, Z, Q, rt, W, Y) - : l.sweepBipartite(t, e, Q, rt, W, Y, $, et, X, Z)) - : (M(P++, I + 1, Q, rt, $, et, H, -1 / 0, 1 / 0), - M(P++, I + 1, $, et, Q, rt, 1 ^ H, -1 / 0, 1 / 0)))); - } - } - } - } - }; - var n = t("typedarray-pool"), - i = t("bit-twiddle"), - a = t("./brute"), - o = a.partial, - s = a.full, - l = t("./sweep"), - c = t("./median"), - u = t("./partition"), - f = 128, - h = 1 << 22, - p = 1 << 22, - d = u("!(lo>=p0)&&!(p1>=hi)", ["p0", "p1"]), - g = u("lo===p0", ["p0"]), - m = u("lo>> 1, - h = 2 * t, - p = f, - d = s[h * f + e]; - for (; c < u; ) { - if (u - c < i) { - (a(t, e, c, u, s, l), (d = s[h * f + e])); - break; - } - var g = u - c, - m = (Math.random() * g + c) | 0, - v = s[h * m + e], - y = (Math.random() * g + c) | 0, - x = s[h * y + e], - b = (Math.random() * g + c) | 0, - _ = s[h * b + e]; - v <= x - ? _ >= x - ? ((p = y), (d = x)) - : v >= _ - ? ((p = m), (d = v)) - : ((p = b), (d = _)) - : x >= _ - ? ((p = y), (d = x)) - : _ >= v - ? ((p = m), (d = v)) - : ((p = b), (d = _)); - for (var w = h * (u - 1), k = h * p, M = 0; M < h; ++M, ++w, ++k) { - var A = s[w]; - ((s[w] = s[k]), (s[k] = A)); - } - var T = l[u - 1]; - ((l[u - 1] = l[p]), (l[p] = T), (p = n(t, e, c, u - 1, s, l, d))); - for (var w = h * (u - 1), k = h * p, M = 0; M < h; ++M, ++w, ++k) { - var A = s[w]; - ((s[w] = s[k]), (s[k] = A)); - } - var T = l[u - 1]; - if (((l[u - 1] = l[p]), (l[p] = T), f < p)) { - for (u = p - 1; c < u && s[h * (u - 1) + e] === d; ) u -= 1; - u += 1; - } else { - if (!(p < f)) break; - for (c = p + 1; c < u && s[h * c + e] === d; ) c += 1; - } - } - return n(t, e, r, f, s, l, s[h * f + e]); - }; - var n = t("./partition")("lo r && i[f + e] > c; - --u, f -= o - ) { - for (var h = f, p = f + o, d = 0; d < o; ++d, ++h, ++p) { - var g = i[h]; - ((i[h] = i[p]), (i[p] = g)); - } - var m = a[u]; - ((a[u] = a[u - 1]), (a[u - 1] = m)); - } - } - }, - { "./partition": 81 }, - ], - 81: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = "abcdef".split("").concat(e), - i = []; - t.indexOf("lo") >= 0 && i.push("lo=e[k+n]"); - t.indexOf("hi") >= 0 && i.push("hi=e[k+o]"); - return ( - r.push(n.replace("_", i.join()).replace("$", t)), - Function.apply(void 0, r) - ); - }; - var n = - "for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"; - }, - {}, - ], - 82: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - e <= 4 * n - ? i(0, e - 1, t) - : (function t(e, r, f) { - var h = ((r - e + 1) / 6) | 0, - p = e + h, - d = r - h, - g = (e + r) >> 1, - m = g - h, - v = g + h, - y = p, - x = m, - b = g, - _ = v, - w = d, - k = e + 1, - M = r - 1, - A = 0; - c(y, x, f) && ((A = y), (y = x), (x = A)); - c(_, w, f) && ((A = _), (_ = w), (w = A)); - c(y, b, f) && ((A = y), (y = b), (b = A)); - c(x, b, f) && ((A = x), (x = b), (b = A)); - c(y, _, f) && ((A = y), (y = _), (_ = A)); - c(b, _, f) && ((A = b), (b = _), (_ = A)); - c(x, w, f) && ((A = x), (x = w), (w = A)); - c(x, b, f) && ((A = x), (x = b), (b = A)); - c(_, w, f) && ((A = _), (_ = w), (w = A)); - var T = f[2 * x]; - var S = f[2 * x + 1]; - var C = f[2 * _]; - var E = f[2 * _ + 1]; - var L = 2 * y; - var z = 2 * b; - var P = 2 * w; - var D = 2 * p; - var O = 2 * g; - var I = 2 * d; - for (var R = 0; R < 2; ++R) { - var B = f[L + R], - F = f[z + R], - N = f[P + R]; - ((f[D + R] = B), (f[O + R] = F), (f[I + R] = N)); - } - o(m, e, f); - o(v, r, f); - for (var j = k; j <= M; ++j) - if (u(j, T, S, f)) (j !== k && a(j, k, f), ++k); - else if (!u(j, C, E, f)) - for (;;) { - if (u(M, C, E, f)) { - u(M, T, S, f) ? (s(j, k, M, f), ++k, --M) : (a(j, M, f), --M); - break; - } - if (--M < j) break; - } - l(e, k - 1, T, S, f); - l(r, M + 1, C, E, f); - k - 2 - e <= n ? i(e, k - 2, f) : t(e, k - 2, f); - r - (M + 2) <= n ? i(M + 2, r, f) : t(M + 2, r, f); - M - k <= n ? i(k, M, f) : t(k, M, f); - })(0, e - 1, t); - }; - var n = 32; - function i(t, e, r) { - for (var n = 2 * (t + 1), i = t + 1; i <= e; ++i) { - for (var a = r[n++], o = r[n++], s = i, l = n - 2; s-- > t; ) { - var c = r[l - 2], - u = r[l - 1]; - if (c < a) break; - if (c === a && u < o) break; - ((r[l] = c), (r[l + 1] = u), (l -= 2)); - } - ((r[l] = a), (r[l + 1] = o)); - } - } - function a(t, e, r) { - e *= 2; - var n = r[(t *= 2)], - i = r[t + 1]; - ((r[t] = r[e]), (r[t + 1] = r[e + 1]), (r[e] = n), (r[e + 1] = i)); - } - function o(t, e, r) { - ((e *= 2), (r[(t *= 2)] = r[e]), (r[t + 1] = r[e + 1])); - } - function s(t, e, r, n) { - ((e *= 2), (r *= 2)); - var i = n[(t *= 2)], - a = n[t + 1]; - ((n[t] = n[e]), - (n[t + 1] = n[e + 1]), - (n[e] = n[r]), - (n[e + 1] = n[r + 1]), - (n[r] = i), - (n[r + 1] = a)); - } - function l(t, e, r, n, i) { - ((e *= 2), - (i[(t *= 2)] = i[e]), - (i[e] = r), - (i[t + 1] = i[e + 1]), - (i[e + 1] = n)); - } - function c(t, e, r) { - e *= 2; - var n = r[(t *= 2)], - i = r[e]; - return !(n < i) && (n !== i || r[t + 1] > r[e + 1]); - } - function u(t, e, r, n) { - var i = n[(t *= 2)]; - return i < e || (i === e && n[t + 1] < r); - } - }, - {}, - ], - 83: [ - function (t, e, r) { - "use strict"; - e.exports = { - init: function (t) { - var e = i.nextPow2(t); - s.length < e && (n.free(s), (s = n.mallocInt32(e))); - l.length < e && (n.free(l), (l = n.mallocInt32(e))); - c.length < e && (n.free(c), (c = n.mallocInt32(e))); - u.length < e && (n.free(u), (u = n.mallocInt32(e))); - f.length < e && (n.free(f), (f = n.mallocInt32(e))); - h.length < e && (n.free(h), (h = n.mallocInt32(e))); - var r = 8 * e; - p.length < r && (n.free(p), (p = n.mallocDouble(r))); - }, - sweepBipartite: function (t, e, r, n, i, f, h, m, v, y) { - for (var x = 0, b = 2 * t, _ = t - 1, w = b - 1, k = r; k < n; ++k) { - var M = f[k], - A = b * k; - ((p[x++] = i[A + _]), - (p[x++] = -(M + 1)), - (p[x++] = i[A + w]), - (p[x++] = M)); - } - for (var k = h; k < m; ++k) { - var M = y[k] + o, - T = b * k; - ((p[x++] = v[T + _]), (p[x++] = -M), (p[x++] = v[T + w]), (p[x++] = M)); - } - var S = x >>> 1; - a(p, S); - for (var C = 0, E = 0, k = 0; k < S; ++k) { - var L = 0 | p[2 * k + 1]; - if (L >= o) d(c, u, E--, (L = (L - o) | 0)); - else if (L >= 0) d(s, l, C--, L); - else if (L <= -o) { - L = (-L - o) | 0; - for (var z = 0; z < C; ++z) { - var P = e(s[z], L); - if (void 0 !== P) return P; - } - g(c, u, E++, L); - } else { - L = (-L - 1) | 0; - for (var z = 0; z < E; ++z) { - var P = e(L, c[z]); - if (void 0 !== P) return P; - } - g(s, l, C++, L); - } - } - }, - sweepComplete: function (t, e, r, n, i, o, m, v, y, x) { - for (var b = 0, _ = 2 * t, w = t - 1, k = _ - 1, M = r; M < n; ++M) { - var A = (o[M] + 1) << 1, - T = _ * M; - ((p[b++] = i[T + w]), (p[b++] = -A), (p[b++] = i[T + k]), (p[b++] = A)); - } - for (var M = m; M < v; ++M) { - var A = (x[M] + 1) << 1, - S = _ * M; - ((p[b++] = y[S + w]), - (p[b++] = 1 | -A), - (p[b++] = y[S + k]), - (p[b++] = 1 | A)); - } - var C = b >>> 1; - a(p, C); - for (var E = 0, L = 0, z = 0, M = 0; M < C; ++M) { - var P = 0 | p[2 * M + 1], - D = 1 & P; - if ( - (M < C - 1 && P >> 1 == p[2 * M + 3] >> 1 && ((D = 2), (M += 1)), - P < 0) - ) { - for (var O = -(P >> 1) - 1, I = 0; I < z; ++I) { - var R = e(f[I], O); - if (void 0 !== R) return R; - } - if (0 !== D) - for (var I = 0; I < E; ++I) { - var R = e(s[I], O); - if (void 0 !== R) return R; - } - if (1 !== D) - for (var I = 0; I < L; ++I) { - var R = e(c[I], O); - if (void 0 !== R) return R; - } - 0 === D - ? g(s, l, E++, O) - : 1 === D - ? g(c, u, L++, O) - : 2 === D && g(f, h, z++, O); - } else { - var O = (P >> 1) - 1; - 0 === D - ? d(s, l, E--, O) - : 1 === D - ? d(c, u, L--, O) - : 2 === D && d(f, h, z--, O); - } - } - }, - scanBipartite: function (t, e, r, n, i, c, u, f, h, m, v, y) { - var x = 0, - b = 2 * t, - _ = e, - w = e + t, - k = 1, - M = 1; - n ? (M = o) : (k = o); - for (var A = i; A < c; ++A) { - var T = A + k, - S = b * A; - ((p[x++] = u[S + _]), (p[x++] = -T), (p[x++] = u[S + w]), (p[x++] = T)); - } - for (var A = h; A < m; ++A) { - var T = A + M, - C = b * A; - ((p[x++] = v[C + _]), (p[x++] = -T)); - } - var E = x >>> 1; - a(p, E); - for (var L = 0, A = 0; A < E; ++A) { - var z = 0 | p[2 * A + 1]; - if (z < 0) { - var T = -z, - P = !1; - if ((T >= o ? ((P = !n), (T -= o)) : ((P = !!n), (T -= 1)), P)) - g(s, l, L++, T); - else { - var D = y[T], - O = b * T, - I = v[O + e + 1], - R = v[O + e + 1 + t]; - t: for (var B = 0; B < L; ++B) { - var F = s[B], - N = b * F; - if (!(R < u[N + e + 1] || u[N + e + 1 + t] < I)) { - for (var j = e + 2; j < t; ++j) - if (v[O + j + t] < u[N + j] || u[N + j + t] < v[O + j]) - continue t; - var V, - U = f[F]; - if (void 0 !== (V = n ? r(D, U) : r(U, D))) return V; - } - } - } - } else d(s, l, L--, z - k); - } - }, - scanComplete: function (t, e, r, n, i, l, c, u, f, h, d) { - for (var g = 0, m = 2 * t, v = e, y = e + t, x = n; x < i; ++x) { - var b = x + o, - _ = m * x; - ((p[g++] = l[_ + v]), (p[g++] = -b), (p[g++] = l[_ + y]), (p[g++] = b)); - } - for (var x = u; x < f; ++x) { - var b = x + 1, - w = m * x; - ((p[g++] = h[w + v]), (p[g++] = -b)); - } - var k = g >>> 1; - a(p, k); - for (var M = 0, x = 0; x < k; ++x) { - var A = 0 | p[2 * x + 1]; - if (A < 0) { - var b = -A; - if (b >= o) s[M++] = b - o; - else { - var T = d[(b -= 1)], - S = m * b, - C = h[S + e + 1], - E = h[S + e + 1 + t]; - t: for (var L = 0; L < M; ++L) { - var z = s[L], - P = c[z]; - if (P === T) break; - var D = m * z; - if (!(E < l[D + e + 1] || l[D + e + 1 + t] < C)) { - for (var O = e + 2; O < t; ++O) - if (h[S + O + t] < l[D + O] || l[D + O + t] < h[S + O]) - continue t; - var I = r(P, T); - if (void 0 !== I) return I; - } - } - } - } else { - for (var b = A - o, L = M - 1; L >= 0; --L) - if (s[L] === b) { - for (var O = L + 1; O < M; ++O) s[O - 1] = s[O]; - break; - } - --M; - } - } - }, - }; - var n = t("typedarray-pool"), - i = t("bit-twiddle"), - a = t("./sort"), - o = 1 << 28, - s = n.mallocInt32(1024), - l = n.mallocInt32(1024), - c = n.mallocInt32(1024), - u = n.mallocInt32(1024), - f = n.mallocInt32(1024), - h = n.mallocInt32(1024), - p = n.mallocDouble(8192); - function d(t, e, r, n) { - var i = e[n], - a = t[r - 1]; - ((t[i] = a), (e[a] = i)); - } - function g(t, e, r, n) { - ((t[r] = n), (e[n] = r)); - } - }, - { "./sort": 82, "bit-twiddle": 73, "typedarray-pool": 423 }, - ], - 84: [function (t, e, r) {}, {}], - 85: [ - function (t, e, r) { - "use strict"; - var n = t("base64-js"), - i = t("ieee754"); - ((r.Buffer = s), - (r.SlowBuffer = function (t) { - +t != t && (t = 0); - return s.alloc(+t); - }), - (r.INSPECT_MAX_BYTES = 50)); - var a = 2147483647; - function o(t) { - if (t > a) throw new RangeError("Invalid typed array length"); - var e = new Uint8Array(t); - return ((e.__proto__ = s.prototype), e); - } - function s(t, e, r) { - if ("number" == typeof t) { - if ("string" == typeof e) - throw new Error( - "If encoding is specified then the first argument must be a string", - ); - return u(t); - } - return l(t, e, r); - } - function l(t, e, r) { - if ("number" == typeof t) - throw new TypeError('"value" argument must not be a number'); - return j(t) || (t && j(t.buffer)) - ? (function (t, e, r) { - if (e < 0 || t.byteLength < e) - throw new RangeError('"offset" is outside of buffer bounds'); - if (t.byteLength < e + (r || 0)) - throw new RangeError('"length" is outside of buffer bounds'); - var n; - n = - void 0 === e && void 0 === r - ? new Uint8Array(t) - : void 0 === r - ? new Uint8Array(t, e) - : new Uint8Array(t, e, r); - return ((n.__proto__ = s.prototype), n); - })(t, e, r) - : "string" == typeof t - ? (function (t, e) { - ("string" == typeof e && "" !== e) || (e = "utf8"); - if (!s.isEncoding(e)) throw new TypeError("Unknown encoding: " + e); - var r = 0 | p(t, e), - n = o(r), - i = n.write(t, e); - i !== r && (n = n.slice(0, i)); - return n; - })(t, e) - : (function (t) { - if (s.isBuffer(t)) { - var e = 0 | h(t.length), - r = o(e); - return 0 === r.length ? r : (t.copy(r, 0, 0, e), r); - } - if (t) { - if (ArrayBuffer.isView(t) || "length" in t) - return "number" != typeof t.length || V(t.length) ? o(0) : f(t); - if ("Buffer" === t.type && Array.isArray(t.data)) - return f(t.data); - } - throw new TypeError( - "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.", - ); - })(t); - } - function c(t) { - if ("number" != typeof t) - throw new TypeError('"size" argument must be of type number'); - if (t < 0) throw new RangeError('"size" argument must not be negative'); - } - function u(t) { - return (c(t), o(t < 0 ? 0 : 0 | h(t))); - } - function f(t) { - for ( - var e = t.length < 0 ? 0 : 0 | h(t.length), r = o(e), n = 0; - n < e; - n += 1 - ) - r[n] = 255 & t[n]; - return r; - } - function h(t) { - if (t >= a) - throw new RangeError( - "Attempt to allocate Buffer larger than maximum size: 0x" + - a.toString(16) + - " bytes", - ); - return 0 | t; - } - function p(t, e) { - if (s.isBuffer(t)) return t.length; - if (ArrayBuffer.isView(t) || j(t)) return t.byteLength; - "string" != typeof t && (t = "" + t); - var r = t.length; - if (0 === r) return 0; - for (var n = !1; ; ) - switch (e) { - case "ascii": - case "latin1": - case "binary": - return r; - case "utf8": - case "utf-8": - case void 0: - return B(t).length; - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return 2 * r; - case "hex": - return r >>> 1; - case "base64": - return F(t).length; - default: - if (n) return B(t).length; - ((e = ("" + e).toLowerCase()), (n = !0)); - } - } - function d(t, e, r) { - var n = t[e]; - ((t[e] = t[r]), (t[r] = n)); - } - function g(t, e, r, n, i) { - if (0 === t.length) return -1; - if ( - ("string" == typeof r - ? ((n = r), (r = 0)) - : r > 2147483647 - ? (r = 2147483647) - : r < -2147483648 && (r = -2147483648), - V((r = +r)) && (r = i ? 0 : t.length - 1), - r < 0 && (r = t.length + r), - r >= t.length) - ) { - if (i) return -1; - r = t.length - 1; - } else if (r < 0) { - if (!i) return -1; - r = 0; - } - if (("string" == typeof e && (e = s.from(e, n)), s.isBuffer(e))) - return 0 === e.length ? -1 : m(t, e, r, n, i); - if ("number" == typeof e) - return ( - (e &= 255), - "function" == typeof Uint8Array.prototype.indexOf - ? i - ? Uint8Array.prototype.indexOf.call(t, e, r) - : Uint8Array.prototype.lastIndexOf.call(t, e, r) - : m(t, [e], r, n, i) - ); - throw new TypeError("val must be string, number or Buffer"); - } - function m(t, e, r, n, i) { - var a, - o = 1, - s = t.length, - l = e.length; - if ( - void 0 !== n && - ("ucs2" === (n = String(n).toLowerCase()) || - "ucs-2" === n || - "utf16le" === n || - "utf-16le" === n) - ) { - if (t.length < 2 || e.length < 2) return -1; - ((o = 2), (s /= 2), (l /= 2), (r /= 2)); - } - function c(t, e) { - return 1 === o ? t[e] : t.readUInt16BE(e * o); - } - if (i) { - var u = -1; - for (a = r; a < s; a++) - if (c(t, a) === c(e, -1 === u ? 0 : a - u)) { - if ((-1 === u && (u = a), a - u + 1 === l)) return u * o; - } else (-1 !== u && (a -= a - u), (u = -1)); - } else - for (r + l > s && (r = s - l), a = r; a >= 0; a--) { - for (var f = !0, h = 0; h < l; h++) - if (c(t, a + h) !== c(e, h)) { - f = !1; - break; - } - if (f) return a; - } - return -1; - } - function v(t, e, r, n) { - r = Number(r) || 0; - var i = t.length - r; - n ? (n = Number(n)) > i && (n = i) : (n = i); - var a = e.length; - n > a / 2 && (n = a / 2); - for (var o = 0; o < n; ++o) { - var s = parseInt(e.substr(2 * o, 2), 16); - if (V(s)) return o; - t[r + o] = s; - } - return o; - } - function y(t, e, r, n) { - return N(B(e, t.length - r), t, r, n); - } - function x(t, e, r, n) { - return N( - (function (t) { - for (var e = [], r = 0; r < t.length; ++r) - e.push(255 & t.charCodeAt(r)); - return e; - })(e), - t, - r, - n, - ); - } - function b(t, e, r, n) { - return x(t, e, r, n); - } - function _(t, e, r, n) { - return N(F(e), t, r, n); - } - function w(t, e, r, n) { - return N( - (function (t, e) { - for (var r, n, i, a = [], o = 0; o < t.length && !((e -= 2) < 0); ++o) - ((r = t.charCodeAt(o)), - (n = r >> 8), - (i = r % 256), - a.push(i), - a.push(n)); - return a; - })(e, t.length - r), - t, - r, - n, - ); - } - function k(t, e, r) { - return 0 === e && r === t.length - ? n.fromByteArray(t) - : n.fromByteArray(t.slice(e, r)); - } - function M(t, e, r) { - r = Math.min(t.length, r); - for (var n = [], i = e; i < r; ) { - var a, - o, - s, - l, - c = t[i], - u = null, - f = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1; - if (i + f <= r) - switch (f) { - case 1: - c < 128 && (u = c); - break; - case 2: - 128 == (192 & (a = t[i + 1])) && - (l = ((31 & c) << 6) | (63 & a)) > 127 && - (u = l); - break; - case 3: - ((a = t[i + 1]), - (o = t[i + 2]), - 128 == (192 & a) && - 128 == (192 & o) && - (l = ((15 & c) << 12) | ((63 & a) << 6) | (63 & o)) > 2047 && - (l < 55296 || l > 57343) && - (u = l)); - break; - case 4: - ((a = t[i + 1]), - (o = t[i + 2]), - (s = t[i + 3]), - 128 == (192 & a) && - 128 == (192 & o) && - 128 == (192 & s) && - (l = - ((15 & c) << 18) | - ((63 & a) << 12) | - ((63 & o) << 6) | - (63 & s)) > 65535 && - l < 1114112 && - (u = l)); - } - (null === u - ? ((u = 65533), (f = 1)) - : u > 65535 && - ((u -= 65536), - n.push(((u >>> 10) & 1023) | 55296), - (u = 56320 | (1023 & u))), - n.push(u), - (i += f)); - } - return (function (t) { - var e = t.length; - if (e <= A) return String.fromCharCode.apply(String, t); - var r = "", - n = 0; - for (; n < e; ) - r += String.fromCharCode.apply(String, t.slice(n, (n += A))); - return r; - })(n); - } - ((r.kMaxLength = a), - (s.TYPED_ARRAY_SUPPORT = (function () { - try { - var t = new Uint8Array(1); - return ( - (t.__proto__ = { - __proto__: Uint8Array.prototype, - foo: function () { - return 42; - }, - }), - 42 === t.foo() - ); - } catch (t) { - return !1; - } - })()), - s.TYPED_ARRAY_SUPPORT || - "undefined" == typeof console || - "function" != typeof console.error || - console.error( - "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.", - ), - Object.defineProperty(s.prototype, "parent", { - get: function () { - if (this instanceof s) return this.buffer; - }, - }), - Object.defineProperty(s.prototype, "offset", { - get: function () { - if (this instanceof s) return this.byteOffset; - }, - }), - "undefined" != typeof Symbol && - Symbol.species && - s[Symbol.species] === s && - Object.defineProperty(s, Symbol.species, { - value: null, - configurable: !0, - enumerable: !1, - writable: !1, - }), - (s.poolSize = 8192), - (s.from = function (t, e, r) { - return l(t, e, r); - }), - (s.prototype.__proto__ = Uint8Array.prototype), - (s.__proto__ = Uint8Array), - (s.alloc = function (t, e, r) { - return (function (t, e, r) { - return ( - c(t), - t <= 0 - ? o(t) - : void 0 !== e - ? "string" == typeof r - ? o(t).fill(e, r) - : o(t).fill(e) - : o(t) - ); - })(t, e, r); - }), - (s.allocUnsafe = function (t) { - return u(t); - }), - (s.allocUnsafeSlow = function (t) { - return u(t); - }), - (s.isBuffer = function (t) { - return null != t && !0 === t._isBuffer; - }), - (s.compare = function (t, e) { - if (!s.isBuffer(t) || !s.isBuffer(e)) - throw new TypeError("Arguments must be Buffers"); - if (t === e) return 0; - for ( - var r = t.length, n = e.length, i = 0, a = Math.min(r, n); - i < a; - ++i - ) - if (t[i] !== e[i]) { - ((r = t[i]), (n = e[i])); - break; - } - return r < n ? -1 : n < r ? 1 : 0; - }), - (s.isEncoding = function (t) { - switch (String(t).toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "latin1": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return !0; - default: - return !1; - } - }), - (s.concat = function (t, e) { - if (!Array.isArray(t)) - throw new TypeError('"list" argument must be an Array of Buffers'); - if (0 === t.length) return s.alloc(0); - var r; - if (void 0 === e) for (e = 0, r = 0; r < t.length; ++r) e += t[r].length; - var n = s.allocUnsafe(e), - i = 0; - for (r = 0; r < t.length; ++r) { - var a = t[r]; - if ((ArrayBuffer.isView(a) && (a = s.from(a)), !s.isBuffer(a))) - throw new TypeError('"list" argument must be an Array of Buffers'); - (a.copy(n, i), (i += a.length)); - } - return n; - }), - (s.byteLength = p), - (s.prototype._isBuffer = !0), - (s.prototype.swap16 = function () { - var t = this.length; - if (t % 2 != 0) - throw new RangeError("Buffer size must be a multiple of 16-bits"); - for (var e = 0; e < t; e += 2) d(this, e, e + 1); - return this; - }), - (s.prototype.swap32 = function () { - var t = this.length; - if (t % 4 != 0) - throw new RangeError("Buffer size must be a multiple of 32-bits"); - for (var e = 0; e < t; e += 4) (d(this, e, e + 3), d(this, e + 1, e + 2)); - return this; - }), - (s.prototype.swap64 = function () { - var t = this.length; - if (t % 8 != 0) - throw new RangeError("Buffer size must be a multiple of 64-bits"); - for (var e = 0; e < t; e += 8) - (d(this, e, e + 7), - d(this, e + 1, e + 6), - d(this, e + 2, e + 5), - d(this, e + 3, e + 4)); - return this; - }), - (s.prototype.toString = function () { - var t = this.length; - return 0 === t - ? "" - : 0 === arguments.length - ? M(this, 0, t) - : function (t, e, r) { - var n = !1; - if (((void 0 === e || e < 0) && (e = 0), e > this.length)) - return ""; - if ( - ((void 0 === r || r > this.length) && (r = this.length), r <= 0) - ) - return ""; - if ((r >>>= 0) <= (e >>>= 0)) return ""; - for (t || (t = "utf8"); ; ) - switch (t) { - case "hex": - return C(this, e, r); - case "utf8": - case "utf-8": - return M(this, e, r); - case "ascii": - return T(this, e, r); - case "latin1": - case "binary": - return S(this, e, r); - case "base64": - return k(this, e, r); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return E(this, e, r); - default: - if (n) throw new TypeError("Unknown encoding: " + t); - ((t = (t + "").toLowerCase()), (n = !0)); - } - }.apply(this, arguments); - }), - (s.prototype.toLocaleString = s.prototype.toString), - (s.prototype.equals = function (t) { - if (!s.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); - return this === t || 0 === s.compare(this, t); - }), - (s.prototype.inspect = function () { - var t = "", - e = r.INSPECT_MAX_BYTES; - return ( - this.length > 0 && - ((t = this.toString("hex", 0, e).match(/.{2}/g).join(" ")), - this.length > e && (t += " ... ")), - "" - ); - }), - (s.prototype.compare = function (t, e, r, n, i) { - if (!s.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); - if ( - (void 0 === e && (e = 0), - void 0 === r && (r = t ? t.length : 0), - void 0 === n && (n = 0), - void 0 === i && (i = this.length), - e < 0 || r > t.length || n < 0 || i > this.length) - ) - throw new RangeError("out of range index"); - if (n >= i && e >= r) return 0; - if (n >= i) return -1; - if (e >= r) return 1; - if (((e >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === t)) - return 0; - for ( - var a = i - n, - o = r - e, - l = Math.min(a, o), - c = this.slice(n, i), - u = t.slice(e, r), - f = 0; - f < l; - ++f - ) - if (c[f] !== u[f]) { - ((a = c[f]), (o = u[f])); - break; - } - return a < o ? -1 : o < a ? 1 : 0; - }), - (s.prototype.includes = function (t, e, r) { - return -1 !== this.indexOf(t, e, r); - }), - (s.prototype.indexOf = function (t, e, r) { - return g(this, t, e, r, !0); - }), - (s.prototype.lastIndexOf = function (t, e, r) { - return g(this, t, e, r, !1); - }), - (s.prototype.write = function (t, e, r, n) { - if (void 0 === e) ((n = "utf8"), (r = this.length), (e = 0)); - else if (void 0 === r && "string" == typeof e) - ((n = e), (r = this.length), (e = 0)); - else { - if (!isFinite(e)) - throw new Error( - "Buffer.write(string, encoding, offset[, length]) is no longer supported", - ); - ((e >>>= 0), - isFinite(r) - ? ((r >>>= 0), void 0 === n && (n = "utf8")) - : ((n = r), (r = void 0))); - } - var i = this.length - e; - if ( - ((void 0 === r || r > i) && (r = i), - (t.length > 0 && (r < 0 || e < 0)) || e > this.length) - ) - throw new RangeError("Attempt to write outside buffer bounds"); - n || (n = "utf8"); - for (var a = !1; ; ) - switch (n) { - case "hex": - return v(this, t, e, r); - case "utf8": - case "utf-8": - return y(this, t, e, r); - case "ascii": - return x(this, t, e, r); - case "latin1": - case "binary": - return b(this, t, e, r); - case "base64": - return _(this, t, e, r); - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - return w(this, t, e, r); - default: - if (a) throw new TypeError("Unknown encoding: " + n); - ((n = ("" + n).toLowerCase()), (a = !0)); - } - }), - (s.prototype.toJSON = function () { - return { - type: "Buffer", - data: Array.prototype.slice.call(this._arr || this, 0), - }; - })); - var A = 4096; - function T(t, e, r) { - var n = ""; - r = Math.min(t.length, r); - for (var i = e; i < r; ++i) n += String.fromCharCode(127 & t[i]); - return n; - } - function S(t, e, r) { - var n = ""; - r = Math.min(t.length, r); - for (var i = e; i < r; ++i) n += String.fromCharCode(t[i]); - return n; - } - function C(t, e, r) { - var n = t.length; - ((!e || e < 0) && (e = 0), (!r || r < 0 || r > n) && (r = n)); - for (var i = "", a = e; a < r; ++a) i += R(t[a]); - return i; - } - function E(t, e, r) { - for (var n = t.slice(e, r), i = "", a = 0; a < n.length; a += 2) - i += String.fromCharCode(n[a] + 256 * n[a + 1]); - return i; - } - function L(t, e, r) { - if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint"); - if (t + e > r) - throw new RangeError("Trying to access beyond buffer length"); - } - function z(t, e, r, n, i, a) { - if (!s.isBuffer(t)) - throw new TypeError('"buffer" argument must be a Buffer instance'); - if (e > i || e < a) - throw new RangeError('"value" argument is out of bounds'); - if (r + n > t.length) throw new RangeError("Index out of range"); - } - function P(t, e, r, n, i, a) { - if (r + n > t.length) throw new RangeError("Index out of range"); - if (r < 0) throw new RangeError("Index out of range"); - } - function D(t, e, r, n, a) { - return ( - (e = +e), - (r >>>= 0), - a || P(t, 0, r, 4), - i.write(t, e, r, n, 23, 4), - r + 4 - ); - } - function O(t, e, r, n, a) { - return ( - (e = +e), - (r >>>= 0), - a || P(t, 0, r, 8), - i.write(t, e, r, n, 52, 8), - r + 8 - ); - } - ((s.prototype.slice = function (t, e) { - var r = this.length; - ((t = ~~t), - (e = void 0 === e ? r : ~~e), - t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), - e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), - e < t && (e = t)); - var n = this.subarray(t, e); - return ((n.__proto__ = s.prototype), n); - }), - (s.prototype.readUIntLE = function (t, e, r) { - ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); - for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) - n += this[t + a] * i; - return n; - }), - (s.prototype.readUIntBE = function (t, e, r) { - ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); - for (var n = this[t + --e], i = 1; e > 0 && (i *= 256); ) - n += this[t + --e] * i; - return n; - }), - (s.prototype.readUInt8 = function (t, e) { - return ((t >>>= 0), e || L(t, 1, this.length), this[t]); - }), - (s.prototype.readUInt16LE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 2, this.length), - this[t] | (this[t + 1] << 8) - ); - }), - (s.prototype.readUInt16BE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 2, this.length), - (this[t] << 8) | this[t + 1] - ); - }), - (s.prototype.readUInt32LE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - (this[t] | (this[t + 1] << 8) | (this[t + 2] << 16)) + - 16777216 * this[t + 3] - ); - }), - (s.prototype.readUInt32BE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - 16777216 * this[t] + - ((this[t + 1] << 16) | (this[t + 2] << 8) | this[t + 3]) - ); - }), - (s.prototype.readIntLE = function (t, e, r) { - ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); - for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) - n += this[t + a] * i; - return (n >= (i *= 128) && (n -= Math.pow(2, 8 * e)), n); - }), - (s.prototype.readIntBE = function (t, e, r) { - ((t >>>= 0), (e >>>= 0), r || L(t, e, this.length)); - for (var n = e, i = 1, a = this[t + --n]; n > 0 && (i *= 256); ) - a += this[t + --n] * i; - return (a >= (i *= 128) && (a -= Math.pow(2, 8 * e)), a); - }), - (s.prototype.readInt8 = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 1, this.length), - 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] - ); - }), - (s.prototype.readInt16LE = function (t, e) { - ((t >>>= 0), e || L(t, 2, this.length)); - var r = this[t] | (this[t + 1] << 8); - return 32768 & r ? 4294901760 | r : r; - }), - (s.prototype.readInt16BE = function (t, e) { - ((t >>>= 0), e || L(t, 2, this.length)); - var r = this[t + 1] | (this[t] << 8); - return 32768 & r ? 4294901760 | r : r; - }), - (s.prototype.readInt32LE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - this[t] | (this[t + 1] << 8) | (this[t + 2] << 16) | (this[t + 3] << 24) - ); - }), - (s.prototype.readInt32BE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - (this[t] << 24) | (this[t + 1] << 16) | (this[t + 2] << 8) | this[t + 3] - ); - }), - (s.prototype.readFloatLE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - i.read(this, t, !0, 23, 4) - ); - }), - (s.prototype.readFloatBE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 4, this.length), - i.read(this, t, !1, 23, 4) - ); - }), - (s.prototype.readDoubleLE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 8, this.length), - i.read(this, t, !0, 52, 8) - ); - }), - (s.prototype.readDoubleBE = function (t, e) { - return ( - (t >>>= 0), - e || L(t, 8, this.length), - i.read(this, t, !1, 52, 8) - ); - }), - (s.prototype.writeUIntLE = function (t, e, r, n) { - ((t = +t), (e >>>= 0), (r >>>= 0), n) || - z(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); - var i = 1, - a = 0; - for (this[e] = 255 & t; ++a < r && (i *= 256); ) - this[e + a] = (t / i) & 255; - return e + r; - }), - (s.prototype.writeUIntBE = function (t, e, r, n) { - ((t = +t), (e >>>= 0), (r >>>= 0), n) || - z(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); - var i = r - 1, - a = 1; - for (this[e + i] = 255 & t; --i >= 0 && (a *= 256); ) - this[e + i] = (t / a) & 255; - return e + r; - }), - (s.prototype.writeUInt8 = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 1, 255, 0), - (this[e] = 255 & t), - e + 1 - ); - }), - (s.prototype.writeUInt16LE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 2, 65535, 0), - (this[e] = 255 & t), - (this[e + 1] = t >>> 8), - e + 2 - ); - }), - (s.prototype.writeUInt16BE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 2, 65535, 0), - (this[e] = t >>> 8), - (this[e + 1] = 255 & t), - e + 2 - ); - }), - (s.prototype.writeUInt32LE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 4, 4294967295, 0), - (this[e + 3] = t >>> 24), - (this[e + 2] = t >>> 16), - (this[e + 1] = t >>> 8), - (this[e] = 255 & t), - e + 4 - ); - }), - (s.prototype.writeUInt32BE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 4, 4294967295, 0), - (this[e] = t >>> 24), - (this[e + 1] = t >>> 16), - (this[e + 2] = t >>> 8), - (this[e + 3] = 255 & t), - e + 4 - ); - }), - (s.prototype.writeIntLE = function (t, e, r, n) { - if (((t = +t), (e >>>= 0), !n)) { - var i = Math.pow(2, 8 * r - 1); - z(this, t, e, r, i - 1, -i); - } - var a = 0, - o = 1, - s = 0; - for (this[e] = 255 & t; ++a < r && (o *= 256); ) - (t < 0 && 0 === s && 0 !== this[e + a - 1] && (s = 1), - (this[e + a] = (((t / o) >> 0) - s) & 255)); - return e + r; - }), - (s.prototype.writeIntBE = function (t, e, r, n) { - if (((t = +t), (e >>>= 0), !n)) { - var i = Math.pow(2, 8 * r - 1); - z(this, t, e, r, i - 1, -i); - } - var a = r - 1, - o = 1, - s = 0; - for (this[e + a] = 255 & t; --a >= 0 && (o *= 256); ) - (t < 0 && 0 === s && 0 !== this[e + a + 1] && (s = 1), - (this[e + a] = (((t / o) >> 0) - s) & 255)); - return e + r; - }), - (s.prototype.writeInt8 = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 1, 127, -128), - t < 0 && (t = 255 + t + 1), - (this[e] = 255 & t), - e + 1 - ); - }), - (s.prototype.writeInt16LE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 2, 32767, -32768), - (this[e] = 255 & t), - (this[e + 1] = t >>> 8), - e + 2 - ); - }), - (s.prototype.writeInt16BE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 2, 32767, -32768), - (this[e] = t >>> 8), - (this[e + 1] = 255 & t), - e + 2 - ); - }), - (s.prototype.writeInt32LE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 4, 2147483647, -2147483648), - (this[e] = 255 & t), - (this[e + 1] = t >>> 8), - (this[e + 2] = t >>> 16), - (this[e + 3] = t >>> 24), - e + 4 - ); - }), - (s.prototype.writeInt32BE = function (t, e, r) { - return ( - (t = +t), - (e >>>= 0), - r || z(this, t, e, 4, 2147483647, -2147483648), - t < 0 && (t = 4294967295 + t + 1), - (this[e] = t >>> 24), - (this[e + 1] = t >>> 16), - (this[e + 2] = t >>> 8), - (this[e + 3] = 255 & t), - e + 4 - ); - }), - (s.prototype.writeFloatLE = function (t, e, r) { - return D(this, t, e, !0, r); - }), - (s.prototype.writeFloatBE = function (t, e, r) { - return D(this, t, e, !1, r); - }), - (s.prototype.writeDoubleLE = function (t, e, r) { - return O(this, t, e, !0, r); - }), - (s.prototype.writeDoubleBE = function (t, e, r) { - return O(this, t, e, !1, r); - }), - (s.prototype.copy = function (t, e, r, n) { - if (!s.isBuffer(t)) throw new TypeError("argument should be a Buffer"); - if ( - (r || (r = 0), - n || 0 === n || (n = this.length), - e >= t.length && (e = t.length), - e || (e = 0), - n > 0 && n < r && (n = r), - n === r) - ) - return 0; - if (0 === t.length || 0 === this.length) return 0; - if (e < 0) throw new RangeError("targetStart out of bounds"); - if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); - if (n < 0) throw new RangeError("sourceEnd out of bounds"); - (n > this.length && (n = this.length), - t.length - e < n - r && (n = t.length - e + r)); - var i = n - r; - if (this === t && "function" == typeof Uint8Array.prototype.copyWithin) - this.copyWithin(e, r, n); - else if (this === t && r < e && e < n) - for (var a = i - 1; a >= 0; --a) t[a + e] = this[a + r]; - else Uint8Array.prototype.set.call(t, this.subarray(r, n), e); - return i; - }), - (s.prototype.fill = function (t, e, r, n) { - if ("string" == typeof t) { - if ( - ("string" == typeof e - ? ((n = e), (e = 0), (r = this.length)) - : "string" == typeof r && ((n = r), (r = this.length)), - void 0 !== n && "string" != typeof n) - ) - throw new TypeError("encoding must be a string"); - if ("string" == typeof n && !s.isEncoding(n)) - throw new TypeError("Unknown encoding: " + n); - if (1 === t.length) { - var i = t.charCodeAt(0); - (("utf8" === n && i < 128) || "latin1" === n) && (t = i); - } - } else "number" == typeof t && (t &= 255); - if (e < 0 || this.length < e || this.length < r) - throw new RangeError("Out of range index"); - if (r <= e) return this; - var a; - if ( - ((e >>>= 0), - (r = void 0 === r ? this.length : r >>> 0), - t || (t = 0), - "number" == typeof t) - ) - for (a = e; a < r; ++a) this[a] = t; - else { - var o = s.isBuffer(t) ? t : new s(t, n), - l = o.length; - if (0 === l) - throw new TypeError( - 'The value "' + t + '" is invalid for argument "value"', - ); - for (a = 0; a < r - e; ++a) this[a + e] = o[a % l]; - } - return this; - })); - var I = /[^+/0-9A-Za-z-_]/g; - function R(t) { - return t < 16 ? "0" + t.toString(16) : t.toString(16); - } - function B(t, e) { - var r; - e = e || 1 / 0; - for (var n = t.length, i = null, a = [], o = 0; o < n; ++o) { - if ((r = t.charCodeAt(o)) > 55295 && r < 57344) { - if (!i) { - if (r > 56319) { - (e -= 3) > -1 && a.push(239, 191, 189); - continue; - } - if (o + 1 === n) { - (e -= 3) > -1 && a.push(239, 191, 189); - continue; - } - i = r; - continue; - } - if (r < 56320) { - ((e -= 3) > -1 && a.push(239, 191, 189), (i = r)); - continue; - } - r = 65536 + (((i - 55296) << 10) | (r - 56320)); - } else i && (e -= 3) > -1 && a.push(239, 191, 189); - if (((i = null), r < 128)) { - if ((e -= 1) < 0) break; - a.push(r); - } else if (r < 2048) { - if ((e -= 2) < 0) break; - a.push((r >> 6) | 192, (63 & r) | 128); - } else if (r < 65536) { - if ((e -= 3) < 0) break; - a.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128); - } else { - if (!(r < 1114112)) throw new Error("Invalid code point"); - if ((e -= 4) < 0) break; - a.push( - (r >> 18) | 240, - ((r >> 12) & 63) | 128, - ((r >> 6) & 63) | 128, - (63 & r) | 128, - ); - } - } - return a; - } - function F(t) { - return n.toByteArray( - (function (t) { - if ((t = (t = t.split("=")[0]).trim().replace(I, "")).length < 2) - return ""; - for (; t.length % 4 != 0; ) t += "="; - return t; - })(t), - ); - } - function N(t, e, r, n) { - for (var i = 0; i < n && !(i + r >= e.length || i >= t.length); ++i) - e[i + r] = t[i]; - return i; - } - function j(t) { - return ( - t instanceof ArrayBuffer || - (null != t && - null != t.constructor && - "ArrayBuffer" === t.constructor.name && - "number" == typeof t.byteLength) - ); - } - function V(t) { - return t != t; - } - }, - { "base64-js": 55, ieee754: 298 }, - ], - 86: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/monotone"), - i = t("./lib/triangulation"), - a = t("./lib/delaunay"), - o = t("./lib/filter"); - function s(t) { - return [Math.min(t[0], t[1]), Math.max(t[0], t[1])]; - } - function l(t, e) { - return t[0] - e[0] || t[1] - e[1]; - } - function c(t, e, r) { - return e in t ? t[e] : r; - } - e.exports = function (t, e, r) { - Array.isArray(e) - ? ((r = r || {}), (e = e || [])) - : ((r = e || {}), (e = [])); - var u = !!c(r, "delaunay", !0), - f = !!c(r, "interior", !0), - h = !!c(r, "exterior", !0), - p = !!c(r, "infinity", !1); - if ((!f && !h) || 0 === t.length) return []; - var d = n(t, e); - if (u || f !== h || p) { - for ( - var g = i( - t.length, - (function (t) { - return t.map(s).sort(l); - })(e), - ), - m = 0; - m < d.length; - ++m - ) { - var v = d[m]; - g.addTriangle(v[0], v[1], v[2]); - } - return ( - u && a(t, g), - h ? (f ? (p ? o(g, 0, p) : g.cells()) : o(g, 1, p)) : o(g, -1) - ); - } - return d; - }; - }, - { - "./lib/delaunay": 87, - "./lib/filter": 88, - "./lib/monotone": 89, - "./lib/triangulation": 90, - }, - ], - 87: [ - function (t, e, r) { - "use strict"; - var n = t("robust-in-sphere")[4]; - t("binary-search-bounds"); - function i(t, e, r, i, a, o) { - var s = e.opposite(i, a); - if (!(s < 0)) { - if (a < i) { - var l = i; - ((i = a), (a = l), (l = o), (o = s), (s = l)); - } - e.isConstraint(i, a) || (n(t[i], t[a], t[o], t[s]) < 0 && r.push(i, a)); - } - } - e.exports = function (t, e) { - for (var r = [], a = t.length, o = e.stars, s = 0; s < a; ++s) - for (var l = o[s], c = 1; c < l.length; c += 2) { - var u = l[c]; - if (!(u < s) && !e.isConstraint(s, u)) { - for (var f = l[c - 1], h = -1, p = 1; p < l.length; p += 2) - if (l[p - 1] === u) { - h = l[p]; - break; - } - h < 0 || (n(t[s], t[u], t[f], t[h]) < 0 && r.push(s, u)); - } - } - for (; r.length > 0; ) { - for ( - var u = r.pop(), s = r.pop(), f = -1, h = -1, l = o[s], d = 1; - d < l.length; - d += 2 - ) { - var g = l[d - 1], - m = l[d]; - g === u ? (h = m) : m === u && (f = g); - } - f < 0 || - h < 0 || - n(t[s], t[u], t[f], t[h]) >= 0 || - (e.flip(s, u), - i(t, e, r, f, s, h), - i(t, e, r, s, h, f), - i(t, e, r, h, u, f), - i(t, e, r, u, f, h)); - } - }; - }, - { "binary-search-bounds": 91, "robust-in-sphere": 386 }, - ], - 88: [ - function (t, e, r) { - "use strict"; - var n, - i = t("binary-search-bounds"); - function a(t, e, r, n, i, a, o) { - ((this.cells = t), - (this.neighbor = e), - (this.flags = n), - (this.constraint = r), - (this.active = i), - (this.next = a), - (this.boundary = o)); - } - function o(t, e) { - return t[0] - e[0] || t[1] - e[1] || t[2] - e[2]; - } - ((e.exports = function (t, e, r) { - var n = (function (t, e) { - for (var r = t.cells(), n = r.length, i = 0; i < n; ++i) { - var s = r[i], - l = s[0], - c = s[1], - u = s[2]; - c < u - ? c < l && ((s[0] = c), (s[1] = u), (s[2] = l)) - : u < l && ((s[0] = u), (s[1] = l), (s[2] = c)); - } - r.sort(o); - for (var f = new Array(n), i = 0; i < f.length; ++i) f[i] = 0; - var h = [], - p = [], - d = new Array(3 * n), - g = new Array(3 * n), - m = null; - e && (m = []); - for (var v = new a(r, d, g, f, h, p, m), i = 0; i < n; ++i) - for (var s = r[i], y = 0; y < 3; ++y) { - var l = s[y], - c = s[(y + 1) % 3], - x = (d[3 * i + y] = v.locate(c, l, t.opposite(c, l))), - b = (g[3 * i + y] = t.isConstraint(l, c)); - x < 0 && - (b ? p.push(i) : (h.push(i), (f[i] = 1)), e && m.push([c, l, -1])); - } - return v; - })(t, r); - if (0 === e) return r ? n.cells.concat(n.boundary) : n.cells; - var i = 1, - s = n.active, - l = n.next, - c = n.flags, - u = n.cells, - f = n.constraint, - h = n.neighbor; - for (; s.length > 0 || l.length > 0; ) { - for (; s.length > 0; ) { - var p = s.pop(); - if (c[p] !== -i) { - c[p] = i; - u[p]; - for (var d = 0; d < 3; ++d) { - var g = h[3 * p + d]; - g >= 0 && - 0 === c[g] && - (f[3 * p + d] ? l.push(g) : (s.push(g), (c[g] = i))); - } - } - } - var m = l; - ((l = s), (s = m), (l.length = 0), (i = -i)); - } - var v = (function (t, e, r) { - for (var n = 0, i = 0; i < t.length; ++i) e[i] === r && (t[n++] = t[i]); - return ((t.length = n), t); - })(u, c, e); - if (r) return v.concat(n.boundary); - return v; - }), - (a.prototype.locate = - ((n = [0, 0, 0]), - function (t, e, r) { - var a = t, - s = e, - l = r; - return ( - e < r - ? e < t && ((a = e), (s = r), (l = t)) - : r < t && ((a = r), (s = t), (l = e)), - a < 0 - ? -1 - : ((n[0] = a), (n[1] = s), (n[2] = l), i.eq(this.cells, n, o)) - ); - }))); - }, - { "binary-search-bounds": 91 }, - ], - 89: [ - function (t, e, r) { - "use strict"; - var n = t("binary-search-bounds"), - i = t("robust-orientation")[3], - a = 0, - o = 1, - s = 2; - function l(t, e, r, n, i) { - ((this.a = t), - (this.b = e), - (this.idx = r), - (this.lowerIds = n), - (this.upperIds = i)); - } - function c(t, e, r, n) { - ((this.a = t), (this.b = e), (this.type = r), (this.idx = n)); - } - function u(t, e) { - var r = t.a[0] - e.a[0] || t.a[1] - e.a[1] || t.type - e.type; - return r || (t.type !== a && (r = i(t.a, t.b, e.b)) ? r : t.idx - e.idx); - } - function f(t, e) { - return i(t.a, t.b, e); - } - function h(t, e, r, a, o) { - for (var s = n.lt(e, a, f), l = n.gt(e, a, f), c = s; c < l; ++c) { - for ( - var u = e[c], h = u.lowerIds, p = h.length; - p > 1 && i(r[h[p - 2]], r[h[p - 1]], a) > 0; - - ) - (t.push([h[p - 1], h[p - 2], o]), (p -= 1)); - ((h.length = p), h.push(o)); - var d = u.upperIds; - for (p = d.length; p > 1 && i(r[d[p - 2]], r[d[p - 1]], a) < 0; ) - (t.push([d[p - 2], d[p - 1], o]), (p -= 1)); - ((d.length = p), d.push(o)); - } - } - function p(t, e) { - var r; - return (r = t.a[0] < e.a[0] ? i(t.a, t.b, e.a) : i(e.b, e.a, t.a)) - ? r - : (r = e.b[0] < t.b[0] ? i(t.a, t.b, e.b) : i(e.b, e.a, t.b)) || - t.idx - e.idx; - } - function d(t, e, r) { - var i = n.le(t, r, p), - a = t[i], - o = a.upperIds, - s = o[o.length - 1]; - ((a.upperIds = [s]), t.splice(i + 1, 0, new l(r.a, r.b, r.idx, [s], o))); - } - function g(t, e, r) { - var i = r.a; - ((r.a = r.b), (r.b = i)); - var a = n.eq(t, r, p), - o = t[a]; - ((t[a - 1].upperIds = o.upperIds), t.splice(a, 1)); - } - e.exports = function (t, e) { - for (var r = t.length, n = e.length, i = [], f = 0; f < r; ++f) - i.push(new c(t[f], null, a, f)); - for (var f = 0; f < n; ++f) { - var p = e[f], - m = t[p[0]], - v = t[p[1]]; - m[0] < v[0] - ? i.push(new c(m, v, s, f), new c(v, m, o, f)) - : m[0] > v[0] && i.push(new c(v, m, s, f), new c(m, v, o, f)); - } - i.sort(u); - for ( - var y = i[0].a[0] - (1 + Math.abs(i[0].a[0])) * Math.pow(2, -52), - x = [new l([y, 1], [y, 0], -1, [], [], [], [])], - b = [], - f = 0, - _ = i.length; - f < _; - ++f - ) { - var w = i[f], - k = w.type; - k === a ? h(b, x, t, w.a, w.idx) : k === s ? d(x, t, w) : g(x, t, w); - } - return b; - }; - }, - { "binary-search-bounds": 91, "robust-orientation": 388 }, - ], - 90: [ - function (t, e, r) { - "use strict"; - var n = t("binary-search-bounds"); - function i(t, e) { - ((this.stars = t), (this.edges = e)); - } - e.exports = function (t, e) { - for (var r = new Array(t), n = 0; n < t; ++n) r[n] = []; - return new i(r, e); - }; - var a = i.prototype; - function o(t, e, r) { - for (var n = 1, i = t.length; n < i; n += 2) - if (t[n - 1] === e && t[n] === r) - return ( - (t[n - 1] = t[i - 2]), - (t[n] = t[i - 1]), - void (t.length = i - 2) - ); - } - ((a.isConstraint = (function () { - var t = [0, 0]; - function e(t, e) { - return t[0] - e[0] || t[1] - e[1]; - } - return function (r, i) { - return ( - (t[0] = Math.min(r, i)), - (t[1] = Math.max(r, i)), - n.eq(this.edges, t, e) >= 0 - ); - }; - })()), - (a.removeTriangle = function (t, e, r) { - var n = this.stars; - (o(n[t], e, r), o(n[e], r, t), o(n[r], t, e)); - }), - (a.addTriangle = function (t, e, r) { - var n = this.stars; - (n[t].push(e, r), n[e].push(r, t), n[r].push(t, e)); - }), - (a.opposite = function (t, e) { - for (var r = this.stars[e], n = 1, i = r.length; n < i; n += 2) - if (r[n] === t) return r[n - 1]; - return -1; - }), - (a.flip = function (t, e) { - var r = this.opposite(t, e), - n = this.opposite(e, t); - (this.removeTriangle(t, e, r), - this.removeTriangle(e, t, n), - this.addTriangle(t, n, r), - this.addTriangle(e, r, n)); - }), - (a.edges = function () { - for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) - for (var i = t[r], a = 0, o = i.length; a < o; a += 2) - e.push([i[a], i[a + 1]]); - return e; - }), - (a.cells = function () { - for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) - for (var i = t[r], a = 0, o = i.length; a < o; a += 2) { - var s = i[a], - l = i[a + 1]; - r < Math.min(s, l) && e.push([r, s, l]); - } - return e; - })); - }, - { "binary-search-bounds": 91 }, - ], - 91: [ - function (t, e, r) { - "use strict"; - function n(t, e, r, n, i) { - var a = [ - "function ", - t, - "(a,l,h,", - n.join(","), - "){", - i ? "" : "var i=", - r ? "l-1" : "h+1", - ";while(l<=h){var m=(l+h)>>>1,x=a[m]", - ]; - return ( - i - ? e.indexOf("c") < 0 - ? a.push(";if(x===y){return m}else if(x<=y){") - : a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){") - : a.push(";if(", e, "){i=m;"), - r ? a.push("l=m+1}else{h=m-1}") : a.push("h=m-1}else{l=m+1}"), - a.push("}"), - i ? a.push("return -1};") : a.push("return i};"), - a.join("") - ); - } - function i(t, e, r, i) { - return new Function( - [ - n("A", "x" + t + "y", e, ["y"], i), - n("P", "c(x,y)" + t + "0", e, ["y", "c"], i), - "function dispatchBsearch", - r, - "(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch", - r, - ].join(""), - )(); - } - e.exports = { - ge: i(">=", !1, "GE"), - gt: i(">", !1, "GT"), - lt: i("<", !0, "LT"), - le: i("<=", !0, "LE"), - eq: i("-", !0, "EQ", !0), - }; - }, - {}, - ], - 92: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = 1, r = 1; r < t.length; ++r) - for (var n = 0; n < r; ++n) - if (t[r] < t[n]) e = -e; - else if (t[n] === t[r]) return 0; - return e; - }; - }, - {}, - ], - 93: [ - function (t, e, r) { - "use strict"; - var n = t("dup"), - i = t("robust-linear-solve"); - function a(t, e) { - for (var r = 0, n = t.length, i = 0; i < n; ++i) r += t[i] * e[i]; - return r; - } - function o(t) { - var e = t.length; - if (0 === e) return []; - t[0].length; - var r = n([t.length + 1, t.length + 1], 1), - o = n([t.length + 1], 1); - r[e][e] = 0; - for (var s = 0; s < e; ++s) { - for (var l = 0; l <= s; ++l) r[l][s] = r[s][l] = 2 * a(t[s], t[l]); - o[s] = a(t[s], t[s]); - } - var c = i(r, o), - u = 0, - f = c[e + 1]; - for (s = 0; s < f.length; ++s) u += f[s]; - var h = new Array(e); - for (s = 0; s < e; ++s) { - f = c[s]; - var p = 0; - for (l = 0; l < f.length; ++l) p += f[l]; - h[s] = p / u; - } - return h; - } - function s(t) { - if (0 === t.length) return []; - for (var e = t[0].length, r = n([e]), i = o(t), a = 0; a < t.length; ++a) - for (var s = 0; s < e; ++s) r[s] += t[a][s] * i[a]; - return r; - } - ((s.barycenetric = o), (e.exports = s)); - }, - { dup: 136, "robust-linear-solve": 387 }, - ], - 94: [ - function (t, e, r) { - e.exports = function (t) { - for (var e = n(t), r = 0, i = 0; i < t.length; ++i) - for (var a = t[i], o = 0; o < e.length; ++o) - r += Math.pow(a[o] - e[o], 2); - return Math.sqrt(r / t.length); - }; - var n = t("circumcenter"); - }, - { circumcenter: 93 }, - ], - 95: [ - function (t, e, r) { - e.exports = function (t, e, r) { - return e < r ? (t < e ? e : t > r ? r : t) : t < r ? r : t > e ? e : t; - }; - }, - {}, - ], - 96: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var n; - if (r) { - n = e; - for (var i = new Array(e.length), a = 0; a < e.length; ++a) { - var o = e[a]; - i[a] = [o[0], o[1], r[a]]; - } - e = i; - } - var s = (function (t, e, r) { - var n = d(t, [], p(t)); - return (v(e, n, r), !!n); - })(t, e, !!r); - for (; y(t, e, !!r); ) s = !0; - if (r && s) { - ((n.length = 0), (r.length = 0)); - for (var a = 0; a < e.length; ++a) { - var o = e[a]; - (n.push([o[0], o[1]]), r.push(o[2])); - } - } - return s; - }; - var n = t("union-find"), - i = t("box-intersect"), - a = t("robust-segment-intersect"), - o = t("big-rat"), - s = t("big-rat/cmp"), - l = t("big-rat/to-float"), - c = t("rat-vec"), - u = t("nextafter"), - f = t("./lib/rat-seg-intersect"); - function h(t) { - var e = l(t); - return [u(e, -1 / 0), u(e, 1 / 0)]; - } - function p(t) { - for (var e = new Array(t.length), r = 0; r < t.length; ++r) { - var n = t[r]; - e[r] = [u(n[0], -1 / 0), u(n[1], -1 / 0), u(n[0], 1 / 0), u(n[1], 1 / 0)]; - } - return e; - } - function d(t, e, r) { - for (var a = e.length, o = new n(a), s = [], l = 0; l < e.length; ++l) { - var c = e[l], - f = h(c[0]), - p = h(c[1]); - s.push([ - u(f[0], -1 / 0), - u(p[0], -1 / 0), - u(f[1], 1 / 0), - u(p[1], 1 / 0), - ]); - } - i(s, function (t, e) { - o.link(t, e); - }); - var d = !0, - g = new Array(a); - for (l = 0; l < a; ++l) { - (v = o.find(l)) !== l && - ((d = !1), - (t[v] = [Math.min(t[l][0], t[v][0]), Math.min(t[l][1], t[v][1])])); - } - if (d) return null; - var m = 0; - for (l = 0; l < a; ++l) { - var v; - (v = o.find(l)) === l ? ((g[l] = m), (t[m++] = t[l])) : (g[l] = -1); - } - t.length = m; - for (l = 0; l < a; ++l) g[l] < 0 && (g[l] = g[o.find(l)]); - return g; - } - function g(t, e) { - return t[0] - e[0] || t[1] - e[1]; - } - function m(t, e) { - var r = t[0] - e[0] || t[1] - e[1]; - return r || (t[2] < e[2] ? -1 : t[2] > e[2] ? 1 : 0); - } - function v(t, e, r) { - if (0 !== t.length) { - if (e) - for (var n = 0; n < t.length; ++n) { - var i = e[(o = t[n])[0]], - a = e[o[1]]; - ((o[0] = Math.min(i, a)), (o[1] = Math.max(i, a))); - } - else - for (n = 0; n < t.length; ++n) { - var o; - ((i = (o = t[n])[0]), (a = o[1])); - ((o[0] = Math.min(i, a)), (o[1] = Math.max(i, a))); - } - r ? t.sort(m) : t.sort(g); - var s = 1; - for (n = 1; n < t.length; ++n) { - var l = t[n - 1], - c = t[n]; - (c[0] !== l[0] || c[1] !== l[1] || (r && c[2] !== l[2])) && - (t[s++] = c); - } - t.length = s; - } - } - function y(t, e, r) { - var n = (function (t, e) { - for (var r = new Array(e.length), n = 0; n < e.length; ++n) { - var i = e[n], - a = t[i[0]], - o = t[i[1]]; - r[n] = [ - u(Math.min(a[0], o[0]), -1 / 0), - u(Math.min(a[1], o[1]), -1 / 0), - u(Math.max(a[0], o[0]), 1 / 0), - u(Math.max(a[1], o[1]), 1 / 0), - ]; - } - return r; - })(t, e), - h = (function (t, e, r) { - var n = []; - return ( - i(r, function (r, i) { - var o = e[r], - s = e[i]; - if ( - o[0] !== s[0] && - o[0] !== s[1] && - o[1] !== s[0] && - o[1] !== s[1] - ) { - var l = t[o[0]], - c = t[o[1]], - u = t[s[0]], - f = t[s[1]]; - a(l, c, u, f) && n.push([r, i]); - } - }), - n - ); - })(t, e, n), - g = p(t), - m = (function (t, e, r, n) { - var o = []; - return ( - i(r, n, function (r, n) { - var i = e[r]; - if (i[0] !== n && i[1] !== n) { - var s = t[n], - l = t[i[0]], - c = t[i[1]]; - a(l, c, s, s) && o.push([r, n]); - } - }), - o - ); - })(t, e, n, g), - y = d( - t, - (function (t, e, r, n, i) { - var a, - u, - h = t.map(function (t) { - return [o(t[0]), o(t[1])]; - }); - for (a = 0; a < r.length; ++a) { - var p = r[a]; - u = p[0]; - var d = p[1], - g = e[u], - m = e[d], - v = f(c(t[g[0]]), c(t[g[1]]), c(t[m[0]]), c(t[m[1]])); - if (v) { - var y = t.length; - (t.push([l(v[0]), l(v[1])]), h.push(v), n.push([u, y], [d, y])); - } - } - for ( - n.sort(function (t, e) { - if (t[0] !== e[0]) return t[0] - e[0]; - var r = h[t[1]], - n = h[e[1]]; - return s(r[0], n[0]) || s(r[1], n[1]); - }), - a = n.length - 1; - a >= 0; - --a - ) { - var x = e[(u = (S = n[a])[0])], - b = x[0], - _ = x[1], - w = t[b], - k = t[_]; - if ((w[0] - k[0] || w[1] - k[1]) < 0) { - var M = b; - ((b = _), (_ = M)); - } - x[0] = b; - var A, - T = (x[1] = S[1]); - for (i && (A = x[2]); a > 0 && n[a - 1][0] === u; ) { - var S, - C = (S = n[--a])[1]; - (i ? e.push([T, C, A]) : e.push([T, C]), (T = C)); - } - i ? e.push([T, _, A]) : e.push([T, _]); - } - return h; - })(t, e, h, m, r), - ); - return (v(e, y, r), !!y || h.length > 0 || m.length > 0); - } - }, - { - "./lib/rat-seg-intersect": 97, - "big-rat": 59, - "big-rat/cmp": 57, - "big-rat/to-float": 71, - "box-intersect": 77, - nextafter: 336, - "rat-vec": 370, - "robust-segment-intersect": 391, - "union-find": 424, - }, - ], - 97: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - var a = s(e, t), - f = s(n, r), - h = u(a, f); - if (0 === o(h)) return null; - var p = s(t, r), - d = u(f, p), - g = i(d, h), - m = c(a, g); - return l(t, m); - }; - var n = t("big-rat/mul"), - i = t("big-rat/div"), - a = t("big-rat/sub"), - o = t("big-rat/sign"), - s = t("rat-vec/sub"), - l = t("rat-vec/add"), - c = t("rat-vec/muls"); - function u(t, e) { - return a(n(t[0], e[1]), n(t[1], e[0])); - } - }, - { - "big-rat/div": 58, - "big-rat/mul": 68, - "big-rat/sign": 69, - "big-rat/sub": 70, - "rat-vec/add": 369, - "rat-vec/muls": 371, - "rat-vec/sub": 372, - }, - ], - 98: [ - function (t, e, r) { - "use strict"; - var n = t("clamp"); - function i(t, e) { - null == e && (e = !0); - var r = t[0], - i = t[1], - a = t[2], - o = t[3]; - return ( - null == o && (o = e ? 1 : 255), - e && ((r *= 255), (i *= 255), (a *= 255), (o *= 255)), - 16777216 * (r = 255 & n(r, 0, 255)) + - ((i = 255 & n(i, 0, 255)) << 16) + - ((a = 255 & n(a, 0, 255)) << 8) + - (o = 255 & n(o, 0, 255)) - ); - } - ((e.exports = i), - (e.exports.to = i), - (e.exports.from = function (t, e) { - var r = (t = +t) >>> 24, - n = (16711680 & t) >>> 16, - i = (65280 & t) >>> 8, - a = 255 & t; - return !1 === e ? [r, n, i, a] : [r / 255, n / 255, i / 255, a / 255]; - })); - }, - { clamp: 95 }, - ], - 99: [ - function (t, e, r) { - "use strict"; - e.exports = { - 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], - green: [0, 128, 0], - greenyellow: [173, 255, 47], - grey: [128, 128, 128], - 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], - rebeccapurple: [102, 51, 153], - 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], - }; - }, - {}, - ], - 100: [ - function (t, e, r) { - "use strict"; - var n = t("color-rgba"), - i = t("clamp"), - a = t("dtype"); - e.exports = function (t, e) { - (("float" !== e && e) || (e = "array"), - "uint" === e && (e = "uint8"), - "uint_clamped" === e && (e = "uint8_clamped")); - var r = a(e), - o = new r(4); - if (t instanceof r) return Array.isArray(t) ? t.slice() : (o.set(t), o); - var s = "uint8" !== e && "uint8_clamped" !== e; - return t instanceof Uint8Array || t instanceof Uint8ClampedArray - ? ((o[0] = t[0]), - (o[1] = t[1]), - (o[2] = t[2]), - (o[3] = null != t[3] ? t[3] : 255), - s && ((o[0] /= 255), (o[1] /= 255), (o[2] /= 255), (o[3] /= 255)), - o) - : ((t.length && "string" != typeof t) || - (((t = n(t))[0] /= 255), (t[1] /= 255), (t[2] /= 255)), - s - ? ((o[0] = t[0]), - (o[1] = t[1]), - (o[2] = t[2]), - (o[3] = null != t[3] ? t[3] : 1)) - : ((o[0] = i(Math.round(255 * t[0]), 0, 255)), - (o[1] = i(Math.round(255 * t[1]), 0, 255)), - (o[2] = i(Math.round(255 * t[2]), 0, 255)), - (o[3] = null == t[3] ? 255 : i(Math.floor(255 * t[3]), 0, 255))), - o); - }; - }, - { clamp: 95, "color-rgba": 102, dtype: 135 }, - ], - 101: [ - function (t, e, r) { - (function (r) { - "use strict"; - var n = t("color-name"), - i = t("is-plain-obj"), - a = t("defined"); - e.exports = function (t) { - var e, - s, - l = [], - c = 1; - if ("string" == typeof t) - if (n[t]) ((l = n[t].slice()), (s = "rgb")); - else if ("transparent" === t) ((c = 0), (s = "rgb"), (l = [0, 0, 0])); - else if (/^#[A-Fa-f0-9]+$/.test(t)) { - var u = t.slice(1), - f = u.length, - h = f <= 4; - ((c = 1), - h - ? ((l = [ - parseInt(u[0] + u[0], 16), - parseInt(u[1] + u[1], 16), - parseInt(u[2] + u[2], 16), - ]), - 4 === f && (c = parseInt(u[3] + u[3], 16) / 255)) - : ((l = [ - parseInt(u[0] + u[1], 16), - parseInt(u[2] + u[3], 16), - parseInt(u[4] + u[5], 16), - ]), - 8 === f && (c = parseInt(u[6] + u[7], 16) / 255)), - l[0] || (l[0] = 0), - l[1] || (l[1] = 0), - l[2] || (l[2] = 0), - (s = "rgb")); - } else if ( - (e = - /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec( - t, - )) - ) { - var p = e[1], - u = p.replace(/a$/, ""); - s = u; - var f = "cmyk" === u ? 4 : "gray" === u ? 1 : 3; - ((l = e[2] - .trim() - .split(/\s*,\s*/) - .map(function (t, e) { - if (/%$/.test(t)) - return e === f - ? parseFloat(t) / 100 - : "rgb" === u - ? (255 * parseFloat(t)) / 100 - : parseFloat(t); - if ("h" === u[e]) { - if (/deg$/.test(t)) return parseFloat(t); - if (void 0 !== o[t]) return o[t]; - } - return parseFloat(t); - })), - p === u && l.push(1), - (c = void 0 === l[f] ? 1 : l[f]), - (l = l.slice(0, f))); - } else - t.length > 10 && - /[0-9](?:\s|\/)/.test(t) && - ((l = t.match(/([0-9]+)/g).map(function (t) { - return parseFloat(t); - })), - (s = t - .match(/([a-z])/gi) - .join("") - .toLowerCase())); - else if ("number" == typeof t) - ((s = "rgb"), (l = [t >>> 16, (65280 & t) >>> 8, 255 & t])); - else if (i(t)) { - var d = a(t.r, t.red, t.R, null); - (null !== d - ? ((s = "rgb"), (l = [d, a(t.g, t.green, t.G), a(t.b, t.blue, t.B)])) - : ((s = "hsl"), - (l = [ - a(t.h, t.hue, t.H), - a(t.s, t.saturation, t.S), - a(t.l, t.lightness, t.L, t.b, t.brightness), - ])), - (c = a(t.a, t.alpha, t.opacity, 1)), - null != t.opacity && (c /= 100)); - } else - (Array.isArray(t) || - (r.ArrayBuffer && ArrayBuffer.isView && ArrayBuffer.isView(t))) && - ((l = [t[0], t[1], t[2]]), - (s = "rgb"), - (c = 4 === t.length ? t[3] : 1)); - return { space: s, values: l, alpha: c }; - }; - var o = { - red: 0, - orange: 60, - yellow: 120, - green: 180, - blue: 240, - purple: 300, - }; - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { "color-name": 99, defined: 131, "is-plain-obj": 308 }, - ], - 102: [ - function (t, e, r) { - "use strict"; - var n = t("color-parse"), - i = t("color-space/hsl"), - a = t("clamp"); - e.exports = function (t) { - var e; - if ("string" != typeof t) throw Error("Argument should be a string"); - var r = n(t); - return r.space - ? (((e = Array(3))[0] = a(r.values[0], 0, 255)), - (e[1] = a(r.values[1], 0, 255)), - (e[2] = a(r.values[2], 0, 255)), - "h" === r.space[0] && (e = i.rgb(e)), - e.push(a(r.alpha, 0, 1)), - e) - : []; - }; - }, - { clamp: 95, "color-parse": 101, "color-space/hsl": 103 }, - ], - 103: [ - function (t, e, r) { - "use strict"; - var n = t("./rgb"); - ((e.exports = { - name: "hsl", - min: [0, 0, 0], - max: [360, 100, 100], - channel: ["hue", "saturation", "lightness"], - alias: ["HSL"], - rgb: function (t) { - var e, - r, - n, - i, - a, - o = t[0] / 360, - s = t[1] / 100, - l = t[2] / 100; - if (0 === s) return [(a = 255 * l), a, a]; - ((e = 2 * l - (r = l < 0.5 ? l * (1 + s) : l + s - l * s)), - (i = [0, 0, 0])); - for (var c = 0; c < 3; c++) - ((n = o + (1 / 3) * -(c - 1)) < 0 ? n++ : n > 1 && n--, - (a = - 6 * n < 1 - ? e + 6 * (r - e) * n - : 2 * n < 1 - ? r - : 3 * n < 2 - ? e + (r - e) * (2 / 3 - n) * 6 - : e), - (i[c] = 255 * a)); - return i; - }, - }), - (n.hsl = function (t) { - var e, - r, - n = t[0] / 255, - i = t[1] / 255, - a = t[2] / 255, - o = Math.min(n, i, a), - s = Math.max(n, i, a), - l = s - o; - return ( - s === o - ? (e = 0) - : n === s - ? (e = (i - a) / l) - : i === s - ? (e = 2 + (a - n) / l) - : a === s && (e = 4 + (n - i) / l), - (e = Math.min(60 * e, 360)) < 0 && (e += 360), - (r = (o + s) / 2), - [ - e, - 100 * (s === o ? 0 : r <= 0.5 ? l / (s + o) : l / (2 - s - o)), - 100 * r, - ] - ); - })); - }, - { "./rgb": 104 }, - ], - 104: [ - function (t, e, r) { - "use strict"; - e.exports = { - name: "rgb", - min: [0, 0, 0], - max: [255, 255, 255], - channel: ["red", "green", "blue"], - alias: ["RGB"], - }; - }, - {}, - ], - 105: [ - function (t, e, r) { - e.exports = { - jet: [ - { index: 0, rgb: [0, 0, 131] }, - { index: 0.125, rgb: [0, 60, 170] }, - { index: 0.375, rgb: [5, 255, 255] }, - { index: 0.625, rgb: [255, 255, 0] }, - { index: 0.875, rgb: [250, 0, 0] }, - { index: 1, rgb: [128, 0, 0] }, - ], - hsv: [ - { index: 0, rgb: [255, 0, 0] }, - { index: 0.169, rgb: [253, 255, 2] }, - { index: 0.173, rgb: [247, 255, 2] }, - { index: 0.337, rgb: [0, 252, 4] }, - { index: 0.341, rgb: [0, 252, 10] }, - { index: 0.506, rgb: [1, 249, 255] }, - { index: 0.671, rgb: [2, 0, 253] }, - { index: 0.675, rgb: [8, 0, 253] }, - { index: 0.839, rgb: [255, 0, 251] }, - { index: 0.843, rgb: [255, 0, 245] }, - { index: 1, rgb: [255, 0, 6] }, - ], - hot: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.3, rgb: [230, 0, 0] }, - { index: 0.6, rgb: [255, 210, 0] }, - { index: 1, rgb: [255, 255, 255] }, - ], - cool: [ - { index: 0, rgb: [0, 255, 255] }, - { index: 1, rgb: [255, 0, 255] }, - ], - spring: [ - { index: 0, rgb: [255, 0, 255] }, - { index: 1, rgb: [255, 255, 0] }, - ], - summer: [ - { index: 0, rgb: [0, 128, 102] }, - { index: 1, rgb: [255, 255, 102] }, - ], - autumn: [ - { index: 0, rgb: [255, 0, 0] }, - { index: 1, rgb: [255, 255, 0] }, - ], - winter: [ - { index: 0, rgb: [0, 0, 255] }, - { index: 1, rgb: [0, 255, 128] }, - ], - bone: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.376, rgb: [84, 84, 116] }, - { index: 0.753, rgb: [169, 200, 200] }, - { index: 1, rgb: [255, 255, 255] }, - ], - copper: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.804, rgb: [255, 160, 102] }, - { index: 1, rgb: [255, 199, 127] }, - ], - greys: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 1, rgb: [255, 255, 255] }, - ], - yignbu: [ - { index: 0, rgb: [8, 29, 88] }, - { index: 0.125, rgb: [37, 52, 148] }, - { index: 0.25, rgb: [34, 94, 168] }, - { index: 0.375, rgb: [29, 145, 192] }, - { index: 0.5, rgb: [65, 182, 196] }, - { index: 0.625, rgb: [127, 205, 187] }, - { index: 0.75, rgb: [199, 233, 180] }, - { index: 0.875, rgb: [237, 248, 217] }, - { index: 1, rgb: [255, 255, 217] }, - ], - greens: [ - { index: 0, rgb: [0, 68, 27] }, - { index: 0.125, rgb: [0, 109, 44] }, - { index: 0.25, rgb: [35, 139, 69] }, - { index: 0.375, rgb: [65, 171, 93] }, - { index: 0.5, rgb: [116, 196, 118] }, - { index: 0.625, rgb: [161, 217, 155] }, - { index: 0.75, rgb: [199, 233, 192] }, - { index: 0.875, rgb: [229, 245, 224] }, - { index: 1, rgb: [247, 252, 245] }, - ], - yiorrd: [ - { index: 0, rgb: [128, 0, 38] }, - { index: 0.125, rgb: [189, 0, 38] }, - { index: 0.25, rgb: [227, 26, 28] }, - { index: 0.375, rgb: [252, 78, 42] }, - { index: 0.5, rgb: [253, 141, 60] }, - { index: 0.625, rgb: [254, 178, 76] }, - { index: 0.75, rgb: [254, 217, 118] }, - { index: 0.875, rgb: [255, 237, 160] }, - { index: 1, rgb: [255, 255, 204] }, - ], - bluered: [ - { index: 0, rgb: [0, 0, 255] }, - { index: 1, rgb: [255, 0, 0] }, - ], - rdbu: [ - { index: 0, rgb: [5, 10, 172] }, - { index: 0.35, rgb: [106, 137, 247] }, - { index: 0.5, rgb: [190, 190, 190] }, - { index: 0.6, rgb: [220, 170, 132] }, - { index: 0.7, rgb: [230, 145, 90] }, - { index: 1, rgb: [178, 10, 28] }, - ], - picnic: [ - { index: 0, rgb: [0, 0, 255] }, - { index: 0.1, rgb: [51, 153, 255] }, - { index: 0.2, rgb: [102, 204, 255] }, - { index: 0.3, rgb: [153, 204, 255] }, - { index: 0.4, rgb: [204, 204, 255] }, - { index: 0.5, rgb: [255, 255, 255] }, - { index: 0.6, rgb: [255, 204, 255] }, - { index: 0.7, rgb: [255, 153, 255] }, - { index: 0.8, rgb: [255, 102, 204] }, - { index: 0.9, rgb: [255, 102, 102] }, - { index: 1, rgb: [255, 0, 0] }, - ], - rainbow: [ - { index: 0, rgb: [150, 0, 90] }, - { index: 0.125, rgb: [0, 0, 200] }, - { index: 0.25, rgb: [0, 25, 255] }, - { index: 0.375, rgb: [0, 152, 255] }, - { index: 0.5, rgb: [44, 255, 150] }, - { index: 0.625, rgb: [151, 255, 0] }, - { index: 0.75, rgb: [255, 234, 0] }, - { index: 0.875, rgb: [255, 111, 0] }, - { index: 1, rgb: [255, 0, 0] }, - ], - portland: [ - { index: 0, rgb: [12, 51, 131] }, - { index: 0.25, rgb: [10, 136, 186] }, - { index: 0.5, rgb: [242, 211, 56] }, - { index: 0.75, rgb: [242, 143, 56] }, - { index: 1, rgb: [217, 30, 30] }, - ], - blackbody: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.2, rgb: [230, 0, 0] }, - { index: 0.4, rgb: [230, 210, 0] }, - { index: 0.7, rgb: [255, 255, 255] }, - { index: 1, rgb: [160, 200, 255] }, - ], - earth: [ - { index: 0, rgb: [0, 0, 130] }, - { index: 0.1, rgb: [0, 180, 180] }, - { index: 0.2, rgb: [40, 210, 40] }, - { index: 0.4, rgb: [230, 230, 50] }, - { index: 0.6, rgb: [120, 70, 20] }, - { index: 1, rgb: [255, 255, 255] }, - ], - electric: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.15, rgb: [30, 0, 100] }, - { index: 0.4, rgb: [120, 0, 100] }, - { index: 0.6, rgb: [160, 90, 0] }, - { index: 0.8, rgb: [230, 200, 0] }, - { index: 1, rgb: [255, 250, 220] }, - ], - alpha: [ - { index: 0, rgb: [255, 255, 255, 0] }, - { index: 1, rgb: [255, 255, 255, 1] }, - ], - viridis: [ - { index: 0, rgb: [68, 1, 84] }, - { index: 0.13, rgb: [71, 44, 122] }, - { index: 0.25, rgb: [59, 81, 139] }, - { index: 0.38, rgb: [44, 113, 142] }, - { index: 0.5, rgb: [33, 144, 141] }, - { index: 0.63, rgb: [39, 173, 129] }, - { index: 0.75, rgb: [92, 200, 99] }, - { index: 0.88, rgb: [170, 220, 50] }, - { index: 1, rgb: [253, 231, 37] }, - ], - inferno: [ - { index: 0, rgb: [0, 0, 4] }, - { index: 0.13, rgb: [31, 12, 72] }, - { index: 0.25, rgb: [85, 15, 109] }, - { index: 0.38, rgb: [136, 34, 106] }, - { index: 0.5, rgb: [186, 54, 85] }, - { index: 0.63, rgb: [227, 89, 51] }, - { index: 0.75, rgb: [249, 140, 10] }, - { index: 0.88, rgb: [249, 201, 50] }, - { index: 1, rgb: [252, 255, 164] }, - ], - magma: [ - { index: 0, rgb: [0, 0, 4] }, - { index: 0.13, rgb: [28, 16, 68] }, - { index: 0.25, rgb: [79, 18, 123] }, - { index: 0.38, rgb: [129, 37, 129] }, - { index: 0.5, rgb: [181, 54, 122] }, - { index: 0.63, rgb: [229, 80, 100] }, - { index: 0.75, rgb: [251, 135, 97] }, - { index: 0.88, rgb: [254, 194, 135] }, - { index: 1, rgb: [252, 253, 191] }, - ], - plasma: [ - { index: 0, rgb: [13, 8, 135] }, - { index: 0.13, rgb: [75, 3, 161] }, - { index: 0.25, rgb: [125, 3, 168] }, - { index: 0.38, rgb: [168, 34, 150] }, - { index: 0.5, rgb: [203, 70, 121] }, - { index: 0.63, rgb: [229, 107, 93] }, - { index: 0.75, rgb: [248, 148, 65] }, - { index: 0.88, rgb: [253, 195, 40] }, - { index: 1, rgb: [240, 249, 33] }, - ], - warm: [ - { index: 0, rgb: [125, 0, 179] }, - { index: 0.13, rgb: [172, 0, 187] }, - { index: 0.25, rgb: [219, 0, 170] }, - { index: 0.38, rgb: [255, 0, 130] }, - { index: 0.5, rgb: [255, 63, 74] }, - { index: 0.63, rgb: [255, 123, 0] }, - { index: 0.75, rgb: [234, 176, 0] }, - { index: 0.88, rgb: [190, 228, 0] }, - { index: 1, rgb: [147, 255, 0] }, - ], - cool: [ - { index: 0, rgb: [125, 0, 179] }, - { index: 0.13, rgb: [116, 0, 218] }, - { index: 0.25, rgb: [98, 74, 237] }, - { index: 0.38, rgb: [68, 146, 231] }, - { index: 0.5, rgb: [0, 204, 197] }, - { index: 0.63, rgb: [0, 247, 146] }, - { index: 0.75, rgb: [0, 255, 88] }, - { index: 0.88, rgb: [40, 255, 8] }, - { index: 1, rgb: [147, 255, 0] }, - ], - "rainbow-soft": [ - { index: 0, rgb: [125, 0, 179] }, - { index: 0.1, rgb: [199, 0, 180] }, - { index: 0.2, rgb: [255, 0, 121] }, - { index: 0.3, rgb: [255, 108, 0] }, - { index: 0.4, rgb: [222, 194, 0] }, - { index: 0.5, rgb: [150, 255, 0] }, - { index: 0.6, rgb: [0, 255, 55] }, - { index: 0.7, rgb: [0, 246, 150] }, - { index: 0.8, rgb: [50, 167, 222] }, - { index: 0.9, rgb: [103, 51, 235] }, - { index: 1, rgb: [124, 0, 186] }, - ], - bathymetry: [ - { index: 0, rgb: [40, 26, 44] }, - { index: 0.13, rgb: [59, 49, 90] }, - { index: 0.25, rgb: [64, 76, 139] }, - { index: 0.38, rgb: [63, 110, 151] }, - { index: 0.5, rgb: [72, 142, 158] }, - { index: 0.63, rgb: [85, 174, 163] }, - { index: 0.75, rgb: [120, 206, 163] }, - { index: 0.88, rgb: [187, 230, 172] }, - { index: 1, rgb: [253, 254, 204] }, - ], - cdom: [ - { index: 0, rgb: [47, 15, 62] }, - { index: 0.13, rgb: [87, 23, 86] }, - { index: 0.25, rgb: [130, 28, 99] }, - { index: 0.38, rgb: [171, 41, 96] }, - { index: 0.5, rgb: [206, 67, 86] }, - { index: 0.63, rgb: [230, 106, 84] }, - { index: 0.75, rgb: [242, 149, 103] }, - { index: 0.88, rgb: [249, 193, 135] }, - { index: 1, rgb: [254, 237, 176] }, - ], - chlorophyll: [ - { index: 0, rgb: [18, 36, 20] }, - { index: 0.13, rgb: [25, 63, 41] }, - { index: 0.25, rgb: [24, 91, 59] }, - { index: 0.38, rgb: [13, 119, 72] }, - { index: 0.5, rgb: [18, 148, 80] }, - { index: 0.63, rgb: [80, 173, 89] }, - { index: 0.75, rgb: [132, 196, 122] }, - { index: 0.88, rgb: [175, 221, 162] }, - { index: 1, rgb: [215, 249, 208] }, - ], - density: [ - { index: 0, rgb: [54, 14, 36] }, - { index: 0.13, rgb: [89, 23, 80] }, - { index: 0.25, rgb: [110, 45, 132] }, - { index: 0.38, rgb: [120, 77, 178] }, - { index: 0.5, rgb: [120, 113, 213] }, - { index: 0.63, rgb: [115, 151, 228] }, - { index: 0.75, rgb: [134, 185, 227] }, - { index: 0.88, rgb: [177, 214, 227] }, - { index: 1, rgb: [230, 241, 241] }, - ], - "freesurface-blue": [ - { index: 0, rgb: [30, 4, 110] }, - { index: 0.13, rgb: [47, 14, 176] }, - { index: 0.25, rgb: [41, 45, 236] }, - { index: 0.38, rgb: [25, 99, 212] }, - { index: 0.5, rgb: [68, 131, 200] }, - { index: 0.63, rgb: [114, 156, 197] }, - { index: 0.75, rgb: [157, 181, 203] }, - { index: 0.88, rgb: [200, 208, 216] }, - { index: 1, rgb: [241, 237, 236] }, - ], - "freesurface-red": [ - { index: 0, rgb: [60, 9, 18] }, - { index: 0.13, rgb: [100, 17, 27] }, - { index: 0.25, rgb: [142, 20, 29] }, - { index: 0.38, rgb: [177, 43, 27] }, - { index: 0.5, rgb: [192, 87, 63] }, - { index: 0.63, rgb: [205, 125, 105] }, - { index: 0.75, rgb: [216, 162, 148] }, - { index: 0.88, rgb: [227, 199, 193] }, - { index: 1, rgb: [241, 237, 236] }, - ], - oxygen: [ - { index: 0, rgb: [64, 5, 5] }, - { index: 0.13, rgb: [106, 6, 15] }, - { index: 0.25, rgb: [144, 26, 7] }, - { index: 0.38, rgb: [168, 64, 3] }, - { index: 0.5, rgb: [188, 100, 4] }, - { index: 0.63, rgb: [206, 136, 11] }, - { index: 0.75, rgb: [220, 174, 25] }, - { index: 0.88, rgb: [231, 215, 44] }, - { index: 1, rgb: [248, 254, 105] }, - ], - par: [ - { index: 0, rgb: [51, 20, 24] }, - { index: 0.13, rgb: [90, 32, 35] }, - { index: 0.25, rgb: [129, 44, 34] }, - { index: 0.38, rgb: [159, 68, 25] }, - { index: 0.5, rgb: [182, 99, 19] }, - { index: 0.63, rgb: [199, 134, 22] }, - { index: 0.75, rgb: [212, 171, 35] }, - { index: 0.88, rgb: [221, 210, 54] }, - { index: 1, rgb: [225, 253, 75] }, - ], - phase: [ - { index: 0, rgb: [145, 105, 18] }, - { index: 0.13, rgb: [184, 71, 38] }, - { index: 0.25, rgb: [186, 58, 115] }, - { index: 0.38, rgb: [160, 71, 185] }, - { index: 0.5, rgb: [110, 97, 218] }, - { index: 0.63, rgb: [50, 123, 164] }, - { index: 0.75, rgb: [31, 131, 110] }, - { index: 0.88, rgb: [77, 129, 34] }, - { index: 1, rgb: [145, 105, 18] }, - ], - salinity: [ - { index: 0, rgb: [42, 24, 108] }, - { index: 0.13, rgb: [33, 50, 162] }, - { index: 0.25, rgb: [15, 90, 145] }, - { index: 0.38, rgb: [40, 118, 137] }, - { index: 0.5, rgb: [59, 146, 135] }, - { index: 0.63, rgb: [79, 175, 126] }, - { index: 0.75, rgb: [120, 203, 104] }, - { index: 0.88, rgb: [193, 221, 100] }, - { index: 1, rgb: [253, 239, 154] }, - ], - temperature: [ - { index: 0, rgb: [4, 35, 51] }, - { index: 0.13, rgb: [23, 51, 122] }, - { index: 0.25, rgb: [85, 59, 157] }, - { index: 0.38, rgb: [129, 79, 143] }, - { index: 0.5, rgb: [175, 95, 130] }, - { index: 0.63, rgb: [222, 112, 101] }, - { index: 0.75, rgb: [249, 146, 66] }, - { index: 0.88, rgb: [249, 196, 65] }, - { index: 1, rgb: [232, 250, 91] }, - ], - turbidity: [ - { index: 0, rgb: [34, 31, 27] }, - { index: 0.13, rgb: [65, 50, 41] }, - { index: 0.25, rgb: [98, 69, 52] }, - { index: 0.38, rgb: [131, 89, 57] }, - { index: 0.5, rgb: [161, 112, 59] }, - { index: 0.63, rgb: [185, 140, 66] }, - { index: 0.75, rgb: [202, 174, 88] }, - { index: 0.88, rgb: [216, 209, 126] }, - { index: 1, rgb: [233, 246, 171] }, - ], - "velocity-blue": [ - { index: 0, rgb: [17, 32, 64] }, - { index: 0.13, rgb: [35, 52, 116] }, - { index: 0.25, rgb: [29, 81, 156] }, - { index: 0.38, rgb: [31, 113, 162] }, - { index: 0.5, rgb: [50, 144, 169] }, - { index: 0.63, rgb: [87, 173, 176] }, - { index: 0.75, rgb: [149, 196, 189] }, - { index: 0.88, rgb: [203, 221, 211] }, - { index: 1, rgb: [254, 251, 230] }, - ], - "velocity-green": [ - { index: 0, rgb: [23, 35, 19] }, - { index: 0.13, rgb: [24, 64, 38] }, - { index: 0.25, rgb: [11, 95, 45] }, - { index: 0.38, rgb: [39, 123, 35] }, - { index: 0.5, rgb: [95, 146, 12] }, - { index: 0.63, rgb: [152, 165, 18] }, - { index: 0.75, rgb: [201, 186, 69] }, - { index: 0.88, rgb: [233, 216, 137] }, - { index: 1, rgb: [255, 253, 205] }, - ], - cubehelix: [ - { index: 0, rgb: [0, 0, 0] }, - { index: 0.07, rgb: [22, 5, 59] }, - { index: 0.13, rgb: [60, 4, 105] }, - { index: 0.2, rgb: [109, 1, 135] }, - { index: 0.27, rgb: [161, 0, 147] }, - { index: 0.33, rgb: [210, 2, 142] }, - { index: 0.4, rgb: [251, 11, 123] }, - { index: 0.47, rgb: [255, 29, 97] }, - { index: 0.53, rgb: [255, 54, 69] }, - { index: 0.6, rgb: [255, 85, 46] }, - { index: 0.67, rgb: [255, 120, 34] }, - { index: 0.73, rgb: [255, 157, 37] }, - { index: 0.8, rgb: [241, 191, 57] }, - { index: 0.87, rgb: [224, 220, 93] }, - { index: 0.93, rgb: [218, 241, 142] }, - { index: 1, rgb: [227, 253, 198] }, - ], - }; - }, - {}, - ], - 106: [ - function (t, e, r) { - "use strict"; - var n = t("./colorScale"), - i = t("lerp"); - function a(t) { - return [t[0] / 255, t[1] / 255, t[2] / 255, t[3]]; - } - function o(t) { - for (var e, r = "#", n = 0; n < 3; ++n) - r += ("00" + (e = (e = t[n]).toString(16))).substr(e.length); - return r; - } - function s(t) { - return "rgba(" + t.join(",") + ")"; - } - e.exports = function (t) { - var e, r, l, c, u, f, h, p, d, g; - t || (t = {}); - ((p = (t.nshades || 72) - 1), - (h = t.format || "hex"), - (f = t.colormap) || (f = "jet")); - if ("string" == typeof f) { - if (((f = f.toLowerCase()), !n[f])) - throw Error(f + " not a supported colorscale"); - u = n[f]; - } else { - if (!Array.isArray(f)) throw Error("unsupported colormap option", f); - u = f.slice(); - } - if (u.length > p) - throw new Error( - f + " map requires nshades to be at least size " + u.length, - ); - d = Array.isArray(t.alpha) - ? 2 !== t.alpha.length - ? [1, 1] - : t.alpha.slice() - : "number" == typeof t.alpha - ? [t.alpha, t.alpha] - : [1, 1]; - ((e = u.map(function (t) { - return Math.round(t.index * p); - })), - (d[0] = Math.min(Math.max(d[0], 0), 1)), - (d[1] = Math.min(Math.max(d[1], 0), 1))); - var m = u.map(function (t, e) { - var r = u[e].index, - n = u[e].rgb.slice(); - return 4 === n.length && n[3] >= 0 && n[3] <= 1 - ? n - : ((n[3] = d[0] + (d[1] - d[0]) * r), n); - }), - v = []; - for (g = 0; g < e.length - 1; ++g) { - ((c = e[g + 1] - e[g]), (r = m[g]), (l = m[g + 1])); - for (var y = 0; y < c; y++) { - var x = y / c; - v.push([ - Math.round(i(r[0], l[0], x)), - Math.round(i(r[1], l[1], x)), - Math.round(i(r[2], l[2], x)), - i(r[3], l[3], x), - ]); - } - } - (v.push(u[u.length - 1].rgb.concat(d[1])), - "hex" === h - ? (v = v.map(o)) - : "rgbaString" === h - ? (v = v.map(s)) - : "float" === h && (v = v.map(a))); - return v; - }; - }, - { "./colorScale": 105, lerp: 310 }, - ], - 107: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, a) { - var o = n(e, r, a); - if (0 === o) { - var s = i(n(t, e, r)), - c = i(n(t, e, a)); - if (s === c) { - if (0 === s) { - var u = l(t, e, r), - f = l(t, e, a); - return u === f ? 0 : u ? 1 : -1; - } - return 0; - } - return 0 === c - ? s > 0 - ? -1 - : l(t, e, a) - ? -1 - : 1 - : 0 === s - ? c > 0 - ? 1 - : l(t, e, r) - ? 1 - : -1 - : i(c - s); - } - var h = n(t, e, r); - if (h > 0) return o > 0 && n(t, e, a) > 0 ? 1 : -1; - if (h < 0) return o > 0 || n(t, e, a) > 0 ? 1 : -1; - var p = n(t, e, a); - return p > 0 ? 1 : l(t, e, r) ? 1 : -1; - }; - var n = t("robust-orientation"), - i = t("signum"), - a = t("two-sum"), - o = t("robust-product"), - s = t("robust-sum"); - function l(t, e, r) { - var n = a(t[0], -e[0]), - i = a(t[1], -e[1]), - l = a(r[0], -e[0]), - c = a(r[1], -e[1]), - u = s(o(n, l), o(i, c)); - return u[u.length - 1] >= 0; - } - }, - { - "robust-orientation": 388, - "robust-product": 389, - "robust-sum": 393, - signum: 394, - "two-sum": 422, - }, - ], - 108: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = t.length, - a = t.length - e.length; - if (a) return a; - switch (r) { - case 0: - return 0; - case 1: - return t[0] - e[0]; - case 2: - return t[0] + t[1] - e[0] - e[1] || n(t[0], t[1]) - n(e[0], e[1]); - case 3: - var o = t[0] + t[1], - s = e[0] + e[1]; - if ((a = o + t[2] - (s + e[2]))) return a; - var l = n(t[0], t[1]), - c = n(e[0], e[1]); - return n(l, t[2]) - n(c, e[2]) || n(l + t[2], o) - n(c + e[2], s); - case 4: - var u = t[0], - f = t[1], - h = t[2], - p = t[3], - d = e[0], - g = e[1], - m = e[2], - v = e[3]; - return ( - u + f + h + p - (d + g + m + v) || - n(u, f, h, p) - n(d, g, m, v, d) || - n(u + f, u + h, u + p, f + h, f + p, h + p) - - n(d + g, d + m, d + v, g + m, g + v, m + v) || - n(u + f + h, u + f + p, u + h + p, f + h + p) - - n(d + g + m, d + g + v, d + m + v, g + m + v) - ); - default: - for ( - var y = t.slice().sort(i), x = e.slice().sort(i), b = 0; - b < r; - ++b - ) - if ((a = y[b] - x[b])) return a; - return 0; - } - }; - var n = Math.min; - function i(t, e) { - return t - e; - } - }, - {}, - ], - 109: [ - function (t, e, r) { - "use strict"; - var n = t("compare-cell"), - i = t("cell-orientation"); - e.exports = function (t, e) { - return n(t, e) || i(t) - i(e); - }; - }, - { "cell-orientation": 92, "compare-cell": 108 }, - ], - 110: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/ch1d"), - i = t("./lib/ch2d"), - a = t("./lib/chnd"); - e.exports = function (t) { - var e = t.length; - if (0 === e) return []; - if (1 === e) return [[0]]; - var r = t[0].length; - if (0 === r) return []; - if (1 === r) return n(t); - if (2 === r) return i(t); - return a(t, r); - }; - }, - { "./lib/ch1d": 111, "./lib/ch2d": 112, "./lib/chnd": 113 }, - ], - 111: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = 0, r = 0, n = 1; n < t.length; ++n) - (t[n][0] < t[e][0] && (e = n), t[n][0] > t[r][0] && (r = n)); - return e < r ? [[e], [r]] : e > r ? [[r], [e]] : [[e]]; - }; - }, - {}, - ], - 112: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = n(t), - r = e.length; - if (r <= 2) return []; - for (var i = new Array(r), a = e[r - 1], o = 0; o < r; ++o) { - var s = e[o]; - ((i[o] = [a, s]), (a = s)); - } - return i; - }; - var n = t("monotone-convex-hull-2d"); - }, - { "monotone-convex-hull-2d": 319 }, - ], - 113: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - try { - return n(t, !0); - } catch (s) { - var r = i(t); - if (r.length <= e) return []; - var a = (function (t, e) { - for (var r = t.length, n = new Array(r), i = 0; i < e.length; ++i) - n[i] = t[e[i]]; - for (var a = e.length, i = 0; i < r; ++i) - e.indexOf(i) < 0 && (n[a++] = t[i]); - return n; - })(t, r), - o = n(a, !0); - return (function (t, e) { - for (var r = t.length, n = e.length, i = 0; i < r; ++i) - for (var a = t[i], o = 0; o < a.length; ++o) { - var s = a[o]; - if (s < n) a[o] = e[s]; - else { - s -= n; - for (var l = 0; l < n; ++l) s >= e[l] && (s += 1); - a[o] = s; - } - } - return t; - })(o, r); - } - }; - var n = t("incremental-convex-hull"), - i = t("affine-hull"); - }, - { "affine-hull": 46, "incremental-convex-hull": 299 }, - ], - 114: [ - function (t, e, r) { - e.exports = { - AFG: "afghan", - ALA: "\\b\\wland", - ALB: "albania", - DZA: "algeria", - ASM: "^(?=.*americ).*samoa", - AND: "andorra", - AGO: "angola", - AIA: "anguill?a", - ATA: "antarctica", - ATG: "antigua", - ARG: "argentin", - ARM: "armenia", - ABW: "^(?!.*bonaire).*\\baruba", - AUS: "australia", - AUT: "^(?!.*hungary).*austria|\\baustri.*\\bemp", - AZE: "azerbaijan", - BHS: "bahamas", - BHR: "bahrain", - BGD: "bangladesh|^(?=.*east).*paki?stan", - BRB: "barbados", - BLR: "belarus|byelo", - BEL: "^(?!.*luxem).*belgium", - BLZ: "belize|^(?=.*british).*honduras", - BEN: "benin|dahome", - BMU: "bermuda", - BTN: "bhutan", - BOL: "bolivia", - BES: "^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands", - BIH: "herzegovina|bosnia", - BWA: "botswana|bechuana", - BVT: "bouvet", - BRA: "brazil", - IOT: "british.?indian.?ocean", - BRN: "brunei", - BGR: "bulgaria", - BFA: "burkina|\\bfaso|upper.?volta", - BDI: "burundi", - CPV: "verde", - KHM: "cambodia|kampuchea|khmer", - CMR: "cameroon", - CAN: "canada", - CYM: "cayman", - CAF: "\\bcentral.african.republic", - TCD: "\\bchad", - CHL: "\\bchile", - CHN: "^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china", - CXR: "christmas", - CCK: "\\bcocos|keeling", - COL: "colombia", - COM: "comoro", - COG: "^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo", - COK: "\\bcook", - CRI: "costa.?rica", - CIV: "ivoire|ivory", - HRV: "croatia", - CUB: "\\bcuba", - CUW: "^(?!.*bonaire).*\\bcura(c|\xe7)ao", - CYP: "cyprus", - CSK: "czechoslovakia", - CZE: "^(?=.*rep).*czech|czechia|bohemia", - COD: "\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc", - DNK: "denmark", - DJI: "djibouti", - DMA: "dominica(?!n)", - DOM: "dominican.rep", - ECU: "ecuador", - EGY: "egypt", - SLV: "el.?salvador", - GNQ: "guine.*eq|eq.*guine|^(?=.*span).*guinea", - ERI: "eritrea", - EST: "estonia", - ETH: "ethiopia|abyssinia", - FLK: "falkland|malvinas", - FRO: "faroe|faeroe", - FJI: "fiji", - FIN: "finland", - FRA: "^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul", - GUF: "^(?=.*french).*guiana", - PYF: "french.?polynesia|tahiti", - ATF: "french.?southern", - GAB: "gabon", - GMB: "gambia", - GEO: "^(?!.*south).*georgia", - DDR: "german.?democratic.?republic|democratic.?republic.*germany|east.germany", - DEU: "^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german", - GHA: "ghana|gold.?coast", - GIB: "gibraltar", - GRC: "greece|hellenic|hellas", - GRL: "greenland", - GRD: "grenada", - GLP: "guadeloupe", - GUM: "\\bguam", - GTM: "guatemala", - GGY: "guernsey", - GIN: "^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea", - GNB: "bissau|^(?=.*portu).*guinea", - GUY: "guyana|british.?guiana", - HTI: "haiti", - HMD: "heard.*mcdonald", - VAT: "holy.?see|vatican|papal.?st", - HND: "^(?!.*brit).*honduras", - HKG: "hong.?kong", - HUN: "^(?!.*austr).*hungary", - ISL: "iceland", - IND: "india(?!.*ocea)", - IDN: "indonesia", - IRN: "\\biran|persia", - IRQ: "\\biraq|mesopotamia", - IRL: "(^ireland)|(^republic.*ireland)", - IMN: "^(?=.*isle).*\\bman", - ISR: "israel", - ITA: "italy", - JAM: "jamaica", - JPN: "japan", - JEY: "jersey", - JOR: "jordan", - KAZ: "kazak", - KEN: "kenya|british.?east.?africa|east.?africa.?prot", - KIR: "kiribati", - PRK: "^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)", - KWT: "kuwait", - KGZ: "kyrgyz|kirghiz", - LAO: "\\blaos?\\b", - LVA: "latvia", - LBN: "lebanon", - LSO: "lesotho|basuto", - LBR: "liberia", - LBY: "libya", - LIE: "liechtenstein", - LTU: "lithuania", - LUX: "^(?!.*belg).*luxem", - MAC: "maca(o|u)", - MDG: "madagascar|malagasy", - MWI: "malawi|nyasa", - MYS: "malaysia", - MDV: "maldive", - MLI: "\\bmali\\b", - MLT: "\\bmalta", - MHL: "marshall", - MTQ: "martinique", - MRT: "mauritania", - MUS: "mauritius", - MYT: "\\bmayotte", - MEX: "\\bmexic", - FSM: "fed.*micronesia|micronesia.*fed", - MCO: "monaco", - MNG: "mongolia", - MNE: "^(?!.*serbia).*montenegro", - MSR: "montserrat", - MAR: "morocco|\\bmaroc", - MOZ: "mozambique", - MMR: "myanmar|burma", - NAM: "namibia", - NRU: "nauru", - NPL: "nepal", - NLD: "^(?!.*\\bant)(?!.*\\bcarib).*netherlands", - ANT: "^(?=.*\\bant).*(nether|dutch)", - NCL: "new.?caledonia", - NZL: "new.?zealand", - NIC: "nicaragua", - NER: "\\bniger(?!ia)", - NGA: "nigeria", - NIU: "niue", - NFK: "norfolk", - MNP: "mariana", - NOR: "norway", - OMN: "\\boman|trucial", - PAK: "^(?!.*east).*paki?stan", - PLW: "palau", - PSE: "palestin|\\bgaza|west.?bank", - PAN: "panama", - PNG: "papua|new.?guinea", - PRY: "paraguay", - PER: "peru", - PHL: "philippines", - PCN: "pitcairn", - POL: "poland", - PRT: "portugal", - PRI: "puerto.?rico", - QAT: "qatar", - KOR: "^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)", - MDA: "moldov|b(a|e)ssarabia", - REU: "r(e|\xe9)union", - ROU: "r(o|u|ou)mania", - RUS: "\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics", - RWA: "rwanda", - BLM: "barth(e|\xe9)lemy", - SHN: "helena", - KNA: "kitts|\\bnevis", - LCA: "\\blucia", - MAF: "^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)", - SPM: "miquelon", - VCT: "vincent", - WSM: "^(?!.*amer).*samoa", - SMR: "san.?marino", - STP: "\\bs(a|\xe3)o.?tom(e|\xe9)", - SAU: "\\bsa\\w*.?arabia", - SEN: "senegal", - SRB: "^(?!.*monte).*serbia", - SYC: "seychell", - SLE: "sierra", - SGP: "singapore", - SXM: "^(?!.*martin)(?!.*saba).*maarten", - SVK: "^(?!.*cze).*slovak", - SVN: "slovenia", - SLB: "solomon", - SOM: "somali", - ZAF: "south.africa|s\\\\..?africa", - SGS: "south.?georgia|sandwich", - SSD: "\\bs\\w*.?sudan", - ESP: "spain", - LKA: "sri.?lanka|ceylon", - SDN: "^(?!.*\\bs(?!u)).*sudan", - SUR: "surinam|dutch.?guiana", - SJM: "svalbard", - SWZ: "swaziland", - SWE: "sweden", - CHE: "switz|swiss", - SYR: "syria", - TWN: "taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china", - TJK: "tajik", - THA: "thailand|\\bsiam", - MKD: "macedonia|fyrom", - TLS: "^(?=.*leste).*timor|^(?=.*east).*timor", - TGO: "togo", - TKL: "tokelau", - TON: "tonga", - TTO: "trinidad|tobago", - TUN: "tunisia", - TUR: "turkey", - TKM: "turkmen", - TCA: "turks", - TUV: "tuvalu", - UGA: "uganda", - UKR: "ukrain", - ARE: "emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em", - GBR: "united.?kingdom|britain|^u\\.?k\\.?$", - TZA: "tanzania", - USA: "united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)", - UMI: "minor.?outlying.?is", - URY: "uruguay", - UZB: "uzbek", - VUT: "vanuatu|new.?hebrides", - VEN: "venezuela", - VNM: "^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam", - VGB: "^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin", - VIR: "^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin", - WLF: "futuna|wallis", - ESH: "western.sahara", - YEM: "^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen", - YMD: "^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen", - YUG: "yugoslavia", - ZMB: "zambia|northern.?rhodesia", - EAZ: "zanzibar", - ZWE: "zimbabwe|^(?!.*northern).*rhodesia", - }; - }, - {}, - ], - 115: [ - function (t, e, r) { - "use strict"; - ((e.exports = function (t, e, r, n, i, a) { - var o = i - 1, - s = i * i, - l = o * o, - c = (1 + 2 * i) * l, - u = i * l, - f = s * (3 - 2 * i), - h = s * o; - if (t.length) { - a || (a = new Array(t.length)); - for (var p = t.length - 1; p >= 0; --p) - a[p] = c * t[p] + u * e[p] + f * r[p] + h * n[p]; - return a; - } - return c * t + u * e + f * r + h * n; - }), - (e.exports.derivative = function (t, e, r, n, i, a) { - var o = 6 * i * i - 6 * i, - s = 3 * i * i - 4 * i + 1, - l = -6 * i * i + 6 * i, - c = 3 * i * i - 2 * i; - if (t.length) { - a || (a = new Array(t.length)); - for (var u = t.length - 1; u >= 0; --u) - a[u] = o * t[u] + s * e[u] + l * r[u] + c * n[u]; - return a; - } - return o * t + s * e + l * r[u] + c * n; - })); - }, - {}, - ], - 116: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/thunk.js"); - e.exports = function (t) { - var e = new (function () { - ((this.argTypes = []), - (this.shimArgs = []), - (this.arrayArgs = []), - (this.arrayBlockIndices = []), - (this.scalarArgs = []), - (this.offsetArgs = []), - (this.offsetArgIndex = []), - (this.indexArgs = []), - (this.shapeArgs = []), - (this.funcName = ""), - (this.pre = null), - (this.body = null), - (this.post = null), - (this.debug = !1)); - })(); - ((e.pre = t.pre), (e.body = t.body), (e.post = t.post)); - var r = t.args.slice(0); - e.argTypes = r; - for (var i = 0; i < r.length; ++i) { - var a = r[i]; - if ("array" === a || ("object" == typeof a && a.blockIndices)) { - if ( - ((e.argTypes[i] = "array"), - e.arrayArgs.push(i), - e.arrayBlockIndices.push(a.blockIndices ? a.blockIndices : 0), - e.shimArgs.push("array" + i), - i < e.pre.args.length && e.pre.args[i].count > 0) - ) - throw new Error("cwise: pre() block may not reference array args"); - if (i < e.post.args.length && e.post.args[i].count > 0) - throw new Error("cwise: post() block may not reference array args"); - } else if ("scalar" === a) - (e.scalarArgs.push(i), e.shimArgs.push("scalar" + i)); - else if ("index" === a) { - if ( - (e.indexArgs.push(i), - i < e.pre.args.length && e.pre.args[i].count > 0) - ) - throw new Error("cwise: pre() block may not reference array index"); - if (i < e.body.args.length && e.body.args[i].lvalue) - throw new Error("cwise: body() block may not write to array index"); - if (i < e.post.args.length && e.post.args[i].count > 0) - throw new Error("cwise: post() block may not reference array index"); - } else if ("shape" === a) { - if ( - (e.shapeArgs.push(i), i < e.pre.args.length && e.pre.args[i].lvalue) - ) - throw new Error("cwise: pre() block may not write to array shape"); - if (i < e.body.args.length && e.body.args[i].lvalue) - throw new Error("cwise: body() block may not write to array shape"); - if (i < e.post.args.length && e.post.args[i].lvalue) - throw new Error("cwise: post() block may not write to array shape"); - } else { - if ("object" != typeof a || !a.offset) - throw new Error("cwise: Unknown argument type " + r[i]); - ((e.argTypes[i] = "offset"), - e.offsetArgs.push({ array: a.array, offset: a.offset }), - e.offsetArgIndex.push(i)); - } - } - if (e.arrayArgs.length <= 0) - throw new Error("cwise: No array arguments specified"); - if (e.pre.args.length > r.length) - throw new Error("cwise: Too many arguments in pre() block"); - if (e.body.args.length > r.length) - throw new Error("cwise: Too many arguments in body() block"); - if (e.post.args.length > r.length) - throw new Error("cwise: Too many arguments in post() block"); - return ( - (e.debug = !!t.printCode || !!t.debug), - (e.funcName = t.funcName || "cwise"), - (e.blockSize = t.blockSize || 64), - n(e) - ); - }; - }, - { "./lib/thunk.js": 118 }, - ], - 117: [ - function (t, e, r) { - "use strict"; - var n = t("uniq"); - function i(t, e, r) { - var n, - i, - a = t.length, - o = e.arrayArgs.length, - s = e.indexArgs.length > 0, - l = [], - c = [], - u = 0, - f = 0; - for (n = 0; n < a; ++n) c.push(["i", n, "=0"].join("")); - for (i = 0; i < o; ++i) - for (n = 0; n < a; ++n) - ((f = u), - (u = t[n]), - 0 === n - ? c.push(["d", i, "s", n, "=t", i, "p", u].join("")) - : c.push( - [ - "d", - i, - "s", - n, - "=(t", - i, - "p", - u, - "-s", - f, - "*t", - i, - "p", - f, - ")", - ].join(""), - )); - for (c.length > 0 && l.push("var " + c.join(",")), n = a - 1; n >= 0; --n) - ((u = t[n]), - l.push(["for(i", n, "=0;i", n, " 0 && l.push(["index[", f, "]-=s", f].join("")), - l.push(["++index[", u, "]"].join(""))), - l.push("}")); - } - return l.join("\n"); - } - function a(t, e, r) { - for (var n = t.body, i = [], a = [], o = 0; o < t.args.length; ++o) { - var s = t.args[o]; - if (!(s.count <= 0)) { - var l = new RegExp(s.name, "g"), - c = "", - u = e.arrayArgs.indexOf(o); - switch (e.argTypes[o]) { - case "offset": - var f = e.offsetArgIndex.indexOf(o); - ((u = e.offsetArgs[f].array), (c = "+q" + f)); - case "array": - c = "p" + u + c; - var h = "l" + o, - p = "a" + u; - if (0 === e.arrayBlockIndices[u]) - 1 === s.count - ? "generic" === r[u] - ? s.lvalue - ? (i.push(["var ", h, "=", p, ".get(", c, ")"].join("")), - (n = n.replace(l, h)), - a.push([p, ".set(", c, ",", h, ")"].join(""))) - : (n = n.replace(l, [p, ".get(", c, ")"].join(""))) - : (n = n.replace(l, [p, "[", c, "]"].join(""))) - : "generic" === r[u] - ? (i.push(["var ", h, "=", p, ".get(", c, ")"].join("")), - (n = n.replace(l, h)), - s.lvalue && a.push([p, ".set(", c, ",", h, ")"].join(""))) - : (i.push(["var ", h, "=", p, "[", c, "]"].join("")), - (n = n.replace(l, h)), - s.lvalue && a.push([p, "[", c, "]=", h].join(""))); - else { - for ( - var d = [s.name], g = [c], m = 0; - m < Math.abs(e.arrayBlockIndices[u]); - m++ - ) - (d.push("\\s*\\[([^\\]]+)\\]"), - g.push("$" + (m + 1) + "*t" + u + "b" + m)); - if ( - ((l = new RegExp(d.join(""), "g")), - (c = g.join("+")), - "generic" === r[u]) - ) - throw new Error( - "cwise: Generic arrays not supported in combination with blocks!", - ); - n = n.replace(l, [p, "[", c, "]"].join("")); - } - break; - case "scalar": - n = n.replace(l, "Y" + e.scalarArgs.indexOf(o)); - break; - case "index": - n = n.replace(l, "index"); - break; - case "shape": - n = n.replace(l, "shape"); - } - } - } - return [i.join("\n"), n, a.join("\n")].join("\n").trim(); - } - e.exports = function (t, e) { - for ( - var r = (e[1].length - Math.abs(t.arrayBlockIndices[0])) | 0, - o = new Array(t.arrayArgs.length), - s = new Array(t.arrayArgs.length), - l = 0; - l < t.arrayArgs.length; - ++l - ) - ((s[l] = e[2 * l]), (o[l] = e[2 * l + 1])); - var c = [], - u = [], - f = [], - h = [], - p = []; - for (l = 0; l < t.arrayArgs.length; ++l) { - t.arrayBlockIndices[l] < 0 - ? (f.push(0), h.push(r), c.push(r), u.push(r + t.arrayBlockIndices[l])) - : (f.push(t.arrayBlockIndices[l]), - h.push(t.arrayBlockIndices[l] + r), - c.push(0), - u.push(t.arrayBlockIndices[l])); - for (var d = [], g = 0; g < o[l].length; g++) - f[l] <= o[l][g] && o[l][g] < h[l] && d.push(o[l][g] - f[l]); - p.push(d); - } - var m = ["SS"], - v = ["'use strict'"], - y = []; - for (g = 0; g < r; ++g) y.push(["s", g, "=SS[", g, "]"].join("")); - for (l = 0; l < t.arrayArgs.length; ++l) { - for (m.push("a" + l), m.push("t" + l), m.push("p" + l), g = 0; g < r; ++g) - y.push(["t", l, "p", g, "=t", l, "[", f[l] + g, "]"].join("")); - for (g = 0; g < Math.abs(t.arrayBlockIndices[l]); ++g) - y.push(["t", l, "b", g, "=t", l, "[", c[l] + g, "]"].join("")); - } - for (l = 0; l < t.scalarArgs.length; ++l) m.push("Y" + l); - if ( - (t.shapeArgs.length > 0 && y.push("shape=SS.slice(0)"), - t.indexArgs.length > 0) - ) { - var x = new Array(r); - for (l = 0; l < r; ++l) x[l] = "0"; - y.push(["index=[", x.join(","), "]"].join("")); - } - for (l = 0; l < t.offsetArgs.length; ++l) { - var b = t.offsetArgs[l], - _ = []; - for (g = 0; g < b.offset.length; ++g) - 0 !== b.offset[g] && - (1 === b.offset[g] - ? _.push(["t", b.array, "p", g].join("")) - : _.push([b.offset[g], "*t", b.array, "p", g].join(""))); - 0 === _.length - ? y.push("q" + l + "=0") - : y.push(["q", l, "=", _.join("+")].join("")); - } - var w = n( - [].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars), - ); - for ( - (y = y.concat(w)).length > 0 && v.push("var " + y.join(",")), l = 0; - l < t.arrayArgs.length; - ++l - ) - v.push("p" + l + "|=0"); - t.pre.body.length > 3 && v.push(a(t.pre, t, s)); - var k = a(t.body, t, s), - M = (function (t) { - for (var e = 0, r = t[0].length; e < r; ) { - for (var n = 1; n < t.length; ++n) if (t[n][e] !== t[0][e]) return e; - ++e; - } - return e; - })(p); - (M < r - ? v.push( - (function (t, e, r, n) { - for ( - var a = e.length, - o = r.arrayArgs.length, - s = r.blockSize, - l = r.indexArgs.length > 0, - c = [], - u = 0; - u < o; - ++u - ) - c.push(["var offset", u, "=p", u].join("")); - for (u = t; u < a; ++u) - (c.push( - ["for(var j" + u + "=SS[", e[u], "]|0;j", u, ">0;){"].join(""), - ), - c.push(["if(j", u, "<", s, "){"].join("")), - c.push(["s", e[u], "=j", u].join("")), - c.push(["j", u, "=0"].join("")), - c.push(["}else{s", e[u], "=", s].join("")), - c.push(["j", u, "-=", s, "}"].join("")), - l && c.push(["index[", e[u], "]=j", u].join(""))); - for (u = 0; u < o; ++u) { - for (var f = ["offset" + u], h = t; h < a; ++h) - f.push(["j", h, "*t", u, "p", e[h]].join("")); - c.push(["p", u, "=(", f.join("+"), ")"].join("")); - } - for (c.push(i(e, r, n)), u = t; u < a; ++u) c.push("}"); - return c.join("\n"); - })(M, p[0], t, k), - ) - : v.push(i(p[0], t, k)), - t.post.body.length > 3 && v.push(a(t.post, t, s)), - t.debug && - console.log( - "-----Generated cwise routine for ", - e, - ":\n" + v.join("\n") + "\n----------", - )); - var A = [ - t.funcName || "unnamed", - "_cwise_loop_", - o[0].join("s"), - "m", - M, - (function (t) { - for (var e = new Array(t.length), r = !0, n = 0; n < t.length; ++n) { - var i = t[n], - a = i.match(/\d+/); - ((a = a ? a[0] : ""), - 0 === i.charAt(0) - ? (e[n] = "u" + i.charAt(1) + a) - : (e[n] = i.charAt(0) + a), - n > 0 && (r = r && e[n] === e[n - 1])); - } - return r ? e[0] : e.join(""); - })(s), - ].join(""); - return new Function( - [ - "function ", - A, - "(", - m.join(","), - "){", - v.join("\n"), - "} return ", - A, - ].join(""), - )(); - }; - }, - { uniq: 425 }, - ], - 118: [ - function (t, e, r) { - "use strict"; - var n = t("./compile.js"); - e.exports = function (t) { - var e = ["'use strict'", "var CACHED={}"], - r = [], - i = t.funcName + "_cwise_thunk"; - e.push(["return function ", i, "(", t.shimArgs.join(","), "){"].join("")); - for ( - var a = [], - o = [], - s = [ - [ - "array", - t.arrayArgs[0], - ".shape.slice(", - Math.max(0, t.arrayBlockIndices[0]), - t.arrayBlockIndices[0] < 0 - ? "," + t.arrayBlockIndices[0] + ")" - : ")", - ].join(""), - ], - l = [], - c = [], - u = 0; - u < t.arrayArgs.length; - ++u - ) { - var f = t.arrayArgs[u]; - (r.push( - ["t", f, "=array", f, ".dtype,", "r", f, "=array", f, ".order"].join( - "", - ), - ), - a.push("t" + f), - a.push("r" + f), - o.push("t" + f), - o.push("r" + f + ".join()"), - s.push("array" + f + ".data"), - s.push("array" + f + ".stride"), - s.push("array" + f + ".offset|0"), - u > 0 && - (l.push( - "array" + - t.arrayArgs[0] + - ".shape.length===array" + - f + - ".shape.length+" + - (Math.abs(t.arrayBlockIndices[0]) - - Math.abs(t.arrayBlockIndices[u])), - ), - c.push( - "array" + - t.arrayArgs[0] + - ".shape[shapeIndex+" + - Math.max(0, t.arrayBlockIndices[0]) + - "]===array" + - f + - ".shape[shapeIndex+" + - Math.max(0, t.arrayBlockIndices[u]) + - "]", - ))); - } - for ( - t.arrayArgs.length > 1 && - (e.push( - "if (!(" + - l.join(" && ") + - ")) throw new Error('cwise: Arrays do not all have the same dimensionality!')", - ), - e.push( - "for(var shapeIndex=array" + - t.arrayArgs[0] + - ".shape.length-" + - Math.abs(t.arrayBlockIndices[0]) + - "; shapeIndex--\x3e0;) {", - ), - e.push( - "if (!(" + - c.join(" && ") + - ")) throw new Error('cwise: Arrays do not all have the same shape!')", - ), - e.push("}")), - u = 0; - u < t.scalarArgs.length; - ++u - ) - s.push("scalar" + t.scalarArgs[u]); - return ( - r.push(["type=[", o.join(","), "].join()"].join("")), - r.push("proc=CACHED[type]"), - e.push("var " + r.join(",")), - e.push( - [ - "if(!proc){", - "CACHED[type]=proc=compile([", - a.join(","), - "])}", - "return proc(", - s.join(","), - ")}", - ].join(""), - ), - t.debug && - console.log("-----Generated thunk:\n" + e.join("\n") + "\n----------"), - new Function("compile", e.join("\n"))(n.bind(void 0, t)) - ); - }; - }, - { "./compile.js": 117 }, - ], - 119: [ - function (t, e, r) { - e.exports = t("cwise-compiler"); - }, - { "cwise-compiler": 116 }, - ], - 120: [ - function (t, e, r) { - "use strict"; - var n, - i = t("es5-ext/object/copy"), - a = t("es5-ext/object/normalize-options"), - o = t("es5-ext/object/valid-callable"), - s = t("es5-ext/object/map"), - l = t("es5-ext/object/valid-callable"), - c = t("es5-ext/object/valid-value"), - u = Function.prototype.bind, - f = Object.defineProperty, - h = Object.prototype.hasOwnProperty; - ((n = function (t, e, r) { - var n, - a = c(e) && l(e.value); - return ( - delete (n = i(e)).writable, - delete n.value, - (n.get = function () { - return !r.overwriteDefinition && h.call(this, t) - ? a - : ((e.value = u.call( - a, - r.resolveContext ? r.resolveContext(this) : this, - )), - f(this, t, e), - this[t]); - }), - n - ); - }), - (e.exports = function (t) { - var e = a(arguments[1]); - return ( - null != e.resolveContext && o(e.resolveContext), - s(t, function (t, r) { - return n(r, t, e); - }) - ); - })); - }, - { - "es5-ext/object/copy": 155, - "es5-ext/object/map": 164, - "es5-ext/object/normalize-options": 165, - "es5-ext/object/valid-callable": 169, - "es5-ext/object/valid-value": 171, - }, - ], - 121: [ - function (t, e, r) { - "use strict"; - var n = t("es5-ext/object/assign"), - i = t("es5-ext/object/normalize-options"), - a = t("es5-ext/object/is-callable"), - o = t("es5-ext/string/#/contains"); - (e.exports = function (t, e) { - var r, a, s, l, c; - return ( - arguments.length < 2 || "string" != typeof t - ? ((l = e), (e = t), (t = null)) - : (l = arguments[2]), - null == t - ? ((r = s = !0), (a = !1)) - : ((r = o.call(t, "c")), (a = o.call(t, "e")), (s = o.call(t, "w"))), - (c = { value: e, configurable: r, enumerable: a, writable: s }), - l ? n(i(l), c) : c - ); - }).gs = function (t, e, r) { - var s, l, c, u; - return ( - "string" != typeof t - ? ((c = r), (r = e), (e = t), (t = null)) - : (c = arguments[3]), - null == e - ? (e = void 0) - : a(e) - ? null == r - ? (r = void 0) - : a(r) || ((c = r), (r = void 0)) - : ((c = e), (e = r = void 0)), - null == t - ? ((s = !0), (l = !1)) - : ((s = o.call(t, "c")), (l = o.call(t, "e"))), - (u = { get: e, set: r, configurable: s, enumerable: l }), - c ? n(i(c), u) : u - ); - }; - }, - { - "es5-ext/object/assign": 152, - "es5-ext/object/is-callable": 158, - "es5-ext/object/normalize-options": 165, - "es5-ext/string/#/contains": 172, - }, - ], - 122: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - var e = function (t, e) { - return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; - }, - r = function (t) { - var r; - return ( - 1 === t.length && - ((r = t), - (t = function (t, n) { - return e(r(t), n); - })), - { - left: function (e, r, n, i) { - for ( - null == n && (n = 0), null == i && (i = e.length); - n < i; - - ) { - var a = (n + i) >>> 1; - t(e[a], r) < 0 ? (n = a + 1) : (i = a); - } - return n; - }, - right: function (e, r, n, i) { - for ( - null == n && (n = 0), null == i && (i = e.length); - n < i; - - ) { - var a = (n + i) >>> 1; - t(e[a], r) > 0 ? (i = a) : (n = a + 1); - } - return n; - }, - } - ); - }; - var n = r(e), - i = n.right, - a = n.left; - function o(t, e) { - return [t, e]; - } - var s = function (t) { - return null === t ? NaN : +t; - }, - l = function (t, e) { - var r, - n, - i = t.length, - a = 0, - o = -1, - l = 0, - c = 0; - if (null == e) - for (; ++o < i; ) - isNaN((r = s(t[o]))) || (c += (n = r - l) * (r - (l += n / ++a))); - else - for (; ++o < i; ) - isNaN((r = s(e(t[o], o, t)))) || - (c += (n = r - l) * (r - (l += n / ++a))); - if (a > 1) return c / (a - 1); - }, - c = function (t, e) { - var r = l(t, e); - return r ? Math.sqrt(r) : r; - }, - u = function (t, e) { - var r, - n, - i, - a = t.length, - o = -1; - if (null == e) { - for (; ++o < a; ) - if (null != (r = t[o]) && r >= r) - for (n = i = r; ++o < a; ) - null != (r = t[o]) && (n > r && (n = r), i < r && (i = r)); - } else - for (; ++o < a; ) - if (null != (r = e(t[o], o, t)) && r >= r) - for (n = i = r; ++o < a; ) - null != (r = e(t[o], o, t)) && - (n > r && (n = r), i < r && (i = r)); - return [n, i]; - }, - f = Array.prototype, - h = f.slice, - p = f.map, - d = function (t) { - return function () { - return t; - }; - }, - g = function (t) { - return t; - }, - m = function (t, e, r) { - ((t = +t), - (e = +e), - (r = - (i = arguments.length) < 2 - ? ((e = t), (t = 0), 1) - : i < 3 - ? 1 - : +r)); - for ( - var n = -1, - i = 0 | Math.max(0, Math.ceil((e - t) / r)), - a = new Array(i); - ++n < i; - - ) - a[n] = t + n * r; - return a; - }, - v = Math.sqrt(50), - y = Math.sqrt(10), - x = Math.sqrt(2); - function b(t, e, r) { - var n = (e - t) / Math.max(0, r), - i = Math.floor(Math.log(n) / Math.LN10), - a = n / Math.pow(10, i); - return i >= 0 - ? (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1) * Math.pow(10, i) - : -Math.pow(10, -i) / (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1); - } - function _(t, e, r) { - var n = Math.abs(e - t) / Math.max(0, r), - i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), - a = n / i; - return ( - a >= v ? (i *= 10) : a >= y ? (i *= 5) : a >= x && (i *= 2), - e < t ? -i : i - ); - } - var w = function (t) { - return Math.ceil(Math.log(t.length) / Math.LN2) + 1; - }, - k = function (t, e, r) { - if ((null == r && (r = s), (n = t.length))) { - if ((e = +e) <= 0 || n < 2) return +r(t[0], 0, t); - if (e >= 1) return +r(t[n - 1], n - 1, t); - var n, - i = (n - 1) * e, - a = Math.floor(i), - o = +r(t[a], a, t); - return o + (+r(t[a + 1], a + 1, t) - o) * (i - a); - } - }, - M = function (t, e) { - var r, - n, - i = t.length, - a = -1; - if (null == e) { - for (; ++a < i; ) - if (null != (r = t[a]) && r >= r) - for (n = r; ++a < i; ) null != (r = t[a]) && n > r && (n = r); - } else - for (; ++a < i; ) - if (null != (r = e(t[a], a, t)) && r >= r) - for (n = r; ++a < i; ) - null != (r = e(t[a], a, t)) && n > r && (n = r); - return n; - }, - A = function (t) { - if (!(i = t.length)) return []; - for (var e = -1, r = M(t, T), n = new Array(r); ++e < r; ) - for (var i, a = -1, o = (n[e] = new Array(i)); ++a < i; ) - o[a] = t[a][e]; - return n; - }; - function T(t) { - return t.length; - } - ((t.bisect = i), - (t.bisectRight = i), - (t.bisectLeft = a), - (t.ascending = e), - (t.bisector = r), - (t.cross = function (t, e, r) { - var n, - i, - a, - s, - l = t.length, - c = e.length, - u = new Array(l * c); - for (null == r && (r = o), n = a = 0; n < l; ++n) - for (s = t[n], i = 0; i < c; ++i, ++a) u[a] = r(s, e[i]); - return u; - }), - (t.descending = function (t, e) { - return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; - }), - (t.deviation = c), - (t.extent = u), - (t.histogram = function () { - var t = g, - e = u, - r = w; - function n(n) { - var a, - o, - s = n.length, - l = new Array(s); - for (a = 0; a < s; ++a) l[a] = t(n[a], a, n); - var c = e(l), - u = c[0], - f = c[1], - h = r(l, u, f); - Array.isArray(h) || - ((h = _(u, f, h)), - (h = m(Math.ceil(u / h) * h, Math.floor(f / h) * h, h))); - for (var p = h.length; h[0] <= u; ) (h.shift(), --p); - for (; h[p - 1] > f; ) (h.pop(), --p); - var d, - g = new Array(p + 1); - for (a = 0; a <= p; ++a) - (((d = g[a] = []).x0 = a > 0 ? h[a - 1] : u), - (d.x1 = a < p ? h[a] : f)); - for (a = 0; a < s; ++a) - u <= (o = l[a]) && o <= f && g[i(h, o, 0, p)].push(n[a]); - return g; - } - return ( - (n.value = function (e) { - return arguments.length - ? ((t = "function" == typeof e ? e : d(e)), n) - : t; - }), - (n.domain = function (t) { - return arguments.length - ? ((e = "function" == typeof t ? t : d([t[0], t[1]])), n) - : e; - }), - (n.thresholds = function (t) { - return arguments.length - ? ((r = - "function" == typeof t - ? t - : Array.isArray(t) - ? d(h.call(t)) - : d(t)), - n) - : r; - }), - n - ); - }), - (t.thresholdFreedmanDiaconis = function (t, r, n) { - return ( - (t = p.call(t, s).sort(e)), - Math.ceil( - (n - r) / - (2 * (k(t, 0.75) - k(t, 0.25)) * Math.pow(t.length, -1 / 3)), - ) - ); - }), - (t.thresholdScott = function (t, e, r) { - return Math.ceil((r - e) / (3.5 * c(t) * Math.pow(t.length, -1 / 3))); - }), - (t.thresholdSturges = w), - (t.max = function (t, e) { - var r, - n, - i = t.length, - a = -1; - if (null == e) { - for (; ++a < i; ) - if (null != (r = t[a]) && r >= r) - for (n = r; ++a < i; ) null != (r = t[a]) && r > n && (n = r); - } else - for (; ++a < i; ) - if (null != (r = e(t[a], a, t)) && r >= r) - for (n = r; ++a < i; ) - null != (r = e(t[a], a, t)) && r > n && (n = r); - return n; - }), - (t.mean = function (t, e) { - var r, - n = t.length, - i = n, - a = -1, - o = 0; - if (null == e) - for (; ++a < n; ) isNaN((r = s(t[a]))) ? --i : (o += r); - else for (; ++a < n; ) isNaN((r = s(e(t[a], a, t)))) ? --i : (o += r); - if (i) return o / i; - }), - (t.median = function (t, r) { - var n, - i = t.length, - a = -1, - o = []; - if (null == r) for (; ++a < i; ) isNaN((n = s(t[a]))) || o.push(n); - else for (; ++a < i; ) isNaN((n = s(r(t[a], a, t)))) || o.push(n); - return k(o.sort(e), 0.5); - }), - (t.merge = function (t) { - for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) - o += t[a].length; - for (r = new Array(o); --i >= 0; ) - for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; - return r; - }), - (t.min = M), - (t.pairs = function (t, e) { - null == e && (e = o); - for ( - var r = 0, n = t.length - 1, i = t[0], a = new Array(n < 0 ? 0 : n); - r < n; - - ) - a[r] = e(i, (i = t[++r])); - return a; - }), - (t.permute = function (t, e) { - for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; - return n; - }), - (t.quantile = k), - (t.range = m), - (t.scan = function (t, r) { - if ((n = t.length)) { - var n, - i, - a = 0, - o = 0, - s = t[o]; - for (null == r && (r = e); ++a < n; ) - (r((i = t[a]), s) < 0 || 0 !== r(s, s)) && ((s = i), (o = a)); - return 0 === r(s, s) ? o : void 0; - } - }), - (t.shuffle = function (t, e, r) { - for ( - var n, i, a = (null == r ? t.length : r) - (e = null == e ? 0 : +e); - a; - - ) - ((i = (Math.random() * a--) | 0), - (n = t[a + e]), - (t[a + e] = t[i + e]), - (t[i + e] = n)); - return t; - }), - (t.sum = function (t, e) { - var r, - n = t.length, - i = -1, - a = 0; - if (null == e) for (; ++i < n; ) (r = +t[i]) && (a += r); - else for (; ++i < n; ) (r = +e(t[i], i, t)) && (a += r); - return a; - }), - (t.ticks = function (t, e, r) { - var n, - i, - a, - o, - s = -1; - if (((r = +r), (t = +t) == (e = +e) && r > 0)) return [t]; - if ( - ((n = e < t) && ((i = t), (t = e), (e = i)), - 0 === (o = b(t, e, r)) || !isFinite(o)) - ) - return []; - if (o > 0) - for ( - t = Math.ceil(t / o), - e = Math.floor(e / o), - a = new Array((i = Math.ceil(e - t + 1))); - ++s < i; - - ) - a[s] = (t + s) * o; - else - for ( - t = Math.floor(t * o), - e = Math.ceil(e * o), - a = new Array((i = Math.ceil(t - e + 1))); - ++s < i; - - ) - a[s] = (t - s) / o; - return (n && a.reverse(), a); - }), - (t.tickIncrement = b), - (t.tickStep = _), - (t.transpose = A), - (t.variance = l), - (t.zip = function () { - return A(arguments); - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 123: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - function e() {} - function r(t, r) { - var n = new e(); - if (t instanceof e) - t.each(function (t, e) { - n.set(e, t); - }); - else if (Array.isArray(t)) { - var i, - a = -1, - o = t.length; - if (null == r) for (; ++a < o; ) n.set(a, t[a]); - else for (; ++a < o; ) n.set(r((i = t[a]), a, t), i); - } else if (t) for (var s in t) n.set(s, t[s]); - return n; - } - e.prototype = r.prototype = { - constructor: e, - has: function (t) { - return "$" + t in this; - }, - get: function (t) { - return this["$" + t]; - }, - set: function (t, e) { - return ((this["$" + t] = e), this); - }, - remove: function (t) { - var e = "$" + t; - return e in this && delete this[e]; - }, - clear: function () { - for (var t in this) "$" === t[0] && delete this[t]; - }, - keys: function () { - var t = []; - for (var e in this) "$" === e[0] && t.push(e.slice(1)); - return t; - }, - values: function () { - var t = []; - for (var e in this) "$" === e[0] && t.push(this[e]); - return t; - }, - entries: function () { - var t = []; - for (var e in this) - "$" === e[0] && t.push({ key: e.slice(1), value: this[e] }); - return t; - }, - size: function () { - var t = 0; - for (var e in this) "$" === e[0] && ++t; - return t; - }, - empty: function () { - for (var t in this) if ("$" === t[0]) return !1; - return !0; - }, - each: function (t) { - for (var e in this) "$" === e[0] && t(this[e], e.slice(1), this); - }, - }; - function n() { - return {}; - } - function i(t, e, r) { - t[e] = r; - } - function a() { - return r(); - } - function o(t, e, r) { - t.set(e, r); - } - function s() {} - var l = r.prototype; - function c(t, e) { - var r = new s(); - if (t instanceof s) - t.each(function (t) { - r.add(t); - }); - else if (t) { - var n = -1, - i = t.length; - if (null == e) for (; ++n < i; ) r.add(t[n]); - else for (; ++n < i; ) r.add(e(t[n], n, t)); - } - return r; - } - s.prototype = c.prototype = { - constructor: s, - has: l.has, - add: function (t) { - return ((this["$" + (t += "")] = t), this); - }, - remove: l.remove, - clear: l.clear, - values: l.keys, - size: l.size, - empty: l.empty, - each: l.each, - }; - ((t.nest = function () { - var t, - e, - s, - l = [], - c = []; - function u(n, i, a, o) { - if (i >= l.length) - return (null != t && n.sort(t), null != e ? e(n) : n); - for ( - var s, c, f, h = -1, p = n.length, d = l[i++], g = r(), m = a(); - ++h < p; - - ) - (f = g.get((s = d((c = n[h])) + ""))) ? f.push(c) : g.set(s, [c]); - return ( - g.each(function (t, e) { - o(m, e, u(t, i, a, o)); - }), - m - ); - } - return (s = { - object: function (t) { - return u(t, 0, n, i); - }, - map: function (t) { - return u(t, 0, a, o); - }, - entries: function (t) { - return (function t(r, n) { - if (++n > l.length) return r; - var i, - a = c[n - 1]; - return ( - null != e && n >= l.length - ? (i = r.entries()) - : ((i = []), - r.each(function (e, r) { - i.push({ key: r, values: t(e, n) }); - })), - null != a - ? i.sort(function (t, e) { - return a(t.key, e.key); - }) - : i - ); - })(u(t, 0, a, o), 0); - }, - key: function (t) { - return (l.push(t), s); - }, - sortKeys: function (t) { - return ((c[l.length - 1] = t), s); - }, - sortValues: function (e) { - return ((t = e), s); - }, - rollup: function (t) { - return ((e = t), s); - }, - }); - }), - (t.set = c), - (t.map = r), - (t.keys = function (t) { - var e = []; - for (var r in t) e.push(r); - return e; - }), - (t.values = function (t) { - var e = []; - for (var r in t) e.push(t[r]); - return e; - }), - (t.entries = function (t) { - var e = []; - for (var r in t) e.push({ key: r, value: t[r] }); - return e; - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 124: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - var e = function (t, e, r) { - ((t.prototype = e.prototype = r), (r.constructor = t)); - }; - function r(t, e) { - var r = Object.create(t.prototype); - for (var n in e) r[n] = e[n]; - return r; - } - function n() {} - var i = "\\s*([+-]?\\d+)\\s*", - a = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", - o = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", - s = /^#([0-9a-f]{3})$/, - l = /^#([0-9a-f]{6})$/, - c = new RegExp("^rgb\\(" + [i, i, i] + "\\)$"), - u = new RegExp("^rgb\\(" + [o, o, o] + "\\)$"), - f = new RegExp("^rgba\\(" + [i, i, i, a] + "\\)$"), - h = new RegExp("^rgba\\(" + [o, o, o, a] + "\\)$"), - p = new RegExp("^hsl\\(" + [a, o, o] + "\\)$"), - d = new RegExp("^hsla\\(" + [a, o, o, a] + "\\)$"), - g = { - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - rebeccapurple: 6697881, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074, - }; - function m(t) { - var e; - return ( - (t = (t + "").trim().toLowerCase()), - (e = s.exec(t)) - ? new _( - (((e = parseInt(e[1], 16)) >> 8) & 15) | ((e >> 4) & 240), - ((e >> 4) & 15) | (240 & e), - ((15 & e) << 4) | (15 & e), - 1, - ) - : (e = l.exec(t)) - ? v(parseInt(e[1], 16)) - : (e = c.exec(t)) - ? new _(e[1], e[2], e[3], 1) - : (e = u.exec(t)) - ? new _( - (255 * e[1]) / 100, - (255 * e[2]) / 100, - (255 * e[3]) / 100, - 1, - ) - : (e = f.exec(t)) - ? y(e[1], e[2], e[3], e[4]) - : (e = h.exec(t)) - ? y( - (255 * e[1]) / 100, - (255 * e[2]) / 100, - (255 * e[3]) / 100, - e[4], - ) - : (e = p.exec(t)) - ? w(e[1], e[2] / 100, e[3] / 100, 1) - : (e = d.exec(t)) - ? w(e[1], e[2] / 100, e[3] / 100, e[4]) - : g.hasOwnProperty(t) - ? v(g[t]) - : "transparent" === t - ? new _(NaN, NaN, NaN, 0) - : null - ); - } - function v(t) { - return new _((t >> 16) & 255, (t >> 8) & 255, 255 & t, 1); - } - function y(t, e, r, n) { - return (n <= 0 && (t = e = r = NaN), new _(t, e, r, n)); - } - function x(t) { - return ( - t instanceof n || (t = m(t)), - t ? new _((t = t.rgb()).r, t.g, t.b, t.opacity) : new _() - ); - } - function b(t, e, r, n) { - return 1 === arguments.length - ? x(t) - : new _(t, e, r, null == n ? 1 : n); - } - function _(t, e, r, n) { - ((this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n)); - } - function w(t, e, r, n) { - return ( - n <= 0 - ? (t = e = r = NaN) - : r <= 0 || r >= 1 - ? (t = e = NaN) - : e <= 0 && (t = NaN), - new M(t, e, r, n) - ); - } - function k(t, e, r, i) { - return 1 === arguments.length - ? (function (t) { - if (t instanceof M) return new M(t.h, t.s, t.l, t.opacity); - if ((t instanceof n || (t = m(t)), !t)) return new M(); - if (t instanceof M) return t; - var e = (t = t.rgb()).r / 255, - r = t.g / 255, - i = t.b / 255, - a = Math.min(e, r, i), - o = Math.max(e, r, i), - s = NaN, - l = o - a, - c = (o + a) / 2; - return ( - l - ? ((s = - e === o - ? (r - i) / l + 6 * (r < i) - : r === o - ? (i - e) / l + 2 - : (e - r) / l + 4), - (l /= c < 0.5 ? o + a : 2 - o - a), - (s *= 60)) - : (l = c > 0 && c < 1 ? 0 : s), - new M(s, l, c, t.opacity) - ); - })(t) - : new M(t, e, r, null == i ? 1 : i); - } - function M(t, e, r, n) { - ((this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n)); - } - function A(t, e, r) { - return ( - 255 * - (t < 60 - ? e + ((r - e) * t) / 60 - : t < 180 - ? r - : t < 240 - ? e + ((r - e) * (240 - t)) / 60 - : e) - ); - } - (e(n, m, { - displayable: function () { - return this.rgb().displayable(); - }, - toString: function () { - return this.rgb() + ""; - }, - }), - e( - _, - b, - r(n, { - brighter: function (t) { - return ( - (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), - new _(this.r * t, this.g * t, this.b * t, this.opacity) - ); - }, - darker: function (t) { - return ( - (t = null == t ? 0.7 : Math.pow(0.7, t)), - new _(this.r * t, this.g * t, this.b * t, this.opacity) - ); - }, - rgb: function () { - return this; - }, - displayable: function () { - return ( - 0 <= this.r && - this.r <= 255 && - 0 <= this.g && - this.g <= 255 && - 0 <= this.b && - this.b <= 255 && - 0 <= this.opacity && - this.opacity <= 1 - ); - }, - toString: function () { - var t = this.opacity; - return ( - (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) - ? "rgb(" - : "rgba(") + - Math.max(0, Math.min(255, Math.round(this.r) || 0)) + - ", " + - Math.max(0, Math.min(255, Math.round(this.g) || 0)) + - ", " + - Math.max(0, Math.min(255, Math.round(this.b) || 0)) + - (1 === t ? ")" : ", " + t + ")") - ); - }, - }), - ), - e( - M, - k, - r(n, { - brighter: function (t) { - return ( - (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), - new M(this.h, this.s, this.l * t, this.opacity) - ); - }, - darker: function (t) { - return ( - (t = null == t ? 0.7 : Math.pow(0.7, t)), - new M(this.h, this.s, this.l * t, this.opacity) - ); - }, - rgb: function () { - var t = (this.h % 360) + 360 * (this.h < 0), - e = isNaN(t) || isNaN(this.s) ? 0 : this.s, - r = this.l, - n = r + (r < 0.5 ? r : 1 - r) * e, - i = 2 * r - n; - return new _( - A(t >= 240 ? t - 240 : t + 120, i, n), - A(t, i, n), - A(t < 120 ? t + 240 : t - 120, i, n), - this.opacity, - ); - }, - displayable: function () { - return ( - ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && - 0 <= this.l && - this.l <= 1 && - 0 <= this.opacity && - this.opacity <= 1 - ); - }, - }), - )); - var T = Math.PI / 180, - S = 180 / Math.PI, - C = 0.95047, - E = 1, - L = 1.08883, - z = 4 / 29, - P = 6 / 29, - D = 3 * P * P, - O = P * P * P; - function I(t) { - if (t instanceof B) return new B(t.l, t.a, t.b, t.opacity); - if (t instanceof q) { - var e = t.h * T; - return new B(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); - } - t instanceof _ || (t = x(t)); - var r = V(t.r), - n = V(t.g), - i = V(t.b), - a = F((0.4124564 * r + 0.3575761 * n + 0.1804375 * i) / C), - o = F((0.2126729 * r + 0.7151522 * n + 0.072175 * i) / E); - return new B( - 116 * o - 16, - 500 * (a - o), - 200 * (o - F((0.0193339 * r + 0.119192 * n + 0.9503041 * i) / L)), - t.opacity, - ); - } - function R(t, e, r, n) { - return 1 === arguments.length - ? I(t) - : new B(t, e, r, null == n ? 1 : n); - } - function B(t, e, r, n) { - ((this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n)); - } - function F(t) { - return t > O ? Math.pow(t, 1 / 3) : t / D + z; - } - function N(t) { - return t > P ? t * t * t : D * (t - z); - } - function j(t) { - return ( - 255 * - (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) - ); - } - function V(t) { - return (t /= 255) <= 0.04045 - ? t / 12.92 - : Math.pow((t + 0.055) / 1.055, 2.4); - } - function U(t, e, r, n) { - return 1 === arguments.length - ? (function (t) { - if (t instanceof q) return new q(t.h, t.c, t.l, t.opacity); - t instanceof B || (t = I(t)); - var e = Math.atan2(t.b, t.a) * S; - return new q( - e < 0 ? e + 360 : e, - Math.sqrt(t.a * t.a + t.b * t.b), - t.l, - t.opacity, - ); - })(t) - : new q(t, e, r, null == n ? 1 : n); - } - function q(t, e, r, n) { - ((this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n)); - } - (e( - B, - R, - r(n, { - brighter: function (t) { - return new B( - this.l + 18 * (null == t ? 1 : t), - this.a, - this.b, - this.opacity, - ); - }, - darker: function (t) { - return new B( - this.l - 18 * (null == t ? 1 : t), - this.a, - this.b, - this.opacity, - ); - }, - rgb: function () { - var t = (this.l + 16) / 116, - e = isNaN(this.a) ? t : t + this.a / 500, - r = isNaN(this.b) ? t : t - this.b / 200; - return ( - (t = E * N(t)), - new _( - j( - 3.2404542 * (e = C * N(e)) - - 1.5371385 * t - - 0.4985314 * (r = L * N(r)), - ), - j(-0.969266 * e + 1.8760108 * t + 0.041556 * r), - j(0.0556434 * e - 0.2040259 * t + 1.0572252 * r), - this.opacity, - ) - ); - }, - }), - ), - e( - q, - U, - r(n, { - brighter: function (t) { - return new q( - this.h, - this.c, - this.l + 18 * (null == t ? 1 : t), - this.opacity, - ); - }, - darker: function (t) { - return new q( - this.h, - this.c, - this.l - 18 * (null == t ? 1 : t), - this.opacity, - ); - }, - rgb: function () { - return I(this).rgb(); - }, - }), - )); - var H = -0.14861, - G = 1.78277, - W = -0.29227, - Y = -0.90649, - X = 1.97294, - Z = X * Y, - J = X * G, - K = G * W - Y * H; - function Q(t, e, r, n) { - return 1 === arguments.length - ? (function (t) { - if (t instanceof $) return new $(t.h, t.s, t.l, t.opacity); - t instanceof _ || (t = x(t)); - var e = t.r / 255, - r = t.g / 255, - n = t.b / 255, - i = (K * n + Z * e - J * r) / (K + Z - J), - a = n - i, - o = (X * (r - i) - W * a) / Y, - s = Math.sqrt(o * o + a * a) / (X * i * (1 - i)), - l = s ? Math.atan2(o, a) * S - 120 : NaN; - return new $(l < 0 ? l + 360 : l, s, i, t.opacity); - })(t) - : new $(t, e, r, null == n ? 1 : n); - } - function $(t, e, r, n) { - ((this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n)); - } - (e( - $, - Q, - r(n, { - brighter: function (t) { - return ( - (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), - new $(this.h, this.s, this.l * t, this.opacity) - ); - }, - darker: function (t) { - return ( - (t = null == t ? 0.7 : Math.pow(0.7, t)), - new $(this.h, this.s, this.l * t, this.opacity) - ); - }, - rgb: function () { - var t = isNaN(this.h) ? 0 : (this.h + 120) * T, - e = +this.l, - r = isNaN(this.s) ? 0 : this.s * e * (1 - e), - n = Math.cos(t), - i = Math.sin(t); - return new _( - 255 * (e + r * (H * n + G * i)), - 255 * (e + r * (W * n + Y * i)), - 255 * (e + r * (X * n)), - this.opacity, - ); - }, - }), - ), - (t.color = m), - (t.rgb = b), - (t.hsl = k), - (t.lab = R), - (t.hcl = U), - (t.cubehelix = Q), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 125: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - var e = { value: function () {} }; - function r() { - for (var t, e = 0, r = arguments.length, i = {}; e < r; ++e) { - if (!(t = arguments[e] + "") || t in i) - throw new Error("illegal type: " + t); - i[t] = []; - } - return new n(i); - } - function n(t) { - this._ = t; - } - function i(t, e) { - for (var r, n = 0, i = t.length; n < i; ++n) - if ((r = t[n]).name === e) return r.value; - } - function a(t, r, n) { - for (var i = 0, a = t.length; i < a; ++i) - if (t[i].name === r) { - ((t[i] = e), (t = t.slice(0, i).concat(t.slice(i + 1)))); - break; - } - return (null != n && t.push({ name: r, value: n }), t); - } - ((n.prototype = r.prototype = - { - constructor: n, - on: function (t, e) { - var r, - n, - o = this._, - s = - ((n = o), - (t + "") - .trim() - .split(/^|\s+/) - .map(function (t) { - var e = "", - r = t.indexOf("."); - if ( - (r >= 0 && ((e = t.slice(r + 1)), (t = t.slice(0, r))), - t && !n.hasOwnProperty(t)) - ) - throw new Error("unknown type: " + t); - return { type: t, name: e }; - })), - l = -1, - c = s.length; - if (!(arguments.length < 2)) { - if (null != e && "function" != typeof e) - throw new Error("invalid callback: " + e); - for (; ++l < c; ) - if ((r = (t = s[l]).type)) o[r] = a(o[r], t.name, e); - else if (null == e) for (r in o) o[r] = a(o[r], t.name, null); - return this; - } - for (; ++l < c; ) - if ((r = (t = s[l]).type) && (r = i(o[r], t.name))) return r; - }, - copy: function () { - var t = {}, - e = this._; - for (var r in e) t[r] = e[r].slice(); - return new n(t); - }, - call: function (t, e) { - if ((r = arguments.length - 2) > 0) - for (var r, n, i = new Array(r), a = 0; a < r; ++a) - i[a] = arguments[a + 2]; - if (!this._.hasOwnProperty(t)) - throw new Error("unknown type: " + t); - for (a = 0, r = (n = this._[t]).length; a < r; ++a) - n[a].value.apply(e, i); - }, - apply: function (t, e, r) { - if (!this._.hasOwnProperty(t)) - throw new Error("unknown type: " + t); - for (var n = this._[t], i = 0, a = n.length; i < a; ++i) - n[i].value.apply(e, r); - }, - }), - (t.dispatch = r), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 126: [ - function (t, e, r) { - var n, i; - ((n = this), - (i = function (t, e, r, n, i) { - "use strict"; - var a = function (t) { - return function () { - return t; - }; - }, - o = function () { - return 1e-6 * (Math.random() - 0.5); - }; - function s(t) { - return t.x + t.vx; - } - function l(t) { - return t.y + t.vy; - } - function c(t) { - return t.index; - } - function u(t, e) { - var r = t.get(e); - if (!r) throw new Error("missing: " + e); - return r; - } - function f(t) { - return t.x; - } - function h(t) { - return t.y; - } - var p = 10, - d = Math.PI * (3 - Math.sqrt(5)); - ((t.forceCenter = function (t, e) { - var r; - function n() { - var n, - i, - a = r.length, - o = 0, - s = 0; - for (n = 0; n < a; ++n) ((o += (i = r[n]).x), (s += i.y)); - for (o = o / a - t, s = s / a - e, n = 0; n < a; ++n) - (((i = r[n]).x -= o), (i.y -= s)); - } - return ( - null == t && (t = 0), - null == e && (e = 0), - (n.initialize = function (t) { - r = t; - }), - (n.x = function (e) { - return arguments.length ? ((t = +e), n) : t; - }), - (n.y = function (t) { - return arguments.length ? ((e = +t), n) : e; - }), - n - ); - }), - (t.forceCollide = function (t) { - var r, - n, - i = 1, - c = 1; - function u() { - for (var t, a, u, h, p, d, g, m = r.length, v = 0; v < c; ++v) - for (a = e.quadtree(r, s, l).visitAfter(f), t = 0; t < m; ++t) - ((u = r[t]), - (d = n[u.index]), - (g = d * d), - (h = u.x + u.vx), - (p = u.y + u.vy), - a.visit(y)); - function y(t, e, r, n, a) { - var s = t.data, - l = t.r, - c = d + l; - if (!s) return e > h + c || n < h - c || r > p + c || a < p - c; - if (s.index > u.index) { - var f = h - s.x - s.vx, - m = p - s.y - s.vy, - v = f * f + m * m; - v < c * c && - (0 === f && (v += (f = o()) * f), - 0 === m && (v += (m = o()) * m), - (v = ((c - (v = Math.sqrt(v))) / v) * i), - (u.vx += (f *= v) * (c = (l *= l) / (g + l))), - (u.vy += (m *= v) * c), - (s.vx -= f * (c = 1 - c)), - (s.vy -= m * c)); - } - } - } - function f(t) { - if (t.data) return (t.r = n[t.data.index]); - for (var e = (t.r = 0); e < 4; ++e) - t[e] && t[e].r > t.r && (t.r = t[e].r); - } - function h() { - if (r) { - var e, - i, - a = r.length; - for (n = new Array(a), e = 0; e < a; ++e) - ((i = r[e]), (n[i.index] = +t(i, e, r))); - } - } - return ( - "function" != typeof t && (t = a(null == t ? 1 : +t)), - (u.initialize = function (t) { - ((r = t), h()); - }), - (u.iterations = function (t) { - return arguments.length ? ((c = +t), u) : c; - }), - (u.strength = function (t) { - return arguments.length ? ((i = +t), u) : i; - }), - (u.radius = function (e) { - return arguments.length - ? ((t = "function" == typeof e ? e : a(+e)), h(), u) - : t; - }), - u - ); - }), - (t.forceLink = function (t) { - var e, - n, - i, - s, - l, - f = c, - h = function (t) { - return 1 / Math.min(s[t.source.index], s[t.target.index]); - }, - p = a(30), - d = 1; - function g(r) { - for (var i = 0, a = t.length; i < d; ++i) - for (var s, c, u, f, h, p, g, m = 0; m < a; ++m) - ((c = (s = t[m]).source), - (f = (u = s.target).x + u.vx - c.x - c.vx || o()), - (h = u.y + u.vy - c.y - c.vy || o()), - (f *= p = - (((p = Math.sqrt(f * f + h * h)) - n[m]) / p) * r * e[m]), - (h *= p), - (u.vx -= f * (g = l[m])), - (u.vy -= h * g), - (c.vx += f * (g = 1 - g)), - (c.vy += h * g)); - } - function m() { - if (i) { - var a, - o, - c = i.length, - h = t.length, - p = r.map(i, f); - for (a = 0, s = new Array(c); a < h; ++a) - (((o = t[a]).index = a), - "object" != typeof o.source && (o.source = u(p, o.source)), - "object" != typeof o.target && (o.target = u(p, o.target)), - (s[o.source.index] = (s[o.source.index] || 0) + 1), - (s[o.target.index] = (s[o.target.index] || 0) + 1)); - for (a = 0, l = new Array(h); a < h; ++a) - ((o = t[a]), - (l[a] = - s[o.source.index] / - (s[o.source.index] + s[o.target.index]))); - ((e = new Array(h)), v(), (n = new Array(h)), y()); - } - } - function v() { - if (i) - for (var r = 0, n = t.length; r < n; ++r) e[r] = +h(t[r], r, t); - } - function y() { - if (i) - for (var e = 0, r = t.length; e < r; ++e) n[e] = +p(t[e], e, t); - } - return ( - null == t && (t = []), - (g.initialize = function (t) { - ((i = t), m()); - }), - (g.links = function (e) { - return arguments.length ? ((t = e), m(), g) : t; - }), - (g.id = function (t) { - return arguments.length ? ((f = t), g) : f; - }), - (g.iterations = function (t) { - return arguments.length ? ((d = +t), g) : d; - }), - (g.strength = function (t) { - return arguments.length - ? ((h = "function" == typeof t ? t : a(+t)), v(), g) - : h; - }), - (g.distance = function (t) { - return arguments.length - ? ((p = "function" == typeof t ? t : a(+t)), y(), g) - : p; - }), - g - ); - }), - (t.forceManyBody = function () { - var t, - r, - n, - i, - s = a(-30), - l = 1, - c = 1 / 0, - u = 0.81; - function p(i) { - var a, - o = t.length, - s = e.quadtree(t, f, h).visitAfter(g); - for (n = i, a = 0; a < o; ++a) ((r = t[a]), s.visit(m)); - } - function d() { - if (t) { - var e, - r, - n = t.length; - for (i = new Array(n), e = 0; e < n; ++e) - ((r = t[e]), (i[r.index] = +s(r, e, t))); - } - } - function g(t) { - var e, - r, - n, - a, - o, - s = 0, - l = 0; - if (t.length) { - for (n = a = o = 0; o < 4; ++o) - (e = t[o]) && - (r = Math.abs(e.value)) && - ((s += e.value), (l += r), (n += r * e.x), (a += r * e.y)); - ((t.x = n / l), (t.y = a / l)); - } else { - (((e = t).x = e.data.x), (e.y = e.data.y)); - do { - s += i[e.data.index]; - } while ((e = e.next)); - } - t.value = s; - } - function m(t, e, a, s) { - if (!t.value) return !0; - var f = t.x - r.x, - h = t.y - r.y, - p = s - e, - d = f * f + h * h; - if ((p * p) / u < d) - return ( - d < c && - (0 === f && (d += (f = o()) * f), - 0 === h && (d += (h = o()) * h), - d < l && (d = Math.sqrt(l * d)), - (r.vx += (f * t.value * n) / d), - (r.vy += (h * t.value * n) / d)), - !0 - ); - if (!(t.length || d >= c)) { - (t.data !== r || t.next) && - (0 === f && (d += (f = o()) * f), - 0 === h && (d += (h = o()) * h), - d < l && (d = Math.sqrt(l * d))); - do { - t.data !== r && - ((p = (i[t.data.index] * n) / d), - (r.vx += f * p), - (r.vy += h * p)); - } while ((t = t.next)); - } - } - return ( - (p.initialize = function (e) { - ((t = e), d()); - }), - (p.strength = function (t) { - return arguments.length - ? ((s = "function" == typeof t ? t : a(+t)), d(), p) - : s; - }), - (p.distanceMin = function (t) { - return arguments.length ? ((l = t * t), p) : Math.sqrt(l); - }), - (p.distanceMax = function (t) { - return arguments.length ? ((c = t * t), p) : Math.sqrt(c); - }), - (p.theta = function (t) { - return arguments.length ? ((u = t * t), p) : Math.sqrt(u); - }), - p - ); - }), - (t.forceRadial = function (t, e, r) { - var n, - i, - o, - s = a(0.1); - function l(t) { - for (var a = 0, s = n.length; a < s; ++a) { - var l = n[a], - c = l.x - e || 1e-6, - u = l.y - r || 1e-6, - f = Math.sqrt(c * c + u * u), - h = ((o[a] - f) * i[a] * t) / f; - ((l.vx += c * h), (l.vy += u * h)); - } - } - function c() { - if (n) { - var e, - r = n.length; - for (i = new Array(r), o = new Array(r), e = 0; e < r; ++e) - ((o[e] = +t(n[e], e, n)), - (i[e] = isNaN(o[e]) ? 0 : +s(n[e], e, n))); - } - } - return ( - "function" != typeof t && (t = a(+t)), - null == e && (e = 0), - null == r && (r = 0), - (l.initialize = function (t) { - ((n = t), c()); - }), - (l.strength = function (t) { - return arguments.length - ? ((s = "function" == typeof t ? t : a(+t)), c(), l) - : s; - }), - (l.radius = function (e) { - return arguments.length - ? ((t = "function" == typeof e ? e : a(+e)), c(), l) - : t; - }), - (l.x = function (t) { - return arguments.length ? ((e = +t), l) : e; - }), - (l.y = function (t) { - return arguments.length ? ((r = +t), l) : r; - }), - l - ); - }), - (t.forceSimulation = function (t) { - var e, - a = 1, - o = 0.001, - s = 1 - Math.pow(o, 1 / 300), - l = 0, - c = 0.6, - u = r.map(), - f = i.timer(g), - h = n.dispatch("tick", "end"); - function g() { - (m(), h.call("tick", e), a < o && (f.stop(), h.call("end", e))); - } - function m() { - var e, - r, - n = t.length; - for ( - a += (l - a) * s, - u.each(function (t) { - t(a); - }), - e = 0; - e < n; - ++e - ) - (null == (r = t[e]).fx - ? (r.x += r.vx *= c) - : ((r.x = r.fx), (r.vx = 0)), - null == r.fy ? (r.y += r.vy *= c) : ((r.y = r.fy), (r.vy = 0))); - } - function v() { - for (var e, r = 0, n = t.length; r < n; ++r) { - if ((((e = t[r]).index = r), isNaN(e.x) || isNaN(e.y))) { - var i = p * Math.sqrt(r), - a = r * d; - ((e.x = i * Math.cos(a)), (e.y = i * Math.sin(a))); - } - (isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0); - } - } - function y(e) { - return (e.initialize && e.initialize(t), e); - } - return ( - null == t && (t = []), - v(), - (e = { - tick: m, - restart: function () { - return (f.restart(g), e); - }, - stop: function () { - return (f.stop(), e); - }, - nodes: function (r) { - return arguments.length ? ((t = r), v(), u.each(y), e) : t; - }, - alpha: function (t) { - return arguments.length ? ((a = +t), e) : a; - }, - alphaMin: function (t) { - return arguments.length ? ((o = +t), e) : o; - }, - alphaDecay: function (t) { - return arguments.length ? ((s = +t), e) : +s; - }, - alphaTarget: function (t) { - return arguments.length ? ((l = +t), e) : l; - }, - velocityDecay: function (t) { - return arguments.length ? ((c = 1 - t), e) : 1 - c; - }, - force: function (t, r) { - return arguments.length > 1 - ? (null == r ? u.remove(t) : u.set(t, y(r)), e) - : u.get(t); - }, - find: function (e, r, n) { - var i, - a, - o, - s, - l, - c = 0, - u = t.length; - for (null == n ? (n = 1 / 0) : (n *= n), c = 0; c < u; ++c) - (o = (i = e - (s = t[c]).x) * i + (a = r - s.y) * a) < n && - ((l = s), (n = o)); - return l; - }, - on: function (t, r) { - return arguments.length > 1 ? (h.on(t, r), e) : h.on(t); - }, - }) - ); - }), - (t.forceX = function (t) { - var e, - r, - n, - i = a(0.1); - function o(t) { - for (var i, a = 0, o = e.length; a < o; ++a) - (i = e[a]).vx += (n[a] - i.x) * r[a] * t; - } - function s() { - if (e) { - var a, - o = e.length; - for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) - r[a] = isNaN((n[a] = +t(e[a], a, e))) ? 0 : +i(e[a], a, e); - } - } - return ( - "function" != typeof t && (t = a(null == t ? 0 : +t)), - (o.initialize = function (t) { - ((e = t), s()); - }), - (o.strength = function (t) { - return arguments.length - ? ((i = "function" == typeof t ? t : a(+t)), s(), o) - : i; - }), - (o.x = function (e) { - return arguments.length - ? ((t = "function" == typeof e ? e : a(+e)), s(), o) - : t; - }), - o - ); - }), - (t.forceY = function (t) { - var e, - r, - n, - i = a(0.1); - function o(t) { - for (var i, a = 0, o = e.length; a < o; ++a) - (i = e[a]).vy += (n[a] - i.y) * r[a] * t; - } - function s() { - if (e) { - var a, - o = e.length; - for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) - r[a] = isNaN((n[a] = +t(e[a], a, e))) ? 0 : +i(e[a], a, e); - } - } - return ( - "function" != typeof t && (t = a(null == t ? 0 : +t)), - (o.initialize = function (t) { - ((e = t), s()); - }), - (o.strength = function (t) { - return arguments.length - ? ((i = "function" == typeof t ? t : a(+t)), s(), o) - : i; - }), - (o.y = function (e) { - return arguments.length - ? ((t = "function" == typeof e ? e : a(+e)), s(), o) - : t; - }), - o - ); - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - }), - "object" == typeof r && void 0 !== e - ? i( - r, - t("d3-quadtree"), - t("d3-collection"), - t("d3-dispatch"), - t("d3-timer"), - ) - : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3, n.d3)); - }, - { - "d3-collection": 123, - "d3-dispatch": 125, - "d3-quadtree": 128, - "d3-timer": 129, - }, - ], - 127: [ - function (t, e, r) { - var n, i; - ((n = this), - (i = function (t, e) { - "use strict"; - function r(t, e, r, n, i) { - var a = t * t, - o = a * t; - return ( - ((1 - 3 * t + 3 * a - o) * e + - (4 - 6 * a + 3 * o) * r + - (1 + 3 * t + 3 * a - 3 * o) * n + - o * i) / - 6 - ); - } - var n = function (t) { - var e = t.length - 1; - return function (n) { - var i = - n <= 0 - ? (n = 0) - : n >= 1 - ? ((n = 1), e - 1) - : Math.floor(n * e), - a = t[i], - o = t[i + 1], - s = i > 0 ? t[i - 1] : 2 * a - o, - l = i < e - 1 ? t[i + 2] : 2 * o - a; - return r((n - i / e) * e, s, a, o, l); - }; - }, - i = function (t) { - var e = t.length; - return function (n) { - var i = Math.floor(((n %= 1) < 0 ? ++n : n) * e), - a = t[(i + e - 1) % e], - o = t[i % e], - s = t[(i + 1) % e], - l = t[(i + 2) % e]; - return r((n - i / e) * e, a, o, s, l); - }; - }, - a = function (t) { - return function () { - return t; - }; - }; - function o(t, e) { - return function (r) { - return t + r * e; - }; - } - function s(t, e) { - var r = e - t; - return r - ? o(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) - : a(isNaN(t) ? e : t); - } - function l(t) { - return 1 == (t = +t) - ? c - : function (e, r) { - return r - e - ? (function (t, e, r) { - return ( - (t = Math.pow(t, r)), - (e = Math.pow(e, r) - t), - (r = 1 / r), - function (n) { - return Math.pow(t + n * e, r); - } - ); - })(e, r, t) - : a(isNaN(e) ? r : e); - }; - } - function c(t, e) { - var r = e - t; - return r ? o(t, r) : a(isNaN(t) ? e : t); - } - var u = (function t(r) { - var n = l(r); - function i(t, r) { - var i = n((t = e.rgb(t)).r, (r = e.rgb(r)).r), - a = n(t.g, r.g), - o = n(t.b, r.b), - s = c(t.opacity, r.opacity); - return function (e) { - return ( - (t.r = i(e)), - (t.g = a(e)), - (t.b = o(e)), - (t.opacity = s(e)), - t + "" - ); - }; - } - return ((i.gamma = t), i); - })(1); - function f(t) { - return function (r) { - var n, - i, - a = r.length, - o = new Array(a), - s = new Array(a), - l = new Array(a); - for (n = 0; n < a; ++n) - ((i = e.rgb(r[n])), - (o[n] = i.r || 0), - (s[n] = i.g || 0), - (l[n] = i.b || 0)); - return ( - (o = t(o)), - (s = t(s)), - (l = t(l)), - (i.opacity = 1), - function (t) { - return ((i.r = o(t)), (i.g = s(t)), (i.b = l(t)), i + ""); - } - ); - }; - } - var h = f(n), - p = f(i), - d = function (t, e) { - var r, - n = e ? e.length : 0, - i = t ? Math.min(n, t.length) : 0, - a = new Array(i), - o = new Array(n); - for (r = 0; r < i; ++r) a[r] = A(t[r], e[r]); - for (; r < n; ++r) o[r] = e[r]; - return function (t) { - for (r = 0; r < i; ++r) o[r] = a[r](t); - return o; - }; - }, - g = function (t, e) { - var r = new Date(); - return ( - (e -= t = +t), - function (n) { - return (r.setTime(t + e * n), r); - } - ); - }, - m = function (t, e) { - return ( - (e -= t = +t), - function (r) { - return t + e * r; - } - ); - }, - v = function (t, e) { - var r, - n = {}, - i = {}; - for (r in ((null !== t && "object" == typeof t) || (t = {}), - (null !== e && "object" == typeof e) || (e = {}), - e)) - r in t ? (n[r] = A(t[r], e[r])) : (i[r] = e[r]); - return function (t) { - for (r in n) i[r] = n[r](t); - return i; - }; - }, - y = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, - x = new RegExp(y.source, "g"); - var b, - _, - w, - k, - M = function (t, e) { - var r, - n, - i, - a = (y.lastIndex = x.lastIndex = 0), - o = -1, - s = [], - l = []; - for (t += "", e += ""; (r = y.exec(t)) && (n = x.exec(e)); ) - ((i = n.index) > a && - ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), - (r = r[0]) === (n = n[0]) - ? s[o] - ? (s[o] += n) - : (s[++o] = n) - : ((s[++o] = null), l.push({ i: o, x: m(r, n) })), - (a = x.lastIndex)); - return ( - a < e.length && - ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), - s.length < 2 - ? l[0] - ? (function (t) { - return function (e) { - return t(e) + ""; - }; - })(l[0].x) - : (function (t) { - return function () { - return t; - }; - })(e) - : ((e = l.length), - function (t) { - for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); - return s.join(""); - }) - ); - }, - A = function (t, r) { - var n, - i = typeof r; - return null == r || "boolean" === i - ? a(r) - : ("number" === i - ? m - : "string" === i - ? (n = e.color(r)) - ? ((r = n), u) - : M - : r instanceof e.color - ? u - : r instanceof Date - ? g - : Array.isArray(r) - ? d - : ("function" != typeof r.valueOf && - "function" != typeof r.toString) || - isNaN(r) - ? v - : m)(t, r); - }, - T = 180 / Math.PI, - S = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1, - }, - C = function (t, e, r, n, i, a) { - var o, s, l; - return ( - (o = Math.sqrt(t * t + e * e)) && ((t /= o), (e /= o)), - (l = t * r + e * n) && ((r -= t * l), (n -= e * l)), - (s = Math.sqrt(r * r + n * n)) && ((r /= s), (n /= s), (l /= s)), - t * n < e * r && ((t = -t), (e = -e), (l = -l), (o = -o)), - { - translateX: i, - translateY: a, - rotate: Math.atan2(e, t) * T, - skewX: Math.atan(l) * T, - scaleX: o, - scaleY: s, - } - ); - }; - function E(t, e, r, n) { - function i(t) { - return t.length ? t.pop() + " " : ""; - } - return function (a, o) { - var s = [], - l = []; - return ( - (a = t(a)), - (o = t(o)), - (function (t, n, i, a, o, s) { - if (t !== i || n !== a) { - var l = o.push("translate(", null, e, null, r); - s.push({ i: l - 4, x: m(t, i) }, { i: l - 2, x: m(n, a) }); - } else (i || a) && o.push("translate(" + i + e + a + r); - })(a.translateX, a.translateY, o.translateX, o.translateY, s, l), - (function (t, e, r, a) { - t !== e - ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), - a.push({ - i: r.push(i(r) + "rotate(", null, n) - 2, - x: m(t, e), - })) - : e && r.push(i(r) + "rotate(" + e + n); - })(a.rotate, o.rotate, s, l), - (function (t, e, r, a) { - t !== e - ? a.push({ - i: r.push(i(r) + "skewX(", null, n) - 2, - x: m(t, e), - }) - : e && r.push(i(r) + "skewX(" + e + n); - })(a.skewX, o.skewX, s, l), - (function (t, e, r, n, a, o) { - if (t !== r || e !== n) { - var s = a.push(i(a) + "scale(", null, ",", null, ")"); - o.push({ i: s - 4, x: m(t, r) }, { i: s - 2, x: m(e, n) }); - } else - (1 === r && 1 === n) || - a.push(i(a) + "scale(" + r + "," + n + ")"); - })(a.scaleX, a.scaleY, o.scaleX, o.scaleY, s, l), - (a = o = null), - function (t) { - for (var e, r = -1, n = l.length; ++r < n; ) - s[(e = l[r]).i] = e.x(t); - return s.join(""); - } - ); - }; - } - var L = E( - function (t) { - return "none" === t - ? S - : (b || - ((b = document.createElement("DIV")), - (_ = document.documentElement), - (w = document.defaultView)), - (b.style.transform = t), - (t = w - .getComputedStyle(_.appendChild(b), null) - .getPropertyValue("transform")), - _.removeChild(b), - (t = t.slice(7, -1).split(",")), - C(+t[0], +t[1], +t[2], +t[3], +t[4], +t[5])); - }, - "px, ", - "px)", - "deg)", - ), - z = E( - function (t) { - return null == t - ? S - : (k || - (k = document.createElementNS( - "http://www.w3.org/2000/svg", - "g", - )), - k.setAttribute("transform", t), - (t = k.transform.baseVal.consolidate()) - ? ((t = t.matrix), C(t.a, t.b, t.c, t.d, t.e, t.f)) - : S); - }, - ", ", - ")", - ")", - ), - P = Math.SQRT2; - function D(t) { - return ((t = Math.exp(t)) + 1 / t) / 2; - } - function O(t) { - return function (r, n) { - var i = t((r = e.hsl(r)).h, (n = e.hsl(n)).h), - a = c(r.s, n.s), - o = c(r.l, n.l), - s = c(r.opacity, n.opacity); - return function (t) { - return ( - (r.h = i(t)), - (r.s = a(t)), - (r.l = o(t)), - (r.opacity = s(t)), - r + "" - ); - }; - }; - } - var I = O(s), - R = O(c); - function B(t) { - return function (r, n) { - var i = t((r = e.hcl(r)).h, (n = e.hcl(n)).h), - a = c(r.c, n.c), - o = c(r.l, n.l), - s = c(r.opacity, n.opacity); - return function (t) { - return ( - (r.h = i(t)), - (r.c = a(t)), - (r.l = o(t)), - (r.opacity = s(t)), - r + "" - ); - }; - }; - } - var F = B(s), - N = B(c); - function j(t) { - return (function r(n) { - function i(r, i) { - var a = t((r = e.cubehelix(r)).h, (i = e.cubehelix(i)).h), - o = c(r.s, i.s), - s = c(r.l, i.l), - l = c(r.opacity, i.opacity); - return function (t) { - return ( - (r.h = a(t)), - (r.s = o(t)), - (r.l = s(Math.pow(t, n))), - (r.opacity = l(t)), - r + "" - ); - }; - } - return ((n = +n), (i.gamma = r), i); - })(1); - } - var V = j(s), - U = j(c); - ((t.interpolate = A), - (t.interpolateArray = d), - (t.interpolateBasis = n), - (t.interpolateBasisClosed = i), - (t.interpolateDate = g), - (t.interpolateNumber = m), - (t.interpolateObject = v), - (t.interpolateRound = function (t, e) { - return ( - (e -= t = +t), - function (r) { - return Math.round(t + e * r); - } - ); - }), - (t.interpolateString = M), - (t.interpolateTransformCss = L), - (t.interpolateTransformSvg = z), - (t.interpolateZoom = function (t, e) { - var r, - n, - i = t[0], - a = t[1], - o = t[2], - s = e[0], - l = e[1], - c = e[2], - u = s - i, - f = l - a, - h = u * u + f * f; - if (h < 1e-12) - ((n = Math.log(c / o) / P), - (r = function (t) { - return [i + t * u, a + t * f, o * Math.exp(P * t * n)]; - })); - else { - var p = Math.sqrt(h), - d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), - g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), - m = Math.log(Math.sqrt(d * d + 1) - d), - v = Math.log(Math.sqrt(g * g + 1) - g); - ((n = (v - m) / P), - (r = function (t) { - var e, - r = t * n, - s = D(m), - l = - (o / (2 * p)) * - (s * - ((e = P * r + m), ((e = Math.exp(2 * e)) - 1) / (e + 1)) - - (function (t) { - return ((t = Math.exp(t)) - 1 / t) / 2; - })(m)); - return [i + l * u, a + l * f, (o * s) / D(P * r + m)]; - })); - } - return ((r.duration = 1e3 * n), r); - }), - (t.interpolateRgb = u), - (t.interpolateRgbBasis = h), - (t.interpolateRgbBasisClosed = p), - (t.interpolateHsl = I), - (t.interpolateHslLong = R), - (t.interpolateLab = function (t, r) { - var n = c((t = e.lab(t)).l, (r = e.lab(r)).l), - i = c(t.a, r.a), - a = c(t.b, r.b), - o = c(t.opacity, r.opacity); - return function (e) { - return ( - (t.l = n(e)), - (t.a = i(e)), - (t.b = a(e)), - (t.opacity = o(e)), - t + "" - ); - }; - }), - (t.interpolateHcl = F), - (t.interpolateHclLong = N), - (t.interpolateCubehelix = V), - (t.interpolateCubehelixLong = U), - (t.quantize = function (t, e) { - for (var r = new Array(e), n = 0; n < e; ++n) r[n] = t(n / (e - 1)); - return r; - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - }), - "object" == typeof r && void 0 !== e - ? i(r, t("d3-color")) - : i((n.d3 = n.d3 || {}), n.d3)); - }, - { "d3-color": 124 }, - ], - 128: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - function e(t, e, r, n) { - if (isNaN(e) || isNaN(r)) return t; - var i, - a, - o, - s, - l, - c, - u, - f, - h, - p = t._root, - d = { data: n }, - g = t._x0, - m = t._y0, - v = t._x1, - y = t._y1; - if (!p) return ((t._root = d), t); - for (; p.length; ) - if ( - ((c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), - (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o), - (i = p), - !(p = p[(f = (u << 1) | c)])) - ) - return ((i[f] = d), t); - if ( - ((s = +t._x.call(null, p.data)), - (l = +t._y.call(null, p.data)), - e === s && r === l) - ) - return ((d.next = p), i ? (i[f] = d) : (t._root = d), t); - do { - ((i = i ? (i[f] = new Array(4)) : (t._root = new Array(4))), - (c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), - (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o)); - } while ((f = (u << 1) | c) == (h = ((l >= o) << 1) | (s >= a))); - return ((i[h] = p), (i[f] = d), t); - } - var r = function (t, e, r, n, i) { - ((this.node = t), - (this.x0 = e), - (this.y0 = r), - (this.x1 = n), - (this.y1 = i)); - }; - function n(t) { - return t[0]; - } - function i(t) { - return t[1]; - } - function a(t, e, r) { - var a = new o(null == e ? n : e, null == r ? i : r, NaN, NaN, NaN, NaN); - return null == t ? a : a.addAll(t); - } - function o(t, e, r, n, i, a) { - ((this._x = t), - (this._y = e), - (this._x0 = r), - (this._y0 = n), - (this._x1 = i), - (this._y1 = a), - (this._root = void 0)); - } - function s(t) { - for (var e = { data: t.data }, r = e; (t = t.next); ) - r = r.next = { data: t.data }; - return e; - } - var l = (a.prototype = o.prototype); - ((l.copy = function () { - var t, - e, - r = new o(this._x, this._y, this._x0, this._y0, this._x1, this._y1), - n = this._root; - if (!n) return r; - if (!n.length) return ((r._root = s(n)), r); - for ( - t = [{ source: n, target: (r._root = new Array(4)) }]; - (n = t.pop()); - - ) - for (var i = 0; i < 4; ++i) - (e = n.source[i]) && - (e.length - ? t.push({ source: e, target: (n.target[i] = new Array(4)) }) - : (n.target[i] = s(e))); - return r; - }), - (l.add = function (t) { - var r = +this._x.call(null, t), - n = +this._y.call(null, t); - return e(this.cover(r, n), r, n, t); - }), - (l.addAll = function (t) { - var r, - n, - i, - a, - o = t.length, - s = new Array(o), - l = new Array(o), - c = 1 / 0, - u = 1 / 0, - f = -1 / 0, - h = -1 / 0; - for (n = 0; n < o; ++n) - isNaN((i = +this._x.call(null, (r = t[n])))) || - isNaN((a = +this._y.call(null, r))) || - ((s[n] = i), - (l[n] = a), - i < c && (c = i), - i > f && (f = i), - a < u && (u = a), - a > h && (h = a)); - for ( - f < c && ((c = this._x0), (f = this._x1)), - h < u && ((u = this._y0), (h = this._y1)), - this.cover(c, u).cover(f, h), - n = 0; - n < o; - ++n - ) - e(this, s[n], l[n], t[n]); - return this; - }), - (l.cover = function (t, e) { - if (isNaN((t = +t)) || isNaN((e = +e))) return this; - var r = this._x0, - n = this._y0, - i = this._x1, - a = this._y1; - if (isNaN(r)) - ((i = (r = Math.floor(t)) + 1), (a = (n = Math.floor(e)) + 1)); - else { - if (!(r > t || t > i || n > e || e > a)) return this; - var o, - s, - l = i - r, - c = this._root; - switch ((s = ((e < (n + a) / 2) << 1) | (t < (r + i) / 2))) { - case 0: - do { - (((o = new Array(4))[s] = c), (c = o)); - } while (((a = n + (l *= 2)), t > (i = r + l) || e > a)); - break; - case 1: - do { - (((o = new Array(4))[s] = c), (c = o)); - } while (((a = n + (l *= 2)), (r = i - l) > t || e > a)); - break; - case 2: - do { - (((o = new Array(4))[s] = c), (c = o)); - } while (((n = a - (l *= 2)), t > (i = r + l) || n > e)); - break; - case 3: - do { - (((o = new Array(4))[s] = c), (c = o)); - } while (((n = a - (l *= 2)), (r = i - l) > t || n > e)); - } - this._root && this._root.length && (this._root = c); - } - return ( - (this._x0 = r), - (this._y0 = n), - (this._x1 = i), - (this._y1 = a), - this - ); - }), - (l.data = function () { - var t = []; - return ( - this.visit(function (e) { - if (!e.length) - do { - t.push(e.data); - } while ((e = e.next)); - }), - t - ); - }), - (l.extent = function (t) { - return arguments.length - ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) - : isNaN(this._x0) - ? void 0 - : [ - [this._x0, this._y0], - [this._x1, this._y1], - ]; - }), - (l.find = function (t, e, n) { - var i, - a, - o, - s, - l, - c, - u, - f = this._x0, - h = this._y0, - p = this._x1, - d = this._y1, - g = [], - m = this._root; - for ( - m && g.push(new r(m, f, h, p, d)), - null == n - ? (n = 1 / 0) - : ((f = t - n), - (h = e - n), - (p = t + n), - (d = e + n), - (n *= n)); - (c = g.pop()); - - ) - if ( - !( - !(m = c.node) || - (a = c.x0) > p || - (o = c.y0) > d || - (s = c.x1) < f || - (l = c.y1) < h - ) - ) - if (m.length) { - var v = (a + s) / 2, - y = (o + l) / 2; - (g.push( - new r(m[3], v, y, s, l), - new r(m[2], a, y, v, l), - new r(m[1], v, o, s, y), - new r(m[0], a, o, v, y), - ), - (u = ((e >= y) << 1) | (t >= v)) && - ((c = g[g.length - 1]), - (g[g.length - 1] = g[g.length - 1 - u]), - (g[g.length - 1 - u] = c))); - } else { - var x = t - +this._x.call(null, m.data), - b = e - +this._y.call(null, m.data), - _ = x * x + b * b; - if (_ < n) { - var w = Math.sqrt((n = _)); - ((f = t - w), - (h = e - w), - (p = t + w), - (d = e + w), - (i = m.data)); - } - } - return i; - }), - (l.remove = function (t) { - if ( - isNaN((a = +this._x.call(null, t))) || - isNaN((o = +this._y.call(null, t))) - ) - return this; - var e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p = this._root, - d = this._x0, - g = this._y0, - m = this._x1, - v = this._y1; - if (!p) return this; - if (p.length) - for (;;) { - if ( - ((c = a >= (s = (d + m) / 2)) ? (d = s) : (m = s), - (u = o >= (l = (g + v) / 2)) ? (g = l) : (v = l), - (e = p), - !(p = p[(f = (u << 1) | c)])) - ) - return this; - if (!p.length) break; - (e[(f + 1) & 3] || e[(f + 2) & 3] || e[(f + 3) & 3]) && - ((r = e), (h = f)); - } - for (; p.data !== t; ) if (((n = p), !(p = p.next))) return this; - return ( - (i = p.next) && delete p.next, - n - ? (i ? (n.next = i) : delete n.next, this) - : e - ? (i ? (e[f] = i) : delete e[f], - (p = e[0] || e[1] || e[2] || e[3]) && - p === (e[3] || e[2] || e[1] || e[0]) && - !p.length && - (r ? (r[h] = p) : (this._root = p)), - this) - : ((this._root = i), this) - ); - }), - (l.removeAll = function (t) { - for (var e = 0, r = t.length; e < r; ++e) this.remove(t[e]); - return this; - }), - (l.root = function () { - return this._root; - }), - (l.size = function () { - var t = 0; - return ( - this.visit(function (e) { - if (!e.length) - do { - ++t; - } while ((e = e.next)); - }), - t - ); - }), - (l.visit = function (t) { - var e, - n, - i, - a, - o, - s, - l = [], - c = this._root; - for ( - c && l.push(new r(c, this._x0, this._y0, this._x1, this._y1)); - (e = l.pop()); - - ) - if ( - !t( - (c = e.node), - (i = e.x0), - (a = e.y0), - (o = e.x1), - (s = e.y1), - ) && - c.length - ) { - var u = (i + o) / 2, - f = (a + s) / 2; - ((n = c[3]) && l.push(new r(n, u, f, o, s)), - (n = c[2]) && l.push(new r(n, i, f, u, s)), - (n = c[1]) && l.push(new r(n, u, a, o, f)), - (n = c[0]) && l.push(new r(n, i, a, u, f))); - } - return this; - }), - (l.visitAfter = function (t) { - var e, - n = [], - i = []; - for ( - this._root && - n.push(new r(this._root, this._x0, this._y0, this._x1, this._y1)); - (e = n.pop()); - - ) { - var a = e.node; - if (a.length) { - var o, - s = e.x0, - l = e.y0, - c = e.x1, - u = e.y1, - f = (s + c) / 2, - h = (l + u) / 2; - ((o = a[0]) && n.push(new r(o, s, l, f, h)), - (o = a[1]) && n.push(new r(o, f, l, c, h)), - (o = a[2]) && n.push(new r(o, s, h, f, u)), - (o = a[3]) && n.push(new r(o, f, h, c, u))); - } - i.push(e); - } - for (; (e = i.pop()); ) t(e.node, e.x0, e.y0, e.x1, e.y1); - return this; - }), - (l.x = function (t) { - return arguments.length ? ((this._x = t), this) : this._x; - }), - (l.y = function (t) { - return arguments.length ? ((this._y = t), this) : this._y; - }), - (t.quadtree = a), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 129: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - var e, - r, - n = 0, - i = 0, - a = 0, - o = 1e3, - s = 0, - l = 0, - c = 0, - u = - "object" == typeof performance && performance.now - ? performance - : Date, - f = - "object" == typeof window && window.requestAnimationFrame - ? window.requestAnimationFrame.bind(window) - : function (t) { - setTimeout(t, 17); - }; - function h() { - return l || (f(p), (l = u.now() + c)); - } - function p() { - l = 0; - } - function d() { - this._call = this._time = this._next = null; - } - function g(t, e, r) { - var n = new d(); - return (n.restart(t, e, r), n); - } - function m() { - (h(), ++n); - for (var t, r = e; r; ) - ((t = l - r._time) >= 0 && r._call.call(null, t), (r = r._next)); - --n; - } - function v() { - ((l = (s = u.now()) + c), (n = i = 0)); - try { - m(); - } finally { - ((n = 0), - (function () { - var t, - n, - i = e, - a = 1 / 0; - for (; i; ) - i._call - ? (a > i._time && (a = i._time), (t = i), (i = i._next)) - : ((n = i._next), - (i._next = null), - (i = t ? (t._next = n) : (e = n))); - ((r = t), x(a)); - })(), - (l = 0)); - } - } - function y() { - var t = u.now(), - e = t - s; - e > o && ((c -= e), (s = t)); - } - function x(t) { - n || - (i && (i = clearTimeout(i)), - t - l > 24 - ? (t < 1 / 0 && (i = setTimeout(v, t - u.now() - c)), - a && (a = clearInterval(a))) - : (a || ((s = u.now()), (a = setInterval(y, o))), (n = 1), f(v))); - } - d.prototype = g.prototype = { - constructor: d, - restart: function (t, n, i) { - if ("function" != typeof t) - throw new TypeError("callback is not a function"); - ((i = (null == i ? h() : +i) + (null == n ? 0 : +n)), - this._next || - r === this || - (r ? (r._next = this) : (e = this), (r = this)), - (this._call = t), - (this._time = i), - x()); - }, - stop: function () { - this._call && ((this._call = null), (this._time = 1 / 0), x()); - }, - }; - ((t.now = h), - (t.timer = g), - (t.timerFlush = m), - (t.timeout = function (t, e, r) { - var n = new d(); - return ( - (e = null == e ? 0 : +e), - n.restart( - function (r) { - (n.stop(), t(r + e)); - }, - e, - r, - ), - n - ); - }), - (t.interval = function (t, e, r) { - var n = new d(), - i = e; - return null == e - ? (n.restart(t, e, r), n) - : ((e = +e), - (r = null == r ? h() : +r), - n.restart( - function a(o) { - ((o += i), n.restart(a, (i += e), r), t(o)); - }, - e, - r, - ), - n); - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - })("object" == typeof r && void 0 !== e ? r : (n.d3 = n.d3 || {}))); - }, - {}, - ], - 130: [ - function (t, e, r) { - !(function () { - var t = { version: "3.5.17" }, - r = [].slice, - n = function (t) { - return r.call(t); - }, - i = this.document; - function a(t) { - return t && (t.ownerDocument || t.document || t).documentElement; - } - function o(t) { - return ( - t && - ((t.ownerDocument && t.ownerDocument.defaultView) || - (t.document && t) || - t.defaultView) - ); - } - if (i) - try { - n(i.documentElement.childNodes)[0].nodeType; - } catch (t) { - n = function (t) { - for (var e = t.length, r = new Array(e); e--; ) r[e] = t[e]; - return r; - }; - } - if ( - (Date.now || - (Date.now = function () { - return +new Date(); - }), - i) - ) - try { - i.createElement("DIV").style.setProperty("opacity", 0, ""); - } catch (t) { - var s = this.Element.prototype, - l = s.setAttribute, - c = s.setAttributeNS, - u = this.CSSStyleDeclaration.prototype, - f = u.setProperty; - ((s.setAttribute = function (t, e) { - l.call(this, t, e + ""); - }), - (s.setAttributeNS = function (t, e, r) { - c.call(this, t, e, r + ""); - }), - (u.setProperty = function (t, e, r) { - f.call(this, t, e + "", r); - })); - } - function h(t, e) { - return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; - } - function p(t) { - return null === t ? NaN : +t; - } - function d(t) { - return !isNaN(t); - } - function g(t) { - return { - left: function (e, r, n, i) { - for ( - arguments.length < 3 && (n = 0), - arguments.length < 4 && (i = e.length); - n < i; - - ) { - var a = (n + i) >>> 1; - t(e[a], r) < 0 ? (n = a + 1) : (i = a); - } - return n; - }, - right: function (e, r, n, i) { - for ( - arguments.length < 3 && (n = 0), - arguments.length < 4 && (i = e.length); - n < i; - - ) { - var a = (n + i) >>> 1; - t(e[a], r) > 0 ? (i = a) : (n = a + 1); - } - return n; - }, - }; - } - ((t.ascending = h), - (t.descending = function (t, e) { - return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; - }), - (t.min = function (t, e) { - var r, - n, - i = -1, - a = t.length; - if (1 === arguments.length) { - for (; ++i < a; ) - if (null != (n = t[i]) && n >= n) { - r = n; - break; - } - for (; ++i < a; ) null != (n = t[i]) && r > n && (r = n); - } else { - for (; ++i < a; ) - if (null != (n = e.call(t, t[i], i)) && n >= n) { - r = n; - break; - } - for (; ++i < a; ) - null != (n = e.call(t, t[i], i)) && r > n && (r = n); - } - return r; - }), - (t.max = function (t, e) { - var r, - n, - i = -1, - a = t.length; - if (1 === arguments.length) { - for (; ++i < a; ) - if (null != (n = t[i]) && n >= n) { - r = n; - break; - } - for (; ++i < a; ) null != (n = t[i]) && n > r && (r = n); - } else { - for (; ++i < a; ) - if (null != (n = e.call(t, t[i], i)) && n >= n) { - r = n; - break; - } - for (; ++i < a; ) - null != (n = e.call(t, t[i], i)) && n > r && (r = n); - } - return r; - }), - (t.extent = function (t, e) { - var r, - n, - i, - a = -1, - o = t.length; - if (1 === arguments.length) { - for (; ++a < o; ) - if (null != (n = t[a]) && n >= n) { - r = i = n; - break; - } - for (; ++a < o; ) - null != (n = t[a]) && (r > n && (r = n), i < n && (i = n)); - } else { - for (; ++a < o; ) - if (null != (n = e.call(t, t[a], a)) && n >= n) { - r = i = n; - break; - } - for (; ++a < o; ) - null != (n = e.call(t, t[a], a)) && - (r > n && (r = n), i < n && (i = n)); - } - return [r, i]; - }), - (t.sum = function (t, e) { - var r, - n = 0, - i = t.length, - a = -1; - if (1 === arguments.length) - for (; ++a < i; ) d((r = +t[a])) && (n += r); - else for (; ++a < i; ) d((r = +e.call(t, t[a], a))) && (n += r); - return n; - }), - (t.mean = function (t, e) { - var r, - n = 0, - i = t.length, - a = -1, - o = i; - if (1 === arguments.length) - for (; ++a < i; ) d((r = p(t[a]))) ? (n += r) : --o; - else for (; ++a < i; ) d((r = p(e.call(t, t[a], a)))) ? (n += r) : --o; - if (o) return n / o; - }), - (t.quantile = function (t, e) { - var r = (t.length - 1) * e + 1, - n = Math.floor(r), - i = +t[n - 1], - a = r - n; - return a ? i + a * (t[n] - i) : i; - }), - (t.median = function (e, r) { - var n, - i = [], - a = e.length, - o = -1; - if (1 === arguments.length) - for (; ++o < a; ) d((n = p(e[o]))) && i.push(n); - else for (; ++o < a; ) d((n = p(r.call(e, e[o], o)))) && i.push(n); - if (i.length) return t.quantile(i.sort(h), 0.5); - }), - (t.variance = function (t, e) { - var r, - n, - i = t.length, - a = 0, - o = 0, - s = -1, - l = 0; - if (1 === arguments.length) - for (; ++s < i; ) - d((r = p(t[s]))) && (o += (n = r - a) * (r - (a += n / ++l))); - else - for (; ++s < i; ) - d((r = p(e.call(t, t[s], s)))) && - (o += (n = r - a) * (r - (a += n / ++l))); - if (l > 1) return o / (l - 1); - }), - (t.deviation = function () { - var e = t.variance.apply(this, arguments); - return e ? Math.sqrt(e) : e; - })); - var m = g(h); - function v(t) { - return t.length; - } - ((t.bisectLeft = m.left), - (t.bisect = t.bisectRight = m.right), - (t.bisector = function (t) { - return g( - 1 === t.length - ? function (e, r) { - return h(t(e), r); - } - : t, - ); - }), - (t.shuffle = function (t, e, r) { - (a = arguments.length) < 3 && ((r = t.length), a < 2 && (e = 0)); - for (var n, i, a = r - e; a; ) - ((i = (Math.random() * a--) | 0), - (n = t[a + e]), - (t[a + e] = t[i + e]), - (t[i + e] = n)); - return t; - }), - (t.permute = function (t, e) { - for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; - return n; - }), - (t.pairs = function (t) { - for ( - var e = 0, r = t.length - 1, n = t[0], i = new Array(r < 0 ? 0 : r); - e < r; - - ) - i[e] = [n, (n = t[++e])]; - return i; - }), - (t.transpose = function (e) { - if (!(a = e.length)) return []; - for (var r = -1, n = t.min(e, v), i = new Array(n); ++r < n; ) - for (var a, o = -1, s = (i[r] = new Array(a)); ++o < a; ) - s[o] = e[o][r]; - return i; - }), - (t.zip = function () { - return t.transpose(arguments); - }), - (t.keys = function (t) { - var e = []; - for (var r in t) e.push(r); - return e; - }), - (t.values = function (t) { - var e = []; - for (var r in t) e.push(t[r]); - return e; - }), - (t.entries = function (t) { - var e = []; - for (var r in t) e.push({ key: r, value: t[r] }); - return e; - }), - (t.merge = function (t) { - for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) - o += t[a].length; - for (r = new Array(o); --i >= 0; ) - for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; - return r; - })); - var y = Math.abs; - function x(t, e) { - for (var r in e) - Object.defineProperty(t.prototype, r, { value: e[r], enumerable: !1 }); - } - function b() { - this._ = Object.create(null); - } - ((t.range = function (t, e, r) { - if ( - (arguments.length < 3 && - ((r = 1), arguments.length < 2 && ((e = t), (t = 0))), - (e - t) / r == 1 / 0) - ) - throw new Error("infinite range"); - var n, - i = [], - a = (function (t) { - var e = 1; - for (; (t * e) % 1; ) e *= 10; - return e; - })(y(r)), - o = -1; - if (((t *= a), (e *= a), (r *= a) < 0)) - for (; (n = t + r * ++o) > e; ) i.push(n / a); - else for (; (n = t + r * ++o) < e; ) i.push(n / a); - return i; - }), - (t.map = function (t, e) { - var r = new b(); - if (t instanceof b) - t.forEach(function (t, e) { - r.set(t, e); - }); - else if (Array.isArray(t)) { - var n, - i = -1, - a = t.length; - if (1 === arguments.length) for (; ++i < a; ) r.set(i, t[i]); - else for (; ++i < a; ) r.set(e.call(t, (n = t[i]), i), n); - } else for (var o in t) r.set(o, t[o]); - return r; - })); - var _ = "__proto__", - w = "\0"; - function k(t) { - return (t += "") === _ || t[0] === w ? w + t : t; - } - function M(t) { - return (t += "")[0] === w ? t.slice(1) : t; - } - function A(t) { - return k(t) in this._; - } - function T(t) { - return (t = k(t)) in this._ && delete this._[t]; - } - function S() { - var t = []; - for (var e in this._) t.push(M(e)); - return t; - } - function C() { - var t = 0; - for (var e in this._) ++t; - return t; - } - function E() { - for (var t in this._) return !1; - return !0; - } - function L() { - this._ = Object.create(null); - } - function z(t) { - return t; - } - function P(t, e, r) { - return function () { - var n = r.apply(e, arguments); - return n === e ? t : n; - }; - } - function D(t, e) { - if (e in t) return e; - e = e.charAt(0).toUpperCase() + e.slice(1); - for (var r = 0, n = O.length; r < n; ++r) { - var i = O[r] + e; - if (i in t) return i; - } - } - (x(b, { - has: A, - get: function (t) { - return this._[k(t)]; - }, - set: function (t, e) { - return (this._[k(t)] = e); - }, - remove: T, - keys: S, - values: function () { - var t = []; - for (var e in this._) t.push(this._[e]); - return t; - }, - entries: function () { - var t = []; - for (var e in this._) t.push({ key: M(e), value: this._[e] }); - return t; - }, - size: C, - empty: E, - forEach: function (t) { - for (var e in this._) t.call(this, M(e), this._[e]); - }, - }), - (t.nest = function () { - var e, - r, - n = {}, - i = [], - a = []; - function o(t, a, s) { - if (s >= i.length) return r ? r.call(n, a) : e ? a.sort(e) : a; - for ( - var l, c, u, f, h = -1, p = a.length, d = i[s++], g = new b(); - ++h < p; - - ) - (f = g.get((l = d((c = a[h]))))) ? f.push(c) : g.set(l, [c]); - return ( - t - ? ((c = t()), - (u = function (e, r) { - c.set(e, o(t, r, s)); - })) - : ((c = {}), - (u = function (e, r) { - c[e] = o(t, r, s); - })), - g.forEach(u), - c - ); - } - return ( - (n.map = function (t, e) { - return o(e, t, 0); - }), - (n.entries = function (e) { - return (function t(e, r) { - if (r >= i.length) return e; - var n = [], - o = a[r++]; - return ( - e.forEach(function (e, i) { - n.push({ key: e, values: t(i, r) }); - }), - o - ? n.sort(function (t, e) { - return o(t.key, e.key); - }) - : n - ); - })(o(t.map, e, 0), 0); - }), - (n.key = function (t) { - return (i.push(t), n); - }), - (n.sortKeys = function (t) { - return ((a[i.length - 1] = t), n); - }), - (n.sortValues = function (t) { - return ((e = t), n); - }), - (n.rollup = function (t) { - return ((r = t), n); - }), - n - ); - }), - (t.set = function (t) { - var e = new L(); - if (t) for (var r = 0, n = t.length; r < n; ++r) e.add(t[r]); - return e; - }), - x(L, { - has: A, - add: function (t) { - return ((this._[k((t += ""))] = !0), t); - }, - remove: T, - values: S, - size: C, - empty: E, - forEach: function (t) { - for (var e in this._) t.call(this, M(e)); - }, - }), - (t.behavior = {}), - (t.rebind = function (t, e) { - for (var r, n = 1, i = arguments.length; ++n < i; ) - t[(r = arguments[n])] = P(t, e, e[r]); - return t; - })); - var O = ["webkit", "ms", "moz", "Moz", "o", "O"]; - function I() {} - function R() {} - function B(t) { - var e = [], - r = new b(); - function n() { - for (var r, n = e, i = -1, a = n.length; ++i < a; ) - (r = n[i].on) && r.apply(this, arguments); - return t; - } - return ( - (n.on = function (n, i) { - var a, - o = r.get(n); - return arguments.length < 2 - ? o && o.on - : (o && - ((o.on = null), - (e = e.slice(0, (a = e.indexOf(o))).concat(e.slice(a + 1))), - r.remove(n)), - i && e.push(r.set(n, { on: i })), - t); - }), - n - ); - } - function F() { - t.event.preventDefault(); - } - function N() { - for (var e, r = t.event; (e = r.sourceEvent); ) r = e; - return r; - } - function j(e) { - for (var r = new R(), n = 0, i = arguments.length; ++n < i; ) - r[arguments[n]] = B(r); - return ( - (r.of = function (n, i) { - return function (a) { - try { - var o = (a.sourceEvent = t.event); - ((a.target = e), (t.event = a), r[a.type].apply(n, i)); - } finally { - t.event = o; - } - }; - }), - r - ); - } - ((t.dispatch = function () { - for (var t = new R(), e = -1, r = arguments.length; ++e < r; ) - t[arguments[e]] = B(t); - return t; - }), - (R.prototype.on = function (t, e) { - var r = t.indexOf("."), - n = ""; - if ((r >= 0 && ((n = t.slice(r + 1)), (t = t.slice(0, r))), t)) - return arguments.length < 2 ? this[t].on(n) : this[t].on(n, e); - if (2 === arguments.length) { - if (null == e) - for (t in this) this.hasOwnProperty(t) && this[t].on(n, null); - return this; - } - }), - (t.event = null), - (t.requote = function (t) { - return t.replace(V, "\\$&"); - })); - var V = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, - U = {}.__proto__ - ? function (t, e) { - t.__proto__ = e; - } - : function (t, e) { - for (var r in e) t[r] = e[r]; - }; - function q(t) { - return (U(t, Y), t); - } - var H = function (t, e) { - return e.querySelector(t); - }, - G = function (t, e) { - return e.querySelectorAll(t); - }, - W = function (t, e) { - var r = t.matches || t[D(t, "matchesSelector")]; - return (W = function (t, e) { - return r.call(t, e); - })(t, e); - }; - ("function" == typeof Sizzle && - ((H = function (t, e) { - return Sizzle(t, e)[0] || null; - }), - (G = Sizzle), - (W = Sizzle.matchesSelector)), - (t.selection = function () { - return t.select(i.documentElement); - })); - var Y = (t.selection.prototype = []); - function X(t) { - return "function" == typeof t - ? t - : function () { - return H(t, this); - }; - } - function Z(t) { - return "function" == typeof t - ? t - : function () { - return G(t, this); - }; - } - ((Y.select = function (t) { - var e, - r, - n, - i, - a = []; - t = X(t); - for (var o = -1, s = this.length; ++o < s; ) { - (a.push((e = [])), (e.parentNode = (n = this[o]).parentNode)); - for (var l = -1, c = n.length; ++l < c; ) - (i = n[l]) - ? (e.push((r = t.call(i, i.__data__, l, o))), - r && "__data__" in i && (r.__data__ = i.__data__)) - : e.push(null); - } - return q(a); - }), - (Y.selectAll = function (t) { - var e, - r, - i = []; - t = Z(t); - for (var a = -1, o = this.length; ++a < o; ) - for (var s = this[a], l = -1, c = s.length; ++l < c; ) - (r = s[l]) && - (i.push((e = n(t.call(r, r.__data__, l, a)))), - (e.parentNode = r)); - return q(i); - })); - var J = "http://www.w3.org/1999/xhtml", - K = { - svg: "http://www.w3.org/2000/svg", - xhtml: J, - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/", - }; - function Q(e, r) { - return ( - (e = t.ns.qualify(e)), - null == r - ? e.local - ? function () { - this.removeAttributeNS(e.space, e.local); - } - : function () { - this.removeAttribute(e); - } - : "function" == typeof r - ? e.local - ? function () { - var t = r.apply(this, arguments); - null == t - ? this.removeAttributeNS(e.space, e.local) - : this.setAttributeNS(e.space, e.local, t); - } - : function () { - var t = r.apply(this, arguments); - null == t ? this.removeAttribute(e) : this.setAttribute(e, t); - } - : e.local - ? function () { - this.setAttributeNS(e.space, e.local, r); - } - : function () { - this.setAttribute(e, r); - } - ); - } - function $(t) { - return t.trim().replace(/\s+/g, " "); - } - function tt(e) { - return new RegExp("(?:^|\\s+)" + t.requote(e) + "(?:\\s+|$)", "g"); - } - function et(t) { - return (t + "").trim().split(/^|\s+/); - } - function rt(t, e) { - var r = (t = et(t).map(nt)).length; - return "function" == typeof e - ? function () { - for (var n = -1, i = e.apply(this, arguments); ++n < r; ) - t[n](this, i); - } - : function () { - for (var n = -1; ++n < r; ) t[n](this, e); - }; - } - function nt(t) { - var e = tt(t); - return function (r, n) { - if ((i = r.classList)) return n ? i.add(t) : i.remove(t); - var i = r.getAttribute("class") || ""; - n - ? ((e.lastIndex = 0), - e.test(i) || r.setAttribute("class", $(i + " " + t))) - : r.setAttribute("class", $(i.replace(e, " "))); - }; - } - function it(t, e, r) { - return null == e - ? function () { - this.style.removeProperty(t); - } - : "function" == typeof e - ? function () { - var n = e.apply(this, arguments); - null == n - ? this.style.removeProperty(t) - : this.style.setProperty(t, n, r); - } - : function () { - this.style.setProperty(t, e, r); - }; - } - function at(t, e) { - return null == e - ? function () { - delete this[t]; - } - : "function" == typeof e - ? function () { - var r = e.apply(this, arguments); - null == r ? delete this[t] : (this[t] = r); - } - : function () { - this[t] = e; - }; - } - function ot(e) { - return "function" == typeof e - ? e - : (e = t.ns.qualify(e)).local - ? function () { - return this.ownerDocument.createElementNS(e.space, e.local); - } - : function () { - var t = this.ownerDocument, - r = this.namespaceURI; - return r === J && t.documentElement.namespaceURI === J - ? t.createElement(e) - : t.createElementNS(r, e); - }; - } - function st() { - var t = this.parentNode; - t && t.removeChild(this); - } - function lt(t) { - return { __data__: t }; - } - function ct(t) { - return function () { - return W(this, t); - }; - } - function ut(t, e) { - for (var r = 0, n = t.length; r < n; r++) - for (var i, a = t[r], o = 0, s = a.length; o < s; o++) - (i = a[o]) && e(i, o, r); - return t; - } - function ft(t) { - return (U(t, ht), t); - } - ((t.ns = { - prefix: K, - qualify: function (t) { - var e = t.indexOf(":"), - r = t; - return ( - e >= 0 && "xmlns" !== (r = t.slice(0, e)) && (t = t.slice(e + 1)), - K.hasOwnProperty(r) ? { space: K[r], local: t } : t - ); - }, - }), - (Y.attr = function (e, r) { - if (arguments.length < 2) { - if ("string" == typeof e) { - var n = this.node(); - return (e = t.ns.qualify(e)).local - ? n.getAttributeNS(e.space, e.local) - : n.getAttribute(e); - } - for (r in e) this.each(Q(r, e[r])); - return this; - } - return this.each(Q(e, r)); - }), - (Y.classed = function (t, e) { - if (arguments.length < 2) { - if ("string" == typeof t) { - var r = this.node(), - n = (t = et(t)).length, - i = -1; - if ((e = r.classList)) { - for (; ++i < n; ) if (!e.contains(t[i])) return !1; - } else - for (e = r.getAttribute("class"); ++i < n; ) - if (!tt(t[i]).test(e)) return !1; - return !0; - } - for (e in t) this.each(rt(e, t[e])); - return this; - } - return this.each(rt(t, e)); - }), - (Y.style = function (t, e, r) { - var n = arguments.length; - if (n < 3) { - if ("string" != typeof t) { - for (r in (n < 2 && (e = ""), t)) this.each(it(r, t[r], e)); - return this; - } - if (n < 2) { - var i = this.node(); - return o(i).getComputedStyle(i, null).getPropertyValue(t); - } - r = ""; - } - return this.each(it(t, e, r)); - }), - (Y.property = function (t, e) { - if (arguments.length < 2) { - if ("string" == typeof t) return this.node()[t]; - for (e in t) this.each(at(e, t[e])); - return this; - } - return this.each(at(t, e)); - }), - (Y.text = function (t) { - return arguments.length - ? this.each( - "function" == typeof t - ? function () { - var e = t.apply(this, arguments); - this.textContent = null == e ? "" : e; - } - : null == t - ? function () { - this.textContent = ""; - } - : function () { - this.textContent = t; - }, - ) - : this.node().textContent; - }), - (Y.html = function (t) { - return arguments.length - ? this.each( - "function" == typeof t - ? function () { - var e = t.apply(this, arguments); - this.innerHTML = null == e ? "" : e; - } - : null == t - ? function () { - this.innerHTML = ""; - } - : function () { - this.innerHTML = t; - }, - ) - : this.node().innerHTML; - }), - (Y.append = function (t) { - return ( - (t = ot(t)), - this.select(function () { - return this.appendChild(t.apply(this, arguments)); - }) - ); - }), - (Y.insert = function (t, e) { - return ( - (t = ot(t)), - (e = X(e)), - this.select(function () { - return this.insertBefore( - t.apply(this, arguments), - e.apply(this, arguments) || null, - ); - }) - ); - }), - (Y.remove = function () { - return this.each(st); - }), - (Y.data = function (t, e) { - var r, - n, - i = -1, - a = this.length; - if (!arguments.length) { - for (t = new Array((a = (r = this[0]).length)); ++i < a; ) - (n = r[i]) && (t[i] = n.__data__); - return t; - } - function o(t, r) { - var n, - i, - a, - o = t.length, - u = r.length, - f = Math.min(o, u), - h = new Array(u), - p = new Array(u), - d = new Array(o); - if (e) { - var g, - m = new b(), - v = new Array(o); - for (n = -1; ++n < o; ) - (i = t[n]) && - (m.has((g = e.call(i, i.__data__, n))) - ? (d[n] = i) - : m.set(g, i), - (v[n] = g)); - for (n = -1; ++n < u; ) - ((i = m.get((g = e.call(r, (a = r[n]), n)))) - ? !0 !== i && ((h[n] = i), (i.__data__ = a)) - : (p[n] = lt(a)), - m.set(g, !0)); - for (n = -1; ++n < o; ) - n in v && !0 !== m.get(v[n]) && (d[n] = t[n]); - } else { - for (n = -1; ++n < f; ) - ((i = t[n]), - (a = r[n]), - i ? ((i.__data__ = a), (h[n] = i)) : (p[n] = lt(a))); - for (; n < u; ++n) p[n] = lt(r[n]); - for (; n < o; ++n) d[n] = t[n]; - } - ((p.update = h), - (p.parentNode = h.parentNode = d.parentNode = t.parentNode), - s.push(p), - l.push(h), - c.push(d)); - } - var s = ft([]), - l = q([]), - c = q([]); - if ("function" == typeof t) - for (; ++i < a; ) - o((r = this[i]), t.call(r, r.parentNode.__data__, i)); - else for (; ++i < a; ) o((r = this[i]), t); - return ( - (l.enter = function () { - return s; - }), - (l.exit = function () { - return c; - }), - l - ); - }), - (Y.datum = function (t) { - return arguments.length - ? this.property("__data__", t) - : this.property("__data__"); - }), - (Y.filter = function (t) { - var e, - r, - n, - i = []; - "function" != typeof t && (t = ct(t)); - for (var a = 0, o = this.length; a < o; a++) { - (i.push((e = [])), (e.parentNode = (r = this[a]).parentNode)); - for (var s = 0, l = r.length; s < l; s++) - (n = r[s]) && t.call(n, n.__data__, s, a) && e.push(n); - } - return q(i); - }), - (Y.order = function () { - for (var t = -1, e = this.length; ++t < e; ) - for (var r, n = this[t], i = n.length - 1, a = n[i]; --i >= 0; ) - (r = n[i]) && - (a && a !== r.nextSibling && a.parentNode.insertBefore(r, a), - (a = r)); - return this; - }), - (Y.sort = function (t) { - t = function (t) { - arguments.length || (t = h); - return function (e, r) { - return e && r ? t(e.__data__, r.__data__) : !e - !r; - }; - }.apply(this, arguments); - for (var e = -1, r = this.length; ++e < r; ) this[e].sort(t); - return this.order(); - }), - (Y.each = function (t) { - return ut(this, function (e, r, n) { - t.call(e, e.__data__, r, n); - }); - }), - (Y.call = function (t) { - var e = n(arguments); - return (t.apply((e[0] = this), e), this); - }), - (Y.empty = function () { - return !this.node(); - }), - (Y.node = function () { - for (var t = 0, e = this.length; t < e; t++) - for (var r = this[t], n = 0, i = r.length; n < i; n++) { - var a = r[n]; - if (a) return a; - } - return null; - }), - (Y.size = function () { - var t = 0; - return ( - ut(this, function () { - ++t; - }), - t - ); - })); - var ht = []; - function pt(e, r, i) { - var a = "__on" + e, - o = e.indexOf("."), - s = gt; - o > 0 && (e = e.slice(0, o)); - var l = dt.get(e); - function c() { - var t = this[a]; - t && (this.removeEventListener(e, t, t.$), delete this[a]); - } - return ( - l && ((e = l), (s = mt)), - o - ? r - ? function () { - var t = s(r, n(arguments)); - (c.call(this), - this.addEventListener(e, (this[a] = t), (t.$ = i)), - (t._ = r)); - } - : c - : r - ? I - : function () { - var r, - n = new RegExp("^__on([^.]+)" + t.requote(e) + "$"); - for (var i in this) - if ((r = i.match(n))) { - var a = this[i]; - (this.removeEventListener(r[1], a, a.$), delete this[i]); - } - } - ); - } - ((t.selection.enter = ft), - (t.selection.enter.prototype = ht), - (ht.append = Y.append), - (ht.empty = Y.empty), - (ht.node = Y.node), - (ht.call = Y.call), - (ht.size = Y.size), - (ht.select = function (t) { - for (var e, r, n, i, a, o = [], s = -1, l = this.length; ++s < l; ) { - ((n = (i = this[s]).update), - o.push((e = [])), - (e.parentNode = i.parentNode)); - for (var c = -1, u = i.length; ++c < u; ) - (a = i[c]) - ? (e.push((n[c] = r = t.call(i.parentNode, a.__data__, c, s))), - (r.__data__ = a.__data__)) - : e.push(null); - } - return q(o); - }), - (ht.insert = function (t, e) { - var r, n, i; - return ( - arguments.length < 2 && - ((r = this), - (e = function (t, e, a) { - var o, - s = r[a].update, - l = s.length; - for ( - a != i && ((i = a), (n = 0)), e >= n && (n = e + 1); - !(o = s[n]) && ++n < l; - - ); - return o; - })), - Y.insert.call(this, t, e) - ); - }), - (t.select = function (t) { - var e; - return ( - "string" == typeof t - ? ((e = [H(t, i)]).parentNode = i.documentElement) - : ((e = [t]).parentNode = a(t)), - q([e]) - ); - }), - (t.selectAll = function (t) { - var e; - return ( - "string" == typeof t - ? ((e = n(G(t, i))).parentNode = i.documentElement) - : ((e = n(t)).parentNode = null), - q([e]) - ); - }), - (Y.on = function (t, e, r) { - var n = arguments.length; - if (n < 3) { - if ("string" != typeof t) { - for (r in (n < 2 && (e = !1), t)) this.each(pt(r, t[r], e)); - return this; - } - if (n < 2) return (n = this.node()["__on" + t]) && n._; - r = !1; - } - return this.each(pt(t, e, r)); - })); - var dt = t.map({ mouseenter: "mouseover", mouseleave: "mouseout" }); - function gt(e, r) { - return function (n) { - var i = t.event; - ((t.event = n), (r[0] = this.__data__)); - try { - e.apply(this, r); - } finally { - t.event = i; - } - }; - } - function mt(t, e) { - var r = gt(t, e); - return function (t) { - var e = t.relatedTarget; - (e && (e === this || 8 & e.compareDocumentPosition(this))) || - r.call(this, t); - }; - } - i && - dt.forEach(function (t) { - "on" + t in i && dt.remove(t); - }); - var vt, - yt = 0; - function xt(e) { - var r = ".dragsuppress-" + ++yt, - n = "click" + r, - i = t - .select(o(e)) - .on("touchmove" + r, F) - .on("dragstart" + r, F) - .on("selectstart" + r, F); - if ( - (null == vt && - (vt = !("onselectstart" in e) && D(e.style, "userSelect")), - vt) - ) { - var s = a(e).style, - l = s[vt]; - s[vt] = "none"; - } - return function (t) { - if ((i.on(r, null), vt && (s[vt] = l), t)) { - var e = function () { - i.on(n, null); - }; - (i.on( - n, - function () { - (F(), e()); - }, - !0, - ), - setTimeout(e, 0)); - } - }; - } - t.mouse = function (t) { - return _t(t, N()); - }; - var bt = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0; - function _t(e, r) { - r.changedTouches && (r = r.changedTouches[0]); - var n = e.ownerSVGElement || e; - if (n.createSVGPoint) { - var i = n.createSVGPoint(); - if (bt < 0) { - var a = o(e); - if (a.scrollX || a.scrollY) { - var s = (n = t.select("body").append("svg").style( - { - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none", - }, - "important", - ))[0][0].getScreenCTM(); - ((bt = !(s.f || s.e)), n.remove()); - } - } - return ( - bt - ? ((i.x = r.pageX), (i.y = r.pageY)) - : ((i.x = r.clientX), (i.y = r.clientY)), - [(i = i.matrixTransform(e.getScreenCTM().inverse())).x, i.y] - ); - } - var l = e.getBoundingClientRect(); - return [ - r.clientX - l.left - e.clientLeft, - r.clientY - l.top - e.clientTop, - ]; - } - function wt() { - return t.event.changedTouches[0].identifier; - } - ((t.touch = function (t, e, r) { - if ((arguments.length < 3 && ((r = e), (e = N().changedTouches)), e)) - for (var n, i = 0, a = e.length; i < a; ++i) - if ((n = e[i]).identifier === r) return _t(t, n); - }), - (t.behavior.drag = function () { - var e = j(a, "drag", "dragstart", "dragend"), - r = null, - n = s(I, t.mouse, o, "mousemove", "mouseup"), - i = s(wt, t.touch, z, "touchmove", "touchend"); - function a() { - this.on("mousedown.drag", n).on("touchstart.drag", i); - } - function s(n, i, a, o, s) { - return function () { - var l, - c = t.event.target.correspondingElement || t.event.target, - u = this.parentNode, - f = e.of(this, arguments), - h = 0, - p = n(), - d = ".drag" + (null == p ? "" : "-" + p), - g = t - .select(a(c)) - .on(o + d, function () { - var t, - e, - r = i(u, p); - if (!r) return; - ((t = r[0] - v[0]), - (e = r[1] - v[1]), - (h |= t | e), - (v = r), - f({ - type: "drag", - x: r[0] + l[0], - y: r[1] + l[1], - dx: t, - dy: e, - })); - }) - .on(s + d, function () { - if (!i(u, p)) return; - (g.on(o + d, null).on(s + d, null), - m(h), - f({ type: "dragend" })); - }), - m = xt(c), - v = i(u, p); - ((l = r - ? [(l = r.apply(this, arguments)).x - v[0], l.y - v[1]] - : [0, 0]), - f({ type: "dragstart" })); - }; - } - return ( - (a.origin = function (t) { - return arguments.length ? ((r = t), a) : r; - }), - t.rebind(a, e, "on") - ); - }), - (t.touches = function (t, e) { - return ( - arguments.length < 2 && (e = N().touches), - e - ? n(e).map(function (e) { - var r = _t(t, e); - return ((r.identifier = e.identifier), r); - }) - : [] - ); - })); - var kt = 1e-6, - Mt = kt * kt, - At = Math.PI, - Tt = 2 * At, - St = Tt - kt, - Ct = At / 2, - Et = At / 180, - Lt = 180 / At; - function zt(t) { - return t > 0 ? 1 : t < 0 ? -1 : 0; - } - function Pt(t, e, r) { - return (e[0] - t[0]) * (r[1] - t[1]) - (e[1] - t[1]) * (r[0] - t[0]); - } - function Dt(t) { - return t > 1 ? 0 : t < -1 ? At : Math.acos(t); - } - function Ot(t) { - return t > 1 ? Ct : t < -1 ? -Ct : Math.asin(t); - } - function It(t) { - return ((t = Math.exp(t)) + 1 / t) / 2; - } - function Rt(t) { - return (t = Math.sin(t / 2)) * t; - } - var Bt = Math.SQRT2; - ((t.interpolateZoom = function (t, e) { - var r, - n, - i = t[0], - a = t[1], - o = t[2], - s = e[0], - l = e[1], - c = e[2], - u = s - i, - f = l - a, - h = u * u + f * f; - if (h < Mt) - ((n = Math.log(c / o) / Bt), - (r = function (t) { - return [i + t * u, a + t * f, o * Math.exp(Bt * t * n)]; - })); - else { - var p = Math.sqrt(h), - d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), - g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), - m = Math.log(Math.sqrt(d * d + 1) - d), - v = Math.log(Math.sqrt(g * g + 1) - g); - ((n = (v - m) / Bt), - (r = function (t) { - var e, - r = t * n, - s = It(m), - l = - (o / (2 * p)) * - (s * ((e = Bt * r + m), ((e = Math.exp(2 * e)) - 1) / (e + 1)) - - (function (t) { - return ((t = Math.exp(t)) - 1 / t) / 2; - })(m)); - return [i + l * u, a + l * f, (o * s) / It(Bt * r + m)]; - })); - } - return ((r.duration = 1e3 * n), r); - }), - (t.behavior.zoom = function () { - var e, - r, - n, - a, - s, - l, - c, - u, - f, - h = { x: 0, y: 0, k: 1 }, - p = [960, 500], - d = jt, - g = 250, - m = 0, - v = "mousedown.zoom", - y = "mousemove.zoom", - x = "mouseup.zoom", - b = "touchstart.zoom", - _ = j(w, "zoomstart", "zoom", "zoomend"); - function w(t) { - t.on(v, z) - .on(Nt + ".zoom", D) - .on("dblclick.zoom", O) - .on(b, P); - } - function k(t) { - return [(t[0] - h.x) / h.k, (t[1] - h.y) / h.k]; - } - function M(t) { - h.k = Math.max(d[0], Math.min(d[1], t)); - } - function A(t, e) { - ((e = (function (t) { - return [t[0] * h.k + h.x, t[1] * h.k + h.y]; - })(e)), - (h.x += t[0] - e[0]), - (h.y += t[1] - e[1])); - } - function T(e, n, i, a) { - ((e.__chart__ = { x: h.x, y: h.y, k: h.k }), - M(Math.pow(2, a)), - A((r = n), i), - (e = t.select(e)), - g > 0 && (e = e.transition().duration(g)), - e.call(w.event)); - } - function S() { - (c && - c.domain( - l - .range() - .map(function (t) { - return (t - h.x) / h.k; - }) - .map(l.invert), - ), - f && - f.domain( - u - .range() - .map(function (t) { - return (t - h.y) / h.k; - }) - .map(u.invert), - )); - } - function C(t) { - m++ || t({ type: "zoomstart" }); - } - function E(t) { - (S(), t({ type: "zoom", scale: h.k, translate: [h.x, h.y] })); - } - function L(t) { - --m || (t({ type: "zoomend" }), (r = null)); - } - function z() { - var e = this, - r = _.of(e, arguments), - n = 0, - i = t - .select(o(e)) - .on(y, function () { - ((n = 1), A(t.mouse(e), a), E(r)); - }) - .on(x, function () { - (i.on(y, null).on(x, null), s(n), L(r)); - }), - a = k(t.mouse(e)), - s = xt(e); - (ss.call(e), C(r)); - } - function P() { - var e, - r = this, - n = _.of(r, arguments), - i = {}, - a = 0, - o = ".zoom-" + t.event.changedTouches[0].identifier, - l = "touchmove" + o, - c = "touchend" + o, - u = [], - f = t.select(r), - p = xt(r); - function d() { - var n = t.touches(r); - return ( - (e = h.k), - n.forEach(function (t) { - t.identifier in i && (i[t.identifier] = k(t)); - }), - n - ); - } - function g() { - var e = t.event.target; - (t.select(e).on(l, m).on(c, y), u.push(e)); - for ( - var n = t.event.changedTouches, o = 0, f = n.length; - o < f; - ++o - ) - i[n[o].identifier] = null; - var p = d(), - g = Date.now(); - if (1 === p.length) { - if (g - s < 500) { - var v = p[0]; - (T( - r, - v, - i[v.identifier], - Math.floor(Math.log(h.k) / Math.LN2) + 1, - ), - F()); - } - s = g; - } else if (p.length > 1) { - v = p[0]; - var x = p[1], - b = v[0] - x[0], - _ = v[1] - x[1]; - a = b * b + _ * _; - } - } - function m() { - var o, - l, - c, - u, - f = t.touches(r); - ss.call(r); - for (var h = 0, p = f.length; h < p; ++h, u = null) - if (((c = f[h]), (u = i[c.identifier]))) { - if (l) break; - ((o = c), (l = u)); - } - if (u) { - var d = (d = c[0] - o[0]) * d + (d = c[1] - o[1]) * d, - g = a && Math.sqrt(d / a); - ((o = [(o[0] + c[0]) / 2, (o[1] + c[1]) / 2]), - (l = [(l[0] + u[0]) / 2, (l[1] + u[1]) / 2]), - M(g * e)); - } - ((s = null), A(o, l), E(n)); - } - function y() { - if (t.event.touches.length) { - for ( - var e = t.event.changedTouches, r = 0, a = e.length; - r < a; - ++r - ) - delete i[e[r].identifier]; - for (var s in i) return void d(); - } - (t.selectAll(u).on(o, null), f.on(v, z).on(b, P), p(), L(n)); - } - (g(), C(n), f.on(v, null).on(b, g)); - } - function D() { - var i = _.of(this, arguments); - (a - ? clearTimeout(a) - : (ss.call(this), (e = k((r = n || t.mouse(this)))), C(i)), - (a = setTimeout(function () { - ((a = null), L(i)); - }, 50)), - F(), - M(Math.pow(2, 0.002 * Ft()) * h.k), - A(r, e), - E(i)); - } - function O() { - var e = t.mouse(this), - r = Math.log(h.k) / Math.LN2; - T( - this, - e, - k(e), - t.event.shiftKey ? Math.ceil(r) - 1 : Math.floor(r) + 1, - ); - } - return ( - Nt || - (Nt = - "onwheel" in i - ? ((Ft = function () { - return -t.event.deltaY * (t.event.deltaMode ? 120 : 1); - }), - "wheel") - : "onmousewheel" in i - ? ((Ft = function () { - return t.event.wheelDelta; - }), - "mousewheel") - : ((Ft = function () { - return -t.event.detail; - }), - "MozMousePixelScroll")), - (w.event = function (e) { - e.each(function () { - var e = _.of(this, arguments), - n = h; - us - ? t - .select(this) - .transition() - .each("start.zoom", function () { - ((h = this.__chart__ || { x: 0, y: 0, k: 1 }), C(e)); - }) - .tween("zoom:zoom", function () { - var i = p[0], - a = p[1], - o = r ? r[0] : i / 2, - s = r ? r[1] : a / 2, - l = t.interpolateZoom( - [(o - h.x) / h.k, (s - h.y) / h.k, i / h.k], - [(o - n.x) / n.k, (s - n.y) / n.k, i / n.k], - ); - return function (t) { - var r = l(t), - n = i / r[2]; - ((this.__chart__ = h = - { x: o - r[0] * n, y: s - r[1] * n, k: n }), - E(e)); - }; - }) - .each("interrupt.zoom", function () { - L(e); - }) - .each("end.zoom", function () { - L(e); - }) - : ((this.__chart__ = h), C(e), E(e), L(e)); - }); - }), - (w.translate = function (t) { - return arguments.length - ? ((h = { x: +t[0], y: +t[1], k: h.k }), S(), w) - : [h.x, h.y]; - }), - (w.scale = function (t) { - return arguments.length - ? ((h = { x: h.x, y: h.y, k: null }), M(+t), S(), w) - : h.k; - }), - (w.scaleExtent = function (t) { - return arguments.length - ? ((d = null == t ? jt : [+t[0], +t[1]]), w) - : d; - }), - (w.center = function (t) { - return arguments.length ? ((n = t && [+t[0], +t[1]]), w) : n; - }), - (w.size = function (t) { - return arguments.length ? ((p = t && [+t[0], +t[1]]), w) : p; - }), - (w.duration = function (t) { - return arguments.length ? ((g = +t), w) : g; - }), - (w.x = function (t) { - return arguments.length - ? ((c = t), (l = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) - : c; - }), - (w.y = function (t) { - return arguments.length - ? ((f = t), (u = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) - : f; - }), - t.rebind(w, _, "on") - ); - })); - var Ft, - Nt, - jt = [0, 1 / 0]; - function Vt() {} - function Ut(t, e, r) { - return this instanceof Ut - ? ((this.h = +t), (this.s = +e), void (this.l = +r)) - : arguments.length < 2 - ? t instanceof Ut - ? new Ut(t.h, t.s, t.l) - : ue("" + t, fe, Ut) - : new Ut(t, e, r); - } - ((t.color = Vt), - (Vt.prototype.toString = function () { - return this.rgb() + ""; - }), - (t.hsl = Ut)); - var qt = (Ut.prototype = new Vt()); - function Ht(t, e, r) { - var n, i; - function a(t) { - return Math.round( - 255 * - (function (t) { - return ( - t > 360 ? (t -= 360) : t < 0 && (t += 360), - t < 60 - ? n + ((i - n) * t) / 60 - : t < 180 - ? i - : t < 240 - ? n + ((i - n) * (240 - t)) / 60 - : n - ); - })(t), - ); - } - return ( - (t = isNaN(t) ? 0 : (t %= 360) < 0 ? t + 360 : t), - (e = isNaN(e) ? 0 : e < 0 ? 0 : e > 1 ? 1 : e), - (n = - 2 * (r = r < 0 ? 0 : r > 1 ? 1 : r) - - (i = r <= 0.5 ? r * (1 + e) : r + e - r * e)), - new ae(a(t + 120), a(t), a(t - 120)) - ); - } - function Gt(e, r, n) { - return this instanceof Gt - ? ((this.h = +e), (this.c = +r), void (this.l = +n)) - : arguments.length < 2 - ? e instanceof Gt - ? new Gt(e.h, e.c, e.l) - : ee( - e instanceof Xt ? e.l : (e = he((e = t.rgb(e)).r, e.g, e.b)).l, - e.a, - e.b, - ) - : new Gt(e, r, n); - } - ((qt.brighter = function (t) { - return ( - (t = Math.pow(0.7, arguments.length ? t : 1)), - new Ut(this.h, this.s, this.l / t) - ); - }), - (qt.darker = function (t) { - return ( - (t = Math.pow(0.7, arguments.length ? t : 1)), - new Ut(this.h, this.s, t * this.l) - ); - }), - (qt.rgb = function () { - return Ht(this.h, this.s, this.l); - }), - (t.hcl = Gt)); - var Wt = (Gt.prototype = new Vt()); - function Yt(t, e, r) { - return ( - isNaN(t) && (t = 0), - isNaN(e) && (e = 0), - new Xt(r, Math.cos((t *= Et)) * e, Math.sin(t) * e) - ); - } - function Xt(t, e, r) { - return this instanceof Xt - ? ((this.l = +t), (this.a = +e), void (this.b = +r)) - : arguments.length < 2 - ? t instanceof Xt - ? new Xt(t.l, t.a, t.b) - : t instanceof Gt - ? Yt(t.h, t.c, t.l) - : he((t = ae(t)).r, t.g, t.b) - : new Xt(t, e, r); - } - ((Wt.brighter = function (t) { - return new Gt( - this.h, - this.c, - Math.min(100, this.l + Zt * (arguments.length ? t : 1)), - ); - }), - (Wt.darker = function (t) { - return new Gt( - this.h, - this.c, - Math.max(0, this.l - Zt * (arguments.length ? t : 1)), - ); - }), - (Wt.rgb = function () { - return Yt(this.h, this.c, this.l).rgb(); - }), - (t.lab = Xt)); - var Zt = 18, - Jt = 0.95047, - Kt = 1, - Qt = 1.08883, - $t = (Xt.prototype = new Vt()); - function te(t, e, r) { - var n = (t + 16) / 116, - i = n + e / 500, - a = n - r / 200; - return new ae( - ie( - 3.2404542 * (i = re(i) * Jt) - - 1.5371385 * (n = re(n) * Kt) - - 0.4985314 * (a = re(a) * Qt), - ), - ie(-0.969266 * i + 1.8760108 * n + 0.041556 * a), - ie(0.0556434 * i - 0.2040259 * n + 1.0572252 * a), - ); - } - function ee(t, e, r) { - return t > 0 - ? new Gt(Math.atan2(r, e) * Lt, Math.sqrt(e * e + r * r), t) - : new Gt(NaN, NaN, t); - } - function re(t) { - return t > 0.206893034 ? t * t * t : (t - 4 / 29) / 7.787037; - } - function ne(t) { - return t > 0.008856 ? Math.pow(t, 1 / 3) : 7.787037 * t + 4 / 29; - } - function ie(t) { - return Math.round( - 255 * (t <= 0.00304 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055), - ); - } - function ae(t, e, r) { - return this instanceof ae - ? ((this.r = ~~t), (this.g = ~~e), void (this.b = ~~r)) - : arguments.length < 2 - ? t instanceof ae - ? new ae(t.r, t.g, t.b) - : ue("" + t, ae, Ht) - : new ae(t, e, r); - } - function oe(t) { - return new ae(t >> 16, (t >> 8) & 255, 255 & t); - } - function se(t) { - return oe(t) + ""; - } - (($t.brighter = function (t) { - return new Xt( - Math.min(100, this.l + Zt * (arguments.length ? t : 1)), - this.a, - this.b, - ); - }), - ($t.darker = function (t) { - return new Xt( - Math.max(0, this.l - Zt * (arguments.length ? t : 1)), - this.a, - this.b, - ); - }), - ($t.rgb = function () { - return te(this.l, this.a, this.b); - }), - (t.rgb = ae)); - var le = (ae.prototype = new Vt()); - function ce(t) { - return t < 16 - ? "0" + Math.max(0, t).toString(16) - : Math.min(255, t).toString(16); - } - function ue(t, e, r) { - var n, - i, - a, - o = 0, - s = 0, - l = 0; - if ((n = /([a-z]+)\((.*)\)/.exec((t = t.toLowerCase())))) - switch (((i = n[2].split(",")), n[1])) { - case "hsl": - return r( - parseFloat(i[0]), - parseFloat(i[1]) / 100, - parseFloat(i[2]) / 100, - ); - case "rgb": - return e(de(i[0]), de(i[1]), de(i[2])); - } - return (a = ge.get(t)) - ? e(a.r, a.g, a.b) - : (null == t || - "#" !== t.charAt(0) || - isNaN((a = parseInt(t.slice(1), 16))) || - (4 === t.length - ? ((o = (3840 & a) >> 4), - (o |= o >> 4), - (s = 240 & a), - (s |= s >> 4), - (l = 15 & a), - (l |= l << 4)) - : 7 === t.length && - ((o = (16711680 & a) >> 16), - (s = (65280 & a) >> 8), - (l = 255 & a))), - e(o, s, l)); - } - function fe(t, e, r) { - var n, - i, - a = Math.min((t /= 255), (e /= 255), (r /= 255)), - o = Math.max(t, e, r), - s = o - a, - l = (o + a) / 2; - return ( - s - ? ((i = l < 0.5 ? s / (o + a) : s / (2 - o - a)), - (n = - t == o - ? (e - r) / s + (e < r ? 6 : 0) - : e == o - ? (r - t) / s + 2 - : (t - e) / s + 4), - (n *= 60)) - : ((n = NaN), (i = l > 0 && l < 1 ? 0 : n)), - new Ut(n, i, l) - ); - } - function he(t, e, r) { - var n = ne( - (0.4124564 * (t = pe(t)) + - 0.3575761 * (e = pe(e)) + - 0.1804375 * (r = pe(r))) / - Jt, - ), - i = ne((0.2126729 * t + 0.7151522 * e + 0.072175 * r) / Kt); - return Xt( - 116 * i - 16, - 500 * (n - i), - 200 * (i - ne((0.0193339 * t + 0.119192 * e + 0.9503041 * r) / Qt)), - ); - } - function pe(t) { - return (t /= 255) <= 0.04045 - ? t / 12.92 - : Math.pow((t + 0.055) / 1.055, 2.4); - } - function de(t) { - var e = parseFloat(t); - return "%" === t.charAt(t.length - 1) ? Math.round(2.55 * e) : e; - } - ((le.brighter = function (t) { - t = Math.pow(0.7, arguments.length ? t : 1); - var e = this.r, - r = this.g, - n = this.b, - i = 30; - return e || r || n - ? (e && e < i && (e = i), - r && r < i && (r = i), - n && n < i && (n = i), - new ae( - Math.min(255, e / t), - Math.min(255, r / t), - Math.min(255, n / t), - )) - : new ae(i, i, i); - }), - (le.darker = function (t) { - return new ae( - (t = Math.pow(0.7, arguments.length ? t : 1)) * this.r, - t * this.g, - t * this.b, - ); - }), - (le.hsl = function () { - return fe(this.r, this.g, this.b); - }), - (le.toString = function () { - return "#" + ce(this.r) + ce(this.g) + ce(this.b); - })); - var ge = t.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - rebeccapurple: 6697881, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074, - }); - function me(t) { - return "function" == typeof t - ? t - : function () { - return t; - }; - } - function ve(t) { - return function (e, r, n) { - return ( - 2 === arguments.length && - "function" == typeof r && - ((n = r), (r = null)), - ye(e, r, t, n) - ); - }; - } - function ye(e, r, i, a) { - var o = {}, - s = t.dispatch("beforesend", "progress", "load", "error"), - l = {}, - c = new XMLHttpRequest(), - u = null; - function f() { - var t, - e = c.status; - if ( - (!e && - (function (t) { - var e = t.responseType; - return e && "text" !== e ? t.response : t.responseText; - })(c)) || - (e >= 200 && e < 300) || - 304 === e - ) { - try { - t = i.call(o, c); - } catch (t) { - return void s.error.call(o, t); - } - s.load.call(o, t); - } else s.error.call(o, c); - } - return ( - !this.XDomainRequest || - "withCredentials" in c || - !/^(http(s)?:)?\/\//.test(e) || - (c = new XDomainRequest()), - "onload" in c - ? (c.onload = c.onerror = f) - : (c.onreadystatechange = function () { - c.readyState > 3 && f(); - }), - (c.onprogress = function (e) { - var r = t.event; - t.event = e; - try { - s.progress.call(o, c); - } finally { - t.event = r; - } - }), - (o.header = function (t, e) { - return ( - (t = (t + "").toLowerCase()), - arguments.length < 2 - ? l[t] - : (null == e ? delete l[t] : (l[t] = e + ""), o) - ); - }), - (o.mimeType = function (t) { - return arguments.length ? ((r = null == t ? null : t + ""), o) : r; - }), - (o.responseType = function (t) { - return arguments.length ? ((u = t), o) : u; - }), - (o.response = function (t) { - return ((i = t), o); - }), - ["get", "post"].forEach(function (t) { - o[t] = function () { - return o.send.apply(o, [t].concat(n(arguments))); - }; - }), - (o.send = function (t, n, i) { - if ( - (2 === arguments.length && - "function" == typeof n && - ((i = n), (n = null)), - c.open(t, e, !0), - null == r || "accept" in l || (l.accept = r + ",*/*"), - c.setRequestHeader) - ) - for (var a in l) c.setRequestHeader(a, l[a]); - return ( - null != r && c.overrideMimeType && c.overrideMimeType(r), - null != u && (c.responseType = u), - null != i && - o.on("error", i).on("load", function (t) { - i(null, t); - }), - s.beforesend.call(o, c), - c.send(null == n ? null : n), - o - ); - }), - (o.abort = function () { - return (c.abort(), o); - }), - t.rebind(o, s, "on"), - null == a - ? o - : o.get( - (function (t) { - return 1 === t.length - ? function (e, r) { - t(null == e ? r : null); - } - : t; - })(a), - ) - ); - } - (ge.forEach(function (t, e) { - ge.set(t, oe(e)); - }), - (t.functor = me), - (t.xhr = ve(z)), - (t.dsv = function (t, e) { - var r = new RegExp('["' + t + "\n]"), - n = t.charCodeAt(0); - function i(t, r, n) { - arguments.length < 3 && ((n = r), (r = null)); - var i = ye(t, e, null == r ? a : o(r), n); - return ( - (i.row = function (t) { - return arguments.length - ? i.response(null == (r = t) ? a : o(t)) - : r; - }), - i - ); - } - function a(t) { - return i.parse(t.responseText); - } - function o(t) { - return function (e) { - return i.parse(e.responseText, t); - }; - } - function s(e) { - return e.map(l).join(t); - } - function l(t) { - return r.test(t) ? '"' + t.replace(/\"/g, '""') + '"' : t; - } - return ( - (i.parse = function (t, e) { - var r; - return i.parseRows(t, function (t, n) { - if (r) return r(t, n - 1); - var i = new Function( - "d", - "return {" + - t - .map(function (t, e) { - return JSON.stringify(t) + ": d[" + e + "]"; - }) - .join(",") + - "}", - ); - r = e - ? function (t, r) { - return e(i(t), r); - } - : i; - }); - }), - (i.parseRows = function (t, e) { - var r, - i, - a = {}, - o = {}, - s = [], - l = t.length, - c = 0, - u = 0; - function f() { - if (c >= l) return o; - if (i) return ((i = !1), a); - var e = c; - if (34 === t.charCodeAt(e)) { - for (var r = e; r++ < l; ) - if (34 === t.charCodeAt(r)) { - if (34 !== t.charCodeAt(r + 1)) break; - ++r; - } - return ( - (c = r + 2), - 13 === (s = t.charCodeAt(r + 1)) - ? ((i = !0), 10 === t.charCodeAt(r + 2) && ++c) - : 10 === s && (i = !0), - t.slice(e + 1, r).replace(/""/g, '"') - ); - } - for (; c < l; ) { - var s, - u = 1; - if (10 === (s = t.charCodeAt(c++))) i = !0; - else if (13 === s) - ((i = !0), 10 === t.charCodeAt(c) && (++c, ++u)); - else if (s !== n) continue; - return t.slice(e, c - u); - } - return t.slice(e); - } - for (; (r = f()) !== o; ) { - for (var h = []; r !== a && r !== o; ) (h.push(r), (r = f())); - (e && null == (h = e(h, u++))) || s.push(h); - } - return s; - }), - (i.format = function (e) { - if (Array.isArray(e[0])) return i.formatRows(e); - var r = new L(), - n = []; - return ( - e.forEach(function (t) { - for (var e in t) r.has(e) || n.push(r.add(e)); - }), - [n.map(l).join(t)] - .concat( - e.map(function (e) { - return n - .map(function (t) { - return l(e[t]); - }) - .join(t); - }), - ) - .join("\n") - ); - }), - (i.formatRows = function (t) { - return t.map(s).join("\n"); - }), - i - ); - }), - (t.csv = t.dsv(",", "text/csv")), - (t.tsv = t.dsv("\t", "text/tab-separated-values"))); - var xe, - be, - _e, - we, - ke = - this[D(this, "requestAnimationFrame")] || - function (t) { - setTimeout(t, 17); - }; - function Me(t, e, r) { - var n = arguments.length; - (n < 2 && (e = 0), n < 3 && (r = Date.now())); - var i = { c: t, t: r + e, n: null }; - return ( - be ? (be.n = i) : (xe = i), - (be = i), - _e || ((we = clearTimeout(we)), (_e = 1), ke(Ae)), - i - ); - } - function Ae() { - var t = Te(), - e = Se() - t; - e > 24 - ? (isFinite(e) && (clearTimeout(we), (we = setTimeout(Ae, e))), - (_e = 0)) - : ((_e = 1), ke(Ae)); - } - function Te() { - for (var t = Date.now(), e = xe; e; ) - (t >= e.t && e.c(t - e.t) && (e.c = null), (e = e.n)); - return t; - } - function Se() { - for (var t, e = xe, r = 1 / 0; e; ) - e.c - ? (e.t < r && (r = e.t), (e = (t = e).n)) - : (e = t ? (t.n = e.n) : (xe = e.n)); - return ((be = t), r); - } - function Ce(t, e) { - return e - (t ? Math.ceil(Math.log(t) / Math.LN10) : 1); - } - ((t.timer = function () { - Me.apply(this, arguments); - }), - (t.timer.flush = function () { - (Te(), Se()); - }), - (t.round = function (t, e) { - return e ? Math.round(t * (e = Math.pow(10, e))) / e : Math.round(t); - })); - var Ee = [ - "y", - "z", - "a", - "f", - "p", - "n", - "\xb5", - "m", - "", - "k", - "M", - "G", - "T", - "P", - "E", - "Z", - "Y", - ].map(function (t, e) { - var r = Math.pow(10, 3 * y(8 - e)); - return { - scale: - e > 8 - ? function (t) { - return t / r; - } - : function (t) { - return t * r; - }, - symbol: t, - }; - }); - t.formatPrefix = function (e, r) { - var n = 0; - return ( - (e = +e) && - (e < 0 && (e *= -1), - r && (e = t.round(e, Ce(e, r))), - (n = 1 + Math.floor(1e-12 + Math.log(e) / Math.LN10)), - (n = Math.max(-24, Math.min(24, 3 * Math.floor((n - 1) / 3))))), - Ee[8 + n / 3] - ); - }; - var Le = - /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, - ze = t.map({ - b: function (t) { - return t.toString(2); - }, - c: function (t) { - return String.fromCharCode(t); - }, - o: function (t) { - return t.toString(8); - }, - x: function (t) { - return t.toString(16); - }, - X: function (t) { - return t.toString(16).toUpperCase(); - }, - g: function (t, e) { - return t.toPrecision(e); - }, - e: function (t, e) { - return t.toExponential(e); - }, - f: function (t, e) { - return t.toFixed(e); - }, - r: function (e, r) { - return (e = t.round(e, Ce(e, r))).toFixed( - Math.max(0, Math.min(20, Ce(e * (1 + 1e-15), r))), - ); - }, - }); - function Pe(t) { - return t + ""; - } - var De = (t.time = {}), - Oe = Date; - function Ie() { - this._ = new Date( - arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0], - ); - } - Ie.prototype = { - getDate: function () { - return this._.getUTCDate(); - }, - getDay: function () { - return this._.getUTCDay(); - }, - getFullYear: function () { - return this._.getUTCFullYear(); - }, - getHours: function () { - return this._.getUTCHours(); - }, - getMilliseconds: function () { - return this._.getUTCMilliseconds(); - }, - getMinutes: function () { - return this._.getUTCMinutes(); - }, - getMonth: function () { - return this._.getUTCMonth(); - }, - getSeconds: function () { - return this._.getUTCSeconds(); - }, - getTime: function () { - return this._.getTime(); - }, - getTimezoneOffset: function () { - return 0; - }, - valueOf: function () { - return this._.valueOf(); - }, - setDate: function () { - Re.setUTCDate.apply(this._, arguments); - }, - setDay: function () { - Re.setUTCDay.apply(this._, arguments); - }, - setFullYear: function () { - Re.setUTCFullYear.apply(this._, arguments); - }, - setHours: function () { - Re.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function () { - Re.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function () { - Re.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function () { - Re.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function () { - Re.setUTCSeconds.apply(this._, arguments); - }, - setTime: function () { - Re.setTime.apply(this._, arguments); - }, - }; - var Re = Date.prototype; - function Be(t, e, r) { - function n(e) { - var r = t(e), - n = a(r, 1); - return e - r < n - e ? r : n; - } - function i(r) { - return (e((r = t(new Oe(r - 1))), 1), r); - } - function a(t, r) { - return (e((t = new Oe(+t)), r), t); - } - function o(t, n, a) { - var o = i(t), - s = []; - if (a > 1) for (; o < n; ) (r(o) % a || s.push(new Date(+o)), e(o, 1)); - else for (; o < n; ) (s.push(new Date(+o)), e(o, 1)); - return s; - } - ((t.floor = t), - (t.round = n), - (t.ceil = i), - (t.offset = a), - (t.range = o)); - var s = (t.utc = Fe(t)); - return ( - (s.floor = s), - (s.round = Fe(n)), - (s.ceil = Fe(i)), - (s.offset = Fe(a)), - (s.range = function (t, e, r) { - try { - Oe = Ie; - var n = new Ie(); - return ((n._ = t), o(n, e, r)); - } finally { - Oe = Date; - } - }), - t - ); - } - function Fe(t) { - return function (e, r) { - try { - Oe = Ie; - var n = new Ie(); - return ((n._ = e), t(n, r)._); - } finally { - Oe = Date; - } - }; - } - ((De.year = Be( - function (t) { - return ((t = De.day(t)).setMonth(0, 1), t); - }, - function (t, e) { - t.setFullYear(t.getFullYear() + e); - }, - function (t) { - return t.getFullYear(); - }, - )), - (De.years = De.year.range), - (De.years.utc = De.year.utc.range), - (De.day = Be( - function (t) { - var e = new Oe(2e3, 0); - return (e.setFullYear(t.getFullYear(), t.getMonth(), t.getDate()), e); - }, - function (t, e) { - t.setDate(t.getDate() + e); - }, - function (t) { - return t.getDate() - 1; - }, - )), - (De.days = De.day.range), - (De.days.utc = De.day.utc.range), - (De.dayOfYear = function (t) { - var e = De.year(t); - return Math.floor( - (t - e - 6e4 * (t.getTimezoneOffset() - e.getTimezoneOffset())) / - 864e5, - ); - }), - [ - "sunday", - "monday", - "tuesday", - "wednesday", - "thursday", - "friday", - "saturday", - ].forEach(function (t, e) { - e = 7 - e; - var r = (De[t] = Be( - function (t) { - return ( - (t = De.day(t)).setDate(t.getDate() - ((t.getDay() + e) % 7)), - t - ); - }, - function (t, e) { - t.setDate(t.getDate() + 7 * Math.floor(e)); - }, - function (t) { - var r = De.year(t).getDay(); - return ( - Math.floor((De.dayOfYear(t) + ((r + e) % 7)) / 7) - (r !== e) - ); - }, - )); - ((De[t + "s"] = r.range), - (De[t + "s"].utc = r.utc.range), - (De[t + "OfYear"] = function (t) { - var r = De.year(t).getDay(); - return Math.floor((De.dayOfYear(t) + ((r + e) % 7)) / 7); - })); - }), - (De.week = De.sunday), - (De.weeks = De.sunday.range), - (De.weeks.utc = De.sunday.utc.range), - (De.weekOfYear = De.sundayOfYear)); - var Ne = { "-": "", _: " ", 0: "0" }, - je = /^\s*\d+/, - Ve = /^%/; - function Ue(t, e, r) { - var n = t < 0 ? "-" : "", - i = (n ? -t : t) + "", - a = i.length; - return n + (a < r ? new Array(r - a + 1).join(e) + i : i); - } - function qe(e) { - return new RegExp("^(?:" + e.map(t.requote).join("|") + ")", "i"); - } - function He(t) { - for (var e = new b(), r = -1, n = t.length; ++r < n; ) - e.set(t[r].toLowerCase(), r); - return e; - } - function Ge(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 1)); - return n ? ((t.w = +n[0]), r + n[0].length) : -1; - } - function We(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r)); - return n ? ((t.U = +n[0]), r + n[0].length) : -1; - } - function Ye(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r)); - return n ? ((t.W = +n[0]), r + n[0].length) : -1; - } - function Xe(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 4)); - return n ? ((t.y = +n[0]), r + n[0].length) : -1; - } - function Ze(t, e, r) { - je.lastIndex = 0; - var n, - i = je.exec(e.slice(r, r + 2)); - return i - ? ((t.y = (n = +i[0]) + (n > 68 ? 1900 : 2e3)), r + i[0].length) - : -1; - } - function Je(t, e, r) { - return /^[+-]\d{4}$/.test((e = e.slice(r, r + 5))) - ? ((t.Z = -e), r + 5) - : -1; - } - function Ke(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 2)); - return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; - } - function Qe(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 2)); - return n ? ((t.d = +n[0]), r + n[0].length) : -1; - } - function $e(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 3)); - return n ? ((t.j = +n[0]), r + n[0].length) : -1; - } - function tr(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 2)); - return n ? ((t.H = +n[0]), r + n[0].length) : -1; - } - function er(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 2)); - return n ? ((t.M = +n[0]), r + n[0].length) : -1; - } - function rr(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 2)); - return n ? ((t.S = +n[0]), r + n[0].length) : -1; - } - function nr(t, e, r) { - je.lastIndex = 0; - var n = je.exec(e.slice(r, r + 3)); - return n ? ((t.L = +n[0]), r + n[0].length) : -1; - } - function ir(t) { - var e = t.getTimezoneOffset(), - r = e > 0 ? "-" : "+", - n = (y(e) / 60) | 0, - i = y(e) % 60; - return r + Ue(n, "0", 2) + Ue(i, "0", 2); - } - function ar(t, e, r) { - Ve.lastIndex = 0; - var n = Ve.exec(e.slice(r, r + 1)); - return n ? r + n[0].length : -1; - } - function or(t) { - for (var e = t.length, r = -1; ++r < e; ) t[r][0] = this(t[r][0]); - return function (e) { - for (var r = 0, n = t[r]; !n[1](e); ) n = t[++r]; - return n[0](e); - }; - } - t.locale = function (e) { - return { - numberFormat: (function (e) { - var r = e.decimal, - n = e.thousands, - i = e.grouping, - a = e.currency, - o = - i && n - ? function (t, e) { - for ( - var r = t.length, a = [], o = 0, s = i[0], l = 0; - r > 0 && - s > 0 && - (l + s + 1 > e && (s = Math.max(1, e - l)), - a.push(t.substring((r -= s), r + s)), - !((l += s + 1) > e)); - - ) - s = i[(o = (o + 1) % i.length)]; - return a.reverse().join(n); - } - : z; - return function (e) { - var n = Le.exec(e), - i = n[1] || " ", - s = n[2] || ">", - l = n[3] || "-", - c = n[4] || "", - u = n[5], - f = +n[6], - h = n[7], - p = n[8], - d = n[9], - g = 1, - m = "", - v = "", - y = !1, - x = !0; - switch ( - (p && (p = +p.substring(1)), - (u || ("0" === i && "=" === s)) && ((u = i = "0"), (s = "=")), - d) - ) { - case "n": - ((h = !0), (d = "g")); - break; - case "%": - ((g = 100), (v = "%"), (d = "f")); - break; - case "p": - ((g = 100), (v = "%"), (d = "r")); - break; - case "b": - case "o": - case "x": - case "X": - "#" === c && (m = "0" + d.toLowerCase()); - case "c": - x = !1; - case "d": - ((y = !0), (p = 0)); - break; - case "s": - ((g = -1), (d = "r")); - } - ("$" === c && ((m = a[0]), (v = a[1])), - "r" != d || p || (d = "g"), - null != p && - ("g" == d - ? (p = Math.max(1, Math.min(21, p))) - : ("e" != d && "f" != d) || - (p = Math.max(0, Math.min(20, p)))), - (d = ze.get(d) || Pe)); - var b = u && h; - return function (e) { - var n = v; - if (y && e % 1) return ""; - var a = - e < 0 || (0 === e && 1 / e < 0) - ? ((e = -e), "-") - : "-" === l - ? "" - : l; - if (g < 0) { - var c = t.formatPrefix(e, p); - ((e = c.scale(e)), (n = c.symbol + v)); - } else e *= g; - var _, - w, - k = (e = d(e, p)).lastIndexOf("."); - if (k < 0) { - var M = x ? e.lastIndexOf("e") : -1; - M < 0 - ? ((_ = e), (w = "")) - : ((_ = e.substring(0, M)), (w = e.substring(M))); - } else ((_ = e.substring(0, k)), (w = r + e.substring(k + 1))); - !u && h && (_ = o(_, 1 / 0)); - var A = m.length + _.length + w.length + (b ? 0 : a.length), - T = A < f ? new Array((A = f - A + 1)).join(i) : ""; - return ( - b && (_ = o(T + _, T.length ? f - w.length : 1 / 0)), - (a += m), - (e = _ + w), - ("<" === s - ? a + e + T - : ">" === s - ? T + a + e - : "^" === s - ? T.substring(0, (A >>= 1)) + a + e + T.substring(A) - : a + (b ? e : T + e)) + n - ); - }; - }; - })(e), - timeFormat: (function (e) { - var r = e.dateTime, - n = e.date, - i = e.time, - a = e.periods, - o = e.days, - s = e.shortDays, - l = e.months, - c = e.shortMonths; - function u(t) { - var e = t.length; - function r(r) { - for (var n, i, a, o = [], s = -1, l = 0; ++s < e; ) - 37 === t.charCodeAt(s) && - (o.push(t.slice(l, s)), - null != (i = Ne[(n = t.charAt(++s))]) && (n = t.charAt(++s)), - (a = _[n]) && - (n = a(r, null == i ? ("e" === n ? " " : "0") : i)), - o.push(n), - (l = s + 1)); - return (o.push(t.slice(l, s)), o.join("")); - } - return ( - (r.parse = function (e) { - var r = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null, - }; - if (f(r, t, e, 0) != e.length) return null; - "p" in r && (r.H = (r.H % 12) + 12 * r.p); - var n = null != r.Z && Oe !== Ie, - i = new (n ? Ie : Oe)(); - return ( - "j" in r - ? i.setFullYear(r.y, 0, r.j) - : "W" in r || "U" in r - ? ("w" in r || (r.w = "W" in r ? 1 : 0), - i.setFullYear(r.y, 0, 1), - i.setFullYear( - r.y, - 0, - "W" in r - ? ((r.w + 6) % 7) + 7 * r.W - ((i.getDay() + 5) % 7) - : r.w + 7 * r.U - ((i.getDay() + 6) % 7), - )) - : i.setFullYear(r.y, r.m, r.d), - i.setHours( - r.H + ((r.Z / 100) | 0), - r.M + (r.Z % 100), - r.S, - r.L, - ), - n ? i._ : i - ); - }), - (r.toString = function () { - return t; - }), - r - ); - } - function f(t, e, r, n) { - for (var i, a, o, s = 0, l = e.length, c = r.length; s < l; ) { - if (n >= c) return -1; - if (37 === (i = e.charCodeAt(s++))) { - if ( - ((o = e.charAt(s++)), - !(a = w[o in Ne ? e.charAt(s++) : o]) || (n = a(t, r, n)) < 0) - ) - return -1; - } else if (i != r.charCodeAt(n++)) return -1; - } - return n; - } - ((u.utc = function (t) { - var e = u(t); - function r(t) { - try { - var r = new (Oe = Ie)(); - return ((r._ = t), e(r)); - } finally { - Oe = Date; - } - } - return ( - (r.parse = function (t) { - try { - Oe = Ie; - var r = e.parse(t); - return r && r._; - } finally { - Oe = Date; - } - }), - (r.toString = e.toString), - r - ); - }), - (u.multi = u.utc.multi = or)); - var h = t.map(), - p = qe(o), - d = He(o), - g = qe(s), - m = He(s), - v = qe(l), - y = He(l), - x = qe(c), - b = He(c); - a.forEach(function (t, e) { - h.set(t.toLowerCase(), e); - }); - var _ = { - a: function (t) { - return s[t.getDay()]; - }, - A: function (t) { - return o[t.getDay()]; - }, - b: function (t) { - return c[t.getMonth()]; - }, - B: function (t) { - return l[t.getMonth()]; - }, - c: u(r), - d: function (t, e) { - return Ue(t.getDate(), e, 2); - }, - e: function (t, e) { - return Ue(t.getDate(), e, 2); - }, - H: function (t, e) { - return Ue(t.getHours(), e, 2); - }, - I: function (t, e) { - return Ue(t.getHours() % 12 || 12, e, 2); - }, - j: function (t, e) { - return Ue(1 + De.dayOfYear(t), e, 3); - }, - L: function (t, e) { - return Ue(t.getMilliseconds(), e, 3); - }, - m: function (t, e) { - return Ue(t.getMonth() + 1, e, 2); - }, - M: function (t, e) { - return Ue(t.getMinutes(), e, 2); - }, - p: function (t) { - return a[+(t.getHours() >= 12)]; - }, - S: function (t, e) { - return Ue(t.getSeconds(), e, 2); - }, - U: function (t, e) { - return Ue(De.sundayOfYear(t), e, 2); - }, - w: function (t) { - return t.getDay(); - }, - W: function (t, e) { - return Ue(De.mondayOfYear(t), e, 2); - }, - x: u(n), - X: u(i), - y: function (t, e) { - return Ue(t.getFullYear() % 100, e, 2); - }, - Y: function (t, e) { - return Ue(t.getFullYear() % 1e4, e, 4); - }, - Z: ir, - "%": function () { - return "%"; - }, - }, - w = { - a: function (t, e, r) { - g.lastIndex = 0; - var n = g.exec(e.slice(r)); - return n - ? ((t.w = m.get(n[0].toLowerCase())), r + n[0].length) - : -1; - }, - A: function (t, e, r) { - p.lastIndex = 0; - var n = p.exec(e.slice(r)); - return n - ? ((t.w = d.get(n[0].toLowerCase())), r + n[0].length) - : -1; - }, - b: function (t, e, r) { - x.lastIndex = 0; - var n = x.exec(e.slice(r)); - return n - ? ((t.m = b.get(n[0].toLowerCase())), r + n[0].length) - : -1; - }, - B: function (t, e, r) { - v.lastIndex = 0; - var n = v.exec(e.slice(r)); - return n - ? ((t.m = y.get(n[0].toLowerCase())), r + n[0].length) - : -1; - }, - c: function (t, e, r) { - return f(t, _.c.toString(), e, r); - }, - d: Qe, - e: Qe, - H: tr, - I: tr, - j: $e, - L: nr, - m: Ke, - M: er, - p: function (t, e, r) { - var n = h.get(e.slice(r, (r += 2)).toLowerCase()); - return null == n ? -1 : ((t.p = n), r); - }, - S: rr, - U: We, - w: Ge, - W: Ye, - x: function (t, e, r) { - return f(t, _.x.toString(), e, r); - }, - X: function (t, e, r) { - return f(t, _.X.toString(), e, r); - }, - y: Ze, - Y: Xe, - Z: Je, - "%": ar, - }; - return u; - })(e), - }; - }; - var sr = t.locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - shortMonths: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - }); - function lr() {} - ((t.format = sr.numberFormat), - (t.geo = {}), - (lr.prototype = { - s: 0, - t: 0, - add: function (t) { - (ur(t, this.t, cr), - ur(cr.s, this.s, this), - this.s ? (this.t += cr.t) : (this.s = cr.t)); - }, - reset: function () { - this.s = this.t = 0; - }, - valueOf: function () { - return this.s; - }, - })); - var cr = new lr(); - function ur(t, e, r) { - var n = (r.s = t + e), - i = n - t, - a = n - i; - r.t = t - a + (e - i); - } - function fr(t, e) { - t && pr.hasOwnProperty(t.type) && pr[t.type](t, e); - } - t.geo.stream = function (t, e) { - t && hr.hasOwnProperty(t.type) ? hr[t.type](t, e) : fr(t, e); - }; - var hr = { - Feature: function (t, e) { - fr(t.geometry, e); - }, - FeatureCollection: function (t, e) { - for (var r = t.features, n = -1, i = r.length; ++n < i; ) - fr(r[n].geometry, e); - }, - }, - pr = { - Sphere: function (t, e) { - e.sphere(); - }, - Point: function (t, e) { - ((t = t.coordinates), e.point(t[0], t[1], t[2])); - }, - MultiPoint: function (t, e) { - for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) - ((t = r[n]), e.point(t[0], t[1], t[2])); - }, - LineString: function (t, e) { - dr(t.coordinates, e, 0); - }, - MultiLineString: function (t, e) { - for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) - dr(r[n], e, 0); - }, - Polygon: function (t, e) { - gr(t.coordinates, e); - }, - MultiPolygon: function (t, e) { - for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) - gr(r[n], e); - }, - GeometryCollection: function (t, e) { - for (var r = t.geometries, n = -1, i = r.length; ++n < i; ) - fr(r[n], e); - }, - }; - function dr(t, e, r) { - var n, - i = -1, - a = t.length - r; - for (e.lineStart(); ++i < a; ) ((n = t[i]), e.point(n[0], n[1], n[2])); - e.lineEnd(); - } - function gr(t, e) { - var r = -1, - n = t.length; - for (e.polygonStart(); ++r < n; ) dr(t[r], e, 1); - e.polygonEnd(); - } - t.geo.area = function (e) { - return ((mr = 0), t.geo.stream(e, Er), mr); - }; - var mr, - vr, - yr, - xr, - br, - _r, - wr, - kr, - Mr, - Ar, - Tr, - Sr, - Cr = new lr(), - Er = { - sphere: function () { - mr += 4 * At; - }, - point: I, - lineStart: I, - lineEnd: I, - polygonStart: function () { - (Cr.reset(), (Er.lineStart = Lr)); - }, - polygonEnd: function () { - var t = 2 * Cr; - ((mr += t < 0 ? 4 * At + t : t), - (Er.lineStart = Er.lineEnd = Er.point = I)); - }, - }; - function Lr() { - var t, e, r, n, i; - function a(t, e) { - e = (e * Et) / 2 + At / 4; - var a = (t *= Et) - r, - o = a >= 0 ? 1 : -1, - s = o * a, - l = Math.cos(e), - c = Math.sin(e), - u = i * c, - f = n * l + u * Math.cos(s), - h = u * o * Math.sin(s); - (Cr.add(Math.atan2(h, f)), (r = t), (n = l), (i = c)); - } - ((Er.point = function (o, s) { - ((Er.point = a), - (r = (t = o) * Et), - (n = Math.cos((s = ((e = s) * Et) / 2 + At / 4))), - (i = Math.sin(s))); - }), - (Er.lineEnd = function () { - a(t, e); - })); - } - function zr(t) { - var e = t[0], - r = t[1], - n = Math.cos(r); - return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; - } - function Pr(t, e) { - return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; - } - function Dr(t, e) { - return [ - t[1] * e[2] - t[2] * e[1], - t[2] * e[0] - t[0] * e[2], - t[0] * e[1] - t[1] * e[0], - ]; - } - function Or(t, e) { - ((t[0] += e[0]), (t[1] += e[1]), (t[2] += e[2])); - } - function Ir(t, e) { - return [t[0] * e, t[1] * e, t[2] * e]; - } - function Rr(t) { - var e = Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); - ((t[0] /= e), (t[1] /= e), (t[2] /= e)); - } - function Br(t) { - return [Math.atan2(t[1], t[0]), Ot(t[2])]; - } - function Fr(t, e) { - return y(t[0] - e[0]) < kt && y(t[1] - e[1]) < kt; - } - ((t.geo.bounds = (function () { - var e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f, - h = { - point: p, - lineStart: g, - lineEnd: m, - polygonStart: function () { - ((h.point = v), - (h.lineStart = x), - (h.lineEnd = b), - (c = 0), - Er.polygonStart()); - }, - polygonEnd: function () { - (Er.polygonEnd(), - (h.point = p), - (h.lineStart = g), - (h.lineEnd = m), - Cr < 0 - ? ((e = -(n = 180)), (r = -(i = 90))) - : c > kt - ? (i = 90) - : c < -kt && (r = -90), - (f[0] = e), - (f[1] = n)); - }, - }; - function p(t, a) { - (u.push((f = [(e = t), (n = t)])), a < r && (r = a), a > i && (i = a)); - } - function d(t, o) { - var s = zr([t * Et, o * Et]); - if (l) { - var c = Dr(l, s), - u = Dr([c[1], -c[0], 0], c); - (Rr(u), (u = Br(u))); - var f = t - a, - h = f > 0 ? 1 : -1, - d = u[0] * Lt * h, - g = y(f) > 180; - if (g ^ (h * a < d && d < h * t)) (m = u[1] * Lt) > i && (i = m); - else if (g ^ (h * a < (d = ((d + 360) % 360) - 180) && d < h * t)) { - var m; - (m = -u[1] * Lt) < r && (r = m); - } else (o < r && (r = o), o > i && (i = o)); - g - ? t < a - ? _(e, t) > _(e, n) && (n = t) - : _(t, n) > _(e, n) && (e = t) - : n >= e - ? (t < e && (e = t), t > n && (n = t)) - : t > a - ? _(e, t) > _(e, n) && (n = t) - : _(t, n) > _(e, n) && (e = t); - } else p(t, o); - ((l = s), (a = t)); - } - function g() { - h.point = d; - } - function m() { - ((f[0] = e), (f[1] = n), (h.point = p), (l = null)); - } - function v(t, e) { - if (l) { - var r = t - a; - c += y(r) > 180 ? r + (r > 0 ? 360 : -360) : r; - } else ((o = t), (s = e)); - (Er.point(t, e), d(t, e)); - } - function x() { - Er.lineStart(); - } - function b() { - (v(o, s), - Er.lineEnd(), - y(c) > kt && (e = -(n = 180)), - (f[0] = e), - (f[1] = n), - (l = null)); - } - function _(t, e) { - return (e -= t) < 0 ? e + 360 : e; - } - function w(t, e) { - return t[0] - e[0]; - } - function k(t, e) { - return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t; - } - return function (a) { - if ( - ((i = n = -(e = r = 1 / 0)), - (u = []), - t.geo.stream(a, h), - (c = u.length)) - ) { - u.sort(w); - for (var o = 1, s = [(g = u[0])]; o < c; ++o) - k((p = u[o])[0], g) || k(p[1], g) - ? (_(g[0], p[1]) > _(g[0], g[1]) && (g[1] = p[1]), - _(p[0], g[1]) > _(g[0], g[1]) && (g[0] = p[0])) - : s.push((g = p)); - for ( - var l, c, p, d = -1 / 0, g = ((o = 0), s[(c = s.length - 1)]); - o <= c; - g = p, ++o - ) - ((p = s[o]), - (l = _(g[1], p[0])) > d && ((d = l), (e = p[0]), (n = g[1]))); - } - return ( - (u = f = null), - e === 1 / 0 || r === 1 / 0 - ? [ - [NaN, NaN], - [NaN, NaN], - ] - : [ - [e, r], - [n, i], - ] - ); - }; - })()), - (t.geo.centroid = function (e) { - ((vr = yr = xr = br = _r = wr = kr = Mr = Ar = Tr = Sr = 0), - t.geo.stream(e, Nr)); - var r = Ar, - n = Tr, - i = Sr, - a = r * r + n * n + i * i; - return a < Mt && - ((r = wr), - (n = kr), - (i = Mr), - yr < kt && ((r = xr), (n = br), (i = _r)), - (a = r * r + n * n + i * i) < Mt) - ? [NaN, NaN] - : [Math.atan2(n, r) * Lt, Ot(i / Math.sqrt(a)) * Lt]; - })); - var Nr = { - sphere: I, - point: jr, - lineStart: Ur, - lineEnd: qr, - polygonStart: function () { - Nr.lineStart = Hr; - }, - polygonEnd: function () { - Nr.lineStart = Ur; - }, - }; - function jr(t, e) { - t *= Et; - var r = Math.cos((e *= Et)); - Vr(r * Math.cos(t), r * Math.sin(t), Math.sin(e)); - } - function Vr(t, e, r) { - ((xr += (t - xr) / ++vr), (br += (e - br) / vr), (_r += (r - _r) / vr)); - } - function Ur() { - var t, e, r; - function n(n, i) { - n *= Et; - var a = Math.cos((i *= Et)), - o = a * Math.cos(n), - s = a * Math.sin(n), - l = Math.sin(i), - c = Math.atan2( - Math.sqrt( - (c = e * l - r * s) * c + - (c = r * o - t * l) * c + - (c = t * s - e * o) * c, - ), - t * o + e * s + r * l, - ); - ((yr += c), - (wr += c * (t + (t = o))), - (kr += c * (e + (e = s))), - (Mr += c * (r + (r = l))), - Vr(t, e, r)); - } - Nr.point = function (i, a) { - i *= Et; - var o = Math.cos((a *= Et)); - ((t = o * Math.cos(i)), - (e = o * Math.sin(i)), - (r = Math.sin(a)), - (Nr.point = n), - Vr(t, e, r)); - }; - } - function qr() { - Nr.point = jr; - } - function Hr() { - var t, e, r, n, i; - function a(t, e) { - t *= Et; - var a = Math.cos((e *= Et)), - o = a * Math.cos(t), - s = a * Math.sin(t), - l = Math.sin(e), - c = n * l - i * s, - u = i * o - r * l, - f = r * s - n * o, - h = Math.sqrt(c * c + u * u + f * f), - p = r * o + n * s + i * l, - d = h && -Dt(p) / h, - g = Math.atan2(h, p); - ((Ar += d * c), - (Tr += d * u), - (Sr += d * f), - (yr += g), - (wr += g * (r + (r = o))), - (kr += g * (n + (n = s))), - (Mr += g * (i + (i = l))), - Vr(r, n, i)); - } - ((Nr.point = function (o, s) { - ((t = o), (e = s), (Nr.point = a), (o *= Et)); - var l = Math.cos((s *= Et)); - ((r = l * Math.cos(o)), - (n = l * Math.sin(o)), - (i = Math.sin(s)), - Vr(r, n, i)); - }), - (Nr.lineEnd = function () { - (a(t, e), (Nr.lineEnd = qr), (Nr.point = jr)); - })); - } - function Gr(t, e) { - function r(r, n) { - return ((r = t(r, n)), e(r[0], r[1])); - } - return ( - t.invert && - e.invert && - (r.invert = function (r, n) { - return (r = e.invert(r, n)) && t.invert(r[0], r[1]); - }), - r - ); - } - function Wr() { - return !0; - } - function Yr(t, e, r, n, i) { - var a = [], - o = []; - if ( - (t.forEach(function (t) { - if (!((e = t.length - 1) <= 0)) { - var e, - r = t[0], - n = t[e]; - if (Fr(r, n)) { - i.lineStart(); - for (var s = 0; s < e; ++s) i.point((r = t[s])[0], r[1]); - i.lineEnd(); - } else { - var l = new Zr(r, t, null, !0), - c = new Zr(r, null, l, !1); - ((l.o = c), - a.push(l), - o.push(c), - (c = new Zr(n, null, (l = new Zr(n, t, null, !1)), !0)), - (l.o = c), - a.push(l), - o.push(c)); - } - } - }), - o.sort(e), - Xr(a), - Xr(o), - a.length) - ) { - for (var s = 0, l = r, c = o.length; s < c; ++s) o[s].e = l = !l; - for (var u, f, h = a[0]; ; ) { - for (var p = h, d = !0; p.v; ) if ((p = p.n) === h) return; - ((u = p.z), i.lineStart()); - do { - if (((p.v = p.o.v = !0), p.e)) { - if (d) - for (s = 0, c = u.length; s < c; ++s) - i.point((f = u[s])[0], f[1]); - else n(p.x, p.n.x, 1, i); - p = p.n; - } else { - if (d) - for (s = (u = p.p.z).length - 1; s >= 0; --s) - i.point((f = u[s])[0], f[1]); - else n(p.x, p.p.x, -1, i); - p = p.p; - } - ((u = (p = p.o).z), (d = !d)); - } while (!p.v); - i.lineEnd(); - } - } - } - function Xr(t) { - if ((e = t.length)) { - for (var e, r, n = 0, i = t[0]; ++n < e; ) - ((i.n = r = t[n]), (r.p = i), (i = r)); - ((i.n = r = t[0]), (r.p = i)); - } - } - function Zr(t, e, r, n) { - ((this.x = t), - (this.z = e), - (this.o = r), - (this.e = n), - (this.v = !1), - (this.n = this.p = null)); - } - function Jr(e, r, n, i) { - return function (a, o) { - var s, - l = r(o), - c = a.invert(i[0], i[1]), - u = { - point: f, - lineStart: p, - lineEnd: d, - polygonStart: function () { - ((u.point = b), - (u.lineStart = _), - (u.lineEnd = w), - (s = []), - (g = [])); - }, - polygonEnd: function () { - ((u.point = f), - (u.lineStart = p), - (u.lineEnd = d), - (s = t.merge(s))); - var e = (function (t, e) { - var r = t[0], - n = t[1], - i = [Math.sin(r), -Math.cos(r), 0], - a = 0, - o = 0; - Cr.reset(); - for (var s = 0, l = e.length; s < l; ++s) { - var c = e[s], - u = c.length; - if (u) - for ( - var f = c[0], - h = f[0], - p = f[1] / 2 + At / 4, - d = Math.sin(p), - g = Math.cos(p), - m = 1; - ; - - ) { - m === u && (m = 0); - var v = (t = c[m])[0], - y = t[1] / 2 + At / 4, - x = Math.sin(y), - b = Math.cos(y), - _ = v - h, - w = _ >= 0 ? 1 : -1, - k = w * _, - M = k > At, - A = d * x; - if ( - (Cr.add( - Math.atan2( - A * w * Math.sin(k), - g * b + A * Math.cos(k), - ), - ), - (a += M ? _ + w * Tt : _), - M ^ (h >= r) ^ (v >= r)) - ) { - var T = Dr(zr(f), zr(t)); - Rr(T); - var S = Dr(i, T); - Rr(S); - var C = (M ^ (_ >= 0) ? -1 : 1) * Ot(S[2]); - (n > C || (n === C && (T[0] || T[1]))) && - (o += M ^ (_ >= 0) ? 1 : -1); - } - if (!m++) break; - ((h = v), (d = x), (g = b), (f = t)); - } - } - return (a < -kt || (a < kt && Cr < -kt)) ^ (1 & o); - })(c, g); - (s.length - ? (x || (o.polygonStart(), (x = !0)), Yr(s, $r, e, n, o)) - : e && - (x || (o.polygonStart(), (x = !0)), - o.lineStart(), - n(null, null, 1, o), - o.lineEnd()), - x && (o.polygonEnd(), (x = !1)), - (s = g = null)); - }, - sphere: function () { - (o.polygonStart(), - o.lineStart(), - n(null, null, 1, o), - o.lineEnd(), - o.polygonEnd()); - }, - }; - function f(t, r) { - var n = a(t, r); - e((t = n[0]), (r = n[1])) && o.point(t, r); - } - function h(t, e) { - var r = a(t, e); - l.point(r[0], r[1]); - } - function p() { - ((u.point = h), l.lineStart()); - } - function d() { - ((u.point = f), l.lineEnd()); - } - var g, - m, - v = Qr(), - y = r(v), - x = !1; - function b(t, e) { - m.push([t, e]); - var r = a(t, e); - y.point(r[0], r[1]); - } - function _() { - (y.lineStart(), (m = [])); - } - function w() { - (b(m[0][0], m[0][1]), y.lineEnd()); - var t, - e = y.clean(), - r = v.buffer(), - n = r.length; - if ((m.pop(), g.push(m), (m = null), n)) - if (1 & e) { - var i, - a = -1; - if ((n = (t = r[0]).length - 1) > 0) { - for ( - x || (o.polygonStart(), (x = !0)), o.lineStart(); - ++a < n; - - ) - o.point((i = t[a])[0], i[1]); - o.lineEnd(); - } - } else - (n > 1 && 2 & e && r.push(r.pop().concat(r.shift())), - s.push(r.filter(Kr))); - } - return u; - }; - } - function Kr(t) { - return t.length > 1; - } - function Qr() { - var t, - e = []; - return { - lineStart: function () { - e.push((t = [])); - }, - point: function (e, r) { - t.push([e, r]); - }, - lineEnd: I, - buffer: function () { - var r = e; - return ((e = []), (t = null), r); - }, - rejoin: function () { - e.length > 1 && e.push(e.pop().concat(e.shift())); - }, - }; - } - function $r(t, e) { - return ( - ((t = t.x)[0] < 0 ? t[1] - Ct - kt : Ct - t[1]) - - ((e = e.x)[0] < 0 ? e[1] - Ct - kt : Ct - e[1]) - ); - } - var tn = Jr( - Wr, - function (t) { - var e, - r = NaN, - n = NaN, - i = NaN; - return { - lineStart: function () { - (t.lineStart(), (e = 1)); - }, - point: function (a, o) { - var s = a > 0 ? At : -At, - l = y(a - r); - (y(l - At) < kt - ? (t.point(r, (n = (n + o) / 2 > 0 ? Ct : -Ct)), - t.point(i, n), - t.lineEnd(), - t.lineStart(), - t.point(s, n), - t.point(a, n), - (e = 0)) - : i !== s && - l >= At && - (y(r - i) < kt && (r -= i * kt), - y(a - s) < kt && (a -= s * kt), - (n = (function (t, e, r, n) { - var i, - a, - o = Math.sin(t - r); - return y(o) > kt - ? Math.atan( - (Math.sin(e) * (a = Math.cos(n)) * Math.sin(r) - - Math.sin(n) * (i = Math.cos(e)) * Math.sin(t)) / - (i * a * o), - ) - : (e + n) / 2; - })(r, n, a, o)), - t.point(i, n), - t.lineEnd(), - t.lineStart(), - t.point(s, n), - (e = 0)), - t.point((r = a), (n = o)), - (i = s)); - }, - lineEnd: function () { - (t.lineEnd(), (r = n = NaN)); - }, - clean: function () { - return 2 - e; - }, - }; - }, - function (t, e, r, n) { - var i; - if (null == t) - ((i = r * Ct), - n.point(-At, i), - n.point(0, i), - n.point(At, i), - n.point(At, 0), - n.point(At, -i), - n.point(0, -i), - n.point(-At, -i), - n.point(-At, 0), - n.point(-At, i)); - else if (y(t[0] - e[0]) > kt) { - var a = t[0] < e[0] ? At : -At; - ((i = (r * a) / 2), n.point(-a, i), n.point(0, i), n.point(a, i)); - } else n.point(e[0], e[1]); - }, - [-At, -At / 2], - ); - function en(t, e, r, n) { - return function (i) { - var a, - o = i.a, - s = i.b, - l = o.x, - c = o.y, - u = 0, - f = 1, - h = s.x - l, - p = s.y - c; - if (((a = t - l), h || !(a > 0))) { - if (((a /= h), h < 0)) { - if (a < u) return; - a < f && (f = a); - } else if (h > 0) { - if (a > f) return; - a > u && (u = a); - } - if (((a = r - l), h || !(a < 0))) { - if (((a /= h), h < 0)) { - if (a > f) return; - a > u && (u = a); - } else if (h > 0) { - if (a < u) return; - a < f && (f = a); - } - if (((a = e - c), p || !(a > 0))) { - if (((a /= p), p < 0)) { - if (a < u) return; - a < f && (f = a); - } else if (p > 0) { - if (a > f) return; - a > u && (u = a); - } - if (((a = n - c), p || !(a < 0))) { - if (((a /= p), p < 0)) { - if (a > f) return; - a > u && (u = a); - } else if (p > 0) { - if (a < u) return; - a < f && (f = a); - } - return ( - u > 0 && (i.a = { x: l + u * h, y: c + u * p }), - f < 1 && (i.b = { x: l + f * h, y: c + f * p }), - i - ); - } - } - } - } - }; - } - var rn = 1e9; - function nn(e, r, n, i) { - return function (l) { - var c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b = l, - _ = Qr(), - w = en(e, r, n, i), - k = { - point: T, - lineStart: function () { - ((k.point = S), u && u.push((f = []))); - ((y = !0), (v = !1), (g = m = NaN)); - }, - lineEnd: function () { - c && (S(h, p), d && v && _.rejoin(), c.push(_.buffer())); - ((k.point = T), v && l.lineEnd()); - }, - polygonStart: function () { - ((l = _), (c = []), (u = []), (x = !0)); - }, - polygonEnd: function () { - ((l = b), (c = t.merge(c))); - var r = (function (t) { - for (var e = 0, r = u.length, n = t[1], i = 0; i < r; ++i) - for ( - var a, o = 1, s = u[i], l = s.length, c = s[0]; - o < l; - ++o - ) - ((a = s[o]), - c[1] <= n - ? a[1] > n && Pt(c, a, t) > 0 && ++e - : a[1] <= n && Pt(c, a, t) < 0 && --e, - (c = a)); - return 0 !== e; - })([e, i]), - n = x && r, - a = c.length; - ((n || a) && - (l.polygonStart(), - n && (l.lineStart(), M(null, null, 1, l), l.lineEnd()), - a && Yr(c, o, r, M, l), - l.polygonEnd()), - (c = u = f = null)); - }, - }; - function M(t, o, l, c) { - var u = 0, - f = 0; - if ( - null == t || - (u = a(t, l)) !== (f = a(o, l)) || - (s(t, o) < 0) ^ (l > 0) - ) - do { - c.point(0 === u || 3 === u ? e : n, u > 1 ? i : r); - } while ((u = (u + l + 4) % 4) !== f); - else c.point(o[0], o[1]); - } - function A(t, a) { - return e <= t && t <= n && r <= a && a <= i; - } - function T(t, e) { - A(t, e) && l.point(t, e); - } - function S(t, e) { - var r = A( - (t = Math.max(-rn, Math.min(rn, t))), - (e = Math.max(-rn, Math.min(rn, e))), - ); - if ((u && f.push([t, e]), y)) - ((h = t), - (p = e), - (d = r), - (y = !1), - r && (l.lineStart(), l.point(t, e))); - else if (r && v) l.point(t, e); - else { - var n = { a: { x: g, y: m }, b: { x: t, y: e } }; - w(n) - ? (v || (l.lineStart(), l.point(n.a.x, n.a.y)), - l.point(n.b.x, n.b.y), - r || l.lineEnd(), - (x = !1)) - : r && (l.lineStart(), l.point(t, e), (x = !1)); - } - ((g = t), (m = e), (v = r)); - } - return k; - }; - function a(t, i) { - return y(t[0] - e) < kt - ? i > 0 - ? 0 - : 3 - : y(t[0] - n) < kt - ? i > 0 - ? 2 - : 1 - : y(t[1] - r) < kt - ? i > 0 - ? 1 - : 0 - : i > 0 - ? 3 - : 2; - } - function o(t, e) { - return s(t.x, e.x); - } - function s(t, e) { - var r = a(t, 1), - n = a(e, 1); - return r !== n - ? r - n - : 0 === r - ? e[1] - t[1] - : 1 === r - ? t[0] - e[0] - : 2 === r - ? t[1] - e[1] - : e[0] - t[0]; - } - } - function an(t) { - var e = 0, - r = At / 3, - n = Sn(t), - i = n(e, r); - return ( - (i.parallels = function (t) { - return arguments.length - ? n((e = (t[0] * At) / 180), (r = (t[1] * At) / 180)) - : [(e / At) * 180, (r / At) * 180]; - }), - i - ); - } - function on(t, e) { - var r = Math.sin(t), - n = (r + Math.sin(e)) / 2, - i = 1 + r * (2 * n - r), - a = Math.sqrt(i) / n; - function o(t, e) { - var r = Math.sqrt(i - 2 * n * Math.sin(e)) / n; - return [r * Math.sin((t *= n)), a - r * Math.cos(t)]; - } - return ( - (o.invert = function (t, e) { - var r = a - e; - return [ - Math.atan2(t, r) / n, - Ot((i - (t * t + r * r) * n * n) / (2 * n)), - ]; - }), - o - ); - } - ((t.geo.clipExtent = function () { - var t, - e, - r, - n, - i, - a, - o = { - stream: function (t) { - return (i && (i.valid = !1), ((i = a(t)).valid = !0), i); - }, - extent: function (s) { - return arguments.length - ? ((a = nn( - (t = +s[0][0]), - (e = +s[0][1]), - (r = +s[1][0]), - (n = +s[1][1]), - )), - i && ((i.valid = !1), (i = null)), - o) - : [ - [t, e], - [r, n], - ]; - }, - }; - return o.extent([ - [0, 0], - [960, 500], - ]); - }), - ((t.geo.conicEqualArea = function () { - return an(on); - }).raw = on), - (t.geo.albers = function () { - return t.geo - .conicEqualArea() - .rotate([96, 0]) - .center([-0.6, 38.7]) - .parallels([29.5, 45.5]) - .scale(1070); - }), - (t.geo.albersUsa = function () { - var e, - r, - n, - i, - a = t.geo.albers(), - o = t.geo - .conicEqualArea() - .rotate([154, 0]) - .center([-2, 58.5]) - .parallels([55, 65]), - s = t.geo - .conicEqualArea() - .rotate([157, 0]) - .center([-3, 19.9]) - .parallels([8, 18]), - l = { - point: function (t, r) { - e = [t, r]; - }, - }; - function c(t) { - var a = t[0], - o = t[1]; - return ((e = null), r(a, o), e || (n(a, o), e) || i(a, o), e); - } - return ( - (c.invert = function (t) { - var e = a.scale(), - r = a.translate(), - n = (t[0] - r[0]) / e, - i = (t[1] - r[1]) / e; - return ( - i >= 0.12 && i < 0.234 && n >= -0.425 && n < -0.214 - ? o - : i >= 0.166 && i < 0.234 && n >= -0.214 && n < -0.115 - ? s - : a - ).invert(t); - }), - (c.stream = function (t) { - var e = a.stream(t), - r = o.stream(t), - n = s.stream(t); - return { - point: function (t, i) { - (e.point(t, i), r.point(t, i), n.point(t, i)); - }, - sphere: function () { - (e.sphere(), r.sphere(), n.sphere()); - }, - lineStart: function () { - (e.lineStart(), r.lineStart(), n.lineStart()); - }, - lineEnd: function () { - (e.lineEnd(), r.lineEnd(), n.lineEnd()); - }, - polygonStart: function () { - (e.polygonStart(), r.polygonStart(), n.polygonStart()); - }, - polygonEnd: function () { - (e.polygonEnd(), r.polygonEnd(), n.polygonEnd()); - }, - }; - }), - (c.precision = function (t) { - return arguments.length - ? (a.precision(t), o.precision(t), s.precision(t), c) - : a.precision(); - }), - (c.scale = function (t) { - return arguments.length - ? (a.scale(t), - o.scale(0.35 * t), - s.scale(t), - c.translate(a.translate())) - : a.scale(); - }), - (c.translate = function (t) { - if (!arguments.length) return a.translate(); - var e = a.scale(), - u = +t[0], - f = +t[1]; - return ( - (r = a - .translate(t) - .clipExtent([ - [u - 0.455 * e, f - 0.238 * e], - [u + 0.455 * e, f + 0.238 * e], - ]) - .stream(l).point), - (n = o - .translate([u - 0.307 * e, f + 0.201 * e]) - .clipExtent([ - [u - 0.425 * e + kt, f + 0.12 * e + kt], - [u - 0.214 * e - kt, f + 0.234 * e - kt], - ]) - .stream(l).point), - (i = s - .translate([u - 0.205 * e, f + 0.212 * e]) - .clipExtent([ - [u - 0.214 * e + kt, f + 0.166 * e + kt], - [u - 0.115 * e - kt, f + 0.234 * e - kt], - ]) - .stream(l).point), - c - ); - }), - c.scale(1070) - ); - })); - var sn, - ln, - cn, - un, - fn, - hn, - pn = { - point: I, - lineStart: I, - lineEnd: I, - polygonStart: function () { - ((ln = 0), (pn.lineStart = dn)); - }, - polygonEnd: function () { - ((pn.lineStart = pn.lineEnd = pn.point = I), (sn += y(ln / 2))); - }, - }; - function dn() { - var t, e, r, n; - function i(t, e) { - ((ln += n * t - r * e), (r = t), (n = e)); - } - ((pn.point = function (a, o) { - ((pn.point = i), (t = r = a), (e = n = o)); - }), - (pn.lineEnd = function () { - i(t, e); - })); - } - var gn = { - point: function (t, e) { - t < cn && (cn = t); - t > fn && (fn = t); - e < un && (un = e); - e > hn && (hn = e); - }, - lineStart: I, - lineEnd: I, - polygonStart: I, - polygonEnd: I, - }; - function mn(t) { - return ( - "m0," + - t + - "a" + - t + - "," + - t + - " 0 1,1 0," + - -2 * t + - "a" + - t + - "," + - t + - " 0 1,1 0," + - 2 * t + - "z" - ); - } - var vn, - yn = { - point: xn, - lineStart: bn, - lineEnd: _n, - polygonStart: function () { - yn.lineStart = wn; - }, - polygonEnd: function () { - ((yn.point = xn), (yn.lineStart = bn), (yn.lineEnd = _n)); - }, - }; - function xn(t, e) { - ((xr += t), (br += e), ++_r); - } - function bn() { - var t, e; - function r(r, n) { - var i = r - t, - a = n - e, - o = Math.sqrt(i * i + a * a); - ((wr += (o * (t + r)) / 2), - (kr += (o * (e + n)) / 2), - (Mr += o), - xn((t = r), (e = n))); - } - yn.point = function (n, i) { - ((yn.point = r), xn((t = n), (e = i))); - }; - } - function _n() { - yn.point = xn; - } - function wn() { - var t, e, r, n; - function i(t, e) { - var i = t - r, - a = e - n, - o = Math.sqrt(i * i + a * a); - ((wr += (o * (r + t)) / 2), - (kr += (o * (n + e)) / 2), - (Mr += o), - (Ar += (o = n * t - r * e) * (r + t)), - (Tr += o * (n + e)), - (Sr += 3 * o), - xn((r = t), (n = e))); - } - ((yn.point = function (a, o) { - ((yn.point = i), xn((t = r = a), (e = n = o))); - }), - (yn.lineEnd = function () { - i(t, e); - })); - } - function kn(t) { - var e = 0.5, - r = Math.cos(30 * Et), - n = 16; - function i(e) { - return ( - n - ? function (e) { - var r, - i, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m = { - point: v, - lineStart: y, - lineEnd: b, - polygonStart: function () { - (e.polygonStart(), (m.lineStart = _)); - }, - polygonEnd: function () { - (e.polygonEnd(), (m.lineStart = y)); - }, - }; - function v(r, n) { - ((r = t(r, n)), e.point(r[0], r[1])); - } - function y() { - ((f = NaN), (m.point = x), e.lineStart()); - } - function x(r, i) { - var o = zr([r, i]), - s = t(r, i); - (a( - f, - h, - u, - p, - d, - g, - (f = s[0]), - (h = s[1]), - (u = r), - (p = o[0]), - (d = o[1]), - (g = o[2]), - n, - e, - ), - e.point(f, h)); - } - function b() { - ((m.point = v), e.lineEnd()); - } - function _() { - (y(), (m.point = w), (m.lineEnd = k)); - } - function w(t, e) { - (x((r = t), e), - (i = f), - (o = h), - (s = p), - (l = d), - (c = g), - (m.point = x)); - } - function k() { - (a(f, h, u, p, d, g, i, o, r, s, l, c, n, e), - (m.lineEnd = b), - b()); - } - return m; - } - : function (e) { - return An(e, function (r, n) { - ((r = t(r, n)), e.point(r[0], r[1])); - }); - } - )(e); - } - function a(n, i, o, s, l, c, u, f, h, p, d, g, m, v) { - var x = u - n, - b = f - i, - _ = x * x + b * b; - if (_ > 4 * e && m--) { - var w = s + p, - k = l + d, - M = c + g, - A = Math.sqrt(w * w + k * k + M * M), - T = Math.asin((M /= A)), - S = - y(y(M) - 1) < kt || y(o - h) < kt - ? (o + h) / 2 - : Math.atan2(k, w), - C = t(S, T), - E = C[0], - L = C[1], - z = E - n, - P = L - i, - D = b * z - x * P; - ((D * D) / _ > e || - y((x * z + b * P) / _ - 0.5) > 0.3 || - s * p + l * d + c * g < r) && - (a(n, i, o, s, l, c, E, L, S, (w /= A), (k /= A), M, m, v), - v.point(E, L), - a(E, L, S, w, k, M, u, f, h, p, d, g, m, v)); - } - } - return ( - (i.precision = function (t) { - return arguments.length - ? ((n = (e = t * t) > 0 && 16), i) - : Math.sqrt(e); - }), - i - ); - } - function Mn(t) { - this.stream = t; - } - function An(t, e) { - return { - point: e, - sphere: function () { - t.sphere(); - }, - lineStart: function () { - t.lineStart(); - }, - lineEnd: function () { - t.lineEnd(); - }, - polygonStart: function () { - t.polygonStart(); - }, - polygonEnd: function () { - t.polygonEnd(); - }, - }; - } - function Tn(t) { - return Sn(function () { - return t; - })(); - } - function Sn(e) { - var r, - n, - i, - a, - o, - s, - l = kn(function (t, e) { - return [(t = r(t, e))[0] * c + a, o - t[1] * c]; - }), - c = 150, - u = 480, - f = 250, - h = 0, - p = 0, - d = 0, - g = 0, - m = 0, - v = tn, - x = z, - b = null, - _ = null; - function w(t) { - return [(t = i(t[0] * Et, t[1] * Et))[0] * c + a, o - t[1] * c]; - } - function k(t) { - return ( - (t = i.invert((t[0] - a) / c, (o - t[1]) / c)) && [ - t[0] * Lt, - t[1] * Lt, - ] - ); - } - function M() { - i = Gr((n = zn(d, g, m)), r); - var t = r(h, p); - return ((a = u - t[0] * c), (o = f + t[1] * c), A()); - } - function A() { - return (s && ((s.valid = !1), (s = null)), w); - } - return ( - (w.stream = function (t) { - return (s && (s.valid = !1), ((s = Cn(v(n, l(x(t))))).valid = !0), s); - }), - (w.clipAngle = function (t) { - return arguments.length - ? ((v = - null == t - ? ((b = t), tn) - : (function (t) { - var e = Math.cos(t), - r = e > 0, - n = y(e) > kt; - return Jr( - i, - function (t) { - var e, s, l, c, u; - return { - lineStart: function () { - ((c = l = !1), (u = 1)); - }, - point: function (f, h) { - var p, - d = [f, h], - g = i(f, h), - m = r - ? g - ? 0 - : o(f, h) - : g - ? o(f + (f < 0 ? At : -At), h) - : 0; - if ( - (!e && (c = l = g) && t.lineStart(), - g !== l && - ((p = a(e, d)), - (Fr(e, p) || Fr(d, p)) && - ((d[0] += kt), - (d[1] += kt), - (g = i(d[0], d[1])))), - g !== l) - ) - ((u = 0), - g - ? (t.lineStart(), - (p = a(d, e)), - t.point(p[0], p[1])) - : ((p = a(e, d)), - t.point(p[0], p[1]), - t.lineEnd()), - (e = p)); - else if (n && e && r ^ g) { - var v; - m & s || - !(v = a(d, e, !0)) || - ((u = 0), - r - ? (t.lineStart(), - t.point(v[0][0], v[0][1]), - t.point(v[1][0], v[1][1]), - t.lineEnd()) - : (t.point(v[1][0], v[1][1]), - t.lineEnd(), - t.lineStart(), - t.point(v[0][0], v[0][1]))); - } - (!g || (e && Fr(e, d)) || t.point(d[0], d[1]), - (e = d), - (l = g), - (s = m)); - }, - lineEnd: function () { - (l && t.lineEnd(), (e = null)); - }, - clean: function () { - return u | ((c && l) << 1); - }, - }; - }, - In(t, 6 * Et), - r ? [0, -t] : [-At, t - At], - ); - function i(t, r) { - return Math.cos(t) * Math.cos(r) > e; - } - function a(t, r, n) { - var i = [1, 0, 0], - a = Dr(zr(t), zr(r)), - o = Pr(a, a), - s = a[0], - l = o - s * s; - if (!l) return !n && t; - var c = (e * o) / l, - u = (-e * s) / l, - f = Dr(i, a), - h = Ir(i, c); - Or(h, Ir(a, u)); - var p = f, - d = Pr(h, p), - g = Pr(p, p), - m = d * d - g * (Pr(h, h) - 1); - if (!(m < 0)) { - var v = Math.sqrt(m), - x = Ir(p, (-d - v) / g); - if ((Or(x, h), (x = Br(x)), !n)) return x; - var b, - _ = t[0], - w = r[0], - k = t[1], - M = r[1]; - w < _ && ((b = _), (_ = w), (w = b)); - var A = w - _, - T = y(A - At) < kt; - if ( - (!T && M < k && ((b = k), (k = M), (M = b)), - T || A < kt - ? T - ? (k + M > 0) ^ - (x[1] < (y(x[0] - _) < kt ? k : M)) - : k <= x[1] && x[1] <= M - : (A > At) ^ (_ <= x[0] && x[0] <= w)) - ) { - var S = Ir(p, (-d + v) / g); - return (Or(S, h), [x, Br(S)]); - } - } - } - function o(e, n) { - var i = r ? t : At - t, - a = 0; - return ( - e < -i ? (a |= 1) : e > i && (a |= 2), - n < -i ? (a |= 4) : n > i && (a |= 8), - a - ); - } - })((b = +t) * Et)), - A()) - : b; - }), - (w.clipExtent = function (t) { - return arguments.length - ? ((_ = t), - (x = t ? nn(t[0][0], t[0][1], t[1][0], t[1][1]) : z), - A()) - : _; - }), - (w.scale = function (t) { - return arguments.length ? ((c = +t), M()) : c; - }), - (w.translate = function (t) { - return arguments.length ? ((u = +t[0]), (f = +t[1]), M()) : [u, f]; - }), - (w.center = function (t) { - return arguments.length - ? ((h = (t[0] % 360) * Et), (p = (t[1] % 360) * Et), M()) - : [h * Lt, p * Lt]; - }), - (w.rotate = function (t) { - return arguments.length - ? ((d = (t[0] % 360) * Et), - (g = (t[1] % 360) * Et), - (m = t.length > 2 ? (t[2] % 360) * Et : 0), - M()) - : [d * Lt, g * Lt, m * Lt]; - }), - t.rebind(w, l, "precision"), - function () { - return ( - (r = e.apply(this, arguments)), - (w.invert = r.invert && k), - M() - ); - } - ); - } - function Cn(t) { - return An(t, function (e, r) { - t.point(e * Et, r * Et); - }); - } - function En(t, e) { - return [t, e]; - } - function Ln(t, e) { - return [t > At ? t - Tt : t < -At ? t + Tt : t, e]; - } - function zn(t, e, r) { - return t - ? e || r - ? Gr(Dn(t), On(e, r)) - : Dn(t) - : e || r - ? On(e, r) - : Ln; - } - function Pn(t) { - return function (e, r) { - return [(e += t) > At ? e - Tt : e < -At ? e + Tt : e, r]; - }; - } - function Dn(t) { - var e = Pn(t); - return ((e.invert = Pn(-t)), e); - } - function On(t, e) { - var r = Math.cos(t), - n = Math.sin(t), - i = Math.cos(e), - a = Math.sin(e); - function o(t, e) { - var o = Math.cos(e), - s = Math.cos(t) * o, - l = Math.sin(t) * o, - c = Math.sin(e), - u = c * r + s * n; - return [Math.atan2(l * i - u * a, s * r - c * n), Ot(u * i + l * a)]; - } - return ( - (o.invert = function (t, e) { - var o = Math.cos(e), - s = Math.cos(t) * o, - l = Math.sin(t) * o, - c = Math.sin(e), - u = c * i - l * a; - return [Math.atan2(l * i + c * a, s * r + u * n), Ot(u * r - s * n)]; - }), - o - ); - } - function In(t, e) { - var r = Math.cos(t), - n = Math.sin(t); - return function (i, a, o, s) { - var l = o * e; - null != i - ? ((i = Rn(r, i)), - (a = Rn(r, a)), - (o > 0 ? i < a : i > a) && (i += o * Tt)) - : ((i = t + o * Tt), (a = t - 0.5 * l)); - for (var c, u = i; o > 0 ? u > a : u < a; u -= l) - s.point((c = Br([r, -n * Math.cos(u), -n * Math.sin(u)]))[0], c[1]); - }; - } - function Rn(t, e) { - var r = zr(e); - ((r[0] -= t), Rr(r)); - var n = Dt(-r[1]); - return ((-r[2] < 0 ? -n : n) + 2 * Math.PI - kt) % (2 * Math.PI); - } - function Bn(e, r, n) { - var i = t.range(e, r - kt, n).concat(r); - return function (t) { - return i.map(function (e) { - return [t, e]; - }); - }; - } - function Fn(e, r, n) { - var i = t.range(e, r - kt, n).concat(r); - return function (t) { - return i.map(function (e) { - return [e, t]; - }); - }; - } - function Nn(t) { - return t.source; - } - function jn(t) { - return t.target; - } - ((t.geo.path = function () { - var e, - r, - n, - i, - a, - o = 4.5; - function s(e) { - return ( - e && - ("function" == typeof o && i.pointRadius(+o.apply(this, arguments)), - (a && a.valid) || (a = n(i)), - t.geo.stream(e, a)), - i.result() - ); - } - function l() { - return ((a = null), s); - } - return ( - (s.area = function (e) { - return ((sn = 0), t.geo.stream(e, n(pn)), sn); - }), - (s.centroid = function (e) { - return ( - (xr = br = _r = wr = kr = Mr = Ar = Tr = Sr = 0), - t.geo.stream(e, n(yn)), - Sr - ? [Ar / Sr, Tr / Sr] - : Mr - ? [wr / Mr, kr / Mr] - : _r - ? [xr / _r, br / _r] - : [NaN, NaN] - ); - }), - (s.bounds = function (e) { - return ( - (fn = hn = -(cn = un = 1 / 0)), - t.geo.stream(e, n(gn)), - [ - [cn, un], - [fn, hn], - ] - ); - }), - (s.projection = function (t) { - return arguments.length - ? ((n = (e = t) - ? t.stream || - ((r = t), - (i = kn(function (t, e) { - return r([t * Lt, e * Lt]); - })), - function (t) { - return Cn(i(t)); - }) - : z), - l()) - : e; - var r, i; - }), - (s.context = function (t) { - return arguments.length - ? ((i = - null == (r = t) - ? new (function () { - var t = mn(4.5), - e = [], - r = { - point: n, - lineStart: function () { - r.point = i; - }, - lineEnd: o, - polygonStart: function () { - r.lineEnd = s; - }, - polygonEnd: function () { - ((r.lineEnd = o), (r.point = n)); - }, - pointRadius: function (e) { - return ((t = mn(e)), r); - }, - result: function () { - if (e.length) { - var t = e.join(""); - return ((e = []), t); - } - }, - }; - function n(r, n) { - e.push("M", r, ",", n, t); - } - function i(t, n) { - (e.push("M", t, ",", n), (r.point = a)); - } - function a(t, r) { - e.push("L", t, ",", r); - } - function o() { - r.point = n; - } - function s() { - e.push("Z"); - } - return r; - })() - : new (function (t) { - var e = 4.5, - r = { - point: n, - lineStart: function () { - r.point = i; - }, - lineEnd: o, - polygonStart: function () { - r.lineEnd = s; - }, - polygonEnd: function () { - ((r.lineEnd = o), (r.point = n)); - }, - pointRadius: function (t) { - return ((e = t), r); - }, - result: I, - }; - function n(r, n) { - (t.moveTo(r + e, n), t.arc(r, n, e, 0, Tt)); - } - function i(e, n) { - (t.moveTo(e, n), (r.point = a)); - } - function a(e, r) { - t.lineTo(e, r); - } - function o() { - r.point = n; - } - function s() { - t.closePath(); - } - return r; - })(t)), - "function" != typeof o && i.pointRadius(o), - l()) - : r; - }), - (s.pointRadius = function (t) { - return arguments.length - ? ((o = "function" == typeof t ? t : (i.pointRadius(+t), +t)), s) - : o; - }), - s.projection(t.geo.albersUsa()).context(null) - ); - }), - (t.geo.transform = function (t) { - return { - stream: function (e) { - var r = new Mn(e); - for (var n in t) r[n] = t[n]; - return r; - }, - }; - }), - (Mn.prototype = { - point: function (t, e) { - this.stream.point(t, e); - }, - sphere: function () { - this.stream.sphere(); - }, - lineStart: function () { - this.stream.lineStart(); - }, - lineEnd: function () { - this.stream.lineEnd(); - }, - polygonStart: function () { - this.stream.polygonStart(); - }, - polygonEnd: function () { - this.stream.polygonEnd(); - }, - }), - (t.geo.projection = Tn), - (t.geo.projectionMutator = Sn), - ((t.geo.equirectangular = function () { - return Tn(En); - }).raw = En.invert = - En), - (t.geo.rotation = function (t) { - function e(e) { - return (((e = t(e[0] * Et, e[1] * Et))[0] *= Lt), (e[1] *= Lt), e); - } - return ( - (t = zn((t[0] % 360) * Et, t[1] * Et, t.length > 2 ? t[2] * Et : 0)), - (e.invert = function (e) { - return ( - ((e = t.invert(e[0] * Et, e[1] * Et))[0] *= Lt), - (e[1] *= Lt), - e - ); - }), - e - ); - }), - (Ln.invert = En), - (t.geo.circle = function () { - var t, - e, - r = [0, 0], - n = 6; - function i() { - var t = "function" == typeof r ? r.apply(this, arguments) : r, - n = zn(-t[0] * Et, -t[1] * Et, 0).invert, - i = []; - return ( - e(null, null, 1, { - point: function (t, e) { - (i.push((t = n(t, e))), (t[0] *= Lt), (t[1] *= Lt)); - }, - }), - { type: "Polygon", coordinates: [i] } - ); - } - return ( - (i.origin = function (t) { - return arguments.length ? ((r = t), i) : r; - }), - (i.angle = function (r) { - return arguments.length ? ((e = In((t = +r) * Et, n * Et)), i) : t; - }), - (i.precision = function (r) { - return arguments.length ? ((e = In(t * Et, (n = +r) * Et)), i) : n; - }), - i.angle(90) - ); - }), - (t.geo.distance = function (t, e) { - var r, - n = (e[0] - t[0]) * Et, - i = t[1] * Et, - a = e[1] * Et, - o = Math.sin(n), - s = Math.cos(n), - l = Math.sin(i), - c = Math.cos(i), - u = Math.sin(a), - f = Math.cos(a); - return Math.atan2( - Math.sqrt((r = f * o) * r + (r = c * u - l * f * s) * r), - l * u + c * f * s, - ); - }), - (t.geo.graticule = function () { - var e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p = 10, - d = p, - g = 90, - m = 360, - v = 2.5; - function x() { - return { type: "MultiLineString", coordinates: b() }; - } - function b() { - return t - .range(Math.ceil(i / g) * g, n, g) - .map(f) - .concat(t.range(Math.ceil(l / m) * m, s, m).map(h)) - .concat( - t - .range(Math.ceil(r / p) * p, e, p) - .filter(function (t) { - return y(t % g) > kt; - }) - .map(c), - ) - .concat( - t - .range(Math.ceil(o / d) * d, a, d) - .filter(function (t) { - return y(t % m) > kt; - }) - .map(u), - ); - } - return ( - (x.lines = function () { - return b().map(function (t) { - return { type: "LineString", coordinates: t }; - }); - }), - (x.outline = function () { - return { - type: "Polygon", - coordinates: [ - f(i).concat( - h(s).slice(1), - f(n).reverse().slice(1), - h(l).reverse().slice(1), - ), - ], - }; - }), - (x.extent = function (t) { - return arguments.length - ? x.majorExtent(t).minorExtent(t) - : x.minorExtent(); - }), - (x.majorExtent = function (t) { - return arguments.length - ? ((i = +t[0][0]), - (n = +t[1][0]), - (l = +t[0][1]), - (s = +t[1][1]), - i > n && ((t = i), (i = n), (n = t)), - l > s && ((t = l), (l = s), (s = t)), - x.precision(v)) - : [ - [i, l], - [n, s], - ]; - }), - (x.minorExtent = function (t) { - return arguments.length - ? ((r = +t[0][0]), - (e = +t[1][0]), - (o = +t[0][1]), - (a = +t[1][1]), - r > e && ((t = r), (r = e), (e = t)), - o > a && ((t = o), (o = a), (a = t)), - x.precision(v)) - : [ - [r, o], - [e, a], - ]; - }), - (x.step = function (t) { - return arguments.length - ? x.majorStep(t).minorStep(t) - : x.minorStep(); - }), - (x.majorStep = function (t) { - return arguments.length ? ((g = +t[0]), (m = +t[1]), x) : [g, m]; - }), - (x.minorStep = function (t) { - return arguments.length ? ((p = +t[0]), (d = +t[1]), x) : [p, d]; - }), - (x.precision = function (t) { - return arguments.length - ? ((v = +t), - (c = Bn(o, a, 90)), - (u = Fn(r, e, v)), - (f = Bn(l, s, 90)), - (h = Fn(i, n, v)), - x) - : v; - }), - x - .majorExtent([ - [-180, -90 + kt], - [180, 90 - kt], - ]) - .minorExtent([ - [-180, -80 - kt], - [180, 80 + kt], - ]) - ); - }), - (t.geo.greatArc = function () { - var e, - r, - n = Nn, - i = jn; - function a() { - return { - type: "LineString", - coordinates: [ - e || n.apply(this, arguments), - r || i.apply(this, arguments), - ], - }; - } - return ( - (a.distance = function () { - return t.geo.distance( - e || n.apply(this, arguments), - r || i.apply(this, arguments), - ); - }), - (a.source = function (t) { - return arguments.length - ? ((n = t), (e = "function" == typeof t ? null : t), a) - : n; - }), - (a.target = function (t) { - return arguments.length - ? ((i = t), (r = "function" == typeof t ? null : t), a) - : i; - }), - (a.precision = function () { - return arguments.length ? a : 0; - }), - a - ); - }), - (t.geo.interpolate = function (t, e) { - return ( - (r = t[0] * Et), - (n = t[1] * Et), - (i = e[0] * Et), - (a = e[1] * Et), - (o = Math.cos(n)), - (s = Math.sin(n)), - (l = Math.cos(a)), - (c = Math.sin(a)), - (u = o * Math.cos(r)), - (f = o * Math.sin(r)), - (h = l * Math.cos(i)), - (p = l * Math.sin(i)), - (d = 2 * Math.asin(Math.sqrt(Rt(a - n) + o * l * Rt(i - r)))), - (g = 1 / Math.sin(d)), - ((m = d - ? function (t) { - var e = Math.sin((t *= d)) * g, - r = Math.sin(d - t) * g, - n = r * u + e * h, - i = r * f + e * p, - a = r * s + e * c; - return [ - Math.atan2(i, n) * Lt, - Math.atan2(a, Math.sqrt(n * n + i * i)) * Lt, - ]; - } - : function () { - return [r * Lt, n * Lt]; - }).distance = d), - m - ); - var r, n, i, a, o, s, l, c, u, f, h, p, d, g, m; - }), - (t.geo.length = function (e) { - return ((vn = 0), t.geo.stream(e, Vn), vn); - })); - var Vn = { - sphere: I, - point: I, - lineStart: function () { - var t, e, r; - function n(n, i) { - var a = Math.sin((i *= Et)), - o = Math.cos(i), - s = y((n *= Et) - t), - l = Math.cos(s); - ((vn += Math.atan2( - Math.sqrt((s = o * Math.sin(s)) * s + (s = r * a - e * o * l) * s), - e * a + r * o * l, - )), - (t = n), - (e = a), - (r = o)); - } - ((Vn.point = function (i, a) { - ((t = i * Et), - (e = Math.sin((a *= Et))), - (r = Math.cos(a)), - (Vn.point = n)); - }), - (Vn.lineEnd = function () { - Vn.point = Vn.lineEnd = I; - })); - }, - lineEnd: I, - polygonStart: I, - polygonEnd: I, - }; - function Un(t, e) { - function r(e, r) { - var n = Math.cos(e), - i = Math.cos(r), - a = t(n * i); - return [a * i * Math.sin(e), a * Math.sin(r)]; - } - return ( - (r.invert = function (t, r) { - var n = Math.sqrt(t * t + r * r), - i = e(n), - a = Math.sin(i), - o = Math.cos(i); - return [Math.atan2(t * a, n * o), Math.asin(n && (r * a) / n)]; - }), - r - ); - } - var qn = Un( - function (t) { - return Math.sqrt(2 / (1 + t)); - }, - function (t) { - return 2 * Math.asin(t / 2); - }, - ); - (t.geo.azimuthalEqualArea = function () { - return Tn(qn); - }).raw = qn; - var Hn = Un(function (t) { - var e = Math.acos(t); - return e && e / Math.sin(e); - }, z); - function Gn(t, e) { - var r = Math.cos(t), - n = function (t) { - return Math.tan(At / 4 + t / 2); - }, - i = - t === e - ? Math.sin(t) - : Math.log(r / Math.cos(e)) / Math.log(n(e) / n(t)), - a = (r * Math.pow(n(t), i)) / i; - if (!i) return Xn; - function o(t, e) { - a > 0 ? e < -Ct + kt && (e = -Ct + kt) : e > Ct - kt && (e = Ct - kt); - var r = a / Math.pow(n(e), i); - return [r * Math.sin(i * t), a - r * Math.cos(i * t)]; - } - return ( - (o.invert = function (t, e) { - var r = a - e, - n = zt(i) * Math.sqrt(t * t + r * r); - return [ - Math.atan2(t, r) / i, - 2 * Math.atan(Math.pow(a / n, 1 / i)) - Ct, - ]; - }), - o - ); - } - function Wn(t, e) { - var r = Math.cos(t), - n = t === e ? Math.sin(t) : (r - Math.cos(e)) / (e - t), - i = r / n + t; - if (y(n) < kt) return En; - function a(t, e) { - var r = i - e; - return [r * Math.sin(n * t), i - r * Math.cos(n * t)]; - } - return ( - (a.invert = function (t, e) { - var r = i - e; - return [Math.atan2(t, r) / n, i - zt(n) * Math.sqrt(t * t + r * r)]; - }), - a - ); - } - (((t.geo.azimuthalEquidistant = function () { - return Tn(Hn); - }).raw = Hn), - ((t.geo.conicConformal = function () { - return an(Gn); - }).raw = Gn), - ((t.geo.conicEquidistant = function () { - return an(Wn); - }).raw = Wn)); - var Yn = Un(function (t) { - return 1 / t; - }, Math.atan); - function Xn(t, e) { - return [t, Math.log(Math.tan(At / 4 + e / 2))]; - } - function Zn(t) { - var e, - r = Tn(t), - n = r.scale, - i = r.translate, - a = r.clipExtent; - return ( - (r.scale = function () { - var t = n.apply(r, arguments); - return t === r ? (e ? r.clipExtent(null) : r) : t; - }), - (r.translate = function () { - var t = i.apply(r, arguments); - return t === r ? (e ? r.clipExtent(null) : r) : t; - }), - (r.clipExtent = function (t) { - var o = a.apply(r, arguments); - if (o === r) { - if ((e = null == t)) { - var s = At * n(), - l = i(); - a([ - [l[0] - s, l[1] - s], - [l[0] + s, l[1] + s], - ]); - } - } else e && (o = null); - return o; - }), - r.clipExtent(null) - ); - } - (((t.geo.gnomonic = function () { - return Tn(Yn); - }).raw = Yn), - (Xn.invert = function (t, e) { - return [t, 2 * Math.atan(Math.exp(e)) - Ct]; - }), - ((t.geo.mercator = function () { - return Zn(Xn); - }).raw = Xn)); - var Jn = Un(function () { - return 1; - }, Math.asin); - (t.geo.orthographic = function () { - return Tn(Jn); - }).raw = Jn; - var Kn = Un( - function (t) { - return 1 / (1 + t); - }, - function (t) { - return 2 * Math.atan(t); - }, - ); - function Qn(t, e) { - return [Math.log(Math.tan(At / 4 + e / 2)), -t]; - } - function $n(t) { - return t[0]; - } - function ti(t) { - return t[1]; - } - function ei(t) { - for (var e = t.length, r = [0, 1], n = 2, i = 2; i < e; i++) { - for (; n > 1 && Pt(t[r[n - 2]], t[r[n - 1]], t[i]) <= 0; ) --n; - r[n++] = i; - } - return r.slice(0, n); - } - function ri(t, e) { - return t[0] - e[0] || t[1] - e[1]; - } - (((t.geo.stereographic = function () { - return Tn(Kn); - }).raw = Kn), - (Qn.invert = function (t, e) { - return [-e, 2 * Math.atan(Math.exp(t)) - Ct]; - }), - ((t.geo.transverseMercator = function () { - var t = Zn(Qn), - e = t.center, - r = t.rotate; - return ( - (t.center = function (t) { - return t ? e([-t[1], t[0]]) : [(t = e())[1], -t[0]]; - }), - (t.rotate = function (t) { - return t - ? r([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) - : [(t = r())[0], t[1], t[2] - 90]; - }), - r([0, 0, 90]) - ); - }).raw = Qn), - (t.geom = {}), - (t.geom.hull = function (t) { - var e = $n, - r = ti; - if (arguments.length) return n(t); - function n(t) { - if (t.length < 3) return []; - var n, - i = me(e), - a = me(r), - o = t.length, - s = [], - l = []; - for (n = 0; n < o; n++) - s.push([+i.call(this, t[n], n), +a.call(this, t[n], n), n]); - for (s.sort(ri), n = 0; n < o; n++) l.push([s[n][0], -s[n][1]]); - var c = ei(s), - u = ei(l), - f = u[0] === c[0], - h = u[u.length - 1] === c[c.length - 1], - p = []; - for (n = c.length - 1; n >= 0; --n) p.push(t[s[c[n]][2]]); - for (n = +f; n < u.length - h; ++n) p.push(t[s[u[n]][2]]); - return p; - } - return ( - (n.x = function (t) { - return arguments.length ? ((e = t), n) : e; - }), - (n.y = function (t) { - return arguments.length ? ((r = t), n) : r; - }), - n - ); - }), - (t.geom.polygon = function (t) { - return (U(t, ni), t); - })); - var ni = (t.geom.polygon.prototype = []); - function ii(t, e, r) { - return (r[0] - e[0]) * (t[1] - e[1]) < (r[1] - e[1]) * (t[0] - e[0]); - } - function ai(t, e, r, n) { - var i = t[0], - a = r[0], - o = e[0] - i, - s = n[0] - a, - l = t[1], - c = r[1], - u = e[1] - l, - f = n[1] - c, - h = (s * (l - c) - f * (i - a)) / (f * o - s * u); - return [i + h * o, l + h * u]; - } - function oi(t) { - var e = t[0], - r = t[t.length - 1]; - return !(e[0] - r[0] || e[1] - r[1]); - } - ((ni.area = function () { - for (var t, e = -1, r = this.length, n = this[r - 1], i = 0; ++e < r; ) - ((t = n), (n = this[e]), (i += t[1] * n[0] - t[0] * n[1])); - return 0.5 * i; - }), - (ni.centroid = function (t) { - var e, - r, - n = -1, - i = this.length, - a = 0, - o = 0, - s = this[i - 1]; - for (arguments.length || (t = -1 / (6 * this.area())); ++n < i; ) - ((e = s), - (s = this[n]), - (r = e[0] * s[1] - s[0] * e[1]), - (a += (e[0] + s[0]) * r), - (o += (e[1] + s[1]) * r)); - return [a * t, o * t]; - }), - (ni.clip = function (t) { - for ( - var e, - r, - n, - i, - a, - o, - s = oi(t), - l = -1, - c = this.length - oi(this), - u = this[c - 1]; - ++l < c; - - ) { - for ( - e = t.slice(), - t.length = 0, - i = this[l], - a = e[(n = e.length - s) - 1], - r = -1; - ++r < n; - - ) - (ii((o = e[r]), u, i) - ? (ii(a, u, i) || t.push(ai(a, o, u, i)), t.push(o)) - : ii(a, u, i) && t.push(ai(a, o, u, i)), - (a = o)); - (s && t.push(t[0]), (u = i)); - } - return t; - })); - var si, - li, - ci, - ui, - fi, - hi = [], - pi = []; - function di(t) { - var e = - hi.pop() || - new (function () { - (Li(this), (this.edge = this.site = this.circle = null)); - })(); - return ((e.site = t), e); - } - function gi(t) { - (ki(t), ci.remove(t), hi.push(t), Li(t)); - } - function mi(t) { - var e = t.circle, - r = e.x, - n = e.cy, - i = { x: r, y: n }, - a = t.P, - o = t.N, - s = [t]; - gi(t); - for ( - var l = a; - l.circle && y(r - l.circle.x) < kt && y(n - l.circle.cy) < kt; - - ) - ((a = l.P), s.unshift(l), gi(l), (l = a)); - (s.unshift(l), ki(l)); - for ( - var c = o; - c.circle && y(r - c.circle.x) < kt && y(n - c.circle.cy) < kt; - - ) - ((o = c.N), s.push(c), gi(c), (c = o)); - (s.push(c), ki(c)); - var u, - f = s.length; - for (u = 1; u < f; ++u) - ((c = s[u]), (l = s[u - 1]), Si(c.edge, l.site, c.site, i)); - ((l = s[0]), - ((c = s[f - 1]).edge = Ti(l.site, c.site, null, i)), - wi(l), - wi(c)); - } - function vi(t) { - for (var e, r, n, i, a = t.x, o = t.y, s = ci._; s; ) - if ((n = yi(s, o) - a) > kt) s = s.L; - else { - if (!((i = a - xi(s, o)) > kt)) { - n > -kt - ? ((e = s.P), (r = s)) - : i > -kt - ? ((e = s), (r = s.N)) - : (e = r = s); - break; - } - if (!s.R) { - e = s; - break; - } - s = s.R; - } - var l = di(t); - if ((ci.insert(e, l), e || r)) { - if (e === r) - return ( - ki(e), - (r = di(e.site)), - ci.insert(l, r), - (l.edge = r.edge = Ti(e.site, l.site)), - wi(e), - void wi(r) - ); - if (r) { - (ki(e), ki(r)); - var c = e.site, - u = c.x, - f = c.y, - h = t.x - u, - p = t.y - f, - d = r.site, - g = d.x - u, - m = d.y - f, - v = 2 * (h * m - p * g), - y = h * h + p * p, - x = g * g + m * m, - b = { x: (m * y - p * x) / v + u, y: (h * x - g * y) / v + f }; - (Si(r.edge, c, d, b), - (l.edge = Ti(c, t, null, b)), - (r.edge = Ti(t, d, null, b)), - wi(e), - wi(r)); - } else l.edge = Ti(e.site, l.site); - } - } - function yi(t, e) { - var r = t.site, - n = r.x, - i = r.y, - a = i - e; - if (!a) return n; - var o = t.P; - if (!o) return -1 / 0; - var s = (r = o.site).x, - l = r.y, - c = l - e; - if (!c) return s; - var u = s - n, - f = 1 / a - 1 / c, - h = u / c; - return f - ? (-h + - Math.sqrt( - h * h - 2 * f * ((u * u) / (-2 * c) - l + c / 2 + i - a / 2), - )) / - f + - n - : (n + s) / 2; - } - function xi(t, e) { - var r = t.N; - if (r) return yi(r, e); - var n = t.site; - return n.y === e ? n.x : 1 / 0; - } - function bi(t) { - ((this.site = t), (this.edges = [])); - } - function _i(t, e) { - return e.angle - t.angle; - } - function wi(t) { - var e = t.P, - r = t.N; - if (e && r) { - var n = e.site, - i = t.site, - a = r.site; - if (n !== a) { - var o = i.x, - s = i.y, - l = n.x - o, - c = n.y - s, - u = a.x - o, - f = 2 * (l * (m = a.y - s) - c * u); - if (!(f >= -Mt)) { - var h = l * l + c * c, - p = u * u + m * m, - d = (m * h - c * p) / f, - g = (l * p - u * h) / f, - m = g + s, - v = - pi.pop() || - new (function () { - (Li(this), - (this.x = this.y = this.arc = this.site = this.cy = null)); - })(); - ((v.arc = t), - (v.site = i), - (v.x = d + o), - (v.y = m + Math.sqrt(d * d + g * g)), - (v.cy = m), - (t.circle = v)); - for (var y = null, x = fi._; x; ) - if (v.y < x.y || (v.y === x.y && v.x <= x.x)) { - if (!x.L) { - y = x.P; - break; - } - x = x.L; - } else { - if (!x.R) { - y = x; - break; - } - x = x.R; - } - (fi.insert(y, v), y || (ui = v)); - } - } - } - } - function ki(t) { - var e = t.circle; - e && - (e.P || (ui = e.N), fi.remove(e), pi.push(e), Li(e), (t.circle = null)); - } - function Mi(t, e) { - var r = t.b; - if (r) return !0; - var n, - i, - a = t.a, - o = e[0][0], - s = e[1][0], - l = e[0][1], - c = e[1][1], - u = t.l, - f = t.r, - h = u.x, - p = u.y, - d = f.x, - g = f.y, - m = (h + d) / 2, - v = (p + g) / 2; - if (g === p) { - if (m < o || m >= s) return; - if (h > d) { - if (a) { - if (a.y >= c) return; - } else a = { x: m, y: l }; - r = { x: m, y: c }; - } else { - if (a) { - if (a.y < l) return; - } else a = { x: m, y: c }; - r = { x: m, y: l }; - } - } else if (((i = v - (n = (h - d) / (g - p)) * m), n < -1 || n > 1)) - if (h > d) { - if (a) { - if (a.y >= c) return; - } else a = { x: (l - i) / n, y: l }; - r = { x: (c - i) / n, y: c }; - } else { - if (a) { - if (a.y < l) return; - } else a = { x: (c - i) / n, y: c }; - r = { x: (l - i) / n, y: l }; - } - else if (p < g) { - if (a) { - if (a.x >= s) return; - } else a = { x: o, y: n * o + i }; - r = { x: s, y: n * s + i }; - } else { - if (a) { - if (a.x < o) return; - } else a = { x: s, y: n * s + i }; - r = { x: o, y: n * o + i }; - } - return ((t.a = a), (t.b = r), !0); - } - function Ai(t, e) { - ((this.l = t), (this.r = e), (this.a = this.b = null)); - } - function Ti(t, e, r, n) { - var i = new Ai(t, e); - return ( - si.push(i), - r && Si(i, t, e, r), - n && Si(i, e, t, n), - li[t.i].edges.push(new Ci(i, t, e)), - li[e.i].edges.push(new Ci(i, e, t)), - i - ); - } - function Si(t, e, r, n) { - t.a || t.b - ? t.l === r - ? (t.b = n) - : (t.a = n) - : ((t.a = n), (t.l = e), (t.r = r)); - } - function Ci(t, e, r) { - var n = t.a, - i = t.b; - ((this.edge = t), - (this.site = e), - (this.angle = r - ? Math.atan2(r.y - e.y, r.x - e.x) - : t.l === e - ? Math.atan2(i.x - n.x, n.y - i.y) - : Math.atan2(n.x - i.x, i.y - n.y))); - } - function Ei() { - this._ = null; - } - function Li(t) { - t.U = t.C = t.L = t.R = t.P = t.N = null; - } - function zi(t, e) { - var r = e, - n = e.R, - i = r.U; - (i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), - (n.U = i), - (r.U = n), - (r.R = n.L), - r.R && (r.R.U = r), - (n.L = r)); - } - function Pi(t, e) { - var r = e, - n = e.L, - i = r.U; - (i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), - (n.U = i), - (r.U = n), - (r.L = n.R), - r.L && (r.L.U = r), - (n.R = r)); - } - function Di(t) { - for (; t.L; ) t = t.L; - return t; - } - function Oi(t, e) { - var r, - n, - i, - a = t.sort(Ii).pop(); - for (si = [], li = new Array(t.length), ci = new Ei(), fi = new Ei(); ; ) - if (((i = ui), a && (!i || a.y < i.y || (a.y === i.y && a.x < i.x)))) - ((a.x === r && a.y === n) || - ((li[a.i] = new bi(a)), vi(a), (r = a.x), (n = a.y)), - (a = t.pop())); - else { - if (!i) break; - mi(i.arc); - } - e && - ((function (t) { - for ( - var e, - r = si, - n = en(t[0][0], t[0][1], t[1][0], t[1][1]), - i = r.length; - i--; - - ) - (!Mi((e = r[i]), t) || - !n(e) || - (y(e.a.x - e.b.x) < kt && y(e.a.y - e.b.y) < kt)) && - ((e.a = e.b = null), r.splice(i, 1)); - })(e), - (function (t) { - for ( - var e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f = t[0][0], - h = t[1][0], - p = t[0][1], - d = t[1][1], - g = li, - m = g.length; - m--; - - ) - if ((a = g[m]) && a.prepare()) - for (l = (s = a.edges).length, o = 0; o < l; ) - ((n = (u = s[o].end()).x), - (i = u.y), - (e = (c = s[++o % l].start()).x), - (r = c.y), - (y(n - e) > kt || y(i - r) > kt) && - (s.splice( - o, - 0, - new Ci( - ((v = a.site), - (x = u), - (b = - y(n - f) < kt && d - i > kt - ? { x: f, y: y(e - f) < kt ? r : d } - : y(i - d) < kt && h - n > kt - ? { x: y(r - d) < kt ? e : h, y: d } - : y(n - h) < kt && i - p > kt - ? { x: h, y: y(e - h) < kt ? r : p } - : y(i - p) < kt && n - f > kt - ? { x: y(r - p) < kt ? e : f, y: p } - : null), - (_ = void 0), - (_ = new Ai(v, null)), - (_.a = x), - (_.b = b), - si.push(_), - _), - a.site, - null, - ), - ), - ++l)); - var v, x, b, _; - })(e)); - var o = { cells: li, edges: si }; - return ((ci = fi = si = li = null), o); - } - function Ii(t, e) { - return e.y - t.y || e.x - t.x; - } - ((bi.prototype.prepare = function () { - for (var t, e = this.edges, r = e.length; r--; ) - ((t = e[r].edge).b && t.a) || e.splice(r, 1); - return (e.sort(_i), e.length); - }), - (Ci.prototype = { - start: function () { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function () { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - }, - }), - (Ei.prototype = { - insert: function (t, e) { - var r, n, i; - if (t) { - if (((e.P = t), (e.N = t.N), t.N && (t.N.P = e), (t.N = e), t.R)) { - for (t = t.R; t.L; ) t = t.L; - t.L = e; - } else t.R = e; - r = t; - } else - this._ - ? ((t = Di(this._)), - (e.P = null), - (e.N = t), - (t.P = t.L = e), - (r = t)) - : ((e.P = e.N = null), (this._ = e), (r = null)); - for (e.L = e.R = null, e.U = r, e.C = !0, t = e; r && r.C; ) - (r === (n = r.U).L - ? (i = n.R) && i.C - ? ((r.C = i.C = !1), (n.C = !0), (t = n)) - : (t === r.R && (zi(this, r), (r = (t = r).U)), - (r.C = !1), - (n.C = !0), - Pi(this, n)) - : (i = n.L) && i.C - ? ((r.C = i.C = !1), (n.C = !0), (t = n)) - : (t === r.L && (Pi(this, r), (r = (t = r).U)), - (r.C = !1), - (n.C = !0), - zi(this, n)), - (r = t.U)); - this._.C = !1; - }, - remove: function (t) { - (t.N && (t.N.P = t.P), t.P && (t.P.N = t.N), (t.N = t.P = null)); - var e, - r, - n, - i = t.U, - a = t.L, - o = t.R; - if ( - ((r = a ? (o ? Di(o) : a) : o), - i ? (i.L === t ? (i.L = r) : (i.R = r)) : (this._ = r), - a && o - ? ((n = r.C), - (r.C = t.C), - (r.L = a), - (a.U = r), - r !== o - ? ((i = r.U), - (r.U = t.U), - (t = r.R), - (i.L = t), - (r.R = o), - (o.U = r)) - : ((r.U = i), (i = r), (t = r.R))) - : ((n = t.C), (t = r)), - t && (t.U = i), - !n) - ) - if (t && t.C) t.C = !1; - else { - do { - if (t === this._) break; - if (t === i.L) { - if ( - ((e = i.R).C && - ((e.C = !1), (i.C = !0), zi(this, i), (e = i.R)), - (e.L && e.L.C) || (e.R && e.R.C)) - ) { - ((e.R && e.R.C) || - ((e.L.C = !1), (e.C = !0), Pi(this, e), (e = i.R)), - (e.C = i.C), - (i.C = e.R.C = !1), - zi(this, i), - (t = this._)); - break; - } - } else if ( - ((e = i.L).C && - ((e.C = !1), (i.C = !0), Pi(this, i), (e = i.L)), - (e.L && e.L.C) || (e.R && e.R.C)) - ) { - ((e.L && e.L.C) || - ((e.R.C = !1), (e.C = !0), zi(this, e), (e = i.L)), - (e.C = i.C), - (i.C = e.L.C = !1), - Pi(this, i), - (t = this._)); - break; - } - ((e.C = !0), (t = i), (i = i.U)); - } while (!t.C); - t && (t.C = !1); - } - }, - }), - (t.geom.voronoi = function (t) { - var e = $n, - r = ti, - n = e, - i = r, - a = Ri; - if (t) return o(t); - function o(t) { - var e = new Array(t.length), - r = a[0][0], - n = a[0][1], - i = a[1][0], - o = a[1][1]; - return ( - Oi(s(t), a).cells.forEach(function (a, s) { - var l = a.edges, - c = a.site; - (e[s] = l.length - ? l.map(function (t) { - var e = t.start(); - return [e.x, e.y]; - }) - : c.x >= r && c.x <= i && c.y >= n && c.y <= o - ? [ - [r, o], - [i, o], - [i, n], - [r, n], - ] - : []).point = t[s]; - }), - e - ); - } - function s(t) { - return t.map(function (t, e) { - return { - x: Math.round(n(t, e) / kt) * kt, - y: Math.round(i(t, e) / kt) * kt, - i: e, - }; - }); - } - return ( - (o.links = function (t) { - return Oi(s(t)) - .edges.filter(function (t) { - return t.l && t.r; - }) - .map(function (e) { - return { source: t[e.l.i], target: t[e.r.i] }; - }); - }), - (o.triangles = function (t) { - var e = []; - return ( - Oi(s(t)).cells.forEach(function (r, n) { - for ( - var i, - a, - o, - s, - l = r.site, - c = r.edges.sort(_i), - u = -1, - f = c.length, - h = c[f - 1].edge, - p = h.l === l ? h.r : h.l; - ++u < f; - - ) - (h, - (i = p), - (p = (h = c[u].edge).l === l ? h.r : h.l), - n < i.i && - n < p.i && - ((o = i), - (s = p), - ((a = l).x - s.x) * (o.y - a.y) - - (a.x - o.x) * (s.y - a.y) < - 0) && - e.push([t[n], t[i.i], t[p.i]])); - }), - e - ); - }), - (o.x = function (t) { - return arguments.length ? ((n = me((e = t))), o) : e; - }), - (o.y = function (t) { - return arguments.length ? ((i = me((r = t))), o) : r; - }), - (o.clipExtent = function (t) { - return arguments.length - ? ((a = null == t ? Ri : t), o) - : a === Ri - ? null - : a; - }), - (o.size = function (t) { - return arguments.length - ? o.clipExtent(t && [[0, 0], t]) - : a === Ri - ? null - : a && a[1]; - }), - o - ); - })); - var Ri = [ - [-1e6, -1e6], - [1e6, 1e6], - ]; - function Bi(t) { - return t.x; - } - function Fi(t) { - return t.y; - } - function Ni(e, r) { - ((e = t.rgb(e)), (r = t.rgb(r))); - var n = e.r, - i = e.g, - a = e.b, - o = r.r - n, - s = r.g - i, - l = r.b - a; - return function (t) { - return ( - "#" + - ce(Math.round(n + o * t)) + - ce(Math.round(i + s * t)) + - ce(Math.round(a + l * t)) - ); - }; - } - function ji(t, e) { - var r, - n = {}, - i = {}; - for (r in t) r in e ? (n[r] = Gi(t[r], e[r])) : (i[r] = t[r]); - for (r in e) r in t || (i[r] = e[r]); - return function (t) { - for (r in n) i[r] = n[r](t); - return i; - }; - } - function Vi(t, e) { - return ( - (t = +t), - (e = +e), - function (r) { - return t * (1 - r) + e * r; - } - ); - } - function Ui(t, e) { - var r, - n, - i, - a = (qi.lastIndex = Hi.lastIndex = 0), - o = -1, - s = [], - l = []; - for (t += "", e += ""; (r = qi.exec(t)) && (n = Hi.exec(e)); ) - ((i = n.index) > a && - ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), - (r = r[0]) === (n = n[0]) - ? s[o] - ? (s[o] += n) - : (s[++o] = n) - : ((s[++o] = null), l.push({ i: o, x: Vi(r, n) })), - (a = Hi.lastIndex)); - return ( - a < e.length && ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), - s.length < 2 - ? l[0] - ? ((e = l[0].x), - function (t) { - return e(t) + ""; - }) - : function () { - return e; - } - : ((e = l.length), - function (t) { - for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); - return s.join(""); - }) - ); - } - ((t.geom.delaunay = function (e) { - return t.geom.voronoi().triangles(e); - }), - (t.geom.quadtree = function (t, e, r, n, i) { - var a, - o = $n, - s = ti; - if ((a = arguments.length)) - return ( - (o = Bi), - (s = Fi), - 3 === a && ((i = r), (n = e), (r = e = 0)), - l(t) - ); - function l(t) { - var l, - c, - u, - f, - h, - p, - d, - g, - m, - v = me(o), - x = me(s); - if (null != e) ((p = e), (d = r), (g = n), (m = i)); - else if ( - ((g = m = -(p = d = 1 / 0)), (c = []), (u = []), (h = t.length), a) - ) - for (f = 0; f < h; ++f) - ((l = t[f]).x < p && (p = l.x), - l.y < d && (d = l.y), - l.x > g && (g = l.x), - l.y > m && (m = l.y), - c.push(l.x), - u.push(l.y)); - else - for (f = 0; f < h; ++f) { - var b = +v((l = t[f]), f), - _ = +x(l, f); - (b < p && (p = b), - _ < d && (d = _), - b > g && (g = b), - _ > m && (m = _), - c.push(b), - u.push(_)); - } - var w = g - p, - k = m - d; - function M(t, e, r, n, i, a, o, s) { - if (!isNaN(r) && !isNaN(n)) - if (t.leaf) { - var l = t.x, - c = t.y; - if (null != l) - if (y(l - r) + y(c - n) < 0.01) A(t, e, r, n, i, a, o, s); - else { - var u = t.point; - ((t.x = t.y = t.point = null), - A(t, u, l, c, i, a, o, s), - A(t, e, r, n, i, a, o, s)); - } - else ((t.x = r), (t.y = n), (t.point = e)); - } else A(t, e, r, n, i, a, o, s); - } - function A(t, e, r, n, i, a, o, s) { - var l = 0.5 * (i + o), - c = 0.5 * (a + s), - u = r >= l, - f = n >= c, - h = (f << 1) | u; - ((t.leaf = !1), - (t = - t.nodes[h] || - (t.nodes[h] = { - leaf: !0, - nodes: [], - point: null, - x: null, - y: null, - add: function (t) { - M(T, t, +v(t, ++f), +x(t, f), p, d, g, m); - }, - })), - u ? (i = l) : (o = l), - f ? (a = c) : (s = c), - M(t, e, r, n, i, a, o, s)); - } - w > k ? (m = d + w) : (g = p + k); - var T = { - leaf: !0, - nodes: [], - point: null, - x: null, - y: null, - add: function (t) { - M(T, t, +v(t, ++f), +x(t, f), p, d, g, m); - }, - }; - if ( - ((T.visit = function (t) { - !(function t(e, r, n, i, a, o) { - if (!e(r, n, i, a, o)) { - var s = 0.5 * (n + a), - l = 0.5 * (i + o), - c = r.nodes; - (c[0] && t(e, c[0], n, i, s, l), - c[1] && t(e, c[1], s, i, a, l), - c[2] && t(e, c[2], n, l, s, o), - c[3] && t(e, c[3], s, l, a, o)); - } - })(t, T, p, d, g, m); - }), - (T.find = function (t) { - return (function (t, e, r, n, i, a, o) { - var s, - l = 1 / 0; - return ( - (function t(c, u, f, h, p) { - if (!(u > a || f > o || h < n || p < i)) { - if ((d = c.point)) { - var d, - g = e - c.x, - m = r - c.y, - v = g * g + m * m; - if (v < l) { - var y = Math.sqrt((l = v)); - ((n = e - y), - (i = r - y), - (a = e + y), - (o = r + y), - (s = d)); - } - } - for ( - var x = c.nodes, - b = 0.5 * (u + h), - _ = 0.5 * (f + p), - w = ((r >= _) << 1) | (e >= b), - k = w + 4; - w < k; - ++w - ) - if ((c = x[3 & w])) - switch (3 & w) { - case 0: - t(c, u, f, b, _); - break; - case 1: - t(c, b, f, h, _); - break; - case 2: - t(c, u, _, b, p); - break; - case 3: - t(c, b, _, h, p); - } - } - })(t, n, i, a, o), - s - ); - })(T, t[0], t[1], p, d, g, m); - }), - (f = -1), - null == e) - ) { - for (; ++f < h; ) M(T, t[f], c[f], u[f], p, d, g, m); - --f; - } else t.forEach(T.add); - return ((c = u = t = l = null), T); - } - return ( - (l.x = function (t) { - return arguments.length ? ((o = t), l) : o; - }), - (l.y = function (t) { - return arguments.length ? ((s = t), l) : s; - }), - (l.extent = function (t) { - return arguments.length - ? (null == t - ? (e = r = n = i = null) - : ((e = +t[0][0]), - (r = +t[0][1]), - (n = +t[1][0]), - (i = +t[1][1])), - l) - : null == e - ? null - : [ - [e, r], - [n, i], - ]; - }), - (l.size = function (t) { - return arguments.length - ? (null == t - ? (e = r = n = i = null) - : ((e = r = 0), (n = +t[0]), (i = +t[1])), - l) - : null == e - ? null - : [n - e, i - r]; - }), - l - ); - }), - (t.interpolateRgb = Ni), - (t.interpolateObject = ji), - (t.interpolateNumber = Vi), - (t.interpolateString = Ui)); - var qi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, - Hi = new RegExp(qi.source, "g"); - function Gi(e, r) { - for ( - var n, i = t.interpolators.length; - --i >= 0 && !(n = t.interpolators[i](e, r)); - - ); - return n; - } - function Wi(t, e) { - var r, - n = [], - i = [], - a = t.length, - o = e.length, - s = Math.min(t.length, e.length); - for (r = 0; r < s; ++r) n.push(Gi(t[r], e[r])); - for (; r < a; ++r) i[r] = t[r]; - for (; r < o; ++r) i[r] = e[r]; - return function (t) { - for (r = 0; r < s; ++r) i[r] = n[r](t); - return i; - }; - } - ((t.interpolate = Gi), - (t.interpolators = [ - function (t, e) { - var r = typeof e; - return ( - "string" === r - ? ge.has(e.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(e) - ? Ni - : Ui - : e instanceof Vt - ? Ni - : Array.isArray(e) - ? Wi - : "object" === r && isNaN(e) - ? ji - : Vi - )(t, e); - }, - ]), - (t.interpolateArray = Wi)); - var Yi = function () { - return z; - }, - Xi = t.map({ - linear: Yi, - poly: function (t) { - return function (e) { - return Math.pow(e, t); - }; - }, - quad: function () { - return Qi; - }, - cubic: function () { - return $i; - }, - sin: function () { - return ea; - }, - exp: function () { - return ra; - }, - circle: function () { - return na; - }, - elastic: function (t, e) { - var r; - arguments.length < 2 && (e = 0.45); - arguments.length - ? (r = (e / Tt) * Math.asin(1 / t)) - : ((t = 1), (r = e / 4)); - return function (n) { - return 1 + t * Math.pow(2, -10 * n) * Math.sin(((n - r) * Tt) / e); - }; - }, - back: function (t) { - t || (t = 1.70158); - return function (e) { - return e * e * ((t + 1) * e - t); - }; - }, - bounce: function () { - return ia; - }, - }), - Zi = t.map({ - in: z, - out: Ji, - "in-out": Ki, - "out-in": function (t) { - return Ki(Ji(t)); - }, - }); - function Ji(t) { - return function (e) { - return 1 - t(1 - e); - }; - } - function Ki(t) { - return function (e) { - return 0.5 * (e < 0.5 ? t(2 * e) : 2 - t(2 - 2 * e)); - }; - } - function Qi(t) { - return t * t; - } - function $i(t) { - return t * t * t; - } - function ta(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var e = t * t, - r = e * t; - return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); - } - function ea(t) { - return 1 - Math.cos(t * Ct); - } - function ra(t) { - return Math.pow(2, 10 * (t - 1)); - } - function na(t) { - return 1 - Math.sqrt(1 - t * t); - } - function ia(t) { - return t < 1 / 2.75 - ? 7.5625 * t * t - : t < 2 / 2.75 - ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 - : t < 2.5 / 2.75 - ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 - : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; - } - function aa(t, e) { - return ( - (e -= t), - function (r) { - return Math.round(t + e * r); - } - ); - } - function oa(t) { - var e, - r, - n, - i = [t.a, t.b], - a = [t.c, t.d], - o = la(i), - s = sa(i, a), - l = - la((((e = a)[0] += (n = -s) * (r = i)[0]), (e[1] += n * r[1]), e)) || - 0; - (i[0] * a[1] < a[0] * i[1] && - ((i[0] *= -1), (i[1] *= -1), (o *= -1), (s *= -1)), - (this.rotate = - (o ? Math.atan2(i[1], i[0]) : Math.atan2(-a[0], a[1])) * Lt), - (this.translate = [t.e, t.f]), - (this.scale = [o, l]), - (this.skew = l ? Math.atan2(s, l) * Lt : 0)); - } - function sa(t, e) { - return t[0] * e[0] + t[1] * e[1]; - } - function la(t) { - var e = Math.sqrt(sa(t, t)); - return (e && ((t[0] /= e), (t[1] /= e)), e); - } - ((t.ease = function (t) { - var e, - n = t.indexOf("-"), - i = n >= 0 ? t.slice(0, n) : t, - a = n >= 0 ? t.slice(n + 1) : "in"; - return ( - (i = Xi.get(i) || Yi), - (a = Zi.get(a) || z), - (e = a(i.apply(null, r.call(arguments, 1)))), - function (t) { - return t <= 0 ? 0 : t >= 1 ? 1 : e(t); - } - ); - }), - (t.interpolateHcl = function (e, r) { - ((e = t.hcl(e)), (r = t.hcl(r))); - var n = e.h, - i = e.c, - a = e.l, - o = r.h - n, - s = r.c - i, - l = r.l - a; - isNaN(s) && ((s = 0), (i = isNaN(i) ? r.c : i)); - isNaN(o) - ? ((o = 0), (n = isNaN(n) ? r.h : n)) - : o > 180 - ? (o -= 360) - : o < -180 && (o += 360); - return function (t) { - return Yt(n + o * t, i + s * t, a + l * t) + ""; - }; - }), - (t.interpolateHsl = function (e, r) { - ((e = t.hsl(e)), (r = t.hsl(r))); - var n = e.h, - i = e.s, - a = e.l, - o = r.h - n, - s = r.s - i, - l = r.l - a; - isNaN(s) && ((s = 0), (i = isNaN(i) ? r.s : i)); - isNaN(o) - ? ((o = 0), (n = isNaN(n) ? r.h : n)) - : o > 180 - ? (o -= 360) - : o < -180 && (o += 360); - return function (t) { - return Ht(n + o * t, i + s * t, a + l * t) + ""; - }; - }), - (t.interpolateLab = function (e, r) { - ((e = t.lab(e)), (r = t.lab(r))); - var n = e.l, - i = e.a, - a = e.b, - o = r.l - n, - s = r.a - i, - l = r.b - a; - return function (t) { - return te(n + o * t, i + s * t, a + l * t) + ""; - }; - }), - (t.interpolateRound = aa), - (t.transform = function (e) { - var r = i.createElementNS(t.ns.prefix.svg, "g"); - return (t.transform = function (t) { - if (null != t) { - r.setAttribute("transform", t); - var e = r.transform.baseVal.consolidate(); - } - return new oa(e ? e.matrix : ca); - })(e); - }), - (oa.prototype.toString = function () { - return ( - "translate(" + - this.translate + - ")rotate(" + - this.rotate + - ")skewX(" + - this.skew + - ")scale(" + - this.scale + - ")" - ); - })); - var ca = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; - function ua(t) { - return t.length ? t.pop() + "," : ""; - } - function fa(e, r) { - var n = [], - i = []; - return ( - (e = t.transform(e)), - (r = t.transform(r)), - (function (t, e, r, n) { - if (t[0] !== e[0] || t[1] !== e[1]) { - var i = r.push("translate(", null, ",", null, ")"); - n.push( - { i: i - 4, x: Vi(t[0], e[0]) }, - { i: i - 2, x: Vi(t[1], e[1]) }, - ); - } else (e[0] || e[1]) && r.push("translate(" + e + ")"); - })(e.translate, r.translate, n, i), - (function (t, e, r, n) { - t !== e - ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), - n.push({ - i: r.push(ua(r) + "rotate(", null, ")") - 2, - x: Vi(t, e), - })) - : e && r.push(ua(r) + "rotate(" + e + ")"); - })(e.rotate, r.rotate, n, i), - (function (t, e, r, n) { - t !== e - ? n.push({ - i: r.push(ua(r) + "skewX(", null, ")") - 2, - x: Vi(t, e), - }) - : e && r.push(ua(r) + "skewX(" + e + ")"); - })(e.skew, r.skew, n, i), - (function (t, e, r, n) { - if (t[0] !== e[0] || t[1] !== e[1]) { - var i = r.push(ua(r) + "scale(", null, ",", null, ")"); - n.push( - { i: i - 4, x: Vi(t[0], e[0]) }, - { i: i - 2, x: Vi(t[1], e[1]) }, - ); - } else - (1 === e[0] && 1 === e[1]) || r.push(ua(r) + "scale(" + e + ")"); - })(e.scale, r.scale, n, i), - (e = r = null), - function (t) { - for (var e, r = -1, a = i.length; ++r < a; ) n[(e = i[r]).i] = e.x(t); - return n.join(""); - } - ); - } - function ha(t, e) { - return ( - (e = (e -= t = +t) || 1 / e), - function (r) { - return (r - t) / e; - } - ); - } - function pa(t, e) { - return ( - (e = (e -= t = +t) || 1 / e), - function (r) { - return Math.max(0, Math.min(1, (r - t) / e)); - } - ); - } - function da(t) { - for ( - var e = t.source, - r = t.target, - n = (function (t, e) { - if (t === e) return t; - var r = ga(t), - n = ga(e), - i = r.pop(), - a = n.pop(), - o = null; - for (; i === a; ) ((o = i), (i = r.pop()), (a = n.pop())); - return o; - })(e, r), - i = [e]; - e !== n; - - ) - ((e = e.parent), i.push(e)); - for (var a = i.length; r !== n; ) (i.splice(a, 0, r), (r = r.parent)); - return i; - } - function ga(t) { - for (var e = [], r = t.parent; null != r; ) - (e.push(t), (t = r), (r = r.parent)); - return (e.push(t), e); - } - function ma(t) { - t.fixed |= 2; - } - function va(t) { - t.fixed &= -7; - } - function ya(t) { - ((t.fixed |= 4), (t.px = t.x), (t.py = t.y)); - } - function xa(t) { - t.fixed &= -5; - } - ((t.interpolateTransform = fa), - (t.layout = {}), - (t.layout.bundle = function () { - return function (t) { - for (var e = [], r = -1, n = t.length; ++r < n; ) e.push(da(t[r])); - return e; - }; - }), - (t.layout.chord = function () { - var e, - r, - n, - i, - a, - o, - s, - l = {}, - c = 0; - function u() { - var l, - u, - h, - p, - d, - g = {}, - m = [], - v = t.range(i), - y = []; - for (e = [], r = [], l = 0, p = -1; ++p < i; ) { - for (u = 0, d = -1; ++d < i; ) u += n[p][d]; - (m.push(u), y.push(t.range(i)), (l += u)); - } - for ( - a && - v.sort(function (t, e) { - return a(m[t], m[e]); - }), - o && - y.forEach(function (t, e) { - t.sort(function (t, r) { - return o(n[e][t], n[e][r]); - }); - }), - l = (Tt - c * i) / l, - u = 0, - p = -1; - ++p < i; - - ) { - for (h = u, d = -1; ++d < i; ) { - var x = v[p], - b = y[x][d], - _ = n[x][b], - w = u, - k = (u += _ * l); - g[x + "-" + b] = { - index: x, - subindex: b, - startAngle: w, - endAngle: k, - value: _, - }; - } - ((r[x] = { index: x, startAngle: h, endAngle: u, value: m[x] }), - (u += c)); - } - for (p = -1; ++p < i; ) - for (d = p - 1; ++d < i; ) { - var M = g[p + "-" + d], - A = g[d + "-" + p]; - (M.value || A.value) && - e.push( - M.value < A.value - ? { source: A, target: M } - : { source: M, target: A }, - ); - } - s && f(); - } - function f() { - e.sort(function (t, e) { - return s( - (t.source.value + t.target.value) / 2, - (e.source.value + e.target.value) / 2, - ); - }); - } - return ( - (l.matrix = function (t) { - return arguments.length - ? ((i = (n = t) && n.length), (e = r = null), l) - : n; - }), - (l.padding = function (t) { - return arguments.length ? ((c = t), (e = r = null), l) : c; - }), - (l.sortGroups = function (t) { - return arguments.length ? ((a = t), (e = r = null), l) : a; - }), - (l.sortSubgroups = function (t) { - return arguments.length ? ((o = t), (e = null), l) : o; - }), - (l.sortChords = function (t) { - return arguments.length ? ((s = t), e && f(), l) : s; - }), - (l.chords = function () { - return (e || u(), e); - }), - (l.groups = function () { - return (r || u(), r); - }), - l - ); - }), - (t.layout.force = function () { - var e, - r, - n, - i, - a, - o, - s = {}, - l = t.dispatch("start", "tick", "end"), - c = [1, 1], - u = 0.9, - f = ba, - h = _a, - p = -30, - d = wa, - g = 0.1, - m = 0.64, - v = [], - y = []; - function x(t) { - return function (e, r, n, i) { - if (e.point !== t) { - var a = e.cx - t.x, - o = e.cy - t.y, - s = i - r, - l = a * a + o * o; - if ((s * s) / m < l) { - if (l < d) { - var c = e.charge / l; - ((t.px -= a * c), (t.py -= o * c)); - } - return !0; - } - if (e.point && l && l < d) { - c = e.pointCharge / l; - ((t.px -= a * c), (t.py -= o * c)); - } - } - return !e.charge; - }; - } - function b(e) { - ((e.px = t.event.x), (e.py = t.event.y), s.resume()); - } - return ( - (s.tick = function () { - if ((n *= 0.99) < 0.005) - return ((e = null), l.end({ type: "end", alpha: (n = 0) }), !0); - var r, - s, - f, - h, - d, - m, - b, - _, - w, - k = v.length, - M = y.length; - for (s = 0; s < M; ++s) - ((h = (f = y[s]).source), - (m = (_ = (d = f.target).x - h.x) * _ + (w = d.y - h.y) * w) && - ((_ *= m = (n * a[s] * ((m = Math.sqrt(m)) - i[s])) / m), - (w *= m), - (d.x -= - _ * - (b = - h.weight + d.weight - ? h.weight / (h.weight + d.weight) - : 0.5)), - (d.y -= w * b), - (h.x += _ * (b = 1 - b)), - (h.y += w * b))); - if ((b = n * g) && ((_ = c[0] / 2), (w = c[1] / 2), (s = -1), b)) - for (; ++s < k; ) - (((f = v[s]).x += (_ - f.x) * b), (f.y += (w - f.y) * b)); - if (p) - for ( - !(function t(e, r, n) { - var i = 0, - a = 0; - e.charge = 0; - if (!e.leaf) - for (var o, s = e.nodes, l = s.length, c = -1; ++c < l; ) - null != (o = s[c]) && - (t(o, r, n), - (e.charge += o.charge), - (i += o.charge * o.cx), - (a += o.charge * o.cy)); - if (e.point) { - e.leaf || - ((e.point.x += Math.random() - 0.5), - (e.point.y += Math.random() - 0.5)); - var u = r * n[e.point.index]; - ((e.charge += e.pointCharge = u), - (i += u * e.point.x), - (a += u * e.point.y)); - } - e.cx = i / e.charge; - e.cy = a / e.charge; - })((r = t.geom.quadtree(v)), n, o), - s = -1; - ++s < k; - - ) - (f = v[s]).fixed || r.visit(x(f)); - for (s = -1; ++s < k; ) - (f = v[s]).fixed - ? ((f.x = f.px), (f.y = f.py)) - : ((f.x -= (f.px - (f.px = f.x)) * u), - (f.y -= (f.py - (f.py = f.y)) * u)); - l.tick({ type: "tick", alpha: n }); - }), - (s.nodes = function (t) { - return arguments.length ? ((v = t), s) : v; - }), - (s.links = function (t) { - return arguments.length ? ((y = t), s) : y; - }), - (s.size = function (t) { - return arguments.length ? ((c = t), s) : c; - }), - (s.linkDistance = function (t) { - return arguments.length - ? ((f = "function" == typeof t ? t : +t), s) - : f; - }), - (s.distance = s.linkDistance), - (s.linkStrength = function (t) { - return arguments.length - ? ((h = "function" == typeof t ? t : +t), s) - : h; - }), - (s.friction = function (t) { - return arguments.length ? ((u = +t), s) : u; - }), - (s.charge = function (t) { - return arguments.length - ? ((p = "function" == typeof t ? t : +t), s) - : p; - }), - (s.chargeDistance = function (t) { - return arguments.length ? ((d = t * t), s) : Math.sqrt(d); - }), - (s.gravity = function (t) { - return arguments.length ? ((g = +t), s) : g; - }), - (s.theta = function (t) { - return arguments.length ? ((m = t * t), s) : Math.sqrt(m); - }), - (s.alpha = function (t) { - return arguments.length - ? ((t = +t), - n - ? t > 0 - ? (n = t) - : ((e.c = null), - (e.t = NaN), - (e = null), - l.end({ type: "end", alpha: (n = 0) })) - : t > 0 && - (l.start({ type: "start", alpha: (n = t) }), - (e = Me(s.tick))), - s) - : n; - }), - (s.start = function () { - var t, - e, - r, - n = v.length, - l = y.length, - u = c[0], - d = c[1]; - for (t = 0; t < n; ++t) (((r = v[t]).index = t), (r.weight = 0)); - for (t = 0; t < l; ++t) - ("number" == typeof (r = y[t]).source && (r.source = v[r.source]), - "number" == typeof r.target && (r.target = v[r.target]), - ++r.source.weight, - ++r.target.weight); - for (t = 0; t < n; ++t) - ((r = v[t]), - isNaN(r.x) && (r.x = g("x", u)), - isNaN(r.y) && (r.y = g("y", d)), - isNaN(r.px) && (r.px = r.x), - isNaN(r.py) && (r.py = r.y)); - if (((i = []), "function" == typeof f)) - for (t = 0; t < l; ++t) i[t] = +f.call(this, y[t], t); - else for (t = 0; t < l; ++t) i[t] = f; - if (((a = []), "function" == typeof h)) - for (t = 0; t < l; ++t) a[t] = +h.call(this, y[t], t); - else for (t = 0; t < l; ++t) a[t] = h; - if (((o = []), "function" == typeof p)) - for (t = 0; t < n; ++t) o[t] = +p.call(this, v[t], t); - else for (t = 0; t < n; ++t) o[t] = p; - function g(r, i) { - if (!e) { - for (e = new Array(n), c = 0; c < n; ++c) e[c] = []; - for (c = 0; c < l; ++c) { - var a = y[c]; - (e[a.source.index].push(a.target), - e[a.target.index].push(a.source)); - } - } - for (var o, s = e[t], c = -1, u = s.length; ++c < u; ) - if (!isNaN((o = s[c][r]))) return o; - return Math.random() * i; - } - return s.resume(); - }), - (s.resume = function () { - return s.alpha(0.1); - }), - (s.stop = function () { - return s.alpha(0); - }), - (s.drag = function () { - if ( - (r || - (r = t.behavior - .drag() - .origin(z) - .on("dragstart.force", ma) - .on("drag.force", b) - .on("dragend.force", va)), - !arguments.length) - ) - return r; - this.on("mouseover.force", ya).on("mouseout.force", xa).call(r); - }), - t.rebind(s, l, "on") - ); - })); - var ba = 20, - _a = 1, - wa = 1 / 0; - function ka(e, r) { - return ( - t.rebind(e, r, "sort", "children", "value"), - (e.nodes = e), - (e.links = Ea), - e - ); - } - function Ma(t, e) { - for (var r = [t]; null != (t = r.pop()); ) - if ((e(t), (i = t.children) && (n = i.length))) - for (var n, i; --n >= 0; ) r.push(i[n]); - } - function Aa(t, e) { - for (var r = [t], n = []; null != (t = r.pop()); ) - if ((n.push(t), (a = t.children) && (i = a.length))) - for (var i, a, o = -1; ++o < i; ) r.push(a[o]); - for (; null != (t = n.pop()); ) e(t); - } - function Ta(t) { - return t.children; - } - function Sa(t) { - return t.value; - } - function Ca(t, e) { - return e.value - t.value; - } - function Ea(e) { - return t.merge( - e.map(function (t) { - return (t.children || []).map(function (e) { - return { source: t, target: e }; - }); - }), - ); - } - ((t.layout.hierarchy = function () { - var t = Ca, - e = Ta, - r = Sa; - function n(i) { - var a, - o = [i], - s = []; - for (i.depth = 0; null != (a = o.pop()); ) - if ((s.push(a), (c = e.call(n, a, a.depth)) && (l = c.length))) { - for (var l, c, u; --l >= 0; ) - (o.push((u = c[l])), (u.parent = a), (u.depth = a.depth + 1)); - (r && (a.value = 0), (a.children = c)); - } else - (r && (a.value = +r.call(n, a, a.depth) || 0), delete a.children); - return ( - Aa(i, function (e) { - var n, i; - (t && (n = e.children) && n.sort(t), - r && (i = e.parent) && (i.value += e.value)); - }), - s - ); - } - return ( - (n.sort = function (e) { - return arguments.length ? ((t = e), n) : t; - }), - (n.children = function (t) { - return arguments.length ? ((e = t), n) : e; - }), - (n.value = function (t) { - return arguments.length ? ((r = t), n) : r; - }), - (n.revalue = function (t) { - return ( - r && - (Ma(t, function (t) { - t.children && (t.value = 0); - }), - Aa(t, function (t) { - var e; - (t.children || (t.value = +r.call(n, t, t.depth) || 0), - (e = t.parent) && (e.value += t.value)); - })), - t - ); - }), - n - ); - }), - (t.layout.partition = function () { - var e = t.layout.hierarchy(), - r = [1, 1]; - function n(t, n) { - var i = e.call(this, t, n); - return ( - (function t(e, r, n, i) { - var a = e.children; - if ( - ((e.x = r), - (e.y = e.depth * i), - (e.dx = n), - (e.dy = i), - a && (o = a.length)) - ) { - var o, - s, - l, - c = -1; - for (n = e.value ? n / e.value : 0; ++c < o; ) - (t((s = a[c]), r, (l = s.value * n), i), (r += l)); - } - })( - i[0], - 0, - r[0], - r[1] / - (function t(e) { - var r = e.children, - n = 0; - if (r && (i = r.length)) - for (var i, a = -1; ++a < i; ) n = Math.max(n, t(r[a])); - return 1 + n; - })(i[0]), - ), - i - ); - } - return ( - (n.size = function (t) { - return arguments.length ? ((r = t), n) : r; - }), - ka(n, e) - ); - }), - (t.layout.pie = function () { - var e = Number, - r = La, - n = 0, - i = Tt, - a = 0; - function o(s) { - var l, - c = s.length, - u = s.map(function (t, r) { - return +e.call(o, t, r); - }), - f = +("function" == typeof n ? n.apply(this, arguments) : n), - h = ("function" == typeof i ? i.apply(this, arguments) : i) - f, - p = Math.min( - Math.abs(h) / c, - +("function" == typeof a ? a.apply(this, arguments) : a), - ), - d = p * (h < 0 ? -1 : 1), - g = t.sum(u), - m = g ? (h - c * d) / g : 0, - v = t.range(c), - y = []; - return ( - null != r && - v.sort( - r === La - ? function (t, e) { - return u[e] - u[t]; - } - : function (t, e) { - return r(s[t], s[e]); - }, - ), - v.forEach(function (t) { - y[t] = { - data: s[t], - value: (l = u[t]), - startAngle: f, - endAngle: (f += l * m + d), - padAngle: p, - }; - }), - y - ); - } - return ( - (o.value = function (t) { - return arguments.length ? ((e = t), o) : e; - }), - (o.sort = function (t) { - return arguments.length ? ((r = t), o) : r; - }), - (o.startAngle = function (t) { - return arguments.length ? ((n = t), o) : n; - }), - (o.endAngle = function (t) { - return arguments.length ? ((i = t), o) : i; - }), - (o.padAngle = function (t) { - return arguments.length ? ((a = t), o) : a; - }), - o - ); - })); - var La = {}; - function za(t) { - return t.x; - } - function Pa(t) { - return t.y; - } - function Da(t, e, r) { - ((t.y0 = e), (t.y = r)); - } - t.layout.stack = function () { - var e = z, - r = Ra, - n = Ba, - i = Da, - a = za, - o = Pa; - function s(l, c) { - if (!(p = l.length)) return l; - var u = l.map(function (t, r) { - return e.call(s, t, r); - }), - f = u.map(function (t) { - return t.map(function (t, e) { - return [a.call(s, t, e), o.call(s, t, e)]; - }); - }), - h = r.call(s, f, c); - ((u = t.permute(u, h)), (f = t.permute(f, h))); - var p, - d, - g, - m, - v = n.call(s, f, c), - y = u[0].length; - for (g = 0; g < y; ++g) - for (i.call(s, u[0][g], (m = v[g]), f[0][g][1]), d = 1; d < p; ++d) - i.call(s, u[d][g], (m += f[d - 1][g][1]), f[d][g][1]); - return l; - } - return ( - (s.values = function (t) { - return arguments.length ? ((e = t), s) : e; - }), - (s.order = function (t) { - return arguments.length - ? ((r = "function" == typeof t ? t : Oa.get(t) || Ra), s) - : r; - }), - (s.offset = function (t) { - return arguments.length - ? ((n = "function" == typeof t ? t : Ia.get(t) || Ba), s) - : n; - }), - (s.x = function (t) { - return arguments.length ? ((a = t), s) : a; - }), - (s.y = function (t) { - return arguments.length ? ((o = t), s) : o; - }), - (s.out = function (t) { - return arguments.length ? ((i = t), s) : i; - }), - s - ); - }; - var Oa = t.map({ - "inside-out": function (e) { - var r, - n, - i = e.length, - a = e.map(Fa), - o = e.map(Na), - s = t.range(i).sort(function (t, e) { - return a[t] - a[e]; - }), - l = 0, - c = 0, - u = [], - f = []; - for (r = 0; r < i; ++r) - ((n = s[r]), - l < c ? ((l += o[n]), u.push(n)) : ((c += o[n]), f.push(n))); - return f.reverse().concat(u); - }, - reverse: function (e) { - return t.range(e.length).reverse(); - }, - default: Ra, - }), - Ia = t.map({ - silhouette: function (t) { - var e, - r, - n, - i = t.length, - a = t[0].length, - o = [], - s = 0, - l = []; - for (r = 0; r < a; ++r) { - for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; - (n > s && (s = n), o.push(n)); - } - for (r = 0; r < a; ++r) l[r] = (s - o[r]) / 2; - return l; - }, - wiggle: function (t) { - var e, - r, - n, - i, - a, - o, - s, - l, - c, - u = t.length, - f = t[0], - h = f.length, - p = []; - for (p[0] = l = c = 0, r = 1; r < h; ++r) { - for (e = 0, i = 0; e < u; ++e) i += t[e][r][1]; - for (e = 0, a = 0, s = f[r][0] - f[r - 1][0]; e < u; ++e) { - for ( - n = 0, o = (t[e][r][1] - t[e][r - 1][1]) / (2 * s); - n < e; - ++n - ) - o += (t[n][r][1] - t[n][r - 1][1]) / s; - a += o * t[e][r][1]; - } - ((p[r] = l -= i ? (a / i) * s : 0), l < c && (c = l)); - } - for (r = 0; r < h; ++r) p[r] -= c; - return p; - }, - expand: function (t) { - var e, - r, - n, - i = t.length, - a = t[0].length, - o = 1 / i, - s = []; - for (r = 0; r < a; ++r) { - for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; - if (n) for (e = 0; e < i; e++) t[e][r][1] /= n; - else for (e = 0; e < i; e++) t[e][r][1] = o; - } - for (r = 0; r < a; ++r) s[r] = 0; - return s; - }, - zero: Ba, - }); - function Ra(e) { - return t.range(e.length); - } - function Ba(t) { - for (var e = -1, r = t[0].length, n = []; ++e < r; ) n[e] = 0; - return n; - } - function Fa(t) { - for (var e, r = 1, n = 0, i = t[0][1], a = t.length; r < a; ++r) - (e = t[r][1]) > i && ((n = r), (i = e)); - return n; - } - function Na(t) { - return t.reduce(ja, 0); - } - function ja(t, e) { - return t + e[1]; - } - function Va(t, e) { - return Ua(t, Math.ceil(Math.log(e.length) / Math.LN2 + 1)); - } - function Ua(t, e) { - for (var r = -1, n = +t[0], i = (t[1] - n) / e, a = []; ++r <= e; ) - a[r] = i * r + n; - return a; - } - function qa(e) { - return [t.min(e), t.max(e)]; - } - function Ha(t, e) { - return t.value - e.value; - } - function Ga(t, e) { - var r = t._pack_next; - ((t._pack_next = e), - (e._pack_prev = t), - (e._pack_next = r), - (r._pack_prev = e)); - } - function Wa(t, e) { - ((t._pack_next = e), (e._pack_prev = t)); - } - function Ya(t, e) { - var r = e.x - t.x, - n = e.y - t.y, - i = t.r + e.r; - return 0.999 * i * i > r * r + n * n; - } - function Xa(t) { - if ((e = t.children) && (l = e.length)) { - var e, - r, - n, - i, - a, - o, - s, - l, - c = 1 / 0, - u = -1 / 0, - f = 1 / 0, - h = -1 / 0; - if ( - (e.forEach(Za), - ((r = e[0]).x = -r.r), - (r.y = 0), - x(r), - l > 1 && (((n = e[1]).x = n.r), (n.y = 0), x(n), l > 2)) - ) - for ( - Ka(r, n, (i = e[2])), - x(i), - Ga(r, i), - r._pack_prev = i, - Ga(i, n), - n = r._pack_next, - a = 3; - a < l; - a++ - ) { - Ka(r, n, (i = e[a])); - var p = 0, - d = 1, - g = 1; - for (o = n._pack_next; o !== n; o = o._pack_next, d++) - if (Ya(o, i)) { - p = 1; - break; - } - if (1 == p) - for ( - s = r._pack_prev; - s !== o._pack_prev && !Ya(s, i); - s = s._pack_prev, g++ - ); - p - ? (d < g || (d == g && n.r < r.r) - ? Wa(r, (n = o)) - : Wa((r = s), n), - a--) - : (Ga(r, i), (n = i), x(i)); - } - var m = (c + u) / 2, - v = (f + h) / 2, - y = 0; - for (a = 0; a < l; a++) - (((i = e[a]).x -= m), - (i.y -= v), - (y = Math.max(y, i.r + Math.sqrt(i.x * i.x + i.y * i.y)))); - ((t.r = y), e.forEach(Ja)); - } - function x(t) { - ((c = Math.min(t.x - t.r, c)), - (u = Math.max(t.x + t.r, u)), - (f = Math.min(t.y - t.r, f)), - (h = Math.max(t.y + t.r, h))); - } - } - function Za(t) { - t._pack_next = t._pack_prev = t; - } - function Ja(t) { - (delete t._pack_next, delete t._pack_prev); - } - function Ka(t, e, r) { - var n = t.r + r.r, - i = e.x - t.x, - a = e.y - t.y; - if (n && (i || a)) { - var o = e.r + r.r, - s = i * i + a * a, - l = 0.5 + ((n *= n) - (o *= o)) / (2 * s), - c = - Math.sqrt(Math.max(0, 2 * o * (n + s) - (n -= s) * n - o * o)) / - (2 * s); - ((r.x = t.x + l * i + c * a), (r.y = t.y + l * a - c * i)); - } else ((r.x = t.x + n), (r.y = t.y)); - } - function Qa(t, e) { - return t.parent == e.parent ? 1 : 2; - } - function $a(t) { - var e = t.children; - return e.length ? e[0] : t.t; - } - function to(t) { - var e, - r = t.children; - return (e = r.length) ? r[e - 1] : t.t; - } - function eo(t, e, r) { - var n = r / (e.i - t.i); - ((e.c -= n), (e.s += r), (t.c += n), (e.z += r), (e.m += r)); - } - function ro(t, e, r) { - return t.a.parent === e.parent ? t.a : r; - } - function no(t) { - return { x: t.x, y: t.y, dx: t.dx, dy: t.dy }; - } - function io(t, e) { - var r = t.x + e[3], - n = t.y + e[0], - i = t.dx - e[1] - e[3], - a = t.dy - e[0] - e[2]; - return ( - i < 0 && ((r += i / 2), (i = 0)), - a < 0 && ((n += a / 2), (a = 0)), - { x: r, y: n, dx: i, dy: a } - ); - } - function ao(t) { - var e = t[0], - r = t[t.length - 1]; - return e < r ? [e, r] : [r, e]; - } - function oo(t) { - return t.rangeExtent ? t.rangeExtent() : ao(t.range()); - } - function so(t, e, r, n) { - var i = r(t[0], t[1]), - a = n(e[0], e[1]); - return function (t) { - return a(i(t)); - }; - } - function lo(t, e) { - var r, - n = 0, - i = t.length - 1, - a = t[n], - o = t[i]; - return ( - o < a && ((r = n), (n = i), (i = r), (r = a), (a = o), (o = r)), - (t[n] = e.floor(a)), - (t[i] = e.ceil(o)), - t - ); - } - function co(t) { - return t - ? { - floor: function (e) { - return Math.floor(e / t) * t; - }, - ceil: function (e) { - return Math.ceil(e / t) * t; - }, - } - : uo; - } - ((t.layout.histogram = function () { - var e = !0, - r = Number, - n = qa, - i = Va; - function a(a, o) { - for ( - var s, - l, - c = [], - u = a.map(r, this), - f = n.call(this, u, o), - h = i.call(this, f, u, o), - p = ((o = -1), u.length), - d = h.length - 1, - g = e ? 1 : 1 / p; - ++o < d; - - ) - (((s = c[o] = []).dx = h[o + 1] - (s.x = h[o])), (s.y = 0)); - if (d > 0) - for (o = -1; ++o < p; ) - (l = u[o]) >= f[0] && - l <= f[1] && - (((s = c[t.bisect(h, l, 1, d) - 1]).y += g), s.push(a[o])); - return c; - } - return ( - (a.value = function (t) { - return arguments.length ? ((r = t), a) : r; - }), - (a.range = function (t) { - return arguments.length ? ((n = me(t)), a) : n; - }), - (a.bins = function (t) { - return arguments.length - ? ((i = - "number" == typeof t - ? function (e) { - return Ua(e, t); - } - : me(t)), - a) - : i; - }), - (a.frequency = function (t) { - return arguments.length ? ((e = !!t), a) : e; - }), - a - ); - }), - (t.layout.pack = function () { - var e, - r = t.layout.hierarchy().sort(Ha), - n = 0, - i = [1, 1]; - function a(t, a) { - var o = r.call(this, t, a), - s = o[0], - l = i[0], - c = i[1], - u = - null == e - ? Math.sqrt - : "function" == typeof e - ? e - : function () { - return e; - }; - if ( - ((s.x = s.y = 0), - Aa(s, function (t) { - t.r = +u(t.value); - }), - Aa(s, Xa), - n) - ) { - var f = (n * (e ? 1 : Math.max((2 * s.r) / l, (2 * s.r) / c))) / 2; - (Aa(s, function (t) { - t.r += f; - }), - Aa(s, Xa), - Aa(s, function (t) { - t.r -= f; - })); - } - return ( - (function t(e, r, n, i) { - var a = e.children; - e.x = r += i * e.x; - e.y = n += i * e.y; - e.r *= i; - if (a) for (var o = -1, s = a.length; ++o < s; ) t(a[o], r, n, i); - })( - s, - l / 2, - c / 2, - e ? 1 : 1 / Math.max((2 * s.r) / l, (2 * s.r) / c), - ), - o - ); - } - return ( - (a.size = function (t) { - return arguments.length ? ((i = t), a) : i; - }), - (a.radius = function (t) { - return arguments.length - ? ((e = null == t || "function" == typeof t ? t : +t), a) - : e; - }), - (a.padding = function (t) { - return arguments.length ? ((n = +t), a) : n; - }), - ka(a, r) - ); - }), - (t.layout.tree = function () { - var e = t.layout.hierarchy().sort(null).value(null), - r = Qa, - n = [1, 1], - i = null; - function a(t, a) { - var c = e.call(this, t, a), - u = c[0], - f = (function (t) { - var e, - r = { A: null, children: [t] }, - n = [r]; - for (; null != (e = n.pop()); ) - for (var i, a = e.children, o = 0, s = a.length; o < s; ++o) - n.push( - ((a[o] = i = - { - _: a[o], - parent: e, - children: ((i = a[o].children) && i.slice()) || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: o, - }).a = i), - ); - return r.children[0]; - })(u); - if ((Aa(f, o), (f.parent.m = -f.z), Ma(f, s), i)) Ma(u, l); - else { - var h = u, - p = u, - d = u; - Ma(u, function (t) { - (t.x < h.x && (h = t), - t.x > p.x && (p = t), - t.depth > d.depth && (d = t)); - }); - var g = r(h, p) / 2 - h.x, - m = n[0] / (p.x + r(p, h) / 2 + g), - v = n[1] / (d.depth || 1); - Ma(u, function (t) { - ((t.x = (t.x + g) * m), (t.y = t.depth * v)); - }); - } - return c; - } - function o(t) { - var e = t.children, - n = t.parent.children, - i = t.i ? n[t.i - 1] : null; - if (e.length) { - !(function (t) { - var e, - r = 0, - n = 0, - i = t.children, - a = i.length; - for (; --a >= 0; ) - (((e = i[a]).z += r), (e.m += r), (r += e.s + (n += e.c))); - })(t); - var a = (e[0].z + e[e.length - 1].z) / 2; - i ? ((t.z = i.z + r(t._, i._)), (t.m = t.z - a)) : (t.z = a); - } else i && (t.z = i.z + r(t._, i._)); - t.parent.A = (function (t, e, n) { - if (e) { - for ( - var i, - a = t, - o = t, - s = e, - l = a.parent.children[0], - c = a.m, - u = o.m, - f = s.m, - h = l.m; - (s = to(s)), (a = $a(a)), s && a; - - ) - ((l = $a(l)), - ((o = to(o)).a = t), - (i = s.z + f - a.z - c + r(s._, a._)) > 0 && - (eo(ro(s, t, n), t, i), (c += i), (u += i)), - (f += s.m), - (c += a.m), - (h += l.m), - (u += o.m)); - (s && !to(o) && ((o.t = s), (o.m += f - u)), - a && !$a(l) && ((l.t = a), (l.m += c - h), (n = t))); - } - return n; - })(t, i, t.parent.A || n[0]); - } - function s(t) { - ((t._.x = t.z + t.parent.m), (t.m += t.parent.m)); - } - function l(t) { - ((t.x *= n[0]), (t.y = t.depth * n[1])); - } - return ( - (a.separation = function (t) { - return arguments.length ? ((r = t), a) : r; - }), - (a.size = function (t) { - return arguments.length - ? ((i = null == (n = t) ? l : null), a) - : i - ? null - : n; - }), - (a.nodeSize = function (t) { - return arguments.length - ? ((i = null == (n = t) ? null : l), a) - : i - ? n - : null; - }), - ka(a, e) - ); - }), - (t.layout.cluster = function () { - var e = t.layout.hierarchy().sort(null).value(null), - r = Qa, - n = [1, 1], - i = !1; - function a(a, o) { - var s, - l = e.call(this, a, o), - c = l[0], - u = 0; - Aa(c, function (e) { - var n = e.children; - n && n.length - ? ((e.x = (function (t) { - return ( - t.reduce(function (t, e) { - return t + e.x; - }, 0) / t.length - ); - })(n)), - (e.y = (function (e) { - return ( - 1 + - t.max(e, function (t) { - return t.y; - }) - ); - })(n))) - : ((e.x = s ? (u += r(e, s)) : 0), (e.y = 0), (s = e)); - }); - var f = (function t(e) { - var r = e.children; - return r && r.length ? t(r[0]) : e; - })(c), - h = (function t(e) { - var r, - n = e.children; - return n && (r = n.length) ? t(n[r - 1]) : e; - })(c), - p = f.x - r(f, h) / 2, - d = h.x + r(h, f) / 2; - return ( - Aa( - c, - i - ? function (t) { - ((t.x = (t.x - c.x) * n[0]), (t.y = (c.y - t.y) * n[1])); - } - : function (t) { - ((t.x = ((t.x - p) / (d - p)) * n[0]), - (t.y = (1 - (c.y ? t.y / c.y : 1)) * n[1])); - }, - ), - l - ); - } - return ( - (a.separation = function (t) { - return arguments.length ? ((r = t), a) : r; - }), - (a.size = function (t) { - return arguments.length ? ((i = null == (n = t)), a) : i ? null : n; - }), - (a.nodeSize = function (t) { - return arguments.length ? ((i = null != (n = t)), a) : i ? n : null; - }), - ka(a, e) - ); - }), - (t.layout.treemap = function () { - var e, - r = t.layout.hierarchy(), - n = Math.round, - i = [1, 1], - a = null, - o = no, - s = !1, - l = "squarify", - c = 0.5 * (1 + Math.sqrt(5)); - function u(t, e) { - for (var r, n, i = -1, a = t.length; ++i < a; ) - ((n = (r = t[i]).value * (e < 0 ? 0 : e)), - (r.area = isNaN(n) || n <= 0 ? 0 : n)); - } - function f(t) { - var e = t.children; - if (e && e.length) { - var r, - n, - i, - a = o(t), - s = [], - c = e.slice(), - h = 1 / 0, - g = - "slice" === l - ? a.dx - : "dice" === l - ? a.dy - : "slice-dice" === l - ? 1 & t.depth - ? a.dy - : a.dx - : Math.min(a.dx, a.dy); - for ( - u(c, (a.dx * a.dy) / t.value), s.area = 0; - (i = c.length) > 0; - - ) - (s.push((r = c[i - 1])), - (s.area += r.area), - "squarify" !== l || (n = p(s, g)) <= h - ? (c.pop(), (h = n)) - : ((s.area -= s.pop().area), - d(s, g, a, !1), - (g = Math.min(a.dx, a.dy)), - (s.length = s.area = 0), - (h = 1 / 0))); - (s.length && (d(s, g, a, !0), (s.length = s.area = 0)), - e.forEach(f)); - } - } - function h(t) { - var e = t.children; - if (e && e.length) { - var r, - n = o(t), - i = e.slice(), - a = []; - for (u(i, (n.dx * n.dy) / t.value), a.area = 0; (r = i.pop()); ) - (a.push(r), - (a.area += r.area), - null != r.z && - (d(a, r.z ? n.dx : n.dy, n, !i.length), - (a.length = a.area = 0))); - e.forEach(h); - } - } - function p(t, e) { - for ( - var r, n = t.area, i = 0, a = 1 / 0, o = -1, s = t.length; - ++o < s; - - ) - (r = t[o].area) && (r < a && (a = r), r > i && (i = r)); - return ( - (e *= e), - (n *= n) ? Math.max((e * i * c) / n, n / (e * a * c)) : 1 / 0 - ); - } - function d(t, e, r, i) { - var a, - o = -1, - s = t.length, - l = r.x, - c = r.y, - u = e ? n(t.area / e) : 0; - if (e == r.dx) { - for ((i || u > r.dy) && (u = r.dy); ++o < s; ) - (((a = t[o]).x = l), - (a.y = c), - (a.dy = u), - (l += a.dx = Math.min(r.x + r.dx - l, u ? n(a.area / u) : 0))); - ((a.z = !0), (a.dx += r.x + r.dx - l), (r.y += u), (r.dy -= u)); - } else { - for ((i || u > r.dx) && (u = r.dx); ++o < s; ) - (((a = t[o]).x = l), - (a.y = c), - (a.dx = u), - (c += a.dy = Math.min(r.y + r.dy - c, u ? n(a.area / u) : 0))); - ((a.z = !1), (a.dy += r.y + r.dy - c), (r.x += u), (r.dx -= u)); - } - } - function g(t) { - var n = e || r(t), - a = n[0]; - return ( - (a.x = a.y = 0), - a.value ? ((a.dx = i[0]), (a.dy = i[1])) : (a.dx = a.dy = 0), - e && r.revalue(a), - u([a], (a.dx * a.dy) / a.value), - (e ? h : f)(a), - s && (e = n), - n - ); - } - return ( - (g.size = function (t) { - return arguments.length ? ((i = t), g) : i; - }), - (g.padding = function (t) { - if (!arguments.length) return a; - function e(e) { - return io(e, t); - } - var r; - return ( - (o = - null == (a = t) - ? no - : "function" == (r = typeof t) - ? function (e) { - var r = t.call(g, e, e.depth); - return null == r - ? no(e) - : io(e, "number" == typeof r ? [r, r, r, r] : r); - } - : "number" === r - ? ((t = [t, t, t, t]), e) - : e), - g - ); - }), - (g.round = function (t) { - return arguments.length - ? ((n = t ? Math.round : Number), g) - : n != Number; - }), - (g.sticky = function (t) { - return arguments.length ? ((s = t), (e = null), g) : s; - }), - (g.ratio = function (t) { - return arguments.length ? ((c = t), g) : c; - }), - (g.mode = function (t) { - return arguments.length ? ((l = t + ""), g) : l; - }), - ka(g, r) - ); - }), - (t.random = { - normal: function (t, e) { - var r = arguments.length; - return ( - r < 2 && (e = 1), - r < 1 && (t = 0), - function () { - var r, n, i; - do { - i = - (r = 2 * Math.random() - 1) * r + - (n = 2 * Math.random() - 1) * n; - } while (!i || i > 1); - return t + e * r * Math.sqrt((-2 * Math.log(i)) / i); - } - ); - }, - logNormal: function () { - var e = t.random.normal.apply(t, arguments); - return function () { - return Math.exp(e()); - }; - }, - bates: function (e) { - var r = t.random.irwinHall(e); - return function () { - return r() / e; - }; - }, - irwinHall: function (t) { - return function () { - for (var e = 0, r = 0; r < t; r++) e += Math.random(); - return e; - }; - }, - }), - (t.scale = {})); - var uo = { floor: z, ceil: z }; - function fo(e, r, n, i) { - var a = [], - o = [], - s = 0, - l = Math.min(e.length, r.length) - 1; - for ( - e[l] < e[0] && ((e = e.slice().reverse()), (r = r.slice().reverse())); - ++s <= l; - - ) - (a.push(n(e[s - 1], e[s])), o.push(i(r[s - 1], r[s]))); - return function (r) { - var n = t.bisect(e, r, 1, l) - 1; - return o[n](a[n](r)); - }; - } - function ho(e, r) { - return t.rebind(e, r, "range", "rangeRound", "interpolate", "clamp"); - } - function po(t, e) { - return (lo(t, co(go(t, e)[2])), lo(t, co(go(t, e)[2])), t); - } - function go(t, e) { - null == e && (e = 10); - var r = ao(t), - n = r[1] - r[0], - i = Math.pow(10, Math.floor(Math.log(n / e) / Math.LN10)), - a = (e / n) * i; - return ( - a <= 0.15 ? (i *= 10) : a <= 0.35 ? (i *= 5) : a <= 0.75 && (i *= 2), - (r[0] = Math.ceil(r[0] / i) * i), - (r[1] = Math.floor(r[1] / i) * i + 0.5 * i), - (r[2] = i), - r - ); - } - function mo(e, r) { - return t.range.apply(t, go(e, r)); - } - function vo(e, r, n) { - var i = go(e, r); - if (n) { - var a = Le.exec(n); - if ((a.shift(), "s" === a[8])) { - var o = t.formatPrefix(Math.max(y(i[0]), y(i[1]))); - return ( - a[7] || (a[7] = "." + xo(o.scale(i[2]))), - (a[8] = "f"), - (n = t.format(a.join(""))), - function (t) { - return n(o.scale(t)) + o.symbol; - } - ); - } - (a[7] || - (a[7] = - "." + - (function (t, e) { - var r = xo(e[2]); - return t in yo - ? Math.abs(r - xo(Math.max(y(e[0]), y(e[1])))) + +("e" !== t) - : r - 2 * ("%" === t); - })(a[8], i)), - (n = a.join(""))); - } else n = ",." + xo(i[2]) + "f"; - return t.format(n); - } - t.scale.linear = function () { - return (function t(e, r, n, i) { - var a, o; - function s() { - var t = Math.min(e.length, r.length) > 2 ? fo : so, - s = i ? pa : ha; - return ((a = t(e, r, s, n)), (o = t(r, e, s, Gi)), l); - } - function l(t) { - return a(t); - } - l.invert = function (t) { - return o(t); - }; - l.domain = function (t) { - return arguments.length ? ((e = t.map(Number)), s()) : e; - }; - l.range = function (t) { - return arguments.length ? ((r = t), s()) : r; - }; - l.rangeRound = function (t) { - return l.range(t).interpolate(aa); - }; - l.clamp = function (t) { - return arguments.length ? ((i = t), s()) : i; - }; - l.interpolate = function (t) { - return arguments.length ? ((n = t), s()) : n; - }; - l.ticks = function (t) { - return mo(e, t); - }; - l.tickFormat = function (t, r) { - return vo(e, t, r); - }; - l.nice = function (t) { - return (po(e, t), s()); - }; - l.copy = function () { - return t(e, r, n, i); - }; - return s(); - })([0, 1], [0, 1], Gi, !1); - }; - var yo = { s: 1, g: 1, p: 1, r: 1, e: 1 }; - function xo(t) { - return -Math.floor(Math.log(t) / Math.LN10 + 0.01); - } - t.scale.log = function () { - return (function e(r, n, i, a) { - function o(t) { - return ( - (i ? Math.log(t < 0 ? 0 : t) : -Math.log(t > 0 ? 0 : -t)) / - Math.log(n) - ); - } - function s(t) { - return i ? Math.pow(n, t) : -Math.pow(n, -t); - } - function l(t) { - return r(o(t)); - } - l.invert = function (t) { - return s(r.invert(t)); - }; - l.domain = function (t) { - return arguments.length - ? ((i = t[0] >= 0), r.domain((a = t.map(Number)).map(o)), l) - : a; - }; - l.base = function (t) { - return arguments.length ? ((n = +t), r.domain(a.map(o)), l) : n; - }; - l.nice = function () { - var t = lo(a.map(o), i ? Math : _o); - return (r.domain(t), (a = t.map(s)), l); - }; - l.ticks = function () { - var t = ao(a), - e = [], - r = t[0], - l = t[1], - c = Math.floor(o(r)), - u = Math.ceil(o(l)), - f = n % 1 ? 2 : n; - if (isFinite(u - c)) { - if (i) { - for (; c < u; c++) for (var h = 1; h < f; h++) e.push(s(c) * h); - e.push(s(c)); - } else - for (e.push(s(c)); c++ < u; ) - for (var h = f - 1; h > 0; h--) e.push(s(c) * h); - for (c = 0; e[c] < r; c++); - for (u = e.length; e[u - 1] > l; u--); - e = e.slice(c, u); - } - return e; - }; - l.tickFormat = function (e, r) { - if (!arguments.length) return bo; - arguments.length < 2 - ? (r = bo) - : "function" != typeof r && (r = t.format(r)); - var i = Math.max(1, (n * e) / l.ticks().length); - return function (t) { - var e = t / s(Math.round(o(t))); - return (e * n < n - 0.5 && (e *= n), e <= i ? r(t) : ""); - }; - }; - l.copy = function () { - return e(r.copy(), n, i, a); - }; - return ho(l, r); - })(t.scale.linear().domain([0, 1]), 10, !0, [1, 10]); - }; - var bo = t.format(".0e"), - _o = { - floor: function (t) { - return -Math.ceil(-t); - }, - ceil: function (t) { - return -Math.floor(-t); - }, - }; - function wo(t) { - return function (e) { - return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); - }; - } - ((t.scale.pow = function () { - return (function t(e, r, n) { - var i = wo(r), - a = wo(1 / r); - function o(t) { - return e(i(t)); - } - o.invert = function (t) { - return a(e.invert(t)); - }; - o.domain = function (t) { - return arguments.length - ? (e.domain((n = t.map(Number)).map(i)), o) - : n; - }; - o.ticks = function (t) { - return mo(n, t); - }; - o.tickFormat = function (t, e) { - return vo(n, t, e); - }; - o.nice = function (t) { - return o.domain(po(n, t)); - }; - o.exponent = function (t) { - return arguments.length - ? ((i = wo((r = t))), (a = wo(1 / r)), e.domain(n.map(i)), o) - : r; - }; - o.copy = function () { - return t(e.copy(), r, n); - }; - return ho(o, e); - })(t.scale.linear(), 1, [0, 1]); - }), - (t.scale.sqrt = function () { - return t.scale.pow().exponent(0.5); - }), - (t.scale.ordinal = function () { - return (function e(r, n) { - var i, a, o; - function s(t) { - return a[ - ((i.get(t) || ("range" === n.t ? i.set(t, r.push(t)) : NaN)) - - 1) % - a.length - ]; - } - function l(e, n) { - return t.range(r.length).map(function (t) { - return e + n * t; - }); - } - s.domain = function (t) { - if (!arguments.length) return r; - ((r = []), (i = new b())); - for (var e, a = -1, o = t.length; ++a < o; ) - i.has((e = t[a])) || i.set(e, r.push(e)); - return s[n.t].apply(s, n.a); - }; - s.range = function (t) { - return arguments.length - ? ((a = t), (o = 0), (n = { t: "range", a: arguments }), s) - : a; - }; - s.rangePoints = function (t, e) { - arguments.length < 2 && (e = 0); - var i = t[0], - c = t[1], - u = - r.length < 2 - ? ((i = (i + c) / 2), 0) - : (c - i) / (r.length - 1 + e); - return ( - (a = l(i + (u * e) / 2, u)), - (o = 0), - (n = { t: "rangePoints", a: arguments }), - s - ); - }; - s.rangeRoundPoints = function (t, e) { - arguments.length < 2 && (e = 0); - var i = t[0], - c = t[1], - u = - r.length < 2 - ? ((i = c = Math.round((i + c) / 2)), 0) - : ((c - i) / (r.length - 1 + e)) | 0; - return ( - (a = l( - i + - Math.round( - (u * e) / 2 + (c - i - (r.length - 1 + e) * u) / 2, - ), - u, - )), - (o = 0), - (n = { t: "rangeRoundPoints", a: arguments }), - s - ); - }; - s.rangeBands = function (t, e, i) { - (arguments.length < 2 && (e = 0), arguments.length < 3 && (i = e)); - var c = t[1] < t[0], - u = t[c - 0], - f = t[1 - c], - h = (f - u) / (r.length - e + 2 * i); - return ( - (a = l(u + h * i, h)), - c && a.reverse(), - (o = h * (1 - e)), - (n = { t: "rangeBands", a: arguments }), - s - ); - }; - s.rangeRoundBands = function (t, e, i) { - (arguments.length < 2 && (e = 0), arguments.length < 3 && (i = e)); - var c = t[1] < t[0], - u = t[c - 0], - f = t[1 - c], - h = Math.floor((f - u) / (r.length - e + 2 * i)); - return ( - (a = l(u + Math.round((f - u - (r.length - e) * h) / 2), h)), - c && a.reverse(), - (o = Math.round(h * (1 - e))), - (n = { t: "rangeRoundBands", a: arguments }), - s - ); - }; - s.rangeBand = function () { - return o; - }; - s.rangeExtent = function () { - return ao(n.a[0]); - }; - s.copy = function () { - return e(r, n); - }; - return s.domain(r); - })([], { t: "range", a: [[]] }); - }), - (t.scale.category10 = function () { - return t.scale.ordinal().range(ko); - }), - (t.scale.category20 = function () { - return t.scale.ordinal().range(Mo); - }), - (t.scale.category20b = function () { - return t.scale.ordinal().range(Ao); - }), - (t.scale.category20c = function () { - return t.scale.ordinal().range(To); - })); - var ko = [ - 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, - 8355711, 12369186, 1556175, - ].map(se), - Mo = [ - 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, - 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, - 8355711, 13092807, 12369186, 14408589, 1556175, 10410725, - ].map(se), - Ao = [ - 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, - 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, - 14049643, 15177372, 8077683, 10834324, 13528509, 14589654, - ].map(se), - To = [ - 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, - 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, - 12369372, 14342891, 6513507, 9868950, 12434877, 14277081, - ].map(se); - function So() { - return 0; - } - ((t.scale.quantile = function () { - return (function e(r, n) { - var i; - function a() { - var e = 0, - a = n.length; - for (i = []; ++e < a; ) i[e - 1] = t.quantile(r, e / a); - return o; - } - function o(e) { - if (!isNaN((e = +e))) return n[t.bisect(i, e)]; - } - o.domain = function (t) { - return arguments.length ? ((r = t.map(p).filter(d).sort(h)), a()) : r; - }; - o.range = function (t) { - return arguments.length ? ((n = t), a()) : n; - }; - o.quantiles = function () { - return i; - }; - o.invertExtent = function (t) { - return (t = n.indexOf(t)) < 0 - ? [NaN, NaN] - : [t > 0 ? i[t - 1] : r[0], t < i.length ? i[t] : r[r.length - 1]]; - }; - o.copy = function () { - return e(r, n); - }; - return a(); - })([], []); - }), - (t.scale.quantize = function () { - return (function t(e, r, n) { - var i, a; - function o(t) { - return n[Math.max(0, Math.min(a, Math.floor(i * (t - e))))]; - } - function s() { - return ((i = n.length / (r - e)), (a = n.length - 1), o); - } - o.domain = function (t) { - return arguments.length - ? ((e = +t[0]), (r = +t[t.length - 1]), s()) - : [e, r]; - }; - o.range = function (t) { - return arguments.length ? ((n = t), s()) : n; - }; - o.invertExtent = function (t) { - return [(t = (t = n.indexOf(t)) < 0 ? NaN : t / i + e), t + 1 / i]; - }; - o.copy = function () { - return t(e, r, n); - }; - return s(); - })(0, 1, [0, 1]); - }), - (t.scale.threshold = function () { - return (function e(r, n) { - function i(e) { - if (e <= e) return n[t.bisect(r, e)]; - } - i.domain = function (t) { - return arguments.length ? ((r = t), i) : r; - }; - i.range = function (t) { - return arguments.length ? ((n = t), i) : n; - }; - i.invertExtent = function (t) { - return ((t = n.indexOf(t)), [r[t - 1], r[t]]); - }; - i.copy = function () { - return e(r, n); - }; - return i; - })([0.5], [0, 1]); - }), - (t.scale.identity = function () { - return (function t(e) { - function r(t) { - return +t; - } - r.invert = r; - r.domain = r.range = function (t) { - return arguments.length ? ((e = t.map(r)), r) : e; - }; - r.ticks = function (t) { - return mo(e, t); - }; - r.tickFormat = function (t, r) { - return vo(e, t, r); - }; - r.copy = function () { - return t(e); - }; - return r; - })([0, 1]); - }), - (t.svg = {}), - (t.svg.arc = function () { - var t = Eo, - e = Lo, - r = So, - n = Co, - i = zo, - a = Po, - o = Do; - function s() { - var s = Math.max(0, +t.apply(this, arguments)), - c = Math.max(0, +e.apply(this, arguments)), - u = i.apply(this, arguments) - Ct, - f = a.apply(this, arguments) - Ct, - h = Math.abs(f - u), - p = u > f ? 0 : 1; - if ((c < s && ((d = c), (c = s), (s = d)), h >= St)) - return l(c, p) + (s ? l(s, 1 - p) : "") + "Z"; - var d, - g, - m, - v, - y, - x, - b, - _, - w, - k, - M, - A, - T = 0, - S = 0, - C = []; - if ( - ((v = (+o.apply(this, arguments) || 0) / 2) && - ((m = - n === Co - ? Math.sqrt(s * s + c * c) - : +n.apply(this, arguments)), - p || (S *= -1), - c && (S = Ot((m / c) * Math.sin(v))), - s && (T = Ot((m / s) * Math.sin(v)))), - c) - ) { - ((y = c * Math.cos(u + S)), - (x = c * Math.sin(u + S)), - (b = c * Math.cos(f - S)), - (_ = c * Math.sin(f - S))); - var E = Math.abs(f - u - 2 * S) <= At ? 0 : 1; - if (S && (Oo(y, x, b, _) === p) ^ E) { - var L = (u + f) / 2; - ((y = c * Math.cos(L)), (x = c * Math.sin(L)), (b = _ = null)); - } - } else y = x = 0; - if (s) { - ((w = s * Math.cos(f - T)), - (k = s * Math.sin(f - T)), - (M = s * Math.cos(u + T)), - (A = s * Math.sin(u + T))); - var z = Math.abs(u - f + 2 * T) <= At ? 0 : 1; - if (T && (Oo(w, k, M, A) === 1 - p) ^ z) { - var P = (u + f) / 2; - ((w = s * Math.cos(P)), (k = s * Math.sin(P)), (M = A = null)); - } - } else w = k = 0; - if ( - h > kt && - (d = Math.min(Math.abs(c - s) / 2, +r.apply(this, arguments))) > - 0.001 - ) { - g = (s < c) ^ p ? 0 : 1; - var D = d, - O = d; - if (h < At) { - var I = - null == M - ? [w, k] - : null == b - ? [y, x] - : ai([y, x], [M, A], [b, _], [w, k]), - R = y - I[0], - B = x - I[1], - F = b - I[0], - N = _ - I[1], - j = - 1 / - Math.sin( - Math.acos( - (R * F + B * N) / - (Math.sqrt(R * R + B * B) * Math.sqrt(F * F + N * N)), - ) / 2, - ), - V = Math.sqrt(I[0] * I[0] + I[1] * I[1]); - ((O = Math.min(d, (s - V) / (j - 1))), - (D = Math.min(d, (c - V) / (j + 1)))); - } - if (null != b) { - var U = Io(null == M ? [w, k] : [M, A], [y, x], c, D, p), - q = Io([b, _], [w, k], c, D, p); - d === D - ? C.push( - "M", - U[0], - "A", - D, - ",", - D, - " 0 0,", - g, - " ", - U[1], - "A", - c, - ",", - c, - " 0 ", - (1 - p) ^ Oo(U[1][0], U[1][1], q[1][0], q[1][1]), - ",", - p, - " ", - q[1], - "A", - D, - ",", - D, - " 0 0,", - g, - " ", - q[0], - ) - : C.push("M", U[0], "A", D, ",", D, " 0 1,", g, " ", q[0]); - } else C.push("M", y, ",", x); - if (null != M) { - var H = Io([y, x], [M, A], s, -O, p), - G = Io([w, k], null == b ? [y, x] : [b, _], s, -O, p); - d === O - ? C.push( - "L", - G[0], - "A", - O, - ",", - O, - " 0 0,", - g, - " ", - G[1], - "A", - s, - ",", - s, - " 0 ", - p ^ Oo(G[1][0], G[1][1], H[1][0], H[1][1]), - ",", - 1 - p, - " ", - H[1], - "A", - O, - ",", - O, - " 0 0,", - g, - " ", - H[0], - ) - : C.push("L", G[0], "A", O, ",", O, " 0 0,", g, " ", H[0]); - } else C.push("L", w, ",", k); - } else - (C.push("M", y, ",", x), - null != b && - C.push("A", c, ",", c, " 0 ", E, ",", p, " ", b, ",", _), - C.push("L", w, ",", k), - null != M && - C.push("A", s, ",", s, " 0 ", z, ",", 1 - p, " ", M, ",", A)); - return (C.push("Z"), C.join("")); - } - function l(t, e) { - return ( - "M0," + - t + - "A" + - t + - "," + - t + - " 0 1," + - e + - " 0," + - -t + - "A" + - t + - "," + - t + - " 0 1," + - e + - " 0," + - t - ); - } - return ( - (s.innerRadius = function (e) { - return arguments.length ? ((t = me(e)), s) : t; - }), - (s.outerRadius = function (t) { - return arguments.length ? ((e = me(t)), s) : e; - }), - (s.cornerRadius = function (t) { - return arguments.length ? ((r = me(t)), s) : r; - }), - (s.padRadius = function (t) { - return arguments.length ? ((n = t == Co ? Co : me(t)), s) : n; - }), - (s.startAngle = function (t) { - return arguments.length ? ((i = me(t)), s) : i; - }), - (s.endAngle = function (t) { - return arguments.length ? ((a = me(t)), s) : a; - }), - (s.padAngle = function (t) { - return arguments.length ? ((o = me(t)), s) : o; - }), - (s.centroid = function () { - var r = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, - n = - (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - - Ct; - return [Math.cos(n) * r, Math.sin(n) * r]; - }), - s - ); - })); - var Co = "auto"; - function Eo(t) { - return t.innerRadius; - } - function Lo(t) { - return t.outerRadius; - } - function zo(t) { - return t.startAngle; - } - function Po(t) { - return t.endAngle; - } - function Do(t) { - return t && t.padAngle; - } - function Oo(t, e, r, n) { - return (t - r) * e - (e - n) * t > 0 ? 0 : 1; - } - function Io(t, e, r, n, i) { - var a = t[0] - e[0], - o = t[1] - e[1], - s = (i ? n : -n) / Math.sqrt(a * a + o * o), - l = s * o, - c = -s * a, - u = t[0] + l, - f = t[1] + c, - h = e[0] + l, - p = e[1] + c, - d = (u + h) / 2, - g = (f + p) / 2, - m = h - u, - v = p - f, - y = m * m + v * v, - x = r - n, - b = u * p - h * f, - _ = (v < 0 ? -1 : 1) * Math.sqrt(Math.max(0, x * x * y - b * b)), - w = (b * v - m * _) / y, - k = (-b * m - v * _) / y, - M = (b * v + m * _) / y, - A = (-b * m + v * _) / y, - T = w - d, - S = k - g, - C = M - d, - E = A - g; - return ( - T * T + S * S > C * C + E * E && ((w = M), (k = A)), - [ - [w - l, k - c], - [(w * r) / x, (k * r) / x], - ] - ); - } - function Ro(t) { - var e = $n, - r = ti, - n = Wr, - i = Fo, - a = i.key, - o = 0.7; - function s(a) { - var s, - l = [], - c = [], - u = -1, - f = a.length, - h = me(e), - p = me(r); - function d() { - l.push("M", i(t(c), o)); - } - for (; ++u < f; ) - n.call(this, (s = a[u]), u) - ? c.push([+h.call(this, s, u), +p.call(this, s, u)]) - : c.length && (d(), (c = [])); - return (c.length && d(), l.length ? l.join("") : null); - } - return ( - (s.x = function (t) { - return arguments.length ? ((e = t), s) : e; - }), - (s.y = function (t) { - return arguments.length ? ((r = t), s) : r; - }), - (s.defined = function (t) { - return arguments.length ? ((n = t), s) : n; - }), - (s.interpolate = function (t) { - return arguments.length - ? ((a = - "function" == typeof t ? (i = t) : (i = Bo.get(t) || Fo).key), - s) - : a; - }), - (s.tension = function (t) { - return arguments.length ? ((o = t), s) : o; - }), - s - ); - } - t.svg.line = function () { - return Ro(z); - }; - var Bo = t.map({ - linear: Fo, - "linear-closed": No, - step: function (t) { - var e = 0, - r = t.length, - n = t[0], - i = [n[0], ",", n[1]]; - for (; ++e < r; ) i.push("H", (n[0] + (n = t[e])[0]) / 2, "V", n[1]); - r > 1 && i.push("H", n[0]); - return i.join(""); - }, - "step-before": jo, - "step-after": Vo, - basis: Ho, - "basis-open": function (t) { - if (t.length < 4) return Fo(t); - var e, - r = [], - n = -1, - i = t.length, - a = [0], - o = [0]; - for (; ++n < 3; ) ((e = t[n]), a.push(e[0]), o.push(e[1])); - (r.push(Go(Xo, a) + "," + Go(Xo, o)), --n); - for (; ++n < i; ) - ((e = t[n]), - a.shift(), - a.push(e[0]), - o.shift(), - o.push(e[1]), - Zo(r, a, o)); - return r.join(""); - }, - "basis-closed": function (t) { - var e, - r, - n = -1, - i = t.length, - a = i + 4, - o = [], - s = []; - for (; ++n < 4; ) ((r = t[n % i]), o.push(r[0]), s.push(r[1])); - ((e = [Go(Xo, o), ",", Go(Xo, s)]), --n); - for (; ++n < a; ) - ((r = t[n % i]), - o.shift(), - o.push(r[0]), - s.shift(), - s.push(r[1]), - Zo(e, o, s)); - return e.join(""); - }, - bundle: function (t, e) { - var r = t.length - 1; - if (r) - for ( - var n, - i, - a = t[0][0], - o = t[0][1], - s = t[r][0] - a, - l = t[r][1] - o, - c = -1; - ++c <= r; - - ) - ((n = t[c]), - (i = c / r), - (n[0] = e * n[0] + (1 - e) * (a + i * s)), - (n[1] = e * n[1] + (1 - e) * (o + i * l))); - return Ho(t); - }, - cardinal: function (t, e) { - return t.length < 3 ? Fo(t) : t[0] + Uo(t, qo(t, e)); - }, - "cardinal-open": function (t, e) { - return t.length < 4 ? Fo(t) : t[1] + Uo(t.slice(1, -1), qo(t, e)); - }, - "cardinal-closed": function (t, e) { - return t.length < 3 - ? No(t) - : t[0] + - Uo((t.push(t[0]), t), qo([t[t.length - 2]].concat(t, [t[1]]), e)); - }, - monotone: function (t) { - return t.length < 3 - ? Fo(t) - : t[0] + - Uo( - t, - (function (t) { - var e, - r, - n, - i, - a = [], - o = (function (t) { - var e = 0, - r = t.length - 1, - n = [], - i = t[0], - a = t[1], - o = (n[0] = Jo(i, a)); - for (; ++e < r; ) - n[e] = (o + (o = Jo((i = a), (a = t[e + 1])))) / 2; - return ((n[e] = o), n); - })(t), - s = -1, - l = t.length - 1; - for (; ++s < l; ) - ((e = Jo(t[s], t[s + 1])), - y(e) < kt - ? (o[s] = o[s + 1] = 0) - : ((r = o[s] / e), - (n = o[s + 1] / e), - (i = r * r + n * n) > 9 && - ((i = (3 * e) / Math.sqrt(i)), - (o[s] = i * r), - (o[s + 1] = i * n)))); - s = -1; - for (; ++s <= l; ) - ((i = - (t[Math.min(l, s + 1)][0] - t[Math.max(0, s - 1)][0]) / - (6 * (1 + o[s] * o[s]))), - a.push([i || 0, o[s] * i || 0])); - return a; - })(t), - ); - }, - }); - function Fo(t) { - return t.length > 1 ? t.join("L") : t + "Z"; - } - function No(t) { - return t.join("L") + "Z"; - } - function jo(t) { - for (var e = 0, r = t.length, n = t[0], i = [n[0], ",", n[1]]; ++e < r; ) - i.push("V", (n = t[e])[1], "H", n[0]); - return i.join(""); - } - function Vo(t) { - for (var e = 0, r = t.length, n = t[0], i = [n[0], ",", n[1]]; ++e < r; ) - i.push("H", (n = t[e])[0], "V", n[1]); - return i.join(""); - } - function Uo(t, e) { - if (e.length < 1 || (t.length != e.length && t.length != e.length + 2)) - return Fo(t); - var r = t.length != e.length, - n = "", - i = t[0], - a = t[1], - o = e[0], - s = o, - l = 1; - if ( - (r && - ((n += - "Q" + - (a[0] - (2 * o[0]) / 3) + - "," + - (a[1] - (2 * o[1]) / 3) + - "," + - a[0] + - "," + - a[1]), - (i = t[1]), - (l = 2)), - e.length > 1) - ) { - ((s = e[1]), - (a = t[l]), - l++, - (n += - "C" + - (i[0] + o[0]) + - "," + - (i[1] + o[1]) + - "," + - (a[0] - s[0]) + - "," + - (a[1] - s[1]) + - "," + - a[0] + - "," + - a[1])); - for (var c = 2; c < e.length; c++, l++) - ((a = t[l]), - (s = e[c]), - (n += - "S" + - (a[0] - s[0]) + - "," + - (a[1] - s[1]) + - "," + - a[0] + - "," + - a[1])); - } - if (r) { - var u = t[l]; - n += - "Q" + - (a[0] + (2 * s[0]) / 3) + - "," + - (a[1] + (2 * s[1]) / 3) + - "," + - u[0] + - "," + - u[1]; - } - return n; - } - function qo(t, e) { - for ( - var r, n = [], i = (1 - e) / 2, a = t[0], o = t[1], s = 1, l = t.length; - ++s < l; - - ) - ((r = a), - (a = o), - (o = t[s]), - n.push([i * (o[0] - r[0]), i * (o[1] - r[1])])); - return n; - } - function Ho(t) { - if (t.length < 3) return Fo(t); - var e = 1, - r = t.length, - n = t[0], - i = n[0], - a = n[1], - o = [i, i, i, (n = t[1])[0]], - s = [a, a, a, n[1]], - l = [i, ",", a, "L", Go(Xo, o), ",", Go(Xo, s)]; - for (t.push(t[r - 1]); ++e <= r; ) - ((n = t[e]), - o.shift(), - o.push(n[0]), - s.shift(), - s.push(n[1]), - Zo(l, o, s)); - return (t.pop(), l.push("L", n), l.join("")); - } - function Go(t, e) { - return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3]; - } - Bo.forEach(function (t, e) { - ((e.key = t), (e.closed = /-closed$/.test(t))); - }); - var Wo = [0, 2 / 3, 1 / 3, 0], - Yo = [0, 1 / 3, 2 / 3, 0], - Xo = [0, 1 / 6, 2 / 3, 1 / 6]; - function Zo(t, e, r) { - t.push( - "C", - Go(Wo, e), - ",", - Go(Wo, r), - ",", - Go(Yo, e), - ",", - Go(Yo, r), - ",", - Go(Xo, e), - ",", - Go(Xo, r), - ); - } - function Jo(t, e) { - return (e[1] - t[1]) / (e[0] - t[0]); - } - function Ko(t) { - for (var e, r, n, i = -1, a = t.length; ++i < a; ) - ((r = (e = t[i])[0]), - (n = e[1] - Ct), - (e[0] = r * Math.cos(n)), - (e[1] = r * Math.sin(n))); - return t; - } - function Qo(t) { - var e = $n, - r = $n, - n = 0, - i = ti, - a = Wr, - o = Fo, - s = o.key, - l = o, - c = "L", - u = 0.7; - function f(s) { - var f, - h, - p, - d = [], - g = [], - m = [], - v = -1, - y = s.length, - x = me(e), - b = me(n), - _ = - e === r - ? function () { - return h; - } - : me(r), - w = - n === i - ? function () { - return p; - } - : me(i); - function k() { - d.push("M", o(t(m), u), c, l(t(g.reverse()), u), "Z"); - } - for (; ++v < y; ) - a.call(this, (f = s[v]), v) - ? (g.push([(h = +x.call(this, f, v)), (p = +b.call(this, f, v))]), - m.push([+_.call(this, f, v), +w.call(this, f, v)])) - : g.length && (k(), (g = []), (m = [])); - return (g.length && k(), d.length ? d.join("") : null); - } - return ( - (f.x = function (t) { - return arguments.length ? ((e = r = t), f) : r; - }), - (f.x0 = function (t) { - return arguments.length ? ((e = t), f) : e; - }), - (f.x1 = function (t) { - return arguments.length ? ((r = t), f) : r; - }), - (f.y = function (t) { - return arguments.length ? ((n = i = t), f) : i; - }), - (f.y0 = function (t) { - return arguments.length ? ((n = t), f) : n; - }), - (f.y1 = function (t) { - return arguments.length ? ((i = t), f) : i; - }), - (f.defined = function (t) { - return arguments.length ? ((a = t), f) : a; - }), - (f.interpolate = function (t) { - return arguments.length - ? ((s = - "function" == typeof t ? (o = t) : (o = Bo.get(t) || Fo).key), - (l = o.reverse || o), - (c = o.closed ? "M" : "L"), - f) - : s; - }), - (f.tension = function (t) { - return arguments.length ? ((u = t), f) : u; - }), - f - ); - } - function $o(t) { - return t.radius; - } - function ts(t) { - return [t.x, t.y]; - } - function es() { - return 64; - } - function rs() { - return "circle"; - } - function ns(t) { - var e = Math.sqrt(t / At); - return ( - "M0," + - e + - "A" + - e + - "," + - e + - " 0 1,1 0," + - -e + - "A" + - e + - "," + - e + - " 0 1,1 0," + - e + - "Z" - ); - } - ((t.svg.line.radial = function () { - var t = Ro(Ko); - return ((t.radius = t.x), delete t.x, (t.angle = t.y), delete t.y, t); - }), - (jo.reverse = Vo), - (Vo.reverse = jo), - (t.svg.area = function () { - return Qo(z); - }), - (t.svg.area.radial = function () { - var t = Qo(Ko); - return ( - (t.radius = t.x), - delete t.x, - (t.innerRadius = t.x0), - delete t.x0, - (t.outerRadius = t.x1), - delete t.x1, - (t.angle = t.y), - delete t.y, - (t.startAngle = t.y0), - delete t.y0, - (t.endAngle = t.y1), - delete t.y1, - t - ); - }), - (t.svg.chord = function () { - var t = Nn, - e = jn, - r = $o, - n = zo, - i = Po; - function a(r, n) { - var i, - a, - c = o(this, t, r, n), - u = o(this, e, r, n); - return ( - "M" + - c.p0 + - s(c.r, c.p1, c.a1 - c.a0) + - ((a = u), - (i = c).a0 == a.a0 && i.a1 == a.a1 - ? l(c.r, c.p1, c.r, c.p0) - : l(c.r, c.p1, u.r, u.p0) + - s(u.r, u.p1, u.a1 - u.a0) + - l(u.r, u.p1, c.r, c.p0)) + - "Z" - ); - } - function o(t, e, a, o) { - var s = e.call(t, a, o), - l = r.call(t, s, o), - c = n.call(t, s, o) - Ct, - u = i.call(t, s, o) - Ct; - return { - r: l, - a0: c, - a1: u, - p0: [l * Math.cos(c), l * Math.sin(c)], - p1: [l * Math.cos(u), l * Math.sin(u)], - }; - } - function s(t, e, r) { - return "A" + t + "," + t + " 0 " + +(r > At) + ",1 " + e; - } - function l(t, e, r, n) { - return "Q 0,0 " + n; - } - return ( - (a.radius = function (t) { - return arguments.length ? ((r = me(t)), a) : r; - }), - (a.source = function (e) { - return arguments.length ? ((t = me(e)), a) : t; - }), - (a.target = function (t) { - return arguments.length ? ((e = me(t)), a) : e; - }), - (a.startAngle = function (t) { - return arguments.length ? ((n = me(t)), a) : n; - }), - (a.endAngle = function (t) { - return arguments.length ? ((i = me(t)), a) : i; - }), - a - ); - }), - (t.svg.diagonal = function () { - var t = Nn, - e = jn, - r = ts; - function n(n, i) { - var a = t.call(this, n, i), - o = e.call(this, n, i), - s = (a.y + o.y) / 2, - l = [a, { x: a.x, y: s }, { x: o.x, y: s }, o]; - return "M" + (l = l.map(r))[0] + "C" + l[1] + " " + l[2] + " " + l[3]; - } - return ( - (n.source = function (e) { - return arguments.length ? ((t = me(e)), n) : t; - }), - (n.target = function (t) { - return arguments.length ? ((e = me(t)), n) : e; - }), - (n.projection = function (t) { - return arguments.length ? ((r = t), n) : r; - }), - n - ); - }), - (t.svg.diagonal.radial = function () { - var e = t.svg.diagonal(), - r = ts, - n = e.projection; - return ( - (e.projection = function (t) { - return arguments.length - ? n( - (function (t) { - return function () { - var e = t.apply(this, arguments), - r = e[0], - n = e[1] - Ct; - return [r * Math.cos(n), r * Math.sin(n)]; - }; - })((r = t)), - ) - : r; - }), - e - ); - }), - (t.svg.symbol = function () { - var t = rs, - e = es; - function r(r, n) { - return (is.get(t.call(this, r, n)) || ns)(e.call(this, r, n)); - } - return ( - (r.type = function (e) { - return arguments.length ? ((t = me(e)), r) : t; - }), - (r.size = function (t) { - return arguments.length ? ((e = me(t)), r) : e; - }), - r - ); - })); - var is = t.map({ - circle: ns, - cross: function (t) { - var e = Math.sqrt(t / 5) / 2; - return ( - "M" + - -3 * e + - "," + - -e + - "H" + - -e + - "V" + - -3 * e + - "H" + - e + - "V" + - -e + - "H" + - 3 * e + - "V" + - e + - "H" + - e + - "V" + - 3 * e + - "H" + - -e + - "V" + - e + - "H" + - -3 * e + - "Z" - ); - }, - diamond: function (t) { - var e = Math.sqrt(t / (2 * os)), - r = e * os; - return "M0," + -e + "L" + r + ",0 0," + e + " " + -r + ",0Z"; - }, - square: function (t) { - var e = Math.sqrt(t) / 2; - return ( - "M" + - -e + - "," + - -e + - "L" + - e + - "," + - -e + - " " + - e + - "," + - e + - " " + - -e + - "," + - e + - "Z" - ); - }, - "triangle-down": function (t) { - var e = Math.sqrt(t / as), - r = (e * as) / 2; - return "M0," + r + "L" + e + "," + -r + " " + -e + "," + -r + "Z"; - }, - "triangle-up": function (t) { - var e = Math.sqrt(t / as), - r = (e * as) / 2; - return "M0," + -r + "L" + e + "," + r + " " + -e + "," + r + "Z"; - }, - }); - t.svg.symbolTypes = is.keys(); - var as = Math.sqrt(3), - os = Math.tan(30 * Et); - ((Y.transition = function (t) { - for ( - var e, - r, - n = us || ++ps, - i = ms(t), - a = [], - o = fs || { time: Date.now(), ease: ta, delay: 0, duration: 250 }, - s = -1, - l = this.length; - ++s < l; - - ) { - a.push((e = [])); - for (var c = this[s], u = -1, f = c.length; ++u < f; ) - ((r = c[u]) && vs(r, u, i, n, o), e.push(r)); - } - return cs(a, i, n); - }), - (Y.interrupt = function (t) { - return this.each(null == t ? ss : ls(ms(t))); - })); - var ss = ls(ms()); - function ls(t) { - return function () { - var e, r, n; - (e = this[t]) && - (n = e[(r = e.active)]) && - ((n.timer.c = null), - (n.timer.t = NaN), - --e.count ? delete e[r] : delete this[t], - (e.active += 0.5), - n.event && n.event.interrupt.call(this, this.__data__, n.index)); - }; - } - function cs(t, e, r) { - return (U(t, hs), (t.namespace = e), (t.id = r), t); - } - var us, - fs, - hs = [], - ps = 0; - function ds(t, e, r, n) { - var i = t.id, - a = t.namespace; - return ut( - t, - "function" == typeof r - ? function (t, o, s) { - t[a][i].tween.set(e, n(r.call(t, t.__data__, o, s))); - } - : ((r = n(r)), - function (t) { - t[a][i].tween.set(e, r); - }), - ); - } - function gs(t) { - return ( - null == t && (t = ""), - function () { - this.textContent = t; - } - ); - } - function ms(t) { - return null == t ? "__transition__" : "__transition_" + t + "__"; - } - function vs(t, e, r, n, i) { - var a, - o, - s, - l, - c, - u = t[r] || (t[r] = { active: 0, count: 0 }), - f = u[n]; - function h(r) { - var i = u.active, - h = u[i]; - for (var d in (h && - ((h.timer.c = null), - (h.timer.t = NaN), - --u.count, - delete u[i], - h.event && h.event.interrupt.call(t, t.__data__, h.index)), - u)) - if (+d < n) { - var g = u[d]; - ((g.timer.c = null), (g.timer.t = NaN), --u.count, delete u[d]); - } - ((o.c = p), - Me( - function () { - return (o.c && p(r || 1) && ((o.c = null), (o.t = NaN)), 1); - }, - 0, - a, - ), - (u.active = n), - f.event && f.event.start.call(t, t.__data__, e), - (c = []), - f.tween.forEach(function (r, n) { - (n = n.call(t, t.__data__, e)) && c.push(n); - }), - (l = f.ease), - (s = f.duration)); - } - function p(i) { - for (var a = i / s, o = l(a), h = c.length; h > 0; ) c[--h].call(t, o); - if (a >= 1) - return ( - f.event && f.event.end.call(t, t.__data__, e), - --u.count ? delete u[n] : delete t[r], - 1 - ); - } - f || - ((a = i.time), - (o = Me( - function (t) { - var e = f.delay; - if (((o.t = e + a), e <= t)) return h(t - e); - o.c = h; - }, - 0, - a, - )), - (f = u[n] = - { - tween: new b(), - time: a, - timer: o, - delay: i.delay, - duration: i.duration, - ease: i.ease, - index: e, - }), - (i = null), - ++u.count); - } - ((hs.call = Y.call), - (hs.empty = Y.empty), - (hs.node = Y.node), - (hs.size = Y.size), - (t.transition = function (e, r) { - return e && e.transition - ? us - ? e.transition(r) - : e - : t.selection().transition(e); - }), - (t.transition.prototype = hs), - (hs.select = function (t) { - var e, - r, - n, - i = this.id, - a = this.namespace, - o = []; - t = X(t); - for (var s = -1, l = this.length; ++s < l; ) { - o.push((e = [])); - for (var c = this[s], u = -1, f = c.length; ++u < f; ) - (n = c[u]) && (r = t.call(n, n.__data__, u, s)) - ? ("__data__" in n && (r.__data__ = n.__data__), - vs(r, u, a, i, n[a][i]), - e.push(r)) - : e.push(null); - } - return cs(o, a, i); - }), - (hs.selectAll = function (t) { - var e, - r, - n, - i, - a, - o = this.id, - s = this.namespace, - l = []; - t = Z(t); - for (var c = -1, u = this.length; ++c < u; ) - for (var f = this[c], h = -1, p = f.length; ++h < p; ) - if ((n = f[h])) { - ((a = n[s][o]), - (r = t.call(n, n.__data__, h, c)), - l.push((e = []))); - for (var d = -1, g = r.length; ++d < g; ) - ((i = r[d]) && vs(i, d, s, o, a), e.push(i)); - } - return cs(l, s, o); - }), - (hs.filter = function (t) { - var e, - r, - n = []; - "function" != typeof t && (t = ct(t)); - for (var i = 0, a = this.length; i < a; i++) { - n.push((e = [])); - for (var o, s = 0, l = (o = this[i]).length; s < l; s++) - (r = o[s]) && t.call(r, r.__data__, s, i) && e.push(r); - } - return cs(n, this.namespace, this.id); - }), - (hs.tween = function (t, e) { - var r = this.id, - n = this.namespace; - return arguments.length < 2 - ? this.node()[n][r].tween.get(t) - : ut( - this, - null == e - ? function (e) { - e[n][r].tween.remove(t); - } - : function (i) { - i[n][r].tween.set(t, e); - }, - ); - }), - (hs.attr = function (e, r) { - if (arguments.length < 2) { - for (r in e) this.attr(r, e[r]); - return this; - } - var n = "transform" == e ? fa : Gi, - i = t.ns.qualify(e); - function a() { - this.removeAttribute(i); - } - function o() { - this.removeAttributeNS(i.space, i.local); - } - return ds( - this, - "attr." + e, - r, - i.local - ? function (t) { - return null == t - ? o - : ((t += ""), - function () { - var e, - r = this.getAttributeNS(i.space, i.local); - return ( - r !== t && - ((e = n(r, t)), - function (t) { - this.setAttributeNS(i.space, i.local, e(t)); - }) - ); - }); - } - : function (t) { - return null == t - ? a - : ((t += ""), - function () { - var e, - r = this.getAttribute(i); - return ( - r !== t && - ((e = n(r, t)), - function (t) { - this.setAttribute(i, e(t)); - }) - ); - }); - }, - ); - }), - (hs.attrTween = function (e, r) { - var n = t.ns.qualify(e); - return this.tween( - "attr." + e, - n.local - ? function (t, e) { - var i = r.call( - this, - t, - e, - this.getAttributeNS(n.space, n.local), - ); - return ( - i && - function (t) { - this.setAttributeNS(n.space, n.local, i(t)); - } - ); - } - : function (t, e) { - var i = r.call(this, t, e, this.getAttribute(n)); - return ( - i && - function (t) { - this.setAttribute(n, i(t)); - } - ); - }, - ); - }), - (hs.style = function (t, e, r) { - var n = arguments.length; - if (n < 3) { - if ("string" != typeof t) { - for (r in (n < 2 && (e = ""), t)) this.style(r, t[r], e); - return this; - } - r = ""; - } - function i() { - this.style.removeProperty(t); - } - return ds(this, "style." + t, e, function (e) { - return null == e - ? i - : ((e += ""), - function () { - var n, - i = o(this).getComputedStyle(this, null).getPropertyValue(t); - return ( - i !== e && - ((n = Gi(i, e)), - function (e) { - this.style.setProperty(t, n(e), r); - }) - ); - }); - }); - }), - (hs.styleTween = function (t, e, r) { - return ( - arguments.length < 3 && (r = ""), - this.tween("style." + t, function (n, i) { - var a = e.call( - this, - n, - i, - o(this).getComputedStyle(this, null).getPropertyValue(t), - ); - return ( - a && - function (e) { - this.style.setProperty(t, a(e), r); - } - ); - }) - ); - }), - (hs.text = function (t) { - return ds(this, "text", t, gs); - }), - (hs.remove = function () { - var t = this.namespace; - return this.each("end.transition", function () { - var e; - this[t].count < 2 && (e = this.parentNode) && e.removeChild(this); - }); - }), - (hs.ease = function (e) { - var r = this.id, - n = this.namespace; - return arguments.length < 1 - ? this.node()[n][r].ease - : ("function" != typeof e && (e = t.ease.apply(t, arguments)), - ut(this, function (t) { - t[n][r].ease = e; - })); - }), - (hs.delay = function (t) { - var e = this.id, - r = this.namespace; - return arguments.length < 1 - ? this.node()[r][e].delay - : ut( - this, - "function" == typeof t - ? function (n, i, a) { - n[r][e].delay = +t.call(n, n.__data__, i, a); - } - : ((t = +t), - function (n) { - n[r][e].delay = t; - }), - ); - }), - (hs.duration = function (t) { - var e = this.id, - r = this.namespace; - return arguments.length < 1 - ? this.node()[r][e].duration - : ut( - this, - "function" == typeof t - ? function (n, i, a) { - n[r][e].duration = Math.max(1, t.call(n, n.__data__, i, a)); - } - : ((t = Math.max(1, t)), - function (n) { - n[r][e].duration = t; - }), - ); - }), - (hs.each = function (e, r) { - var n = this.id, - i = this.namespace; - if (arguments.length < 2) { - var a = fs, - o = us; - try { - ((us = n), - ut(this, function (t, r, a) { - ((fs = t[i][n]), e.call(t, t.__data__, r, a)); - })); - } finally { - ((fs = a), (us = o)); - } - } else - ut(this, function (a) { - var o = a[i][n]; - (o.event || (o.event = t.dispatch("start", "end", "interrupt"))).on( - e, - r, - ); - }); - return this; - }), - (hs.transition = function () { - for ( - var t, - e, - r, - n = this.id, - i = ++ps, - a = this.namespace, - o = [], - s = 0, - l = this.length; - s < l; - s++ - ) { - o.push((t = [])); - for (var c, u = 0, f = (c = this[s]).length; u < f; u++) - ((e = c[u]) && - vs(e, u, a, i, { - time: (r = e[a][n]).time, - ease: r.ease, - delay: r.delay + r.duration, - duration: r.duration, - }), - t.push(e)); - } - return cs(o, a, i); - }), - (t.svg.axis = function () { - var e, - r = t.scale.linear(), - i = ys, - a = 6, - o = 6, - s = 3, - l = [10], - c = null; - function u(n) { - n.each(function () { - var n, - u = t.select(this), - f = this.__chart__ || r, - h = (this.__chart__ = r.copy()), - p = null == c ? (h.ticks ? h.ticks.apply(h, l) : h.domain()) : c, - d = null == e ? (h.tickFormat ? h.tickFormat.apply(h, l) : z) : e, - g = u.selectAll(".tick").data(p, h), - m = g - .enter() - .insert("g", ".domain") - .attr("class", "tick") - .style("opacity", kt), - v = t.transition(g.exit()).style("opacity", kt).remove(), - y = t.transition(g.order()).style("opacity", 1), - x = Math.max(a, 0) + s, - b = oo(h), - _ = u.selectAll(".domain").data([0]), - w = - (_.enter().append("path").attr("class", "domain"), - t.transition(_)); - (m.append("line"), m.append("text")); - var k, - M, - A, - T, - S = m.select("line"), - C = y.select("line"), - E = g.select("text").text(d), - L = m.select("text"), - P = y.select("text"), - D = "top" === i || "left" === i ? -1 : 1; - if ( - ("bottom" === i || "top" === i - ? ((n = bs), - (k = "x"), - (A = "y"), - (M = "x2"), - (T = "y2"), - E.attr("dy", D < 0 ? "0em" : ".71em").style( - "text-anchor", - "middle", - ), - w.attr( - "d", - "M" + b[0] + "," + D * o + "V0H" + b[1] + "V" + D * o, - )) - : ((n = _s), - (k = "y"), - (A = "x"), - (M = "y2"), - (T = "x2"), - E.attr("dy", ".32em").style( - "text-anchor", - D < 0 ? "end" : "start", - ), - w.attr( - "d", - "M" + D * o + "," + b[0] + "H0V" + b[1] + "H" + D * o, - )), - S.attr(T, D * a), - L.attr(A, D * x), - C.attr(M, 0).attr(T, D * a), - P.attr(k, 0).attr(A, D * x), - h.rangeBand) - ) { - var O = h, - I = O.rangeBand() / 2; - f = h = function (t) { - return O(t) + I; - }; - } else f.rangeBand ? (f = h) : v.call(n, h, f); - (m.call(n, f, h), y.call(n, h, h)); - }); - } - return ( - (u.scale = function (t) { - return arguments.length ? ((r = t), u) : r; - }), - (u.orient = function (t) { - return arguments.length ? ((i = t in xs ? t + "" : ys), u) : i; - }), - (u.ticks = function () { - return arguments.length ? ((l = n(arguments)), u) : l; - }), - (u.tickValues = function (t) { - return arguments.length ? ((c = t), u) : c; - }), - (u.tickFormat = function (t) { - return arguments.length ? ((e = t), u) : e; - }), - (u.tickSize = function (t) { - var e = arguments.length; - return e ? ((a = +t), (o = +arguments[e - 1]), u) : a; - }), - (u.innerTickSize = function (t) { - return arguments.length ? ((a = +t), u) : a; - }), - (u.outerTickSize = function (t) { - return arguments.length ? ((o = +t), u) : o; - }), - (u.tickPadding = function (t) { - return arguments.length ? ((s = +t), u) : s; - }), - (u.tickSubdivide = function () { - return arguments.length && u; - }), - u - ); - })); - var ys = "bottom", - xs = { top: 1, right: 1, bottom: 1, left: 1 }; - function bs(t, e, r) { - t.attr("transform", function (t) { - var n = e(t); - return "translate(" + (isFinite(n) ? n : r(t)) + ",0)"; - }); - } - function _s(t, e, r) { - t.attr("transform", function (t) { - var n = e(t); - return "translate(0," + (isFinite(n) ? n : r(t)) + ")"; - }); - } - t.svg.brush = function () { - var e, - r, - n = j(h, "brushstart", "brush", "brushend"), - i = null, - a = null, - s = [0, 0], - l = [0, 0], - c = !0, - u = !0, - f = ks[0]; - function h(e) { - e.each(function () { - var e = t - .select(this) - .style("pointer-events", "all") - .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") - .on("mousedown.brush", m) - .on("touchstart.brush", m), - r = e.selectAll(".background").data([0]); - (r - .enter() - .append("rect") - .attr("class", "background") - .style("visibility", "hidden") - .style("cursor", "crosshair"), - e - .selectAll(".extent") - .data([0]) - .enter() - .append("rect") - .attr("class", "extent") - .style("cursor", "move")); - var n = e.selectAll(".resize").data(f, z); - (n.exit().remove(), - n - .enter() - .append("g") - .attr("class", function (t) { - return "resize " + t; - }) - .style("cursor", function (t) { - return ws[t]; - }) - .append("rect") - .attr("x", function (t) { - return /[ew]$/.test(t) ? -3 : null; - }) - .attr("y", function (t) { - return /^[ns]/.test(t) ? -3 : null; - }) - .attr("width", 6) - .attr("height", 6) - .style("visibility", "hidden"), - n.style("display", h.empty() ? "none" : null)); - var o, - s = t.transition(e), - l = t.transition(r); - (i && - ((o = oo(i)), l.attr("x", o[0]).attr("width", o[1] - o[0]), d(s)), - a && - ((o = oo(a)), - l.attr("y", o[0]).attr("height", o[1] - o[0]), - g(s)), - p(s)); - }); - } - function p(t) { - t.selectAll(".resize").attr("transform", function (t) { - return "translate(" + s[+/e$/.test(t)] + "," + l[+/^s/.test(t)] + ")"; - }); - } - function d(t) { - (t.select(".extent").attr("x", s[0]), - t.selectAll(".extent,.n>rect,.s>rect").attr("width", s[1] - s[0])); - } - function g(t) { - (t.select(".extent").attr("y", l[0]), - t.selectAll(".extent,.e>rect,.w>rect").attr("height", l[1] - l[0])); - } - function m() { - var f, - m, - v = this, - y = t.select(t.event.target), - x = n.of(v, arguments), - b = t.select(v), - _ = y.datum(), - w = !/^(n|s)$/.test(_) && i, - k = !/^(e|w)$/.test(_) && a, - M = y.classed("extent"), - A = xt(v), - T = t.mouse(v), - S = t - .select(o(v)) - .on("keydown.brush", function () { - 32 == t.event.keyCode && - (M || ((f = null), (T[0] -= s[1]), (T[1] -= l[1]), (M = 2)), - F()); - }) - .on("keyup.brush", function () { - 32 == t.event.keyCode && - 2 == M && - ((T[0] += s[1]), (T[1] += l[1]), (M = 0), F()); - }); - if ( - (t.event.changedTouches - ? S.on("touchmove.brush", L).on("touchend.brush", P) - : S.on("mousemove.brush", L).on("mouseup.brush", P), - b.interrupt().selectAll("*").interrupt(), - M) - ) - ((T[0] = s[0] - T[0]), (T[1] = l[0] - T[1])); - else if (_) { - var C = +/w$/.test(_), - E = +/^n/.test(_); - ((m = [s[1 - C] - T[0], l[1 - E] - T[1]]), - (T[0] = s[C]), - (T[1] = l[E])); - } else t.event.altKey && (f = T.slice()); - function L() { - var e = t.mouse(v), - r = !1; - (m && ((e[0] += m[0]), (e[1] += m[1])), - M || - (t.event.altKey - ? (f || (f = [(s[0] + s[1]) / 2, (l[0] + l[1]) / 2]), - (T[0] = s[+(e[0] < f[0])]), - (T[1] = l[+(e[1] < f[1])])) - : (f = null)), - w && z(e, i, 0) && (d(b), (r = !0)), - k && z(e, a, 1) && (g(b), (r = !0)), - r && (p(b), x({ type: "brush", mode: M ? "move" : "resize" }))); - } - function z(t, n, i) { - var a, - o, - h = oo(n), - p = h[0], - d = h[1], - g = T[i], - m = i ? l : s, - v = m[1] - m[0]; - if ( - (M && ((p -= g), (d -= v + g)), - (a = (i ? u : c) ? Math.max(p, Math.min(d, t[i])) : t[i]), - M - ? (o = (a += g) + v) - : (f && (g = Math.max(p, Math.min(d, 2 * f[i] - a))), - g < a ? ((o = a), (a = g)) : (o = g)), - m[0] != a || m[1] != o) - ) - return (i ? (r = null) : (e = null), (m[0] = a), (m[1] = o), !0); - } - function P() { - (L(), - b - .style("pointer-events", "all") - .selectAll(".resize") - .style("display", h.empty() ? "none" : null), - t.select("body").style("cursor", null), - S.on("mousemove.brush", null) - .on("mouseup.brush", null) - .on("touchmove.brush", null) - .on("touchend.brush", null) - .on("keydown.brush", null) - .on("keyup.brush", null), - A(), - x({ type: "brushend" })); - } - (b - .style("pointer-events", "none") - .selectAll(".resize") - .style("display", null), - t.select("body").style("cursor", y.style("cursor")), - x({ type: "brushstart" }), - L()); - } - return ( - (h.event = function (i) { - i.each(function () { - var i = n.of(this, arguments), - a = { x: s, y: l, i: e, j: r }, - o = this.__chart__ || a; - ((this.__chart__ = a), - us - ? t - .select(this) - .transition() - .each("start.brush", function () { - ((e = o.i), - (r = o.j), - (s = o.x), - (l = o.y), - i({ type: "brushstart" })); - }) - .tween("brush:brush", function () { - var t = Wi(s, a.x), - n = Wi(l, a.y); - return ( - (e = r = null), - function (e) { - ((s = a.x = t(e)), - (l = a.y = n(e)), - i({ type: "brush", mode: "resize" })); - } - ); - }) - .each("end.brush", function () { - ((e = a.i), - (r = a.j), - i({ type: "brush", mode: "resize" }), - i({ type: "brushend" })); - }) - : (i({ type: "brushstart" }), - i({ type: "brush", mode: "resize" }), - i({ type: "brushend" }))); - }); - }), - (h.x = function (t) { - return arguments.length ? ((f = ks[(!(i = t) << 1) | !a]), h) : i; - }), - (h.y = function (t) { - return arguments.length ? ((f = ks[(!i << 1) | !(a = t)]), h) : a; - }), - (h.clamp = function (t) { - return arguments.length - ? (i && a - ? ((c = !!t[0]), (u = !!t[1])) - : i - ? (c = !!t) - : a && (u = !!t), - h) - : i && a - ? [c, u] - : i - ? c - : a - ? u - : null; - }), - (h.extent = function (t) { - var n, o, c, u, f; - return arguments.length - ? (i && - ((n = t[0]), - (o = t[1]), - a && ((n = n[0]), (o = o[0])), - (e = [n, o]), - i.invert && ((n = i(n)), (o = i(o))), - o < n && ((f = n), (n = o), (o = f)), - (n == s[0] && o == s[1]) || (s = [n, o])), - a && - ((c = t[0]), - (u = t[1]), - i && ((c = c[1]), (u = u[1])), - (r = [c, u]), - a.invert && ((c = a(c)), (u = a(u))), - u < c && ((f = c), (c = u), (u = f)), - (c == l[0] && u == l[1]) || (l = [c, u])), - h) - : (i && - (e - ? ((n = e[0]), (o = e[1])) - : ((n = s[0]), - (o = s[1]), - i.invert && ((n = i.invert(n)), (o = i.invert(o))), - o < n && ((f = n), (n = o), (o = f)))), - a && - (r - ? ((c = r[0]), (u = r[1])) - : ((c = l[0]), - (u = l[1]), - a.invert && ((c = a.invert(c)), (u = a.invert(u))), - u < c && ((f = c), (c = u), (u = f)))), - i && a - ? [ - [n, c], - [o, u], - ] - : i - ? [n, o] - : a && [c, u]); - }), - (h.clear = function () { - return (h.empty() || ((s = [0, 0]), (l = [0, 0]), (e = r = null)), h); - }), - (h.empty = function () { - return (!!i && s[0] == s[1]) || (!!a && l[0] == l[1]); - }), - t.rebind(h, n, "on") - ); - }; - var ws = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize", - }, - ks = [ - ["n", "e", "s", "w", "nw", "ne", "se", "sw"], - ["e", "w"], - ["n", "s"], - [], - ], - Ms = (De.format = sr.timeFormat), - As = Ms.utc, - Ts = As("%Y-%m-%dT%H:%M:%S.%LZ"); - function Ss(t) { - return t.toISOString(); - } - function Cs(e, r, n) { - function i(t) { - return e(t); - } - function a(e, n) { - var i = (e[1] - e[0]) / n, - a = t.bisect(Ls, i); - return a == Ls.length - ? [ - r.year, - go( - e.map(function (t) { - return t / 31536e6; - }), - n, - )[2], - ] - : a - ? r[i / Ls[a - 1] < Ls[a] / i ? a - 1 : a] - : [Ds, go(e, n)[2]]; - } - return ( - (i.invert = function (t) { - return Es(e.invert(t)); - }), - (i.domain = function (t) { - return arguments.length ? (e.domain(t), i) : e.domain().map(Es); - }), - (i.nice = function (t, e) { - var r = i.domain(), - n = ao(r), - o = null == t ? a(n, 10) : "number" == typeof t && a(n, t); - function s(r) { - return !isNaN(r) && !t.range(r, Es(+r + 1), e).length; - } - return ( - o && ((t = o[0]), (e = o[1])), - i.domain( - lo( - r, - e > 1 - ? { - floor: function (e) { - for (; s((e = t.floor(e))); ) e = Es(e - 1); - return e; - }, - ceil: function (e) { - for (; s((e = t.ceil(e))); ) e = Es(+e + 1); - return e; - }, - } - : t, - ), - ) - ); - }), - (i.ticks = function (t, e) { - var r = ao(i.domain()), - n = - null == t - ? a(r, 10) - : "number" == typeof t - ? a(r, t) - : !t.range && [{ range: t }, e]; - return ( - n && ((t = n[0]), (e = n[1])), - t.range(r[0], Es(+r[1] + 1), e < 1 ? 1 : e) - ); - }), - (i.tickFormat = function () { - return n; - }), - (i.copy = function () { - return Cs(e.copy(), r, n); - }), - ho(i, e) - ); - } - function Es(t) { - return new Date(t); - } - ((Ms.iso = - Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") - ? Ss - : Ts), - (Ss.parse = function (t) { - var e = new Date(t); - return isNaN(e) ? null : e; - }), - (Ss.toString = Ts.toString), - (De.second = Be( - function (t) { - return new Oe(1e3 * Math.floor(t / 1e3)); - }, - function (t, e) { - t.setTime(t.getTime() + 1e3 * Math.floor(e)); - }, - function (t) { - return t.getSeconds(); - }, - )), - (De.seconds = De.second.range), - (De.seconds.utc = De.second.utc.range), - (De.minute = Be( - function (t) { - return new Oe(6e4 * Math.floor(t / 6e4)); - }, - function (t, e) { - t.setTime(t.getTime() + 6e4 * Math.floor(e)); - }, - function (t) { - return t.getMinutes(); - }, - )), - (De.minutes = De.minute.range), - (De.minutes.utc = De.minute.utc.range), - (De.hour = Be( - function (t) { - var e = t.getTimezoneOffset() / 60; - return new Oe(36e5 * (Math.floor(t / 36e5 - e) + e)); - }, - function (t, e) { - t.setTime(t.getTime() + 36e5 * Math.floor(e)); - }, - function (t) { - return t.getHours(); - }, - )), - (De.hours = De.hour.range), - (De.hours.utc = De.hour.utc.range), - (De.month = Be( - function (t) { - return ((t = De.day(t)).setDate(1), t); - }, - function (t, e) { - t.setMonth(t.getMonth() + e); - }, - function (t) { - return t.getMonth(); - }, - )), - (De.months = De.month.range), - (De.months.utc = De.month.utc.range)); - var Ls = [ - 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, - 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6, - ], - zs = [ - [De.second, 1], - [De.second, 5], - [De.second, 15], - [De.second, 30], - [De.minute, 1], - [De.minute, 5], - [De.minute, 15], - [De.minute, 30], - [De.hour, 1], - [De.hour, 3], - [De.hour, 6], - [De.hour, 12], - [De.day, 1], - [De.day, 2], - [De.week, 1], - [De.month, 1], - [De.month, 3], - [De.year, 1], - ], - Ps = Ms.multi([ - [ - ".%L", - function (t) { - return t.getMilliseconds(); - }, - ], - [ - ":%S", - function (t) { - return t.getSeconds(); - }, - ], - [ - "%I:%M", - function (t) { - return t.getMinutes(); - }, - ], - [ - "%I %p", - function (t) { - return t.getHours(); - }, - ], - [ - "%a %d", - function (t) { - return t.getDay() && 1 != t.getDate(); - }, - ], - [ - "%b %d", - function (t) { - return 1 != t.getDate(); - }, - ], - [ - "%B", - function (t) { - return t.getMonth(); - }, - ], - ["%Y", Wr], - ]), - Ds = { - range: function (e, r, n) { - return t.range(Math.ceil(e / n) * n, +r, n).map(Es); - }, - floor: z, - ceil: z, - }; - ((zs.year = De.year), - (De.scale = function () { - return Cs(t.scale.linear(), zs, Ps); - })); - var Os = zs.map(function (t) { - return [t[0].utc, t[1]]; - }), - Is = As.multi([ - [ - ".%L", - function (t) { - return t.getUTCMilliseconds(); - }, - ], - [ - ":%S", - function (t) { - return t.getUTCSeconds(); - }, - ], - [ - "%I:%M", - function (t) { - return t.getUTCMinutes(); - }, - ], - [ - "%I %p", - function (t) { - return t.getUTCHours(); - }, - ], - [ - "%a %d", - function (t) { - return t.getUTCDay() && 1 != t.getUTCDate(); - }, - ], - [ - "%b %d", - function (t) { - return 1 != t.getUTCDate(); - }, - ], - [ - "%B", - function (t) { - return t.getUTCMonth(); - }, - ], - ["%Y", Wr], - ]); - function Rs(t) { - return JSON.parse(t.responseText); - } - function Bs(t) { - var e = i.createRange(); - return (e.selectNode(i.body), e.createContextualFragment(t.responseText)); - } - ((Os.year = De.year.utc), - (De.scale.utc = function () { - return Cs(t.scale.linear(), Os, Is); - }), - (t.text = ve(function (t) { - return t.responseText; - })), - (t.json = function (t, e) { - return ye(t, "application/json", Rs, e); - }), - (t.html = function (t, e) { - return ye(t, "text/html", Bs, e); - }), - (t.xml = ve(function (t) { - return t.responseXML; - })), - "object" == typeof e && e.exports ? (e.exports = t) : (this.d3 = t)); - })(); - }, - {}, - ], - 131: [ - function (t, e, r) { - e.exports = function () { - for (var t = 0; t < arguments.length; t++) - if (void 0 !== arguments[t]) return arguments[t]; - }; - }, - {}, - ], - 132: [ - function (t, e, r) { - "use strict"; - var n = t("incremental-convex-hull"), - i = t("uniq"); - function a(t, e) { - ((this.point = t), (this.index = e)); - } - function o(t, e) { - for (var r = t.point, n = e.point, i = r.length, a = 0; a < i; ++a) { - var o = n[a] - r[a]; - if (o) return o; - } - return 0; - } - e.exports = function (t, e) { - var r = t.length; - if (0 === r) return []; - var s = t[0].length; - if (s < 1) return []; - if (1 === s) - return (function (t, e, r) { - if (1 === t) return r ? [[-1, 0]] : []; - var n = e.map(function (t, e) { - return [t[0], e]; - }); - n.sort(function (t, e) { - return t[0] - e[0]; - }); - for (var i = new Array(t - 1), a = 1; a < t; ++a) { - var o = n[a - 1], - s = n[a]; - i[a - 1] = [o[1], s[1]]; - } - r && i.push([-1, i[0][1]], [i[t - 1][1], -1]); - return i; - })(r, t, e); - for (var l = new Array(r), c = 1, u = 0; u < r; ++u) { - for (var f = t[u], h = new Array(s + 1), p = 0, d = 0; d < s; ++d) { - var g = f[d]; - ((h[d] = g), (p += g * g)); - } - ((h[s] = p), (l[u] = new a(h, u)), (c = Math.max(p, c))); - } - (i(l, o), (r = l.length)); - for ( - var m = new Array(r + s + 1), - v = new Array(r + s + 1), - y = (s + 1) * (s + 1) * c, - x = new Array(s + 1), - u = 0; - u <= s; - ++u - ) - x[u] = 0; - ((x[s] = y), (m[0] = x.slice()), (v[0] = -1)); - for (var u = 0; u <= s; ++u) { - var h = x.slice(); - ((h[u] = 1), (m[u + 1] = h), (v[u + 1] = -1)); - } - for (var u = 0; u < r; ++u) { - var b = l[u]; - ((m[u + s + 1] = b.point), (v[u + s + 1] = b.index)); - } - var _ = n(m, !1); - _ = e - ? _.filter(function (t) { - for (var e = 0, r = 0; r <= s; ++r) { - var n = v[t[r]]; - if (n < 0 && ++e >= 2) return !1; - t[r] = n; - } - return !0; - }) - : _.filter(function (t) { - for (var e = 0; e <= s; ++e) { - var r = v[t[e]]; - if (r < 0) return !1; - t[e] = r; - } - return !0; - }); - if (1 & s) - for (var u = 0; u < _.length; ++u) { - var b = _[u], - h = b[0]; - ((b[0] = b[1]), (b[1] = h)); - } - return _; - }; - }, - { "incremental-convex-hull": 299, uniq: 425 }, - ], - 133: [ - function (t, e, r) { - (function (t) { - var r = !1; - if ("undefined" != typeof Float64Array) { - var n = new Float64Array(1), - i = new Uint32Array(n.buffer); - if (((n[0] = 1), (r = !0), 1072693248 === i[1])) { - ((e.exports = function (t) { - return ((n[0] = t), [i[0], i[1]]); - }), - (e.exports.pack = function (t, e) { - return ((i[0] = t), (i[1] = e), n[0]); - }), - (e.exports.lo = function (t) { - return ((n[0] = t), i[0]); - }), - (e.exports.hi = function (t) { - return ((n[0] = t), i[1]); - })); - } else if (1072693248 === i[0]) { - ((e.exports = function (t) { - return ((n[0] = t), [i[1], i[0]]); - }), - (e.exports.pack = function (t, e) { - return ((i[1] = t), (i[0] = e), n[0]); - }), - (e.exports.lo = function (t) { - return ((n[0] = t), i[1]); - }), - (e.exports.hi = function (t) { - return ((n[0] = t), i[0]); - })); - } else r = !1; - } - if (!r) { - var a = new t(8); - ((e.exports = function (t) { - return ( - a.writeDoubleLE(t, 0, !0), - [a.readUInt32LE(0, !0), a.readUInt32LE(4, !0)] - ); - }), - (e.exports.pack = function (t, e) { - return ( - a.writeUInt32LE(t, 0, !0), - a.writeUInt32LE(e, 4, !0), - a.readDoubleLE(0, !0) - ); - }), - (e.exports.lo = function (t) { - return (a.writeDoubleLE(t, 0, !0), a.readUInt32LE(0, !0)); - }), - (e.exports.hi = function (t) { - return (a.writeDoubleLE(t, 0, !0), a.readUInt32LE(4, !0)); - })); - } - ((e.exports.sign = function (t) { - return e.exports.hi(t) >>> 31; - }), - (e.exports.exponent = function (t) { - return ((e.exports.hi(t) << 1) >>> 21) - 1023; - }), - (e.exports.fraction = function (t) { - var r = e.exports.lo(t), - n = e.exports.hi(t), - i = 1048575 & n; - return (2146435072 & n && (i += 1 << 20), [r, i]); - }), - (e.exports.denormalized = function (t) { - return !(2146435072 & e.exports.hi(t)); - })); - }).call(this, t("buffer").Buffer); - }, - { buffer: 85 }, - ], - 134: [ - function (t, e, r) { - var n = t("abs-svg-path"), - i = t("normalize-svg-path"), - a = { M: "moveTo", C: "bezierCurveTo" }; - e.exports = function (t, e) { - (t.beginPath(), - i(n(e)).forEach(function (e) { - var r = e[0], - n = e.slice(1); - t[a[r]].apply(t, n); - }), - t.closePath()); - }; - }, - { "abs-svg-path": 44, "normalize-svg-path": 337 }, - ], - 135: [ - function (t, e, r) { - e.exports = function (t) { - switch (t) { - case "int8": - return Int8Array; - case "int16": - return Int16Array; - case "int32": - return Int32Array; - case "uint8": - return Uint8Array; - case "uint16": - return Uint16Array; - case "uint32": - return Uint32Array; - case "float32": - return Float32Array; - case "float64": - return Float64Array; - case "array": - return Array; - case "uint8_clamped": - return Uint8ClampedArray; - } - }; - }, - {}, - ], - 136: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - switch ((void 0 === e && (e = 0), typeof t)) { - case "number": - if (t > 0) - return (function (t, e) { - var r, n; - for (r = new Array(t), n = 0; n < t; ++n) r[n] = e; - return r; - })(0 | t, e); - break; - case "object": - if ("number" == typeof t.length) - return (function t(e, r, n) { - var i = 0 | e[n]; - if (i <= 0) return []; - var a, - o = new Array(i); - if (n === e.length - 1) for (a = 0; a < i; ++a) o[a] = r; - else for (a = 0; a < i; ++a) o[a] = t(e, r, n + 1); - return o; - })(t, e, 0); - } - return []; - }; - }, - {}, - ], - 137: [ - function (t, e, r) { - "use strict"; - function n(t, e, r) { - r = r || 2; - var n, - s, - l, - c, - u, - p, - g, - m = e && e.length, - v = m ? e[0] * r : t.length, - y = i(t, 0, v, r, !0), - x = []; - if (!y) return x; - if ( - (m && - (y = (function (t, e, r, n) { - var o, - s, - l, - c, - u, - p = []; - for (o = 0, s = e.length; o < s; o++) - ((l = e[o] * n), - (c = o < s - 1 ? e[o + 1] * n : t.length), - (u = i(t, l, c, n, !1)) === u.next && (u.steiner = !0), - p.push(d(u))); - for (p.sort(f), o = 0; o < p.length; o++) - (h(p[o], r), (r = a(r, r.next))); - return r; - })(t, e, y, r)), - t.length > 80 * r) - ) { - ((n = l = t[0]), (s = c = t[1])); - for (var b = r; b < v; b += r) - ((u = t[b]), - (p = t[b + 1]), - u < n && (n = u), - p < s && (s = p), - u > l && (l = u), - p > c && (c = p)); - g = 0 !== (g = Math.max(l - n, c - s)) ? 1 / g : 0; - } - return (o(y, x, r, n, s, g), x); - } - function i(t, e, r, n, i) { - var a, o; - if (i === A(t, e, r, n) > 0) - for (a = e; a < r; a += n) o = w(a, t[a], t[a + 1], o); - else for (a = r - n; a >= e; a -= n) o = w(a, t[a], t[a + 1], o); - return (o && y(o, o.next) && (k(o), (o = o.next)), o); - } - function a(t, e) { - if (!t) return t; - e || (e = t); - var r, - n = t; - do { - if ( - ((r = !1), n.steiner || (!y(n, n.next) && 0 !== v(n.prev, n, n.next))) - ) - n = n.next; - else { - if ((k(n), (n = e = n.prev) === n.next)) break; - r = !0; - } - } while (r || n !== e); - return e; - } - function o(t, e, r, n, i, f, h) { - if (t) { - !h && - f && - (function (t, e, r, n) { - var i = t; - do { - (null === i.z && (i.z = p(i.x, i.y, e, r, n)), - (i.prevZ = i.prev), - (i.nextZ = i.next), - (i = i.next)); - } while (i !== t); - ((i.prevZ.nextZ = null), - (i.prevZ = null), - (function (t) { - var e, - r, - n, - i, - a, - o, - s, - l, - c = 1; - do { - for (r = t, t = null, a = null, o = 0; r; ) { - for ( - o++, n = r, s = 0, e = 0; - e < c && (s++, (n = n.nextZ)); - e++ - ); - for (l = c; s > 0 || (l > 0 && n); ) - (0 !== s && (0 === l || !n || r.z <= n.z) - ? ((i = r), (r = r.nextZ), s--) - : ((i = n), (n = n.nextZ), l--), - a ? (a.nextZ = i) : (t = i), - (i.prevZ = a), - (a = i)); - r = n; - } - ((a.nextZ = null), (c *= 2)); - } while (o > 1); - })(i)); - })(t, n, i, f); - for (var d, g, m = t; t.prev !== t.next; ) - if (((d = t.prev), (g = t.next), f ? l(t, n, i, f) : s(t))) - (e.push(d.i / r), - e.push(t.i / r), - e.push(g.i / r), - k(t), - (t = g.next), - (m = g.next)); - else if ((t = g) === m) { - h - ? 1 === h - ? o((t = c(t, e, r)), e, r, n, i, f, 2) - : 2 === h && u(t, e, r, n, i, f) - : o(a(t), e, r, n, i, f, 1); - break; - } - } - } - function s(t) { - var e = t.prev, - r = t, - n = t.next; - if (v(e, r, n) >= 0) return !1; - for (var i = t.next.next; i !== t.prev; ) { - if ( - g(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && - v(i.prev, i, i.next) >= 0 - ) - return !1; - i = i.next; - } - return !0; - } - function l(t, e, r, n) { - var i = t.prev, - a = t, - o = t.next; - if (v(i, a, o) >= 0) return !1; - for ( - var s = i.x < a.x ? (i.x < o.x ? i.x : o.x) : a.x < o.x ? a.x : o.x, - l = i.y < a.y ? (i.y < o.y ? i.y : o.y) : a.y < o.y ? a.y : o.y, - c = i.x > a.x ? (i.x > o.x ? i.x : o.x) : a.x > o.x ? a.x : o.x, - u = i.y > a.y ? (i.y > o.y ? i.y : o.y) : a.y > o.y ? a.y : o.y, - f = p(s, l, e, r, n), - h = p(c, u, e, r, n), - d = t.prevZ, - m = t.nextZ; - d && d.z >= f && m && m.z <= h; - - ) { - if ( - d !== t.prev && - d !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && - v(d.prev, d, d.next) >= 0 - ) - return !1; - if ( - ((d = d.prevZ), - m !== t.prev && - m !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && - v(m.prev, m, m.next) >= 0) - ) - return !1; - m = m.nextZ; - } - for (; d && d.z >= f; ) { - if ( - d !== t.prev && - d !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && - v(d.prev, d, d.next) >= 0 - ) - return !1; - d = d.prevZ; - } - for (; m && m.z <= h; ) { - if ( - m !== t.prev && - m !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && - v(m.prev, m, m.next) >= 0 - ) - return !1; - m = m.nextZ; - } - return !0; - } - function c(t, e, r) { - var n = t; - do { - var i = n.prev, - a = n.next.next; - (!y(i, a) && - x(i, n, n.next, a) && - b(i, a) && - b(a, i) && - (e.push(i.i / r), - e.push(n.i / r), - e.push(a.i / r), - k(n), - k(n.next), - (n = t = a)), - (n = n.next)); - } while (n !== t); - return n; - } - function u(t, e, r, n, i, s) { - var l = t; - do { - for (var c = l.next.next; c !== l.prev; ) { - if (l.i !== c.i && m(l, c)) { - var u = _(l, c); - return ( - (l = a(l, l.next)), - (u = a(u, u.next)), - o(l, e, r, n, i, s), - void o(u, e, r, n, i, s) - ); - } - c = c.next; - } - l = l.next; - } while (l !== t); - } - function f(t, e) { - return t.x - e.x; - } - function h(t, e) { - if ( - (e = (function (t, e) { - var r, - n = e, - i = t.x, - a = t.y, - o = -1 / 0; - do { - if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { - var s = n.x + ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); - if (s <= i && s > o) { - if (((o = s), s === i)) { - if (a === n.y) return n; - if (a === n.next.y) return n.next; - } - r = n.x < n.next.x ? n : n.next; - } - } - n = n.next; - } while (n !== e); - if (!r) return null; - if (i === o) return r.prev; - var l, - c = r, - u = r.x, - f = r.y, - h = 1 / 0; - n = r.next; - for (; n !== c; ) - (i >= n.x && - n.x >= u && - i !== n.x && - g(a < f ? i : o, a, u, f, a < f ? o : i, a, n.x, n.y) && - ((l = Math.abs(a - n.y) / (i - n.x)) < h || - (l === h && n.x > r.x)) && - b(n, t) && - ((r = n), (h = l)), - (n = n.next)); - return r; - })(t, e)) - ) { - var r = _(e, t); - a(r, r.next); - } - } - function p(t, e, r, n, i) { - return ( - (t = - 1431655765 & - ((t = - 858993459 & - ((t = - 252645135 & - ((t = 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | - (t << 4))) | - (t << 2))) | - (t << 1))) | - ((e = - 1431655765 & - ((e = - 858993459 & - ((e = - 252645135 & - ((e = 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | - (e << 4))) | - (e << 2))) | - (e << 1))) << - 1) - ); - } - function d(t) { - var e = t, - r = t; - do { - (e.x < r.x && (r = e), (e = e.next)); - } while (e !== t); - return r; - } - function g(t, e, r, n, i, a, o, s) { - return ( - (i - o) * (e - s) - (t - o) * (a - s) >= 0 && - (t - o) * (n - s) - (r - o) * (e - s) >= 0 && - (r - o) * (a - s) - (i - o) * (n - s) >= 0 - ); - } - function m(t, e) { - return ( - t.next.i !== e.i && - t.prev.i !== e.i && - !(function (t, e) { - var r = t; - do { - if ( - r.i !== t.i && - r.next.i !== t.i && - r.i !== e.i && - r.next.i !== e.i && - x(r, r.next, t, e) - ) - return !0; - r = r.next; - } while (r !== t); - return !1; - })(t, e) && - b(t, e) && - b(e, t) && - (function (t, e) { - var r = t, - n = !1, - i = (t.x + e.x) / 2, - a = (t.y + e.y) / 2; - do { - (r.y > a != r.next.y > a && - r.next.y !== r.y && - i < ((r.next.x - r.x) * (a - r.y)) / (r.next.y - r.y) + r.x && - (n = !n), - (r = r.next)); - } while (r !== t); - return n; - })(t, e) - ); - } - function v(t, e, r) { - return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); - } - function y(t, e) { - return t.x === e.x && t.y === e.y; - } - function x(t, e, r, n) { - return ( - !!((y(t, e) && y(r, n)) || (y(t, n) && y(r, e))) || - (v(t, e, r) > 0 != v(t, e, n) > 0 && v(r, n, t) > 0 != v(r, n, e) > 0) - ); - } - function b(t, e) { - return v(t.prev, t, t.next) < 0 - ? v(t, e, t.next) >= 0 && v(t, t.prev, e) >= 0 - : v(t, e, t.prev) < 0 || v(t, t.next, e) < 0; - } - function _(t, e) { - var r = new M(t.i, t.x, t.y), - n = new M(e.i, e.x, e.y), - i = t.next, - a = e.prev; - return ( - (t.next = e), - (e.prev = t), - (r.next = i), - (i.prev = r), - (n.next = r), - (r.prev = n), - (a.next = n), - (n.prev = a), - n - ); - } - function w(t, e, r, n) { - var i = new M(t, e, r); - return ( - n - ? ((i.next = n.next), (i.prev = n), (n.next.prev = i), (n.next = i)) - : ((i.prev = i), (i.next = i)), - i - ); - } - function k(t) { - ((t.next.prev = t.prev), - (t.prev.next = t.next), - t.prevZ && (t.prevZ.nextZ = t.nextZ), - t.nextZ && (t.nextZ.prevZ = t.prevZ)); - } - function M(t, e, r) { - ((this.i = t), - (this.x = e), - (this.y = r), - (this.prev = null), - (this.next = null), - (this.z = null), - (this.prevZ = null), - (this.nextZ = null), - (this.steiner = !1)); - } - function A(t, e, r, n) { - for (var i = 0, a = e, o = r - n; a < r; a += n) - ((i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a)); - return i; - } - ((e.exports = n), - (e.exports.default = n), - (n.deviation = function (t, e, r, n) { - var i = e && e.length, - a = i ? e[0] * r : t.length, - o = Math.abs(A(t, 0, a, r)); - if (i) - for (var s = 0, l = e.length; s < l; s++) { - var c = e[s] * r, - u = s < l - 1 ? e[s + 1] * r : t.length; - o -= Math.abs(A(t, c, u, r)); - } - var f = 0; - for (s = 0; s < n.length; s += 3) { - var h = n[s] * r, - p = n[s + 1] * r, - d = n[s + 2] * r; - f += Math.abs( - (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - - (t[h] - t[p]) * (t[d + 1] - t[h + 1]), - ); - } - return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); - }), - (n.flatten = function (t) { - for ( - var e = t[0][0].length, - r = { vertices: [], holes: [], dimensions: e }, - n = 0, - i = 0; - i < t.length; - i++ - ) { - for (var a = 0; a < t[i].length; a++) - for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); - i > 0 && ((n += t[i - 1].length), r.holes.push(n)); - } - return r; - })); - }, - {}, - ], - 138: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = t.length; - if ("number" != typeof e) { - e = 0; - for (var i = 0; i < r; ++i) { - var a = t[i]; - e = Math.max(e, a[0], a[1]); - } - e = 1 + (0 | e); - } - e |= 0; - for (var o = new Array(e), i = 0; i < e; ++i) o[i] = []; - for (var i = 0; i < r; ++i) { - var a = t[i]; - (o[a[0]].push(a[1]), o[a[1]].push(a[0])); - } - for (var s = 0; s < e; ++s) - n(o[s], function (t, e) { - return t - e; - }); - return o; - }; - var n = t("uniq"); - }, - { uniq: 425 }, - ], - 139: [ - function (t, e, r) { - "use strict"; - var n = t("../../object/valid-value"); - e.exports = function () { - return ((n(this).length = 0), this); - }; - }, - { "../../object/valid-value": 171 }, - ], - 140: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Array.from : t("./shim"); - }, - { "./is-implemented": 141, "./shim": 142 }, - ], - 141: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - var t, - e, - r = Array.from; - return ( - "function" == typeof r && - ((e = r((t = ["raz", "dwa"]))), Boolean(e && e !== t && "dwa" === e[1])) - ); - }; - }, - {}, - ], - 142: [ - function (t, e, r) { - "use strict"; - var n = t("es6-symbol").iterator, - i = t("../../function/is-arguments"), - a = t("../../function/is-function"), - o = t("../../number/to-pos-integer"), - s = t("../../object/valid-callable"), - l = t("../../object/valid-value"), - c = t("../../object/is-value"), - u = t("../../string/is-string"), - f = Array.isArray, - h = Function.prototype.call, - p = { configurable: !0, enumerable: !0, writable: !0, value: null }, - d = Object.defineProperty; - e.exports = function (t) { - var e, - r, - g, - m, - v, - y, - x, - b, - _, - w, - k = arguments[1], - M = arguments[2]; - if (((t = Object(l(t))), c(k) && s(k), this && this !== Array && a(this))) - e = this; - else { - if (!k) { - if (i(t)) - return 1 !== (v = t.length) - ? Array.apply(null, t) - : (((m = new Array(1))[0] = t[0]), m); - if (f(t)) { - for (m = new Array((v = t.length)), r = 0; r < v; ++r) m[r] = t[r]; - return m; - } - } - m = []; - } - if (!f(t)) - if (void 0 !== (_ = t[n])) { - for ( - x = s(_).call(t), e && (m = new e()), b = x.next(), r = 0; - !b.done; - - ) - ((w = k ? h.call(k, M, b.value, r) : b.value), - e ? ((p.value = w), d(m, r, p)) : (m[r] = w), - (b = x.next()), - ++r); - v = r; - } else if (u(t)) { - for (v = t.length, e && (m = new e()), r = 0, g = 0; r < v; ++r) - ((w = t[r]), - r + 1 < v && - (y = w.charCodeAt(0)) >= 55296 && - y <= 56319 && - (w += t[++r]), - (w = k ? h.call(k, M, w, g) : w), - e ? ((p.value = w), d(m, g, p)) : (m[g] = w), - ++g); - v = g; - } - if (void 0 === v) - for (v = o(t.length), e && (m = new e(v)), r = 0; r < v; ++r) - ((w = k ? h.call(k, M, t[r], r) : t[r]), - e ? ((p.value = w), d(m, r, p)) : (m[r] = w)); - return (e && ((p.value = null), (m.length = v)), m); - }; - }, - { - "../../function/is-arguments": 143, - "../../function/is-function": 144, - "../../number/to-pos-integer": 150, - "../../object/is-value": 160, - "../../object/valid-callable": 169, - "../../object/valid-value": 171, - "../../string/is-string": 175, - "es6-symbol": 185, - }, - ], - 143: [ - function (t, e, r) { - "use strict"; - var n = Object.prototype.toString, - i = n.call( - (function () { - return arguments; - })(), - ); - e.exports = function (t) { - return n.call(t) === i; - }; - }, - {}, - ], - 144: [ - function (t, e, r) { - "use strict"; - var n = Object.prototype.toString, - i = n.call(t("./noop")); - e.exports = function (t) { - return "function" == typeof t && n.call(t) === i; - }; - }, - { "./noop": 145 }, - ], - 145: [ - function (t, e, r) { - "use strict"; - e.exports = function () {}; - }, - {}, - ], - 146: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Math.sign : t("./shim"); - }, - { "./is-implemented": 147, "./shim": 148 }, - ], - 147: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - var t = Math.sign; - return "function" == typeof t && 1 === t(10) && -1 === t(-20); - }; - }, - {}, - ], - 148: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return ((t = Number(t)), isNaN(t) || 0 === t ? t : t > 0 ? 1 : -1); - }; - }, - {}, - ], - 149: [ - function (t, e, r) { - "use strict"; - var n = t("../math/sign"), - i = Math.abs, - a = Math.floor; - e.exports = function (t) { - return isNaN(t) - ? 0 - : 0 !== (t = Number(t)) && isFinite(t) - ? n(t) * a(i(t)) - : t; - }; - }, - { "../math/sign": 146 }, - ], - 150: [ - function (t, e, r) { - "use strict"; - var n = t("./to-integer"), - i = Math.max; - e.exports = function (t) { - return i(0, n(t)); - }; - }, - { "./to-integer": 149 }, - ], - 151: [ - function (t, e, r) { - "use strict"; - var n = t("./valid-callable"), - i = t("./valid-value"), - a = Function.prototype.bind, - o = Function.prototype.call, - s = Object.keys, - l = Object.prototype.propertyIsEnumerable; - e.exports = function (t, e) { - return function (r, c) { - var u, - f = arguments[2], - h = arguments[3]; - return ( - (r = Object(i(r))), - n(c), - (u = s(r)), - h && u.sort("function" == typeof h ? a.call(h, r) : void 0), - "function" != typeof t && (t = u[t]), - o.call(t, u, function (t, n) { - return l.call(r, t) ? o.call(c, f, r[t], t, r, n) : e; - }) - ); - }; - }; - }, - { "./valid-callable": 169, "./valid-value": 171 }, - ], - 152: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Object.assign : t("./shim"); - }, - { "./is-implemented": 153, "./shim": 154 }, - ], - 153: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - var t, - e = Object.assign; - return ( - "function" == typeof e && - (e((t = { foo: "raz" }), { bar: "dwa" }, { trzy: "trzy" }), - t.foo + t.bar + t.trzy === "razdwatrzy") - ); - }; - }, - {}, - ], - 154: [ - function (t, e, r) { - "use strict"; - var n = t("../keys"), - i = t("../valid-value"), - a = Math.max; - e.exports = function (t, e) { - var r, - o, - s, - l = a(arguments.length, 2); - for ( - t = Object(i(t)), - s = function (n) { - try { - t[n] = e[n]; - } catch (t) { - r || (r = t); - } - }, - o = 1; - o < l; - ++o - ) - ((e = arguments[o]), n(e).forEach(s)); - if (void 0 !== r) throw r; - return t; - }; - }, - { "../keys": 161, "../valid-value": 171 }, - ], - 155: [ - function (t, e, r) { - "use strict"; - var n = t("../array/from"), - i = t("./assign"), - a = t("./valid-value"); - e.exports = function (t) { - var e = Object(a(t)), - r = arguments[1], - o = Object(arguments[2]); - if (e !== t && !r) return e; - var s = {}; - return ( - r - ? n(r, function (e) { - (o.ensure || e in t) && (s[e] = t[e]); - }) - : i(s, t), - s - ); - }; - }, - { "../array/from": 140, "./assign": 152, "./valid-value": 171 }, - ], - 156: [ - function (t, e, r) { - "use strict"; - var n, - i, - a, - o, - s = Object.create; - (t("./set-prototype-of/is-implemented")() || - (n = t("./set-prototype-of/shim")), - (e.exports = n - ? 1 !== n.level - ? s - : ((i = {}), - (a = {}), - (o = { - configurable: !1, - enumerable: !1, - writable: !0, - value: void 0, - }), - Object.getOwnPropertyNames(Object.prototype).forEach(function (t) { - a[t] = - "__proto__" !== t - ? o - : { - configurable: !0, - enumerable: !1, - writable: !0, - value: void 0, - }; - }), - Object.defineProperties(i, a), - Object.defineProperty(n, "nullPolyfill", { - configurable: !1, - enumerable: !1, - writable: !1, - value: i, - }), - function (t, e) { - return s(null === t ? i : t, e); - }) - : s)); - }, - { "./set-prototype-of/is-implemented": 167, "./set-prototype-of/shim": 168 }, - ], - 157: [ - function (t, e, r) { - "use strict"; - e.exports = t("./_iterate")("forEach"); - }, - { "./_iterate": 151 }, - ], - 158: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return "function" == typeof t; - }; - }, - {}, - ], - 159: [ - function (t, e, r) { - "use strict"; - var n = t("./is-value"), - i = { function: !0, object: !0 }; - e.exports = function (t) { - return (n(t) && i[typeof t]) || !1; - }; - }, - { "./is-value": 160 }, - ], - 160: [ - function (t, e, r) { - "use strict"; - var n = t("../function/noop")(); - e.exports = function (t) { - return t !== n && null !== t; - }; - }, - { "../function/noop": 145 }, - ], - 161: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Object.keys : t("./shim"); - }, - { "./is-implemented": 162, "./shim": 163 }, - ], - 162: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - try { - return (Object.keys("primitive"), !0); - } catch (t) { - return !1; - } - }; - }, - {}, - ], - 163: [ - function (t, e, r) { - "use strict"; - var n = t("../is-value"), - i = Object.keys; - e.exports = function (t) { - return i(n(t) ? Object(t) : t); - }; - }, - { "../is-value": 160 }, - ], - 164: [ - function (t, e, r) { - "use strict"; - var n = t("./valid-callable"), - i = t("./for-each"), - a = Function.prototype.call; - e.exports = function (t, e) { - var r = {}, - o = arguments[2]; - return ( - n(e), - i(t, function (t, n, i, s) { - r[n] = a.call(e, o, t, n, i, s); - }), - r - ); - }; - }, - { "./for-each": 157, "./valid-callable": 169 }, - ], - 165: [ - function (t, e, r) { - "use strict"; - var n = t("./is-value"), - i = Array.prototype.forEach, - a = Object.create; - e.exports = function (t) { - var e = a(null); - return ( - i.call(arguments, function (t) { - n(t) && - (function (t, e) { - var r; - for (r in t) e[r] = t[r]; - })(Object(t), e); - }), - e - ); - }; - }, - { "./is-value": 160 }, - ], - 166: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Object.setPrototypeOf : t("./shim"); - }, - { "./is-implemented": 167, "./shim": 168 }, - ], - 167: [ - function (t, e, r) { - "use strict"; - var n = Object.create, - i = Object.getPrototypeOf, - a = {}; - e.exports = function () { - var t = Object.setPrototypeOf, - e = arguments[0] || n; - return "function" == typeof t && i(t(e(null), a)) === a; - }; - }, - {}, - ], - 168: [ - function (t, e, r) { - "use strict"; - var n, - i, - a, - o, - s = t("../is-object"), - l = t("../valid-value"), - c = Object.prototype.isPrototypeOf, - u = Object.defineProperty, - f = { configurable: !0, enumerable: !1, writable: !0, value: void 0 }; - ((n = function (t, e) { - if ((l(t), null === e || s(e))) return t; - throw new TypeError("Prototype must be null or an object"); - }), - (e.exports = (i = (function () { - var t, - e = Object.create(null), - r = {}, - n = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__"); - if (n) { - try { - (t = n.set).call(e, r); - } catch (t) {} - if (Object.getPrototypeOf(e) === r) return { set: t, level: 2 }; - } - return ( - (e.__proto__ = r), - Object.getPrototypeOf(e) === r - ? { level: 2 } - : (((e = {}).__proto__ = r), - Object.getPrototypeOf(e) === r && { level: 1 }) - ); - })()) - ? (2 === i.level - ? i.set - ? ((o = i.set), - (a = function (t, e) { - return (o.call(n(t, e), e), t); - })) - : (a = function (t, e) { - return ((n(t, e).__proto__ = e), t); - }) - : (a = function t(e, r) { - var i; - return ( - n(e, r), - (i = c.call(t.nullPolyfill, e)) && - delete t.nullPolyfill.__proto__, - null === r && (r = t.nullPolyfill), - (e.__proto__ = r), - i && u(t.nullPolyfill, "__proto__", f), - e - ); - }), - Object.defineProperty(a, "level", { - configurable: !1, - enumerable: !1, - writable: !1, - value: i.level, - })) - : null), - t("../create")); - }, - { "../create": 156, "../is-object": 159, "../valid-value": 171 }, - ], - 169: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - if ("function" != typeof t) throw new TypeError(t + " is not a function"); - return t; - }; - }, - {}, - ], - 170: [ - function (t, e, r) { - "use strict"; - var n = t("./is-object"); - e.exports = function (t) { - if (!n(t)) throw new TypeError(t + " is not an Object"); - return t; - }; - }, - { "./is-object": 159 }, - ], - 171: [ - function (t, e, r) { - "use strict"; - var n = t("./is-value"); - e.exports = function (t) { - if (!n(t)) throw new TypeError("Cannot use null or undefined"); - return t; - }; - }, - { "./is-value": 160 }, - ], - 172: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? String.prototype.contains : t("./shim"); - }, - { "./is-implemented": 173, "./shim": 174 }, - ], - 173: [ - function (t, e, r) { - "use strict"; - var n = "razdwatrzy"; - e.exports = function () { - return ( - "function" == typeof n.contains && - !0 === n.contains("dwa") && - !1 === n.contains("foo") - ); - }; - }, - {}, - ], - 174: [ - function (t, e, r) { - "use strict"; - var n = String.prototype.indexOf; - e.exports = function (t) { - return n.call(this, t, arguments[1]) > -1; - }; - }, - {}, - ], - 175: [ - function (t, e, r) { - "use strict"; - var n = Object.prototype.toString, - i = n.call(""); - e.exports = function (t) { - return ( - "string" == typeof t || - (t && "object" == typeof t && (t instanceof String || n.call(t) === i)) || - !1 - ); - }; - }, - {}, - ], - 176: [ - function (t, e, r) { - "use strict"; - var n = Object.create(null), - i = Math.random; - e.exports = function () { - var t; - do { - t = i().toString(36).slice(2); - } while (n[t]); - return t; - }; - }, - {}, - ], - 177: [ - function (t, e, r) { - "use strict"; - var n, - i = t("es5-ext/object/set-prototype-of"), - a = t("es5-ext/string/#/contains"), - o = t("d"), - s = t("es6-symbol"), - l = t("./"), - c = Object.defineProperty; - ((n = e.exports = - function (t, e) { - if (!(this instanceof n)) - throw new TypeError("Constructor requires 'new'"); - (l.call(this, t), - (e = e - ? a.call(e, "key+value") - ? "key+value" - : a.call(e, "key") - ? "key" - : "value" - : "value"), - c(this, "__kind__", o("", e))); - }), - i && i(n, l), - delete n.prototype.constructor, - (n.prototype = Object.create(l.prototype, { - _resolve: o(function (t) { - return "value" === this.__kind__ - ? this.__list__[t] - : "key+value" === this.__kind__ - ? [t, this.__list__[t]] - : t; - }), - })), - c(n.prototype, s.toStringTag, o("c", "Array Iterator"))); - }, - { - "./": 180, - d: 121, - "es5-ext/object/set-prototype-of": 166, - "es5-ext/string/#/contains": 172, - "es6-symbol": 185, - }, - ], - 178: [ - function (t, e, r) { - "use strict"; - var n = t("es5-ext/function/is-arguments"), - i = t("es5-ext/object/valid-callable"), - a = t("es5-ext/string/is-string"), - o = t("./get"), - s = Array.isArray, - l = Function.prototype.call, - c = Array.prototype.some; - e.exports = function (t, e) { - var r, - u, - f, - h, - p, - d, - g, - m, - v = arguments[2]; - if ( - (s(t) || n(t) ? (r = "array") : a(t) ? (r = "string") : (t = o(t)), - i(e), - (f = function () { - h = !0; - }), - "array" !== r) - ) - if ("string" !== r) - for (u = t.next(); !u.done; ) { - if ((l.call(e, v, u.value, f), h)) return; - u = t.next(); - } - else - for ( - d = t.length, p = 0; - p < d && - ((g = t[p]), - p + 1 < d && - (m = g.charCodeAt(0)) >= 55296 && - m <= 56319 && - (g += t[++p]), - l.call(e, v, g, f), - !h); - ++p - ); - else - c.call(t, function (t) { - return (l.call(e, v, t, f), h); - }); - }; - }, - { - "./get": 179, - "es5-ext/function/is-arguments": 143, - "es5-ext/object/valid-callable": 169, - "es5-ext/string/is-string": 175, - }, - ], - 179: [ - function (t, e, r) { - "use strict"; - var n = t("es5-ext/function/is-arguments"), - i = t("es5-ext/string/is-string"), - a = t("./array"), - o = t("./string"), - s = t("./valid-iterable"), - l = t("es6-symbol").iterator; - e.exports = function (t) { - return "function" == typeof s(t)[l] - ? t[l]() - : n(t) - ? new a(t) - : i(t) - ? new o(t) - : new a(t); - }; - }, - { - "./array": 177, - "./string": 182, - "./valid-iterable": 183, - "es5-ext/function/is-arguments": 143, - "es5-ext/string/is-string": 175, - "es6-symbol": 185, - }, - ], - 180: [ - function (t, e, r) { - "use strict"; - var n, - i = t("es5-ext/array/#/clear"), - a = t("es5-ext/object/assign"), - o = t("es5-ext/object/valid-callable"), - s = t("es5-ext/object/valid-value"), - l = t("d"), - c = t("d/auto-bind"), - u = t("es6-symbol"), - f = Object.defineProperty, - h = Object.defineProperties; - ((e.exports = n = - function (t, e) { - if (!(this instanceof n)) - throw new TypeError("Constructor requires 'new'"); - (h(this, { - __list__: l("w", s(t)), - __context__: l("w", e), - __nextIndex__: l("w", 0), - }), - e && - (o(e.on), - e.on("_add", this._onAdd), - e.on("_delete", this._onDelete), - e.on("_clear", this._onClear))); - }), - delete n.prototype.constructor, - h( - n.prototype, - a( - { - _next: l(function () { - var t; - if (this.__list__) - return this.__redo__ && void 0 !== (t = this.__redo__.shift()) - ? t - : this.__nextIndex__ < this.__list__.length - ? this.__nextIndex__++ - : void this._unBind(); - }), - next: l(function () { - return this._createResult(this._next()); - }), - _createResult: l(function (t) { - return void 0 === t - ? { done: !0, value: void 0 } - : { done: !1, value: this._resolve(t) }; - }), - _resolve: l(function (t) { - return this.__list__[t]; - }), - _unBind: l(function () { - ((this.__list__ = null), - delete this.__redo__, - this.__context__ && - (this.__context__.off("_add", this._onAdd), - this.__context__.off("_delete", this._onDelete), - this.__context__.off("_clear", this._onClear), - (this.__context__ = null))); - }), - toString: l(function () { - return "[object " + (this[u.toStringTag] || "Object") + "]"; - }), - }, - c({ - _onAdd: l(function (t) { - t >= this.__nextIndex__ || - (++this.__nextIndex__, - this.__redo__ - ? (this.__redo__.forEach(function (e, r) { - e >= t && (this.__redo__[r] = ++e); - }, this), - this.__redo__.push(t)) - : f(this, "__redo__", l("c", [t]))); - }), - _onDelete: l(function (t) { - var e; - t >= this.__nextIndex__ || - (--this.__nextIndex__, - this.__redo__ && - (-1 !== (e = this.__redo__.indexOf(t)) && - this.__redo__.splice(e, 1), - this.__redo__.forEach(function (e, r) { - e > t && (this.__redo__[r] = --e); - }, this))); - }), - _onClear: l(function () { - (this.__redo__ && i.call(this.__redo__), (this.__nextIndex__ = 0)); - }), - }), - ), - ), - f( - n.prototype, - u.iterator, - l(function () { - return this; - }), - )); - }, - { - d: 121, - "d/auto-bind": 120, - "es5-ext/array/#/clear": 139, - "es5-ext/object/assign": 152, - "es5-ext/object/valid-callable": 169, - "es5-ext/object/valid-value": 171, - "es6-symbol": 185, - }, - ], - 181: [ - function (t, e, r) { - "use strict"; - var n = t("es5-ext/function/is-arguments"), - i = t("es5-ext/object/is-value"), - a = t("es5-ext/string/is-string"), - o = t("es6-symbol").iterator, - s = Array.isArray; - e.exports = function (t) { - return !!i(t) && (!!s(t) || !!a(t) || !!n(t) || "function" == typeof t[o]); - }; - }, - { - "es5-ext/function/is-arguments": 143, - "es5-ext/object/is-value": 160, - "es5-ext/string/is-string": 175, - "es6-symbol": 185, - }, - ], - 182: [ - function (t, e, r) { - "use strict"; - var n, - i = t("es5-ext/object/set-prototype-of"), - a = t("d"), - o = t("es6-symbol"), - s = t("./"), - l = Object.defineProperty; - ((n = e.exports = - function (t) { - if (!(this instanceof n)) - throw new TypeError("Constructor requires 'new'"); - ((t = String(t)), - s.call(this, t), - l(this, "__length__", a("", t.length))); - }), - i && i(n, s), - delete n.prototype.constructor, - (n.prototype = Object.create(s.prototype, { - _next: a(function () { - if (this.__list__) - return this.__nextIndex__ < this.__length__ - ? this.__nextIndex__++ - : void this._unBind(); - }), - _resolve: a(function (t) { - var e, - r = this.__list__[t]; - return this.__nextIndex__ === this.__length__ - ? r - : (e = r.charCodeAt(0)) >= 55296 && e <= 56319 - ? r + this.__list__[this.__nextIndex__++] - : r; - }), - })), - l(n.prototype, o.toStringTag, a("c", "String Iterator"))); - }, - { - "./": 180, - d: 121, - "es5-ext/object/set-prototype-of": 166, - "es6-symbol": 185, - }, - ], - 183: [ - function (t, e, r) { - "use strict"; - var n = t("./is-iterable"); - e.exports = function (t) { - if (!n(t)) throw new TypeError(t + " is not iterable"); - return t; - }; - }, - { "./is-iterable": 181 }, - ], - 184: [ - function (t, e, r) { - (function (n, i) { - !(function (t, n) { - "object" == typeof r && void 0 !== e - ? (e.exports = n()) - : (t.ES6Promise = n()); - })(this, function () { - "use strict"; - function e(t) { - return "function" == typeof t; - } - var r = Array.isArray - ? Array.isArray - : function (t) { - return "[object Array]" === Object.prototype.toString.call(t); - }, - a = 0, - o = void 0, - s = void 0, - l = function (t, e) { - ((g[a] = t), (g[a + 1] = e), 2 === (a += 2) && (s ? s(m) : _())); - }; - var c = "undefined" != typeof window ? window : void 0, - u = c || {}, - f = u.MutationObserver || u.WebKitMutationObserver, - h = - "undefined" == typeof self && - void 0 !== n && - "[object process]" === {}.toString.call(n), - p = - "undefined" != typeof Uint8ClampedArray && - "undefined" != typeof importScripts && - "undefined" != typeof MessageChannel; - function d() { - var t = setTimeout; - return function () { - return t(m, 1); - }; - } - var g = new Array(1e3); - function m() { - for (var t = 0; t < a; t += 2) { - ((0, g[t])(g[t + 1]), (g[t] = void 0), (g[t + 1] = void 0)); - } - a = 0; - } - var v, - y, - x, - b, - _ = void 0; - function w(t, e) { - var r = arguments, - n = this, - i = new this.constructor(A); - void 0 === i[M] && U(i); - var a, - o = n._state; - return ( - o - ? ((a = r[o - 1]), - l(function () { - return j(o, i, a, n._result); - })) - : R(n, i, t, e), - i - ); - } - function k(t) { - if (t && "object" == typeof t && t.constructor === this) return t; - var e = new this(A); - return (P(e, t), e); - } - h - ? (_ = function () { - return n.nextTick(m); - }) - : f - ? ((y = 0), - (x = new f(m)), - (b = document.createTextNode("")), - x.observe(b, { characterData: !0 }), - (_ = function () { - b.data = y = ++y % 2; - })) - : p - ? (((v = new MessageChannel()).port1.onmessage = m), - (_ = function () { - return v.port2.postMessage(0); - })) - : (_ = - void 0 === c && "function" == typeof t - ? (function () { - try { - var e = t("vertx"); - return ( - (o = e.runOnLoop || e.runOnContext), - function () { - o(m); - } - ); - } catch (t) { - return d(); - } - })() - : d()); - var M = Math.random().toString(36).substring(16); - function A() {} - var T = void 0, - S = 1, - C = 2, - E = new F(); - function L(t) { - try { - return t.then; - } catch (t) { - return ((E.error = t), E); - } - } - function z(t, r, n) { - r.constructor === t.constructor && - n === w && - r.constructor.resolve === k - ? (function (t, e) { - e._state === S - ? O(t, e._result) - : e._state === C - ? I(t, e._result) - : R( - e, - void 0, - function (e) { - return P(t, e); - }, - function (e) { - return I(t, e); - }, - ); - })(t, r) - : n === E - ? I(t, E.error) - : void 0 === n - ? O(t, r) - : e(n) - ? (function (t, e, r) { - l(function (t) { - var n = !1, - i = (function (t, e, r, n) { - try { - t.call(e, r, n); - } catch (t) { - return t; - } - })( - r, - e, - function (r) { - n || ((n = !0), e !== r ? P(t, r) : O(t, r)); - }, - function (e) { - n || ((n = !0), I(t, e)); - }, - t._label, - ); - !n && i && ((n = !0), I(t, i)); - }, t); - })(t, r, n) - : O(t, r); - } - function P(t, e) { - var r; - t === e - ? I(t, new TypeError("You cannot resolve a promise with itself")) - : "function" == typeof (r = e) || ("object" == typeof r && null !== r) - ? z(t, e, L(e)) - : O(t, e); - } - function D(t) { - (t._onerror && t._onerror(t._result), B(t)); - } - function O(t, e) { - t._state === T && - ((t._result = e), - (t._state = S), - 0 !== t._subscribers.length && l(B, t)); - } - function I(t, e) { - t._state === T && ((t._state = C), (t._result = e), l(D, t)); - } - function R(t, e, r, n) { - var i = t._subscribers, - a = i.length; - ((t._onerror = null), - (i[a] = e), - (i[a + S] = r), - (i[a + C] = n), - 0 === a && t._state && l(B, t)); - } - function B(t) { - var e = t._subscribers, - r = t._state; - if (0 !== e.length) { - for ( - var n = void 0, i = void 0, a = t._result, o = 0; - o < e.length; - o += 3 - ) - ((n = e[o]), (i = e[o + r]), n ? j(r, n, i, a) : i(a)); - t._subscribers.length = 0; - } - } - function F() { - this.error = null; - } - var N = new F(); - function j(t, r, n, i) { - var a = e(n), - o = void 0, - s = void 0, - l = void 0, - c = void 0; - if (a) { - if ( - ((o = (function (t, e) { - try { - return t(e); - } catch (t) { - return ((N.error = t), N); - } - })(n, i)) === N - ? ((c = !0), (s = o.error), (o = null)) - : (l = !0), - r === o) - ) - return void I( - r, - new TypeError( - "A promises callback cannot return that same promise.", - ), - ); - } else ((o = i), (l = !0)); - r._state !== T || - (a && l - ? P(r, o) - : c - ? I(r, s) - : t === S - ? O(r, o) - : t === C && I(r, o)); - } - var V = 0; - function U(t) { - ((t[M] = V++), - (t._state = void 0), - (t._result = void 0), - (t._subscribers = [])); - } - function q(t, e) { - ((this._instanceConstructor = t), - (this.promise = new t(A)), - this.promise[M] || U(this.promise), - r(e) - ? ((this._input = e), - (this.length = e.length), - (this._remaining = e.length), - (this._result = new Array(this.length)), - 0 === this.length - ? O(this.promise, this._result) - : ((this.length = this.length || 0), - this._enumerate(), - 0 === this._remaining && O(this.promise, this._result))) - : I( - this.promise, - new Error("Array Methods must be provided an Array"), - )); - } - function H(t) { - ((this[M] = V++), - (this._result = this._state = void 0), - (this._subscribers = []), - A !== t && - ("function" != typeof t && - (function () { - throw new TypeError( - "You must pass a resolver function as the first argument to the promise constructor", - ); - })(), - this instanceof H - ? (function (t, e) { - try { - e( - function (e) { - P(t, e); - }, - function (e) { - I(t, e); - }, - ); - } catch (e) { - I(t, e); - } - })(this, t) - : (function () { - throw new TypeError( - "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.", - ); - })())); - } - function G() { - var t = void 0; - if (void 0 !== i) t = i; - else if ("undefined" != typeof self) t = self; - else - try { - t = Function("return this")(); - } catch (t) { - throw new Error( - "polyfill failed because global object is unavailable in this environment", - ); - } - var e = t.Promise; - if (e) { - var r = null; - try { - r = Object.prototype.toString.call(e.resolve()); - } catch (t) {} - if ("[object Promise]" === r && !e.cast) return; - } - t.Promise = H; - } - return ( - (q.prototype._enumerate = function () { - for ( - var t = this.length, e = this._input, r = 0; - this._state === T && r < t; - r++ - ) - this._eachEntry(e[r], r); - }), - (q.prototype._eachEntry = function (t, e) { - var r = this._instanceConstructor, - n = r.resolve; - if (n === k) { - var i = L(t); - if (i === w && t._state !== T) - this._settledAt(t._state, e, t._result); - else if ("function" != typeof i) - (this._remaining--, (this._result[e] = t)); - else if (r === H) { - var a = new r(A); - (z(a, t, i), this._willSettleAt(a, e)); - } else - this._willSettleAt( - new r(function (e) { - return e(t); - }), - e, - ); - } else this._willSettleAt(n(t), e); - }), - (q.prototype._settledAt = function (t, e, r) { - var n = this.promise; - (n._state === T && - (this._remaining--, t === C ? I(n, r) : (this._result[e] = r)), - 0 === this._remaining && O(n, this._result)); - }), - (q.prototype._willSettleAt = function (t, e) { - var r = this; - R( - t, - void 0, - function (t) { - return r._settledAt(S, e, t); - }, - function (t) { - return r._settledAt(C, e, t); - }, - ); - }), - (H.all = function (t) { - return new q(this, t).promise; - }), - (H.race = function (t) { - var e = this; - return r(t) - ? new e(function (r, n) { - for (var i = t.length, a = 0; a < i; a++) - e.resolve(t[a]).then(r, n); - }) - : new e(function (t, e) { - return e(new TypeError("You must pass an array to race.")); - }); - }), - (H.resolve = k), - (H.reject = function (t) { - var e = new this(A); - return (I(e, t), e); - }), - (H._setScheduler = function (t) { - s = t; - }), - (H._setAsap = function (t) { - l = t; - }), - (H._asap = l), - (H.prototype = { - constructor: H, - then: w, - catch: function (t) { - return this.then(null, t); - }, - }), - G(), - (H.polyfill = G), - (H.Promise = H), - H - ); - }); - }).call( - this, - t("_process"), - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { _process: 366 }, - ], - 185: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? Symbol : t("./polyfill"); - }, - { "./is-implemented": 186, "./polyfill": 188 }, - ], - 186: [ - function (t, e, r) { - "use strict"; - var n = { object: !0, symbol: !0 }; - e.exports = function () { - var t; - if ("function" != typeof Symbol) return !1; - t = Symbol("test symbol"); - try { - String(t); - } catch (t) { - return !1; - } - return ( - !!n[typeof Symbol.iterator] && - !!n[typeof Symbol.toPrimitive] && - !!n[typeof Symbol.toStringTag] - ); - }; - }, - {}, - ], - 187: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return ( - !!t && - ("symbol" == typeof t || - (!!t.constructor && - "Symbol" === t.constructor.name && - "Symbol" === t[t.constructor.toStringTag])) - ); - }; - }, - {}, - ], - 188: [ - function (t, e, r) { - "use strict"; - var n, - i, - a, - o, - s = t("d"), - l = t("./validate-symbol"), - c = Object.create, - u = Object.defineProperties, - f = Object.defineProperty, - h = Object.prototype, - p = c(null); - if ("function" == typeof Symbol) { - n = Symbol; - try { - (String(n()), (o = !0)); - } catch (t) {} - } - var d, - g = - ((d = c(null)), - function (t) { - for (var e, r, n = 0; d[t + (n || "")]; ) ++n; - return ( - (d[(t += n || "")] = !0), - f( - h, - (e = "@@" + t), - s.gs(null, function (t) { - r || ((r = !0), f(this, e, s(t)), (r = !1)); - }), - ), - e - ); - }); - ((a = function (t) { - if (this instanceof a) throw new TypeError("Symbol is not a constructor"); - return i(t); - }), - (e.exports = i = - function t(e) { - var r; - if (this instanceof t) - throw new TypeError("Symbol is not a constructor"); - return o - ? n(e) - : ((r = c(a.prototype)), - (e = void 0 === e ? "" : String(e)), - u(r, { __description__: s("", e), __name__: s("", g(e)) })); - }), - u(i, { - for: s(function (t) { - return p[t] ? p[t] : (p[t] = i(String(t))); - }), - keyFor: s(function (t) { - var e; - for (e in (l(t), p)) if (p[e] === t) return e; - }), - hasInstance: s("", (n && n.hasInstance) || i("hasInstance")), - isConcatSpreadable: s( - "", - (n && n.isConcatSpreadable) || i("isConcatSpreadable"), - ), - iterator: s("", (n && n.iterator) || i("iterator")), - match: s("", (n && n.match) || i("match")), - replace: s("", (n && n.replace) || i("replace")), - search: s("", (n && n.search) || i("search")), - species: s("", (n && n.species) || i("species")), - split: s("", (n && n.split) || i("split")), - toPrimitive: s("", (n && n.toPrimitive) || i("toPrimitive")), - toStringTag: s("", (n && n.toStringTag) || i("toStringTag")), - unscopables: s("", (n && n.unscopables) || i("unscopables")), - }), - u(a.prototype, { - constructor: s(i), - toString: s("", function () { - return this.__name__; - }), - }), - u(i.prototype, { - toString: s(function () { - return "Symbol (" + l(this).__description__ + ")"; - }), - valueOf: s(function () { - return l(this); - }), - }), - f( - i.prototype, - i.toPrimitive, - s("", function () { - var t = l(this); - return "symbol" == typeof t ? t : t.toString(); - }), - ), - f(i.prototype, i.toStringTag, s("c", "Symbol")), - f(a.prototype, i.toStringTag, s("c", i.prototype[i.toStringTag])), - f(a.prototype, i.toPrimitive, s("c", i.prototype[i.toPrimitive]))); - }, - { "./validate-symbol": 189, d: 121 }, - ], - 189: [ - function (t, e, r) { - "use strict"; - var n = t("./is-symbol"); - e.exports = function (t) { - if (!n(t)) throw new TypeError(t + " is not a symbol"); - return t; - }; - }, - { "./is-symbol": 187 }, - ], - 190: [ - function (t, e, r) { - "use strict"; - e.exports = t("./is-implemented")() ? WeakMap : t("./polyfill"); - }, - { "./is-implemented": 191, "./polyfill": 193 }, - ], - 191: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - var t, e; - if ("function" != typeof WeakMap) return !1; - try { - t = new WeakMap([ - [(e = {}), "one"], - [{}, "two"], - [{}, "three"], - ]); - } catch (t) { - return !1; - } - return ( - "[object WeakMap]" === String(t) && - "function" == typeof t.set && - t.set({}, 1) === t && - "function" == typeof t.delete && - "function" == typeof t.has && - "one" === t.get(e) - ); - }; - }, - {}, - ], - 192: [ - function (t, e, r) { - "use strict"; - e.exports = - "function" == typeof WeakMap && - "[object WeakMap]" === Object.prototype.toString.call(new WeakMap()); - }, - {}, - ], - 193: [ - function (t, e, r) { - "use strict"; - var n, - i = t("es5-ext/object/set-prototype-of"), - a = t("es5-ext/object/valid-object"), - o = t("es5-ext/object/valid-value"), - s = t("es5-ext/string/random-uniq"), - l = t("d"), - c = t("es6-iterator/get"), - u = t("es6-iterator/for-of"), - f = t("es6-symbol").toStringTag, - h = t("./is-native-implemented"), - p = Array.isArray, - d = Object.defineProperty, - g = Object.prototype.hasOwnProperty, - m = Object.getPrototypeOf; - ((e.exports = n = - function () { - var t, - e = arguments[0]; - if (!(this instanceof n)) - throw new TypeError("Constructor requires 'new'"); - return ( - (t = h && i && WeakMap !== n ? i(new WeakMap(), m(this)) : this), - null != e && (p(e) || (e = c(e))), - d(t, "__weakMapData__", l("c", "$weakMap$" + s())), - e - ? (u(e, function (e) { - (o(e), t.set(e[0], e[1])); - }), - t) - : t - ); - }), - h && - (i && i(n, WeakMap), - (n.prototype = Object.create(WeakMap.prototype, { constructor: l(n) }))), - Object.defineProperties(n.prototype, { - delete: l(function (t) { - return ( - !!g.call(a(t), this.__weakMapData__) && - (delete t[this.__weakMapData__], !0) - ); - }), - get: l(function (t) { - if (g.call(a(t), this.__weakMapData__)) return t[this.__weakMapData__]; - }), - has: l(function (t) { - return g.call(a(t), this.__weakMapData__); - }), - set: l(function (t, e) { - return (d(a(t), this.__weakMapData__, l("c", e)), this); - }), - toString: l(function () { - return "[object WeakMap]"; - }), - }), - d(n.prototype, f, l("c", "WeakMap"))); - }, - { - "./is-native-implemented": 192, - d: 121, - "es5-ext/object/set-prototype-of": 166, - "es5-ext/object/valid-object": 170, - "es5-ext/object/valid-value": 171, - "es5-ext/string/random-uniq": 176, - "es6-iterator/for-of": 178, - "es6-iterator/get": 179, - "es6-symbol": 185, - }, - ], - 194: [ - function (t, e, r) { - function n() { - ((this._events = this._events || {}), - (this._maxListeners = this._maxListeners || void 0)); - } - function i(t) { - return "function" == typeof t; - } - function a(t) { - return "object" == typeof t && null !== t; - } - function o(t) { - return void 0 === t; - } - ((e.exports = n), - (n.EventEmitter = n), - (n.prototype._events = void 0), - (n.prototype._maxListeners = void 0), - (n.defaultMaxListeners = 10), - (n.prototype.setMaxListeners = function (t) { - if ("number" != typeof t || t < 0 || isNaN(t)) - throw TypeError("n must be a positive number"); - return ((this._maxListeners = t), this); - }), - (n.prototype.emit = function (t) { - var e, r, n, s, l, c; - if ( - (this._events || (this._events = {}), - "error" === t && - (!this._events.error || - (a(this._events.error) && !this._events.error.length))) - ) { - if ((e = arguments[1]) instanceof Error) throw e; - var u = new Error('Uncaught, unspecified "error" event. (' + e + ")"); - throw ((u.context = e), u); - } - if (o((r = this._events[t]))) return !1; - if (i(r)) - switch (arguments.length) { - case 1: - r.call(this); - break; - case 2: - r.call(this, arguments[1]); - break; - case 3: - r.call(this, arguments[1], arguments[2]); - break; - default: - ((s = Array.prototype.slice.call(arguments, 1)), r.apply(this, s)); - } - else if (a(r)) - for ( - s = Array.prototype.slice.call(arguments, 1), - n = (c = r.slice()).length, - l = 0; - l < n; - l++ - ) - c[l].apply(this, s); - return !0; - }), - (n.prototype.addListener = function (t, e) { - var r; - if (!i(e)) throw TypeError("listener must be a function"); - return ( - this._events || (this._events = {}), - this._events.newListener && - this.emit("newListener", t, i(e.listener) ? e.listener : e), - this._events[t] - ? a(this._events[t]) - ? this._events[t].push(e) - : (this._events[t] = [this._events[t], e]) - : (this._events[t] = e), - a(this._events[t]) && - !this._events[t].warned && - (r = o(this._maxListeners) - ? n.defaultMaxListeners - : this._maxListeners) && - r > 0 && - this._events[t].length > r && - ((this._events[t].warned = !0), - console.error( - "(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", - this._events[t].length, - ), - "function" == typeof console.trace && console.trace()), - this - ); - }), - (n.prototype.on = n.prototype.addListener), - (n.prototype.once = function (t, e) { - if (!i(e)) throw TypeError("listener must be a function"); - var r = !1; - function n() { - (this.removeListener(t, n), r || ((r = !0), e.apply(this, arguments))); - } - return ((n.listener = e), this.on(t, n), this); - }), - (n.prototype.removeListener = function (t, e) { - var r, n, o, s; - if (!i(e)) throw TypeError("listener must be a function"); - if (!this._events || !this._events[t]) return this; - if ( - ((o = (r = this._events[t]).length), - (n = -1), - r === e || (i(r.listener) && r.listener === e)) - ) - (delete this._events[t], - this._events.removeListener && this.emit("removeListener", t, e)); - else if (a(r)) { - for (s = o; s-- > 0; ) - if (r[s] === e || (r[s].listener && r[s].listener === e)) { - n = s; - break; - } - if (n < 0) return this; - (1 === r.length - ? ((r.length = 0), delete this._events[t]) - : r.splice(n, 1), - this._events.removeListener && this.emit("removeListener", t, e)); - } - return this; - }), - (n.prototype.removeAllListeners = function (t) { - var e, r; - if (!this._events) return this; - if (!this._events.removeListener) - return ( - 0 === arguments.length - ? (this._events = {}) - : this._events[t] && delete this._events[t], - this - ); - if (0 === arguments.length) { - for (e in this._events) - "removeListener" !== e && this.removeAllListeners(e); - return ( - this.removeAllListeners("removeListener"), - (this._events = {}), - this - ); - } - if (i((r = this._events[t]))) this.removeListener(t, r); - else if (r) for (; r.length; ) this.removeListener(t, r[r.length - 1]); - return (delete this._events[t], this); - }), - (n.prototype.listeners = function (t) { - return this._events && this._events[t] - ? i(this._events[t]) - ? [this._events[t]] - : this._events[t].slice() - : []; - }), - (n.prototype.listenerCount = function (t) { - if (this._events) { - var e = this._events[t]; - if (i(e)) return 1; - if (e) return e.length; - } - return 0; - }), - (n.listenerCount = function (t, e) { - return t.listenerCount(e); - })); - }, - {}, - ], - 195: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var n = e || 0, - i = r || 1; - return [ - [t[12] + t[0], t[13] + t[1], t[14] + t[2], t[15] + t[3]], - [t[12] - t[0], t[13] - t[1], t[14] - t[2], t[15] - t[3]], - [t[12] + t[4], t[13] + t[5], t[14] + t[6], t[15] + t[7]], - [t[12] - t[4], t[13] - t[5], t[14] - t[6], t[15] - t[7]], - [ - n * t[12] + t[8], - n * t[13] + t[9], - n * t[14] + t[10], - n * t[15] + t[11], - ], - [ - i * t[12] - t[8], - i * t[13] - t[9], - i * t[14] - t[10], - i * t[15] - t[11], - ], - ]; - }; - }, - {}, - ], - 196: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = typeof t; - if ("string" === e) { - var r = t; - if ( - 0 === (t = +t) && - (function (t) { - for (var e, r = t.length, n = 0; n < r; n++) - if ( - ((e = t.charCodeAt(n)) < 9 || e > 13) && - 32 !== e && - 133 !== e && - 160 !== e && - 5760 !== e && - 6158 !== e && - (e < 8192 || e > 8205) && - 8232 !== e && - 8233 !== e && - 8239 !== e && - 8287 !== e && - 8288 !== e && - 12288 !== e && - 65279 !== e - ) - return !1; - return !0; - })(r) - ) - return !1; - } else if ("number" !== e) return !1; - return t - t < 1; - }; - }, - {}, - ], - 197: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - switch (arguments.length) { - case 0: - return new o([0], [0], 0); - case 1: - if ("number" == typeof t) { - var n = l(t); - return new o(n, n, 0); - } - return new o(t, l(t.length), 0); - case 2: - if ("number" == typeof e) { - var n = l(t.length); - return new o(t, n, +e); - } - r = 0; - case 3: - if (t.length !== e.length) - throw new Error("state and velocity lengths must match"); - return new o(t, e, r); - } - }; - var n = t("cubic-hermite"), - i = t("binary-search-bounds"); - function a(t, e, r) { - return Math.min(e, Math.max(t, r)); - } - function o(t, e, r) { - ((this.dimension = t.length), - (this.bounds = [new Array(this.dimension), new Array(this.dimension)])); - for (var n = 0; n < this.dimension; ++n) - ((this.bounds[0][n] = -1 / 0), (this.bounds[1][n] = 1 / 0)); - ((this._state = t.slice().reverse()), - (this._velocity = e.slice().reverse()), - (this._time = [r]), - (this._scratch = [ - t.slice(), - t.slice(), - t.slice(), - t.slice(), - t.slice(), - ])); - } - var s = o.prototype; - function l(t) { - for (var e = new Array(t), r = 0; r < t; ++r) e[r] = 0; - return e; - } - ((s.flush = function (t) { - var e = i.gt(this._time, t) - 1; - e <= 0 || - (this._time.splice(0, e), - this._state.splice(0, e * this.dimension), - this._velocity.splice(0, e * this.dimension)); - }), - (s.curve = function (t) { - var e = this._time, - r = e.length, - o = i.le(e, t), - s = this._scratch[0], - l = this._state, - c = this._velocity, - u = this.dimension, - f = this.bounds; - if (o < 0) for (var h = u - 1, p = 0; p < u; ++p, --h) s[p] = l[h]; - else if (o >= r - 1) { - h = l.length - 1; - var d = t - e[r - 1]; - for (p = 0; p < u; ++p, --h) s[p] = l[h] + d * c[h]; - } else { - h = u * (o + 1) - 1; - var g = e[o], - m = e[o + 1] - g || 1, - v = this._scratch[1], - y = this._scratch[2], - x = this._scratch[3], - b = this._scratch[4], - _ = !0; - for (p = 0; p < u; ++p, --h) - ((v[p] = l[h]), - (x[p] = c[h] * m), - (y[p] = l[h + u]), - (b[p] = c[h + u] * m), - (_ = _ && v[p] === y[p] && x[p] === b[p] && 0 === x[p])); - if (_) for (p = 0; p < u; ++p) s[p] = v[p]; - else n(v, x, y, b, (t - g) / m, s); - } - var w = f[0], - k = f[1]; - for (p = 0; p < u; ++p) s[p] = a(w[p], k[p], s[p]); - return s; - }), - (s.dcurve = function (t) { - var e = this._time, - r = e.length, - a = i.le(e, t), - o = this._scratch[0], - s = this._state, - l = this._velocity, - c = this.dimension; - if (a >= r - 1) - for (var u = s.length - 1, f = (e[r - 1], 0); f < c; ++f, --u) - o[f] = l[u]; - else { - u = c * (a + 1) - 1; - var h = e[a], - p = e[a + 1] - h || 1, - d = this._scratch[1], - g = this._scratch[2], - m = this._scratch[3], - v = this._scratch[4], - y = !0; - for (f = 0; f < c; ++f, --u) - ((d[f] = s[u]), - (m[f] = l[u] * p), - (g[f] = s[u + c]), - (v[f] = l[u + c] * p), - (y = y && d[f] === g[f] && m[f] === v[f] && 0 === m[f])); - if (y) for (f = 0; f < c; ++f) o[f] = 0; - else { - n.derivative(d, m, g, v, (t - h) / p, o); - for (f = 0; f < c; ++f) o[f] /= p; - } - } - return o; - }), - (s.lastT = function () { - var t = this._time; - return t[t.length - 1]; - }), - (s.stable = function () { - for ( - var t = this._velocity, e = t.length, r = this.dimension - 1; - r >= 0; - --r - ) - if (t[--e]) return !1; - return !0; - }), - (s.jump = function (t) { - var e = this.lastT(), - r = this.dimension; - if (!(t < e || arguments.length !== r + 1)) { - var n = this._state, - i = this._velocity, - o = n.length - this.dimension, - s = this.bounds, - l = s[0], - c = s[1]; - this._time.push(e, t); - for (var u = 0; u < 2; ++u) - for (var f = 0; f < r; ++f) (n.push(n[o++]), i.push(0)); - this._time.push(t); - for (f = r; f > 0; --f) - (n.push(a(l[f - 1], c[f - 1], arguments[f])), i.push(0)); - } - }), - (s.push = function (t) { - var e = this.lastT(), - r = this.dimension; - if (!(t < e || arguments.length !== r + 1)) { - var n = this._state, - i = this._velocity, - o = n.length - this.dimension, - s = t - e, - l = this.bounds, - c = l[0], - u = l[1], - f = s > 1e-6 ? 1 / s : 0; - this._time.push(t); - for (var h = r; h > 0; --h) { - var p = a(c[h - 1], u[h - 1], arguments[h]); - (n.push(p), i.push((p - n[o++]) * f)); - } - } - }), - (s.set = function (t) { - var e = this.dimension; - if (!(t < this.lastT() || arguments.length !== e + 1)) { - var r = this._state, - n = this._velocity, - i = this.bounds, - o = i[0], - s = i[1]; - this._time.push(t); - for (var l = e; l > 0; --l) - (r.push(a(o[l - 1], s[l - 1], arguments[l])), n.push(0)); - } - }), - (s.move = function (t) { - var e = this.lastT(), - r = this.dimension; - if (!(t <= e || arguments.length !== r + 1)) { - var n = this._state, - i = this._velocity, - o = n.length - this.dimension, - s = this.bounds, - l = s[0], - c = s[1], - u = t - e, - f = u > 1e-6 ? 1 / u : 0; - this._time.push(t); - for (var h = r; h > 0; --h) { - var p = arguments[h]; - (n.push(a(l[h - 1], c[h - 1], n[o++] + p)), i.push(p * f)); - } - } - }), - (s.idle = function (t) { - var e = this.lastT(); - if (!(t < e)) { - var r = this.dimension, - n = this._state, - i = this._velocity, - o = n.length - r, - s = this.bounds, - l = s[0], - c = s[1], - u = t - e; - this._time.push(t); - for (var f = r - 1; f >= 0; --f) - (n.push(a(l[f], c[f], n[o] + u * i[o])), i.push(0), (o += 1)); - } - })); - }, - { "binary-search-bounds": 72, "cubic-hermite": 115 }, - ], - 198: [ - function (t, e, r) { - var n = t("dtype"); - e.exports = function (t, e, r) { - if (!t) throw new TypeError("must specify data as first parameter"); - if (((r = 0 | +(r || 0)), Array.isArray(t) && Array.isArray(t[0]))) { - var i = t[0].length, - a = t.length * i; - (e && "string" != typeof e) || (e = new (n(e || "float32"))(a + r)); - var o = e.length - r; - if (a !== o) - throw new Error( - "source length " + - a + - " (" + - i + - "x" + - t.length + - ") does not match destination length " + - o, - ); - for (var s = 0, l = r; s < t.length; s++) - for (var c = 0; c < i; c++) e[l++] = t[s][c]; - } else if (e && "string" != typeof e) e.set(t, r); - else { - var u = n(e || "float32"); - 0 === r ? (e = new u(t)) : (e = new u(t.length + r)).set(t, r); - } - return e; - }; - }, - { dtype: 135 }, - ], - 199: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return new c(t || d, null); - }; - var n = 0, - i = 1; - function a(t, e, r, n, i, a) { - ((this._color = t), - (this.key = e), - (this.value = r), - (this.left = n), - (this.right = i), - (this._count = a)); - } - function o(t) { - return new a(t._color, t.key, t.value, t.left, t.right, t._count); - } - function s(t, e) { - return new a(t, e.key, e.value, e.left, e.right, e._count); - } - function l(t) { - t._count = - 1 + (t.left ? t.left._count : 0) + (t.right ? t.right._count : 0); - } - function c(t, e) { - ((this._compare = t), (this.root = e)); - } - var u = c.prototype; - function f(t, e) { - ((this.tree = t), (this._stack = e)); - } - (Object.defineProperty(u, "keys", { - get: function () { - var t = []; - return ( - this.forEach(function (e, r) { - t.push(e); - }), - t - ); - }, - }), - Object.defineProperty(u, "values", { - get: function () { - var t = []; - return ( - this.forEach(function (e, r) { - t.push(r); - }), - t - ); - }, - }), - Object.defineProperty(u, "length", { - get: function () { - return this.root ? this.root._count : 0; - }, - }), - (u.insert = function (t, e) { - for (var r = this._compare, o = this.root, u = [], f = []; o; ) { - var h = r(t, o.key); - (u.push(o), f.push(h), (o = h <= 0 ? o.left : o.right)); - } - u.push(new a(n, t, e, null, null, 1)); - for (var p = u.length - 2; p >= 0; --p) { - o = u[p]; - f[p] <= 0 - ? (u[p] = new a( - o._color, - o.key, - o.value, - u[p + 1], - o.right, - o._count + 1, - )) - : (u[p] = new a( - o._color, - o.key, - o.value, - o.left, - u[p + 1], - o._count + 1, - )); - } - for (p = u.length - 1; p > 1; --p) { - var d = u[p - 1]; - o = u[p]; - if (d._color === i || o._color === i) break; - var g = u[p - 2]; - if (g.left === d) - if (d.left === o) { - if (!(m = g.right) || m._color !== n) { - if ( - ((g._color = n), - (g.left = d.right), - (d._color = i), - (d.right = g), - (u[p - 2] = d), - (u[p - 1] = o), - l(g), - l(d), - p >= 3) - ) - (v = u[p - 3]).left === g ? (v.left = d) : (v.right = d); - break; - } - ((d._color = i), (g.right = s(i, m)), (g._color = n), (p -= 1)); - } else { - if (!(m = g.right) || m._color !== n) { - if ( - ((d.right = o.left), - (g._color = n), - (g.left = o.right), - (o._color = i), - (o.left = d), - (o.right = g), - (u[p - 2] = o), - (u[p - 1] = d), - l(g), - l(d), - l(o), - p >= 3) - ) - (v = u[p - 3]).left === g ? (v.left = o) : (v.right = o); - break; - } - ((d._color = i), (g.right = s(i, m)), (g._color = n), (p -= 1)); - } - else if (d.right === o) { - if (!(m = g.left) || m._color !== n) { - if ( - ((g._color = n), - (g.right = d.left), - (d._color = i), - (d.left = g), - (u[p - 2] = d), - (u[p - 1] = o), - l(g), - l(d), - p >= 3) - ) - (v = u[p - 3]).right === g ? (v.right = d) : (v.left = d); - break; - } - ((d._color = i), (g.left = s(i, m)), (g._color = n), (p -= 1)); - } else { - var m; - if (!(m = g.left) || m._color !== n) { - var v; - if ( - ((d.left = o.right), - (g._color = n), - (g.right = o.left), - (o._color = i), - (o.right = d), - (o.left = g), - (u[p - 2] = o), - (u[p - 1] = d), - l(g), - l(d), - l(o), - p >= 3) - ) - (v = u[p - 3]).right === g ? (v.right = o) : (v.left = o); - break; - } - ((d._color = i), (g.left = s(i, m)), (g._color = n), (p -= 1)); - } - } - return ((u[0]._color = i), new c(r, u[0])); - }), - (u.forEach = function (t, e, r) { - if (this.root) - switch (arguments.length) { - case 1: - return (function t(e, r) { - var n; - if (r.left && (n = t(e, r.left))) return n; - return ( - (n = e(r.key, r.value)) || (r.right ? t(e, r.right) : void 0) - ); - })(t, this.root); - case 2: - return (function t(e, r, n, i) { - if (r(e, i.key) <= 0) { - var a; - if (i.left && (a = t(e, r, n, i.left))) return a; - if ((a = n(i.key, i.value))) return a; - } - if (i.right) return t(e, r, n, i.right); - })(e, this._compare, t, this.root); - case 3: - if (this._compare(e, r) >= 0) return; - return (function t(e, r, n, i, a) { - var o, - s = n(e, a.key), - l = n(r, a.key); - if (s <= 0) { - if (a.left && (o = t(e, r, n, i, a.left))) return o; - if (l > 0 && (o = i(a.key, a.value))) return o; - } - if (l > 0 && a.right) return t(e, r, n, i, a.right); - })(e, r, this._compare, t, this.root); - } - }), - Object.defineProperty(u, "begin", { - get: function () { - for (var t = [], e = this.root; e; ) (t.push(e), (e = e.left)); - return new f(this, t); - }, - }), - Object.defineProperty(u, "end", { - get: function () { - for (var t = [], e = this.root; e; ) (t.push(e), (e = e.right)); - return new f(this, t); - }, - }), - (u.at = function (t) { - if (t < 0) return new f(this, []); - for (var e = this.root, r = []; ; ) { - if ((r.push(e), e.left)) { - if (t < e.left._count) { - e = e.left; - continue; - } - t -= e.left._count; - } - if (!t) return new f(this, r); - if (((t -= 1), !e.right)) break; - if (t >= e.right._count) break; - e = e.right; - } - return new f(this, []); - }), - (u.ge = function (t) { - for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { - var a = e(t, r.key); - (n.push(r), a <= 0 && (i = n.length), (r = a <= 0 ? r.left : r.right)); - } - return ((n.length = i), new f(this, n)); - }), - (u.gt = function (t) { - for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { - var a = e(t, r.key); - (n.push(r), a < 0 && (i = n.length), (r = a < 0 ? r.left : r.right)); - } - return ((n.length = i), new f(this, n)); - }), - (u.lt = function (t) { - for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { - var a = e(t, r.key); - (n.push(r), a > 0 && (i = n.length), (r = a <= 0 ? r.left : r.right)); - } - return ((n.length = i), new f(this, n)); - }), - (u.le = function (t) { - for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { - var a = e(t, r.key); - (n.push(r), a >= 0 && (i = n.length), (r = a < 0 ? r.left : r.right)); - } - return ((n.length = i), new f(this, n)); - }), - (u.find = function (t) { - for (var e = this._compare, r = this.root, n = []; r; ) { - var i = e(t, r.key); - if ((n.push(r), 0 === i)) return new f(this, n); - r = i <= 0 ? r.left : r.right; - } - return new f(this, []); - }), - (u.remove = function (t) { - var e = this.find(t); - return e ? e.remove() : this; - }), - (u.get = function (t) { - for (var e = this._compare, r = this.root; r; ) { - var n = e(t, r.key); - if (0 === n) return r.value; - r = n <= 0 ? r.left : r.right; - } - })); - var h = f.prototype; - function p(t, e) { - ((t.key = e.key), - (t.value = e.value), - (t.left = e.left), - (t.right = e.right), - (t._color = e._color), - (t._count = e._count)); - } - function d(t, e) { - return t < e ? -1 : t > e ? 1 : 0; - } - (Object.defineProperty(h, "valid", { - get: function () { - return this._stack.length > 0; - }, - }), - Object.defineProperty(h, "node", { - get: function () { - return this._stack.length > 0 - ? this._stack[this._stack.length - 1] - : null; - }, - enumerable: !0, - }), - (h.clone = function () { - return new f(this.tree, this._stack.slice()); - }), - (h.remove = function () { - var t = this._stack; - if (0 === t.length) return this.tree; - var e = new Array(t.length), - r = t[t.length - 1]; - e[e.length - 1] = new a( - r._color, - r.key, - r.value, - r.left, - r.right, - r._count, - ); - for (var u = t.length - 2; u >= 0; --u) { - (r = t[u]).left === t[u + 1] - ? (e[u] = new a( - r._color, - r.key, - r.value, - e[u + 1], - r.right, - r._count, - )) - : (e[u] = new a( - r._color, - r.key, - r.value, - r.left, - e[u + 1], - r._count, - )); - } - if ((r = e[e.length - 1]).left && r.right) { - var f = e.length; - for (r = r.left; r.right; ) (e.push(r), (r = r.right)); - var h = e[f - 1]; - (e.push(new a(r._color, h.key, h.value, r.left, r.right, r._count)), - (e[f - 1].key = r.key), - (e[f - 1].value = r.value)); - for (u = e.length - 2; u >= f; --u) - ((r = e[u]), - (e[u] = new a( - r._color, - r.key, - r.value, - r.left, - e[u + 1], - r._count, - ))); - e[f - 1].left = e[f]; - } - if ((r = e[e.length - 1])._color === n) { - var d = e[e.length - 2]; - (d.left === r ? (d.left = null) : d.right === r && (d.right = null), - e.pop()); - for (u = 0; u < e.length; ++u) e[u]._count--; - return new c(this.tree._compare, e[0]); - } - if (r.left || r.right) { - (r.left ? p(r, r.left) : r.right && p(r, r.right), (r._color = i)); - for (u = 0; u < e.length - 1; ++u) e[u]._count--; - return new c(this.tree._compare, e[0]); - } - if (1 === e.length) return new c(this.tree._compare, null); - for (u = 0; u < e.length; ++u) e[u]._count--; - var g = e[e.length - 2]; - return ( - (function (t) { - for (var e, r, a, c, u = t.length - 1; u >= 0; --u) { - if (((e = t[u]), 0 === u)) return void (e._color = i); - if ((r = t[u - 1]).left === e) { - if ((a = r.right).right && a.right._color === n) - return ( - (c = (a = r.right = o(a)).right = o(a.right)), - (r.right = a.left), - (a.left = r), - (a.right = c), - (a._color = r._color), - (e._color = i), - (r._color = i), - (c._color = i), - l(r), - l(a), - u > 1 && - ((f = t[u - 2]).left === r ? (f.left = a) : (f.right = a)), - void (t[u - 1] = a) - ); - if (a.left && a.left._color === n) - return ( - (c = (a = r.right = o(a)).left = o(a.left)), - (r.right = c.left), - (a.left = c.right), - (c.left = r), - (c.right = a), - (c._color = r._color), - (r._color = i), - (a._color = i), - (e._color = i), - l(r), - l(a), - l(c), - u > 1 && - ((f = t[u - 2]).left === r ? (f.left = c) : (f.right = c)), - void (t[u - 1] = c) - ); - if (a._color === i) { - if (r._color === n) - return ((r._color = i), void (r.right = s(n, a))); - r.right = s(n, a); - continue; - } - ((a = o(a)), - (r.right = a.left), - (a.left = r), - (a._color = r._color), - (r._color = n), - l(r), - l(a), - u > 1 && - ((f = t[u - 2]).left === r ? (f.left = a) : (f.right = a)), - (t[u - 1] = a), - (t[u] = r), - u + 1 < t.length ? (t[u + 1] = e) : t.push(e), - (u += 2)); - } else { - if ((a = r.left).left && a.left._color === n) - return ( - (c = (a = r.left = o(a)).left = o(a.left)), - (r.left = a.right), - (a.right = r), - (a.left = c), - (a._color = r._color), - (e._color = i), - (r._color = i), - (c._color = i), - l(r), - l(a), - u > 1 && - ((f = t[u - 2]).right === r ? (f.right = a) : (f.left = a)), - void (t[u - 1] = a) - ); - if (a.right && a.right._color === n) - return ( - (c = (a = r.left = o(a)).right = o(a.right)), - (r.left = c.right), - (a.right = c.left), - (c.right = r), - (c.left = a), - (c._color = r._color), - (r._color = i), - (a._color = i), - (e._color = i), - l(r), - l(a), - l(c), - u > 1 && - ((f = t[u - 2]).right === r ? (f.right = c) : (f.left = c)), - void (t[u - 1] = c) - ); - if (a._color === i) { - if (r._color === n) - return ((r._color = i), void (r.left = s(n, a))); - r.left = s(n, a); - continue; - } - var f; - ((a = o(a)), - (r.left = a.right), - (a.right = r), - (a._color = r._color), - (r._color = n), - l(r), - l(a), - u > 1 && - ((f = t[u - 2]).right === r ? (f.right = a) : (f.left = a)), - (t[u - 1] = a), - (t[u] = r), - u + 1 < t.length ? (t[u + 1] = e) : t.push(e), - (u += 2)); - } - } - })(e), - g.left === r ? (g.left = null) : (g.right = null), - new c(this.tree._compare, e[0]) - ); - }), - Object.defineProperty(h, "key", { - get: function () { - if (this._stack.length > 0) - return this._stack[this._stack.length - 1].key; - }, - enumerable: !0, - }), - Object.defineProperty(h, "value", { - get: function () { - if (this._stack.length > 0) - return this._stack[this._stack.length - 1].value; - }, - enumerable: !0, - }), - Object.defineProperty(h, "index", { - get: function () { - var t = 0, - e = this._stack; - if (0 === e.length) { - var r = this.tree.root; - return r ? r._count : 0; - } - e[e.length - 1].left && (t = e[e.length - 1].left._count); - for (var n = e.length - 2; n >= 0; --n) - e[n + 1] === e[n].right && - (++t, e[n].left && (t += e[n].left._count)); - return t; - }, - enumerable: !0, - }), - (h.next = function () { - var t = this._stack; - if (0 !== t.length) { - var e = t[t.length - 1]; - if (e.right) for (e = e.right; e; ) (t.push(e), (e = e.left)); - else - for (t.pop(); t.length > 0 && t[t.length - 1].right === e; ) - ((e = t[t.length - 1]), t.pop()); - } - }), - Object.defineProperty(h, "hasNext", { - get: function () { - var t = this._stack; - if (0 === t.length) return !1; - if (t[t.length - 1].right) return !0; - for (var e = t.length - 1; e > 0; --e) - if (t[e - 1].left === t[e]) return !0; - return !1; - }, - }), - (h.update = function (t) { - var e = this._stack; - if (0 === e.length) throw new Error("Can't update empty node!"); - var r = new Array(e.length), - n = e[e.length - 1]; - r[r.length - 1] = new a(n._color, n.key, t, n.left, n.right, n._count); - for (var i = e.length - 2; i >= 0; --i) - (n = e[i]).left === e[i + 1] - ? (r[i] = new a( - n._color, - n.key, - n.value, - r[i + 1], - n.right, - n._count, - )) - : (r[i] = new a( - n._color, - n.key, - n.value, - n.left, - r[i + 1], - n._count, - )); - return new c(this.tree._compare, r[0]); - }), - (h.prev = function () { - var t = this._stack; - if (0 !== t.length) { - var e = t[t.length - 1]; - if (e.left) for (e = e.left; e; ) (t.push(e), (e = e.right)); - else - for (t.pop(); t.length > 0 && t[t.length - 1].left === e; ) - ((e = t[t.length - 1]), t.pop()); - } - }), - Object.defineProperty(h, "hasPrev", { - get: function () { - var t = this._stack; - if (0 === t.length) return !1; - if (t[t.length - 1].left) return !0; - for (var e = t.length - 1; e > 0; --e) - if (t[e - 1].right === t[e]) return !0; - return !1; - }, - })); - }, - {}, - ], - 200: [ - function (t, e, r) { - var n = [ - 0.9999999999998099, 676.5203681218851, -1259.1392167224028, - 771.3234287776531, -176.6150291621406, 12.507343278686905, - -0.13857109526572012, 9984369578019572e-21, 1.5056327351493116e-7, - ], - i = 607 / 128, - a = [ - 0.9999999999999971, 57.15623566586292, -59.59796035547549, - 14.136097974741746, -0.4919138160976202, 3399464998481189e-20, - 4652362892704858e-20, -9837447530487956e-20, 0.0001580887032249125, - -0.00021026444172410488, 0.00021743961811521265, -0.0001643181065367639, - 8441822398385275e-20, -26190838401581408e-21, 36899182659531625e-22, - ]; - function o(t) { - if (t < 0) return Number("0/0"); - for (var e = a[0], r = a.length - 1; r > 0; --r) e += a[r] / (t + r); - var n = t + i + 0.5; - return ( - 0.5 * Math.log(2 * Math.PI) + - (t + 0.5) * Math.log(n) - - n + - Math.log(e) - - Math.log(t) - ); - } - ((e.exports = function t(e) { - if (e < 0.5) return Math.PI / (Math.sin(Math.PI * e) * t(1 - e)); - if (e > 100) return Math.exp(o(e)); - e -= 1; - for (var r = n[0], i = 1; i < 9; i++) r += n[i] / (e + i); - var a = e + 7 + 0.5; - return Math.sqrt(2 * Math.PI) * Math.pow(a, e + 0.5) * Math.exp(-a) * r; - }), - (e.exports.log = o)); - }, - {}, - ], - 201: [ - function (t, e, r) { - e.exports = function (t, e) { - if ("string" != typeof t) throw new TypeError("must specify type string"); - if (((e = e || {}), "undefined" == typeof document && !e.canvas)) - return null; - var r = e.canvas || document.createElement("canvas"); - "number" == typeof e.width && (r.width = e.width); - "number" == typeof e.height && (r.height = e.height); - var n, - i = e; - try { - var a = [t]; - 0 === t.indexOf("webgl") && a.push("experimental-" + t); - for (var o = 0; o < a.length; o++) - if ((n = r.getContext(a[o], i))) return n; - } catch (t) { - n = null; - } - return n || null; - }; - }, - {}, - ], - 202: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = new u(t); - return (r.update(e), r); - }; - var n = t("./lib/text.js"), - i = t("./lib/lines.js"), - a = t("./lib/background.js"), - o = t("./lib/cube.js"), - s = t("./lib/ticks.js"), - l = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); - function c(t, e) { - return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t); - } - function u(t) { - ((this.gl = t), - (this.pixelRatio = 1), - (this.bounds = [ - [-10, -10, -10], - [10, 10, 10], - ]), - (this.ticks = [[], [], []]), - (this.autoTicks = !0), - (this.tickSpacing = [1, 1, 1]), - (this.tickEnable = [!0, !0, !0]), - (this.tickFont = ["sans-serif", "sans-serif", "sans-serif"]), - (this.tickSize = [12, 12, 12]), - (this.tickAngle = [0, 0, 0]), - (this.tickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.tickPad = [10, 10, 10]), - (this.lastCubeProps = { cubeEdges: [0, 0, 0], axis: [0, 0, 0] }), - (this.labels = ["x", "y", "z"]), - (this.labelEnable = [!0, !0, !0]), - (this.labelFont = "sans-serif"), - (this.labelSize = [20, 20, 20]), - (this.labelAngle = [0, 0, 0]), - (this.labelColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.labelPad = [10, 10, 10]), - (this.lineEnable = [!0, !0, !0]), - (this.lineMirror = [!1, !1, !1]), - (this.lineWidth = [1, 1, 1]), - (this.lineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.lineTickEnable = [!0, !0, !0]), - (this.lineTickMirror = [!1, !1, !1]), - (this.lineTickLength = [0, 0, 0]), - (this.lineTickWidth = [1, 1, 1]), - (this.lineTickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.gridEnable = [!0, !0, !0]), - (this.gridWidth = [1, 1, 1]), - (this.gridColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.zeroEnable = [!0, !0, !0]), - (this.zeroLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.zeroLineWidth = [2, 2, 2]), - (this.backgroundEnable = [!1, !1, !1]), - (this.backgroundColor = [ - [0.8, 0.8, 0.8, 0.5], - [0.8, 0.8, 0.8, 0.5], - [0.8, 0.8, 0.8, 0.5], - ]), - (this._firstInit = !0), - (this._text = null), - (this._lines = null), - (this._background = a(t))); - } - var f = u.prototype; - function h() { - ((this.primalOffset = [0, 0, 0]), - (this.primalMinor = [0, 0, 0]), - (this.mirrorOffset = [0, 0, 0]), - (this.mirrorMinor = [0, 0, 0])); - } - f.update = function (t) { - function e(e, r, n) { - if (n in t) { - var i, - a = t[n], - o = this[n]; - (e ? Array.isArray(a) && Array.isArray(a[0]) : Array.isArray(a)) - ? (this[n] = i = [r(a[0]), r(a[1]), r(a[2])]) - : (this[n] = i = [r(a), r(a), r(a)]); - for (var s = 0; s < 3; ++s) if (i[s] !== o[s]) return !0; - } - return !1; - } - t = t || {}; - var r, - a = e.bind(this, !1, Number), - o = e.bind(this, !1, Boolean), - l = e.bind(this, !1, String), - c = e.bind(this, !0, function (t) { - if (Array.isArray(t)) { - if (3 === t.length) return [+t[0], +t[1], +t[2], 1]; - if (4 === t.length) return [+t[0], +t[1], +t[2], +t[3]]; - } - return [0, 0, 0, 1]; - }), - u = !1, - f = !1; - if ("bounds" in t) - for (var h = t.bounds, p = 0; p < 2; ++p) - for (var d = 0; d < 3; ++d) - (h[p][d] !== this.bounds[p][d] && (f = !0), - (this.bounds[p][d] = h[p][d])); - if ("ticks" in t) { - ((r = t.ticks), (u = !0), (this.autoTicks = !1)); - for (p = 0; p < 3; ++p) this.tickSpacing[p] = 0; - } else a("tickSpacing") && ((this.autoTicks = !0), (f = !0)); - if ( - (this._firstInit && - ("ticks" in t || "tickSpacing" in t || (this.autoTicks = !0), - (f = !0), - (u = !0), - (this._firstInit = !1)), - f && - this.autoTicks && - ((r = s.create(this.bounds, this.tickSpacing)), (u = !0)), - u) - ) { - for (p = 0; p < 3; ++p) - r[p].sort(function (t, e) { - return t.x - e.x; - }); - s.equal(r, this.ticks) ? (u = !1) : (this.ticks = r); - } - (o("tickEnable"), - l("tickFont") && (u = !0), - a("tickSize"), - a("tickAngle"), - a("tickPad"), - c("tickColor")); - var g = l("labels"); - (l("labelFont") && (g = !0), - o("labelEnable"), - a("labelSize"), - a("labelPad"), - c("labelColor"), - o("lineEnable"), - o("lineMirror"), - a("lineWidth"), - c("lineColor"), - o("lineTickEnable"), - o("lineTickMirror"), - a("lineTickLength"), - a("lineTickWidth"), - c("lineTickColor"), - o("gridEnable"), - a("gridWidth"), - c("gridColor"), - o("zeroEnable"), - c("zeroLineColor"), - a("zeroLineWidth"), - o("backgroundEnable"), - c("backgroundColor"), - this._text - ? this._text && - (g || u) && - this._text.update( - this.bounds, - this.labels, - this.labelFont, - this.ticks, - this.tickFont, - ) - : (this._text = n( - this.gl, - this.bounds, - this.labels, - this.labelFont, - this.ticks, - this.tickFont, - )), - this._lines && u && (this._lines.dispose(), (this._lines = null)), - this._lines || (this._lines = i(this.gl, this.bounds, this.ticks))); - }; - var p = [new h(), new h(), new h()]; - function d(t, e, r, n, i) { - for ( - var a = t.primalOffset, - o = t.primalMinor, - s = t.mirrorOffset, - l = t.mirrorMinor, - c = n[e], - u = 0; - u < 3; - ++u - ) - if (e !== u) { - var f = a, - h = s, - p = o, - d = l; - (c & (1 << u) && ((f = s), (h = a), (p = l), (d = o)), - (f[u] = r[0][u]), - (h[u] = r[1][u]), - i[u] > 0 ? ((p[u] = -1), (d[u] = 0)) : ((p[u] = 0), (d[u] = 1))); - } - } - var g = [0, 0, 0], - m = { model: l, view: l, projection: l }; - ((f.isOpaque = function () { - return !0; - }), - (f.isTransparent = function () { - return !1; - }), - (f.drawTransparent = function (t) {})); - var v = [0, 0, 0], - y = [0, 0, 0], - x = [0, 0, 0]; - ((f.draw = function (t) { - t = t || m; - for ( - var e = this.gl, - r = t.model || l, - n = t.view || l, - i = t.projection || l, - a = this.bounds, - s = o(r, n, i, a), - u = s.cubeEdges, - f = s.axis, - h = n[12], - b = n[13], - _ = n[14], - w = n[15], - k = - (this.pixelRatio * (i[3] * h + i[7] * b + i[11] * _ + i[15] * w)) / - e.drawingBufferHeight, - M = 0; - M < 3; - ++M - ) - ((this.lastCubeProps.cubeEdges[M] = u[M]), - (this.lastCubeProps.axis[M] = f[M])); - var A = p; - for (M = 0; M < 3; ++M) d(p[M], M, this.bounds, u, f); - e = this.gl; - var T = g; - for (M = 0; M < 3; ++M) - this.backgroundEnable[M] ? (T[M] = f[M]) : (T[M] = 0); - (this._background.draw(r, n, i, a, T, this.backgroundColor), - this._lines.bind(r, n, i, this)); - for (M = 0; M < 3; ++M) { - var S = [0, 0, 0]; - f[M] > 0 ? (S[M] = a[1][M]) : (S[M] = a[0][M]); - for (var C = 0; C < 2; ++C) { - var E = (M + 1 + C) % 3, - L = (M + 1 + (1 ^ C)) % 3; - this.gridEnable[E] && - this._lines.drawGrid( - E, - L, - this.bounds, - S, - this.gridColor[E], - this.gridWidth[E] * this.pixelRatio, - ); - } - for (C = 0; C < 2; ++C) { - ((E = (M + 1 + C) % 3), (L = (M + 1 + (1 ^ C)) % 3)); - this.zeroEnable[L] && - a[0][L] <= 0 && - a[1][L] >= 0 && - this._lines.drawZero( - E, - L, - this.bounds, - S, - this.zeroLineColor[L], - this.zeroLineWidth[L] * this.pixelRatio, - ); - } - } - for (M = 0; M < 3; ++M) { - (this.lineEnable[M] && - this._lines.drawAxisLine( - M, - this.bounds, - A[M].primalOffset, - this.lineColor[M], - this.lineWidth[M] * this.pixelRatio, - ), - this.lineMirror[M] && - this._lines.drawAxisLine( - M, - this.bounds, - A[M].mirrorOffset, - this.lineColor[M], - this.lineWidth[M] * this.pixelRatio, - )); - var z = c(v, A[M].primalMinor), - P = c(y, A[M].mirrorMinor), - D = this.lineTickLength; - for (C = 0; C < 3; ++C) { - var O = k / r[5 * C]; - ((z[C] *= D[C] * O), (P[C] *= D[C] * O)); - } - (this.lineTickEnable[M] && - this._lines.drawAxisTicks( - M, - A[M].primalOffset, - z, - this.lineTickColor[M], - this.lineTickWidth[M] * this.pixelRatio, - ), - this.lineTickMirror[M] && - this._lines.drawAxisTicks( - M, - A[M].mirrorOffset, - P, - this.lineTickColor[M], - this.lineTickWidth[M] * this.pixelRatio, - )); - } - (this._lines.unbind(), this._text.bind(r, n, i, this.pixelRatio)); - for (M = 0; M < 3; ++M) { - var I = A[M].primalMinor, - R = c(x, A[M].primalOffset); - for (C = 0; C < 3; ++C) - this.lineTickEnable[M] && - (R[C] += (k * I[C] * Math.max(this.lineTickLength[C], 0)) / r[5 * C]); - if (this.tickEnable[M]) { - for (C = 0; C < 3; ++C) R[C] += (k * I[C] * this.tickPad[C]) / r[5 * C]; - this._text.drawTicks( - M, - this.tickSize[M], - this.tickAngle[M], - R, - this.tickColor[M], - ); - } - if (this.labelEnable[M]) { - for (C = 0; C < 3; ++C) - R[C] += (k * I[C] * this.labelPad[C]) / r[5 * C]; - ((R[M] += 0.5 * (a[0][M] + a[1][M])), - this._text.drawLabel( - M, - this.labelSize[M], - this.labelAngle[M], - R, - this.labelColor[M], - )); - } - } - this._text.unbind(); - }), - (f.dispose = function () { - (this._text.dispose(), - this._lines.dispose(), - this._background.dispose(), - (this._lines = null), - (this._text = null), - (this._background = null), - (this.gl = null)); - })); - }, - { - "./lib/background.js": 203, - "./lib/cube.js": 204, - "./lib/lines.js": 205, - "./lib/text.js": 207, - "./lib/ticks.js": 208, - }, - ], - 203: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = [], r = [], s = 0, l = 0; l < 3; ++l) - for ( - var c = (l + 1) % 3, - u = (l + 2) % 3, - f = [0, 0, 0], - h = [0, 0, 0], - p = -1; - p <= 1; - p += 2 - ) { - (r.push(s, s + 2, s + 1, s + 1, s + 2, s + 3), (f[l] = p), (h[l] = p)); - for (var d = -1; d <= 1; d += 2) { - f[c] = d; - for (var g = -1; g <= 1; g += 2) - ((f[u] = g), e.push(f[0], f[1], f[2], h[0], h[1], h[2]), (s += 1)); - } - var m = c; - ((c = u), (u = m)); - } - var v = n(t, new Float32Array(e)), - y = n(t, new Uint16Array(r), t.ELEMENT_ARRAY_BUFFER), - x = i( - t, - [ - { buffer: v, type: t.FLOAT, size: 3, offset: 0, stride: 24 }, - { buffer: v, type: t.FLOAT, size: 3, offset: 12, stride: 24 }, - ], - y, - ), - b = a(t); - return ( - (b.attributes.position.location = 0), - (b.attributes.normal.location = 1), - new o(t, v, x, b) - ); - }; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("./shaders").bg; - function o(t, e, r, n) { - ((this.gl = t), (this.buffer = e), (this.vao = r), (this.shader = n)); - } - var s = o.prototype; - ((s.draw = function (t, e, r, n, i, a) { - for (var o = !1, s = 0; s < 3; ++s) o = o || i[s]; - if (o) { - var l = this.gl; - (l.enable(l.POLYGON_OFFSET_FILL), - l.polygonOffset(1, 2), - this.shader.bind(), - (this.shader.uniforms = { - model: t, - view: e, - projection: r, - bounds: n, - enable: i, - colors: a, - }), - this.vao.bind(), - this.vao.draw(this.gl.TRIANGLES, 36), - this.vao.unbind(), - l.disable(l.POLYGON_OFFSET_FILL)); - } - }), - (s.dispose = function () { - (this.vao.dispose(), this.buffer.dispose(), this.shader.dispose()); - })); - }, - { "./shaders": 206, "gl-buffer": 210, "gl-vao": 279 }, - ], - 204: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, a) { - (i(s, e, t), i(s, r, s)); - for (var p = 0, y = 0; y < 2; ++y) { - u[2] = a[y][2]; - for (var x = 0; x < 2; ++x) { - u[1] = a[x][1]; - for (var b = 0; b < 2; ++b) ((u[0] = a[b][0]), h(l[p], u, s), (p += 1)); - } - } - for (var _ = -1, y = 0; y < 8; ++y) { - for (var w = l[y][3], k = 0; k < 3; ++k) c[y][k] = l[y][k] / w; - w < 0 && (_ < 0 ? (_ = y) : c[y][2] < c[_][2] && (_ = y)); - } - if (_ < 0) { - _ = 0; - for (var M = 0; M < 3; ++M) { - for ( - var A = (M + 2) % 3, T = (M + 1) % 3, S = -1, C = -1, E = 0; - E < 2; - ++E - ) { - var L = E << M, - z = L + (E << A) + ((1 - E) << T), - P = L + ((1 - E) << A) + (E << T); - o(c[L], c[z], c[P], f) < 0 || (E ? (S = 1) : (C = 1)); - } - if (S < 0 || C < 0) C > S && (_ |= 1 << M); - else { - for (var E = 0; E < 2; ++E) { - var L = E << M, - z = L + (E << A) + ((1 - E) << T), - P = L + ((1 - E) << A) + (E << T), - D = d([l[L], l[z], l[P], l[L + (1 << A) + (1 << T)]]); - E ? (S = D) : (C = D); - } - C > S && (_ |= 1 << M); - } - } - } - for (var O = 7 ^ _, I = -1, y = 0; y < 8; ++y) - y !== _ && y !== O && (I < 0 ? (I = y) : c[I][1] > c[y][1] && (I = y)); - for (var R = -1, y = 0; y < 3; ++y) { - var B = I ^ (1 << y); - if (B !== _ && B !== O) { - R < 0 && (R = B); - var T = c[B]; - T[0] < c[R][0] && (R = B); - } - } - for (var F = -1, y = 0; y < 3; ++y) { - var B = I ^ (1 << y); - if (B !== _ && B !== O && B !== R) { - F < 0 && (F = B); - var T = c[B]; - T[0] > c[F][0] && (F = B); - } - } - var N = g; - ((N[0] = N[1] = N[2] = 0), - (N[n.log2(R ^ I)] = I & R), - (N[n.log2(I ^ F)] = I & F)); - var j = 7 ^ F; - j === _ || j === O - ? ((j = 7 ^ R), (N[n.log2(F ^ j)] = j & F)) - : (N[n.log2(R ^ j)] = j & R); - for (var V = m, U = _, M = 0; M < 3; ++M) V[M] = U & (1 << M) ? -1 : 1; - return v; - }; - var n = t("bit-twiddle"), - i = t("gl-mat4/multiply"), - a = (t("gl-mat4/invert"), t("split-polygon")), - o = t("robust-orientation"), - s = new Array(16), - l = (new Array(16), new Array(8)), - c = new Array(8), - u = new Array(3), - f = [0, 0, 0]; - function h(t, e, r) { - for (var n = 0; n < 4; ++n) { - t[n] = r[12 + n]; - for (var i = 0; i < 3; ++i) t[n] += e[i] * r[4 * i + n]; - } - } - !(function () { - for (var t = 0; t < 8; ++t) ((l[t] = [1, 1, 1, 1]), (c[t] = [1, 1, 1])); - })(); - var p = [ - [0, 0, 1, 0, 0], - [0, 0, -1, 1, 0], - [0, -1, 0, 1, 0], - [0, 1, 0, 1, 0], - [-1, 0, 0, 1, 0], - [1, 0, 0, 1, 0], - ]; - function d(t) { - for (var e = 0; e < p.length; ++e) - if ((t = a.positive(t, p[e])).length < 3) return 0; - var r = t[0], - n = r[0] / r[3], - i = r[1] / r[3], - o = 0; - for (e = 1; e + 1 < t.length; ++e) { - var s = t[e], - l = t[e + 1], - c = s[0] / s[3] - n, - u = s[1] / s[3] - i, - f = l[0] / l[3] - n, - h = l[1] / l[3] - i; - o += Math.abs(c * h - u * f); - } - return o; - } - var g = [1, 1, 1], - m = [0, 0, 0], - v = { cubeEdges: g, axis: m }; - }, - { - "bit-twiddle": 73, - "gl-mat4/invert": 230, - "gl-mat4/multiply": 232, - "robust-orientation": 388, - "split-polygon": 405, - }, - ], - 205: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var o = [], - s = [0, 0, 0], - l = [0, 0, 0], - c = [0, 0, 0], - u = [0, 0, 0]; - o.push(0, 0, 1, 0, 1, 1, 0, 0, -1, 0, 0, -1, 0, 1, 1, 0, 1, -1); - for (var f = 0; f < 3; ++f) { - for (var h = (o.length / 3) | 0, d = 0; d < r[f].length; ++d) { - var g = +r[f][d].x; - o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); - } - var m = (o.length / 3) | 0; - ((s[f] = h), (l[f] = m - h)); - for (var h = (o.length / 3) | 0, v = 0; v < r[f].length; ++v) { - var g = +r[f][v].x; - o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); - } - var m = (o.length / 3) | 0; - ((c[f] = h), (u[f] = m - h)); - } - var y = n(t, new Float32Array(o)), - x = i(t, [{ buffer: y, type: t.FLOAT, size: 3, stride: 0, offset: 0 }]), - b = a(t); - return ( - (b.attributes.position.location = 0), - new p(t, y, x, b, l, s, u, c) - ); - }; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("./shaders").line, - o = [0, 0, 0], - s = [0, 0, 0], - l = [0, 0, 0], - c = [0, 0, 0], - u = [1, 1]; - function f(t) { - return ((t[0] = t[1] = t[2] = 0), t); - } - function h(t, e) { - return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t); - } - function p(t, e, r, n, i, a, o, s) { - ((this.gl = t), - (this.vertBuffer = e), - (this.vao = r), - (this.shader = n), - (this.tickCount = i), - (this.tickOffset = a), - (this.gridCount = o), - (this.gridOffset = s)); - } - var d = p.prototype; - ((d.bind = function (t, e, r) { - (this.shader.bind(), - (this.shader.uniforms.model = t), - (this.shader.uniforms.view = e), - (this.shader.uniforms.projection = r), - (u[0] = this.gl.drawingBufferWidth), - (u[1] = this.gl.drawingBufferHeight), - (this.shader.uniforms.screenShape = u), - this.vao.bind()); - }), - (d.unbind = function () { - this.vao.unbind(); - }), - (d.drawAxisLine = function (t, e, r, n, i) { - var a = f(s); - ((this.shader.uniforms.majorAxis = s), - (a[t] = e[1][t] - e[0][t]), - (this.shader.uniforms.minorAxis = a)); - var o, - u = h(c, r); - ((u[t] += e[0][t]), - (this.shader.uniforms.offset = u), - (this.shader.uniforms.lineWidth = i), - (this.shader.uniforms.color = n), - ((o = f(l))[(t + 2) % 3] = 1), - (this.shader.uniforms.screenAxis = o), - this.vao.draw(this.gl.TRIANGLES, 6), - ((o = f(l))[(t + 1) % 3] = 1), - (this.shader.uniforms.screenAxis = o), - this.vao.draw(this.gl.TRIANGLES, 6)); - }), - (d.drawAxisTicks = function (t, e, r, n, i) { - if (this.tickCount[t]) { - var a = f(o); - ((a[t] = 1), - (this.shader.uniforms.majorAxis = a), - (this.shader.uniforms.offset = e), - (this.shader.uniforms.minorAxis = r), - (this.shader.uniforms.color = n), - (this.shader.uniforms.lineWidth = i)); - var s = f(l); - ((s[t] = 1), - (this.shader.uniforms.screenAxis = s), - this.vao.draw( - this.gl.TRIANGLES, - this.tickCount[t], - this.tickOffset[t], - )); - } - }), - (d.drawGrid = function (t, e, r, n, i, a) { - if (this.gridCount[t]) { - var u = f(s); - ((u[e] = r[1][e] - r[0][e]), (this.shader.uniforms.minorAxis = u)); - var p = h(c, n); - ((p[e] += r[0][e]), (this.shader.uniforms.offset = p)); - var d = f(o); - ((d[t] = 1), (this.shader.uniforms.majorAxis = d)); - var g = f(l); - ((g[t] = 1), - (this.shader.uniforms.screenAxis = g), - (this.shader.uniforms.lineWidth = a), - (this.shader.uniforms.color = i), - this.vao.draw( - this.gl.TRIANGLES, - this.gridCount[t], - this.gridOffset[t], - )); - } - }), - (d.drawZero = function (t, e, r, n, i, a) { - var o = f(s); - ((this.shader.uniforms.majorAxis = o), - (o[t] = r[1][t] - r[0][t]), - (this.shader.uniforms.minorAxis = o)); - var u = h(c, n); - ((u[t] += r[0][t]), (this.shader.uniforms.offset = u)); - var p = f(l); - ((p[e] = 1), - (this.shader.uniforms.screenAxis = p), - (this.shader.uniforms.lineWidth = a), - (this.shader.uniforms.color = i), - this.vao.draw(this.gl.TRIANGLES, 6)); - }), - (d.dispose = function () { - (this.vao.dispose(), this.vertBuffer.dispose(), this.shader.dispose()); - })); - }, - { "./shaders": 206, "gl-buffer": 210, "gl-vao": 279 }, - ], - 206: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"), - i = t("gl-shader"), - a = n([ - "#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", - ]); - r.line = function (t) { - return i(t, a, o, null, [{ name: "position", type: "vec3" }]); - }; - var s = n([ - "#define GLSLIFY 1\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvoid main() { \n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n mat2 planeXform = scale * mat2(cos(angle), sin(angle),\n -sin(angle), cos(angle));\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n vec4 worldPosition = model * vec4(dataPosition, 1);\n \n //Compute clip position\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n //Apply text offset in clip coordinates\n clipPosition += vec4(viewOffset, 0, 0);\n\n //Done\n gl_Position = clipPosition;\n}", - ]), - l = n([ - "precision mediump float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", - ]); - r.text = function (t) { - return i(t, s, l, null, [{ name: "position", type: "vec3" }]); - }; - var c = n([ - "#define GLSLIFY 1\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n if(dot(normal, enable) > 0.0) {\n vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n colorChannel = abs(normal);\n}", - ]), - u = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] + \n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}", - ]); - r.bg = function (t) { - return i(t, c, u, null, [ - { name: "position", type: "vec3" }, - { name: "normal", type: "vec3" }, - ]); - }; - }, - { "gl-shader": 263, glslify: 295 }, - ], - 207: [ - function (t, e, r) { - (function (r) { - "use strict"; - e.exports = function (t, e, r, a, s, l) { - var u = n(t), - f = i(t, [{ buffer: u, size: 3 }]), - h = o(t); - h.attributes.position.location = 0; - var p = new c(t, h, u, f); - return (p.update(e, r, a, s, l), p); - }; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("vectorize-text"), - o = t("./shaders").text, - s = window || r.global || {}, - l = s.__TEXT_CACHE || {}; - s.__TEXT_CACHE = {}; - function c(t, e, r, n) { - ((this.gl = t), - (this.shader = e), - (this.buffer = r), - (this.vao = n), - (this.tickOffset = - this.tickCount = - this.labelOffset = - this.labelCount = - null)); - } - var u = c.prototype, - f = [0, 0]; - ((u.bind = function (t, e, r, n) { - (this.vao.bind(), this.shader.bind()); - var i = this.shader.uniforms; - ((i.model = t), - (i.view = e), - (i.projection = r), - (i.pixelScale = n), - (f[0] = this.gl.drawingBufferWidth), - (f[1] = this.gl.drawingBufferHeight), - (this.shader.uniforms.resolution = f)); - }), - (u.unbind = function () { - this.vao.unbind(); - }), - (u.update = function (t, e, r, n, i) { - this.gl; - var o = []; - function s(t, e, r, n) { - var i = l[r]; - i || (i = l[r] = {}); - var s = i[e]; - s || - (s = i[e] = - (function (t, e) { - try { - return a(t, e); - } catch (t) { - return ( - console.warn("error vectorizing text:", t), - { cells: [], positions: [] } - ); - } - })(e, { - triangles: !0, - font: r, - textAlign: "center", - textBaseline: "middle", - })); - for ( - var c = (n || 12) / 12, - u = s.positions, - f = s.cells, - h = 0, - p = f.length; - h < p; - ++h - ) - for (var d = f[h], g = 2; g >= 0; --g) { - var m = u[d[g]]; - o.push(c * m[0], -c * m[1], t); - } - } - for ( - var c = [0, 0, 0], u = [0, 0, 0], f = [0, 0, 0], h = [0, 0, 0], p = 0; - p < 3; - ++p - ) { - ((f[p] = (o.length / 3) | 0), - s(0.5 * (t[0][p] + t[1][p]), e[p], r), - (h[p] = ((o.length / 3) | 0) - f[p]), - (c[p] = (o.length / 3) | 0)); - for (var d = 0; d < n[p].length; ++d) - n[p][d].text && - s( - n[p][d].x, - n[p][d].text, - n[p][d].font || i, - n[p][d].fontSize || 12, - ); - u[p] = ((o.length / 3) | 0) - c[p]; - } - (this.buffer.update(o), - (this.tickOffset = c), - (this.tickCount = u), - (this.labelOffset = f), - (this.labelCount = h)); - })); - var h = [0, 0, 0]; - u.drawTicks = function (t, e, r, n, i) { - if (this.tickCount[t]) { - var a = h; - ((a[0] = a[1] = a[2] = 0), - (a[t] = 1), - (this.shader.uniforms.axis = a), - (this.shader.uniforms.color = i), - (this.shader.uniforms.angle = r), - (this.shader.uniforms.scale = e), - (this.shader.uniforms.offset = n), - this.vao.draw( - this.gl.TRIANGLES, - this.tickCount[t], - this.tickOffset[t], - )); - } - }; - var p = [0, 0, 0]; - ((u.drawLabel = function (t, e, r, n, i) { - this.labelCount[t] && - ((this.shader.uniforms.axis = p), - (this.shader.uniforms.color = i), - (this.shader.uniforms.angle = r), - (this.shader.uniforms.scale = e), - (this.shader.uniforms.offset = n), - this.vao.draw( - this.gl.TRIANGLES, - this.labelCount[t], - this.labelOffset[t], - )); - }), - (u.dispose = function () { - (this.shader.dispose(), this.vao.dispose(), this.buffer.dispose()); - })); - }).call(this, t("_process")); - }, - { - "./shaders": 206, - _process: 366, - "gl-buffer": 210, - "gl-vao": 279, - "vectorize-text": 430, - }, - ], - 208: [ - function (t, e, r) { - "use strict"; - function n(t, e) { - var r = t + "", - n = r.indexOf("."), - i = 0; - n >= 0 && (i = r.length - n - 1); - var a = Math.pow(10, i), - o = Math.round(t * e * a), - s = o + ""; - if (s.indexOf("e") >= 0) return s; - var l = o / a, - c = o % a; - o < 0 - ? ((l = 0 | -Math.ceil(l)), (c = 0 | -c)) - : ((l = 0 | Math.floor(l)), (c |= 0)); - var u = "" + l; - if ((o < 0 && (u = "-" + u), i)) { - for (var f = "" + c; f.length < i; ) f = "0" + f; - return u + "." + f; - } - return u; - } - ((r.create = function (t, e) { - for (var r = [], i = 0; i < 3; ++i) { - for (var a = [], o = (t[0][i], t[1][i], 0); o * e[i] <= t[1][i]; ++o) - a.push({ x: o * e[i], text: n(e[i], o) }); - for (var o = -1; o * e[i] >= t[0][i]; --o) - a.push({ x: o * e[i], text: n(e[i], o) }); - r.push(a); - } - return r; - }), - (r.equal = function (t, e) { - for (var r = 0; r < 3; ++r) { - if (t[r].length !== e[r].length) return !1; - for (var n = 0; n < t[r].length; ++n) { - var i = t[r][n], - a = e[r][n]; - if ( - i.x !== a.x || - i.text !== a.text || - i.font !== a.font || - i.fontColor !== a.fontColor || - i.fontSize !== a.fontSize || - i.dx !== a.dx || - i.dy !== a.dy - ) - return !1; - } - } - return !0; - })); - }, - {}, - ], - 209: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, l, f) { - var h = e.model || c, - p = e.view || c, - v = e.projection || c, - y = t.bounds, - x = (f = f || a(h, p, v, y)).axis; - f.edges; - (o(u, p, h), o(u, v, u)); - for (var b = g, _ = 0; _ < 3; ++_) - ((b[_].lo = 1 / 0), (b[_].hi = -1 / 0), (b[_].pixelsPerDataUnit = 1 / 0)); - var w = n(s(u, u)); - s(u, u); - for (var k = 0; k < 3; ++k) { - var M = (k + 1) % 3, - A = (k + 2) % 3, - T = m; - t: for (var _ = 0; _ < 2; ++_) { - var S = []; - if (x[k] < 0 != !!_) { - T[k] = y[_][k]; - for (var C = 0; C < 2; ++C) { - T[M] = y[C ^ _][M]; - for (var E = 0; E < 2; ++E) - ((T[A] = y[E ^ C ^ _][A]), S.push(T.slice())); - } - for (var C = 0; C < w.length; ++C) { - if (0 === S.length) continue t; - S = i.positive(S, w[C]); - } - for (var C = 0; C < S.length; ++C) - for (var A = S[C], L = d(m, u, A, r, l), E = 0; E < 3; ++E) - ((b[E].lo = Math.min(b[E].lo, A[E])), - (b[E].hi = Math.max(b[E].hi, A[E])), - E !== k && - (b[E].pixelsPerDataUnit = Math.min( - b[E].pixelsPerDataUnit, - Math.abs(L[E]), - ))); - } - } - } - return b; - }; - var n = t("extract-frustum-planes"), - i = t("split-polygon"), - a = t("./lib/cube.js"), - o = t("gl-mat4/multiply"), - s = t("gl-mat4/transpose"), - l = t("gl-vec4/transformMat4"), - c = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]), - u = new Float32Array(16); - function f(t, e, r) { - ((this.lo = t), (this.hi = e), (this.pixelsPerDataUnit = r)); - } - var h = [0, 0, 0, 1], - p = [0, 0, 0, 1]; - function d(t, e, r, n, i) { - for (var a = 0; a < 3; ++a) { - for (var o = h, s = p, c = 0; c < 3; ++c) s[c] = o[c] = r[c]; - ((s[3] = o[3] = 1), - (s[a] += 1), - l(s, s, e), - s[3] < 0 && (t[a] = 1 / 0), - (o[a] -= 1), - l(o, o, e), - o[3] < 0 && (t[a] = 1 / 0)); - var u = (o[0] / o[3] - s[0] / s[3]) * n, - f = (o[1] / o[3] - s[1] / s[3]) * i; - t[a] = 0.25 * Math.sqrt(u * u + f * f); - } - return t; - } - var g = [ - new f(1 / 0, -1 / 0, 1 / 0), - new f(1 / 0, -1 / 0, 1 / 0), - new f(1 / 0, -1 / 0, 1 / 0), - ], - m = [0, 0, 0]; - }, - { - "./lib/cube.js": 204, - "extract-frustum-planes": 195, - "gl-mat4/multiply": 232, - "gl-mat4/transpose": 240, - "gl-vec4/transformMat4": 285, - "split-polygon": 405, - }, - ], - 210: [ - function (t, e, r) { - "use strict"; - var n = t("typedarray-pool"), - i = t("ndarray-ops"), - a = t("ndarray"), - o = [ - "uint8", - "uint8_clamped", - "uint16", - "uint32", - "int8", - "int16", - "int32", - "float32", - ]; - function s(t, e, r, n, i) { - ((this.gl = t), - (this.type = e), - (this.handle = r), - (this.length = n), - (this.usage = i)); - } - var l = s.prototype; - function c(t, e, r, n, i, a) { - var o = i.length * i.BYTES_PER_ELEMENT; - if (a < 0) return (t.bufferData(e, i, n), o); - if (o + a > r) - throw new Error("gl-buffer: If resizing buffer, must not specify offset"); - return (t.bufferSubData(e, a, i), r); - } - function u(t, e) { - for (var r = n.malloc(t.length, e), i = t.length, a = 0; a < i; ++a) - r[a] = t[a]; - return r; - } - ((l.bind = function () { - this.gl.bindBuffer(this.type, this.handle); - }), - (l.unbind = function () { - this.gl.bindBuffer(this.type, null); - }), - (l.dispose = function () { - this.gl.deleteBuffer(this.handle); - }), - (l.update = function (t, e) { - if ( - ("number" != typeof e && (e = -1), - this.bind(), - "object" == typeof t && void 0 !== t.shape) - ) { - var r = t.dtype; - if ( - (o.indexOf(r) < 0 && (r = "float32"), - this.type === this.gl.ELEMENT_ARRAY_BUFFER) - ) - r = - gl.getExtension("OES_element_index_uint") && "uint16" !== r - ? "uint32" - : "uint16"; - if ( - r === t.dtype && - (function (t, e) { - for (var r = 1, n = e.length - 1; n >= 0; --n) { - if (e[n] !== r) return !1; - r *= t[n]; - } - return !0; - })(t.shape, t.stride) - ) - 0 === t.offset && t.data.length === t.shape[0] - ? (this.length = c( - this.gl, - this.type, - this.length, - this.usage, - t.data, - e, - )) - : (this.length = c( - this.gl, - this.type, - this.length, - this.usage, - t.data.subarray(t.offset, t.shape[0]), - e, - )); - else { - var s = n.malloc(t.size, r), - l = a(s, t.shape); - (i.assign(l, t), - (this.length = c( - this.gl, - this.type, - this.length, - this.usage, - e < 0 ? s : s.subarray(0, t.size), - e, - )), - n.free(s)); - } - } else if (Array.isArray(t)) { - var f; - ((f = - this.type === this.gl.ELEMENT_ARRAY_BUFFER - ? u(t, "uint16") - : u(t, "float32")), - (this.length = c( - this.gl, - this.type, - this.length, - this.usage, - e < 0 ? f : f.subarray(0, t.length), - e, - )), - n.free(f)); - } else if ("object" == typeof t && "number" == typeof t.length) - this.length = c(this.gl, this.type, this.length, this.usage, t, e); - else { - if ("number" != typeof t && void 0 !== t) - throw new Error("gl-buffer: Invalid data type"); - if (e >= 0) - throw new Error( - "gl-buffer: Cannot specify offset when resizing buffer", - ); - ((t |= 0) <= 0 && (t = 1), - this.gl.bufferData(this.type, 0 | t, this.usage), - (this.length = t)); - } - }), - (e.exports = function (t, e, r, n) { - if ( - ((r = r || t.ARRAY_BUFFER), - (n = n || t.DYNAMIC_DRAW), - r !== t.ARRAY_BUFFER && r !== t.ELEMENT_ARRAY_BUFFER) - ) - throw new Error( - "gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER", - ); - if (n !== t.DYNAMIC_DRAW && n !== t.STATIC_DRAW && n !== t.STREAM_DRAW) - throw new Error( - "gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW", - ); - var i = new s(t, r, t.createBuffer(), 0, n); - return (i.update(e), i); - })); - }, - { ndarray: 335, "ndarray-ops": 329, "typedarray-pool": 423 }, - ], - 211: [ - function (t, e, r) { - e.exports = { - 0: "NONE", - 1: "ONE", - 2: "LINE_LOOP", - 3: "LINE_STRIP", - 4: "TRIANGLES", - 5: "TRIANGLE_STRIP", - 6: "TRIANGLE_FAN", - 256: "DEPTH_BUFFER_BIT", - 512: "NEVER", - 513: "LESS", - 514: "EQUAL", - 515: "LEQUAL", - 516: "GREATER", - 517: "NOTEQUAL", - 518: "GEQUAL", - 519: "ALWAYS", - 768: "SRC_COLOR", - 769: "ONE_MINUS_SRC_COLOR", - 770: "SRC_ALPHA", - 771: "ONE_MINUS_SRC_ALPHA", - 772: "DST_ALPHA", - 773: "ONE_MINUS_DST_ALPHA", - 774: "DST_COLOR", - 775: "ONE_MINUS_DST_COLOR", - 776: "SRC_ALPHA_SATURATE", - 1024: "STENCIL_BUFFER_BIT", - 1028: "FRONT", - 1029: "BACK", - 1032: "FRONT_AND_BACK", - 1280: "INVALID_ENUM", - 1281: "INVALID_VALUE", - 1282: "INVALID_OPERATION", - 1285: "OUT_OF_MEMORY", - 1286: "INVALID_FRAMEBUFFER_OPERATION", - 2304: "CW", - 2305: "CCW", - 2849: "LINE_WIDTH", - 2884: "CULL_FACE", - 2885: "CULL_FACE_MODE", - 2886: "FRONT_FACE", - 2928: "DEPTH_RANGE", - 2929: "DEPTH_TEST", - 2930: "DEPTH_WRITEMASK", - 2931: "DEPTH_CLEAR_VALUE", - 2932: "DEPTH_FUNC", - 2960: "STENCIL_TEST", - 2961: "STENCIL_CLEAR_VALUE", - 2962: "STENCIL_FUNC", - 2963: "STENCIL_VALUE_MASK", - 2964: "STENCIL_FAIL", - 2965: "STENCIL_PASS_DEPTH_FAIL", - 2966: "STENCIL_PASS_DEPTH_PASS", - 2967: "STENCIL_REF", - 2968: "STENCIL_WRITEMASK", - 2978: "VIEWPORT", - 3024: "DITHER", - 3042: "BLEND", - 3088: "SCISSOR_BOX", - 3089: "SCISSOR_TEST", - 3106: "COLOR_CLEAR_VALUE", - 3107: "COLOR_WRITEMASK", - 3317: "UNPACK_ALIGNMENT", - 3333: "PACK_ALIGNMENT", - 3379: "MAX_TEXTURE_SIZE", - 3386: "MAX_VIEWPORT_DIMS", - 3408: "SUBPIXEL_BITS", - 3410: "RED_BITS", - 3411: "GREEN_BITS", - 3412: "BLUE_BITS", - 3413: "ALPHA_BITS", - 3414: "DEPTH_BITS", - 3415: "STENCIL_BITS", - 3553: "TEXTURE_2D", - 4352: "DONT_CARE", - 4353: "FASTEST", - 4354: "NICEST", - 5120: "BYTE", - 5121: "UNSIGNED_BYTE", - 5122: "SHORT", - 5123: "UNSIGNED_SHORT", - 5124: "INT", - 5125: "UNSIGNED_INT", - 5126: "FLOAT", - 5386: "INVERT", - 5890: "TEXTURE", - 6401: "STENCIL_INDEX", - 6402: "DEPTH_COMPONENT", - 6406: "ALPHA", - 6407: "RGB", - 6408: "RGBA", - 6409: "LUMINANCE", - 6410: "LUMINANCE_ALPHA", - 7680: "KEEP", - 7681: "REPLACE", - 7682: "INCR", - 7683: "DECR", - 7936: "VENDOR", - 7937: "RENDERER", - 7938: "VERSION", - 9728: "NEAREST", - 9729: "LINEAR", - 9984: "NEAREST_MIPMAP_NEAREST", - 9985: "LINEAR_MIPMAP_NEAREST", - 9986: "NEAREST_MIPMAP_LINEAR", - 9987: "LINEAR_MIPMAP_LINEAR", - 10240: "TEXTURE_MAG_FILTER", - 10241: "TEXTURE_MIN_FILTER", - 10242: "TEXTURE_WRAP_S", - 10243: "TEXTURE_WRAP_T", - 10497: "REPEAT", - 10752: "POLYGON_OFFSET_UNITS", - 16384: "COLOR_BUFFER_BIT", - 32769: "CONSTANT_COLOR", - 32770: "ONE_MINUS_CONSTANT_COLOR", - 32771: "CONSTANT_ALPHA", - 32772: "ONE_MINUS_CONSTANT_ALPHA", - 32773: "BLEND_COLOR", - 32774: "FUNC_ADD", - 32777: "BLEND_EQUATION_RGB", - 32778: "FUNC_SUBTRACT", - 32779: "FUNC_REVERSE_SUBTRACT", - 32819: "UNSIGNED_SHORT_4_4_4_4", - 32820: "UNSIGNED_SHORT_5_5_5_1", - 32823: "POLYGON_OFFSET_FILL", - 32824: "POLYGON_OFFSET_FACTOR", - 32854: "RGBA4", - 32855: "RGB5_A1", - 32873: "TEXTURE_BINDING_2D", - 32926: "SAMPLE_ALPHA_TO_COVERAGE", - 32928: "SAMPLE_COVERAGE", - 32936: "SAMPLE_BUFFERS", - 32937: "SAMPLES", - 32938: "SAMPLE_COVERAGE_VALUE", - 32939: "SAMPLE_COVERAGE_INVERT", - 32968: "BLEND_DST_RGB", - 32969: "BLEND_SRC_RGB", - 32970: "BLEND_DST_ALPHA", - 32971: "BLEND_SRC_ALPHA", - 33071: "CLAMP_TO_EDGE", - 33170: "GENERATE_MIPMAP_HINT", - 33189: "DEPTH_COMPONENT16", - 33306: "DEPTH_STENCIL_ATTACHMENT", - 33635: "UNSIGNED_SHORT_5_6_5", - 33648: "MIRRORED_REPEAT", - 33901: "ALIASED_POINT_SIZE_RANGE", - 33902: "ALIASED_LINE_WIDTH_RANGE", - 33984: "TEXTURE0", - 33985: "TEXTURE1", - 33986: "TEXTURE2", - 33987: "TEXTURE3", - 33988: "TEXTURE4", - 33989: "TEXTURE5", - 33990: "TEXTURE6", - 33991: "TEXTURE7", - 33992: "TEXTURE8", - 33993: "TEXTURE9", - 33994: "TEXTURE10", - 33995: "TEXTURE11", - 33996: "TEXTURE12", - 33997: "TEXTURE13", - 33998: "TEXTURE14", - 33999: "TEXTURE15", - 34000: "TEXTURE16", - 34001: "TEXTURE17", - 34002: "TEXTURE18", - 34003: "TEXTURE19", - 34004: "TEXTURE20", - 34005: "TEXTURE21", - 34006: "TEXTURE22", - 34007: "TEXTURE23", - 34008: "TEXTURE24", - 34009: "TEXTURE25", - 34010: "TEXTURE26", - 34011: "TEXTURE27", - 34012: "TEXTURE28", - 34013: "TEXTURE29", - 34014: "TEXTURE30", - 34015: "TEXTURE31", - 34016: "ACTIVE_TEXTURE", - 34024: "MAX_RENDERBUFFER_SIZE", - 34041: "DEPTH_STENCIL", - 34055: "INCR_WRAP", - 34056: "DECR_WRAP", - 34067: "TEXTURE_CUBE_MAP", - 34068: "TEXTURE_BINDING_CUBE_MAP", - 34069: "TEXTURE_CUBE_MAP_POSITIVE_X", - 34070: "TEXTURE_CUBE_MAP_NEGATIVE_X", - 34071: "TEXTURE_CUBE_MAP_POSITIVE_Y", - 34072: "TEXTURE_CUBE_MAP_NEGATIVE_Y", - 34073: "TEXTURE_CUBE_MAP_POSITIVE_Z", - 34074: "TEXTURE_CUBE_MAP_NEGATIVE_Z", - 34076: "MAX_CUBE_MAP_TEXTURE_SIZE", - 34338: "VERTEX_ATTRIB_ARRAY_ENABLED", - 34339: "VERTEX_ATTRIB_ARRAY_SIZE", - 34340: "VERTEX_ATTRIB_ARRAY_STRIDE", - 34341: "VERTEX_ATTRIB_ARRAY_TYPE", - 34342: "CURRENT_VERTEX_ATTRIB", - 34373: "VERTEX_ATTRIB_ARRAY_POINTER", - 34466: "NUM_COMPRESSED_TEXTURE_FORMATS", - 34467: "COMPRESSED_TEXTURE_FORMATS", - 34660: "BUFFER_SIZE", - 34661: "BUFFER_USAGE", - 34816: "STENCIL_BACK_FUNC", - 34817: "STENCIL_BACK_FAIL", - 34818: "STENCIL_BACK_PASS_DEPTH_FAIL", - 34819: "STENCIL_BACK_PASS_DEPTH_PASS", - 34877: "BLEND_EQUATION_ALPHA", - 34921: "MAX_VERTEX_ATTRIBS", - 34922: "VERTEX_ATTRIB_ARRAY_NORMALIZED", - 34930: "MAX_TEXTURE_IMAGE_UNITS", - 34962: "ARRAY_BUFFER", - 34963: "ELEMENT_ARRAY_BUFFER", - 34964: "ARRAY_BUFFER_BINDING", - 34965: "ELEMENT_ARRAY_BUFFER_BINDING", - 34975: "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", - 35040: "STREAM_DRAW", - 35044: "STATIC_DRAW", - 35048: "DYNAMIC_DRAW", - 35632: "FRAGMENT_SHADER", - 35633: "VERTEX_SHADER", - 35660: "MAX_VERTEX_TEXTURE_IMAGE_UNITS", - 35661: "MAX_COMBINED_TEXTURE_IMAGE_UNITS", - 35663: "SHADER_TYPE", - 35664: "FLOAT_VEC2", - 35665: "FLOAT_VEC3", - 35666: "FLOAT_VEC4", - 35667: "INT_VEC2", - 35668: "INT_VEC3", - 35669: "INT_VEC4", - 35670: "BOOL", - 35671: "BOOL_VEC2", - 35672: "BOOL_VEC3", - 35673: "BOOL_VEC4", - 35674: "FLOAT_MAT2", - 35675: "FLOAT_MAT3", - 35676: "FLOAT_MAT4", - 35678: "SAMPLER_2D", - 35680: "SAMPLER_CUBE", - 35712: "DELETE_STATUS", - 35713: "COMPILE_STATUS", - 35714: "LINK_STATUS", - 35715: "VALIDATE_STATUS", - 35716: "INFO_LOG_LENGTH", - 35717: "ATTACHED_SHADERS", - 35718: "ACTIVE_UNIFORMS", - 35719: "ACTIVE_UNIFORM_MAX_LENGTH", - 35720: "SHADER_SOURCE_LENGTH", - 35721: "ACTIVE_ATTRIBUTES", - 35722: "ACTIVE_ATTRIBUTE_MAX_LENGTH", - 35724: "SHADING_LANGUAGE_VERSION", - 35725: "CURRENT_PROGRAM", - 36003: "STENCIL_BACK_REF", - 36004: "STENCIL_BACK_VALUE_MASK", - 36005: "STENCIL_BACK_WRITEMASK", - 36006: "FRAMEBUFFER_BINDING", - 36007: "RENDERBUFFER_BINDING", - 36048: "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", - 36049: "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", - 36050: "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", - 36051: "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", - 36053: "FRAMEBUFFER_COMPLETE", - 36054: "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", - 36055: "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", - 36057: "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", - 36061: "FRAMEBUFFER_UNSUPPORTED", - 36064: "COLOR_ATTACHMENT0", - 36096: "DEPTH_ATTACHMENT", - 36128: "STENCIL_ATTACHMENT", - 36160: "FRAMEBUFFER", - 36161: "RENDERBUFFER", - 36162: "RENDERBUFFER_WIDTH", - 36163: "RENDERBUFFER_HEIGHT", - 36164: "RENDERBUFFER_INTERNAL_FORMAT", - 36168: "STENCIL_INDEX8", - 36176: "RENDERBUFFER_RED_SIZE", - 36177: "RENDERBUFFER_GREEN_SIZE", - 36178: "RENDERBUFFER_BLUE_SIZE", - 36179: "RENDERBUFFER_ALPHA_SIZE", - 36180: "RENDERBUFFER_DEPTH_SIZE", - 36181: "RENDERBUFFER_STENCIL_SIZE", - 36194: "RGB565", - 36336: "LOW_FLOAT", - 36337: "MEDIUM_FLOAT", - 36338: "HIGH_FLOAT", - 36339: "LOW_INT", - 36340: "MEDIUM_INT", - 36341: "HIGH_INT", - 36346: "SHADER_COMPILER", - 36347: "MAX_VERTEX_UNIFORM_VECTORS", - 36348: "MAX_VARYING_VECTORS", - 36349: "MAX_FRAGMENT_UNIFORM_VECTORS", - 37440: "UNPACK_FLIP_Y_WEBGL", - 37441: "UNPACK_PREMULTIPLY_ALPHA_WEBGL", - 37442: "CONTEXT_LOST_WEBGL", - 37443: "UNPACK_COLORSPACE_CONVERSION_WEBGL", - 37444: "BROWSER_DEFAULT_WEBGL", - }; - }, - {}, - ], - 212: [ - function (t, e, r) { - var n = t("./1.0/numbers"); - e.exports = function (t) { - return n[t]; - }; - }, - { "./1.0/numbers": 211 }, - ], - 213: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e), - o = i(e, [ - { buffer: r, type: e.FLOAT, size: 3, offset: 0, stride: 40 }, - { buffer: r, type: e.FLOAT, size: 4, offset: 12, stride: 40 }, - { buffer: r, type: e.FLOAT, size: 3, offset: 28, stride: 40 }, - ]), - l = a(e); - ((l.attributes.position.location = 0), - (l.attributes.color.location = 1), - (l.attributes.offset.location = 2)); - var c = new s(e, r, o, l); - return (c.update(t), c); - }; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("./shaders/index"), - o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - function s(t, e, r, n) { - ((this.gl = t), - (this.shader = n), - (this.buffer = e), - (this.vao = r), - (this.pixelRatio = 1), - (this.bounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]), - (this.clipBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.lineWidth = [1, 1, 1]), - (this.capSize = [10, 10, 10]), - (this.lineCount = [0, 0, 0]), - (this.lineOffset = [0, 0, 0]), - (this.opacity = 1)); - } - var l = s.prototype; - function c(t, e) { - for (var r = 0; r < 3; ++r) - ((t[0][r] = Math.min(t[0][r], e[r])), - (t[1][r] = Math.max(t[1][r], e[r]))); - } - ((l.isOpaque = function () { - return this.opacity >= 1; - }), - (l.isTransparent = function () { - return this.opacity < 1; - }), - (l.drawTransparent = l.draw = - function (t) { - var e = this.gl, - r = this.shader.uniforms; - this.shader.bind(); - var n = (r.view = t.view || o), - i = (r.projection = t.projection || o); - ((r.model = t.model || o), - (r.clipBounds = this.clipBounds), - (r.opacity = this.opacity)); - var a = n[12], - s = n[13], - l = n[14], - c = n[15], - u = - (this.pixelRatio * (i[3] * a + i[7] * s + i[11] * l + i[15] * c)) / - e.drawingBufferHeight; - this.vao.bind(); - for (var f = 0; f < 3; ++f) - (e.lineWidth(this.lineWidth[f]), - (r.capSize = this.capSize[f] * u), - this.lineCount[f] && - e.drawArrays(e.LINES, this.lineOffset[f], this.lineCount[f])); - this.vao.unbind(); - })); - var u = (function () { - for (var t = new Array(3), e = 0; e < 3; ++e) { - for (var r = [], n = 1; n <= 2; ++n) - for (var i = -1; i <= 1; i += 2) { - var a = [0, 0, 0]; - ((a[(n + e) % 3] = i), r.push(a)); - } - t[e] = r; - } - return t; - })(); - function f(t, e, r, n) { - for (var i = u[n], a = 0; a < i.length; ++a) { - var o = i[a]; - t.push(e[0], e[1], e[2], r[0], r[1], r[2], r[3], o[0], o[1], o[2]); - } - return i.length; - } - ((l.update = function (t) { - ("lineWidth" in (t = t || {}) && - ((this.lineWidth = t.lineWidth), - Array.isArray(this.lineWidth) || - (this.lineWidth = [this.lineWidth, this.lineWidth, this.lineWidth])), - "capSize" in t && - ((this.capSize = t.capSize), - Array.isArray(this.capSize) || - (this.capSize = [this.capSize, this.capSize, this.capSize])), - "opacity" in t && (this.opacity = t.opacity)); - var e = t.color || [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - ], - r = t.position, - n = t.error; - if ((Array.isArray(e[0]) || (e = [e, e, e]), r && n)) { - var i = [], - a = r.length, - o = 0; - ((this.bounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]), - (this.lineCount = [0, 0, 0])); - for (var s = 0; s < 3; ++s) { - this.lineOffset[s] = o; - t: for (var l = 0; l < a; ++l) { - for (var u = r[l], h = 0; h < 3; ++h) - if (isNaN(u[h]) || !isFinite(u[h])) continue t; - var p = n[l], - d = e[s]; - if ( - (Array.isArray(d[0]) && (d = e[l]), - 3 === d.length && (d = [d[0], d[1], d[2], 1]), - !isNaN(p[0][s]) && !isNaN(p[1][s])) - ) { - var g; - if (p[0][s] < 0) - (((g = u.slice())[s] += p[0][s]), - i.push( - u[0], - u[1], - u[2], - d[0], - d[1], - d[2], - d[3], - 0, - 0, - 0, - g[0], - g[1], - g[2], - d[0], - d[1], - d[2], - d[3], - 0, - 0, - 0, - ), - c(this.bounds, g), - (o += 2 + f(i, g, d, s))); - if (p[1][s] > 0) - (((g = u.slice())[s] += p[1][s]), - i.push( - u[0], - u[1], - u[2], - d[0], - d[1], - d[2], - d[3], - 0, - 0, - 0, - g[0], - g[1], - g[2], - d[0], - d[1], - d[2], - d[3], - 0, - 0, - 0, - ), - c(this.bounds, g), - (o += 2 + f(i, g, d, s))); - } - } - this.lineCount[s] = o - this.lineOffset[s]; - } - this.buffer.update(i); - } - }), - (l.dispose = function () { - (this.shader.dispose(), this.buffer.dispose(), this.vao.dispose()); - })); - }, - { "./shaders/index": 214, "gl-buffer": 210, "gl-vao": 279 }, - ], - 214: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"), - i = t("gl-shader"), - a = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = opacity * fragColor;\n}", - ]); - e.exports = function (t) { - return i(t, a, o, null, [ - { name: "position", type: "vec3" }, - { name: "color", type: "vec4" }, - { name: "offset", type: "vec3" }, - ]); - }; - }, - { "gl-shader": 263, glslify: 295 }, - ], - 215: [ - function (t, e, r) { - "use strict"; - var n = t("gl-texture2d"); - e.exports = function (t, e, r, n) { - i || - ((i = t.FRAMEBUFFER_UNSUPPORTED), - (a = t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT), - (o = t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS), - (s = t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)); - var c = t.getExtension("WEBGL_draw_buffers"); - !l && - c && - (function (t, e) { - var r = t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL); - l = new Array(r + 1); - for (var n = 0; n <= r; ++n) { - for (var i = new Array(r), a = 0; a < n; ++a) - i[a] = t.COLOR_ATTACHMENT0 + a; - for (var a = n; a < r; ++a) i[a] = t.NONE; - l[n] = i; - } - })(t, c); - Array.isArray(e) && ((n = r), (r = 0 | e[1]), (e = 0 | e[0])); - if ("number" != typeof e) - throw new Error("gl-fbo: Missing shape parameter"); - var u = t.getParameter(t.MAX_RENDERBUFFER_SIZE); - if (e < 0 || e > u || r < 0 || r > u) - throw new Error("gl-fbo: Parameters are too large for FBO"); - var f = 1; - if ("color" in (n = n || {})) { - if ((f = Math.max(0 | n.color, 0)) < 0) - throw new Error("gl-fbo: Must specify a nonnegative number of colors"); - if (f > 1) { - if (!c) - throw new Error( - "gl-fbo: Multiple draw buffer extension not supported", - ); - if (f > t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL)) - throw new Error( - "gl-fbo: Context does not support " + f + " draw buffers", - ); - } - } - var h = t.UNSIGNED_BYTE, - p = t.getExtension("OES_texture_float"); - if (n.float && f > 0) { - if (!p) - throw new Error( - "gl-fbo: Context does not support floating point textures", - ); - h = t.FLOAT; - } else n.preferFloat && f > 0 && p && (h = t.FLOAT); - var g = !0; - "depth" in n && (g = !!n.depth); - var m = !1; - "stencil" in n && (m = !!n.stencil); - return new d(t, e, r, h, f, g, m, c); - }; - var i, - a, - o, - s, - l = null; - function c(t) { - return [ - t.getParameter(t.FRAMEBUFFER_BINDING), - t.getParameter(t.RENDERBUFFER_BINDING), - t.getParameter(t.TEXTURE_BINDING_2D), - ]; - } - function u(t, e) { - (t.bindFramebuffer(t.FRAMEBUFFER, e[0]), - t.bindRenderbuffer(t.RENDERBUFFER, e[1]), - t.bindTexture(t.TEXTURE_2D, e[2])); - } - function f(t) { - switch (t) { - case i: - throw new Error("gl-fbo: Framebuffer unsupported"); - case a: - throw new Error("gl-fbo: Framebuffer incomplete attachment"); - case o: - throw new Error("gl-fbo: Framebuffer incomplete dimensions"); - case s: - throw new Error("gl-fbo: Framebuffer incomplete missing attachment"); - default: - throw new Error("gl-fbo: Framebuffer failed for unspecified reason"); - } - } - function h(t, e, r, i, a, o) { - if (!i) return null; - var s = n(t, e, r, a, i); - return ( - (s.magFilter = t.NEAREST), - (s.minFilter = t.NEAREST), - (s.mipSamples = 1), - s.bind(), - t.framebufferTexture2D(t.FRAMEBUFFER, o, t.TEXTURE_2D, s.handle, 0), - s - ); - } - function p(t, e, r, n, i) { - var a = t.createRenderbuffer(); - return ( - t.bindRenderbuffer(t.RENDERBUFFER, a), - t.renderbufferStorage(t.RENDERBUFFER, n, e, r), - t.framebufferRenderbuffer(t.FRAMEBUFFER, i, t.RENDERBUFFER, a), - a - ); - } - function d(t, e, r, n, i, a, o, s) { - ((this.gl = t), - (this._shape = [0 | e, 0 | r]), - (this._destroyed = !1), - (this._ext = s), - (this.color = new Array(i))); - for (var d = 0; d < i; ++d) this.color[d] = null; - ((this._color_rb = null), - (this.depth = null), - (this._depth_rb = null), - (this._colorType = n), - (this._useDepth = a), - (this._useStencil = o)); - var g = this, - m = [0 | e, 0 | r]; - (Object.defineProperties(m, { - 0: { - get: function () { - return g._shape[0]; - }, - set: function (t) { - return (g.width = t); - }, - }, - 1: { - get: function () { - return g._shape[1]; - }, - set: function (t) { - return (g.height = t); - }, - }, - }), - (this._shapeVector = m), - (function (t) { - var e = c(t.gl), - r = t.gl, - n = (t.handle = r.createFramebuffer()), - i = t._shape[0], - a = t._shape[1], - o = t.color.length, - s = t._ext, - d = t._useStencil, - g = t._useDepth, - m = t._colorType; - r.bindFramebuffer(r.FRAMEBUFFER, n); - for (var v = 0; v < o; ++v) - t.color[v] = h(r, i, a, m, r.RGBA, r.COLOR_ATTACHMENT0 + v); - 0 === o - ? ((t._color_rb = p(r, i, a, r.RGBA4, r.COLOR_ATTACHMENT0)), - s && s.drawBuffersWEBGL(l[0])) - : o > 1 && s.drawBuffersWEBGL(l[o]); - var y = r.getExtension("WEBGL_depth_texture"); - y - ? d - ? (t.depth = h( - r, - i, - a, - y.UNSIGNED_INT_24_8_WEBGL, - r.DEPTH_STENCIL, - r.DEPTH_STENCIL_ATTACHMENT, - )) - : g && - (t.depth = h( - r, - i, - a, - r.UNSIGNED_SHORT, - r.DEPTH_COMPONENT, - r.DEPTH_ATTACHMENT, - )) - : g && d - ? (t._depth_rb = p( - r, - i, - a, - r.DEPTH_STENCIL, - r.DEPTH_STENCIL_ATTACHMENT, - )) - : g - ? (t._depth_rb = p( - r, - i, - a, - r.DEPTH_COMPONENT16, - r.DEPTH_ATTACHMENT, - )) - : d && - (t._depth_rb = p( - r, - i, - a, - r.STENCIL_INDEX, - r.STENCIL_ATTACHMENT, - )); - var x = r.checkFramebufferStatus(r.FRAMEBUFFER); - if (x !== r.FRAMEBUFFER_COMPLETE) { - for ( - t._destroyed = !0, - r.bindFramebuffer(r.FRAMEBUFFER, null), - r.deleteFramebuffer(t.handle), - t.handle = null, - t.depth && (t.depth.dispose(), (t.depth = null)), - t._depth_rb && - (r.deleteRenderbuffer(t._depth_rb), (t._depth_rb = null)), - v = 0; - v < t.color.length; - ++v - ) - (t.color[v].dispose(), (t.color[v] = null)); - (t._color_rb && - (r.deleteRenderbuffer(t._color_rb), (t._color_rb = null)), - u(r, e), - f(x)); - } - u(r, e); - })(this)); - } - var g = d.prototype; - function m(t, e, r) { - if (t._destroyed) throw new Error("gl-fbo: Can't resize destroyed FBO"); - if (t._shape[0] !== e || t._shape[1] !== r) { - var n = t.gl, - i = n.getParameter(n.MAX_RENDERBUFFER_SIZE); - if (e < 0 || e > i || r < 0 || r > i) - throw new Error("gl-fbo: Can't resize FBO, invalid dimensions"); - ((t._shape[0] = e), (t._shape[1] = r)); - for (var a = c(n), o = 0; o < t.color.length; ++o) - t.color[o].shape = t._shape; - (t._color_rb && - (n.bindRenderbuffer(n.RENDERBUFFER, t._color_rb), - n.renderbufferStorage( - n.RENDERBUFFER, - n.RGBA4, - t._shape[0], - t._shape[1], - )), - t.depth && (t.depth.shape = t._shape), - t._depth_rb && - (n.bindRenderbuffer(n.RENDERBUFFER, t._depth_rb), - t._useDepth && t._useStencil - ? n.renderbufferStorage( - n.RENDERBUFFER, - n.DEPTH_STENCIL, - t._shape[0], - t._shape[1], - ) - : t._useDepth - ? n.renderbufferStorage( - n.RENDERBUFFER, - n.DEPTH_COMPONENT16, - t._shape[0], - t._shape[1], - ) - : t._useStencil && - n.renderbufferStorage( - n.RENDERBUFFER, - n.STENCIL_INDEX, - t._shape[0], - t._shape[1], - )), - n.bindFramebuffer(n.FRAMEBUFFER, t.handle)); - var s = n.checkFramebufferStatus(n.FRAMEBUFFER); - (s !== n.FRAMEBUFFER_COMPLETE && (t.dispose(), u(n, a), f(s)), u(n, a)); - } - } - (Object.defineProperties(g, { - shape: { - get: function () { - return this._destroyed ? [0, 0] : this._shapeVector; - }, - set: function (t) { - if ((Array.isArray(t) || (t = [0 | t, 0 | t]), 2 !== t.length)) - throw new Error("gl-fbo: Shape vector must be length 2"); - var e = 0 | t[0], - r = 0 | t[1]; - return (m(this, e, r), [e, r]); - }, - enumerable: !1, - }, - width: { - get: function () { - return this._destroyed ? 0 : this._shape[0]; - }, - set: function (t) { - return (m(this, (t |= 0), this._shape[1]), t); - }, - enumerable: !1, - }, - height: { - get: function () { - return this._destroyed ? 0 : this._shape[1]; - }, - set: function (t) { - return ((t |= 0), m(this, this._shape[0], t), t); - }, - enumerable: !1, - }, - }), - (g.bind = function () { - if (!this._destroyed) { - var t = this.gl; - (t.bindFramebuffer(t.FRAMEBUFFER, this.handle), - t.viewport(0, 0, this._shape[0], this._shape[1])); - } - }), - (g.dispose = function () { - if (!this._destroyed) { - this._destroyed = !0; - var t = this.gl; - (t.deleteFramebuffer(this.handle), - (this.handle = null), - this.depth && (this.depth.dispose(), (this.depth = null)), - this._depth_rb && - (t.deleteRenderbuffer(this._depth_rb), (this._depth_rb = null))); - for (var e = 0; e < this.color.length; ++e) - (this.color[e].dispose(), (this.color[e] = null)); - this._color_rb && - (t.deleteRenderbuffer(this._color_rb), (this._color_rb = null)); - } - })); - }, - { "gl-texture2d": 275 }, - ], - 216: [ - function (t, e, r) { - var n = t("sprintf-js").sprintf, - i = t("gl-constants/lookup"), - a = t("glsl-shader-name"), - o = t("add-line-numbers"); - e.exports = function (t, e, r) { - "use strict"; - var s = a(e) || "of unknown name (see npm glsl-shader-name)", - l = "unknown type"; - void 0 !== r && (l = r === i.FRAGMENT_SHADER ? "fragment" : "vertex"); - for ( - var c = n("Error compiling %s shader %s:\n", l, s), - u = n("%s%s", c, t), - f = t.split("\n"), - h = {}, - p = 0; - p < f.length; - p++ - ) { - var d = f[p]; - if ("" !== d && "\0" !== d) { - var g = parseInt(d.split(":")[2]); - if (isNaN(g)) throw new Error(n("Could not parse error: %s", d)); - h[g] = d; - } - } - for (var m = o(e).split("\n"), p = 0; p < m.length; p++) - if (h[p + 3] || h[p + 2] || h[p + 1]) { - var v = m[p]; - if (((c += v + "\n"), h[p + 1])) { - var y = h[p + 1]; - ((y = y.substr(y.split(":", 3).join(":").length + 1).trim()), - (c += n("^^^ %s\n\n", y))); - } - } - return { long: c.trim(), short: u.trim() }; - }; - }, - { - "add-line-numbers": 45, - "gl-constants/lookup": 212, - "glsl-shader-name": 287, - "sprintf-js": 406, - }, - ], - 217: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = t.gl, - n = o(r, l.vertex, l.fragment), - i = o(r, l.pickVertex, l.pickFragment), - a = s(r), - u = s(r), - f = s(r), - h = s(r), - p = new c(t, n, i, a, u, f, h); - return (p.update(e), t.addObject(p), p); - }; - var n = t("binary-search-bounds"), - i = t("iota-array"), - a = t("typedarray-pool"), - o = t("gl-shader"), - s = t("gl-buffer"), - l = t("./lib/shaders"); - function c(t, e, r, n, i, a, o) { - ((this.plot = t), - (this.shader = e), - (this.pickShader = r), - (this.positionBuffer = n), - (this.weightBuffer = i), - (this.colorBuffer = a), - (this.idBuffer = o), - (this.xData = []), - (this.yData = []), - (this.shape = [0, 0]), - (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), - (this.pickOffset = 0)); - } - var u, - f = c.prototype, - h = [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1]; - ((f.draw = - ((u = [1, 0, 0, 0, 1, 0, 0, 0, 1]), - function () { - var t = this.plot, - e = this.shader, - r = this.bounds, - n = this.numVertices; - if (!(n <= 0)) { - var i = t.gl, - a = t.dataBox, - o = r[2] - r[0], - s = r[3] - r[1], - l = a[2] - a[0], - c = a[3] - a[1]; - ((u[0] = (2 * o) / l), - (u[4] = (2 * s) / c), - (u[6] = (2 * (r[0] - a[0])) / l - 1), - (u[7] = (2 * (r[1] - a[1])) / c - 1), - e.bind()); - var f = e.uniforms; - ((f.viewTransform = u), (f.shape = this.shape)); - var h = e.attributes; - (this.positionBuffer.bind(), - h.position.pointer(), - this.weightBuffer.bind(), - h.weight.pointer(i.UNSIGNED_BYTE, !1), - this.colorBuffer.bind(), - h.color.pointer(i.UNSIGNED_BYTE, !0), - i.drawArrays(i.TRIANGLES, 0, n)); - } - })), - (f.drawPick = (function () { - var t = [1, 0, 0, 0, 1, 0, 0, 0, 1], - e = [0, 0, 0, 0]; - return function (r) { - var n = this.plot, - i = this.pickShader, - a = this.bounds, - o = this.numVertices; - if (!(o <= 0)) { - var s = n.gl, - l = n.dataBox, - c = a[2] - a[0], - u = a[3] - a[1], - f = l[2] - l[0], - h = l[3] - l[1]; - ((t[0] = (2 * c) / f), - (t[4] = (2 * u) / h), - (t[6] = (2 * (a[0] - l[0])) / f - 1), - (t[7] = (2 * (a[1] - l[1])) / h - 1)); - for (var p = 0; p < 4; ++p) e[p] = (r >> (8 * p)) & 255; - ((this.pickOffset = r), i.bind()); - var d = i.uniforms; - ((d.viewTransform = t), (d.pickOffset = e), (d.shape = this.shape)); - var g = i.attributes; - return ( - this.positionBuffer.bind(), - g.position.pointer(), - this.weightBuffer.bind(), - g.weight.pointer(s.UNSIGNED_BYTE, !1), - this.idBuffer.bind(), - g.pickId.pointer(s.UNSIGNED_BYTE, !1), - s.drawArrays(s.TRIANGLES, 0, o), - r + this.shape[0] * this.shape[1] - ); - } - }; - })()), - (f.pick = function (t, e, r) { - var n = this.pickOffset, - i = this.shape[0] * this.shape[1]; - if (r < n || r >= n + i) return null; - var a = r - n, - o = this.xData, - s = this.yData; - return { - object: this, - pointId: a, - dataCoord: [o[a % this.shape[0]], s[(a / this.shape[0]) | 0]], - }; - }), - (f.update = function (t) { - var e = (t = t || {}).shape || [0, 0], - r = t.x || i(e[0]), - o = t.y || i(e[1]), - s = t.z || new Float32Array(e[0] * e[1]); - ((this.xData = r), (this.yData = o)); - var l = t.colorLevels || [0], - c = t.colorValues || [0, 0, 0, 1], - u = l.length, - f = this.bounds, - p = (f[0] = r[0]), - d = (f[1] = o[0]), - g = 1 / ((f[2] = r[r.length - 1]) - p), - m = 1 / ((f[3] = o[o.length - 1]) - d), - v = e[0], - y = e[1]; - this.shape = [v, y]; - var x = (v - 1) * (y - 1) * (h.length >>> 1); - this.numVertices = x; - for ( - var b = a.mallocUint8(4 * x), - _ = a.mallocFloat32(2 * x), - w = a.mallocUint8(2 * x), - k = a.mallocUint32(x), - M = 0, - A = 0; - A < y - 1; - ++A - ) - for ( - var T = m * (o[A] - d), S = m * (o[A + 1] - d), C = 0; - C < v - 1; - ++C - ) - for ( - var E = g * (r[C] - p), L = g * (r[C + 1] - p), z = 0; - z < h.length; - z += 2 - ) { - var P, - D, - O, - I, - R = h[z], - B = h[z + 1], - F = s[(A + B) * v + (C + R)], - N = n.le(l, F); - if (N < 0) ((P = c[0]), (D = c[1]), (O = c[2]), (I = c[3])); - else if (N === u - 1) - ((P = c[4 * u - 4]), - (D = c[4 * u - 3]), - (O = c[4 * u - 2]), - (I = c[4 * u - 1])); - else { - var j = (F - l[N]) / (l[N + 1] - l[N]), - V = 1 - j, - U = 4 * N, - q = 4 * (N + 1); - ((P = V * c[U] + j * c[q]), - (D = V * c[U + 1] + j * c[q + 1]), - (O = V * c[U + 2] + j * c[q + 2]), - (I = V * c[U + 3] + j * c[q + 3])); - } - ((b[4 * M] = 255 * P), - (b[4 * M + 1] = 255 * D), - (b[4 * M + 2] = 255 * O), - (b[4 * M + 3] = 255 * I), - (_[2 * M] = 0.5 * E + 0.5 * L), - (_[2 * M + 1] = 0.5 * T + 0.5 * S), - (w[2 * M] = R), - (w[2 * M + 1] = B), - (k[M] = A * v + C), - (M += 1)); - } - (this.positionBuffer.update(_), - this.weightBuffer.update(w), - this.colorBuffer.update(b), - this.idBuffer.update(k), - a.free(_), - a.free(b), - a.free(w), - a.free(k)); - }), - (f.dispose = function () { - (this.shader.dispose(), - this.pickShader.dispose(), - this.positionBuffer.dispose(), - this.weightBuffer.dispose(), - this.colorBuffer.dispose(), - this.idBuffer.dispose(), - this.plot.removeObject(this)); - })); - }, - { - "./lib/shaders": 218, - "binary-search-bounds": 219, - "gl-buffer": 210, - "gl-shader": 263, - "iota-array": 302, - "typedarray-pool": 423, - }, - ], - 218: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"); - e.exports = { - fragment: n([ - "precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n", - ]), - vertex: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n", - ]), - pickFragment: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n", - ]), - pickVertex: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n", - ]), - }; - }, - { glslify: 295 }, - ], - 219: [ - function (t, e, r) { - arguments[4][91][0].apply(r, arguments); - }, - { dup: 91 }, - ], - 220: [ - function (t, e, r) { - var n = t("glslify"), - i = t("gl-shader"), - a = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvoid main() {\n vec4 projected = projection * view * model * vec4(position, 1.0);\n vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\n vec2 tangent = normalize(screenShape * tangentClip.xy);\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\n\n gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n", - ]), - s = n([ - "precision mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n highp float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}", - ]), - l = [ - { name: "position", type: "vec3" }, - { name: "nextPosition", type: "vec3" }, - { name: "arcLength", type: "float" }, - { name: "lineWidth", type: "float" }, - { name: "color", type: "vec4" }, - ]; - ((r.createShader = function (t) { - return i(t, a, o, null, l); - }), - (r.createPickShader = function (t) { - return i(t, a, s, null, l); - })); - }, - { "gl-shader": 263, glslify: 295 }, - ], - 221: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl || (t.scene && t.scene.gl), - r = u(e); - ((r.attributes.position.location = 0), - (r.attributes.nextPosition.location = 1), - (r.attributes.arcLength.location = 2), - (r.attributes.lineWidth.location = 3), - (r.attributes.color.location = 4)); - var o = f(e); - ((o.attributes.position.location = 0), - (o.attributes.nextPosition.location = 1), - (o.attributes.arcLength.location = 2), - (o.attributes.lineWidth.location = 3), - (o.attributes.color.location = 4)); - for ( - var s = n(e), - c = i(e, [ - { buffer: s, size: 3, offset: 0, stride: 48 }, - { buffer: s, size: 3, offset: 12, stride: 48 }, - { buffer: s, size: 1, offset: 24, stride: 48 }, - { buffer: s, size: 1, offset: 28, stride: 48 }, - { buffer: s, size: 4, offset: 32, stride: 48 }, - ]), - h = l(new Array(1024), [256, 1, 4]), - p = 0; - p < 1024; - ++p - ) - h.data[p] = 255; - var d = a(e, h); - d.wrap = e.REPEAT; - var g = new m(e, r, o, s, c, d); - return (g.update(t), g); - }; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("gl-texture2d"), - o = t("glsl-read-float"), - s = t("binary-search-bounds"), - l = t("ndarray"), - c = t("./lib/shaders"), - u = c.createShader, - f = c.createPickShader, - h = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - function p(t, e) { - for (var r = 0, n = 0; n < 3; ++n) { - var i = t[n] - e[n]; - r += i * i; - } - return Math.sqrt(r); - } - function d(t) { - for ( - var e = [ - [-1e6, -1e6, -1e6], - [1e6, 1e6, 1e6], - ], - r = 0; - r < 3; - ++r - ) - ((e[0][r] = Math.max(t[0][r], e[0][r])), - (e[1][r] = Math.min(t[1][r], e[1][r]))); - return e; - } - function g(t, e, r, n) { - ((this.arcLength = t), - (this.position = e), - (this.index = r), - (this.dataCoordinate = n)); - } - function m(t, e, r, n, i, a) { - ((this.gl = t), - (this.shader = e), - (this.pickShader = r), - (this.buffer = n), - (this.vao = i), - (this.clipBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.points = []), - (this.arcLength = []), - (this.vertexCount = 0), - (this.bounds = [ - [0, 0, 0], - [0, 0, 0], - ]), - (this.pickId = 0), - (this.lineWidth = 1), - (this.texture = a), - (this.dashScale = 1), - (this.opacity = 1), - (this.dirty = !0), - (this.pixelRatio = 1)); - } - var v = m.prototype; - ((v.isTransparent = function () { - return this.opacity < 1; - }), - (v.isOpaque = function () { - return this.opacity >= 1; - }), - (v.pickSlots = 1), - (v.setPickBase = function (t) { - this.pickId = t; - }), - (v.drawTransparent = v.draw = - function (t) { - var e = this.gl, - r = this.shader, - n = this.vao; - (r.bind(), - (r.uniforms = { - model: t.model || h, - view: t.view || h, - projection: t.projection || h, - clipBounds: d(this.clipBounds), - dashTexture: this.texture.bind(), - dashScale: - this.dashScale / this.arcLength[this.arcLength.length - 1], - opacity: this.opacity, - screenShape: [e.drawingBufferWidth, e.drawingBufferHeight], - pixelRatio: this.pixelRatio, - }), - n.bind(), - n.draw(e.TRIANGLE_STRIP, this.vertexCount), - n.unbind()); - }), - (v.drawPick = function (t) { - var e = this.gl, - r = this.pickShader, - n = this.vao; - (r.bind(), - (r.uniforms = { - model: t.model || h, - view: t.view || h, - projection: t.projection || h, - pickId: this.pickId, - clipBounds: d(this.clipBounds), - screenShape: [e.drawingBufferWidth, e.drawingBufferHeight], - pixelRatio: this.pixelRatio, - }), - n.bind(), - n.draw(e.TRIANGLE_STRIP, this.vertexCount), - n.unbind()); - }), - (v.update = function (t) { - var e, r; - this.dirty = !0; - var n = !!t.connectGaps; - ("dashScale" in t && (this.dashScale = t.dashScale), - "opacity" in t && (this.opacity = +t.opacity)); - var i = t.position || t.positions; - if (i) { - var a = t.color || t.colors || [0, 0, 0, 1], - o = t.lineWidth || 1, - c = [], - u = [], - f = [], - h = 0, - d = 0, - g = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ], - m = !1; - t: for (e = 1; e < i.length; ++e) { - var v, - y, - x, - b = i[e - 1], - _ = i[e]; - for (u.push(h), f.push(b.slice()), r = 0; r < 3; ++r) { - if ( - isNaN(b[r]) || - isNaN(_[r]) || - !isFinite(b[r]) || - !isFinite(_[r]) - ) { - if (!n && c.length > 0) { - for (var w = 0; w < 24; ++w) c.push(c[c.length - 12]); - ((d += 2), (m = !0)); - } - continue t; - } - ((g[0][r] = Math.min(g[0][r], b[r], _[r])), - (g[1][r] = Math.max(g[1][r], b[r], _[r]))); - } - (Array.isArray(a[0]) ? ((v = a[e - 1]), (y = a[e])) : (v = y = a), - 3 === v.length && (v = [v[0], v[1], v[2], 1]), - 3 === y.length && (y = [y[0], y[1], y[2], 1]), - (x = Array.isArray(o) ? o[e - 1] : o)); - var k = h; - if (((h += p(b, _)), m)) { - for (r = 0; r < 2; ++r) - c.push( - b[0], - b[1], - b[2], - _[0], - _[1], - _[2], - k, - x, - v[0], - v[1], - v[2], - v[3], - ); - ((d += 2), (m = !1)); - } - (c.push( - b[0], - b[1], - b[2], - _[0], - _[1], - _[2], - k, - x, - v[0], - v[1], - v[2], - v[3], - b[0], - b[1], - b[2], - _[0], - _[1], - _[2], - k, - -x, - v[0], - v[1], - v[2], - v[3], - _[0], - _[1], - _[2], - b[0], - b[1], - b[2], - h, - -x, - y[0], - y[1], - y[2], - y[3], - _[0], - _[1], - _[2], - b[0], - b[1], - b[2], - h, - x, - y[0], - y[1], - y[2], - y[3], - ), - (d += 4)); - } - if ( - (this.buffer.update(c), - u.push(h), - f.push(i[i.length - 1].slice()), - (this.bounds = g), - (this.vertexCount = d), - (this.points = f), - (this.arcLength = u), - "dashes" in t) - ) { - var M = t.dashes.slice(); - for (M.unshift(0), e = 1; e < M.length; ++e) M[e] = M[e - 1] + M[e]; - var A = l(new Array(1024), [256, 1, 4]); - for (e = 0; e < 256; ++e) { - for (r = 0; r < 4; ++r) A.set(e, 0, r, 0); - 1 & s.le(M, (M[M.length - 1] * e) / 255) - ? A.set(e, 0, 0, 0) - : A.set(e, 0, 0, 255); - } - this.texture.setPixels(A); - } - } - }), - (v.dispose = function () { - (this.shader.dispose(), this.vao.dispose(), this.buffer.dispose()); - }), - (v.pick = function (t) { - if (!t) return null; - if (t.id !== this.pickId) return null; - var e = o(t.value[0], t.value[1], t.value[2], 0), - r = s.le(this.arcLength, e); - if (r < 0) return null; - if (r === this.arcLength.length - 1) - return new g( - this.arcLength[this.arcLength.length - 1], - this.points[this.points.length - 1].slice(), - r, - ); - for ( - var n = this.points[r], - i = this.points[Math.min(r + 1, this.points.length - 1)], - a = - (e - this.arcLength[r]) / - (this.arcLength[r + 1] - this.arcLength[r]), - l = 1 - a, - c = [0, 0, 0], - u = 0; - u < 3; - ++u - ) - c[u] = l * n[u] + a * i[u]; - var f = Math.min(a < 0.5 ? r : r + 1, this.points.length - 1); - return new g(e, c, f, this.points[f]); - })); - }, - { - "./lib/shaders": 220, - "binary-search-bounds": 72, - "gl-buffer": 210, - "gl-texture2d": 275, - "gl-vao": 279, - "glsl-read-float": 286, - ndarray: 335, - }, - ], - 222: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = r * a - i * n; - return o - ? ((o = 1 / o), - (t[0] = a * o), - (t[1] = -n * o), - (t[2] = -i * o), - (t[3] = r * o), - t) - : null; - }; - }, - {}, - ], - 223: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = e[4], - s = e[5], - l = e[6], - c = e[7], - u = e[8], - f = u * o - s * c, - h = -u * a + s * l, - p = c * a - o * l, - d = r * f + n * h + i * p; - return d - ? ((d = 1 / d), - (t[0] = f * d), - (t[1] = (-u * n + i * c) * d), - (t[2] = (s * n - i * o) * d), - (t[3] = h * d), - (t[4] = (u * r - i * l) * d), - (t[5] = (-s * r + i * a) * d), - (t[6] = p * d), - (t[7] = (-c * r + n * l) * d), - (t[8] = (o * r - n * a) * d), - t) - : null; - }; - }, - {}, - ], - 224: [ - function (t, e, r) { - e.exports = function (t) { - var e = new Float32Array(16); - return ( - (e[0] = t[0]), - (e[1] = t[1]), - (e[2] = t[2]), - (e[3] = t[3]), - (e[4] = t[4]), - (e[5] = t[5]), - (e[6] = t[6]), - (e[7] = t[7]), - (e[8] = t[8]), - (e[9] = t[9]), - (e[10] = t[10]), - (e[11] = t[11]), - (e[12] = t[12]), - (e[13] = t[13]), - (e[14] = t[14]), - (e[15] = t[15]), - e - ); - }; - }, - {}, - ], - 225: [ - function (t, e, r) { - e.exports = function () { - var t = new Float32Array(16); - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = 1), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = 1), - (t[11] = 0), - (t[12] = 0), - (t[13] = 0), - (t[14] = 0), - (t[15] = 1), - t - ); - }; - }, - {}, - ], - 226: [ - function (t, e, r) { - e.exports = function (t) { - var e = t[0], - r = t[1], - n = t[2], - i = t[3], - a = t[4], - o = t[5], - s = t[6], - l = t[7], - c = t[8], - u = t[9], - f = t[10], - h = t[11], - p = t[12], - d = t[13], - g = t[14], - m = t[15]; - return ( - (e * o - r * a) * (f * m - h * g) - - (e * s - n * a) * (u * m - h * d) + - (e * l - i * a) * (u * g - f * d) + - (r * s - n * o) * (c * m - h * p) - - (r * l - i * o) * (c * g - f * p) + - (n * l - i * s) * (c * d - u * p) - ); - }; - }, - {}, - ], - 227: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = r + r, - s = n + n, - l = i + i, - c = r * o, - u = n * o, - f = n * s, - h = i * o, - p = i * s, - d = i * l, - g = a * o, - m = a * s, - v = a * l; - return ( - (t[0] = 1 - f - d), - (t[1] = u + v), - (t[2] = h - m), - (t[3] = 0), - (t[4] = u - v), - (t[5] = 1 - c - d), - (t[6] = p + g), - (t[7] = 0), - (t[8] = h + m), - (t[9] = p - g), - (t[10] = 1 - c - f), - (t[11] = 0), - (t[12] = 0), - (t[13] = 0), - (t[14] = 0), - (t[15] = 1), - t - ); - }; - }, - {}, - ], - 228: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3], - s = n + n, - l = i + i, - c = a + a, - u = n * s, - f = n * l, - h = n * c, - p = i * l, - d = i * c, - g = a * c, - m = o * s, - v = o * l, - y = o * c; - return ( - (t[0] = 1 - (p + g)), - (t[1] = f + y), - (t[2] = h - v), - (t[3] = 0), - (t[4] = f - y), - (t[5] = 1 - (u + g)), - (t[6] = d + m), - (t[7] = 0), - (t[8] = h + v), - (t[9] = d - m), - (t[10] = 1 - (u + p)), - (t[11] = 0), - (t[12] = r[0]), - (t[13] = r[1]), - (t[14] = r[2]), - (t[15] = 1), - t - ); - }; - }, - {}, - ], - 229: [ - function (t, e, r) { - e.exports = function (t) { - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = 1), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = 1), - (t[11] = 0), - (t[12] = 0), - (t[13] = 0), - (t[14] = 0), - (t[15] = 1), - t - ); - }; - }, - {}, - ], - 230: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = e[4], - s = e[5], - l = e[6], - c = e[7], - u = e[8], - f = e[9], - h = e[10], - p = e[11], - d = e[12], - g = e[13], - m = e[14], - v = e[15], - y = r * s - n * o, - x = r * l - i * o, - b = r * c - a * o, - _ = n * l - i * s, - w = n * c - a * s, - k = i * c - a * l, - M = u * g - f * d, - A = u * m - h * d, - T = u * v - p * d, - S = f * m - h * g, - C = f * v - p * g, - E = h * v - p * m, - L = y * E - x * C + b * S + _ * T - w * A + k * M; - if (!L) return null; - return ( - (L = 1 / L), - (t[0] = (s * E - l * C + c * S) * L), - (t[1] = (i * C - n * E - a * S) * L), - (t[2] = (g * k - m * w + v * _) * L), - (t[3] = (h * w - f * k - p * _) * L), - (t[4] = (l * T - o * E - c * A) * L), - (t[5] = (r * E - i * T + a * A) * L), - (t[6] = (m * b - d * k - v * x) * L), - (t[7] = (u * k - h * b + p * x) * L), - (t[8] = (o * C - s * T + c * M) * L), - (t[9] = (n * T - r * C - a * M) * L), - (t[10] = (d * w - g * b + v * y) * L), - (t[11] = (f * b - u * w - p * y) * L), - (t[12] = (s * A - o * S - l * M) * L), - (t[13] = (r * S - n * A + i * M) * L), - (t[14] = (g * x - d * _ - m * y) * L), - (t[15] = (u * _ - f * x + h * y) * L), - t - ); - }; - }, - {}, - ], - 231: [ - function (t, e, r) { - var n = t("./identity"); - e.exports = function (t, e, r, i) { - var a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g = e[0], - m = e[1], - v = e[2], - y = i[0], - x = i[1], - b = i[2], - _ = r[0], - w = r[1], - k = r[2]; - if ( - Math.abs(g - _) < 1e-6 && - Math.abs(m - w) < 1e-6 && - Math.abs(v - k) < 1e-6 - ) - return n(t); - ((f = g - _), - (h = m - w), - (p = v - k), - (d = 1 / Math.sqrt(f * f + h * h + p * p)), - (a = x * (p *= d) - b * (h *= d)), - (o = b * (f *= d) - y * p), - (s = y * h - x * f), - (d = Math.sqrt(a * a + o * o + s * s)) - ? ((a *= d = 1 / d), (o *= d), (s *= d)) - : ((a = 0), (o = 0), (s = 0))); - ((l = h * s - p * o), - (c = p * a - f * s), - (u = f * o - h * a), - (d = Math.sqrt(l * l + c * c + u * u)) - ? ((l *= d = 1 / d), (c *= d), (u *= d)) - : ((l = 0), (c = 0), (u = 0))); - return ( - (t[0] = a), - (t[1] = l), - (t[2] = f), - (t[3] = 0), - (t[4] = o), - (t[5] = c), - (t[6] = h), - (t[7] = 0), - (t[8] = s), - (t[9] = u), - (t[10] = p), - (t[11] = 0), - (t[12] = -(a * g + o * m + s * v)), - (t[13] = -(l * g + c * m + u * v)), - (t[14] = -(f * g + h * m + p * v)), - (t[15] = 1), - t - ); - }; - }, - { "./identity": 229 }, - ], - 232: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3], - s = e[4], - l = e[5], - c = e[6], - u = e[7], - f = e[8], - h = e[9], - p = e[10], - d = e[11], - g = e[12], - m = e[13], - v = e[14], - y = e[15], - x = r[0], - b = r[1], - _ = r[2], - w = r[3]; - return ( - (t[0] = x * n + b * s + _ * f + w * g), - (t[1] = x * i + b * l + _ * h + w * m), - (t[2] = x * a + b * c + _ * p + w * v), - (t[3] = x * o + b * u + _ * d + w * y), - (x = r[4]), - (b = r[5]), - (_ = r[6]), - (w = r[7]), - (t[4] = x * n + b * s + _ * f + w * g), - (t[5] = x * i + b * l + _ * h + w * m), - (t[6] = x * a + b * c + _ * p + w * v), - (t[7] = x * o + b * u + _ * d + w * y), - (x = r[8]), - (b = r[9]), - (_ = r[10]), - (w = r[11]), - (t[8] = x * n + b * s + _ * f + w * g), - (t[9] = x * i + b * l + _ * h + w * m), - (t[10] = x * a + b * c + _ * p + w * v), - (t[11] = x * o + b * u + _ * d + w * y), - (x = r[12]), - (b = r[13]), - (_ = r[14]), - (w = r[15]), - (t[12] = x * n + b * s + _ * f + w * g), - (t[13] = x * i + b * l + _ * h + w * m), - (t[14] = x * a + b * c + _ * p + w * v), - (t[15] = x * o + b * u + _ * d + w * y), - t - ); - }; - }, - {}, - ], - 233: [ - function (t, e, r) { - e.exports = function (t, e, r, n, i) { - var a = 1 / Math.tan(e / 2), - o = 1 / (n - i); - return ( - (t[0] = a / r), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = a), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = (i + n) * o), - (t[11] = -1), - (t[12] = 0), - (t[13] = 0), - (t[14] = 2 * i * n * o), - (t[15] = 0), - t - ); - }; - }, - {}, - ], - 234: [ - function (t, e, r) { - e.exports = function (t, e, r, n) { - var i, - a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b, - _, - w, - k, - M, - A, - T, - S, - C = n[0], - E = n[1], - L = n[2], - z = Math.sqrt(C * C + E * E + L * L); - if (Math.abs(z) < 1e-6) return null; - ((C *= z = 1 / z), - (E *= z), - (L *= z), - (i = Math.sin(r)), - (a = Math.cos(r)), - (o = 1 - a), - (s = e[0]), - (l = e[1]), - (c = e[2]), - (u = e[3]), - (f = e[4]), - (h = e[5]), - (p = e[6]), - (d = e[7]), - (g = e[8]), - (m = e[9]), - (v = e[10]), - (y = e[11]), - (x = C * C * o + a), - (b = E * C * o + L * i), - (_ = L * C * o - E * i), - (w = C * E * o - L * i), - (k = E * E * o + a), - (M = L * E * o + C * i), - (A = C * L * o + E * i), - (T = E * L * o - C * i), - (S = L * L * o + a), - (t[0] = s * x + f * b + g * _), - (t[1] = l * x + h * b + m * _), - (t[2] = c * x + p * b + v * _), - (t[3] = u * x + d * b + y * _), - (t[4] = s * w + f * k + g * M), - (t[5] = l * w + h * k + m * M), - (t[6] = c * w + p * k + v * M), - (t[7] = u * w + d * k + y * M), - (t[8] = s * A + f * T + g * S), - (t[9] = l * A + h * T + m * S), - (t[10] = c * A + p * T + v * S), - (t[11] = u * A + d * T + y * S), - e !== t && - ((t[12] = e[12]), (t[13] = e[13]), (t[14] = e[14]), (t[15] = e[15]))); - return t; - }; - }, - {}, - ], - 235: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = Math.sin(r), - i = Math.cos(r), - a = e[4], - o = e[5], - s = e[6], - l = e[7], - c = e[8], - u = e[9], - f = e[10], - h = e[11]; - e !== t && - ((t[0] = e[0]), - (t[1] = e[1]), - (t[2] = e[2]), - (t[3] = e[3]), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15])); - return ( - (t[4] = a * i + c * n), - (t[5] = o * i + u * n), - (t[6] = s * i + f * n), - (t[7] = l * i + h * n), - (t[8] = c * i - a * n), - (t[9] = u * i - o * n), - (t[10] = f * i - s * n), - (t[11] = h * i - l * n), - t - ); - }; - }, - {}, - ], - 236: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = Math.sin(r), - i = Math.cos(r), - a = e[0], - o = e[1], - s = e[2], - l = e[3], - c = e[8], - u = e[9], - f = e[10], - h = e[11]; - e !== t && - ((t[4] = e[4]), - (t[5] = e[5]), - (t[6] = e[6]), - (t[7] = e[7]), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15])); - return ( - (t[0] = a * i - c * n), - (t[1] = o * i - u * n), - (t[2] = s * i - f * n), - (t[3] = l * i - h * n), - (t[8] = a * n + c * i), - (t[9] = o * n + u * i), - (t[10] = s * n + f * i), - (t[11] = l * n + h * i), - t - ); - }; - }, - {}, - ], - 237: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = Math.sin(r), - i = Math.cos(r), - a = e[0], - o = e[1], - s = e[2], - l = e[3], - c = e[4], - u = e[5], - f = e[6], - h = e[7]; - e !== t && - ((t[8] = e[8]), - (t[9] = e[9]), - (t[10] = e[10]), - (t[11] = e[11]), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15])); - return ( - (t[0] = a * i + c * n), - (t[1] = o * i + u * n), - (t[2] = s * i + f * n), - (t[3] = l * i + h * n), - (t[4] = c * i - a * n), - (t[5] = u * i - o * n), - (t[6] = f * i - s * n), - (t[7] = h * i - l * n), - t - ); - }; - }, - {}, - ], - 238: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = r[0], - i = r[1], - a = r[2]; - return ( - (t[0] = e[0] * n), - (t[1] = e[1] * n), - (t[2] = e[2] * n), - (t[3] = e[3] * n), - (t[4] = e[4] * i), - (t[5] = e[5] * i), - (t[6] = e[6] * i), - (t[7] = e[7] * i), - (t[8] = e[8] * a), - (t[9] = e[9] * a), - (t[10] = e[10] * a), - (t[11] = e[11] * a), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15]), - t - ); - }; - }, - {}, - ], - 239: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g = r[0], - m = r[1], - v = r[2]; - e === t - ? ((t[12] = e[0] * g + e[4] * m + e[8] * v + e[12]), - (t[13] = e[1] * g + e[5] * m + e[9] * v + e[13]), - (t[14] = e[2] * g + e[6] * m + e[10] * v + e[14]), - (t[15] = e[3] * g + e[7] * m + e[11] * v + e[15])) - : ((n = e[0]), - (i = e[1]), - (a = e[2]), - (o = e[3]), - (s = e[4]), - (l = e[5]), - (c = e[6]), - (u = e[7]), - (f = e[8]), - (h = e[9]), - (p = e[10]), - (d = e[11]), - (t[0] = n), - (t[1] = i), - (t[2] = a), - (t[3] = o), - (t[4] = s), - (t[5] = l), - (t[6] = c), - (t[7] = u), - (t[8] = f), - (t[9] = h), - (t[10] = p), - (t[11] = d), - (t[12] = n * g + s * m + f * v + e[12]), - (t[13] = i * g + l * m + h * v + e[13]), - (t[14] = a * g + c * m + p * v + e[14]), - (t[15] = o * g + u * m + d * v + e[15])); - return t; - }; - }, - {}, - ], - 240: [ - function (t, e, r) { - e.exports = function (t, e) { - if (t === e) { - var r = e[1], - n = e[2], - i = e[3], - a = e[6], - o = e[7], - s = e[11]; - ((t[1] = e[4]), - (t[2] = e[8]), - (t[3] = e[12]), - (t[4] = r), - (t[6] = e[9]), - (t[7] = e[13]), - (t[8] = n), - (t[9] = a), - (t[11] = e[14]), - (t[12] = i), - (t[13] = o), - (t[14] = s)); - } else - ((t[0] = e[0]), - (t[1] = e[4]), - (t[2] = e[8]), - (t[3] = e[12]), - (t[4] = e[1]), - (t[5] = e[5]), - (t[6] = e[9]), - (t[7] = e[13]), - (t[8] = e[2]), - (t[9] = e[6]), - (t[10] = e[10]), - (t[11] = e[14]), - (t[12] = e[3]), - (t[13] = e[7]), - (t[14] = e[11]), - (t[15] = e[15])); - return t; - }; - }, - {}, - ], - 241: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - switch (e.length) { - case 0: - break; - case 1: - t[0] = 1 / e[0]; - break; - case 4: - n(t, e); - break; - case 9: - i(t, e); - break; - case 16: - a(t, e); - break; - default: - throw new Error("currently supports matrices up to 4x4"); - } - return t; - }; - var n = t("gl-mat2/invert"), - i = t("gl-mat3/invert"), - a = t("gl-mat4/invert"); - }, - { "gl-mat2/invert": 222, "gl-mat3/invert": 223, "gl-mat4/invert": 230 }, - ], - 242: [ - function (t, e, r) { - "use strict"; - var n = t("barycentric"), - i = t("polytope-closest-point/lib/closest_point_2d.js"); - function a(t, e) { - for (var r = [0, 0, 0, 0], n = 0; n < 4; ++n) - for (var i = 0; i < 4; ++i) r[i] += t[4 * n + i] * e[n]; - return r; - } - function o(t, e, r, n, i) { - for (var o = a(n, a(r, a(e, [t[0], t[1], t[2], 1]))), s = 0; s < 3; ++s) - o[s] /= o[3]; - return [0.5 * i[0] * (1 + o[0]), 0.5 * i[1] * (1 - o[1])]; - } - e.exports = function (t, e, r, a, s, l) { - if (1 === t.length) return [0, t[0].slice()]; - for (var c = new Array(t.length), u = 0; u < t.length; ++u) - c[u] = o(t[u], r, a, s, l); - for (var f = 0, h = 1 / 0, u = 0; u < c.length; ++u) { - for (var p = 0, d = 0; d < 2; ++d) p += Math.pow(c[u][d] - e[d], 2); - p < h && ((h = p), (f = u)); - } - for ( - var g = (function (t, e) { - if (2 === t.length) { - for (var r = 0, a = 0, o = 0; o < 2; ++o) - ((r += Math.pow(e[o] - t[0][o], 2)), - (a += Math.pow(e[o] - t[1][o], 2))); - return ( - (r = Math.sqrt(r)), - (a = Math.sqrt(a)), - r + a < 1e-6 ? [1, 0] : [a / (r + a), r / (a + r)] - ); - } - if (3 === t.length) { - var s = [0, 0]; - return (i(t[0], t[1], t[2], e, s), n(t, s)); - } - return []; - })(c, e), - m = 0, - u = 0; - u < 3; - ++u - ) { - if (g[u] < -0.001 || g[u] > 1.0001) return null; - m += g[u]; - } - if (Math.abs(m - 1) > 0.001) return null; - return [ - f, - (function (t, e) { - for (var r = [0, 0, 0], n = 0; n < t.length; ++n) - for (var i = t[n], a = e[n], o = 0; o < 3; ++o) r[o] += a * i[o]; - return r; - })(t, g), - g, - ]; - }; - }, - { barycentric: 54, "polytope-closest-point/lib/closest_point_2d.js": 365 }, - ], - 243: [ - function (t, e, r) { - var n = t("glslify"), - i = n([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec4 m_position = model * vec4(position, 1.0);\n vec4 t_position = view * m_position;\n gl_Position = projection * t_position;\n f_color = color;\n f_normal = normal;\n f_data = position;\n f_eyeDirection = eyePosition - position;\n f_lightDirection = lightPosition - position;\n f_uv = uv;\n}\n", - ]), - a = n([ - "#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nvec3 normals(vec3 pos) {\n vec3 fdx = dFdx(pos);\n vec3 fdy = dFdy(pos);\n return normalize(cross(fdx, fdy));\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) ||\n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n vec3 normal = normals(f_data);\n\n if (\n dot(N, normal) < 0.0\n ) {\n N = -N;\n }\n\n float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}", - ]), - s = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(f_data, clipBounds[0])) || \n any(greaterThan(f_data, clipBounds[1]))) {\n discard;\n }\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", - ]), - l = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}", - ]), - c = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}", - ]), - u = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}", - ]), - f = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}", - ]), - h = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}", - ]), - p = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}", - ]), - d = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\n}\n", - ]); - ((r.meshShader = { - vertex: i, - fragment: a, - attributes: [ - { name: "position", type: "vec3" }, - { name: "normal", type: "vec3" }, - { name: "color", type: "vec4" }, - { name: "uv", type: "vec2" }, - ], - }), - (r.wireShader = { - vertex: o, - fragment: s, - attributes: [ - { name: "position", type: "vec3" }, - { name: "color", type: "vec4" }, - { name: "uv", type: "vec2" }, - ], - }), - (r.pointShader = { - vertex: l, - fragment: c, - attributes: [ - { name: "position", type: "vec3" }, - { name: "color", type: "vec4" }, - { name: "uv", type: "vec2" }, - { name: "pointSize", type: "float" }, - ], - }), - (r.pickShader = { - vertex: u, - fragment: f, - attributes: [ - { name: "position", type: "vec3" }, - { name: "id", type: "vec4" }, - ], - }), - (r.pointPickShader = { - vertex: h, - fragment: f, - attributes: [ - { name: "position", type: "vec3" }, - { name: "pointSize", type: "float" }, - { name: "id", type: "vec4" }, - ], - }), - (r.contourShader = { - vertex: p, - fragment: d, - attributes: [{ name: "position", type: "vec3" }], - })); - }, - { glslify: 295 }, - ], - 244: [ - function (t, e, r) { - "use strict"; - var n = t("gl-shader"), - i = t("gl-buffer"), - a = t("gl-vao"), - o = t("gl-texture2d"), - s = t("normals"), - l = t("gl-mat4/multiply"), - c = t("gl-mat4/invert"), - u = t("ndarray"), - f = t("colormap"), - h = t("simplicial-complex-contour"), - p = t("typedarray-pool"), - d = t("./lib/shaders"), - g = t("./lib/closest-point"), - m = d.meshShader, - v = d.wireShader, - y = d.pointShader, - x = d.pickShader, - b = d.pointPickShader, - _ = d.contourShader, - w = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - function k( - t, - e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b, - _, - k, - M, - A, - T, - S, - ) { - ((this.gl = t), - (this.cells = []), - (this.positions = []), - (this.intensity = []), - (this.texture = e), - (this.dirty = !0), - (this.triShader = r), - (this.lineShader = n), - (this.pointShader = i), - (this.pickShader = a), - (this.pointPickShader = o), - (this.contourShader = s), - (this.trianglePositions = l), - (this.triangleColors = u), - (this.triangleNormals = h), - (this.triangleUVs = f), - (this.triangleIds = c), - (this.triangleVAO = p), - (this.triangleCount = 0), - (this.lineWidth = 1), - (this.edgePositions = d), - (this.edgeColors = m), - (this.edgeUVs = v), - (this.edgeIds = g), - (this.edgeVAO = y), - (this.edgeCount = 0), - (this.pointPositions = x), - (this.pointColors = _), - (this.pointUVs = k), - (this.pointSizes = M), - (this.pointIds = b), - (this.pointVAO = A), - (this.pointCount = 0), - (this.contourLineWidth = 1), - (this.contourPositions = T), - (this.contourVAO = S), - (this.contourCount = 0), - (this.contourColor = [0, 0, 0]), - (this.contourEnable = !0), - (this.pickId = 1), - (this.bounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]), - (this.clipBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.lightPosition = [1e5, 1e5, 0]), - (this.ambientLight = 0.8), - (this.diffuseLight = 0.8), - (this.specularLight = 2), - (this.roughness = 0.5), - (this.fresnel = 1.5), - (this.opacity = 1), - (this._model = w), - (this._view = w), - (this._projection = w), - (this._resolution = [1, 1])); - } - var M = k.prototype; - function A(t) { - var e = n(t, y.vertex, y.fragment); - return ( - (e.attributes.position.location = 0), - (e.attributes.color.location = 2), - (e.attributes.uv.location = 3), - (e.attributes.pointSize.location = 4), - e - ); - } - function T(t) { - var e = n(t, x.vertex, x.fragment); - return ( - (e.attributes.position.location = 0), - (e.attributes.id.location = 1), - e - ); - } - function S(t) { - var e = n(t, b.vertex, b.fragment); - return ( - (e.attributes.position.location = 0), - (e.attributes.id.location = 1), - (e.attributes.pointSize.location = 4), - e - ); - } - function C(t) { - var e = n(t, _.vertex, _.fragment); - return ((e.attributes.position.location = 0), e); - } - ((M.isOpaque = function () { - return this.opacity >= 1; - }), - (M.isTransparent = function () { - return this.opacity < 1; - }), - (M.pickSlots = 1), - (M.setPickBase = function (t) { - this.pickId = t; - }), - (M.highlight = function (t) { - if (t && this.contourEnable) { - for ( - var e = h(this.cells, this.intensity, t.intensity), - r = e.cells, - n = e.vertexIds, - i = e.vertexWeights, - a = r.length, - o = p.mallocFloat32(6 * a), - s = 0, - l = 0; - l < a; - ++l - ) - for (var c = r[l], u = 0; u < 2; ++u) { - var f = c[0]; - 2 === c.length && (f = c[u]); - for ( - var d = n[f][0], - g = n[f][1], - m = i[f], - v = 1 - m, - y = this.positions[d], - x = this.positions[g], - b = 0; - b < 3; - ++b - ) - o[s++] = m * y[b] + v * x[b]; - } - ((this.contourCount = (s / 3) | 0), - this.contourPositions.update(o.subarray(0, s)), - p.free(o)); - } else this.contourCount = 0; - }), - (M.update = function (t) { - t = t || {}; - var e = this.gl; - ((this.dirty = !0), - "contourEnable" in t && (this.contourEnable = t.contourEnable), - "contourColor" in t && (this.contourColor = t.contourColor), - "lineWidth" in t && (this.lineWidth = t.lineWidth), - "lightPosition" in t && (this.lightPosition = t.lightPosition), - "opacity" in t && (this.opacity = t.opacity), - "ambient" in t && (this.ambientLight = t.ambient), - "diffuse" in t && (this.diffuseLight = t.diffuse), - "specular" in t && (this.specularLight = t.specular), - "roughness" in t && (this.roughness = t.roughness), - "fresnel" in t && (this.fresnel = t.fresnel), - t.texture - ? (this.texture.dispose(), (this.texture = o(e, t.texture))) - : t.colormap && - ((this.texture.shape = [256, 256]), - (this.texture.minFilter = e.LINEAR_MIPMAP_LINEAR), - (this.texture.magFilter = e.LINEAR), - this.texture.setPixels( - (function (t) { - for ( - var e = f({ colormap: t, nshades: 256, format: "rgba" }), - r = new Uint8Array(1024), - n = 0; - n < 256; - ++n - ) { - for (var i = e[n], a = 0; a < 3; ++a) r[4 * n + a] = i[a]; - r[4 * n + 3] = 255 * i[3]; - } - return u(r, [256, 256, 4], [4, 0, 1]); - })(t.colormap), - ), - this.texture.generateMipmap())); - var r = t.cells, - n = t.positions; - if (n && r) { - var i = [], - a = [], - l = [], - c = [], - h = [], - p = [], - d = [], - g = [], - m = [], - v = [], - y = [], - x = [], - b = [], - _ = []; - ((this.cells = r), (this.positions = n)); - var w = t.vertexNormals, - k = t.cellNormals, - M = void 0 === t.vertexNormalsEpsilon ? 1e-6 : t.vertexNormalsEpsilon, - A = void 0 === t.faceNormalsEpsilon ? 1e-6 : t.faceNormalsEpsilon; - (t.useFacetNormals && !k && (k = s.faceNormals(r, n, A)), - k || w || (w = s.vertexNormals(r, n, M))); - var T = t.vertexColors, - S = t.cellColors, - C = t.meshColor || [1, 1, 1, 1], - E = t.vertexUVs, - L = t.vertexIntensity, - z = t.cellUVs, - P = t.cellIntensity, - D = 1 / 0, - O = -1 / 0; - if (!E && !z) - if (L) - if (t.vertexIntensityBounds) - ((D = +t.vertexIntensityBounds[0]), - (O = +t.vertexIntensityBounds[1])); - else - for (var I = 0; I < L.length; ++I) { - var R = L[I]; - ((D = Math.min(D, R)), (O = Math.max(O, R))); - } - else if (P) - for (I = 0; I < P.length; ++I) { - R = P[I]; - ((D = Math.min(D, R)), (O = Math.max(O, R))); - } - else - for (I = 0; I < n.length; ++I) { - R = n[I][2]; - ((D = Math.min(D, R)), (O = Math.max(O, R))); - } - this.intensity = - L || - (P - ? (function (t, e, r) { - for (var n = new Array(e), i = 0; i < e; ++i) n[i] = 0; - var a = t.length; - for (i = 0; i < a; ++i) - for (var o = t[i], s = 0; s < o.length; ++s) n[o[s]] = r[i]; - return n; - })(r, n.length, P) - : (function (t) { - for (var e = t.length, r = new Array(e), n = 0; n < e; ++n) - r[n] = t[n][2]; - return r; - })(n)); - var B = t.pointSizes, - F = t.pointSize || 1; - this.bounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]; - for (I = 0; I < n.length; ++I) - for (var N = n[I], j = 0; j < 3; ++j) - !isNaN(N[j]) && - isFinite(N[j]) && - ((this.bounds[0][j] = Math.min(this.bounds[0][j], N[j])), - (this.bounds[1][j] = Math.max(this.bounds[1][j], N[j]))); - var V = 0, - U = 0, - q = 0; - t: for (I = 0; I < r.length; ++I) { - var H = r[I]; - switch (H.length) { - case 1: - for (N = n[(W = H[0])], j = 0; j < 3; ++j) - if (isNaN(N[j]) || !isFinite(N[j])) continue t; - (v.push(N[0], N[1], N[2]), - 3 === (Y = T ? T[W] : S ? S[I] : C).length - ? y.push(Y[0], Y[1], Y[2], 1) - : y.push(Y[0], Y[1], Y[2], Y[3]), - (X = E - ? E[W] - : L - ? [(L[W] - D) / (O - D), 0] - : z - ? z[I] - : P - ? [(P[I] - D) / (O - D), 0] - : [(N[2] - D) / (O - D), 0]), - x.push(X[0], X[1]), - B ? b.push(B[W]) : b.push(F), - _.push(I), - (q += 1)); - break; - case 2: - for (j = 0; j < 2; ++j) { - N = n[(W = H[j])]; - for (var G = 0; G < 3; ++G) - if (isNaN(N[G]) || !isFinite(N[G])) continue t; - } - for (j = 0; j < 2; ++j) { - N = n[(W = H[j])]; - (p.push(N[0], N[1], N[2]), - 3 === (Y = T ? T[W] : S ? S[I] : C).length - ? d.push(Y[0], Y[1], Y[2], 1) - : d.push(Y[0], Y[1], Y[2], Y[3]), - (X = E - ? E[W] - : L - ? [(L[W] - D) / (O - D), 0] - : z - ? z[I] - : P - ? [(P[I] - D) / (O - D), 0] - : [(N[2] - D) / (O - D), 0]), - g.push(X[0], X[1]), - m.push(I)); - } - U += 1; - break; - case 3: - for (j = 0; j < 3; ++j) - for (N = n[(W = H[j])], G = 0; G < 3; ++G) - if (isNaN(N[G]) || !isFinite(N[G])) continue t; - for (j = 0; j < 3; ++j) { - var W, Y, X, Z; - N = n[(W = H[j])]; - (i.push(N[0], N[1], N[2]), - 3 === (Y = T ? T[W] : S ? S[I] : C).length - ? a.push(Y[0], Y[1], Y[2], 1) - : a.push(Y[0], Y[1], Y[2], Y[3]), - (X = E - ? E[W] - : L - ? [(L[W] - D) / (O - D), 0] - : z - ? z[I] - : P - ? [(P[I] - D) / (O - D), 0] - : [(N[2] - D) / (O - D), 0]), - c.push(X[0], X[1]), - (Z = w ? w[W] : k[I]), - l.push(Z[0], Z[1], Z[2]), - h.push(I)); - } - V += 1; - } - } - ((this.pointCount = q), - (this.edgeCount = U), - (this.triangleCount = V), - this.pointPositions.update(v), - this.pointColors.update(y), - this.pointUVs.update(x), - this.pointSizes.update(b), - this.pointIds.update(new Uint32Array(_)), - this.edgePositions.update(p), - this.edgeColors.update(d), - this.edgeUVs.update(g), - this.edgeIds.update(new Uint32Array(m)), - this.trianglePositions.update(i), - this.triangleColors.update(a), - this.triangleUVs.update(c), - this.triangleNormals.update(l), - this.triangleIds.update(new Uint32Array(h))); - } - }), - (M.drawTransparent = M.draw = - function (t) { - t = t || {}; - for ( - var e = this.gl, - r = t.model || w, - n = t.view || w, - i = t.projection || w, - a = [ - [-1e6, -1e6, -1e6], - [1e6, 1e6, 1e6], - ], - o = 0; - o < 3; - ++o - ) - ((a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), - (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o]))); - var s = { - model: r, - view: n, - projection: i, - clipBounds: a, - kambient: this.ambientLight, - kdiffuse: this.diffuseLight, - kspecular: this.specularLight, - roughness: this.roughness, - fresnel: this.fresnel, - eyePosition: [0, 0, 0], - lightPosition: [0, 0, 0], - opacity: this.opacity, - contourColor: this.contourColor, - texture: 0, - }; - this.texture.bind(0); - var u = new Array(16); - (l(u, s.view, s.model), l(u, s.projection, u), c(u, u)); - for (o = 0; o < 3; ++o) s.eyePosition[o] = u[12 + o] / u[15]; - var f, - h = u[15]; - for (o = 0; o < 3; ++o) h += this.lightPosition[o] * u[4 * o + 3]; - for (o = 0; o < 3; ++o) { - for (var p = u[12 + o], d = 0; d < 3; ++d) - p += u[4 * d + o] * this.lightPosition[d]; - s.lightPosition[o] = p / h; - } - this.triangleCount > 0 && - ((f = this.triShader).bind(), - (f.uniforms = s), - this.triangleVAO.bind(), - e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), - this.triangleVAO.unbind()); - this.edgeCount > 0 && - this.lineWidth > 0 && - ((f = this.lineShader).bind(), - (f.uniforms = s), - this.edgeVAO.bind(), - e.lineWidth(this.lineWidth), - e.drawArrays(e.LINES, 0, 2 * this.edgeCount), - this.edgeVAO.unbind()); - this.pointCount > 0 && - ((f = this.pointShader).bind(), - (f.uniforms = s), - this.pointVAO.bind(), - e.drawArrays(e.POINTS, 0, this.pointCount), - this.pointVAO.unbind()); - this.contourEnable && - this.contourCount > 0 && - this.contourLineWidth > 0 && - ((f = this.contourShader).bind(), - (f.uniforms = s), - this.contourVAO.bind(), - e.drawArrays(e.LINES, 0, this.contourCount), - this.contourVAO.unbind()); - }), - (M.drawPick = function (t) { - t = t || {}; - for ( - var e = this.gl, - r = t.model || w, - n = t.view || w, - i = t.projection || w, - a = [ - [-1e6, -1e6, -1e6], - [1e6, 1e6, 1e6], - ], - o = 0; - o < 3; - ++o - ) - ((a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), - (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o]))); - ((this._model = [].slice.call(r)), - (this._view = [].slice.call(n)), - (this._projection = [].slice.call(i)), - (this._resolution = [e.drawingBufferWidth, e.drawingBufferHeight])); - var s, - l = { - model: r, - view: n, - projection: i, - clipBounds: a, - pickId: this.pickId / 255, - }; - ((s = this.pickShader).bind(), - (s.uniforms = l), - this.triangleCount > 0 && - (this.triangleVAO.bind(), - e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), - this.triangleVAO.unbind()), - this.edgeCount > 0 && - (this.edgeVAO.bind(), - e.lineWidth(this.lineWidth), - e.drawArrays(e.LINES, 0, 2 * this.edgeCount), - this.edgeVAO.unbind()), - this.pointCount > 0) && - ((s = this.pointPickShader).bind(), - (s.uniforms = l), - this.pointVAO.bind(), - e.drawArrays(e.POINTS, 0, this.pointCount), - this.pointVAO.unbind()); - }), - (M.pick = function (t) { - if (!t) return null; - if (t.id !== this.pickId) return null; - for ( - var e = t.value[0] + 256 * t.value[1] + 65536 * t.value[2], - r = this.cells[e], - n = this.positions, - i = new Array(r.length), - a = 0; - a < r.length; - ++a - ) - i[a] = n[r[a]]; - var o = g( - i, - [t.coord[0], this._resolution[1] - t.coord[1]], - this._model, - this._view, - this._projection, - this._resolution, - ); - if (!o) return null; - var s = o[2], - l = 0; - for (a = 0; a < r.length; ++a) l += s[a] * this.intensity[r[a]]; - return { - position: o[1], - index: r[o[0]], - cell: r, - cellId: e, - intensity: l, - dataCoordinate: this.positions[r[o[0]]], - }; - }), - (M.dispose = function () { - (this.texture.dispose(), - this.triShader.dispose(), - this.lineShader.dispose(), - this.pointShader.dispose(), - this.pickShader.dispose(), - this.pointPickShader.dispose(), - this.triangleVAO.dispose(), - this.trianglePositions.dispose(), - this.triangleColors.dispose(), - this.triangleUVs.dispose(), - this.triangleNormals.dispose(), - this.triangleIds.dispose(), - this.edgeVAO.dispose(), - this.edgePositions.dispose(), - this.edgeColors.dispose(), - this.edgeUVs.dispose(), - this.edgeIds.dispose(), - this.pointVAO.dispose(), - this.pointPositions.dispose(), - this.pointColors.dispose(), - this.pointUVs.dispose(), - this.pointSizes.dispose(), - this.pointIds.dispose(), - this.contourVAO.dispose(), - this.contourPositions.dispose(), - this.contourShader.dispose()); - }), - (e.exports = function (t, e) { - if ( - (1 === arguments.length && (t = (e = t).gl), - !( - t.getExtension("OES_standard_derivatives") || - t.getExtension("MOZ_OES_standard_derivatives") || - t.getExtension("WEBKIT_OES_standard_derivatives") - )) - ) - throw new Error("derivatives not supported"); - var r = (function (t) { - var e = n(t, m.vertex, m.fragment); - return ( - (e.attributes.position.location = 0), - (e.attributes.color.location = 2), - (e.attributes.uv.location = 3), - (e.attributes.normal.location = 4), - e - ); - })(t), - s = (function (t) { - var e = n(t, v.vertex, v.fragment); - return ( - (e.attributes.position.location = 0), - (e.attributes.color.location = 2), - (e.attributes.uv.location = 3), - e - ); - })(t), - l = A(t), - c = T(t), - f = S(t), - h = C(t), - p = o(t, u(new Uint8Array([255, 255, 255, 255]), [1, 1, 4])); - (p.generateMipmap(), - (p.minFilter = t.LINEAR_MIPMAP_LINEAR), - (p.magFilter = t.LINEAR)); - var d = i(t), - g = i(t), - y = i(t), - x = i(t), - b = i(t), - _ = a(t, [ - { buffer: d, type: t.FLOAT, size: 3 }, - { buffer: b, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, - { buffer: g, type: t.FLOAT, size: 4 }, - { buffer: y, type: t.FLOAT, size: 2 }, - { buffer: x, type: t.FLOAT, size: 3 }, - ]), - w = i(t), - M = i(t), - E = i(t), - L = i(t), - z = a(t, [ - { buffer: w, type: t.FLOAT, size: 3 }, - { buffer: L, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, - { buffer: M, type: t.FLOAT, size: 4 }, - { buffer: E, type: t.FLOAT, size: 2 }, - ]), - P = i(t), - D = i(t), - O = i(t), - I = i(t), - R = i(t), - B = a(t, [ - { buffer: P, type: t.FLOAT, size: 3 }, - { buffer: R, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, - { buffer: D, type: t.FLOAT, size: 4 }, - { buffer: O, type: t.FLOAT, size: 2 }, - { buffer: I, type: t.FLOAT, size: 1 }, - ]), - F = i(t), - N = new k( - t, - p, - r, - s, - l, - c, - f, - h, - d, - b, - g, - y, - x, - _, - w, - L, - M, - E, - z, - P, - R, - D, - O, - I, - B, - F, - a(t, [{ buffer: F, type: t.FLOAT, size: 3 }]), - ); - return (N.update(e), N); - })); - }, - { - "./lib/closest-point": 242, - "./lib/shaders": 243, - colormap: 106, - "gl-buffer": 210, - "gl-mat4/invert": 230, - "gl-mat4/multiply": 232, - "gl-shader": 263, - "gl-texture2d": 275, - "gl-vao": 279, - ndarray: 335, - normals: 338, - "simplicial-complex-contour": 396, - "typedarray-pool": 423, - }, - ], - 245: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e, [0, 0, 0, 1, 1, 0, 1, 1]), - s = i(e, a.boxVert, a.lineFrag); - return new o(t, r, s); - }; - var n = t("gl-buffer"), - i = t("gl-shader"), - a = t("./shaders"); - function o(t, e, r) { - ((this.plot = t), (this.vbo = e), (this.shader = r)); - } - var s, - l, - c = o.prototype; - ((c.bind = function () { - var t = this.shader; - (this.vbo.bind(), - this.shader.bind(), - t.attributes.coord.pointer(), - (t.uniforms.screenBox = this.plot.screenBox)); - }), - (c.drawBox = - ((s = [0, 0]), - (l = [0, 0]), - function (t, e, r, n, i) { - var a = this.plot, - o = this.shader, - c = a.gl; - ((s[0] = t), - (s[1] = e), - (l[0] = r), - (l[1] = n), - (o.uniforms.lo = s), - (o.uniforms.hi = l), - (o.uniforms.color = i), - c.drawArrays(c.TRIANGLE_STRIP, 0, 4)); - })), - (c.dispose = function () { - (this.vbo.dispose(), this.shader.dispose()); - })); - }, - { "./shaders": 248, "gl-buffer": 210, "gl-shader": 263 }, - ], - 246: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e), - a = i(e, o.gridVert, o.gridFrag), - l = i(e, o.tickVert, o.gridFrag); - return new s(t, r, a, l); - }; - var n = t("gl-buffer"), - i = t("gl-shader"), - a = t("binary-search-bounds"), - o = t("./shaders"); - function s(t, e, r, n) { - ((this.plot = t), - (this.vbo = e), - (this.shader = r), - (this.tickShader = n), - (this.ticks = [[], []])); - } - function l(t, e) { - return t - e; - } - var c, - u, - f, - h, - p, - d = s.prototype; - ((d.draw = - ((c = [0, 0]), - (u = [0, 0]), - (f = [0, 0]), - function () { - for ( - var t = this.plot, - e = this.vbo, - r = this.shader, - n = this.ticks, - i = t.gl, - a = t._tickBounds, - o = t.dataBox, - s = t.viewBox, - l = t.gridLineWidth, - h = t.gridLineColor, - p = t.gridLineEnable, - d = t.pixelRatio, - g = 0; - g < 2; - ++g - ) { - var m = a[g], - v = a[g + 2] - m, - y = 0.5 * (o[g + 2] + o[g]), - x = o[g + 2] - o[g]; - ((u[g] = (2 * v) / x), (c[g] = (2 * (m - y)) / x)); - } - (r.bind(), - e.bind(), - r.attributes.dataCoord.pointer(), - (r.uniforms.dataShift = c), - (r.uniforms.dataScale = u)); - var b = 0; - for (g = 0; g < 2; ++g) { - ((f[0] = f[1] = 0), - (f[g] = 1), - (r.uniforms.dataAxis = f), - (r.uniforms.lineWidth = (l[g] / (s[g + 2] - s[g])) * d), - (r.uniforms.color = h[g])); - var _ = 6 * n[g].length; - (p[g] && _ && i.drawArrays(i.TRIANGLES, b, _), (b += _)); - } - })), - (d.drawTickMarks = (function () { - var t = [0, 0], - e = [0, 0], - r = [1, 0], - n = [0, 1], - i = [0, 0], - o = [0, 0]; - return function () { - for ( - var s = this.plot, - c = this.vbo, - u = this.tickShader, - f = this.ticks, - h = s.gl, - p = s._tickBounds, - d = s.dataBox, - g = s.viewBox, - m = s.pixelRatio, - v = s.screenBox, - y = v[2] - v[0], - x = v[3] - v[1], - b = g[2] - g[0], - _ = g[3] - g[1], - w = 0; - w < 2; - ++w - ) { - var k = p[w], - M = p[w + 2] - k, - A = 0.5 * (d[w + 2] + d[w]), - T = d[w + 2] - d[w]; - ((e[w] = (2 * M) / T), (t[w] = (2 * (k - A)) / T)); - } - ((e[0] *= b / y), - (t[0] *= b / y), - (e[1] *= _ / x), - (t[1] *= _ / x), - u.bind(), - c.bind(), - u.attributes.dataCoord.pointer()); - var S = u.uniforms; - ((S.dataShift = t), (S.dataScale = e)); - var C = s.tickMarkLength, - E = s.tickMarkWidth, - L = s.tickMarkColor, - z = 6 * f[0].length, - P = Math.min( - a.ge(f[0], (d[0] - p[0]) / (p[2] - p[0]), l), - f[0].length, - ), - D = Math.min( - a.gt(f[0], (d[2] - p[0]) / (p[2] - p[0]), l), - f[0].length, - ), - O = 0 + 6 * P, - I = 6 * Math.max(0, D - P), - R = Math.min( - a.ge(f[1], (d[1] - p[1]) / (p[3] - p[1]), l), - f[1].length, - ), - B = Math.min( - a.gt(f[1], (d[3] - p[1]) / (p[3] - p[1]), l), - f[1].length, - ), - F = z + 6 * R, - N = 6 * Math.max(0, B - R); - ((i[0] = (2 * (g[0] - C[1])) / y - 1), - (i[1] = (g[3] + g[1]) / x - 1), - (o[0] = (C[1] * m) / y), - (o[1] = (E[1] * m) / x), - N && - ((S.color = L[1]), - (S.tickScale = o), - (S.dataAxis = n), - (S.screenOffset = i), - h.drawArrays(h.TRIANGLES, F, N)), - (i[0] = (g[2] + g[0]) / y - 1), - (i[1] = (2 * (g[1] - C[0])) / x - 1), - (o[0] = (E[0] * m) / y), - (o[1] = (C[0] * m) / x), - I && - ((S.color = L[0]), - (S.tickScale = o), - (S.dataAxis = r), - (S.screenOffset = i), - h.drawArrays(h.TRIANGLES, O, I)), - (i[0] = (2 * (g[2] + C[3])) / y - 1), - (i[1] = (g[3] + g[1]) / x - 1), - (o[0] = (C[3] * m) / y), - (o[1] = (E[3] * m) / x), - N && - ((S.color = L[3]), - (S.tickScale = o), - (S.dataAxis = n), - (S.screenOffset = i), - h.drawArrays(h.TRIANGLES, F, N)), - (i[0] = (g[2] + g[0]) / y - 1), - (i[1] = (2 * (g[3] + C[2])) / x - 1), - (o[0] = (E[2] * m) / y), - (o[1] = (C[2] * m) / x), - I && - ((S.color = L[2]), - (S.tickScale = o), - (S.dataAxis = r), - (S.screenOffset = i), - h.drawArrays(h.TRIANGLES, O, I))); - }; - })()), - (d.update = - ((h = [1, 1, -1, -1, 1, -1]), - (p = [1, -1, 1, 1, -1, -1]), - function (t) { - for ( - var e = t.ticks, - r = t.bounds, - n = new Float32Array(18 * (e[0].length + e[1].length)), - i = (this.plot.zeroLineEnable, 0), - a = [[], []], - o = 0; - o < 2; - ++o - ) - for ( - var s = a[o], l = e[o], c = r[o], u = r[o + 2], f = 0; - f < l.length; - ++f - ) { - var d = (l[f].x - c) / (u - c); - s.push(d); - for (var g = 0; g < 6; ++g) - ((n[i++] = d), (n[i++] = h[g]), (n[i++] = p[g])); - } - ((this.ticks = a), this.vbo.update(n)); - })), - (d.dispose = function () { - (this.vbo.dispose(), this.shader.dispose(), this.tickShader.dispose()); - })); - }, - { - "./shaders": 248, - "binary-search-bounds": 250, - "gl-buffer": 210, - "gl-shader": 263, - }, - ], - 247: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e, [-1, -1, -1, 1, 1, -1, 1, 1]), - s = i(e, a.lineVert, a.lineFrag); - return new o(t, r, s); - }; - var n = t("gl-buffer"), - i = t("gl-shader"), - a = t("./shaders"); - function o(t, e, r) { - ((this.plot = t), (this.vbo = e), (this.shader = r)); - } - var s, - l, - c = o.prototype; - ((c.bind = function () { - var t = this.shader; - (this.vbo.bind(), - this.shader.bind(), - t.attributes.coord.pointer(), - (t.uniforms.screenBox = this.plot.screenBox)); - }), - (c.drawLine = - ((s = [0, 0]), - (l = [0, 0]), - function (t, e, r, n, i, a) { - var o = this.plot, - c = this.shader, - u = o.gl; - ((s[0] = t), - (s[1] = e), - (l[0] = r), - (l[1] = n), - (c.uniforms.start = s), - (c.uniforms.end = l), - (c.uniforms.width = i * o.pixelRatio), - (c.uniforms.color = a), - u.drawArrays(u.TRIANGLE_STRIP, 0, 4)); - })), - (c.dispose = function () { - (this.vbo.dispose(), this.shader.dispose()); - })); - }, - { "./shaders": 248, "gl-buffer": 210, "gl-shader": 263 }, - ], - 248: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"), - i = n([ - "precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n", - ]); - e.exports = { - lineVert: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n", - ]), - lineFrag: i, - textVert: n([ - "#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n", - ]), - textFrag: i, - gridVert: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n", - ]), - gridFrag: i, - boxVert: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n", - ]), - tickVert: n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n", - ]), - }; - }, - { glslify: 295 }, - ], - 249: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e), - a = i(e, s.textVert, s.textFrag); - return new l(t, r, a); - }; - var n = t("gl-buffer"), - i = t("gl-shader"), - a = t("text-cache"), - o = t("binary-search-bounds"), - s = t("./shaders"); - function l(t, e, r) { - ((this.plot = t), - (this.vbo = e), - (this.shader = r), - (this.tickOffset = [[], []]), - (this.tickX = [[], []]), - (this.labelOffset = [0, 0]), - (this.labelCount = [0, 0])); - } - var c, - u, - f, - h, - p, - d, - g = l.prototype; - ((g.drawTicks = - ((c = [0, 0]), - (u = [0, 0]), - (f = [0, 0]), - function (t) { - var e = this.plot, - r = this.shader, - n = this.tickX[t], - i = this.tickOffset[t], - a = e.gl, - s = e.viewBox, - l = e.dataBox, - h = e.screenBox, - p = e.pixelRatio, - d = e.tickEnable, - g = e.tickPad, - m = e.tickColor, - v = e.tickAngle, - y = e.labelEnable, - x = e.labelPad, - b = e.labelColor, - _ = e.labelAngle, - w = this.labelOffset[t], - k = this.labelCount[t], - M = o.lt(n, l[t]), - A = o.le(n, l[t + 2]); - ((c[0] = c[1] = 0), - (c[t] = 1), - (u[t] = (s[2 + t] + s[t]) / (h[2 + t] - h[t]) - 1)); - var T = 2 / h[2 + (1 ^ t)] - h[1 ^ t]; - ((u[1 ^ t] = T * s[1 ^ t] - 1), - d[t] && - ((u[1 ^ t] -= T * p * g[t]), - M < A && - i[A] > i[M] && - ((r.uniforms.dataAxis = c), - (r.uniforms.screenOffset = u), - (r.uniforms.color = m[t]), - (r.uniforms.angle = v[t]), - a.drawArrays(a.TRIANGLES, i[M], i[A] - i[M]))), - y[t] && - k && - ((u[1 ^ t] -= T * p * x[t]), - (r.uniforms.dataAxis = f), - (r.uniforms.screenOffset = u), - (r.uniforms.color = b[t]), - (r.uniforms.angle = _[t]), - a.drawArrays(a.TRIANGLES, w, k)), - (u[1 ^ t] = T * s[2 + (1 ^ t)] - 1), - d[t + 2] && - ((u[1 ^ t] += T * p * g[t + 2]), - M < A && - i[A] > i[M] && - ((r.uniforms.dataAxis = c), - (r.uniforms.screenOffset = u), - (r.uniforms.color = m[t + 2]), - (r.uniforms.angle = v[t + 2]), - a.drawArrays(a.TRIANGLES, i[M], i[A] - i[M]))), - y[t + 2] && - k && - ((u[1 ^ t] += T * p * x[t + 2]), - (r.uniforms.dataAxis = f), - (r.uniforms.screenOffset = u), - (r.uniforms.color = b[t + 2]), - (r.uniforms.angle = _[t + 2]), - a.drawArrays(a.TRIANGLES, w, k))); - })), - (g.drawTitle = (function () { - var t = [0, 0], - e = [0, 0]; - return function () { - var r = this.plot, - n = this.shader, - i = r.gl, - a = r.screenBox, - o = r.titleCenter, - s = r.titleAngle, - l = r.titleColor, - c = r.pixelRatio; - if (this.titleCount) { - for (var u = 0; u < 2; ++u) - e[u] = (2 * (o[u] * c - a[u])) / (a[2 + u] - a[u]) - 1; - (n.bind(), - (n.uniforms.dataAxis = t), - (n.uniforms.screenOffset = e), - (n.uniforms.angle = s), - (n.uniforms.color = l), - i.drawArrays(i.TRIANGLES, this.titleOffset, this.titleCount)); - } - }; - })()), - (g.bind = - ((h = [0, 0]), - (p = [0, 0]), - (d = [0, 0]), - function () { - var t = this.plot, - e = this.shader, - r = t._tickBounds, - n = t.dataBox, - i = t.screenBox, - a = t.viewBox; - e.bind(); - for (var o = 0; o < 2; ++o) { - var s = r[o], - l = r[o + 2] - s, - c = 0.5 * (n[o + 2] + n[o]), - u = n[o + 2] - n[o], - f = a[o], - g = a[o + 2] - f, - m = i[o], - v = i[o + 2] - m; - ((p[o] = (((2 * l) / u) * g) / v), - (h[o] = (((2 * (s - c)) / u) * g) / v)); - } - ((d[1] = (2 * t.pixelRatio) / (i[3] - i[1])), - (d[0] = (d[1] * (i[3] - i[1])) / (i[2] - i[0])), - (e.uniforms.dataScale = p), - (e.uniforms.dataShift = h), - (e.uniforms.textScale = d), - this.vbo.bind(), - e.attributes.textCoordinate.pointer()); - })), - (g.update = function (t) { - var e, - r, - n, - i, - o, - s = [], - l = t.ticks, - c = t.bounds; - for (o = 0; o < 2; ++o) { - var u = [Math.floor(s.length / 3)], - f = [-1 / 0], - h = l[o]; - for (e = 0; e < h.length; ++e) { - var p = h[e], - d = p.x, - g = p.text, - m = p.font || "sans-serif"; - i = p.fontSize || 12; - for ( - var v = 1 / (c[o + 2] - c[o]), y = c[o], x = g.split("\n"), b = 0; - b < x.length; - b++ - ) - for (n = a(m, x[b]).data, r = 0; r < n.length; r += 2) - s.push(n[r] * i, -n[r + 1] * i - b * i * 1.2, (d - y) * v); - (u.push(Math.floor(s.length / 3)), f.push(d)); - } - ((this.tickOffset[o] = u), (this.tickX[o] = f)); - } - for (o = 0; o < 2; ++o) { - for ( - this.labelOffset[o] = Math.floor(s.length / 3), - n = a(t.labelFont[o], t.labels[o], { textAlign: "center" }).data, - i = t.labelSize[o], - e = 0; - e < n.length; - e += 2 - ) - s.push(n[e] * i, -n[e + 1] * i, 0); - this.labelCount[o] = Math.floor(s.length / 3) - this.labelOffset[o]; - } - for ( - this.titleOffset = Math.floor(s.length / 3), - n = a(t.titleFont, t.title).data, - i = t.titleSize, - e = 0; - e < n.length; - e += 2 - ) - s.push(n[e] * i, -n[e + 1] * i, 0); - ((this.titleCount = Math.floor(s.length / 3) - this.titleOffset), - this.vbo.update(s)); - }), - (g.dispose = function () { - (this.vbo.dispose(), this.shader.dispose()); - })); - }, - { - "./shaders": 248, - "binary-search-bounds": 250, - "gl-buffer": 210, - "gl-shader": 263, - "text-cache": 414, - }, - ], - 250: [ - function (t, e, r) { - arguments[4][91][0].apply(r, arguments); - }, - { dup: 91 }, - ], - 251: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = n(e, [e.drawingBufferWidth, e.drawingBufferHeight]), - c = new l(e, r); - return ( - (c.grid = i(c)), - (c.text = a(c)), - (c.line = o(c)), - (c.box = s(c)), - c.update(t), - c - ); - }; - var n = t("gl-select-static"), - i = t("./lib/grid"), - a = t("./lib/text"), - o = t("./lib/line"), - s = t("./lib/box"); - function l(t, e) { - ((this.gl = t), - (this.pickBuffer = e), - (this.screenBox = [0, 0, t.drawingBufferWidth, t.drawingBufferHeight]), - (this.viewBox = [0, 0, 0, 0]), - (this.dataBox = [-10, -10, 10, 10]), - (this.gridLineEnable = [!0, !0]), - (this.gridLineWidth = [1, 1]), - (this.gridLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.pixelRatio = 1), - (this.tickMarkLength = [0, 0, 0, 0]), - (this.tickMarkWidth = [0, 0, 0, 0]), - (this.tickMarkColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.tickPad = [15, 15, 15, 15]), - (this.tickAngle = [0, 0, 0, 0]), - (this.tickEnable = [!0, !0, !0, !0]), - (this.tickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.labelPad = [15, 15, 15, 15]), - (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), - (this.labelEnable = [!0, !0, !0, !0]), - (this.labelColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.titleCenter = [0, 0]), - (this.titleEnable = !0), - (this.titleAngle = 0), - (this.titleColor = [0, 0, 0, 1]), - (this.borderColor = [0, 0, 0, 0]), - (this.backgroundColor = [0, 0, 0, 0]), - (this.zeroLineEnable = [!0, !0]), - (this.zeroLineWidth = [4, 4]), - (this.zeroLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.borderLineEnable = [!0, !0, !0, !0]), - (this.borderLineWidth = [2, 2, 2, 2]), - (this.borderLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.grid = null), - (this.text = null), - (this.line = null), - (this.box = null), - (this.objects = []), - (this.overlays = []), - (this._tickBounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), - (this.static = !1), - (this.dirty = !1), - (this.pickDirty = !1), - (this.pickDelay = 120), - (this.pickRadius = 10), - (this._pickTimeout = null), - (this._drawPick = this.drawPick.bind(this)), - (this._depthCounter = 0)); - } - var c = l.prototype; - function u(t) { - for (var e = t.slice(), r = 0; r < e.length; ++r) e[r] = e[r].slice(); - return e; - } - function f(t, e) { - return t.x - e.x; - } - ((c.setDirty = function () { - this.dirty = this.pickDirty = !0; - }), - (c.setOverlayDirty = function () { - this.dirty = !0; - }), - (c.nextDepthValue = function () { - return this._depthCounter++ / 65536; - }), - (c.draw = function () { - var t = this.gl, - e = this.screenBox, - r = this.viewBox, - n = this.dataBox, - i = this.pixelRatio, - a = this.grid, - o = this.line, - s = this.text, - l = this.objects; - if ( - ((this._depthCounter = 0), - this.pickDirty && - (this._pickTimeout && clearTimeout(this._pickTimeout), - (this.pickDirty = !1), - (this._pickTimeout = setTimeout(this._drawPick, this.pickDelay))), - this.dirty) - ) { - if ( - ((this.dirty = !1), - t.bindFramebuffer(t.FRAMEBUFFER, null), - t.enable(t.SCISSOR_TEST), - t.disable(t.DEPTH_TEST), - t.depthFunc(t.LESS), - t.depthMask(!1), - t.enable(t.BLEND), - t.blendEquation(t.FUNC_ADD, t.FUNC_ADD), - t.blendFunc(t.ONE, t.ONE_MINUS_SRC_ALPHA), - this.borderColor) - ) { - t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]); - var c = this.borderColor; - (t.clearColor(c[0] * c[3], c[1] * c[3], c[2] * c[3], c[3]), - t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT)); - } - (t.scissor(r[0], r[1], r[2] - r[0], r[3] - r[1]), - t.viewport(r[0], r[1], r[2] - r[0], r[3] - r[1])); - var u = this.backgroundColor; - (t.clearColor(u[0] * u[3], u[1] * u[3], u[2] * u[3], u[3]), - t.clear(t.COLOR_BUFFER_BIT), - a.draw()); - var f = this.zeroLineEnable, - h = this.zeroLineColor, - p = this.zeroLineWidth; - if (f[0] || f[1]) { - o.bind(); - for (var d = 0; d < 2; ++d) - if (f[d] && n[d] <= 0 && n[d + 2] >= 0) { - var g = e[d] - (n[d] * (e[d + 2] - e[d])) / (n[d + 2] - n[d]); - 0 === d - ? o.drawLine(g, e[1], g, e[3], p[d], h[d]) - : o.drawLine(e[0], g, e[2], g, p[d], h[d]); - } - } - for (d = 0; d < l.length; ++d) l[d].draw(); - (t.viewport(e[0], e[1], e[2] - e[0], e[3] - e[1]), - t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]), - this.grid.drawTickMarks(), - o.bind()); - var m = this.borderLineEnable, - v = this.borderLineWidth, - y = this.borderLineColor; - for ( - m[1] && - o.drawLine( - r[0], - r[1] - 0.5 * v[1] * i, - r[0], - r[3] + 0.5 * v[3] * i, - v[1], - y[1], - ), - m[0] && - o.drawLine( - r[0] - 0.5 * v[0] * i, - r[1], - r[2] + 0.5 * v[2] * i, - r[1], - v[0], - y[0], - ), - m[3] && - o.drawLine( - r[2], - r[1] - 0.5 * v[1] * i, - r[2], - r[3] + 0.5 * v[3] * i, - v[3], - y[3], - ), - m[2] && - o.drawLine( - r[0] - 0.5 * v[0] * i, - r[3], - r[2] + 0.5 * v[2] * i, - r[3], - v[2], - y[2], - ), - s.bind(), - d = 0; - d < 2; - ++d - ) - s.drawTicks(d); - this.titleEnable && s.drawTitle(); - var x = this.overlays; - for (d = 0; d < x.length; ++d) x[d].draw(); - (t.disable(t.SCISSOR_TEST), t.disable(t.BLEND), t.depthMask(!0)); - } - }), - (c.drawPick = function () { - if (!this.static) { - var t = this.pickBuffer; - this.gl; - ((this._pickTimeout = null), t.begin()); - for (var e = 1, r = this.objects, n = 0; n < r.length; ++n) - e = r[n].drawPick(e); - t.end(); - } - }), - (c.pick = function (t, e) { - if (!this.static) { - var r = this.pixelRatio, - n = this.pickPixelRatio, - i = this.viewBox, - a = 0 | Math.round((t - i[0] / r) * n), - o = 0 | Math.round((e - i[1] / r) * n), - s = this.pickBuffer.query(a, o, this.pickRadius); - if (!s) return null; - for ( - var l = - s.id + - (s.value[0] << 8) + - (s.value[1] << 16) + - (s.value[2] << 24), - c = this.objects, - u = 0; - u < c.length; - ++u - ) { - var f = c[u].pick(a, o, l); - if (f) return f; - } - return null; - } - }), - (c.setScreenBox = function (t) { - var e = this.screenBox, - r = this.pixelRatio; - ((e[0] = 0 | Math.round(t[0] * r)), - (e[1] = 0 | Math.round(t[1] * r)), - (e[2] = 0 | Math.round(t[2] * r)), - (e[3] = 0 | Math.round(t[3] * r)), - this.setDirty()); - }), - (c.setDataBox = function (t) { - var e = this.dataBox; - (e[0] !== t[0] || e[1] !== t[1] || e[2] !== t[2] || e[3] !== t[3]) && - ((e[0] = t[0]), - (e[1] = t[1]), - (e[2] = t[2]), - (e[3] = t[3]), - this.setDirty()); - }), - (c.setViewBox = function (t) { - var e = this.pixelRatio, - r = this.viewBox; - ((r[0] = 0 | Math.round(t[0] * e)), - (r[1] = 0 | Math.round(t[1] * e)), - (r[2] = 0 | Math.round(t[2] * e)), - (r[3] = 0 | Math.round(t[3] * e))); - var n = this.pickPixelRatio; - ((this.pickBuffer.shape = [ - 0 | Math.round((t[2] - t[0]) * n), - 0 | Math.round((t[3] - t[1]) * n), - ]), - this.setDirty()); - }), - (c.update = function (t) { - t = t || {}; - var e = this.gl; - this.pixelRatio = t.pixelRatio || 1; - var r = this.pixelRatio; - ((this.pickPixelRatio = Math.max(r, 1)), - this.setScreenBox( - t.screenBox || [ - 0, - 0, - e.drawingBufferWidth / r, - e.drawingBufferHeight / r, - ], - )); - this.screenBox; - this.setViewBox( - t.viewBox || [ - (0.125 * (this.screenBox[2] - this.screenBox[0])) / r, - (0.125 * (this.screenBox[3] - this.screenBox[1])) / r, - (0.875 * (this.screenBox[2] - this.screenBox[0])) / r, - (0.875 * (this.screenBox[3] - this.screenBox[1])) / r, - ], - ); - var n = this.viewBox, - i = (n[2] - n[0]) / (n[3] - n[1]); - (this.setDataBox(t.dataBox || [-10, -10 / i, 10, 10 / i]), - (this.borderColor = - !1 !== t.borderColor && (t.borderColor || [0, 0, 0, 0]).slice()), - (this.backgroundColor = (t.backgroundColor || [0, 0, 0, 0]).slice()), - (this.gridLineEnable = (t.gridLineEnable || [!0, !0]).slice()), - (this.gridLineWidth = (t.gridLineWidth || [1, 1]).slice()), - (this.gridLineColor = u( - t.gridLineColor || [ - [0.5, 0.5, 0.5, 1], - [0.5, 0.5, 0.5, 1], - ], - )), - (this.zeroLineEnable = (t.zeroLineEnable || [!0, !0]).slice()), - (this.zeroLineWidth = (t.zeroLineWidth || [4, 4]).slice()), - (this.zeroLineColor = u( - t.zeroLineColor || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - ], - )), - (this.tickMarkLength = (t.tickMarkLength || [0, 0, 0, 0]).slice()), - (this.tickMarkWidth = (t.tickMarkWidth || [0, 0, 0, 0]).slice()), - (this.tickMarkColor = u( - t.tickMarkColor || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ], - )), - (this.titleCenter = ( - t.titleCenter || [(0.5 * (n[0] + n[2])) / r, (n[3] + 120) / r] - ).slice()), - (this.titleEnable = !("titleEnable" in t && !t.titleEnable)), - (this.titleAngle = t.titleAngle || 0), - (this.titleColor = (t.titleColor || [0, 0, 0, 1]).slice()), - (this.labelPad = (t.labelPad || [15, 15, 15, 15]).slice()), - (this.labelAngle = ( - t.labelAngle || [0, Math.PI / 2, 0, (3 * Math.PI) / 2] - ).slice()), - (this.labelEnable = (t.labelEnable || [!0, !0, !0, !0]).slice()), - (this.labelColor = u( - t.labelColor || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ], - )), - (this.tickPad = (t.tickPad || [15, 15, 15, 15]).slice()), - (this.tickAngle = (t.tickAngle || [0, 0, 0, 0]).slice()), - (this.tickEnable = (t.tickEnable || [!0, !0, !0, !0]).slice()), - (this.tickColor = u( - t.tickColor || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ], - )), - (this.borderLineEnable = ( - t.borderLineEnable || [!0, !0, !0, !0] - ).slice()), - (this.borderLineWidth = (t.borderLineWidth || [2, 2, 2, 2]).slice()), - (this.borderLineColor = u( - t.borderLineColor || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ], - ))); - var a = t.ticks || [[], []], - o = this._tickBounds; - ((o[0] = o[1] = 1 / 0), (o[2] = o[3] = -1 / 0)); - for (var s = 0; s < 2; ++s) { - var l = a[s].slice(0); - 0 !== l.length && - (l.sort(f), - (o[s] = Math.min(o[s], l[0].x)), - (o[s + 2] = Math.max(o[s + 2], l[l.length - 1].x))); - } - (this.grid.update({ bounds: o, ticks: a }), - this.text.update({ - bounds: o, - ticks: a, - labels: t.labels || ["x", "y"], - labelSize: t.labelSize || [12, 12], - labelFont: t.labelFont || ["sans-serif", "sans-serif"], - title: t.title || "", - titleSize: t.titleSize || 18, - titleFont: t.titleFont || "sans-serif", - }), - (this.static = !!t.static), - this.setDirty()); - }), - (c.dispose = function () { - (this.box.dispose(), - this.grid.dispose(), - this.text.dispose(), - this.line.dispose()); - for (var t = this.objects.length - 1; t >= 0; --t) - this.objects[t].dispose(); - this.objects.length = 0; - for (t = this.overlays.length - 1; t >= 0; --t) - this.overlays[t].dispose(); - ((this.overlays.length = 0), (this.gl = null)); - }), - (c.addObject = function (t) { - this.objects.indexOf(t) < 0 && (this.objects.push(t), this.setDirty()); - }), - (c.removeObject = function (t) { - for (var e = this.objects, r = 0; r < e.length; ++r) - if (e[r] === t) { - (e.splice(r, 1), this.setDirty()); - break; - } - }), - (c.addOverlay = function (t) { - this.overlays.indexOf(t) < 0 && - (this.overlays.push(t), this.setOverlayDirty()); - }), - (c.removeOverlay = function (t) { - for (var e = this.overlays, r = 0; r < e.length; ++r) - if (e[r] === t) { - (e.splice(r, 1), this.setOverlayDirty()); - break; - } - })); - }, - { - "./lib/box": 245, - "./lib/grid": 246, - "./lib/line": 247, - "./lib/text": 249, - "gl-select-static": 262, - }, - ], - 252: [ - function (t, e, r) { - var n = t("glslify"), - i = t("gl-shader"), - a = n([ - "precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}", - ]); - e.exports = function (t) { - return i(t, a, o, null, [{ name: "position", type: "vec2" }]); - }; - }, - { "gl-shader": 263, glslify: 295 }, - ], - 253: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = !1, - r = - ((t = t || {}).pixelRatio || parseFloat(window.devicePixelRatio), - t.canvas); - if (!r) - if (((r = document.createElement("canvas")), t.container)) { - var m = t.container; - m.appendChild(r); - } else document.body.appendChild(r); - var v = t.gl; - v || - (v = (function (t, e) { - var r = null; - try { - (r = t.getContext("webgl", e)) || - (r = t.getContext("experimental-webgl", e)); - } catch (t) { - return null; - } - return r; - })(r, t.glOptions || { premultipliedAlpha: !0, antialias: !0 })); - if (!v) throw new Error("webgl not supported"); - var y = t.bounds || [ - [-10, -10, -10], - [10, 10, 10], - ], - x = new (function () { - ((this.mouse = [-1, -1]), - (this.screen = null), - (this.distance = 1 / 0), - (this.index = null), - (this.dataCoordinate = null), - (this.dataPosition = null), - (this.object = null), - (this.data = null)); - })(), - b = l(v, [v.drawingBufferWidth, v.drawingBufferHeight], { - preferFloat: !p, - }), - _ = h(v), - w = t.camera || { - eye: [2, 0, 0], - center: [0, 0, 0], - up: [0, 1, 0], - zoomMin: 0.1, - zoomMax: 100, - mode: "turntable", - }, - k = t.axes || {}, - M = i(v, k); - M.enable = !k.disable; - var A = t.spikes || {}, - T = o(v, A), - S = [], - C = [], - E = [], - L = [], - z = !0, - P = !0, - D = new Array(16), - O = new Array(16), - I = { view: null, projection: D, model: O }, - P = !0, - R = [v.drawingBufferWidth, v.drawingBufferHeight], - B = { - gl: v, - contextLost: !1, - pixelRatio: t.pixelRatio || parseFloat(window.devicePixelRatio), - canvas: r, - selection: x, - camera: n(r, w), - axes: M, - axesPixels: null, - spikes: T, - bounds: y, - objects: S, - shape: R, - aspect: t.aspectRatio || [1, 1, 1], - pickRadius: t.pickRadius || 10, - zNear: t.zNear || 0.01, - zFar: t.zFar || 1e3, - fovy: t.fovy || Math.PI / 4, - clearColor: t.clearColor || [0, 0, 0, 0], - autoResize: g(t.autoResize), - autoBounds: g(t.autoBounds), - autoScale: !!t.autoScale, - autoCenter: g(t.autoCenter), - clipToBounds: g(t.clipToBounds), - snapToData: !!t.snapToData, - onselect: t.onselect || null, - onrender: t.onrender || null, - onclick: t.onclick || null, - cameraParams: I, - oncontextloss: null, - mouseListener: null, - }, - F = [ - (v.drawingBufferWidth / B.pixelRatio) | 0, - (v.drawingBufferHeight / B.pixelRatio) | 0, - ]; - function N() { - if (!e && B.autoResize) { - var t = r.parentNode, - n = 1, - i = 1; - t && t !== document.body - ? ((n = t.clientWidth), (i = t.clientHeight)) - : ((n = window.innerWidth), (i = window.innerHeight)); - var a = 0 | Math.ceil(n * B.pixelRatio), - o = 0 | Math.ceil(i * B.pixelRatio); - if (a !== r.width || o !== r.height) { - ((r.width = a), (r.height = o)); - var s = r.style; - ((s.position = s.position || "absolute"), - (s.left = "0px"), - (s.top = "0px"), - (s.width = n + "px"), - (s.height = i + "px"), - (z = !0)); - } - } - } - B.autoResize && N(); - function j() { - for (var t = S.length, e = L.length, r = 0; r < e; ++r) E[r] = 0; - t: for (var r = 0; r < t; ++r) { - var n = S[r], - i = n.pickSlots; - if (i) { - for (var a = 0; a < e; ++a) - if (E[a] + i < 255) { - ((C[r] = a), n.setPickBase(E[a] + 1), (E[a] += i)); - continue t; - } - var o = s(v, R); - ((C[r] = e), L.push(o), E.push(i), n.setPickBase(1), (e += 1)); - } else C[r] = -1; - } - for (; e > 0 && 0 === E[e - 1]; ) (E.pop(), L.pop().dispose()); - } - (window.addEventListener("resize", N), - (B.update = function (t) { - e || ((t = t || {}), (z = !0), (P = !0)); - }), - (B.add = function (t) { - e || ((t.axes = M), S.push(t), C.push(-1), (z = !0), (P = !0), j()); - }), - (B.remove = function (t) { - if (!e) { - var r = S.indexOf(t); - r < 0 || (S.splice(r, 1), C.pop(), (z = !0), (P = !0), j()); - } - }), - (B.dispose = function () { - if ( - !e && - ((e = !0), - window.removeEventListener("resize", N), - r.removeEventListener("webglcontextlost", q), - (B.mouseListener.enabled = !1), - !B.contextLost) - ) { - (M.dispose(), T.dispose()); - for (var t = 0; t < S.length; ++t) S[t].dispose(); - b.dispose(); - for (var t = 0; t < L.length; ++t) L[t].dispose(); - (_.dispose(), (v = null), (M = null), (T = null), (S = [])); - } - })); - var V = !1, - U = 0; - function q() { - if (B.contextLost) return !0; - v.isContextLost() && - ((B.contextLost = !0), - (B.mouseListener.enabled = !1), - (B.selection.object = null), - B.oncontextloss && B.oncontextloss()); - } - ((B.mouseListener = u(r, function (t, r, n) { - if (!e) { - var i = L.length, - a = S.length, - o = x.object; - ((x.distance = 1 / 0), - (x.mouse[0] = r), - (x.mouse[1] = n), - (x.object = null), - (x.screen = null), - (x.dataCoordinate = x.dataPosition = null)); - var s = !1; - if (t && U) V = !0; - else { - (V && (P = !0), (V = !1)); - for (var l = 0; l < i; ++l) { - var c = L[l].query(r, F[1] - n - 1, B.pickRadius); - if (c) { - if (c.distance > x.distance) continue; - for (var u = 0; u < a; ++u) { - var f = S[u]; - if (C[u] === l) { - var h = f.pick(c); - h && - ((x.buttons = t), - (x.screen = c.coord), - (x.distance = c.distance), - (x.object = f), - (x.index = h.distance), - (x.dataPosition = h.position), - (x.dataCoordinate = h.dataCoordinate), - (x.data = h), - (s = !0)); - } - } - } - } - } - (o && o !== x.object && (o.highlight && o.highlight(null), (z = !0)), - x.object && - (x.object.highlight && x.object.highlight(x.data), (z = !0)), - (s = s || x.object !== o) && B.onselect && B.onselect(x), - 1 & t && !(1 & U) && B.onclick && B.onclick(x), - (U = t)); - } - })), - r.addEventListener("webglcontextlost", q)); - var H = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ], - G = [H[0].slice(), H[1].slice()]; - function W() { - if (!q()) { - N(); - var t = B.camera.tick(); - ((I.view = B.camera.matrix), - (z = z || t), - (P = P || t), - (M.pixelRatio = B.pixelRatio), - (T.pixelRatio = B.pixelRatio)); - var e = S.length, - r = H[0], - n = H[1]; - ((r[0] = r[1] = r[2] = 1 / 0), (n[0] = n[1] = n[2] = -1 / 0)); - for (var i = 0; i < e; ++i) { - var o = S[i]; - ((o.pixelRatio = B.pixelRatio), - (o.axes = B.axes), - (z = z || !!o.dirty), - (P = P || !!o.dirty)); - var s = o.bounds; - if (s) - for (var l = s[0], u = s[1], h = 0; h < 3; ++h) - ((r[h] = Math.min(r[h], l[h])), (n[h] = Math.max(n[h], u[h]))); - } - var p = B.bounds; - if (B.autoBounds) - for (var h = 0; h < 3; ++h) { - if (n[h] < r[h]) ((r[h] = -1), (n[h] = 1)); - else { - r[h] === n[h] && ((r[h] -= 1), (n[h] += 1)); - var g = 0.05 * (n[h] - r[h]); - ((r[h] = r[h] - g), (n[h] = n[h] + g)); - } - ((p[0][h] = r[h]), (p[1][h] = n[h])); - } - for (var m = !1, h = 0; h < 3; ++h) - ((m = m || G[0][h] !== p[0][h] || G[1][h] !== p[1][h]), - (G[0][h] = p[0][h]), - (G[1][h] = p[1][h])); - if (((P = P || m), (z = z || m))) { - if (m) { - for (var y = [0, 0, 0], i = 0; i < 3; ++i) - y[i] = d((p[1][i] - p[0][i]) / 10); - M.autoTicks - ? M.update({ bounds: p, tickSpacing: y }) - : M.update({ bounds: p }); - } - var w = v.drawingBufferWidth, - k = v.drawingBufferHeight; - ((R[0] = w), - (R[1] = k), - (F[0] = 0 | Math.max(w / B.pixelRatio, 1)), - (F[1] = 0 | Math.max(k / B.pixelRatio, 1)), - f(D, B.fovy, w / k, B.zNear, B.zFar)); - for (var i = 0; i < 16; ++i) O[i] = 0; - O[15] = 1; - for (var A = 0, i = 0; i < 3; ++i) A = Math.max(A, p[1][i] - p[0][i]); - for (var i = 0; i < 3; ++i) - (B.autoScale - ? (O[5 * i] = B.aspect[i] / (p[1][i] - p[0][i])) - : (O[5 * i] = 1 / A), - B.autoCenter && - (O[12 + i] = 0.5 * -O[5 * i] * (p[0][i] + p[1][i]))); - for (var i = 0; i < e; ++i) { - var o = S[i]; - ((o.axesBounds = p), B.clipToBounds && (o.clipBounds = p)); - } - (x.object && - (B.snapToData - ? (T.position = x.dataCoordinate) - : (T.position = x.dataPosition), - (T.bounds = p)), - P && - ((P = !1), - (function () { - if (q()) return; - (v.colorMask(!0, !0, !0, !0), - v.depthMask(!0), - v.disable(v.BLEND), - v.enable(v.DEPTH_TEST)); - for (var t = S.length, e = L.length, r = 0; r < e; ++r) { - var n = L[r]; - ((n.shape = F), n.begin()); - for (var i = 0; i < t; ++i) - if (C[i] === r) { - var a = S[i]; - a.drawPick && ((a.pixelRatio = 1), a.drawPick(I)); - } - n.end(); - } - })()), - (B.axesPixels = a(B.axes, I, w, k)), - B.onrender && B.onrender(), - v.bindFramebuffer(v.FRAMEBUFFER, null), - v.viewport(0, 0, w, k)); - var E = B.clearColor; - (v.clearColor(E[0], E[1], E[2], E[3]), - v.clear(v.COLOR_BUFFER_BIT | v.DEPTH_BUFFER_BIT), - v.depthMask(!0), - v.colorMask(!0, !0, !0, !0), - v.enable(v.DEPTH_TEST), - v.depthFunc(v.LEQUAL), - v.disable(v.BLEND), - v.disable(v.CULL_FACE)); - var j = !1; - (M.enable && ((j = j || M.isTransparent()), M.draw(I)), - (T.axes = M), - x.object && T.draw(I), - v.disable(v.CULL_FACE)); - for (var i = 0; i < e; ++i) { - var o = S[i]; - ((o.axes = M), - (o.pixelRatio = B.pixelRatio), - o.isOpaque && o.isOpaque() && o.draw(I), - o.isTransparent && o.isTransparent() && (j = !0)); - } - if (j) { - ((b.shape = R), - b.bind(), - v.clear(v.DEPTH_BUFFER_BIT), - v.colorMask(!1, !1, !1, !1), - v.depthMask(!0), - v.depthFunc(v.LESS), - M.enable && M.isTransparent() && M.drawTransparent(I)); - for (var i = 0; i < e; ++i) { - var o = S[i]; - o.isOpaque && o.isOpaque() && o.draw(I); - } - (v.enable(v.BLEND), - v.blendEquation(v.FUNC_ADD), - v.blendFunc(v.ONE, v.ONE_MINUS_SRC_ALPHA), - v.colorMask(!0, !0, !0, !0), - v.depthMask(!1), - v.clearColor(0, 0, 0, 0), - v.clear(v.COLOR_BUFFER_BIT), - M.isTransparent() && M.drawTransparent(I)); - for (var i = 0; i < e; ++i) { - var o = S[i]; - o.isTransparent && o.isTransparent() && o.drawTransparent(I); - } - (v.bindFramebuffer(v.FRAMEBUFFER, null), - v.blendFunc(v.ONE, v.ONE_MINUS_SRC_ALPHA), - v.disable(v.DEPTH_TEST), - _.bind(), - b.color[0].bind(0), - (_.uniforms.accumBuffer = 0), - c(v), - v.disable(v.BLEND)); - } - z = !1; - for (var i = 0; i < e; ++i) S[i].dirty = !1; - } - } - } - return ( - (function t() { - e || B.contextLost || (requestAnimationFrame(t), W()); - })(), - (B.redraw = function () { - e || ((z = !0), W()); - }), - B - ); - }; - var n = t("3d-view-controls"), - i = t("gl-axes3d"), - a = t("gl-axes3d/properties"), - o = t("gl-spikes3d"), - s = t("gl-select-static"), - l = t("gl-fbo"), - c = t("a-big-triangle"), - u = t("mouse-change"), - f = t("gl-mat4/perspective"), - h = t("./lib/shader"), - p = t("is-mobile")(); - function d(t) { - var e = Math.round(Math.log(Math.abs(t)) / Math.log(10)); - if (e < 0) { - var r = Math.round(Math.pow(10, -e)); - return Math.ceil(t * r) / r; - } - if (e > 0) { - r = Math.round(Math.pow(10, e)); - return Math.ceil(t / r) * r; - } - return Math.ceil(t); - } - function g(t) { - return "boolean" != typeof t || t; - } - }, - { - "./lib/shader": 252, - "3d-view-controls": 40, - "a-big-triangle": 43, - "gl-axes3d": 202, - "gl-axes3d/properties": 209, - "gl-fbo": 215, - "gl-mat4/perspective": 233, - "gl-select-static": 262, - "gl-spikes3d": 272, - "is-mobile": 306, - "mouse-change": 320, - }, - ], - 254: [ - function (t, e, r) { - var n = t("glslify"); - ((r.pointVertex = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}", - ])), - (r.pointFragment = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n", - ])), - (r.pickVertex = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n", - ])), - (r.pickFragment = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n", - ]))); - }, - { glslify: 295 }, - ], - 255: [ - function (t, e, r) { - "use strict"; - var n = t("gl-shader"), - i = t("gl-buffer"), - a = t("typedarray-pool"), - o = t("./lib/shader"); - function s(t, e, r, n, i) { - ((this.plot = t), - (this.offsetBuffer = e), - (this.pickBuffer = r), - (this.shader = n), - (this.pickShader = i), - (this.sizeMin = 0.5), - (this.sizeMinCap = 2), - (this.sizeMax = 20), - (this.areaRatio = 1), - (this.pointCount = 0), - (this.color = [1, 0, 0, 1]), - (this.borderColor = [0, 0, 0, 1]), - (this.blend = !1), - (this.pickOffset = 0), - (this.points = null)); - } - e.exports = function (t, e) { - var r = t.gl, - a = i(r), - l = i(r), - c = n(r, o.pointVertex, o.pointFragment), - u = n(r, o.pickVertex, o.pickFragment), - f = new s(t, a, l, c, u); - return (f.update(e), t.addObject(f), f); - }; - var l, - c, - u = s.prototype; - ((u.dispose = function () { - (this.shader.dispose(), - this.pickShader.dispose(), - this.offsetBuffer.dispose(), - this.pickBuffer.dispose(), - this.plot.removeObject(this)); - }), - (u.update = function (t) { - var e; - function r(e, r) { - return e in t ? t[e] : r; - } - ((t = t || {}), - (this.sizeMin = r("sizeMin", 0.5)), - (this.sizeMax = r("sizeMax", 20)), - (this.color = r("color", [1, 0, 0, 1]).slice()), - (this.areaRatio = r("areaRatio", 1)), - (this.borderColor = r("borderColor", [0, 0, 0, 1]).slice()), - (this.blend = r("blend", !1))); - var n = t.positions.length >>> 1, - i = t.positions instanceof Float32Array, - o = t.idToIndex instanceof Int32Array && t.idToIndex.length >= n, - s = t.positions, - l = i ? s : a.mallocFloat32(s.length), - c = o ? t.idToIndex : a.mallocInt32(n); - if ((i || l.set(s), !o)) for (l.set(s), e = 0; e < n; e++) c[e] = e; - ((this.points = s), - this.offsetBuffer.update(l), - this.pickBuffer.update(c), - i || a.free(l), - o || a.free(c), - (this.pointCount = n), - (this.pickOffset = 0)); - }), - (u.unifiedDraw = - ((l = [1, 0, 0, 0, 1, 0, 0, 0, 1]), - (c = [0, 0, 0, 0]), - function (t) { - var e = void 0 !== t, - r = e ? this.pickShader : this.shader, - n = this.plot.gl, - i = this.plot.dataBox; - if (0 === this.pointCount) return t; - var a = i[2] - i[0], - o = i[3] - i[1], - s = (function (t, e) { - var r, - n = 0, - i = t.length >>> 1; - for (r = 0; r < i; r++) { - var a = t[2 * r], - o = t[2 * r + 1]; - a >= e[0] && a <= e[2] && o >= e[1] && o <= e[3] && n++; - } - return n; - })(this.points, i), - u = - this.plot.pickPixelRatio * - Math.max( - Math.min(this.sizeMinCap, this.sizeMin), - Math.min(this.sizeMax, this.sizeMax / Math.pow(s, 0.33333)), - ); - ((l[0] = 2 / a), - (l[4] = 2 / o), - (l[6] = (-2 * i[0]) / a - 1), - (l[7] = (-2 * i[1]) / o - 1), - this.offsetBuffer.bind(), - r.bind(), - r.attributes.position.pointer(), - (r.uniforms.matrix = l), - (r.uniforms.color = this.color), - (r.uniforms.borderColor = this.borderColor), - (r.uniforms.pointCloud = u < 5), - (r.uniforms.pointSize = u), - (r.uniforms.centerFraction = Math.min( - 1, - Math.max(0, Math.sqrt(1 - this.areaRatio)), - )), - e && - ((c[0] = 255 & t), - (c[1] = (t >> 8) & 255), - (c[2] = (t >> 16) & 255), - (c[3] = (t >> 24) & 255), - this.pickBuffer.bind(), - r.attributes.pickId.pointer(n.UNSIGNED_BYTE), - (r.uniforms.pickOffset = c), - (this.pickOffset = t))); - var f = n.getParameter(n.BLEND), - h = n.getParameter(n.DITHER); - return ( - f && !this.blend && n.disable(n.BLEND), - h && n.disable(n.DITHER), - n.drawArrays(n.POINTS, 0, this.pointCount), - f && !this.blend && n.enable(n.BLEND), - h && n.enable(n.DITHER), - t + this.pointCount - ); - })), - (u.draw = u.unifiedDraw), - (u.drawPick = u.unifiedDraw), - (u.pick = function (t, e, r) { - var n = this.pickOffset, - i = this.pointCount; - if (r < n || r >= n + i) return null; - var a = r - n, - o = this.points; - return { object: this, pointId: a, dataCoord: [o[2 * a], o[2 * a + 1]] }; - })); - }, - { - "./lib/shader": 254, - "gl-buffer": 210, - "gl-shader": 263, - "typedarray-pool": 423, - }, - ], - 256: [ - function (t, e, r) { - e.exports = function (t, e, r, n) { - var i, - a, - o, - s, - l, - c = e[0], - u = e[1], - f = e[2], - h = e[3], - p = r[0], - d = r[1], - g = r[2], - m = r[3]; - (a = c * p + u * d + f * g + h * m) < 0 && - ((a = -a), (p = -p), (d = -d), (g = -g), (m = -m)); - 1 - a > 1e-6 - ? ((i = Math.acos(a)), - (o = Math.sin(i)), - (s = Math.sin((1 - n) * i) / o), - (l = Math.sin(n * i) / o)) - : ((s = 1 - n), (l = n)); - return ( - (t[0] = s * c + l * p), - (t[1] = s * u + l * d), - (t[2] = s * f + l * g), - (t[3] = s * h + l * m), - t - ); - }; - }, - {}, - ], - 257: [ - function (t, e, r) { - "use strict"; - var n = t("vectorize-text"); - e.exports = function (t, e) { - var r = i[e]; - r || (r = i[e] = {}); - if (t in r) return r[t]; - for ( - var a = n(t, { - textAlign: "center", - textBaseline: "middle", - lineHeight: 1, - font: e, - }), - o = n(t, { - triangles: !0, - textAlign: "center", - textBaseline: "middle", - lineHeight: 1, - font: e, - }), - s = [ - [1 / 0, 1 / 0], - [-1 / 0, -1 / 0], - ], - l = 0; - l < a.positions.length; - ++l - ) - for (var c = a.positions[l], u = 0; u < 2; ++u) - ((s[0][u] = Math.min(s[0][u], c[u])), - (s[1][u] = Math.max(s[1][u], c[u]))); - return (r[t] = [o, a, s]); - }; - var i = {}; - }, - { "vectorize-text": 430 }, - ], - 258: [ - function (t, e, r) { - var n = t("gl-shader"), - i = t("glslify"), - a = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n \n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", - ]), - o = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n \n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}", - ]), - s = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) ||\n any(greaterThan(position, clipBounds[1])) ) {\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n", - ]), - l = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) ||\n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = interpColor * opacity;\n }\n}\n", - ]), - c = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if(any(lessThan(dataCoordinate, fragClipBounds[0])) || \n any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\n discard;\n } else {\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n }\n}", - ]), - u = [ - { name: "position", type: "vec3" }, - { name: "color", type: "vec4" }, - { name: "glyph", type: "vec2" }, - { name: "id", type: "vec4" }, - ], - f = { vertex: a, fragment: l, attributes: u }, - h = { vertex: o, fragment: l, attributes: u }, - p = { vertex: s, fragment: l, attributes: u }, - d = { vertex: a, fragment: c, attributes: u }, - g = { vertex: o, fragment: c, attributes: u }, - m = { vertex: s, fragment: c, attributes: u }; - function v(t, e) { - var r = n(t, e), - i = r.attributes; - return ( - (i.position.location = 0), - (i.color.location = 1), - (i.glyph.location = 2), - (i.id.location = 3), - r - ); - } - ((r.createPerspective = function (t) { - return v(t, f); - }), - (r.createOrtho = function (t) { - return v(t, h); - }), - (r.createProject = function (t) { - return v(t, p); - }), - (r.createPickPerspective = function (t) { - return v(t, d); - }), - (r.createPickOrtho = function (t) { - return v(t, g); - }), - (r.createPickProject = function (t) { - return v(t, m); - })); - }, - { "gl-shader": 263, glslify: 295 }, - ], - 259: [ - function (t, e, r) { - "use strict"; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("typedarray-pool"), - o = t("gl-mat4/multiply"), - s = t("./lib/shaders"), - l = t("./lib/glyphs"), - c = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - function u(t, e) { - var r = t[0], - n = t[1], - i = t[2], - a = t[3]; - return ( - (t[0] = e[0] * r + e[4] * n + e[8] * i + e[12] * a), - (t[1] = e[1] * r + e[5] * n + e[9] * i + e[13] * a), - (t[2] = e[2] * r + e[6] * n + e[10] * i + e[14] * a), - (t[3] = e[3] * r + e[7] * n + e[11] * i + e[15] * a), - t - ); - } - function f(t, e, r, n) { - return (u(n, n), u(n, n), u(n, n)); - } - function h(t, e, r, n, i, a, o, s, l, c, u, f) { - ((this.gl = t), - (this.pixelRatio = 1), - (this.shader = e), - (this.orthoShader = r), - (this.projectShader = n), - (this.pointBuffer = i), - (this.colorBuffer = a), - (this.glyphBuffer = o), - (this.idBuffer = s), - (this.vao = l), - (this.vertexCount = 0), - (this.lineVertexCount = 0), - (this.opacity = 1), - (this.lineWidth = 0), - (this.projectScale = [2 / 3, 2 / 3, 2 / 3]), - (this.projectOpacity = [1, 1, 1]), - (this.pickId = 0), - (this.pickPerspectiveShader = c), - (this.pickOrthoShader = u), - (this.pickProjectShader = f), - (this.points = []), - (this._selectResult = new (function (t, e) { - ((this.index = t), (this.dataCoordinate = this.position = e)); - })(0, [0, 0, 0])), - (this.useOrtho = !0), - (this.bounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]), - (this.axesProject = [!0, !0, !0]), - (this.axesBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.highlightId = [1, 1, 1, 1]), - (this.highlightScale = 2), - (this.clipBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.dirty = !0)); - } - e.exports = function (t) { - var e = t.gl, - r = s.createPerspective(e), - a = s.createOrtho(e), - o = s.createProject(e), - l = s.createPickPerspective(e), - c = s.createPickOrtho(e), - u = s.createPickProject(e), - f = n(e), - p = n(e), - d = n(e), - g = n(e), - m = i(e, [ - { buffer: f, size: 3, type: e.FLOAT }, - { buffer: p, size: 4, type: e.FLOAT }, - { buffer: d, size: 2, type: e.FLOAT }, - { buffer: g, size: 4, type: e.UNSIGNED_BYTE, normalized: !0 }, - ]), - v = new h(e, r, a, o, f, p, d, g, m, l, c, u); - return (v.update(t), v); - }; - var p = h.prototype; - ((p.pickSlots = 1), - (p.setPickBase = function (t) { - this.pickId = t; - }), - (p.isTransparent = function () { - if (this.opacity < 1) return !0; - for (var t = 0; t < 3; ++t) - if (this.axesProject[t] && this.projectOpacity[t] < 1) return !0; - return !1; - }), - (p.isOpaque = function () { - if (this.opacity >= 1) return !0; - for (var t = 0; t < 3; ++t) - if (this.axesProject[t] && this.projectOpacity[t] >= 1) return !0; - return !1; - })); - var d = [0, 0], - g = [0, 0, 0], - m = [0, 0, 0], - v = [0, 0, 0, 1], - y = [0, 0, 0, 1], - x = c.slice(), - b = [0, 0, 0], - _ = [ - [0, 0, 0], - [0, 0, 0], - ]; - function w(t) { - return ((t[0] = t[1] = t[2] = 0), t); - } - function k(t, e) { - return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = 1), t); - } - function M(t, e, r, n) { - return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[r] = n), t); - } - function A(t, e, r, n, i) { - var a, - s = e.axesProject, - l = e.gl, - u = t.uniforms, - h = r.model || c, - p = r.view || c, - A = r.projection || c, - T = e.axesBounds, - S = (function (t) { - for (var e = _, r = 0; r < 2; ++r) - for (var n = 0; n < 3; ++n) - e[r][n] = Math.max(Math.min(t[r][n], 1e8), -1e8); - return e; - })(e.clipBounds); - ((a = - e.axes && e.axes.lastCubeProps ? e.axes.lastCubeProps.axis : [1, 1, 1]), - (d[0] = 2 / l.drawingBufferWidth), - (d[1] = 2 / l.drawingBufferHeight), - t.bind(), - (u.view = p), - (u.projection = A), - (u.screenSize = d), - (u.highlightId = e.highlightId), - (u.highlightScale = e.highlightScale), - (u.clipBounds = S), - (u.pickGroup = e.pickId / 255), - (u.pixelRatio = e.pixelRatio)); - for (var C = 0; C < 3; ++C) - if (s[C] && e.projectOpacity[C] < 1 === n) { - ((u.scale = e.projectScale[C]), (u.opacity = e.projectOpacity[C])); - for (var E = x, L = 0; L < 16; ++L) E[L] = 0; - for (L = 0; L < 4; ++L) E[5 * L] = 1; - ((E[5 * C] = 0), - a[C] < 0 ? (E[12 + C] = T[0][C]) : (E[12 + C] = T[1][C]), - o(E, h, E), - (u.model = E)); - var z = (C + 1) % 3, - P = (C + 2) % 3, - D = w(g), - O = w(m); - ((D[z] = 1), (O[P] = 1)); - var I = f(0, 0, 0, k(v, D)), - R = f(0, 0, 0, k(y, O)); - if (Math.abs(I[1]) > Math.abs(R[1])) { - var B = I; - ((I = R), (R = B), (B = D), (D = O), (O = B)); - var F = z; - ((z = P), (P = F)); - } - (I[0] < 0 && (D[z] = -1), R[1] > 0 && (O[P] = -1)); - var N = 0, - j = 0; - for (L = 0; L < 4; ++L) - ((N += Math.pow(h[4 * z + L], 2)), (j += Math.pow(h[4 * P + L], 2))); - ((D[z] /= Math.sqrt(N)), - (O[P] /= Math.sqrt(j)), - (u.axes[0] = D), - (u.axes[1] = O), - (u.fragClipBounds[0] = M(b, S[0], C, -1e8)), - (u.fragClipBounds[1] = M(b, S[1], C, 1e8)), - e.vao.draw(l.TRIANGLES, e.vertexCount), - e.lineWidth > 0 && - (l.lineWidth(e.lineWidth), - e.vao.draw(l.LINES, e.lineVertexCount, e.vertexCount))); - } - } - var T = [ - [-1e8, -1e8, -1e8], - [1e8, 1e8, 1e8], - ]; - function S(t, e, r, n, i, a) { - var o = r.gl; - if ((r.vao.bind(), i === r.opacity < 1 || a)) { - t.bind(); - var s = t.uniforms; - ((s.model = n.model || c), - (s.view = n.view || c), - (s.projection = n.projection || c), - (d[0] = 2 / o.drawingBufferWidth), - (d[1] = 2 / o.drawingBufferHeight), - (s.screenSize = d), - (s.highlightId = r.highlightId), - (s.highlightScale = r.highlightScale), - (s.fragClipBounds = T), - (s.clipBounds = r.axes.bounds), - (s.opacity = r.opacity), - (s.pickGroup = r.pickId / 255), - (s.pixelRatio = r.pixelRatio), - r.vao.draw(o.TRIANGLES, r.vertexCount), - r.lineWidth > 0 && - (o.lineWidth(r.lineWidth), - r.vao.draw(o.LINES, r.lineVertexCount, r.vertexCount))); - } - (A(e, r, n, i), r.vao.unbind()); - } - ((p.draw = function (t) { - S( - this.useOrtho ? this.orthoShader : this.shader, - this.projectShader, - this, - t, - !1, - !1, - ); - }), - (p.drawTransparent = function (t) { - S( - this.useOrtho ? this.orthoShader : this.shader, - this.projectShader, - this, - t, - !0, - !1, - ); - }), - (p.drawPick = function (t) { - S( - this.useOrtho ? this.pickOrthoShader : this.pickPerspectiveShader, - this.pickProjectShader, - this, - t, - !1, - !0, - ); - }), - (p.pick = function (t) { - if (!t) return null; - if (t.id !== this.pickId) return null; - var e = t.value[2] + (t.value[1] << 8) + (t.value[0] << 16); - if (e >= this.pointCount || e < 0) return null; - var r = this.points[e], - n = this._selectResult; - n.index = e; - for (var i = 0; i < 3; ++i) n.position[i] = n.dataCoordinate[i] = r[i]; - return n; - }), - (p.highlight = function (t) { - if (t) { - var e = t.index, - r = 255 & e, - n = (e >> 8) & 255, - i = (e >> 16) & 255; - this.highlightId = [r / 255, n / 255, i / 255, 0]; - } else this.highlightId = [1, 1, 1, 1]; - }), - (p.update = function (t) { - if ( - ("perspective" in (t = t || {}) && (this.useOrtho = !t.perspective), - "orthographic" in t && (this.useOrtho = !!t.orthographic), - "lineWidth" in t && (this.lineWidth = t.lineWidth), - "project" in t) - ) - if (Array.isArray(t.project)) this.axesProject = t.project; - else { - var e = !!t.project; - this.axesProject = [e, e, e]; - } - if ("projectScale" in t) - if (Array.isArray(t.projectScale)) - this.projectScale = t.projectScale.slice(); - else { - var r = +t.projectScale; - this.projectScale = [r, r, r]; - } - if ("projectOpacity" in t) - if (Array.isArray(t.projectOpacity)) - this.projectOpacity = t.projectOpacity.slice(); - else { - r = +t.projectOpacity; - this.projectOpacity = [r, r, r]; - } - ("opacity" in t && (this.opacity = t.opacity), (this.dirty = !0)); - var n = t.position; - if (n) { - var i = t.font || "normal", - o = t.alignment || [0, 0], - s = [1 / 0, 1 / 0, 1 / 0], - c = [-1 / 0, -1 / 0, -1 / 0], - u = t.glyph, - f = t.color, - h = t.size, - p = t.angle, - d = t.lineColor, - g = 0, - m = 0, - v = 0, - y = n.length; - t: for (var x = 0; x < y; ++x) { - for (var b = n[x], _ = 0; _ < 3; ++_) - if (isNaN(b[_]) || !isFinite(b[_])) continue t; - var w = (B = Array.isArray(u) ? l(u[x], i) : l(u || "\u25cf", i))[0], - k = B[1], - M = B[2]; - ((m += 3 * w.cells.length), (v += 2 * k.edges.length)); - } - var A = m + v, - T = a.mallocFloat(3 * A), - S = a.mallocFloat(4 * A), - C = a.mallocFloat(2 * A), - E = a.mallocUint32(A), - L = [0, o[1]], - z = 0, - P = m, - D = [0, 0, 0, 1], - O = [0, 0, 0, 1], - I = Array.isArray(f) && Array.isArray(f[0]), - R = Array.isArray(d) && Array.isArray(d[0]); - t: for (x = 0; x < y; ++x) { - var B; - for (b = n[x], _ = 0; _ < 3; ++_) { - if (isNaN(b[_]) || !isFinite(b[_])) { - g += 1; - continue t; - } - ((c[_] = Math.max(c[_], b[_])), (s[_] = Math.min(s[_], b[_]))); - } - var F; - ((w = (B = Array.isArray(u) ? l(u[x], i) : l(u || "\u25cf", i))[0]), - (k = B[1]), - (M = B[2])); - if (Array.isArray(f)) { - if (3 === (F = I ? f[x] : f).length) { - for (_ = 0; _ < 3; ++_) D[_] = F[_]; - D[3] = 1; - } else if (4 === F.length) for (_ = 0; _ < 4; ++_) D[_] = F[_]; - } else ((D[0] = D[1] = D[2] = 0), (D[3] = 1)); - if (Array.isArray(d)) { - if (3 === (F = R ? d[x] : d).length) { - for (_ = 0; _ < 3; ++_) O[_] = F[_]; - O[_] = 1; - } else if (4 === F.length) for (_ = 0; _ < 4; ++_) O[_] = F[_]; - } else ((O[0] = O[1] = O[2] = 0), (O[3] = 1)); - var N = 0.5; - Array.isArray(h) - ? (N = +h[x]) - : h - ? (N = +h) - : this.useOrtho && (N = 12); - var j = 0; - Array.isArray(p) ? (j = +p[x]) : p && (j = +p); - var V = Math.cos(j), - U = Math.sin(j); - for (b = n[x], _ = 0; _ < 3; ++_) - ((c[_] = Math.max(c[_], b[_])), (s[_] = Math.min(s[_], b[_]))); - o[0] < 0 - ? (L[0] = o[0] * (1 + M[1][0])) - : o[0] > 0 && (L[0] = -o[0] * (1 + M[0][0])); - var q = w.cells, - H = w.positions; - for (_ = 0; _ < q.length; ++_) - for (var G = q[_], W = 0; W < 3; ++W) { - for (var Y = 0; Y < 3; ++Y) T[3 * z + Y] = b[Y]; - for (Y = 0; Y < 4; ++Y) S[4 * z + Y] = D[Y]; - E[z] = g; - var X = H[G[W]]; - ((C[2 * z] = N * (V * X[0] - U * X[1] + L[0])), - (C[2 * z + 1] = N * (U * X[0] + V * X[1] + L[1])), - (z += 1)); - } - for (q = k.edges, H = k.positions, _ = 0; _ < q.length; ++_) - for (G = q[_], W = 0; W < 2; ++W) { - for (Y = 0; Y < 3; ++Y) T[3 * P + Y] = b[Y]; - for (Y = 0; Y < 4; ++Y) S[4 * P + Y] = O[Y]; - E[P] = g; - X = H[G[W]]; - ((C[2 * P] = N * (V * X[0] - U * X[1] + L[0])), - (C[2 * P + 1] = N * (U * X[0] + V * X[1] + L[1])), - (P += 1)); - } - g += 1; - } - ((this.vertexCount = m), - (this.lineVertexCount = v), - this.pointBuffer.update(T), - this.colorBuffer.update(S), - this.glyphBuffer.update(C), - this.idBuffer.update(new Uint32Array(E)), - a.free(T), - a.free(S), - a.free(C), - a.free(E), - (this.bounds = [s, c]), - (this.points = n), - (this.pointCount = n.length)); - } - }), - (p.dispose = function () { - (this.shader.dispose(), - this.orthoShader.dispose(), - this.pickPerspectiveShader.dispose(), - this.pickOrthoShader.dispose(), - this.vao.dispose(), - this.pointBuffer.dispose(), - this.colorBuffer.dispose(), - this.glyphBuffer.dispose(), - this.idBuffer.dispose()); - })); - }, - { - "./lib/glyphs": 257, - "./lib/shaders": 258, - "gl-buffer": 210, - "gl-mat4/multiply": 232, - "gl-vao": 279, - "typedarray-pool": 423, - }, - ], - 260: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"); - ((r.boxVertex = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n", - ])), - (r.boxFragment = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n", - ]))); - }, - { glslify: 295 }, - ], - 261: [ - function (t, e, r) { - "use strict"; - var n = t("gl-shader"), - i = t("gl-buffer"), - a = t("./lib/shaders"); - function o(t, e, r) { - ((this.plot = t), - (this.boxBuffer = e), - (this.boxShader = r), - (this.enabled = !0), - (this.selectBox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), - (this.borderColor = [0, 0, 0, 1]), - (this.innerFill = !1), - (this.innerColor = [0, 0, 0, 0.25]), - (this.outerFill = !0), - (this.outerColor = [0, 0, 0, 0.5]), - (this.borderWidth = 10)); - } - e.exports = function (t, e) { - var r = t.gl, - s = i(r, [0, 0, 0, 1, 1, 0, 1, 1]), - l = n(r, a.boxVertex, a.boxFragment), - c = new o(t, s, l); - return (c.update(e), t.addOverlay(c), c); - }; - var s = o.prototype; - ((s.draw = function () { - if (this.enabled) { - var t = this.plot, - e = this.selectBox, - r = this.borderWidth, - n = (this.innerFill, this.innerColor), - i = (this.outerFill, this.outerColor), - a = this.borderColor, - o = t.box, - s = t.screenBox, - l = t.dataBox, - c = t.viewBox, - u = t.pixelRatio, - f = ((e[0] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], - h = ((e[1] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1], - p = ((e[2] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], - d = ((e[3] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1]; - if ( - ((f = Math.max(f, c[0])), - (h = Math.max(h, c[1])), - (p = Math.min(p, c[2])), - (d = Math.min(d, c[3])), - !(p < f || d < h)) - ) { - o.bind(); - var g = s[2] - s[0], - m = s[3] - s[1]; - if ( - (this.outerFill && - (o.drawBox(0, 0, g, h, i), - o.drawBox(0, h, f, d, i), - o.drawBox(0, d, g, m, i), - o.drawBox(p, h, g, d, i)), - this.innerFill && o.drawBox(f, h, p, d, n), - r > 0) - ) { - var v = r * u; - (o.drawBox(f - v, h - v, p + v, h + v, a), - o.drawBox(f - v, d - v, p + v, d + v, a), - o.drawBox(f - v, h - v, f + v, d + v, a), - o.drawBox(p - v, h - v, p + v, d + v, a)); - } - } - } - }), - (s.update = function (t) { - ((t = t || {}), - (this.innerFill = !!t.innerFill), - (this.outerFill = !!t.outerFill), - (this.innerColor = (t.innerColor || [0, 0, 0, 0.5]).slice()), - (this.outerColor = (t.outerColor || [0, 0, 0, 0.5]).slice()), - (this.borderColor = (t.borderColor || [0, 0, 0, 1]).slice()), - (this.borderWidth = t.borderWidth || 0), - (this.selectBox = (t.selectBox || this.selectBox).slice())); - }), - (s.dispose = function () { - (this.boxBuffer.dispose(), - this.boxShader.dispose(), - this.plot.removeOverlay(this)); - })); - }, - { "./lib/shaders": 260, "gl-buffer": 210, "gl-shader": 263 }, - ], - 262: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = n(t, e), - a = i.mallocUint8(e[0] * e[1] * 4); - return new l(t, r, a); - }; - var n = t("gl-fbo"), - i = t("typedarray-pool"), - a = t("ndarray"), - o = t("bit-twiddle").nextPow2, - s = t("cwise/lib/wrapper")({ - args: [ - "array", - { offset: [0, 0, 1], array: 0 }, - { offset: [0, 0, 2], array: 0 }, - { offset: [0, 0, 3], array: 0 }, - "scalar", - "scalar", - "index", - ], - pre: { - body: "{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}", - args: [], - thisVars: ["this_closestD2", "this_closestX", "this_closestY"], - localVars: [], - }, - body: { - body: "{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f this.buffer.length) { - i.free(this.buffer); - for ( - var n = (this.buffer = i.mallocUint8(o(r * e * 4))), a = 0; - a < r * e * 4; - ++a - ) - n[a] = 255; - } - return t; - } - }, - }), - (c.begin = function () { - var t = this.gl; - this.shape; - t && - (this.fbo.bind(), - t.clearColor(1, 1, 1, 1), - t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT)); - }), - (c.end = function () { - var t = this.gl; - t && - (t.bindFramebuffer(t.FRAMEBUFFER, null), - this._readTimeout || clearTimeout(this._readTimeout), - (this._readTimeout = setTimeout(this._readCallback, 1))); - }), - (c.query = function (t, e, r) { - if (!this.gl) return null; - var n = this.fbo.shape.slice(); - ((t |= 0), (e |= 0), "number" != typeof r && (r = 1)); - var i = 0 | Math.min(Math.max(t - r, 0), n[0]), - o = 0 | Math.min(Math.max(t + r, 0), n[0]), - l = 0 | Math.min(Math.max(e - r, 0), n[1]), - c = 0 | Math.min(Math.max(e + r, 0), n[1]); - if (o <= i || c <= l) return null; - var u = [o - i, c - l], - f = a( - this.buffer, - [u[0], u[1], 4], - [4, 4 * n[0], 1], - 4 * (i + n[0] * l), - ), - h = s(f.hi(u[0], u[1], 1), r, r), - p = h[0], - d = h[1]; - return p < 0 || Math.pow(this.radius, 2) < h[2] - ? null - : new (function (t, e, r, n, i) { - ((this.coord = [t, e]), - (this.id = r), - (this.value = n), - (this.distance = i)); - })( - (p + i) | 0, - (d + l) | 0, - f.get(p, d, 0), - [f.get(p, d, 1), f.get(p, d, 2), f.get(p, d, 3)], - Math.sqrt(h[2]), - ); - }), - (c.dispose = function () { - this.gl && - (this.fbo.dispose(), - i.free(this.buffer), - (this.gl = null), - this._readTimeout && clearTimeout(this._readTimeout)); - })); - }, - { - "bit-twiddle": 73, - "cwise/lib/wrapper": 119, - "gl-fbo": 215, - ndarray: 335, - "typedarray-pool": 423, - }, - ], - 263: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/create-uniforms"), - i = t("./lib/create-attributes"), - a = t("./lib/reflect"), - o = t("./lib/shader-cache"), - s = t("./lib/runtime-reflect"), - l = t("./lib/GLError"); - function c(t) { - ((this.gl = t), - (this.gl.lastAttribCount = 0), - (this._vref = - this._fref = - this._relink = - this.vertShader = - this.fragShader = - this.program = - this.attributes = - this.uniforms = - this.types = - null)); - } - var u = c.prototype; - function f(t, e) { - return t.name < e.name ? -1 : 1; - } - ((u.bind = function () { - var t; - this.program || this._relink(); - var e = this.gl.getProgramParameter( - this.program, - this.gl.ACTIVE_ATTRIBUTES, - ), - r = this.gl.lastAttribCount; - if (e > r) for (t = r; t < e; t++) this.gl.enableVertexAttribArray(t); - else if (r > e) for (t = e; t < r; t++) this.gl.disableVertexAttribArray(t); - ((this.gl.lastAttribCount = e), this.gl.useProgram(this.program)); - }), - (u.dispose = function () { - for (var t = this.gl.lastAttribCount, e = 0; e < t; e++) - this.gl.disableVertexAttribArray(e); - ((this.gl.lastAttribCount = 0), - this._fref && this._fref.dispose(), - this._vref && this._vref.dispose(), - (this.attributes = - this.types = - this.vertShader = - this.fragShader = - this.program = - this._relink = - this._fref = - this._vref = - null)); - }), - (u.update = function (t, e, r, c) { - if (!e || 1 === arguments.length) { - var u = t; - ((t = u.vertex), - (e = u.fragment), - (r = u.uniforms), - (c = u.attributes)); - } - var h = this, - p = h.gl, - d = h._vref; - ((h._vref = o.shader(p, p.VERTEX_SHADER, t)), - d && d.dispose(), - (h.vertShader = h._vref.shader)); - var g = this._fref; - if ( - ((h._fref = o.shader(p, p.FRAGMENT_SHADER, e)), - g && g.dispose(), - (h.fragShader = h._fref.shader), - !r || !c) - ) { - var m = p.createProgram(); - if ( - (p.attachShader(m, h.fragShader), - p.attachShader(m, h.vertShader), - p.linkProgram(m), - !p.getProgramParameter(m, p.LINK_STATUS)) - ) { - var v = p.getProgramInfoLog(m); - throw new l(v, "Error linking program:" + v); - } - ((r = r || s.uniforms(p, m)), - (c = c || s.attributes(p, m)), - p.deleteProgram(m)); - } - (c = c.slice()).sort(f); - var y, - x = [], - b = [], - _ = []; - for (y = 0; y < c.length; ++y) { - var w = c[y]; - if (w.type.indexOf("mat") >= 0) { - for ( - var k = 0 | w.type.charAt(w.type.length - 1), - M = new Array(k), - A = 0; - A < k; - ++A - ) - ((M[A] = _.length), - b.push(w.name + "[" + A + "]"), - "number" == typeof w.location - ? _.push(w.location + A) - : Array.isArray(w.location) && - w.location.length === k && - "number" == typeof w.location[A] - ? _.push(0 | w.location[A]) - : _.push(-1)); - x.push({ name: w.name, type: w.type, locations: M }); - } else - (x.push({ name: w.name, type: w.type, locations: [_.length] }), - b.push(w.name), - "number" == typeof w.location - ? _.push(0 | w.location) - : _.push(-1)); - } - var T = 0; - for (y = 0; y < _.length; ++y) - if (_[y] < 0) { - for (; _.indexOf(T) >= 0; ) T += 1; - _[y] = T; - } - var S = new Array(r.length); - function C() { - h.program = o.program(p, h._vref, h._fref, b, _); - for (var t = 0; t < r.length; ++t) - S[t] = p.getUniformLocation(h.program, r[t].name); - } - (C(), - (h._relink = C), - (h.types = { uniforms: a(r), attributes: a(c) }), - (h.attributes = i(p, h, x, _)), - Object.defineProperty(h, "uniforms", n(p, h, r, S))); - }), - (e.exports = function (t, e, r, n, i) { - var a = new c(t); - return (a.update(e, r, n, i), a); - })); - }, - { - "./lib/GLError": 264, - "./lib/create-attributes": 265, - "./lib/create-uniforms": 266, - "./lib/reflect": 267, - "./lib/runtime-reflect": 268, - "./lib/shader-cache": 269, - }, - ], - 264: [ - function (t, e, r) { - function n(t, e, r) { - ((this.shortMessage = e || ""), - (this.longMessage = r || ""), - (this.rawError = t || ""), - (this.message = "gl-shader: " + (e || t || "") + (r ? "\n" + r : "")), - (this.stack = new Error().stack)); - } - ((n.prototype = new Error()), - (n.prototype.name = "GLError"), - (n.prototype.constructor = n), - (e.exports = n)); - }, - {}, - ], - 265: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, i) { - for (var a = {}, l = 0, c = r.length; l < c; ++l) { - var u = r[l], - f = u.name, - h = u.type, - p = u.locations; - switch (h) { - case "bool": - case "int": - case "float": - o(t, e, p[0], i, 1, a, f); - break; - default: - if (h.indexOf("vec") >= 0) { - var d = h.charCodeAt(h.length - 1) - 48; - if (d < 2 || d > 4) - throw new n( - "", - "Invalid data type for attribute " + f + ": " + h, - ); - o(t, e, p[0], i, d, a, f); - } else { - if (!(h.indexOf("mat") >= 0)) - throw new n( - "", - "Unknown data type for attribute " + f + ": " + h, - ); - var d = h.charCodeAt(h.length - 1) - 48; - if (d < 2 || d > 4) - throw new n( - "", - "Invalid data type for attribute " + f + ": " + h, - ); - s(t, e, p, i, d, a, f); - } - } - } - return a; - }; - var n = t("./GLError"); - function i(t, e, r, n, i, a) { - ((this._gl = t), - (this._wrapper = e), - (this._index = r), - (this._locations = n), - (this._dimension = i), - (this._constFunc = a)); - } - var a = i.prototype; - function o(t, e, r, n, a, o, s) { - for (var l = ["gl", "v"], c = [], u = 0; u < a; ++u) - (l.push("x" + u), c.push("x" + u)); - l.push( - "if(x0.length===void 0){return gl.vertexAttrib" + - a + - "f(v," + - c.join() + - ")}else{return gl.vertexAttrib" + - a + - "fv(v,x0)}", - ); - var f = Function.apply(null, l), - h = new i(t, e, r, n, a, f); - Object.defineProperty(o, s, { - set: function (e) { - return (t.disableVertexAttribArray(n[r]), f(t, n[r], e), e); - }, - get: function () { - return h; - }, - enumerable: !0, - }); - } - function s(t, e, r, n, i, a, s) { - for (var l = new Array(i), c = new Array(i), u = 0; u < i; ++u) - (o(t, e, r[u], n, i, l, u), (c[u] = l[u])); - (Object.defineProperty(l, "location", { - set: function (t) { - if (Array.isArray(t)) for (var e = 0; e < i; ++e) c[e].location = t[e]; - else for (e = 0; e < i; ++e) c[e].location = t + e; - return t; - }, - get: function () { - for (var t = new Array(i), e = 0; e < i; ++e) t[e] = n[r[e]]; - return t; - }, - enumerable: !0, - }), - (l.pointer = function (e, a, o, s) { - ((e = e || t.FLOAT), (a = !!a), (o = o || i * i), (s = s || 0)); - for (var l = 0; l < i; ++l) { - var c = n[r[l]]; - (t.vertexAttribPointer(c, i, e, a, o, s + l * i), - t.enableVertexAttribArray(c)); - } - })); - var f = new Array(i), - h = t["vertexAttrib" + i + "fv"]; - Object.defineProperty(a, s, { - set: function (e) { - for (var a = 0; a < i; ++a) { - var o = n[r[a]]; - if ((t.disableVertexAttribArray(o), Array.isArray(e[0]))) - h.call(t, o, e[a]); - else { - for (var s = 0; s < i; ++s) f[s] = e[i * a + s]; - h.call(t, o, f); - } - } - return e; - }, - get: function () { - return l; - }, - enumerable: !0, - }); - } - ((a.pointer = function (t, e, r, n) { - var i = this._gl, - a = this._locations[this._index]; - (i.vertexAttribPointer( - a, - this._dimension, - t || i.FLOAT, - !!e, - r || 0, - n || 0, - ), - i.enableVertexAttribArray(a)); - }), - (a.set = function (t, e, r, n) { - return this._constFunc(this._locations[this._index], t, e, r, n); - }), - Object.defineProperty(a, "location", { - get: function () { - return this._locations[this._index]; - }, - set: function (t) { - return ( - t !== this._locations[this._index] && - ((this._locations[this._index] = 0 | t), - (this._wrapper.program = null)), - 0 | t - ); - }, - })); - }, - { "./GLError": 264 }, - ], - 266: [ - function (t, e, r) { - "use strict"; - var n = t("./reflect"), - i = t("./GLError"); - function a(t) { - return new Function("y", "return function(){return y}")(t); - } - function o(t, e) { - for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; - return r; - } - e.exports = function (t, e, r, s) { - function l(t, e, r) { - switch (r) { - case "bool": - case "int": - case "sampler2D": - case "samplerCube": - return "gl.uniform1i(locations[" + e + "],obj" + t + ")"; - case "float": - return "gl.uniform1f(locations[" + e + "],obj" + t + ")"; - default: - var n = r.indexOf("vec"); - if (!(0 <= n && n <= 1 && r.length === 4 + n)) { - if (0 === r.indexOf("mat") && 4 === r.length) { - var a = r.charCodeAt(r.length - 1) - 48; - if (a < 2 || a > 4) - throw new i( - "", - "Invalid uniform dimension type for matrix " + - name + - ": " + - r, - ); - return ( - "gl.uniformMatrix" + - a + - "fv(locations[" + - e + - "],false,obj" + - t + - ")" - ); - } - throw new i("", "Unknown uniform data type for " + name + ": " + r); - } - var a = r.charCodeAt(r.length - 1) - 48; - if (a < 2 || a > 4) throw new i("", "Invalid data type"); - switch (r.charAt(0)) { - case "b": - case "i": - return "gl.uniform" + a + "iv(locations[" + e + "],obj" + t + ")"; - case "v": - return "gl.uniform" + a + "fv(locations[" + e + "],obj" + t + ")"; - default: - throw new i( - "", - "Unrecognized data type for vector " + name + ": " + r, - ); - } - } - } - function c(e) { - for ( - var n = ["return function updateProperty(obj){"], - i = (function t(e, r) { - if ("object" != typeof r) return [[e, r]]; - var n = []; - for (var i in r) { - var a = r[i], - o = e; - (parseInt(i) + "" === i ? (o += "[" + i + "]") : (o += "." + i), - "object" == typeof a - ? n.push.apply(n, t(o, a)) - : n.push([o, a])); - } - return n; - })("", e), - a = 0; - a < i.length; - ++a - ) { - var o = i[a], - c = o[0], - u = o[1]; - s[u] && n.push(l(c, u, r[u].type)); - } - n.push("return obj}"); - var f = new Function("gl", "locations", n.join("\n")); - return f(t, s); - } - function u(n, l, u) { - if ("object" == typeof u) { - var h = f(u); - Object.defineProperty(n, l, { - get: a(h), - set: c(u), - enumerable: !0, - configurable: !1, - }); - } else - s[u] - ? Object.defineProperty(n, l, { - get: - ((p = u), - new Function( - "gl", - "wrapper", - "locations", - "return function(){return gl.getUniform(wrapper.program,locations[" + - p + - "])}", - )(t, e, s)), - set: c(u), - enumerable: !0, - configurable: !1, - }) - : (n[l] = (function (t) { - switch (t) { - case "bool": - return !1; - case "int": - case "sampler2D": - case "samplerCube": - case "float": - return 0; - default: - var e = t.indexOf("vec"); - if (0 <= e && e <= 1 && t.length === 4 + e) { - var r = t.charCodeAt(t.length - 1) - 48; - if (r < 2 || r > 4) throw new i("", "Invalid data type"); - return "b" === t.charAt(0) ? o(r, !1) : o(r, 0); - } - if (0 === t.indexOf("mat") && 4 === t.length) { - var r = t.charCodeAt(t.length - 1) - 48; - if (r < 2 || r > 4) - throw new i( - "", - "Invalid uniform dimension type for matrix " + - name + - ": " + - t, - ); - return o(r * r, 0); - } - throw new i( - "", - "Unknown uniform data type for " + name + ": " + t, - ); - } - })(r[u].type)); - var p; - } - function f(t) { - var e; - if (Array.isArray(t)) { - e = new Array(t.length); - for (var r = 0; r < t.length; ++r) u(e, r, t[r]); - } else for (var n in ((e = {}), t)) u(e, n, t[n]); - return e; - } - var h = n(r, !0); - return { get: a(f(h)), set: c(h), enumerable: !0, configurable: !0 }; - }; - }, - { "./GLError": 264, "./reflect": 267 }, - ], - 267: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for (var r = {}, n = 0; n < t.length; ++n) - for ( - var i = t[n].name, a = i.split("."), o = r, s = 0; - s < a.length; - ++s - ) { - var l = a[s].split("["); - if (l.length > 1) { - (l[0] in o || (o[l[0]] = []), (o = o[l[0]])); - for (var c = 1; c < l.length; ++c) { - var u = parseInt(l[c]); - c < l.length - 1 || s < a.length - 1 - ? (u in o || (c < l.length - 1 ? (o[u] = []) : (o[u] = {})), - (o = o[u])) - : (o[u] = e ? n : t[n].type); - } - } else - s < a.length - 1 - ? (l[0] in o || (o[l[0]] = {}), (o = o[l[0]])) - : (o[l[0]] = e ? n : t[n].type); - } - return r; - }; - }, - {}, - ], - 268: [ - function (t, e, r) { - "use strict"; - ((r.uniforms = function (t, e) { - for ( - var r = t.getProgramParameter(e, t.ACTIVE_UNIFORMS), n = [], i = 0; - i < r; - ++i - ) { - var o = t.getActiveUniform(e, i); - if (o) { - var s = a(t, o.type); - if (o.size > 1) - for (var l = 0; l < o.size; ++l) - n.push({ name: o.name.replace("[0]", "[" + l + "]"), type: s }); - else n.push({ name: o.name, type: s }); - } - } - return n; - }), - (r.attributes = function (t, e) { - for ( - var r = t.getProgramParameter(e, t.ACTIVE_ATTRIBUTES), n = [], i = 0; - i < r; - ++i - ) { - var o = t.getActiveAttrib(e, i); - o && n.push({ name: o.name, type: a(t, o.type) }); - } - return n; - })); - var n = { - FLOAT: "float", - FLOAT_VEC2: "vec2", - FLOAT_VEC3: "vec3", - FLOAT_VEC4: "vec4", - INT: "int", - INT_VEC2: "ivec2", - INT_VEC3: "ivec3", - INT_VEC4: "ivec4", - BOOL: "bool", - BOOL_VEC2: "bvec2", - BOOL_VEC3: "bvec3", - BOOL_VEC4: "bvec4", - FLOAT_MAT2: "mat2", - FLOAT_MAT3: "mat3", - FLOAT_MAT4: "mat4", - SAMPLER_2D: "sampler2D", - SAMPLER_CUBE: "samplerCube", - }, - i = null; - function a(t, e) { - if (!i) { - var r = Object.keys(n); - i = {}; - for (var a = 0; a < r.length; ++a) { - var o = r[a]; - i[t[o]] = n[o]; - } - } - return i[e]; - } - }, - {}, - ], - 269: [ - function (t, e, r) { - "use strict"; - ((r.shader = function (t, e, r) { - return u(t).getShaderReference(e, r); - }), - (r.program = function (t, e, r, n, i) { - return u(t).getProgram(e, r, n, i); - })); - var n = t("./GLError"), - i = t("gl-format-compiler-error"), - a = new ("undefined" == typeof WeakMap ? t("weakmap-shim") : WeakMap)(), - o = 0; - function s(t, e, r, n, i, a, o) { - ((this.id = t), - (this.src = e), - (this.type = r), - (this.shader = n), - (this.count = a), - (this.programs = []), - (this.cache = o)); - } - function l(t) { - ((this.gl = t), (this.shaders = [{}, {}]), (this.programs = {})); - } - s.prototype.dispose = function () { - if (0 == --this.count) { - for ( - var t = this.cache, e = t.gl, r = this.programs, n = 0, i = r.length; - n < i; - ++n - ) { - var a = t.programs[r[n]]; - a && (delete t.programs[n], e.deleteProgram(a)); - } - (e.deleteShader(this.shader), - delete t.shaders[(this.type === e.FRAGMENT_SHADER) | 0][this.src]); - } - }; - var c = l.prototype; - function u(t) { - var e = a.get(t); - return (e || ((e = new l(t)), a.set(t, e)), e); - } - ((c.getShaderReference = function (t, e) { - var r = this.gl, - a = this.shaders[(t === r.FRAGMENT_SHADER) | 0], - l = a[e]; - if (l && r.isShader(l.shader)) l.count += 1; - else { - var c = (function (t, e, r) { - var a = t.createShader(e); - if ( - (t.shaderSource(a, r), - t.compileShader(a), - !t.getShaderParameter(a, t.COMPILE_STATUS)) - ) { - var o = t.getShaderInfoLog(a); - try { - var s = i(o, r, e); - } catch (t) { - throw ( - console.warn("Failed to format compiler error: " + t), - new n(o, "Error compiling shader:\n" + o) - ); - } - throw new n(o, s.short, s.long); - } - return a; - })(r, t, e); - l = a[e] = new s(o++, e, t, c, [], 1, this); - } - return l; - }), - (c.getProgram = function (t, e, r, i) { - var a = [t.id, e.id, r.join(":"), i.join(":")].join("@"), - o = this.programs[a]; - return ( - (o && this.gl.isProgram(o)) || - ((this.programs[a] = o = - (function (t, e, r, i, a) { - var o = t.createProgram(); - (t.attachShader(o, e), t.attachShader(o, r)); - for (var s = 0; s < i.length; ++s) - t.bindAttribLocation(o, a[s], i[s]); - if ( - (t.linkProgram(o), !t.getProgramParameter(o, t.LINK_STATUS)) - ) { - var l = t.getProgramInfoLog(o); - throw new n(l, "Error linking program: " + l); - } - return o; - })(this.gl, t.shader, e.shader, r, i)), - t.programs.push(a), - e.programs.push(a)), - o - ); - })); - }, - { "./GLError": 264, "gl-format-compiler-error": 216, "weakmap-shim": 435 }, - ], - 270: [ - function (t, e, r) { - "use strict"; - function n(t) { - ((this.plot = t), - (this.enable = [!0, !0, !1, !1]), - (this.width = [1, 1, 1, 1]), - (this.color = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.center = [1 / 0, 1 / 0])); - } - e.exports = function (t, e) { - var r = new n(t); - return (r.update(e), t.addOverlay(r), r); - }; - var i = n.prototype; - ((i.update = function (t) { - ((t = t || {}), - (this.enable = (t.enable || [!0, !0, !1, !1]).slice()), - (this.width = (t.width || [1, 1, 1, 1]).slice()), - (this.color = ( - t.color || [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ] - ).map(function (t) { - return t.slice(); - })), - (this.center = (t.center || [1 / 0, 1 / 0]).slice()), - this.plot.setOverlayDirty()); - }), - (i.draw = function () { - var t = this.enable, - e = this.width, - r = this.color, - n = this.center, - i = this.plot, - a = i.line, - o = i.dataBox, - s = i.viewBox; - if ( - (a.bind(), o[0] <= n[0] && n[0] <= o[2] && o[1] <= n[1] && n[1] <= o[3]) - ) { - var l = s[0] + ((n[0] - o[0]) / (o[2] - o[0])) * (s[2] - s[0]), - c = s[1] + ((n[1] - o[1]) / (o[3] - o[1])) * (s[3] - s[1]); - (t[0] && a.drawLine(l, c, s[0], c, e[0], r[0]), - t[1] && a.drawLine(l, c, l, s[1], e[1], r[1]), - t[2] && a.drawLine(l, c, s[2], c, e[2], r[2]), - t[3] && a.drawLine(l, c, l, s[3], e[3], r[3])); - } - }), - (i.dispose = function () { - this.plot.removeOverlay(this); - })); - }, - {}, - ], - 271: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"), - i = t("gl-shader"), - a = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n", - ]), - o = n([ - "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}", - ]); - e.exports = function (t) { - return i(t, a, o, null, [ - { name: "position", type: "vec3" }, - { name: "color", type: "vec3" }, - { name: "weight", type: "float" }, - ]); - }; - }, - { "gl-shader": 263, glslify: 295 }, - ], - 272: [ - function (t, e, r) { - "use strict"; - var n = t("gl-buffer"), - i = t("gl-vao"), - a = t("./shaders/index"); - e.exports = function (t, e) { - var r = []; - function o(t, e, n, i, a, o) { - var s = [t, e, n, 0, 0, 0, 1]; - ((s[i + 3] = 1), - (s[i] = a), - r.push.apply(r, s), - (s[6] = -1), - r.push.apply(r, s), - (s[i] = o), - r.push.apply(r, s), - r.push.apply(r, s), - (s[6] = 1), - r.push.apply(r, s), - (s[i] = a), - r.push.apply(r, s)); - } - (o(0, 0, 0, 0, 0, 1), - o(0, 0, 0, 1, 0, 1), - o(0, 0, 0, 2, 0, 1), - o(1, 0, 0, 1, -1, 1), - o(1, 0, 0, 2, -1, 1), - o(0, 1, 0, 0, -1, 1), - o(0, 1, 0, 2, -1, 1), - o(0, 0, 1, 0, -1, 1), - o(0, 0, 1, 1, -1, 1)); - var l = n(t, r), - c = i(t, [ - { type: t.FLOAT, buffer: l, size: 3, offset: 0, stride: 28 }, - { type: t.FLOAT, buffer: l, size: 3, offset: 12, stride: 28 }, - { type: t.FLOAT, buffer: l, size: 1, offset: 24, stride: 28 }, - ]), - u = a(t); - ((u.attributes.position.location = 0), - (u.attributes.color.location = 1), - (u.attributes.weight.location = 2)); - var f = new s(t, l, c, u); - return (f.update(e), f); - }; - var o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - function s(t, e, r, n) { - ((this.gl = t), - (this.buffer = e), - (this.vao = r), - (this.shader = n), - (this.pixelRatio = 1), - (this.bounds = [ - [-1e3, -1e3, -1e3], - [1e3, 1e3, 1e3], - ]), - (this.position = [0, 0, 0]), - (this.lineWidth = [2, 2, 2]), - (this.colors = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.enabled = [!0, !0, !0]), - (this.drawSides = [!0, !0, !0]), - (this.axes = null)); - } - var l = s.prototype, - c = [0, 0, 0], - u = [0, 0, 0], - f = [0, 0]; - ((l.isTransparent = function () { - return !1; - }), - (l.drawTransparent = function (t) {}), - (l.draw = function (t) { - var e = this.gl, - r = this.vao, - n = this.shader; - (r.bind(), n.bind()); - var i, - a = t.model || o, - s = t.view || o, - l = t.projection || o; - this.axes && (i = this.axes.lastCubeProps.axis); - for (var h = c, p = u, d = 0; d < 3; ++d) - i && i[d] < 0 - ? ((h[d] = this.bounds[0][d]), (p[d] = this.bounds[1][d])) - : ((h[d] = this.bounds[1][d]), (p[d] = this.bounds[0][d])); - ((f[0] = e.drawingBufferWidth), - (f[1] = e.drawingBufferHeight), - (n.uniforms.model = a), - (n.uniforms.view = s), - (n.uniforms.projection = l), - (n.uniforms.coordinates = [this.position, h, p]), - (n.uniforms.colors = this.colors), - (n.uniforms.screenShape = f)); - for (d = 0; d < 3; ++d) - ((n.uniforms.lineWidth = this.lineWidth[d] * this.pixelRatio), - this.enabled[d] && - (r.draw(e.TRIANGLES, 6, 6 * d), - this.drawSides[d] && r.draw(e.TRIANGLES, 12, 18 + 12 * d))); - r.unbind(); - }), - (l.update = function (t) { - t && - ("bounds" in t && (this.bounds = t.bounds), - "position" in t && (this.position = t.position), - "lineWidth" in t && (this.lineWidth = t.lineWidth), - "colors" in t && (this.colors = t.colors), - "enabled" in t && (this.enabled = t.enabled), - "drawSides" in t && (this.drawSides = t.drawSides)); - }), - (l.dispose = function () { - (this.vao.dispose(), this.buffer.dispose(), this.shader.dispose()); - })); - }, - { "./shaders/index": 271, "gl-buffer": 210, "gl-vao": 279 }, - ], - 273: [ - function (t, e, r) { - var n = t("gl-shader"), - i = t("glslify"), - a = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n worldCoordinate = vec3(uv.zw, f.x);\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n", - ]), - o = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n", - ]), - s = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z = clipPosition.z + zOffset;\n\n gl_Position = clipPosition;\n value = f;\n kill = -1.0;\n worldCoordinate = dataCoordinate;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n", - ]), - l = i([ - "precision mediump float;\n#define GLSLIFY 1\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if(kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n", - ]); - ((r.createShader = function (t) { - var e = n(t, a, o, null, [ - { name: "uv", type: "vec4" }, - { name: "f", type: "vec3" }, - { name: "normal", type: "vec3" }, - ]); - return ( - (e.attributes.uv.location = 0), - (e.attributes.f.location = 1), - (e.attributes.normal.location = 2), - e - ); - }), - (r.createPickShader = function (t) { - var e = n(t, a, l, null, [ - { name: "uv", type: "vec4" }, - { name: "f", type: "vec3" }, - { name: "normal", type: "vec3" }, - ]); - return ( - (e.attributes.uv.location = 0), - (e.attributes.f.location = 1), - (e.attributes.normal.location = 2), - e - ); - }), - (r.createContourShader = function (t) { - var e = n(t, s, o, null, [ - { name: "uv", type: "vec4" }, - { name: "f", type: "float" }, - ]); - return ((e.attributes.uv.location = 0), (e.attributes.f.location = 1), e); - }), - (r.createPickContourShader = function (t) { - var e = n(t, s, l, null, [ - { name: "uv", type: "vec4" }, - { name: "f", type: "float" }, - ]); - return ((e.attributes.uv.location = 0), (e.attributes.f.location = 1), e); - })); - }, - { "gl-shader": 263, glslify: 295 }, - ], - 274: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.gl, - r = y(e), - n = b(e), - s = x(e), - l = _(e), - c = i(e), - u = a(e, [ - { buffer: c, size: 4, stride: w, offset: 0 }, - { buffer: c, size: 3, stride: w, offset: 16 }, - { buffer: c, size: 3, stride: w, offset: 28 }, - ]), - f = i(e), - h = a(e, [ - { buffer: f, size: 4, stride: 20, offset: 0 }, - { buffer: f, size: 1, stride: 20, offset: 16 }, - ]), - p = i(e), - d = a(e, [{ buffer: p, size: 2, type: e.FLOAT }]), - g = o(e, 1, T, e.RGBA, e.UNSIGNED_BYTE); - ((g.minFilter = e.LINEAR), (g.magFilter = e.LINEAR)); - var m = new S( - e, - [0, 0], - [ - [0, 0, 0], - [0, 0, 0], - ], - r, - n, - c, - u, - g, - s, - l, - f, - h, - p, - d, - ), - v = { levels: [[], [], []] }; - for (var k in t) v[k] = t[k]; - return ((v.colormap = v.colormap || "jet"), m.update(v), m); - }; - var n = t("bit-twiddle"), - i = t("gl-buffer"), - a = t("gl-vao"), - o = t("gl-texture2d"), - s = t("typedarray-pool"), - l = t("colormap"), - c = t("ndarray-ops"), - u = t("ndarray-pack"), - f = t("ndarray"), - h = t("surface-nets"), - p = t("gl-mat4/multiply"), - d = t("gl-mat4/invert"), - g = t("binary-search-bounds"), - m = t("ndarray-gradient"), - v = t("./lib/shaders"), - y = v.createShader, - x = v.createContourShader, - b = v.createPickShader, - _ = v.createPickContourShader, - w = 40, - k = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], - M = [ - [0, 0], - [0, 1], - [1, 0], - [1, 1], - [1, 0], - [0, 1], - ], - A = [ - [0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0], - [0, 0, 0, 0, 0, 0, 0, 0, 0], - ]; - !(function () { - for (var t = 0; t < 3; ++t) { - var e = A[t], - r = (t + 2) % 3; - ((e[((t + 1) % 3) + 0] = 1), (e[r + 3] = 1), (e[t + 6] = 1)); - } - })(); - var T = 256; - function S(t, e, r, n, i, a, o, l, c, u, h, p, d, g) { - ((this.gl = t), - (this.shape = e), - (this.bounds = r), - (this.intensityBounds = []), - (this._shader = n), - (this._pickShader = i), - (this._coordinateBuffer = a), - (this._vao = o), - (this._colorMap = l), - (this._contourShader = c), - (this._contourPickShader = u), - (this._contourBuffer = h), - (this._contourVAO = p), - (this._contourOffsets = [[], [], []]), - (this._contourCounts = [[], [], []]), - (this._vertexCount = 0), - (this._pickResult = new (function (t, e, r, n, i) { - ((this.position = t), - (this.index = e), - (this.uv = r), - (this.level = n), - (this.dataCoordinate = i)); - })([0, 0, 0], [0, 0], [0, 0], [0, 0, 0], [0, 0, 0])), - (this._dynamicBuffer = d), - (this._dynamicVAO = g), - (this._dynamicOffsets = [0, 0, 0]), - (this._dynamicCounts = [0, 0, 0]), - (this.contourWidth = [1, 1, 1]), - (this.contourLevels = [[1], [1], [1]]), - (this.contourTint = [0, 0, 0]), - (this.contourColor = [ - [0.5, 0.5, 0.5, 1], - [0.5, 0.5, 0.5, 1], - [0.5, 0.5, 0.5, 1], - ]), - (this.showContour = !0), - (this.showSurface = !0), - (this.enableHighlight = [!0, !0, !0]), - (this.highlightColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.highlightTint = [1, 1, 1]), - (this.highlightLevel = [-1, -1, -1]), - (this.enableDynamic = [!0, !0, !0]), - (this.dynamicLevel = [NaN, NaN, NaN]), - (this.dynamicColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.dynamicTint = [1, 1, 1]), - (this.dynamicWidth = [1, 1, 1]), - (this.axesBounds = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]), - (this.surfaceProject = [!1, !1, !1]), - (this.contourProject = [ - [!1, !1, !1], - [!1, !1, !1], - [!1, !1, !1], - ]), - (this.colorBounds = [!1, !1]), - (this._field = [ - f(s.mallocFloat(1024), [0, 0]), - f(s.mallocFloat(1024), [0, 0]), - f(s.mallocFloat(1024), [0, 0]), - ]), - (this.pickId = 1), - (this.clipBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.snapToData = !1), - (this.opacity = 1), - (this.lightPosition = [10, 1e4, 0]), - (this.ambientLight = 0.8), - (this.diffuseLight = 0.8), - (this.specularLight = 2), - (this.roughness = 0.5), - (this.fresnel = 1.5), - (this.vertexColor = 0), - (this.dirty = !0)); - } - var C = S.prototype; - ((C.isTransparent = function () { - return this.opacity < 1; - }), - (C.isOpaque = function () { - if (this.opacity >= 1) return !0; - for (var t = 0; t < 3; ++t) - if (this._contourCounts[t].length > 0 || this._dynamicCounts[t] > 0) - return !0; - return !1; - }), - (C.pickSlots = 1), - (C.setPickBase = function (t) { - this.pickId = t; - })); - var E = [0, 0, 0], - L = { - showSurface: !1, - showContour: !1, - projections: [k.slice(), k.slice(), k.slice()], - clipBounds: [ - [ - [0, 0, 0], - [0, 0, 0], - ], - [ - [0, 0, 0], - [0, 0, 0], - ], - [ - [0, 0, 0], - [0, 0, 0], - ], - ], - }; - function z(t, e) { - var r, - n, - i, - a = (e.axes && e.axes.lastCubeProps.axis) || E, - o = e.showSurface, - s = e.showContour; - for (r = 0; r < 3; ++r) - for (o = o || e.surfaceProject[r], n = 0; n < 3; ++n) - s = s || e.contourProject[r][n]; - for (r = 0; r < 3; ++r) { - var l = L.projections[r]; - for (n = 0; n < 16; ++n) l[n] = 0; - for (n = 0; n < 4; ++n) l[5 * n] = 1; - ((l[5 * r] = 0), - (l[12 + r] = e.axesBounds[+(a[r] > 0)][r]), - p(l, t.model, l)); - var c = L.clipBounds[r]; - for (i = 0; i < 2; ++i) - for (n = 0; n < 3; ++n) c[i][n] = t.clipBounds[i][n]; - ((c[0][r] = -1e8), (c[1][r] = 1e8)); - } - return ((L.showSurface = o), (L.showContour = s), L); - } - var P = { - model: k, - view: k, - projection: k, - inverseModel: k.slice(), - lowerBound: [0, 0, 0], - upperBound: [0, 0, 0], - colorMap: 0, - clipBounds: [ - [0, 0, 0], - [0, 0, 0], - ], - height: 0, - contourTint: 0, - contourColor: [0, 0, 0, 1], - permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], - zOffset: -1e-4, - kambient: 1, - kdiffuse: 1, - kspecular: 1, - lightPosition: [1e3, 1e3, 1e3], - eyePosition: [0, 0, 0], - roughness: 1, - fresnel: 1, - opacity: 1, - vertexColor: 0, - }, - D = k.slice(), - O = [1, 0, 0, 0, 1, 0, 0, 0, 1]; - function I(t, e) { - t = t || {}; - var r = this.gl; - (r.disable(r.CULL_FACE), this._colorMap.bind(0)); - var n = P; - ((n.model = t.model || k), - (n.view = t.view || k), - (n.projection = t.projection || k), - (n.lowerBound = [ - this.bounds[0][0], - this.bounds[0][1], - this.colorBounds[0] || this.bounds[0][2], - ]), - (n.upperBound = [ - this.bounds[1][0], - this.bounds[1][1], - this.colorBounds[1] || this.bounds[1][2], - ]), - (n.contourColor = this.contourColor[0]), - (n.inverseModel = d(n.inverseModel, n.model))); - for (var i = 0; i < 2; ++i) - for (var a = n.clipBounds[i], o = 0; o < 3; ++o) - a[o] = Math.min(Math.max(this.clipBounds[i][o], -1e8), 1e8); - ((n.kambient = this.ambientLight), - (n.kdiffuse = this.diffuseLight), - (n.kspecular = this.specularLight), - (n.roughness = this.roughness), - (n.fresnel = this.fresnel), - (n.opacity = this.opacity), - (n.height = 0), - (n.permutation = O), - (n.vertexColor = this.vertexColor)); - var s = D; - for ( - p(s, n.view, n.model), p(s, n.projection, s), d(s, s), i = 0; - i < 3; - ++i - ) - n.eyePosition[i] = s[12 + i] / s[15]; - var l = s[15]; - for (i = 0; i < 3; ++i) l += this.lightPosition[i] * s[4 * i + 3]; - for (i = 0; i < 3; ++i) { - var c = s[12 + i]; - for (o = 0; o < 3; ++o) c += s[4 * o + i] * this.lightPosition[o]; - n.lightPosition[i] = c / l; - } - var u = z(n, this); - if (u.showSurface && e === this.opacity < 1) { - for ( - this._shader.bind(), - this._shader.uniforms = n, - this._vao.bind(), - this.showSurface && - this._vertexCount && - this._vao.draw(r.TRIANGLES, this._vertexCount), - i = 0; - i < 3; - ++i - ) - this.surfaceProject[i] && - this.vertexCount && - ((this._shader.uniforms.model = u.projections[i]), - (this._shader.uniforms.clipBounds = u.clipBounds[i]), - this._vao.draw(r.TRIANGLES, this._vertexCount)); - this._vao.unbind(); - } - if (u.showContour && !e) { - var f = this._contourShader; - ((n.kambient = 1), - (n.kdiffuse = 0), - (n.kspecular = 0), - (n.opacity = 1), - f.bind(), - (f.uniforms = n)); - var h = this._contourVAO; - for (h.bind(), i = 0; i < 3; ++i) - for ( - f.uniforms.permutation = A[i], - r.lineWidth(this.contourWidth[i]), - o = 0; - o < this.contourLevels[i].length; - ++o - ) - this._contourCounts[i][o] && - (o === this.highlightLevel[i] - ? ((f.uniforms.contourColor = this.highlightColor[i]), - (f.uniforms.contourTint = this.highlightTint[i])) - : (0 !== o && o - 1 !== this.highlightLevel[i]) || - ((f.uniforms.contourColor = this.contourColor[i]), - (f.uniforms.contourTint = this.contourTint[i])), - (f.uniforms.height = this.contourLevels[i][o]), - h.draw( - r.LINES, - this._contourCounts[i][o], - this._contourOffsets[i][o], - )); - for (i = 0; i < 3; ++i) - for ( - f.uniforms.model = u.projections[i], - f.uniforms.clipBounds = u.clipBounds[i], - o = 0; - o < 3; - ++o - ) - if (this.contourProject[i][o]) { - ((f.uniforms.permutation = A[o]), - r.lineWidth(this.contourWidth[o])); - for (var g = 0; g < this.contourLevels[o].length; ++g) - (g === this.highlightLevel[o] - ? ((f.uniforms.contourColor = this.highlightColor[o]), - (f.uniforms.contourTint = this.highlightTint[o])) - : (0 !== g && g - 1 !== this.highlightLevel[o]) || - ((f.uniforms.contourColor = this.contourColor[o]), - (f.uniforms.contourTint = this.contourTint[o])), - (f.uniforms.height = this.contourLevels[o][g]), - h.draw( - r.LINES, - this._contourCounts[o][g], - this._contourOffsets[o][g], - )); - } - for (h.unbind(), (h = this._dynamicVAO).bind(), i = 0; i < 3; ++i) - if (0 !== this._dynamicCounts[i]) - for ( - f.uniforms.model = n.model, - f.uniforms.clipBounds = n.clipBounds, - f.uniforms.permutation = A[i], - r.lineWidth(this.dynamicWidth[i]), - f.uniforms.contourColor = this.dynamicColor[i], - f.uniforms.contourTint = this.dynamicTint[i], - f.uniforms.height = this.dynamicLevel[i], - h.draw(r.LINES, this._dynamicCounts[i], this._dynamicOffsets[i]), - o = 0; - o < 3; - ++o - ) - this.contourProject[o][i] && - ((f.uniforms.model = u.projections[o]), - (f.uniforms.clipBounds = u.clipBounds[o]), - h.draw(r.LINES, this._dynamicCounts[i], this._dynamicOffsets[i])); - h.unbind(); - } - } - ((C.draw = function (t) { - return I.call(this, t, !1); - }), - (C.drawTransparent = function (t) { - return I.call(this, t, !0); - })); - var R = { - model: k, - view: k, - projection: k, - inverseModel: k, - clipBounds: [ - [0, 0, 0], - [0, 0, 0], - ], - height: 0, - shape: [0, 0], - pickId: 0, - lowerBound: [0, 0, 0], - upperBound: [0, 0, 0], - zOffset: 0, - permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], - lightPosition: [0, 0, 0], - eyePosition: [0, 0, 0], - }; - function B(t, e) { - var r = e.shape.slice(), - n = t.shape.slice(); - (c.assign(t.lo(1, 1).hi(r[0], r[1]), e), - c.assign(t.lo(1).hi(r[0], 1), e.hi(r[0], 1)), - c.assign(t.lo(1, n[1] - 1).hi(r[0], 1), e.lo(0, r[1] - 1).hi(r[0], 1)), - c.assign(t.lo(0, 1).hi(1, r[1]), e.hi(1)), - c.assign(t.lo(n[0] - 1, 1).hi(1, r[1]), e.lo(r[0] - 1)), - t.set(0, 0, e.get(0, 0)), - t.set(0, n[1] - 1, e.get(0, r[1] - 1)), - t.set(n[0] - 1, 0, e.get(r[0] - 1, 0)), - t.set(n[0] - 1, n[1] - 1, e.get(r[0] - 1, r[1] - 1))); - } - function F(t, e) { - return Array.isArray(t) ? [e(t[0]), e(t[1]), e(t[2])] : [e(t), e(t), e(t)]; - } - function N(t) { - return Array.isArray(t) - ? 3 === t.length - ? [t[0], t[1], t[2], 1] - : [t[0], t[1], t[2], t[3]] - : [0, 0, 0, 1]; - } - function j(t) { - if (Array.isArray(t)) { - if (Array.isArray(t)) return [N(t[0]), N(t[1]), N(t[2])]; - var e = N(t); - return [e.slice(), e.slice(), e.slice()]; - } - } - ((C.drawPick = function (t) { - t = t || {}; - var e = this.gl; - e.disable(e.CULL_FACE); - var r = R; - ((r.model = t.model || k), - (r.view = t.view || k), - (r.projection = t.projection || k), - (r.shape = this._field[2].shape), - (r.pickId = this.pickId / 255), - (r.lowerBound = this.bounds[0]), - (r.upperBound = this.bounds[1]), - (r.permutation = O)); - for (var n = 0; n < 2; ++n) - for (var i = r.clipBounds[n], a = 0; a < 3; ++a) - i[a] = Math.min(Math.max(this.clipBounds[n][a], -1e8), 1e8); - var o = z(r, this); - if (o.showSurface) { - for ( - this._pickShader.bind(), - this._pickShader.uniforms = r, - this._vao.bind(), - this._vao.draw(e.TRIANGLES, this._vertexCount), - n = 0; - n < 3; - ++n - ) - this.surfaceProject[n] && - ((this._pickShader.uniforms.model = o.projections[n]), - (this._pickShader.uniforms.clipBounds = o.clipBounds[n]), - this._vao.draw(e.TRIANGLES, this._vertexCount)); - this._vao.unbind(); - } - if (o.showContour) { - var s = this._contourPickShader; - (s.bind(), (s.uniforms = r)); - var l = this._contourVAO; - for (l.bind(), a = 0; a < 3; ++a) - for ( - e.lineWidth(this.contourWidth[a]), - s.uniforms.permutation = A[a], - n = 0; - n < this.contourLevels[a].length; - ++n - ) - this._contourCounts[a][n] && - ((s.uniforms.height = this.contourLevels[a][n]), - l.draw( - e.LINES, - this._contourCounts[a][n], - this._contourOffsets[a][n], - )); - for (n = 0; n < 3; ++n) - for ( - s.uniforms.model = o.projections[n], - s.uniforms.clipBounds = o.clipBounds[n], - a = 0; - a < 3; - ++a - ) - if (this.contourProject[n][a]) { - ((s.uniforms.permutation = A[a]), - e.lineWidth(this.contourWidth[a])); - for (var c = 0; c < this.contourLevels[a].length; ++c) - this._contourCounts[a][c] && - ((s.uniforms.height = this.contourLevels[a][c]), - l.draw( - e.LINES, - this._contourCounts[a][c], - this._contourOffsets[a][c], - )); - } - l.unbind(); - } - }), - (C.pick = function (t) { - if (!t) return null; - if (t.id !== this.pickId) return null; - var e = this._field[2].shape, - r = this._pickResult, - n = (e[0] * (t.value[0] + (t.value[2] >> 4) / 16)) / 255, - i = Math.floor(n), - a = n - i, - o = (e[1] * (t.value[1] + (15 & t.value[2]) / 16)) / 255, - s = Math.floor(o), - l = o - s; - ((i += 1), (s += 1)); - var c = r.position; - c[0] = c[1] = c[2] = 0; - for (var u = 0; u < 2; ++u) - for (var f = u ? a : 1 - a, h = 0; h < 2; ++h) - for ( - var p = i + u, d = s + h, m = f * (h ? l : 1 - l), v = 0; - v < 3; - ++v - ) - c[v] += this._field[v].get(p, d) * m; - for (var y = this._pickResult.level, x = 0; x < 3; ++x) - if (((y[x] = g.le(this.contourLevels[x], c[x])), y[x] < 0)) - this.contourLevels[x].length > 0 && (y[x] = 0); - else if (y[x] < this.contourLevels[x].length - 1) { - var b = this.contourLevels[x][y[x]], - _ = this.contourLevels[x][y[x] + 1]; - Math.abs(b - c[x]) > Math.abs(_ - c[x]) && (y[x] += 1); - } - for ( - r.index[0] = a < 0.5 ? i : i + 1, - r.index[1] = l < 0.5 ? s : s + 1, - r.uv[0] = n / e[0], - r.uv[1] = o / e[1], - v = 0; - v < 3; - ++v - ) - r.dataCoordinate[v] = this._field[v].get(r.index[0], r.index[1]); - return r; - }), - (C.update = function (t) { - ((t = t || {}), - (this.dirty = !0), - "contourWidth" in t && (this.contourWidth = F(t.contourWidth, Number)), - "showContour" in t && (this.showContour = F(t.showContour, Boolean)), - "showSurface" in t && (this.showSurface = !!t.showSurface), - "contourTint" in t && (this.contourTint = F(t.contourTint, Boolean)), - "contourColor" in t && (this.contourColor = j(t.contourColor)), - "contourProject" in t && - (this.contourProject = F(t.contourProject, function (t) { - return F(t, Boolean); - })), - "surfaceProject" in t && (this.surfaceProject = t.surfaceProject), - "dynamicColor" in t && (this.dynamicColor = j(t.dynamicColor)), - "dynamicTint" in t && (this.dynamicTint = F(t.dynamicTint, Number)), - "dynamicWidth" in t && (this.dynamicWidth = F(t.dynamicWidth, Number)), - "opacity" in t && (this.opacity = t.opacity), - "colorBounds" in t && (this.colorBounds = t.colorBounds), - "vertexColor" in t && (this.vertexColor = t.vertexColor ? 1 : 0)); - var e = t.field || (t.coords && t.coords[2]) || null, - r = !1; - if ( - (e || - (e = - this._field[2].shape[0] || this._field[2].shape[2] - ? this._field[2] - .lo(1, 1) - .hi(this._field[2].shape[0] - 2, this._field[2].shape[1] - 2) - : this._field[2].hi(0, 0)), - "field" in t || "coords" in t) - ) { - var i = (e.shape[0] + 2) * (e.shape[1] + 2); - (i > this._field[2].data.length && - (s.freeFloat(this._field[2].data), - (this._field[2].data = s.mallocFloat(n.nextPow2(i)))), - (this._field[2] = f(this._field[2].data, [ - e.shape[0] + 2, - e.shape[1] + 2, - ])), - B(this._field[2], e), - (this.shape = e.shape.slice())); - for (var a = this.shape, o = 0; o < 2; ++o) - (this._field[2].size > this._field[o].data.length && - (s.freeFloat(this._field[o].data), - (this._field[o].data = s.mallocFloat(this._field[2].size))), - (this._field[o] = f(this._field[o].data, [a[0] + 2, a[1] + 2]))); - if (t.coords) { - var p = t.coords; - if (!Array.isArray(p) || 3 !== p.length) - throw new Error("gl-surface: invalid coordinates for x/y"); - for (o = 0; o < 2; ++o) { - var d = p[o]; - for (b = 0; b < 2; ++b) - if (d.shape[b] !== a[b]) - throw new Error("gl-surface: coords have incorrect shape"); - B(this._field[o], d); - } - } else if (t.ticks) { - var g = t.ticks; - if (!Array.isArray(g) || 2 !== g.length) - throw new Error("gl-surface: invalid ticks"); - for (o = 0; o < 2; ++o) { - var v = g[o]; - if ( - ((Array.isArray(v) || v.length) && (v = f(v)), - v.shape[0] !== a[o]) - ) - throw new Error("gl-surface: invalid tick length"); - var y = f(v.data, a); - ((y.stride[o] = v.stride[0]), - (y.stride[1 ^ o] = 0), - B(this._field[o], y)); - } - } else { - for (o = 0; o < 2; ++o) { - var x = [0, 0]; - ((x[o] = 1), - (this._field[o] = f( - this._field[o].data, - [a[0] + 2, a[1] + 2], - x, - 0, - ))); - } - this._field[0].set(0, 0, 0); - for (var b = 0; b < a[0]; ++b) this._field[0].set(b + 1, 0, b); - for ( - this._field[0].set(a[0] + 1, 0, a[0] - 1), - this._field[1].set(0, 0, 0), - b = 0; - b < a[1]; - ++b - ) - this._field[1].set(0, b + 1, b); - this._field[1].set(0, a[1] + 1, a[1] - 1); - } - var _ = this._field, - w = f(s.mallocFloat(3 * _[2].size * 2), [3, a[0] + 2, a[1] + 2, 2]); - for (o = 0; o < 3; ++o) m(w.pick(o), _[o], "mirror"); - var k = f(s.mallocFloat(3 * _[2].size), [a[0] + 2, a[1] + 2, 3]); - for (o = 0; o < a[0] + 2; ++o) - for (b = 0; b < a[1] + 2; ++b) { - var A = w.get(0, o, b, 0), - S = w.get(0, o, b, 1), - C = w.get(1, o, b, 0), - E = w.get(1, o, b, 1), - L = w.get(2, o, b, 0), - z = w.get(2, o, b, 1), - P = C * z - E * L, - D = L * S - z * A, - O = A * E - S * C, - I = Math.sqrt(P * P + D * D + O * O); - (I < 1e-8 - ? (I = Math.max(Math.abs(P), Math.abs(D), Math.abs(O))) < 1e-8 - ? ((O = 1), (D = P = 0), (I = 1)) - : (I = 1 / I) - : (I = 1 / Math.sqrt(I)), - k.set(o, b, 0, P * I), - k.set(o, b, 1, D * I), - k.set(o, b, 2, O * I)); - } - s.free(w.data); - var R = [1 / 0, 1 / 0, 1 / 0], - N = [-1 / 0, -1 / 0, -1 / 0], - V = 1 / 0, - U = -1 / 0, - q = (a[0] - 1) * (a[1] - 1) * 6, - H = s.mallocFloat(n.nextPow2(10 * q)), - G = 0, - W = 0; - for (o = 0; o < a[0] - 1; ++o) - t: for (b = 0; b < a[1] - 1; ++b) { - for (var Y = 0; Y < 2; ++Y) - for (var X = 0; X < 2; ++X) - for (var Z = 0; Z < 3; ++Z) { - var J = this._field[Z].get(1 + o + Y, 1 + b + X); - if (isNaN(J) || !isFinite(J)) continue t; - } - for (Z = 0; Z < 6; ++Z) { - var K = o + M[Z][0], - Q = b + M[Z][1], - $ = this._field[0].get(K + 1, Q + 1), - tt = this._field[1].get(K + 1, Q + 1), - et = (J = this._field[2].get(K + 1, Q + 1)); - ((P = k.get(K + 1, Q + 1, 0)), - (D = k.get(K + 1, Q + 1, 1)), - (O = k.get(K + 1, Q + 1, 2)), - t.intensity && (et = t.intensity.get(K, Q)), - (H[G++] = K), - (H[G++] = Q), - (H[G++] = $), - (H[G++] = tt), - (H[G++] = J), - (H[G++] = 0), - (H[G++] = et), - (H[G++] = P), - (H[G++] = D), - (H[G++] = O), - (R[0] = Math.min(R[0], $)), - (R[1] = Math.min(R[1], tt)), - (R[2] = Math.min(R[2], J)), - (V = Math.min(V, et)), - (N[0] = Math.max(N[0], $)), - (N[1] = Math.max(N[1], tt)), - (N[2] = Math.max(N[2], J)), - (U = Math.max(U, et)), - (W += 1)); - } - } - for ( - t.intensityBounds && - ((V = +t.intensityBounds[0]), (U = +t.intensityBounds[1])), - o = 6; - o < G; - o += 10 - ) - H[o] = (H[o] - V) / (U - V); - ((this._vertexCount = W), - this._coordinateBuffer.update(H.subarray(0, G)), - s.freeFloat(H), - s.free(k.data), - (this.bounds = [R, N]), - (this.intensity = t.intensity || this._field[2]), - (this.intensityBounds[0] === V && this.intensityBounds[1] === U) || - (r = !0), - (this.intensityBounds = [V, U])); - } - if ("levels" in t) { - var rt = t.levels; - for ( - rt = Array.isArray(rt[0]) ? rt.slice() : [[], [], rt], o = 0; - o < 3; - ++o - ) - ((rt[o] = rt[o].slice()), - rt.sort(function (t, e) { - return t - e; - })); - t: for (o = 0; o < 3; ++o) { - if (rt[o].length !== this.contourLevels[o].length) { - r = !0; - break; - } - for (b = 0; b < rt[o].length; ++b) - if (rt[o][b] !== this.contourLevels[o][b]) { - r = !0; - break t; - } - } - this.contourLevels = rt; - } - if (r) { - ((_ = this._field), (a = this.shape)); - for (var nt = [], it = 0; it < 3; ++it) { - rt = this.contourLevels[it]; - var at = [], - ot = [], - st = [0, 0, 0]; - for (o = 0; o < rt.length; ++o) { - var lt = h(this._field[it], rt[o]); - (at.push((nt.length / 5) | 0), (W = 0)); - t: for (b = 0; b < lt.cells.length; ++b) { - var ct = lt.cells[b]; - for (Z = 0; Z < 2; ++Z) { - var ut = lt.positions[ct[Z]], - ft = ut[0], - ht = 0 | Math.floor(ft), - pt = ft - ht, - dt = ut[1], - gt = 0 | Math.floor(dt), - mt = dt - gt, - vt = !1; - e: for (var yt = 0; yt < 3; ++yt) { - st[yt] = 0; - var xt = (it + yt + 1) % 3; - for (Y = 0; Y < 2; ++Y) { - var bt = Y ? pt : 1 - pt; - for ( - K = 0 | Math.min(Math.max(ht + Y, 0), a[0]), X = 0; - X < 2; - ++X - ) { - var _t = X ? mt : 1 - mt; - if ( - ((Q = 0 | Math.min(Math.max(gt + X, 0), a[1])), - (J = - yt < 2 - ? this._field[xt].get(K, Q) - : (this.intensity.get(K, Q) - - this.intensityBounds[0]) / - (this.intensityBounds[1] - - this.intensityBounds[0])), - !isFinite(J) || isNaN(J)) - ) { - vt = !0; - break e; - } - var wt = bt * _t; - st[yt] += wt * J; - } - } - } - if (vt) { - if (Z > 0) { - for (var kt = 0; kt < 5; ++kt) nt.pop(); - W -= 1; - } - continue t; - } - (nt.push(st[0], st[1], ut[0], ut[1], st[2]), (W += 1)); - } - } - ot.push(W); - } - ((this._contourOffsets[it] = at), (this._contourCounts[it] = ot)); - } - var Mt = s.mallocFloat(nt.length); - for (o = 0; o < nt.length; ++o) Mt[o] = nt[o]; - (this._contourBuffer.update(Mt), s.freeFloat(Mt)); - } - t.colormap && - this._colorMap.setPixels( - (function (t) { - var e = u([ - l({ colormap: t, nshades: T, format: "rgba" }).map(function (t) { - return [t[0], t[1], t[2], 255 * t[3]]; - }), - ]); - return (c.divseq(e, 255), e); - })(t.colormap), - ); - }), - (C.dispose = function () { - (this._shader.dispose(), - this._vao.dispose(), - this._coordinateBuffer.dispose(), - this._colorMap.dispose(), - this._contourBuffer.dispose(), - this._contourVAO.dispose(), - this._contourShader.dispose(), - this._contourPickShader.dispose(), - this._dynamicBuffer.dispose(), - this._dynamicVAO.dispose()); - for (var t = 0; t < 3; ++t) s.freeFloat(this._field[t].data); - }), - (C.highlight = function (t) { - if (!t) - return ( - (this._dynamicCounts = [0, 0, 0]), - (this.dyanamicLevel = [NaN, NaN, NaN]), - void (this.highlightLevel = [-1, -1, -1]) - ); - for (var e = 0; e < 3; ++e) - this.enableHighlight[e] - ? (this.highlightLevel[e] = t.level[e]) - : (this.highlightLevel[e] = -1); - var r; - if ( - ((r = this.snapToData ? t.dataCoordinate : t.position), - (this.enableDynamic[0] && r[0] !== this.dynamicLevel[0]) || - (this.enableDynamic[1] && r[1] !== this.dynamicLevel[1]) || - (this.enableDynamic[2] && r[2] !== this.dynamicLevel[2])) - ) { - for ( - var n = 0, i = this.shape, a = s.mallocFloat(12 * i[0] * i[1]), o = 0; - o < 3; - ++o - ) - if (this.enableDynamic[o]) { - this.dynamicLevel[o] = r[o]; - var l = (o + 1) % 3, - c = (o + 2) % 3, - u = this._field[o], - f = this._field[l], - p = this._field[c], - d = (this.intensity, h(u, r[o])), - g = d.cells, - m = d.positions; - for (this._dynamicOffsets[o] = n, e = 0; e < g.length; ++e) - for (var v = g[e], y = 0; y < 2; ++y) { - var x = m[v[y]], - b = +x[0], - _ = 0 | b, - w = 0 | Math.min(_ + 1, i[0]), - k = b - _, - M = 1 - k, - A = +x[1], - T = 0 | A, - S = 0 | Math.min(T + 1, i[1]), - C = A - T, - E = 1 - C, - L = M * E, - z = M * C, - P = k * E, - D = k * C, - O = - L * f.get(_, T) + - z * f.get(_, S) + - P * f.get(w, T) + - D * f.get(w, S), - I = - L * p.get(_, T) + - z * p.get(_, S) + - P * p.get(w, T) + - D * p.get(w, S); - if (isNaN(O) || isNaN(I)) { - y && (n -= 1); - break; - } - ((a[2 * n + 0] = O), (a[2 * n + 1] = I), (n += 1)); - } - this._dynamicCounts[o] = n - this._dynamicOffsets[o]; - } else ((this.dynamicLevel[o] = NaN), (this._dynamicCounts[o] = 0)); - (this._dynamicBuffer.update(a.subarray(0, 2 * n)), s.freeFloat(a)); - } - })); - }, - { - "./lib/shaders": 273, - "binary-search-bounds": 72, - "bit-twiddle": 73, - colormap: 106, - "gl-buffer": 210, - "gl-mat4/invert": 230, - "gl-mat4/multiply": 232, - "gl-texture2d": 275, - "gl-vao": 279, - ndarray: 335, - "ndarray-gradient": 326, - "ndarray-ops": 329, - "ndarray-pack": 330, - "surface-nets": 409, - "typedarray-pool": 423, - }, - ], - 275: [ - function (t, e, r) { - "use strict"; - var n = t("ndarray"), - i = t("ndarray-ops"), - a = t("typedarray-pool"); - e.exports = function (t) { - if (arguments.length <= 1) - throw new Error( - "gl-texture2d: Missing arguments for texture2d constructor", - ); - o || - (function (t) { - ((o = [ - t.LINEAR, - t.NEAREST_MIPMAP_LINEAR, - t.LINEAR_MIPMAP_NEAREST, - t.LINEAR_MIPMAP_NEAREST, - ]), - (s = [ - t.NEAREST, - t.LINEAR, - t.NEAREST_MIPMAP_NEAREST, - t.NEAREST_MIPMAP_LINEAR, - t.LINEAR_MIPMAP_NEAREST, - t.LINEAR_MIPMAP_LINEAR, - ]), - (l = [t.REPEAT, t.CLAMP_TO_EDGE, t.MIRRORED_REPEAT])); - })(t); - if ("number" == typeof arguments[1]) - return m( - t, - arguments[1], - arguments[2], - arguments[3] || t.RGBA, - arguments[4] || t.UNSIGNED_BYTE, - ); - if (Array.isArray(arguments[1])) - return m( - t, - 0 | arguments[1][0], - 0 | arguments[1][1], - arguments[2] || t.RGBA, - arguments[3] || t.UNSIGNED_BYTE, - ); - if ("object" == typeof arguments[1]) { - var e = arguments[1], - r = c(e) ? e : e.raw; - if (r) - return (function (t, e, r, n, i, a) { - var o = g(t); - return ( - t.texImage2D(t.TEXTURE_2D, 0, i, i, a, e), - new h(t, o, r, n, i, a) - ); - })( - t, - r, - 0 | e.width, - 0 | e.height, - arguments[2] || t.RGBA, - arguments[3] || t.UNSIGNED_BYTE, - ); - if (e.shape && e.data && e.stride) - return (function (t, e) { - var r = e.dtype, - o = e.shape.slice(), - s = t.getParameter(t.MAX_TEXTURE_SIZE); - if (o[0] < 0 || o[0] > s || o[1] < 0 || o[1] > s) - throw new Error("gl-texture2d: Invalid texture size"); - var l = d(o, e.stride.slice()), - c = 0; - "float32" === r - ? (c = t.FLOAT) - : "float64" === r - ? ((c = t.FLOAT), (l = !1), (r = "float32")) - : "uint8" === r - ? (c = t.UNSIGNED_BYTE) - : ((c = t.UNSIGNED_BYTE), (l = !1), (r = "uint8")); - var f, - p, - m = 0; - if (2 === o.length) - ((m = t.LUMINANCE), - (o = [o[0], o[1], 1]), - (e = n(e.data, o, [e.stride[0], e.stride[1], 1], e.offset))); - else { - if (3 !== o.length) - throw new Error("gl-texture2d: Invalid shape for texture"); - if (1 === o[2]) m = t.ALPHA; - else if (2 === o[2]) m = t.LUMINANCE_ALPHA; - else if (3 === o[2]) m = t.RGB; - else { - if (4 !== o[2]) - throw new Error("gl-texture2d: Invalid shape for pixel coords"); - m = t.RGBA; - } - } - c !== t.FLOAT || - t.getExtension("OES_texture_float") || - ((c = t.UNSIGNED_BYTE), (l = !1)); - var v = e.size; - if (l) - f = - 0 === e.offset && e.data.length === v - ? e.data - : e.data.subarray(e.offset, e.offset + v); - else { - var y = [o[2], o[2] * o[0], 1]; - p = a.malloc(v, r); - var x = n(p, o, y, 0); - (("float32" !== r && "float64" !== r) || c !== t.UNSIGNED_BYTE - ? i.assign(x, e) - : u(x, e), - (f = p.subarray(0, v))); - } - var b = g(t); - (t.texImage2D(t.TEXTURE_2D, 0, m, o[0], o[1], 0, m, c, f), - l || a.free(p)); - return new h(t, b, o[0], o[1], m, c); - })(t, e); - } - throw new Error( - "gl-texture2d: Invalid arguments for texture2d constructor", - ); - }; - var o = null, - s = null, - l = null; - function c(t) { - return ( - ("undefined" != typeof HTMLCanvasElement && - t instanceof HTMLCanvasElement) || - ("undefined" != typeof HTMLImageElement && - t instanceof HTMLImageElement) || - ("undefined" != typeof HTMLVideoElement && - t instanceof HTMLVideoElement) || - ("undefined" != typeof ImageData && t instanceof ImageData) - ); - } - var u = function (t, e) { - i.muls(t, e, 255); - }; - function f(t, e, r) { - var n = t.gl, - i = n.getParameter(n.MAX_TEXTURE_SIZE); - if (e < 0 || e > i || r < 0 || r > i) - throw new Error("gl-texture2d: Invalid texture size"); - return ( - (t._shape = [e, r]), - t.bind(), - n.texImage2D(n.TEXTURE_2D, 0, t.format, e, r, 0, t.format, t.type, null), - (t._mipLevels = [0]), - t - ); - } - function h(t, e, r, n, i, a) { - ((this.gl = t), - (this.handle = e), - (this.format = i), - (this.type = a), - (this._shape = [r, n]), - (this._mipLevels = [0]), - (this._magFilter = t.NEAREST), - (this._minFilter = t.NEAREST), - (this._wrapS = t.CLAMP_TO_EDGE), - (this._wrapT = t.CLAMP_TO_EDGE), - (this._anisoSamples = 1)); - var o = this, - s = [this._wrapS, this._wrapT]; - (Object.defineProperties(s, [ - { - get: function () { - return o._wrapS; - }, - set: function (t) { - return (o.wrapS = t); - }, - }, - { - get: function () { - return o._wrapT; - }, - set: function (t) { - return (o.wrapT = t); - }, - }, - ]), - (this._wrapVector = s)); - var l = [this._shape[0], this._shape[1]]; - (Object.defineProperties(l, [ - { - get: function () { - return o._shape[0]; - }, - set: function (t) { - return (o.width = t); - }, - }, - { - get: function () { - return o._shape[1]; - }, - set: function (t) { - return (o.height = t); - }, - }, - ]), - (this._shapeVector = l)); - } - var p = h.prototype; - function d(t, e) { - return 3 === t.length - ? 1 === e[2] && e[1] === t[0] * t[2] && e[0] === t[2] - : 1 === e[0] && e[1] === t[0]; - } - function g(t) { - var e = t.createTexture(); - return ( - t.bindTexture(t.TEXTURE_2D, e), - t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.NEAREST), - t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.NEAREST), - t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), - t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), - e - ); - } - function m(t, e, r, n, i) { - var a = t.getParameter(t.MAX_TEXTURE_SIZE); - if (e < 0 || e > a || r < 0 || r > a) - throw new Error("gl-texture2d: Invalid texture shape"); - if (i === t.FLOAT && !t.getExtension("OES_texture_float")) - throw new Error( - "gl-texture2d: Floating point textures not supported on this platform", - ); - var o = g(t); - return ( - t.texImage2D(t.TEXTURE_2D, 0, n, e, r, 0, n, i, null), - new h(t, o, e, r, n, i) - ); - } - (Object.defineProperties(p, { - minFilter: { - get: function () { - return this._minFilter; - }, - set: function (t) { - this.bind(); - var e = this.gl; - if ( - (this.type === e.FLOAT && - o.indexOf(t) >= 0 && - (e.getExtension("OES_texture_float_linear") || (t = e.NEAREST)), - s.indexOf(t) < 0) - ) - throw new Error("gl-texture2d: Unknown filter mode " + t); - return ( - e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, t), - (this._minFilter = t) - ); - }, - }, - magFilter: { - get: function () { - return this._magFilter; - }, - set: function (t) { - this.bind(); - var e = this.gl; - if ( - (this.type === e.FLOAT && - o.indexOf(t) >= 0 && - (e.getExtension("OES_texture_float_linear") || (t = e.NEAREST)), - s.indexOf(t) < 0) - ) - throw new Error("gl-texture2d: Unknown filter mode " + t); - return ( - e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, t), - (this._magFilter = t) - ); - }, - }, - mipSamples: { - get: function () { - return this._anisoSamples; - }, - set: function (t) { - var e = this._anisoSamples; - if ( - ((this._anisoSamples = 0 | Math.max(t, 1)), e !== this._anisoSamples) - ) { - var r = this.gl.getExtension("EXT_texture_filter_anisotropic"); - r && - this.gl.texParameterf( - this.gl.TEXTURE_2D, - r.TEXTURE_MAX_ANISOTROPY_EXT, - this._anisoSamples, - ); - } - return this._anisoSamples; - }, - }, - wrapS: { - get: function () { - return this._wrapS; - }, - set: function (t) { - if ((this.bind(), l.indexOf(t) < 0)) - throw new Error("gl-texture2d: Unknown wrap mode " + t); - return ( - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, t), - (this._wrapS = t) - ); - }, - }, - wrapT: { - get: function () { - return this._wrapT; - }, - set: function (t) { - if ((this.bind(), l.indexOf(t) < 0)) - throw new Error("gl-texture2d: Unknown wrap mode " + t); - return ( - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, t), - (this._wrapT = t) - ); - }, - }, - wrap: { - get: function () { - return this._wrapVector; - }, - set: function (t) { - if ((Array.isArray(t) || (t = [t, t]), 2 !== t.length)) - throw new Error( - "gl-texture2d: Must specify wrap mode for rows and columns", - ); - for (var e = 0; e < 2; ++e) - if (l.indexOf(t[e]) < 0) - throw new Error("gl-texture2d: Unknown wrap mode " + t); - ((this._wrapS = t[0]), (this._wrapT = t[1])); - var r = this.gl; - return ( - this.bind(), - r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, this._wrapS), - r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, this._wrapT), - t - ); - }, - }, - shape: { - get: function () { - return this._shapeVector; - }, - set: function (t) { - if (Array.isArray(t)) { - if (2 !== t.length) - throw new Error("gl-texture2d: Invalid texture shape"); - } else t = [0 | t, 0 | t]; - return (f(this, 0 | t[0], 0 | t[1]), [0 | t[0], 0 | t[1]]); - }, - }, - width: { - get: function () { - return this._shape[0]; - }, - set: function (t) { - return (f(this, (t |= 0), this._shape[1]), t); - }, - }, - height: { - get: function () { - return this._shape[1]; - }, - set: function (t) { - return ((t |= 0), f(this, this._shape[0], t), t); - }, - }, - }), - (p.bind = function (t) { - var e = this.gl; - return ( - void 0 !== t && e.activeTexture(e.TEXTURE0 + (0 | t)), - e.bindTexture(e.TEXTURE_2D, this.handle), - void 0 !== t ? 0 | t : e.getParameter(e.ACTIVE_TEXTURE) - e.TEXTURE0 - ); - }), - (p.dispose = function () { - this.gl.deleteTexture(this.handle); - }), - (p.generateMipmap = function () { - (this.bind(), this.gl.generateMipmap(this.gl.TEXTURE_2D)); - for ( - var t = Math.min(this._shape[0], this._shape[1]), e = 0; - t > 0; - ++e, t >>>= 1 - ) - this._mipLevels.indexOf(e) < 0 && this._mipLevels.push(e); - }), - (p.setPixels = function (t, e, r, o) { - var s = this.gl; - (this.bind(), - Array.isArray(e) - ? ((o = r), (r = 0 | e[1]), (e = 0 | e[0])) - : ((e = e || 0), (r = r || 0)), - (o = o || 0)); - var l = c(t) ? t : t.raw; - if (l) { - this._mipLevels.indexOf(o) < 0 - ? (s.texImage2D( - s.TEXTURE_2D, - 0, - this.format, - this.format, - this.type, - l, - ), - this._mipLevels.push(o)) - : s.texSubImage2D(s.TEXTURE_2D, o, e, r, this.format, this.type, l); - } else { - if (!(t.shape && t.stride && t.data)) - throw new Error("gl-texture2d: Unsupported data type"); - if ( - t.shape.length < 2 || - e + t.shape[1] > this._shape[1] >>> o || - r + t.shape[0] > this._shape[0] >>> o || - e < 0 || - r < 0 - ) - throw new Error("gl-texture2d: Texture dimensions are out of bounds"); - !(function (t, e, r, o, s, l, c, f) { - var h = f.dtype, - p = f.shape.slice(); - if (p.length < 2 || p.length > 3) - throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d"); - var g = 0, - m = 0, - v = d(p, f.stride.slice()); - "float32" === h - ? (g = t.FLOAT) - : "float64" === h - ? ((g = t.FLOAT), (v = !1), (h = "float32")) - : "uint8" === h - ? (g = t.UNSIGNED_BYTE) - : ((g = t.UNSIGNED_BYTE), (v = !1), (h = "uint8")); - if (2 === p.length) - ((m = t.LUMINANCE), - (p = [p[0], p[1], 1]), - (f = n(f.data, p, [f.stride[0], f.stride[1], 1], f.offset))); - else { - if (3 !== p.length) - throw new Error("gl-texture2d: Invalid shape for texture"); - if (1 === p[2]) m = t.ALPHA; - else if (2 === p[2]) m = t.LUMINANCE_ALPHA; - else if (3 === p[2]) m = t.RGB; - else { - if (4 !== p[2]) - throw new Error("gl-texture2d: Invalid shape for pixel coords"); - m = t.RGBA; - } - p[2]; - } - (m !== t.LUMINANCE && m !== t.ALPHA) || - (s !== t.LUMINANCE && s !== t.ALPHA) || - (m = s); - if (m !== s) - throw new Error( - "gl-texture2d: Incompatible texture format for setPixels", - ); - var y = f.size, - x = c.indexOf(o) < 0; - x && c.push(o); - if (g === l && v) - 0 === f.offset && f.data.length === y - ? x - ? t.texImage2D(t.TEXTURE_2D, o, s, p[0], p[1], 0, s, l, f.data) - : t.texSubImage2D( - t.TEXTURE_2D, - o, - e, - r, - p[0], - p[1], - s, - l, - f.data, - ) - : x - ? t.texImage2D( - t.TEXTURE_2D, - o, - s, - p[0], - p[1], - 0, - s, - l, - f.data.subarray(f.offset, f.offset + y), - ) - : t.texSubImage2D( - t.TEXTURE_2D, - o, - e, - r, - p[0], - p[1], - s, - l, - f.data.subarray(f.offset, f.offset + y), - ); - else { - var b; - b = l === t.FLOAT ? a.mallocFloat32(y) : a.mallocUint8(y); - var _ = n(b, p, [p[2], p[2] * p[0], 1]); - (g === t.FLOAT && l === t.UNSIGNED_BYTE ? u(_, f) : i.assign(_, f), - x - ? t.texImage2D( - t.TEXTURE_2D, - o, - s, - p[0], - p[1], - 0, - s, - l, - b.subarray(0, y), - ) - : t.texSubImage2D( - t.TEXTURE_2D, - o, - e, - r, - p[0], - p[1], - s, - l, - b.subarray(0, y), - ), - l === t.FLOAT ? a.freeFloat32(b) : a.freeUint8(b)); - } - })(s, e, r, o, this.format, this.type, this._mipLevels, t); - } - })); - }, - { ndarray: 335, "ndarray-ops": 329, "typedarray-pool": 423 }, - ], - 276: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - e ? e.bind() : t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, null); - var n = 0 | t.getParameter(t.MAX_VERTEX_ATTRIBS); - if (r) { - if (r.length > n) throw new Error("gl-vao: Too many vertex attributes"); - for (var i = 0; i < r.length; ++i) { - var a = r[i]; - if (a.buffer) { - var o = a.buffer, - s = a.size || 4, - l = a.type || t.FLOAT, - c = !!a.normalized, - u = a.stride || 0, - f = a.offset || 0; - (o.bind(), - t.enableVertexAttribArray(i), - t.vertexAttribPointer(i, s, l, c, u, f)); - } else { - if ("number" == typeof a) t.vertexAttrib1f(i, a); - else if (1 === a.length) t.vertexAttrib1f(i, a[0]); - else if (2 === a.length) t.vertexAttrib2f(i, a[0], a[1]); - else if (3 === a.length) t.vertexAttrib3f(i, a[0], a[1], a[2]); - else { - if (4 !== a.length) - throw new Error("gl-vao: Invalid vertex attribute"); - t.vertexAttrib4f(i, a[0], a[1], a[2], a[3]); - } - t.disableVertexAttribArray(i); - } - } - for (; i < n; ++i) t.disableVertexAttribArray(i); - } else - for (t.bindBuffer(t.ARRAY_BUFFER, null), i = 0; i < n; ++i) - t.disableVertexAttribArray(i); - }; - }, - {}, - ], - 277: [ - function (t, e, r) { - "use strict"; - var n = t("./do-bind.js"); - function i(t) { - ((this.gl = t), - (this._elements = null), - (this._attributes = null), - (this._elementsType = t.UNSIGNED_SHORT)); - } - ((i.prototype.bind = function () { - n(this.gl, this._elements, this._attributes); - }), - (i.prototype.update = function (t, e, r) { - ((this._elements = e), - (this._attributes = t), - (this._elementsType = r || this.gl.UNSIGNED_SHORT)); - }), - (i.prototype.dispose = function () {}), - (i.prototype.unbind = function () {}), - (i.prototype.draw = function (t, e, r) { - r = r || 0; - var n = this.gl; - this._elements - ? n.drawElements(t, e, this._elementsType, r) - : n.drawArrays(t, r, e); - }), - (e.exports = function (t) { - return new i(t); - })); - }, - { "./do-bind.js": 276 }, - ], - 278: [ - function (t, e, r) { - "use strict"; - var n = t("./do-bind.js"); - function i(t, e, r, n, i, a) { - ((this.location = t), - (this.dimension = e), - (this.a = r), - (this.b = n), - (this.c = i), - (this.d = a)); - } - function a(t, e, r) { - ((this.gl = t), - (this._ext = e), - (this.handle = r), - (this._attribs = []), - (this._useElements = !1), - (this._elementsType = t.UNSIGNED_SHORT)); - } - ((i.prototype.bind = function (t) { - switch (this.dimension) { - case 1: - t.vertexAttrib1f(this.location, this.a); - break; - case 2: - t.vertexAttrib2f(this.location, this.a, this.b); - break; - case 3: - t.vertexAttrib3f(this.location, this.a, this.b, this.c); - break; - case 4: - t.vertexAttrib4f(this.location, this.a, this.b, this.c, this.d); - } - }), - (a.prototype.bind = function () { - this._ext.bindVertexArrayOES(this.handle); - for (var t = 0; t < this._attribs.length; ++t) - this._attribs[t].bind(this.gl); - }), - (a.prototype.unbind = function () { - this._ext.bindVertexArrayOES(null); - }), - (a.prototype.dispose = function () { - this._ext.deleteVertexArrayOES(this.handle); - }), - (a.prototype.update = function (t, e, r) { - if ( - (this.bind(), - n(this.gl, e, t), - this.unbind(), - (this._attribs.length = 0), - t) - ) - for (var a = 0; a < t.length; ++a) { - var o = t[a]; - "number" == typeof o - ? this._attribs.push(new i(a, 1, o)) - : Array.isArray(o) && - this._attribs.push(new i(a, o.length, o[0], o[1], o[2], o[3])); - } - ((this._useElements = !!e), - (this._elementsType = r || this.gl.UNSIGNED_SHORT)); - }), - (a.prototype.draw = function (t, e, r) { - r = r || 0; - var n = this.gl; - this._useElements - ? n.drawElements(t, e, this._elementsType, r) - : n.drawArrays(t, r, e); - }), - (e.exports = function (t, e) { - return new a(t, e, e.createVertexArrayOES()); - })); - }, - { "./do-bind.js": 276 }, - ], - 279: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/vao-native.js"), - i = t("./lib/vao-emulated.js"); - e.exports = function (t, e, r, a) { - var o, - s = t.createVertexArray - ? new (function (t) { - ((this.bindVertexArrayOES = t.bindVertexArray.bind(t)), - (this.createVertexArrayOES = t.createVertexArray.bind(t)), - (this.deleteVertexArrayOES = t.deleteVertexArray.bind(t))); - })(t) - : t.getExtension("OES_vertex_array_object"); - return ((o = s ? n(t, s) : i(t)).update(e, r, a), o); - }; - }, - { "./lib/vao-emulated.js": 277, "./lib/vao-native.js": 278 }, - ], - 280: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = r[0], - s = r[1], - l = r[2]; - return ( - (t[0] = i * l - a * s), - (t[1] = a * o - n * l), - (t[2] = n * s - i * o), - t - ); - }; - }, - {}, - ], - 281: [ - function (t, e, r) { - e.exports = function (t, e) { - return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; - }; - }, - {}, - ], - 282: [ - function (t, e, r) { - e.exports = function (t) { - var e = t[0], - r = t[1], - n = t[2]; - return Math.sqrt(e * e + r * r + n * n); - }; - }, - {}, - ], - 283: [ - function (t, e, r) { - e.exports = function (t, e, r, n) { - var i = e[0], - a = e[1], - o = e[2]; - return ( - (t[0] = i + n * (r[0] - i)), - (t[1] = a + n * (r[1] - a)), - (t[2] = o + n * (r[2] - o)), - t - ); - }; - }, - {}, - ], - 284: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = r * r + n * n + i * i; - a > 0 && - ((a = 1 / Math.sqrt(a)), - (t[0] = e[0] * a), - (t[1] = e[1] * a), - (t[2] = e[2] * a)); - return t; - }; - }, - {}, - ], - 285: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3]; - return ( - (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), - (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), - (t[2] = r[2] * n + r[6] * i + r[10] * a + r[14] * o), - (t[3] = r[3] * n + r[7] * i + r[11] * a + r[15] * o), - t - ); - }; - }, - {}, - ], - 286: [ - function (t, e, r) { - e.exports = function (t, e, r, a) { - return ((n[0] = a), (n[1] = r), (n[2] = e), (n[3] = t), i[0]); - }; - var n = new Uint8Array(4), - i = new Float32Array(n.buffer); - }, - {}, - ], - 287: [ - function (t, e, r) { - var n = t("glsl-tokenizer"), - i = t("atob-lite"); - e.exports = function (t) { - for (var e = Array.isArray(t) ? t : n(t), r = 0; r < e.length; r++) { - var a = e[r]; - if ("preprocessor" === a.type) { - var o = a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/); - if (o && o[2]) { - var s = o[1], - l = o[2]; - return (s ? i(l) : l).trim(); - } - } - } - }; - }, - { "atob-lite": 53, "glsl-tokenizer": 294 }, - ], - 288: [ - function (t, e, r) { - e.exports = function (t) { - var e, - r, - k, - M = 0, - A = 0, - T = l, - S = [], - C = [], - E = 1, - L = 0, - z = 0, - P = !1, - D = !1, - O = "", - I = a, - R = n; - "300 es" === (t = t || {}).version && ((I = s), (R = o)); - return function (t) { - return ( - (C = []), - null !== t - ? (function (t) { - var r; - ((M = 0), (k = (O += t).length)); - for (; (e = O[M]), M < k; ) { - switch (((r = M), T)) { - case u: - M = V(); - break; - case f: - case h: - M = j(); - break; - case p: - M = U(); - break; - case d: - M = G(); - break; - case _: - M = H(); - break; - case g: - M = W(); - break; - case c: - M = Y(); - break; - case x: - M = N(); - break; - case l: - M = F(); - } - if (r !== M) - switch (O[r]) { - case "\n": - ((L = 0), ++E); - break; - default: - ++L; - } - } - return ((A += M), (O = O.slice(M)), C); - })(t.replace ? t.replace(/\r\n/g, "\n") : t) - : (function (t) { - S.length && B(S.join("")); - return ((T = b), B("(eof)"), C); - })() - ); - }; - function B(t) { - t.length && - C.push({ type: w[T], data: t, position: z, line: E, column: L }); - } - function F() { - return ( - (S = S.length ? [] : S), - "/" === r && "*" === e - ? ((z = A + M - 1), (T = u), (r = e), M + 1) - : "/" === r && "/" === e - ? ((z = A + M - 1), (T = f), (r = e), M + 1) - : "#" === e - ? ((T = h), (z = A + M), M) - : /\s/.test(e) - ? ((T = x), (z = A + M), M) - : ((P = /\d/.test(e)), - (D = /[^\w_]/.test(e)), - (z = A + M), - (T = P ? d : D ? p : c), - M) - ); - } - function N() { - return /[^\s]/g.test(e) - ? (B(S.join("")), (T = l), M) - : (S.push(e), (r = e), M + 1); - } - function j() { - return ("\r" !== e && "\n" !== e) || "\\" === r - ? (S.push(e), (r = e), M + 1) - : (B(S.join("")), (T = l), M); - } - function V() { - return "/" === e && "*" === r - ? (S.push(e), B(S.join("")), (T = l), M + 1) - : (S.push(e), (r = e), M + 1); - } - function U() { - if ("." === r && /\d/.test(e)) return ((T = g), M); - if ("/" === r && "*" === e) return ((T = u), M); - if ("/" === r && "/" === e) return ((T = f), M); - if ("." === e && S.length) { - for (; q(S); ); - return ((T = g), M); - } - if (";" === e || ")" === e || "(" === e) { - if (S.length) for (; q(S); ); - return (B(e), (T = l), M + 1); - } - var t = 2 === S.length && "=" !== e; - if (/[\w_\d\s]/.test(e) || t) { - for (; q(S); ); - return ((T = l), M); - } - return (S.push(e), (r = e), M + 1); - } - function q(t) { - for (var e, r, n = 0; ; ) { - if ( - ((e = i.indexOf(t.slice(0, t.length + n).join(""))), - (r = i[e]), - -1 === e) - ) { - if (n-- + t.length > 0) continue; - r = t.slice(0, 1).join(""); - } - return (B(r), (z += r.length), (S = S.slice(r.length)).length); - } - } - function H() { - return /[^a-fA-F0-9]/.test(e) - ? (B(S.join("")), (T = l), M) - : (S.push(e), (r = e), M + 1); - } - function G() { - return "." === e - ? (S.push(e), (T = g), (r = e), M + 1) - : /[eE]/.test(e) - ? (S.push(e), (T = g), (r = e), M + 1) - : "x" === e && 1 === S.length && "0" === S[0] - ? ((T = _), S.push(e), (r = e), M + 1) - : /[^\d]/.test(e) - ? (B(S.join("")), (T = l), M) - : (S.push(e), (r = e), M + 1); - } - function W() { - return ( - "f" === e && (S.push(e), (r = e), (M += 1)), - /[eE]/.test(e) - ? (S.push(e), (r = e), M + 1) - : "-" === e && /[eE]/.test(r) - ? (S.push(e), (r = e), M + 1) - : /[^\d]/.test(e) - ? (B(S.join("")), (T = l), M) - : (S.push(e), (r = e), M + 1) - ); - } - function Y() { - if (/[^\d\w_]/.test(e)) { - var t = S.join(""); - return ( - (T = R.indexOf(t) > -1 ? y : I.indexOf(t) > -1 ? v : m), - B(S.join("")), - (T = l), - M - ); - } - return (S.push(e), (r = e), M + 1); - } - }; - var n = t("./lib/literals"), - i = t("./lib/operators"), - a = t("./lib/builtins"), - o = t("./lib/literals-300es"), - s = t("./lib/builtins-300es"), - l = 999, - c = 9999, - u = 0, - f = 1, - h = 2, - p = 3, - d = 4, - g = 5, - m = 6, - v = 7, - y = 8, - x = 9, - b = 10, - _ = 11, - w = [ - "block-comment", - "line-comment", - "preprocessor", - "operator", - "integer", - "float", - "ident", - "builtin", - "keyword", - "whitespace", - "eof", - "integer", - ]; - }, - { - "./lib/builtins": 290, - "./lib/builtins-300es": 289, - "./lib/literals": 292, - "./lib/literals-300es": 291, - "./lib/operators": 293, - }, - ], - 289: [ - function (t, e, r) { - var n = t("./builtins"); - ((n = n.slice().filter(function (t) { - return !/^(gl\_|texture)/.test(t); - })), - (e.exports = n.concat([ - "gl_VertexID", - "gl_InstanceID", - "gl_Position", - "gl_PointSize", - "gl_FragCoord", - "gl_FrontFacing", - "gl_FragDepth", - "gl_PointCoord", - "gl_MaxVertexAttribs", - "gl_MaxVertexUniformVectors", - "gl_MaxVertexOutputVectors", - "gl_MaxFragmentInputVectors", - "gl_MaxVertexTextureImageUnits", - "gl_MaxCombinedTextureImageUnits", - "gl_MaxTextureImageUnits", - "gl_MaxFragmentUniformVectors", - "gl_MaxDrawBuffers", - "gl_MinProgramTexelOffset", - "gl_MaxProgramTexelOffset", - "gl_DepthRangeParameters", - "gl_DepthRange", - "trunc", - "round", - "roundEven", - "isnan", - "isinf", - "floatBitsToInt", - "floatBitsToUint", - "intBitsToFloat", - "uintBitsToFloat", - "packSnorm2x16", - "unpackSnorm2x16", - "packUnorm2x16", - "unpackUnorm2x16", - "packHalf2x16", - "unpackHalf2x16", - "outerProduct", - "transpose", - "determinant", - "inverse", - "texture", - "textureSize", - "textureProj", - "textureLod", - "textureOffset", - "texelFetch", - "texelFetchOffset", - "textureProjOffset", - "textureLodOffset", - "textureProjLod", - "textureProjLodOffset", - "textureGrad", - "textureGradOffset", - "textureProjGrad", - "textureProjGradOffset", - ]))); - }, - { "./builtins": 290 }, - ], - 290: [ - function (t, e, r) { - e.exports = [ - "abs", - "acos", - "all", - "any", - "asin", - "atan", - "ceil", - "clamp", - "cos", - "cross", - "dFdx", - "dFdy", - "degrees", - "distance", - "dot", - "equal", - "exp", - "exp2", - "faceforward", - "floor", - "fract", - "gl_BackColor", - "gl_BackLightModelProduct", - "gl_BackLightProduct", - "gl_BackMaterial", - "gl_BackSecondaryColor", - "gl_ClipPlane", - "gl_ClipVertex", - "gl_Color", - "gl_DepthRange", - "gl_DepthRangeParameters", - "gl_EyePlaneQ", - "gl_EyePlaneR", - "gl_EyePlaneS", - "gl_EyePlaneT", - "gl_Fog", - "gl_FogCoord", - "gl_FogFragCoord", - "gl_FogParameters", - "gl_FragColor", - "gl_FragCoord", - "gl_FragData", - "gl_FragDepth", - "gl_FragDepthEXT", - "gl_FrontColor", - "gl_FrontFacing", - "gl_FrontLightModelProduct", - "gl_FrontLightProduct", - "gl_FrontMaterial", - "gl_FrontSecondaryColor", - "gl_LightModel", - "gl_LightModelParameters", - "gl_LightModelProducts", - "gl_LightProducts", - "gl_LightSource", - "gl_LightSourceParameters", - "gl_MaterialParameters", - "gl_MaxClipPlanes", - "gl_MaxCombinedTextureImageUnits", - "gl_MaxDrawBuffers", - "gl_MaxFragmentUniformComponents", - "gl_MaxLights", - "gl_MaxTextureCoords", - "gl_MaxTextureImageUnits", - "gl_MaxTextureUnits", - "gl_MaxVaryingFloats", - "gl_MaxVertexAttribs", - "gl_MaxVertexTextureImageUnits", - "gl_MaxVertexUniformComponents", - "gl_ModelViewMatrix", - "gl_ModelViewMatrixInverse", - "gl_ModelViewMatrixInverseTranspose", - "gl_ModelViewMatrixTranspose", - "gl_ModelViewProjectionMatrix", - "gl_ModelViewProjectionMatrixInverse", - "gl_ModelViewProjectionMatrixInverseTranspose", - "gl_ModelViewProjectionMatrixTranspose", - "gl_MultiTexCoord0", - "gl_MultiTexCoord1", - "gl_MultiTexCoord2", - "gl_MultiTexCoord3", - "gl_MultiTexCoord4", - "gl_MultiTexCoord5", - "gl_MultiTexCoord6", - "gl_MultiTexCoord7", - "gl_Normal", - "gl_NormalMatrix", - "gl_NormalScale", - "gl_ObjectPlaneQ", - "gl_ObjectPlaneR", - "gl_ObjectPlaneS", - "gl_ObjectPlaneT", - "gl_Point", - "gl_PointCoord", - "gl_PointParameters", - "gl_PointSize", - "gl_Position", - "gl_ProjectionMatrix", - "gl_ProjectionMatrixInverse", - "gl_ProjectionMatrixInverseTranspose", - "gl_ProjectionMatrixTranspose", - "gl_SecondaryColor", - "gl_TexCoord", - "gl_TextureEnvColor", - "gl_TextureMatrix", - "gl_TextureMatrixInverse", - "gl_TextureMatrixInverseTranspose", - "gl_TextureMatrixTranspose", - "gl_Vertex", - "greaterThan", - "greaterThanEqual", - "inversesqrt", - "length", - "lessThan", - "lessThanEqual", - "log", - "log2", - "matrixCompMult", - "max", - "min", - "mix", - "mod", - "normalize", - "not", - "notEqual", - "pow", - "radians", - "reflect", - "refract", - "sign", - "sin", - "smoothstep", - "sqrt", - "step", - "tan", - "texture2D", - "texture2DLod", - "texture2DProj", - "texture2DProjLod", - "textureCube", - "textureCubeLod", - "texture2DLodEXT", - "texture2DProjLodEXT", - "textureCubeLodEXT", - "texture2DGradEXT", - "texture2DProjGradEXT", - "textureCubeGradEXT", - ]; - }, - {}, - ], - 291: [ - function (t, e, r) { - var n = t("./literals"); - e.exports = n - .slice() - .concat([ - "layout", - "centroid", - "smooth", - "case", - "mat2x2", - "mat2x3", - "mat2x4", - "mat3x2", - "mat3x3", - "mat3x4", - "mat4x2", - "mat4x3", - "mat4x4", - "uint", - "uvec2", - "uvec3", - "uvec4", - "samplerCubeShadow", - "sampler2DArray", - "sampler2DArrayShadow", - "isampler2D", - "isampler3D", - "isamplerCube", - "isampler2DArray", - "usampler2D", - "usampler3D", - "usamplerCube", - "usampler2DArray", - "coherent", - "restrict", - "readonly", - "writeonly", - "resource", - "atomic_uint", - "noperspective", - "patch", - "sample", - "subroutine", - "common", - "partition", - "active", - "filter", - "image1D", - "image2D", - "image3D", - "imageCube", - "iimage1D", - "iimage2D", - "iimage3D", - "iimageCube", - "uimage1D", - "uimage2D", - "uimage3D", - "uimageCube", - "image1DArray", - "image2DArray", - "iimage1DArray", - "iimage2DArray", - "uimage1DArray", - "uimage2DArray", - "image1DShadow", - "image2DShadow", - "image1DArrayShadow", - "image2DArrayShadow", - "imageBuffer", - "iimageBuffer", - "uimageBuffer", - "sampler1DArray", - "sampler1DArrayShadow", - "isampler1D", - "isampler1DArray", - "usampler1D", - "usampler1DArray", - "isampler2DRect", - "usampler2DRect", - "samplerBuffer", - "isamplerBuffer", - "usamplerBuffer", - "sampler2DMS", - "isampler2DMS", - "usampler2DMS", - "sampler2DMSArray", - "isampler2DMSArray", - "usampler2DMSArray", - ]); - }, - { "./literals": 292 }, - ], - 292: [ - function (t, e, r) { - e.exports = [ - "precision", - "highp", - "mediump", - "lowp", - "attribute", - "const", - "uniform", - "varying", - "break", - "continue", - "do", - "for", - "while", - "if", - "else", - "in", - "out", - "inout", - "float", - "int", - "void", - "bool", - "true", - "false", - "discard", - "return", - "mat2", - "mat3", - "mat4", - "vec2", - "vec3", - "vec4", - "ivec2", - "ivec3", - "ivec4", - "bvec2", - "bvec3", - "bvec4", - "sampler1D", - "sampler2D", - "sampler3D", - "samplerCube", - "sampler1DShadow", - "sampler2DShadow", - "struct", - "asm", - "class", - "union", - "enum", - "typedef", - "template", - "this", - "packed", - "goto", - "switch", - "default", - "inline", - "noinline", - "volatile", - "public", - "static", - "extern", - "external", - "interface", - "long", - "short", - "double", - "half", - "fixed", - "unsigned", - "input", - "output", - "hvec2", - "hvec3", - "hvec4", - "dvec2", - "dvec3", - "dvec4", - "fvec2", - "fvec3", - "fvec4", - "sampler2DRect", - "sampler3DRect", - "sampler2DRectShadow", - "sizeof", - "cast", - "namespace", - "using", - ]; - }, - {}, - ], - 293: [ - function (t, e, r) { - e.exports = [ - "<<=", - ">>=", - "++", - "--", - "<<", - ">>", - "<=", - ">=", - "==", - "!=", - "&&", - "||", - "+=", - "-=", - "*=", - "/=", - "%=", - "&=", - "^^", - "^=", - "|=", - "(", - ")", - "[", - "]", - ".", - "!", - "~", - "*", - "/", - "%", - "+", - "-", - "<", - ">", - "&", - "^", - "|", - "?", - ":", - "=", - ",", - ";", - "{", - "}", - ]; - }, - {}, - ], - 294: [ - function (t, e, r) { - var n = t("./index"); - e.exports = function (t, e) { - var r = n(e), - i = []; - return (i = (i = i.concat(r(t))).concat(r(null))); - }; - }, - { "./index": 288 }, - ], - 295: [ - function (t, e, r) { - e.exports = function (t) { - "string" == typeof t && (t = [t]); - for ( - var e = [].slice.call(arguments, 1), r = [], n = 0; - n < t.length - 1; - n++ - ) - r.push(t[n], e[n] || ""); - return (r.push(t[n]), r.join("")); - }; - }, - {}, - ], - 296: [ - function (t, e, r) { - (function (r) { - "use strict"; - var n, - i = t("is-browser"); - ((n = - "function" == typeof r.matchMedia - ? !r.matchMedia("(hover: none)").matches - : i), - (e.exports = n)); - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { "is-browser": 303 }, - ], - 297: [ - function (t, e, r) { - "use strict"; - var n = t("is-browser"); - e.exports = - n && - (function () { - var t = !1; - try { - var e = Object.defineProperty({}, "passive", { - get: function () { - t = !0; - }, - }); - (window.addEventListener("test", null, e), - window.removeEventListener("test", null, e)); - } catch (e) { - t = !1; - } - return t; - })(); - }, - { "is-browser": 303 }, - ], - 298: [ - function (t, e, r) { - ((r.read = function (t, e, r, n, i) { - var a, - o, - s = 8 * i - n - 1, - l = (1 << s) - 1, - c = l >> 1, - u = -7, - f = r ? i - 1 : 0, - h = r ? -1 : 1, - p = t[e + f]; - for ( - f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; - u > 0; - a = 256 * a + t[e + f], f += h, u -= 8 - ); - for ( - o = a & ((1 << -u) - 1), a >>= -u, u += n; - u > 0; - o = 256 * o + t[e + f], f += h, u -= 8 - ); - if (0 === a) a = 1 - c; - else { - if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); - ((o += Math.pow(2, n)), (a -= c)); - } - return (p ? -1 : 1) * o * Math.pow(2, a - n); - }), - (r.write = function (t, e, r, n, i, a) { - var o, - s, - l, - c = 8 * a - i - 1, - u = (1 << c) - 1, - f = u >> 1, - h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, - p = n ? 0 : a - 1, - d = n ? 1 : -1, - g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; - for ( - e = Math.abs(e), - isNaN(e) || e === 1 / 0 - ? ((s = isNaN(e) ? 1 : 0), (o = u)) - : ((o = Math.floor(Math.log(e) / Math.LN2)), - e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), - (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * l >= 2 && - (o++, (l /= 2)), - o + f >= u - ? ((s = 0), (o = u)) - : o + f >= 1 - ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) - : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), (o = 0))); - i >= 8; - t[r + p] = 255 & s, p += d, s /= 256, i -= 8 - ); - for ( - o = (o << i) | s, c += i; - c > 0; - t[r + p] = 255 & o, p += d, o /= 256, c -= 8 - ); - t[r + p - d] |= 128 * g; - })); - }, - {}, - ], - 299: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = t.length; - if (0 === r) throw new Error("Must have at least d+1 points"); - var i = t[0].length; - if (r <= i) throw new Error("Must input at least d+1 points"); - var o = t.slice(0, i + 1), - s = n.apply(void 0, o); - if (0 === s) throw new Error("Input not in general position"); - for (var l = new Array(i + 1), u = 0; u <= i; ++u) l[u] = u; - s < 0 && ((l[0] = 1), (l[1] = 0)); - for ( - var f = new a(l, new Array(i + 1), !1), - h = f.adjacent, - p = new Array(i + 2), - u = 0; - u <= i; - ++u - ) { - for (var d = l.slice(), g = 0; g <= i; ++g) g === u && (d[g] = -1); - var m = d[0]; - ((d[0] = d[1]), (d[1] = m)); - var v = new a(d, new Array(i + 1), !0); - ((h[u] = v), (p[u] = v)); - } - p[i + 1] = f; - for (var u = 0; u <= i; ++u) - for (var d = h[u].vertices, y = h[u].adjacent, g = 0; g <= i; ++g) { - var x = d[g]; - if (x < 0) y[g] = f; - else - for (var b = 0; b <= i; ++b) - h[b].vertices.indexOf(x) < 0 && (y[g] = h[b]); - } - for (var _ = new c(i, o, p), w = !!e, u = i + 1; u < r; ++u) - _.insert(t[u], w); - return _.boundary(); - }; - var n = t("robust-orientation"), - i = t("simplicial-complex").compareCells; - function a(t, e, r) { - ((this.vertices = t), - (this.adjacent = e), - (this.boundary = r), - (this.lastVisited = -1)); - } - function o(t, e, r) { - ((this.vertices = t), (this.cell = e), (this.index = r)); - } - function s(t, e) { - return i(t.vertices, e.vertices); - } - a.prototype.flip = function () { - var t = this.vertices[0]; - ((this.vertices[0] = this.vertices[1]), (this.vertices[1] = t)); - var e = this.adjacent[0]; - ((this.adjacent[0] = this.adjacent[1]), (this.adjacent[1] = e)); - }; - var l = []; - function c(t, e, r) { - ((this.dimension = t), - (this.vertices = e), - (this.simplices = r), - (this.interior = r.filter(function (t) { - return !t.boundary; - })), - (this.tuple = new Array(t + 1))); - for (var i = 0; i <= t; ++i) this.tuple[i] = this.vertices[i]; - var a = l[t]; - (a || - (a = l[t] = - (function (t) { - for ( - var e = ["function orient(){var tuple=this.tuple;return test("], - r = 0; - r <= t; - ++r - ) - (r > 0 && e.push(","), e.push("tuple[", r, "]")); - e.push(")}return orient"); - var i = new Function("test", e.join("")), - a = n[t + 1]; - return (a || (a = n), i(a)); - })(t)), - (this.orient = a)); - } - var u = c.prototype; - ((u.handleBoundaryDegeneracy = function (t, e) { - var r = this.dimension, - n = this.vertices.length - 1, - i = this.tuple, - a = this.vertices, - o = [t]; - for (t.lastVisited = -n; o.length > 0; ) { - (t = o.pop()).vertices; - for (var s = t.adjacent, l = 0; l <= r; ++l) { - var c = s[l]; - if (c.boundary && !(c.lastVisited <= -n)) { - for (var u = c.vertices, f = 0; f <= r; ++f) { - var h = u[f]; - i[f] = h < 0 ? e : a[h]; - } - var p = this.orient(); - if (p > 0) return c; - ((c.lastVisited = -n), 0 === p && o.push(c)); - } - } - } - return null; - }), - (u.walk = function (t, e) { - var r = this.vertices.length - 1, - n = this.dimension, - i = this.vertices, - a = this.tuple, - o = e - ? (this.interior.length * Math.random()) | 0 - : this.interior.length - 1, - s = this.interior[o]; - t: for (; !s.boundary; ) { - for (var l = s.vertices, c = s.adjacent, u = 0; u <= n; ++u) - a[u] = i[l[u]]; - s.lastVisited = r; - for (u = 0; u <= n; ++u) { - var f = c[u]; - if (!(f.lastVisited >= r)) { - var h = a[u]; - a[u] = t; - var p = this.orient(); - if (((a[u] = h), p < 0)) { - s = f; - continue t; - } - f.boundary ? (f.lastVisited = -r) : (f.lastVisited = r); - } - } - return; - } - return s; - }), - (u.addPeaks = function (t, e) { - var r = this.vertices.length - 1, - n = this.dimension, - i = this.vertices, - l = this.tuple, - c = this.interior, - u = this.simplices, - f = [e]; - ((e.lastVisited = r), - (e.vertices[e.vertices.indexOf(-1)] = r), - (e.boundary = !1), - c.push(e)); - for (var h = []; f.length > 0; ) { - var p = (e = f.pop()).vertices, - d = e.adjacent, - g = p.indexOf(r); - if (!(g < 0)) - for (var m = 0; m <= n; ++m) - if (m !== g) { - var v = d[m]; - if (v.boundary && !(v.lastVisited >= r)) { - var y = v.vertices; - if (v.lastVisited !== -r) { - for (var x = 0, b = 0; b <= n; ++b) - y[b] < 0 ? ((x = b), (l[b] = t)) : (l[b] = i[y[b]]); - if (this.orient() > 0) { - ((y[x] = r), - (v.boundary = !1), - c.push(v), - f.push(v), - (v.lastVisited = r)); - continue; - } - v.lastVisited = -r; - } - var _ = v.adjacent, - w = p.slice(), - k = d.slice(), - M = new a(w, k, !0); - u.push(M); - var A = _.indexOf(e); - if (!(A < 0)) { - ((_[A] = M), - (k[g] = v), - (w[m] = -1), - (k[m] = e), - (d[m] = M), - M.flip()); - for (b = 0; b <= n; ++b) { - var T = w[b]; - if (!(T < 0 || T === r)) { - for ( - var S = new Array(n - 1), C = 0, E = 0; - E <= n; - ++E - ) { - var L = w[E]; - L < 0 || E === b || (S[C++] = L); - } - h.push(new o(S, M, b)); - } - } - } - } - } - } - h.sort(s); - for (m = 0; m + 1 < h.length; m += 2) { - var z = h[m], - P = h[m + 1], - D = z.index, - O = P.index; - D < 0 || - O < 0 || - ((z.cell.adjacent[z.index] = P.cell), - (P.cell.adjacent[P.index] = z.cell)); - } - }), - (u.insert = function (t, e) { - var r = this.vertices; - r.push(t); - var n = this.walk(t, e); - if (n) { - for (var i = this.dimension, a = this.tuple, o = 0; o <= i; ++o) { - var s = n.vertices[o]; - a[o] = s < 0 ? t : r[s]; - } - var l = this.orient(a); - l < 0 || - ((0 !== l || (n = this.handleBoundaryDegeneracy(n, t))) && - this.addPeaks(t, n)); - } - }), - (u.boundary = function () { - for ( - var t = this.dimension, e = [], r = this.simplices, n = r.length, i = 0; - i < n; - ++i - ) { - var a = r[i]; - if (a.boundary) { - for ( - var o = new Array(t), s = a.vertices, l = 0, c = 0, u = 0; - u <= t; - ++u - ) - s[u] >= 0 ? (o[l++] = s[u]) : (c = 1 & u); - if (c === (1 & t)) { - var f = o[0]; - ((o[0] = o[1]), (o[1] = f)); - } - e.push(o); - } - } - return e; - })); - }, - { "robust-orientation": 388, "simplicial-complex": 398 }, - ], - 300: [ - function (t, e, r) { - "use strict"; - var n = t("binary-search-bounds"), - i = 0, - a = 1; - function o(t, e, r, n, i) { - ((this.mid = t), - (this.left = e), - (this.right = r), - (this.leftPoints = n), - (this.rightPoints = i), - (this.count = (e ? e.count : 0) + (r ? r.count : 0) + n.length)); - } - e.exports = function (t) { - if (!t || 0 === t.length) return new x(null); - return new x(y(t)); - }; - var s = o.prototype; - function l(t, e) { - ((t.mid = e.mid), - (t.left = e.left), - (t.right = e.right), - (t.leftPoints = e.leftPoints), - (t.rightPoints = e.rightPoints), - (t.count = e.count)); - } - function c(t, e) { - var r = y(e); - ((t.mid = r.mid), - (t.left = r.left), - (t.right = r.right), - (t.leftPoints = r.leftPoints), - (t.rightPoints = r.rightPoints), - (t.count = r.count)); - } - function u(t, e) { - var r = t.intervals([]); - (r.push(e), c(t, r)); - } - function f(t, e) { - var r = t.intervals([]), - n = r.indexOf(e); - return n < 0 ? i : (r.splice(n, 1), c(t, r), a); - } - function h(t, e, r) { - for (var n = 0; n < t.length && t[n][0] <= e; ++n) { - var i = r(t[n]); - if (i) return i; - } - } - function p(t, e, r) { - for (var n = t.length - 1; n >= 0 && t[n][1] >= e; --n) { - var i = r(t[n]); - if (i) return i; - } - } - function d(t, e) { - for (var r = 0; r < t.length; ++r) { - var n = e(t[r]); - if (n) return n; - } - } - function g(t, e) { - return t - e; - } - function m(t, e) { - var r = t[0] - e[0]; - return r || t[1] - e[1]; - } - function v(t, e) { - var r = t[1] - e[1]; - return r || t[0] - e[0]; - } - function y(t) { - if (0 === t.length) return null; - for (var e = [], r = 0; r < t.length; ++r) e.push(t[r][0], t[r][1]); - e.sort(g); - var n = e[e.length >> 1], - i = [], - a = [], - s = []; - for (r = 0; r < t.length; ++r) { - var l = t[r]; - l[1] < n ? i.push(l) : n < l[0] ? a.push(l) : s.push(l); - } - var c = s, - u = s.slice(); - return (c.sort(m), u.sort(v), new o(n, y(i), y(a), c, u)); - } - function x(t) { - this.root = t; - } - ((s.intervals = function (t) { - return ( - t.push.apply(t, this.leftPoints), - this.left && this.left.intervals(t), - this.right && this.right.intervals(t), - t - ); - }), - (s.insert = function (t) { - var e = this.count - this.leftPoints.length; - if (((this.count += 1), t[1] < this.mid)) - this.left - ? 4 * (this.left.count + 1) > 3 * (e + 1) - ? u(this, t) - : this.left.insert(t) - : (this.left = y([t])); - else if (t[0] > this.mid) - this.right - ? 4 * (this.right.count + 1) > 3 * (e + 1) - ? u(this, t) - : this.right.insert(t) - : (this.right = y([t])); - else { - var r = n.ge(this.leftPoints, t, m), - i = n.ge(this.rightPoints, t, v); - (this.leftPoints.splice(r, 0, t), this.rightPoints.splice(i, 0, t)); - } - }), - (s.remove = function (t) { - var e = this.count - this.leftPoints; - if (t[1] < this.mid) { - return this.left - ? 4 * (this.right ? this.right.count : 0) > 3 * (e - 1) - ? f(this, t) - : 2 === (c = this.left.remove(t)) - ? ((this.left = null), (this.count -= 1), a) - : (c === a && (this.count -= 1), c) - : i; - } else { - if (!(t[0] > this.mid)) { - if (1 === this.count) return this.leftPoints[0] === t ? 2 : i; - if (1 === this.leftPoints.length && this.leftPoints[0] === t) { - if (this.left && this.right) { - for (var r = this, o = this.left; o.right; ) - ((r = o), (o = o.right)); - if (r === this) o.right = this.right; - else { - var s = this.left; - c = this.right; - ((r.count -= o.count), - (r.right = o.left), - (o.left = s), - (o.right = c)); - } - (l(this, o), - (this.count = - (this.left ? this.left.count : 0) + - (this.right ? this.right.count : 0) + - this.leftPoints.length)); - } else this.left ? l(this, this.left) : l(this, this.right); - return a; - } - for ( - s = n.ge(this.leftPoints, t, m); - s < this.leftPoints.length && this.leftPoints[s][0] === t[0]; - ++s - ) - if (this.leftPoints[s] === t) { - ((this.count -= 1), this.leftPoints.splice(s, 1)); - for ( - c = n.ge(this.rightPoints, t, v); - c < this.rightPoints.length && this.rightPoints[c][1] === t[1]; - ++c - ) - if (this.rightPoints[c] === t) - return (this.rightPoints.splice(c, 1), a); - } - return i; - } - return this.right - ? 4 * (this.left ? this.left.count : 0) > 3 * (e - 1) - ? f(this, t) - : 2 === (c = this.right.remove(t)) - ? ((this.right = null), (this.count -= 1), a) - : (c === a && (this.count -= 1), c) - : i; - var c; - } - }), - (s.queryPoint = function (t, e) { - if (t < this.mid) { - if (this.left) if ((r = this.left.queryPoint(t, e))) return r; - return h(this.leftPoints, t, e); - } - if (t > this.mid) { - var r; - if (this.right) if ((r = this.right.queryPoint(t, e))) return r; - return p(this.rightPoints, t, e); - } - return d(this.leftPoints, e); - }), - (s.queryInterval = function (t, e, r) { - var n; - if (t < this.mid && this.left && (n = this.left.queryInterval(t, e, r))) - return n; - if (e > this.mid && this.right && (n = this.right.queryInterval(t, e, r))) - return n; - return e < this.mid - ? h(this.leftPoints, e, r) - : t > this.mid - ? p(this.rightPoints, t, r) - : d(this.leftPoints, r); - })); - var b = x.prototype; - ((b.insert = function (t) { - this.root - ? this.root.insert(t) - : (this.root = new o(t[0], null, null, [t], [t])); - }), - (b.remove = function (t) { - if (this.root) { - var e = this.root.remove(t); - return (2 === e && (this.root = null), e !== i); - } - return !1; - }), - (b.queryPoint = function (t, e) { - if (this.root) return this.root.queryPoint(t, e); - }), - (b.queryInterval = function (t, e, r) { - if (t <= e && this.root) return this.root.queryInterval(t, e, r); - }), - Object.defineProperty(b, "count", { - get: function () { - return this.root ? this.root.count : 0; - }, - }), - Object.defineProperty(b, "intervals", { - get: function () { - return this.root ? this.root.intervals([]) : []; - }, - })); - }, - { "binary-search-bounds": 72 }, - ], - 301: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - e = e || new Array(t.length); - for (var r = 0; r < t.length; ++r) e[t[r]] = r; - return e; - }; - }, - {}, - ], - 302: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = new Array(t), r = 0; r < t; ++r) e[r] = r; - return e; - }; - }, - {}, - ], - 303: [ - function (t, e, r) { - e.exports = !0; - }, - {}, - ], - 304: [ - function (t, e, r) { - function n(t) { - return ( - !!t.constructor && - "function" == typeof t.constructor.isBuffer && - t.constructor.isBuffer(t) - ); - } - e.exports = function (t) { - return ( - null != t && - (n(t) || - (function (t) { - return ( - "function" == typeof t.readFloatLE && - "function" == typeof t.slice && - n(t.slice(0, 0)) - ); - })(t) || - !!t._isBuffer) - ); - }; - }, - {}, - ], - 305: [ - function (t, e, r) { - "use strict"; - e.exports = - "undefined" != typeof navigator && - (/MSIE/.test(navigator.userAgent) || - /Trident\//.test(navigator.appVersion)); - }, - {}, - ], - 306: [ - function (t, e, r) { - e.exports = function (t) { - t || "undefined" == typeof navigator || (t = navigator.userAgent); - t && - t.headers && - "string" == typeof t.headers["user-agent"] && - (t = t.headers["user-agent"]); - return ( - "string" == typeof t && - (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test( - t, - ) || - /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( - t.substr(0, 4), - )) - ); - }; - }, - {}, - ], - 307: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = typeof t; - return null !== t && ("object" === e || "function" === e); - }; - }, - {}, - ], - 308: [ - function (t, e, r) { - "use strict"; - var n = Object.prototype.toString; - e.exports = function (t) { - var e; - return ( - "[object Object]" === n.call(t) && - (null === (e = Object.getPrototypeOf(t)) || - e === Object.getPrototypeOf({})) - ); - }; - }, - {}, - ], - 309: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return ( - "string" == typeof t && - ((t = t.trim()), - !!( - /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t) && - /[\dz]$/i.test(t) && - t.length > 4 - )) - ); - }; - }, - {}, - ], - 310: [ - function (t, e, r) { - e.exports = function (t, e, r) { - return t * (1 - r) + e * r; - }; - }, - {}, - ], - 311: [ - function (t, e, r) { - (function (n) { - "use strict"; - !(function (t) { - "object" == typeof r && void 0 !== e - ? (e.exports = t()) - : (("undefined" != typeof window - ? window - : void 0 !== n - ? n - : "undefined" != typeof self - ? self - : this - ).mapboxgl = t()); - })(function () { - return (function e(r, n, i) { - function a(s, l) { - if (!n[s]) { - if (!r[s]) { - var c = "function" == typeof t && t; - if (!l && c) return c(s, !0); - if (o) return o(s, !0); - var u = new Error("Cannot find module '" + s + "'"); - throw ((u.code = "MODULE_NOT_FOUND"), u); - } - var f = (n[s] = { exports: {} }); - r[s][0].call( - f.exports, - function (t) { - var e = r[s][1][t]; - return a(e || t); - }, - f, - f.exports, - e, - r, - n, - i, - ); - } - return n[s].exports; - } - for (var o = "function" == typeof t && t, s = 0; s < i.length; s++) - a(i[s]); - return a; - })( - { - 1: [ - function (t, e, r) { - function n(t) { - var e = 0; - if (t && t.length > 0) { - e += Math.abs(i(t[0])); - for (var r = 1; r < t.length; r++) e -= Math.abs(i(t[r])); - } - return e; - } - function i(t) { - var e, - r, - n, - i, - s, - l, - c = 0, - u = t.length; - if (u > 2) { - for (l = 0; l < u; l++) - (l === u - 2 - ? ((n = u - 2), (i = u - 1), (s = 0)) - : l === u - 1 - ? ((n = u - 1), (i = 0), (s = 1)) - : ((n = l), (i = l + 1), (s = l + 2)), - (e = t[n]), - (r = t[i]), - (c += (a(t[s][0]) - a(e[0])) * Math.sin(a(r[1])))); - c = (c * o.RADIUS * o.RADIUS) / 2; - } - return c; - } - function a(t) { - return (t * Math.PI) / 180; - } - var o = t("wgs84"); - ((e.exports.geometry = function t(e) { - var r, - i = 0; - switch (e.type) { - case "Polygon": - return n(e.coordinates); - case "MultiPolygon": - for (r = 0; r < e.coordinates.length; r++) - i += n(e.coordinates[r]); - return i; - case "Point": - case "MultiPoint": - case "LineString": - case "MultiLineString": - return 0; - case "GeometryCollection": - for (r = 0; r < e.geometries.length; r++) - i += t(e.geometries[r]); - return i; - } - }), - (e.exports.ring = i)); - }, - { wgs84: 37 }, - ], - 2: [ - function (t, e, r) { - var n, i; - ((n = this), - (i = function () { - return ( - (function () { - var t = new Float32Array(3); - ((t[0] = 0), (t[1] = 0), (t[2] = 0)); - })(), - (function () { - var t = new Float32Array(4); - ((t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0)); - })(), - { - vec3: { - transformMat3: function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2]; - return ( - (t[0] = n * r[0] + i * r[3] + a * r[6]), - (t[1] = n * r[1] + i * r[4] + a * r[7]), - (t[2] = n * r[2] + i * r[5] + a * r[8]), - t - ); - }, - }, - vec4: { - transformMat4: function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3]; - return ( - (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), - (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), - (t[2] = - r[2] * n + r[6] * i + r[10] * a + r[14] * o), - (t[3] = - r[3] * n + r[7] * i + r[11] * a + r[15] * o), - t - ); - }, - }, - mat2: { - create: function () { - var t = new Float32Array(4); - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 1), - t - ); - }, - rotate: function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3], - s = Math.sin(r), - l = Math.cos(r); - return ( - (t[0] = n * l + a * s), - (t[1] = i * l + o * s), - (t[2] = n * -s + a * l), - (t[3] = i * -s + o * l), - t - ); - }, - scale: function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3], - s = r[0], - l = r[1]; - return ( - (t[0] = n * s), - (t[1] = i * s), - (t[2] = a * l), - (t[3] = o * l), - t - ); - }, - }, - mat3: { - create: function () { - var t = new Float32Array(9); - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 1), - (t[5] = 0), - (t[6] = 0), - (t[7] = 0), - (t[8] = 1), - t - ); - }, - fromRotation: function (t, e) { - var r = Math.sin(e), - n = Math.cos(e); - return ( - (t[0] = n), - (t[1] = r), - (t[2] = 0), - (t[3] = -r), - (t[4] = n), - (t[5] = 0), - (t[6] = 0), - (t[7] = 0), - (t[8] = 1), - t - ); - }, - }, - mat4: { - create: function () { - var t = new Float32Array(16); - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = 1), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = 1), - (t[11] = 0), - (t[12] = 0), - (t[13] = 0), - (t[14] = 0), - (t[15] = 1), - t - ); - }, - identity: function (t) { - return ( - (t[0] = 1), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = 1), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = 1), - (t[11] = 0), - (t[12] = 0), - (t[13] = 0), - (t[14] = 0), - (t[15] = 1), - t - ); - }, - translate: function (t, e, r) { - var n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g = r[0], - m = r[1], - v = r[2]; - return ( - e === t - ? ((t[12] = - e[0] * g + e[4] * m + e[8] * v + e[12]), - (t[13] = - e[1] * g + e[5] * m + e[9] * v + e[13]), - (t[14] = - e[2] * g + e[6] * m + e[10] * v + e[14]), - (t[15] = - e[3] * g + e[7] * m + e[11] * v + e[15])) - : ((n = e[0]), - (i = e[1]), - (a = e[2]), - (o = e[3]), - (s = e[4]), - (l = e[5]), - (c = e[6]), - (u = e[7]), - (f = e[8]), - (h = e[9]), - (p = e[10]), - (d = e[11]), - (t[0] = n), - (t[1] = i), - (t[2] = a), - (t[3] = o), - (t[4] = s), - (t[5] = l), - (t[6] = c), - (t[7] = u), - (t[8] = f), - (t[9] = h), - (t[10] = p), - (t[11] = d), - (t[12] = n * g + s * m + f * v + e[12]), - (t[13] = i * g + l * m + h * v + e[13]), - (t[14] = a * g + c * m + p * v + e[14]), - (t[15] = o * g + u * m + d * v + e[15])), - t - ); - }, - scale: function (t, e, r) { - var n = r[0], - i = r[1], - a = r[2]; - return ( - (t[0] = e[0] * n), - (t[1] = e[1] * n), - (t[2] = e[2] * n), - (t[3] = e[3] * n), - (t[4] = e[4] * i), - (t[5] = e[5] * i), - (t[6] = e[6] * i), - (t[7] = e[7] * i), - (t[8] = e[8] * a), - (t[9] = e[9] * a), - (t[10] = e[10] * a), - (t[11] = e[11] * a), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15]), - t - ); - }, - multiply: function (t, e, r) { - var n = e[0], - i = e[1], - a = e[2], - o = e[3], - s = e[4], - l = e[5], - c = e[6], - u = e[7], - f = e[8], - h = e[9], - p = e[10], - d = e[11], - g = e[12], - m = e[13], - v = e[14], - y = e[15], - x = r[0], - b = r[1], - _ = r[2], - w = r[3]; - return ( - (t[0] = x * n + b * s + _ * f + w * g), - (t[1] = x * i + b * l + _ * h + w * m), - (t[2] = x * a + b * c + _ * p + w * v), - (t[3] = x * o + b * u + _ * d + w * y), - (x = r[4]), - (b = r[5]), - (_ = r[6]), - (w = r[7]), - (t[4] = x * n + b * s + _ * f + w * g), - (t[5] = x * i + b * l + _ * h + w * m), - (t[6] = x * a + b * c + _ * p + w * v), - (t[7] = x * o + b * u + _ * d + w * y), - (x = r[8]), - (b = r[9]), - (_ = r[10]), - (w = r[11]), - (t[8] = x * n + b * s + _ * f + w * g), - (t[9] = x * i + b * l + _ * h + w * m), - (t[10] = x * a + b * c + _ * p + w * v), - (t[11] = x * o + b * u + _ * d + w * y), - (x = r[12]), - (b = r[13]), - (_ = r[14]), - (w = r[15]), - (t[12] = x * n + b * s + _ * f + w * g), - (t[13] = x * i + b * l + _ * h + w * m), - (t[14] = x * a + b * c + _ * p + w * v), - (t[15] = x * o + b * u + _ * d + w * y), - t - ); - }, - perspective: function (t, e, r, n, i) { - var a = 1 / Math.tan(e / 2), - o = 1 / (n - i); - return ( - (t[0] = a / r), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = a), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = (i + n) * o), - (t[11] = -1), - (t[12] = 0), - (t[13] = 0), - (t[14] = 2 * i * n * o), - (t[15] = 0), - t - ); - }, - rotateX: function (t, e, r) { - var n = Math.sin(r), - i = Math.cos(r), - a = e[4], - o = e[5], - s = e[6], - l = e[7], - c = e[8], - u = e[9], - f = e[10], - h = e[11]; - return ( - e !== t && - ((t[0] = e[0]), - (t[1] = e[1]), - (t[2] = e[2]), - (t[3] = e[3]), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15])), - (t[4] = a * i + c * n), - (t[5] = o * i + u * n), - (t[6] = s * i + f * n), - (t[7] = l * i + h * n), - (t[8] = c * i - a * n), - (t[9] = u * i - o * n), - (t[10] = f * i - s * n), - (t[11] = h * i - l * n), - t - ); - }, - rotateZ: function (t, e, r) { - var n = Math.sin(r), - i = Math.cos(r), - a = e[0], - o = e[1], - s = e[2], - l = e[3], - c = e[4], - u = e[5], - f = e[6], - h = e[7]; - return ( - e !== t && - ((t[8] = e[8]), - (t[9] = e[9]), - (t[10] = e[10]), - (t[11] = e[11]), - (t[12] = e[12]), - (t[13] = e[13]), - (t[14] = e[14]), - (t[15] = e[15])), - (t[0] = a * i + c * n), - (t[1] = o * i + u * n), - (t[2] = s * i + f * n), - (t[3] = l * i + h * n), - (t[4] = c * i - a * n), - (t[5] = u * i - o * n), - (t[6] = f * i - s * n), - (t[7] = h * i - l * n), - t - ); - }, - invert: function (t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = e[4], - s = e[5], - l = e[6], - c = e[7], - u = e[8], - f = e[9], - h = e[10], - p = e[11], - d = e[12], - g = e[13], - m = e[14], - v = e[15], - y = r * s - n * o, - x = r * l - i * o, - b = r * c - a * o, - _ = n * l - i * s, - w = n * c - a * s, - k = i * c - a * l, - M = u * g - f * d, - A = u * m - h * d, - T = u * v - p * d, - S = f * m - h * g, - C = f * v - p * g, - E = h * v - p * m, - L = y * E - x * C + b * S + _ * T - w * A + k * M; - return L - ? ((L = 1 / L), - (t[0] = (s * E - l * C + c * S) * L), - (t[1] = (i * C - n * E - a * S) * L), - (t[2] = (g * k - m * w + v * _) * L), - (t[3] = (h * w - f * k - p * _) * L), - (t[4] = (l * T - o * E - c * A) * L), - (t[5] = (r * E - i * T + a * A) * L), - (t[6] = (m * b - d * k - v * x) * L), - (t[7] = (u * k - h * b + p * x) * L), - (t[8] = (o * C - s * T + c * M) * L), - (t[9] = (n * T - r * C - a * M) * L), - (t[10] = (d * w - g * b + v * y) * L), - (t[11] = (f * b - u * w - p * y) * L), - (t[12] = (s * A - o * S - l * M) * L), - (t[13] = (r * S - n * A + i * M) * L), - (t[14] = (g * x - d * _ - m * y) * L), - (t[15] = (u * _ - f * x + h * y) * L), - t) - : null; - }, - ortho: function (t, e, r, n, i, a, o) { - var s = 1 / (e - r), - l = 1 / (n - i), - c = 1 / (a - o); - return ( - (t[0] = -2 * s), - (t[1] = 0), - (t[2] = 0), - (t[3] = 0), - (t[4] = 0), - (t[5] = -2 * l), - (t[6] = 0), - (t[7] = 0), - (t[8] = 0), - (t[9] = 0), - (t[10] = 2 * c), - (t[11] = 0), - (t[12] = (e + r) * s), - (t[13] = (i + n) * l), - (t[14] = (o + a) * c), - (t[15] = 1), - t - ); - }, - }, - } - ); - }), - "object" == typeof r && void 0 !== e - ? (e.exports = i()) - : (n.glMatrix = i())); - }, - {}, - ], - 3: [ - function (t, e, r) { - function n(t) { - return !!( - "undefined" != typeof window && - "undefined" != typeof document && - Array.prototype && - Array.prototype.every && - Array.prototype.filter && - Array.prototype.forEach && - Array.prototype.indexOf && - Array.prototype.lastIndexOf && - Array.prototype.map && - Array.prototype.some && - Array.prototype.reduce && - Array.prototype.reduceRight && - Array.isArray && - Function.prototype && - Function.prototype.bind && - Object.keys && - Object.create && - Object.getPrototypeOf && - Object.getOwnPropertyNames && - Object.isSealed && - Object.isFrozen && - Object.isExtensible && - Object.getOwnPropertyDescriptor && - Object.defineProperty && - Object.defineProperties && - Object.seal && - Object.freeze && - Object.preventExtensions && - "JSON" in window && - "parse" in JSON && - "stringify" in JSON && - (function () { - if (!("Worker" in window && "Blob" in window)) return !1; - var t, - e, - r = new Blob([""], { type: "text/javascript" }), - n = URL.createObjectURL(r); - try { - ((e = new Worker(n)), (t = !0)); - } catch (e) { - t = !1; - } - return (e && e.terminate(), URL.revokeObjectURL(n), t); - })() && - "Uint8ClampedArray" in window && - (function (t) { - return ( - void 0 === i[t] && - (i[t] = (function (t) { - var e = document.createElement("canvas"), - r = Object.create(n.webGLContextAttributes); - return ( - (r.failIfMajorPerformanceCaveat = t), - e.probablySupportsContext - ? e.probablySupportsContext("webgl", r) || - e.probablySupportsContext( - "experimental-webgl", - r, - ) - : e.supportsContext - ? e.supportsContext("webgl", r) || - e.supportsContext("experimental-webgl", r) - : e.getContext("webgl", r) || - e.getContext("experimental-webgl", r) - ); - })(t)), - i[t] - ); - })(t && t.failIfMajorPerformanceCaveat) - ); - } - void 0 !== e && e.exports - ? (e.exports = n) - : window && - ((window.mapboxgl = window.mapboxgl || {}), - (window.mapboxgl.supported = n)); - var i = {}; - n.webGLContextAttributes = { - antialias: !1, - alpha: !0, - stencil: !0, - depth: !0, - }; - }, - {}, - ], - 4: [ - function (t, e, r) { - function n(t, e) { - ((this.x = t), (this.y = e)); - } - ((e.exports = n), - (n.prototype = { - clone: function () { - return new n(this.x, this.y); - }, - add: function (t) { - return this.clone()._add(t); - }, - sub: function (t) { - return this.clone()._sub(t); - }, - multByPoint: function (t) { - return this.clone()._multByPoint(t); - }, - divByPoint: function (t) { - return this.clone()._divByPoint(t); - }, - mult: function (t) { - return this.clone()._mult(t); - }, - div: function (t) { - return this.clone()._div(t); - }, - rotate: function (t) { - return this.clone()._rotate(t); - }, - rotateAround: function (t, e) { - return this.clone()._rotateAround(t, e); - }, - matMult: function (t) { - return this.clone()._matMult(t); - }, - unit: function () { - return this.clone()._unit(); - }, - perp: function () { - return this.clone()._perp(); - }, - round: function () { - return this.clone()._round(); - }, - mag: function () { - return Math.sqrt(this.x * this.x + this.y * this.y); - }, - equals: function (t) { - return this.x === t.x && this.y === t.y; - }, - dist: function (t) { - return Math.sqrt(this.distSqr(t)); - }, - distSqr: function (t) { - var e = t.x - this.x, - r = t.y - this.y; - return e * e + r * r; - }, - angle: function () { - return Math.atan2(this.y, this.x); - }, - angleTo: function (t) { - return Math.atan2(this.y - t.y, this.x - t.x); - }, - angleWith: function (t) { - return this.angleWithSep(t.x, t.y); - }, - angleWithSep: function (t, e) { - return Math.atan2( - this.x * e - this.y * t, - this.x * t + this.y * e, - ); - }, - _matMult: function (t) { - var e = t[0] * this.x + t[1] * this.y, - r = t[2] * this.x + t[3] * this.y; - return ((this.x = e), (this.y = r), this); - }, - _add: function (t) { - return ((this.x += t.x), (this.y += t.y), this); - }, - _sub: function (t) { - return ((this.x -= t.x), (this.y -= t.y), this); - }, - _mult: function (t) { - return ((this.x *= t), (this.y *= t), this); - }, - _div: function (t) { - return ((this.x /= t), (this.y /= t), this); - }, - _multByPoint: function (t) { - return ((this.x *= t.x), (this.y *= t.y), this); - }, - _divByPoint: function (t) { - return ((this.x /= t.x), (this.y /= t.y), this); - }, - _unit: function () { - return (this._div(this.mag()), this); - }, - _perp: function () { - var t = this.y; - return ((this.y = this.x), (this.x = -t), this); - }, - _rotate: function (t) { - var e = Math.cos(t), - r = Math.sin(t), - n = e * this.x - r * this.y, - i = r * this.x + e * this.y; - return ((this.x = n), (this.y = i), this); - }, - _rotateAround: function (t, e) { - var r = Math.cos(t), - n = Math.sin(t), - i = e.x + r * (this.x - e.x) - n * (this.y - e.y), - a = e.y + n * (this.x - e.x) + r * (this.y - e.y); - return ((this.x = i), (this.y = a), this); - }, - _round: function () { - return ( - (this.x = Math.round(this.x)), - (this.y = Math.round(this.y)), - this - ); - }, - }), - (n.convert = function (t) { - return t instanceof n - ? t - : Array.isArray(t) - ? new n(t[0], t[1]) - : t; - })); - }, - {}, - ], - 5: [ - function (t, e, r) { - var n, i; - ((n = this), - (i = function () { - function t(t, e, r) { - ((r = r || {}), - (this.w = t || 64), - (this.h = e || 64), - (this.autoResize = !!r.autoResize), - (this.shelves = []), - (this.freebins = []), - (this.stats = {}), - (this.bins = {}), - (this.maxId = 0)); - } - function e(t, e, r) { - ((this.x = 0), - (this.y = t), - (this.w = this.free = e), - (this.h = r)); - } - return ( - (t.prototype.pack = function (t, e) { - ((t = [].concat(t)), (e = e || {})); - for (var r, n, i, a, o = [], s = 0; s < t.length; s++) - if ( - ((r = t[s].w || t[s].width), - (n = t[s].h || t[s].height), - (i = t[s].id), - r && n) - ) { - if (!(a = this.packOne(r, n, i))) continue; - (e.inPlace && - ((t[s].x = a.x), (t[s].y = a.y), (t[s].id = a.id)), - o.push(a)); - } - return (this.shrink(), o); - }), - (t.prototype.packOne = function (t, r, n) { - var i, - a, - o, - s, - l, - c, - u, - f, - h = { freebin: -1, shelf: -1, waste: 1 / 0 }, - p = 0; - if ("string" == typeof n || "number" == typeof n) { - if ((i = this.getBin(n))) return (this.ref(i), i); - "number" == typeof n && - (this.maxId = Math.max(n, this.maxId)); - } else n = ++this.maxId; - for (s = 0; s < this.freebins.length; s++) { - if (r === (i = this.freebins[s]).maxh && t === i.maxw) - return this.allocFreebin(s, t, r, n); - r > i.maxh || - t > i.maxw || - (r <= i.maxh && - t <= i.maxw && - (o = i.maxw * i.maxh - t * r) < h.waste && - ((h.waste = o), (h.freebin = s))); - } - for (s = 0; s < this.shelves.length; s++) - if (((p += (a = this.shelves[s]).h), !(t > a.free))) { - if (r === a.h) return this.allocShelf(s, t, r, n); - r > a.h || - (r < a.h && - (o = (a.h - r) * t) < h.waste && - ((h.freebin = -1), (h.waste = o), (h.shelf = s))); - } - return -1 !== h.freebin - ? this.allocFreebin(h.freebin, t, r, n) - : -1 !== h.shelf - ? this.allocShelf(h.shelf, t, r, n) - : r <= this.h - p && t <= this.w - ? ((a = new e(p, this.w, r)), - this.allocShelf( - this.shelves.push(a) - 1, - t, - r, - n, - )) - : this.autoResize - ? ((l = c = this.h), - ((u = f = this.w) <= l || t > u) && - (f = 2 * Math.max(t, u)), - (l < u || r > l) && (c = 2 * Math.max(r, l)), - this.resize(f, c), - this.packOne(t, r, n)) - : null; - }), - (t.prototype.allocFreebin = function (t, e, r, n) { - var i = this.freebins.splice(t, 1)[0]; - return ( - (i.id = n), - (i.w = e), - (i.h = r), - (i.refcount = 0), - (this.bins[n] = i), - this.ref(i), - i - ); - }), - (t.prototype.allocShelf = function (t, e, r, n) { - var i = this.shelves[t].alloc(e, r, n); - return ((this.bins[n] = i), this.ref(i), i); - }), - (t.prototype.shrink = function () { - if (this.shelves.length > 0) { - for ( - var t = 0, e = 0, r = 0; - r < this.shelves.length; - r++ - ) { - var n = this.shelves[r]; - ((e += n.h), (t = Math.max(n.w - n.free, t))); - } - this.resize(t, e); - } - }), - (t.prototype.getBin = function (t) { - return this.bins[t]; - }), - (t.prototype.ref = function (t) { - if (1 == ++t.refcount) { - var e = t.h; - this.stats[e] = 1 + (0 | this.stats[e]); - } - return t.refcount; - }), - (t.prototype.unref = function (t) { - return 0 === t.refcount - ? 0 - : (0 == --t.refcount && - (this.stats[t.h]--, - delete this.bins[t.id], - this.freebins.push(t)), - t.refcount); - }), - (t.prototype.clear = function () { - ((this.shelves = []), - (this.freebins = []), - (this.stats = {}), - (this.bins = {}), - (this.maxId = 0)); - }), - (t.prototype.resize = function (t, e) { - ((this.w = t), (this.h = e)); - for (var r = 0; r < this.shelves.length; r++) - this.shelves[r].resize(t); - return !0; - }), - (e.prototype.alloc = function (t, e, r) { - if (t > this.free || e > this.h) return null; - var n = this.x; - return ( - (this.x += t), - (this.free -= t), - new (function (t, e, r, n, i, a, o) { - ((this.id = t), - (this.x = e), - (this.y = r), - (this.w = n), - (this.h = i), - (this.maxw = a || n), - (this.maxh = o || i), - (this.refcount = 0)); - })(r, n, this.y, t, e, t, this.h) - ); - }), - (e.prototype.resize = function (t) { - return ((this.free += t - this.w), (this.w = t), !0); - }), - t - ); - }), - "object" == typeof r && void 0 !== e - ? (e.exports = i()) - : (n.ShelfPack = i())); - }, - {}, - ], - 6: [ - function (t, e, r) { - function n(t, e, r, n, i, a) { - ((this.fontSize = t || 24), - (this.buffer = void 0 === e ? 3 : e), - (this.cutoff = n || 0.25), - (this.fontFamily = i || "sans-serif"), - (this.fontWeight = a || "normal"), - (this.radius = r || 8)); - var o = (this.size = this.fontSize + 2 * this.buffer); - ((this.canvas = document.createElement("canvas")), - (this.canvas.width = this.canvas.height = o), - (this.ctx = this.canvas.getContext("2d")), - (this.ctx.font = - this.fontWeight + - " " + - this.fontSize + - "px " + - this.fontFamily), - (this.ctx.textBaseline = "middle"), - (this.ctx.fillStyle = "black"), - (this.gridOuter = new Float64Array(o * o)), - (this.gridInner = new Float64Array(o * o)), - (this.f = new Float64Array(o)), - (this.d = new Float64Array(o)), - (this.z = new Float64Array(o + 1)), - (this.v = new Int16Array(o)), - (this.middle = Math.round( - (o / 2) * - (navigator.userAgent.indexOf("Gecko/") >= 0 ? 1.2 : 1), - ))); - } - function i(t, e, r, n, i, o, s) { - for (var l = 0; l < e; l++) { - for (var c = 0; c < r; c++) n[c] = t[c * e + l]; - for (a(n, i, o, s, r), c = 0; c < r; c++) t[c * e + l] = i[c]; - } - for (c = 0; c < r; c++) { - for (l = 0; l < e; l++) n[l] = t[c * e + l]; - for (a(n, i, o, s, e), l = 0; l < e; l++) - t[c * e + l] = Math.sqrt(i[l]); - } - } - function a(t, e, r, n, i) { - ((r[0] = 0), (n[0] = -o), (n[1] = +o)); - for (var a = 1, s = 0; a < i; a++) { - for ( - var l = - (t[a] + a * a - (t[r[s]] + r[s] * r[s])) / - (2 * a - 2 * r[s]); - l <= n[s]; - - ) - (s--, - (l = - (t[a] + a * a - (t[r[s]] + r[s] * r[s])) / - (2 * a - 2 * r[s]))); - ((r[++s] = a), (n[s] = l), (n[s + 1] = +o)); - } - for (a = 0, s = 0; a < i; a++) { - for (; n[s + 1] < a; ) s++; - e[a] = (a - r[s]) * (a - r[s]) + t[r[s]]; - } - } - e.exports = n; - var o = 1e20; - n.prototype.draw = function (t) { - (this.ctx.clearRect(0, 0, this.size, this.size), - this.ctx.fillText(t, this.buffer, this.middle)); - for ( - var e = this.ctx.getImageData(0, 0, this.size, this.size), - r = new Uint8ClampedArray(this.size * this.size), - n = 0; - n < this.size * this.size; - n++ - ) { - var a = e.data[4 * n + 3] / 255; - ((this.gridOuter[n] = - 1 === a - ? 0 - : 0 === a - ? o - : Math.pow(Math.max(0, 0.5 - a), 2)), - (this.gridInner[n] = - 1 === a - ? o - : 0 === a - ? 0 - : Math.pow(Math.max(0, a - 0.5), 2))); - } - for ( - i( - this.gridOuter, - this.size, - this.size, - this.f, - this.d, - this.v, - this.z, - ), - i( - this.gridInner, - this.size, - this.size, - this.f, - this.d, - this.v, - this.z, - ), - n = 0; - n < this.size * this.size; - n++ - ) { - var s = this.gridOuter[n] - this.gridInner[n]; - r[n] = Math.max( - 0, - Math.min( - 255, - Math.round(255 - 255 * (s / this.radius + this.cutoff)), - ), - ); - } - return r; - }; - }, - {}, - ], - 7: [ - function (t, e, r) { - function n(t, e, r, n) { - ((this.cx = 3 * t), - (this.bx = 3 * (r - t) - this.cx), - (this.ax = 1 - this.cx - this.bx), - (this.cy = 3 * e), - (this.by = 3 * (n - e) - this.cy), - (this.ay = 1 - this.cy - this.by), - (this.p1x = t), - (this.p1y = n), - (this.p2x = r), - (this.p2y = n)); - } - ((e.exports = n), - (n.prototype.sampleCurveX = function (t) { - return ((this.ax * t + this.bx) * t + this.cx) * t; - }), - (n.prototype.sampleCurveY = function (t) { - return ((this.ay * t + this.by) * t + this.cy) * t; - }), - (n.prototype.sampleCurveDerivativeX = function (t) { - return (3 * this.ax * t + 2 * this.bx) * t + this.cx; - }), - (n.prototype.solveCurveX = function (t, e) { - var r, n, i, a, o; - for (void 0 === e && (e = 1e-6), i = t, o = 0; o < 8; o++) { - if (((a = this.sampleCurveX(i) - t), Math.abs(a) < e)) - return i; - var s = this.sampleCurveDerivativeX(i); - if (Math.abs(s) < 1e-6) break; - i -= a / s; - } - if (((n = 1), (i = t) < (r = 0))) return r; - if (i > n) return n; - for (; r < n; ) { - if (((a = this.sampleCurveX(i)), Math.abs(a - t) < e)) - return i; - (t > a ? (r = i) : (n = i), (i = 0.5 * (n - r) + r)); - } - return i; - }), - (n.prototype.solve = function (t, e) { - return this.sampleCurveY(this.solveCurveX(t, e)); - })); - }, - {}, - ], - 8: [ - function (t, e, r) { - ((e.exports.VectorTile = t("./lib/vectortile.js")), - (e.exports.VectorTileFeature = t("./lib/vectortilefeature.js")), - (e.exports.VectorTileLayer = t("./lib/vectortilelayer.js"))); - }, - { - "./lib/vectortile.js": 9, - "./lib/vectortilefeature.js": 10, - "./lib/vectortilelayer.js": 11, - }, - ], - 9: [ - function (t, e, r) { - function n(t, e, r) { - if (3 === t) { - var n = new i(r, r.readVarint() + r.pos); - n.length && (e[n.name] = n); - } - } - var i = t("./vectortilelayer"); - e.exports = function (t, e) { - this.layers = t.readFields(n, {}, e); - }; - }, - { "./vectortilelayer": 11 }, - ], - 10: [ - function (t, e, r) { - function n(t, e, r, n, a) { - ((this.properties = {}), - (this.extent = r), - (this.type = 0), - (this._pbf = t), - (this._geometry = -1), - (this._keys = n), - (this._values = a), - t.readFields(i, this, e)); - } - function i(t, e, r) { - 1 == t - ? (e.id = r.readVarint()) - : 2 == t - ? (function (t, e) { - for (var r = t.readVarint() + t.pos; t.pos < r; ) { - var n = e._keys[t.readVarint()], - i = e._values[t.readVarint()]; - e.properties[n] = i; - } - })(r, e) - : 3 == t - ? (e.type = r.readVarint()) - : 4 == t && (e._geometry = r.pos); - } - function a(t) { - for ( - var e, r, n = 0, i = 0, a = t.length, o = a - 1; - i < a; - o = i++ - ) - ((e = t[i]), (n += ((r = t[o]).x - e.x) * (e.y + r.y))); - return n; - } - var o = t("@mapbox/point-geometry"); - ((e.exports = n), - (n.types = ["Unknown", "Point", "LineString", "Polygon"]), - (n.prototype.loadGeometry = function () { - var t = this._pbf; - t.pos = this._geometry; - for ( - var e, - r = t.readVarint() + t.pos, - n = 1, - i = 0, - a = 0, - s = 0, - l = []; - t.pos < r; - - ) { - if (!i) { - var c = t.readVarint(); - ((n = 7 & c), (i = c >> 3)); - } - if ((i--, 1 === n || 2 === n)) - ((a += t.readSVarint()), - (s += t.readSVarint()), - 1 === n && (e && l.push(e), (e = [])), - e.push(new o(a, s))); - else { - if (7 !== n) throw new Error("unknown command " + n); - e && e.push(e[0].clone()); - } - } - return (e && l.push(e), l); - }), - (n.prototype.bbox = function () { - var t = this._pbf; - t.pos = this._geometry; - for ( - var e = t.readVarint() + t.pos, - r = 1, - n = 0, - i = 0, - a = 0, - o = 1 / 0, - s = -1 / 0, - l = 1 / 0, - c = -1 / 0; - t.pos < e; - - ) { - if (!n) { - var u = t.readVarint(); - ((r = 7 & u), (n = u >> 3)); - } - if ((n--, 1 === r || 2 === r)) - ((i += t.readSVarint()), - (a += t.readSVarint()), - i < o && (o = i), - i > s && (s = i), - a < l && (l = a), - a > c && (c = a)); - else if (7 !== r) throw new Error("unknown command " + r); - } - return [o, l, s, c]; - }), - (n.prototype.toGeoJSON = function (t, e, r) { - function i(t) { - for (var e = 0; e < t.length; e++) { - var r = t[e], - n = 180 - (360 * (r.y + u)) / l; - t[e] = [ - (360 * (r.x + c)) / l - 180, - (360 / Math.PI) * - Math.atan(Math.exp((n * Math.PI) / 180)) - - 90, - ]; - } - } - var o, - s, - l = this.extent * Math.pow(2, r), - c = this.extent * t, - u = this.extent * e, - f = this.loadGeometry(), - h = n.types[this.type]; - switch (this.type) { - case 1: - var p = []; - for (o = 0; o < f.length; o++) p[o] = f[o][0]; - i((f = p)); - break; - case 2: - for (o = 0; o < f.length; o++) i(f[o]); - break; - case 3: - for ( - f = (function (t) { - var e = t.length; - if (e <= 1) return [t]; - for (var r, n, i = [], o = 0; o < e; o++) { - var s = a(t[o]); - 0 !== s && - (void 0 === n && (n = s < 0), - n === s < 0 - ? (r && i.push(r), (r = [t[o]])) - : r.push(t[o])); - } - return (r && i.push(r), i); - })(f), - o = 0; - o < f.length; - o++ - ) - for (s = 0; s < f[o].length; s++) i(f[o][s]); - } - 1 === f.length ? (f = f[0]) : (h = "Multi" + h); - var d = { - type: "Feature", - geometry: { type: h, coordinates: f }, - properties: this.properties, - }; - return ("id" in this && (d.id = this.id), d); - })); - }, - { "@mapbox/point-geometry": 4 }, - ], - 11: [ - function (t, e, r) { - function n(t, e) { - ((this.version = 1), - (this.name = null), - (this.extent = 4096), - (this.length = 0), - (this._pbf = t), - (this._keys = []), - (this._values = []), - (this._features = []), - t.readFields(i, this, e), - (this.length = this._features.length)); - } - function i(t, e, r) { - 15 === t - ? (e.version = r.readVarint()) - : 1 === t - ? (e.name = r.readString()) - : 5 === t - ? (e.extent = r.readVarint()) - : 2 === t - ? e._features.push(r.pos) - : 3 === t - ? e._keys.push(r.readString()) - : 4 === t && - e._values.push( - (function (t) { - for ( - var e = null, r = t.readVarint() + t.pos; - t.pos < r; - - ) { - var n = t.readVarint() >> 3; - e = - 1 === n - ? t.readString() - : 2 === n - ? t.readFloat() - : 3 === n - ? t.readDouble() - : 4 === n - ? t.readVarint64() - : 5 === n - ? t.readVarint() - : 6 === n - ? t.readSVarint() - : 7 === n - ? t.readBoolean() - : null; - } - return e; - })(r), - ); - } - var a = t("./vectortilefeature.js"); - ((e.exports = n), - (n.prototype.feature = function (t) { - if (t < 0 || t >= this._features.length) - throw new Error("feature index out of bounds"); - this._pbf.pos = this._features[t]; - var e = this._pbf.readVarint() + this._pbf.pos; - return new a( - this._pbf, - e, - this.extent, - this._keys, - this._values, - ); - })); - }, - { "./vectortilefeature.js": 10 }, - ], - 12: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - function e(t, e, n) { - var i = r(256 * t, 256 * (e = Math.pow(2, n) - e - 1), n), - a = r(256 * (t + 1), 256 * (e + 1), n); - return i[0] + "," + i[1] + "," + a[0] + "," + a[1]; - } - function r(t, e, r) { - var n = (2 * Math.PI * 6378137) / 256 / Math.pow(2, r); - return [ - t * n - (2 * Math.PI * 6378137) / 2, - e * n - (2 * Math.PI * 6378137) / 2, - ]; - } - ((t.getURL = function (t, r, n, i, a, o) { - return ( - (o = o || {}), - t + - "?" + - [ - "bbox=" + e(n, i, a), - "format=" + (o.format || "image/png"), - "service=" + (o.service || "WMS"), - "version=" + (o.version || "1.1.1"), - "request=" + (o.request || "GetMap"), - "srs=" + (o.srs || "EPSG:3857"), - "width=" + (o.width || 256), - "height=" + (o.height || 256), - "layers=" + r, - ].join("&") - ); - }), - (t.getTileBBox = e), - (t.getMercCoords = r), - Object.defineProperty(t, "__esModule", { value: !0 })); - })( - "object" == typeof r && void 0 !== e - ? r - : (n.WhooTS = n.WhooTS || {}), - )); - }, - {}, - ], - 13: [ - function (t, e, r) { - function n(t) { - return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t; - } - function i(t) { - return n( - "%" === t[t.length - 1] - ? (parseFloat(t) / 100) * 255 - : parseInt(t), - ); - } - function a(t) { - return (function (t) { - return t < 0 ? 0 : t > 1 ? 1 : t; - })( - "%" === t[t.length - 1] ? parseFloat(t) / 100 : parseFloat(t), - ); - } - function o(t, e, r) { - return ( - r < 0 ? (r += 1) : r > 1 && (r -= 1), - 6 * r < 1 - ? t + (e - t) * r * 6 - : 2 * r < 1 - ? e - : 3 * r < 2 - ? t + (e - t) * (2 / 3 - r) * 6 - : t - ); - } - var s = { - transparent: [0, 0, 0, 0], - aliceblue: [240, 248, 255, 1], - antiquewhite: [250, 235, 215, 1], - aqua: [0, 255, 255, 1], - aquamarine: [127, 255, 212, 1], - azure: [240, 255, 255, 1], - beige: [245, 245, 220, 1], - bisque: [255, 228, 196, 1], - black: [0, 0, 0, 1], - blanchedalmond: [255, 235, 205, 1], - blue: [0, 0, 255, 1], - blueviolet: [138, 43, 226, 1], - brown: [165, 42, 42, 1], - burlywood: [222, 184, 135, 1], - cadetblue: [95, 158, 160, 1], - chartreuse: [127, 255, 0, 1], - chocolate: [210, 105, 30, 1], - coral: [255, 127, 80, 1], - cornflowerblue: [100, 149, 237, 1], - cornsilk: [255, 248, 220, 1], - crimson: [220, 20, 60, 1], - cyan: [0, 255, 255, 1], - darkblue: [0, 0, 139, 1], - darkcyan: [0, 139, 139, 1], - darkgoldenrod: [184, 134, 11, 1], - darkgray: [169, 169, 169, 1], - darkgreen: [0, 100, 0, 1], - darkgrey: [169, 169, 169, 1], - darkkhaki: [189, 183, 107, 1], - darkmagenta: [139, 0, 139, 1], - darkolivegreen: [85, 107, 47, 1], - darkorange: [255, 140, 0, 1], - darkorchid: [153, 50, 204, 1], - darkred: [139, 0, 0, 1], - darksalmon: [233, 150, 122, 1], - darkseagreen: [143, 188, 143, 1], - darkslateblue: [72, 61, 139, 1], - darkslategray: [47, 79, 79, 1], - darkslategrey: [47, 79, 79, 1], - darkturquoise: [0, 206, 209, 1], - darkviolet: [148, 0, 211, 1], - deeppink: [255, 20, 147, 1], - deepskyblue: [0, 191, 255, 1], - dimgray: [105, 105, 105, 1], - dimgrey: [105, 105, 105, 1], - dodgerblue: [30, 144, 255, 1], - firebrick: [178, 34, 34, 1], - floralwhite: [255, 250, 240, 1], - forestgreen: [34, 139, 34, 1], - fuchsia: [255, 0, 255, 1], - gainsboro: [220, 220, 220, 1], - ghostwhite: [248, 248, 255, 1], - gold: [255, 215, 0, 1], - goldenrod: [218, 165, 32, 1], - gray: [128, 128, 128, 1], - green: [0, 128, 0, 1], - greenyellow: [173, 255, 47, 1], - grey: [128, 128, 128, 1], - honeydew: [240, 255, 240, 1], - hotpink: [255, 105, 180, 1], - indianred: [205, 92, 92, 1], - indigo: [75, 0, 130, 1], - ivory: [255, 255, 240, 1], - khaki: [240, 230, 140, 1], - lavender: [230, 230, 250, 1], - lavenderblush: [255, 240, 245, 1], - lawngreen: [124, 252, 0, 1], - lemonchiffon: [255, 250, 205, 1], - lightblue: [173, 216, 230, 1], - lightcoral: [240, 128, 128, 1], - lightcyan: [224, 255, 255, 1], - lightgoldenrodyellow: [250, 250, 210, 1], - lightgray: [211, 211, 211, 1], - lightgreen: [144, 238, 144, 1], - lightgrey: [211, 211, 211, 1], - lightpink: [255, 182, 193, 1], - lightsalmon: [255, 160, 122, 1], - lightseagreen: [32, 178, 170, 1], - lightskyblue: [135, 206, 250, 1], - lightslategray: [119, 136, 153, 1], - lightslategrey: [119, 136, 153, 1], - lightsteelblue: [176, 196, 222, 1], - lightyellow: [255, 255, 224, 1], - lime: [0, 255, 0, 1], - limegreen: [50, 205, 50, 1], - linen: [250, 240, 230, 1], - magenta: [255, 0, 255, 1], - maroon: [128, 0, 0, 1], - mediumaquamarine: [102, 205, 170, 1], - mediumblue: [0, 0, 205, 1], - mediumorchid: [186, 85, 211, 1], - mediumpurple: [147, 112, 219, 1], - mediumseagreen: [60, 179, 113, 1], - mediumslateblue: [123, 104, 238, 1], - mediumspringgreen: [0, 250, 154, 1], - mediumturquoise: [72, 209, 204, 1], - mediumvioletred: [199, 21, 133, 1], - midnightblue: [25, 25, 112, 1], - mintcream: [245, 255, 250, 1], - mistyrose: [255, 228, 225, 1], - moccasin: [255, 228, 181, 1], - navajowhite: [255, 222, 173, 1], - navy: [0, 0, 128, 1], - oldlace: [253, 245, 230, 1], - olive: [128, 128, 0, 1], - olivedrab: [107, 142, 35, 1], - orange: [255, 165, 0, 1], - orangered: [255, 69, 0, 1], - orchid: [218, 112, 214, 1], - palegoldenrod: [238, 232, 170, 1], - palegreen: [152, 251, 152, 1], - paleturquoise: [175, 238, 238, 1], - palevioletred: [219, 112, 147, 1], - papayawhip: [255, 239, 213, 1], - peachpuff: [255, 218, 185, 1], - peru: [205, 133, 63, 1], - pink: [255, 192, 203, 1], - plum: [221, 160, 221, 1], - powderblue: [176, 224, 230, 1], - purple: [128, 0, 128, 1], - rebeccapurple: [102, 51, 153, 1], - red: [255, 0, 0, 1], - rosybrown: [188, 143, 143, 1], - royalblue: [65, 105, 225, 1], - saddlebrown: [139, 69, 19, 1], - salmon: [250, 128, 114, 1], - sandybrown: [244, 164, 96, 1], - seagreen: [46, 139, 87, 1], - seashell: [255, 245, 238, 1], - sienna: [160, 82, 45, 1], - silver: [192, 192, 192, 1], - skyblue: [135, 206, 235, 1], - slateblue: [106, 90, 205, 1], - slategray: [112, 128, 144, 1], - slategrey: [112, 128, 144, 1], - snow: [255, 250, 250, 1], - springgreen: [0, 255, 127, 1], - steelblue: [70, 130, 180, 1], - tan: [210, 180, 140, 1], - teal: [0, 128, 128, 1], - thistle: [216, 191, 216, 1], - tomato: [255, 99, 71, 1], - turquoise: [64, 224, 208, 1], - violet: [238, 130, 238, 1], - wheat: [245, 222, 179, 1], - white: [255, 255, 255, 1], - whitesmoke: [245, 245, 245, 1], - yellow: [255, 255, 0, 1], - yellowgreen: [154, 205, 50, 1], - }; - try { - r.parseCSSColor = function (t) { - var e, - r = t.replace(/ /g, "").toLowerCase(); - if (r in s) return s[r].slice(); - if ("#" === r[0]) - return 4 === r.length - ? (e = parseInt(r.substr(1), 16)) >= 0 && e <= 4095 - ? [ - ((3840 & e) >> 4) | ((3840 & e) >> 8), - (240 & e) | ((240 & e) >> 4), - (15 & e) | ((15 & e) << 4), - 1, - ] - : null - : 7 === r.length && - (e = parseInt(r.substr(1), 16)) >= 0 && - e <= 16777215 - ? [(16711680 & e) >> 16, (65280 & e) >> 8, 255 & e, 1] - : null; - var l = r.indexOf("("), - c = r.indexOf(")"); - if (-1 !== l && c + 1 === r.length) { - var u = r.substr(0, l), - f = r.substr(l + 1, c - (l + 1)).split(","), - h = 1; - switch (u) { - case "rgba": - if (4 !== f.length) return null; - h = a(f.pop()); - case "rgb": - return 3 !== f.length - ? null - : [i(f[0]), i(f[1]), i(f[2]), h]; - case "hsla": - if (4 !== f.length) return null; - h = a(f.pop()); - case "hsl": - if (3 !== f.length) return null; - var p = (((parseFloat(f[0]) % 360) + 360) % 360) / 360, - d = a(f[1]), - g = a(f[2]), - m = g <= 0.5 ? g * (d + 1) : g + d - g * d, - v = 2 * g - m; - return [ - n(255 * o(v, m, p + 1 / 3)), - n(255 * o(v, m, p)), - n(255 * o(v, m, p - 1 / 3)), - h, - ]; - default: - return null; - } - } - return null; - }; - } catch (t) {} - }, - {}, - ], - 14: [ - function (t, e, r) { - function n(t, e, r) { - r = r || 2; - var n, - s, - l, - c, - u, - p, - g, - m = e && e.length, - v = m ? e[0] * r : t.length, - y = i(t, 0, v, r, !0), - x = []; - if (!y) return x; - if ( - (m && - (y = (function (t, e, r, n) { - var o, - s, - l, - c, - u, - p = []; - for (o = 0, s = e.length; o < s; o++) - ((l = e[o] * n), - (c = o < s - 1 ? e[o + 1] * n : t.length), - (u = i(t, l, c, n, !1)) === u.next && - (u.steiner = !0), - p.push(d(u))); - for (p.sort(f), o = 0; o < p.length; o++) - (h(p[o], r), (r = a(r, r.next))); - return r; - })(t, e, y, r)), - t.length > 80 * r) - ) { - ((n = l = t[0]), (s = c = t[1])); - for (var b = r; b < v; b += r) - ((u = t[b]), - (p = t[b + 1]), - u < n && (n = u), - p < s && (s = p), - u > l && (l = u), - p > c && (c = p)); - g = 0 !== (g = Math.max(l - n, c - s)) ? 1 / g : 0; - } - return (o(y, x, r, n, s, g), x); - } - function i(t, e, r, n, i) { - var a, o; - if (i === A(t, e, r, n) > 0) - for (a = e; a < r; a += n) o = w(a, t[a], t[a + 1], o); - else - for (a = r - n; a >= e; a -= n) o = w(a, t[a], t[a + 1], o); - return (o && y(o, o.next) && (k(o), (o = o.next)), o); - } - function a(t, e) { - if (!t) return t; - e || (e = t); - var r, - n = t; - do { - if ( - ((r = !1), - n.steiner || (!y(n, n.next) && 0 !== v(n.prev, n, n.next))) - ) - n = n.next; - else { - if ((k(n), (n = e = n.prev) === n.next)) break; - r = !0; - } - } while (r || n !== e); - return e; - } - function o(t, e, r, n, i, f, h) { - if (t) { - !h && - f && - (function (t, e, r, n) { - var i = t; - do { - (null === i.z && (i.z = p(i.x, i.y, e, r, n)), - (i.prevZ = i.prev), - (i.nextZ = i.next), - (i = i.next)); - } while (i !== t); - ((i.prevZ.nextZ = null), - (i.prevZ = null), - (function (t) { - var e, - r, - n, - i, - a, - o, - s, - l, - c = 1; - do { - for (r = t, t = null, a = null, o = 0; r; ) { - for ( - o++, n = r, s = 0, e = 0; - e < c && (s++, (n = n.nextZ)); - e++ - ); - for (l = c; s > 0 || (l > 0 && n); ) - (0 !== s && (0 === l || !n || r.z <= n.z) - ? ((i = r), (r = r.nextZ), s--) - : ((i = n), (n = n.nextZ), l--), - a ? (a.nextZ = i) : (t = i), - (i.prevZ = a), - (a = i)); - r = n; - } - ((a.nextZ = null), (c *= 2)); - } while (o > 1); - })(i)); - })(t, n, i, f); - for (var d, g, m = t; t.prev !== t.next; ) - if (((d = t.prev), (g = t.next), f ? l(t, n, i, f) : s(t))) - (e.push(d.i / r), - e.push(t.i / r), - e.push(g.i / r), - k(t), - (t = g.next), - (m = g.next)); - else if ((t = g) === m) { - h - ? 1 === h - ? o((t = c(t, e, r)), e, r, n, i, f, 2) - : 2 === h && u(t, e, r, n, i, f) - : o(a(t), e, r, n, i, f, 1); - break; - } - } - } - function s(t) { - var e = t.prev, - r = t, - n = t.next; - if (v(e, r, n) >= 0) return !1; - for (var i = t.next.next; i !== t.prev; ) { - if ( - g(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && - v(i.prev, i, i.next) >= 0 - ) - return !1; - i = i.next; - } - return !0; - } - function l(t, e, r, n) { - var i = t.prev, - a = t, - o = t.next; - if (v(i, a, o) >= 0) return !1; - for ( - var s = - i.x < a.x - ? i.x < o.x - ? i.x - : o.x - : a.x < o.x - ? a.x - : o.x, - l = - i.y < a.y - ? i.y < o.y - ? i.y - : o.y - : a.y < o.y - ? a.y - : o.y, - c = - i.x > a.x - ? i.x > o.x - ? i.x - : o.x - : a.x > o.x - ? a.x - : o.x, - u = - i.y > a.y - ? i.y > o.y - ? i.y - : o.y - : a.y > o.y - ? a.y - : o.y, - f = p(s, l, e, r, n), - h = p(c, u, e, r, n), - d = t.prevZ, - m = t.nextZ; - d && d.z >= f && m && m.z <= h; - - ) { - if ( - d !== t.prev && - d !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && - v(d.prev, d, d.next) >= 0 - ) - return !1; - if ( - ((d = d.prevZ), - m !== t.prev && - m !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && - v(m.prev, m, m.next) >= 0) - ) - return !1; - m = m.nextZ; - } - for (; d && d.z >= f; ) { - if ( - d !== t.prev && - d !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, d.x, d.y) && - v(d.prev, d, d.next) >= 0 - ) - return !1; - d = d.prevZ; - } - for (; m && m.z <= h; ) { - if ( - m !== t.prev && - m !== t.next && - g(i.x, i.y, a.x, a.y, o.x, o.y, m.x, m.y) && - v(m.prev, m, m.next) >= 0 - ) - return !1; - m = m.nextZ; - } - return !0; - } - function c(t, e, r) { - var n = t; - do { - var i = n.prev, - a = n.next.next; - (!y(i, a) && - x(i, n, n.next, a) && - b(i, a) && - b(a, i) && - (e.push(i.i / r), - e.push(n.i / r), - e.push(a.i / r), - k(n), - k(n.next), - (n = t = a)), - (n = n.next)); - } while (n !== t); - return n; - } - function u(t, e, r, n, i, s) { - var l = t; - do { - for (var c = l.next.next; c !== l.prev; ) { - if (l.i !== c.i && m(l, c)) { - var u = _(l, c); - return ( - (l = a(l, l.next)), - (u = a(u, u.next)), - o(l, e, r, n, i, s), - void o(u, e, r, n, i, s) - ); - } - c = c.next; - } - l = l.next; - } while (l !== t); - } - function f(t, e) { - return t.x - e.x; - } - function h(t, e) { - if ( - (e = (function (t, e) { - var r, - n = e, - i = t.x, - a = t.y, - o = -1 / 0; - do { - if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { - var s = - n.x + - ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); - if (s <= i && s > o) { - if (((o = s), s === i)) { - if (a === n.y) return n; - if (a === n.next.y) return n.next; - } - r = n.x < n.next.x ? n : n.next; - } - } - n = n.next; - } while (n !== e); - if (!r) return null; - if (i === o) return r.prev; - var l, - c = r, - u = r.x, - f = r.y, - h = 1 / 0; - for (n = r.next; n !== c; ) - (i >= n.x && - n.x >= u && - i !== n.x && - g(a < f ? i : o, a, u, f, a < f ? o : i, a, n.x, n.y) && - ((l = Math.abs(a - n.y) / (i - n.x)) < h || - (l === h && n.x > r.x)) && - b(n, t) && - ((r = n), (h = l)), - (n = n.next)); - return r; - })(t, e)) - ) { - var r = _(e, t); - a(r, r.next); - } - } - function p(t, e, r, n, i) { - return ( - (t = - 1431655765 & - ((t = - 858993459 & - ((t = - 252645135 & - ((t = - 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | - (t << 4))) | - (t << 2))) | - (t << 1))) | - ((e = - 1431655765 & - ((e = - 858993459 & - ((e = - 252645135 & - ((e = - 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | - (e << 4))) | - (e << 2))) | - (e << 1))) << - 1) - ); - } - function d(t) { - var e = t, - r = t; - do { - (e.x < r.x && (r = e), (e = e.next)); - } while (e !== t); - return r; - } - function g(t, e, r, n, i, a, o, s) { - return ( - (i - o) * (e - s) - (t - o) * (a - s) >= 0 && - (t - o) * (n - s) - (r - o) * (e - s) >= 0 && - (r - o) * (a - s) - (i - o) * (n - s) >= 0 - ); - } - function m(t, e) { - return ( - t.next.i !== e.i && - t.prev.i !== e.i && - !(function (t, e) { - var r = t; - do { - if ( - r.i !== t.i && - r.next.i !== t.i && - r.i !== e.i && - r.next.i !== e.i && - x(r, r.next, t, e) - ) - return !0; - r = r.next; - } while (r !== t); - return !1; - })(t, e) && - b(t, e) && - b(e, t) && - (function (t, e) { - var r = t, - n = !1, - i = (t.x + e.x) / 2, - a = (t.y + e.y) / 2; - do { - (r.y > a != r.next.y > a && - r.next.y !== r.y && - i < - ((r.next.x - r.x) * (a - r.y)) / (r.next.y - r.y) + - r.x && - (n = !n), - (r = r.next)); - } while (r !== t); - return n; - })(t, e) - ); - } - function v(t, e, r) { - return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); - } - function y(t, e) { - return t.x === e.x && t.y === e.y; - } - function x(t, e, r, n) { - return ( - !!((y(t, e) && y(r, n)) || (y(t, n) && y(r, e))) || - (v(t, e, r) > 0 != v(t, e, n) > 0 && - v(r, n, t) > 0 != v(r, n, e) > 0) - ); - } - function b(t, e) { - return v(t.prev, t, t.next) < 0 - ? v(t, e, t.next) >= 0 && v(t, t.prev, e) >= 0 - : v(t, e, t.prev) < 0 || v(t, t.next, e) < 0; - } - function _(t, e) { - var r = new M(t.i, t.x, t.y), - n = new M(e.i, e.x, e.y), - i = t.next, - a = e.prev; - return ( - (t.next = e), - (e.prev = t), - (r.next = i), - (i.prev = r), - (n.next = r), - (r.prev = n), - (a.next = n), - (n.prev = a), - n - ); - } - function w(t, e, r, n) { - var i = new M(t, e, r); - return ( - n - ? ((i.next = n.next), - (i.prev = n), - (n.next.prev = i), - (n.next = i)) - : ((i.prev = i), (i.next = i)), - i - ); - } - function k(t) { - ((t.next.prev = t.prev), - (t.prev.next = t.next), - t.prevZ && (t.prevZ.nextZ = t.nextZ), - t.nextZ && (t.nextZ.prevZ = t.prevZ)); - } - function M(t, e, r) { - ((this.i = t), - (this.x = e), - (this.y = r), - (this.prev = null), - (this.next = null), - (this.z = null), - (this.prevZ = null), - (this.nextZ = null), - (this.steiner = !1)); - } - function A(t, e, r, n) { - for (var i = 0, a = e, o = r - n; a < r; a += n) - ((i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a)); - return i; - } - ((e.exports = n), - (e.exports.default = n), - (n.deviation = function (t, e, r, n) { - var i = e && e.length, - a = i ? e[0] * r : t.length, - o = Math.abs(A(t, 0, a, r)); - if (i) - for (var s = 0, l = e.length; s < l; s++) { - var c = e[s] * r, - u = s < l - 1 ? e[s + 1] * r : t.length; - o -= Math.abs(A(t, c, u, r)); - } - var f = 0; - for (s = 0; s < n.length; s += 3) { - var h = n[s] * r, - p = n[s + 1] * r, - d = n[s + 2] * r; - f += Math.abs( - (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - - (t[h] - t[p]) * (t[d + 1] - t[h + 1]), - ); - } - return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); - }), - (n.flatten = function (t) { - for ( - var e = t[0][0].length, - r = { vertices: [], holes: [], dimensions: e }, - n = 0, - i = 0; - i < t.length; - i++ - ) { - for (var a = 0; a < t[i].length; a++) - for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); - i > 0 && ((n += t[i - 1].length), r.holes.push(n)); - } - return r; - })); - }, - {}, - ], - 15: [ - function (t, e, r) { - function n(t, e) { - return function (r) { - return t(r, e); - }; - } - function i(t, e) { - ((e = !!e), (t[0] = a(t[0], e))); - for (var r = 1; r < t.length; r++) t[r] = a(t[r], !e); - return t; - } - function a(t, e) { - return (function (t) { - return o.ring(t) >= 0; - })(t) === e - ? t - : t.reverse(); - } - var o = t("@mapbox/geojson-area"); - e.exports = function t(e, r) { - switch ((e && e.type) || null) { - case "FeatureCollection": - return ((e.features = e.features.map(n(t, r))), e); - case "Feature": - return ((e.geometry = t(e.geometry, r)), e); - case "Polygon": - case "MultiPolygon": - return (function (t, e) { - return ( - "Polygon" === t.type - ? (t.coordinates = i(t.coordinates, e)) - : "MultiPolygon" === t.type && - (t.coordinates = t.coordinates.map(n(i, e))), - t - ); - })(e, r); - default: - return e; - } - }; - }, - { "@mapbox/geojson-area": 1 }, - ], - 16: [ - function (t, e, r) { - function n(t, e, r, n, i) { - for (var a = 0; a < t.length; a += 3) { - var o = t[a + i]; - o >= r && - o <= n && - (e.push(t[a]), e.push(t[a + 1]), e.push(t[a + 2])); - } - } - function i(t, e, r, n, i, a) { - for ( - var c = [], u = 0 === i ? s : l, f = 0; - f < t.length - 3; - f += 3 - ) { - var h = t[f], - p = t[f + 1], - d = t[f + 2], - g = t[f + 3], - m = t[f + 4], - v = 0 === i ? h : p, - y = 0 === i ? g : m, - x = !1; - (v < r - ? y >= r && u(c, h, p, g, m, r) - : v > n - ? y <= n && u(c, h, p, g, m, n) - : o(c, h, p, d), - y < r && v >= r && (u(c, h, p, g, m, r), (x = !0)), - y > n && v <= n && (u(c, h, p, g, m, n), (x = !0)), - !a && x && ((c.size = t.size), e.push(c), (c = []))); - } - var b = t.length - 3; - ((h = t[b]), - (p = t[b + 1]), - (d = t[b + 2]), - (v = 0 === i ? h : p) >= r && v <= n && o(c, h, p, d), - (b = c.length - 3), - a && - b >= 3 && - (c[b] !== c[0] || c[b + 1] !== c[1]) && - o(c, c[0], c[1], c[2]), - c.length && ((c.size = t.size), e.push(c))); - } - function a(t, e, r, n, a, o) { - for (var s = 0; s < t.length; s++) i(t[s], e, r, n, a, o); - } - function o(t, e, r, n) { - (t.push(e), t.push(r), t.push(n)); - } - function s(t, e, r, n, i, a) { - (t.push(a), - t.push(r + ((a - e) * (i - r)) / (n - e)), - t.push(1)); - } - function l(t, e, r, n, i, a) { - (t.push(e + ((a - r) * (n - e)) / (i - r)), - t.push(a), - t.push(1)); - } - e.exports = function (t, e, r, o, s, l, u) { - if (((o /= e), l >= (r /= e) && u <= o)) return t; - if (l > o || u < r) return null; - for (var f = [], h = 0; h < t.length; h++) { - var p = t[h], - d = p.geometry, - g = p.type, - m = 0 === s ? p.minX : p.minY, - v = 0 === s ? p.maxX : p.maxY; - if (m >= r && v <= o) f.push(p); - else if (!(m > o || v < r)) { - var y = []; - if ("Point" === g || "MultiPoint" === g) n(d, y, r, o, s); - else if ("LineString" === g) i(d, y, r, o, s, !1); - else if ("MultiLineString" === g) a(d, y, r, o, s, !1); - else if ("Polygon" === g) a(d, y, r, o, s, !0); - else if ("MultiPolygon" === g) - for (var x = 0; x < d.length; x++) { - var b = []; - (a(d[x], b, r, o, s, !0), b.length && y.push(b)); - } - y.length && - (("LineString" !== g && "MultiLineString" !== g) || - (1 === y.length - ? ((g = "LineString"), (y = y[0])) - : (g = "MultiLineString")), - ("Point" !== g && "MultiPoint" !== g) || - (g = 3 === y.length ? "Point" : "MultiPoint"), - f.push(c(p.id, g, y, p.tags))); - } - } - return f.length ? f : null; - }; - var c = t("./feature"); - }, - { "./feature": 18 }, - ], - 17: [ - function (t, e, r) { - function n(t, e, r) { - if (e.geometry) { - var s = e.geometry.coordinates, - l = e.geometry.type, - c = r * r, - f = []; - if ("Point" === l) i(s, f); - else if ("MultiPoint" === l) - for (var h = 0; h < s.length; h++) i(s[h], f); - else if ("LineString" === l) a(s, f, c, !1); - else if ("MultiLineString" === l) o(s, f, c, !1); - else if ("Polygon" === l) o(s, f, c, !0); - else { - if ("MultiPolygon" !== l) { - if ("GeometryCollection" === l) { - for (h = 0; h < e.geometry.geometries.length; h++) - n( - t, - { - geometry: e.geometry.geometries[h], - properties: e.properties, - }, - r, - ); - return; - } - throw new Error( - "Input data is not a valid GeoJSON object.", - ); - } - for (h = 0; h < s.length; h++) { - var p = []; - (o(s[h], p, c, !0), f.push(p)); - } - } - t.push(u(e.id, l, f, e.properties)); - } - } - function i(t, e) { - (e.push(s(t[0])), e.push(l(t[1])), e.push(0)); - } - function a(t, e, r, n) { - for (var i, a, o = 0, u = 0; u < t.length; u++) { - var f = s(t[u][0]), - h = l(t[u][1]); - (e.push(f), - e.push(h), - e.push(0), - u > 0 && - (o += n - ? (i * h - f * a) / 2 - : Math.sqrt(Math.pow(f - i, 2) + Math.pow(h - a, 2))), - (i = f), - (a = h)); - } - var p = e.length - 3; - ((e[2] = 1), - c(e, 0, p, r), - (e[p + 2] = 1), - (e.size = Math.abs(o))); - } - function o(t, e, r, n) { - for (var i = 0; i < t.length; i++) { - var o = []; - (a(t[i], o, r, n), e.push(o)); - } - } - function s(t) { - return t / 360 + 0.5; - } - function l(t) { - var e = Math.sin((t * Math.PI) / 180), - r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; - return r < 0 ? 0 : r > 1 ? 1 : r; - } - e.exports = function (t, e) { - var r = []; - if ("FeatureCollection" === t.type) - for (var i = 0; i < t.features.length; i++) - n(r, t.features[i], e); - else - "Feature" === t.type ? n(r, t, e) : n(r, { geometry: t }, e); - return r; - }; - var c = t("./simplify"), - u = t("./feature"); - }, - { "./feature": 18, "./simplify": 20 }, - ], - 18: [ - function (t, e, r) { - function n(t, e) { - for (var r = 0; r < e.length; r += 3) - ((t.minX = Math.min(t.minX, e[r])), - (t.minY = Math.min(t.minY, e[r + 1])), - (t.maxX = Math.max(t.maxX, e[r])), - (t.maxY = Math.max(t.maxY, e[r + 1]))); - } - e.exports = function (t, e, r, i) { - var a = { - id: t || null, - type: e, - geometry: r, - tags: i, - minX: 1 / 0, - minY: 1 / 0, - maxX: -1 / 0, - maxY: -1 / 0, - }; - return ( - (function (t) { - var e = t.geometry, - r = t.type; - if ( - "Point" === r || - "MultiPoint" === r || - "LineString" === r - ) - n(t, e); - else if ("Polygon" === r || "MultiLineString" === r) - for (var i = 0; i < e.length; i++) n(t, e[i]); - else if ("MultiPolygon" === r) - for (i = 0; i < e.length; i++) - for (var a = 0; a < e[i].length; a++) n(t, e[i][a]); - })(a), - a - ); - }; - }, - {}, - ], - 19: [ - function (t, e, r) { - function n(t, e) { - var r = (e = this.options = - (function (t, e) { - for (var r in e) t[r] = e[r]; - return t; - })(Object.create(this.options), e)).debug; - if ( - (r && console.time("preprocess data"), - e.maxZoom < 0 || e.maxZoom > 24) - ) - throw new Error("maxZoom should be in the 0-24 range"); - var n = 1 << e.maxZoom, - i = a(t, e.tolerance / (n * e.extent)); - ((this.tiles = {}), - (this.tileCoords = []), - r && - (console.timeEnd("preprocess data"), - console.log( - "index: maxZoom: %d, maxPoints: %d", - e.indexMaxZoom, - e.indexMaxPoints, - ), - console.time("generate tiles"), - (this.stats = {}), - (this.total = 0)), - (i = l(i, e.buffer / e.extent)).length && - this.splitTile(i, 0, 0, 0), - r && - (i.length && - console.log( - "features: %d, points: %d", - this.tiles[0].numFeatures, - this.tiles[0].numPoints, - ), - console.timeEnd("generate tiles"), - console.log( - "tiles generated:", - this.total, - JSON.stringify(this.stats), - ))); - } - function i(t, e, r) { - return 32 * ((1 << t) * r + e) + t; - } - e.exports = function (t, e) { - return new n(t, e); - }; - var a = t("./convert"), - o = t("./transform"), - s = t("./clip"), - l = t("./wrap"), - c = t("./tile"); - ((n.prototype.options = { - maxZoom: 14, - indexMaxZoom: 5, - indexMaxPoints: 1e5, - tolerance: 3, - extent: 4096, - buffer: 64, - debug: 0, - }), - (n.prototype.splitTile = function (t, e, r, n, a, o, l) { - for ( - var u = [t, e, r, n], f = this.options, h = f.debug; - u.length; - - ) { - ((n = u.pop()), - (r = u.pop()), - (e = u.pop()), - (t = u.pop())); - var p = 1 << e, - d = i(e, r, n), - g = this.tiles[d], - m = e === f.maxZoom ? 0 : f.tolerance / (p * f.extent); - if ( - !g && - (h > 1 && console.time("creation"), - (g = this.tiles[d] = c(t, p, r, n, m, e === f.maxZoom)), - this.tileCoords.push({ z: e, x: r, y: n }), - h) - ) { - h > 1 && - (console.log( - "tile z%d-%d-%d (features: %d, points: %d, simplified: %d)", - e, - r, - n, - g.numFeatures, - g.numPoints, - g.numSimplified, - ), - console.timeEnd("creation")); - var v = "z" + e; - ((this.stats[v] = (this.stats[v] || 0) + 1), - this.total++); - } - if (((g.source = t), a)) { - if (e === f.maxZoom || e === a) continue; - var y = 1 << (a - e); - if (r !== Math.floor(o / y) || n !== Math.floor(l / y)) - continue; - } else if ( - e === f.indexMaxZoom || - g.numPoints <= f.indexMaxPoints - ) - continue; - if (((g.source = null), 0 !== t.length)) { - h > 1 && console.time("clipping"); - var x, - b, - _, - w, - k, - M, - A = (0.5 * f.buffer) / f.extent, - T = 0.5 - A, - S = 0.5 + A, - C = 1 + A; - ((x = b = _ = w = null), - (k = s(t, p, r - A, r + S, 0, g.minX, g.maxX)), - (M = s(t, p, r + T, r + C, 0, g.minX, g.maxX)), - (t = null), - k && - ((x = s(k, p, n - A, n + S, 1, g.minY, g.maxY)), - (b = s(k, p, n + T, n + C, 1, g.minY, g.maxY)), - (k = null)), - M && - ((_ = s(M, p, n - A, n + S, 1, g.minY, g.maxY)), - (w = s(M, p, n + T, n + C, 1, g.minY, g.maxY)), - (M = null)), - h > 1 && console.timeEnd("clipping"), - u.push(x || [], e + 1, 2 * r, 2 * n), - u.push(b || [], e + 1, 2 * r, 2 * n + 1), - u.push(_ || [], e + 1, 2 * r + 1, 2 * n), - u.push(w || [], e + 1, 2 * r + 1, 2 * n + 1)); - } - } - }), - (n.prototype.getTile = function (t, e, r) { - var n = this.options, - a = n.extent, - s = n.debug; - if (t < 0 || t > 24) return null; - var l = 1 << t, - c = i(t, (e = ((e % l) + l) % l), r); - if (this.tiles[c]) return o.tile(this.tiles[c], a); - s > 1 && console.log("drilling down to z%d-%d-%d", t, e, r); - for (var u, f = t, h = e, p = r; !u && f > 0; ) - (f--, - (h = Math.floor(h / 2)), - (p = Math.floor(p / 2)), - (u = this.tiles[i(f, h, p)])); - return u && u.source - ? (s > 1 && - console.log("found parent tile z%d-%d-%d", f, h, p), - s > 1 && console.time("drilling down"), - this.splitTile(u.source, f, h, p, t, e, r), - s > 1 && console.timeEnd("drilling down"), - this.tiles[c] ? o.tile(this.tiles[c], a) : null) - : null; - })); - }, - { - "./clip": 16, - "./convert": 17, - "./tile": 21, - "./transform": 22, - "./wrap": 23, - }, - ], - 20: [ - function (t, e, r) { - function n(t, e, r, n, i, a) { - var o = i - r, - s = a - n; - if (0 !== o || 0 !== s) { - var l = ((t - r) * o + (e - n) * s) / (o * o + s * s); - l > 1 - ? ((r = i), (n = a)) - : l > 0 && ((r += o * l), (n += s * l)); - } - return (o = t - r) * o + (s = e - n) * s; - } - e.exports = function t(e, r, i, a) { - for ( - var o, - s = a, - l = e[r], - c = e[r + 1], - u = e[i], - f = e[i + 1], - h = r + 3; - h < i; - h += 3 - ) { - var p = n(e[h], e[h + 1], l, c, u, f); - p > s && ((o = h), (s = p)); - } - s > a && - (o - r > 3 && t(e, r, o, a), - (e[o + 2] = s), - i - o > 3 && t(e, o, i, a)); - }; - }, - {}, - ], - 21: [ - function (t, e, r) { - function n(t, e, r, n) { - var a = e.geometry, - o = e.type, - s = []; - if ("Point" === o || "MultiPoint" === o) - for (var l = 0; l < a.length; l += 3) - (s.push(a[l]), - s.push(a[l + 1]), - t.numPoints++, - t.numSimplified++); - else if ("LineString" === o) i(s, a, t, r, n, !1, !1); - else if ("MultiLineString" === o || "Polygon" === o) - for (l = 0; l < a.length; l++) - i(s, a[l], t, r, n, "Polygon" === o, 0 === l); - else if ("MultiPolygon" === o) - for (var c = 0; c < a.length; c++) { - var u = a[c]; - for (l = 0; l < u.length; l++) - i(s, u[l], t, r, n, !0, 0 === l); - } - if (s.length) { - var f = { - geometry: s, - type: - "Polygon" === o || "MultiPolygon" === o - ? 3 - : "LineString" === o || "MultiLineString" === o - ? 2 - : 1, - tags: e.tags || null, - }; - (null !== e.id && (f.id = e.id), t.features.push(f)); - } - } - function i(t, e, r, n, i, a, o) { - var s = n * n; - if (!i && e.size < (a ? s : n)) r.numPoints += e.length / 3; - else { - for (var l = [], c = 0; c < e.length; c += 3) - ((i || e[c + 2] > s) && - (r.numSimplified++, l.push(e[c]), l.push(e[c + 1])), - r.numPoints++); - (a && - (function (t, e) { - for ( - var r = 0, n = 0, i = t.length, a = i - 2; - n < i; - a = n, n += 2 - ) - r += (t[n] - t[a]) * (t[n + 1] + t[a + 1]); - if (r > 0 === e) - for (n = 0, i = t.length; n < i / 2; n += 2) { - var o = t[n], - s = t[n + 1]; - ((t[n] = t[i - 2 - n]), - (t[n + 1] = t[i - 1 - n]), - (t[i - 2 - n] = o), - (t[i - 1 - n] = s)); - } - })(l, o), - t.push(l)); - } - } - e.exports = function (t, e, r, i, a, o) { - for ( - var s = { - features: [], - numPoints: 0, - numSimplified: 0, - numFeatures: 0, - source: null, - x: r, - y: i, - z2: e, - transformed: !1, - minX: 2, - minY: 1, - maxX: -1, - maxY: 0, - }, - l = 0; - l < t.length; - l++ - ) { - (s.numFeatures++, n(s, t[l], a, o)); - var c = t[l].minX, - u = t[l].minY, - f = t[l].maxX, - h = t[l].maxY; - (c < s.minX && (s.minX = c), - u < s.minY && (s.minY = u), - f > s.maxX && (s.maxX = f), - h > s.maxY && (s.maxY = h)); - } - return s; - }; - }, - {}, - ], - 22: [ - function (t, e, r) { - function n(t, e, r, n, i, a) { - return [ - Math.round(r * (t * n - i)), - Math.round(r * (e * n - a)), - ]; - } - ((r.tile = function (t, e) { - if (t.transformed) return t; - var r, - i, - a, - o = t.z2, - s = t.x, - l = t.y; - for (r = 0; r < t.features.length; r++) { - var c = t.features[r], - u = c.geometry, - f = c.type; - if (((c.geometry = []), 1 === f)) - for (i = 0; i < u.length; i += 2) - c.geometry.push(n(u[i], u[i + 1], e, o, s, l)); - else - for (i = 0; i < u.length; i++) { - var h = []; - for (a = 0; a < u[i].length; a += 2) - h.push(n(u[i][a], u[i][a + 1], e, o, s, l)); - c.geometry.push(h); - } - } - return ((t.transformed = !0), t); - }), - (r.point = n)); - }, - {}, - ], - 23: [ - function (t, e, r) { - function n(t, e) { - for (var r = [], n = 0; n < t.length; n++) { - var a, - s = t[n], - l = s.type; - if ("Point" === l || "MultiPoint" === l || "LineString" === l) - a = i(s.geometry, e); - else if ("MultiLineString" === l || "Polygon" === l) { - a = []; - for (var c = 0; c < s.geometry.length; c++) - a.push(i(s.geometry[c], e)); - } else if ("MultiPolygon" === l) - for (a = [], c = 0; c < s.geometry.length; c++) { - for (var u = [], f = 0; f < s.geometry[c].length; f++) - u.push(i(s.geometry[c][f], e)); - a.push(u); - } - r.push(o(s.id, l, a, s.tags)); - } - return r; - } - function i(t, e) { - var r = []; - r.size = t.size; - for (var n = 0; n < t.length; n += 3) - r.push(t[n] + e, t[n + 1], t[n + 2]); - return r; - } - var a = t("./clip"), - o = t("./feature"); - e.exports = function (t, e) { - var r = t, - i = a(t, 1, -1 - e, e, 0, -1, 2), - o = a(t, 1, 1 - e, 2 + e, 0, -1, 2); - return ( - (i || o) && - ((r = a(t, 1, -e, 1 + e, 0, -1, 2) || []), - i && (r = n(i, 1).concat(r)), - o && (r = r.concat(n(o, -1)))), - r - ); - }; - }, - { "./clip": 16, "./feature": 18 }, - ], - 24: [ - function (t, e, r) { - function n(t, e, r) { - var n = (this.cells = []); - if (t instanceof ArrayBuffer) { - this.arrayBuffer = t; - var a = new Int32Array(this.arrayBuffer); - ((t = a[0]), (e = a[1]), (r = a[2]), (this.d = e + 2 * r)); - for (var o = 0; o < this.d * this.d; o++) { - var s = a[i + o], - l = a[i + o + 1]; - n.push(s === l ? null : a.subarray(s, l)); - } - var c = a[i + n.length], - u = a[i + n.length + 1]; - ((this.keys = a.subarray(c, u)), - (this.bboxes = a.subarray(u)), - (this.insert = this._insertReadonly)); - } else { - this.d = e + 2 * r; - for (var f = 0; f < this.d * this.d; f++) n.push([]); - ((this.keys = []), (this.bboxes = [])); - } - ((this.n = e), - (this.extent = t), - (this.padding = r), - (this.scale = e / t), - (this.uid = 0)); - var h = (r / e) * t; - ((this.min = -h), (this.max = t + h)); - } - e.exports = n; - var i = 3; - ((n.prototype.insert = function (t, e, r, n, i) { - (this._forEachCell(e, r, n, i, this._insertCell, this.uid++), - this.keys.push(t), - this.bboxes.push(e), - this.bboxes.push(r), - this.bboxes.push(n), - this.bboxes.push(i)); - }), - (n.prototype._insertReadonly = function () { - throw "Cannot insert into a GridIndex created from an ArrayBuffer."; - }), - (n.prototype._insertCell = function (t, e, r, n, i, a) { - this.cells[i].push(a); - }), - (n.prototype.query = function (t, e, r, n) { - var i = this.min, - a = this.max; - if (t <= i && e <= i && a <= r && a <= n) - return Array.prototype.slice.call(this.keys); - var o = []; - return ( - this._forEachCell(t, e, r, n, this._queryCell, o, {}), - o - ); - }), - (n.prototype._queryCell = function (t, e, r, n, i, a, o) { - var s = this.cells[i]; - if (null !== s) - for ( - var l = this.keys, c = this.bboxes, u = 0; - u < s.length; - u++ - ) { - var f = s[u]; - if (void 0 === o[f]) { - var h = 4 * f; - t <= c[h + 2] && - e <= c[h + 3] && - r >= c[h + 0] && - n >= c[h + 1] - ? ((o[f] = !0), a.push(l[f])) - : (o[f] = !1); - } - } - }), - (n.prototype._forEachCell = function (t, e, r, n, i, a, o) { - for ( - var s = this._convertToCellCoord(t), - l = this._convertToCellCoord(e), - c = this._convertToCellCoord(r), - u = this._convertToCellCoord(n), - f = s; - f <= c; - f++ - ) - for (var h = l; h <= u; h++) { - var p = this.d * h + f; - if (i.call(this, t, e, r, n, p, a, o)) return; - } - }), - (n.prototype._convertToCellCoord = function (t) { - return Math.max( - 0, - Math.min( - this.d - 1, - Math.floor(t * this.scale) + this.padding, - ), - ); - }), - (n.prototype.toArrayBuffer = function () { - if (this.arrayBuffer) return this.arrayBuffer; - for ( - var t = this.cells, - e = i + this.cells.length + 1 + 1, - r = 0, - n = 0; - n < this.cells.length; - n++ - ) - r += this.cells[n].length; - var a = new Int32Array( - e + r + this.keys.length + this.bboxes.length, - ); - ((a[0] = this.extent), - (a[1] = this.n), - (a[2] = this.padding)); - for (var o = e, s = 0; s < t.length; s++) { - var l = t[s]; - ((a[i + s] = o), a.set(l, o), (o += l.length)); - } - return ( - (a[i + t.length] = o), - a.set(this.keys, o), - (o += this.keys.length), - (a[i + t.length + 1] = o), - a.set(this.bboxes, o), - (o += this.bboxes.length), - a.buffer - ); - })); - }, - {}, - ], - 25: [ - function (t, e, r) { - ((r.read = function (t, e, r, n, i) { - var a, - o, - s = 8 * i - n - 1, - l = (1 << s) - 1, - c = l >> 1, - u = -7, - f = r ? i - 1 : 0, - h = r ? -1 : 1, - p = t[e + f]; - for ( - f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; - u > 0; - a = 256 * a + t[e + f], f += h, u -= 8 - ); - for ( - o = a & ((1 << -u) - 1), a >>= -u, u += n; - u > 0; - o = 256 * o + t[e + f], f += h, u -= 8 - ); - if (0 === a) a = 1 - c; - else { - if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); - ((o += Math.pow(2, n)), (a -= c)); - } - return (p ? -1 : 1) * o * Math.pow(2, a - n); - }), - (r.write = function (t, e, r, n, i, a) { - var o, - s, - l, - c = 8 * a - i - 1, - u = (1 << c) - 1, - f = u >> 1, - h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, - p = n ? 0 : a - 1, - d = n ? 1 : -1, - g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; - for ( - e = Math.abs(e), - isNaN(e) || e === 1 / 0 - ? ((s = isNaN(e) ? 1 : 0), (o = u)) - : ((o = Math.floor(Math.log(e) / Math.LN2)), - e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), - (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * - l >= - 2 && (o++, (l /= 2)), - o + f >= u - ? ((s = 0), (o = u)) - : o + f >= 1 - ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) - : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), - (o = 0))); - i >= 8; - t[r + p] = 255 & s, p += d, s /= 256, i -= 8 - ); - for ( - o = (o << i) | s, c += i; - c > 0; - t[r + p] = 255 & o, p += d, o /= 256, c -= 8 - ); - t[r + p - d] |= 128 * g; - })); - }, - {}, - ], - 26: [ - function (t, e, r) { - function n(t, e, r, n, s) { - ((e = e || i), - (r = r || a), - (s = s || Array), - (this.nodeSize = n || 64), - (this.points = t), - (this.ids = new s(t.length)), - (this.coords = new s(2 * t.length))); - for (var l = 0; l < t.length; l++) - ((this.ids[l] = l), - (this.coords[2 * l] = e(t[l])), - (this.coords[2 * l + 1] = r(t[l]))); - o( - this.ids, - this.coords, - this.nodeSize, - 0, - this.ids.length - 1, - 0, - ); - } - function i(t) { - return t[0]; - } - function a(t) { - return t[1]; - } - var o = t("./sort"), - s = t("./range"), - l = t("./within"); - ((e.exports = function (t, e, r, i, a) { - return new n(t, e, r, i, a); - }), - (n.prototype = { - range: function (t, e, r, n) { - return s(this.ids, this.coords, t, e, r, n, this.nodeSize); - }, - within: function (t, e, r) { - return l(this.ids, this.coords, t, e, r, this.nodeSize); - }, - })); - }, - { "./range": 27, "./sort": 28, "./within": 29 }, - ], - 27: [ - function (t, e, r) { - e.exports = function (t, e, r, n, i, a, o) { - for (var s, l, c = [0, t.length - 1, 0], u = []; c.length; ) { - var f = c.pop(), - h = c.pop(), - p = c.pop(); - if (h - p <= o) - for (var d = p; d <= h; d++) - ((s = e[2 * d]), - (l = e[2 * d + 1]), - s >= r && s <= i && l >= n && l <= a && u.push(t[d])); - else { - var g = Math.floor((p + h) / 2); - ((s = e[2 * g]), - (l = e[2 * g + 1]), - s >= r && s <= i && l >= n && l <= a && u.push(t[g])); - var m = (f + 1) % 2; - ((0 === f ? r <= s : n <= l) && - (c.push(p), c.push(g - 1), c.push(m)), - (0 === f ? i >= s : a >= l) && - (c.push(g + 1), c.push(h), c.push(m))); - } - } - return u; - }; - }, - {}, - ], - 28: [ - function (t, e, r) { - function n(t, e, r, n) { - (i(t, r, n), i(e, 2 * r, 2 * n), i(e, 2 * r + 1, 2 * n + 1)); - } - function i(t, e, r) { - var n = t[e]; - ((t[e] = t[r]), (t[r] = n)); - } - e.exports = function t(e, r, i, a, o, s) { - if (!(o - a <= i)) { - var l = Math.floor((a + o) / 2); - ((function t(e, r, i, a, o, s) { - for (; o > a; ) { - if (o - a > 600) { - var l = o - a + 1, - c = i - a + 1, - u = Math.log(l), - f = 0.5 * Math.exp((2 * u) / 3), - h = - 0.5 * - Math.sqrt((u * f * (l - f)) / l) * - (c - l / 2 < 0 ? -1 : 1); - t( - e, - r, - i, - Math.max(a, Math.floor(i - (c * f) / l + h)), - Math.min(o, Math.floor(i + ((l - c) * f) / l + h)), - s, - ); - } - var p = r[2 * i + s], - d = a, - g = o; - for ( - n(e, r, a, i), r[2 * o + s] > p && n(e, r, a, o); - d < g; - - ) { - for (n(e, r, d, g), d++, g--; r[2 * d + s] < p; ) d++; - for (; r[2 * g + s] > p; ) g--; - } - (r[2 * a + s] === p ? n(e, r, a, g) : n(e, r, ++g, o), - g <= i && (a = g + 1), - i <= g && (o = g - 1)); - } - })(e, r, l, a, o, s % 2), - t(e, r, i, a, l - 1, s + 1), - t(e, r, i, l + 1, o, s + 1)); - } - }; - }, - {}, - ], - 29: [ - function (t, e, r) { - function n(t, e, r, n) { - var i = t - r, - a = e - n; - return i * i + a * a; - } - e.exports = function (t, e, r, i, a, o) { - for ( - var s = [0, t.length - 1, 0], l = [], c = a * a; - s.length; - - ) { - var u = s.pop(), - f = s.pop(), - h = s.pop(); - if (f - h <= o) - for (var p = h; p <= f; p++) - n(e[2 * p], e[2 * p + 1], r, i) <= c && l.push(t[p]); - else { - var d = Math.floor((h + f) / 2), - g = e[2 * d], - m = e[2 * d + 1]; - n(g, m, r, i) <= c && l.push(t[d]); - var v = (u + 1) % 2; - ((0 === u ? r - a <= g : i - a <= m) && - (s.push(h), s.push(d - 1), s.push(v)), - (0 === u ? r + a >= g : i + a >= m) && - (s.push(d + 1), s.push(f), s.push(v))); - } - } - return l; - }; - }, - {}, - ], - 30: [ - function (t, e, r) { - function n(t) { - ((this.buf = - ArrayBuffer.isView && ArrayBuffer.isView(t) - ? t - : new Uint8Array(t || 0)), - (this.pos = 0), - (this.type = 0), - (this.length = this.buf.length)); - } - function i(t) { - return t.type === n.Bytes ? t.readVarint() + t.pos : t.pos + 1; - } - function a(t, e, r) { - return r - ? 4294967296 * e + (t >>> 0) - : 4294967296 * (e >>> 0) + (t >>> 0); - } - function o(t, e, r) { - var n = - e <= 16383 - ? 1 - : e <= 2097151 - ? 2 - : e <= 268435455 - ? 3 - : Math.ceil(Math.log(e) / (7 * Math.LN2)); - r.realloc(n); - for (var i = r.pos - 1; i >= t; i--) r.buf[i + n] = r.buf[i]; - } - function s(t, e) { - for (var r = 0; r < t.length; r++) e.writeVarint(t[r]); - } - function l(t, e) { - for (var r = 0; r < t.length; r++) e.writeSVarint(t[r]); - } - function c(t, e) { - for (var r = 0; r < t.length; r++) e.writeFloat(t[r]); - } - function u(t, e) { - for (var r = 0; r < t.length; r++) e.writeDouble(t[r]); - } - function f(t, e) { - for (var r = 0; r < t.length; r++) e.writeBoolean(t[r]); - } - function h(t, e) { - for (var r = 0; r < t.length; r++) e.writeFixed32(t[r]); - } - function p(t, e) { - for (var r = 0; r < t.length; r++) e.writeSFixed32(t[r]); - } - function d(t, e) { - for (var r = 0; r < t.length; r++) e.writeFixed64(t[r]); - } - function g(t, e) { - for (var r = 0; r < t.length; r++) e.writeSFixed64(t[r]); - } - function m(t, e) { - return ( - (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + - 16777216 * t[e + 3] - ); - } - function v(t, e, r) { - ((t[r] = e), - (t[r + 1] = e >>> 8), - (t[r + 2] = e >>> 16), - (t[r + 3] = e >>> 24)); - } - function y(t, e) { - return ( - (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + (t[e + 3] << 24) - ); - } - e.exports = n; - var x = t("ieee754"); - ((n.Varint = 0), (n.Fixed64 = 1), (n.Bytes = 2), (n.Fixed32 = 5)); - n.prototype = { - destroy: function () { - this.buf = null; - }, - readFields: function (t, e, r) { - for (r = r || this.length; this.pos < r; ) { - var n = this.readVarint(), - i = n >> 3, - a = this.pos; - ((this.type = 7 & n), - t(i, e, this), - this.pos === a && this.skip(n)); - } - return e; - }, - readMessage: function (t, e) { - return this.readFields(t, e, this.readVarint() + this.pos); - }, - readFixed32: function () { - var t = m(this.buf, this.pos); - return ((this.pos += 4), t); - }, - readSFixed32: function () { - var t = y(this.buf, this.pos); - return ((this.pos += 4), t); - }, - readFixed64: function () { - var t = - m(this.buf, this.pos) + - 4294967296 * m(this.buf, this.pos + 4); - return ((this.pos += 8), t); - }, - readSFixed64: function () { - var t = - m(this.buf, this.pos) + - 4294967296 * y(this.buf, this.pos + 4); - return ((this.pos += 8), t); - }, - readFloat: function () { - var t = x.read(this.buf, this.pos, !0, 23, 4); - return ((this.pos += 4), t); - }, - readDouble: function () { - var t = x.read(this.buf, this.pos, !0, 52, 8); - return ((this.pos += 8), t); - }, - readVarint: function (t) { - var e, - r, - n = this.buf; - return ( - (e = 127 & (r = n[this.pos++])), - r < 128 - ? e - : ((e |= (127 & (r = n[this.pos++])) << 7), - r < 128 - ? e - : ((e |= (127 & (r = n[this.pos++])) << 14), - r < 128 - ? e - : ((e |= (127 & (r = n[this.pos++])) << 21), - r < 128 - ? e - : (function (t, e, r) { - var n, - i, - o = r.buf; - if ( - ((n = (112 & (i = o[r.pos++])) >> 4), - i < 128) - ) - return a(t, n, e); - if ( - ((n |= (127 & (i = o[r.pos++])) << 3), - i < 128) - ) - return a(t, n, e); - if ( - ((n |= (127 & (i = o[r.pos++])) << 10), - i < 128) - ) - return a(t, n, e); - if ( - ((n |= (127 & (i = o[r.pos++])) << 17), - i < 128) - ) - return a(t, n, e); - if ( - ((n |= (127 & (i = o[r.pos++])) << 24), - i < 128) - ) - return a(t, n, e); - if ( - ((n |= (1 & (i = o[r.pos++])) << 31), - i < 128) - ) - return a(t, n, e); - throw new Error( - "Expected varint not more than 10 bytes", - ); - })( - (e |= (15 & (r = n[this.pos])) << 28), - t, - this, - )))) - ); - }, - readVarint64: function () { - return this.readVarint(!0); - }, - readSVarint: function () { - var t = this.readVarint(); - return t % 2 == 1 ? (t + 1) / -2 : t / 2; - }, - readBoolean: function () { - return Boolean(this.readVarint()); - }, - readString: function () { - var t = this.readVarint() + this.pos, - e = (function (t, e, r) { - for (var n = "", i = e; i < r; ) { - var a, - o, - s, - l = t[i], - c = null, - u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; - if (i + u > r) break; - (1 === u - ? l < 128 && (c = l) - : 2 === u - ? 128 == (192 & (a = t[i + 1])) && - (c = ((31 & l) << 6) | (63 & a)) <= 127 && - (c = null) - : 3 === u - ? ((a = t[i + 1]), - (o = t[i + 2]), - 128 == (192 & a) && - 128 == (192 & o) && - ((c = - ((15 & l) << 12) | - ((63 & a) << 6) | - (63 & o)) <= 2047 || - (c >= 55296 && c <= 57343)) && - (c = null)) - : 4 === u && - ((a = t[i + 1]), - (o = t[i + 2]), - (s = t[i + 3]), - 128 == (192 & a) && - 128 == (192 & o) && - 128 == (192 & s) && - ((c = - ((15 & l) << 18) | - ((63 & a) << 12) | - ((63 & o) << 6) | - (63 & s)) <= 65535 || - c >= 1114112) && - (c = null)), - null === c - ? ((c = 65533), (u = 1)) - : c > 65535 && - ((c -= 65536), - (n += String.fromCharCode( - ((c >>> 10) & 1023) | 55296, - )), - (c = 56320 | (1023 & c))), - (n += String.fromCharCode(c)), - (i += u)); - } - return n; - })(this.buf, this.pos, t); - return ((this.pos = t), e); - }, - readBytes: function () { - var t = this.readVarint() + this.pos, - e = this.buf.subarray(this.pos, t); - return ((this.pos = t), e); - }, - readPackedVarint: function (t, e) { - var r = i(this); - for (t = t || []; this.pos < r; ) t.push(this.readVarint(e)); - return t; - }, - readPackedSVarint: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readSVarint()); - return t; - }, - readPackedBoolean: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readBoolean()); - return t; - }, - readPackedFloat: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readFloat()); - return t; - }, - readPackedDouble: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readDouble()); - return t; - }, - readPackedFixed32: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readFixed32()); - return t; - }, - readPackedSFixed32: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readSFixed32()); - return t; - }, - readPackedFixed64: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readFixed64()); - return t; - }, - readPackedSFixed64: function (t) { - var e = i(this); - for (t = t || []; this.pos < e; ) t.push(this.readSFixed64()); - return t; - }, - skip: function (t) { - var e = 7 & t; - if (e === n.Varint) for (; this.buf[this.pos++] > 127; ); - else if (e === n.Bytes) - this.pos = this.readVarint() + this.pos; - else if (e === n.Fixed32) this.pos += 4; - else { - if (e !== n.Fixed64) - throw new Error("Unimplemented type: " + e); - this.pos += 8; - } - }, - writeTag: function (t, e) { - this.writeVarint((t << 3) | e); - }, - realloc: function (t) { - for (var e = this.length || 16; e < this.pos + t; ) e *= 2; - if (e !== this.length) { - var r = new Uint8Array(e); - (r.set(this.buf), (this.buf = r), (this.length = e)); - } - }, - finish: function () { - return ( - (this.length = this.pos), - (this.pos = 0), - this.buf.subarray(0, this.length) - ); - }, - writeFixed32: function (t) { - (this.realloc(4), v(this.buf, t, this.pos), (this.pos += 4)); - }, - writeSFixed32: function (t) { - (this.realloc(4), v(this.buf, t, this.pos), (this.pos += 4)); - }, - writeFixed64: function (t) { - (this.realloc(8), - v(this.buf, -1 & t, this.pos), - v(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), - (this.pos += 8)); - }, - writeSFixed64: function (t) { - (this.realloc(8), - v(this.buf, -1 & t, this.pos), - v(this.buf, Math.floor(t * (1 / 4294967296)), this.pos + 4), - (this.pos += 8)); - }, - writeVarint: function (t) { - (t = +t || 0) > 268435455 || t < 0 - ? (function (t, e) { - var r, n; - if ( - (t >= 0 - ? ((r = t % 4294967296 | 0), - (n = (t / 4294967296) | 0)) - : ((n = ~(-t / 4294967296)), - 4294967295 ^ (r = ~(-t % 4294967296)) - ? (r = (r + 1) | 0) - : ((r = 0), (n = (n + 1) | 0))), - t >= 0x10000000000000000 || t < -0x10000000000000000) - ) - throw new Error( - "Given varint doesn't fit into 10 bytes", - ); - (e.realloc(10), - (function (t, e, r) { - ((r.buf[r.pos++] = (127 & t) | 128), - (t >>>= 7), - (r.buf[r.pos++] = (127 & t) | 128), - (t >>>= 7), - (r.buf[r.pos++] = (127 & t) | 128), - (t >>>= 7), - (r.buf[r.pos++] = (127 & t) | 128), - (t >>>= 7), - (r.buf[r.pos] = 127 & t)); - })(r, 0, e), - (function (t, e) { - var r = (7 & t) << 4; - ((e.buf[e.pos++] |= r | ((t >>>= 3) ? 128 : 0)), - t && - ((e.buf[e.pos++] = - (127 & t) | ((t >>>= 7) ? 128 : 0)), - t && - ((e.buf[e.pos++] = - (127 & t) | ((t >>>= 7) ? 128 : 0)), - t && - ((e.buf[e.pos++] = - (127 & t) | ((t >>>= 7) ? 128 : 0)), - t && - ((e.buf[e.pos++] = - (127 & t) | ((t >>>= 7) ? 128 : 0)), - t && (e.buf[e.pos++] = 127 & t)))))); - })(n, e)); - })(t, this) - : (this.realloc(4), - (this.buf[this.pos++] = (127 & t) | (t > 127 ? 128 : 0)), - t <= 127 || - ((this.buf[this.pos++] = - (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), - t <= 127 || - ((this.buf[this.pos++] = - (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), - t <= 127 || - (this.buf[this.pos++] = (t >>> 7) & 127)))); - }, - writeSVarint: function (t) { - this.writeVarint(t < 0 ? 2 * -t - 1 : 2 * t); - }, - writeBoolean: function (t) { - this.writeVarint(Boolean(t)); - }, - writeString: function (t) { - ((t = String(t)), this.realloc(4 * t.length), this.pos++); - var e = this.pos; - this.pos = (function (t, e, r) { - for (var n, i, a = 0; a < e.length; a++) { - if ((n = e.charCodeAt(a)) > 55295 && n < 57344) { - if (!i) { - n > 56319 || a + 1 === e.length - ? ((t[r++] = 239), (t[r++] = 191), (t[r++] = 189)) - : (i = n); - continue; - } - if (n < 56320) { - ((t[r++] = 239), - (t[r++] = 191), - (t[r++] = 189), - (i = n)); - continue; - } - ((n = ((i - 55296) << 10) | (n - 56320) | 65536), - (i = null)); - } else - i && - ((t[r++] = 239), - (t[r++] = 191), - (t[r++] = 189), - (i = null)); - n < 128 - ? (t[r++] = n) - : (n < 2048 - ? (t[r++] = (n >> 6) | 192) - : (n < 65536 - ? (t[r++] = (n >> 12) | 224) - : ((t[r++] = (n >> 18) | 240), - (t[r++] = ((n >> 12) & 63) | 128)), - (t[r++] = ((n >> 6) & 63) | 128)), - (t[r++] = (63 & n) | 128)); - } - return r; - })(this.buf, t, this.pos); - var r = this.pos - e; - (r >= 128 && o(e, r, this), - (this.pos = e - 1), - this.writeVarint(r), - (this.pos += r)); - }, - writeFloat: function (t) { - (this.realloc(4), - x.write(this.buf, t, this.pos, !0, 23, 4), - (this.pos += 4)); - }, - writeDouble: function (t) { - (this.realloc(8), - x.write(this.buf, t, this.pos, !0, 52, 8), - (this.pos += 8)); - }, - writeBytes: function (t) { - var e = t.length; - (this.writeVarint(e), this.realloc(e)); - for (var r = 0; r < e; r++) this.buf[this.pos++] = t[r]; - }, - writeRawMessage: function (t, e) { - this.pos++; - var r = this.pos; - t(e, this); - var n = this.pos - r; - (n >= 128 && o(r, n, this), - (this.pos = r - 1), - this.writeVarint(n), - (this.pos += n)); - }, - writeMessage: function (t, e, r) { - (this.writeTag(t, n.Bytes), this.writeRawMessage(e, r)); - }, - writePackedVarint: function (t, e) { - this.writeMessage(t, s, e); - }, - writePackedSVarint: function (t, e) { - this.writeMessage(t, l, e); - }, - writePackedBoolean: function (t, e) { - this.writeMessage(t, f, e); - }, - writePackedFloat: function (t, e) { - this.writeMessage(t, c, e); - }, - writePackedDouble: function (t, e) { - this.writeMessage(t, u, e); - }, - writePackedFixed32: function (t, e) { - this.writeMessage(t, h, e); - }, - writePackedSFixed32: function (t, e) { - this.writeMessage(t, p, e); - }, - writePackedFixed64: function (t, e) { - this.writeMessage(t, d, e); - }, - writePackedSFixed64: function (t, e) { - this.writeMessage(t, g, e); - }, - writeBytesField: function (t, e) { - (this.writeTag(t, n.Bytes), this.writeBytes(e)); - }, - writeFixed32Field: function (t, e) { - (this.writeTag(t, n.Fixed32), this.writeFixed32(e)); - }, - writeSFixed32Field: function (t, e) { - (this.writeTag(t, n.Fixed32), this.writeSFixed32(e)); - }, - writeFixed64Field: function (t, e) { - (this.writeTag(t, n.Fixed64), this.writeFixed64(e)); - }, - writeSFixed64Field: function (t, e) { - (this.writeTag(t, n.Fixed64), this.writeSFixed64(e)); - }, - writeVarintField: function (t, e) { - (this.writeTag(t, n.Varint), this.writeVarint(e)); - }, - writeSVarintField: function (t, e) { - (this.writeTag(t, n.Varint), this.writeSVarint(e)); - }, - writeStringField: function (t, e) { - (this.writeTag(t, n.Bytes), this.writeString(e)); - }, - writeFloatField: function (t, e) { - (this.writeTag(t, n.Fixed32), this.writeFloat(e)); - }, - writeDoubleField: function (t, e) { - (this.writeTag(t, n.Fixed64), this.writeDouble(e)); - }, - writeBooleanField: function (t, e) { - this.writeVarintField(t, Boolean(e)); - }, - }; - }, - { ieee754: 25 }, - ], - 31: [ - function (t, e, r) { - function n(t, e, r) { - var n = t[e]; - ((t[e] = t[r]), (t[r] = n)); - } - function i(t, e) { - return t < e ? -1 : t > e ? 1 : 0; - } - e.exports = function t(e, r, a, o, s) { - for (a = a || 0, o = o || e.length - 1, s = s || i; o > a; ) { - if (o - a > 600) { - var l = o - a + 1, - c = r - a + 1, - u = Math.log(l), - f = 0.5 * Math.exp((2 * u) / 3), - h = - 0.5 * - Math.sqrt((u * f * (l - f)) / l) * - (c - l / 2 < 0 ? -1 : 1); - t( - e, - r, - Math.max(a, Math.floor(r - (c * f) / l + h)), - Math.min(o, Math.floor(r + ((l - c) * f) / l + h)), - s, - ); - } - var p = e[r], - d = a, - g = o; - for (n(e, a, r), s(e[o], p) > 0 && n(e, a, o); d < g; ) { - for (n(e, d, g), d++, g--; s(e[d], p) < 0; ) d++; - for (; s(e[g], p) > 0; ) g--; - } - (0 === s(e[a], p) ? n(e, a, g) : n(e, ++g, o), - g <= r && (a = g + 1), - r <= g && (o = g - 1)); - } - }; - }, - {}, - ], - 32: [ - function (t, e, r) { - function n(t) { - ((this.options = u(Object.create(this.options), t)), - (this.trees = new Array(this.options.maxZoom + 1))); - } - function i(t, e, r, n, i) { - return { - x: t, - y: e, - zoom: 1 / 0, - id: n, - properties: i, - parentId: -1, - numPoints: r, - }; - } - function a(t, e) { - var r = t.geometry.coordinates; - return { - x: l(r[0]), - y: c(r[1]), - zoom: 1 / 0, - id: e, - parentId: -1, - }; - } - function o(t) { - return { - type: "Feature", - properties: s(t), - geometry: { - type: "Point", - coordinates: [ - (function (t) { - return 360 * (t - 0.5); - })(t.x), - (function (t) { - var e = ((180 - 360 * t) * Math.PI) / 180; - return (360 * Math.atan(Math.exp(e))) / Math.PI - 90; - })(t.y), - ], - }, - }; - } - function s(t) { - var e = t.numPoints, - r = - e >= 1e4 - ? Math.round(e / 1e3) + "k" - : e >= 1e3 - ? Math.round(e / 100) / 10 + "k" - : e; - return u(u({}, t.properties), { - cluster: !0, - cluster_id: t.id, - point_count: e, - point_count_abbreviated: r, - }); - } - function l(t) { - return t / 360 + 0.5; - } - function c(t) { - var e = Math.sin((t * Math.PI) / 180), - r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; - return r < 0 ? 0 : r > 1 ? 1 : r; - } - function u(t, e) { - for (var r in e) t[r] = e[r]; - return t; - } - function f(t) { - return t.x; - } - function h(t) { - return t.y; - } - var p = t("kdbush"); - ((e.exports = function (t) { - return new n(t); - }), - (n.prototype = { - options: { - minZoom: 0, - maxZoom: 16, - radius: 40, - extent: 512, - nodeSize: 64, - log: !1, - reduce: null, - initial: function () { - return {}; - }, - map: function (t) { - return t; - }, - }, - load: function (t) { - var e = this.options.log; - e && console.time("total time"); - var r = "prepare " + t.length + " points"; - (e && console.time(r), (this.points = t)); - var n = t.map(a); - e && console.timeEnd(r); - for ( - var i = this.options.maxZoom; - i >= this.options.minZoom; - i-- - ) { - var o = +Date.now(); - ((this.trees[i + 1] = p( - n, - f, - h, - this.options.nodeSize, - Float32Array, - )), - (n = this._cluster(n, i)), - e && - console.log( - "z%d: %d clusters in %dms", - i, - n.length, - +Date.now() - o, - )); - } - return ( - (this.trees[this.options.minZoom] = p( - n, - f, - h, - this.options.nodeSize, - Float32Array, - )), - e && console.timeEnd("total time"), - this - ); - }, - getClusters: function (t, e) { - for ( - var r = this.trees[this._limitZoom(e)], - n = r.range(l(t[0]), c(t[3]), l(t[2]), c(t[1])), - i = [], - a = 0; - a < n.length; - a++ - ) { - var s = r.points[n[a]]; - i.push(s.numPoints ? o(s) : this.points[s.id]); - } - return i; - }, - getChildren: function (t, e) { - for ( - var r = this.trees[e + 1].points[t], - n = - this.options.radius / - (this.options.extent * Math.pow(2, e)), - i = this.trees[e + 1].within(r.x, r.y, n), - a = [], - s = 0; - s < i.length; - s++ - ) { - var l = this.trees[e + 1].points[i[s]]; - l.parentId === t && - a.push(l.numPoints ? o(l) : this.points[l.id]); - } - return a; - }, - getLeaves: function (t, e, r, n) { - ((r = r || 10), (n = n || 0)); - var i = []; - return (this._appendLeaves(i, t, e, r, n, 0), i); - }, - getTile: function (t, e, r) { - var n = this.trees[this._limitZoom(t)], - i = Math.pow(2, t), - a = this.options.extent, - o = this.options.radius / a, - s = (r - o) / i, - l = (r + 1 + o) / i, - c = { features: [] }; - return ( - this._addTileFeatures( - n.range((e - o) / i, s, (e + 1 + o) / i, l), - n.points, - e, - r, - i, - c, - ), - 0 === e && - this._addTileFeatures( - n.range(1 - o / i, s, 1, l), - n.points, - i, - r, - i, - c, - ), - e === i - 1 && - this._addTileFeatures( - n.range(0, s, o / i, l), - n.points, - -1, - r, - i, - c, - ), - c.features.length ? c : null - ); - }, - getClusterExpansionZoom: function (t, e) { - for (; e < this.options.maxZoom; ) { - var r = this.getChildren(t, e); - if ((e++, 1 !== r.length)) break; - t = r[0].properties.cluster_id; - } - return e; - }, - _appendLeaves: function (t, e, r, n, i, a) { - for ( - var o = this.getChildren(e, r), s = 0; - s < o.length; - s++ - ) { - var l = o[s].properties; - if ( - (l.cluster - ? a + l.point_count <= i - ? (a += l.point_count) - : (a = this._appendLeaves( - t, - l.cluster_id, - r + 1, - n, - i, - a, - )) - : a < i - ? a++ - : t.push(o[s]), - t.length === n) - ) - break; - } - return a; - }, - _addTileFeatures: function (t, e, r, n, i, a) { - for (var o = 0; o < t.length; o++) { - var l = e[t[o]]; - a.features.push({ - type: 1, - geometry: [ - [ - Math.round(this.options.extent * (l.x * i - r)), - Math.round(this.options.extent * (l.y * i - n)), - ], - ], - tags: l.numPoints ? s(l) : this.points[l.id].properties, - }); - } - }, - _limitZoom: function (t) { - return Math.max( - this.options.minZoom, - Math.min(t, this.options.maxZoom + 1), - ); - }, - _cluster: function (t, e) { - for ( - var r = [], - n = - this.options.radius / - (this.options.extent * Math.pow(2, e)), - a = 0; - a < t.length; - a++ - ) { - var o = t[a]; - if (!(o.zoom <= e)) { - o.zoom = e; - var s = this.trees[e + 1], - l = s.within(o.x, o.y, n), - c = o.numPoints || 1, - u = o.x * c, - f = o.y * c, - h = null; - this.options.reduce && - ((h = this.options.initial()), - this._accumulate(h, o)); - for (var p = 0; p < l.length; p++) { - var d = s.points[l[p]]; - if (e < d.zoom) { - var g = d.numPoints || 1; - ((d.zoom = e), - (u += d.x * g), - (f += d.y * g), - (c += g), - (d.parentId = a), - this.options.reduce && this._accumulate(h, d)); - } - } - 1 === c - ? r.push(o) - : ((o.parentId = a), - r.push(i(u / c, f / c, c, a, h))); - } - } - return r; - }, - _accumulate: function (t, e) { - var r = e.numPoints - ? e.properties - : this.options.map(this.points[e.id].properties); - this.options.reduce(t, r); - }, - })); - }, - { kdbush: 26 }, - ], - 33: [ - function (t, e, r) { - function n(t, e) { - if (!(this instanceof n)) return new n(t, e); - if ( - ((this.data = t || []), - (this.length = this.data.length), - (this.compare = e || i), - this.length > 0) - ) - for (var r = this.length >> 1; r >= 0; r--) this._down(r); - } - function i(t, e) { - return t < e ? -1 : t > e ? 1 : 0; - } - ((e.exports = n), - (n.prototype = { - push: function (t) { - (this.data.push(t), - this.length++, - this._up(this.length - 1)); - }, - pop: function () { - if (0 !== this.length) { - var t = this.data[0]; - return ( - this.length--, - this.length > 0 && - ((this.data[0] = this.data[this.length]), - this._down(0)), - this.data.pop(), - t - ); - } - }, - peek: function () { - return this.data[0]; - }, - _up: function (t) { - for ( - var e = this.data, r = this.compare, n = e[t]; - t > 0; - - ) { - var i = (t - 1) >> 1, - a = e[i]; - if (r(n, a) >= 0) break; - ((e[t] = a), (t = i)); - } - e[t] = n; - }, - _down: function (t) { - for ( - var e = this.data, - r = this.compare, - n = this.length, - i = n >> 1, - a = e[t]; - t < i; - - ) { - var o = 1 + (t << 1), - s = o + 1, - l = e[o]; - if ( - (s < n && r(e[s], l) < 0 && ((o = s), (l = e[s])), - r(l, a) >= 0) - ) - break; - ((e[t] = l), (t = o)); - } - e[t] = a; - }, - })); - }, - {}, - ], - 34: [ - function (t, e, r) { - function n(t) { - var e = new f(); - return ( - (function (t, e) { - for (var r in t.layers) e.writeMessage(3, i, t.layers[r]); - })(t, e), - e.finish() - ); - } - function i(t, e) { - (e.writeVarintField(15, t.version || 1), - e.writeStringField(1, t.name || ""), - e.writeVarintField(5, t.extent || 4096)); - var r, - n = { keys: [], values: [], keycache: {}, valuecache: {} }; - for (r = 0; r < t.length; r++) - ((n.feature = t.feature(r)), e.writeMessage(2, a, n)); - var i = n.keys; - for (r = 0; r < i.length; r++) e.writeStringField(3, i[r]); - var o = n.values; - for (r = 0; r < o.length; r++) e.writeMessage(4, u, o[r]); - } - function a(t, e) { - var r = t.feature; - (void 0 !== r.id && e.writeVarintField(1, r.id), - e.writeMessage(2, o, t), - e.writeVarintField(3, r.type), - e.writeMessage(4, c, r)); - } - function o(t, e) { - var r = t.feature, - n = t.keys, - i = t.values, - a = t.keycache, - o = t.valuecache; - for (var s in r.properties) { - var l = a[s]; - (void 0 === l && (n.push(s), (l = n.length - 1), (a[s] = l)), - e.writeVarint(l)); - var c = r.properties[s], - u = typeof c; - "string" !== u && - "boolean" !== u && - "number" !== u && - (c = JSON.stringify(c)); - var f = u + ":" + c, - h = o[f]; - (void 0 === h && (i.push(c), (h = i.length - 1), (o[f] = h)), - e.writeVarint(h)); - } - } - function s(t, e) { - return (e << 3) + (7 & t); - } - function l(t) { - return (t << 1) ^ (t >> 31); - } - function c(t, e) { - for ( - var r = t.loadGeometry(), - n = t.type, - i = 0, - a = 0, - o = r.length, - c = 0; - c < o; - c++ - ) { - var u = r[c], - f = 1; - (1 === n && (f = u.length), e.writeVarint(s(1, f))); - for (var h = 0; h < u.length; h++) { - 1 === h && 1 !== n && e.writeVarint(s(2, u.length - 1)); - var p = u[h].x - i, - d = u[h].y - a; - (e.writeVarint(l(p)), - e.writeVarint(l(d)), - (i += p), - (a += d)); - } - } - } - function u(t, e) { - var r = typeof t; - "string" === r - ? e.writeStringField(1, t) - : "boolean" === r - ? e.writeBooleanField(7, t) - : "number" === r && - (t % 1 != 0 - ? e.writeDoubleField(3, t) - : t < 0 - ? e.writeSVarintField(6, t) - : e.writeVarintField(5, t)); - } - var f = t("pbf"), - h = t("./lib/geojson_wrapper"); - ((e.exports = n), - (e.exports.fromVectorTileJs = n), - (e.exports.fromGeojsonVt = function (t) { - var e = {}; - for (var r in t) - ((e[r] = new h(t[r].features)), (e[r].name = r)); - return n({ layers: e }); - }), - (e.exports.GeoJSONWrapper = h)); - }, - { "./lib/geojson_wrapper": 35, pbf: 30 }, - ], - 35: [ - function (t, e, r) { - function n(t) { - ((this.features = t), (this.length = t.length)); - } - function i(t) { - ((this.id = "number" == typeof t.id ? t.id : void 0), - (this.type = t.type), - (this.rawGeometry = 1 === t.type ? [t.geometry] : t.geometry), - (this.properties = t.tags), - (this.extent = 4096)); - } - var a = t("@mapbox/point-geometry"), - o = t("@mapbox/vector-tile").VectorTileFeature; - ((e.exports = n), - (n.prototype.feature = function (t) { - return new i(this.features[t]); - }), - (i.prototype.loadGeometry = function () { - var t = this.rawGeometry; - this.geometry = []; - for (var e = 0; e < t.length; e++) { - for (var r = t[e], n = [], i = 0; i < r.length; i++) - n.push(new a(r[i][0], r[i][1])); - this.geometry.push(n); - } - return this.geometry; - }), - (i.prototype.bbox = function () { - this.geometry || this.loadGeometry(); - for ( - var t = this.geometry, - e = 1 / 0, - r = -1 / 0, - n = 1 / 0, - i = -1 / 0, - a = 0; - a < t.length; - a++ - ) - for (var o = t[a], s = 0; s < o.length; s++) { - var l = o[s]; - ((e = Math.min(e, l.x)), - (r = Math.max(r, l.x)), - (n = Math.min(n, l.y)), - (i = Math.max(i, l.y))); - } - return [e, n, r, i]; - }), - (i.prototype.toGeoJSON = o.prototype.toGeoJSON)); - }, - { "@mapbox/point-geometry": 4, "@mapbox/vector-tile": 8 }, - ], - 36: [ - function (t, e, r) { - var n = arguments[3], - i = arguments[4], - a = arguments[5], - o = JSON.stringify; - e.exports = function (t, e) { - for ( - var r, s = Object.keys(a), l = 0, c = s.length; - l < c; - l++ - ) { - var u = s[l], - f = a[u].exports; - if (f === t || (f && f.default === t)) { - r = u; - break; - } - } - if (!r) { - r = Math.floor(Math.pow(16, 8) * Math.random()).toString(16); - var h = {}; - for (l = 0, c = s.length; l < c; l++) { - h[(u = s[l])] = u; - } - i[r] = [ - "function(require,module,exports){" + t + "(self); }", - h, - ]; - } - var p = Math.floor(Math.pow(16, 8) * Math.random()).toString( - 16, - ), - d = {}; - ((d[r] = r), - (i[p] = [ - "function(require,module,exports){var f = require(" + - o(r) + - ");(f.default ? f.default : f)(self);}", - d, - ])); - var g = {}; - !(function t(e) { - for (var r in ((g[e] = !0), i[e][1])) { - var n = i[e][1][r]; - g[n] || t(n); - } - })(p); - var m = - "(" + - n + - ")({" + - Object.keys(g) - .map(function (t) { - return o(t) + ":[" + i[t][0] + "," + o(i[t][1]) + "]"; - }) - .join(",") + - "},{},[" + - o(p) + - "])", - v = - window.URL || - window.webkitURL || - window.mozURL || - window.msURL, - y = new Blob([m], { type: "text/javascript" }); - if (e && e.bare) return y; - var x = v.createObjectURL(y), - b = new Worker(x); - return ((b.objectURL = x), b); - }; - }, - {}, - ], - 37: [ - function (t, e, r) { - ((e.exports.RADIUS = 6378137), - (e.exports.FLATTENING = 1 / 298.257223563), - (e.exports.POLAR_RADIUS = 6356752.3142)); - }, - {}, - ], - 38: [ - function (t, e, r) { - e.exports = { version: "0.44.1" }; - }, - {}, - ], - 39: [ - function (t, e, r) { - var n = t("../util/struct_array").StructArray, - i = t("../util/struct_array").Struct, - a = t("../util/web_worker_transfer").register, - o = t("@mapbox/point-geometry"), - s = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e) { - var r = this.length; - this.resize(r + 1); - var n = 2 * r; - return ( - (this.int16[n + 0] = t), - (this.int16[n + 1] = e), - r - ); - }), - e - ); - })(n); - ((s.prototype.bytesPerElement = 4), a("StructArrayLayout2i4", s)); - var l = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n) { - var i = this.length; - this.resize(i + 1); - var a = 4 * i; - return ( - (this.int16[a + 0] = t), - (this.int16[a + 1] = e), - (this.int16[a + 2] = r), - (this.int16[a + 3] = n), - i - ); - }), - e - ); - })(n); - ((l.prototype.bytesPerElement = 8), a("StructArrayLayout4i8", l)); - var c = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n, i, a) { - var o = this.length; - this.resize(o + 1); - var s = 6 * o; - return ( - (this.int16[s + 0] = t), - (this.int16[s + 1] = e), - (this.int16[s + 2] = r), - (this.int16[s + 3] = n), - (this.int16[s + 4] = i), - (this.int16[s + 5] = a), - o - ); - }), - e - ); - })(n); - ((c.prototype.bytesPerElement = 12), - a("StructArrayLayout2i4i12", c)); - var u = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n, i, a, o, s) { - var l = this.length; - this.resize(l + 1); - var c = 6 * l, - u = 12 * l; - return ( - (this.int16[c + 0] = t), - (this.int16[c + 1] = e), - (this.int16[c + 2] = r), - (this.int16[c + 3] = n), - (this.uint8[u + 8] = i), - (this.uint8[u + 9] = a), - (this.uint8[u + 10] = o), - (this.uint8[u + 11] = s), - l - ); - }), - e - ); - })(n); - ((u.prototype.bytesPerElement = 12), - a("StructArrayLayout4i4ub12", u)); - var f = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n, i, a, o, s) { - var l = this.length; - this.resize(l + 1); - var c = 8 * l; - return ( - (this.int16[c + 0] = t), - (this.int16[c + 1] = e), - (this.int16[c + 2] = r), - (this.int16[c + 3] = n), - (this.uint16[c + 4] = i), - (this.uint16[c + 5] = a), - (this.uint16[c + 6] = o), - (this.uint16[c + 7] = s), - l - ); - }), - e - ); - })(n); - ((f.prototype.bytesPerElement = 16), - a("StructArrayLayout4i4ui16", f)); - var h = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.float32 = new Float32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r) { - var n = this.length; - this.resize(n + 1); - var i = 3 * n; - return ( - (this.float32[i + 0] = t), - (this.float32[i + 1] = e), - (this.float32[i + 2] = r), - n - ); - }), - e - ); - })(n); - ((h.prototype.bytesPerElement = 12), - a("StructArrayLayout3f12", h)); - var p = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.uint32 = new Uint32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t) { - var e = this.length; - this.resize(e + 1); - var r = 1 * e; - return ((this.uint32[r + 0] = t), e); - }), - e - ); - })(n); - ((p.prototype.bytesPerElement = 4), - a("StructArrayLayout1ul4", p)); - var d = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer)), - (this.uint32 = new Uint32Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function ( - t, - e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - ) { - var f = this.length; - this.resize(f + 1); - var h = 12 * f, - p = 6 * f; - return ( - (this.int16[h + 0] = t), - (this.int16[h + 1] = e), - (this.int16[h + 2] = r), - (this.int16[h + 3] = n), - (this.int16[h + 4] = i), - (this.int16[h + 5] = a), - (this.uint32[p + 3] = o), - (this.uint16[h + 8] = s), - (this.uint16[h + 9] = l), - (this.int16[h + 10] = c), - (this.int16[h + 11] = u), - f - ); - }), - e - ); - })(n); - ((d.prototype.bytesPerElement = 24), - a("StructArrayLayout6i1ul2ui2i24", d)); - var g = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n, i, a) { - var o = this.length; - this.resize(o + 1); - var s = 6 * o; - return ( - (this.int16[s + 0] = t), - (this.int16[s + 1] = e), - (this.int16[s + 2] = r), - (this.int16[s + 3] = n), - (this.int16[s + 4] = i), - (this.int16[s + 5] = a), - o - ); - }), - e - ); - })(n); - ((g.prototype.bytesPerElement = 12), - a("StructArrayLayout2i2i2i12", g)); - var m = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - this.uint8 = new Uint8Array(this.arrayBuffer); - }), - (e.prototype.emplaceBack = function (t, e) { - var r = this.length; - this.resize(r + 1); - var n = 4 * r; - return ( - (this.uint8[n + 0] = t), - (this.uint8[n + 1] = e), - r - ); - }), - e - ); - })(n); - ((m.prototype.bytesPerElement = 4), - a("StructArrayLayout2ub4", m)); - var v = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer)), - (this.uint32 = new Uint32Array(this.arrayBuffer)), - (this.float32 = new Float32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function ( - t, - e, - r, - n, - i, - a, - o, - s, - l, - c, - u, - f, - h, - p, - ) { - var d = this.length; - this.resize(d + 1); - var g = 20 * d, - m = 10 * d, - v = 40 * d; - return ( - (this.int16[g + 0] = t), - (this.int16[g + 1] = e), - (this.uint16[g + 2] = r), - (this.uint16[g + 3] = n), - (this.uint32[m + 2] = i), - (this.uint32[m + 3] = a), - (this.uint32[m + 4] = o), - (this.uint16[g + 10] = s), - (this.uint16[g + 11] = l), - (this.uint16[g + 12] = c), - (this.float32[m + 7] = u), - (this.float32[m + 8] = f), - (this.uint8[v + 36] = h), - (this.uint8[v + 37] = p), - d - ); - }), - e - ); - })(n); - ((v.prototype.bytesPerElement = 40), - a("StructArrayLayout2i2ui3ul3ui2f2ub40", v)); - var y = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.float32 = new Float32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t) { - var e = this.length; - this.resize(e + 1); - var r = 1 * e; - return ((this.float32[r + 0] = t), e); - }), - e - ); - })(n); - ((y.prototype.bytesPerElement = 4), a("StructArrayLayout1f4", y)); - var x = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.int16 = new Int16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r) { - var n = this.length; - this.resize(n + 1); - var i = 3 * n; - return ( - (this.int16[i + 0] = t), - (this.int16[i + 1] = e), - (this.int16[i + 2] = r), - n - ); - }), - e - ); - })(n); - ((x.prototype.bytesPerElement = 6), a("StructArrayLayout3i6", x)); - var b = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.uint32 = new Uint32Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r) { - var n = this.length; - this.resize(n + 1); - var i = 2 * n, - a = 4 * n; - return ( - (this.uint32[i + 0] = t), - (this.uint16[a + 2] = e), - (this.uint16[a + 3] = r), - n - ); - }), - e - ); - })(n); - ((b.prototype.bytesPerElement = 8), - a("StructArrayLayout1ul2ui8", b)); - var _ = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r) { - var n = this.length; - this.resize(n + 1); - var i = 3 * n; - return ( - (this.uint16[i + 0] = t), - (this.uint16[i + 1] = e), - (this.uint16[i + 2] = r), - n - ); - }), - e - ); - })(n); - ((_.prototype.bytesPerElement = 6), - a("StructArrayLayout3ui6", _)); - var w = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.uint16 = new Uint16Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e) { - var r = this.length; - this.resize(r + 1); - var n = 2 * r; - return ( - (this.uint16[n + 0] = t), - (this.uint16[n + 1] = e), - r - ); - }), - e - ); - })(n); - ((w.prototype.bytesPerElement = 4), - a("StructArrayLayout2ui4", w)); - var k = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.float32 = new Float32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e) { - var r = this.length; - this.resize(r + 1); - var n = 2 * r; - return ( - (this.float32[n + 0] = t), - (this.float32[n + 1] = e), - r - ); - }), - e - ); - })(n); - ((k.prototype.bytesPerElement = 8), a("StructArrayLayout2f8", k)); - var M = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype._refreshViews = function () { - ((this.uint8 = new Uint8Array(this.arrayBuffer)), - (this.float32 = new Float32Array(this.arrayBuffer))); - }), - (e.prototype.emplaceBack = function (t, e, r, n) { - var i = this.length; - this.resize(i + 1); - var a = 4 * i; - return ( - (this.float32[a + 0] = t), - (this.float32[a + 1] = e), - (this.float32[a + 2] = r), - (this.float32[a + 3] = n), - i - ); - }), - e - ); - })(n); - ((M.prototype.bytesPerElement = 16), - a("StructArrayLayout4f16", M)); - var A = (function (t) { - function e() { - t.apply(this, arguments); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { - anchorPointX: {}, - anchorPointY: {}, - x1: {}, - y1: {}, - x2: {}, - y2: {}, - featureIndex: {}, - sourceLayerIndex: {}, - bucketIndex: {}, - radius: {}, - signedDistanceFromAnchor: {}, - anchorPoint: {}, - }; - return ( - (r.anchorPointX.get = function () { - return this._structArray.int16[this._pos2 + 0]; - }), - (r.anchorPointX.set = function (t) { - this._structArray.int16[this._pos2 + 0] = t; - }), - (r.anchorPointY.get = function () { - return this._structArray.int16[this._pos2 + 1]; - }), - (r.anchorPointY.set = function (t) { - this._structArray.int16[this._pos2 + 1] = t; - }), - (r.x1.get = function () { - return this._structArray.int16[this._pos2 + 2]; - }), - (r.x1.set = function (t) { - this._structArray.int16[this._pos2 + 2] = t; - }), - (r.y1.get = function () { - return this._structArray.int16[this._pos2 + 3]; - }), - (r.y1.set = function (t) { - this._structArray.int16[this._pos2 + 3] = t; - }), - (r.x2.get = function () { - return this._structArray.int16[this._pos2 + 4]; - }), - (r.x2.set = function (t) { - this._structArray.int16[this._pos2 + 4] = t; - }), - (r.y2.get = function () { - return this._structArray.int16[this._pos2 + 5]; - }), - (r.y2.set = function (t) { - this._structArray.int16[this._pos2 + 5] = t; - }), - (r.featureIndex.get = function () { - return this._structArray.uint32[this._pos4 + 3]; - }), - (r.featureIndex.set = function (t) { - this._structArray.uint32[this._pos4 + 3] = t; - }), - (r.sourceLayerIndex.get = function () { - return this._structArray.uint16[this._pos2 + 8]; - }), - (r.sourceLayerIndex.set = function (t) { - this._structArray.uint16[this._pos2 + 8] = t; - }), - (r.bucketIndex.get = function () { - return this._structArray.uint16[this._pos2 + 9]; - }), - (r.bucketIndex.set = function (t) { - this._structArray.uint16[this._pos2 + 9] = t; - }), - (r.radius.get = function () { - return this._structArray.int16[this._pos2 + 10]; - }), - (r.radius.set = function (t) { - this._structArray.int16[this._pos2 + 10] = t; - }), - (r.signedDistanceFromAnchor.get = function () { - return this._structArray.int16[this._pos2 + 11]; - }), - (r.signedDistanceFromAnchor.set = function (t) { - this._structArray.int16[this._pos2 + 11] = t; - }), - (r.anchorPoint.get = function () { - return new o(this.anchorPointX, this.anchorPointY); - }), - Object.defineProperties(e.prototype, r), - e - ); - })(i); - A.prototype.size = 24; - var T = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.get = function (t) { - return new A(this, t); - }), - e - ); - })(d); - a("CollisionBoxArray", T); - var S = (function (t) { - function e() { - t.apply(this, arguments); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { - anchorX: {}, - anchorY: {}, - glyphStartIndex: {}, - numGlyphs: {}, - vertexStartIndex: {}, - lineStartIndex: {}, - lineLength: {}, - segment: {}, - lowerSize: {}, - upperSize: {}, - lineOffsetX: {}, - lineOffsetY: {}, - writingMode: {}, - hidden: {}, - }; - return ( - (r.anchorX.get = function () { - return this._structArray.int16[this._pos2 + 0]; - }), - (r.anchorX.set = function (t) { - this._structArray.int16[this._pos2 + 0] = t; - }), - (r.anchorY.get = function () { - return this._structArray.int16[this._pos2 + 1]; - }), - (r.anchorY.set = function (t) { - this._structArray.int16[this._pos2 + 1] = t; - }), - (r.glyphStartIndex.get = function () { - return this._structArray.uint16[this._pos2 + 2]; - }), - (r.glyphStartIndex.set = function (t) { - this._structArray.uint16[this._pos2 + 2] = t; - }), - (r.numGlyphs.get = function () { - return this._structArray.uint16[this._pos2 + 3]; - }), - (r.numGlyphs.set = function (t) { - this._structArray.uint16[this._pos2 + 3] = t; - }), - (r.vertexStartIndex.get = function () { - return this._structArray.uint32[this._pos4 + 2]; - }), - (r.vertexStartIndex.set = function (t) { - this._structArray.uint32[this._pos4 + 2] = t; - }), - (r.lineStartIndex.get = function () { - return this._structArray.uint32[this._pos4 + 3]; - }), - (r.lineStartIndex.set = function (t) { - this._structArray.uint32[this._pos4 + 3] = t; - }), - (r.lineLength.get = function () { - return this._structArray.uint32[this._pos4 + 4]; - }), - (r.lineLength.set = function (t) { - this._structArray.uint32[this._pos4 + 4] = t; - }), - (r.segment.get = function () { - return this._structArray.uint16[this._pos2 + 10]; - }), - (r.segment.set = function (t) { - this._structArray.uint16[this._pos2 + 10] = t; - }), - (r.lowerSize.get = function () { - return this._structArray.uint16[this._pos2 + 11]; - }), - (r.lowerSize.set = function (t) { - this._structArray.uint16[this._pos2 + 11] = t; - }), - (r.upperSize.get = function () { - return this._structArray.uint16[this._pos2 + 12]; - }), - (r.upperSize.set = function (t) { - this._structArray.uint16[this._pos2 + 12] = t; - }), - (r.lineOffsetX.get = function () { - return this._structArray.float32[this._pos4 + 7]; - }), - (r.lineOffsetX.set = function (t) { - this._structArray.float32[this._pos4 + 7] = t; - }), - (r.lineOffsetY.get = function () { - return this._structArray.float32[this._pos4 + 8]; - }), - (r.lineOffsetY.set = function (t) { - this._structArray.float32[this._pos4 + 8] = t; - }), - (r.writingMode.get = function () { - return this._structArray.uint8[this._pos1 + 36]; - }), - (r.writingMode.set = function (t) { - this._structArray.uint8[this._pos1 + 36] = t; - }), - (r.hidden.get = function () { - return this._structArray.uint8[this._pos1 + 37]; - }), - (r.hidden.set = function (t) { - this._structArray.uint8[this._pos1 + 37] = t; - }), - Object.defineProperties(e.prototype, r), - e - ); - })(i); - S.prototype.size = 40; - var C = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.get = function (t) { - return new S(this, t); - }), - e - ); - })(v); - a("PlacedSymbolArray", C); - var E = (function (t) { - function e() { - t.apply(this, arguments); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { offsetX: {} }; - return ( - (r.offsetX.get = function () { - return this._structArray.float32[this._pos4 + 0]; - }), - (r.offsetX.set = function (t) { - this._structArray.float32[this._pos4 + 0] = t; - }), - Object.defineProperties(e.prototype, r), - e - ); - })(i); - E.prototype.size = 4; - var L = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.getoffsetX = function (t) { - return this.float32[1 * t + 0]; - }), - (e.prototype.get = function (t) { - return new E(this, t); - }), - e - ); - })(y); - a("GlyphOffsetArray", L); - var z = (function (t) { - function e() { - t.apply(this, arguments); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { x: {}, y: {}, tileUnitDistanceFromAnchor: {} }; - return ( - (r.x.get = function () { - return this._structArray.int16[this._pos2 + 0]; - }), - (r.x.set = function (t) { - this._structArray.int16[this._pos2 + 0] = t; - }), - (r.y.get = function () { - return this._structArray.int16[this._pos2 + 1]; - }), - (r.y.set = function (t) { - this._structArray.int16[this._pos2 + 1] = t; - }), - (r.tileUnitDistanceFromAnchor.get = function () { - return this._structArray.int16[this._pos2 + 2]; - }), - (r.tileUnitDistanceFromAnchor.set = function (t) { - this._structArray.int16[this._pos2 + 2] = t; - }), - Object.defineProperties(e.prototype, r), - e - ); - })(i); - z.prototype.size = 6; - var P = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.getx = function (t) { - return this.int16[3 * t + 0]; - }), - (e.prototype.gety = function (t) { - return this.int16[3 * t + 1]; - }), - (e.prototype.gettileUnitDistanceFromAnchor = function (t) { - return this.int16[3 * t + 2]; - }), - (e.prototype.get = function (t) { - return new z(this, t); - }), - e - ); - })(x); - a("SymbolLineVertexArray", P); - var D = (function (t) { - function e() { - t.apply(this, arguments); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { - featureIndex: {}, - sourceLayerIndex: {}, - bucketIndex: {}, - }; - return ( - (r.featureIndex.get = function () { - return this._structArray.uint32[this._pos4 + 0]; - }), - (r.featureIndex.set = function (t) { - this._structArray.uint32[this._pos4 + 0] = t; - }), - (r.sourceLayerIndex.get = function () { - return this._structArray.uint16[this._pos2 + 2]; - }), - (r.sourceLayerIndex.set = function (t) { - this._structArray.uint16[this._pos2 + 2] = t; - }), - (r.bucketIndex.get = function () { - return this._structArray.uint16[this._pos2 + 3]; - }), - (r.bucketIndex.set = function (t) { - this._structArray.uint16[this._pos2 + 3] = t; - }), - Object.defineProperties(e.prototype, r), - e - ); - })(i); - D.prototype.size = 8; - var O = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.get = function (t) { - return new D(this, t); - }), - e - ); - })(b); - (a("FeatureIndexArray", O), - (e.exports = { - StructArrayLayout2i4: s, - StructArrayLayout4i8: l, - StructArrayLayout2i4i12: c, - StructArrayLayout4i4ub12: u, - StructArrayLayout4i4ui16: f, - StructArrayLayout3f12: h, - StructArrayLayout1ul4: p, - StructArrayLayout6i1ul2ui2i24: d, - StructArrayLayout2i2i2i12: g, - StructArrayLayout2ub4: m, - StructArrayLayout2i2ui3ul3ui2f2ub40: v, - StructArrayLayout1f4: y, - StructArrayLayout3i6: x, - StructArrayLayout1ul2ui8: b, - StructArrayLayout3ui6: _, - StructArrayLayout2ui4: w, - StructArrayLayout2f8: k, - StructArrayLayout4f16: M, - PosArray: s, - RasterBoundsArray: l, - CircleLayoutArray: s, - FillLayoutArray: s, - FillExtrusionLayoutArray: c, - HeatmapLayoutArray: s, - LineLayoutArray: u, - SymbolLayoutArray: f, - SymbolDynamicLayoutArray: h, - SymbolOpacityArray: p, - CollisionBoxLayoutArray: g, - CollisionCircleLayoutArray: g, - CollisionVertexArray: m, - TriangleIndexArray: _, - LineIndexArray: w, - CollisionBoxArray: T, - PlacedSymbolArray: C, - GlyphOffsetArray: L, - SymbolLineVertexArray: P, - FeatureIndexArray: O, - })); - }, - { - "../util/struct_array": 271, - "../util/web_worker_transfer": 278, - "@mapbox/point-geometry": 4, - }, - ], - 40: [ - function (t, e, r) { - e.exports = { - deserialize: function (t, e) { - var r = {}; - if (!e) return r; - for (var n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.layerIds - .map(function (t) { - return e.getLayer(t); - }) - .filter(Boolean); - if (0 !== o.length) { - a.layers = o; - for (var s = 0, l = o; s < l.length; s += 1) - r[l[s].id] = a; - } - } - return r; - }, - }; - }, - {}, - ], - 41: [ - function (t, e, r) { - var n = t("../../util/struct_array").createLayout; - e.exports = n( - [{ name: "a_pos", components: 2, type: "Int16" }], - 4, - ); - }, - { "../../util/struct_array": 271 }, - ], - 42: [ - function (t, e, r) { - function n(t, e, r, n, i) { - t.emplaceBack(2 * e + (n + 1) / 2, 2 * r + (i + 1) / 2); - } - var i = t("../array_types").CircleLayoutArray, - a = t("./circle_attributes").members, - o = t("../segment").SegmentVector, - s = t("../program_configuration").ProgramConfigurationSet, - l = t("../index_array_type").TriangleIndexArray, - c = t("../load_geometry"), - u = t("../extent"), - f = t("../../util/web_worker_transfer").register, - h = function (t) { - ((this.zoom = t.zoom), - (this.overscaling = t.overscaling), - (this.layers = t.layers), - (this.layerIds = this.layers.map(function (t) { - return t.id; - })), - (this.index = t.index), - (this.layoutVertexArray = new i()), - (this.indexArray = new l()), - (this.segments = new o()), - (this.programConfigurations = new s(a, t.layers, t.zoom))); - }; - ((h.prototype.populate = function (t, e) { - for (var r = this, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.feature, - s = a.index, - l = a.sourceLayerIndex; - if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { - var u = c(o); - (r.addFeature(o, u), - e.featureIndex.insert(o, u, s, l, r.index)); - } - } - }), - (h.prototype.isEmpty = function () { - return 0 === this.layoutVertexArray.length; - }), - (h.prototype.upload = function (t) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - a, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray)), - this.programConfigurations.upload(t)); - }), - (h.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.programConfigurations.destroy(), - this.segments.destroy()); - }), - (h.prototype.addFeature = function (t, e) { - for (var r = this, i = 0, a = e; i < a.length; i += 1) - for (var o = 0, s = a[i]; o < s.length; o += 1) { - var l = s[o], - c = l.x, - f = l.y; - if (!(c < 0 || c >= u || f < 0 || f >= u)) { - var h = r.segments.prepareSegment( - 4, - r.layoutVertexArray, - r.indexArray, - ), - p = h.vertexLength; - (n(r.layoutVertexArray, c, f, -1, -1), - n(r.layoutVertexArray, c, f, 1, -1), - n(r.layoutVertexArray, c, f, 1, 1), - n(r.layoutVertexArray, c, f, -1, 1), - r.indexArray.emplaceBack(p, p + 1, p + 2), - r.indexArray.emplaceBack(p, p + 3, p + 2), - (h.vertexLength += 4), - (h.primitiveLength += 2)); - } - } - this.programConfigurations.populatePaintArrays( - this.layoutVertexArray.length, - t, - ); - }), - f("CircleBucket", h, { omit: ["layers"] }), - (e.exports = h)); - }, - { - "../../util/web_worker_transfer": 278, - "../array_types": 39, - "../extent": 53, - "../index_array_type": 55, - "../load_geometry": 56, - "../program_configuration": 58, - "../segment": 60, - "./circle_attributes": 41, - }, - ], - 43: [ - function (t, e, r) { - arguments[4][41][0].apply(r, arguments); - }, - { "../../util/struct_array": 271, dup: 41 }, - ], - 44: [ - function (t, e, r) { - var n = t("../array_types").FillLayoutArray, - i = t("./fill_attributes").members, - a = t("../segment").SegmentVector, - o = t("../program_configuration").ProgramConfigurationSet, - s = t("../index_array_type"), - l = s.LineIndexArray, - c = s.TriangleIndexArray, - u = t("../load_geometry"), - f = t("earcut"), - h = t("../../util/classify_rings"), - p = t("../../util/web_worker_transfer").register, - d = function (t) { - ((this.zoom = t.zoom), - (this.overscaling = t.overscaling), - (this.layers = t.layers), - (this.layerIds = this.layers.map(function (t) { - return t.id; - })), - (this.index = t.index), - (this.layoutVertexArray = new n()), - (this.indexArray = new c()), - (this.indexArray2 = new l()), - (this.programConfigurations = new o(i, t.layers, t.zoom)), - (this.segments = new a()), - (this.segments2 = new a())); - }; - ((d.prototype.populate = function (t, e) { - for (var r = this, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.feature, - s = a.index, - l = a.sourceLayerIndex; - if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { - var c = u(o); - (r.addFeature(o, c), - e.featureIndex.insert(o, c, s, l, r.index)); - } - } - }), - (d.prototype.isEmpty = function () { - return 0 === this.layoutVertexArray.length; - }), - (d.prototype.upload = function (t) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - i, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray)), - (this.indexBuffer2 = t.createIndexBuffer(this.indexArray2)), - this.programConfigurations.upload(t)); - }), - (d.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.indexBuffer2.destroy(), - this.programConfigurations.destroy(), - this.segments.destroy(), - this.segments2.destroy()); - }), - (d.prototype.addFeature = function (t, e) { - for ( - var r = this, n = 0, i = h(e, 500); - n < i.length; - n += 1 - ) { - for ( - var a = i[n], o = 0, s = 0, l = a; - s < l.length; - s += 1 - ) - o += l[s].length; - for ( - var c = r.segments.prepareSegment( - o, - r.layoutVertexArray, - r.indexArray, - ), - u = c.vertexLength, - p = [], - d = [], - g = 0, - m = a; - g < m.length; - g += 1 - ) { - var v = m[g]; - if (0 !== v.length) { - v !== a[0] && d.push(p.length / 2); - var y = r.segments2.prepareSegment( - v.length, - r.layoutVertexArray, - r.indexArray2, - ), - x = y.vertexLength; - (r.layoutVertexArray.emplaceBack(v[0].x, v[0].y), - r.indexArray2.emplaceBack(x + v.length - 1, x), - p.push(v[0].x), - p.push(v[0].y)); - for (var b = 1; b < v.length; b++) - (r.layoutVertexArray.emplaceBack(v[b].x, v[b].y), - r.indexArray2.emplaceBack(x + b - 1, x + b), - p.push(v[b].x), - p.push(v[b].y)); - ((y.vertexLength += v.length), - (y.primitiveLength += v.length)); - } - } - for (var _ = f(p, d), w = 0; w < _.length; w += 3) - r.indexArray.emplaceBack( - u + _[w], - u + _[w + 1], - u + _[w + 2], - ); - ((c.vertexLength += o), - (c.primitiveLength += _.length / 3)); - } - this.programConfigurations.populatePaintArrays( - this.layoutVertexArray.length, - t, - ); - }), - p("FillBucket", d, { omit: ["layers"] }), - (e.exports = d)); - }, - { - "../../util/classify_rings": 255, - "../../util/web_worker_transfer": 278, - "../array_types": 39, - "../index_array_type": 55, - "../load_geometry": 56, - "../program_configuration": 58, - "../segment": 60, - "./fill_attributes": 43, - earcut: 14, - }, - ], - 45: [ - function (t, e, r) { - var n = t("../../util/struct_array").createLayout; - e.exports = n( - [ - { name: "a_pos", components: 2, type: "Int16" }, - { name: "a_normal_ed", components: 4, type: "Int16" }, - ], - 4, - ); - }, - { "../../util/struct_array": 271 }, - ], - 46: [ - function (t, e, r) { - function n(t, e, r, n, i, a, o, s) { - t.emplaceBack( - e, - r, - 2 * Math.floor(n * y) + o, - i * y * 2, - a * y * 2, - Math.round(s), - ); - } - function i(t, e) { - return ( - (t.x === e.x && (t.x < 0 || t.x > d)) || - (t.y === e.y && (t.y < 0 || t.y > d)) - ); - } - function a(t) { - return ( - t.every(function (t) { - return t.x < 0; - }) || - t.every(function (t) { - return t.x > d; - }) || - t.every(function (t) { - return t.y < 0; - }) || - t.every(function (t) { - return t.y > d; - }) - ); - } - var o = t("../array_types").FillExtrusionLayoutArray, - s = t("./fill_extrusion_attributes").members, - l = t("../segment"), - c = l.SegmentVector, - u = l.MAX_VERTEX_ARRAY_LENGTH, - f = t("../program_configuration").ProgramConfigurationSet, - h = t("../index_array_type").TriangleIndexArray, - p = t("../load_geometry"), - d = t("../extent"), - g = t("earcut"), - m = t("../../util/classify_rings"), - v = t("../../util/web_worker_transfer").register, - y = Math.pow(2, 13), - x = function (t) { - ((this.zoom = t.zoom), - (this.overscaling = t.overscaling), - (this.layers = t.layers), - (this.layerIds = this.layers.map(function (t) { - return t.id; - })), - (this.index = t.index), - (this.layoutVertexArray = new o()), - (this.indexArray = new h()), - (this.programConfigurations = new f(s, t.layers, t.zoom)), - (this.segments = new c())); - }; - ((x.prototype.populate = function (t, e) { - for (var r = this, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.feature, - s = a.index, - l = a.sourceLayerIndex; - if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { - var c = p(o); - (r.addFeature(o, c), - e.featureIndex.insert(o, c, s, l, r.index)); - } - } - }), - (x.prototype.isEmpty = function () { - return 0 === this.layoutVertexArray.length; - }), - (x.prototype.upload = function (t) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - s, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray)), - this.programConfigurations.upload(t)); - }), - (x.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.programConfigurations.destroy(), - this.segments.destroy()); - }), - (x.prototype.addFeature = function (t, e) { - for ( - var r = this, o = 0, s = m(e, 500); - o < s.length; - o += 1 - ) { - for ( - var l = s[o], c = 0, f = 0, h = l; - f < h.length; - f += 1 - ) - c += h[f].length; - for ( - var p = r.segments.prepareSegment( - 4, - r.layoutVertexArray, - r.indexArray, - ), - d = 0, - v = l; - d < v.length; - d += 1 - ) { - var y = v[d]; - if (0 !== y.length && !a(y)) - for (var x = 0, b = 0; b < y.length; b++) { - var _ = y[b]; - if (b >= 1) { - var w = y[b - 1]; - if (!i(_, w)) { - p.vertexLength + 4 > u && - (p = r.segments.prepareSegment( - 4, - r.layoutVertexArray, - r.indexArray, - )); - var k = _.sub(w)._perp()._unit(), - M = w.dist(_); - (x + M > 32768 && (x = 0), - n( - r.layoutVertexArray, - _.x, - _.y, - k.x, - k.y, - 0, - 0, - x, - ), - n( - r.layoutVertexArray, - _.x, - _.y, - k.x, - k.y, - 0, - 1, - x, - ), - (x += M), - n( - r.layoutVertexArray, - w.x, - w.y, - k.x, - k.y, - 0, - 0, - x, - ), - n( - r.layoutVertexArray, - w.x, - w.y, - k.x, - k.y, - 0, - 1, - x, - )); - var A = p.vertexLength; - (r.indexArray.emplaceBack(A, A + 1, A + 2), - r.indexArray.emplaceBack(A + 1, A + 2, A + 3), - (p.vertexLength += 4), - (p.primitiveLength += 2)); - } - } - } - } - p.vertexLength + c > u && - (p = r.segments.prepareSegment( - c, - r.layoutVertexArray, - r.indexArray, - )); - for ( - var T = [], S = [], C = p.vertexLength, E = 0, L = l; - E < L.length; - E += 1 - ) { - var z = L[E]; - if (0 !== z.length) { - z !== l[0] && S.push(T.length / 2); - for (var P = 0; P < z.length; P++) { - var D = z[P]; - (n(r.layoutVertexArray, D.x, D.y, 0, 0, 1, 1, 0), - T.push(D.x), - T.push(D.y)); - } - } - } - for (var O = g(T, S), I = 0; I < O.length; I += 3) - r.indexArray.emplaceBack( - C + O[I], - C + O[I + 1], - C + O[I + 2], - ); - ((p.primitiveLength += O.length / 3), - (p.vertexLength += c)); - } - this.programConfigurations.populatePaintArrays( - this.layoutVertexArray.length, - t, - ); - }), - v("FillExtrusionBucket", x, { omit: ["layers"] }), - (e.exports = x)); - }, - { - "../../util/classify_rings": 255, - "../../util/web_worker_transfer": 278, - "../array_types": 39, - "../extent": 53, - "../index_array_type": 55, - "../load_geometry": 56, - "../program_configuration": 58, - "../segment": 60, - "./fill_extrusion_attributes": 45, - earcut: 14, - }, - ], - 47: [ - function (t, e, r) { - var n = t("./circle_bucket"), - i = t("../../util/web_worker_transfer").register, - a = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - e - ); - })(n); - (i("HeatmapBucket", a, { omit: ["layers"] }), (e.exports = a)); - }, - { "../../util/web_worker_transfer": 278, "./circle_bucket": 42 }, - ], - 48: [ - function (t, e, r) { - var n = t("../../util/struct_array").createLayout; - e.exports = n( - [ - { name: "a_pos_normal", components: 4, type: "Int16" }, - { name: "a_data", components: 4, type: "Uint8" }, - ], - 4, - ); - }, - { "../../util/struct_array": 271 }, - ], - 49: [ - function (t, e, r) { - function n(t, e, r, n, i, a, o) { - t.emplaceBack( - e.x, - e.y, - n ? 1 : 0, - i ? 1 : -1, - Math.round(p * r.x) + 128, - Math.round(p * r.y) + 128, - (1 + (0 === a ? 0 : a < 0 ? -1 : 1)) | (((o * g) & 63) << 2), - (o * g) >> 6, - ); - } - var i = t("../array_types").LineLayoutArray, - a = t("./line_attributes").members, - o = t("../segment").SegmentVector, - s = t("../program_configuration").ProgramConfigurationSet, - l = t("../index_array_type").TriangleIndexArray, - c = t("../load_geometry"), - u = t("../extent"), - f = t("@mapbox/vector-tile").VectorTileFeature.types, - h = t("../../util/web_worker_transfer").register, - p = 63, - d = Math.cos((Math.PI / 180) * 37.5), - g = 0.5, - m = Math.pow(2, 14) / g, - v = function (t) { - ((this.zoom = t.zoom), - (this.overscaling = t.overscaling), - (this.layers = t.layers), - (this.layerIds = this.layers.map(function (t) { - return t.id; - })), - (this.index = t.index), - (this.layoutVertexArray = new i()), - (this.indexArray = new l()), - (this.programConfigurations = new s(a, t.layers, t.zoom)), - (this.segments = new o())); - }; - ((v.prototype.populate = function (t, e) { - for (var r = this, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.feature, - s = a.index, - l = a.sourceLayerIndex; - if (r.layers[0]._featureFilter({ zoom: r.zoom }, o)) { - var u = c(o); - (r.addFeature(o, u), - e.featureIndex.insert(o, u, s, l, r.index)); - } - } - }), - (v.prototype.isEmpty = function () { - return 0 === this.layoutVertexArray.length; - }), - (v.prototype.upload = function (t) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - a, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray)), - this.programConfigurations.upload(t)); - }), - (v.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.programConfigurations.destroy(), - this.segments.destroy()); - }), - (v.prototype.addFeature = function (t, e) { - for ( - var r = this.layers[0].layout, - n = r.get("line-join").evaluate(t), - i = r.get("line-cap"), - a = r.get("line-miter-limit"), - o = r.get("line-round-limit"), - s = 0, - l = e; - s < l.length; - s += 1 - ) { - var c = l[s]; - this.addLine(c, t, n, i, a, o); - } - }), - (v.prototype.addLine = function (t, e, r, n, i, a) { - for ( - var o = this, s = "Polygon" === f[e.type], l = t.length; - l >= 2 && t[l - 1].equals(t[l - 2]); - - ) - l--; - for (var c = 0; c < l - 1 && t[c].equals(t[c + 1]); ) c++; - if (!(l < (s ? 3 : 2))) { - "bevel" === r && (i = 1.05); - var h = (u / (512 * this.overscaling)) * 15, - p = t[c], - g = this.segments.prepareSegment( - 10 * l, - this.layoutVertexArray, - this.indexArray, - ); - this.distance = 0; - var m, - v, - y, - x = n, - b = s ? "butt" : n, - _ = !0, - w = void 0, - k = void 0, - M = void 0, - A = void 0; - ((this.e1 = this.e2 = this.e3 = -1), - s && ((m = t[l - 2]), (A = p.sub(m)._unit()._perp()))); - for (var T = c; T < l; T++) - if ( - !(k = s && T === l - 1 ? t[c + 1] : t[T + 1]) || - !t[T].equals(k) - ) { - (A && (M = A), - m && (w = m), - (m = t[T]), - (A = k ? k.sub(m)._unit()._perp() : M)); - var S = (M = M || A).add(A); - (0 === S.x && 0 === S.y) || S._unit(); - var C = S.x * A.x + S.y * A.y, - E = 0 !== C ? 1 / C : 1 / 0, - L = C < d && w && k; - if (L && T > c) { - var z = m.dist(w); - if (z > 2 * h) { - var P = m.sub( - m - .sub(w) - ._mult(h / z) - ._round(), - ); - ((o.distance += P.dist(w)), - o.addCurrentVertex( - P, - o.distance, - M.mult(1), - 0, - 0, - !1, - g, - ), - (w = P)); - } - } - var D = w && k, - O = D ? r : k ? x : b; - if ( - (D && - "round" === O && - (E < a - ? (O = "miter") - : E <= 2 && (O = "fakeround")), - "miter" === O && E > i && (O = "bevel"), - "bevel" === O && - (E > 2 && (O = "flipbevel"), - E < i && (O = "miter")), - w && (o.distance += m.dist(w)), - "miter" === O) - ) - (S._mult(E), - o.addCurrentVertex(m, o.distance, S, 0, 0, !1, g)); - else if ("flipbevel" === O) { - if (E > 100) S = A.clone().mult(-1); - else { - var I = M.x * A.y - M.y * A.x > 0 ? -1 : 1, - R = (E * M.add(A).mag()) / M.sub(A).mag(); - S._perp()._mult(R * I); - } - (o.addCurrentVertex(m, o.distance, S, 0, 0, !1, g), - o.addCurrentVertex( - m, - o.distance, - S.mult(-1), - 0, - 0, - !1, - g, - )); - } else if ("bevel" === O || "fakeround" === O) { - var B = M.x * A.y - M.y * A.x > 0, - F = -Math.sqrt(E * E - 1); - if ( - (B ? ((y = 0), (v = F)) : ((v = 0), (y = F)), - _ || - o.addCurrentVertex(m, o.distance, M, v, y, !1, g), - "fakeround" === O) - ) { - for ( - var N = Math.floor(8 * (0.5 - (C - 0.5))), - j = void 0, - V = 0; - V < N; - V++ - ) - ((j = A.mult((V + 1) / (N + 1)) - ._add(M) - ._unit()), - o.addPieSliceVertex(m, o.distance, j, B, g)); - o.addPieSliceVertex(m, o.distance, S, B, g); - for (var U = N - 1; U >= 0; U--) - ((j = M.mult((U + 1) / (N + 1)) - ._add(A) - ._unit()), - o.addPieSliceVertex(m, o.distance, j, B, g)); - } - k && - o.addCurrentVertex(m, o.distance, A, -v, -y, !1, g); - } else - "butt" === O - ? (_ || - o.addCurrentVertex( - m, - o.distance, - M, - 0, - 0, - !1, - g, - ), - k && - o.addCurrentVertex( - m, - o.distance, - A, - 0, - 0, - !1, - g, - )) - : "square" === O - ? (_ || - (o.addCurrentVertex( - m, - o.distance, - M, - 1, - 1, - !1, - g, - ), - (o.e1 = o.e2 = -1)), - k && - o.addCurrentVertex( - m, - o.distance, - A, - -1, - -1, - !1, - g, - )) - : "round" === O && - (_ || - (o.addCurrentVertex( - m, - o.distance, - M, - 0, - 0, - !1, - g, - ), - o.addCurrentVertex( - m, - o.distance, - M, - 1, - 1, - !0, - g, - ), - (o.e1 = o.e2 = -1)), - k && - (o.addCurrentVertex( - m, - o.distance, - A, - -1, - -1, - !0, - g, - ), - o.addCurrentVertex( - m, - o.distance, - A, - 0, - 0, - !1, - g, - ))); - if (L && T < l - 1) { - var q = m.dist(k); - if (q > 2 * h) { - var H = m.add( - k - .sub(m) - ._mult(h / q) - ._round(), - ); - ((o.distance += H.dist(m)), - o.addCurrentVertex( - H, - o.distance, - A.mult(1), - 0, - 0, - !1, - g, - ), - (m = H)); - } - } - _ = !1; - } - this.programConfigurations.populatePaintArrays( - this.layoutVertexArray.length, - e, - ); - } - }), - (v.prototype.addCurrentVertex = function (t, e, r, i, a, o, s) { - var l, - c = this.layoutVertexArray, - u = this.indexArray; - ((l = r.clone()), - i && l._sub(r.perp()._mult(i)), - n(c, t, l, o, !1, i, e), - (this.e3 = s.vertexLength++), - this.e1 >= 0 && - this.e2 >= 0 && - (u.emplaceBack(this.e1, this.e2, this.e3), - s.primitiveLength++), - (this.e1 = this.e2), - (this.e2 = this.e3), - (l = r.mult(-1)), - a && l._sub(r.perp()._mult(a)), - n(c, t, l, o, !0, -a, e), - (this.e3 = s.vertexLength++), - this.e1 >= 0 && - this.e2 >= 0 && - (u.emplaceBack(this.e1, this.e2, this.e3), - s.primitiveLength++), - (this.e1 = this.e2), - (this.e2 = this.e3), - e > m / 2 && - ((this.distance = 0), - this.addCurrentVertex(t, this.distance, r, i, a, o, s))); - }), - (v.prototype.addPieSliceVertex = function (t, e, r, i, a) { - r = r.mult(i ? -1 : 1); - var o = this.layoutVertexArray, - s = this.indexArray; - (n(o, t, r, !1, i, 0, e), - (this.e3 = a.vertexLength++), - this.e1 >= 0 && - this.e2 >= 0 && - (s.emplaceBack(this.e1, this.e2, this.e3), - a.primitiveLength++), - i ? (this.e2 = this.e3) : (this.e1 = this.e3)); - }), - h("LineBucket", v, { omit: ["layers"] }), - (e.exports = v)); - }, - { - "../../util/web_worker_transfer": 278, - "../array_types": 39, - "../extent": 53, - "../index_array_type": 55, - "../load_geometry": 56, - "../program_configuration": 58, - "../segment": 60, - "./line_attributes": 48, - "@mapbox/vector-tile": 8, - }, - ], - 50: [ - function (t, e, r) { - var n = t("../../util/struct_array").createLayout, - i = { - symbolLayoutAttributes: n([ - { name: "a_pos_offset", components: 4, type: "Int16" }, - { name: "a_data", components: 4, type: "Uint16" }, - ]), - dynamicLayoutAttributes: n( - [ - { - name: "a_projected_pos", - components: 3, - type: "Float32", - }, - ], - 4, - ), - placementOpacityAttributes: n( - [{ name: "a_fade_opacity", components: 1, type: "Uint32" }], - 4, - ), - collisionVertexAttributes: n( - [{ name: "a_placed", components: 2, type: "Uint8" }], - 4, - ), - collisionBox: n([ - { type: "Int16", name: "anchorPointX" }, - { type: "Int16", name: "anchorPointY" }, - { type: "Int16", name: "x1" }, - { type: "Int16", name: "y1" }, - { type: "Int16", name: "x2" }, - { type: "Int16", name: "y2" }, - { type: "Uint32", name: "featureIndex" }, - { type: "Uint16", name: "sourceLayerIndex" }, - { type: "Uint16", name: "bucketIndex" }, - { type: "Int16", name: "radius" }, - { type: "Int16", name: "signedDistanceFromAnchor" }, - ]), - collisionBoxLayout: n( - [ - { name: "a_pos", components: 2, type: "Int16" }, - { name: "a_anchor_pos", components: 2, type: "Int16" }, - { name: "a_extrude", components: 2, type: "Int16" }, - ], - 4, - ), - collisionCircleLayout: n( - [ - { name: "a_pos", components: 2, type: "Int16" }, - { name: "a_anchor_pos", components: 2, type: "Int16" }, - { name: "a_extrude", components: 2, type: "Int16" }, - ], - 4, - ), - placement: n([ - { type: "Int16", name: "anchorX" }, - { type: "Int16", name: "anchorY" }, - { type: "Uint16", name: "glyphStartIndex" }, - { type: "Uint16", name: "numGlyphs" }, - { type: "Uint32", name: "vertexStartIndex" }, - { type: "Uint32", name: "lineStartIndex" }, - { type: "Uint32", name: "lineLength" }, - { type: "Uint16", name: "segment" }, - { type: "Uint16", name: "lowerSize" }, - { type: "Uint16", name: "upperSize" }, - { type: "Float32", name: "lineOffsetX" }, - { type: "Float32", name: "lineOffsetY" }, - { type: "Uint8", name: "writingMode" }, - { type: "Uint8", name: "hidden" }, - ]), - glyphOffset: n([{ type: "Float32", name: "offsetX" }]), - lineVertex: n([ - { type: "Int16", name: "x" }, - { type: "Int16", name: "y" }, - { type: "Int16", name: "tileUnitDistanceFromAnchor" }, - ]), - }; - e.exports = i; - }, - { "../../util/struct_array": 271 }, - ], - 51: [ - function (t, e, r) { - function n(t, e, r, n, i, a, o, s) { - t.emplaceBack( - e, - r, - Math.round(64 * n), - Math.round(64 * i), - a, - o, - s ? s[0] : 0, - s ? s[1] : 0, - ); - } - function i(t, e, r) { - (t.emplaceBack(e.x, e.y, r), - t.emplaceBack(e.x, e.y, r), - t.emplaceBack(e.x, e.y, r), - t.emplaceBack(e.x, e.y, r)); - } - var a = t("./symbol_attributes"), - o = a.symbolLayoutAttributes, - s = a.collisionVertexAttributes, - l = a.collisionBoxLayout, - c = a.collisionCircleLayout, - u = a.dynamicLayoutAttributes, - f = t("../array_types"), - h = f.SymbolLayoutArray, - p = f.SymbolDynamicLayoutArray, - d = f.SymbolOpacityArray, - g = f.CollisionBoxLayoutArray, - m = f.CollisionCircleLayoutArray, - v = f.CollisionVertexArray, - y = f.PlacedSymbolArray, - x = f.GlyphOffsetArray, - b = f.SymbolLineVertexArray, - _ = t("@mapbox/point-geometry"), - w = t("../segment").SegmentVector, - k = t("../program_configuration").ProgramConfigurationSet, - M = t("../index_array_type"), - A = M.TriangleIndexArray, - T = M.LineIndexArray, - S = t("../../symbol/transform_text"), - C = t("../../symbol/mergelines"), - E = t("../../util/script_detection"), - L = t("../load_geometry"), - z = t("@mapbox/vector-tile").VectorTileFeature.types, - P = t("../../util/verticalize_punctuation"), - D = - (t("../../symbol/anchor"), - t("../../symbol/symbol_size").getSizeData), - O = t("../../util/web_worker_transfer").register, - I = [ - { - name: "a_fade_opacity", - components: 1, - type: "Uint8", - offset: 0, - }, - ], - R = function (t) { - ((this.layoutVertexArray = new h()), - (this.indexArray = new A()), - (this.programConfigurations = t), - (this.segments = new w()), - (this.dynamicLayoutVertexArray = new p()), - (this.opacityVertexArray = new d()), - (this.placedSymbolArray = new y())); - }; - ((R.prototype.upload = function (t, e) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - o.members, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray, e)), - this.programConfigurations.upload(t), - (this.dynamicLayoutVertexBuffer = t.createVertexBuffer( - this.dynamicLayoutVertexArray, - u.members, - !0, - )), - (this.opacityVertexBuffer = t.createVertexBuffer( - this.opacityVertexArray, - I, - !0, - )), - (this.opacityVertexBuffer.itemSize = 1)); - }), - (R.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.programConfigurations.destroy(), - this.segments.destroy(), - this.dynamicLayoutVertexBuffer.destroy(), - this.opacityVertexBuffer.destroy()); - }), - O("SymbolBuffers", R)); - var B = function (t, e, r) { - ((this.layoutVertexArray = new t()), - (this.layoutAttributes = e), - (this.indexArray = new r()), - (this.segments = new w()), - (this.collisionVertexArray = new v())); - }; - ((B.prototype.upload = function (t) { - ((this.layoutVertexBuffer = t.createVertexBuffer( - this.layoutVertexArray, - this.layoutAttributes, - )), - (this.indexBuffer = t.createIndexBuffer(this.indexArray)), - (this.collisionVertexBuffer = t.createVertexBuffer( - this.collisionVertexArray, - s.members, - !0, - ))); - }), - (B.prototype.destroy = function () { - this.layoutVertexBuffer && - (this.layoutVertexBuffer.destroy(), - this.indexBuffer.destroy(), - this.segments.destroy(), - this.collisionVertexBuffer.destroy()); - }), - O("CollisionBuffers", B)); - var F = function (t) { - ((this.collisionBoxArray = t.collisionBoxArray), - (this.zoom = t.zoom), - (this.overscaling = t.overscaling), - (this.layers = t.layers), - (this.layerIds = this.layers.map(function (t) { - return t.id; - })), - (this.index = t.index), - (this.pixelRatio = t.pixelRatio)); - var e = this.layers[0]._unevaluatedLayout._values; - ((this.textSizeData = D(this.zoom, e["text-size"])), - (this.iconSizeData = D(this.zoom, e["icon-size"]))); - var r = this.layers[0].layout; - this.sortFeaturesByY = - r.get("text-allow-overlap") || - r.get("icon-allow-overlap") || - r.get("text-ignore-placement") || - r.get("icon-ignore-placement"); - }; - ((F.prototype.createArrays = function () { - ((this.text = new R( - new k(o.members, this.layers, this.zoom, function (t) { - return /^text/.test(t); - }), - )), - (this.icon = new R( - new k(o.members, this.layers, this.zoom, function (t) { - return /^icon/.test(t); - }), - )), - (this.collisionBox = new B(g, l.members, T)), - (this.collisionCircle = new B(m, c.members, A)), - (this.glyphOffsetArray = new x()), - (this.lineVertexArray = new b())); - }), - (F.prototype.populate = function (t, e) { - var r = this.layers[0], - n = r.layout, - i = n.get("text-font"), - a = n.get("text-field"), - o = n.get("icon-image"), - s = - ("constant" !== a.value.kind || - a.value.value.length > 0) && - ("constant" !== i.value.kind || i.value.value.length > 0), - l = - "constant" !== o.value.kind || - (o.value.value && o.value.value.length > 0); - if (((this.features = []), s || l)) { - for ( - var c = e.iconDependencies, - u = e.glyphDependencies, - f = { zoom: this.zoom }, - h = 0, - p = t; - h < p.length; - h += 1 - ) { - var d = p[h], - g = d.feature, - m = d.index, - v = d.sourceLayerIndex; - if (r._featureFilter(f, g)) { - var y = void 0; - s && - ((y = r.getValueAndResolveTokens("text-field", g)), - (y = S(y, r, g))); - var x = void 0; - if ( - (l && - (x = r.getValueAndResolveTokens("icon-image", g)), - y || x) - ) { - var b = { - text: y, - icon: x, - index: m, - sourceLayerIndex: v, - geometry: L(g), - properties: g.properties, - type: z[g.type], - }; - if ( - (void 0 !== g.id && (b.id = g.id), - this.features.push(b), - x && (c[x] = !0), - y) - ) - for ( - var _ = i.evaluate(g).join(","), - w = (u[_] = u[_] || {}), - k = - "map" === n.get("text-rotation-alignment") && - "line" === n.get("symbol-placement"), - M = E.allowsVerticalWritingMode(y), - A = 0; - A < y.length; - A++ - ) - if (((w[y.charCodeAt(A)] = !0), k && M)) { - var T = P.lookup[y.charAt(A)]; - T && (w[T.charCodeAt(0)] = !0); - } - } - } - } - "line" === n.get("symbol-placement") && - (this.features = C(this.features)); - } - }), - (F.prototype.isEmpty = function () { - return 0 === this.symbolInstances.length; - }), - (F.prototype.upload = function (t) { - (this.text.upload(t, this.sortFeaturesByY), - this.icon.upload(t, this.sortFeaturesByY), - this.collisionBox.upload(t), - this.collisionCircle.upload(t)); - }), - (F.prototype.destroy = function () { - (this.text.destroy(), - this.icon.destroy(), - this.collisionBox.destroy(), - this.collisionCircle.destroy()); - }), - (F.prototype.addToLineVertexArray = function (t, e) { - var r = this.lineVertexArray.length; - if (void 0 !== t.segment) { - for ( - var n = t.dist(e[t.segment + 1]), - i = t.dist(e[t.segment]), - a = {}, - o = t.segment + 1; - o < e.length; - o++ - ) - ((a[o] = { - x: e[o].x, - y: e[o].y, - tileUnitDistanceFromAnchor: n, - }), - o < e.length - 1 && (n += e[o + 1].dist(e[o]))); - for (var s = t.segment || 0; s >= 0; s--) - ((a[s] = { - x: e[s].x, - y: e[s].y, - tileUnitDistanceFromAnchor: i, - }), - s > 0 && (i += e[s - 1].dist(e[s]))); - for (var l = 0; l < e.length; l++) { - var c = a[l]; - this.lineVertexArray.emplaceBack( - c.x, - c.y, - c.tileUnitDistanceFromAnchor, - ); - } - } - return { - lineStartIndex: r, - lineLength: this.lineVertexArray.length - r, - }; - }), - (F.prototype.addSymbols = function ( - t, - e, - r, - a, - o, - s, - l, - c, - u, - f, - ) { - for ( - var h = t.indexArray, - p = t.layoutVertexArray, - d = t.dynamicLayoutVertexArray, - g = t.segments.prepareSegment( - 4 * e.length, - t.layoutVertexArray, - t.indexArray, - ), - m = this.glyphOffsetArray.length, - v = g.vertexLength, - y = 0, - x = e; - y < x.length; - y += 1 - ) { - var b = x[y], - _ = b.tl, - w = b.tr, - k = b.bl, - M = b.br, - A = b.tex, - T = g.vertexLength, - S = b.glyphOffset[1]; - (n(p, c.x, c.y, _.x, S + _.y, A.x, A.y, r), - n(p, c.x, c.y, w.x, S + w.y, A.x + A.w, A.y, r), - n(p, c.x, c.y, k.x, S + k.y, A.x, A.y + A.h, r), - n(p, c.x, c.y, M.x, S + M.y, A.x + A.w, A.y + A.h, r), - i(d, c, 0), - h.emplaceBack(T, T + 1, T + 2), - h.emplaceBack(T + 1, T + 2, T + 3), - (g.vertexLength += 4), - (g.primitiveLength += 2), - this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])); - } - (t.placedSymbolArray.emplaceBack( - c.x, - c.y, - m, - this.glyphOffsetArray.length - m, - v, - u, - f, - c.segment, - r ? r[0] : 0, - r ? r[1] : 0, - a[0], - a[1], - l, - !1, - ), - t.programConfigurations.populatePaintArrays( - t.layoutVertexArray.length, - s, - )); - }), - (F.prototype._addCollisionDebugVertex = function ( - t, - e, - r, - n, - i, - ) { - return ( - e.emplaceBack(0, 0), - t.emplaceBack( - r.x, - r.y, - n.x, - n.y, - Math.round(i.x), - Math.round(i.y), - ) - ); - }), - (F.prototype.addCollisionDebugVertices = function ( - t, - e, - r, - n, - i, - a, - o, - s, - ) { - var l = i.segments.prepareSegment( - 4, - i.layoutVertexArray, - i.indexArray, - ), - c = l.vertexLength, - u = i.layoutVertexArray, - f = i.collisionVertexArray; - if ( - (this._addCollisionDebugVertex( - u, - f, - a, - o.anchor, - new _(t, e), - ), - this._addCollisionDebugVertex( - u, - f, - a, - o.anchor, - new _(r, e), - ), - this._addCollisionDebugVertex( - u, - f, - a, - o.anchor, - new _(r, n), - ), - this._addCollisionDebugVertex( - u, - f, - a, - o.anchor, - new _(t, n), - ), - (l.vertexLength += 4), - s) - ) { - var h = i.indexArray; - (h.emplaceBack(c, c + 1, c + 2), - h.emplaceBack(c, c + 2, c + 3), - (l.primitiveLength += 2)); - } else { - var p = i.indexArray; - (p.emplaceBack(c, c + 1), - p.emplaceBack(c + 1, c + 2), - p.emplaceBack(c + 2, c + 3), - p.emplaceBack(c + 3, c), - (l.primitiveLength += 4)); - } - }), - (F.prototype.generateCollisionDebugBuffers = function () { - for ( - var t = this, e = 0, r = t.symbolInstances; - e < r.length; - e += 1 - ) { - var n = r[e]; - ((n.textCollisionFeature = { - boxStartIndex: n.textBoxStartIndex, - boxEndIndex: n.textBoxEndIndex, - }), - (n.iconCollisionFeature = { - boxStartIndex: n.iconBoxStartIndex, - boxEndIndex: n.iconBoxEndIndex, - })); - for (var i = 0; i < 2; i++) { - var a = - n[ - 0 === i - ? "textCollisionFeature" - : "iconCollisionFeature" - ]; - if (a) - for (var o = a.boxStartIndex; o < a.boxEndIndex; o++) { - var s = t.collisionBoxArray.get(o), - l = s.x1, - c = s.y1, - u = s.x2, - f = s.y2, - h = s.radius > 0; - t.addCollisionDebugVertices( - l, - c, - u, - f, - h ? t.collisionCircle : t.collisionBox, - s.anchorPoint, - n, - h, - ); - } - } - } - }), - (F.prototype.deserializeCollisionBoxes = function ( - t, - e, - r, - n, - i, - ) { - for (var a = {}, o = e; o < r; o++) { - var s = t.get(o); - if (0 === s.radius) { - a.textBox = { - x1: s.x1, - y1: s.y1, - x2: s.x2, - y2: s.y2, - anchorPointX: s.anchorPointX, - anchorPointY: s.anchorPointY, - }; - break; - } - (a.textCircles || (a.textCircles = []), - a.textCircles.push( - s.anchorPointX, - s.anchorPointY, - s.radius, - s.signedDistanceFromAnchor, - 1, - )); - } - for (var l = n; l < i; l++) { - var c = t.get(l); - if (0 === c.radius) { - a.iconBox = { - x1: c.x1, - y1: c.y1, - x2: c.x2, - y2: c.y2, - anchorPointX: c.anchorPointX, - anchorPointY: c.anchorPointY, - }; - break; - } - } - return a; - }), - (F.prototype.hasTextData = function () { - return this.text.segments.get().length > 0; - }), - (F.prototype.hasIconData = function () { - return this.icon.segments.get().length > 0; - }), - (F.prototype.hasCollisionBoxData = function () { - return this.collisionBox.segments.get().length > 0; - }), - (F.prototype.hasCollisionCircleData = function () { - return this.collisionCircle.segments.get().length > 0; - }), - (F.prototype.sortFeatures = function (t) { - var e = this; - if ( - this.sortFeaturesByY && - this.sortedAngle !== t && - ((this.sortedAngle = t), - !( - this.text.segments.get().length > 1 || - this.icon.segments.get().length > 1 - )) - ) { - for ( - var r = [], n = 0; - n < this.symbolInstances.length; - n++ - ) - r.push(n); - var i = Math.sin(t), - a = Math.cos(t); - (r.sort(function (t, r) { - var n = e.symbolInstances[t], - o = e.symbolInstances[r]; - return ( - ((i * n.anchor.x + a * n.anchor.y) | 0) - - ((i * o.anchor.x + a * o.anchor.y) | 0) || - o.featureIndex - n.featureIndex - ); - }), - this.text.indexArray.clear(), - this.icon.indexArray.clear()); - for (var o = 0, s = r; o < s.length; o += 1) { - for ( - var l = s[o], - c = 0, - u = e.symbolInstances[l].placedTextSymbolIndices; - c < u.length; - c += 1 - ) - for ( - var f = u[c], - h = e.text.placedSymbolArray.get(f), - p = h.vertexStartIndex + 4 * h.numGlyphs, - d = h.vertexStartIndex; - d < p; - d += 4 - ) - (e.text.indexArray.emplaceBack(d, d + 1, d + 2), - e.text.indexArray.emplaceBack(d + 1, d + 2, d + 3)); - var g = e.icon.placedSymbolArray.get(l); - if (g.numGlyphs) { - var m = g.vertexStartIndex; - (e.icon.indexArray.emplaceBack(m, m + 1, m + 2), - e.icon.indexArray.emplaceBack(m + 1, m + 2, m + 3)); - } - } - (this.text.indexBuffer && - this.text.indexBuffer.updateData(this.text.indexArray), - this.icon.indexBuffer && - this.icon.indexBuffer.updateData(this.icon.indexArray)); - } - }), - O("SymbolBucket", F, { - omit: [ - "layers", - "collisionBoxArray", - "features", - "compareText", - ], - shallow: ["symbolInstances"], - }), - (F.MAX_GLYPHS = 65535), - (F.addDynamicAttributes = i), - (e.exports = F)); - }, - { - "../../symbol/anchor": 213, - "../../symbol/mergelines": 221, - "../../symbol/symbol_size": 228, - "../../symbol/transform_text": 229, - "../../util/script_detection": 269, - "../../util/verticalize_punctuation": 277, - "../../util/web_worker_transfer": 278, - "../array_types": 39, - "../index_array_type": 55, - "../load_geometry": 56, - "../program_configuration": 58, - "../segment": 60, - "./symbol_attributes": 50, - "@mapbox/point-geometry": 4, - "@mapbox/vector-tile": 8, - }, - ], - 52: [ - function (t, e, r) { - var n = t("../util/image").RGBAImage, - i = t("../util/util"), - a = t("../util/web_worker_transfer").register, - o = function (t, e, r) { - if (t <= 0) - throw new RangeError("Level must have positive dimension"); - ((this.dim = t), - (this.border = e), - (this.stride = this.dim + 2 * this.border), - (this.data = - r || - new Int32Array( - (this.dim + 2 * this.border) * - (this.dim + 2 * this.border), - ))); - }; - ((o.prototype.set = function (t, e, r) { - this.data[this._idx(t, e)] = r + 65536; - }), - (o.prototype.get = function (t, e) { - return this.data[this._idx(t, e)] - 65536; - }), - (o.prototype._idx = function (t, e) { - if ( - t < -this.border || - t >= this.dim + this.border || - e < -this.border || - e >= this.dim + this.border - ) - throw new RangeError( - "out of range source coordinates for DEM data", - ); - return (e + this.border) * this.stride + (t + this.border); - }), - a("Level", o)); - var s = function (t, e, r) { - ((this.uid = t), - (this.scale = e || 1), - (this.level = r || new o(256, 512)), - (this.loaded = !!r)); - }; - ((s.prototype.loadFromImage = function (t) { - if (t.height !== t.width) - throw new RangeError("DEM tiles must be square"); - for ( - var e = (this.level = new o(t.width, t.width / 2)), - r = t.data, - n = 0; - n < e.dim; - n++ - ) - for (var i = 0; i < e.dim; i++) { - var a = 4 * (n * e.dim + i); - e.set( - i, - n, - this.scale * - ((256 * r[a] * 256 + 256 * r[a + 1] + r[a + 2]) / 10 - - 1e4), - ); - } - for (var s = 0; s < e.dim; s++) - (e.set(-1, s, e.get(0, s)), - e.set(e.dim, s, e.get(e.dim - 1, s)), - e.set(s, -1, e.get(s, 0)), - e.set(s, e.dim, e.get(s, e.dim - 1))); - (e.set(-1, -1, e.get(0, 0)), - e.set(e.dim, -1, e.get(e.dim - 1, 0)), - e.set(-1, e.dim, e.get(0, e.dim - 1)), - e.set(e.dim, e.dim, e.get(e.dim - 1, e.dim - 1)), - (this.loaded = !0)); - }), - (s.prototype.getPixels = function () { - return new n( - { - width: this.level.dim + 2 * this.level.border, - height: this.level.dim + 2 * this.level.border, - }, - new Uint8Array(this.level.data.buffer), - ); - }), - (s.prototype.backfillBorder = function (t, e, r) { - var n = this.level, - a = t.level; - if (n.dim !== a.dim) - throw new Error("level mismatch (dem dimension)"); - var o = e * n.dim, - s = e * n.dim + n.dim, - l = r * n.dim, - c = r * n.dim + n.dim; - switch (e) { - case -1: - o = s - 1; - break; - case 1: - s = o + 1; - } - switch (r) { - case -1: - l = c - 1; - break; - case 1: - c = l + 1; - } - for ( - var u = i.clamp(o, -n.border, n.dim + n.border), - f = i.clamp(s, -n.border, n.dim + n.border), - h = i.clamp(l, -n.border, n.dim + n.border), - p = i.clamp(c, -n.border, n.dim + n.border), - d = -e * n.dim, - g = -r * n.dim, - m = h; - m < p; - m++ - ) - for (var v = u; v < f; v++) - n.set(v, m, a.get(v + d, m + g)); - }), - a("DEMData", s), - (e.exports = { DEMData: s, Level: o })); - }, - { - "../util/image": 263, - "../util/util": 275, - "../util/web_worker_transfer": 278, - }, - ], - 53: [ - function (t, e, r) { - e.exports = 8192; - }, - {}, - ], - 54: [ - function (t, e, r) { - function n(t, e) { - return e - t; - } - t("@mapbox/point-geometry"); - var i = t("./load_geometry"), - a = t("./extent"), - o = t("../style-spec/feature_filter"), - s = t("grid-index"), - l = t("../util/dictionary_coder"), - c = t("@mapbox/vector-tile"), - u = t("pbf"), - f = t("../util/vectortile_to_geojson"), - h = t("../util/util").arraysIntersect, - p = - (t("../source/tile_id").OverscaledTileID, - t("../util/web_worker_transfer").register), - d = t("./array_types").FeatureIndexArray, - g = function (t, e, r, n) { - ((this.tileID = t), - (this.overscaling = e), - (this.x = t.canonical.x), - (this.y = t.canonical.y), - (this.z = t.canonical.z), - (this.grid = r || new s(a, 16, 0)), - (this.featureIndexArray = n || new d())); - }; - ((g.prototype.insert = function (t, e, r, n, i) { - var a = this.featureIndexArray.length; - this.featureIndexArray.emplaceBack(r, n, i); - for (var o = 0; o < e.length; o++) { - for ( - var s = e[o], l = [1 / 0, 1 / 0, -1 / 0, -1 / 0], c = 0; - c < s.length; - c++ - ) { - var u = s[c]; - ((l[0] = Math.min(l[0], u.x)), - (l[1] = Math.min(l[1], u.y)), - (l[2] = Math.max(l[2], u.x)), - (l[3] = Math.max(l[3], u.y))); - } - this.grid.insert(a, l[0], l[1], l[2], l[3]); - } - }), - (g.prototype.query = function (t, e) { - this.vtLayers || - ((this.vtLayers = new c.VectorTile( - new u(this.rawTileData), - ).layers), - (this.sourceLayerCoder = new l( - this.vtLayers - ? Object.keys(this.vtLayers).sort() - : ["_geojsonTileLayer"], - ))); - for ( - var r = {}, - i = t.params || {}, - s = a / t.tileSize / t.scale, - f = o(i.filter), - h = t.queryGeometry, - p = t.additionalRadius * s, - d = 1 / 0, - g = 1 / 0, - m = -1 / 0, - v = -1 / 0, - y = 0; - y < h.length; - y++ - ) - for (var x = h[y], b = 0; b < x.length; b++) { - var _ = x[b]; - ((d = Math.min(d, _.x)), - (g = Math.min(g, _.y)), - (m = Math.max(m, _.x)), - (v = Math.max(v, _.y))); - } - var w = this.grid.query(d - p, g - p, m + p, v + p); - (w.sort(n), - this.filterMatching( - r, - w, - this.featureIndexArray, - h, - f, - i.layers, - e, - t.bearing, - s, - )); - var k = t.collisionIndex - ? t.collisionIndex.queryRenderedSymbols( - h, - this.tileID, - a / t.tileSize, - t.collisionBoxArray, - t.sourceID, - t.bucketInstanceIds, - ) - : []; - return ( - k.sort(), - this.filterMatching( - r, - k, - t.collisionBoxArray, - h, - f, - i.layers, - e, - t.bearing, - s, - ), - r - ); - }), - (g.prototype.filterMatching = function ( - t, - e, - r, - n, - a, - o, - s, - l, - c, - ) { - for (var u, p = this, d = 0; d < e.length; d++) { - var g = e[d]; - if (g !== u) { - u = g; - var m = r.get(g), - v = p.bucketLayerIDs[m.bucketIndex]; - if (!o || h(o, v)) { - var y = p.sourceLayerCoder.decode(m.sourceLayerIndex), - x = p.vtLayers[y].feature(m.featureIndex); - if (a({ zoom: p.tileID.overscaledZ }, x)) - for (var b = null, _ = 0; _ < v.length; _++) { - var w = v[_]; - if (!(o && o.indexOf(w) < 0)) { - var k = s[w]; - if ( - k && - ("symbol" === k.type || - (b || (b = i(x)), - k.queryIntersectsFeature(n, x, b, p.z, l, c))) - ) { - var M = new f(x, p.z, p.x, p.y); - M.layer = k.serialize(); - var A = t[w]; - (void 0 === A && (A = t[w] = []), - A.push({ featureIndex: g, feature: M })); - } - } - } - } - } - } - }), - (g.prototype.hasLayer = function (t) { - for (var e = 0, r = this.bucketLayerIDs; e < r.length; e += 1) - for (var n = 0, i = r[e]; n < i.length; n += 1) { - if (t === i[n]) return !0; - } - return !1; - }), - p("FeatureIndex", g, { - omit: ["rawTileData", "sourceLayerCoder"], - }), - (e.exports = g)); - }, - { - "../source/tile_id": 114, - "../style-spec/feature_filter": 148, - "../util/dictionary_coder": 257, - "../util/util": 275, - "../util/vectortile_to_geojson": 276, - "../util/web_worker_transfer": 278, - "./array_types": 39, - "./extent": 53, - "./load_geometry": 56, - "@mapbox/point-geometry": 4, - "@mapbox/vector-tile": 8, - "grid-index": 24, - pbf: 30, - }, - ], - 55: [ - function (t, e, r) { - e.exports = { - LineIndexArray: t("./array_types").LineIndexArray, - TriangleIndexArray: t("./array_types").TriangleIndexArray, - }; - }, - { "./array_types": 39 }, - ], - 56: [ - function (t, e, r) { - var n, - i = t("../util/util"), - a = t("./extent"), - o = - ((n = 16), - { - min: -1 * Math.pow(2, n - 1), - max: Math.pow(2, n - 1) - 1, - }); - e.exports = function (t) { - for ( - var e = a / t.extent, r = t.loadGeometry(), n = 0; - n < r.length; - n++ - ) - for (var s = r[n], l = 0; l < s.length; l++) { - var c = s[l]; - ((c.x = Math.round(c.x * e)), - (c.y = Math.round(c.y * e)), - (c.x < o.min || - c.x > o.max || - c.y < o.min || - c.y > o.max) && - i.warnOnce( - "Geometry exceeds allowed extent, reduce your vector tile buffer size", - )); - } - return r; - }; - }, - { "../util/util": 275, "./extent": 53 }, - ], - 57: [ - function (t, e, r) { - var n = t("../util/struct_array").createLayout; - e.exports = n([{ name: "a_pos", type: "Int16", components: 2 }]); - }, - { "../util/struct_array": 271 }, - ], - 58: [ - function (t, e, r) { - function n(t) { - return [a(255 * t.r, 255 * t.g), a(255 * t.b, 255 * t.a)]; - } - function i(t, e) { - return ( - { - "text-opacity": "opacity", - "icon-opacity": "opacity", - "text-color": "fill_color", - "icon-color": "fill_color", - "text-halo-color": "halo_color", - "icon-halo-color": "halo_color", - "text-halo-blur": "halo_blur", - "icon-halo-blur": "halo_blur", - "text-halo-width": "halo_width", - "icon-halo-width": "halo_width", - "line-gap-width": "gapwidth", - }[t] || t.replace(e + "-", "").replace(/-/g, "_") - ); - } - var a = t("../shaders/encode_attribute").packUint8ToFloat, - o = - (t("../style-spec/util/color"), - t("../util/web_worker_transfer").register), - s = t("../style/properties").PossiblyEvaluatedPropertyValue, - l = t("./array_types"), - c = l.StructArrayLayout1f4, - u = l.StructArrayLayout2f8, - f = l.StructArrayLayout4f16, - h = function (t, e, r) { - ((this.value = t), - (this.name = e), - (this.type = r), - (this.statistics = { max: -1 / 0 })); - }; - ((h.prototype.defines = function () { - return ["#define HAS_UNIFORM_u_" + this.name]; - }), - (h.prototype.populatePaintArray = function () {}), - (h.prototype.upload = function () {}), - (h.prototype.destroy = function () {}), - (h.prototype.setUniforms = function (t, e, r, n) { - var i = n.constantOr(this.value), - a = t.gl; - "color" === this.type - ? a.uniform4f( - e.uniforms["u_" + this.name], - i.r, - i.g, - i.b, - i.a, - ) - : a.uniform1f(e.uniforms["u_" + this.name], i); - })); - var p = function (t, e, r) { - ((this.expression = t), - (this.name = e), - (this.type = r), - (this.statistics = { max: -1 / 0 })); - var n = "color" === r ? u : c; - ((this.paintVertexAttributes = [ - { - name: "a_" + e, - type: "Float32", - components: "color" === r ? 2 : 1, - offset: 0, - }, - ]), - (this.paintVertexArray = new n())); - }; - ((p.prototype.defines = function () { - return []; - }), - (p.prototype.populatePaintArray = function (t, e) { - var r = this.paintVertexArray, - i = r.length; - r.reserve(t); - var a = this.expression.evaluate({ zoom: 0 }, e); - if ("color" === this.type) - for (var o = n(a), s = i; s < t; s++) - r.emplaceBack(o[0], o[1]); - else { - for (var l = i; l < t; l++) r.emplaceBack(a); - this.statistics.max = Math.max(this.statistics.max, a); - } - }), - (p.prototype.upload = function (t) { - this.paintVertexArray && - (this.paintVertexBuffer = t.createVertexBuffer( - this.paintVertexArray, - this.paintVertexAttributes, - )); - }), - (p.prototype.destroy = function () { - this.paintVertexBuffer && this.paintVertexBuffer.destroy(); - }), - (p.prototype.setUniforms = function (t, e) { - t.gl.uniform1f(e.uniforms["a_" + this.name + "_t"], 0); - })); - var d = function (t, e, r, n, i) { - ((this.expression = t), - (this.name = e), - (this.type = r), - (this.useIntegerZoom = n), - (this.zoom = i), - (this.statistics = { max: -1 / 0 })); - var a = "color" === r ? f : u; - ((this.paintVertexAttributes = [ - { - name: "a_" + e, - type: "Float32", - components: "color" === r ? 4 : 2, - offset: 0, - }, - ]), - (this.paintVertexArray = new a())); - }; - ((d.prototype.defines = function () { - return []; - }), - (d.prototype.populatePaintArray = function (t, e) { - var r = this.paintVertexArray, - i = r.length; - r.reserve(t); - var a = this.expression.evaluate({ zoom: this.zoom }, e), - o = this.expression.evaluate({ zoom: this.zoom + 1 }, e); - if ("color" === this.type) - for (var s = n(a), l = n(o), c = i; c < t; c++) - r.emplaceBack(s[0], s[1], l[0], l[1]); - else { - for (var u = i; u < t; u++) r.emplaceBack(a, o); - this.statistics.max = Math.max(this.statistics.max, a, o); - } - }), - (d.prototype.upload = function (t) { - this.paintVertexArray && - (this.paintVertexBuffer = t.createVertexBuffer( - this.paintVertexArray, - this.paintVertexAttributes, - )); - }), - (d.prototype.destroy = function () { - this.paintVertexBuffer && this.paintVertexBuffer.destroy(); - }), - (d.prototype.interpolationFactor = function (t) { - return this.useIntegerZoom - ? this.expression.interpolationFactor( - Math.floor(t), - this.zoom, - this.zoom + 1, - ) - : this.expression.interpolationFactor( - t, - this.zoom, - this.zoom + 1, - ); - }), - (d.prototype.setUniforms = function (t, e, r) { - t.gl.uniform1f( - e.uniforms["a_" + this.name + "_t"], - this.interpolationFactor(r.zoom), - ); - })); - var g = function () { - ((this.binders = {}), - (this.cacheKey = ""), - (this._buffers = [])); - }; - ((g.createDynamic = function (t, e, r) { - var n = new g(), - a = []; - for (var o in t.paint._values) - if (r(o)) { - var l = t.paint.get(o); - if ( - l instanceof s && - l.property.specification["property-function"] - ) { - var c = i(o, t.type), - u = l.property.specification.type, - f = l.property.useIntegerZoom; - "constant" === l.value.kind - ? ((n.binders[o] = new h(l.value, c, u)), - a.push("/u_" + c)) - : "source" === l.value.kind - ? ((n.binders[o] = new p(l.value, c, u)), - a.push("/a_" + c)) - : ((n.binders[o] = new d(l.value, c, u, f, e)), - a.push("/z_" + c)); - } - } - return ((n.cacheKey = a.sort().join("")), n); - }), - (g.prototype.populatePaintArrays = function (t, e) { - for (var r in this.binders) - this.binders[r].populatePaintArray(t, e); - }), - (g.prototype.defines = function () { - var t = []; - for (var e in this.binders) - t.push.apply(t, this.binders[e].defines()); - return t; - }), - (g.prototype.setUniforms = function (t, e, r, n) { - for (var i in this.binders) - this.binders[i].setUniforms(t, e, n, r.get(i)); - }), - (g.prototype.getPaintVertexBuffers = function () { - return this._buffers; - }), - (g.prototype.upload = function (t) { - var e = this; - for (var r in e.binders) e.binders[r].upload(t); - var n = []; - for (var i in e.binders) { - var a = e.binders[i]; - (a instanceof p || a instanceof d) && - a.paintVertexBuffer && - n.push(a.paintVertexBuffer); - } - this._buffers = n; - }), - (g.prototype.destroy = function () { - for (var t in this.binders) this.binders[t].destroy(); - })); - var m = function (t, e, r, n) { - (void 0 === n && - (n = function () { - return !0; - }), - (this.programConfigurations = {})); - for (var i = 0, a = e; i < a.length; i += 1) { - var o = a[i]; - ((this.programConfigurations[o.id] = g.createDynamic( - o, - r, - n, - )), - (this.programConfigurations[o.id].layoutAttributes = t)); - } - }; - ((m.prototype.populatePaintArrays = function (t, e) { - for (var r in this.programConfigurations) - this.programConfigurations[r].populatePaintArrays(t, e); - }), - (m.prototype.get = function (t) { - return this.programConfigurations[t]; - }), - (m.prototype.upload = function (t) { - for (var e in this.programConfigurations) - this.programConfigurations[e].upload(t); - }), - (m.prototype.destroy = function () { - for (var t in this.programConfigurations) - this.programConfigurations[t].destroy(); - }), - o("ConstantBinder", h), - o("SourceExpressionBinder", p), - o("CompositeExpressionBinder", d), - o("ProgramConfiguration", g, { omit: ["_buffers"] }), - o("ProgramConfigurationSet", m), - (e.exports = { - ProgramConfiguration: g, - ProgramConfigurationSet: m, - })); - }, - { - "../shaders/encode_attribute": 96, - "../style-spec/util/color": 153, - "../style/properties": 188, - "../util/web_worker_transfer": 278, - "./array_types": 39, - }, - ], - 59: [ - function (t, e, r) { - var n = t("../util/struct_array").createLayout; - e.exports = n([ - { name: "a_pos", type: "Int16", components: 2 }, - { name: "a_texture_pos", type: "Int16", components: 2 }, - ]); - }, - { "../util/struct_array": 271 }, - ], - 60: [ - function (t, e, r) { - var n = t("../util/util").warnOnce, - i = t("../util/web_worker_transfer").register, - a = Math.pow(2, 16) - 1, - o = function (t) { - (void 0 === t && (t = []), (this.segments = t)); - }; - ((o.prototype.prepareSegment = function (t, r, i) { - var o = this.segments[this.segments.length - 1]; - return ( - t > a && - n( - "Max vertices per segment is " + - a + - ": bucket requested " + - t, - ), - (!o || - o.vertexLength + t > e.exports.MAX_VERTEX_ARRAY_LENGTH) && - ((o = { - vertexOffset: r.length, - primitiveOffset: i.length, - vertexLength: 0, - primitiveLength: 0, - }), - this.segments.push(o)), - o - ); - }), - (o.prototype.get = function () { - return this.segments; - }), - (o.prototype.destroy = function () { - for (var t = 0, e = this.segments; t < e.length; t += 1) { - var r = e[t]; - for (var n in r.vaos) r.vaos[n].destroy(); - } - }), - i("SegmentVector", o), - (e.exports = { SegmentVector: o, MAX_VERTEX_ARRAY_LENGTH: a })); - }, - { "../util/util": 275, "../util/web_worker_transfer": 278 }, - ], - 61: [ - function (t, e, r) { - var n = function (t, e, r) { - ((this.column = t), (this.row = e), (this.zoom = r)); - }; - ((n.prototype.clone = function () { - return new n(this.column, this.row, this.zoom); - }), - (n.prototype.zoomTo = function (t) { - return this.clone()._zoomTo(t); - }), - (n.prototype.sub = function (t) { - return this.clone()._sub(t); - }), - (n.prototype._zoomTo = function (t) { - var e = Math.pow(2, t - this.zoom); - return ( - (this.column *= e), - (this.row *= e), - (this.zoom = t), - this - ); - }), - (n.prototype._sub = function (t) { - return ( - (t = t.zoomTo(this.zoom)), - (this.column -= t.column), - (this.row -= t.row), - this - ); - }), - (e.exports = n)); - }, - {}, - ], - 62: [ - function (t, e, r) { - var n = t("../util/util").wrap, - i = function (t, e) { - if (isNaN(t) || isNaN(e)) - throw new Error( - "Invalid LngLat object: (" + t + ", " + e + ")", - ); - if ( - ((this.lng = +t), - (this.lat = +e), - this.lat > 90 || this.lat < -90) - ) - throw new Error( - "Invalid LngLat latitude value: must be between -90 and 90", - ); - }; - ((i.prototype.wrap = function () { - return new i(n(this.lng, -180, 180), this.lat); - }), - (i.prototype.toArray = function () { - return [this.lng, this.lat]; - }), - (i.prototype.toString = function () { - return "LngLat(" + this.lng + ", " + this.lat + ")"; - }), - (i.prototype.toBounds = function (e) { - var r = (360 * e) / 40075017, - n = r / Math.cos((Math.PI / 180) * this.lat); - return new (t("./lng_lat_bounds"))( - new i(this.lng - n, this.lat - r), - new i(this.lng + n, this.lat + r), - ); - }), - (i.convert = function (t) { - if (t instanceof i) return t; - if (Array.isArray(t) && (2 === t.length || 3 === t.length)) - return new i(Number(t[0]), Number(t[1])); - if (!Array.isArray(t) && "object" == typeof t && null !== t) - return new i(Number(t.lng), Number(t.lat)); - throw new Error( - "`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]", - ); - }), - (e.exports = i)); - }, - { "../util/util": 275, "./lng_lat_bounds": 63 }, - ], - 63: [ - function (t, e, r) { - var n = t("./lng_lat"), - i = function (t, e) { - t && - (e - ? this.setSouthWest(t).setNorthEast(e) - : 4 === t.length - ? this.setSouthWest([t[0], t[1]]).setNorthEast([ - t[2], - t[3], - ]) - : this.setSouthWest(t[0]).setNorthEast(t[1])); - }; - ((i.prototype.setNorthEast = function (t) { - return ( - (this._ne = - t instanceof n ? new n(t.lng, t.lat) : n.convert(t)), - this - ); - }), - (i.prototype.setSouthWest = function (t) { - return ( - (this._sw = - t instanceof n ? new n(t.lng, t.lat) : n.convert(t)), - this - ); - }), - (i.prototype.extend = function (t) { - var e, - r, - a = this._sw, - o = this._ne; - if (t instanceof n) ((e = t), (r = t)); - else { - if (!(t instanceof i)) - return Array.isArray(t) - ? t.every(Array.isArray) - ? this.extend(i.convert(t)) - : this.extend(n.convert(t)) - : this; - if (((e = t._sw), (r = t._ne), !e || !r)) return this; - } - return ( - a || o - ? ((a.lng = Math.min(e.lng, a.lng)), - (a.lat = Math.min(e.lat, a.lat)), - (o.lng = Math.max(r.lng, o.lng)), - (o.lat = Math.max(r.lat, o.lat))) - : ((this._sw = new n(e.lng, e.lat)), - (this._ne = new n(r.lng, r.lat))), - this - ); - }), - (i.prototype.getCenter = function () { - return new n( - (this._sw.lng + this._ne.lng) / 2, - (this._sw.lat + this._ne.lat) / 2, - ); - }), - (i.prototype.getSouthWest = function () { - return this._sw; - }), - (i.prototype.getNorthEast = function () { - return this._ne; - }), - (i.prototype.getNorthWest = function () { - return new n(this.getWest(), this.getNorth()); - }), - (i.prototype.getSouthEast = function () { - return new n(this.getEast(), this.getSouth()); - }), - (i.prototype.getWest = function () { - return this._sw.lng; - }), - (i.prototype.getSouth = function () { - return this._sw.lat; - }), - (i.prototype.getEast = function () { - return this._ne.lng; - }), - (i.prototype.getNorth = function () { - return this._ne.lat; - }), - (i.prototype.toArray = function () { - return [this._sw.toArray(), this._ne.toArray()]; - }), - (i.prototype.toString = function () { - return ( - "LngLatBounds(" + - this._sw.toString() + - ", " + - this._ne.toString() + - ")" - ); - }), - (i.prototype.isEmpty = function () { - return !(this._sw && this._ne); - }), - (i.convert = function (t) { - return !t || t instanceof i ? t : new i(t); - }), - (e.exports = i)); - }, - { "./lng_lat": 62 }, - ], - 64: [ - function (t, e, r) { - var n = t("./lng_lat"), - i = t("@mapbox/point-geometry"), - a = t("./coordinate"), - o = t("../util/util"), - s = t("../style-spec/util/interpolate").number, - l = t("../util/tile_cover"), - c = t("../source/tile_id"), - u = (c.CanonicalTileID, c.UnwrappedTileID), - f = t("../data/extent"), - h = t("@mapbox/gl-matrix"), - p = h.vec4, - d = h.mat4, - g = h.mat2, - m = function (t, e, r) { - ((this.tileSize = 512), - (this._renderWorldCopies = void 0 === r || r), - (this._minZoom = t || 0), - (this._maxZoom = e || 22), - (this.latRange = [-85.05113, 85.05113]), - (this.width = 0), - (this.height = 0), - (this._center = new n(0, 0)), - (this.zoom = 0), - (this.angle = 0), - (this._fov = 0.6435011087932844), - (this._pitch = 0), - (this._unmodified = !0), - (this._posMatrixCache = {}), - (this._alignedPosMatrixCache = {})); - }, - v = { - minZoom: {}, - maxZoom: {}, - renderWorldCopies: {}, - worldSize: {}, - centerPoint: {}, - size: {}, - bearing: {}, - pitch: {}, - fov: {}, - zoom: {}, - center: {}, - unmodified: {}, - x: {}, - y: {}, - point: {}, - }; - ((m.prototype.clone = function () { - var t = new m( - this._minZoom, - this._maxZoom, - this._renderWorldCopies, - ); - return ( - (t.tileSize = this.tileSize), - (t.latRange = this.latRange), - (t.width = this.width), - (t.height = this.height), - (t._center = this._center), - (t.zoom = this.zoom), - (t.angle = this.angle), - (t._fov = this._fov), - (t._pitch = this._pitch), - (t._unmodified = this._unmodified), - t._calcMatrices(), - t - ); - }), - (v.minZoom.get = function () { - return this._minZoom; - }), - (v.minZoom.set = function (t) { - this._minZoom !== t && - ((this._minZoom = t), (this.zoom = Math.max(this.zoom, t))); - }), - (v.maxZoom.get = function () { - return this._maxZoom; - }), - (v.maxZoom.set = function (t) { - this._maxZoom !== t && - ((this._maxZoom = t), (this.zoom = Math.min(this.zoom, t))); - }), - (v.renderWorldCopies.get = function () { - return this._renderWorldCopies; - }), - (v.worldSize.get = function () { - return this.tileSize * this.scale; - }), - (v.centerPoint.get = function () { - return this.size._div(2); - }), - (v.size.get = function () { - return new i(this.width, this.height); - }), - (v.bearing.get = function () { - return (-this.angle / Math.PI) * 180; - }), - (v.bearing.set = function (t) { - var e = (-o.wrap(t, -180, 180) * Math.PI) / 180; - this.angle !== e && - ((this._unmodified = !1), - (this.angle = e), - this._calcMatrices(), - (this.rotationMatrix = g.create()), - g.rotate( - this.rotationMatrix, - this.rotationMatrix, - this.angle, - )); - }), - (v.pitch.get = function () { - return (this._pitch / Math.PI) * 180; - }), - (v.pitch.set = function (t) { - var e = (o.clamp(t, 0, 60) / 180) * Math.PI; - this._pitch !== e && - ((this._unmodified = !1), - (this._pitch = e), - this._calcMatrices()); - }), - (v.fov.get = function () { - return (this._fov / Math.PI) * 180; - }), - (v.fov.set = function (t) { - ((t = Math.max(0.01, Math.min(60, t))), - this._fov !== t && - ((this._unmodified = !1), - (this._fov = (t / 180) * Math.PI), - this._calcMatrices())); - }), - (v.zoom.get = function () { - return this._zoom; - }), - (v.zoom.set = function (t) { - var e = Math.min(Math.max(t, this.minZoom), this.maxZoom); - this._zoom !== e && - ((this._unmodified = !1), - (this._zoom = e), - (this.scale = this.zoomScale(e)), - (this.tileZoom = Math.floor(e)), - (this.zoomFraction = e - this.tileZoom), - this._constrain(), - this._calcMatrices()); - }), - (v.center.get = function () { - return this._center; - }), - (v.center.set = function (t) { - (t.lat === this._center.lat && t.lng === this._center.lng) || - ((this._unmodified = !1), - (this._center = t), - this._constrain(), - this._calcMatrices()); - }), - (m.prototype.coveringZoomLevel = function (t) { - return (t.roundZoom ? Math.round : Math.floor)( - this.zoom + this.scaleZoom(this.tileSize / t.tileSize), - ); - }), - (m.prototype.getVisibleUnwrappedCoordinates = function (t) { - var e = this.pointCoordinate(new i(0, 0), 0), - r = this.pointCoordinate(new i(this.width, 0), 0), - n = Math.floor(e.column), - a = Math.floor(r.column), - o = [new u(0, t)]; - if (this._renderWorldCopies) - for (var s = n; s <= a; s++) 0 !== s && o.push(new u(s, t)); - return o; - }), - (m.prototype.coveringTiles = function (t) { - var e = this.coveringZoomLevel(t), - r = e; - if (void 0 !== t.minzoom && e < t.minzoom) return []; - void 0 !== t.maxzoom && e > t.maxzoom && (e = t.maxzoom); - var n = this.pointCoordinate(this.centerPoint, e), - a = new i(n.column - 0.5, n.row - 0.5), - o = [ - this.pointCoordinate(new i(0, 0), e), - this.pointCoordinate(new i(this.width, 0), e), - this.pointCoordinate(new i(this.width, this.height), e), - this.pointCoordinate(new i(0, this.height), e), - ]; - return l( - e, - o, - t.reparseOverscaled ? r : e, - this._renderWorldCopies, - ).sort(function (t, e) { - return a.dist(t.canonical) - a.dist(e.canonical); - }); - }), - (m.prototype.resize = function (t, e) { - ((this.width = t), - (this.height = e), - (this.pixelsToGLUnits = [2 / t, -2 / e]), - this._constrain(), - this._calcMatrices()); - }), - (v.unmodified.get = function () { - return this._unmodified; - }), - (m.prototype.zoomScale = function (t) { - return Math.pow(2, t); - }), - (m.prototype.scaleZoom = function (t) { - return Math.log(t) / Math.LN2; - }), - (m.prototype.project = function (t) { - return new i(this.lngX(t.lng), this.latY(t.lat)); - }), - (m.prototype.unproject = function (t) { - return new n(this.xLng(t.x), this.yLat(t.y)); - }), - (v.x.get = function () { - return this.lngX(this.center.lng); - }), - (v.y.get = function () { - return this.latY(this.center.lat); - }), - (v.point.get = function () { - return new i(this.x, this.y); - }), - (m.prototype.lngX = function (t) { - return ((180 + t) * this.worldSize) / 360; - }), - (m.prototype.latY = function (t) { - return ( - ((180 - - (180 / Math.PI) * - Math.log(Math.tan(Math.PI / 4 + (t * Math.PI) / 360))) * - this.worldSize) / - 360 - ); - }), - (m.prototype.xLng = function (t) { - return (360 * t) / this.worldSize - 180; - }), - (m.prototype.yLat = function (t) { - var e = 180 - (360 * t) / this.worldSize; - return ( - (360 / Math.PI) * Math.atan(Math.exp((e * Math.PI) / 180)) - - 90 - ); - }), - (m.prototype.setLocationAtPoint = function (t, e) { - var r = this.pointCoordinate(e)._sub( - this.pointCoordinate(this.centerPoint), - ); - ((this.center = this.coordinateLocation( - this.locationCoordinate(t)._sub(r), - )), - this._renderWorldCopies && - (this.center = this.center.wrap())); - }), - (m.prototype.locationPoint = function (t) { - return this.coordinatePoint(this.locationCoordinate(t)); - }), - (m.prototype.pointLocation = function (t) { - return this.coordinateLocation(this.pointCoordinate(t)); - }), - (m.prototype.locationCoordinate = function (t) { - return new a( - this.lngX(t.lng) / this.tileSize, - this.latY(t.lat) / this.tileSize, - this.zoom, - ).zoomTo(this.tileZoom); - }), - (m.prototype.coordinateLocation = function (t) { - var e = t.zoomTo(this.zoom); - return new n( - this.xLng(e.column * this.tileSize), - this.yLat(e.row * this.tileSize), - ); - }), - (m.prototype.pointCoordinate = function (t, e) { - void 0 === e && (e = this.tileZoom); - var r = [t.x, t.y, 0, 1], - n = [t.x, t.y, 1, 1]; - (p.transformMat4(r, r, this.pixelMatrixInverse), - p.transformMat4(n, n, this.pixelMatrixInverse)); - var i = r[3], - o = n[3], - l = r[1] / i, - c = n[1] / o, - u = r[2] / i, - f = n[2] / o, - h = u === f ? 0 : (0 - u) / (f - u); - return new a( - s(r[0] / i, n[0] / o, h) / this.tileSize, - s(l, c, h) / this.tileSize, - this.zoom, - )._zoomTo(e); - }), - (m.prototype.coordinatePoint = function (t) { - var e = t.zoomTo(this.zoom), - r = [e.column * this.tileSize, e.row * this.tileSize, 0, 1]; - return ( - p.transformMat4(r, r, this.pixelMatrix), - new i(r[0] / r[3], r[1] / r[3]) - ); - }), - (m.prototype.calculatePosMatrix = function (t, e) { - void 0 === e && (e = !1); - var r = t.key, - n = e ? this._alignedPosMatrixCache : this._posMatrixCache; - if (n[r]) return n[r]; - var i = t.canonical, - a = this.worldSize / this.zoomScale(i.z), - o = i.x + Math.pow(2, i.z) * t.wrap, - s = d.identity(new Float64Array(16)); - return ( - d.translate(s, s, [o * a, i.y * a, 0]), - d.scale(s, s, [a / f, a / f, 1]), - d.multiply( - s, - e ? this.alignedProjMatrix : this.projMatrix, - s, - ), - (n[r] = new Float32Array(s)), - n[r] - ); - }), - (m.prototype._constrain = function () { - if ( - this.center && - this.width && - this.height && - !this._constraining - ) { - this._constraining = !0; - var t, - e, - r, - n, - a = -90, - o = 90, - s = -180, - l = 180, - c = this.size, - u = this._unmodified; - if (this.latRange) { - var f = this.latRange; - ((a = this.latY(f[1])), - (t = - (o = this.latY(f[0])) - a < c.y ? c.y / (o - a) : 0)); - } - if (this.lngRange) { - var h = this.lngRange; - ((s = this.lngX(h[0])), - (e = - (l = this.lngX(h[1])) - s < c.x ? c.x / (l - s) : 0)); - } - var p = Math.max(e || 0, t || 0); - if (p) - return ( - (this.center = this.unproject( - new i( - e ? (l + s) / 2 : this.x, - t ? (o + a) / 2 : this.y, - ), - )), - (this.zoom += this.scaleZoom(p)), - (this._unmodified = u), - void (this._constraining = !1) - ); - if (this.latRange) { - var d = this.y, - g = c.y / 2; - (d - g < a && (n = a + g), d + g > o && (n = o - g)); - } - if (this.lngRange) { - var m = this.x, - v = c.x / 2; - (m - v < s && (r = s + v), m + v > l && (r = l - v)); - } - ((void 0 === r && void 0 === n) || - (this.center = this.unproject( - new i( - void 0 !== r ? r : this.x, - void 0 !== n ? n : this.y, - ), - )), - (this._unmodified = u), - (this._constraining = !1)); - } - }), - (m.prototype._calcMatrices = function () { - if (this.height) { - this.cameraToCenterDistance = - (0.5 / Math.tan(this._fov / 2)) * this.height; - var t = this._fov / 2, - e = Math.PI / 2 + this._pitch, - r = - (Math.sin(t) * this.cameraToCenterDistance) / - Math.sin(Math.PI - e - t), - n = this.x, - i = this.y, - a = - 1.01 * - (Math.cos(Math.PI / 2 - this._pitch) * r + - this.cameraToCenterDistance), - o = new Float64Array(16); - (d.perspective( - o, - this._fov, - this.width / this.height, - 1, - a, - ), - d.scale(o, o, [1, -1, 1]), - d.translate(o, o, [0, 0, -this.cameraToCenterDistance]), - d.rotateX(o, o, this._pitch), - d.rotateZ(o, o, this.angle), - d.translate(o, o, [-n, -i, 0])); - var s = - this.worldSize / - (2 * - Math.PI * - 6378137 * - Math.abs(Math.cos(this.center.lat * (Math.PI / 180)))); - (d.scale(o, o, [1, 1, s, 1]), (this.projMatrix = o)); - var l = (this.width % 2) / 2, - c = (this.height % 2) / 2, - u = Math.cos(this.angle), - f = Math.sin(this.angle), - h = n - Math.round(n) + u * l + f * c, - p = i - Math.round(i) + u * c + f * l, - g = new Float64Array(o); - if ( - (d.translate(g, g, [ - h > 0.5 ? h - 1 : h, - p > 0.5 ? p - 1 : p, - 0, - ]), - (this.alignedProjMatrix = g), - (o = d.create()), - d.scale(o, o, [this.width / 2, -this.height / 2, 1]), - d.translate(o, o, [1, -1, 0]), - (this.pixelMatrix = d.multiply( - new Float64Array(16), - o, - this.projMatrix, - )), - !(o = d.invert(new Float64Array(16), this.pixelMatrix))) - ) - throw new Error("failed to invert matrix"); - ((this.pixelMatrixInverse = o), - (this._posMatrixCache = {}), - (this._alignedPosMatrixCache = {})); - } - }), - Object.defineProperties(m.prototype, v), - (e.exports = m)); - }, - { - "../data/extent": 53, - "../source/tile_id": 114, - "../style-spec/util/interpolate": 158, - "../util/tile_cover": 273, - "../util/util": 275, - "./coordinate": 61, - "./lng_lat": 62, - "@mapbox/gl-matrix": 2, - "@mapbox/point-geometry": 4, - }, - ], - 65: [ - function (t, e, r) { - var n = t("../style-spec/util/color"), - i = function (t, e, r) { - ((this.blendFunction = t), - (this.blendColor = e), - (this.mask = r)); - }; - ((i.disabled = new i((i.Replace = [1, 0]), n.transparent, [ - !1, - !1, - !1, - !1, - ])), - (i.unblended = new i(i.Replace, n.transparent, [ - !0, - !0, - !0, - !0, - ])), - (i.alphaBlended = new i([1, 771], n.transparent, [ - !0, - !0, - !0, - !0, - ])), - (e.exports = i)); - }, - { "../style-spec/util/color": 153 }, - ], - 66: [ - function (t, e, r) { - var n = t("./index_buffer"), - i = t("./vertex_buffer"), - a = t("./framebuffer"), - o = (t("./depth_mode"), t("./stencil_mode"), t("./color_mode")), - s = t("../util/util"), - l = t("./value"), - c = l.ClearColor, - u = l.ClearDepth, - f = l.ClearStencil, - h = l.ColorMask, - p = l.DepthMask, - d = l.StencilMask, - g = l.StencilFunc, - m = l.StencilOp, - v = l.StencilTest, - y = l.DepthRange, - x = l.DepthTest, - b = l.DepthFunc, - _ = l.Blend, - w = l.BlendFunc, - k = l.BlendColor, - M = l.Program, - A = l.LineWidth, - T = l.ActiveTextureUnit, - S = l.Viewport, - C = l.BindFramebuffer, - E = l.BindRenderbuffer, - L = l.BindTexture, - z = l.BindVertexBuffer, - P = l.BindElementBuffer, - D = l.BindVertexArrayOES, - O = l.PixelStoreUnpack, - I = l.PixelStoreUnpackPremultiplyAlpha, - R = function (t) { - ((this.gl = t), - (this.extVertexArrayObject = this.gl.getExtension( - "OES_vertex_array_object", - )), - (this.lineWidthRange = t.getParameter( - t.ALIASED_LINE_WIDTH_RANGE, - )), - (this.clearColor = new c(this)), - (this.clearDepth = new u(this)), - (this.clearStencil = new f(this)), - (this.colorMask = new h(this)), - (this.depthMask = new p(this)), - (this.stencilMask = new d(this)), - (this.stencilFunc = new g(this)), - (this.stencilOp = new m(this)), - (this.stencilTest = new v(this)), - (this.depthRange = new y(this)), - (this.depthTest = new x(this)), - (this.depthFunc = new b(this)), - (this.blend = new _(this)), - (this.blendFunc = new w(this)), - (this.blendColor = new k(this)), - (this.program = new M(this)), - (this.lineWidth = new A(this)), - (this.activeTexture = new T(this)), - (this.viewport = new S(this)), - (this.bindFramebuffer = new C(this)), - (this.bindRenderbuffer = new E(this)), - (this.bindTexture = new L(this)), - (this.bindVertexBuffer = new z(this)), - (this.bindElementBuffer = new P(this)), - (this.bindVertexArrayOES = - this.extVertexArrayObject && new D(this)), - (this.pixelStoreUnpack = new O(this)), - (this.pixelStoreUnpackPremultiplyAlpha = new I(this)), - (this.extTextureFilterAnisotropic = - t.getExtension("EXT_texture_filter_anisotropic") || - t.getExtension("MOZ_EXT_texture_filter_anisotropic") || - t.getExtension("WEBKIT_EXT_texture_filter_anisotropic")), - this.extTextureFilterAnisotropic && - (this.extTextureFilterAnisotropicMax = t.getParameter( - this.extTextureFilterAnisotropic - .MAX_TEXTURE_MAX_ANISOTROPY_EXT, - )), - (this.extTextureHalfFloat = t.getExtension( - "OES_texture_half_float", - )), - this.extTextureHalfFloat && - t.getExtension("OES_texture_half_float_linear")); - }; - ((R.prototype.createIndexBuffer = function (t, e) { - return new n(this, t, e); - }), - (R.prototype.createVertexBuffer = function (t, e, r) { - return new i(this, t, e, r); - }), - (R.prototype.createRenderbuffer = function (t, e, r) { - var n = this.gl, - i = n.createRenderbuffer(); - return ( - this.bindRenderbuffer.set(i), - n.renderbufferStorage(n.RENDERBUFFER, t, e, r), - this.bindRenderbuffer.set(null), - i - ); - }), - (R.prototype.createFramebuffer = function (t, e) { - return new a(this, t, e); - }), - (R.prototype.clear = function (t) { - var e = t.color, - r = t.depth, - n = this.gl, - i = 0; - (e && - ((i |= n.COLOR_BUFFER_BIT), - this.clearColor.set(e), - this.colorMask.set([!0, !0, !0, !0])), - void 0 !== r && - ((i |= n.DEPTH_BUFFER_BIT), - this.clearDepth.set(r), - this.depthMask.set(!0)), - n.clear(i)); - }), - (R.prototype.setDepthMode = function (t) { - t.func !== this.gl.ALWAYS || t.mask - ? (this.depthTest.set(!0), - this.depthFunc.set(t.func), - this.depthMask.set(t.mask), - this.depthRange.set(t.range)) - : this.depthTest.set(!1); - }), - (R.prototype.setStencilMode = function (t) { - t.func !== this.gl.ALWAYS || t.mask - ? (this.stencilTest.set(!0), - this.stencilMask.set(t.mask), - this.stencilOp.set([t.fail, t.depthFail, t.pass]), - this.stencilFunc.set({ - func: t.test.func, - ref: t.ref, - mask: t.test.mask, - })) - : this.stencilTest.set(!1); - }), - (R.prototype.setColorMode = function (t) { - (s.deepEqual(t.blendFunction, o.Replace) - ? this.blend.set(!1) - : (this.blend.set(!0), - this.blendFunc.set(t.blendFunction), - this.blendColor.set(t.blendColor)), - this.colorMask.set(t.mask)); - }), - (e.exports = R)); - }, - { - "../util/util": 275, - "./color_mode": 65, - "./depth_mode": 67, - "./framebuffer": 68, - "./index_buffer": 69, - "./stencil_mode": 70, - "./value": 71, - "./vertex_buffer": 72, - }, - ], - 67: [ - function (t, e, r) { - var n = function (t, e, r) { - ((this.func = t), (this.mask = e), (this.range = r)); - }; - ((n.ReadOnly = !1), - (n.ReadWrite = !0), - (n.disabled = new n(519, n.ReadOnly, [0, 1])), - (e.exports = n)); - }, - {}, - ], - 68: [ - function (t, e, r) { - var n = t("./value"), - i = n.ColorAttachment, - a = n.DepthAttachment, - o = function (t, e, r) { - ((this.context = t), (this.width = e), (this.height = r)); - var n = t.gl, - o = (this.framebuffer = n.createFramebuffer()); - ((this.colorAttachment = new i(t, o)), - (this.depthAttachment = new a(t, o))); - }; - ((o.prototype.destroy = function () { - var t = this.context.gl, - e = this.colorAttachment.get(); - e && t.deleteTexture(e); - var r = this.depthAttachment.get(); - (r && t.deleteRenderbuffer(r), - t.deleteFramebuffer(this.framebuffer)); - }), - (e.exports = o)); - }, - { "./value": 71 }, - ], - 69: [ - function (t, e, r) { - var n = function (t, e, r) { - this.context = t; - var n = t.gl; - ((this.buffer = n.createBuffer()), - (this.dynamicDraw = Boolean(r)), - this.unbindVAO(), - t.bindElementBuffer.set(this.buffer), - n.bufferData( - n.ELEMENT_ARRAY_BUFFER, - e.arrayBuffer, - this.dynamicDraw ? n.DYNAMIC_DRAW : n.STATIC_DRAW, - ), - this.dynamicDraw || delete e.arrayBuffer); - }; - ((n.prototype.unbindVAO = function () { - this.context.extVertexArrayObject && - this.context.bindVertexArrayOES.set(null); - }), - (n.prototype.bind = function () { - this.context.bindElementBuffer.set(this.buffer); - }), - (n.prototype.updateData = function (t) { - var e = this.context.gl; - (this.unbindVAO(), - this.bind(), - e.bufferSubData(e.ELEMENT_ARRAY_BUFFER, 0, t.arrayBuffer)); - }), - (n.prototype.destroy = function () { - var t = this.context.gl; - this.buffer && - (t.deleteBuffer(this.buffer), delete this.buffer); - }), - (e.exports = n)); - }, - {}, - ], - 70: [ - function (t, e, r) { - var n = function (t, e, r, n, i, a) { - ((this.test = t), - (this.ref = e), - (this.mask = r), - (this.fail = n), - (this.depthFail = i), - (this.pass = a)); - }; - ((n.disabled = new n( - { func: 519, mask: 0 }, - 0, - 0, - 7680, - 7680, - 7680, - )), - (e.exports = n)); - }, - {}, - ], - 71: [ - function (t, e, r) { - var n = t("../style-spec/util/color"), - i = t("../util/util"), - a = function (t) { - ((this.context = t), (this.current = n.transparent)); - }; - ((a.prototype.get = function () { - return this.current; - }), - (a.prototype.set = function (t) { - var e = this.current; - (t.r === e.r && t.g === e.g && t.b === e.b && t.a === e.a) || - (this.context.gl.clearColor(t.r, t.g, t.b, t.a), - (this.current = t)); - })); - var o = function (t) { - ((this.context = t), (this.current = 1)); - }; - ((o.prototype.get = function () { - return this.current; - }), - (o.prototype.set = function (t) { - this.current !== t && - (this.context.gl.clearDepth(t), (this.current = t)); - })); - var s = function (t) { - ((this.context = t), (this.current = 0)); - }; - ((s.prototype.get = function () { - return this.current; - }), - (s.prototype.set = function (t) { - this.current !== t && - (this.context.gl.clearStencil(t), (this.current = t)); - })); - var l = function (t) { - ((this.context = t), (this.current = [!0, !0, !0, !0])); - }; - ((l.prototype.get = function () { - return this.current; - }), - (l.prototype.set = function (t) { - var e = this.current; - (t[0] === e[0] && - t[1] === e[1] && - t[2] === e[2] && - t[3] === e[3]) || - (this.context.gl.colorMask(t[0], t[1], t[2], t[3]), - (this.current = t)); - })); - var c = function (t) { - ((this.context = t), (this.current = !0)); - }; - ((c.prototype.get = function () { - return this.current; - }), - (c.prototype.set = function (t) { - this.current !== t && - (this.context.gl.depthMask(t), (this.current = t)); - })); - var u = function (t) { - ((this.context = t), (this.current = 255)); - }; - ((u.prototype.get = function () { - return this.current; - }), - (u.prototype.set = function (t) { - this.current !== t && - (this.context.gl.stencilMask(t), (this.current = t)); - })); - var f = function (t) { - ((this.context = t), - (this.current = { func: t.gl.ALWAYS, ref: 0, mask: 255 })); - }; - ((f.prototype.get = function () { - return this.current; - }), - (f.prototype.set = function (t) { - var e = this.current; - (t.func === e.func && t.ref === e.ref && t.mask === e.mask) || - (this.context.gl.stencilFunc(t.func, t.ref, t.mask), - (this.current = t)); - })); - var h = function (t) { - this.context = t; - var e = this.context.gl; - this.current = [e.KEEP, e.KEEP, e.KEEP]; - }; - ((h.prototype.get = function () { - return this.current; - }), - (h.prototype.set = function (t) { - var e = this.current; - (t[0] === e[0] && t[1] === e[1] && t[2] === e[2]) || - (this.context.gl.stencilOp(t[0], t[1], t[2]), - (this.current = t)); - })); - var p = function (t) { - ((this.context = t), (this.current = !1)); - }; - ((p.prototype.get = function () { - return this.current; - }), - (p.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (t ? e.enable(e.STENCIL_TEST) : e.disable(e.STENCIL_TEST), - (this.current = t)); - } - })); - var d = function (t) { - ((this.context = t), (this.current = [0, 1])); - }; - ((d.prototype.get = function () { - return this.current; - }), - (d.prototype.set = function (t) { - var e = this.current; - (t[0] === e[0] && t[1] === e[1]) || - (this.context.gl.depthRange(t[0], t[1]), - (this.current = t)); - })); - var g = function (t) { - ((this.context = t), (this.current = !1)); - }; - ((g.prototype.get = function () { - return this.current; - }), - (g.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (t ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), - (this.current = t)); - } - })); - var m = function (t) { - ((this.context = t), (this.current = t.gl.LESS)); - }; - ((m.prototype.get = function () { - return this.current; - }), - (m.prototype.set = function (t) { - this.current !== t && - (this.context.gl.depthFunc(t), (this.current = t)); - })); - var v = function (t) { - ((this.context = t), (this.current = !1)); - }; - ((v.prototype.get = function () { - return this.current; - }), - (v.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (t ? e.enable(e.BLEND) : e.disable(e.BLEND), - (this.current = t)); - } - })); - var y = function (t) { - this.context = t; - var e = this.context.gl; - this.current = [e.ONE, e.ZERO]; - }; - ((y.prototype.get = function () { - return this.current; - }), - (y.prototype.set = function (t) { - var e = this.current; - (t[0] === e[0] && t[1] === e[1]) || - (this.context.gl.blendFunc(t[0], t[1]), (this.current = t)); - })); - var x = function (t) { - ((this.context = t), (this.current = n.transparent)); - }; - ((x.prototype.get = function () { - return this.current; - }), - (x.prototype.set = function (t) { - var e = this.current; - (t.r === e.r && t.g === e.g && t.b === e.b && t.a === e.a) || - (this.context.gl.blendColor(t.r, t.g, t.b, t.a), - (this.current = t)); - })); - var b = function (t) { - ((this.context = t), (this.current = null)); - }; - ((b.prototype.get = function () { - return this.current; - }), - (b.prototype.set = function (t) { - this.current !== t && - (this.context.gl.useProgram(t), (this.current = t)); - })); - var _ = function (t) { - ((this.context = t), (this.current = 1)); - }; - ((_.prototype.get = function () { - return this.current; - }), - (_.prototype.set = function (t) { - var e = this.context.lineWidthRange, - r = i.clamp(t, e[0], e[1]); - this.current !== r && - (this.context.gl.lineWidth(r), (this.current = t)); - })); - var w = function (t) { - ((this.context = t), (this.current = t.gl.TEXTURE0)); - }; - ((w.prototype.get = function () { - return this.current; - }), - (w.prototype.set = function (t) { - this.current !== t && - (this.context.gl.activeTexture(t), (this.current = t)); - })); - var k = function (t) { - this.context = t; - var e = this.context.gl; - this.current = [ - 0, - 0, - e.drawingBufferWidth, - e.drawingBufferHeight, - ]; - }; - ((k.prototype.get = function () { - return this.current; - }), - (k.prototype.set = function (t) { - var e = this.current; - (t[0] === e[0] && - t[1] === e[1] && - t[2] === e[2] && - t[3] === e[3]) || - (this.context.gl.viewport(t[0], t[1], t[2], t[3]), - (this.current = t)); - })); - var M = function (t) { - ((this.context = t), (this.current = null)); - }; - ((M.prototype.get = function () { - return this.current; - }), - (M.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.bindFramebuffer(e.FRAMEBUFFER, t), (this.current = t)); - } - })); - var A = function (t) { - ((this.context = t), (this.current = null)); - }; - ((A.prototype.get = function () { - return this.current; - }), - (A.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.bindRenderbuffer(e.RENDERBUFFER, t), (this.current = t)); - } - })); - var T = function (t) { - ((this.context = t), (this.current = null)); - }; - ((T.prototype.get = function () { - return this.current; - }), - (T.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.bindTexture(e.TEXTURE_2D, t), (this.current = t)); - } - })); - var S = function (t) { - ((this.context = t), (this.current = null)); - }; - ((S.prototype.get = function () { - return this.current; - }), - (S.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.bindBuffer(e.ARRAY_BUFFER, t), (this.current = t)); - } - })); - var C = function (t) { - ((this.context = t), (this.current = null)); - }; - ((C.prototype.get = function () { - return this.current; - }), - (C.prototype.set = function (t) { - var e = this.context.gl; - (e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), (this.current = t)); - })); - var E = function (t) { - ((this.context = t), (this.current = null)); - }; - ((E.prototype.get = function () { - return this.current; - }), - (E.prototype.set = function (t) { - this.current !== t && - this.context.extVertexArrayObject && - (this.context.extVertexArrayObject.bindVertexArrayOES(t), - (this.current = t)); - })); - var L = function (t) { - ((this.context = t), (this.current = 4)); - }; - ((L.prototype.get = function () { - return this.current; - }), - (L.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.pixelStorei(e.UNPACK_ALIGNMENT, t), (this.current = t)); - } - })); - var z = function (t) { - ((this.context = t), (this.current = !1)); - }; - ((z.prototype.get = function () { - return this.current; - }), - (z.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, t), - (this.current = t)); - } - })); - var P = function (t, e) { - ((this.context = t), (this.current = null), (this.parent = e)); - }; - P.prototype.get = function () { - return this.current; - }; - var D = (function (t) { - function e(e, r) { - (t.call(this, e, r), (this.dirty = !1)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.set = function (t) { - if (this.dirty || this.current !== t) { - var e = this.context.gl; - (this.context.bindFramebuffer.set(this.parent), - e.framebufferTexture2D( - e.FRAMEBUFFER, - e.COLOR_ATTACHMENT0, - e.TEXTURE_2D, - t, - 0, - ), - (this.current = t), - (this.dirty = !1)); - } - }), - (e.prototype.setDirty = function () { - this.dirty = !0; - }), - e - ); - })(P), - O = (function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.set = function (t) { - if (this.current !== t) { - var e = this.context.gl; - (this.context.bindFramebuffer.set(this.parent), - e.framebufferRenderbuffer( - e.FRAMEBUFFER, - e.DEPTH_ATTACHMENT, - e.RENDERBUFFER, - t, - ), - (this.current = t)); - } - }), - e - ); - })(P); - e.exports = { - ClearColor: a, - ClearDepth: o, - ClearStencil: s, - ColorMask: l, - DepthMask: c, - StencilMask: u, - StencilFunc: f, - StencilOp: h, - StencilTest: p, - DepthRange: d, - DepthTest: g, - DepthFunc: m, - Blend: v, - BlendFunc: y, - BlendColor: x, - Program: b, - LineWidth: _, - ActiveTextureUnit: w, - Viewport: k, - BindFramebuffer: M, - BindRenderbuffer: A, - BindTexture: T, - BindVertexBuffer: S, - BindElementBuffer: C, - BindVertexArrayOES: E, - PixelStoreUnpack: L, - PixelStoreUnpackPremultiplyAlpha: z, - ColorAttachment: D, - DepthAttachment: O, - }; - }, - { "../style-spec/util/color": 153, "../util/util": 275 }, - ], - 72: [ - function (t, e, r) { - var n = { - Int8: "BYTE", - Uint8: "UNSIGNED_BYTE", - Int16: "SHORT", - Uint16: "UNSIGNED_SHORT", - Int32: "INT", - Uint32: "UNSIGNED_INT", - Float32: "FLOAT", - }, - i = function (t, e, r, n) { - ((this.length = e.length), - (this.attributes = r), - (this.itemSize = e.bytesPerElement), - (this.dynamicDraw = n), - (this.context = t)); - var i = t.gl; - ((this.buffer = i.createBuffer()), - t.bindVertexBuffer.set(this.buffer), - i.bufferData( - i.ARRAY_BUFFER, - e.arrayBuffer, - this.dynamicDraw ? i.DYNAMIC_DRAW : i.STATIC_DRAW, - ), - this.dynamicDraw || delete e.arrayBuffer); - }; - ((i.prototype.bind = function () { - this.context.bindVertexBuffer.set(this.buffer); - }), - (i.prototype.updateData = function (t) { - var e = this.context.gl; - (this.bind(), - e.bufferSubData(e.ARRAY_BUFFER, 0, t.arrayBuffer)); - }), - (i.prototype.enableAttributes = function (t, e) { - for (var r = 0; r < this.attributes.length; r++) { - var n = this.attributes[r], - i = e.attributes[n.name]; - void 0 !== i && t.enableVertexAttribArray(i); - } - }), - (i.prototype.setVertexAttribPointers = function (t, e, r) { - for (var i = this, a = 0; a < this.attributes.length; a++) { - var o = i.attributes[a], - s = e.attributes[o.name]; - void 0 !== s && - t.vertexAttribPointer( - s, - o.components, - t[n[o.type]], - !1, - i.itemSize, - o.offset + i.itemSize * (r || 0), - ); - } - }), - (i.prototype.destroy = function () { - var t = this.context.gl; - this.buffer && - (t.deleteBuffer(this.buffer), delete this.buffer); - }), - (e.exports = i)); - }, - {}, - ], - 73: [ - function (t, e, r) { - var n = t("@mapbox/mapbox-gl-supported"), - i = t("./util/browser"), - a = t("../package.json").version, - o = t("./ui/map"), - s = t("./ui/control/navigation_control"), - l = t("./ui/control/geolocate_control"), - c = t("./ui/control/attribution_control"), - u = t("./ui/control/scale_control"), - f = t("./ui/control/fullscreen_control"), - h = t("./ui/popup"), - p = t("./ui/marker"), - d = t("./style/style"), - g = t("./geo/lng_lat"), - m = t("./geo/lng_lat_bounds"), - v = t("@mapbox/point-geometry"), - y = t("./util/evented"), - x = t("./util/config"), - b = t("./source/rtl_text_plugin"); - e.exports = { - version: a, - supported: n, - workerCount: Math.max(Math.floor(i.hardwareConcurrency / 2), 1), - setRTLTextPlugin: b.setRTLTextPlugin, - Map: o, - NavigationControl: s, - GeolocateControl: l, - AttributionControl: c, - ScaleControl: u, - FullscreenControl: f, - Popup: h, - Marker: p, - Style: d, - LngLat: g, - LngLatBounds: m, - Point: v, - Evented: y, - config: x, - get accessToken() { - return x.ACCESS_TOKEN; - }, - set accessToken(t) { - x.ACCESS_TOKEN = t; - }, - }; - }, - { - "../package.json": 38, - "./geo/lng_lat": 62, - "./geo/lng_lat_bounds": 63, - "./source/rtl_text_plugin": 109, - "./style/style": 190, - "./ui/control/attribution_control": 232, - "./ui/control/fullscreen_control": 233, - "./ui/control/geolocate_control": 234, - "./ui/control/navigation_control": 236, - "./ui/control/scale_control": 237, - "./ui/map": 247, - "./ui/marker": 248, - "./ui/popup": 249, - "./util/browser": 252, - "./util/config": 256, - "./util/evented": 260, - "@mapbox/mapbox-gl-supported": 3, - "@mapbox/point-geometry": 4, - }, - ], - 74: [ - function (t, e, r) { - var n = t("./pattern"), - i = t("../gl/stencil_mode"), - a = t("../gl/depth_mode"); - e.exports = function (t, e, r) { - var o = r.paint.get("background-color"), - s = r.paint.get("background-opacity"); - if (0 !== s) { - var l = t.context, - c = l.gl, - u = t.transform, - f = u.tileSize, - h = r.paint.get("background-pattern"), - p = h || 1 !== o.a || 1 !== s ? "translucent" : "opaque"; - if (t.renderPass === p) { - var d; - if ( - (l.setStencilMode(i.disabled), - l.setDepthMode( - t.depthModeForSublayer( - 0, - "opaque" === p ? a.ReadWrite : a.ReadOnly, - ), - ), - l.setColorMode(t.colorModeForRenderPass()), - h) - ) { - if (n.isPatternMissing(h, t)) return; - ((d = t.useProgram("backgroundPattern")), - n.prepare(h, t, d), - t.tileExtentPatternVAO.bind( - l, - d, - t.tileExtentBuffer, - [], - )); - } else - ((d = t.useProgram("background")), - c.uniform4fv(d.uniforms.u_color, [o.r, o.g, o.b, o.a]), - t.tileExtentVAO.bind(l, d, t.tileExtentBuffer, [])); - c.uniform1f(d.uniforms.u_opacity, s); - for ( - var g = 0, m = u.coveringTiles({ tileSize: f }); - g < m.length; - g += 1 - ) { - var v = m[g]; - (h && n.setTile({ tileID: v, tileSize: f }, t, d), - c.uniformMatrix4fv( - d.uniforms.u_matrix, - !1, - t.transform.calculatePosMatrix(v.toUnwrapped()), - ), - c.drawArrays( - c.TRIANGLE_STRIP, - 0, - t.tileExtentBuffer.length, - )); - } - } - } - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "./pattern": 91, - }, - ], - 75: [ - function (t, e, r) { - var n = t("../source/pixels_to_tile_units"), - i = t("../gl/stencil_mode"), - a = t("../gl/depth_mode"); - e.exports = function (t, e, r, o) { - if ("translucent" === t.renderPass) { - var s = r.paint.get("circle-opacity"), - l = r.paint.get("circle-stroke-width"), - c = r.paint.get("circle-stroke-opacity"); - if ( - 0 !== s.constantOr(1) || - (0 !== l.constantOr(1) && 0 !== c.constantOr(1)) - ) { - var u = t.context, - f = u.gl; - (u.setDepthMode(t.depthModeForSublayer(0, a.ReadOnly)), - u.setStencilMode(i.disabled), - u.setColorMode(t.colorModeForRenderPass())); - for (var h = !0, p = 0; p < o.length; p++) { - var d = o[p], - g = e.getTile(d), - m = g.getBucket(r); - if (m) { - var v = t.context.program.get(), - y = m.programConfigurations.get(r.id), - x = t.useProgram("circle", y); - if ( - ((h || x.program !== v) && - (y.setUniforms(u, x, r.paint, { - zoom: t.transform.zoom, - }), - (h = !1)), - f.uniform1f( - x.uniforms.u_camera_to_center_distance, - t.transform.cameraToCenterDistance, - ), - f.uniform1i( - x.uniforms.u_scale_with_map, - "map" === r.paint.get("circle-pitch-scale") ? 1 : 0, - ), - "map" === r.paint.get("circle-pitch-alignment")) - ) { - f.uniform1i(x.uniforms.u_pitch_with_map, 1); - var b = n(g, 1, t.transform.zoom); - f.uniform2f(x.uniforms.u_extrude_scale, b, b); - } else - (f.uniform1i(x.uniforms.u_pitch_with_map, 0), - f.uniform2fv( - x.uniforms.u_extrude_scale, - t.transform.pixelsToGLUnits, - )); - (f.uniformMatrix4fv( - x.uniforms.u_matrix, - !1, - t.translatePosMatrix( - d.posMatrix, - g, - r.paint.get("circle-translate"), - r.paint.get("circle-translate-anchor"), - ), - ), - x.draw( - u, - f.TRIANGLES, - r.id, - m.layoutVertexBuffer, - m.indexBuffer, - m.segments, - y, - )); - } - } - } - } - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../source/pixels_to_tile_units": 104, - }, - ], - 76: [ - function (t, e, r) { - function n(t, e, r, n, s) { - var l = t.context, - c = l.gl, - u = s - ? t.useProgram("collisionCircle") - : t.useProgram("collisionBox"); - (l.setDepthMode(a.disabled), - l.setStencilMode(o.disabled), - l.setColorMode(t.colorModeForRenderPass())); - for (var f = 0; f < n.length; f++) { - var h = n[f], - p = e.getTile(h), - d = p.getBucket(r); - if (d) { - var g = s ? d.collisionCircle : d.collisionBox; - if (g) { - (c.uniformMatrix4fv(u.uniforms.u_matrix, !1, h.posMatrix), - s || l.lineWidth.set(1), - c.uniform1f( - u.uniforms.u_camera_to_center_distance, - t.transform.cameraToCenterDistance, - )); - var m = i(p, 1, t.transform.zoom), - v = Math.pow( - 2, - t.transform.zoom - p.tileID.overscaledZ, - ); - (c.uniform1f(u.uniforms.u_pixels_to_tile_units, m), - c.uniform2f( - u.uniforms.u_extrude_scale, - t.transform.pixelsToGLUnits[0] / (m * v), - t.transform.pixelsToGLUnits[1] / (m * v), - ), - u.draw( - l, - s ? c.TRIANGLES : c.LINES, - r.id, - g.layoutVertexBuffer, - g.indexBuffer, - g.segments, - null, - g.collisionVertexBuffer, - null, - )); - } - } - } - } - var i = t("../source/pixels_to_tile_units"), - a = t("../gl/depth_mode"), - o = t("../gl/stencil_mode"); - e.exports = function (t, e, r, i) { - (n(t, e, r, i, !1), n(t, e, r, i, !0)); - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../source/pixels_to_tile_units": 104, - }, - ], - 77: [ - function (t, e, r) { - function n(t, e, r) { - var n = t.context, - p = n.gl; - n.lineWidth.set(1 * i.devicePixelRatio); - var d = r.posMatrix, - g = t.useProgram("debug"); - (n.setDepthMode(u.disabled), - n.setStencilMode(f.disabled), - n.setColorMode(t.colorModeForRenderPass()), - p.uniformMatrix4fv(g.uniforms.u_matrix, !1, d), - p.uniform4f(g.uniforms.u_color, 1, 0, 0, 1), - t.debugVAO.bind(n, g, t.debugBuffer, []), - p.drawArrays(p.LINE_STRIP, 0, t.debugBuffer.length)); - for ( - var m = (function (t, e, r, n) { - n = n || 1; - var i, - a, - o, - s, - l, - c, - u, - f, - p = []; - for (i = 0, a = t.length; i < a; i++) - if ((l = h[t[i]])) { - for (f = null, o = 0, s = l[1].length; o < s; o += 2) - -1 === l[1][o] && -1 === l[1][o + 1] - ? (f = null) - : ((c = e + l[1][o] * n), - (u = r - l[1][o + 1] * n), - f && p.push(f.x, f.y, c, u), - (f = { x: c, y: u })); - e += l[0] * n; - } - return p; - })(r.toString(), 50, 200, 5), - v = new l(), - y = 0; - y < m.length; - y += 2 - ) - v.emplaceBack(m[y], m[y + 1]); - var x = n.createVertexBuffer(v, c.members); - (new s().bind(n, g, x, []), - p.uniform4f(g.uniforms.u_color, 1, 1, 1, 1)); - for ( - var b = e.getTile(r).tileSize, - _ = o / (Math.pow(2, t.transform.zoom - r.overscaledZ) * b), - w = [ - [-1, -1], - [-1, 1], - [1, -1], - [1, 1], - ], - k = 0; - k < w.length; - k++ - ) { - var M = w[k]; - (p.uniformMatrix4fv( - g.uniforms.u_matrix, - !1, - a.translate([], d, [_ * M[0], _ * M[1], 0]), - ), - p.drawArrays(p.LINES, 0, x.length)); - } - (p.uniform4f(g.uniforms.u_color, 0, 0, 0, 1), - p.uniformMatrix4fv(g.uniforms.u_matrix, !1, d), - p.drawArrays(p.LINES, 0, x.length)); - } - var i = t("../util/browser"), - a = t("@mapbox/gl-matrix").mat4, - o = t("../data/extent"), - s = t("./vertex_array_object"), - l = t("../data/array_types").PosArray, - c = t("../data/pos_attributes"), - u = t("../gl/depth_mode"), - f = t("../gl/stencil_mode"); - e.exports = function (t, e, r) { - for (var i = 0; i < r.length; i++) n(t, e, r[i]); - }; - var h = { - " ": [16, []], - "!": [10, [5, 21, 5, 7, -1, -1, 5, 2, 4, 1, 5, 0, 6, 1, 5, 2]], - '"': [16, [4, 21, 4, 14, -1, -1, 12, 21, 12, 14]], - "#": [ - 21, - [ - 11, 25, 4, -7, -1, -1, 17, 25, 10, -7, -1, -1, 4, 12, 18, - 12, -1, -1, 3, 6, 17, 6, - ], - ], - $: [ - 20, - [ - 8, 25, 8, -4, -1, -1, 12, 25, 12, -4, -1, -1, 17, 18, 15, - 20, 12, 21, 8, 21, 5, 20, 3, 18, 3, 16, 4, 14, 5, 13, 7, 12, - 13, 10, 15, 9, 16, 8, 17, 6, 17, 3, 15, 1, 12, 0, 8, 0, 5, - 1, 3, 3, - ], - ], - "%": [ - 24, - [ - 21, 21, 3, 0, -1, -1, 8, 21, 10, 19, 10, 17, 9, 15, 7, 14, - 5, 14, 3, 16, 3, 18, 4, 20, 6, 21, 8, 21, 10, 20, 13, 19, - 16, 19, 19, 20, 21, 21, -1, -1, 17, 7, 15, 6, 14, 4, 14, 2, - 16, 0, 18, 0, 20, 1, 21, 3, 21, 5, 19, 7, 17, 7, - ], - ], - "&": [ - 26, - [ - 23, 12, 23, 13, 22, 14, 21, 14, 20, 13, 19, 11, 17, 6, 15, - 3, 13, 1, 11, 0, 7, 0, 5, 1, 4, 2, 3, 4, 3, 6, 4, 8, 5, 9, - 12, 13, 13, 14, 14, 16, 14, 18, 13, 20, 11, 21, 9, 20, 8, - 18, 8, 16, 9, 13, 11, 10, 16, 3, 18, 1, 20, 0, 22, 0, 23, 1, - 23, 2, - ], - ], - "'": [10, [5, 19, 4, 20, 5, 21, 6, 20, 6, 18, 5, 16, 4, 15]], - "(": [ - 14, - [ - 11, 25, 9, 23, 7, 20, 5, 16, 4, 11, 4, 7, 5, 2, 7, -2, 9, - -5, 11, -7, - ], - ], - ")": [ - 14, - [ - 3, 25, 5, 23, 7, 20, 9, 16, 10, 11, 10, 7, 9, 2, 7, -2, 5, - -5, 3, -7, - ], - ], - "*": [ - 16, - [8, 21, 8, 9, -1, -1, 3, 18, 13, 12, -1, -1, 13, 18, 3, 12], - ], - "+": [26, [13, 18, 13, 0, -1, -1, 4, 9, 22, 9]], - ",": [10, [6, 1, 5, 0, 4, 1, 5, 2, 6, 1, 6, -1, 5, -3, 4, -4]], - "-": [26, [4, 9, 22, 9]], - ".": [10, [5, 2, 4, 1, 5, 0, 6, 1, 5, 2]], - "/": [22, [20, 25, 2, -7]], - 0: [ - 20, - [ - 9, 21, 6, 20, 4, 17, 3, 12, 3, 9, 4, 4, 6, 1, 9, 0, 11, 0, - 14, 1, 16, 4, 17, 9, 17, 12, 16, 17, 14, 20, 11, 21, 9, 21, - ], - ], - 1: [20, [6, 17, 8, 18, 11, 21, 11, 0]], - 2: [ - 20, - [ - 4, 16, 4, 17, 5, 19, 6, 20, 8, 21, 12, 21, 14, 20, 15, 19, - 16, 17, 16, 15, 15, 13, 13, 10, 3, 0, 17, 0, - ], - ], - 3: [ - 20, - [ - 5, 21, 16, 21, 10, 13, 13, 13, 15, 12, 16, 11, 17, 8, 17, 6, - 16, 3, 14, 1, 11, 0, 8, 0, 5, 1, 4, 2, 3, 4, - ], - ], - 4: [20, [13, 21, 3, 7, 18, 7, -1, -1, 13, 21, 13, 0]], - 5: [ - 20, - [ - 15, 21, 5, 21, 4, 12, 5, 13, 8, 14, 11, 14, 14, 13, 16, 11, - 17, 8, 17, 6, 16, 3, 14, 1, 11, 0, 8, 0, 5, 1, 4, 2, 3, 4, - ], - ], - 6: [ - 20, - [ - 16, 18, 15, 20, 12, 21, 10, 21, 7, 20, 5, 17, 4, 12, 4, 7, - 5, 3, 7, 1, 10, 0, 11, 0, 14, 1, 16, 3, 17, 6, 17, 7, 16, - 10, 14, 12, 11, 13, 10, 13, 7, 12, 5, 10, 4, 7, - ], - ], - 7: [20, [17, 21, 7, 0, -1, -1, 3, 21, 17, 21]], - 8: [ - 20, - [ - 8, 21, 5, 20, 4, 18, 4, 16, 5, 14, 7, 13, 11, 12, 14, 11, - 16, 9, 17, 7, 17, 4, 16, 2, 15, 1, 12, 0, 8, 0, 5, 1, 4, 2, - 3, 4, 3, 7, 4, 9, 6, 11, 9, 12, 13, 13, 15, 14, 16, 16, 16, - 18, 15, 20, 12, 21, 8, 21, - ], - ], - 9: [ - 20, - [ - 16, 14, 15, 11, 13, 9, 10, 8, 9, 8, 6, 9, 4, 11, 3, 14, 3, - 15, 4, 18, 6, 20, 9, 21, 10, 21, 13, 20, 15, 18, 16, 14, 16, - 9, 15, 4, 13, 1, 10, 0, 8, 0, 5, 1, 4, 3, - ], - ], - ":": [ - 10, - [ - 5, 14, 4, 13, 5, 12, 6, 13, 5, 14, -1, -1, 5, 2, 4, 1, 5, 0, - 6, 1, 5, 2, - ], - ], - ";": [ - 10, - [ - 5, 14, 4, 13, 5, 12, 6, 13, 5, 14, -1, -1, 6, 1, 5, 0, 4, 1, - 5, 2, 6, 1, 6, -1, 5, -3, 4, -4, - ], - ], - "<": [24, [20, 18, 4, 9, 20, 0]], - "=": [26, [4, 12, 22, 12, -1, -1, 4, 6, 22, 6]], - ">": [24, [4, 18, 20, 9, 4, 0]], - "?": [ - 18, - [ - 3, 16, 3, 17, 4, 19, 5, 20, 7, 21, 11, 21, 13, 20, 14, 19, - 15, 17, 15, 15, 14, 13, 13, 12, 9, 10, 9, 7, -1, -1, 9, 2, - 8, 1, 9, 0, 10, 1, 9, 2, - ], - ], - "@": [ - 27, - [ - 18, 13, 17, 15, 15, 16, 12, 16, 10, 15, 9, 14, 8, 11, 8, 8, - 9, 6, 11, 5, 14, 5, 16, 6, 17, 8, -1, -1, 12, 16, 10, 14, 9, - 11, 9, 8, 10, 6, 11, 5, -1, -1, 18, 16, 17, 8, 17, 6, 19, 5, - 21, 5, 23, 7, 24, 10, 24, 12, 23, 15, 22, 17, 20, 19, 18, - 20, 15, 21, 12, 21, 9, 20, 7, 19, 5, 17, 4, 15, 3, 12, 3, 9, - 4, 6, 5, 4, 7, 2, 9, 1, 12, 0, 15, 0, 18, 1, 20, 2, 21, 3, - -1, -1, 19, 16, 18, 8, 18, 6, 19, 5, - ], - ], - A: [ - 18, - [9, 21, 1, 0, -1, -1, 9, 21, 17, 0, -1, -1, 4, 7, 14, 7], - ], - B: [ - 21, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, - 18, 15, 17, 13, 16, 12, 13, 11, -1, -1, 4, 11, 13, 11, 16, - 10, 17, 9, 18, 7, 18, 4, 17, 2, 16, 1, 13, 0, 4, 0, - ], - ], - C: [ - 21, - [ - 18, 16, 17, 18, 15, 20, 13, 21, 9, 21, 7, 20, 5, 18, 4, 16, - 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, 9, 0, 13, 0, 15, 1, 17, 3, - 18, 5, - ], - ], - D: [ - 21, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 11, 21, 14, 20, 16, 18, 17, 16, - 18, 13, 18, 8, 17, 5, 16, 3, 14, 1, 11, 0, 4, 0, - ], - ], - E: [ - 19, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 17, 21, -1, -1, 4, 11, 12, 11, - -1, -1, 4, 0, 17, 0, - ], - ], - F: [ - 18, - [4, 21, 4, 0, -1, -1, 4, 21, 17, 21, -1, -1, 4, 11, 12, 11], - ], - G: [ - 21, - [ - 18, 16, 17, 18, 15, 20, 13, 21, 9, 21, 7, 20, 5, 18, 4, 16, - 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, 9, 0, 13, 0, 15, 1, 17, 3, - 18, 5, 18, 8, -1, -1, 13, 8, 18, 8, - ], - ], - H: [ - 22, - [4, 21, 4, 0, -1, -1, 18, 21, 18, 0, -1, -1, 4, 11, 18, 11], - ], - I: [8, [4, 21, 4, 0]], - J: [ - 16, - [ - 12, 21, 12, 5, 11, 2, 10, 1, 8, 0, 6, 0, 4, 1, 3, 2, 2, 5, - 2, 7, - ], - ], - K: [ - 21, - [4, 21, 4, 0, -1, -1, 18, 21, 4, 7, -1, -1, 9, 12, 18, 0], - ], - L: [17, [4, 21, 4, 0, -1, -1, 4, 0, 16, 0]], - M: [ - 24, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 12, 0, -1, -1, 20, 21, 12, 0, - -1, -1, 20, 21, 20, 0, - ], - ], - N: [ - 22, - [4, 21, 4, 0, -1, -1, 4, 21, 18, 0, -1, -1, 18, 21, 18, 0], - ], - O: [ - 22, - [ - 9, 21, 7, 20, 5, 18, 4, 16, 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, - 9, 0, 13, 0, 15, 1, 17, 3, 18, 5, 19, 8, 19, 13, 18, 16, 17, - 18, 15, 20, 13, 21, 9, 21, - ], - ], - P: [ - 21, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, - 18, 14, 17, 12, 16, 11, 13, 10, 4, 10, - ], - ], - Q: [ - 22, - [ - 9, 21, 7, 20, 5, 18, 4, 16, 3, 13, 3, 8, 4, 5, 5, 3, 7, 1, - 9, 0, 13, 0, 15, 1, 17, 3, 18, 5, 19, 8, 19, 13, 18, 16, 17, - 18, 15, 20, 13, 21, 9, 21, -1, -1, 12, 4, 18, -2, - ], - ], - R: [ - 21, - [ - 4, 21, 4, 0, -1, -1, 4, 21, 13, 21, 16, 20, 17, 19, 18, 17, - 18, 15, 17, 13, 16, 12, 13, 11, 4, 11, -1, -1, 11, 11, 18, - 0, - ], - ], - S: [ - 20, - [ - 17, 18, 15, 20, 12, 21, 8, 21, 5, 20, 3, 18, 3, 16, 4, 14, - 5, 13, 7, 12, 13, 10, 15, 9, 16, 8, 17, 6, 17, 3, 15, 1, 12, - 0, 8, 0, 5, 1, 3, 3, - ], - ], - T: [16, [8, 21, 8, 0, -1, -1, 1, 21, 15, 21]], - U: [ - 22, - [ - 4, 21, 4, 6, 5, 3, 7, 1, 10, 0, 12, 0, 15, 1, 17, 3, 18, 6, - 18, 21, - ], - ], - V: [18, [1, 21, 9, 0, -1, -1, 17, 21, 9, 0]], - W: [ - 24, - [ - 2, 21, 7, 0, -1, -1, 12, 21, 7, 0, -1, -1, 12, 21, 17, 0, - -1, -1, 22, 21, 17, 0, - ], - ], - X: [20, [3, 21, 17, 0, -1, -1, 17, 21, 3, 0]], - Y: [18, [1, 21, 9, 11, 9, 0, -1, -1, 17, 21, 9, 11]], - Z: [ - 20, - [17, 21, 3, 0, -1, -1, 3, 21, 17, 21, -1, -1, 3, 0, 17, 0], - ], - "[": [ - 14, - [ - 4, 25, 4, -7, -1, -1, 5, 25, 5, -7, -1, -1, 4, 25, 11, 25, - -1, -1, 4, -7, 11, -7, - ], - ], - "\\": [14, [0, 21, 14, -3]], - "]": [ - 14, - [ - 9, 25, 9, -7, -1, -1, 10, 25, 10, -7, -1, -1, 3, 25, 10, 25, - -1, -1, 3, -7, 10, -7, - ], - ], - "^": [ - 16, - [ - 6, 15, 8, 18, 10, 15, -1, -1, 3, 12, 8, 17, 13, 12, -1, -1, - 8, 17, 8, 0, - ], - ], - _: [16, [0, -2, 16, -2]], - "`": [10, [6, 21, 5, 20, 4, 18, 4, 16, 5, 15, 6, 16, 5, 17]], - a: [ - 19, - [ - 15, 14, 15, 0, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, - 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, - ], - ], - b: [ - 19, - [ - 4, 21, 4, 0, -1, -1, 4, 11, 6, 13, 8, 14, 11, 14, 13, 13, - 15, 11, 16, 8, 16, 6, 15, 3, 13, 1, 11, 0, 8, 0, 6, 1, 4, 3, - ], - ], - c: [ - 18, - [ - 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, 4, - 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, - ], - ], - d: [ - 19, - [ - 15, 21, 15, 0, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, - 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, - ], - ], - e: [ - 18, - [ - 3, 8, 15, 8, 15, 10, 14, 12, 13, 13, 11, 14, 8, 14, 6, 13, - 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, - ], - ], - f: [ - 12, - [10, 21, 8, 21, 6, 20, 5, 17, 5, 0, -1, -1, 2, 14, 9, 14], - ], - g: [ - 19, - [ - 15, 14, 15, -2, 14, -5, 13, -6, 11, -7, 8, -7, 6, -6, -1, - -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, - 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, 3, - ], - ], - h: [ - 19, - [ - 4, 21, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, - 15, 10, 15, 0, - ], - ], - i: [ - 8, - [3, 21, 4, 20, 5, 21, 4, 22, 3, 21, -1, -1, 4, 14, 4, 0], - ], - j: [ - 10, - [ - 5, 21, 6, 20, 7, 21, 6, 22, 5, 21, -1, -1, 6, 14, 6, -3, 5, - -6, 3, -7, 1, -7, - ], - ], - k: [ - 17, - [4, 21, 4, 0, -1, -1, 14, 14, 4, 4, -1, -1, 8, 8, 15, 0], - ], - l: [8, [4, 21, 4, 0]], - m: [ - 30, - [ - 4, 14, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, - 15, 10, 15, 0, -1, -1, 15, 10, 18, 13, 20, 14, 23, 14, 25, - 13, 26, 10, 26, 0, - ], - ], - n: [ - 19, - [ - 4, 14, 4, 0, -1, -1, 4, 10, 7, 13, 9, 14, 12, 14, 14, 13, - 15, 10, 15, 0, - ], - ], - o: [ - 19, - [ - 8, 14, 6, 13, 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, - 13, 1, 15, 3, 16, 6, 16, 8, 15, 11, 13, 13, 11, 14, 8, 14, - ], - ], - p: [ - 19, - [ - 4, 14, 4, -7, -1, -1, 4, 11, 6, 13, 8, 14, 11, 14, 13, 13, - 15, 11, 16, 8, 16, 6, 15, 3, 13, 1, 11, 0, 8, 0, 6, 1, 4, 3, - ], - ], - q: [ - 19, - [ - 15, 14, 15, -7, -1, -1, 15, 11, 13, 13, 11, 14, 8, 14, 6, - 13, 4, 11, 3, 8, 3, 6, 4, 3, 6, 1, 8, 0, 11, 0, 13, 1, 15, - 3, - ], - ], - r: [ - 13, - [4, 14, 4, 0, -1, -1, 4, 8, 5, 11, 7, 13, 9, 14, 12, 14], - ], - s: [ - 17, - [ - 14, 11, 13, 13, 10, 14, 7, 14, 4, 13, 3, 11, 4, 9, 6, 8, 11, - 7, 13, 6, 14, 4, 14, 3, 13, 1, 10, 0, 7, 0, 4, 1, 3, 3, - ], - ], - t: [12, [5, 21, 5, 4, 6, 1, 8, 0, 10, 0, -1, -1, 2, 14, 9, 14]], - u: [ - 19, - [ - 4, 14, 4, 4, 5, 1, 7, 0, 10, 0, 12, 1, 15, 4, -1, -1, 15, - 14, 15, 0, - ], - ], - v: [16, [2, 14, 8, 0, -1, -1, 14, 14, 8, 0]], - w: [ - 22, - [ - 3, 14, 7, 0, -1, -1, 11, 14, 7, 0, -1, -1, 11, 14, 15, 0, - -1, -1, 19, 14, 15, 0, - ], - ], - x: [17, [3, 14, 14, 0, -1, -1, 14, 14, 3, 0]], - y: [ - 16, - [ - 2, 14, 8, 0, -1, -1, 14, 14, 8, 0, 6, -4, 4, -6, 2, -7, 1, - -7, - ], - ], - z: [ - 17, - [14, 14, 3, 0, -1, -1, 3, 14, 14, 14, -1, -1, 3, 0, 14, 0], - ], - "{": [ - 14, - [ - 9, 25, 7, 24, 6, 23, 5, 21, 5, 19, 6, 17, 7, 16, 8, 14, 8, - 12, 6, 10, -1, -1, 7, 24, 6, 22, 6, 20, 7, 18, 8, 17, 9, 15, - 9, 13, 8, 11, 4, 9, 8, 7, 9, 5, 9, 3, 8, 1, 7, 0, 6, -2, 6, - -4, 7, -6, -1, -1, 6, 8, 8, 6, 8, 4, 7, 2, 6, 1, 5, -1, 5, - -3, 6, -5, 7, -6, 9, -7, - ], - ], - "|": [8, [4, 25, 4, -7]], - "}": [ - 14, - [ - 5, 25, 7, 24, 8, 23, 9, 21, 9, 19, 8, 17, 7, 16, 6, 14, 6, - 12, 8, 10, -1, -1, 7, 24, 8, 22, 8, 20, 7, 18, 6, 17, 5, 15, - 5, 13, 6, 11, 10, 9, 6, 7, 5, 5, 5, 3, 6, 1, 7, 0, 8, -2, 8, - -4, 7, -6, -1, -1, 8, 8, 6, 6, 6, 4, 7, 2, 8, 1, 9, -1, 9, - -3, 8, -5, 7, -6, 5, -7, - ], - ], - "~": [ - 24, - [ - 3, 6, 3, 8, 4, 11, 6, 12, 8, 12, 10, 11, 14, 8, 16, 7, 18, - 7, 20, 8, 21, 10, -1, -1, 3, 8, 4, 10, 6, 11, 8, 11, 10, 10, - 14, 7, 16, 6, 18, 6, 20, 7, 21, 10, 21, 12, - ], - ], - }; - }, - { - "../data/array_types": 39, - "../data/extent": 53, - "../data/pos_attributes": 57, - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../util/browser": 252, - "./vertex_array_object": 95, - "@mapbox/gl-matrix": 2, - }, - ], - 78: [ - function (t, e, r) { - function n(t, e, r, n, i) { - if (!s.isPatternMissing(r.paint.get("fill-pattern"), t)) - for (var a = !0, o = 0, l = n; o < l.length; o += 1) { - var c = l[o], - u = e.getTile(c), - f = u.getBucket(r); - f && - (t.context.setStencilMode(t.stencilModeForClipping(c)), - i(t, e, r, u, c, f, a), - (a = !1)); - } - } - function i(t, e, r, n, i, a, s) { - var l = t.context.gl, - c = a.programConfigurations.get(r.id); - o("fill", r.paint.get("fill-pattern"), t, c, r, n, i, s).draw( - t.context, - l.TRIANGLES, - r.id, - a.layoutVertexBuffer, - a.indexBuffer, - a.segments, - c, - ); - } - function a(t, e, r, n, i, a, s) { - var l = t.context.gl, - c = a.programConfigurations.get(r.id), - u = o( - "fillOutline", - r.getPaintProperty("fill-outline-color") - ? null - : r.paint.get("fill-pattern"), - t, - c, - r, - n, - i, - s, - ); - (l.uniform2f( - u.uniforms.u_world, - l.drawingBufferWidth, - l.drawingBufferHeight, - ), - u.draw( - t.context, - l.LINES, - r.id, - a.layoutVertexBuffer, - a.indexBuffer2, - a.segments2, - c, - )); - } - function o(t, e, r, n, i, a, o, l) { - var c, - u = r.context.program.get(); - return ( - e - ? ((c = r.useProgram(t + "Pattern", n)), - (l || c.program !== u) && - (n.setUniforms(r.context, c, i.paint, { - zoom: r.transform.zoom, - }), - s.prepare(e, r, c)), - s.setTile(a, r, c)) - : ((c = r.useProgram(t, n)), - (l || c.program !== u) && - n.setUniforms(r.context, c, i.paint, { - zoom: r.transform.zoom, - })), - r.context.gl.uniformMatrix4fv( - c.uniforms.u_matrix, - !1, - r.translatePosMatrix( - o.posMatrix, - a, - i.paint.get("fill-translate"), - i.paint.get("fill-translate-anchor"), - ), - ), - c - ); - } - var s = t("./pattern"), - l = t("../style-spec/util/color"), - c = t("../gl/depth_mode"); - e.exports = function (t, e, r, o) { - var s = r.paint.get("fill-color"), - u = r.paint.get("fill-opacity"); - if (0 !== u.constantOr(1)) { - var f = t.context; - f.setColorMode(t.colorModeForRenderPass()); - var h = - r.paint.get("fill-pattern") || - 1 !== s.constantOr(l.transparent).a || - 1 !== u.constantOr(0) - ? "translucent" - : "opaque"; - (t.renderPass === h && - (f.setDepthMode( - t.depthModeForSublayer( - 1, - "opaque" === t.renderPass ? c.ReadWrite : c.ReadOnly, - ), - ), - n(t, e, r, o, i)), - "translucent" === t.renderPass && - r.paint.get("fill-antialias") && - (f.lineWidth.set(2), - f.setDepthMode( - t.depthModeForSublayer( - r.getPaintProperty("fill-outline-color") ? 2 : 0, - c.ReadOnly, - ), - ), - n(t, e, r, o, a))); - } - }; - }, - { - "../gl/depth_mode": 67, - "../style-spec/util/color": 153, - "./pattern": 91, - }, - ], - 79: [ - function (t, e, r) { - function n(t, e, r, n, i, o, s) { - var l = t.context, - u = l.gl, - h = r.paint.get("fill-extrusion-pattern"), - p = t.context.program.get(), - d = o.programConfigurations.get(r.id), - g = t.useProgram( - h ? "fillExtrusionPattern" : "fillExtrusion", - d, - ); - if ( - ((s || g.program !== p) && - d.setUniforms(l, g, r.paint, { zoom: t.transform.zoom }), - h) - ) { - if (a.isPatternMissing(h, t)) return; - (a.prepare(h, t, g), - a.setTile(n, t, g), - u.uniform1f( - g.uniforms.u_height_factor, - -Math.pow(2, i.overscaledZ) / n.tileSize / 8, - )); - } - (t.context.gl.uniformMatrix4fv( - g.uniforms.u_matrix, - !1, - t.translatePosMatrix( - i.posMatrix, - n, - r.paint.get("fill-extrusion-translate"), - r.paint.get("fill-extrusion-translate-anchor"), - ), - ), - (function (t, e) { - var r = e.context.gl, - n = e.style.light, - i = n.properties.get("position"), - a = [i.x, i.y, i.z], - o = c.create(); - ("viewport" === n.properties.get("anchor") && - c.fromRotation(o, -e.transform.angle), - f.transformMat3(a, a, o)); - var s = n.properties.get("color"); - (r.uniform3fv(t.uniforms.u_lightpos, a), - r.uniform1f( - t.uniforms.u_lightintensity, - n.properties.get("intensity"), - ), - r.uniform3f(t.uniforms.u_lightcolor, s.r, s.g, s.b)); - })(g, t), - g.draw( - l, - u.TRIANGLES, - r.id, - o.layoutVertexBuffer, - o.indexBuffer, - o.segments, - d, - )); - } - var i = t("@mapbox/gl-matrix"), - a = t("./pattern"), - o = t("./texture"), - s = t("../style-spec/util/color"), - l = t("../gl/depth_mode"), - c = i.mat3, - u = i.mat4, - f = i.vec3, - h = t("../gl/stencil_mode"); - e.exports = function (t, e, r, i) { - if (0 !== r.paint.get("fill-extrusion-opacity")) - if ("offscreen" === t.renderPass) { - !(function (t, e) { - var r = t.context, - n = r.gl, - i = e.viewportFrame; - if ( - (t.depthRboNeedsClear && - t.setupOffscreenDepthRenderbuffer(), - !i) - ) { - var a = new o( - r, - { width: t.width, height: t.height, data: null }, - n.RGBA, - ); - (a.bind(n.LINEAR, n.CLAMP_TO_EDGE), - (i = e.viewportFrame = - r.createFramebuffer( - t.width, - t.height, - )).colorAttachment.set(a.texture)); - } - (r.bindFramebuffer.set(i.framebuffer), - i.depthAttachment.set(t.depthRbo), - t.depthRboNeedsClear && - (r.clear({ depth: 1 }), (t.depthRboNeedsClear = !1)), - r.clear({ color: s.transparent }), - r.setStencilMode(h.disabled), - r.setDepthMode(new l(n.LEQUAL, l.ReadWrite, [0, 1])), - r.setColorMode(t.colorModeForRenderPass())); - })(t, r); - for (var a = !0, c = 0, f = i; c < f.length; c += 1) { - var p = f[c], - d = e.getTile(p), - g = d.getBucket(r); - g && (n(t, 0, r, d, p, g, a), (a = !1)); - } - } else - "translucent" === t.renderPass && - (function (t, e) { - var r = e.viewportFrame; - if (r) { - var n = t.context, - i = n.gl, - a = t.useProgram("extrusionTexture"); - (n.setStencilMode(h.disabled), - n.setDepthMode(l.disabled), - n.setColorMode(t.colorModeForRenderPass()), - n.activeTexture.set(i.TEXTURE0), - i.bindTexture( - i.TEXTURE_2D, - r.colorAttachment.get(), - ), - i.uniform1f( - a.uniforms.u_opacity, - e.paint.get("fill-extrusion-opacity"), - ), - i.uniform1i(a.uniforms.u_image, 0)); - var o = u.create(); - (u.ortho(o, 0, t.width, t.height, 0, 0, 1), - i.uniformMatrix4fv(a.uniforms.u_matrix, !1, o), - i.uniform2f( - a.uniforms.u_world, - i.drawingBufferWidth, - i.drawingBufferHeight, - ), - t.viewportVAO.bind(n, a, t.viewportBuffer, []), - i.drawArrays(i.TRIANGLE_STRIP, 0, 4)); - } - })(t, r); - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../style-spec/util/color": 153, - "./pattern": 91, - "./texture": 93, - "@mapbox/gl-matrix": 2, - }, - ], - 80: [ - function (t, e, r) { - var n = t("@mapbox/gl-matrix").mat4, - i = t("./texture"), - a = t("../source/pixels_to_tile_units"), - o = t("../style-spec/util/color"), - s = t("../gl/depth_mode"), - l = t("../gl/stencil_mode"), - c = t("../gl/color_mode"); - e.exports = function (t, e, r, u) { - if (0 !== r.paint.get("heatmap-opacity")) - if ("offscreen" === t.renderPass) { - var f = t.context, - h = f.gl; - (f.setDepthMode(t.depthModeForSublayer(0, s.ReadOnly)), - f.setStencilMode(l.disabled), - (function (t, e, r) { - var n = t.gl; - (t.activeTexture.set(n.TEXTURE1), - t.viewport.set([0, 0, e.width / 4, e.height / 4])); - var i = r.heatmapFbo; - if (i) - (n.bindTexture(n.TEXTURE_2D, i.colorAttachment.get()), - t.bindFramebuffer.set(i.framebuffer)); - else { - var a = n.createTexture(); - (n.bindTexture(n.TEXTURE_2D, a), - n.texParameteri( - n.TEXTURE_2D, - n.TEXTURE_WRAP_S, - n.CLAMP_TO_EDGE, - ), - n.texParameteri( - n.TEXTURE_2D, - n.TEXTURE_WRAP_T, - n.CLAMP_TO_EDGE, - ), - n.texParameteri( - n.TEXTURE_2D, - n.TEXTURE_MIN_FILTER, - n.LINEAR, - ), - n.texParameteri( - n.TEXTURE_2D, - n.TEXTURE_MAG_FILTER, - n.LINEAR, - ), - (i = r.heatmapFbo = - t.createFramebuffer(e.width / 4, e.height / 4)), - (function t(e, r, n, i) { - var a = e.gl; - (a.texImage2D( - a.TEXTURE_2D, - 0, - a.RGBA, - r.width / 4, - r.height / 4, - 0, - a.RGBA, - e.extTextureHalfFloat - ? e.extTextureHalfFloat.HALF_FLOAT_OES - : a.UNSIGNED_BYTE, - null, - ), - i.colorAttachment.set(n), - e.extTextureHalfFloat && - a.checkFramebufferStatus(a.FRAMEBUFFER) !== - a.FRAMEBUFFER_COMPLETE && - ((e.extTextureHalfFloat = null), - i.colorAttachment.setDirty(), - t(e, r, n, i))); - })(t, e, a, i)); - } - })(f, t, r), - f.clear({ color: o.transparent }), - f.setColorMode( - new c([h.ONE, h.ONE], o.transparent, [!0, !0, !0, !0]), - )); - for (var p = !0, d = 0; d < u.length; d++) { - var g = u[d]; - if (!e.hasRenderableParent(g)) { - var m = e.getTile(g), - v = m.getBucket(r); - if (v) { - var y = t.context.program.get(), - x = v.programConfigurations.get(r.id), - b = t.useProgram("heatmap", x), - _ = t.transform.zoom; - ((p || b.program !== y) && - (x.setUniforms(t.context, b, r.paint, { zoom: _ }), - (p = !1)), - h.uniform1f(b.uniforms.u_extrude_scale, a(m, 1, _)), - h.uniform1f( - b.uniforms.u_intensity, - r.paint.get("heatmap-intensity"), - ), - h.uniformMatrix4fv( - b.uniforms.u_matrix, - !1, - g.posMatrix, - ), - b.draw( - f, - h.TRIANGLES, - r.id, - v.layoutVertexBuffer, - v.indexBuffer, - v.segments, - x, - )); - } - } - } - f.viewport.set([0, 0, t.width, t.height]); - } else - "translucent" === t.renderPass && - (t.context.setColorMode(t.colorModeForRenderPass()), - (function (t, e) { - var r = t.context, - a = r.gl, - o = e.heatmapFbo; - if (o) { - (r.activeTexture.set(a.TEXTURE0), - a.bindTexture( - a.TEXTURE_2D, - o.colorAttachment.get(), - ), - r.activeTexture.set(a.TEXTURE1)); - var l = e.colorRampTexture; - (l || - (l = e.colorRampTexture = - new i(r, e.colorRamp, a.RGBA)), - l.bind(a.LINEAR, a.CLAMP_TO_EDGE), - r.setDepthMode(s.disabled)); - var c = t.useProgram("heatmapTexture"), - u = e.paint.get("heatmap-opacity"); - (a.uniform1f(c.uniforms.u_opacity, u), - a.uniform1i(c.uniforms.u_image, 0), - a.uniform1i(c.uniforms.u_color_ramp, 1)); - var f = n.create(); - (n.ortho(f, 0, t.width, t.height, 0, 0, 1), - a.uniformMatrix4fv(c.uniforms.u_matrix, !1, f), - a.uniform2f( - c.uniforms.u_world, - a.drawingBufferWidth, - a.drawingBufferHeight, - ), - t.viewportVAO.bind( - t.context, - c, - t.viewportBuffer, - [], - ), - a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); - } - })(t, r)); - }; - }, - { - "../gl/color_mode": 65, - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../source/pixels_to_tile_units": 104, - "../style-spec/util/color": 153, - "./texture": 93, - "@mapbox/gl-matrix": 2, - }, - ], - 81: [ - function (t, e, r) { - function n(t, e, r) { - var n = t.context, - i = n.gl, - o = e.fbo; - if (o) { - var s = t.useProgram("hillshade"), - l = t.transform.calculatePosMatrix(e.tileID.toUnwrapped()); - !(function (t, e, r) { - var n = - r.paint.get("hillshade-illumination-direction") * - (Math.PI / 180); - ("viewport" === - r.paint.get("hillshade-illumination-anchor") && - (n -= e.transform.angle), - e.context.gl.uniform2f( - t.uniforms.u_light, - r.paint.get("hillshade-exaggeration"), - n, - )); - })(s, t, r); - var c = (function (t, e) { - var r = e.toCoordinate(), - n = new a(r.column, r.row + 1, r.zoom); - return [ - t.transform.coordinateLocation(r).lat, - t.transform.coordinateLocation(n).lat, - ]; - })(t, e.tileID); - (n.activeTexture.set(i.TEXTURE0), - i.bindTexture(i.TEXTURE_2D, o.colorAttachment.get()), - i.uniformMatrix4fv(s.uniforms.u_matrix, !1, l), - i.uniform2fv(s.uniforms.u_latrange, c), - i.uniform1i(s.uniforms.u_image, 0)); - var u = r.paint.get("hillshade-shadow-color"); - i.uniform4f(s.uniforms.u_shadow, u.r, u.g, u.b, u.a); - var f = r.paint.get("hillshade-highlight-color"); - i.uniform4f(s.uniforms.u_highlight, f.r, f.g, f.b, f.a); - var h = r.paint.get("hillshade-accent-color"); - if ( - (i.uniform4f(s.uniforms.u_accent, h.r, h.g, h.b, h.a), - e.maskedBoundsBuffer && e.maskedIndexBuffer && e.segments) - ) - s.draw( - n, - i.TRIANGLES, - r.id, - e.maskedBoundsBuffer, - e.maskedIndexBuffer, - e.segments, - ); - else { - var p = t.rasterBoundsBuffer; - (t.rasterBoundsVAO.bind(n, s, p, []), - i.drawArrays(i.TRIANGLE_STRIP, 0, p.length)); - } - } - } - function i(t, e) { - var r = t.context, - n = r.gl; - if (e.dem && e.dem.level) { - var i = e.dem.level.dim, - a = e.dem.getPixels(); - if ( - (r.activeTexture.set(n.TEXTURE1), - r.pixelStoreUnpackPremultiplyAlpha.set(!1), - (e.demTexture = - e.demTexture || t.getTileTexture(e.tileSize)), - e.demTexture) - ) { - var c = e.demTexture; - (c.update(a, !1), c.bind(n.NEAREST, n.CLAMP_TO_EDGE)); - } else - ((e.demTexture = new o(r, a, n.RGBA, !1)), - e.demTexture.bind(n.NEAREST, n.CLAMP_TO_EDGE)); - r.activeTexture.set(n.TEXTURE0); - var u = e.fbo; - if (!u) { - var f = new o( - r, - { width: i, height: i, data: null }, - n.RGBA, - ); - (f.bind(n.LINEAR, n.CLAMP_TO_EDGE), - (u = e.fbo = - r.createFramebuffer(i, i)).colorAttachment.set( - f.texture, - )); - } - (r.bindFramebuffer.set(u.framebuffer), - r.viewport.set([0, 0, i, i])); - var h = l.create(); - (l.ortho(h, 0, s, -s, 0, 0, 1), - l.translate(h, h, [0, -s, 0])); - var p = t.useProgram("hillshadePrepare"); - (n.uniformMatrix4fv(p.uniforms.u_matrix, !1, h), - n.uniform1f(p.uniforms.u_zoom, e.tileID.overscaledZ), - n.uniform2fv(p.uniforms.u_dimension, [2 * i, 2 * i]), - n.uniform1i(p.uniforms.u_image, 1)); - var d = t.rasterBoundsBuffer; - (t.rasterBoundsVAO.bind(r, p, d, []), - n.drawArrays(n.TRIANGLE_STRIP, 0, d.length), - (e.needsHillshadePrepare = !1)); - } - } - var a = t("../geo/coordinate"), - o = t("./texture"), - s = t("../data/extent"), - l = t("@mapbox/gl-matrix").mat4, - c = t("../gl/stencil_mode"), - u = t("../gl/depth_mode"); - e.exports = function (t, e, r, a) { - if ( - "offscreen" === t.renderPass || - "translucent" === t.renderPass - ) { - var o = t.context; - (o.setDepthMode(t.depthModeForSublayer(0, u.ReadOnly)), - o.setStencilMode(c.disabled), - o.setColorMode(t.colorModeForRenderPass())); - for (var s = 0, l = a; s < l.length; s += 1) { - var f = l[s], - h = e.getTile(f); - h.needsHillshadePrepare && "offscreen" === t.renderPass - ? i(t, h) - : "translucent" === t.renderPass && n(t, h, r); - } - o.viewport.set([0, 0, t.width, t.height]); - } - }; - }, - { - "../data/extent": 53, - "../geo/coordinate": 61, - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "./texture": 93, - "@mapbox/gl-matrix": 2, - }, - ], - 82: [ - function (t, e, r) { - function n(t, e, r, n, o, s, l, c, u) { - var f, - h, - p, - d, - g = e.context, - m = g.gl, - v = o.paint.get("line-dasharray"), - y = o.paint.get("line-pattern"); - if (c || u) { - var x = 1 / a(r, 1, e.transform.tileZoom); - if (v) { - ((f = e.lineAtlas.getDash( - v.from, - "round" === o.layout.get("line-cap"), - )), - (h = e.lineAtlas.getDash( - v.to, - "round" === o.layout.get("line-cap"), - ))); - var b = f.width * v.fromScale, - _ = h.width * v.toScale; - (m.uniform2f( - t.uniforms.u_patternscale_a, - x / b, - -f.height / 2, - ), - m.uniform2f( - t.uniforms.u_patternscale_b, - x / _, - -h.height / 2, - ), - m.uniform1f( - t.uniforms.u_sdfgamma, - e.lineAtlas.width / - (256 * Math.min(b, _) * i.devicePixelRatio) / - 2, - )); - } else if (y) { - if ( - ((p = e.imageManager.getPattern(y.from)), - (d = e.imageManager.getPattern(y.to)), - !p || !d) - ) - return; - (m.uniform2f( - t.uniforms.u_pattern_size_a, - (p.displaySize[0] * y.fromScale) / x, - d.displaySize[1], - ), - m.uniform2f( - t.uniforms.u_pattern_size_b, - (d.displaySize[0] * y.toScale) / x, - d.displaySize[1], - )); - var w = e.imageManager.getPixelSize(), - k = w.width, - M = w.height; - m.uniform2fv(t.uniforms.u_texsize, [k, M]); - } - m.uniform2f( - t.uniforms.u_gl_units_to_pixels, - 1 / e.transform.pixelsToGLUnits[0], - 1 / e.transform.pixelsToGLUnits[1], - ); - } - (c && - (v - ? (m.uniform1i(t.uniforms.u_image, 0), - g.activeTexture.set(m.TEXTURE0), - e.lineAtlas.bind(g), - m.uniform1f(t.uniforms.u_tex_y_a, f.y), - m.uniform1f(t.uniforms.u_tex_y_b, h.y), - m.uniform1f(t.uniforms.u_mix, v.t)) - : y && - (m.uniform1i(t.uniforms.u_image, 0), - g.activeTexture.set(m.TEXTURE0), - e.imageManager.bind(g), - m.uniform2fv(t.uniforms.u_pattern_tl_a, p.tl), - m.uniform2fv(t.uniforms.u_pattern_br_a, p.br), - m.uniform2fv(t.uniforms.u_pattern_tl_b, d.tl), - m.uniform2fv(t.uniforms.u_pattern_br_b, d.br), - m.uniform1f(t.uniforms.u_fade, y.t))), - g.setStencilMode(e.stencilModeForClipping(s))); - var A = e.translatePosMatrix( - s.posMatrix, - r, - o.paint.get("line-translate"), - o.paint.get("line-translate-anchor"), - ); - (m.uniformMatrix4fv(t.uniforms.u_matrix, !1, A), - m.uniform1f( - t.uniforms.u_ratio, - 1 / a(r, 1, e.transform.zoom), - ), - t.draw( - g, - m.TRIANGLES, - o.id, - n.layoutVertexBuffer, - n.indexBuffer, - n.segments, - l, - )); - } - var i = t("../util/browser"), - a = t("../source/pixels_to_tile_units"), - o = t("../gl/depth_mode"); - e.exports = function (t, e, r, i) { - if ( - "translucent" === t.renderPass && - 0 !== r.paint.get("line-opacity").constantOr(1) - ) { - var a = t.context; - (a.setDepthMode(t.depthModeForSublayer(0, o.ReadOnly)), - a.setColorMode(t.colorModeForRenderPass())); - for ( - var s, - l = r.paint.get("line-dasharray") - ? "lineSDF" - : r.paint.get("line-pattern") - ? "linePattern" - : "line", - c = !0, - u = 0, - f = i; - u < f.length; - u += 1 - ) { - var h = f[u], - p = e.getTile(h), - d = p.getBucket(r); - if (d) { - var g = d.programConfigurations.get(r.id), - m = t.context.program.get(), - v = t.useProgram(l, g), - y = c || v.program !== m, - x = s !== p.tileID.overscaledZ; - (y && - g.setUniforms(t.context, v, r.paint, { - zoom: t.transform.zoom, - }), - n(v, t, p, d, r, h, g, y, x), - (s = p.tileID.overscaledZ), - (c = !1)); - } - } - } - }; - }, - { - "../gl/depth_mode": 67, - "../source/pixels_to_tile_units": 104, - "../util/browser": 252, - }, - ], - 83: [ - function (t, e, r) { - function n(t, e, r, n, a) { - var s = n.paint.get("raster-fade-duration"); - if (s > 0) { - var l = o.now(), - c = (l - t.timeAdded) / s, - u = e ? (l - e.timeAdded) / s : -1, - f = r.getSource(), - h = a.coveringZoomLevel({ - tileSize: f.tileSize, - roundZoom: f.roundZoom, - }), - p = - !e || - Math.abs(e.tileID.overscaledZ - h) > - Math.abs(t.tileID.overscaledZ - h), - d = - p && t.refreshedUponExpiration - ? 1 - : i.clamp(p ? c : 1 - u, 0, 1); - return ( - t.refreshedUponExpiration && - c >= 1 && - (t.refreshedUponExpiration = !1), - e ? { opacity: 1, mix: 1 - d } : { opacity: d, mix: 0 } - ); - } - return { opacity: 1, mix: 0 }; - } - var i = t("../util/util"), - a = t("../source/image_source"), - o = t("../util/browser"), - s = t("../gl/stencil_mode"), - l = t("../gl/depth_mode"); - e.exports = function (t, e, r, i) { - if ( - "translucent" === t.renderPass && - 0 !== r.paint.get("raster-opacity") - ) { - var o = t.context, - c = o.gl, - u = e.getSource(), - f = t.useProgram("raster"); - (o.setStencilMode(s.disabled), - o.setColorMode(t.colorModeForRenderPass()), - c.uniform1f( - f.uniforms.u_brightness_low, - r.paint.get("raster-brightness-min"), - ), - c.uniform1f( - f.uniforms.u_brightness_high, - r.paint.get("raster-brightness-max"), - ), - c.uniform1f( - f.uniforms.u_saturation_factor, - (function (t) { - return t > 0 ? 1 - 1 / (1.001 - t) : -t; - })(r.paint.get("raster-saturation")), - ), - c.uniform1f( - f.uniforms.u_contrast_factor, - (function (t) { - return t > 0 ? 1 / (1 - t) : 1 + t; - })(r.paint.get("raster-contrast")), - ), - c.uniform3fv( - f.uniforms.u_spin_weights, - (function (t) { - t *= Math.PI / 180; - var e = Math.sin(t), - r = Math.cos(t); - return [ - (2 * r + 1) / 3, - (-Math.sqrt(3) * e - r + 1) / 3, - (Math.sqrt(3) * e - r + 1) / 3, - ]; - })(r.paint.get("raster-hue-rotate")), - ), - c.uniform1f(f.uniforms.u_buffer_scale, 1), - c.uniform1i(f.uniforms.u_image0, 0), - c.uniform1i(f.uniforms.u_image1, 1)); - for ( - var h = i.length && i[0].overscaledZ, p = 0, d = i; - p < d.length; - p += 1 - ) { - var g = d[p]; - o.setDepthMode( - t.depthModeForSublayer( - g.overscaledZ - h, - 1 === r.paint.get("raster-opacity") - ? l.ReadWrite - : l.ReadOnly, - c.LESS, - ), - ); - var m = e.getTile(g), - v = t.transform.calculatePosMatrix(g.toUnwrapped(), !0); - (m.registerFadeDuration( - r.paint.get("raster-fade-duration"), - ), - c.uniformMatrix4fv(f.uniforms.u_matrix, !1, v)); - var y = e.findLoadedParent(g, 0, {}), - x = n(m, y, e, r, t.transform), - b = void 0, - _ = void 0; - if ( - (o.activeTexture.set(c.TEXTURE0), - m.texture.bind( - c.LINEAR, - c.CLAMP_TO_EDGE, - c.LINEAR_MIPMAP_NEAREST, - ), - o.activeTexture.set(c.TEXTURE1), - y - ? (y.texture.bind( - c.LINEAR, - c.CLAMP_TO_EDGE, - c.LINEAR_MIPMAP_NEAREST, - ), - (b = Math.pow( - 2, - y.tileID.overscaledZ - m.tileID.overscaledZ, - )), - (_ = [ - (m.tileID.canonical.x * b) % 1, - (m.tileID.canonical.y * b) % 1, - ])) - : m.texture.bind( - c.LINEAR, - c.CLAMP_TO_EDGE, - c.LINEAR_MIPMAP_NEAREST, - ), - c.uniform2fv(f.uniforms.u_tl_parent, _ || [0, 0]), - c.uniform1f(f.uniforms.u_scale_parent, b || 1), - c.uniform1f(f.uniforms.u_fade_t, x.mix), - c.uniform1f( - f.uniforms.u_opacity, - x.opacity * r.paint.get("raster-opacity"), - ), - u instanceof a) - ) { - var w = u.boundsBuffer; - (u.boundsVAO.bind(o, f, w, []), - c.drawArrays(c.TRIANGLE_STRIP, 0, w.length)); - } else if ( - m.maskedBoundsBuffer && - m.maskedIndexBuffer && - m.segments - ) - f.draw( - o, - c.TRIANGLES, - r.id, - m.maskedBoundsBuffer, - m.maskedIndexBuffer, - m.segments, - ); - else { - var k = t.rasterBoundsBuffer; - (t.rasterBoundsVAO.bind(o, f, k, []), - c.drawArrays(c.TRIANGLE_STRIP, 0, k.length)); - } - } - } - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../source/image_source": 102, - "../util/browser": 252, - "../util/util": 275, - }, - ], - 84: [ - function (t, e, r) { - function n(t, e, r, n, o, s, u, h, p, g) { - var m = t.context, - v = m.gl, - y = t.transform, - x = "map" === h, - b = "map" === p, - _ = x && "line" === r.layout.get("symbol-placement"), - w = x && !b && !_, - k = b; - m.setDepthMode( - k ? t.depthModeForSublayer(0, d.ReadOnly) : d.disabled, - ); - for (var M, A = 0, T = n; A < T.length; A += 1) { - var S = T[A], - C = e.getTile(S), - E = C.getBucket(r); - if (E) { - var L = o ? E.text : E.icon; - if (L && L.segments.get().length) { - var z = L.programConfigurations.get(r.id), - P = o || E.sdfIcons, - D = o ? E.textSizeData : E.iconSizeData; - if ( - (M || - ((M = t.useProgram( - P ? "symbolSDF" : "symbolIcon", - z, - )), - z.setUniforms(t.context, M, r.paint, { - zoom: t.transform.zoom, - }), - i(M, t, r, o, w, b, D)), - m.activeTexture.set(v.TEXTURE0), - v.uniform1i(M.uniforms.u_texture, 0), - o) - ) - (C.glyphAtlasTexture.bind(v.LINEAR, v.CLAMP_TO_EDGE), - v.uniform2fv( - M.uniforms.u_texsize, - C.glyphAtlasTexture.size, - )); - else { - var O = - 1 !== r.layout.get("icon-size").constantOr(0) || - E.iconsNeedLinear, - I = b || 0 !== y.pitch; - (C.iconAtlasTexture.bind( - P || t.options.rotating || t.options.zooming || O || I - ? v.LINEAR - : v.NEAREST, - v.CLAMP_TO_EDGE, - ), - v.uniform2fv( - M.uniforms.u_texsize, - C.iconAtlasTexture.size, - )); - } - v.uniformMatrix4fv( - M.uniforms.u_matrix, - !1, - t.translatePosMatrix(S.posMatrix, C, s, u), - ); - var R = l(C, 1, t.transform.zoom), - B = c.getLabelPlaneMatrix( - S.posMatrix, - b, - x, - t.transform, - R, - ), - F = c.getGlCoordMatrix( - S.posMatrix, - b, - x, - t.transform, - R, - ); - (v.uniformMatrix4fv( - M.uniforms.u_gl_coord_matrix, - !1, - t.translatePosMatrix(F, C, s, u, !0), - ), - _ - ? (v.uniformMatrix4fv( - M.uniforms.u_label_plane_matrix, - !1, - f, - ), - c.updateLineLabels( - E, - S.posMatrix, - t, - o, - B, - F, - b, - g, - )) - : v.uniformMatrix4fv( - M.uniforms.u_label_plane_matrix, - !1, - B, - ), - v.uniform1f( - M.uniforms.u_fade_change, - t.options.fadeDuration ? t.symbolFadeChange : 1, - ), - a(M, z, t, r, C, L, o, P, b)); - } - } - } - } - function i(t, e, r, n, i, a, o) { - var s = e.context.gl, - l = e.transform; - (s.uniform1i(t.uniforms.u_pitch_with_map, a ? 1 : 0), - s.uniform1f(t.uniforms.u_is_text, n ? 1 : 0), - s.uniform1f( - t.uniforms.u_pitch, - (l.pitch / 360) * 2 * Math.PI, - )); - var c = - "constant" === o.functionType || - "source" === o.functionType, - f = - "constant" === o.functionType || - "camera" === o.functionType; - (s.uniform1i(t.uniforms.u_is_size_zoom_constant, c ? 1 : 0), - s.uniform1i(t.uniforms.u_is_size_feature_constant, f ? 1 : 0), - s.uniform1f( - t.uniforms.u_camera_to_center_distance, - l.cameraToCenterDistance, - )); - var p = u.evaluateSizeForZoom( - o, - l.zoom, - h.properties[n ? "text-size" : "icon-size"], - ); - (void 0 !== p.uSizeT && - s.uniform1f(t.uniforms.u_size_t, p.uSizeT), - void 0 !== p.uSize && s.uniform1f(t.uniforms.u_size, p.uSize), - s.uniform1f(t.uniforms.u_aspect_ratio, l.width / l.height), - s.uniform1i(t.uniforms.u_rotate_symbol, i ? 1 : 0)); - } - function a(t, e, r, n, i, a, s, l, c) { - var u = r.context, - f = u.gl, - h = r.transform; - if (l) { - var p = - 0 !== - n.paint - .get(s ? "text-halo-width" : "icon-halo-width") - .constantOr(1), - d = c ? Math.cos(h._pitch) * h.cameraToCenterDistance : 1; - (f.uniform1f(t.uniforms.u_gamma_scale, d), - p && (f.uniform1f(t.uniforms.u_is_halo, 1), o(a, n, u, t)), - f.uniform1f(t.uniforms.u_is_halo, 0)); - } - o(a, n, u, t); - } - function o(t, e, r, n) { - n.draw( - r, - r.gl.TRIANGLES, - e.id, - t.layoutVertexBuffer, - t.indexBuffer, - t.segments, - t.programConfigurations.get(e.id), - t.dynamicLayoutVertexBuffer, - t.opacityVertexBuffer, - ); - } - var s = t("./draw_collision_debug"), - l = t("../source/pixels_to_tile_units"), - c = t("../symbol/projection"), - u = t("../symbol/symbol_size"), - f = t("@mapbox/gl-matrix").mat4.identity(new Float32Array(16)), - h = t( - "../style/style_layer/symbol_style_layer_properties", - ).layout, - p = t("../gl/stencil_mode"), - d = t("../gl/depth_mode"); - e.exports = function (t, e, r, i) { - if ("translucent" === t.renderPass) { - var a = t.context; - (a.setStencilMode(p.disabled), - a.setColorMode(t.colorModeForRenderPass()), - 0 !== r.paint.get("icon-opacity").constantOr(1) && - n( - t, - e, - r, - i, - !1, - r.paint.get("icon-translate"), - r.paint.get("icon-translate-anchor"), - r.layout.get("icon-rotation-alignment"), - r.layout.get("icon-pitch-alignment"), - r.layout.get("icon-keep-upright"), - ), - 0 !== r.paint.get("text-opacity").constantOr(1) && - n( - t, - e, - r, - i, - !0, - r.paint.get("text-translate"), - r.paint.get("text-translate-anchor"), - r.layout.get("text-rotation-alignment"), - r.layout.get("text-pitch-alignment"), - r.layout.get("text-keep-upright"), - ), - e.map.showCollisionBoxes && s(t, e, r, i)); - } - }; - }, - { - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../source/pixels_to_tile_units": 104, - "../style/style_layer/symbol_style_layer_properties": 209, - "../symbol/projection": 224, - "../symbol/symbol_size": 228, - "./draw_collision_debug": 76, - "@mapbox/gl-matrix": 2, - }, - ], - 85: [ - function (t, e, r) { - var n = t("@mapbox/shelf-pack"), - i = t("../util/image").AlphaImage, - a = 1; - e.exports = { - makeGlyphAtlas: function (t) { - var e = new i({ width: 0, height: 0 }), - r = {}, - o = new n(0, 0, { autoResize: !0 }); - for (var s in t) { - var l = t[s], - c = (r[s] = {}); - for (var u in l) { - var f = l[+u]; - if (f && 0 !== f.bitmap.width && 0 !== f.bitmap.height) { - var h = o.packOne( - f.bitmap.width + 2 * a, - f.bitmap.height + 2 * a, - ); - (e.resize({ width: o.w, height: o.h }), - i.copy( - f.bitmap, - e, - { x: 0, y: 0 }, - { x: h.x + a, y: h.y + a }, - f.bitmap, - ), - (c[u] = { rect: h, metrics: f.metrics })); - } - } - } - return ( - o.shrink(), - e.resize({ width: o.w, height: o.h }), - { image: e, positions: r } - ); - }, - }; - }, - { "../util/image": 263, "@mapbox/shelf-pack": 5 }, - ], - 86: [ - function (t, e, r) { - var n = t("../style/load_glyph_range"), - i = t("@mapbox/tiny-sdf"), - a = t("../util/is_char_in_unicode_block"), - o = t("../util/util").asyncAll, - s = t("../util/image").AlphaImage, - l = function (t, e) { - ((this.requestTransform = t), - (this.localIdeographFontFamily = e), - (this.entries = {})); - }; - ((l.prototype.setURL = function (t) { - this.url = t; - }), - (l.prototype.getGlyphs = function (t, e) { - var r = this, - i = []; - for (var a in t) - for (var s = 0, l = t[a]; s < l.length; s += 1) { - var c = l[s]; - i.push({ stack: a, id: c }); - } - o( - i, - function (t, e) { - var i = t.stack, - a = t.id, - o = r.entries[i]; - o || (o = r.entries[i] = { glyphs: {}, requests: {} }); - var s = o.glyphs[a]; - if (void 0 === s) - if ((s = r._tinySDF(o, i, a))) - e(null, { stack: i, id: a, glyph: s }); - else { - var l = Math.floor(a / 256); - if (256 * l > 65535) - e(new Error("glyphs > 65535 not supported")); - else { - var c = o.requests[l]; - (c || - ((c = o.requests[l] = []), - n( - i, - l, - r.url, - r.requestTransform, - function (t, e) { - if (e) for (var r in e) o.glyphs[+r] = e[+r]; - for (var n = 0, i = c; n < i.length; n += 1) - (0, i[n])(t, e); - delete o.requests[l]; - }, - )), - c.push(function (t, r) { - t - ? e(t) - : r && - e(null, { - stack: i, - id: a, - glyph: r[a] || null, - }); - })); - } - } - else e(null, { stack: i, id: a, glyph: s }); - }, - function (t, r) { - if (t) e(t); - else if (r) { - for (var n = {}, i = 0, a = r; i < a.length; i += 1) { - var o = a[i], - s = o.stack, - l = o.id, - c = o.glyph; - (n[s] || (n[s] = {}))[l] = c && { - id: c.id, - bitmap: c.bitmap.clone(), - metrics: c.metrics, - }; - } - e(null, n); - } - }, - ); - }), - (l.prototype._tinySDF = function (t, e, r) { - var n = this.localIdeographFontFamily; - if ( - n && - (a["CJK Unified Ideographs"](r) || a["Hangul Syllables"](r)) - ) { - var o = t.tinySDF; - if (!o) { - var l = "400"; - (/bold/i.test(e) - ? (l = "900") - : /medium/i.test(e) - ? (l = "500") - : /light/i.test(e) && (l = "200"), - (o = t.tinySDF = new i(24, 3, 8, 0.25, n, l))); - } - return { - id: r, - bitmap: new s( - { width: 30, height: 30 }, - o.draw(String.fromCharCode(r)), - ), - metrics: { - width: 24, - height: 24, - left: 0, - top: -8, - advance: 24, - }, - }; - } - }), - (e.exports = l)); - }, - { - "../style/load_glyph_range": 184, - "../util/image": 263, - "../util/is_char_in_unicode_block": 265, - "../util/util": 275, - "@mapbox/tiny-sdf": 6, - }, - ], - 87: [ - function (t, e, r) { - function n(t, e) { - var r = e.pixelRatio, - n = { - x: t.x + o, - y: t.y + o, - w: t.w - 2 * o, - h: t.h - 2 * o, - }; - return { - pixelRatio: r, - textureRect: n, - tl: [n.x, n.y], - br: [n.x + n.w, n.y + n.h], - displaySize: [n.w / r, n.h / r], - }; - } - var i = t("@mapbox/shelf-pack"), - a = t("../util/image").RGBAImage, - o = 1; - e.exports = { - imagePosition: n, - makeImageAtlas: function (t) { - var e = new a({ width: 0, height: 0 }), - r = {}, - s = new i(0, 0, { autoResize: !0 }); - for (var l in t) { - var c = t[l], - u = s.packOne( - c.data.width + 2 * o, - c.data.height + 2 * o, - ); - (e.resize({ width: s.w, height: s.h }), - a.copy( - c.data, - e, - { x: 0, y: 0 }, - { x: u.x + o, y: u.y + o }, - c.data, - ), - (r[l] = n(u, c))); - } - return ( - s.shrink(), - e.resize({ width: s.w, height: s.h }), - { image: e, positions: r } - ); - }, - }; - }, - { "../util/image": 263, "@mapbox/shelf-pack": 5 }, - ], - 88: [ - function (t, e, r) { - var n = t("@mapbox/shelf-pack"), - i = t("../util/image").RGBAImage, - a = t("./image_atlas").imagePosition, - o = t("./texture"), - s = function () { - ((this.images = {}), - (this.loaded = !1), - (this.requestors = []), - (this.shelfPack = new n(64, 64, { autoResize: !0 })), - (this.patterns = {}), - (this.atlasImage = new i({ width: 64, height: 64 })), - (this.dirty = !0)); - }; - ((s.prototype.isLoaded = function () { - return this.loaded; - }), - (s.prototype.setLoaded = function (t) { - if (this.loaded !== t && ((this.loaded = t), t)) { - for (var e = 0, r = this.requestors; e < r.length; e += 1) { - var n = r[e], - i = n.ids, - a = n.callback; - this._notify(i, a); - } - this.requestors = []; - } - }), - (s.prototype.getImage = function (t) { - return this.images[t]; - }), - (s.prototype.addImage = function (t, e) { - this.images[t] = e; - }), - (s.prototype.removeImage = function (t) { - delete this.images[t]; - var e = this.patterns[t]; - e && (this.shelfPack.unref(e.bin), delete this.patterns[t]); - }), - (s.prototype.getImages = function (t, e) { - var r = !0; - if (!this.isLoaded()) - for (var n = 0, i = t; n < i.length; n += 1) { - var a = i[n]; - this.images[a] || (r = !1); - } - this.isLoaded() || r - ? this._notify(t, e) - : this.requestors.push({ ids: t, callback: e }); - }), - (s.prototype._notify = function (t, e) { - for (var r = {}, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = this.images[a]; - o && - (r[a] = { - data: o.data.clone(), - pixelRatio: o.pixelRatio, - sdf: o.sdf, - }); - } - e(null, r); - }), - (s.prototype.getPixelSize = function () { - return { width: this.shelfPack.w, height: this.shelfPack.h }; - }), - (s.prototype.getPattern = function (t) { - var e = this.patterns[t]; - if (e) return e.position; - var r = this.getImage(t); - if (!r) return null; - var n = r.data.width + 2, - o = r.data.height + 2, - s = this.shelfPack.packOne(n, o); - if (!s) return null; - this.atlasImage.resize(this.getPixelSize()); - var l = r.data, - c = this.atlasImage, - u = s.x + 1, - f = s.y + 1, - h = l.width, - p = l.height; - (i.copy( - l, - c, - { x: 0, y: 0 }, - { x: u, y: f }, - { width: h, height: p }, - ), - i.copy( - l, - c, - { x: 0, y: p - 1 }, - { x: u, y: f - 1 }, - { width: h, height: 1 }, - ), - i.copy( - l, - c, - { x: 0, y: 0 }, - { x: u, y: f + p }, - { width: h, height: 1 }, - ), - i.copy( - l, - c, - { x: h - 1, y: 0 }, - { x: u - 1, y: f }, - { width: 1, height: p }, - ), - i.copy( - l, - c, - { x: 0, y: 0 }, - { x: u + h, y: f }, - { width: 1, height: p }, - ), - (this.dirty = !0)); - var d = a(s, r); - return ((this.patterns[t] = { bin: s, position: d }), d); - }), - (s.prototype.bind = function (t) { - var e = t.gl; - (this.atlasTexture - ? this.dirty && - (this.atlasTexture.update(this.atlasImage), - (this.dirty = !1)) - : (this.atlasTexture = new o(t, this.atlasImage, e.RGBA)), - this.atlasTexture.bind(e.LINEAR, e.CLAMP_TO_EDGE)); - }), - (e.exports = s)); - }, - { - "../util/image": 263, - "./image_atlas": 87, - "./texture": 93, - "@mapbox/shelf-pack": 5, - }, - ], - 89: [ - function (t, e, r) { - var n = t("../util/util"), - i = function (t, e) { - ((this.width = t), - (this.height = e), - (this.nextRow = 0), - (this.bytes = 4), - (this.data = new Uint8Array( - this.width * this.height * this.bytes, - )), - (this.positions = {})); - }; - ((i.prototype.getDash = function (t, e) { - var r = t.join(",") + String(e); - return ( - this.positions[r] || (this.positions[r] = this.addDash(t, e)), - this.positions[r] - ); - }), - (i.prototype.addDash = function (t, e) { - var r = this, - i = e ? 7 : 0, - a = 2 * i + 1; - if (this.nextRow + a > this.height) - return (n.warnOnce("LineAtlas out of space"), null); - for (var o = 0, s = 0; s < t.length; s++) o += t[s]; - for ( - var l = this.width / o, - c = l / 2, - u = t.length % 2 == 1, - f = -i; - f <= i; - f++ - ) - for ( - var h = r.nextRow + i + f, - p = r.width * h, - d = u ? -t[t.length - 1] : 0, - g = t[0], - m = 1, - v = 0; - v < this.width; - v++ - ) { - for (; g < v / l; ) - ((d = g), - (g += t[m]), - u && m === t.length - 1 && (g += t[0]), - m++); - var y = Math.abs(v - d * l), - x = Math.abs(v - g * l), - b = Math.min(y, x), - _ = m % 2 == 1, - w = void 0; - if (e) { - var k = i ? (f / i) * (c + 1) : 0; - if (_) { - var M = c - Math.abs(k); - w = Math.sqrt(b * b + M * M); - } else w = c - Math.sqrt(b * b + k * k); - } else w = (_ ? 1 : -1) * b; - r.data[3 + 4 * (p + v)] = Math.max( - 0, - Math.min(255, w + 128), - ); - } - var A = { - y: (this.nextRow + i + 0.5) / this.height, - height: (2 * i) / this.height, - width: o, - }; - return ((this.nextRow += a), (this.dirty = !0), A); - }), - (i.prototype.bind = function (t) { - var e = t.gl; - this.texture - ? (e.bindTexture(e.TEXTURE_2D, this.texture), - this.dirty && - ((this.dirty = !1), - e.texSubImage2D( - e.TEXTURE_2D, - 0, - 0, - 0, - this.width, - this.height, - e.RGBA, - e.UNSIGNED_BYTE, - this.data, - ))) - : ((this.texture = e.createTexture()), - e.bindTexture(e.TEXTURE_2D, this.texture), - e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.REPEAT), - e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.REPEAT), - e.texParameteri( - e.TEXTURE_2D, - e.TEXTURE_MIN_FILTER, - e.LINEAR, - ), - e.texParameteri( - e.TEXTURE_2D, - e.TEXTURE_MAG_FILTER, - e.LINEAR, - ), - e.texImage2D( - e.TEXTURE_2D, - 0, - e.RGBA, - this.width, - this.height, - 0, - e.RGBA, - e.UNSIGNED_BYTE, - this.data, - )); - }), - (e.exports = i)); - }, - { "../util/util": 275 }, - ], - 90: [ - function (t, e, r) { - var n = t("../util/browser"), - i = t("@mapbox/gl-matrix").mat4, - a = t("../source/source_cache"), - o = t("../data/extent"), - s = t("../source/pixels_to_tile_units"), - l = t("../util/util"), - c = t("./vertex_array_object"), - u = t("../data/array_types"), - f = u.RasterBoundsArray, - h = u.PosArray, - p = t("../data/raster_bounds_attributes"), - d = t("../data/pos_attributes"), - g = t("../data/program_configuration").ProgramConfiguration, - m = t("../symbol/cross_tile_symbol_index"), - v = t("../shaders"), - y = t("./program"), - x = t("../gl/context"), - b = t("../gl/depth_mode"), - _ = t("../gl/stencil_mode"), - w = t("../gl/color_mode"), - k = (t("./texture"), t("./tile_mask")), - M = t("../style-spec/util/color"), - A = { - symbol: t("./draw_symbol"), - circle: t("./draw_circle"), - heatmap: t("./draw_heatmap"), - line: t("./draw_line"), - fill: t("./draw_fill"), - "fill-extrusion": t("./draw_fill_extrusion"), - hillshade: t("./draw_hillshade"), - raster: t("./draw_raster"), - background: t("./draw_background"), - debug: t("./draw_debug"), - }, - T = function (t, e) { - ((this.context = new x(t)), - (this.transform = e), - (this._tileTextures = {}), - this.setup(), - (this.numSublayers = - a.maxUnderzooming + a.maxOverzooming + 1), - (this.depthEpsilon = 1 / Math.pow(2, 16)), - (this.depthRboNeedsClear = !0), - (this.emptyProgramConfiguration = new g()), - (this.crossTileSymbolIndex = new m())); - }; - ((T.prototype.resize = function (t, e) { - var r = this.context.gl; - if ( - ((this.width = t * n.devicePixelRatio), - (this.height = e * n.devicePixelRatio), - this.context.viewport.set([0, 0, this.width, this.height]), - this.style) - ) - for (var i = 0, a = this.style._order; i < a.length; i += 1) { - var o = a[i]; - this.style._layers[o].resize(); - } - this.depthRbo && - (r.deleteRenderbuffer(this.depthRbo), (this.depthRbo = null)); - }), - (T.prototype.setup = function () { - var t = this.context, - e = new h(); - (e.emplaceBack(0, 0), - e.emplaceBack(o, 0), - e.emplaceBack(0, o), - e.emplaceBack(o, o), - (this.tileExtentBuffer = t.createVertexBuffer( - e, - d.members, - )), - (this.tileExtentVAO = new c()), - (this.tileExtentPatternVAO = new c())); - var r = new h(); - (r.emplaceBack(0, 0), - r.emplaceBack(o, 0), - r.emplaceBack(o, o), - r.emplaceBack(0, o), - r.emplaceBack(0, 0), - (this.debugBuffer = t.createVertexBuffer(r, d.members)), - (this.debugVAO = new c())); - var n = new f(); - (n.emplaceBack(0, 0, 0, 0), - n.emplaceBack(o, 0, o, 0), - n.emplaceBack(0, o, 0, o), - n.emplaceBack(o, o, o, o), - (this.rasterBoundsBuffer = t.createVertexBuffer( - n, - p.members, - )), - (this.rasterBoundsVAO = new c())); - var i = new h(); - (i.emplaceBack(0, 0), - i.emplaceBack(1, 0), - i.emplaceBack(0, 1), - i.emplaceBack(1, 1), - (this.viewportBuffer = t.createVertexBuffer(i, d.members)), - (this.viewportVAO = new c())); - }), - (T.prototype.clearStencil = function () { - var t = this.context, - e = t.gl; - (t.setColorMode(w.disabled), - t.setDepthMode(b.disabled), - t.setStencilMode( - new _( - { func: e.ALWAYS, mask: 0 }, - 0, - 255, - e.ZERO, - e.ZERO, - e.ZERO, - ), - )); - var r = i.create(); - (i.ortho(r, 0, this.width, this.height, 0, 0, 1), - i.scale(r, r, [ - e.drawingBufferWidth, - e.drawingBufferHeight, - 0, - ])); - var n = this.useProgram("clippingMask"); - (e.uniformMatrix4fv(n.uniforms.u_matrix, !1, r), - this.viewportVAO.bind(t, n, this.viewportBuffer, []), - e.drawArrays(e.TRIANGLE_STRIP, 0, 4)); - }), - (T.prototype._renderTileClippingMasks = function (t) { - var e = this, - r = this.context, - n = r.gl; - (r.setColorMode(w.disabled), r.setDepthMode(b.disabled)); - var i = 1; - this._tileClippingMaskIDs = {}; - for (var a = 0, o = t; a < o.length; a += 1) { - var s = o[a], - l = (e._tileClippingMaskIDs[s.key] = i++); - r.setStencilMode( - new _( - { func: n.ALWAYS, mask: 0 }, - l, - 255, - n.KEEP, - n.KEEP, - n.REPLACE, - ), - ); - var c = e.useProgram("clippingMask"); - (n.uniformMatrix4fv(c.uniforms.u_matrix, !1, s.posMatrix), - e.tileExtentVAO.bind( - e.context, - c, - e.tileExtentBuffer, - [], - ), - n.drawArrays( - n.TRIANGLE_STRIP, - 0, - e.tileExtentBuffer.length, - )); - } - }), - (T.prototype.stencilModeForClipping = function (t) { - var e = this.context.gl; - return new _( - { func: e.EQUAL, mask: 255 }, - this._tileClippingMaskIDs[t.key], - 0, - e.KEEP, - e.KEEP, - e.REPLACE, - ); - }), - (T.prototype.colorModeForRenderPass = function () { - var t = this.context.gl; - return this._showOverdrawInspector - ? new w( - [t.CONSTANT_COLOR, t.ONE], - new M(1 / 8, 1 / 8, 1 / 8, 0), - [!0, !0, !0, !0], - ) - : "opaque" === this.renderPass - ? w.unblended - : w.alphaBlended; - }), - (T.prototype.depthModeForSublayer = function (t, e, r) { - var n = - 1 - - ((1 + this.currentLayer) * this.numSublayers + t) * - this.depthEpsilon, - i = n - 1 + this.depthRange; - return new b(r || this.context.gl.LEQUAL, e, [i, n]); - }), - (T.prototype.render = function (t, e) { - var r = this; - for (var i in ((this.style = t), - (this.options = e), - (this.lineAtlas = t.lineAtlas), - (this.imageManager = t.imageManager), - (this.glyphManager = t.glyphManager), - (this.symbolFadeChange = t.placement.symbolFadeChange( - n.now(), - )), - t.sourceCaches)) { - var a = r.style.sourceCaches[i]; - a.used && a.prepare(r.context); - } - var o = this.style._order, - s = l.filterObject(this.style.sourceCaches, function (t) { - return ( - "raster" === t.getSource().type || - "raster-dem" === t.getSource().type - ); - }); - for (var c in s) - !(function (t) { - var e = s[c], - n = e.getVisibleCoordinates().map(function (t) { - return e.getTile(t); - }); - k(n, r.context); - })(); - this.renderPass = "offscreen"; - var u, - f = []; - this.depthRboNeedsClear = !0; - for (var h = 0; h < o.length; h++) { - var p = r.style._layers[o[h]]; - p.hasOffscreenPass() && - !p.isHidden(r.transform.zoom) && - (p.source !== (u && u.id) && - ((f = []), - (u = r.style.sourceCaches[p.source]) && - (f = u.getVisibleCoordinates()).reverse()), - f.length && r.renderLayer(r, u, p, f)); - } - (this.context.bindFramebuffer.set(null), - this.context.clear({ - color: e.showOverdrawInspector ? M.black : M.transparent, - depth: 1, - }), - (this._showOverdrawInspector = e.showOverdrawInspector), - (this.depthRange = - (t._order.length + 2) * - this.numSublayers * - this.depthEpsilon), - (this.renderPass = "opaque")); - var d, - g = []; - for ( - this.currentLayer = o.length - 1, this.currentLayer; - this.currentLayer >= 0; - this.currentLayer-- - ) { - var m = r.style._layers[o[r.currentLayer]]; - (m.source !== (d && d.id) && - ((g = []), - (d = r.style.sourceCaches[m.source]) && - (r.clearStencil(), - (g = d.getVisibleCoordinates()), - d.getSource().isTileClipped && - r._renderTileClippingMasks(g))), - r.renderLayer(r, d, m, g)); - } - this.renderPass = "translucent"; - var v, - y = []; - for ( - this.currentLayer = 0, this.currentLayer; - this.currentLayer < o.length; - this.currentLayer++ - ) { - var x = r.style._layers[o[r.currentLayer]]; - (x.source !== (v && v.id) && - ((y = []), - (v = r.style.sourceCaches[x.source]) && - (r.clearStencil(), - (y = v.getVisibleCoordinates()), - v.getSource().isTileClipped && - r._renderTileClippingMasks(y)), - y.reverse()), - r.renderLayer(r, v, x, y)); - } - if (this.options.showTileBoundaries) { - var b = - this.style.sourceCaches[ - Object.keys(this.style.sourceCaches)[0] - ]; - b && A.debug(this, b, b.getVisibleCoordinates()); - } - }), - (T.prototype.setupOffscreenDepthRenderbuffer = function () { - var t = this.context; - this.depthRbo || - (this.depthRbo = t.createRenderbuffer( - t.gl.DEPTH_COMPONENT16, - this.width, - this.height, - )); - }), - (T.prototype.renderLayer = function (t, e, r, n) { - r.isHidden(this.transform.zoom) || - (("background" === r.type || n.length) && - ((this.id = r.id), A[r.type](t, e, r, n))); - }), - (T.prototype.translatePosMatrix = function (t, e, r, n, a) { - if (!r[0] && !r[1]) return t; - var o = a - ? "map" === n - ? this.transform.angle - : 0 - : "viewport" === n - ? -this.transform.angle - : 0; - if (o) { - var l = Math.sin(o), - c = Math.cos(o); - r = [r[0] * c - r[1] * l, r[0] * l + r[1] * c]; - } - var u = [ - a ? r[0] : s(e, r[0], this.transform.zoom), - a ? r[1] : s(e, r[1], this.transform.zoom), - 0, - ], - f = new Float32Array(16); - return (i.translate(f, t, u), f); - }), - (T.prototype.saveTileTexture = function (t) { - var e = this._tileTextures[t.size[0]]; - e ? e.push(t) : (this._tileTextures[t.size[0]] = [t]); - }), - (T.prototype.getTileTexture = function (t) { - var e = this._tileTextures[t]; - return e && e.length > 0 ? e.pop() : null; - }), - (T.prototype._createProgramCached = function (t, e) { - this.cache = this.cache || {}; - var r = - "" + - t + - (e.cacheKey || "") + - (this._showOverdrawInspector ? "/overdraw" : ""); - return ( - this.cache[r] || - (this.cache[r] = new y( - this.context, - v[t], - e, - this._showOverdrawInspector, - )), - this.cache[r] - ); - }), - (T.prototype.useProgram = function (t, e) { - var r = this._createProgramCached( - t, - e || this.emptyProgramConfiguration, - ); - return (this.context.program.set(r.program), r); - }), - (e.exports = T)); - }, - { - "../data/array_types": 39, - "../data/extent": 53, - "../data/pos_attributes": 57, - "../data/program_configuration": 58, - "../data/raster_bounds_attributes": 59, - "../gl/color_mode": 65, - "../gl/context": 66, - "../gl/depth_mode": 67, - "../gl/stencil_mode": 70, - "../shaders": 97, - "../source/pixels_to_tile_units": 104, - "../source/source_cache": 111, - "../style-spec/util/color": 153, - "../symbol/cross_tile_symbol_index": 218, - "../util/browser": 252, - "../util/util": 275, - "./draw_background": 74, - "./draw_circle": 75, - "./draw_debug": 77, - "./draw_fill": 78, - "./draw_fill_extrusion": 79, - "./draw_heatmap": 80, - "./draw_hillshade": 81, - "./draw_line": 82, - "./draw_raster": 83, - "./draw_symbol": 84, - "./program": 92, - "./texture": 93, - "./tile_mask": 94, - "./vertex_array_object": 95, - "@mapbox/gl-matrix": 2, - }, - ], - 91: [ - function (t, e, r) { - var n = t("../source/pixels_to_tile_units"); - ((r.isPatternMissing = function (t, e) { - if (!t) return !1; - var r = e.imageManager.getPattern(t.from), - n = e.imageManager.getPattern(t.to); - return !r || !n; - }), - (r.prepare = function (t, e, r) { - var n = e.context, - i = n.gl, - a = e.imageManager.getPattern(t.from), - o = e.imageManager.getPattern(t.to); - (i.uniform1i(r.uniforms.u_image, 0), - i.uniform2fv(r.uniforms.u_pattern_tl_a, a.tl), - i.uniform2fv(r.uniforms.u_pattern_br_a, a.br), - i.uniform2fv(r.uniforms.u_pattern_tl_b, o.tl), - i.uniform2fv(r.uniforms.u_pattern_br_b, o.br)); - var s = e.imageManager.getPixelSize(), - l = s.width, - c = s.height; - (i.uniform2fv(r.uniforms.u_texsize, [l, c]), - i.uniform1f(r.uniforms.u_mix, t.t), - i.uniform2fv(r.uniforms.u_pattern_size_a, a.displaySize), - i.uniform2fv(r.uniforms.u_pattern_size_b, o.displaySize), - i.uniform1f(r.uniforms.u_scale_a, t.fromScale), - i.uniform1f(r.uniforms.u_scale_b, t.toScale), - n.activeTexture.set(i.TEXTURE0), - e.imageManager.bind(e.context)); - }), - (r.setTile = function (t, e, r) { - var i = e.context.gl; - i.uniform1f( - r.uniforms.u_tile_units_to_pixels, - 1 / n(t, 1, e.transform.tileZoom), - ); - var a = Math.pow(2, t.tileID.overscaledZ), - o = (t.tileSize * Math.pow(2, e.transform.tileZoom)) / a, - s = o * (t.tileID.canonical.x + t.tileID.wrap * a), - l = o * t.tileID.canonical.y; - (i.uniform2f( - r.uniforms.u_pixel_coord_upper, - s >> 16, - l >> 16, - ), - i.uniform2f( - r.uniforms.u_pixel_coord_lower, - 65535 & s, - 65535 & l, - )); - })); - }, - { "../source/pixels_to_tile_units": 104 }, - ], - 92: [ - function (t, e, r) { - var n = t("../util/browser"), - i = t("../shaders"), - a = - (t("../data/program_configuration").ProgramConfiguration, - t("./vertex_array_object")), - o = - (t("../gl/context"), - function (t, e, r, a) { - var o = this, - s = t.gl; - this.program = s.createProgram(); - var l = r - .defines() - .concat( - "#define DEVICE_PIXEL_RATIO " + - n.devicePixelRatio.toFixed(1), - ); - a && l.push("#define OVERDRAW_INSPECTOR;"); - var c = l - .concat(i.prelude.fragmentSource, e.fragmentSource) - .join("\n"), - u = l - .concat(i.prelude.vertexSource, e.vertexSource) - .join("\n"), - f = s.createShader(s.FRAGMENT_SHADER); - (s.shaderSource(f, c), - s.compileShader(f), - s.attachShader(this.program, f)); - var h = s.createShader(s.VERTEX_SHADER); - (s.shaderSource(h, u), - s.compileShader(h), - s.attachShader(this.program, h)); - for ( - var p = r.layoutAttributes || [], d = 0; - d < p.length; - d++ - ) - s.bindAttribLocation(o.program, d, p[d].name); - (s.linkProgram(this.program), - (this.numAttributes = s.getProgramParameter( - this.program, - s.ACTIVE_ATTRIBUTES, - )), - (this.attributes = {}), - (this.uniforms = {})); - for (var g = 0; g < this.numAttributes; g++) { - var m = s.getActiveAttrib(o.program, g); - m && - (o.attributes[m.name] = s.getAttribLocation( - o.program, - m.name, - )); - } - for ( - var v = s.getProgramParameter( - this.program, - s.ACTIVE_UNIFORMS, - ), - y = 0; - y < v; - y++ - ) { - var x = s.getActiveUniform(o.program, y); - x && - (o.uniforms[x.name] = s.getUniformLocation( - o.program, - x.name, - )); - } - }); - ((o.prototype.draw = function (t, e, r, n, i, o, s, l, c) { - for ( - var u, - f = t.gl, - h = ((u = {}), (u[f.LINES] = 2), (u[f.TRIANGLES] = 3), u)[ - e - ], - p = 0, - d = o.get(); - p < d.length; - p += 1 - ) { - var g = d[p], - m = g.vaos || (g.vaos = {}); - ((m[r] || (m[r] = new a())).bind( - t, - this, - n, - s ? s.getPaintVertexBuffers() : [], - i, - g.vertexOffset, - l, - c, - ), - f.drawElements( - e, - g.primitiveLength * h, - f.UNSIGNED_SHORT, - g.primitiveOffset * h * 2, - )); - } - }), - (e.exports = o)); - }, - { - "../data/program_configuration": 58, - "../gl/context": 66, - "../shaders": 97, - "../util/browser": 252, - "./vertex_array_object": 95, - }, - ], - 93: [ - function (t, e, r) { - var n = t("../util/window"), - i = n.HTMLImageElement, - a = n.HTMLCanvasElement, - o = n.HTMLVideoElement, - s = n.ImageData, - l = function (t, e, r, n) { - this.context = t; - var i = e.width, - a = e.height; - ((this.size = [i, a]), - (this.format = r), - (this.texture = t.gl.createTexture()), - this.update(e, n)); - }; - ((l.prototype.update = function (t, e) { - var r = t.width, - n = t.height; - this.size = [r, n]; - var l = this.context, - c = l.gl; - (c.bindTexture(c.TEXTURE_2D, this.texture), - l.pixelStoreUnpack.set(1), - this.format === c.RGBA && - !1 !== e && - l.pixelStoreUnpackPremultiplyAlpha.set(!0), - t instanceof i || - t instanceof a || - t instanceof o || - t instanceof s - ? c.texImage2D( - c.TEXTURE_2D, - 0, - this.format, - this.format, - c.UNSIGNED_BYTE, - t, - ) - : c.texImage2D( - c.TEXTURE_2D, - 0, - this.format, - r, - n, - 0, - this.format, - c.UNSIGNED_BYTE, - t.data, - )); - }), - (l.prototype.bind = function (t, e, r) { - var n = this.context.gl; - (n.bindTexture(n.TEXTURE_2D, this.texture), - t !== this.filter && - (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, t), - n.texParameteri( - n.TEXTURE_2D, - n.TEXTURE_MIN_FILTER, - r || t, - ), - (this.filter = t)), - e !== this.wrap && - (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, e), - n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, e), - (this.wrap = e))); - }), - (l.prototype.destroy = function () { - (this.context.gl.deleteTexture(this.texture), - (this.texture = null)); - }), - (e.exports = l)); - }, - { "../util/window": 254 }, - ], - 94: [ - function (t, e, r) { - function n(t, e, r, i, a) { - for (var s = 0; s < r.length; s++) { - var l = r[s]; - if (i.isLessThan(l.tileID)) break; - if (e.key === l.tileID.key) return; - if (l.tileID.isChildOf(e)) { - for (var c = e.children(1 / 0), u = 0; u < c.length; u++) - n(t, c[u], r.slice(s), i, a); - return; - } - } - var f = e.overscaledZ - t.overscaledZ, - h = new o( - f, - e.canonical.x - (t.canonical.x << f), - e.canonical.y - (t.canonical.y << f), - ); - a[h.key] = a[h.key] || h; - } - var i = t("../source/tile_id"), - a = i.OverscaledTileID, - o = i.CanonicalTileID; - e.exports = function (t, e) { - for ( - var r = t.sort(function (t, e) { - return t.tileID.isLessThan(e.tileID) - ? -1 - : e.tileID.isLessThan(t.tileID) - ? 1 - : 0; - }), - i = 0; - i < r.length; - i++ - ) { - var o = {}, - s = r[i], - l = r.slice(i + 1); - (n( - s.tileID.wrapped(), - s.tileID, - l, - new a(0, s.tileID.wrap + 1, 0, 0, 0), - o, - ), - s.setMask(o, e)); - } - }; - }, - { "../source/tile_id": 114 }, - ], - 95: [ - function (t, e, r) { - var n = function () { - ((this.boundProgram = null), - (this.boundLayoutVertexBuffer = null), - (this.boundPaintVertexBuffers = []), - (this.boundIndexBuffer = null), - (this.boundVertexOffset = null), - (this.boundDynamicVertexBuffer = null), - (this.vao = null)); - }; - ((n.prototype.bind = function (t, e, r, n, i, a, o, s) { - this.context = t; - for ( - var l = this.boundPaintVertexBuffers.length !== n.length, - c = 0; - !l && c < n.length; - c++ - ) - this.boundPaintVertexBuffers[c] !== n[c] && (l = !0); - var u = - !this.vao || - this.boundProgram !== e || - this.boundLayoutVertexBuffer !== r || - l || - this.boundIndexBuffer !== i || - this.boundVertexOffset !== a || - this.boundDynamicVertexBuffer !== o || - this.boundDynamicVertexBuffer2 !== s; - !t.extVertexArrayObject || u - ? this.freshBind(e, r, n, i, a, o, s) - : (t.bindVertexArrayOES.set(this.vao), - o && o.bind(), - i && i.dynamicDraw && i.bind(), - s && s.bind()); - }), - (n.prototype.freshBind = function (t, e, r, n, i, a, o) { - var s, - l = t.numAttributes, - c = this.context, - u = c.gl; - if (c.extVertexArrayObject) - (this.vao && this.destroy(), - (this.vao = - c.extVertexArrayObject.createVertexArrayOES()), - c.bindVertexArrayOES.set(this.vao), - (s = 0), - (this.boundProgram = t), - (this.boundLayoutVertexBuffer = e), - (this.boundPaintVertexBuffers = r), - (this.boundIndexBuffer = n), - (this.boundVertexOffset = i), - (this.boundDynamicVertexBuffer = a), - (this.boundDynamicVertexBuffer2 = o)); - else { - s = c.currentNumAttributes || 0; - for (var f = l; f < s; f++) u.disableVertexAttribArray(f); - } - e.enableAttributes(u, t); - for (var h = 0, p = r; h < p.length; h += 1) - p[h].enableAttributes(u, t); - (a && a.enableAttributes(u, t), - o && o.enableAttributes(u, t), - e.bind(), - e.setVertexAttribPointers(u, t, i)); - for (var d = 0, g = r; d < g.length; d += 1) { - var m = g[d]; - (m.bind(), m.setVertexAttribPointers(u, t, i)); - } - (a && (a.bind(), a.setVertexAttribPointers(u, t, i)), - n && n.bind(), - o && (o.bind(), o.setVertexAttribPointers(u, t, i)), - (c.currentNumAttributes = l)); - }), - (n.prototype.destroy = function () { - this.vao && - (this.context.extVertexArrayObject.deleteVertexArrayOES( - this.vao, - ), - (this.vao = null)); - }), - (e.exports = n)); - }, - {}, - ], - 96: [ - function (t, e, r) { - var n = t("../util/util"); - r.packUint8ToFloat = function (t, e) { - return ( - 256 * (t = n.clamp(Math.floor(t), 0, 255)) + - (e = n.clamp(Math.floor(e), 0, 255)) - ); - }; - }, - { "../util/util": 275 }, - ], - 97: [ - function (t, e, r) { - var n = { - prelude: { - fragmentSource: - "#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n", - vertexSource: - "#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\n// Unpack a pair of values that have been packed into a single float.\n// The packed values are assumed to be 8-bit unsigned integers, and are\n// packed like so:\n// packedValue = floor(input[0]) * 256 + input[1],\nvec2 unpack_float(const float packedValue) {\n int packedIntValue = int(packedValue);\n int v0 = packedIntValue / 256;\n return vec2(v0, packedIntValue - v0 * 256);\n}\n\nvec2 unpack_opacity(const float packedOpacity) {\n int intOpacity = int(packedOpacity) / 2;\n return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\n}\n\n// To minimize the number of attributes needed, we encode a 4-component\n// color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n return vec4(\n unpack_float(encodedColor[0]) / 255.0,\n unpack_float(encodedColor[1]) / 255.0\n );\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n", - }, - background: { - fragmentSource: - "uniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main() {\n gl_FragColor = u_color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", - }, - backgroundPattern: { - fragmentSource: - "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n", - }, - circle: { - fragmentSource: - "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n vec2 extrude = v_data.xy;\n float extrude_length = length(extrude);\n\n lowp float antialiasblur = v_data.z;\n float antialiased_blur = -max(blur, antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform bool u_pitch_with_map;\nuniform vec2 u_extrude_scale;\nuniform highp float u_camera_to_center_distance;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec3 v_data;\n\nvoid main(void) {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize highp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec2 circle_center = floor(a_pos * 0.5);\n if (u_pitch_with_map) {\n vec2 corner_position = circle_center;\n if (u_scale_with_map) {\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\n } else {\n // Pitching the circle with the map effectively scales it with the map\n // To counteract the effect for pitch-scale: viewport, we rescale the\n // whole circle based on the pitch scaling effect at its central point\n vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\n corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\n }\n\n gl_Position = u_matrix * vec4(corner_position, 0, 1);\n } else {\n gl_Position = u_matrix * vec4(circle_center, 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\n } else {\n gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\n }\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n\n v_data = vec3(extrude.x, extrude.y, antialiasblur);\n}\n", - }, - clippingMask: { - fragmentSource: - "void main() {\n gl_FragColor = vec4(1.0);\n}\n", - vertexSource: - "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", - }, - heatmap: { - fragmentSource: - "#pragma mapbox: define highp float weight\n\nuniform highp float u_intensity;\nvarying vec2 v_extrude;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main() {\n #pragma mapbox: initialize highp float weight\n\n // Kernel density estimation with a Gaussian kernel of size 5x5\n float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n float val = weight * u_intensity * GAUSS_COEF * exp(d);\n\n gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\n\nuniform mat4 u_matrix;\nuniform float u_extrude_scale;\nuniform float u_opacity;\nuniform float u_intensity;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_extrude;\n\n// Effective \"0\" in the kernel density texture to adjust the kernel size to;\n// this empirically chosen number minimizes artifacts on overlapping kernels\n// for typical heatmap cases (assuming clustered source)\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main(void) {\n #pragma mapbox: initialize highp float weight\n #pragma mapbox: initialize mediump float radius\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n // This 'extrude' comes in ranging from [-1, -1], to [1, 1]. We'll use\n // it to produce the vertices of a square mesh framing the point feature\n // we're adding to the kernel density texture. We'll also pass it as\n // a varying, so that the fragment shader can determine the distance of\n // each fragment from the point feature.\n // Before we do so, we need to scale it up sufficiently so that the\n // kernel falls effectively to zero at the edge of the mesh.\n // That is, we want to know S such that\n // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\n // Which solves to:\n // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\n float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\n\n // Pass the varying in units of radius\n v_extrude = S * unscaled_extrude;\n\n // Scale by radius and the zoom-based scale factor to produce actual\n // mesh position\n vec2 extrude = v_extrude * radius * u_extrude_scale;\n\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\n\n gl_Position = u_matrix * pos;\n}\n", - }, - heatmapTexture: { - fragmentSource: - "uniform sampler2D u_image;\nuniform sampler2D u_color_ramp;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n float t = texture2D(u_image, v_pos).r;\n vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\n gl_FragColor = color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n", - }, - collisionBox: { - fragmentSource: - "\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n\n float alpha = 0.5;\n\n // Red = collision, hide label\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}", - vertexSource: - "attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n", - }, - collisionCircle: { - fragmentSource: - "\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n", - vertexSource: - "attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n", - }, - debug: { - fragmentSource: - "uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n", - vertexSource: - "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", - }, - fill: { - fragmentSource: - "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", - }, - fillOutline: { - fragmentSource: - "#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n", - }, - fillOutlinePattern: { - fragmentSource: - "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n", - }, - fillPattern: { - fragmentSource: - "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n", - }, - fillExtrusion: { - fragmentSource: - "varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n", - }, - fillExtrusionPattern: { - fragmentSource: - "uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n", - }, - extrusionTexture: { - fragmentSource: - "uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n", - }, - hillshadePrepare: { - fragmentSource: - "#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\n // maxzoom of the tile source. here we use a=0.3 which works out to the\n // expression below. see nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n", - }, - hillshade: { - fragmentSource: - "uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n", - }, - line: { - fragmentSource: - "#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n", - }, - linePattern: { - fragmentSource: - "uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n", - }, - lineSDF: { - fragmentSource: - "\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n", - }, - raster: { - fragmentSource: - "uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n", - }, - symbolIcon: { - fragmentSource: - "uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n", - }, - symbolSDF: { - fragmentSource: - "#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", - vertexSource: - "const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n", - }, - }, - i = /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, - a = function (t) { - var e = n[t], - r = {}; - ((e.fragmentSource = e.fragmentSource.replace( - i, - function (t, e, n, i, a) { - return ( - (r[a] = !0), - "define" === e - ? "\n#ifndef HAS_UNIFORM_u_" + - a + - "\nvarying " + - n + - " " + - i + - " " + - a + - ";\n#else\nuniform " + - n + - " " + - i + - " u_" + - a + - ";\n#endif\n" - : "\n#ifdef HAS_UNIFORM_u_" + - a + - "\n " + - n + - " " + - i + - " " + - a + - " = u_" + - a + - ";\n#endif\n" - ); - }, - )), - (e.vertexSource = e.vertexSource.replace( - i, - function (t, e, n, i, a) { - var o = "float" === i ? "vec2" : "vec4"; - return r[a] - ? "define" === e - ? "\n#ifndef HAS_UNIFORM_u_" + - a + - "\nuniform lowp float a_" + - a + - "_t;\nattribute " + - n + - " " + - o + - " a_" + - a + - ";\nvarying " + - n + - " " + - i + - " " + - a + - ";\n#else\nuniform " + - n + - " " + - i + - " u_" + - a + - ";\n#endif\n" - : "\n#ifndef HAS_UNIFORM_u_" + - a + - "\n " + - a + - " = unpack_mix_" + - o + - "(a_" + - a + - ", a_" + - a + - "_t);\n#else\n " + - n + - " " + - i + - " " + - a + - " = u_" + - a + - ";\n#endif\n" - : "define" === e - ? "\n#ifndef HAS_UNIFORM_u_" + - a + - "\nuniform lowp float a_" + - a + - "_t;\nattribute " + - n + - " " + - o + - " a_" + - a + - ";\n#else\nuniform " + - n + - " " + - i + - " u_" + - a + - ";\n#endif\n" - : "\n#ifndef HAS_UNIFORM_u_" + - a + - "\n " + - n + - " " + - i + - " " + - a + - " = unpack_mix_" + - o + - "(a_" + - a + - ", a_" + - a + - "_t);\n#else\n " + - n + - " " + - i + - " " + - a + - " = u_" + - a + - ";\n#endif\n"; - }, - ))); - }; - for (var o in n) a(o); - e.exports = n; - }, - {}, - ], - 98: [ - function (t, e, r) { - var n = t("./image_source"), - i = t("../util/window"), - a = t("../data/raster_bounds_attributes"), - o = t("../render/vertex_array_object"), - s = t("../render/texture"), - l = (function (t) { - function e(e, r, n, i) { - (t.call(this, e, r, n, i), - (this.options = r), - (this.animate = void 0 === r.animate || r.animate)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - ((this.canvas = - this.canvas || - i.document.getElementById(this.options.canvas)), - (this.width = this.canvas.width), - (this.height = this.canvas.height), - this._hasInvalidDimensions() - ? this.fire( - "error", - new Error( - "Canvas dimensions cannot be less than or equal to zero.", - ), - ) - : ((this.play = function () { - ((this._playing = !0), this.map._rerender()); - }), - (this.pause = function () { - this._playing = !1; - }), - this._finishLoading())); - }), - (e.prototype.getCanvas = function () { - return this.canvas; - }), - (e.prototype.onAdd = function (t) { - ((this.map = t), - this.load(), - this.canvas && this.animate && this.play()); - }), - (e.prototype.onRemove = function () { - this.pause(); - }), - (e.prototype.prepare = function () { - var t = this, - e = !1; - if ( - (this.canvas.width !== this.width && - ((this.width = this.canvas.width), (e = !0)), - this.canvas.height !== this.height && - ((this.height = this.canvas.height), (e = !0)), - !this._hasInvalidDimensions() && - 0 !== Object.keys(this.tiles).length) - ) { - var r = this.map.painter.context, - n = r.gl; - for (var i in (this.boundsBuffer || - (this.boundsBuffer = r.createVertexBuffer( - this._boundsArray, - a.members, - )), - this.boundsVAO || (this.boundsVAO = new o()), - this.texture - ? e - ? this.texture.update(this.canvas) - : this._playing && - (this.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE), - n.texSubImage2D( - n.TEXTURE_2D, - 0, - 0, - 0, - n.RGBA, - n.UNSIGNED_BYTE, - this.canvas, - )) - : ((this.texture = new s(r, this.canvas, n.RGBA)), - this.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE)), - t.tiles)) { - var l = t.tiles[i]; - "loaded" !== l.state && - ((l.state = "loaded"), (l.texture = t.texture)); - } - } - }), - (e.prototype.serialize = function () { - return { - type: "canvas", - canvas: this.canvas, - coordinates: this.coordinates, - }; - }), - (e.prototype.hasTransition = function () { - return this._playing; - }), - (e.prototype._hasInvalidDimensions = function () { - for ( - var t = 0, e = [this.canvas.width, this.canvas.height]; - t < e.length; - t += 1 - ) { - var r = e[t]; - if (isNaN(r) || r <= 0) return !0; - } - return !1; - }), - e - ); - })(n); - e.exports = l; - }, - { - "../data/raster_bounds_attributes": 59, - "../render/texture": 93, - "../render/vertex_array_object": 95, - "../util/window": 254, - "./image_source": 102, - }, - ], - 99: [ - function (t, e, r) { - var n = t("../util/evented"), - i = t("../util/util"), - a = t("../util/window"), - o = t("../data/extent"), - s = t("../util/ajax").ResourceType, - l = t("../util/browser"), - c = (function (t) { - function e(e, r, n, a) { - (t.call(this), - (this.id = e), - (this.type = "geojson"), - (this.minzoom = 0), - (this.maxzoom = 18), - (this.tileSize = 512), - (this.isTileClipped = !0), - (this.reparseOverscaled = !0), - (this.dispatcher = n), - this.setEventedParent(a), - (this._data = r.data), - (this._options = i.extend({}, r)), - (this._collectResourceTiming = r.collectResourceTiming), - (this._resourceTiming = []), - void 0 !== r.maxzoom && (this.maxzoom = r.maxzoom), - r.type && (this.type = r.type)); - var s = o / this.tileSize; - this.workerOptions = i.extend( - { - source: this.id, - cluster: r.cluster || !1, - geojsonVtOptions: { - buffer: (void 0 !== r.buffer ? r.buffer : 128) * s, - tolerance: - (void 0 !== r.tolerance ? r.tolerance : 0.375) * s, - extent: o, - maxZoom: this.maxzoom, - }, - superclusterOptions: { - maxZoom: - void 0 !== r.clusterMaxZoom - ? Math.min(r.clusterMaxZoom, this.maxzoom - 1) - : this.maxzoom - 1, - extent: o, - radius: (r.clusterRadius || 50) * s, - log: !1, - }, - }, - r.workerOptions, - ); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - var t = this; - (this.fire("dataloading", { dataType: "source" }), - this._updateWorkerData(function (e) { - if (e) t.fire("error", { error: e }); - else { - var r = { - dataType: "source", - sourceDataType: "metadata", - }; - (t._collectResourceTiming && - t._resourceTiming && - t._resourceTiming.length > 0 && - ((r.resourceTiming = t._resourceTiming), - (t._resourceTiming = [])), - t.fire("data", r)); - } - })); - }), - (e.prototype.onAdd = function (t) { - ((this.map = t), this.load()); - }), - (e.prototype.setData = function (t) { - var e = this; - return ( - (this._data = t), - this.fire("dataloading", { dataType: "source" }), - this._updateWorkerData(function (t) { - if (t) return e.fire("error", { error: t }); - var r = { - dataType: "source", - sourceDataType: "content", - }; - (e._collectResourceTiming && - e._resourceTiming && - e._resourceTiming.length > 0 && - ((r.resourceTiming = e._resourceTiming), - (e._resourceTiming = [])), - e.fire("data", r)); - }), - this - ); - }), - (e.prototype._updateWorkerData = function (t) { - var e = this, - r = i.extend({}, this.workerOptions), - n = this._data; - ("string" == typeof n - ? ((r.request = this.map._transformRequest( - (function (t) { - var e = a.document.createElement("a"); - return ((e.href = t), e.href); - })(n), - s.Source, - )), - (r.request.collectResourceTiming = - this._collectResourceTiming)) - : (r.data = JSON.stringify(n)), - (this.workerID = this.dispatcher.send( - this.type + ".loadData", - r, - function (r, n) { - ((e._loaded = !0), - n && - n.resourceTiming && - n.resourceTiming[e.id] && - (e._resourceTiming = - n.resourceTiming[e.id].slice(0)), - t(r)); - }, - this.workerID, - ))); - }), - (e.prototype.loadTile = function (t, e) { - var r = this, - n = - void 0 === t.workerID || "expired" === t.state - ? "loadTile" - : "reloadTile", - i = { - type: this.type, - uid: t.uid, - tileID: t.tileID, - zoom: t.tileID.overscaledZ, - maxZoom: this.maxzoom, - tileSize: this.tileSize, - source: this.id, - pixelRatio: l.devicePixelRatio, - overscaling: t.tileID.overscaleFactor(), - showCollisionBoxes: this.map.showCollisionBoxes, - }; - t.workerID = this.dispatcher.send( - n, - i, - function (i, a) { - return ( - t.unloadVectorData(), - t.aborted - ? e(null) - : i - ? e(i) - : (t.loadVectorData( - a, - r.map.painter, - "reloadTile" === n, - ), - e(null)) - ); - }, - this.workerID, - ); - }), - (e.prototype.abortTile = function (t) { - t.aborted = !0; - }), - (e.prototype.unloadTile = function (t) { - (t.unloadVectorData(), - this.dispatcher.send( - "removeTile", - { uid: t.uid, type: this.type, source: this.id }, - null, - t.workerID, - )); - }), - (e.prototype.onRemove = function () { - this.dispatcher.broadcast("removeSource", { - type: this.type, - source: this.id, - }); - }), - (e.prototype.serialize = function () { - return i.extend({}, this._options, { - type: this.type, - data: this._data, - }); - }), - (e.prototype.hasTransition = function () { - return !1; - }), - e - ); - })(n); - e.exports = c; - }, - { - "../data/extent": 53, - "../util/ajax": 251, - "../util/browser": 252, - "../util/evented": 260, - "../util/util": 275, - "../util/window": 254, - }, - ], - 100: [ - function (t, e, r) { - function n(t, e) { - var r = t.source, - n = t.tileID.canonical; - if (!this._geoJSONIndexes[r]) return e(null, null); - var i = this._geoJSONIndexes[r].getTile(n.z, n.x, n.y); - if (!i) return e(null, null); - var a = new s(i.features), - o = l(a); - ((0 === o.byteOffset && o.byteLength === o.buffer.byteLength) || - (o = new Uint8Array(o)), - e(null, { vectorTile: a, rawData: o.buffer })); - } - var i = t("../util/ajax"), - a = t("../util/performance"), - o = t("geojson-rewind"), - s = t("./geojson_wrapper"), - l = t("vt-pbf"), - c = t("supercluster"), - u = t("geojson-vt"), - f = (function (t) { - function e(e, r, i) { - (t.call(this, e, r, n), - i && (this.loadGeoJSON = i), - (this._geoJSONIndexes = {})); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.loadData = function (t, e) { - var r = this; - this.loadGeoJSON(t, function (n, i) { - if (n || !i) return e(n); - if ("object" != typeof i) - return e( - new Error( - "Input data is not a valid GeoJSON object.", - ), - ); - o(i, !0); - try { - r._geoJSONIndexes[t.source] = t.cluster - ? c(t.superclusterOptions).load(i.features) - : u(i, t.geojsonVtOptions); - } catch (n) { - return e(n); - } - r.loaded[t.source] = {}; - var s = {}; - if (t.request && t.request.collectResourceTiming) { - var l = a.getEntriesByName(t.request.url); - l && - ((s.resourceTiming = {}), - (s.resourceTiming[t.source] = JSON.parse( - JSON.stringify(l), - ))); - } - e(null, s); - }); - }), - (e.prototype.reloadTile = function (e, r) { - var n = this.loaded[e.source], - i = e.uid; - return n && n[i] - ? t.prototype.reloadTile.call(this, e, r) - : this.loadTile(e, r); - }), - (e.prototype.loadGeoJSON = function (t, e) { - if (t.request) i.getJSON(t.request, e); - else { - if ("string" != typeof t.data) - return e( - new Error( - "Input data is not a valid GeoJSON object.", - ), - ); - try { - return e(null, JSON.parse(t.data)); - } catch (t) { - return e( - new Error( - "Input data is not a valid GeoJSON object.", - ), - ); - } - } - }), - (e.prototype.removeSource = function (t, e) { - (this._geoJSONIndexes[t.source] && - delete this._geoJSONIndexes[t.source], - e()); - }), - e - ); - })(t("./vector_tile_worker_source")); - e.exports = f; - }, - { - "../util/ajax": 251, - "../util/performance": 268, - "./geojson_wrapper": 101, - "./vector_tile_worker_source": 116, - "geojson-rewind": 15, - "geojson-vt": 19, - supercluster: 32, - "vt-pbf": 34, - }, - ], - 101: [ - function (t, e, r) { - var n = t("@mapbox/point-geometry"), - i = - t("@mapbox/vector-tile").VectorTileFeature.prototype - .toGeoJSON, - a = t("../data/extent"), - o = function (t) { - ((this._feature = t), - (this.extent = a), - (this.type = t.type), - (this.properties = t.tags), - "id" in t && - !isNaN(t.id) && - (this.id = parseInt(t.id, 10))); - }; - ((o.prototype.loadGeometry = function () { - if (1 === this._feature.type) { - for ( - var t = [], e = 0, r = this._feature.geometry; - e < r.length; - e += 1 - ) { - var i = r[e]; - t.push([new n(i[0], i[1])]); - } - return t; - } - for ( - var a = [], o = 0, s = this._feature.geometry; - o < s.length; - o += 1 - ) { - for (var l = [], c = 0, u = s[o]; c < u.length; c += 1) { - var f = u[c]; - l.push(new n(f[0], f[1])); - } - a.push(l); - } - return a; - }), - (o.prototype.toGeoJSON = function (t, e, r) { - return i.call(this, t, e, r); - })); - var s = function (t) { - ((this.layers = { _geojsonTileLayer: this }), - (this.name = "_geojsonTileLayer"), - (this.extent = a), - (this.length = t.length), - (this._features = t)); - }; - ((s.prototype.feature = function (t) { - return new o(this._features[t]); - }), - (e.exports = s)); - }, - { - "../data/extent": 53, - "@mapbox/point-geometry": 4, - "@mapbox/vector-tile": 8, - }, - ], - 102: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("./tile_id").CanonicalTileID, - a = t("../geo/lng_lat"), - o = t("@mapbox/point-geometry"), - s = t("../util/evented"), - l = t("../util/ajax"), - c = t("../util/browser"), - u = t("../data/extent"), - f = t("../data/array_types").RasterBoundsArray, - h = t("../data/raster_bounds_attributes"), - p = t("../render/vertex_array_object"), - d = t("../render/texture"), - g = (function (t) { - function e(e, r, n, i) { - (t.call(this), - (this.id = e), - (this.dispatcher = n), - (this.coordinates = r.coordinates), - (this.type = "image"), - (this.minzoom = 0), - (this.maxzoom = 22), - (this.tileSize = 512), - (this.tiles = {}), - this.setEventedParent(i), - (this.options = r)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - var t = this; - (this.fire("dataloading", { dataType: "source" }), - (this.url = this.options.url), - l.getImage( - this.map._transformRequest( - this.url, - l.ResourceType.Image, - ), - function (e, r) { - e - ? t.fire("error", { error: e }) - : r && - ((t.image = c.getImageData(r)), - t._finishLoading()); - }, - )); - }), - (e.prototype._finishLoading = function () { - this.map && - (this.setCoordinates(this.coordinates), - this.fire("data", { - dataType: "source", - sourceDataType: "metadata", - })); - }), - (e.prototype.onAdd = function (t) { - ((this.map = t), this.load()); - }), - (e.prototype.setCoordinates = function (t) { - this.coordinates = t; - var e = this.map, - r = t.map(function (t) { - return e.transform - .locationCoordinate(a.convert(t)) - .zoomTo(0); - }), - s = (this.centerCoord = n.getCoordinatesCenter(r)); - ((s.column = Math.floor(s.column)), - (s.row = Math.floor(s.row)), - (this.tileID = new i(s.zoom, s.column, s.row)), - (this.minzoom = this.maxzoom = s.zoom)); - var l = r.map(function (t) { - var e = t.zoomTo(s.zoom); - return new o( - Math.round((e.column - s.column) * u), - Math.round((e.row - s.row) * u), - ); - }); - return ( - (this._boundsArray = new f()), - this._boundsArray.emplaceBack(l[0].x, l[0].y, 0, 0), - this._boundsArray.emplaceBack(l[1].x, l[1].y, u, 0), - this._boundsArray.emplaceBack(l[3].x, l[3].y, 0, u), - this._boundsArray.emplaceBack(l[2].x, l[2].y, u, u), - this.boundsBuffer && - (this.boundsBuffer.destroy(), - delete this.boundsBuffer), - this.fire("data", { - dataType: "source", - sourceDataType: "content", - }), - this - ); - }), - (e.prototype.prepare = function () { - var t = this; - if (0 !== Object.keys(this.tiles).length && this.image) { - var e = this.map.painter.context, - r = e.gl; - for (var n in (this.boundsBuffer || - (this.boundsBuffer = e.createVertexBuffer( - this._boundsArray, - h.members, - )), - this.boundsVAO || (this.boundsVAO = new p()), - this.texture || - ((this.texture = new d(e, this.image, r.RGBA)), - this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), - t.tiles)) { - var i = t.tiles[n]; - "loaded" !== i.state && - ((i.state = "loaded"), (i.texture = t.texture)); - } - } - }), - (e.prototype.loadTile = function (t, e) { - this.tileID && this.tileID.equals(t.tileID.canonical) - ? ((this.tiles[String(t.tileID.wrap)] = t), - (t.buckets = {}), - e(null)) - : ((t.state = "errored"), e(null)); - }), - (e.prototype.serialize = function () { - return { - type: "image", - url: this.options.url, - coordinates: this.coordinates, - }; - }), - (e.prototype.hasTransition = function () { - return !1; - }), - e - ); - })(s); - e.exports = g; - }, - { - "../data/array_types": 39, - "../data/extent": 53, - "../data/raster_bounds_attributes": 59, - "../geo/lng_lat": 62, - "../render/texture": 93, - "../render/vertex_array_object": 95, - "../util/ajax": 251, - "../util/browser": 252, - "../util/evented": 260, - "../util/util": 275, - "./tile_id": 114, - "@mapbox/point-geometry": 4, - }, - ], - 103: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../util/ajax"), - a = t("../util/browser"), - o = t("../util/mapbox").normalizeSourceURL; - e.exports = function (t, e, r) { - var s = function (t, e) { - if (t) return r(t); - if (e) { - var i = n.pick(e, [ - "tiles", - "minzoom", - "maxzoom", - "attribution", - "mapbox_logo", - "bounds", - ]); - (e.vector_layers && - ((i.vectorLayers = e.vector_layers), - (i.vectorLayerIds = i.vectorLayers.map(function (t) { - return t.id; - }))), - r(null, i)); - } - }; - t.url - ? i.getJSON(e(o(t.url), i.ResourceType.Source), s) - : a.frame(function () { - return s(null, t); - }); - }; - }, - { - "../util/ajax": 251, - "../util/browser": 252, - "../util/mapbox": 267, - "../util/util": 275, - }, - ], - 104: [ - function (t, e, r) { - var n = t("../data/extent"); - e.exports = function (t, e, r) { - return ( - e * (n / (t.tileSize * Math.pow(2, r - t.tileID.overscaledZ))) - ); - }; - }, - { "../data/extent": 53 }, - ], - 105: [ - function (t, e, r) { - function n(t, e) { - var r = t.tileID, - n = e.tileID; - return ( - r.overscaledZ - n.overscaledZ || - r.canonical.y - n.canonical.y || - r.wrap - n.wrap || - r.canonical.x - n.canonical.x - ); - } - ((r.rendered = function (t, e, r, i, a, o, s) { - var l = t.tilesIn(r); - l.sort(n); - for (var c = [], u = 0, f = l; u < f.length; u += 1) { - var h = f[u]; - c.push({ - wrappedTileID: h.tileID.wrapped().key, - queryResults: h.tile.queryRenderedFeatures( - e, - h.queryGeometry, - h.scale, - i, - o, - t.id, - s, - ), - }); - } - return (function (t) { - for (var e = {}, r = {}, n = 0, i = t; n < i.length; n += 1) { - var a = i[n], - o = a.queryResults, - s = a.wrappedTileID, - l = (r[s] = r[s] || {}); - for (var c in o) - for ( - var u = o[c], - f = (l[c] = l[c] || {}), - h = (e[c] = e[c] || []), - p = 0, - d = u; - p < d.length; - p += 1 - ) { - var g = d[p]; - f[g.featureIndex] || - ((f[g.featureIndex] = !0), h.push(g.feature)); - } - } - return e; - })(c); - }), - (r.source = function (t, e) { - for ( - var r = t.getRenderableIds().map(function (e) { - return t.getTileByID(e); - }), - n = [], - i = {}, - a = 0; - a < r.length; - a++ - ) { - var o = r[a], - s = o.tileID.canonical.key; - i[s] || ((i[s] = !0), o.querySourceFeatures(n, e)); - } - return n; - })); - }, - {}, - ], - 106: [ - function (t, e, r) { - var n = t("../util/ajax"), - i = t("../util/util"), - a = - (t("../util/evented"), t("../util/mapbox").normalizeTileURL), - o = t("../util/browser"), - s = t("./tile_id").OverscaledTileID, - l = (function (t) { - function e(e, r, n, a) { - (t.call(this, e, r, n, a), - (this.type = "raster-dem"), - (this.maxzoom = 22), - (this._options = i.extend({}, r))); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.serialize = function () { - return { - type: "raster-dem", - url: this.url, - tileSize: this.tileSize, - tiles: this.tiles, - bounds: this.bounds, - }; - }), - (e.prototype.loadTile = function (t, e) { - var r = a( - t.tileID.canonical.url(this.tiles, this.scheme), - this.url, - this.tileSize, - ); - ((t.request = n.getImage( - this.map._transformRequest(r, n.ResourceType.Tile), - function (r, n) { - if ((delete t.request, t.aborted)) - ((t.state = "unloaded"), e(null)); - else if (r) ((t.state = "errored"), e(r)); - else if (n) { - (this.map._refreshExpiredTiles && - t.setExpiryData(n), - delete n.cacheControl, - delete n.expires); - var i = o.getImageData(n), - a = { - uid: t.uid, - coord: t.tileID, - source: this.id, - rawImageData: i, - }; - (t.workerID && "expired" !== t.state) || - (t.workerID = this.dispatcher.send( - "loadDEMTile", - a, - function (r, n) { - (r && ((t.state = "errored"), e(r)), - n && - ((t.dem = n), - (t.needsHillshadePrepare = !0), - (t.state = "loaded"), - e(null))); - }.bind(this), - )); - } - }.bind(this), - )), - (t.neighboringTiles = this._getNeighboringTiles( - t.tileID, - ))); - }), - (e.prototype._getNeighboringTiles = function (t) { - var e = t.canonical, - r = Math.pow(2, e.z), - n = (e.x - 1 + r) % r, - i = 0 === e.x ? t.wrap - 1 : t.wrap, - a = (e.x + 1 + r) % r, - o = e.x + 1 === r ? t.wrap + 1 : t.wrap, - l = {}; - return ( - (l[new s(t.overscaledZ, i, e.z, n, e.y).key] = { - backfilled: !1, - }), - (l[new s(t.overscaledZ, o, e.z, a, e.y).key] = { - backfilled: !1, - }), - e.y > 0 && - ((l[new s(t.overscaledZ, i, e.z, n, e.y - 1).key] = { - backfilled: !1, - }), - (l[ - new s(t.overscaledZ, t.wrap, e.z, e.x, e.y - 1).key - ] = { backfilled: !1 }), - (l[new s(t.overscaledZ, o, e.z, a, e.y - 1).key] = { - backfilled: !1, - })), - e.y + 1 < r && - ((l[new s(t.overscaledZ, i, e.z, n, e.y + 1).key] = { - backfilled: !1, - }), - (l[ - new s(t.overscaledZ, t.wrap, e.z, e.x, e.y + 1).key - ] = { backfilled: !1 }), - (l[new s(t.overscaledZ, o, e.z, a, e.y + 1).key] = { - backfilled: !1, - })), - l - ); - }), - (e.prototype.unloadTile = function (t) { - (t.demTexture && - this.map.painter.saveTileTexture(t.demTexture), - t.fbo && (t.fbo.destroy(), delete t.fbo), - t.dem && delete t.dem, - delete t.neighboringTiles, - (t.state = "unloaded"), - this.dispatcher.send( - "removeDEMTile", - { uid: t.uid, source: this.id }, - void 0, - t.workerID, - )); - }), - e - ); - })(t("./raster_tile_source")); - e.exports = l; - }, - { - "../util/ajax": 251, - "../util/browser": 252, - "../util/evented": 260, - "../util/mapbox": 267, - "../util/util": 275, - "./raster_tile_source": 108, - "./tile_id": 114, - }, - ], - 107: [ - function (t, e, r) { - var n = t("../data/dem_data").DEMData, - i = function () { - ((this.loading = {}), (this.loaded = {})); - }; - ((i.prototype.loadTile = function (t, e) { - var r = t.source, - i = t.uid; - this.loading[r] || (this.loading[r] = {}); - var a = new n(i); - ((this.loading[r][i] = a), - a.loadFromImage(t.rawImageData), - delete this.loading[r][i], - (this.loaded[r] = this.loaded[r] || {}), - (this.loaded[r][i] = a), - e(null, a)); - }), - (i.prototype.removeTile = function (t) { - var e = this.loaded[t.source], - r = t.uid; - e && e[r] && delete e[r]; - }), - (e.exports = i)); - }, - { "../data/dem_data": 52 }, - ], - 108: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../util/ajax"), - a = t("../util/evented"), - o = t("./load_tilejson"), - s = t("../util/mapbox").normalizeTileURL, - l = t("./tile_bounds"), - c = t("../render/texture"), - u = (function (t) { - function e(e, r, i, a) { - (t.call(this), - (this.id = e), - (this.dispatcher = i), - this.setEventedParent(a), - (this.type = "raster"), - (this.minzoom = 0), - (this.maxzoom = 22), - (this.roundZoom = !0), - (this.scheme = "xyz"), - (this.tileSize = 512), - (this._loaded = !1), - (this._options = n.extend({}, r)), - n.extend(this, n.pick(r, ["url", "scheme", "tileSize"]))); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - var t = this; - (this.fire("dataloading", { dataType: "source" }), - o( - this._options, - this.map._transformRequest, - function (e, r) { - e - ? t.fire("error", e) - : r && - (n.extend(t, r), - r.bounds && - (t.tileBounds = new l( - r.bounds, - t.minzoom, - t.maxzoom, - )), - t.fire("data", { - dataType: "source", - sourceDataType: "metadata", - }), - t.fire("data", { - dataType: "source", - sourceDataType: "content", - })); - }, - )); - }), - (e.prototype.onAdd = function (t) { - ((this.map = t), this.load()); - }), - (e.prototype.serialize = function () { - return n.extend({}, this._options); - }), - (e.prototype.hasTile = function (t) { - return ( - !this.tileBounds || - this.tileBounds.contains(t.canonical) - ); - }), - (e.prototype.loadTile = function (t, e) { - var r = this, - n = s( - t.tileID.canonical.url(this.tiles, this.scheme), - this.url, - this.tileSize, - ); - t.request = i.getImage( - this.map._transformRequest(n, i.ResourceType.Tile), - function (n, i) { - if ((delete t.request, t.aborted)) - ((t.state = "unloaded"), e(null)); - else if (n) ((t.state = "errored"), e(n)); - else if (i) { - (r.map._refreshExpiredTiles && t.setExpiryData(i), - delete i.cacheControl, - delete i.expires); - var a = r.map.painter.context, - o = a.gl; - ((t.texture = r.map.painter.getTileTexture( - i.width, - )), - t.texture - ? (t.texture.bind( - o.LINEAR, - o.CLAMP_TO_EDGE, - o.LINEAR_MIPMAP_NEAREST, - ), - o.texSubImage2D( - o.TEXTURE_2D, - 0, - 0, - 0, - o.RGBA, - o.UNSIGNED_BYTE, - i, - )) - : ((t.texture = new c(a, i, o.RGBA)), - t.texture.bind( - o.LINEAR, - o.CLAMP_TO_EDGE, - o.LINEAR_MIPMAP_NEAREST, - ), - a.extTextureFilterAnisotropic && - o.texParameterf( - o.TEXTURE_2D, - a.extTextureFilterAnisotropic - .TEXTURE_MAX_ANISOTROPY_EXT, - a.extTextureFilterAnisotropicMax, - )), - o.generateMipmap(o.TEXTURE_2D), - (t.state = "loaded"), - e(null)); - } - }, - ); - }), - (e.prototype.abortTile = function (t, e) { - (t.request && (t.request.abort(), delete t.request), e()); - }), - (e.prototype.unloadTile = function (t, e) { - (t.texture && this.map.painter.saveTileTexture(t.texture), - e()); - }), - (e.prototype.hasTransition = function () { - return !1; - }), - e - ); - })(a); - e.exports = u; - }, - { - "../render/texture": 93, - "../util/ajax": 251, - "../util/evented": 260, - "../util/mapbox": 267, - "../util/util": 275, - "./load_tilejson": 103, - "./tile_bounds": 113, - }, - ], - 109: [ - function (t, e, r) { - var n = t("../util/ajax"), - i = t("../util/evented"), - a = t("../util/window"), - o = !1, - s = null; - ((e.exports.evented = new i()), - (e.exports.registerForPluginAvailability = function (t) { - return ( - s - ? t({ - pluginBlobURL: s, - errorCallback: e.exports.errorCallback, - }) - : e.exports.evented.once("pluginAvailable", t), - t - ); - }), - (e.exports.createBlobURL = function (t) { - return a.URL.createObjectURL( - new a.Blob([t.data], { type: "text/javascript" }), - ); - }), - (e.exports.clearRTLTextPlugin = function () { - ((o = !1), (s = null)); - }), - (e.exports.setRTLTextPlugin = function (t, r) { - if (o) - throw new Error( - "setRTLTextPlugin cannot be called multiple times.", - ); - ((o = !0), - (e.exports.errorCallback = r), - n.getArrayBuffer({ url: t }, function (t, n) { - t - ? r(t) - : n && - ((s = e.exports.createBlobURL(n)), - e.exports.evented.fire("pluginAvailable", { - pluginBlobURL: s, - errorCallback: r, - })); - })); - }), - (e.exports.applyArabicShaping = null), - (e.exports.processBidirectionalText = null)); - }, - { - "../util/ajax": 251, - "../util/evented": 260, - "../util/window": 254, - }, - ], - 110: [ - function (t, e, r) { - var n = t("../util/util"), - i = { - vector: t("../source/vector_tile_source"), - raster: t("../source/raster_tile_source"), - "raster-dem": t("../source/raster_dem_tile_source"), - geojson: t("../source/geojson_source"), - video: t("../source/video_source"), - image: t("../source/image_source"), - canvas: t("../source/canvas_source"), - }; - ((r.create = function (t, e, r, a) { - var o = new i[e.type](t, e, r, a); - if (o.id !== t) - throw new Error( - "Expected Source id to be " + t + " instead of " + o.id, - ); - return ( - n.bindAll( - ["load", "abort", "unload", "serialize", "prepare"], - o, - ), - o - ); - }), - (r.getType = function (t) { - return i[t]; - }), - (r.setType = function (t, e) { - i[t] = e; - })); - }, - { - "../source/canvas_source": 98, - "../source/geojson_source": 99, - "../source/image_source": 102, - "../source/raster_dem_tile_source": 106, - "../source/raster_tile_source": 108, - "../source/vector_tile_source": 115, - "../source/video_source": 117, - "../util/util": 275, - }, - ], - 111: [ - function (t, e, r) { - function n(t, e) { - var r = e.zoomTo(t.canonical.z); - return new h( - (r.column - - (t.canonical.x + t.wrap * Math.pow(2, t.canonical.z))) * - f, - (r.row - t.canonical.y) * f, - ); - } - function i(t) { - return "raster" === t || "image" === t || "video" === t; - } - var a = t("./source").create, - o = t("./tile"), - s = t("../util/evented"), - l = t("../util/lru_cache"), - c = t("../geo/coordinate"), - u = t("../util/util"), - f = t("../data/extent"), - h = (t("../gl/context"), t("@mapbox/point-geometry")), - p = t("../util/browser"), - d = t("./tile_id").OverscaledTileID, - g = (function (t) { - function e(e, r, n) { - var i = this; - (t.call(this), - (this.id = e), - (this.dispatcher = n), - this.on("data", function (t) { - ("source" === t.dataType && - "metadata" === t.sourceDataType && - (i._sourceLoaded = !0), - i._sourceLoaded && - !i._paused && - "source" === t.dataType && - "content" === t.sourceDataType && - (i.reload(), i.transform && i.update(i.transform))); - }), - this.on("error", function () { - i._sourceErrored = !0; - }), - (this._source = a(e, r, n, this)), - (this._tiles = {}), - (this._cache = new l(0, this._unloadTile.bind(this))), - (this._timers = {}), - (this._cacheTimers = {}), - (this._maxTileCacheSize = null), - (this._isIdRenderable = this._isIdRenderable.bind(this)), - (this._coveredTiles = {})); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.onAdd = function (t) { - ((this.map = t), - (this._maxTileCacheSize = t - ? t._maxTileCacheSize - : null), - this._source && - this._source.onAdd && - this._source.onAdd(t)); - }), - (e.prototype.onRemove = function (t) { - this._source && - this._source.onRemove && - this._source.onRemove(t); - }), - (e.prototype.loaded = function () { - if (this._sourceErrored) return !0; - if (!this._sourceLoaded) return !1; - for (var t in this._tiles) { - var e = this._tiles[t]; - if ("loaded" !== e.state && "errored" !== e.state) - return !1; - } - return !0; - }), - (e.prototype.getSource = function () { - return this._source; - }), - (e.prototype.pause = function () { - this._paused = !0; - }), - (e.prototype.resume = function () { - if (this._paused) { - var t = this._shouldReloadOnResume; - ((this._paused = !1), - (this._shouldReloadOnResume = !1), - t && this.reload(), - this.transform && this.update(this.transform)); - } - }), - (e.prototype._loadTile = function (t, e) { - return this._source.loadTile(t, e); - }), - (e.prototype._unloadTile = function (t) { - if (this._source.unloadTile) - return this._source.unloadTile(t, function () {}); - }), - (e.prototype._abortTile = function (t) { - if (this._source.abortTile) - return this._source.abortTile(t, function () {}); - }), - (e.prototype.serialize = function () { - return this._source.serialize(); - }), - (e.prototype.prepare = function (t) { - for (var e in (this._source.prepare && - this._source.prepare(), - this._tiles)) - this._tiles[e].upload(t); - }), - (e.prototype.getIds = function () { - var t = this; - return Object.keys(this._tiles) - .map(Number) - .sort(function (e, r) { - var n = t._tiles[e].tileID, - i = t._tiles[r].tileID, - a = new h(n.canonical.x, n.canonical.y).rotate( - t.transform.angle, - ), - o = new h(i.canonical.x, i.canonical.y).rotate( - t.transform.angle, - ); - return ( - n.overscaledZ - i.overscaledZ || - o.y - a.y || - o.x - a.x - ); - }); - }), - (e.prototype.getRenderableIds = function () { - return this.getIds().filter(this._isIdRenderable); - }), - (e.prototype.hasRenderableParent = function (t) { - var e = this.findLoadedParent(t, 0, {}); - return !!e && this._isIdRenderable(e.tileID.key); - }), - (e.prototype._isIdRenderable = function (t) { - return ( - this._tiles[t] && - this._tiles[t].hasData() && - !this._coveredTiles[t] - ); - }), - (e.prototype.reload = function () { - if (this._paused) this._shouldReloadOnResume = !0; - else - for (var t in (this._resetCache(), this._tiles)) - this._reloadTile(t, "reloading"); - }), - (e.prototype._reloadTile = function (t, e) { - var r = this._tiles[t]; - r && - ("loading" !== r.state && (r.state = e), - this._loadTile( - r, - this._tileLoaded.bind(this, r, t, e), - )); - }), - (e.prototype._tileLoaded = function (t, e, r, n) { - if (n) - return ( - (t.state = "errored"), - void (404 !== n.status - ? this._source.fire("error", { tile: t, error: n }) - : this.update(this.transform)) - ); - ((t.timeAdded = p.now()), - "expired" === r && (t.refreshedUponExpiration = !0), - this._setTileReloadTimer(e, t), - "raster-dem" === this.getSource().type && - t.dem && - this._backfillDEM(t), - this._source.fire("data", { - dataType: "source", - tile: t, - coord: t.tileID, - }), - this.map && - (this.map.painter.tileExtentVAO.vao = null)); - }), - (e.prototype._backfillDEM = function (t) { - function e(t, e) { - t.needsHillshadePrepare = !0; - var r = e.tileID.canonical.x - t.tileID.canonical.x, - n = e.tileID.canonical.y - t.tileID.canonical.y, - i = Math.pow(2, t.tileID.canonical.z), - a = e.tileID.key; - (0 === r && 0 === n) || - Math.abs(n) > 1 || - (Math.abs(r) > 1 && - (1 === Math.abs(r + i) - ? (r += i) - : 1 === Math.abs(r - i) && (r -= i)), - e.dem && - t.dem && - (t.dem.backfillBorder(e.dem, r, n), - t.neighboringTiles && - t.neighboringTiles[a] && - (t.neighboringTiles[a].backfilled = !0))); - } - for ( - var r = this.getRenderableIds(), n = 0; - n < r.length; - n++ - ) { - var i = r[n]; - if (t.neighboringTiles && t.neighboringTiles[i]) { - var a = this.getTileByID(i); - (e(t, a), e(a, t)); - } - } - }), - (e.prototype.getTile = function (t) { - return this.getTileByID(t.key); - }), - (e.prototype.getTileByID = function (t) { - return this._tiles[t]; - }), - (e.prototype.getZoom = function (t) { - return ( - t.zoom + t.scaleZoom(t.tileSize / this._source.tileSize) - ); - }), - (e.prototype._findLoadedChildren = function (t, e, r) { - var n = this, - i = !1; - for (var a in n._tiles) { - var o = n._tiles[a]; - if ( - !( - r[a] || - !o.hasData() || - o.tileID.overscaledZ <= t.overscaledZ || - o.tileID.overscaledZ > e - ) - ) { - var s = Math.pow( - 2, - o.tileID.canonical.z - t.canonical.z, - ); - if ( - Math.floor(o.tileID.canonical.x / s) === - t.canonical.x && - Math.floor(o.tileID.canonical.y / s) === - t.canonical.y - ) - for ( - r[a] = o.tileID, i = !0; - o && o.tileID.overscaledZ - 1 > t.overscaledZ; - - ) { - var l = o.tileID.scaledTo( - o.tileID.overscaledZ - 1, - ); - if (!l) break; - (o = n._tiles[l.key]) && - o.hasData() && - (delete r[a], (r[l.key] = l)); - } - } - } - return i; - }), - (e.prototype.findLoadedParent = function (t, e, r) { - for (var n = this, i = t.overscaledZ - 1; i >= e; i--) { - var a = t.scaledTo(i); - if (!a) return; - var o = String(a.key), - s = n._tiles[o]; - if (s && s.hasData()) return ((r[o] = a), s); - if (n._cache.has(o)) - return ((r[o] = a), n._cache.get(o)); - } - }), - (e.prototype.updateCacheSize = function (t) { - var e = - (Math.ceil(t.width / this._source.tileSize) + 1) * - (Math.ceil(t.height / this._source.tileSize) + 1), - r = Math.floor(5 * e), - n = - "number" == typeof this._maxTileCacheSize - ? Math.min(this._maxTileCacheSize, r) - : r; - this._cache.setMaxSize(n); - }), - (e.prototype.update = function (t) { - var r = this; - if ( - ((this.transform = t), - this._sourceLoaded && !this._paused) - ) { - var n; - (this.updateCacheSize(t), - (this._coveredTiles = {}), - this.used - ? this._source.tileID - ? (n = t - .getVisibleUnwrappedCoordinates( - this._source.tileID, - ) - .map(function (t) { - return new d( - t.canonical.z, - t.wrap, - t.canonical.z, - t.canonical.x, - t.canonical.y, - ); - })) - : ((n = t.coveringTiles({ - tileSize: this._source.tileSize, - minzoom: this._source.minzoom, - maxzoom: this._source.maxzoom, - roundZoom: this._source.roundZoom, - reparseOverscaled: - this._source.reparseOverscaled, - })), - this._source.hasTile && - (n = n.filter(function (t) { - return r._source.hasTile(t); - }))) - : (n = [])); - var a, - o = ( - this._source.roundZoom ? Math.round : Math.floor - )(this.getZoom(t)), - s = Math.max( - o - e.maxOverzooming, - this._source.minzoom, - ), - l = Math.max( - o + e.maxUnderzooming, - this._source.minzoom, - ), - c = this._updateRetainedTiles(n, o), - f = {}; - if (i(this._source.type)) - for ( - var h = Object.keys(c), g = 0; - g < h.length; - g++ - ) { - var m = h[g], - v = c[m], - y = r._tiles[m]; - if ( - y && - (void 0 === y.fadeEndTime || - y.fadeEndTime >= p.now()) - ) { - r._findLoadedChildren(v, l, c) && (c[m] = v); - var x = r.findLoadedParent(v, s, f); - x && r._addTile(x.tileID); - } - } - for (a in f) c[a] || (r._coveredTiles[a] = !0); - for (a in f) c[a] = f[a]; - for ( - var b = u.keysDifference(this._tiles, c), _ = 0; - _ < b.length; - _++ - ) - r._removeTile(b[_]); - } - }), - (e.prototype._updateRetainedTiles = function (t, r) { - for ( - var n = this, - i = {}, - a = {}, - o = Math.max( - r - e.maxOverzooming, - this._source.minzoom, - ), - s = Math.max( - r + e.maxUnderzooming, - this._source.minzoom, - ), - l = 0; - l < t.length; - l++ - ) { - var c = t[l], - u = n._addTile(c), - f = !1; - if (u.hasData()) i[c.key] = c; - else { - ((f = u.wasRequested()), (i[c.key] = c)); - var h = !0; - if (r + 1 > n._source.maxzoom) { - var p = c.children(n._source.maxzoom)[0], - d = n.getTile(p); - d && d.hasData() ? (i[p.key] = p) : (h = !1); - } else { - n._findLoadedChildren(c, s, i); - for ( - var g = c.children(n._source.maxzoom), m = 0; - m < g.length; - m++ - ) - if (!i[g[m].key]) { - h = !1; - break; - } - } - if (!h) - for (var v = c.overscaledZ - 1; v >= o; --v) { - var y = c.scaledTo(v); - if (a[y.key]) break; - if ( - ((a[y.key] = !0), - !(u = n.getTile(y)) && f && (u = n._addTile(y)), - u && - ((i[y.key] = y), - (f = u.wasRequested()), - u.hasData())) - ) - break; - } - } - } - return i; - }), - (e.prototype._addTile = function (t) { - var e = this._tiles[t.key]; - if (e) return e; - (e = this._cache.getAndRemove(t.key)) && - this._cacheTimers[t.key] && - (clearTimeout(this._cacheTimers[t.key]), - delete this._cacheTimers[t.key], - this._setTileReloadTimer(t.key, e)); - var r = Boolean(e); - return ( - r || - ((e = new o( - t, - this._source.tileSize * t.overscaleFactor(), - )), - this._loadTile( - e, - this._tileLoaded.bind(this, e, t.key, e.state), - )), - e - ? (e.uses++, - (this._tiles[t.key] = e), - r || - this._source.fire("dataloading", { - tile: e, - coord: e.tileID, - dataType: "source", - }), - e) - : null - ); - }), - (e.prototype._setTileReloadTimer = function (t, e) { - var r = this; - t in this._timers && - (clearTimeout(this._timers[t]), delete this._timers[t]); - var n = e.getExpiryTimeout(); - n && - (this._timers[t] = setTimeout(function () { - (r._reloadTile(t, "expired"), delete r._timers[t]); - }, n)); - }), - (e.prototype._setCacheInvalidationTimer = function (t, e) { - var r = this; - t in this._cacheTimers && - (clearTimeout(this._cacheTimers[t]), - delete this._cacheTimers[t]); - var n = e.getExpiryTimeout(); - n && - (this._cacheTimers[t] = setTimeout(function () { - (r._cache.remove(t), delete r._cacheTimers[t]); - }, n)); - }), - (e.prototype._removeTile = function (t) { - var e = this._tiles[t]; - if ( - e && - (e.uses--, - delete this._tiles[t], - this._timers[t] && - (clearTimeout(this._timers[t]), - delete this._timers[t]), - !(e.uses > 0)) - ) - if (e.hasData()) { - e.tileID = e.tileID.wrapped(); - var r = e.tileID.key; - (this._cache.add(r, e), - this._setCacheInvalidationTimer(r, e)); - } else - ((e.aborted = !0), - this._abortTile(e), - this._unloadTile(e)); - }), - (e.prototype.clearTiles = function () { - for (var t in ((this._shouldReloadOnResume = !1), - (this._paused = !1), - this._tiles)) - this._removeTile(t); - this._resetCache(); - }), - (e.prototype._resetCache = function () { - for (var t in this._cacheTimers) - clearTimeout(this._cacheTimers[t]); - ((this._cacheTimers = {}), this._cache.reset()); - }), - (e.prototype.tilesIn = function (t) { - for ( - var e = [], - r = this.getIds(), - i = 1 / 0, - a = 1 / 0, - o = -1 / 0, - s = -1 / 0, - l = t[0].zoom, - u = 0; - u < t.length; - u++ - ) { - var h = t[u]; - ((i = Math.min(i, h.column)), - (a = Math.min(a, h.row)), - (o = Math.max(o, h.column)), - (s = Math.max(s, h.row))); - } - for (var p = 0; p < r.length; p++) { - var d = this._tiles[r[p]], - g = d.tileID, - m = [n(g, new c(i, a, l)), n(g, new c(o, s, l))]; - if ( - m[0].x < f && - m[0].y < f && - m[1].x >= 0 && - m[1].y >= 0 - ) { - for (var v = [], y = 0; y < t.length; y++) - v.push(n(g, t[y])); - e.push({ - tile: d, - tileID: g, - queryGeometry: [v], - scale: Math.pow( - 2, - this.transform.zoom - d.tileID.overscaledZ, - ), - }); - } - } - return e; - }), - (e.prototype.getVisibleCoordinates = function () { - for ( - var t = this, - e = this.getRenderableIds().map(function (e) { - return t._tiles[e].tileID; - }), - r = 0, - n = e; - r < n.length; - r += 1 - ) { - var i = n[r]; - i.posMatrix = t.transform.calculatePosMatrix( - i.toUnwrapped(), - ); - } - return e; - }), - (e.prototype.hasTransition = function () { - if (this._source.hasTransition()) return !0; - if (i(this._source.type)) - for (var t in this._tiles) { - var e = this._tiles[t]; - if ( - void 0 !== e.fadeEndTime && - e.fadeEndTime >= p.now() - ) - return !0; - } - return !1; - }), - e - ); - })(s); - ((g.maxOverzooming = 10), - (g.maxUnderzooming = 3), - (e.exports = g)); - }, - { - "../data/extent": 53, - "../geo/coordinate": 61, - "../gl/context": 66, - "../util/browser": 252, - "../util/evented": 260, - "../util/lru_cache": 266, - "../util/util": 275, - "./source": 110, - "./tile": 112, - "./tile_id": 114, - "@mapbox/point-geometry": 4, - }, - ], - 112: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../data/bucket").deserialize, - a = (t("../data/feature_index"), t("@mapbox/vector-tile")), - o = t("pbf"), - s = t("../util/vectortile_to_geojson"), - l = t("../style-spec/feature_filter"), - c = - (t("../symbol/collision_index"), - t("../data/bucket/symbol_bucket")), - u = t("../data/array_types"), - f = u.RasterBoundsArray, - h = u.CollisionBoxArray, - p = t("../data/raster_bounds_attributes"), - d = t("../data/extent"), - g = t("@mapbox/point-geometry"), - m = t("../render/texture"), - v = t("../data/segment").SegmentVector, - y = t("../data/index_array_type").TriangleIndexArray, - x = t("../util/browser"), - b = function (t, e) { - ((this.tileID = t), - (this.uid = n.uniqueId()), - (this.uses = 0), - (this.tileSize = e), - (this.buckets = {}), - (this.expirationTime = null), - (this.expiredRequestCount = 0), - (this.state = "loading")); - }; - ((b.prototype.registerFadeDuration = function (t) { - var e = t + this.timeAdded; - e < x.now() || - (this.fadeEndTime && e < this.fadeEndTime) || - (this.fadeEndTime = e); - }), - (b.prototype.wasRequested = function () { - return ( - "errored" === this.state || - "loaded" === this.state || - "reloading" === this.state - ); - }), - (b.prototype.loadVectorData = function (t, e, r) { - if ( - (this.hasData() && this.unloadVectorData(), - (this.state = "loaded"), - t) - ) { - if ( - (t.rawTileData && (this.rawTileData = t.rawTileData), - (this.collisionBoxArray = t.collisionBoxArray), - (this.featureIndex = t.featureIndex), - (this.featureIndex.rawTileData = this.rawTileData), - (this.buckets = i(t.buckets, e.style)), - r) - ) - for (var n in this.buckets) { - var a = this.buckets[n]; - a instanceof c && (a.justReloaded = !0); - } - (t.iconAtlasImage && - (this.iconAtlasImage = t.iconAtlasImage), - t.glyphAtlasImage && - (this.glyphAtlasImage = t.glyphAtlasImage)); - } else this.collisionBoxArray = new h(); - }), - (b.prototype.unloadVectorData = function () { - for (var t in this.buckets) this.buckets[t].destroy(); - ((this.buckets = {}), - this.iconAtlasTexture && this.iconAtlasTexture.destroy(), - this.glyphAtlasTexture && this.glyphAtlasTexture.destroy(), - (this.collisionBoxArray = null), - (this.featureIndex = null), - (this.state = "unloaded")); - }), - (b.prototype.unloadDEMData = function () { - ((this.dem = null), - (this.neighboringTiles = null), - (this.state = "unloaded")); - }), - (b.prototype.getBucket = function (t) { - return this.buckets[t.id]; - }), - (b.prototype.upload = function (t) { - for (var e in this.buckets) { - var r = this.buckets[e]; - r.uploaded || (r.upload(t), (r.uploaded = !0)); - } - var n = t.gl; - (this.iconAtlasImage && - ((this.iconAtlasTexture = new m( - t, - this.iconAtlasImage, - n.RGBA, - )), - (this.iconAtlasImage = null)), - this.glyphAtlasImage && - ((this.glyphAtlasTexture = new m( - t, - this.glyphAtlasImage, - n.ALPHA, - )), - (this.glyphAtlasImage = null))); - }), - (b.prototype.queryRenderedFeatures = function ( - t, - e, - r, - n, - i, - a, - o, - ) { - if (!this.featureIndex || !this.collisionBoxArray) return {}; - var s = 0, - l = {}; - for (var u in t) { - var f = this.getBucket(t[u]); - f && - ((s = Math.max(s, t[u].queryRadius(f))), - f instanceof c && - void 0 !== f.bucketInstanceId && - (l[f.bucketInstanceId] = !0)); - } - return this.featureIndex.query( - { - queryGeometry: e, - scale: r, - tileSize: this.tileSize, - bearing: i, - params: n, - additionalRadius: s, - collisionBoxArray: this.collisionBoxArray, - sourceID: a, - collisionIndex: o, - bucketInstanceIds: l, - }, - t, - ); - }), - (b.prototype.querySourceFeatures = function (t, e) { - if (this.rawTileData) { - this.vtLayers || - (this.vtLayers = new a.VectorTile( - new o(this.rawTileData), - ).layers); - var r = e ? e.sourceLayer : "", - n = this.vtLayers._geojsonTileLayer || this.vtLayers[r]; - if (n) - for ( - var i = l(e && e.filter), - c = { - z: this.tileID.overscaledZ, - x: this.tileID.canonical.x, - y: this.tileID.canonical.y, - }, - u = 0; - u < n.length; - u++ - ) { - var f = n.feature(u); - if (i({ zoom: this.tileID.overscaledZ }, f)) { - var h = new s(f, c.z, c.x, c.y); - ((h.tile = c), t.push(h)); - } - } - } - }), - (b.prototype.clearMask = function () { - (this.segments && - (this.segments.destroy(), delete this.segments), - this.maskedBoundsBuffer && - (this.maskedBoundsBuffer.destroy(), - delete this.maskedBoundsBuffer), - this.maskedIndexBuffer && - (this.maskedIndexBuffer.destroy(), - delete this.maskedIndexBuffer)); - }), - (b.prototype.setMask = function (t, e) { - if ( - !n.deepEqual(this.mask, t) && - ((this.mask = t), - this.clearMask(), - !n.deepEqual(t, { 0: !0 })) - ) { - var r = new f(), - i = new y(); - ((this.segments = new v()), - this.segments.prepareSegment(0, r, i)); - for (var a = Object.keys(t), o = 0; o < a.length; o++) { - var s = t[a[o]], - l = d >> s.z, - c = new g(s.x * l, s.y * l), - u = new g(c.x + l, c.y + l), - h = this.segments.prepareSegment(4, r, i); - (r.emplaceBack(c.x, c.y, c.x, c.y), - r.emplaceBack(u.x, c.y, u.x, c.y), - r.emplaceBack(c.x, u.y, c.x, u.y), - r.emplaceBack(u.x, u.y, u.x, u.y)); - var m = h.vertexLength; - (i.emplaceBack(m, m + 1, m + 2), - i.emplaceBack(m + 1, m + 2, m + 3), - (h.vertexLength += 4), - (h.primitiveLength += 2)); - } - ((this.maskedBoundsBuffer = e.createVertexBuffer( - r, - p.members, - )), - (this.maskedIndexBuffer = e.createIndexBuffer(i))); - } - }), - (b.prototype.hasData = function () { - return ( - "loaded" === this.state || - "reloading" === this.state || - "expired" === this.state - ); - }), - (b.prototype.setExpiryData = function (t) { - var e = this.expirationTime; - if (t.cacheControl) { - var r = n.parseCacheControl(t.cacheControl); - r["max-age"] && - (this.expirationTime = Date.now() + 1e3 * r["max-age"]); - } else - t.expires && - (this.expirationTime = new Date(t.expires).getTime()); - if (this.expirationTime) { - var i = Date.now(), - a = !1; - if (this.expirationTime > i) a = !1; - else if (e) - if (this.expirationTime < e) a = !0; - else { - var o = this.expirationTime - e; - o - ? (this.expirationTime = i + Math.max(o, 3e4)) - : (a = !0); - } - else a = !0; - a - ? (this.expiredRequestCount++, (this.state = "expired")) - : (this.expiredRequestCount = 0); - } - }), - (b.prototype.getExpiryTimeout = function () { - if (this.expirationTime) - return this.expiredRequestCount - ? 1e3 * (1 << Math.min(this.expiredRequestCount - 1, 31)) - : Math.min( - this.expirationTime - new Date().getTime(), - Math.pow(2, 31) - 1, - ); - }), - (e.exports = b)); - }, - { - "../data/array_types": 39, - "../data/bucket": 40, - "../data/bucket/symbol_bucket": 51, - "../data/extent": 53, - "../data/feature_index": 54, - "../data/index_array_type": 55, - "../data/raster_bounds_attributes": 59, - "../data/segment": 60, - "../render/texture": 93, - "../style-spec/feature_filter": 148, - "../symbol/collision_index": 217, - "../util/browser": 252, - "../util/util": 275, - "../util/vectortile_to_geojson": 276, - "@mapbox/point-geometry": 4, - "@mapbox/vector-tile": 8, - pbf: 30, - }, - ], - 113: [ - function (t, e, r) { - var n = t("../geo/lng_lat_bounds"), - i = t("../util/util").clamp, - a = function (t, e, r) { - ((this.bounds = n.convert(this.validateBounds(t))), - (this.minzoom = e || 0), - (this.maxzoom = r || 24)); - }; - ((a.prototype.validateBounds = function (t) { - return Array.isArray(t) && 4 === t.length - ? [ - Math.max(-180, t[0]), - Math.max(-90, t[1]), - Math.min(180, t[2]), - Math.min(90, t[3]), - ] - : [-180, -90, 180, 90]; - }), - (a.prototype.contains = function (t) { - var e = Math.floor(this.lngX(this.bounds.getWest(), t.z)), - r = Math.floor(this.latY(this.bounds.getNorth(), t.z)), - n = Math.ceil(this.lngX(this.bounds.getEast(), t.z)), - i = Math.ceil(this.latY(this.bounds.getSouth(), t.z)); - return t.x >= e && t.x < n && t.y >= r && t.y < i; - }), - (a.prototype.lngX = function (t, e) { - return (t + 180) * (Math.pow(2, e) / 360); - }), - (a.prototype.latY = function (t, e) { - var r = i(Math.sin((Math.PI / 180) * t), -0.9999, 0.9999), - n = Math.pow(2, e) / (2 * Math.PI); - return ( - Math.pow(2, e - 1) + 0.5 * Math.log((1 + r) / (1 - r)) * -n - ); - }), - (e.exports = a)); - }, - { "../geo/lng_lat_bounds": 63, "../util/util": 275 }, - ], - 114: [ - function (t, e, r) { - function n(t, e, r, n) { - (t *= 2) < 0 && (t = -1 * t - 1); - var i = 1 << e; - return 32 * (i * i * t + i * n + r) + e; - } - var i = t("@mapbox/whoots-js"), - a = t("../util/web_worker_transfer").register, - o = t("../geo/coordinate"), - s = function (t, e, r) { - ((this.z = t), - (this.x = e), - (this.y = r), - (this.key = n(0, t, e, r))); - }; - ((s.prototype.equals = function (t) { - return this.z === t.z && this.x === t.x && this.y === t.y; - }), - (s.prototype.url = function (t, e) { - var r = i.getTileBBox(this.x, this.y, this.z), - n = (function (t, e, r) { - for (var n, i = "", a = t; a > 0; a--) - i += (e & (n = 1 << (a - 1)) ? 1 : 0) + (r & n ? 2 : 0); - return i; - })(this.z, this.x, this.y); - return t[(this.x + this.y) % t.length] - .replace( - "{prefix}", - (this.x % 16).toString(16) + (this.y % 16).toString(16), - ) - .replace("{z}", String(this.z)) - .replace("{x}", String(this.x)) - .replace( - "{y}", - String( - "tms" === e ? Math.pow(2, this.z) - this.y - 1 : this.y, - ), - ) - .replace("{quadkey}", n) - .replace("{bbox-epsg-3857}", r); - })); - var l = function (t, e) { - ((this.wrap = t), - (this.canonical = e), - (this.key = n(t, e.z, e.x, e.y))); - }, - c = function (t, e, r, i, a) { - ((this.overscaledZ = t), - (this.wrap = e), - (this.canonical = new s(r, +i, +a)), - (this.key = n(e, t, i, a))); - }; - ((c.prototype.scaledTo = function (t) { - var e = this.canonical.z - t; - return t > this.canonical.z - ? new c( - t, - this.wrap, - this.canonical.z, - this.canonical.x, - this.canonical.y, - ) - : new c( - t, - this.wrap, - t, - this.canonical.x >> e, - this.canonical.y >> e, - ); - }), - (c.prototype.isChildOf = function (t) { - var e = this.canonical.z - t.canonical.z; - return ( - 0 === t.overscaledZ || - (t.overscaledZ < this.overscaledZ && - t.canonical.x === this.canonical.x >> e && - t.canonical.y === this.canonical.y >> e) - ); - }), - (c.prototype.children = function (t) { - if (this.overscaledZ >= t) - return [ - new c( - this.overscaledZ + 1, - this.wrap, - this.canonical.z, - this.canonical.x, - this.canonical.y, - ), - ]; - var e = this.canonical.z + 1, - r = 2 * this.canonical.x, - n = 2 * this.canonical.y; - return [ - new c(e, this.wrap, e, r, n), - new c(e, this.wrap, e, r + 1, n), - new c(e, this.wrap, e, r, n + 1), - new c(e, this.wrap, e, r + 1, n + 1), - ]; - }), - (c.prototype.isLessThan = function (t) { - return ( - this.wrap < t.wrap || - (!(this.wrap > t.wrap) && - (this.overscaledZ < t.overscaledZ || - (!(this.overscaledZ > t.overscaledZ) && - (this.canonical.x < t.canonical.x || - (!(this.canonical.x > t.canonical.x) && - this.canonical.y < t.canonical.y))))) - ); - }), - (c.prototype.wrapped = function () { - return new c( - this.overscaledZ, - 0, - this.canonical.z, - this.canonical.x, - this.canonical.y, - ); - }), - (c.prototype.overscaleFactor = function () { - return Math.pow(2, this.overscaledZ - this.canonical.z); - }), - (c.prototype.toUnwrapped = function () { - return new l(this.wrap, this.canonical); - }), - (c.prototype.toString = function () { - return ( - this.overscaledZ + - "/" + - this.canonical.x + - "/" + - this.canonical.y - ); - }), - (c.prototype.toCoordinate = function () { - return new o( - this.canonical.x + Math.pow(2, this.wrap), - this.canonical.y, - this.canonical.z, - ); - }), - a("CanonicalTileID", s), - a("OverscaledTileID", c, { omit: ["posMatrix"] }), - (e.exports = { - CanonicalTileID: s, - OverscaledTileID: c, - UnwrappedTileID: l, - })); - }, - { - "../geo/coordinate": 61, - "../util/web_worker_transfer": 278, - "@mapbox/whoots-js": 12, - }, - ], - 115: [ - function (t, e, r) { - var n = t("../util/evented"), - i = t("../util/util"), - a = t("./load_tilejson"), - o = t("../util/mapbox").normalizeTileURL, - s = t("./tile_bounds"), - l = t("../util/ajax").ResourceType, - c = t("../util/browser"), - u = (function (t) { - function e(e, r, n, a) { - if ( - (t.call(this), - (this.id = e), - (this.dispatcher = n), - (this.type = "vector"), - (this.minzoom = 0), - (this.maxzoom = 22), - (this.scheme = "xyz"), - (this.tileSize = 512), - (this.reparseOverscaled = !0), - (this.isTileClipped = !0), - i.extend(this, i.pick(r, ["url", "scheme", "tileSize"])), - (this._options = i.extend({ type: "vector" }, r)), - (this._collectResourceTiming = r.collectResourceTiming), - 512 !== this.tileSize) - ) - throw new Error( - "vector tile sources must have a tileSize of 512", - ); - this.setEventedParent(a); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - var t = this; - (this.fire("dataloading", { dataType: "source" }), - a( - this._options, - this.map._transformRequest, - function (e, r) { - e - ? t.fire("error", e) - : r && - (i.extend(t, r), - r.bounds && - (t.tileBounds = new s( - r.bounds, - t.minzoom, - t.maxzoom, - )), - t.fire("data", { - dataType: "source", - sourceDataType: "metadata", - }), - t.fire("data", { - dataType: "source", - sourceDataType: "content", - })); - }, - )); - }), - (e.prototype.hasTile = function (t) { - return ( - !this.tileBounds || - this.tileBounds.contains(t.canonical) - ); - }), - (e.prototype.onAdd = function (t) { - ((this.map = t), this.load()); - }), - (e.prototype.serialize = function () { - return i.extend({}, this._options); - }), - (e.prototype.loadTile = function (t, e) { - function r(r, n) { - return t.aborted - ? e(null) - : r - ? e(r) - : (n && - n.resourceTiming && - (t.resourceTiming = n.resourceTiming), - this.map._refreshExpiredTiles && - t.setExpiryData(n), - t.loadVectorData(n, this.map.painter), - e(null), - void ( - t.reloadCallback && - (this.loadTile(t, t.reloadCallback), - (t.reloadCallback = null)) - )); - } - var n = t.tileID.overscaleFactor(), - i = o( - t.tileID.canonical.url(this.tiles, this.scheme), - this.url, - ), - a = { - request: this.map._transformRequest(i, l.Tile), - uid: t.uid, - tileID: t.tileID, - zoom: t.tileID.overscaledZ, - tileSize: this.tileSize * n, - type: this.type, - source: this.id, - pixelRatio: c.devicePixelRatio, - overscaling: n, - showCollisionBoxes: this.map.showCollisionBoxes, - }; - ((a.request.collectResourceTiming = - this._collectResourceTiming), - void 0 === t.workerID || "expired" === t.state - ? (t.workerID = this.dispatcher.send( - "loadTile", - a, - r.bind(this), - )) - : "loading" === t.state - ? (t.reloadCallback = e) - : this.dispatcher.send( - "reloadTile", - a, - r.bind(this), - t.workerID, - )); - }), - (e.prototype.abortTile = function (t) { - this.dispatcher.send( - "abortTile", - { uid: t.uid, type: this.type, source: this.id }, - void 0, - t.workerID, - ); - }), - (e.prototype.unloadTile = function (t) { - (t.unloadVectorData(), - this.dispatcher.send( - "removeTile", - { uid: t.uid, type: this.type, source: this.id }, - void 0, - t.workerID, - )); - }), - (e.prototype.hasTransition = function () { - return !1; - }), - e - ); - })(n); - e.exports = u; - }, - { - "../util/ajax": 251, - "../util/browser": 252, - "../util/evented": 260, - "../util/mapbox": 267, - "../util/util": 275, - "./load_tilejson": 103, - "./tile_bounds": 113, - }, - ], - 116: [ - function (t, e, r) { - function n(t, e) { - var r = i.getArrayBuffer(t.request, function (t, r) { - t - ? e(t) - : r && - e(null, { - vectorTile: new a.VectorTile(new o(r.data)), - rawData: r.data, - cacheControl: r.cacheControl, - expires: r.expires, - }); - }); - return function () { - (r.abort(), e()); - }; - } - var i = t("../util/ajax"), - a = t("@mapbox/vector-tile"), - o = t("pbf"), - s = t("./worker_tile"), - l = t("../util/util"), - c = t("../util/performance"), - u = function (t, e, r) { - ((this.actor = t), - (this.layerIndex = e), - (this.loadVectorData = r || n), - (this.loading = {}), - (this.loaded = {})); - }; - ((u.prototype.loadTile = function (t, e) { - var r = this, - n = t.source, - i = t.uid; - this.loading[n] || (this.loading[n] = {}); - var a = (this.loading[n][i] = new s(t)); - a.abort = this.loadVectorData(t, function (o, s) { - if ((delete r.loading[n][i], o || !s)) return e(o); - var u = s.rawData, - f = {}; - (s.expires && (f.expires = s.expires), - s.cacheControl && (f.cacheControl = s.cacheControl)); - var h = {}; - if (t.request && t.request.collectResourceTiming) { - var p = c.getEntriesByName(t.request.url); - p && (h.resourceTiming = JSON.parse(JSON.stringify(p))); - } - ((a.vectorTile = s.vectorTile), - a.parse( - s.vectorTile, - r.layerIndex, - r.actor, - function (t, r) { - if (t || !r) return e(t); - e(null, l.extend({ rawTileData: u.slice(0) }, r, f, h)); - }, - ), - (r.loaded[n] = r.loaded[n] || {}), - (r.loaded[n][i] = a)); - }); - }), - (u.prototype.reloadTile = function (t, e) { - var r = this.loaded[t.source], - n = t.uid, - i = this; - if (r && r[n]) { - var a = r[n]; - ((a.showCollisionBoxes = t.showCollisionBoxes), - "parsing" === a.status - ? (a.reloadCallback = e) - : "done" === a.status && - a.parse( - a.vectorTile, - this.layerIndex, - this.actor, - function (t, r) { - if (this.reloadCallback) { - var n = this.reloadCallback; - (delete this.reloadCallback, - this.parse( - this.vectorTile, - i.layerIndex, - i.actor, - n, - )); - } - e(t, r); - }.bind(a), - )); - } - }), - (u.prototype.abortTile = function (t, e) { - var r = this.loading[t.source], - n = t.uid; - (r && r[n] && r[n].abort && (r[n].abort(), delete r[n]), e()); - }), - (u.prototype.removeTile = function (t, e) { - var r = this.loaded[t.source], - n = t.uid; - (r && r[n] && delete r[n], e()); - }), - (e.exports = u)); - }, - { - "../util/ajax": 251, - "../util/performance": 268, - "../util/util": 275, - "./worker_tile": 119, - "@mapbox/vector-tile": 8, - pbf: 30, - }, - ], - 117: [ - function (t, e, r) { - var n = t("../util/ajax"), - i = t("./image_source"), - a = t("../data/raster_bounds_attributes"), - o = t("../render/vertex_array_object"), - s = t("../render/texture"), - l = (function (t) { - function e(e, r, n, i) { - (t.call(this, e, r, n, i), - (this.roundZoom = !0), - (this.type = "video"), - (this.options = r)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.load = function () { - var t = this, - e = this.options; - ((this.urls = e.urls), - n.getVideo(e.urls, function (e, r) { - e - ? t.fire("error", { error: e }) - : r && - ((t.video = r), - (t.video.loop = !0), - t.video.addEventListener("playing", function () { - t.map._rerender(); - }), - t.map && t.video.play(), - t._finishLoading()); - })); - }), - (e.prototype.getVideo = function () { - return this.video; - }), - (e.prototype.onAdd = function (t) { - this.map || - ((this.map = t), - this.load(), - this.video && - (this.video.play(), - this.setCoordinates(this.coordinates))); - }), - (e.prototype.prepare = function () { - var t = this; - if ( - !( - 0 === Object.keys(this.tiles).length || - this.video.readyState < 2 - ) - ) { - var e = this.map.painter.context, - r = e.gl; - for (var n in (this.boundsBuffer || - (this.boundsBuffer = e.createVertexBuffer( - this._boundsArray, - a.members, - )), - this.boundsVAO || (this.boundsVAO = new o()), - this.texture - ? this.video.paused || - (this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE), - r.texSubImage2D( - r.TEXTURE_2D, - 0, - 0, - 0, - r.RGBA, - r.UNSIGNED_BYTE, - this.video, - )) - : ((this.texture = new s(e, this.video, r.RGBA)), - this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), - t.tiles)) { - var i = t.tiles[n]; - "loaded" !== i.state && - ((i.state = "loaded"), (i.texture = t.texture)); - } - } - }), - (e.prototype.serialize = function () { - return { - type: "video", - urls: this.urls, - coordinates: this.coordinates, - }; - }), - (e.prototype.hasTransition = function () { - return this.video && !this.video.paused; - }), - e - ); - })(i); - e.exports = l; - }, - { - "../data/raster_bounds_attributes": 59, - "../render/texture": 93, - "../render/vertex_array_object": 95, - "../util/ajax": 251, - "./image_source": 102, - }, - ], - 118: [ - function (t, e, r) { - var n = t("../util/actor"), - i = t("../style/style_layer_index"), - a = t("./vector_tile_worker_source"), - o = t("./raster_dem_tile_worker_source"), - s = t("./geojson_worker_source"), - l = t("./rtl_text_plugin"), - c = function (t) { - var e = this; - ((this.self = t), - (this.actor = new n(t, this)), - (this.layerIndexes = {}), - (this.workerSourceTypes = { vector: a, geojson: s }), - (this.workerSources = {}), - (this.demWorkerSources = {}), - (this.self.registerWorkerSource = function (t, r) { - if (e.workerSourceTypes[t]) - throw new Error( - 'Worker source with name "' + - t + - '" already registered.', - ); - e.workerSourceTypes[t] = r; - }), - (this.self.registerRTLTextPlugin = function (t) { - if (l.applyArabicShaping || l.processBidirectionalText) - throw new Error("RTL text plugin already registered."); - ((l.applyArabicShaping = t.applyArabicShaping), - (l.processBidirectionalText = - t.processBidirectionalText)); - })); - }; - ((c.prototype.setLayers = function (t, e, r) { - (this.getLayerIndex(t).replace(e), r()); - }), - (c.prototype.updateLayers = function (t, e, r) { - (this.getLayerIndex(t).update(e.layers, e.removedIds), r()); - }), - (c.prototype.loadTile = function (t, e, r) { - this.getWorkerSource(t, e.type).loadTile(e, r); - }), - (c.prototype.loadDEMTile = function (t, e, r) { - this.getDEMWorkerSource(t).loadTile(e, r); - }), - (c.prototype.reloadTile = function (t, e, r) { - this.getWorkerSource(t, e.type).reloadTile(e, r); - }), - (c.prototype.abortTile = function (t, e, r) { - this.getWorkerSource(t, e.type).abortTile(e, r); - }), - (c.prototype.removeTile = function (t, e, r) { - this.getWorkerSource(t, e.type).removeTile(e, r); - }), - (c.prototype.removeDEMTile = function (t, e) { - this.getDEMWorkerSource(t).removeTile(e); - }), - (c.prototype.removeSource = function (t, e, r) { - var n = this.getWorkerSource(t, e.type); - void 0 !== n.removeSource ? n.removeSource(e, r) : r(); - }), - (c.prototype.loadWorkerSource = function (t, e, r) { - try { - (this.self.importScripts(e.url), r()); - } catch (t) { - r(t); - } - }), - (c.prototype.loadRTLTextPlugin = function (t, e, r) { - try { - l.applyArabicShaping || - l.processBidirectionalText || - (this.self.importScripts(e), - (l.applyArabicShaping && l.processBidirectionalText) || - r( - new Error( - "RTL Text Plugin failed to import scripts from " + - e, - ), - )); - } catch (t) { - r(t); - } - }), - (c.prototype.getLayerIndex = function (t) { - var e = this.layerIndexes[t]; - return (e || (e = this.layerIndexes[t] = new i()), e); - }), - (c.prototype.getWorkerSource = function (t, e) { - var r = this; - if ( - (this.workerSources[t] || (this.workerSources[t] = {}), - !this.workerSources[t][e]) - ) { - var n = { - send: function (e, n, i) { - r.actor.send(e, n, i, t); - }, - }; - this.workerSources[t][e] = new this.workerSourceTypes[e]( - n, - this.getLayerIndex(t), - ); - } - return this.workerSources[t][e]; - }), - (c.prototype.getDEMWorkerSource = function (t) { - return ( - this.demWorkerSources[t] || - (this.demWorkerSources[t] = new o()), - this.demWorkerSources[t] - ); - }), - (e.exports = function (t) { - return new c(t); - })); - }, - { - "../style/style_layer_index": 210, - "../util/actor": 250, - "./geojson_worker_source": 100, - "./raster_dem_tile_worker_source": 107, - "./rtl_text_plugin": 109, - "./vector_tile_worker_source": 116, - }, - ], - 119: [ - function (t, e, r) { - function n(t, e) { - for (var r = new h(e), n = 0, i = t; n < i.length; n += 1) - i[n].recalculate(r); - } - var i = t("../data/feature_index"), - a = t("../symbol/symbol_layout").performSymbolLayout, - o = t("../data/array_types").CollisionBoxArray, - s = t("../util/dictionary_coder"), - l = t("../data/bucket/symbol_bucket"), - c = t("../util/util"), - u = t("../render/image_atlas").makeImageAtlas, - f = t("../render/glyph_atlas").makeGlyphAtlas, - h = t("../style/evaluation_parameters"), - p = t("./tile_id").OverscaledTileID, - d = function (t) { - ((this.tileID = new p( - t.tileID.overscaledZ, - t.tileID.wrap, - t.tileID.canonical.z, - t.tileID.canonical.x, - t.tileID.canonical.y, - )), - (this.uid = t.uid), - (this.zoom = t.zoom), - (this.pixelRatio = t.pixelRatio), - (this.tileSize = t.tileSize), - (this.source = t.source), - (this.overscaling = t.overscaling), - (this.showCollisionBoxes = t.showCollisionBoxes), - (this.collectResourceTiming = !!t.collectResourceTiming)); - }; - ((d.prototype.parse = function (t, e, r, h) { - function p() { - if (L) return h(L); - if (z && P) { - var t = f(z), - e = u(P); - for (var r in v) { - var i = v[r]; - i instanceof l && - (n(i.layers, this.zoom), - a( - i, - z, - t.positions, - P, - e.positions, - this.showCollisionBoxes, - )); - } - ((this.status = "done"), - h(null, { - buckets: c.values(v).filter(function (t) { - return !t.isEmpty(); - }), - featureIndex: m, - collisionBoxArray: this.collisionBoxArray, - glyphAtlasImage: t.image, - iconAtlasImage: e.image, - })); - } - } - var d = this; - ((this.status = "parsing"), - (this.data = t), - (this.collisionBoxArray = new o())); - var g = new s(Object.keys(t.layers).sort()), - m = new i(this.tileID, this.overscaling); - m.bucketLayerIDs = []; - var v = {}, - y = { - featureIndex: m, - iconDependencies: {}, - glyphDependencies: {}, - }, - x = e.familiesBySource[this.source]; - for (var b in x) { - var _ = t.layers[b]; - if (_) { - 1 === _.version && - c.warnOnce( - 'Vector tile source "' + - d.source + - '" layer "' + - b + - '" does not use vector tile spec v2 and therefore may have some rendering errors.', - ); - for ( - var w = g.encode(b), k = [], M = 0; - M < _.length; - M++ - ) { - var A = _.feature(M); - k.push({ feature: A, index: M, sourceLayerIndex: w }); - } - for (var T = 0, S = x[b]; T < S.length; T += 1) { - var C = S[T], - E = C[0]; - (E.minzoom && d.zoom < Math.floor(E.minzoom)) || - (E.maxzoom && d.zoom >= E.maxzoom) || - "none" === E.visibility || - (n(C, d.zoom), - (v[E.id] = E.createBucket({ - index: m.bucketLayerIDs.length, - layers: C, - zoom: d.zoom, - pixelRatio: d.pixelRatio, - overscaling: d.overscaling, - collisionBoxArray: d.collisionBoxArray, - })).populate(k, y), - m.bucketLayerIDs.push( - C.map(function (t) { - return t.id; - }), - )); - } - } - } - var L, - z, - P, - D = c.mapObject(y.glyphDependencies, function (t) { - return Object.keys(t).map(Number); - }); - Object.keys(D).length - ? r.send( - "getGlyphs", - { uid: this.uid, stacks: D }, - function (t, e) { - L || ((L = t), (z = e), p.call(d)); - }, - ) - : (z = {}); - var O = Object.keys(y.iconDependencies); - (O.length - ? r.send("getImages", { icons: O }, function (t, e) { - L || ((L = t), (P = e), p.call(d)); - }) - : (P = {}), - p.call(this)); - }), - (e.exports = d)); - }, - { - "../data/array_types": 39, - "../data/bucket/symbol_bucket": 51, - "../data/feature_index": 54, - "../render/glyph_atlas": 85, - "../render/image_atlas": 87, - "../style/evaluation_parameters": 182, - "../symbol/symbol_layout": 227, - "../util/dictionary_coder": 257, - "../util/util": 275, - "./tile_id": 114, - }, - ], - 120: [ - function (t, e, r) { - function n(t, e) { - var r = {}; - for (var n in t) "ref" !== n && (r[n] = t[n]); - return ( - i.forEach(function (t) { - t in e && (r[t] = e[t]); - }), - r - ); - } - var i = t("./util/ref_properties"); - e.exports = function (t) { - t = t.slice(); - for (var e = Object.create(null), r = 0; r < t.length; r++) - e[t[r].id] = t[r]; - for (var i = 0; i < t.length; i++) - "ref" in t[i] && (t[i] = n(t[i], e[t[i].ref])); - return t; - }; - }, - { "./util/ref_properties": 159 }, - ], - 121: [ - function (t, e, r) { - function n(t, e, r) { - r.push({ command: f.addSource, args: [t, e[t]] }); - } - function i(t, e, r) { - (e.push({ command: f.removeSource, args: [t] }), (r[t] = !0)); - } - function a(t, e, r, a) { - (i(t, r, a), n(t, e, r)); - } - function o(t, e, r) { - var n; - for (n in t[r]) - if ( - t[r].hasOwnProperty(n) && - "data" !== n && - !u(t[r][n], e[r][n]) - ) - return !1; - for (n in e[r]) - if ( - e[r].hasOwnProperty(n) && - "data" !== n && - !u(t[r][n], e[r][n]) - ) - return !1; - return !0; - } - function s(t, e, r, n, i, a) { - var o; - for (o in ((t = t || {}), (e = e || {}), t)) - t.hasOwnProperty(o) && - (u(t[o], e[o]) || - r.push({ command: a, args: [n, o, e[o], i] })); - for (o in e) - e.hasOwnProperty(o) && - !t.hasOwnProperty(o) && - (u(t[o], e[o]) || - r.push({ command: a, args: [n, o, e[o], i] })); - } - function l(t) { - return t.id; - } - function c(t, e) { - return ((t[e.id] = e), t); - } - var u = t("./util/deep_equal"), - f = { - setStyle: "setStyle", - addLayer: "addLayer", - removeLayer: "removeLayer", - setPaintProperty: "setPaintProperty", - setLayoutProperty: "setLayoutProperty", - setFilter: "setFilter", - addSource: "addSource", - removeSource: "removeSource", - setGeoJSONSourceData: "setGeoJSONSourceData", - setLayerZoomRange: "setLayerZoomRange", - setLayerProperty: "setLayerProperty", - setCenter: "setCenter", - setZoom: "setZoom", - setBearing: "setBearing", - setPitch: "setPitch", - setSprite: "setSprite", - setGlyphs: "setGlyphs", - setTransition: "setTransition", - setLight: "setLight", - }; - ((e.exports = function (t, e) { - if (!t) return [{ command: f.setStyle, args: [e] }]; - var r = []; - try { - if (!u(t.version, e.version)) - return [{ command: f.setStyle, args: [e] }]; - (u(t.center, e.center) || - r.push({ command: f.setCenter, args: [e.center] }), - u(t.zoom, e.zoom) || - r.push({ command: f.setZoom, args: [e.zoom] }), - u(t.bearing, e.bearing) || - r.push({ command: f.setBearing, args: [e.bearing] }), - u(t.pitch, e.pitch) || - r.push({ command: f.setPitch, args: [e.pitch] }), - u(t.sprite, e.sprite) || - r.push({ command: f.setSprite, args: [e.sprite] }), - u(t.glyphs, e.glyphs) || - r.push({ command: f.setGlyphs, args: [e.glyphs] }), - u(t.transition, e.transition) || - r.push({ - command: f.setTransition, - args: [e.transition], - }), - u(t.light, e.light) || - r.push({ command: f.setLight, args: [e.light] })); - var h = {}, - p = []; - !(function (t, e, r, s) { - var l; - for (l in ((t = t || {}), (e = e || {}), t)) - t.hasOwnProperty(l) && - (e.hasOwnProperty(l) || i(l, r, s)); - for (l in e) - e.hasOwnProperty(l) && - (t.hasOwnProperty(l) - ? u(t[l], e[l]) || - ("geojson" === t[l].type && - "geojson" === e[l].type && - o(t, e, l) - ? r.push({ - command: f.setGeoJSONSourceData, - args: [l, e[l].data], - }) - : a(l, e, r, s)) - : n(l, e, r)); - })(t.sources, e.sources, p, h); - var d = []; - (t.layers && - t.layers.forEach(function (t) { - h[t.source] - ? r.push({ command: f.removeLayer, args: [t.id] }) - : d.push(t); - }), - (r = r.concat(p)), - (function (t, e, r) { - ((t = t || []), (e = e || [])); - var n, - i, - a, - o, - h, - p, - d, - g = t.map(l), - m = e.map(l), - v = t.reduce(c, {}), - y = e.reduce(c, {}), - x = g.slice(), - b = Object.create(null); - for (n = 0, i = 0; n < g.length; n++) - ((a = g[n]), - y.hasOwnProperty(a) - ? i++ - : (r.push({ command: f.removeLayer, args: [a] }), - x.splice(x.indexOf(a, i), 1))); - for (n = 0, i = 0; n < m.length; n++) - ((a = m[m.length - 1 - n]), - x[x.length - 1 - n] !== a && - (v.hasOwnProperty(a) - ? (r.push({ command: f.removeLayer, args: [a] }), - x.splice(x.lastIndexOf(a, x.length - i), 1)) - : i++, - (p = x[x.length - n]), - r.push({ command: f.addLayer, args: [y[a], p] }), - x.splice(x.length - n, 0, a), - (b[a] = !0))); - for (n = 0; n < m.length; n++) - if ( - ((o = v[(a = m[n])]), (h = y[a]), !b[a] && !u(o, h)) - ) - if ( - u(o.source, h.source) && - u(o["source-layer"], h["source-layer"]) && - u(o.type, h.type) - ) { - for (d in (s( - o.layout, - h.layout, - r, - a, - null, - f.setLayoutProperty, - ), - s(o.paint, h.paint, r, a, null, f.setPaintProperty), - u(o.filter, h.filter) || - r.push({ - command: f.setFilter, - args: [a, h.filter], - }), - (u(o.minzoom, h.minzoom) && - u(o.maxzoom, h.maxzoom)) || - r.push({ - command: f.setLayerZoomRange, - args: [a, h.minzoom, h.maxzoom], - }), - o)) - o.hasOwnProperty(d) && - "layout" !== d && - "paint" !== d && - "filter" !== d && - "metadata" !== d && - "minzoom" !== d && - "maxzoom" !== d && - (0 === d.indexOf("paint.") - ? s( - o[d], - h[d], - r, - a, - d.slice(6), - f.setPaintProperty, - ) - : u(o[d], h[d]) || - r.push({ - command: f.setLayerProperty, - args: [a, d, h[d]], - })); - for (d in h) - h.hasOwnProperty(d) && - !o.hasOwnProperty(d) && - "layout" !== d && - "paint" !== d && - "filter" !== d && - "metadata" !== d && - "minzoom" !== d && - "maxzoom" !== d && - (0 === d.indexOf("paint.") - ? s( - o[d], - h[d], - r, - a, - d.slice(6), - f.setPaintProperty, - ) - : u(o[d], h[d]) || - r.push({ - command: f.setLayerProperty, - args: [a, d, h[d]], - })); - } else - (r.push({ command: f.removeLayer, args: [a] }), - (p = x[x.lastIndexOf(a) + 1]), - r.push({ command: f.addLayer, args: [h, p] })); - })(d, e.layers, r)); - } catch (t) { - (console.warn("Unable to compute style diff:", t), - (r = [{ command: f.setStyle, args: [e] }])); - } - return r; - }), - (e.exports.operations = f)); - }, - { "./util/deep_equal": 155 }, - ], - 122: [ - function (t, e, r) { - e.exports = function (t, e, r) { - ((this.message = (t ? t + ": " : "") + r), - null !== e && - void 0 !== e && - e.__line__ && - (this.line = e.__line__)); - }; - }, - {}, - ], - 123: [ - function (t, e, r) { - var n = t("./types").toString, - i = t("./parsing_context"), - a = - (t("./evaluation_context"), - function (t, e, r, n) { - ((this.name = t), - (this.type = e), - (this._evaluate = r), - (this.args = n)); - }); - ((a.prototype.evaluate = function (t) { - return this._evaluate(t, this.args); - }), - (a.prototype.eachChild = function (t) { - this.args.forEach(t); - }), - (a.prototype.possibleOutputs = function () { - return [void 0]; - }), - (a.parse = function (t, e) { - var r = t[0], - o = a.definitions[r]; - if (!o) - return e.error( - 'Unknown expression "' + - r + - '". If you wanted a literal array, use ["literal", [...]].', - 0, - ); - for ( - var s = Array.isArray(o) ? o[0] : o.type, - l = Array.isArray(o) ? [[o[1], o[2]]] : o.overloads, - c = l.filter(function (e) { - var r = e[0]; - return !Array.isArray(r) || r.length === t.length - 1; - }), - u = [], - f = 1; - f < t.length; - f++ - ) { - var h = t[f], - p = void 0; - if (1 === c.length) { - var d = c[0][0]; - p = Array.isArray(d) ? d[f - 1] : d.type; - } - var g = e.parse(h, 1 + u.length, p); - if (!g) return null; - u.push(g); - } - for (var m = null, v = 0, y = c; v < y.length; v += 1) { - var x = y[v], - b = x[0], - _ = x[1]; - if ( - ((m = new i(e.registry, e.path, null, e.scope)), - Array.isArray(b) && b.length !== u.length) - ) - m.error( - "Expected " + - b.length + - " arguments, but found " + - u.length + - " instead.", - ); - else { - for (var w = 0; w < u.length; w++) { - var k = Array.isArray(b) ? b[w] : b.type, - M = u[w]; - m.concat(w + 1).checkSubtype(k, M.type); - } - if (0 === m.errors.length) return new a(r, s, _, u); - } - } - if (1 === c.length) e.errors.push.apply(e.errors, m.errors); - else { - var A = (c.length ? c : l) - .map(function (t) { - return (function (t) { - return Array.isArray(t) - ? "(" + t.map(n).join(", ") + ")" - : "(" + n(t.type) + "...)"; - })(t[0]); - }) - .join(" | "), - T = u - .map(function (t) { - return n(t.type); - }) - .join(", "); - e.error( - "Expected arguments of type " + - A + - ", but found (" + - T + - ") instead.", - ); - } - return null; - }), - (a.register = function (t, e) { - for (var r in ((a.definitions = e), e)) t[r] = a; - }), - (e.exports = { - CompoundExpression: a, - varargs: function (t) { - return { type: t }; - }, - })); - }, - { - "./evaluation_context": 138, - "./parsing_context": 141, - "./types": 146, - }, - ], - 124: [ - function (t, e, r) { - var n = t("../types"), - i = n.toString, - a = n.array, - o = n.ValueType, - s = n.StringType, - l = n.NumberType, - c = n.BooleanType, - u = n.checkSubtype, - f = t("../values").typeOf, - h = t("../runtime_error"), - p = { string: s, number: l, boolean: c }, - d = function (t, e) { - ((this.type = t), (this.input = e)); - }; - ((d.parse = function (t, e) { - if (t.length < 2 || t.length > 4) - return e.error( - "Expected 1, 2, or 3 arguments, but found " + - (t.length - 1) + - " instead.", - ); - var r, n; - if (t.length > 2) { - var i = t[1]; - if ("string" != typeof i || !(i in p)) - return e.error( - 'The item type argument of "array" must be one of string, number, boolean', - 1, - ); - r = p[i]; - } else r = o; - if (t.length > 3) { - if ( - "number" != typeof t[2] || - t[2] < 0 || - t[2] !== Math.floor(t[2]) - ) - return e.error( - 'The length argument to "array" must be a positive integer literal', - 2, - ); - n = t[2]; - } - var s = a(r, n), - l = e.parse(t[t.length - 1], t.length - 1, o); - return l ? new d(s, l) : null; - }), - (d.prototype.evaluate = function (t) { - var e = this.input.evaluate(t); - if (u(this.type, f(e))) - throw new h( - "Expected value to be of type " + - i(this.type) + - ", but found " + - i(f(e)) + - " instead.", - ); - return e; - }), - (d.prototype.eachChild = function (t) { - t(this.input); - }), - (d.prototype.possibleOutputs = function () { - return this.input.possibleOutputs(); - }), - (e.exports = d)); - }, - { "../runtime_error": 143, "../types": 146, "../values": 147 }, - ], - 125: [ - function (t, e, r) { - var n = t("../types"), - i = n.ObjectType, - a = n.ValueType, - o = n.StringType, - s = n.NumberType, - l = n.BooleanType, - c = t("../runtime_error"), - u = t("../types"), - f = u.checkSubtype, - h = u.toString, - p = t("../values").typeOf, - d = { string: o, number: s, boolean: l, object: i }, - g = function (t, e) { - ((this.type = t), (this.args = e)); - }; - ((g.parse = function (t, e) { - if (t.length < 2) - return e.error("Expected at least one argument."); - for (var r = t[0], n = d[r], i = [], o = 1; o < t.length; o++) { - var s = e.parse(t[o], o, a); - if (!s) return null; - i.push(s); - } - return new g(n, i); - }), - (g.prototype.evaluate = function (t) { - for (var e = this, r = 0; r < this.args.length; r++) { - var n = e.args[r].evaluate(t); - if (!f(e.type, p(n))) return n; - if (r === e.args.length - 1) - throw new c( - "Expected value to be of type " + - h(e.type) + - ", but found " + - h(p(n)) + - " instead.", - ); - } - return null; - }), - (g.prototype.eachChild = function (t) { - this.args.forEach(t); - }), - (g.prototype.possibleOutputs = function () { - return (t = []).concat.apply( - t, - this.args.map(function (t) { - return t.possibleOutputs(); - }), - ); - var t; - }), - (e.exports = g)); - }, - { "../runtime_error": 143, "../types": 146, "../values": 147 }, - ], - 126: [ - function (t, e, r) { - var n = t("../types"), - i = n.array, - a = n.ValueType, - o = n.NumberType, - s = t("../runtime_error"), - l = function (t, e, r) { - ((this.type = t), (this.index = e), (this.input = r)); - }; - ((l.parse = function (t, e) { - if (3 !== t.length) - return e.error( - "Expected 2 arguments, but found " + - (t.length - 1) + - " instead.", - ); - var r = e.parse(t[1], 1, o), - n = e.parse(t[2], 2, i(e.expectedType || a)); - if (!r || !n) return null; - var s = n.type; - return new l(s.itemType, r, n); - }), - (l.prototype.evaluate = function (t) { - var e = this.index.evaluate(t), - r = this.input.evaluate(t); - if (e < 0 || e >= r.length) - throw new s( - "Array index out of bounds: " + - e + - " > " + - r.length + - ".", - ); - if (e !== Math.floor(e)) - throw new s( - "Array index must be an integer, but found " + - e + - " instead.", - ); - return r[e]; - }), - (l.prototype.eachChild = function (t) { - (t(this.index), t(this.input)); - }), - (l.prototype.possibleOutputs = function () { - return [void 0]; - }), - (e.exports = l)); - }, - { "../runtime_error": 143, "../types": 146 }, - ], - 127: [ - function (t, e, r) { - var n = t("../types").BooleanType, - i = function (t, e, r) { - ((this.type = t), (this.branches = e), (this.otherwise = r)); - }; - ((i.parse = function (t, e) { - if (t.length < 4) - return e.error( - "Expected at least 3 arguments, but found only " + - (t.length - 1) + - ".", - ); - if (t.length % 2 != 0) - return e.error("Expected an odd number of arguments."); - var r; - e.expectedType && - "value" !== e.expectedType.kind && - (r = e.expectedType); - for (var a = [], o = 1; o < t.length - 1; o += 2) { - var s = e.parse(t[o], o, n); - if (!s) return null; - var l = e.parse(t[o + 1], o + 1, r); - if (!l) return null; - (a.push([s, l]), (r = r || l.type)); - } - var c = e.parse(t[t.length - 1], t.length - 1, r); - return c ? new i(r, a, c) : null; - }), - (i.prototype.evaluate = function (t) { - for (var e = 0, r = this.branches; e < r.length; e += 1) { - var n = r[e], - i = n[0], - a = n[1]; - if (i.evaluate(t)) return a.evaluate(t); - } - return this.otherwise.evaluate(t); - }), - (i.prototype.eachChild = function (t) { - for (var e = 0, r = this.branches; e < r.length; e += 1) { - var n = r[e], - i = n[0], - a = n[1]; - (t(i), t(a)); - } - t(this.otherwise); - }), - (i.prototype.possibleOutputs = function () { - return (t = []).concat - .apply( - t, - this.branches.map(function (t) { - return (t[0], t[1].possibleOutputs()); - }), - ) - .concat(this.otherwise.possibleOutputs()); - var t; - }), - (e.exports = i)); - }, - { "../types": 146 }, - ], - 128: [ - function (t, e, r) { - var n = t("../types"), - i = n.checkSubtype, - a = n.ValueType, - o = function (t, e) { - ((this.type = t), (this.args = e)); - }; - ((o.parse = function (t, e) { - if (t.length < 2) - return e.error("Expectected at least one argument."); - var r = null, - n = e.expectedType; - n && "value" !== n.kind && (r = n); - for (var s = [], l = 0, c = t.slice(1); l < c.length; l += 1) { - var u = c[l], - f = e.parse(u, 1 + s.length, r, void 0, { - omitTypeAnnotations: !0, - }); - if (!f) return null; - ((r = r || f.type), s.push(f)); - } - return n && - s.some(function (t) { - return i(n, t.type); - }) - ? new o(a, s) - : new o(r, s); - }), - (o.prototype.evaluate = function (t) { - for ( - var e = null, r = 0, n = this.args; - r < n.length && null === (e = n[r].evaluate(t)); - r += 1 - ); - return e; - }), - (o.prototype.eachChild = function (t) { - this.args.forEach(t); - }), - (o.prototype.possibleOutputs = function () { - return (t = []).concat.apply( - t, - this.args.map(function (t) { - return t.possibleOutputs(); - }), - ); - var t; - }), - (e.exports = o)); - }, - { "../types": 146 }, - ], - 129: [ - function (t, e, r) { - var n = t("../types"), - i = n.ColorType, - a = n.ValueType, - o = n.NumberType, - s = t("../values"), - l = s.Color, - c = s.validateRGBA, - u = t("../runtime_error"), - f = { "to-number": o, "to-color": i }, - h = function (t, e) { - ((this.type = t), (this.args = e)); - }; - ((h.parse = function (t, e) { - if (t.length < 2) - return e.error("Expected at least one argument."); - for (var r = t[0], n = f[r], i = [], o = 1; o < t.length; o++) { - var s = e.parse(t[o], o, a); - if (!s) return null; - i.push(s); - } - return new h(n, i); - }), - (h.prototype.evaluate = function (t) { - if ("color" === this.type.kind) { - for (var e, r, n = 0, i = this.args; n < i.length; n += 1) - if ( - ((r = null), "string" == typeof (e = i[n].evaluate(t))) - ) { - var a = t.parseColor(e); - if (a) return a; - } else if ( - Array.isArray(e) && - !(r = - e.length < 3 || e.length > 4 - ? "Invalid rbga value " + - JSON.stringify(e) + - ": expected an array containing either three or four numeric values." - : c(e[0], e[1], e[2], e[3])) - ) - return new l(e[0] / 255, e[1] / 255, e[2] / 255, e[3]); - throw new u( - r || - "Could not parse color from value '" + - ("string" == typeof e ? e : JSON.stringify(e)) + - "'", - ); - } - for (var o = null, s = 0, f = this.args; s < f.length; s += 1) - if (null !== (o = f[s].evaluate(t))) { - var h = Number(o); - if (!isNaN(h)) return h; - } - throw new u( - "Could not convert " + JSON.stringify(o) + " to number.", - ); - }), - (h.prototype.eachChild = function (t) { - this.args.forEach(t); - }), - (h.prototype.possibleOutputs = function () { - return (t = []).concat.apply( - t, - this.args.map(function (t) { - return t.possibleOutputs(); - }), - ); - var t; - }), - (e.exports = h)); - }, - { "../runtime_error": 143, "../types": 146, "../values": 147 }, - ], - 130: [ - function (t, e, r) { - function n(t) { - return ( - "string" === t.kind || - "number" === t.kind || - "boolean" === t.kind || - "null" === t.kind - ); - } - function i(t) { - return (function () { - function e(t, e) { - ((this.type = s), (this.lhs = t), (this.rhs = e)); - } - return ( - (e.parse = function (t, r) { - if (3 !== t.length) - return r.error("Expected two arguments."); - var i = r.parse(t[1], 1, o); - if (!i) return null; - var a = r.parse(t[2], 2, o); - return a - ? n(i.type) || n(a.type) - ? i.type.kind !== a.type.kind && - "value" !== i.type.kind && - "value" !== a.type.kind - ? r.error( - "Cannot compare " + - l(i.type) + - " and " + - l(a.type) + - ".", - ) - : new e(i, a) - : r.error( - "Expected at least one argument to be a string, number, boolean, or null, but found (" + - l(i.type) + - ", " + - l(a.type) + - ") instead.", - ) - : null; - }), - (e.prototype.evaluate = function (e) { - return t(this.lhs.evaluate(e), this.rhs.evaluate(e)); - }), - (e.prototype.eachChild = function (t) { - (t(this.lhs), t(this.rhs)); - }), - (e.prototype.possibleOutputs = function () { - return [!0, !1]; - }), - e - ); - })(); - } - var a = t("../types"), - o = a.ValueType, - s = a.BooleanType, - l = t("../types").toString; - e.exports = { - Equals: i(function (t, e) { - return t === e; - }), - NotEquals: i(function (t, e) { - return t !== e; - }), - }; - }, - { "../types": 146 }, - ], - 131: [ - function (t, e, r) { - function n(t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3]; - ((r = r.evaluate(t)), (n = n.evaluate(t)), (i = i.evaluate(t))); - var o = a ? a.evaluate(t) : 1, - s = M(r, n, i, o); - if (s) throw new C(s); - return new k((r / 255) * o, (n / 255) * o, (i / 255) * o, o); - } - function i(t, e) { - return t in e; - } - function a(t, e) { - var r = e[t]; - return void 0 === r ? null : r; - } - function o(t, e) { - return e[0].evaluate(t).length; - } - function s(t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) < n.evaluate(t); - } - function l(t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) > n.evaluate(t); - } - function c(t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) <= n.evaluate(t); - } - function u(t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) >= n.evaluate(t); - } - var f = t("../types"), - h = f.NumberType, - p = f.StringType, - d = f.BooleanType, - g = f.ColorType, - m = f.ObjectType, - v = f.ValueType, - y = f.ErrorType, - x = f.array, - b = f.toString, - _ = t("../values"), - w = _.typeOf, - k = _.Color, - M = _.validateRGBA, - A = t("../compound_expression"), - T = A.CompoundExpression, - S = A.varargs, - C = t("../runtime_error"), - E = t("./let"), - L = t("./var"), - z = t("./literal"), - P = t("./assertion"), - D = t("./array"), - O = t("./coercion"), - I = t("./at"), - R = t("./match"), - B = t("./case"), - F = t("./step"), - N = t("./interpolate"), - j = t("./coalesce"), - V = t("./equals"), - U = { - "==": V.Equals, - "!=": V.NotEquals, - array: D, - at: I, - boolean: P, - case: B, - coalesce: j, - interpolate: N, - let: E, - literal: z, - match: R, - number: P, - object: P, - step: F, - string: P, - "to-color": O, - "to-number": O, - var: L, - }; - (T.register(U, { - error: [ - y, - [p], - function (t, e) { - var r = e[0]; - throw new C(r.evaluate(t)); - }, - ], - typeof: [ - p, - [v], - function (t, e) { - var r = e[0]; - return b(w(r.evaluate(t))); - }, - ], - "to-string": [ - p, - [v], - function (t, e) { - var r = e[0], - n = typeof (r = r.evaluate(t)); - return null === r || - "string" === n || - "number" === n || - "boolean" === n - ? String(r) - : r instanceof k - ? r.toString() - : JSON.stringify(r); - }, - ], - "to-boolean": [ - d, - [v], - function (t, e) { - var r = e[0]; - return Boolean(r.evaluate(t)); - }, - ], - "to-rgba": [ - x(h, 4), - [g], - function (t, e) { - var r = e[0].evaluate(t), - n = r.r, - i = r.g, - a = r.b, - o = r.a; - return [(255 * n) / o, (255 * i) / o, (255 * a) / o, o]; - }, - ], - rgb: [g, [h, h, h], n], - rgba: [g, [h, h, h, h], n], - length: { - type: h, - overloads: [ - [[p], o], - [[x(v)], o], - ], - }, - has: { - type: d, - overloads: [ - [ - [p], - function (t, e) { - return i(e[0].evaluate(t), t.properties()); - }, - ], - [ - [p, m], - function (t, e) { - var r = e[0], - n = e[1]; - return i(r.evaluate(t), n.evaluate(t)); - }, - ], - ], - }, - get: { - type: v, - overloads: [ - [ - [p], - function (t, e) { - return a(e[0].evaluate(t), t.properties()); - }, - ], - [ - [p, m], - function (t, e) { - var r = e[0], - n = e[1]; - return a(r.evaluate(t), n.evaluate(t)); - }, - ], - ], - }, - properties: [ - m, - [], - function (t) { - return t.properties(); - }, - ], - "geometry-type": [ - p, - [], - function (t) { - return t.geometryType(); - }, - ], - id: [ - v, - [], - function (t) { - return t.id(); - }, - ], - zoom: [ - h, - [], - function (t) { - return t.globals.zoom; - }, - ], - "heatmap-density": [ - h, - [], - function (t) { - return t.globals.heatmapDensity || 0; - }, - ], - "+": [ - h, - S(h), - function (t, e) { - for (var r = 0, n = 0, i = e; n < i.length; n += 1) - r += i[n].evaluate(t); - return r; - }, - ], - "*": [ - h, - S(h), - function (t, e) { - for (var r = 1, n = 0, i = e; n < i.length; n += 1) - r *= i[n].evaluate(t); - return r; - }, - ], - "-": { - type: h, - overloads: [ - [ - [h, h], - function (t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) - n.evaluate(t); - }, - ], - [ - [h], - function (t, e) { - return -e[0].evaluate(t); - }, - ], - ], - }, - "/": [ - h, - [h, h], - function (t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) / n.evaluate(t); - }, - ], - "%": [ - h, - [h, h], - function (t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) % n.evaluate(t); - }, - ], - ln2: [ - h, - [], - function () { - return Math.LN2; - }, - ], - pi: [ - h, - [], - function () { - return Math.PI; - }, - ], - e: [ - h, - [], - function () { - return Math.E; - }, - ], - "^": [ - h, - [h, h], - function (t, e) { - var r = e[0], - n = e[1]; - return Math.pow(r.evaluate(t), n.evaluate(t)); - }, - ], - sqrt: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.sqrt(r.evaluate(t)); - }, - ], - log10: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.log10(r.evaluate(t)); - }, - ], - ln: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.log(r.evaluate(t)); - }, - ], - log2: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.log2(r.evaluate(t)); - }, - ], - sin: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.sin(r.evaluate(t)); - }, - ], - cos: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.cos(r.evaluate(t)); - }, - ], - tan: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.tan(r.evaluate(t)); - }, - ], - asin: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.asin(r.evaluate(t)); - }, - ], - acos: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.acos(r.evaluate(t)); - }, - ], - atan: [ - h, - [h], - function (t, e) { - var r = e[0]; - return Math.atan(r.evaluate(t)); - }, - ], - min: [ - h, - S(h), - function (t, e) { - return Math.min.apply( - Math, - e.map(function (e) { - return e.evaluate(t); - }), - ); - }, - ], - max: [ - h, - S(h), - function (t, e) { - return Math.max.apply( - Math, - e.map(function (e) { - return e.evaluate(t); - }), - ); - }, - ], - "filter-==": [ - d, - [p, v], - function (t, e) { - var r = e[0], - n = e[1]; - return t.properties()[r.value] === n.value; - }, - ], - "filter-id-==": [ - d, - [v], - function (t, e) { - var r = e[0]; - return t.id() === r.value; - }, - ], - "filter-type-==": [ - d, - [p], - function (t, e) { - var r = e[0]; - return t.geometryType() === r.value; - }, - ], - "filter-<": [ - d, - [p, v], - function (t, e) { - var r = e[0], - n = e[1], - i = t.properties()[r.value], - a = n.value; - return typeof i == typeof a && i < a; - }, - ], - "filter-id-<": [ - d, - [v], - function (t, e) { - var r = e[0], - n = t.id(), - i = r.value; - return typeof n == typeof i && n < i; - }, - ], - "filter->": [ - d, - [p, v], - function (t, e) { - var r = e[0], - n = e[1], - i = t.properties()[r.value], - a = n.value; - return typeof i == typeof a && i > a; - }, - ], - "filter-id->": [ - d, - [v], - function (t, e) { - var r = e[0], - n = t.id(), - i = r.value; - return typeof n == typeof i && n > i; - }, - ], - "filter-<=": [ - d, - [p, v], - function (t, e) { - var r = e[0], - n = e[1], - i = t.properties()[r.value], - a = n.value; - return typeof i == typeof a && i <= a; - }, - ], - "filter-id-<=": [ - d, - [v], - function (t, e) { - var r = e[0], - n = t.id(), - i = r.value; - return typeof n == typeof i && n <= i; - }, - ], - "filter->=": [ - d, - [p, v], - function (t, e) { - var r = e[0], - n = e[1], - i = t.properties()[r.value], - a = n.value; - return typeof i == typeof a && i >= a; - }, - ], - "filter-id->=": [ - d, - [v], - function (t, e) { - var r = e[0], - n = t.id(), - i = r.value; - return typeof n == typeof i && n >= i; - }, - ], - "filter-has": [ - d, - [v], - function (t, e) { - return e[0].value in t.properties(); - }, - ], - "filter-has-id": [ - d, - [], - function (t) { - return null !== t.id(); - }, - ], - "filter-type-in": [ - d, - [x(p)], - function (t, e) { - return e[0].value.indexOf(t.geometryType()) >= 0; - }, - ], - "filter-id-in": [ - d, - [x(v)], - function (t, e) { - return e[0].value.indexOf(t.id()) >= 0; - }, - ], - "filter-in-small": [ - d, - [p, x(v)], - function (t, e) { - var r = e[0]; - return e[1].value.indexOf(t.properties()[r.value]) >= 0; - }, - ], - "filter-in-large": [ - d, - [p, x(v)], - function (t, e) { - var r = e[0], - n = e[1]; - return (function (t, e, r, n) { - for (; r <= n; ) { - var i = (r + n) >> 1; - if (e[i] === t) return !0; - e[i] > t ? (n = i - 1) : (r = i + 1); - } - return !1; - })(t.properties()[r.value], n.value, 0, n.value.length - 1); - }, - ], - ">": { - type: d, - overloads: [ - [[h, h], l], - [[p, p], l], - ], - }, - "<": { - type: d, - overloads: [ - [[h, h], s], - [[p, p], s], - ], - }, - ">=": { - type: d, - overloads: [ - [[h, h], u], - [[p, p], u], - ], - }, - "<=": { - type: d, - overloads: [ - [[h, h], c], - [[p, p], c], - ], - }, - all: { - type: d, - overloads: [ - [ - [d, d], - function (t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) && n.evaluate(t); - }, - ], - [ - S(d), - function (t, e) { - for (var r = 0, n = e; r < n.length; r += 1) - if (!n[r].evaluate(t)) return !1; - return !0; - }, - ], - ], - }, - any: { - type: d, - overloads: [ - [ - [d, d], - function (t, e) { - var r = e[0], - n = e[1]; - return r.evaluate(t) || n.evaluate(t); - }, - ], - [ - S(d), - function (t, e) { - for (var r = 0, n = e; r < n.length; r += 1) - if (n[r].evaluate(t)) return !0; - return !1; - }, - ], - ], - }, - "!": [ - d, - [d], - function (t, e) { - return !e[0].evaluate(t); - }, - ], - upcase: [ - p, - [p], - function (t, e) { - return e[0].evaluate(t).toUpperCase(); - }, - ], - downcase: [ - p, - [p], - function (t, e) { - return e[0].evaluate(t).toLowerCase(); - }, - ], - concat: [ - p, - S(p), - function (t, e) { - return e - .map(function (e) { - return e.evaluate(t); - }) - .join(""); - }, - ], - }), - (e.exports = U)); - }, - { - "../compound_expression": 123, - "../runtime_error": 143, - "../types": 146, - "../values": 147, - "./array": 124, - "./assertion": 125, - "./at": 126, - "./case": 127, - "./coalesce": 128, - "./coercion": 129, - "./equals": 130, - "./interpolate": 132, - "./let": 133, - "./literal": 134, - "./match": 135, - "./step": 136, - "./var": 137, - }, - ], - 132: [ - function (t, e, r) { - function n(t, e, r, n) { - var i = n - r, - a = t - r; - return 0 === i - ? 0 - : 1 === e - ? a / i - : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); - } - var i = t("@mapbox/unitbezier"), - a = t("../../util/interpolate"), - o = t("../types"), - s = o.toString, - l = o.NumberType, - c = t("../stops").findStopLessThanOrEqualTo, - u = function (t, e, r, n) { - ((this.type = t), - (this.interpolation = e), - (this.input = r), - (this.labels = []), - (this.outputs = [])); - for (var i = 0, a = n; i < a.length; i += 1) { - var o = a[i], - s = o[0], - l = o[1]; - (this.labels.push(s), this.outputs.push(l)); - } - }; - ((u.interpolationFactor = function (t, e, r, a) { - var o = 0; - if ("exponential" === t.name) o = n(e, t.base, r, a); - else if ("linear" === t.name) o = n(e, 1, r, a); - else if ("cubic-bezier" === t.name) { - var s = t.controlPoints; - o = new i(s[0], s[1], s[2], s[3]).solve(n(e, 1, r, a)); - } - return o; - }), - (u.parse = function (t, e) { - var r = t[1], - n = t[2], - i = t.slice(3); - if (!Array.isArray(r) || 0 === r.length) - return e.error( - "Expected an interpolation type expression.", - 1, - ); - if ("linear" === r[0]) r = { name: "linear" }; - else if ("exponential" === r[0]) { - var a = r[1]; - if ("number" != typeof a) - return e.error( - "Exponential interpolation requires a numeric base.", - 1, - 1, - ); - r = { name: "exponential", base: a }; - } else { - if ("cubic-bezier" !== r[0]) - return e.error( - "Unknown interpolation type " + String(r[0]), - 1, - 0, - ); - var o = r.slice(1); - if ( - 4 !== o.length || - o.some(function (t) { - return "number" != typeof t || t < 0 || t > 1; - }) - ) - return e.error( - "Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.", - 1, - ); - r = { name: "cubic-bezier", controlPoints: o }; - } - if (t.length - 1 < 4) - return e.error( - "Expected at least 4 arguments, but found only " + - (t.length - 1) + - ".", - ); - if ((t.length - 1) % 2 != 0) - return e.error("Expected an even number of arguments."); - if (!(n = e.parse(n, 2, l))) return null; - var c = [], - f = null; - e.expectedType && - "value" !== e.expectedType.kind && - (f = e.expectedType); - for (var h = 0; h < i.length; h += 2) { - var p = i[h], - d = i[h + 1], - g = h + 3, - m = h + 4; - if ("number" != typeof p) - return e.error( - 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', - g, - ); - if (c.length && c[c.length - 1][0] >= p) - return e.error( - 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', - g, - ); - var v = e.parse(d, m, f); - if (!v) return null; - ((f = f || v.type), c.push([p, v])); - } - return "number" === f.kind || - "color" === f.kind || - ("array" === f.kind && - "number" === f.itemType.kind && - "number" == typeof f.N) - ? new u(f, r, n, c) - : e.error("Type " + s(f) + " is not interpolatable."); - }), - (u.prototype.evaluate = function (t) { - var e = this.labels, - r = this.outputs; - if (1 === e.length) return r[0].evaluate(t); - var n = this.input.evaluate(t); - if (n <= e[0]) return r[0].evaluate(t); - var i = e.length; - if (n >= e[i - 1]) return r[i - 1].evaluate(t); - var o = c(e, n), - s = e[o], - l = e[o + 1], - f = u.interpolationFactor(this.interpolation, n, s, l), - h = r[o].evaluate(t), - p = r[o + 1].evaluate(t); - return a[this.type.kind.toLowerCase()](h, p, f); - }), - (u.prototype.eachChild = function (t) { - t(this.input); - for (var e = 0, r = this.outputs; e < r.length; e += 1) - t(r[e]); - }), - (u.prototype.possibleOutputs = function () { - return (t = []).concat.apply( - t, - this.outputs.map(function (t) { - return t.possibleOutputs(); - }), - ); - var t; - }), - (e.exports = u)); - }, - { - "../../util/interpolate": 158, - "../stops": 145, - "../types": 146, - "@mapbox/unitbezier": 7, - }, - ], - 133: [ - function (t, e, r) { - var n = function (t, e) { - ((this.type = e.type), - (this.bindings = [].concat(t)), - (this.result = e)); - }; - ((n.prototype.evaluate = function (t) { - t.pushScope(this.bindings); - var e = this.result.evaluate(t); - return (t.popScope(), e); - }), - (n.prototype.eachChild = function (t) { - for (var e = 0, r = this.bindings; e < r.length; e += 1) - t(r[e][1]); - t(this.result); - }), - (n.parse = function (t, e) { - if (t.length < 4) - return e.error( - "Expected at least 3 arguments, but found " + - (t.length - 1) + - " instead.", - ); - for (var r = [], i = 1; i < t.length - 1; i += 2) { - var a = t[i]; - if ("string" != typeof a) - return e.error( - "Expected string, but found " + typeof a + " instead.", - i, - ); - if (/[^a-zA-Z0-9_]/.test(a)) - return e.error( - "Variable names must contain only alphanumeric characters or '_'.", - i, - ); - var o = e.parse(t[i + 1], i + 1); - if (!o) return null; - r.push([a, o]); - } - var s = e.parse(t[t.length - 1], t.length - 1, void 0, r); - return s ? new n(r, s) : null; - }), - (n.prototype.possibleOutputs = function () { - return this.result.possibleOutputs(); - }), - (e.exports = n)); - }, - {}, - ], - 134: [ - function (t, e, r) { - var n = t("../values"), - i = n.isValue, - a = n.typeOf, - o = function (t, e) { - ((this.type = t), (this.value = e)); - }; - ((o.parse = function (t, e) { - if (2 !== t.length) - return e.error( - "'literal' expression requires exactly one argument, but found " + - (t.length - 1) + - " instead.", - ); - if (!i(t[1])) return e.error("invalid value"); - var r = t[1], - n = a(r), - s = e.expectedType; - return ( - "array" !== n.kind || - 0 !== n.N || - !s || - "array" !== s.kind || - ("number" == typeof s.N && 0 !== s.N) || - (n = s), - new o(n, r) - ); - }), - (o.prototype.evaluate = function () { - return this.value; - }), - (o.prototype.eachChild = function () {}), - (o.prototype.possibleOutputs = function () { - return [this.value]; - }), - (e.exports = o)); - }, - { "../values": 147 }, - ], - 135: [ - function (t, e, r) { - var n = t("../values").typeOf, - i = function (t, e, r, n, i, a) { - ((this.inputType = t), - (this.type = e), - (this.input = r), - (this.cases = n), - (this.outputs = i), - (this.otherwise = a)); - }; - ((i.parse = function (t, e) { - if (t.length < 5) - return e.error( - "Expected at least 4 arguments, but found only " + - (t.length - 1) + - ".", - ); - if (t.length % 2 != 1) - return e.error("Expected an even number of arguments."); - var r, a; - e.expectedType && - "value" !== e.expectedType.kind && - (a = e.expectedType); - for (var o = {}, s = [], l = 2; l < t.length - 1; l += 2) { - var c = t[l], - u = t[l + 1]; - Array.isArray(c) || (c = [c]); - var f = e.concat(l); - if (0 === c.length) - return f.error("Expected at least one branch label."); - for (var h = 0, p = c; h < p.length; h += 1) { - var d = p[h]; - if ("number" != typeof d && "string" != typeof d) - return f.error( - "Branch labels must be numbers or strings.", - ); - if ( - "number" == typeof d && - Math.abs(d) > Number.MAX_SAFE_INTEGER - ) - return f.error( - "Branch labels must be integers no larger than " + - Number.MAX_SAFE_INTEGER + - ".", - ); - if ("number" == typeof d && Math.floor(d) !== d) - return f.error( - "Numeric branch labels must be integer values.", - ); - if (r) { - if (f.checkSubtype(r, n(d))) return null; - } else r = n(d); - if (void 0 !== o[String(d)]) - return f.error("Branch labels must be unique."); - o[String(d)] = s.length; - } - var g = e.parse(u, l, a); - if (!g) return null; - ((a = a || g.type), s.push(g)); - } - var m = e.parse(t[1], 1, r); - if (!m) return null; - var v = e.parse(t[t.length - 1], t.length - 1, a); - return v ? new i(r, a, m, o, s, v) : null; - }), - (i.prototype.evaluate = function (t) { - var e = this.input.evaluate(t); - return ( - this.outputs[this.cases[e]] || this.otherwise - ).evaluate(t); - }), - (i.prototype.eachChild = function (t) { - (t(this.input), this.outputs.forEach(t), t(this.otherwise)); - }), - (i.prototype.possibleOutputs = function () { - return (t = []).concat - .apply( - t, - this.outputs.map(function (t) { - return t.possibleOutputs(); - }), - ) - .concat(this.otherwise.possibleOutputs()); - var t; - }), - (e.exports = i)); - }, - { "../values": 147 }, - ], - 136: [ - function (t, e, r) { - var n = t("../types").NumberType, - i = t("../stops").findStopLessThanOrEqualTo, - a = function (t, e, r) { - ((this.type = t), - (this.input = e), - (this.labels = []), - (this.outputs = [])); - for (var n = 0, i = r; n < i.length; n += 1) { - var a = i[n], - o = a[0], - s = a[1]; - (this.labels.push(o), this.outputs.push(s)); - } - }; - ((a.parse = function (t, e) { - var r = t[1], - i = t.slice(2); - if (t.length - 1 < 4) - return e.error( - "Expected at least 4 arguments, but found only " + - (t.length - 1) + - ".", - ); - if ((t.length - 1) % 2 != 0) - return e.error("Expected an even number of arguments."); - if (!(r = e.parse(r, 1, n))) return null; - var o = [], - s = null; - (e.expectedType && - "value" !== e.expectedType.kind && - (s = e.expectedType), - i.unshift(-1 / 0)); - for (var l = 0; l < i.length; l += 2) { - var c = i[l], - u = i[l + 1], - f = l + 1, - h = l + 2; - if ("number" != typeof c) - return e.error( - 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', - f, - ); - if (o.length && o[o.length - 1][0] >= c) - return e.error( - 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', - f, - ); - var p = e.parse(u, h, s); - if (!p) return null; - ((s = s || p.type), o.push([c, p])); - } - return new a(s, r, o); - }), - (a.prototype.evaluate = function (t) { - var e = this.labels, - r = this.outputs; - if (1 === e.length) return r[0].evaluate(t); - var n = this.input.evaluate(t); - if (n <= e[0]) return r[0].evaluate(t); - var a = e.length; - return n >= e[a - 1] - ? r[a - 1].evaluate(t) - : r[i(e, n)].evaluate(t); - }), - (a.prototype.eachChild = function (t) { - t(this.input); - for (var e = 0, r = this.outputs; e < r.length; e += 1) - t(r[e]); - }), - (a.prototype.possibleOutputs = function () { - return (t = []).concat.apply( - t, - this.outputs.map(function (t) { - return t.possibleOutputs(); - }), - ); - var t; - }), - (e.exports = a)); - }, - { "../stops": 145, "../types": 146 }, - ], - 137: [ - function (t, e, r) { - var n = function (t, e) { - ((this.type = e), (this.name = t)); - }; - ((n.parse = function (t, e) { - if (2 !== t.length || "string" != typeof t[1]) - return e.error( - "'var' expression requires exactly one string literal argument.", - ); - var r = t[1]; - return e.scope.has(r) - ? new n(r, e.scope.get(r).type) - : e.error( - 'Unknown variable "' + - r + - '". Make sure "' + - r + - '" has been bound in an enclosing "let" expression before using it.', - 1, - ); - }), - (n.prototype.evaluate = function (t) { - return t.scope.get(this.name).evaluate(t); - }), - (n.prototype.eachChild = function () {}), - (n.prototype.possibleOutputs = function () { - return [void 0]; - }), - (e.exports = n)); - }, - {}, - ], - 138: [ - function (t, e, r) { - var n = t("./scope"), - i = t("./values").Color, - a = ["Unknown", "Point", "LineString", "Polygon"], - o = function () { - ((this.scope = new n()), (this._parseColorCache = {})); - }; - ((o.prototype.id = function () { - return this.feature && "id" in this.feature - ? this.feature.id - : null; - }), - (o.prototype.geometryType = function () { - return this.feature - ? "number" == typeof this.feature.type - ? a[this.feature.type] - : this.feature.type - : null; - }), - (o.prototype.properties = function () { - return (this.feature && this.feature.properties) || {}; - }), - (o.prototype.pushScope = function (t) { - this.scope = this.scope.concat(t); - }), - (o.prototype.popScope = function () { - this.scope = this.scope.parent; - }), - (o.prototype.parseColor = function (t) { - var e = this._parseColorCache[t]; - return (e || (e = this._parseColorCache[t] = i.parse(t)), e); - }), - (e.exports = o)); - }, - { "./scope": 144, "./values": 147 }, - ], - 139: [ - function (t, e, r) { - function n(t) { - return ( - Array.isArray(t) && - t.length > 0 && - "string" == typeof t[0] && - t[0] in g - ); - } - function i(t, e, r) { - void 0 === r && (r = {}); - var n = new l( - g, - [], - (function (t) { - var e = { - color: z, - string: P, - number: D, - enum: P, - boolean: O, - }; - return "array" === t.type - ? R(e[t.value] || I, t.length) - : e[t.type] || null; - })(e), - ), - i = n.parse(t); - return i - ? x(!1 === r.handleErrors ? new _(i) : new w(i, e)) - : b(n.errors); - } - function a(t, e, r) { - if ( - (void 0 === r && (r = {}), - "error" === (t = i(t, e, r)).result) - ) - return t; - var n = t.value.expression, - a = m.isFeatureConstant(n); - if (!a && !e["property-function"]) - return b([new s("", "property expressions not supported")]); - var o = m.isGlobalPropertyConstant(n, ["zoom"]); - if (!o && !1 === e["zoom-function"]) - return b([new s("", "zoom expressions not supported")]); - var l = (function t(e) { - var r = null; - if (e instanceof d) r = t(e.result); - else if (e instanceof p) - for (var n = 0, i = e.args; n < i.length; n += 1) { - var a = i[n]; - if ((r = t(a))) break; - } - else - (e instanceof f || e instanceof h) && - e.input instanceof u && - "zoom" === e.input.name && - (r = e); - return r instanceof s - ? r - : (e.eachChild(function (e) { - var n = t(e); - n instanceof s - ? (r = n) - : !r && n - ? (r = new s( - "", - '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', - )) - : r && - n && - r !== n && - (r = new s( - "", - 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.', - )); - }), - r); - })(n); - return l || o - ? l instanceof s - ? b([l]) - : l instanceof h && "piecewise-constant" === e.function - ? b([ - new s( - "", - '"interpolate" expressions cannot be used with this property', - ), - ]) - : x( - l - ? new M(a ? "camera" : "composite", t.value, l) - : new k(a ? "constant" : "source", t.value), - ) - : b([ - new s( - "", - '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', - ), - ]); - } - var o = t("../util/extend"), - s = t("./parsing_error"), - l = t("./parsing_context"), - c = t("./evaluation_context"), - u = t("./compound_expression").CompoundExpression, - f = t("./definitions/step"), - h = t("./definitions/interpolate"), - p = t("./definitions/coalesce"), - d = t("./definitions/let"), - g = t("./definitions"), - m = t("./is_constant"), - v = t("./runtime_error"), - y = t("../util/result"), - x = y.success, - b = y.error, - _ = function (t) { - this.expression = t; - }; - _.prototype.evaluate = function (t, e) { - return ( - this._evaluator || (this._evaluator = new c()), - (this._evaluator.globals = t), - (this._evaluator.feature = e), - this.expression.evaluate(this._evaluator) - ); - }; - var w = (function (t) { - function e(e, r) { - (t.call(this, e), - (this._warningHistory = {}), - (this._defaultValue = (function (t) { - return "color" === t.type && T(t.default) - ? new C(0, 0, 0, 0) - : "color" === t.type - ? C.parse(t.default) || null - : void 0 === t.default - ? null - : t.default; - })(r)), - "enum" === r.type && (this._enumValues = r.values)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.evaluate = function (t, e) { - (this._evaluator || (this._evaluator = new c()), - (this._evaluator.globals = t), - (this._evaluator.feature = e)); - try { - var r = this.expression.evaluate(this._evaluator); - if (null === r || void 0 === r) - return this._defaultValue; - if (this._enumValues && !(r in this._enumValues)) - throw new v( - "Expected value to be one of " + - Object.keys(this._enumValues) - .map(function (t) { - return JSON.stringify(t); - }) - .join(", ") + - ", but found " + - JSON.stringify(r) + - " instead.", - ); - return r; - } catch (t) { - return ( - this._warningHistory[t.message] || - ((this._warningHistory[t.message] = !0), - "undefined" != typeof console && - console.warn(t.message)), - this._defaultValue - ); - } - }), - e - ); - })(_), - k = function (t, e) { - ((this.kind = t), (this._styleExpression = e)); - }; - k.prototype.evaluate = function (t, e) { - return this._styleExpression.evaluate(t, e); - }; - var M = function (t, e, r) { - ((this.kind = t), - (this.zoomStops = r.labels), - (this._styleExpression = e), - r instanceof h && - (this._interpolationType = r.interpolation)); - }; - ((M.prototype.evaluate = function (t, e) { - return this._styleExpression.evaluate(t, e); - }), - (M.prototype.interpolationFactor = function (t, e, r) { - return this._interpolationType - ? h.interpolationFactor(this._interpolationType, t, e, r) - : 0; - })); - var A = t("../function"), - T = A.isFunction, - S = A.createFunction, - C = t("./values").Color, - E = function (t, e) { - ((this._parameters = t), - (this._specification = e), - o(this, S(this._parameters, this._specification))); - }; - ((E.deserialize = function (t) { - return new E(t._parameters, t._specification); - }), - (E.serialize = function (t) { - return { - _parameters: t._parameters, - _specification: t._specification, - }; - }), - (e.exports = { - StyleExpression: _, - StyleExpressionWithErrorHandling: w, - isExpression: n, - createExpression: i, - createPropertyExpression: a, - normalizePropertyExpression: function (t, e) { - if (T(t)) return new E(t, e); - if (n(t)) { - var r = a(t, e); - if ("error" === r.result) - throw new Error( - r.value - .map(function (t) { - return t.key + ": " + t.message; - }) - .join(", "), - ); - return r.value; - } - var i = t; - return ( - "string" == typeof t && - "color" === e.type && - (i = C.parse(t)), - { - kind: "constant", - evaluate: function () { - return i; - }, - } - ); - }, - ZoomConstantExpression: k, - ZoomDependentExpression: M, - StylePropertyFunction: E, - })); - var L = t("./types"), - z = L.ColorType, - P = L.StringType, - D = L.NumberType, - O = L.BooleanType, - I = L.ValueType, - R = L.array; - }, - { - "../function": 149, - "../util/extend": 156, - "../util/result": 160, - "./compound_expression": 123, - "./definitions": 131, - "./definitions/coalesce": 128, - "./definitions/interpolate": 132, - "./definitions/let": 133, - "./definitions/step": 136, - "./evaluation_context": 138, - "./is_constant": 140, - "./parsing_context": 141, - "./parsing_error": 142, - "./runtime_error": 143, - "./types": 146, - "./values": 147, - }, - ], - 140: [ - function (t, e, r) { - var n = t("./compound_expression").CompoundExpression; - e.exports = { - isFeatureConstant: function t(e) { - if (e instanceof n) { - if ("get" === e.name && 1 === e.args.length) return !1; - if ("has" === e.name && 1 === e.args.length) return !1; - if ( - "properties" === e.name || - "geometry-type" === e.name || - "id" === e.name - ) - return !1; - if (/^filter-/.test(e.name)) return !1; - } - var r = !0; - return ( - e.eachChild(function (e) { - r && !t(e) && (r = !1); - }), - r - ); - }, - isGlobalPropertyConstant: function t(e, r) { - if (e instanceof n && r.indexOf(e.name) >= 0) return !1; - var i = !0; - return ( - e.eachChild(function (e) { - i && !t(e, r) && (i = !1); - }), - i - ); - }, - }; - }, - { "./compound_expression": 123 }, - ], - 141: [ - function (t, e, r) { - var n = t("./scope"), - i = t("./types").checkSubtype, - a = t("./parsing_error"), - o = t("./definitions/literal"), - s = t("./definitions/assertion"), - l = t("./definitions/array"), - c = t("./definitions/coercion"), - u = function (t, e, r, i, a) { - (void 0 === e && (e = []), - void 0 === i && (i = new n()), - void 0 === a && (a = []), - (this.registry = t), - (this.path = e), - (this.key = e - .map(function (t) { - return "[" + t + "]"; - }) - .join("")), - (this.scope = i), - (this.errors = a), - (this.expectedType = r)); - }; - ((u.prototype.parse = function (e, r, n, i, a) { - void 0 === a && (a = {}); - var u = this; - if ( - (r && (u = u.concat(r, n, i)), - (null !== e && - "string" != typeof e && - "boolean" != typeof e && - "number" != typeof e) || - (e = ["literal", e]), - Array.isArray(e)) - ) { - if (0 === e.length) - return u.error( - 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].', - ); - var f = e[0]; - if ("string" != typeof f) - return ( - u.error( - "Expression name must be a string, but found " + - typeof f + - ' instead. If you wanted a literal array, use ["literal", [...]].', - 0, - ), - null - ); - var h = u.registry[f]; - if (h) { - var p = h.parse(e, u); - if (!p) return null; - if (u.expectedType) { - var d = u.expectedType, - g = p.type; - if ( - ("string" !== d.kind && - "number" !== d.kind && - "boolean" !== d.kind) || - "value" !== g.kind - ) - if ("array" === d.kind && "value" === g.kind) - a.omitTypeAnnotations || (p = new l(d, p)); - else if ( - "color" !== d.kind || - ("value" !== g.kind && "string" !== g.kind) - ) { - if (u.checkSubtype(u.expectedType, p.type)) - return null; - } else a.omitTypeAnnotations || (p = new c(d, [p])); - else a.omitTypeAnnotations || (p = new s(d, [p])); - } - if ( - !(p instanceof o) && - (function (e) { - var r = t("./compound_expression").CompoundExpression, - n = t("./is_constant"), - i = n.isGlobalPropertyConstant, - a = n.isFeatureConstant; - if (e instanceof t("./definitions/var")) return !1; - if (e instanceof r && "error" === e.name) return !1; - var s = !0; - return ( - e.eachChild(function (t) { - t instanceof o || (s = !1); - }), - !!s && a(e) && i(e, ["zoom", "heatmap-density"]) - ); - })(p) - ) { - var m = new (t("./evaluation_context"))(); - try { - p = new o(p.type, p.evaluate(m)); - } catch (e) { - return (u.error(e.message), null); - } - } - return p; - } - return u.error( - 'Unknown expression "' + - f + - '". If you wanted a literal array, use ["literal", [...]].', - 0, - ); - } - return void 0 === e - ? u.error("'undefined' value invalid. Use null instead.") - : "object" == typeof e - ? u.error( - 'Bare objects invalid. Use ["literal", {...}] instead.', - ) - : u.error( - "Expected an array, but found " + - typeof e + - " instead.", - ); - }), - (u.prototype.concat = function (t, e, r) { - var n = - "number" == typeof t ? this.path.concat(t) : this.path, - i = r ? this.scope.concat(r) : this.scope; - return new u(this.registry, n, e || null, i, this.errors); - }), - (u.prototype.error = function (t) { - for ( - var e = arguments, r = [], n = arguments.length - 1; - n-- > 0; - - ) - r[n] = e[n + 1]; - var i = - "" + - this.key + - r - .map(function (t) { - return "[" + t + "]"; - }) - .join(""); - this.errors.push(new a(i, t)); - }), - (u.prototype.checkSubtype = function (t, e) { - var r = i(t, e); - return (r && this.error(r), r); - }), - (e.exports = u)); - }, - { - "./compound_expression": 123, - "./definitions/array": 124, - "./definitions/assertion": 125, - "./definitions/coercion": 129, - "./definitions/literal": 134, - "./definitions/var": 137, - "./evaluation_context": 138, - "./is_constant": 140, - "./parsing_error": 142, - "./scope": 144, - "./types": 146, - }, - ], - 142: [ - function (t, e, r) { - var n = (function (t) { - function e(e, r) { - (t.call(this, r), (this.message = r), (this.key = e)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - e - ); - })(Error); - e.exports = n; - }, - {}, - ], - 143: [ - function (t, e, r) { - var n = function (t) { - ((this.name = "ExpressionEvaluationError"), (this.message = t)); - }; - ((n.prototype.toJSON = function () { - return this.message; - }), - (e.exports = n)); - }, - {}, - ], - 144: [ - function (t, e, r) { - var n = function (t, e) { - (void 0 === e && (e = []), - (this.parent = t), - (this.bindings = {})); - for (var r = 0, n = e; r < n.length; r += 1) { - var i = n[r], - a = i[0], - o = i[1]; - this.bindings[a] = o; - } - }; - ((n.prototype.concat = function (t) { - return new n(this, t); - }), - (n.prototype.get = function (t) { - if (this.bindings[t]) return this.bindings[t]; - if (this.parent) return this.parent.get(t); - throw new Error(t + " not found in scope."); - }), - (n.prototype.has = function (t) { - return ( - !!this.bindings[t] || (!!this.parent && this.parent.has(t)) - ); - }), - (e.exports = n)); - }, - {}, - ], - 145: [ - function (t, e, r) { - var n = t("./runtime_error"); - e.exports = { - findStopLessThanOrEqualTo: function (t, e) { - for (var r, i, a = 0, o = t.length - 1, s = 0; a <= o; ) { - if ( - ((r = t[(s = Math.floor((a + o) / 2))]), - (i = t[s + 1]), - e === r || (e > r && e < i)) - ) - return s; - if (r < e) a = s + 1; - else { - if (!(r > e)) throw new n("Input is not a number."); - o = s - 1; - } - } - return Math.max(s - 1, 0); - }, - }; - }, - { "./runtime_error": 143 }, - ], - 146: [ - function (t, e, r) { - function n(t, e) { - return { kind: "array", itemType: t, N: e }; - } - function i(t) { - if ("array" === t.kind) { - var e = i(t.itemType); - return "number" == typeof t.N - ? "array<" + e + ", " + t.N + ">" - : "value" === t.itemType.kind - ? "array" - : "array<" + e + ">"; - } - return t.kind; - } - var a = { kind: "null" }, - o = { kind: "number" }, - s = { kind: "string" }, - l = { kind: "boolean" }, - c = { kind: "color" }, - u = { kind: "object" }, - f = { kind: "value" }, - h = [a, o, s, l, c, u, n(f)]; - e.exports = { - NullType: a, - NumberType: o, - StringType: s, - BooleanType: l, - ColorType: c, - ObjectType: u, - ValueType: f, - array: n, - ErrorType: { kind: "error" }, - toString: i, - checkSubtype: function t(e, r) { - if ("error" === r.kind) return null; - if ("array" === e.kind) { - if ( - "array" === r.kind && - !t(e.itemType, r.itemType) && - ("number" != typeof e.N || e.N === r.N) - ) - return null; - } else { - if (e.kind === r.kind) return null; - if ("value" === e.kind) - for (var n = 0, a = h; n < a.length; n += 1) - if (!t(a[n], r)) return null; - } - return ( - "Expected " + i(e) + " but found " + i(r) + " instead." - ); - }, - }; - }, - {}, - ], - 147: [ - function (t, e, r) { - var n = t("../util/color"), - i = t("./types"), - a = i.NullType, - o = i.NumberType, - s = i.StringType, - l = i.BooleanType, - c = i.ColorType, - u = i.ObjectType, - f = i.ValueType, - h = i.array; - e.exports = { - Color: n, - validateRGBA: function (t, e, r, n) { - return "number" == typeof t && - t >= 0 && - t <= 255 && - "number" == typeof e && - e >= 0 && - e <= 255 && - "number" == typeof r && - r >= 0 && - r <= 255 - ? void 0 === n || ("number" == typeof n && n >= 0 && n <= 1) - ? null - : "Invalid rgba value [" + - [t, e, r, n].join(", ") + - "]: 'a' must be between 0 and 1." - : "Invalid rgba value [" + - ("number" == typeof n ? [t, e, r, n] : [t, e, r]).join( - ", ", - ) + - "]: 'r', 'g', and 'b' must be between 0 and 255."; - }, - isValue: function t(e) { - if (null === e) return !0; - if ("string" == typeof e) return !0; - if ("boolean" == typeof e) return !0; - if ("number" == typeof e) return !0; - if (e instanceof n) return !0; - if (Array.isArray(e)) { - for (var r = 0, i = e; r < i.length; r += 1) - if (!t(i[r])) return !1; - return !0; - } - if ("object" == typeof e) { - for (var a in e) if (!t(e[a])) return !1; - return !0; - } - return !1; - }, - typeOf: function t(e) { - if (null === e) return a; - if ("string" == typeof e) return s; - if ("boolean" == typeof e) return l; - if ("number" == typeof e) return o; - if (e instanceof n) return c; - if (Array.isArray(e)) { - for ( - var r, i = e.length, p = 0, d = e; - p < d.length; - p += 1 - ) { - var g = t(d[p]); - if (r) { - if (r === g) continue; - r = f; - break; - } - r = g; - } - return h(r || f, i); - } - return u; - }, - }; - }, - { "../util/color": 153, "./types": 146 }, - ], - 148: [ - function (t, e, r) { - function n(t) { - if (!Array.isArray(t) || 0 === t.length) return !1; - switch (t[0]) { - case "has": - return t.length >= 2 && "$id" !== t[1] && "$type" !== t[1]; - case "in": - case "!in": - case "!has": - case "none": - return !1; - case "==": - case "!=": - case ">": - case ">=": - case "<": - case "<=": - return ( - 3 === t.length && - (Array.isArray(t[1]) || Array.isArray(t[2])) - ); - case "any": - case "all": - for (var e = 0, r = t.slice(1); e < r.length; e += 1) { - var i = r[e]; - if (!n(i) && "boolean" != typeof i) return !1; - } - return !0; - default: - return !0; - } - } - function i(t, e) { - return t < e ? -1 : t > e ? 1 : 0; - } - function a(t) { - if (!t) return !0; - var e = t[0]; - return t.length <= 1 - ? "any" !== e - : "==" === e - ? o(t[1], t[2], "==") - : "!=" === e - ? c(o(t[1], t[2], "==")) - : "<" === e || ">" === e || "<=" === e || ">=" === e - ? o(t[1], t[2], e) - : "any" === e - ? (function (t) { - return ["any"].concat(t.map(a)); - })(t.slice(1)) - : "all" === e - ? ["all"].concat(t.slice(1).map(a)) - : "none" === e - ? ["all"].concat(t.slice(1).map(a).map(c)) - : "in" === e - ? s(t[1], t.slice(2)) - : "!in" === e - ? c(s(t[1], t.slice(2))) - : "has" === e - ? l(t[1]) - : "!has" !== e || c(l(t[1])); - } - function o(t, e, r) { - switch (t) { - case "$type": - return ["filter-type-" + r, e]; - case "$id": - return ["filter-id-" + r, e]; - default: - return ["filter-" + r, t, e]; - } - } - function s(t, e) { - if (0 === e.length) return !1; - switch (t) { - case "$type": - return ["filter-type-in", ["literal", e]]; - case "$id": - return ["filter-id-in", ["literal", e]]; - default: - return e.length > 200 && - !e.some(function (t) { - return typeof t != typeof e[0]; - }) - ? ["filter-in-large", t, ["literal", e.sort(i)]] - : ["filter-in-small", t, ["literal", e]]; - } - } - function l(t) { - switch (t) { - case "$type": - return !0; - case "$id": - return ["filter-has-id"]; - default: - return ["filter-has", t]; - } - } - function c(t) { - return ["!", t]; - } - var u = t("../expression").createExpression; - ((e.exports = function (t) { - if (!t) - return function () { - return !0; - }; - n(t) || (t = a(t)); - var e = u(t, f); - if ("error" === e.result) - throw new Error( - e.value - .map(function (t) { - return t.key + ": " + t.message; - }) - .join(", "), - ); - return function (t, r) { - return e.value.evaluate(t, r); - }; - }), - (e.exports.isExpressionFilter = n)); - var f = { - type: "boolean", - default: !1, - function: !0, - "property-function": !0, - "zoom-function": !0, - }; - }, - { "../expression": 139 }, - ], - 149: [ - function (t, e, r) { - function n(t) { - return t; - } - function i(t, e, r) { - return void 0 !== t - ? t - : void 0 !== e - ? e - : void 0 !== r - ? r - : void 0; - } - function a(t, e, r, n, a) { - return i(typeof r === a ? n[r] : void 0, t.default, e.default); - } - function o(t, e, r) { - if ("number" !== p(r)) return i(t.default, e.default); - var n = t.stops.length; - if (1 === n) return t.stops[0][1]; - if (r <= t.stops[0][0]) return t.stops[0][1]; - if (r >= t.stops[n - 1][0]) return t.stops[n - 1][1]; - var a = c(t.stops, r); - return t.stops[a][1]; - } - function s(t, e, r) { - var a = void 0 !== t.base ? t.base : 1; - if ("number" !== p(r)) return i(t.default, e.default); - var o = t.stops.length; - if (1 === o) return t.stops[0][1]; - if (r <= t.stops[0][0]) return t.stops[0][1]; - if (r >= t.stops[o - 1][0]) return t.stops[o - 1][1]; - var s = c(t.stops, r), - l = (function (t, e, r, n) { - var i = n - r, - a = t - r; - return 0 === i - ? 0 - : 1 === e - ? a / i - : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); - })(r, a, t.stops[s][0], t.stops[s + 1][0]), - f = t.stops[s][1], - h = t.stops[s + 1][1], - g = d[e.type] || n; - if (t.colorSpace && "rgb" !== t.colorSpace) { - var m = u[t.colorSpace]; - g = function (t, e) { - return m.reverse( - m.interpolate(m.forward(t), m.forward(e), l), - ); - }; - } - return "function" == typeof f.evaluate - ? { - evaluate: function () { - for ( - var t = arguments, e = [], r = arguments.length; - r--; - - ) - e[r] = t[r]; - var n = f.evaluate.apply(void 0, e), - i = h.evaluate.apply(void 0, e); - if (void 0 !== n && void 0 !== i) return g(n, i, l); - }, - } - : g(f, h, l); - } - function l(t, e, r) { - return ( - "color" === e.type - ? (r = f.parse(r)) - : p(r) === e.type || - ("enum" === e.type && e.values[r]) || - (r = void 0), - i(r, t.default, e.default) - ); - } - function c(t, e) { - for (var r, n, i = 0, a = t.length - 1, o = 0; i <= a; ) { - if ( - ((r = t[(o = Math.floor((i + a) / 2))][0]), - (n = t[o + 1][0]), - e === r || (e > r && e < n)) - ) - return o; - r < e ? (i = o + 1) : r > e && (a = o - 1); - } - return Math.max(o - 1, 0); - } - var u = t("../util/color_spaces"), - f = t("../util/color"), - h = t("../util/extend"), - p = t("../util/get_type"), - d = t("../util/interpolate"), - g = t("../expression/definitions/interpolate"); - e.exports = { - createFunction: function t(e, r) { - var n, - c, - p, - d = "color" === r.type, - m = e.stops && "object" == typeof e.stops[0][0], - v = m || void 0 !== e.property, - y = m || !v, - x = - e.type || - ("interpolated" === r.function - ? "exponential" - : "interval"); - if ( - (d && - ((e = h({}, e)).stops && - (e.stops = e.stops.map(function (t) { - return [t[0], f.parse(t[1])]; - })), - e.default - ? (e.default = f.parse(e.default)) - : (e.default = f.parse(r.default))), - e.colorSpace && "rgb" !== e.colorSpace && !u[e.colorSpace]) - ) - throw new Error("Unknown color space: " + e.colorSpace); - if ("exponential" === x) n = s; - else if ("interval" === x) n = o; - else if ("categorical" === x) { - ((n = a), (c = Object.create(null))); - for (var b = 0, _ = e.stops; b < _.length; b += 1) { - var w = _[b]; - c[w[0]] = w[1]; - } - p = typeof e.stops[0][0]; - } else { - if ("identity" !== x) - throw new Error('Unknown function type "' + x + '"'); - n = l; - } - if (m) { - for (var k = {}, M = [], A = 0; A < e.stops.length; A++) { - var T = e.stops[A], - S = T[0].zoom; - (void 0 === k[S] && - ((k[S] = { - zoom: S, - type: e.type, - property: e.property, - default: e.default, - stops: [], - }), - M.push(S)), - k[S].stops.push([T[0].value, T[1]])); - } - for (var C = [], E = 0, L = M; E < L.length; E += 1) { - var z = L[E]; - C.push([k[z].zoom, t(k[z], r)]); - } - return { - kind: "composite", - interpolationFactor: g.interpolationFactor.bind(void 0, { - name: "linear", - }), - zoomStops: C.map(function (t) { - return t[0]; - }), - evaluate: function (t, n) { - var i = t.zoom; - return s({ stops: C, base: e.base }, r, i).evaluate( - i, - n, - ); - }, - }; - } - return y - ? { - kind: "camera", - interpolationFactor: - "exponential" === x - ? g.interpolationFactor.bind(void 0, { - name: "exponential", - base: void 0 !== e.base ? e.base : 1, - }) - : function () { - return 0; - }, - zoomStops: e.stops.map(function (t) { - return t[0]; - }), - evaluate: function (t) { - var i = t.zoom; - return n(e, r, i, c, p); - }, - } - : { - kind: "source", - evaluate: function (t, a) { - var o = - a && a.properties - ? a.properties[e.property] - : void 0; - return void 0 === o - ? i(e.default, r.default) - : n(e, r, o, c, p); - }, - }; - }, - isFunction: function (t) { - return ( - "object" == typeof t && null !== t && !Array.isArray(t) - ); - }, - }; - }, - { - "../expression/definitions/interpolate": 132, - "../util/color": 153, - "../util/color_spaces": 154, - "../util/extend": 156, - "../util/get_type": 157, - "../util/interpolate": 158, - }, - ], - 150: [ - function (t, e, r) { - function n(t) { - var e = typeof t; - if ( - "number" === e || - "boolean" === e || - "string" === e || - void 0 === t || - null === t - ) - return JSON.stringify(t); - if (Array.isArray(t)) { - for (var r = "[", i = 0, a = t; i < a.length; i += 1) - r += n(a[i]) + ","; - return r + "]"; - } - for ( - var o = Object.keys(t).sort(), s = "{", l = 0; - l < o.length; - l++ - ) - s += JSON.stringify(o[l]) + ":" + n(t[o[l]]) + ","; - return s + "}"; - } - function i(t) { - for (var e = "", r = 0, i = a; r < i.length; r += 1) - e += "/" + n(t[i[r]]); - return e; - } - var a = t("./util/ref_properties"); - e.exports = function (t) { - for (var e = {}, r = 0; r < t.length; r++) { - var n = i(t[r]), - a = e[n]; - (a || (a = e[n] = []), a.push(t[r])); - } - var o = []; - for (var s in e) o.push(e[s]); - return o; - }; - }, - { "./util/ref_properties": 159 }, - ], - 151: [ - function (t, e, r) { - e.exports = t("./v8.json"); - }, - { "./v8.json": 152 }, - ], - 152: [ - function (t, e, r) { - e.exports = { - $version: 8, - $root: { - version: { required: !0, type: "enum", values: [8] }, - name: { type: "string" }, - metadata: { type: "*" }, - center: { type: "array", value: "number" }, - zoom: { type: "number" }, - bearing: { - type: "number", - default: 0, - period: 360, - units: "degrees", - }, - pitch: { type: "number", default: 0, units: "degrees" }, - light: { type: "light" }, - sources: { required: !0, type: "sources" }, - sprite: { type: "string" }, - glyphs: { type: "string" }, - transition: { type: "transition" }, - layers: { required: !0, type: "array", value: "layer" }, - }, - sources: { "*": { type: "source" } }, - source: [ - "source_vector", - "source_raster", - "source_raster_dem", - "source_geojson", - "source_video", - "source_image", - "source_canvas", - ], - source_vector: { - type: { required: !0, type: "enum", values: { vector: {} } }, - url: { type: "string" }, - tiles: { type: "array", value: "string" }, - bounds: { - type: "array", - value: "number", - length: 4, - default: [-180, -85.0511, 180, 85.0511], - }, - minzoom: { type: "number", default: 0 }, - maxzoom: { type: "number", default: 22 }, - attribution: { type: "string" }, - "*": { type: "*" }, - }, - source_raster: { - type: { required: !0, type: "enum", values: { raster: {} } }, - url: { type: "string" }, - tiles: { type: "array", value: "string" }, - bounds: { - type: "array", - value: "number", - length: 4, - default: [-180, -85.0511, 180, 85.0511], - }, - minzoom: { type: "number", default: 0 }, - maxzoom: { type: "number", default: 22 }, - tileSize: { type: "number", default: 512, units: "pixels" }, - scheme: { - type: "enum", - values: { xyz: {}, tms: {} }, - default: "xyz", - }, - attribution: { type: "string" }, - "*": { type: "*" }, - }, - source_raster_dem: { - type: { - required: !0, - type: "enum", - values: { "raster-dem": {} }, - }, - url: { type: "string" }, - tiles: { type: "array", value: "string" }, - bounds: { - type: "array", - value: "number", - length: 4, - default: [-180, -85.0511, 180, 85.0511], - }, - minzoom: { type: "number", default: 0 }, - maxzoom: { type: "number", default: 22 }, - tileSize: { type: "number", default: 512, units: "pixels" }, - attribution: { type: "string" }, - "*": { type: "*" }, - }, - source_geojson: { - type: { required: !0, type: "enum", values: { geojson: {} } }, - data: { type: "*" }, - maxzoom: { type: "number", default: 18 }, - buffer: { - type: "number", - default: 128, - maximum: 512, - minimum: 0, - }, - tolerance: { type: "number", default: 0.375 }, - cluster: { type: "boolean", default: !1 }, - clusterRadius: { type: "number", default: 50, minimum: 0 }, - clusterMaxZoom: { type: "number" }, - }, - source_video: { - type: { required: !0, type: "enum", values: { video: {} } }, - urls: { required: !0, type: "array", value: "string" }, - coordinates: { - required: !0, - type: "array", - length: 4, - value: { type: "array", length: 2, value: "number" }, - }, - }, - source_image: { - type: { required: !0, type: "enum", values: { image: {} } }, - url: { required: !0, type: "string" }, - coordinates: { - required: !0, - type: "array", - length: 4, - value: { type: "array", length: 2, value: "number" }, - }, - }, - source_canvas: { - type: { required: !0, type: "enum", values: { canvas: {} } }, - coordinates: { - required: !0, - type: "array", - length: 4, - value: { type: "array", length: 2, value: "number" }, - }, - animate: { type: "boolean", default: "true" }, - canvas: { type: "string", required: !0 }, - }, - layer: { - id: { type: "string", required: !0 }, - type: { - type: "enum", - values: { - fill: {}, - line: {}, - symbol: {}, - circle: {}, - heatmap: {}, - "fill-extrusion": {}, - raster: {}, - hillshade: {}, - background: {}, - }, - required: !0, - }, - metadata: { type: "*" }, - source: { type: "string" }, - "source-layer": { type: "string" }, - minzoom: { type: "number", minimum: 0, maximum: 24 }, - maxzoom: { type: "number", minimum: 0, maximum: 24 }, - filter: { type: "filter" }, - layout: { type: "layout" }, - paint: { type: "paint" }, - }, - layout: [ - "layout_fill", - "layout_line", - "layout_circle", - "layout_heatmap", - "layout_fill-extrusion", - "layout_symbol", - "layout_raster", - "layout_hillshade", - "layout_background", - ], - layout_background: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_fill: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_circle: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_heatmap: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - "layout_fill-extrusion": { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_line: { - "line-cap": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { butt: {}, round: {}, square: {} }, - default: "butt", - }, - "line-join": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - values: { bevel: {}, round: {}, miter: {} }, - default: "miter", - }, - "line-miter-limit": { - type: "number", - default: 2, - function: "interpolated", - "zoom-function": !0, - requires: [{ "line-join": "miter" }], - }, - "line-round-limit": { - type: "number", - default: 1.05, - function: "interpolated", - "zoom-function": !0, - requires: [{ "line-join": "round" }], - }, - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_symbol: { - "symbol-placement": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { point: {}, line: {} }, - default: "point", - }, - "symbol-spacing": { - type: "number", - default: 250, - minimum: 1, - function: "interpolated", - "zoom-function": !0, - units: "pixels", - requires: [{ "symbol-placement": "line" }], - }, - "symbol-avoid-edges": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - }, - "icon-allow-overlap": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["icon-image"], - }, - "icon-ignore-placement": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["icon-image"], - }, - "icon-optional": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["icon-image", "text-field"], - }, - "icon-rotation-alignment": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {}, auto: {} }, - default: "auto", - requires: ["icon-image"], - }, - "icon-size": { - type: "number", - default: 1, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - units: "factor of the original icon size", - requires: ["icon-image"], - }, - "icon-text-fit": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { none: {}, width: {}, height: {}, both: {} }, - default: "none", - requires: ["icon-image", "text-field"], - }, - "icon-text-fit-padding": { - type: "array", - value: "number", - length: 4, - default: [0, 0, 0, 0], - units: "pixels", - function: "interpolated", - "zoom-function": !0, - requires: [ - "icon-image", - "text-field", - { "icon-text-fit": ["both", "width", "height"] }, - ], - }, - "icon-image": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - tokens: !0, - }, - "icon-rotate": { - type: "number", - default: 0, - period: 360, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - units: "degrees", - requires: ["icon-image"], - }, - "icon-padding": { - type: "number", - default: 2, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - units: "pixels", - requires: ["icon-image"], - }, - "icon-keep-upright": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: [ - "icon-image", - { "icon-rotation-alignment": "map" }, - { "symbol-placement": "line" }, - ], - }, - "icon-offset": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - requires: ["icon-image"], - }, - "icon-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - values: { - center: {}, - left: {}, - right: {}, - top: {}, - bottom: {}, - "top-left": {}, - "top-right": {}, - "bottom-left": {}, - "bottom-right": {}, - }, - default: "center", - requires: ["icon-image"], - }, - "icon-pitch-alignment": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {}, auto: {} }, - default: "auto", - requires: ["icon-image"], - }, - "text-pitch-alignment": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {}, auto: {} }, - default: "auto", - requires: ["text-field"], - }, - "text-rotation-alignment": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {}, auto: {} }, - default: "auto", - requires: ["text-field"], - }, - "text-field": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - default: "", - tokens: !0, - }, - "text-font": { - type: "array", - value: "string", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - default: ["Open Sans Regular", "Arial Unicode MS Regular"], - requires: ["text-field"], - }, - "text-size": { - type: "number", - default: 16, - minimum: 0, - units: "pixels", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - requires: ["text-field"], - }, - "text-max-width": { - type: "number", - default: 10, - minimum: 0, - units: "ems", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - requires: ["text-field"], - }, - "text-line-height": { - type: "number", - default: 1.2, - units: "ems", - function: "interpolated", - "zoom-function": !0, - requires: ["text-field"], - }, - "text-letter-spacing": { - type: "number", - default: 0, - units: "ems", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - requires: ["text-field"], - }, - "text-justify": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - values: { left: {}, center: {}, right: {} }, - default: "center", - requires: ["text-field"], - }, - "text-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - values: { - center: {}, - left: {}, - right: {}, - top: {}, - bottom: {}, - "top-left": {}, - "top-right": {}, - "bottom-left": {}, - "bottom-right": {}, - }, - default: "center", - requires: ["text-field"], - }, - "text-max-angle": { - type: "number", - default: 45, - units: "degrees", - function: "interpolated", - "zoom-function": !0, - requires: ["text-field", { "symbol-placement": "line" }], - }, - "text-rotate": { - type: "number", - default: 0, - period: 360, - units: "degrees", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - requires: ["text-field"], - }, - "text-padding": { - type: "number", - default: 2, - minimum: 0, - units: "pixels", - function: "interpolated", - "zoom-function": !0, - requires: ["text-field"], - }, - "text-keep-upright": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !0, - requires: [ - "text-field", - { "text-rotation-alignment": "map" }, - { "symbol-placement": "line" }, - ], - }, - "text-transform": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - "property-function": !0, - values: { none: {}, uppercase: {}, lowercase: {} }, - default: "none", - requires: ["text-field"], - }, - "text-offset": { - type: "array", - value: "number", - units: "ems", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - length: 2, - default: [0, 0], - requires: ["text-field"], - }, - "text-allow-overlap": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["text-field"], - }, - "text-ignore-placement": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["text-field"], - }, - "text-optional": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !1, - requires: ["text-field", "icon-image"], - }, - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_raster: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - layout_hillshade: { - visibility: { - type: "enum", - values: { visible: {}, none: {} }, - default: "visible", - }, - }, - filter: { type: "array", value: "*" }, - filter_operator: { - type: "enum", - values: { - "==": {}, - "!=": {}, - ">": {}, - ">=": {}, - "<": {}, - "<=": {}, - in: {}, - "!in": {}, - all: {}, - any: {}, - none: {}, - has: {}, - "!has": {}, - }, - }, - geometry_type: { - type: "enum", - values: { Point: {}, LineString: {}, Polygon: {} }, - }, - function: { - expression: { type: "expression" }, - stops: { type: "array", value: "function_stop" }, - base: { type: "number", default: 1, minimum: 0 }, - property: { type: "string", default: "$zoom" }, - type: { - type: "enum", - values: { - identity: {}, - exponential: {}, - interval: {}, - categorical: {}, - }, - default: "exponential", - }, - colorSpace: { - type: "enum", - values: { rgb: {}, lab: {}, hcl: {} }, - default: "rgb", - }, - default: { type: "*", required: !1 }, - }, - function_stop: { - type: "array", - minimum: 0, - maximum: 22, - value: ["number", "color"], - length: 2, - }, - expression: { type: "array", value: "*", minimum: 1 }, - expression_name: { - type: "enum", - values: { - let: { group: "Variable binding" }, - var: { group: "Variable binding" }, - literal: { group: "Types" }, - array: { group: "Types" }, - at: { group: "Lookup" }, - case: { group: "Decision" }, - match: { group: "Decision" }, - coalesce: { group: "Decision" }, - step: { group: "Ramps, scales, curves" }, - interpolate: { group: "Ramps, scales, curves" }, - ln2: { group: "Math" }, - pi: { group: "Math" }, - e: { group: "Math" }, - typeof: { group: "Types" }, - string: { group: "Types" }, - number: { group: "Types" }, - boolean: { group: "Types" }, - object: { group: "Types" }, - "to-string": { group: "Types" }, - "to-number": { group: "Types" }, - "to-boolean": { group: "Types" }, - "to-rgba": { group: "Color" }, - "to-color": { group: "Types" }, - rgb: { group: "Color" }, - rgba: { group: "Color" }, - get: { group: "Lookup" }, - has: { group: "Lookup" }, - length: { group: "Lookup" }, - properties: { group: "Feature data" }, - "geometry-type": { group: "Feature data" }, - id: { group: "Feature data" }, - zoom: { group: "Zoom" }, - "heatmap-density": { group: "Heatmap" }, - "+": { group: "Math" }, - "*": { group: "Math" }, - "-": { group: "Math" }, - "/": { group: "Math" }, - "%": { group: "Math" }, - "^": { group: "Math" }, - sqrt: { group: "Math" }, - log10: { group: "Math" }, - ln: { group: "Math" }, - log2: { group: "Math" }, - sin: { group: "Math" }, - cos: { group: "Math" }, - tan: { group: "Math" }, - asin: { group: "Math" }, - acos: { group: "Math" }, - atan: { group: "Math" }, - min: { group: "Math" }, - max: { group: "Math" }, - "==": { group: "Decision" }, - "!=": { group: "Decision" }, - ">": { group: "Decision" }, - "<": { group: "Decision" }, - ">=": { group: "Decision" }, - "<=": { group: "Decision" }, - all: { group: "Decision" }, - any: { group: "Decision" }, - "!": { group: "Decision" }, - upcase: { group: "String" }, - downcase: { group: "String" }, - concat: { group: "String" }, - }, - }, - light: { - anchor: { - type: "enum", - default: "viewport", - values: { map: {}, viewport: {} }, - transition: !1, - "zoom-function": !0, - "property-function": !1, - function: "piecewise-constant", - }, - position: { - type: "array", - default: [1.15, 210, 30], - length: 3, - value: "number", - transition: !0, - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - }, - color: { - type: "color", - default: "#ffffff", - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - transition: !0, - }, - intensity: { - type: "number", - default: 0.5, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - transition: !0, - }, - }, - paint: [ - "paint_fill", - "paint_line", - "paint_circle", - "paint_heatmap", - "paint_fill-extrusion", - "paint_symbol", - "paint_raster", - "paint_hillshade", - "paint_background", - ], - paint_fill: { - "fill-antialias": { - type: "boolean", - function: "piecewise-constant", - "zoom-function": !0, - default: !0, - }, - "fill-opacity": { - type: "number", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - default: 1, - minimum: 0, - maximum: 1, - transition: !0, - }, - "fill-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: [{ "!": "fill-pattern" }], - }, - "fill-outline-color": { - type: "color", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: [ - { "!": "fill-pattern" }, - { "fill-antialias": !0 }, - ], - }, - "fill-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - }, - "fill-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["fill-translate"], - }, - "fill-pattern": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - transition: !0, - }, - }, - "paint_fill-extrusion": { - "fill-extrusion-opacity": { - type: "number", - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - default: 1, - minimum: 0, - maximum: 1, - transition: !0, - }, - "fill-extrusion-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: [{ "!": "fill-extrusion-pattern" }], - }, - "fill-extrusion-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - }, - "fill-extrusion-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["fill-extrusion-translate"], - }, - "fill-extrusion-pattern": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - transition: !0, - }, - "fill-extrusion-height": { - type: "number", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - default: 0, - minimum: 0, - units: "meters", - transition: !0, - }, - "fill-extrusion-base": { - type: "number", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - default: 0, - minimum: 0, - units: "meters", - transition: !0, - requires: ["fill-extrusion-height"], - }, - }, - paint_line: { - "line-opacity": { - type: "number", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - default: 1, - minimum: 0, - maximum: 1, - transition: !0, - }, - "line-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: [{ "!": "line-pattern" }], - }, - "line-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - }, - "line-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["line-translate"], - }, - "line-width": { - type: "number", - default: 1, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "line-gap-width": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "line-offset": { - type: "number", - default: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "line-blur": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "line-dasharray": { - type: "array", - value: "number", - function: "piecewise-constant", - "zoom-function": !0, - minimum: 0, - transition: !0, - units: "line widths", - requires: [{ "!": "line-pattern" }], - }, - "line-pattern": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - transition: !0, - }, - }, - paint_circle: { - "circle-radius": { - type: "number", - default: 5, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "circle-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - }, - "circle-blur": { - type: "number", - default: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - }, - "circle-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - }, - "circle-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - }, - "circle-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["circle-translate"], - }, - "circle-pitch-scale": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - }, - "circle-pitch-alignment": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "viewport", - }, - "circle-stroke-width": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "circle-stroke-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - }, - "circle-stroke-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - }, - }, - paint_heatmap: { - "heatmap-radius": { - type: "number", - default: 30, - minimum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - }, - "heatmap-weight": { - type: "number", - default: 1, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !1, - }, - "heatmap-intensity": { - type: "number", - default: 1, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - transition: !0, - }, - "heatmap-color": { - type: "color", - default: [ - "interpolate", - ["linear"], - ["heatmap-density"], - 0, - "rgba(0, 0, 255, 0)", - 0.1, - "royalblue", - 0.3, - "cyan", - 0.5, - "lime", - 0.7, - "yellow", - 1, - "red", - ], - function: "interpolated", - "zoom-function": !1, - "property-function": !1, - transition: !1, - }, - "heatmap-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !1, - transition: !0, - }, - }, - paint_symbol: { - "icon-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["icon-image"], - }, - "icon-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["icon-image"], - }, - "icon-halo-color": { - type: "color", - default: "rgba(0, 0, 0, 0)", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["icon-image"], - }, - "icon-halo-width": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - requires: ["icon-image"], - }, - "icon-halo-blur": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - requires: ["icon-image"], - }, - "icon-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - requires: ["icon-image"], - }, - "icon-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["icon-image", "icon-translate"], - }, - "text-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["text-field"], - }, - "text-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["text-field"], - }, - "text-halo-color": { - type: "color", - default: "rgba(0, 0, 0, 0)", - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - requires: ["text-field"], - }, - "text-halo-width": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - requires: ["text-field"], - }, - "text-halo-blur": { - type: "number", - default: 0, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - "property-function": !0, - transition: !0, - units: "pixels", - requires: ["text-field"], - }, - "text-translate": { - type: "array", - value: "number", - length: 2, - default: [0, 0], - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "pixels", - requires: ["text-field"], - }, - "text-translate-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "map", - requires: ["text-field", "text-translate"], - }, - }, - paint_raster: { - "raster-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "raster-hue-rotate": { - type: "number", - default: 0, - period: 360, - function: "interpolated", - "zoom-function": !0, - transition: !0, - units: "degrees", - }, - "raster-brightness-min": { - type: "number", - function: "interpolated", - "zoom-function": !0, - default: 0, - minimum: 0, - maximum: 1, - transition: !0, - }, - "raster-brightness-max": { - type: "number", - function: "interpolated", - "zoom-function": !0, - default: 1, - minimum: 0, - maximum: 1, - transition: !0, - }, - "raster-saturation": { - type: "number", - default: 0, - minimum: -1, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "raster-contrast": { - type: "number", - default: 0, - minimum: -1, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "raster-fade-duration": { - type: "number", - default: 300, - minimum: 0, - function: "interpolated", - "zoom-function": !0, - transition: !1, - units: "milliseconds", - }, - }, - paint_hillshade: { - "hillshade-illumination-direction": { - type: "number", - default: 335, - minimum: 0, - maximum: 359, - function: "interpolated", - "zoom-function": !0, - transition: !1, - }, - "hillshade-illumination-anchor": { - type: "enum", - function: "piecewise-constant", - "zoom-function": !0, - values: { map: {}, viewport: {} }, - default: "viewport", - }, - "hillshade-exaggeration": { - type: "number", - default: 0.5, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "hillshade-shadow-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "hillshade-highlight-color": { - type: "color", - default: "#FFFFFF", - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - "hillshade-accent-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - }, - paint_background: { - "background-color": { - type: "color", - default: "#000000", - function: "interpolated", - "zoom-function": !0, - transition: !0, - requires: [{ "!": "background-pattern" }], - }, - "background-pattern": { - type: "string", - function: "piecewise-constant", - "zoom-function": !0, - transition: !0, - }, - "background-opacity": { - type: "number", - default: 1, - minimum: 0, - maximum: 1, - function: "interpolated", - "zoom-function": !0, - transition: !0, - }, - }, - transition: { - duration: { - type: "number", - default: 300, - minimum: 0, - units: "milliseconds", - }, - delay: { - type: "number", - default: 0, - minimum: 0, - units: "milliseconds", - }, - }, - }; - }, - {}, - ], - 153: [ - function (t, e, r) { - var n = t("csscolorparser").parseCSSColor, - i = function (t, e, r, n) { - (void 0 === n && (n = 1), - (this.r = t), - (this.g = e), - (this.b = r), - (this.a = n)); - }; - ((i.parse = function (t) { - if (t) { - if (t instanceof i) return t; - if ("string" == typeof t) { - var e = n(t); - if (e) - return new i( - (e[0] / 255) * e[3], - (e[1] / 255) * e[3], - (e[2] / 255) * e[3], - e[3], - ); - } - } - }), - (i.prototype.toString = function () { - var t = this; - return ( - "rgba(" + - [this.r, this.g, this.b] - .map(function (e) { - return Math.round((255 * e) / t.a); - }) - .concat(this.a) - .join(",") + - ")" - ); - }), - (i.black = new i(0, 0, 0, 1)), - (i.white = new i(1, 1, 1, 1)), - (i.transparent = new i(0, 0, 0, 0)), - (e.exports = i)); - }, - { csscolorparser: 13 }, - ], - 154: [ - function (t, e, r) { - function n(t) { - return t > v ? Math.pow(t, 1 / 3) : t / m + d; - } - function i(t) { - return t > g ? t * t * t : m * (t - d); - } - function a(t) { - return ( - 255 * - (t <= 0.0031308 - ? 12.92 * t - : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) - ); - } - function o(t) { - return (t /= 255) <= 0.04045 - ? t / 12.92 - : Math.pow((t + 0.055) / 1.055, 2.4); - } - function s(t) { - var e = o(t.r), - r = o(t.g), - i = o(t.b), - a = n((0.4124564 * e + 0.3575761 * r + 0.1804375 * i) / f), - s = n((0.2126729 * e + 0.7151522 * r + 0.072175 * i) / h); - return { - l: 116 * s - 16, - a: 500 * (a - s), - b: - 200 * - (s - n((0.0193339 * e + 0.119192 * r + 0.9503041 * i) / p)), - alpha: t.a, - }; - } - function l(t) { - var e = (t.l + 16) / 116, - r = isNaN(t.a) ? e : e + t.a / 500, - n = isNaN(t.b) ? e : e - t.b / 200; - return ( - (e = h * i(e)), - (r = f * i(r)), - (n = p * i(n)), - new c( - a(3.2404542 * r - 1.5371385 * e - 0.4985314 * n), - a(-0.969266 * r + 1.8760108 * e + 0.041556 * n), - a(0.0556434 * r - 0.2040259 * e + 1.0572252 * n), - t.alpha, - ) - ); - } - var c = t("./color"), - u = t("./interpolate").number, - f = 0.95047, - h = 1, - p = 1.08883, - d = 4 / 29, - g = 6 / 29, - m = 3 * g * g, - v = g * g * g, - y = Math.PI / 180, - x = 180 / Math.PI; - e.exports = { - lab: { - forward: s, - reverse: l, - interpolate: function (t, e, r) { - return { - l: u(t.l, e.l, r), - a: u(t.a, e.a, r), - b: u(t.b, e.b, r), - alpha: u(t.alpha, e.alpha, r), - }; - }, - }, - hcl: { - forward: function (t) { - var e = s(t), - r = e.l, - n = e.a, - i = e.b, - a = Math.atan2(i, n) * x; - return { - h: a < 0 ? a + 360 : a, - c: Math.sqrt(n * n + i * i), - l: r, - alpha: t.a, - }; - }, - reverse: function (t) { - var e = t.h * y, - r = t.c; - return l({ - l: t.l, - a: Math.cos(e) * r, - b: Math.sin(e) * r, - alpha: t.alpha, - }); - }, - interpolate: function (t, e, r) { - return { - h: (function (t, e, r) { - var n = e - t; - return ( - t + - r * - (n > 180 || n < -180 - ? n - 360 * Math.round(n / 360) - : n) - ); - })(t.h, e.h, r), - c: u(t.c, e.c, r), - l: u(t.l, e.l, r), - alpha: u(t.alpha, e.alpha, r), - }; - }, - }, - }; - }, - { "./color": 153, "./interpolate": 158 }, - ], - 155: [ - function (t, e, r) { - e.exports = function t(e, r) { - if (Array.isArray(e)) { - if (!Array.isArray(r) || e.length !== r.length) return !1; - for (var n = 0; n < e.length; n++) - if (!t(e[n], r[n])) return !1; - return !0; - } - if ("object" == typeof e && null !== e && null !== r) { - if ("object" != typeof r) return !1; - if (Object.keys(e).length !== Object.keys(r).length) - return !1; - for (var i in e) if (!t(e[i], r[i])) return !1; - return !0; - } - return e === r; - }; - }, - {}, - ], - 156: [ - function (t, e, r) { - e.exports = function (t) { - for ( - var e = arguments, r = [], n = arguments.length - 1; - n-- > 0; - - ) - r[n] = e[n + 1]; - for (var i = 0, a = r; i < a.length; i += 1) { - var o = a[i]; - for (var s in o) t[s] = o[s]; - } - return t; - }; - }, - {}, - ], - 157: [ - function (t, e, r) { - e.exports = function (t) { - return t instanceof Number - ? "number" - : t instanceof String - ? "string" - : t instanceof Boolean - ? "boolean" - : Array.isArray(t) - ? "array" - : null === t - ? "null" - : typeof t; - }; - }, - {}, - ], - 158: [ - function (t, e, r) { - function n(t, e, r) { - return t * (1 - r) + e * r; - } - var i = t("./color"); - e.exports = { - number: n, - color: function (t, e, r) { - return new i( - n(t.r, e.r, r), - n(t.g, e.g, r), - n(t.b, e.b, r), - n(t.a, e.a, r), - ); - }, - array: function (t, e, r) { - return t.map(function (t, i) { - return n(t, e[i], r); - }); - }, - }; - }, - { "./color": 153 }, - ], - 159: [ - function (t, e, r) { - e.exports = [ - "type", - "source", - "source-layer", - "minzoom", - "maxzoom", - "filter", - "layout", - ]; - }, - {}, - ], - 160: [ - function (t, e, r) { - e.exports = { - success: function (t) { - return { result: "success", value: t }; - }, - error: function (t) { - return { result: "error", value: t }; - }, - }; - }, - {}, - ], - 161: [ - function (t, e, r) { - function n(t) { - return t instanceof Number || - t instanceof String || - t instanceof Boolean - ? t.valueOf() - : t; - } - ((e.exports = n), - (e.exports.deep = function t(e) { - return Array.isArray(e) ? e.map(t) : n(e); - })); - }, - {}, - ], - 162: [ - function (t, e, r) { - var n = t("../util/extend"), - i = t("../util/unbundle_jsonlint"), - a = t("../expression").isExpression, - o = t("../function").isFunction; - e.exports = function (e) { - var r = t("./validate_function"), - s = t("./validate_expression"), - l = t("./validate_object"), - c = { - "*": function () { - return []; - }, - array: t("./validate_array"), - boolean: t("./validate_boolean"), - number: t("./validate_number"), - color: t("./validate_color"), - constants: t("./validate_constants"), - enum: t("./validate_enum"), - filter: t("./validate_filter"), - function: t("./validate_function"), - layer: t("./validate_layer"), - object: t("./validate_object"), - source: t("./validate_source"), - light: t("./validate_light"), - string: t("./validate_string"), - }, - u = e.value, - f = e.valueSpec, - h = e.styleSpec; - return f.function && o(i(u)) - ? r(e) - : f.function && a(i.deep(u)) - ? s(e) - : f.type && c[f.type] - ? c[f.type](e) - : l(n({}, e, { valueSpec: f.type ? h[f.type] : f })); - }; - }, - { - "../expression": 139, - "../function": 149, - "../util/extend": 156, - "../util/unbundle_jsonlint": 161, - "./validate_array": 163, - "./validate_boolean": 164, - "./validate_color": 165, - "./validate_constants": 166, - "./validate_enum": 167, - "./validate_expression": 168, - "./validate_filter": 169, - "./validate_function": 170, - "./validate_layer": 172, - "./validate_light": 174, - "./validate_number": 175, - "./validate_object": 176, - "./validate_source": 179, - "./validate_string": 180, - }, - ], - 163: [ - function (t, e, r) { - var n = t("../util/get_type"), - i = t("./validate"), - a = t("../error/validation_error"); - e.exports = function (t) { - var e = t.value, - r = t.valueSpec, - o = t.style, - s = t.styleSpec, - l = t.key, - c = t.arrayElementValidator || i; - if ("array" !== n(e)) - return [new a(l, e, "array expected, " + n(e) + " found")]; - if (r.length && e.length !== r.length) - return [ - new a( - l, - e, - "array length " + - r.length + - " expected, length " + - e.length + - " found", - ), - ]; - if (r["min-length"] && e.length < r["min-length"]) - return [ - new a( - l, - e, - "array length at least " + - r["min-length"] + - " expected, length " + - e.length + - " found", - ), - ]; - var u = { type: r.value }; - (s.$version < 7 && (u.function = r.function), - "object" === n(r.value) && (u = r.value)); - for (var f = [], h = 0; h < e.length; h++) - f = f.concat( - c({ - array: e, - arrayIndex: h, - value: e[h], - valueSpec: u, - style: o, - styleSpec: s, - key: l + "[" + h + "]", - }), - ); - return f; - }; - }, - { - "../error/validation_error": 122, - "../util/get_type": 157, - "./validate": 162, - }, - ], - 164: [ - function (t, e, r) { - var n = t("../util/get_type"), - i = t("../error/validation_error"); - e.exports = function (t) { - var e = t.value, - r = t.key, - a = n(e); - return "boolean" !== a - ? [new i(r, e, "boolean expected, " + a + " found")] - : []; - }; - }, - { "../error/validation_error": 122, "../util/get_type": 157 }, - ], - 165: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/get_type"), - a = t("csscolorparser").parseCSSColor; - e.exports = function (t) { - var e = t.key, - r = t.value, - o = i(r); - return "string" !== o - ? [new n(e, r, "color expected, " + o + " found")] - : null === a(r) - ? [new n(e, r, 'color expected, "' + r + '" found')] - : []; - }; - }, - { - "../error/validation_error": 122, - "../util/get_type": 157, - csscolorparser: 13, - }, - ], - 166: [ - function (t, e, r) { - var n = t("../error/validation_error"); - e.exports = function (t) { - var e = t.key, - r = t.value; - return r - ? [new n(e, r, "constants have been deprecated as of v8")] - : []; - }; - }, - { "../error/validation_error": 122 }, - ], - 167: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/unbundle_jsonlint"); - e.exports = function (t) { - var e = t.key, - r = t.value, - a = t.valueSpec, - o = []; - return ( - Array.isArray(a.values) - ? -1 === a.values.indexOf(i(r)) && - o.push( - new n( - e, - r, - "expected one of [" + - a.values.join(", ") + - "], " + - JSON.stringify(r) + - " found", - ), - ) - : -1 === Object.keys(a.values).indexOf(i(r)) && - o.push( - new n( - e, - r, - "expected one of [" + - Object.keys(a.values).join(", ") + - "], " + - JSON.stringify(r) + - " found", - ), - ), - o - ); - }; - }, - { - "../error/validation_error": 122, - "../util/unbundle_jsonlint": 161, - }, - ], - 168: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../expression"), - a = i.createExpression, - o = i.createPropertyExpression, - s = t("../util/unbundle_jsonlint"); - e.exports = function (t) { - var e = ("property" === t.expressionContext ? o : a)( - s.deep(t.value), - t.valueSpec, - ); - return "error" === e.result - ? e.value.map(function (e) { - return new n("" + t.key + e.key, t.value, e.message); - }) - : "property" === t.expressionContext && - "text-font" === t.propertyKey && - -1 !== - e.value._styleExpression.expression - .possibleOutputs() - .indexOf(void 0) - ? [ - new n( - t.key, - t.value, - 'Invalid data expression for "text-font". Output values must be contained as literals within the expression.', - ), - ] - : []; - }; - }, - { - "../error/validation_error": 122, - "../expression": 139, - "../util/unbundle_jsonlint": 161, - }, - ], - 169: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("./validate_expression"), - a = t("./validate_enum"), - o = t("../util/get_type"), - s = t("../util/unbundle_jsonlint"), - l = t("../util/extend"), - c = t("../feature_filter").isExpressionFilter; - e.exports = function (t) { - return c(s.deep(t.value)) - ? i( - l({}, t, { - expressionContext: "filter", - valueSpec: { value: "boolean" }, - }), - ) - : (function t(e) { - var r = e.value, - i = e.key; - if ("array" !== o(r)) - return [ - new n(i, r, "array expected, " + o(r) + " found"), - ]; - var l, - c = e.styleSpec, - u = []; - if (r.length < 1) - return [ - new n( - i, - r, - "filter array must have at least 1 element", - ), - ]; - switch ( - ((u = u.concat( - a({ - key: i + "[0]", - value: r[0], - valueSpec: c.filter_operator, - style: e.style, - styleSpec: e.styleSpec, - }), - )), - s(r[0])) - ) { - case "<": - case "<=": - case ">": - case ">=": - r.length >= 2 && - "$type" === s(r[1]) && - u.push( - new n( - i, - r, - '"$type" cannot be use with operator "' + - r[0] + - '"', - ), - ); - case "==": - case "!=": - 3 !== r.length && - u.push( - new n( - i, - r, - 'filter array for operator "' + - r[0] + - '" must have 3 elements', - ), - ); - case "in": - case "!in": - r.length >= 2 && - "string" !== (l = o(r[1])) && - u.push( - new n( - i + "[1]", - r[1], - "string expected, " + l + " found", - ), - ); - for (var f = 2; f < r.length; f++) - ((l = o(r[f])), - "$type" === s(r[1]) - ? (u = u.concat( - a({ - key: i + "[" + f + "]", - value: r[f], - valueSpec: c.geometry_type, - style: e.style, - styleSpec: e.styleSpec, - }), - )) - : "string" !== l && - "number" !== l && - "boolean" !== l && - u.push( - new n( - i + "[" + f + "]", - r[f], - "string, number, or boolean expected, " + - l + - " found", - ), - )); - break; - case "any": - case "all": - case "none": - for (var h = 1; h < r.length; h++) - u = u.concat( - t({ - key: i + "[" + h + "]", - value: r[h], - style: e.style, - styleSpec: e.styleSpec, - }), - ); - break; - case "has": - case "!has": - ((l = o(r[1])), - 2 !== r.length - ? u.push( - new n( - i, - r, - 'filter array for "' + - r[0] + - '" operator must have 2 elements', - ), - ) - : "string" !== l && - u.push( - new n( - i + "[1]", - r[1], - "string expected, " + l + " found", - ), - )); - } - return u; - })(t); - }; - }, - { - "../error/validation_error": 122, - "../feature_filter": 148, - "../util/extend": 156, - "../util/get_type": 157, - "../util/unbundle_jsonlint": 161, - "./validate_enum": 167, - "./validate_expression": 168, - }, - ], - 170: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/get_type"), - a = t("./validate"), - o = t("./validate_object"), - s = t("./validate_array"), - l = t("./validate_number"), - c = t("../util/unbundle_jsonlint"); - e.exports = function (t) { - function e(t) { - var e = [], - s = t.value, - u = t.key; - if ("array" !== i(s)) - return [new n(u, s, "array expected, " + i(s) + " found")]; - if (2 !== s.length) - return [ - new n( - u, - s, - "array length 2 expected, length " + - s.length + - " found", - ), - ]; - if (y) { - if ("object" !== i(s[0])) - return [ - new n(u, s, "object expected, " + i(s[0]) + " found"), - ]; - if (void 0 === s[0].zoom) - return [new n(u, s, "object stop key must have zoom")]; - if (void 0 === s[0].value) - return [new n(u, s, "object stop key must have value")]; - if (h && h > c(s[0].zoom)) - return [ - new n( - u, - s[0].zoom, - "stop zoom values must appear in ascending order", - ), - ]; - (c(s[0].zoom) !== h && - ((h = c(s[0].zoom)), (f = void 0), (g = {})), - (e = e.concat( - o({ - key: u + "[0]", - value: s[0], - valueSpec: { zoom: {} }, - style: t.style, - styleSpec: t.styleSpec, - objectElementValidators: { zoom: l, value: r }, - }), - ))); - } else - e = e.concat( - r( - { - key: u + "[0]", - value: s[0], - valueSpec: {}, - style: t.style, - styleSpec: t.styleSpec, - }, - s, - ), - ); - return e.concat( - a({ - key: u + "[1]", - value: s[1], - valueSpec: p, - style: t.style, - styleSpec: t.styleSpec, - }), - ); - } - function r(t, e) { - var r = i(t.value), - a = c(t.value), - o = null !== t.value ? t.value : e; - if (u) { - if (r !== u) - return [ - new n( - t.key, - o, - r + - " stop domain type must match previous stop domain type " + - u, - ), - ]; - } else u = r; - if ("number" !== r && "string" !== r && "boolean" !== r) - return [ - new n( - t.key, - o, - "stop domain value must be a number, string, or boolean", - ), - ]; - if ("number" !== r && "categorical" !== d) { - var s = "number expected, " + r + " found"; - return ( - p["property-function"] && - void 0 === d && - (s += - '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), - [new n(t.key, o, s)] - ); - } - return "categorical" !== d || - "number" !== r || - (isFinite(a) && Math.floor(a) === a) - ? "categorical" !== d && - "number" === r && - void 0 !== f && - a < f - ? [ - new n( - t.key, - o, - "stop domain values must appear in ascending order", - ), - ] - : ((f = a), - "categorical" === d && a in g - ? [ - new n( - t.key, - o, - "stop domain values must be unique", - ), - ] - : ((g[a] = !0), [])) - : [new n(t.key, o, "integer expected, found " + a)]; - } - var u, - f, - h, - p = t.valueSpec, - d = c(t.value.type), - g = {}, - m = "categorical" !== d && void 0 === t.value.property, - v = !m, - y = - "array" === i(t.value.stops) && - "array" === i(t.value.stops[0]) && - "object" === i(t.value.stops[0][0]), - x = o({ - key: t.key, - value: t.value, - valueSpec: t.styleSpec.function, - style: t.style, - styleSpec: t.styleSpec, - objectElementValidators: { - stops: function (t) { - if ("identity" === d) - return [ - new n( - t.key, - t.value, - 'identity function may not have a "stops" property', - ), - ]; - var r = [], - a = t.value; - return ( - (r = r.concat( - s({ - key: t.key, - value: a, - valueSpec: t.valueSpec, - style: t.style, - styleSpec: t.styleSpec, - arrayElementValidator: e, - }), - )), - "array" === i(a) && - 0 === a.length && - r.push( - new n( - t.key, - a, - "array must have at least one stop", - ), - ), - r - ); - }, - default: function (t) { - return a({ - key: t.key, - value: t.value, - valueSpec: p, - style: t.style, - styleSpec: t.styleSpec, - }); - }, - }, - }); - return ( - "identity" === d && - m && - x.push( - new n( - t.key, - t.value, - 'missing required property "property"', - ), - ), - "identity" === d || - t.value.stops || - x.push( - new n( - t.key, - t.value, - 'missing required property "stops"', - ), - ), - "exponential" === d && - "piecewise-constant" === t.valueSpec.function && - x.push( - new n( - t.key, - t.value, - "exponential functions not supported", - ), - ), - t.styleSpec.$version >= 8 && - (v && !t.valueSpec["property-function"] - ? x.push( - new n( - t.key, - t.value, - "property functions not supported", - ), - ) - : m && - !t.valueSpec["zoom-function"] && - "heatmap-color" !== t.objectKey && - x.push( - new n(t.key, t.value, "zoom functions not supported"), - )), - ("categorical" !== d && !y) || - void 0 !== t.value.property || - x.push( - new n(t.key, t.value, '"property" property is required'), - ), - x - ); - }; - }, - { - "../error/validation_error": 122, - "../util/get_type": 157, - "../util/unbundle_jsonlint": 161, - "./validate": 162, - "./validate_array": 163, - "./validate_number": 175, - "./validate_object": 176, - }, - ], - 171: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("./validate_string"); - e.exports = function (t) { - var e = t.value, - r = t.key, - a = i(t); - return a.length - ? a - : (-1 === e.indexOf("{fontstack}") && - a.push( - new n( - r, - e, - '"glyphs" url must include a "{fontstack}" token', - ), - ), - -1 === e.indexOf("{range}") && - a.push( - new n( - r, - e, - '"glyphs" url must include a "{range}" token', - ), - ), - a); - }; - }, - { "../error/validation_error": 122, "./validate_string": 180 }, - ], - 172: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/unbundle_jsonlint"), - a = t("./validate_object"), - o = t("./validate_filter"), - s = t("./validate_paint_property"), - l = t("./validate_layout_property"), - c = t("./validate"), - u = t("../util/extend"); - e.exports = function (t) { - var e = [], - r = t.value, - f = t.key, - h = t.style, - p = t.styleSpec; - r.type || - r.ref || - e.push(new n(f, r, 'either "type" or "ref" is required')); - var d, - g = i(r.type), - m = i(r.ref); - if (r.id) - for (var v = i(r.id), y = 0; y < t.arrayIndex; y++) { - var x = h.layers[y]; - i(x.id) === v && - e.push( - new n( - f, - r.id, - 'duplicate layer id "' + - r.id + - '", previously used at line ' + - x.id.__line__, - ), - ); - } - if ("ref" in r) - ([ - "type", - "source", - "source-layer", - "filter", - "layout", - ].forEach(function (t) { - t in r && - e.push( - new n( - f, - r[t], - '"' + t + '" is prohibited for ref layers', - ), - ); - }), - h.layers.forEach(function (t) { - i(t.id) === m && (d = t); - }), - d - ? d.ref - ? e.push( - new n( - f, - r.ref, - "ref cannot reference another ref layer", - ), - ) - : (g = i(d.type)) - : e.push( - new n(f, r.ref, 'ref layer "' + m + '" not found'), - )); - else if ("background" !== g) - if (r.source) { - var b = h.sources && h.sources[r.source], - _ = b && i(b.type); - b - ? "vector" === _ && "raster" === g - ? e.push( - new n( - f, - r.source, - 'layer "' + r.id + '" requires a raster source', - ), - ) - : "raster" === _ && "raster" !== g - ? e.push( - new n( - f, - r.source, - 'layer "' + r.id + '" requires a vector source', - ), - ) - : "vector" !== _ || r["source-layer"] - ? "raster-dem" === _ && - "hillshade" !== g && - e.push( - new n( - f, - r.source, - "raster-dem source can only be used with layer type 'hillshade'.", - ), - ) - : e.push( - new n( - f, - r, - 'layer "' + - r.id + - '" must specify a "source-layer"', - ), - ) - : e.push( - new n( - f, - r.source, - 'source "' + r.source + '" not found', - ), - ); - } else - e.push(new n(f, r, 'missing required property "source"')); - return (e = e.concat( - a({ - key: f, - value: r, - valueSpec: p.layer, - style: t.style, - styleSpec: t.styleSpec, - objectElementValidators: { - "*": function () { - return []; - }, - type: function () { - return c({ - key: f + ".type", - value: r.type, - valueSpec: p.layer.type, - style: t.style, - styleSpec: t.styleSpec, - object: r, - objectKey: "type", - }); - }, - filter: o, - layout: function (t) { - return a({ - layer: r, - key: t.key, - value: t.value, - style: t.style, - styleSpec: t.styleSpec, - objectElementValidators: { - "*": function (t) { - return l(u({ layerType: g }, t)); - }, - }, - }); - }, - paint: function (t) { - return a({ - layer: r, - key: t.key, - value: t.value, - style: t.style, - styleSpec: t.styleSpec, - objectElementValidators: { - "*": function (t) { - return s(u({ layerType: g }, t)); - }, - }, - }); - }, - }, - }), - )); - }; - }, - { - "../error/validation_error": 122, - "../util/extend": 156, - "../util/unbundle_jsonlint": 161, - "./validate": 162, - "./validate_filter": 169, - "./validate_layout_property": 173, - "./validate_object": 176, - "./validate_paint_property": 177, - }, - ], - 173: [ - function (t, e, r) { - var n = t("./validate_property"); - e.exports = function (t) { - return n(t, "layout"); - }; - }, - { "./validate_property": 178 }, - ], - 174: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/get_type"), - a = t("./validate"); - e.exports = function (t) { - var e = t.value, - r = t.styleSpec, - o = r.light, - s = t.style, - l = [], - c = i(e); - if (void 0 === e) return l; - if ("object" !== c) - return l.concat([ - new n("light", e, "object expected, " + c + " found"), - ]); - for (var u in e) { - var f = u.match(/^(.*)-transition$/); - l = - f && o[f[1]] && o[f[1]].transition - ? l.concat( - a({ - key: u, - value: e[u], - valueSpec: r.transition, - style: s, - styleSpec: r, - }), - ) - : o[u] - ? l.concat( - a({ - key: u, - value: e[u], - valueSpec: o[u], - style: s, - styleSpec: r, - }), - ) - : l.concat([ - new n(u, e[u], 'unknown property "' + u + '"'), - ]); - } - return l; - }; - }, - { - "../error/validation_error": 122, - "../util/get_type": 157, - "./validate": 162, - }, - ], - 175: [ - function (t, e, r) { - var n = t("../util/get_type"), - i = t("../error/validation_error"); - e.exports = function (t) { - var e = t.key, - r = t.value, - a = t.valueSpec, - o = n(r); - return "number" !== o - ? [new i(e, r, "number expected, " + o + " found")] - : "minimum" in a && r < a.minimum - ? [ - new i( - e, - r, - r + " is less than the minimum value " + a.minimum, - ), - ] - : "maximum" in a && r > a.maximum - ? [ - new i( - e, - r, - r + - " is greater than the maximum value " + - a.maximum, - ), - ] - : []; - }; - }, - { "../error/validation_error": 122, "../util/get_type": 157 }, - ], - 176: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/get_type"), - a = t("./validate"); - e.exports = function (t) { - var e = t.key, - r = t.value, - o = t.valueSpec || {}, - s = t.objectElementValidators || {}, - l = t.style, - c = t.styleSpec, - u = [], - f = i(r); - if ("object" !== f) - return [new n(e, r, "object expected, " + f + " found")]; - for (var h in r) { - var p = h.split(".")[0], - d = o[p] || o["*"], - g = void 0; - if (s[p]) g = s[p]; - else if (o[p]) g = a; - else if (s["*"]) g = s["*"]; - else { - if (!o["*"]) { - u.push(new n(e, r[h], 'unknown property "' + h + '"')); - continue; - } - g = a; - } - u = u.concat( - g( - { - key: (e ? e + "." : e) + h, - value: r[h], - valueSpec: d, - style: l, - styleSpec: c, - object: r, - objectKey: h, - }, - r, - ), - ); - } - for (var m in o) - s[m] || - (o[m].required && - void 0 === o[m].default && - void 0 === r[m] && - u.push( - new n(e, r, 'missing required property "' + m + '"'), - )); - return u; - }; - }, - { - "../error/validation_error": 122, - "../util/get_type": 157, - "./validate": 162, - }, - ], - 177: [ - function (t, e, r) { - var n = t("./validate_property"); - e.exports = function (t) { - return n(t, "paint"); - }; - }, - { "./validate_property": 178 }, - ], - 178: [ - function (t, e, r) { - var n = t("./validate"), - i = t("../error/validation_error"), - a = t("../util/get_type"), - o = t("../function").isFunction, - s = t("../util/unbundle_jsonlint"); - e.exports = function (t, e) { - var r = t.key, - l = t.style, - c = t.styleSpec, - u = t.value, - f = t.objectKey, - h = c[e + "_" + t.layerType]; - if (!h) return []; - var p = f.match(/^(.*)-transition$/); - if ("paint" === e && p && h[p[1]] && h[p[1]].transition) - return n({ - key: r, - value: u, - valueSpec: c.transition, - style: l, - styleSpec: c, - }); - var d, - g = t.valueSpec || h[f]; - if (!g) return [new i(r, u, 'unknown property "' + f + '"')]; - if ( - "string" === a(u) && - g["property-function"] && - !g.tokens && - (d = /^{([^}]+)}$/.exec(u)) - ) - return [ - new i( - r, - u, - '"' + - f + - '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + - JSON.stringify(d[1]) + - " }`.", - ), - ]; - var m = []; - return ( - "symbol" === t.layerType && - ("text-field" === f && - l && - !l.glyphs && - m.push( - new i( - r, - u, - 'use of "text-field" requires a style "glyphs" property', - ), - ), - "text-font" === f && - o(s.deep(u)) && - "identity" === s(u.type) && - m.push( - new i( - r, - u, - '"text-font" does not support identity functions', - ), - )), - m.concat( - n({ - key: t.key, - value: u, - valueSpec: g, - style: l, - styleSpec: c, - expressionContext: "property", - propertyKey: f, - }), - ) - ); - }; - }, - { - "../error/validation_error": 122, - "../function": 149, - "../util/get_type": 157, - "../util/unbundle_jsonlint": 161, - "./validate": 162, - }, - ], - 179: [ - function (t, e, r) { - var n = t("../error/validation_error"), - i = t("../util/unbundle_jsonlint"), - a = t("./validate_object"), - o = t("./validate_enum"); - e.exports = function (t) { - var e = t.value, - r = t.key, - s = t.styleSpec, - l = t.style; - if (!e.type) return [new n(r, e, '"type" is required')]; - var c = i(e.type), - u = []; - switch (c) { - case "vector": - case "raster": - case "raster-dem": - if ( - ((u = u.concat( - a({ - key: r, - value: e, - valueSpec: s["source_" + c.replace("-", "_")], - style: t.style, - styleSpec: s, - }), - )), - "url" in e) - ) - for (var f in e) - ["type", "url", "tileSize"].indexOf(f) < 0 && - u.push( - new n( - r + "." + f, - e[f], - 'a source with a "url" property may not include a "' + - f + - '" property', - ), - ); - return u; - case "geojson": - return a({ - key: r, - value: e, - valueSpec: s.source_geojson, - style: l, - styleSpec: s, - }); - case "video": - return a({ - key: r, - value: e, - valueSpec: s.source_video, - style: l, - styleSpec: s, - }); - case "image": - return a({ - key: r, - value: e, - valueSpec: s.source_image, - style: l, - styleSpec: s, - }); - case "canvas": - return a({ - key: r, - value: e, - valueSpec: s.source_canvas, - style: l, - styleSpec: s, - }); - default: - return o({ - key: r + ".type", - value: e.type, - valueSpec: { - values: [ - "vector", - "raster", - "raster-dem", - "geojson", - "video", - "image", - "canvas", - ], - }, - style: l, - styleSpec: s, - }); - } - }; - }, - { - "../error/validation_error": 122, - "../util/unbundle_jsonlint": 161, - "./validate_enum": 167, - "./validate_object": 176, - }, - ], - 180: [ - function (t, e, r) { - var n = t("../util/get_type"), - i = t("../error/validation_error"); - e.exports = function (t) { - var e = t.value, - r = t.key, - a = n(e); - return "string" !== a - ? [new i(r, e, "string expected, " + a + " found")] - : []; - }; - }, - { "../error/validation_error": 122, "../util/get_type": 157 }, - ], - 181: [ - function (t, e, r) { - function n(t, e) { - e = e || l; - var r = []; - return ( - (r = r.concat( - s({ - key: "", - value: t, - valueSpec: e.$root, - styleSpec: e, - style: t, - objectElementValidators: { - glyphs: c, - "*": function () { - return []; - }, - }, - }), - )), - t.constants && - (r = r.concat( - o({ - key: "constants", - value: t.constants, - style: t, - styleSpec: e, - }), - )), - i(r) - ); - } - function i(t) { - return [].concat(t).sort(function (t, e) { - return t.line - e.line; - }); - } - function a(t) { - return function () { - return i(t.apply(this, arguments)); - }; - } - var o = t("./validate/validate_constants"), - s = t("./validate/validate"), - l = t("./reference/latest"), - c = t("./validate/validate_glyphs_url"); - ((n.source = a(t("./validate/validate_source"))), - (n.light = a(t("./validate/validate_light"))), - (n.layer = a(t("./validate/validate_layer"))), - (n.filter = a(t("./validate/validate_filter"))), - (n.paintProperty = a(t("./validate/validate_paint_property"))), - (n.layoutProperty = a( - t("./validate/validate_layout_property"), - )), - (e.exports = n)); - }, - { - "./reference/latest": 151, - "./validate/validate": 162, - "./validate/validate_constants": 166, - "./validate/validate_filter": 169, - "./validate/validate_glyphs_url": 171, - "./validate/validate_layer": 172, - "./validate/validate_layout_property": 173, - "./validate/validate_light": 174, - "./validate/validate_paint_property": 177, - "./validate/validate_source": 179, - }, - ], - 182: [ - function (t, e, r) { - var n = t("./zoom_history"), - i = function (t, e) { - ((this.zoom = t), - e - ? ((this.now = e.now), - (this.fadeDuration = e.fadeDuration), - (this.zoomHistory = e.zoomHistory), - (this.transition = e.transition)) - : ((this.now = 0), - (this.fadeDuration = 0), - (this.zoomHistory = new n()), - (this.transition = {}))); - }; - ((i.prototype.crossFadingFactor = function () { - return 0 === this.fadeDuration - ? 1 - : Math.min( - (this.now - this.zoomHistory.lastIntegerZoomTime) / - this.fadeDuration, - 1, - ); - }), - (e.exports = i)); - }, - { "./zoom_history": 212 }, - ], - 183: [ - function (t, e, r) { - var n = t("../style-spec/reference/latest"), - i = t("../util/util"), - a = t("../util/evented"), - o = t("./validate_style"), - s = t("../util/util").sphericalToCartesian, - l = - (t("../style-spec/util/color"), - t("../style-spec/util/interpolate")), - c = t("./properties"), - u = c.Properties, - f = c.Transitionable, - h = - (c.Transitioning, - c.PossiblyEvaluated, - c.DataConstantProperty), - p = function () { - this.specification = n.light.position; - }; - ((p.prototype.possiblyEvaluate = function (t, e) { - return s(t.expression.evaluate(e)); - }), - (p.prototype.interpolate = function (t, e, r) { - return { - x: l.number(t.x, e.x, r), - y: l.number(t.y, e.y, r), - z: l.number(t.z, e.z, r), - }; - })); - var d = new u({ - anchor: new h(n.light.anchor), - position: new p(), - color: new h(n.light.color), - intensity: new h(n.light.intensity), - }), - g = (function (t) { - function e(e) { - (t.call(this), - (this._transitionable = new f(d)), - this.setLight(e), - (this._transitioning = - this._transitionable.untransitioned())); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.getLight = function () { - return this._transitionable.serialize(); - }), - (e.prototype.setLight = function (t) { - if (!this._validate(o.light, t)) - for (var e in t) { - var r = t[e]; - i.endsWith(e, "-transition") - ? this._transitionable.setTransition( - e.slice(0, -"-transition".length), - r, - ) - : this._transitionable.setValue(e, r); - } - }), - (e.prototype.updateTransitions = function (t) { - this._transitioning = this._transitionable.transitioned( - t, - this._transitioning, - ); - }), - (e.prototype.hasTransition = function () { - return this._transitioning.hasTransition(); - }), - (e.prototype.recalculate = function (t) { - this.properties = this._transitioning.possiblyEvaluate(t); - }), - (e.prototype._validate = function (t, e) { - return o.emitErrors( - this, - t.call( - o, - i.extend({ - value: e, - style: { glyphs: !0, sprite: !0 }, - styleSpec: n, - }), - ), - ); - }), - e - ); - })(a); - e.exports = g; - }, - { - "../style-spec/reference/latest": 151, - "../style-spec/util/color": 153, - "../style-spec/util/interpolate": 158, - "../util/evented": 260, - "../util/util": 275, - "./properties": 188, - "./validate_style": 211, - }, - ], - 184: [ - function (t, e, r) { - var n = t("../util/mapbox").normalizeGlyphsURL, - i = t("../util/ajax"), - a = t("./parse_glyph_pbf"); - e.exports = function (t, e, r, o, s) { - var l = 256 * e, - c = l + 255, - u = o( - n(r) - .replace("{fontstack}", t) - .replace("{range}", l + "-" + c), - i.ResourceType.Glyphs, - ); - i.getArrayBuffer(u, function (t, e) { - if (t) s(t); - else if (e) { - for ( - var r = {}, n = 0, i = a(e.data); - n < i.length; - n += 1 - ) { - var o = i[n]; - r[o.id] = o; - } - s(null, r); - } - }); - }; - }, - { - "../util/ajax": 251, - "../util/mapbox": 267, - "./parse_glyph_pbf": 186, - }, - ], - 185: [ - function (t, e, r) { - var n = t("../util/ajax"), - i = t("../util/browser"), - a = t("../util/mapbox").normalizeSpriteURL, - o = t("../util/image").RGBAImage; - e.exports = function (t, e, r) { - function s() { - if (u) r(u); - else if (l && c) { - var t = i.getImageData(c), - e = {}; - for (var n in l) { - var a = l[n], - s = a.width, - f = a.height, - h = a.x, - p = a.y, - d = a.sdf, - g = a.pixelRatio, - m = new o({ width: s, height: f }); - (o.copy( - t, - m, - { x: h, y: p }, - { x: 0, y: 0 }, - { width: s, height: f }, - ), - (e[n] = { data: m, pixelRatio: g, sdf: d })); - } - r(null, e); - } - } - var l, - c, - u, - f = i.devicePixelRatio > 1 ? "@2x" : ""; - (n.getJSON( - e(a(t, f, ".json"), n.ResourceType.SpriteJSON), - function (t, e) { - u || ((u = t), (l = e), s()); - }, - ), - n.getImage( - e(a(t, f, ".png"), n.ResourceType.SpriteImage), - function (t, e) { - u || ((u = t), (c = e), s()); - }, - )); - }; - }, - { - "../util/ajax": 251, - "../util/browser": 252, - "../util/image": 263, - "../util/mapbox": 267, - }, - ], - 186: [ - function (t, e, r) { - function n(t, e, r) { - 1 === t && r.readMessage(i, e); - } - function i(t, e, r) { - if (3 === t) { - var n = r.readMessage(a, {}), - i = n.id, - s = n.bitmap, - c = n.width, - u = n.height, - f = n.left, - h = n.top, - p = n.advance; - e.push({ - id: i, - bitmap: new o({ width: c + 2 * l, height: u + 2 * l }, s), - metrics: { - width: c, - height: u, - left: f, - top: h, - advance: p, - }, - }); - } - } - function a(t, e, r) { - 1 === t - ? (e.id = r.readVarint()) - : 2 === t - ? (e.bitmap = r.readBytes()) - : 3 === t - ? (e.width = r.readVarint()) - : 4 === t - ? (e.height = r.readVarint()) - : 5 === t - ? (e.left = r.readSVarint()) - : 6 === t - ? (e.top = r.readSVarint()) - : 7 === t && (e.advance = r.readVarint()); - } - var o = t("../util/image").AlphaImage, - s = t("pbf"), - l = 3; - ((e.exports = function (t) { - return new s(t).readFields(n, []); - }), - (e.exports.GLYPH_PBF_BORDER = l)); - }, - { "../util/image": 263, pbf: 30 }, - ], - 187: [ - function (t, e, r) { - var n = t("../util/browser"), - i = t("../symbol/placement"), - a = function () { - ((this._currentTileIndex = 0), (this._seenCrossTileIDs = {})); - }; - a.prototype.continuePlacement = function (t, e, r, n, i) { - for (var a = this; this._currentTileIndex < t.length; ) { - var o = t[a._currentTileIndex]; - if ( - (e.placeLayerTile(n, o, r, a._seenCrossTileIDs), - a._currentTileIndex++, - i()) - ) - return !0; - } - }; - var o = function (t, e, r, n, a) { - ((this.placement = new i(t, a)), - (this._currentPlacementIndex = e.length - 1), - (this._forceFullPlacement = r), - (this._showCollisionBoxes = n), - (this._done = !1)); - }; - ((o.prototype.isDone = function () { - return this._done; - }), - (o.prototype.continuePlacement = function (t, e, r) { - for ( - var i = this, - o = n.now(), - s = function () { - var t = n.now() - o; - return !i._forceFullPlacement && t > 2; - }; - this._currentPlacementIndex >= 0; - - ) { - var l = e[t[i._currentPlacementIndex]], - c = i.placement.collisionIndex.transform.zoom; - if ( - "symbol" === l.type && - (!l.minzoom || l.minzoom <= c) && - (!l.maxzoom || l.maxzoom > c) - ) { - if ( - (i._inProgressLayer || (i._inProgressLayer = new a()), - i._inProgressLayer.continuePlacement( - r[l.source], - i.placement, - i._showCollisionBoxes, - l, - s, - )) - ) - return; - delete i._inProgressLayer; - } - i._currentPlacementIndex--; - } - this._done = !0; - }), - (o.prototype.commit = function (t, e) { - return (this.placement.commit(t, e), this.placement); - }), - (e.exports = o)); - }, - { "../symbol/placement": 223, "../util/browser": 252 }, - ], - 188: [ - function (t, e, r) { - var n = t("../util/util"), - i = n.clone, - a = n.extend, - o = n.easeCubicInOut, - s = t("../style-spec/util/interpolate"), - l = t("../style-spec/expression").normalizePropertyExpression, - c = - (t("../style-spec/util/color"), - t("../util/web_worker_transfer").register), - u = function (t, e) { - ((this.property = t), - (this.value = e), - (this.expression = l( - void 0 === e ? t.specification.default : e, - t.specification, - ))); - }; - ((u.prototype.isDataDriven = function () { - return ( - "source" === this.expression.kind || - "composite" === this.expression.kind - ); - }), - (u.prototype.possiblyEvaluate = function (t) { - return this.property.possiblyEvaluate(this, t); - })); - var f = function (t) { - ((this.property = t), (this.value = new u(t, void 0))); - }; - ((f.prototype.transitioned = function (t, e) { - return new p( - this.property, - this.value, - e, - a({}, t.transition, this.transition), - t.now, - ); - }), - (f.prototype.untransitioned = function () { - return new p(this.property, this.value, null, {}, 0); - })); - var h = function (t) { - ((this._properties = t), - (this._values = Object.create( - t.defaultTransitionablePropertyValues, - ))); - }; - ((h.prototype.getValue = function (t) { - return i(this._values[t].value.value); - }), - (h.prototype.setValue = function (t, e) { - (this._values.hasOwnProperty(t) || - (this._values[t] = new f(this._values[t].property)), - (this._values[t].value = new u( - this._values[t].property, - null === e ? void 0 : i(e), - ))); - }), - (h.prototype.getTransition = function (t) { - return i(this._values[t].transition); - }), - (h.prototype.setTransition = function (t, e) { - (this._values.hasOwnProperty(t) || - (this._values[t] = new f(this._values[t].property)), - (this._values[t].transition = i(e) || void 0)); - }), - (h.prototype.serialize = function () { - for ( - var t = this, e = {}, r = 0, n = Object.keys(t._values); - r < n.length; - r += 1 - ) { - var i = n[r], - a = t.getValue(i); - void 0 !== a && (e[i] = a); - var o = t.getTransition(i); - void 0 !== o && (e[i + "-transition"] = o); - } - return e; - }), - (h.prototype.transitioned = function (t, e) { - for ( - var r = new d(this._properties), - n = 0, - i = Object.keys(this._values); - n < i.length; - n += 1 - ) { - var a = i[n]; - r._values[a] = this._values[a].transitioned( - t, - e._values[a], - ); - } - return r; - }), - (h.prototype.untransitioned = function () { - for ( - var t = new d(this._properties), - e = 0, - r = Object.keys(this._values); - e < r.length; - e += 1 - ) { - var n = r[e]; - t._values[n] = this._values[n].untransitioned(); - } - return t; - })); - var p = function (t, e, r, n, i) { - ((this.property = t), - (this.value = e), - (this.begin = i + n.delay || 0), - (this.end = this.begin + n.duration || 0), - t.specification.transition && - (n.delay || n.duration) && - (this.prior = r)); - }; - p.prototype.possiblyEvaluate = function (t) { - var e = t.now || 0, - r = this.value.possiblyEvaluate(t), - n = this.prior; - if (n) { - if (e > this.end) return ((this.prior = null), r); - if (this.value.isDataDriven()) - return ((this.prior = null), r); - if (e < this.begin) return n.possiblyEvaluate(t); - var i = (e - this.begin) / (this.end - this.begin); - return this.property.interpolate( - n.possiblyEvaluate(t), - r, - o(i), - ); - } - return r; - }; - var d = function (t) { - ((this._properties = t), - (this._values = Object.create( - t.defaultTransitioningPropertyValues, - ))); - }; - ((d.prototype.possiblyEvaluate = function (t) { - for ( - var e = new v(this._properties), - r = 0, - n = Object.keys(this._values); - r < n.length; - r += 1 - ) { - var i = n[r]; - e._values[i] = this._values[i].possiblyEvaluate(t); - } - return e; - }), - (d.prototype.hasTransition = function () { - for ( - var t = 0, e = Object.keys(this._values); - t < e.length; - t += 1 - ) { - var r = e[t]; - if (this._values[r].prior) return !0; - } - return !1; - })); - var g = function (t) { - ((this._properties = t), - (this._values = Object.create(t.defaultPropertyValues))); - }; - ((g.prototype.getValue = function (t) { - return i(this._values[t].value); - }), - (g.prototype.setValue = function (t, e) { - this._values[t] = new u( - this._values[t].property, - null === e ? void 0 : i(e), - ); - }), - (g.prototype.serialize = function () { - for ( - var t = {}, e = 0, r = Object.keys(this._values); - e < r.length; - e += 1 - ) { - var n = r[e], - i = this.getValue(n); - void 0 !== i && (t[n] = i); - } - return t; - }), - (g.prototype.possiblyEvaluate = function (t) { - for ( - var e = new v(this._properties), - r = 0, - n = Object.keys(this._values); - r < n.length; - r += 1 - ) { - var i = n[r]; - e._values[i] = this._values[i].possiblyEvaluate(t); - } - return e; - })); - var m = function (t, e, r) { - ((this.property = t), (this.value = e), (this.globals = r)); - }; - ((m.prototype.isConstant = function () { - return "constant" === this.value.kind; - }), - (m.prototype.constantOr = function (t) { - return "constant" === this.value.kind ? this.value.value : t; - }), - (m.prototype.evaluate = function (t) { - return this.property.evaluate(this.value, this.globals, t); - })); - var v = function (t) { - ((this._properties = t), - (this._values = Object.create( - t.defaultPossiblyEvaluatedValues, - ))); - }; - v.prototype.get = function (t) { - return this._values[t]; - }; - var y = function (t) { - this.specification = t; - }; - ((y.prototype.possiblyEvaluate = function (t, e) { - return t.expression.evaluate(e); - }), - (y.prototype.interpolate = function (t, e, r) { - var n = s[this.specification.type]; - return n ? n(t, e, r) : t; - })); - var x = function (t) { - this.specification = t; - }; - ((x.prototype.possiblyEvaluate = function (t, e) { - return "constant" === t.expression.kind || - "camera" === t.expression.kind - ? new m( - this, - { kind: "constant", value: t.expression.evaluate(e) }, - e, - ) - : new m(this, t.expression, e); - }), - (x.prototype.interpolate = function (t, e, r) { - if ( - "constant" !== t.value.kind || - "constant" !== e.value.kind - ) - return t; - if (void 0 !== t.value.value && void 0 !== e.value.value) { - var n = s[this.specification.type]; - return n - ? new m( - this, - { - kind: "constant", - value: n(t.value.value, e.value.value, r), - }, - t.globals, - ) - : t; - } - }), - (x.prototype.evaluate = function (t, e, r) { - return "constant" === t.kind ? t.value : t.evaluate(e, r); - })); - var b = function (t) { - this.specification = t; - }; - ((b.prototype.possiblyEvaluate = function (t, e) { - if (void 0 !== t.value) { - if ("constant" === t.expression.kind) { - var r = t.expression.evaluate(e); - return this._calculate(r, r, r, e); - } - return this._calculate( - t.expression.evaluate({ zoom: e.zoom - 1 }), - t.expression.evaluate({ zoom: e.zoom }), - t.expression.evaluate({ zoom: e.zoom + 1 }), - e, - ); - } - }), - (b.prototype._calculate = function (t, e, r, n) { - var i = n.zoom, - a = i - Math.floor(i), - o = n.crossFadingFactor(); - return i > n.zoomHistory.lastIntegerZoom - ? { - from: t, - to: e, - fromScale: 2, - toScale: 1, - t: a + (1 - a) * o, - } - : { - from: r, - to: e, - fromScale: 0.5, - toScale: 1, - t: 1 - (1 - o) * a, - }; - }), - (b.prototype.interpolate = function (t) { - return t; - })); - var _ = function (t) { - this.specification = t; - }; - ((_.prototype.possiblyEvaluate = function () {}), - (_.prototype.interpolate = function () {})); - (c("DataDrivenProperty", x), - c("DataConstantProperty", y), - c("CrossFadedProperty", b), - c("HeatmapColorProperty", _), - (e.exports = { - PropertyValue: u, - Transitionable: h, - Transitioning: d, - Layout: g, - PossiblyEvaluatedPropertyValue: m, - PossiblyEvaluated: v, - DataConstantProperty: y, - DataDrivenProperty: x, - CrossFadedProperty: b, - HeatmapColorProperty: _, - Properties: function (t) { - var e = this; - for (var r in ((this.properties = t), - (this.defaultPropertyValues = {}), - (this.defaultTransitionablePropertyValues = {}), - (this.defaultTransitioningPropertyValues = {}), - (this.defaultPossiblyEvaluatedValues = {}), - t)) { - var n = t[r], - i = (e.defaultPropertyValues[r] = new u(n, void 0)), - a = (e.defaultTransitionablePropertyValues[r] = new f( - n, - )); - ((e.defaultTransitioningPropertyValues[r] = - a.untransitioned()), - (e.defaultPossiblyEvaluatedValues[r] = - i.possiblyEvaluate({}))); - } - }, - })); - }, - { - "../style-spec/expression": 139, - "../style-spec/util/color": 153, - "../style-spec/util/interpolate": 158, - "../util/util": 275, - "../util/web_worker_transfer": 278, - }, - ], - 189: [ - function (t, e, r) { - var n = t("@mapbox/point-geometry"); - e.exports = { - getMaximumPaintValue: function (t, e, r) { - var n = e.paint.get(t).value; - return "constant" === n.kind - ? n.value - : r.programConfigurations.get(e.id).binders[t].statistics - .max; - }, - translateDistance: function (t) { - return Math.sqrt(t[0] * t[0] + t[1] * t[1]); - }, - translate: function (t, e, r, i, a) { - if (!e[0] && !e[1]) return t; - var o = n.convert(e); - "viewport" === r && o._rotate(-i); - for (var s = [], l = 0; l < t.length; l++) { - for (var c = t[l], u = [], f = 0; f < c.length; f++) - u.push(c[f].sub(o._mult(a))); - s.push(u); - } - return s; - }, - }; - }, - { "@mapbox/point-geometry": 4 }, - ], - 190: [ - function (t, e, r) { - var n = t("../util/evented"), - i = t("./style_layer"), - a = t("./load_sprite"), - o = t("../render/image_manager"), - s = t("../render/glyph_manager"), - l = t("./light"), - c = t("../render/line_atlas"), - u = t("../util/util"), - f = t("../util/ajax"), - h = t("../util/mapbox"), - p = t("../util/browser"), - d = t("../util/dispatcher"), - g = t("./validate_style"), - m = t("../source/source").getType, - v = t("../source/source").setType, - y = t("../source/query_features"), - x = t("../source/source_cache"), - b = - (t("../source/geojson_source"), - t("../style-spec/reference/latest")), - _ = t("../util/global_worker_pool"), - w = t("../style-spec/deref"), - k = t("../style-spec/diff"), - M = t("../source/rtl_text_plugin"), - A = t("./pauseable_placement"), - T = t("./zoom_history"), - S = t("../symbol/cross_tile_symbol_index"), - C = u.pick(k.operations, [ - "addLayer", - "removeLayer", - "setPaintProperty", - "setLayoutProperty", - "setFilter", - "addSource", - "removeSource", - "setLayerZoomRange", - "setLight", - "setTransition", - "setGeoJSONSourceData", - ]), - E = u.pick(k.operations, [ - "setCenter", - "setZoom", - "setBearing", - "setPitch", - ]), - L = (function (t) { - function e(e, r) { - var n = this; - (void 0 === r && (r = {}), - t.call(this), - (this.map = e), - (this.dispatcher = new d(_(), this)), - (this.imageManager = new o()), - (this.glyphManager = new s( - e._transformRequest, - r.localIdeographFontFamily, - )), - (this.lineAtlas = new c(256, 512)), - (this.crossTileSymbolIndex = new S()), - (this._layers = {}), - (this._order = []), - (this.sourceCaches = {}), - (this.zoomHistory = new T()), - (this._loaded = !1), - this._resetUpdates()); - var i = this; - ((this._rtlTextPluginCallback = - M.registerForPluginAvailability(function (t) { - for (var e in (i.dispatcher.broadcast( - "loadRTLTextPlugin", - t.pluginBlobURL, - t.errorCallback, - ), - i.sourceCaches)) - i.sourceCaches[e].reload(); - })), - this.on("data", function (t) { - if ( - "source" === t.dataType && - "metadata" === t.sourceDataType - ) { - var e = n.sourceCaches[t.sourceId]; - if (e) { - var r = e.getSource(); - if (r && r.vectorLayerIds) - for (var i in n._layers) { - var a = n._layers[i]; - a.source === r.id && n._validateLayer(a); - } - } - } - })); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.loadURL = function (t, e) { - var r = this; - (void 0 === e && (e = {}), - this.fire("dataloading", { dataType: "style" })); - var n = - "boolean" == typeof e.validate - ? e.validate - : !h.isMapboxURL(t); - t = h.normalizeStyleURL(t, e.accessToken); - var i = this.map._transformRequest( - t, - f.ResourceType.Style, - ); - f.getJSON(i, function (t, e) { - t ? r.fire("error", { error: t }) : e && r._load(e, n); - }); - }), - (e.prototype.loadJSON = function (t, e) { - var r = this; - (void 0 === e && (e = {}), - this.fire("dataloading", { dataType: "style" }), - p.frame(function () { - r._load(t, !1 !== e.validate); - })); - }), - (e.prototype._load = function (t, e) { - var r = this; - if (!e || !g.emitErrors(this, g(t))) { - for (var n in ((this._loaded = !0), - (this.stylesheet = t), - t.sources)) - r.addSource(n, t.sources[n], { validate: !1 }); - (t.sprite - ? a( - t.sprite, - this.map._transformRequest, - function (t, e) { - if (t) r.fire("error", t); - else if (e) - for (var n in e) - r.imageManager.addImage(n, e[n]); - (r.imageManager.setLoaded(!0), - r.fire("data", { dataType: "style" })); - }, - ) - : this.imageManager.setLoaded(!0), - this.glyphManager.setURL(t.glyphs)); - var o = w(this.stylesheet.layers); - ((this._order = o.map(function (t) { - return t.id; - })), - (this._layers = {})); - for (var s = 0, c = o; s < c.length; s += 1) { - var u = c[s]; - ((u = i.create(u)).setEventedParent(r, { - layer: { id: u.id }, - }), - (r._layers[u.id] = u)); - } - (this.dispatcher.broadcast( - "setLayers", - this._serializeLayers(this._order), - ), - (this.light = new l(this.stylesheet.light)), - this.fire("data", { dataType: "style" }), - this.fire("style.load")); - } - }), - (e.prototype._validateLayer = function (t) { - var e = this.sourceCaches[t.source]; - if (e) { - var r = t.sourceLayer; - if (r) { - var n = e.getSource(); - ("geojson" === n.type || - (n.vectorLayerIds && - -1 === n.vectorLayerIds.indexOf(r))) && - this.fire("error", { - error: new Error( - 'Source layer "' + - r + - '" does not exist on source "' + - n.id + - '" as specified by style layer "' + - t.id + - '"', - ), - }); - } - } - }), - (e.prototype.loaded = function () { - if (!this._loaded) return !1; - if (Object.keys(this._updatedSources).length) return !1; - for (var t in this.sourceCaches) - if (!this.sourceCaches[t].loaded()) return !1; - return !!this.imageManager.isLoaded(); - }), - (e.prototype._serializeLayers = function (t) { - var e = this; - return t.map(function (t) { - return e._layers[t].serialize(); - }); - }), - (e.prototype.hasTransitions = function () { - var t = this; - if (this.light && this.light.hasTransition()) return !0; - for (var e in t.sourceCaches) - if (t.sourceCaches[e].hasTransition()) return !0; - for (var r in t._layers) - if (t._layers[r].hasTransition()) return !0; - return !1; - }), - (e.prototype._checkLoaded = function () { - if (!this._loaded) - throw new Error("Style is not done loading"); - }), - (e.prototype.update = function (t) { - var e = this; - if (this._loaded) { - if (this._changed) { - var r = Object.keys(this._updatedLayers), - n = Object.keys(this._removedLayers); - for (var i in ((r.length || n.length) && - this._updateWorkerLayers(r, n), - e._updatedSources)) { - var a = e._updatedSources[i]; - "reload" === a - ? e._reloadSource(i) - : "clear" === a && e._clearSource(i); - } - for (var o in e._updatedPaintProps) - e._layers[o].updateTransitions(t); - (this.light.updateTransitions(t), - this._resetUpdates(), - this.fire("data", { dataType: "style" })); - } - for (var s in e.sourceCaches) - e.sourceCaches[s].used = !1; - for (var l = 0, c = e._order; l < c.length; l += 1) { - var u = c[l], - f = e._layers[u]; - (f.recalculate(t), - !f.isHidden(t.zoom) && - f.source && - (e.sourceCaches[f.source].used = !0)); - } - (this.light.recalculate(t), (this.z = t.zoom)); - } - }), - (e.prototype._updateWorkerLayers = function (t, e) { - this.dispatcher.broadcast("updateLayers", { - layers: this._serializeLayers(t), - removedIds: e, - }); - }), - (e.prototype._resetUpdates = function () { - ((this._changed = !1), - (this._updatedLayers = {}), - (this._removedLayers = {}), - (this._updatedSources = {}), - (this._updatedPaintProps = {})); - }), - (e.prototype.setState = function (t) { - var e = this; - if ((this._checkLoaded(), g.emitErrors(this, g(t)))) - return !1; - (t = u.clone(t)).layers = w(t.layers); - var r = k(this.serialize(), t).filter(function (t) { - return !(t.command in E); - }); - if (0 === r.length) return !1; - var n = r.filter(function (t) { - return !(t.command in C); - }); - if (n.length > 0) - throw new Error( - "Unimplemented: " + - n - .map(function (t) { - return t.command; - }) - .join(", ") + - ".", - ); - return ( - r.forEach(function (t) { - "setTransition" !== t.command && - e[t.command].apply(e, t.args); - }), - (this.stylesheet = t), - !0 - ); - }), - (e.prototype.addImage = function (t, e) { - if (this.getImage(t)) - return this.fire("error", { - error: new Error( - "An image with this name already exists.", - ), - }); - (this.imageManager.addImage(t, e), - this.fire("data", { dataType: "style" })); - }), - (e.prototype.getImage = function (t) { - return this.imageManager.getImage(t); - }), - (e.prototype.removeImage = function (t) { - if (!this.getImage(t)) - return this.fire("error", { - error: new Error("No image with this name exists."), - }); - (this.imageManager.removeImage(t), - this.fire("data", { dataType: "style" })); - }), - (e.prototype.addSource = function (t, e, r) { - var n = this; - if ( - (this._checkLoaded(), void 0 !== this.sourceCaches[t]) - ) - throw new Error( - "There is already a source with this ID", - ); - if (!e.type) - throw new Error( - "The type property must be defined, but the only the following properties were given: " + - Object.keys(e).join(", ") + - ".", - ); - if ( - !( - [ - "vector", - "raster", - "geojson", - "video", - "image", - "canvas", - ].indexOf(e.type) >= 0 && - this._validate(g.source, "sources." + t, e, null, r) - ) - ) { - this.map && - this.map._collectResourceTiming && - (e.collectResourceTiming = !0); - var i = (this.sourceCaches[t] = new x( - t, - e, - this.dispatcher, - )); - ((i.style = this), - i.setEventedParent(this, function () { - return { - isSourceLoaded: n.loaded(), - source: i.serialize(), - sourceId: t, - }; - }), - i.onAdd(this.map), - (this._changed = !0)); - } - }), - (e.prototype.removeSource = function (t) { - var e = this; - if ( - (this._checkLoaded(), void 0 === this.sourceCaches[t]) - ) - throw new Error("There is no source with this ID"); - for (var r in e._layers) - if (e._layers[r].source === t) - return e.fire("error", { - error: new Error( - 'Source "' + - t + - '" cannot be removed while layer "' + - r + - '" is using it.', - ), - }); - var n = this.sourceCaches[t]; - (delete this.sourceCaches[t], - delete this._updatedSources[t], - n.fire("data", { - sourceDataType: "metadata", - dataType: "source", - sourceId: t, - }), - n.setEventedParent(null), - n.clearTiles(), - n.onRemove && n.onRemove(this.map), - (this._changed = !0)); - }), - (e.prototype.setGeoJSONSourceData = function (t, e) { - (this._checkLoaded(), - this.sourceCaches[t].getSource().setData(e), - (this._changed = !0)); - }), - (e.prototype.getSource = function (t) { - return ( - this.sourceCaches[t] && this.sourceCaches[t].getSource() - ); - }), - (e.prototype.addLayer = function (t, e, r) { - this._checkLoaded(); - var n = t.id; - if ( - ("object" == typeof t.source && - (this.addSource(n, t.source), - (t = u.clone(t)), - (t = u.extend(t, { source: n }))), - !this._validate( - g.layer, - "layers." + n, - t, - { arrayIndex: -1 }, - r, - )) - ) { - var a = i.create(t); - (this._validateLayer(a), - a.setEventedParent(this, { layer: { id: n } })); - var o = e ? this._order.indexOf(e) : this._order.length; - if (e && -1 === o) - return void this.fire("error", { - error: new Error( - 'Layer with id "' + - e + - '" does not exist on this map.', - ), - }); - if ( - (this._order.splice(o, 0, n), - (this._layerOrderChanged = !0), - (this._layers[n] = a), - this._removedLayers[n] && a.source) - ) { - var s = this._removedLayers[n]; - (delete this._removedLayers[n], - s.type !== a.type - ? (this._updatedSources[a.source] = "clear") - : ((this._updatedSources[a.source] = "reload"), - this.sourceCaches[a.source].pause())); - } - this._updateLayer(a); - } - }), - (e.prototype.moveLayer = function (t, e) { - if ( - (this._checkLoaded(), - (this._changed = !0), - this._layers[t]) - ) { - var r = this._order.indexOf(t); - this._order.splice(r, 1); - var n = e ? this._order.indexOf(e) : this._order.length; - e && -1 === n - ? this.fire("error", { - error: new Error( - 'Layer with id "' + - e + - '" does not exist on this map.', - ), - }) - : (this._order.splice(n, 0, t), - (this._layerOrderChanged = !0)); - } else - this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot be moved.", - ), - }); - }), - (e.prototype.removeLayer = function (t) { - this._checkLoaded(); - var e = this._layers[t]; - if (e) { - e.setEventedParent(null); - var r = this._order.indexOf(t); - (this._order.splice(r, 1), - (this._layerOrderChanged = !0), - (this._changed = !0), - (this._removedLayers[t] = e), - delete this._layers[t], - delete this._updatedLayers[t], - delete this._updatedPaintProps[t]); - } else - this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot be removed.", - ), - }); - }), - (e.prototype.getLayer = function (t) { - return this._layers[t]; - }), - (e.prototype.setLayerZoomRange = function (t, e, r) { - this._checkLoaded(); - var n = this.getLayer(t); - n - ? (n.minzoom === e && n.maxzoom === r) || - (null != e && (n.minzoom = e), - null != r && (n.maxzoom = r), - this._updateLayer(n)) - : this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot have zoom extent.", - ), - }); - }), - (e.prototype.setFilter = function (t, e) { - this._checkLoaded(); - var r = this.getLayer(t); - if (r) - return u.deepEqual(r.filter, e) - ? void 0 - : null === e || void 0 === e - ? ((r.filter = void 0), void this._updateLayer(r)) - : void ( - this._validate( - g.filter, - "layers." + r.id + ".filter", - e, - ) || - ((r.filter = u.clone(e)), this._updateLayer(r)) - ); - this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot be filtered.", - ), - }); - }), - (e.prototype.getFilter = function (t) { - return u.clone(this.getLayer(t).filter); - }), - (e.prototype.setLayoutProperty = function (t, e, r) { - this._checkLoaded(); - var n = this.getLayer(t); - n - ? u.deepEqual(n.getLayoutProperty(e), r) || - (n.setLayoutProperty(e, r), this._updateLayer(n)) - : this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot be styled.", - ), - }); - }), - (e.prototype.getLayoutProperty = function (t, e) { - return this.getLayer(t).getLayoutProperty(e); - }), - (e.prototype.setPaintProperty = function (t, e, r) { - this._checkLoaded(); - var n = this.getLayer(t); - if (n) { - if (!u.deepEqual(n.getPaintProperty(e), r)) { - var i = - n._transitionablePaint._values[ - e - ].value.isDataDriven(); - (n.setPaintProperty(e, r), - (n._transitionablePaint._values[ - e - ].value.isDataDriven() || - i) && - this._updateLayer(n), - (this._changed = !0), - (this._updatedPaintProps[t] = !0)); - } - } else - this.fire("error", { - error: new Error( - "The layer '" + - t + - "' does not exist in the map's style and cannot be styled.", - ), - }); - }), - (e.prototype.getPaintProperty = function (t, e) { - return this.getLayer(t).getPaintProperty(e); - }), - (e.prototype.getTransition = function () { - return u.extend( - { duration: 300, delay: 0 }, - this.stylesheet && this.stylesheet.transition, - ); - }), - (e.prototype.serialize = function () { - var t = this; - return u.filterObject( - { - version: this.stylesheet.version, - name: this.stylesheet.name, - metadata: this.stylesheet.metadata, - light: this.stylesheet.light, - center: this.stylesheet.center, - zoom: this.stylesheet.zoom, - bearing: this.stylesheet.bearing, - pitch: this.stylesheet.pitch, - sprite: this.stylesheet.sprite, - glyphs: this.stylesheet.glyphs, - transition: this.stylesheet.transition, - sources: u.mapObject(this.sourceCaches, function (t) { - return t.serialize(); - }), - layers: this._order.map(function (e) { - return t._layers[e].serialize(); - }), - }, - function (t) { - return void 0 !== t; - }, - ); - }), - (e.prototype._updateLayer = function (t) { - ((this._updatedLayers[t.id] = !0), - t.source && - !this._updatedSources[t.source] && - ((this._updatedSources[t.source] = "reload"), - this.sourceCaches[t.source].pause()), - (this._changed = !0)); - }), - (e.prototype._flattenRenderedFeatures = function (t) { - for (var e = [], r = this._order.length - 1; r >= 0; r--) - for ( - var n = this._order[r], i = 0, a = t; - i < a.length; - i += 1 - ) { - var o = a[i][n]; - if (o) - for (var s = 0, l = o; s < l.length; s += 1) { - var c = l[s]; - e.push(c); - } - } - return e; - }), - (e.prototype.queryRenderedFeatures = function (t, e, r, n) { - var i = this; - e && - e.filter && - this._validate( - g.filter, - "queryRenderedFeatures.filter", - e.filter, - ); - var a = {}; - if (e && e.layers) { - if (!Array.isArray(e.layers)) - return ( - this.fire("error", { - error: "parameters.layers must be an Array.", - }), - [] - ); - for (var o = 0, s = e.layers; o < s.length; o += 1) { - var l = s[o], - c = i._layers[l]; - if (!c) - return ( - i.fire("error", { - error: - "The layer '" + - l + - "' does not exist in the map's style and cannot be queried for features.", - }), - [] - ); - a[c.source] = !0; - } - } - var u = []; - for (var f in i.sourceCaches) - if (!e.layers || a[f]) { - var h = y.rendered( - i.sourceCaches[f], - i._layers, - t, - e, - r, - n, - i.placement ? i.placement.collisionIndex : null, - ); - u.push(h); - } - return this._flattenRenderedFeatures(u); - }), - (e.prototype.querySourceFeatures = function (t, e) { - e && - e.filter && - this._validate( - g.filter, - "querySourceFeatures.filter", - e.filter, - ); - var r = this.sourceCaches[t]; - return r ? y.source(r, e) : []; - }), - (e.prototype.addSourceType = function (t, e, r) { - return m(t) - ? r( - new Error( - 'A source type called "' + - t + - '" already exists.', - ), - ) - : (v(t, e), - e.workerSourceURL - ? void this.dispatcher.broadcast( - "loadWorkerSource", - { name: t, url: e.workerSourceURL }, - r, - ) - : r(null, null)); - }), - (e.prototype.getLight = function () { - return this.light.getLight(); - }), - (e.prototype.setLight = function (t) { - this._checkLoaded(); - var e = this.light.getLight(), - r = !1; - for (var n in t) - if (!u.deepEqual(t[n], e[n])) { - r = !0; - break; - } - if (r) { - var i = { - now: p.now(), - transition: u.extend( - { duration: 300, delay: 0 }, - this.stylesheet.transition, - ), - }; - (this.light.setLight(t), - this.light.updateTransitions(i)); - } - }), - (e.prototype._validate = function (t, e, r, n, i) { - return ( - (!i || !1 !== i.validate) && - g.emitErrors( - this, - t.call( - g, - u.extend( - { - key: e, - style: this.serialize(), - value: r, - styleSpec: b, - }, - n, - ), - ), - ) - ); - }), - (e.prototype._remove = function () { - for (var t in (M.evented.off( - "pluginAvailable", - this._rtlTextPluginCallback, - ), - this.sourceCaches)) - this.sourceCaches[t].clearTiles(); - this.dispatcher.remove(); - }), - (e.prototype._clearSource = function (t) { - this.sourceCaches[t].clearTiles(); - }), - (e.prototype._reloadSource = function (t) { - (this.sourceCaches[t].resume(), - this.sourceCaches[t].reload()); - }), - (e.prototype._updateSources = function (t) { - for (var e in this.sourceCaches) - this.sourceCaches[e].update(t); - }), - (e.prototype._generateCollisionBoxes = function () { - for (var t in this.sourceCaches) this._reloadSource(t); - }), - (e.prototype._updatePlacement = function (t, e, r) { - for ( - var n = this, - i = !1, - a = !1, - o = {}, - s = 0, - l = n._order; - s < l.length; - s += 1 - ) { - var c = l[s], - u = n._layers[c]; - if ("symbol" === u.type) { - if (!o[u.source]) { - var f = n.sourceCaches[u.source]; - o[u.source] = f - .getRenderableIds() - .map(function (t) { - return f.getTileByID(t); - }) - .sort(function (t, e) { - return ( - e.tileID.overscaledZ - t.tileID.overscaledZ || - (t.tileID.isLessThan(e.tileID) ? -1 : 1) - ); - }); - } - var h = n.crossTileSymbolIndex.addLayer( - u, - o[u.source], - ); - i = i || h; - } - } - this.crossTileSymbolIndex.pruneUnusedLayers(this._order); - var d = this._layerOrderChanged; - if ( - ((d || - !this.pauseablePlacement || - (this.pauseablePlacement.isDone() && - !this.placement.stillRecent(p.now()))) && - ((this.pauseablePlacement = new A( - t, - this._order, - d, - e, - r, - )), - (this._layerOrderChanged = !1)), - this.pauseablePlacement.isDone() - ? this.placement.setStale() - : (this.pauseablePlacement.continuePlacement( - this._order, - this._layers, - o, - ), - this.pauseablePlacement.isDone() && - ((this.placement = this.pauseablePlacement.commit( - this.placement, - p.now(), - )), - (a = !0)), - i && this.pauseablePlacement.placement.setStale()), - a || i) - ) - for (var g = 0, m = n._order; g < m.length; g += 1) { - var v = m[g], - y = n._layers[v]; - "symbol" === y.type && - n.placement.updateLayerOpacities(y, o[y.source]); - } - return ( - !this.pauseablePlacement.isDone() || - this.placement.hasTransitions(p.now()) - ); - }), - (e.prototype.getImages = function (t, e, r) { - this.imageManager.getImages(e.icons, r); - }), - (e.prototype.getGlyphs = function (t, e, r) { - this.glyphManager.getGlyphs(e.stacks, r); - }), - e - ); - })(n); - e.exports = L; - }, - { - "../render/glyph_manager": 86, - "../render/image_manager": 88, - "../render/line_atlas": 89, - "../source/geojson_source": 99, - "../source/query_features": 105, - "../source/rtl_text_plugin": 109, - "../source/source": 110, - "../source/source_cache": 111, - "../style-spec/deref": 120, - "../style-spec/diff": 121, - "../style-spec/reference/latest": 151, - "../symbol/cross_tile_symbol_index": 218, - "../util/ajax": 251, - "../util/browser": 252, - "../util/dispatcher": 258, - "../util/evented": 260, - "../util/global_worker_pool": 262, - "../util/mapbox": 267, - "../util/util": 275, - "./light": 183, - "./load_sprite": 185, - "./pauseable_placement": 187, - "./style_layer": 191, - "./validate_style": 211, - "./zoom_history": 212, - }, - ], - 191: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../style-spec/reference/latest"), - a = t("./validate_style"), - o = t("../util/evented"), - s = t("./properties"), - l = s.Layout, - c = s.Transitionable, - u = - (s.Transitioning, - s.Properties, - (function (t) { - function e(e, r) { - for (var n in (t.call(this), - (this.id = e.id), - (this.metadata = e.metadata), - (this.type = e.type), - (this.minzoom = e.minzoom), - (this.maxzoom = e.maxzoom), - (this.visibility = "visible"), - "background" !== e.type && - ((this.source = e.source), - (this.sourceLayer = e["source-layer"]), - (this.filter = e.filter)), - (this._featureFilter = function () { - return !0; - }), - r.layout && (this._unevaluatedLayout = new l(r.layout)), - (this._transitionablePaint = new c(r.paint)), - e.paint)) - this.setPaintProperty(n, e.paint[n], { validate: !1 }); - for (var i in e.layout) - this.setLayoutProperty(i, e.layout[i], { - validate: !1, - }); - this._transitioningPaint = - this._transitionablePaint.untransitioned(); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.getLayoutProperty = function (t) { - return "visibility" === t - ? this.visibility - : this._unevaluatedLayout.getValue(t); - }), - (e.prototype.setLayoutProperty = function (t, e, r) { - if (null !== e && void 0 !== e) { - var n = "layers." + this.id + ".layout." + t; - if (this._validate(a.layoutProperty, n, t, e, r)) - return; - } - "visibility" !== t - ? this._unevaluatedLayout.setValue(t, e) - : (this.visibility = "none" === e ? e : "visible"); - }), - (e.prototype.getPaintProperty = function (t) { - return n.endsWith(t, "-transition") - ? this._transitionablePaint.getTransition( - t.slice(0, -"-transition".length), - ) - : this._transitionablePaint.getValue(t); - }), - (e.prototype.setPaintProperty = function (t, e, r) { - if (null !== e && void 0 !== e) { - var i = "layers." + this.id + ".paint." + t; - if (this._validate(a.paintProperty, i, t, e, r)) - return; - } - n.endsWith(t, "-transition") - ? this._transitionablePaint.setTransition( - t.slice(0, -"-transition".length), - e || void 0, - ) - : this._transitionablePaint.setValue(t, e); - }), - (e.prototype.isHidden = function (t) { - return ( - !!(this.minzoom && t < this.minzoom) || - !!(this.maxzoom && t >= this.maxzoom) || - "none" === this.visibility - ); - }), - (e.prototype.updateTransitions = function (t) { - this._transitioningPaint = - this._transitionablePaint.transitioned( - t, - this._transitioningPaint, - ); - }), - (e.prototype.hasTransition = function () { - return this._transitioningPaint.hasTransition(); - }), - (e.prototype.recalculate = function (t) { - (this._unevaluatedLayout && - (this.layout = - this._unevaluatedLayout.possiblyEvaluate(t)), - (this.paint = - this._transitioningPaint.possiblyEvaluate(t))); - }), - (e.prototype.serialize = function () { - var t = { - id: this.id, - type: this.type, - source: this.source, - "source-layer": this.sourceLayer, - metadata: this.metadata, - minzoom: this.minzoom, - maxzoom: this.maxzoom, - filter: this.filter, - layout: - this._unevaluatedLayout && - this._unevaluatedLayout.serialize(), - paint: - this._transitionablePaint && - this._transitionablePaint.serialize(), - }; - return ( - "none" === this.visibility && - ((t.layout = t.layout || {}), - (t.layout.visibility = "none")), - n.filterObject(t, function (t, e) { - return !( - void 0 === t || - ("layout" === e && !Object.keys(t).length) || - ("paint" === e && !Object.keys(t).length) - ); - }) - ); - }), - (e.prototype._validate = function (t, e, r, n, o) { - return ( - (!o || !1 !== o.validate) && - a.emitErrors( - this, - t.call(a, { - key: e, - layerType: this.type, - objectKey: r, - value: n, - styleSpec: i, - style: { glyphs: !0, sprite: !0 }, - }), - ) - ); - }), - (e.prototype.hasOffscreenPass = function () { - return !1; - }), - (e.prototype.resize = function () {}), - e - ); - })(o)); - e.exports = u; - var f = { - circle: t("./style_layer/circle_style_layer"), - heatmap: t("./style_layer/heatmap_style_layer"), - hillshade: t("./style_layer/hillshade_style_layer"), - fill: t("./style_layer/fill_style_layer"), - "fill-extrusion": t("./style_layer/fill_extrusion_style_layer"), - line: t("./style_layer/line_style_layer"), - symbol: t("./style_layer/symbol_style_layer"), - background: t("./style_layer/background_style_layer"), - raster: t("./style_layer/raster_style_layer"), - }; - u.create = function (t) { - return new f[t.type](t); - }; - }, - { - "../style-spec/reference/latest": 151, - "../util/evented": 260, - "../util/util": 275, - "./properties": 188, - "./style_layer/background_style_layer": 192, - "./style_layer/circle_style_layer": 194, - "./style_layer/fill_extrusion_style_layer": 196, - "./style_layer/fill_style_layer": 198, - "./style_layer/heatmap_style_layer": 200, - "./style_layer/hillshade_style_layer": 202, - "./style_layer/line_style_layer": 204, - "./style_layer/raster_style_layer": 206, - "./style_layer/symbol_style_layer": 208, - "./validate_style": 211, - }, - ], - 192: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("./background_style_layer_properties"), - a = t("../properties"), - o = - (a.Transitionable, - a.Transitioning, - a.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, i); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - e - ); - })(n)); - e.exports = o; - }, - { - "../properties": 188, - "../style_layer": 191, - "./background_style_layer_properties": 193, - }, - ], - 193: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = (i.DataDrivenProperty, i.CrossFadedProperty), - l = - (i.HeatmapColorProperty, - new a({ - "background-color": new o( - n.paint_background["background-color"], - ), - "background-pattern": new s( - n.paint_background["background-pattern"], - ), - "background-opacity": new o( - n.paint_background["background-opacity"], - ), - })); - e.exports = { paint: l }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 194: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("../../data/bucket/circle_bucket"), - a = t( - "../../util/intersection_tests", - ).multiPolygonIntersectsBufferedMultiPoint, - o = t("../query_utils"), - s = o.getMaximumPaintValue, - l = o.translateDistance, - c = o.translate, - u = t("./circle_style_layer_properties"), - f = t("../properties"), - h = - (f.Transitionable, - f.Transitioning, - f.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, u); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.createBucket = function (t) { - return new i(t); - }), - (e.prototype.queryRadius = function (t) { - var e = t; - return ( - s("circle-radius", this, e) + - s("circle-stroke-width", this, e) + - l(this.paint.get("circle-translate")) - ); - }), - (e.prototype.queryIntersectsFeature = function ( - t, - e, - r, - n, - i, - o, - ) { - var s = c( - t, - this.paint.get("circle-translate"), - this.paint.get("circle-translate-anchor"), - i, - o, - ), - l = this.paint.get("circle-radius").evaluate(e) * o, - u = - this.paint.get("circle-stroke-width").evaluate(e) * - o; - return a(s, r, l + u); - }), - e - ); - })(n)); - e.exports = h; - }, - { - "../../data/bucket/circle_bucket": 42, - "../../util/intersection_tests": 264, - "../properties": 188, - "../query_utils": 189, - "../style_layer": 191, - "./circle_style_layer_properties": 195, - }, - ], - 195: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = - (i.CrossFadedProperty, - i.HeatmapColorProperty, - new a({ - "circle-radius": new s(n.paint_circle["circle-radius"]), - "circle-color": new s(n.paint_circle["circle-color"]), - "circle-blur": new s(n.paint_circle["circle-blur"]), - "circle-opacity": new s(n.paint_circle["circle-opacity"]), - "circle-translate": new o( - n.paint_circle["circle-translate"], - ), - "circle-translate-anchor": new o( - n.paint_circle["circle-translate-anchor"], - ), - "circle-pitch-scale": new o( - n.paint_circle["circle-pitch-scale"], - ), - "circle-pitch-alignment": new o( - n.paint_circle["circle-pitch-alignment"], - ), - "circle-stroke-width": new s( - n.paint_circle["circle-stroke-width"], - ), - "circle-stroke-color": new s( - n.paint_circle["circle-stroke-color"], - ), - "circle-stroke-opacity": new s( - n.paint_circle["circle-stroke-opacity"], - ), - })); - e.exports = { paint: l }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 196: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("../../data/bucket/fill_extrusion_bucket"), - a = t( - "../../util/intersection_tests", - ).multiPolygonIntersectsMultiPolygon, - o = t("../query_utils"), - s = o.translateDistance, - l = o.translate, - c = t("./fill_extrusion_style_layer_properties"), - u = t("../properties"), - f = - (u.Transitionable, - u.Transitioning, - u.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, c); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.createBucket = function (t) { - return new i(t); - }), - (e.prototype.queryRadius = function () { - return s(this.paint.get("fill-extrusion-translate")); - }), - (e.prototype.queryIntersectsFeature = function ( - t, - e, - r, - n, - i, - o, - ) { - var s = l( - t, - this.paint.get("fill-extrusion-translate"), - this.paint.get("fill-extrusion-translate-anchor"), - i, - o, - ); - return a(s, r); - }), - (e.prototype.hasOffscreenPass = function () { - return ( - 0 !== this.paint.get("fill-extrusion-opacity") && - "none" !== this.visibility - ); - }), - (e.prototype.resize = function () { - this.viewportFrame && - (this.viewportFrame.destroy(), - (this.viewportFrame = null)); - }), - e - ); - })(n)); - e.exports = f; - }, - { - "../../data/bucket/fill_extrusion_bucket": 46, - "../../util/intersection_tests": 264, - "../properties": 188, - "../query_utils": 189, - "../style_layer": 191, - "./fill_extrusion_style_layer_properties": 197, - }, - ], - 197: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = i.CrossFadedProperty, - c = - (i.HeatmapColorProperty, - new a({ - "fill-extrusion-opacity": new o( - n["paint_fill-extrusion"]["fill-extrusion-opacity"], - ), - "fill-extrusion-color": new s( - n["paint_fill-extrusion"]["fill-extrusion-color"], - ), - "fill-extrusion-translate": new o( - n["paint_fill-extrusion"]["fill-extrusion-translate"], - ), - "fill-extrusion-translate-anchor": new o( - n["paint_fill-extrusion"][ - "fill-extrusion-translate-anchor" - ], - ), - "fill-extrusion-pattern": new l( - n["paint_fill-extrusion"]["fill-extrusion-pattern"], - ), - "fill-extrusion-height": new s( - n["paint_fill-extrusion"]["fill-extrusion-height"], - ), - "fill-extrusion-base": new s( - n["paint_fill-extrusion"]["fill-extrusion-base"], - ), - })); - e.exports = { paint: c }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 198: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("../../data/bucket/fill_bucket"), - a = t( - "../../util/intersection_tests", - ).multiPolygonIntersectsMultiPolygon, - o = t("../query_utils"), - s = o.translateDistance, - l = o.translate, - c = t("./fill_style_layer_properties"), - u = t("../properties"), - f = - (u.Transitionable, - u.Transitioning, - u.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, c); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.recalculate = function (t) { - ((this.paint = - this._transitioningPaint.possiblyEvaluate(t)), - void 0 === - this._transitionablePaint.getValue( - "fill-outline-color", - ) && - (this.paint._values["fill-outline-color"] = - this.paint._values["fill-color"])); - }), - (e.prototype.createBucket = function (t) { - return new i(t); - }), - (e.prototype.queryRadius = function () { - return s(this.paint.get("fill-translate")); - }), - (e.prototype.queryIntersectsFeature = function ( - t, - e, - r, - n, - i, - o, - ) { - var s = l( - t, - this.paint.get("fill-translate"), - this.paint.get("fill-translate-anchor"), - i, - o, - ); - return a(s, r); - }), - e - ); - })(n)); - e.exports = f; - }, - { - "../../data/bucket/fill_bucket": 44, - "../../util/intersection_tests": 264, - "../properties": 188, - "../query_utils": 189, - "../style_layer": 191, - "./fill_style_layer_properties": 199, - }, - ], - 199: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = i.CrossFadedProperty, - c = - (i.HeatmapColorProperty, - new a({ - "fill-antialias": new o(n.paint_fill["fill-antialias"]), - "fill-opacity": new s(n.paint_fill["fill-opacity"]), - "fill-color": new s(n.paint_fill["fill-color"]), - "fill-outline-color": new s( - n.paint_fill["fill-outline-color"], - ), - "fill-translate": new o(n.paint_fill["fill-translate"]), - "fill-translate-anchor": new o( - n.paint_fill["fill-translate-anchor"], - ), - "fill-pattern": new l(n.paint_fill["fill-pattern"]), - })); - e.exports = { paint: c }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 200: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("../../data/bucket/heatmap_bucket"), - a = t("../../util/image").RGBAImage, - o = t("./heatmap_style_layer_properties"), - s = t("../properties"), - l = - (s.Transitionable, - s.Transitioning, - s.PossiblyEvaluated, - (function (t) { - function e(e) { - (t.call(this, e, o), this._updateColorRamp()); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.createBucket = function (t) { - return new i(t); - }), - (e.prototype.setPaintProperty = function (e, r, n) { - (t.prototype.setPaintProperty.call(this, e, r, n), - "heatmap-color" === e && this._updateColorRamp()); - }), - (e.prototype._updateColorRamp = function () { - for ( - var t = - this._transitionablePaint._values["heatmap-color"] - .value.expression, - e = new Uint8Array(1024), - r = e.length, - n = 4; - n < r; - n += 4 - ) { - var i = t.evaluate({ heatmapDensity: n / r }); - ((e[n + 0] = Math.floor((255 * i.r) / i.a)), - (e[n + 1] = Math.floor((255 * i.g) / i.a)), - (e[n + 2] = Math.floor((255 * i.b) / i.a)), - (e[n + 3] = Math.floor(255 * i.a))); - } - ((this.colorRamp = new a({ width: 256, height: 1 }, e)), - (this.colorRampTexture = null)); - }), - (e.prototype.resize = function () { - this.heatmapFbo && - (this.heatmapFbo.destroy(), (this.heatmapFbo = null)); - }), - (e.prototype.queryRadius = function () { - return 0; - }), - (e.prototype.queryIntersectsFeature = function () { - return !1; - }), - (e.prototype.hasOffscreenPass = function () { - return ( - 0 !== this.paint.get("heatmap-opacity") && - "none" !== this.visibility - ); - }), - e - ); - })(n)); - e.exports = l; - }, - { - "../../data/bucket/heatmap_bucket": 47, - "../../util/image": 263, - "../properties": 188, - "../style_layer": 191, - "./heatmap_style_layer_properties": 201, - }, - ], - 201: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = (i.CrossFadedProperty, i.HeatmapColorProperty), - c = new a({ - "heatmap-radius": new s(n.paint_heatmap["heatmap-radius"]), - "heatmap-weight": new s(n.paint_heatmap["heatmap-weight"]), - "heatmap-intensity": new o( - n.paint_heatmap["heatmap-intensity"], - ), - "heatmap-color": new l(n.paint_heatmap["heatmap-color"]), - "heatmap-opacity": new o(n.paint_heatmap["heatmap-opacity"]), - }); - e.exports = { paint: c }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 202: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("./hillshade_style_layer_properties"), - a = t("../properties"), - o = - (a.Transitionable, - a.Transitioning, - a.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, i); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.hasOffscreenPass = function () { - return ( - 0 !== this.paint.get("hillshade-exaggeration") && - "none" !== this.visibility - ); - }), - e - ); - })(n)); - e.exports = o; - }, - { - "../properties": 188, - "../style_layer": 191, - "./hillshade_style_layer_properties": 203, - }, - ], - 203: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = - (i.DataDrivenProperty, - i.CrossFadedProperty, - i.HeatmapColorProperty, - new a({ - "hillshade-illumination-direction": new o( - n.paint_hillshade["hillshade-illumination-direction"], - ), - "hillshade-illumination-anchor": new o( - n.paint_hillshade["hillshade-illumination-anchor"], - ), - "hillshade-exaggeration": new o( - n.paint_hillshade["hillshade-exaggeration"], - ), - "hillshade-shadow-color": new o( - n.paint_hillshade["hillshade-shadow-color"], - ), - "hillshade-highlight-color": new o( - n.paint_hillshade["hillshade-highlight-color"], - ), - "hillshade-accent-color": new o( - n.paint_hillshade["hillshade-accent-color"], - ), - })); - e.exports = { paint: s }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 204: [ - function (t, e, r) { - function n(t, e) { - return e > 0 ? e + 2 * t : t; - } - var i = t("@mapbox/point-geometry"), - a = t("../style_layer"), - o = t("../../data/bucket/line_bucket"), - s = t( - "../../util/intersection_tests", - ).multiPolygonIntersectsBufferedMultiLine, - l = t("../query_utils"), - c = l.getMaximumPaintValue, - u = l.translateDistance, - f = l.translate, - h = t("./line_style_layer_properties"), - p = t("../../util/util").extend, - d = t("../evaluation_parameters"), - g = t("../properties"), - m = - (g.Transitionable, - g.Transitioning, - g.Layout, - g.PossiblyEvaluated, - new ((function (t) { - function e() { - t.apply(this, arguments); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.possiblyEvaluate = function (e, r) { - return ( - (r = new d(Math.floor(r.zoom), { - now: r.now, - fadeDuration: r.fadeDuration, - zoomHistory: r.zoomHistory, - transition: r.transition, - })), - t.prototype.possiblyEvaluate.call(this, e, r) - ); - }), - (e.prototype.evaluate = function (e, r, n) { - return ( - (r = p({}, r, { zoom: Math.floor(r.zoom) })), - t.prototype.evaluate.call(this, e, r, n) - ); - }), - e - ); - })(g.DataDrivenProperty))( - h.paint.properties["line-width"].specification, - )); - m.useIntegerZoom = !0; - var v = (function (t) { - function e(e) { - t.call(this, e, h); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.recalculate = function (e) { - (t.prototype.recalculate.call(this, e), - (this.paint._values["line-floorwidth"] = - m.possiblyEvaluate( - this._transitioningPaint._values["line-width"].value, - e, - ))); - }), - (e.prototype.createBucket = function (t) { - return new o(t); - }), - (e.prototype.queryRadius = function (t) { - var e = t, - r = n( - c("line-width", this, e), - c("line-gap-width", this, e), - ), - i = c("line-offset", this, e); - return ( - r / 2 + Math.abs(i) + u(this.paint.get("line-translate")) - ); - }), - (e.prototype.queryIntersectsFeature = function ( - t, - e, - r, - a, - o, - l, - ) { - var c = f( - t, - this.paint.get("line-translate"), - this.paint.get("line-translate-anchor"), - o, - l, - ), - u = - (l / 2) * - n( - this.paint.get("line-width").evaluate(e), - this.paint.get("line-gap-width").evaluate(e), - ), - h = this.paint.get("line-offset").evaluate(e); - return ( - h && - (r = (function (t, e) { - for ( - var r = [], n = new i(0, 0), a = 0; - a < t.length; - a++ - ) { - for ( - var o = t[a], s = [], l = 0; - l < o.length; - l++ - ) { - var c = o[l - 1], - u = o[l], - f = o[l + 1], - h = 0 === l ? n : u.sub(c)._unit()._perp(), - p = - l === o.length - 1 - ? n - : f.sub(u)._unit()._perp(), - d = h._add(p)._unit(), - g = d.x * p.x + d.y * p.y; - (d._mult(1 / g), s.push(d._mult(e)._add(u))); - } - r.push(s); - } - return r; - })(r, h * l)), - s(c, r, u) - ); - }), - e - ); - })(a); - e.exports = v; - }, - { - "../../data/bucket/line_bucket": 49, - "../../util/intersection_tests": 264, - "../../util/util": 275, - "../evaluation_parameters": 182, - "../properties": 188, - "../query_utils": 189, - "../style_layer": 191, - "./line_style_layer_properties": 205, - "@mapbox/point-geometry": 4, - }, - ], - 205: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = i.CrossFadedProperty, - c = - (i.HeatmapColorProperty, - new a({ - "line-cap": new o(n.layout_line["line-cap"]), - "line-join": new s(n.layout_line["line-join"]), - "line-miter-limit": new o( - n.layout_line["line-miter-limit"], - ), - "line-round-limit": new o( - n.layout_line["line-round-limit"], - ), - })), - u = new a({ - "line-opacity": new s(n.paint_line["line-opacity"]), - "line-color": new s(n.paint_line["line-color"]), - "line-translate": new o(n.paint_line["line-translate"]), - "line-translate-anchor": new o( - n.paint_line["line-translate-anchor"], - ), - "line-width": new s(n.paint_line["line-width"]), - "line-gap-width": new s(n.paint_line["line-gap-width"]), - "line-offset": new s(n.paint_line["line-offset"]), - "line-blur": new s(n.paint_line["line-blur"]), - "line-dasharray": new l(n.paint_line["line-dasharray"]), - "line-pattern": new l(n.paint_line["line-pattern"]), - }); - e.exports = { paint: u, layout: c }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 206: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("./raster_style_layer_properties"), - a = t("../properties"), - o = - (a.Transitionable, - a.Transitioning, - a.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, i); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - e - ); - })(n)); - e.exports = o; - }, - { - "../properties": 188, - "../style_layer": 191, - "./raster_style_layer_properties": 207, - }, - ], - 207: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = - (i.DataDrivenProperty, - i.CrossFadedProperty, - i.HeatmapColorProperty, - new a({ - "raster-opacity": new o(n.paint_raster["raster-opacity"]), - "raster-hue-rotate": new o( - n.paint_raster["raster-hue-rotate"], - ), - "raster-brightness-min": new o( - n.paint_raster["raster-brightness-min"], - ), - "raster-brightness-max": new o( - n.paint_raster["raster-brightness-max"], - ), - "raster-saturation": new o( - n.paint_raster["raster-saturation"], - ), - "raster-contrast": new o(n.paint_raster["raster-contrast"]), - "raster-fade-duration": new o( - n.paint_raster["raster-fade-duration"], - ), - })); - e.exports = { paint: s }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 208: [ - function (t, e, r) { - var n = t("../style_layer"), - i = t("../../data/bucket/symbol_bucket"), - a = t("../../util/token"), - o = t("../../style-spec/expression").isExpression, - s = t("./symbol_style_layer_properties"), - l = t("../properties"), - c = - (l.Transitionable, - l.Transitioning, - l.Layout, - l.PossiblyEvaluated, - (function (t) { - function e(e) { - t.call(this, e, s); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.recalculate = function (e) { - (t.prototype.recalculate.call(this, e), - "auto" === - this.layout.get("icon-rotation-alignment") && - ("line" === this.layout.get("symbol-placement") - ? (this.layout._values[ - "icon-rotation-alignment" - ] = "map") - : (this.layout._values[ - "icon-rotation-alignment" - ] = "viewport")), - "auto" === - this.layout.get("text-rotation-alignment") && - ("line" === this.layout.get("symbol-placement") - ? (this.layout._values[ - "text-rotation-alignment" - ] = "map") - : (this.layout._values[ - "text-rotation-alignment" - ] = "viewport")), - "auto" === this.layout.get("text-pitch-alignment") && - (this.layout._values["text-pitch-alignment"] = - this.layout.get("text-rotation-alignment")), - "auto" === this.layout.get("icon-pitch-alignment") && - (this.layout._values["icon-pitch-alignment"] = - this.layout.get("icon-rotation-alignment"))); - }), - (e.prototype.getValueAndResolveTokens = function (t, e) { - var r = this.layout.get(t).evaluate(e), - n = this._unevaluatedLayout._values[t]; - return n.isDataDriven() || o(n.value) - ? r - : a(e.properties, r); - }), - (e.prototype.createBucket = function (t) { - return new i(t); - }), - (e.prototype.queryRadius = function () { - return 0; - }), - (e.prototype.queryIntersectsFeature = function () { - return !1; - }), - e - ); - })(n)); - e.exports = c; - }, - { - "../../data/bucket/symbol_bucket": 51, - "../../style-spec/expression": 139, - "../../util/token": 274, - "../properties": 188, - "../style_layer": 191, - "./symbol_style_layer_properties": 209, - }, - ], - 209: [ - function (t, e, r) { - var n = t("../../style-spec/reference/latest"), - i = t("../properties"), - a = i.Properties, - o = i.DataConstantProperty, - s = i.DataDrivenProperty, - l = - (i.CrossFadedProperty, - i.HeatmapColorProperty, - new a({ - "symbol-placement": new o( - n.layout_symbol["symbol-placement"], - ), - "symbol-spacing": new o(n.layout_symbol["symbol-spacing"]), - "symbol-avoid-edges": new o( - n.layout_symbol["symbol-avoid-edges"], - ), - "icon-allow-overlap": new o( - n.layout_symbol["icon-allow-overlap"], - ), - "icon-ignore-placement": new o( - n.layout_symbol["icon-ignore-placement"], - ), - "icon-optional": new o(n.layout_symbol["icon-optional"]), - "icon-rotation-alignment": new o( - n.layout_symbol["icon-rotation-alignment"], - ), - "icon-size": new s(n.layout_symbol["icon-size"]), - "icon-text-fit": new o(n.layout_symbol["icon-text-fit"]), - "icon-text-fit-padding": new o( - n.layout_symbol["icon-text-fit-padding"], - ), - "icon-image": new s(n.layout_symbol["icon-image"]), - "icon-rotate": new s(n.layout_symbol["icon-rotate"]), - "icon-padding": new o(n.layout_symbol["icon-padding"]), - "icon-keep-upright": new o( - n.layout_symbol["icon-keep-upright"], - ), - "icon-offset": new s(n.layout_symbol["icon-offset"]), - "icon-anchor": new s(n.layout_symbol["icon-anchor"]), - "icon-pitch-alignment": new o( - n.layout_symbol["icon-pitch-alignment"], - ), - "text-pitch-alignment": new o( - n.layout_symbol["text-pitch-alignment"], - ), - "text-rotation-alignment": new o( - n.layout_symbol["text-rotation-alignment"], - ), - "text-field": new s(n.layout_symbol["text-field"]), - "text-font": new s(n.layout_symbol["text-font"]), - "text-size": new s(n.layout_symbol["text-size"]), - "text-max-width": new s(n.layout_symbol["text-max-width"]), - "text-line-height": new o( - n.layout_symbol["text-line-height"], - ), - "text-letter-spacing": new s( - n.layout_symbol["text-letter-spacing"], - ), - "text-justify": new s(n.layout_symbol["text-justify"]), - "text-anchor": new s(n.layout_symbol["text-anchor"]), - "text-max-angle": new o(n.layout_symbol["text-max-angle"]), - "text-rotate": new s(n.layout_symbol["text-rotate"]), - "text-padding": new o(n.layout_symbol["text-padding"]), - "text-keep-upright": new o( - n.layout_symbol["text-keep-upright"], - ), - "text-transform": new s(n.layout_symbol["text-transform"]), - "text-offset": new s(n.layout_symbol["text-offset"]), - "text-allow-overlap": new o( - n.layout_symbol["text-allow-overlap"], - ), - "text-ignore-placement": new o( - n.layout_symbol["text-ignore-placement"], - ), - "text-optional": new o(n.layout_symbol["text-optional"]), - })), - c = new a({ - "icon-opacity": new s(n.paint_symbol["icon-opacity"]), - "icon-color": new s(n.paint_symbol["icon-color"]), - "icon-halo-color": new s(n.paint_symbol["icon-halo-color"]), - "icon-halo-width": new s(n.paint_symbol["icon-halo-width"]), - "icon-halo-blur": new s(n.paint_symbol["icon-halo-blur"]), - "icon-translate": new o(n.paint_symbol["icon-translate"]), - "icon-translate-anchor": new o( - n.paint_symbol["icon-translate-anchor"], - ), - "text-opacity": new s(n.paint_symbol["text-opacity"]), - "text-color": new s(n.paint_symbol["text-color"]), - "text-halo-color": new s(n.paint_symbol["text-halo-color"]), - "text-halo-width": new s(n.paint_symbol["text-halo-width"]), - "text-halo-blur": new s(n.paint_symbol["text-halo-blur"]), - "text-translate": new o(n.paint_symbol["text-translate"]), - "text-translate-anchor": new o( - n.paint_symbol["text-translate-anchor"], - ), - }); - e.exports = { paint: c, layout: l }; - }, - { "../../style-spec/reference/latest": 151, "../properties": 188 }, - ], - 210: [ - function (t, e, r) { - var n = t("./style_layer"), - i = t("../util/util"), - a = t("../style-spec/feature_filter"), - o = t("../style-spec/group_by_layout"), - s = function (t) { - t && this.replace(t); - }; - ((s.prototype.replace = function (t) { - ((this._layerConfigs = {}), - (this._layers = {}), - this.update(t, [])); - }), - (s.prototype.update = function (t, e) { - for (var r = this, s = 0, l = t; s < l.length; s += 1) { - var c = l[s]; - r._layerConfigs[c.id] = c; - var u = (r._layers[c.id] = n.create(c)); - u._featureFilter = a(u.filter); - } - for (var f = 0, h = e; f < h.length; f += 1) { - var p = h[f]; - (delete r._layerConfigs[p], delete r._layers[p]); - } - this.familiesBySource = {}; - for ( - var d = 0, g = o(i.values(this._layerConfigs)); - d < g.length; - d += 1 - ) { - var m = g[d].map(function (t) { - return r._layers[t.id]; - }), - v = m[0]; - if ("none" !== v.visibility) { - var y = v.source || "", - x = r.familiesBySource[y]; - x || (x = r.familiesBySource[y] = {}); - var b = v.sourceLayer || "_geojsonTileLayer", - _ = x[b]; - (_ || (_ = x[b] = []), _.push(m)); - } - } - }), - (e.exports = s)); - }, - { - "../style-spec/feature_filter": 148, - "../style-spec/group_by_layout": 150, - "../util/util": 275, - "./style_layer": 191, - }, - ], - 211: [ - function (t, e, r) { - ((e.exports = t("../style-spec/validate_style.min")), - (e.exports.emitErrors = function (t, e) { - if (e && e.length) { - for (var r = 0, n = e; r < n.length; r += 1) { - var i = n[r].message; - t.fire("error", { error: new Error(i) }); - } - return !0; - } - return !1; - })); - }, - { "../style-spec/validate_style.min": 181 }, - ], - 212: [ - function (t, e, r) { - var n = function () { - this.first = !0; - }; - ((n.prototype.update = function (t, e) { - var r = Math.floor(t); - return this.first - ? ((this.first = !1), - (this.lastIntegerZoom = r), - (this.lastIntegerZoomTime = 0), - (this.lastZoom = t), - (this.lastFloorZoom = r), - !0) - : (this.lastFloorZoom > r - ? ((this.lastIntegerZoom = r + 1), - (this.lastIntegerZoomTime = e)) - : this.lastFloorZoom < r && - ((this.lastIntegerZoom = r), - (this.lastIntegerZoomTime = e)), - t !== this.lastZoom && - ((this.lastZoom = t), (this.lastFloorZoom = r), !0)); - }), - (e.exports = n)); - }, - {}, - ], - 213: [ - function (t, e, r) { - var n = t("@mapbox/point-geometry"), - i = t("../util/web_worker_transfer").register, - a = (function (t) { - function e(e, r, n, i) { - (t.call(this, e, r), - (this.angle = n), - void 0 !== i && (this.segment = i)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.clone = function () { - return new e(this.x, this.y, this.angle, this.segment); - }), - e - ); - })(n); - (i("Anchor", a), (e.exports = a)); - }, - { "../util/web_worker_transfer": 278, "@mapbox/point-geometry": 4 }, - ], - 214: [ - function (t, e, r) { - e.exports = function (t, e, r, n, i) { - if (void 0 === e.segment) return !0; - for (var a = e, o = e.segment + 1, s = 0; s > -r / 2; ) { - if (--o < 0) return !1; - ((s -= t[o].dist(a)), (a = t[o])); - } - ((s += t[o].dist(t[o + 1])), o++); - for (var l = [], c = 0; s < r / 2; ) { - var u = t[o - 1], - f = t[o], - h = t[o + 1]; - if (!h) return !1; - var p = u.angleTo(f) - f.angleTo(h); - for ( - p = Math.abs(((p + 3 * Math.PI) % (2 * Math.PI)) - Math.PI), - l.push({ distance: s, angleDelta: p }), - c += p; - s - l[0].distance > n; - - ) - c -= l.shift().angleDelta; - if (c > i) return !1; - (o++, (s += f.dist(h))); - } - return !0; - }; - }, - {}, - ], - 215: [ - function (t, e, r) { - var n = t("@mapbox/point-geometry"); - e.exports = function (t, e, r, i, a) { - for (var o = [], s = 0; s < t.length; s++) - for (var l = t[s], c = void 0, u = 0; u < l.length - 1; u++) { - var f = l[u], - h = l[u + 1]; - (f.x < e && h.x < e) || - (f.x < e - ? (f = new n( - e, - f.y + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), - )._round()) - : h.x < e && - (h = new n( - e, - f.y + (h.y - f.y) * ((e - f.x) / (h.x - f.x)), - )._round()), - (f.y < r && h.y < r) || - (f.y < r - ? (f = new n( - f.x + (h.x - f.x) * ((r - f.y) / (h.y - f.y)), - r, - )._round()) - : h.y < r && - (h = new n( - f.x + (h.x - f.x) * ((r - f.y) / (h.y - f.y)), - r, - )._round()), - (f.x >= i && h.x >= i) || - (f.x >= i - ? (f = new n( - i, - f.y + (h.y - f.y) * ((i - f.x) / (h.x - f.x)), - )._round()) - : h.x >= i && - (h = new n( - i, - f.y + (h.y - f.y) * ((i - f.x) / (h.x - f.x)), - )._round()), - (f.y >= a && h.y >= a) || - (f.y >= a - ? (f = new n( - f.x + (h.x - f.x) * ((a - f.y) / (h.y - f.y)), - a, - )._round()) - : h.y >= a && - (h = new n( - f.x + (h.x - f.x) * ((a - f.y) / (h.y - f.y)), - a, - )._round()), - (c && f.equals(c[c.length - 1])) || - ((c = [f]), o.push(c)), - c.push(h))))); - } - return o; - }; - }, - { "@mapbox/point-geometry": 4 }, - ], - 216: [ - function (t, e, r) { - var n = function (t, e, r, n, i, a, o, s, l, c, u) { - var f = o.top * s - l, - h = o.bottom * s + l, - p = o.left * s - l, - d = o.right * s + l; - if (((this.boxStartIndex = t.length), c)) { - var g = h - f, - m = d - p; - g > 0 && - ((g = Math.max(10 * s, g)), - this._addLineCollisionCircles( - t, - e, - r, - r.segment, - m, - g, - n, - i, - a, - u, - )); - } else t.emplaceBack(r.x, r.y, p, f, d, h, n, i, a, 0, 0); - this.boxEndIndex = t.length; - }; - ((n.prototype._addLineCollisionCircles = function ( - t, - e, - r, - n, - i, - a, - o, - s, - l, - c, - ) { - var u = a / 2, - f = Math.floor(i / u), - h = 1 + (0.4 * Math.log(c)) / Math.LN2, - p = Math.floor((f * h) / 2), - d = -a / 2, - g = r, - m = n + 1, - v = d, - y = -i / 2, - x = y - i / 4; - do { - if (--m < 0) { - if (v > y) return; - m = 0; - break; - } - ((v -= e[m].dist(g)), (g = e[m])); - } while (v > x); - for (var b = e[m].dist(e[m + 1]), _ = -p; _ < f + p; _++) { - var w = _ * u, - k = y + w; - if ((w < 0 && (k += w), w > i && (k += w - i), !(k < v))) { - for (; v + b < k; ) { - if (((v += b), ++m + 1 >= e.length)) return; - b = e[m].dist(e[m + 1]); - } - var M = k - v, - A = e[m], - T = e[m + 1].sub(A)._unit()._mult(M)._add(A)._round(), - S = Math.abs(k - d) < u ? 0 : 0.8 * (k - d); - t.emplaceBack( - T.x, - T.y, - -a / 2, - -a / 2, - a / 2, - a / 2, - o, - s, - l, - a / 2, - S, - ); - } - } - }), - (e.exports = n)); - }, - {}, - ], - 217: [ - function (t, e, r) { - function n(t, e, r) { - t[e + 4] = r ? 1 : 0; - } - var i = t("@mapbox/point-geometry"), - a = t("../util/intersection_tests"), - o = t("./grid_index"), - s = (t("@mapbox/gl-matrix").mat4, t("../symbol/projection")), - l = function (t, e, r) { - (void 0 === e && - (e = new o(t.width + 200, t.height + 200, 25)), - void 0 === r && - (r = new o(t.width + 200, t.height + 200, 25)), - (this.transform = t), - (this.grid = e), - (this.ignoredGrid = r), - (this.pitchfactor = - Math.cos(t._pitch) * t.cameraToCenterDistance), - (this.screenRightBoundary = t.width + 100), - (this.screenBottomBoundary = t.height + 100)); - }; - ((l.prototype.placeCollisionBox = function (t, e, r, n) { - var i = this.projectAndGetPerspectiveRatio( - n, - t.anchorPointX, - t.anchorPointY, - ), - a = r * i.perspectiveRatio, - o = t.x1 * a + i.point.x, - s = t.y1 * a + i.point.y, - l = t.x2 * a + i.point.x, - c = t.y2 * a + i.point.y; - return !e && this.grid.hitTest(o, s, l, c) - ? { box: [], offscreen: !1 } - : { - box: [o, s, l, c], - offscreen: this.isOffscreen(o, s, l, c), - }; - }), - (l.prototype.approximateTileDistance = function ( - t, - e, - r, - n, - i, - ) { - var a = i ? 1 : n / this.pitchfactor, - o = t.lastSegmentViewportDistance * r; - return ( - t.prevTileDistance + o + (a - 1) * o * Math.abs(Math.sin(e)) - ); - }), - (l.prototype.placeCollisionCircles = function ( - t, - e, - r, - a, - o, - l, - c, - u, - f, - h, - p, - d, - g, - ) { - var m = this, - v = [], - y = this.projectAnchor(h, l.anchorX, l.anchorY), - x = f / 24, - b = l.lineOffsetX * f, - _ = l.lineOffsetY * f, - w = new i(l.anchorX, l.anchorY), - k = s.project(w, p).point, - M = s.placeFirstAndLastGlyph( - x, - u, - b, - _, - !1, - k, - w, - l, - c, - p, - {}, - !0, - ), - A = !1, - T = !0, - S = y.perspectiveRatio * a, - C = 1 / (a * r), - E = 0, - L = 0; - M && - ((E = this.approximateTileDistance( - M.first.tileDistance, - M.first.angle, - C, - y.cameraDistance, - g, - )), - (L = this.approximateTileDistance( - M.last.tileDistance, - M.last.angle, - C, - y.cameraDistance, - g, - ))); - for (var z = 0; z < t.length; z += 5) { - var P = t[z], - D = t[z + 1], - O = t[z + 2], - I = t[z + 3]; - if (!M || I < -E || I > L) n(t, z, !1); - else { - var R = m.projectPoint(h, P, D), - B = O * S; - if (v.length > 0) { - var F = R.x - v[v.length - 4], - N = R.y - v[v.length - 3]; - if (B * B * 2 > F * F + N * N && z + 8 < t.length) { - var j = t[z + 8]; - if (j > -E && j < L) { - n(t, z, !1); - continue; - } - } - } - var V = z / 5; - if ( - (v.push(R.x, R.y, B, V), - n(t, z, !0), - (T = - T && - m.isOffscreen(R.x - B, R.y - B, R.x + B, R.y + B)), - !e && m.grid.hitTestCircle(R.x, R.y, B)) - ) { - if (!d) return { circles: [], offscreen: !1 }; - A = !0; - } - } - } - return { circles: A ? [] : v, offscreen: T }; - }), - (l.prototype.queryRenderedSymbols = function ( - t, - e, - r, - n, - o, - s, - ) { - var l = {}, - c = []; - if ( - 0 === t.length || - (0 === this.grid.keysLength() && - 0 === this.ignoredGrid.keysLength()) - ) - return c; - for ( - var u = this.transform.calculatePosMatrix(e.toUnwrapped()), - f = [], - h = 1 / 0, - p = 1 / 0, - d = -1 / 0, - g = -1 / 0, - m = 0; - m < t.length; - m++ - ) - for (var v = t[m], y = 0; y < v.length; y++) { - var x = this.projectPoint(u, v[y].x, v[y].y); - ((h = Math.min(h, x.x)), - (p = Math.min(p, x.y)), - (d = Math.max(d, x.x)), - (g = Math.max(g, x.y)), - f.push(x)); - } - for ( - var b = e.key, - _ = [], - w = this.grid.query(h, p, d, g), - k = 0; - k < w.length; - k++ - ) - w[k].sourceID === o && - w[k].tileID === b && - s[w[k].bucketInstanceId] && - _.push(w[k].boxIndex); - for ( - var M = this.ignoredGrid.query(h, p, d, g), A = 0; - A < M.length; - A++ - ) - M[A].sourceID === o && - M[A].tileID === b && - s[M[A].bucketInstanceId] && - _.push(M[A].boxIndex); - for (var T = 0; T < _.length; T++) { - var S = n.get(_[T]), - C = S.sourceLayerIndex, - E = S.featureIndex, - L = S.bucketIndex; - if ( - (void 0 === l[C] && (l[C] = {}), - void 0 === l[C][E] && (l[C][E] = {}), - !l[C][E][L]) - ) { - var z = this.projectAndGetPerspectiveRatio( - u, - S.anchorPointX, - S.anchorPointY, - ), - P = r * z.perspectiveRatio, - D = S.x1 * P + z.point.x, - O = S.y1 * P + z.point.y, - I = S.x2 * P + z.point.x, - R = S.y2 * P + z.point.y, - B = [ - new i(D, O), - new i(I, O), - new i(I, R), - new i(D, R), - ]; - a.polygonIntersectsPolygon(f, B) && - ((l[C][E][L] = !0), c.push(_[T])); - } - } - return c; - }), - (l.prototype.insertCollisionBox = function (t, e, r, n, i, a) { - var o = { - tileID: r, - sourceID: n, - bucketInstanceId: i, - boxIndex: a, - }; - (e ? this.ignoredGrid : this.grid).insert( - o, - t[0], - t[1], - t[2], - t[3], - ); - }), - (l.prototype.insertCollisionCircles = function ( - t, - e, - r, - n, - i, - a, - ) { - for ( - var o = e ? this.ignoredGrid : this.grid, s = 0; - s < t.length; - s += 4 - ) { - var l = { - tileID: r, - sourceID: n, - bucketInstanceId: i, - boxIndex: a + t[s + 3], - }; - o.insertCircle(l, t[s], t[s + 1], t[s + 2]); - } - }), - (l.prototype.projectAnchor = function (t, e, r) { - var n = [e, r, 0, 1]; - return ( - s.xyTransformMat4(n, n, t), - { - perspectiveRatio: - 0.5 + - (this.transform.cameraToCenterDistance / n[3]) * 0.5, - cameraDistance: n[3], - } - ); - }), - (l.prototype.projectPoint = function (t, e, r) { - var n = [e, r, 0, 1]; - return ( - s.xyTransformMat4(n, n, t), - new i( - ((n[0] / n[3] + 1) / 2) * this.transform.width + 100, - ((-n[1] / n[3] + 1) / 2) * this.transform.height + 100, - ) - ); - }), - (l.prototype.projectAndGetPerspectiveRatio = function ( - t, - e, - r, - ) { - var n = [e, r, 0, 1]; - return ( - s.xyTransformMat4(n, n, t), - { - point: new i( - ((n[0] / n[3] + 1) / 2) * this.transform.width + 100, - ((-n[1] / n[3] + 1) / 2) * this.transform.height + 100, - ), - perspectiveRatio: - 0.5 + - (this.transform.cameraToCenterDistance / n[3]) * 0.5, - } - ); - }), - (l.prototype.isOffscreen = function (t, e, r, n) { - return ( - r < 100 || - t >= this.screenRightBoundary || - n < 100 || - e > this.screenBottomBoundary - ); - }), - (e.exports = l)); - }, - { - "../symbol/projection": 224, - "../util/intersection_tests": 264, - "./grid_index": 220, - "@mapbox/gl-matrix": 2, - "@mapbox/point-geometry": 4, - }, - ], - 218: [ - function (t, e, r) { - var n = t("../data/extent"), - i = 512 / n / 2, - a = function (t, e, r) { - var n = this; - ((this.tileID = t), - (this.indexedSymbolInstances = {}), - (this.bucketInstanceId = r)); - for (var i = 0, a = e; i < a.length; i += 1) { - var o = a[i], - s = o.key; - (n.indexedSymbolInstances[s] || - (n.indexedSymbolInstances[s] = []), - n.indexedSymbolInstances[s].push({ - crossTileID: o.crossTileID, - coord: n.getScaledCoordinates(o, t), - })); - } - }; - ((a.prototype.getScaledCoordinates = function (t, e) { - var r = e.canonical.z - this.tileID.canonical.z, - a = i / Math.pow(2, r), - o = t.anchor; - return { - x: Math.floor((e.canonical.x * n + o.x) * a), - y: Math.floor((e.canonical.y * n + o.y) * a), - }; - }), - (a.prototype.findMatches = function (t, e, r) { - for ( - var n = - this.tileID.canonical.z < e.canonical.z - ? 1 - : Math.pow( - 2, - this.tileID.canonical.z - e.canonical.z, - ), - i = 0, - a = t; - i < a.length; - i += 1 - ) { - var o = a[i]; - if (!o.crossTileID) { - var s = this.indexedSymbolInstances[o.key]; - if (s) - for ( - var l = this.getScaledCoordinates(o, e), c = 0, u = s; - c < u.length; - c += 1 - ) { - var f = u[c]; - if ( - Math.abs(f.coord.x - l.x) <= n && - Math.abs(f.coord.y - l.y) <= n && - !r[f.crossTileID] - ) { - ((r[f.crossTileID] = !0), - (o.crossTileID = f.crossTileID)); - break; - } - } - } - } - })); - var o = function () { - this.maxCrossTileID = 0; - }; - o.prototype.generate = function () { - return ++this.maxCrossTileID; - }; - var s = function () { - ((this.indexes = {}), (this.usedCrossTileIDs = {})); - }; - ((s.prototype.addBucket = function (t, e, r) { - if ( - this.indexes[t.overscaledZ] && - this.indexes[t.overscaledZ][t.key] - ) { - if ( - this.indexes[t.overscaledZ][t.key].bucketInstanceId === - e.bucketInstanceId - ) - return !1; - this.removeBucketCrossTileIDs( - t.overscaledZ, - this.indexes[t.overscaledZ][t.key], - ); - } - for (var n = 0, i = e.symbolInstances; n < i.length; n += 1) - i[n].crossTileID = 0; - this.usedCrossTileIDs[t.overscaledZ] || - (this.usedCrossTileIDs[t.overscaledZ] = {}); - var o = this.usedCrossTileIDs[t.overscaledZ]; - for (var s in this.indexes) { - var l = this.indexes[s]; - if (Number(s) > t.overscaledZ) - for (var c in l) { - var u = l[c]; - u.tileID.isChildOf(t) && - u.findMatches(e.symbolInstances, t, o); - } - else { - var f = l[t.scaledTo(Number(s)).key]; - f && f.findMatches(e.symbolInstances, t, o); - } - } - for (var h = 0, p = e.symbolInstances; h < p.length; h += 1) { - var d = p[h]; - d.crossTileID || - ((d.crossTileID = r.generate()), (o[d.crossTileID] = !0)); - } - return ( - void 0 === this.indexes[t.overscaledZ] && - (this.indexes[t.overscaledZ] = {}), - (this.indexes[t.overscaledZ][t.key] = new a( - t, - e.symbolInstances, - e.bucketInstanceId, - )), - !0 - ); - }), - (s.prototype.removeBucketCrossTileIDs = function (t, e) { - for (var r in e.indexedSymbolInstances) - for ( - var n = 0, i = e.indexedSymbolInstances[r]; - n < i.length; - n += 1 - ) { - var a = i[n]; - delete this.usedCrossTileIDs[t][a.crossTileID]; - } - }), - (s.prototype.removeStaleBuckets = function (t) { - var e = this, - r = !1; - for (var n in e.indexes) { - var i = e.indexes[n]; - for (var a in i) - t[i[a].bucketInstanceId] || - (e.removeBucketCrossTileIDs(n, i[a]), - delete i[a], - (r = !0)); - } - return r; - })); - var l = function () { - ((this.layerIndexes = {}), - (this.crossTileIDs = new o()), - (this.maxBucketInstanceId = 0)); - }; - ((l.prototype.addLayer = function (t, e) { - var r = this.layerIndexes[t.id]; - void 0 === r && (r = this.layerIndexes[t.id] = new s()); - for (var n = !1, i = {}, a = 0, o = e; a < o.length; a += 1) { - var l = o[a], - c = l.getBucket(t); - c && - (c.bucketInstanceId || - (c.bucketInstanceId = ++this.maxBucketInstanceId), - r.addBucket(l.tileID, c, this.crossTileIDs) && (n = !0), - (i[c.bucketInstanceId] = !0)); - } - return (r.removeStaleBuckets(i) && (n = !0), n); - }), - (l.prototype.pruneUnusedLayers = function (t) { - var e = {}; - for (var r in (t.forEach(function (t) { - e[t] = !0; - }), - this.layerIndexes)) - e[r] || delete this.layerIndexes[r]; - }), - (e.exports = l)); - }, - { "../data/extent": 53 }, - ], - 219: [ - function (t, e, r) { - var n = t("../style-spec/util/interpolate").number, - i = t("../symbol/anchor"), - a = t("./check_max_angle"); - e.exports = function (t, e, r, o, s, l, c, u, f) { - var h = o ? 0.6 * l * c : 0, - p = Math.max( - o ? o.right - o.left : 0, - s ? s.right - s.left : 0, - ), - d = - 0 === t[0].x || - t[0].x === f || - 0 === t[0].y || - t[0].y === f; - return ( - e - p * c < e / 4 && (e = p * c + e / 4), - (function t(e, r, o, s, l, c, u, f, h) { - for (var p = c / 2, d = 0, g = 0; g < e.length - 1; g++) - d += e[g].dist(e[g + 1]); - for ( - var m = 0, v = r - o, y = [], x = 0; - x < e.length - 1; - x++ - ) { - for ( - var b = e[x], - _ = e[x + 1], - w = b.dist(_), - k = _.angleTo(b); - v + o < m + w; - - ) { - var M = ((v += o) - m) / w, - A = n(b.x, _.x, M), - T = n(b.y, _.y, M); - if ( - A >= 0 && - A < h && - T >= 0 && - T < h && - v - p >= 0 && - v + p <= d - ) { - var S = new i(A, T, k, x); - (S._round(), (s && !a(e, S, c, s, l)) || y.push(S)); - } - } - m += w; - } - return ( - f || - y.length || - u || - (y = t(e, m / 2, o, s, l, c, u, !0, h)), - y - ); - })( - t, - d ? ((e / 2) * u) % e : ((p / 2 + 2 * l) * c * u) % e, - e, - h, - r, - p * c, - d, - !1, - f, - ) - ); - }; - }, - { - "../style-spec/util/interpolate": 158, - "../symbol/anchor": 213, - "./check_max_angle": 214, - }, - ], - 220: [ - function (t, e, r) { - var n = function (t, e, r) { - var n = (this.boxCells = []), - i = (this.circleCells = []); - ((this.xCellCount = Math.ceil(t / r)), - (this.yCellCount = Math.ceil(e / r))); - for (var a = 0; a < this.xCellCount * this.yCellCount; a++) - (n.push([]), i.push([])); - ((this.circleKeys = []), - (this.boxKeys = []), - (this.bboxes = []), - (this.circles = []), - (this.width = t), - (this.height = e), - (this.xScale = this.xCellCount / t), - (this.yScale = this.yCellCount / e), - (this.boxUid = 0), - (this.circleUid = 0)); - }; - ((n.prototype.keysLength = function () { - return this.boxKeys.length + this.circleKeys.length; - }), - (n.prototype.insert = function (t, e, r, n, i) { - (this._forEachCell( - e, - r, - n, - i, - this._insertBoxCell, - this.boxUid++, - ), - this.boxKeys.push(t), - this.bboxes.push(e), - this.bboxes.push(r), - this.bboxes.push(n), - this.bboxes.push(i)); - }), - (n.prototype.insertCircle = function (t, e, r, n) { - (this._forEachCell( - e - n, - r - n, - e + n, - r + n, - this._insertCircleCell, - this.circleUid++, - ), - this.circleKeys.push(t), - this.circles.push(e), - this.circles.push(r), - this.circles.push(n)); - }), - (n.prototype._insertBoxCell = function (t, e, r, n, i, a) { - this.boxCells[i].push(a); - }), - (n.prototype._insertCircleCell = function (t, e, r, n, i, a) { - this.circleCells[i].push(a); - }), - (n.prototype._query = function (t, e, r, n, i) { - if (r < 0 || t > this.width || n < 0 || e > this.height) - return !i && []; - var a = []; - if (t <= 0 && e <= 0 && this.width <= r && this.height <= n) - a = Array.prototype.slice - .call(this.boxKeys) - .concat(this.circleKeys); - else { - var o = { hitTest: i, seenUids: { box: {}, circle: {} } }; - this._forEachCell(t, e, r, n, this._queryCell, a, o); - } - return i ? a.length > 0 : a; - }), - (n.prototype._queryCircle = function (t, e, r, n) { - var i = t - r, - a = t + r, - o = e - r, - s = e + r; - if (a < 0 || i > this.width || s < 0 || o > this.height) - return !n && []; - var l = [], - c = { - hitTest: n, - circle: { x: t, y: e, radius: r }, - seenUids: { box: {}, circle: {} }, - }; - return ( - this._forEachCell(i, o, a, s, this._queryCellCircle, l, c), - n ? l.length > 0 : l - ); - }), - (n.prototype.query = function (t, e, r, n) { - return this._query(t, e, r, n, !1); - }), - (n.prototype.hitTest = function (t, e, r, n) { - return this._query(t, e, r, n, !0); - }), - (n.prototype.hitTestCircle = function (t, e, r) { - return this._queryCircle(t, e, r, !0); - }), - (n.prototype._queryCell = function (t, e, r, n, i, a, o) { - var s = this, - l = o.seenUids, - c = this.boxCells[i]; - if (null !== c) - for ( - var u = this.bboxes, f = 0, h = c; - f < h.length; - f += 1 - ) { - var p = h[f]; - if (!l.box[p]) { - l.box[p] = !0; - var d = 4 * p; - if ( - t <= u[d + 2] && - e <= u[d + 3] && - r >= u[d + 0] && - n >= u[d + 1] - ) { - if (o.hitTest) return (a.push(!0), !0); - a.push(s.boxKeys[p]); - } - } - } - var g = this.circleCells[i]; - if (null !== g) - for ( - var m = this.circles, v = 0, y = g; - v < y.length; - v += 1 - ) { - var x = y[v]; - if (!l.circle[x]) { - l.circle[x] = !0; - var b = 3 * x; - if ( - s._circleAndRectCollide( - m[b], - m[b + 1], - m[b + 2], - t, - e, - r, - n, - ) - ) { - if (o.hitTest) return (a.push(!0), !0); - a.push(s.circleKeys[x]); - } - } - } - }), - (n.prototype._queryCellCircle = function (t, e, r, n, i, a, o) { - var s = o.circle, - l = o.seenUids, - c = this.boxCells[i]; - if (null !== c) - for ( - var u = this.bboxes, f = 0, h = c; - f < h.length; - f += 1 - ) { - var p = h[f]; - if (!l.box[p]) { - l.box[p] = !0; - var d = 4 * p; - if ( - this._circleAndRectCollide( - s.x, - s.y, - s.radius, - u[d + 0], - u[d + 1], - u[d + 2], - u[d + 3], - ) - ) - return (a.push(!0), !0); - } - } - var g = this.circleCells[i]; - if (null !== g) - for ( - var m = this.circles, v = 0, y = g; - v < y.length; - v += 1 - ) { - var x = y[v]; - if (!l.circle[x]) { - l.circle[x] = !0; - var b = 3 * x; - if ( - this._circlesCollide( - m[b], - m[b + 1], - m[b + 2], - s.x, - s.y, - s.radius, - ) - ) - return (a.push(!0), !0); - } - } - }), - (n.prototype._forEachCell = function (t, e, r, n, i, a, o) { - for ( - var s = this._convertToXCellCoord(t), - l = this._convertToYCellCoord(e), - c = this._convertToXCellCoord(r), - u = this._convertToYCellCoord(n), - f = s; - f <= c; - f++ - ) - for (var h = l; h <= u; h++) { - var p = this.xCellCount * h + f; - if (i.call(this, t, e, r, n, p, a, o)) return; - } - }), - (n.prototype._convertToXCellCoord = function (t) { - return Math.max( - 0, - Math.min(this.xCellCount - 1, Math.floor(t * this.xScale)), - ); - }), - (n.prototype._convertToYCellCoord = function (t) { - return Math.max( - 0, - Math.min(this.yCellCount - 1, Math.floor(t * this.yScale)), - ); - }), - (n.prototype._circlesCollide = function (t, e, r, n, i, a) { - var o = n - t, - s = i - e, - l = r + a; - return l * l > o * o + s * s; - }), - (n.prototype._circleAndRectCollide = function ( - t, - e, - r, - n, - i, - a, - o, - ) { - var s = (a - n) / 2, - l = Math.abs(t - (n + s)); - if (l > s + r) return !1; - var c = (o - i) / 2, - u = Math.abs(e - (i + c)); - if (u > c + r) return !1; - if (l <= s || u <= c) return !0; - var f = l - s, - h = u - c; - return f * f + h * h <= r * r; - }), - (e.exports = n)); - }, - {}, - ], - 221: [ - function (t, e, r) { - e.exports = function (t) { - function e(e) { - (s.push(t[e]), l++); - } - function r(t, e, r) { - var n = o[t]; - return ( - delete o[t], - (o[e] = n), - s[n].geometry[0].pop(), - (s[n].geometry[0] = s[n].geometry[0].concat(r[0])), - n - ); - } - function n(t, e, r) { - var n = a[e]; - return ( - delete a[e], - (a[t] = n), - s[n].geometry[0].shift(), - (s[n].geometry[0] = r[0].concat(s[n].geometry[0])), - n - ); - } - function i(t, e, r) { - var n = r ? e[0][e[0].length - 1] : e[0][0]; - return t + ":" + n.x + ":" + n.y; - } - for ( - var a = {}, o = {}, s = [], l = 0, c = 0; - c < t.length; - c++ - ) { - var u = t[c], - f = u.geometry, - h = u.text; - if (h) { - var p = i(h, f), - d = i(h, f, !0); - if (p in o && d in a && o[p] !== a[d]) { - var g = n(p, d, f), - m = r(p, d, s[g].geometry); - (delete a[p], - delete o[d], - (o[i(h, s[m].geometry, !0)] = m), - (s[g].geometry = null)); - } else - p in o - ? r(p, d, f) - : d in a - ? n(p, d, f) - : (e(c), (a[p] = l - 1), (o[d] = l - 1)); - } else e(c); - } - return s.filter(function (t) { - return t.geometry; - }); - }; - }, - {}, - ], - 222: [ - function (t, e, r) { - var n = t("../util/web_worker_transfer").register, - i = function () { - ((this.opacity = 0), - (this.targetOpacity = 0), - (this.time = 0)); - }; - ((i.prototype.clone = function () { - var t = new i(); - return ( - (t.opacity = this.opacity), - (t.targetOpacity = this.targetOpacity), - (t.time = this.time), - t - ); - }), - n("OpacityState", i), - (e.exports = i)); - }, - { "../util/web_worker_transfer": 278 }, - ], - 223: [ - function (t, e, r) { - function n(t, e, r) { - (t.emplaceBack(e ? 1 : 0, r ? 1 : 0), - t.emplaceBack(e ? 1 : 0, r ? 1 : 0), - t.emplaceBack(e ? 1 : 0, r ? 1 : 0), - t.emplaceBack(e ? 1 : 0, r ? 1 : 0)); - } - function i(t) { - if (0 === t.opacity && !t.placed) return 0; - if (1 === t.opacity && t.placed) return 4294967295; - var e = t.placed ? 1 : 0, - r = Math.floor(127 * t.opacity); - return ( - r * g + e * m + r * v + e * y + r * x + e * b + r * _ + e - ); - } - var a = t("./collision_index"), - o = t("../data/extent"), - s = t("./symbol_size"), - l = t("./projection"), - c = t( - "../style/style_layer/symbol_style_layer_properties", - ).layout, - u = t("../source/pixels_to_tile_units"), - f = function (t, e, r, n) { - ((this.opacity = t - ? Math.max(0, Math.min(1, t.opacity + (t.placed ? e : -e))) - : n && r - ? 1 - : 0), - (this.placed = r)); - }; - f.prototype.isHidden = function () { - return 0 === this.opacity && !this.placed; - }; - var h = function (t, e, r, n, i) { - ((this.text = new f(t ? t.text : null, e, r, i)), - (this.icon = new f(t ? t.icon : null, e, n, i))); - }; - h.prototype.isHidden = function () { - return this.text.isHidden() && this.icon.isHidden(); - }; - var p = function (t, e, r) { - ((this.text = t), (this.icon = e), (this.skipFade = r)); - }, - d = function (t, e) { - ((this.transform = t.clone()), - (this.collisionIndex = new a(this.transform)), - (this.placements = {}), - (this.opacities = {}), - (this.stale = !1), - (this.fadeDuration = e)); - }; - ((d.prototype.placeLayerTile = function (t, e, r, n) { - var i = e.getBucket(t); - if (i) { - var a = i.layers[0].layout, - s = Math.pow(2, this.transform.zoom - e.tileID.overscaledZ), - c = e.tileSize / o, - f = this.transform.calculatePosMatrix( - e.tileID.toUnwrapped(), - ), - h = l.getLabelPlaneMatrix( - f, - "map" === a.get("text-pitch-alignment"), - "map" === a.get("text-rotation-alignment"), - this.transform, - u(e, 1, this.transform.zoom), - ), - p = l.getLabelPlaneMatrix( - f, - "map" === a.get("icon-pitch-alignment"), - "map" === a.get("icon-rotation-alignment"), - this.transform, - u(e, 1, this.transform.zoom), - ); - this.placeLayerBucket( - i, - f, - h, - p, - s, - c, - r, - n, - e.collisionBoxArray, - e.tileID.key, - t.source, - ); - } - }), - (d.prototype.placeLayerBucket = function ( - t, - e, - r, - n, - i, - a, - o, - l, - u, - f, - h, - ) { - for ( - var d = this, - g = t.layers[0].layout, - m = s.evaluateSizeForZoom( - t.textSizeData, - this.transform.zoom, - c.properties["text-size"], - ), - v = !t.hasTextData() || g.get("text-optional"), - y = !t.hasIconData() || g.get("icon-optional"), - x = 0, - b = t.symbolInstances; - x < b.length; - x += 1 - ) { - var _ = b[x]; - if (!l[_.crossTileID]) { - var w = !1, - k = !1, - M = !0, - A = null, - T = null, - S = null; - (_.collisionArrays || - (_.collisionArrays = t.deserializeCollisionBoxes( - u, - _.textBoxStartIndex, - _.textBoxEndIndex, - _.iconBoxStartIndex, - _.iconBoxEndIndex, - )), - _.collisionArrays.textBox && - ((w = - (A = d.collisionIndex.placeCollisionBox( - _.collisionArrays.textBox, - g.get("text-allow-overlap"), - a, - e, - )).box.length > 0), - (M = M && A.offscreen))); - var C = _.collisionArrays.textCircles; - if (C) { - var E = t.text.placedSymbolArray.get( - _.placedTextSymbolIndices[0], - ), - L = s.evaluateSizeForFeature(t.textSizeData, m, E); - ((T = d.collisionIndex.placeCollisionCircles( - C, - g.get("text-allow-overlap"), - i, - a, - _.key, - E, - t.lineVertexArray, - t.glyphOffsetArray, - L, - e, - r, - o, - "map" === g.get("text-pitch-alignment"), - )), - (w = - g.get("text-allow-overlap") || - T.circles.length > 0), - (M = M && T.offscreen)); - } - (_.collisionArrays.iconBox && - ((k = - (S = d.collisionIndex.placeCollisionBox( - _.collisionArrays.iconBox, - g.get("icon-allow-overlap"), - a, - e, - )).box.length > 0), - (M = M && S.offscreen)), - v || y - ? y - ? v || (k = k && w) - : (w = k && w) - : (k = w = k && w), - w && - A && - d.collisionIndex.insertCollisionBox( - A.box, - g.get("text-ignore-placement"), - f, - h, - t.bucketInstanceId, - _.textBoxStartIndex, - ), - k && - S && - d.collisionIndex.insertCollisionBox( - S.box, - g.get("icon-ignore-placement"), - f, - h, - t.bucketInstanceId, - _.iconBoxStartIndex, - ), - w && - T && - d.collisionIndex.insertCollisionCircles( - T.circles, - g.get("text-ignore-placement"), - f, - h, - t.bucketInstanceId, - _.textBoxStartIndex, - ), - (d.placements[_.crossTileID] = new p( - w, - k, - M || t.justReloaded, - )), - (l[_.crossTileID] = !0)); - } - } - t.justReloaded = !1; - }), - (d.prototype.commit = function (t, e) { - var r = this; - this.commitTime = e; - var n = !1, - i = - t && 0 !== this.fadeDuration - ? (this.commitTime - t.commitTime) / this.fadeDuration - : 1, - a = t ? t.opacities : {}; - for (var o in r.placements) { - var s = r.placements[o], - l = a[o]; - l - ? ((r.opacities[o] = new h(l, i, s.text, s.icon)), - (n = - n || - s.text !== l.text.placed || - s.icon !== l.icon.placed)) - : ((r.opacities[o] = new h( - null, - i, - s.text, - s.icon, - s.skipFade, - )), - (n = n || s.text || s.icon)); - } - for (var c in a) { - var u = a[c]; - if (!r.opacities[c]) { - var f = new h(u, i, !1, !1); - f.isHidden() || - ((r.opacities[c] = f), - (n = n || u.text.placed || u.icon.placed)); - } - } - n - ? (this.lastPlacementChangeTime = e) - : "number" != typeof this.lastPlacementChangeTime && - (this.lastPlacementChangeTime = t - ? t.lastPlacementChangeTime - : e); - }), - (d.prototype.updateLayerOpacities = function (t, e) { - for (var r = {}, n = 0, i = e; n < i.length; n += 1) { - var a = i[n], - o = a.getBucket(t); - o && this.updateBucketOpacities(o, r, a.collisionBoxArray); - } - }), - (d.prototype.updateBucketOpacities = function (t, e, r) { - (t.hasTextData() && t.text.opacityVertexArray.clear(), - t.hasIconData() && t.icon.opacityVertexArray.clear(), - t.hasCollisionBoxData() && - t.collisionBox.collisionVertexArray.clear(), - t.hasCollisionCircleData() && - t.collisionCircle.collisionVertexArray.clear()); - for ( - var a = t.layers[0].layout, - o = new h( - null, - 0, - a.get("text-allow-overlap"), - a.get("icon-allow-overlap"), - !0, - ), - s = 0; - s < t.symbolInstances.length; - s++ - ) { - var l = t.symbolInstances[s], - c = e[l.crossTileID], - u = this.opacities[l.crossTileID]; - (u - ? c && (u = o) - : ((u = o), (this.opacities[l.crossTileID] = u)), - (e[l.crossTileID] = !0)); - var f = - l.numGlyphVertices > 0 || - l.numVerticalGlyphVertices > 0, - p = l.numIconVertices > 0; - if (f) { - for ( - var d = i(u.text), - g = - (l.numGlyphVertices + l.numVerticalGlyphVertices) / - 4, - m = 0; - m < g; - m++ - ) - t.text.opacityVertexArray.emplaceBack(d); - for ( - var v = 0, y = l.placedTextSymbolIndices; - v < y.length; - v += 1 - ) { - var x = y[v]; - t.text.placedSymbolArray.get(x).hidden = - u.text.isHidden(); - } - } - if (p) { - for ( - var b = i(u.icon), _ = 0; - _ < l.numIconVertices / 4; - _++ - ) - t.icon.opacityVertexArray.emplaceBack(b); - t.icon.placedSymbolArray.get(s).hidden = - u.icon.isHidden(); - } - l.collisionArrays || - (l.collisionArrays = t.deserializeCollisionBoxes( - r, - l.textBoxStartIndex, - l.textBoxEndIndex, - l.iconBoxStartIndex, - l.iconBoxEndIndex, - )); - var w = l.collisionArrays; - if (w) { - (w.textBox && - t.hasCollisionBoxData() && - n( - t.collisionBox.collisionVertexArray, - u.text.placed, - !1, - ), - w.iconBox && - t.hasCollisionBoxData() && - n( - t.collisionBox.collisionVertexArray, - u.icon.placed, - !1, - )); - var k = w.textCircles; - if (k && t.hasCollisionCircleData()) - for (var M = 0; M < k.length; M += 5) { - var A = c || 0 === k[M + 4]; - n( - t.collisionCircle.collisionVertexArray, - u.text.placed, - A, - ); - } - } - } - (t.sortFeatures(this.transform.angle), - t.hasTextData() && - t.text.opacityVertexBuffer && - t.text.opacityVertexBuffer.updateData( - t.text.opacityVertexArray, - ), - t.hasIconData() && - t.icon.opacityVertexBuffer && - t.icon.opacityVertexBuffer.updateData( - t.icon.opacityVertexArray, - ), - t.hasCollisionBoxData() && - t.collisionBox.collisionVertexBuffer && - t.collisionBox.collisionVertexBuffer.updateData( - t.collisionBox.collisionVertexArray, - ), - t.hasCollisionCircleData() && - t.collisionCircle.collisionVertexBuffer && - t.collisionCircle.collisionVertexBuffer.updateData( - t.collisionCircle.collisionVertexArray, - )); - }), - (d.prototype.symbolFadeChange = function (t) { - return 0 === this.fadeDuration - ? 1 - : (t - this.commitTime) / this.fadeDuration; - }), - (d.prototype.hasTransitions = function (t) { - return ( - this.stale || - t - this.lastPlacementChangeTime < this.fadeDuration - ); - }), - (d.prototype.stillRecent = function (t) { - return ( - "undefined" !== this.commitTime && - this.commitTime + this.fadeDuration > t - ); - }), - (d.prototype.setStale = function () { - this.stale = !0; - })); - var g = Math.pow(2, 25), - m = Math.pow(2, 24), - v = Math.pow(2, 17), - y = Math.pow(2, 16), - x = Math.pow(2, 9), - b = Math.pow(2, 8), - _ = Math.pow(2, 1); - e.exports = d; - }, - { - "../data/extent": 53, - "../source/pixels_to_tile_units": 104, - "../style/style_layer/symbol_style_layer_properties": 209, - "./collision_index": 217, - "./projection": 224, - "./symbol_size": 228, - }, - ], - 224: [ - function (t, e, r) { - function n(t, e) { - var r = [t.x, t.y, 0, 1]; - f(r, r, e); - var n = r[3]; - return { - point: new h(r[0] / n, r[1] / n), - signedDistanceFromCamera: n, - }; - } - function i(t, e) { - var r = t[0] / t[3], - n = t[1] / t[3]; - return r >= -e[0] && r <= e[0] && n >= -e[1] && n <= e[1]; - } - function a(t, e, r, n, i, a, o, s, l, u, f, h) { - var p = s.glyphStartIndex + s.numGlyphs, - d = s.lineStartIndex, - g = s.lineStartIndex + s.lineLength, - m = e.getoffsetX(s.glyphStartIndex), - v = e.getoffsetX(p - 1), - y = c(t * m, r, n, i, a, o, s.segment, d, g, l, u, f, h); - if (!y) return null; - var x = c(t * v, r, n, i, a, o, s.segment, d, g, l, u, f, h); - return x ? { first: y, last: x } : null; - } - function o(t, e, r, n) { - return t === x.horizontal && - Math.abs(r.y - e.y) > Math.abs(r.x - e.x) * n - ? { useVertical: !0 } - : (t === x.vertical ? e.y < r.y : e.x > r.x) - ? { needsFlipping: !0 } - : null; - } - function s(t, e, r, i, s, u, f, p, d, g, m, y, x, b) { - var _, - w = e / 24, - k = t.lineOffsetX * e, - M = t.lineOffsetY * e; - if (t.numGlyphs > 1) { - var A = t.glyphStartIndex + t.numGlyphs, - T = t.lineStartIndex, - S = t.lineStartIndex + t.lineLength, - C = a(w, p, k, M, r, m, y, t, d, u, x, !1); - if (!C) return { notEnoughRoom: !0 }; - var E = n(C.first.point, f).point, - L = n(C.last.point, f).point; - if (i && !r) { - var z = o(t.writingMode, E, L, b); - if (z) return z; - } - _ = [C.first]; - for (var P = t.glyphStartIndex + 1; P < A - 1; P++) - _.push( - c( - w * p.getoffsetX(P), - k, - M, - r, - m, - y, - t.segment, - T, - S, - d, - u, - x, - !1, - ), - ); - _.push(C.last); - } else { - if (i && !r) { - var D = n(y, s).point, - O = t.lineStartIndex + t.segment + 1, - I = new h(d.getx(O), d.gety(O)), - R = n(I, s), - B = - R.signedDistanceFromCamera > 0 - ? R.point - : l(y, I, D, 1, s), - F = o(t.writingMode, D, B, b); - if (F) return F; - } - var N = c( - w * p.getoffsetX(t.glyphStartIndex), - k, - M, - r, - m, - y, - t.segment, - t.lineStartIndex, - t.lineStartIndex + t.lineLength, - d, - u, - x, - !1, - ); - if (!N) return { notEnoughRoom: !0 }; - _ = [N]; - } - for (var j = 0, V = _; j < V.length; j += 1) { - var U = V[j]; - v(g, U.point, U.angle); - } - return {}; - } - function l(t, e, r, i, a) { - var o = n(t.add(t.sub(e)._unit()), a).point, - s = r.sub(o); - return r.add(s._mult(i / s.mag())); - } - function c(t, e, r, i, a, o, s, c, u, f, p, d, g) { - var m = i ? t - e : t + e, - v = m > 0 ? 1 : -1, - y = 0; - (i && ((v *= -1), (y = Math.PI)), v < 0 && (y += Math.PI)); - for ( - var x = v > 0 ? c + s : c + s + 1, - b = x, - _ = a, - w = a, - k = 0, - M = 0, - A = Math.abs(m); - k + M <= A; - - ) { - if ((x += v) < c || x >= u) return null; - if (((w = _), void 0 === (_ = d[x]))) { - var T = new h(f.getx(x), f.gety(x)), - S = n(T, p); - if (S.signedDistanceFromCamera > 0) _ = d[x] = S.point; - else { - var C = x - v; - _ = l( - 0 === k ? o : new h(f.getx(C), f.gety(C)), - T, - w, - A - k + 1, - p, - ); - } - } - ((k += M), (M = w.dist(_))); - } - var E = (A - k) / M, - L = _.sub(w), - z = L.mult(E)._add(w); - return ( - z._add( - L._unit() - ._perp() - ._mult(r * v), - ), - { - point: z, - angle: y + Math.atan2(_.y - w.y, _.x - w.x), - tileDistance: g - ? { - prevTileDistance: - x - v === b - ? 0 - : f.gettileUnitDistanceFromAnchor(x - v), - lastSegmentViewportDistance: A - k, - } - : null, - } - ); - } - function u(t, e) { - for (var r = 0; r < t; r++) { - var n = e.length; - (e.resize(n + 4), e.float32.set(b, 3 * n)); - } - } - function f(t, e, r) { - var n = e[0], - i = e[1]; - return ( - (t[0] = r[0] * n + r[4] * i + r[12]), - (t[1] = r[1] * n + r[5] * i + r[13]), - (t[3] = r[3] * n + r[7] * i + r[15]), - t - ); - } - var h = t("@mapbox/point-geometry"), - p = t("@mapbox/gl-matrix"), - d = p.mat4, - g = p.vec4, - m = t("./symbol_size"), - v = t("../data/bucket/symbol_bucket").addDynamicAttributes, - y = t( - "../style/style_layer/symbol_style_layer_properties", - ).layout, - x = t("../symbol/shaping").WritingMode; - e.exports = { - updateLineLabels: function (t, e, r, a, o, l, c, f) { - var p = a ? t.textSizeData : t.iconSizeData, - d = m.evaluateSizeForZoom( - p, - r.transform.zoom, - y.properties[a ? "text-size" : "icon-size"], - ), - v = [(256 / r.width) * 2 + 1, (256 / r.height) * 2 + 1], - b = a - ? t.text.dynamicLayoutVertexArray - : t.icon.dynamicLayoutVertexArray; - b.clear(); - for ( - var _ = t.lineVertexArray, - w = a - ? t.text.placedSymbolArray - : t.icon.placedSymbolArray, - k = r.transform.width / r.transform.height, - M = !1, - A = 0; - A < w.length; - A++ - ) { - var T = w.get(A); - if (T.hidden || (T.writingMode === x.vertical && !M)) - u(T.numGlyphs, b); - else { - M = !1; - var S = [T.anchorX, T.anchorY, 0, 1]; - if ((g.transformMat4(S, S, e), i(S, v))) { - var C = - 0.5 + - (S[3] / r.transform.cameraToCenterDistance) * 0.5, - E = m.evaluateSizeForFeature(p, d, T), - L = c ? E * C : E / C, - z = new h(T.anchorX, T.anchorY), - P = n(z, o).point, - D = {}, - O = s( - T, - L, - !1, - f, - e, - o, - l, - t.glyphOffsetArray, - _, - b, - P, - z, - D, - k, - ); - ((M = O.useVertical), - (O.notEnoughRoom || - M || - (O.needsFlipping && - s( - T, - L, - !0, - f, - e, - o, - l, - t.glyphOffsetArray, - _, - b, - P, - z, - D, - k, - ).notEnoughRoom)) && - u(T.numGlyphs, b)); - } else u(T.numGlyphs, b); - } - } - a - ? t.text.dynamicLayoutVertexBuffer.updateData(b) - : t.icon.dynamicLayoutVertexBuffer.updateData(b); - }, - getLabelPlaneMatrix: function (t, e, r, n, i) { - var a = d.identity(new Float32Array(16)); - return ( - e - ? (d.identity(a), - d.scale(a, a, [1 / i, 1 / i, 1]), - r || d.rotateZ(a, a, n.angle)) - : (d.scale(a, a, [n.width / 2, -n.height / 2, 1]), - d.translate(a, a, [1, -1, 0]), - d.multiply(a, a, t)), - a - ); - }, - getGlCoordMatrix: function (t, e, r, n, i) { - var a = d.identity(new Float32Array(16)); - return ( - e - ? (d.multiply(a, a, t), - d.scale(a, a, [i, i, 1]), - r || d.rotateZ(a, a, -n.angle)) - : (d.scale(a, a, [1, -1, 1]), - d.translate(a, a, [-1, -1, 0]), - d.scale(a, a, [2 / n.width, 2 / n.height, 1])), - a - ); - }, - project: n, - placeFirstAndLastGlyph: a, - xyTransformMat4: f, - }; - var b = new Float32Array([ - -1 / 0, - -1 / 0, - 0, - -1 / 0, - -1 / 0, - 0, - -1 / 0, - -1 / 0, - 0, - -1 / 0, - -1 / 0, - 0, - ]); - }, - { - "../data/bucket/symbol_bucket": 51, - "../style/style_layer/symbol_style_layer_properties": 209, - "../symbol/shaping": 226, - "./symbol_size": 228, - "@mapbox/gl-matrix": 2, - "@mapbox/point-geometry": 4, - }, - ], - 225: [ - function (t, e, r) { - var n = t("@mapbox/point-geometry"), - i = t("../style/parse_glyph_pbf").GLYPH_PBF_BORDER; - e.exports = { - getIconQuads: function (t, e, r, i, a, o, s) { - var l, - c, - u, - f, - h = e.image, - p = r.layout, - d = e.top - 1 / h.pixelRatio, - g = e.left - 1 / h.pixelRatio, - m = e.bottom + 1 / h.pixelRatio, - v = e.right + 1 / h.pixelRatio; - if ("none" !== p.get("icon-text-fit") && a) { - var y = v - g, - x = m - d, - b = p.get("text-size").evaluate(s) / 24, - _ = a.left * b, - w = a.right * b, - k = a.top * b, - M = w - _, - A = a.bottom * b - k, - T = p.get("icon-text-fit-padding")[0], - S = p.get("icon-text-fit-padding")[1], - C = p.get("icon-text-fit-padding")[2], - E = p.get("icon-text-fit-padding")[3], - L = - "width" === p.get("icon-text-fit") ? 0.5 * (A - x) : 0, - z = - "height" === p.get("icon-text-fit") ? 0.5 * (M - y) : 0, - P = - "width" === p.get("icon-text-fit") || - "both" === p.get("icon-text-fit") - ? M - : y, - D = - "height" === p.get("icon-text-fit") || - "both" === p.get("icon-text-fit") - ? A - : x; - ((l = new n(_ + z - E, k + L - T)), - (c = new n(_ + z + S + P, k + L - T)), - (u = new n(_ + z + S + P, k + L + C + D)), - (f = new n(_ + z - E, k + L + C + D))); - } else - ((l = new n(g, d)), - (c = new n(v, d)), - (u = new n(v, m)), - (f = new n(g, m))); - var O = - (r.layout.get("icon-rotate").evaluate(s) * Math.PI) / 180; - if (O) { - var I = Math.sin(O), - R = Math.cos(O), - B = [R, -I, I, R]; - (l._matMult(B), - c._matMult(B), - f._matMult(B), - u._matMult(B)); - } - return [ - { - tl: l, - tr: c, - bl: f, - br: u, - tex: { - x: h.textureRect.x - 1, - y: h.textureRect.y - 1, - w: h.textureRect.w + 2, - h: h.textureRect.h + 2, - }, - writingMode: void 0, - glyphOffset: [0, 0], - }, - ]; - }, - getGlyphQuads: function (t, e, r, a, o, s, l) { - for ( - var c = - (r.layout.get("text-rotate").evaluate(s) * Math.PI) / - 180, - u = r.layout - .get("text-offset") - .evaluate(s) - .map(function (t) { - return 24 * t; - }), - f = e.positionedGlyphs, - h = [], - p = 0; - p < f.length; - p++ - ) { - var d = f[p], - g = l[d.glyph]; - if (g) { - var m = g.rect; - if (m) { - var v = i + 1, - y = g.metrics.advance / 2, - x = a ? [d.x + y, d.y] : [0, 0], - b = a ? [0, 0] : [d.x + y + u[0], d.y + u[1]], - _ = g.metrics.left - v - y + b[0], - w = -g.metrics.top - v + b[1], - k = _ + m.w, - M = w + m.h, - A = new n(_, w), - T = new n(k, w), - S = new n(_, M), - C = new n(k, M); - if (a && d.vertical) { - var E = new n(-y, y), - L = -Math.PI / 2, - z = new n(5, 0); - (A._rotateAround(L, E)._add(z), - T._rotateAround(L, E)._add(z), - S._rotateAround(L, E)._add(z), - C._rotateAround(L, E)._add(z)); - } - if (c) { - var P = Math.sin(c), - D = Math.cos(c), - O = [D, -P, P, D]; - (A._matMult(O), - T._matMult(O), - S._matMult(O), - C._matMult(O)); - } - h.push({ - tl: A, - tr: T, - bl: S, - br: C, - tex: m, - writingMode: e.writingMode, - glyphOffset: x, - }); - } - } - } - return h; - }, - }; - }, - { "../style/parse_glyph_pbf": 186, "@mapbox/point-geometry": 4 }, - ], - 226: [ - function (t, e, r) { - function n(t, e, r, n) { - var i = Math.pow(t - e, 2); - return n ? (t < e ? i / 2 : 2 * i) : i + Math.abs(r) * r; - } - function i(t, e) { - var r = 0; - return ( - 10 === t && (r -= 1e4), - (40 !== t && 65288 !== t) || (r += 50), - (41 !== e && 65289 !== e) || (r += 50), - r - ); - } - function a(t, e, r, i, a, o) { - for ( - var s = null, l = n(e, r, a, o), c = 0, u = i; - c < u.length; - c += 1 - ) { - var f = u[c], - h = n(e - f.x, r, a, o) + f.badness; - h <= l && ((s = f), (l = h)); - } - return { index: t, x: e, priorBreak: s, badness: l }; - } - function o(t, e, r, n) { - if (!r) return []; - if (!t) return []; - for ( - var o = [], - s = (function (t, e, r, n) { - for (var i = 0, a = 0; a < t.length; a++) { - var o = n[t.charCodeAt(a)]; - o && (i += o.metrics.advance + e); - } - return i / Math.max(1, Math.ceil(i / r)); - })(t, e, r, n), - l = 0, - u = 0; - u < t.length; - u++ - ) { - var f = t.charCodeAt(u), - h = n[f]; - (h && !p[f] && (l += h.metrics.advance + e), - u < t.length - 1 && - (d[f] || c.charAllowsIdeographicBreaking(f)) && - o.push(a(u + 1, l, s, o, i(f, t.charCodeAt(u + 1)), !1))); - } - return (function t(e) { - return e ? t(e.priorBreak).concat(e.index) : []; - })(a(t.length, l, s, o, 0, !0)); - } - function s(t) { - var e = 0.5, - r = 0.5; - switch (t) { - case "right": - case "top-right": - case "bottom-right": - e = 1; - break; - case "left": - case "top-left": - case "bottom-left": - e = 0; - } - switch (t) { - case "bottom": - case "bottom-right": - case "bottom-left": - r = 1; - break; - case "top": - case "top-right": - case "top-left": - r = 0; - } - return { horizontalAlign: e, verticalAlign: r }; - } - function l(t, e, r, n, i) { - if (i) { - var a = e[t[n].glyph]; - if (a) - for ( - var o = a.metrics.advance, s = (t[n].x + o) * i, l = r; - l <= n; - l++ - ) - t[l].x -= s; - } - } - var c = t("../util/script_detection"), - u = t("../util/verticalize_punctuation"), - f = t("../source/rtl_text_plugin"), - h = { horizontal: 1, vertical: 2, horizontalOnly: 3 }; - e.exports = { - shapeText: function (t, e, r, n, i, a, p, d, g, m) { - var v = t.trim(); - m === h.vertical && (v = u(v)); - var y = [], - x = { - positionedGlyphs: y, - text: v, - top: d[1], - bottom: d[1], - left: d[0], - right: d[0], - writingMode: m, - }, - b = f.processBidirectionalText; - return ( - (function (t, e, r, n, i, a, o, u, f) { - for ( - var p = 0, - d = -17, - g = 0, - m = t.positionedGlyphs, - v = "right" === a ? 1 : "left" === a ? 0 : 0.5, - y = 0, - x = r; - y < x.length; - y += 1 - ) { - var b = x[y]; - if ((b = b.trim()).length) { - for (var _ = m.length, w = 0; w < b.length; w++) { - var k = b.charCodeAt(w), - M = e[k]; - M && - (c.charHasUprightVerticalOrientation(k) && - o !== h.horizontal - ? (m.push({ - glyph: k, - x: p, - y: 0, - vertical: !0, - }), - (p += f + u)) - : (m.push({ - glyph: k, - x: p, - y: d, - vertical: !1, - }), - (p += M.metrics.advance + u))); - } - if (m.length !== _) { - var A = p - u; - ((g = Math.max(A, g)), l(m, e, _, m.length - 1, v)); - } - ((p = 0), (d += n)); - } else d += n; - } - var T = s(i), - S = T.horizontalAlign, - C = T.verticalAlign; - !(function (t, e, r, n, i, a, o) { - for ( - var s = (e - r) * i, l = (-n * o + 0.5) * a, c = 0; - c < t.length; - c++ - ) - ((t[c].x += s), (t[c].y += l)); - })(m, v, S, C, g, n, r.length); - var E = r.length * n; - ((t.top += -C * E), - (t.bottom = t.top + E), - (t.left += -S * g), - (t.right = t.left + g)); - })( - x, - e, - b - ? b(v, o(v, p, r, e)) - : (function (t, e) { - for ( - var r = [], n = 0, i = 0, a = e; - i < a.length; - i += 1 - ) { - var o = a[i]; - (r.push(t.substring(n, o)), (n = o)); - } - return ( - n < t.length && r.push(t.substring(n, t.length)), - r - ); - })(v, o(v, p, r, e)), - n, - i, - a, - m, - p, - g, - ), - !!y.length && x - ); - }, - shapeIcon: function (t, e, r) { - var n = s(r), - i = n.horizontalAlign, - a = n.verticalAlign, - o = e[0], - l = e[1], - c = o - t.displaySize[0] * i, - u = c + t.displaySize[0], - f = l - t.displaySize[1] * a; - return { - image: t, - top: f, - bottom: f + t.displaySize[1], - left: c, - right: u, - }; - }, - WritingMode: h, - }; - var p = { 9: !0, 10: !0, 11: !0, 12: !0, 13: !0, 32: !0 }, - d = { - 10: !0, - 32: !0, - 38: !0, - 40: !0, - 41: !0, - 43: !0, - 45: !0, - 47: !0, - 173: !0, - 183: !0, - 8203: !0, - 8208: !0, - 8211: !0, - 8231: !0, - }; - }, - { - "../source/rtl_text_plugin": 109, - "../util/script_detection": 269, - "../util/verticalize_punctuation": 277, - }, - ], - 227: [ - function (t, e, r) { - function n(t, e, r, n, u, f) { - var h = f.layoutTextSize.evaluate(e), - d = f.layoutIconSize.evaluate(e), - g = f.textMaxSize.evaluate(e); - void 0 === g && (g = h); - var x = t.layers[0].layout, - M = x.get("text-offset").evaluate(e), - A = x.get("icon-offset").evaluate(e), - T = h / 24, - S = t.tilePixelRatio * T, - C = (t.tilePixelRatio * g) / 24, - E = t.tilePixelRatio * d, - L = t.tilePixelRatio * x.get("symbol-spacing"), - z = x.get("text-padding") * t.tilePixelRatio, - P = x.get("icon-padding") * t.tilePixelRatio, - D = (x.get("text-max-angle") / 180) * Math.PI, - O = - "map" === x.get("text-rotation-alignment") && - "line" === x.get("symbol-placement"), - I = - "map" === x.get("icon-rotation-alignment") && - "line" === x.get("symbol-placement"), - R = L / 2, - B = function (a, o) { - o.x < 0 || - o.x >= w || - o.y < 0 || - o.y >= w || - t.symbolInstances.push( - (function ( - t, - e, - r, - n, - a, - o, - s, - l, - u, - f, - h, - d, - g, - x, - b, - _, - w, - M, - A, - T, - S, - C, - ) { - var E, - L, - z = t.addToLineVertexArray(e, r), - P = 0, - D = 0, - O = 0, - I = n.horizontal ? n.horizontal.text : "", - R = []; - n.horizontal && - ((E = new v( - s, - r, - e, - l, - u, - f, - n.horizontal, - h, - d, - g, - t.overscaling, - )), - (D += i( - t, - e, - n.horizontal, - o, - g, - A, - T, - x, - z, - n.vertical ? p.horizontal : p.horizontalOnly, - R, - S, - C, - )), - n.vertical && - (O += i( - t, - e, - n.vertical, - o, - g, - A, - T, - x, - z, - p.vertical, - R, - S, - C, - ))); - var B = E - ? E.boxStartIndex - : t.collisionBoxArray.length, - F = E ? E.boxEndIndex : t.collisionBoxArray.length; - if (a) { - var N = m(e, a, o, w, n.horizontal, A, T); - ((L = new v( - s, - r, - e, - l, - u, - f, - a, - b, - _, - !1, - t.overscaling, - )), - (P = 4 * N.length)); - var j = t.iconSizeData, - V = null; - ("source" === j.functionType - ? (V = [ - 10 * o.layout.get("icon-size").evaluate(T), - ]) - : "composite" === j.functionType && - (V = [ - 10 * C.compositeIconSizes[0].evaluate(T), - 10 * C.compositeIconSizes[1].evaluate(T), - ]), - t.addSymbols( - t.icon, - N, - V, - M, - w, - T, - !1, - e, - z.lineStartIndex, - z.lineLength, - )); - } - var U = L - ? L.boxStartIndex - : t.collisionBoxArray.length, - q = L ? L.boxEndIndex : t.collisionBoxArray.length; - return ( - t.glyphOffsetArray.length >= k.MAX_GLYPHS && - y.warnOnce( - "Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907", - ), - { - key: I, - textBoxStartIndex: B, - textBoxEndIndex: F, - iconBoxStartIndex: U, - iconBoxEndIndex: q, - textOffset: x, - iconOffset: M, - anchor: e, - line: r, - featureIndex: l, - feature: T, - numGlyphVertices: D, - numVerticalGlyphVertices: O, - numIconVertices: P, - textOpacityState: new c(), - iconOpacityState: new c(), - isDuplicate: !1, - placedTextSymbolIndices: R, - crossTileID: 0, - } - ); - })( - t, - o, - a, - r, - n, - t.layers[0], - t.collisionBoxArray, - e.index, - e.sourceLayerIndex, - t.index, - S, - z, - O, - M, - E, - P, - I, - A, - { zoom: t.zoom }, - e, - u, - f, - ), - ); - }; - if ("line" === x.get("symbol-placement")) - for ( - var F = 0, N = l(e.geometry, 0, 0, w, w); - F < N.length; - F += 1 - ) - for ( - var j = N[F], - V = 0, - U = s( - j, - L, - D, - r.vertical || r.horizontal, - n, - 24, - C, - t.overscaling, - w, - ); - V < U.length; - V += 1 - ) { - var q = U[V], - H = r.horizontal; - (H && a(t, H.text, R, q)) || B(j, q); - } - else if ("Polygon" === e.type) - for (var G = 0, W = _(e.geometry, 0); G < W.length; G += 1) { - var Y = W[G], - X = b(Y, 16); - B(Y[0], new o(X.x, X.y, 0)); - } - else if ("LineString" === e.type) - for (var Z = 0, J = e.geometry; Z < J.length; Z += 1) { - var K = J[Z]; - B(K, new o(K[0].x, K[0].y, 0)); - } - else if ("Point" === e.type) - for (var Q = 0, $ = e.geometry; Q < $.length; Q += 1) - for (var tt = 0, et = $[Q]; tt < et.length; tt += 1) { - var rt = et[tt]; - B([rt], new o(rt.x, rt.y, 0)); - } - } - function i(t, e, r, n, i, a, o, s, l, c, u, f, h) { - var p = g(e, r, n, i, a, o, f), - d = t.textSizeData, - m = null; - return ( - "source" === d.functionType - ? (m = [10 * n.layout.get("text-size").evaluate(o)]) - : "composite" === d.functionType && - (m = [ - 10 * h.compositeTextSizes[0].evaluate(o), - 10 * h.compositeTextSizes[1].evaluate(o), - ]), - t.addSymbols( - t.text, - p, - m, - s, - i, - o, - c, - e, - l.lineStartIndex, - l.lineLength, - ), - u.push(t.text.placedSymbolArray.length - 1), - 4 * p.length - ); - } - function a(t, e, r, n) { - var i = t.compareText; - if (e in i) { - for (var a = i[e], o = a.length - 1; o >= 0; o--) - if (n.dist(a[o]) < r) return !0; - } else i[e] = []; - return (i[e].push(n), !1); - } - var o = t("./anchor"), - s = t("./get_anchors"), - l = t("./clip_line"), - c = t("./opacity_state"), - u = t("./shaping"), - f = u.shapeText, - h = u.shapeIcon, - p = u.WritingMode, - d = t("./quads"), - g = d.getGlyphQuads, - m = d.getIconQuads, - v = t("./collision_feature"), - y = t("../util/util"), - x = t("../util/script_detection"), - b = t("../util/find_pole_of_inaccessibility"), - _ = t("../util/classify_rings"), - w = t("../data/extent"), - k = t("../data/bucket/symbol_bucket"), - M = t("../style/evaluation_parameters"); - t("@mapbox/point-geometry"); - e.exports = { - performSymbolLayout: function (t, e, r, i, a, o) { - (t.createArrays(), (t.symbolInstances = [])); - var s = 512 * t.overscaling; - ((t.tilePixelRatio = w / s), - (t.compareText = {}), - (t.iconsNeedLinear = !1)); - var l = t.layers[0].layout, - c = t.layers[0]._unevaluatedLayout._values, - u = {}; - if ("composite" === t.textSizeData.functionType) { - var d = t.textSizeData.zoomRange, - g = d.min, - m = d.max; - u.compositeTextSizes = [ - c["text-size"].possiblyEvaluate(new M(g)), - c["text-size"].possiblyEvaluate(new M(m)), - ]; - } - if ("composite" === t.iconSizeData.functionType) { - var v = t.iconSizeData.zoomRange, - b = v.min, - _ = v.max; - u.compositeIconSizes = [ - c["icon-size"].possiblyEvaluate(new M(b)), - c["icon-size"].possiblyEvaluate(new M(_)), - ]; - } - ((u.layoutTextSize = c["text-size"].possiblyEvaluate( - new M(t.zoom + 1), - )), - (u.layoutIconSize = c["icon-size"].possiblyEvaluate( - new M(t.zoom + 1), - )), - (u.textMaxSize = c["text-size"].possiblyEvaluate( - new M(18), - ))); - for ( - var k = 24 * l.get("text-line-height"), - A = - "map" === l.get("text-rotation-alignment") && - "line" === l.get("symbol-placement"), - T = l.get("text-keep-upright"), - S = 0, - C = t.features; - S < C.length; - S += 1 - ) { - var E = C[S], - L = l.get("text-font").evaluate(E).join(","), - z = e[L] || {}, - P = r[L] || {}, - D = {}, - O = E.text; - if (O) { - var I = x.allowsVerticalWritingMode(O), - R = l - .get("text-offset") - .evaluate(E) - .map(function (t) { - return 24 * t; - }), - B = 24 * l.get("text-letter-spacing").evaluate(E), - F = x.allowsLetterSpacing(O) ? B : 0, - N = l.get("text-anchor").evaluate(E), - j = l.get("text-justify").evaluate(E), - V = - "line" !== l.get("symbol-placement") - ? 24 * l.get("text-max-width").evaluate(E) - : 0; - ((D.horizontal = f( - O, - z, - V, - k, - N, - j, - F, - R, - 24, - p.horizontal, - )), - I && - A && - T && - (D.vertical = f( - O, - z, - V, - k, - N, - j, - F, - R, - 24, - p.vertical, - ))); - } - var U = void 0; - if (E.icon) { - var q = i[E.icon]; - q && - ((U = h( - a[E.icon], - l.get("icon-offset").evaluate(E), - l.get("icon-anchor").evaluate(E), - )), - void 0 === t.sdfIcons - ? (t.sdfIcons = q.sdf) - : t.sdfIcons !== q.sdf && - y.warnOnce( - "Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer", - ), - q.pixelRatio !== t.pixelRatio - ? (t.iconsNeedLinear = !0) - : 0 !== l.get("icon-rotate").constantOr(1) && - (t.iconsNeedLinear = !0)); - } - (D.horizontal || U) && n(t, E, D, U, P, u); - } - o && t.generateCollisionDebugBuffers(); - }, - }; - }, - { - "../data/bucket/symbol_bucket": 51, - "../data/extent": 53, - "../style/evaluation_parameters": 182, - "../util/classify_rings": 255, - "../util/find_pole_of_inaccessibility": 261, - "../util/script_detection": 269, - "../util/util": 275, - "./anchor": 213, - "./clip_line": 215, - "./collision_feature": 216, - "./get_anchors": 219, - "./opacity_state": 222, - "./quads": 225, - "./shaping": 226, - "@mapbox/point-geometry": 4, - }, - ], - 228: [ - function (t, e, r) { - var n = t("../style-spec/expression").normalizePropertyExpression, - i = t("../style-spec/util/interpolate"), - a = t("../util/util"); - e.exports = { - getSizeData: function (t, e) { - var r = e.expression; - if ("constant" === r.kind) - return { - functionType: "constant", - layoutSize: r.evaluate({ zoom: t + 1 }), - }; - if ("source" === r.kind) return { functionType: "source" }; - for (var n = r.zoomStops, i = 0; i < n.length && n[i] <= t; ) - i++; - for ( - var a = (i = Math.max(0, i - 1)); - a < n.length && n[a] < t + 1; - - ) - a++; - a = Math.min(n.length - 1, a); - var o = { min: n[i], max: n[a] }; - return "composite" === r.kind - ? { - functionType: "composite", - zoomRange: o, - propertyValue: e.value, - } - : { - functionType: "camera", - layoutSize: r.evaluate({ zoom: t + 1 }), - zoomRange: o, - sizeRange: { - min: r.evaluate({ zoom: o.min }), - max: r.evaluate({ zoom: o.max }), - }, - propertyValue: e.value, - }; - }, - evaluateSizeForFeature: function (t, e, r) { - var n = e; - return "source" === t.functionType - ? r.lowerSize / 10 - : "composite" === t.functionType - ? i.number(r.lowerSize / 10, r.upperSize / 10, n.uSizeT) - : n.uSize; - }, - evaluateSizeForZoom: function (t, e, r) { - if ("constant" === t.functionType) - return { uSizeT: 0, uSize: t.layoutSize }; - if ("source" === t.functionType) - return { uSizeT: 0, uSize: 0 }; - if ("camera" === t.functionType) { - var i = t.propertyValue, - o = t.zoomRange, - s = t.sizeRange, - l = n(i, r.specification), - c = a.clamp(l.interpolationFactor(e, o.min, o.max), 0, 1); - return { uSizeT: 0, uSize: s.min + c * (s.max - s.min) }; - } - var u = t.propertyValue, - f = t.zoomRange, - h = n(u, r.specification); - return { - uSizeT: a.clamp( - h.interpolationFactor(e, f.min, f.max), - 0, - 1, - ), - uSize: 0, - }; - }, - }; - }, - { - "../style-spec/expression": 139, - "../style-spec/util/interpolate": 158, - "../util/util": 275, - }, - ], - 229: [ - function (t, e, r) { - var n = t("../source/rtl_text_plugin"); - e.exports = function (t, e, r) { - var i = e.layout.get("text-transform").evaluate(r); - return ( - "uppercase" === i - ? (t = t.toLocaleUpperCase()) - : "lowercase" === i && (t = t.toLocaleLowerCase()), - n.applyArabicShaping && (t = n.applyArabicShaping(t)), - t - ); - }; - }, - { "../source/rtl_text_plugin": 109 }, - ], - 230: [ - function (t, e, r) { - var n = t("../util/dom"), - i = t("@mapbox/point-geometry"), - a = { - scrollZoom: t("./handler/scroll_zoom"), - boxZoom: t("./handler/box_zoom"), - dragRotate: t("./handler/drag_rotate"), - dragPan: t("./handler/drag_pan"), - keyboard: t("./handler/keyboard"), - doubleClickZoom: t("./handler/dblclick_zoom"), - touchZoomRotate: t("./handler/touch_zoom_rotate"), - }; - e.exports = function (t, e) { - function r() { - h = null; - } - function o(e, r) { - var i = n.mousePos(l, r); - return t.fire(e, { - lngLat: t.unproject(i), - point: i, - originalEvent: r, - }); - } - function s(e, r) { - var a = n.touchPos(l, r), - o = a.reduce( - function (t, e, r, n) { - return t.add(e.div(n.length)); - }, - new i(0, 0), - ); - return t.fire(e, { - lngLat: t.unproject(o), - point: o, - lngLats: a.map(function (e) { - return t.unproject(e); - }, this), - points: a, - originalEvent: r, - }); - } - var l = t.getCanvasContainer(), - c = null, - u = !1, - f = null, - h = null; - for (var p in a) - ((t[p] = new a[p](t, e)), - e.interactive && e[p] && t[p].enable(e[p])); - (l.addEventListener( - "mouseout", - function (t) { - o("mouseout", t); - }, - !1, - ), - l.addEventListener( - "mousedown", - function (e) { - (t.doubleClickZoom.isActive() || t.stop(), - (f = n.mousePos(l, e)), - o("mousedown", e), - (u = !0)); - }, - !1, - ), - l.addEventListener( - "mouseup", - function (e) { - var r = t.dragRotate && t.dragRotate.isActive(); - (c && !r && o("contextmenu", c), - (c = null), - (u = !1), - o("mouseup", e)); - }, - !1, - ), - l.addEventListener( - "mousemove", - function (e) { - if ( - !( - (t.dragPan && t.dragPan.isActive()) || - (t.dragRotate && t.dragRotate.isActive()) - ) - ) { - for (var r = e.toElement || e.target; r && r !== l; ) - r = r.parentNode; - r === l && o("mousemove", e); - } - }, - !1, - ), - l.addEventListener( - "mouseover", - function (t) { - for (var e = t.toElement || t.target; e && e !== l; ) - e = e.parentNode; - e === l && o("mouseover", t); - }, - !1, - ), - l.addEventListener( - "touchstart", - function (e) { - (t.stop(), - s("touchstart", e), - !e.touches || - e.touches.length > 1 || - (h - ? (clearTimeout(h), (h = null), o("dblclick", e)) - : (h = setTimeout(r, 300)))); - }, - !1, - ), - l.addEventListener( - "touchend", - function (t) { - s("touchend", t); - }, - !1, - ), - l.addEventListener( - "touchmove", - function (t) { - s("touchmove", t); - }, - !1, - ), - l.addEventListener( - "touchcancel", - function (t) { - s("touchcancel", t); - }, - !1, - ), - l.addEventListener( - "click", - function (t) { - n.mousePos(l, t).equals(f) && o("click", t); - }, - !1, - ), - l.addEventListener( - "dblclick", - function (t) { - (o("dblclick", t), t.preventDefault()); - }, - !1, - ), - l.addEventListener( - "contextmenu", - function (e) { - var r = t.dragRotate && t.dragRotate.isActive(); - (u || r ? u && (c = e) : o("contextmenu", e), - e.preventDefault()); - }, - !1, - )); - }; - }, - { - "../util/dom": 259, - "./handler/box_zoom": 239, - "./handler/dblclick_zoom": 240, - "./handler/drag_pan": 241, - "./handler/drag_rotate": 242, - "./handler/keyboard": 243, - "./handler/scroll_zoom": 244, - "./handler/touch_zoom_rotate": 245, - "@mapbox/point-geometry": 4, - }, - ], - 231: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../style-spec/util/interpolate").number, - a = t("../util/browser"), - o = t("../geo/lng_lat"), - s = t("../geo/lng_lat_bounds"), - l = t("@mapbox/point-geometry"), - c = (function (t) { - function e(e, r) { - (t.call(this), - (this.moving = !1), - (this.transform = e), - (this._bearingSnap = r.bearingSnap)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.getCenter = function () { - return this.transform.center; - }), - (e.prototype.setCenter = function (t, e) { - return this.jumpTo({ center: t }, e); - }), - (e.prototype.panBy = function (t, e, r) { - return ( - (t = l.convert(t).mult(-1)), - this.panTo( - this.transform.center, - n.extend({ offset: t }, e), - r, - ) - ); - }), - (e.prototype.panTo = function (t, e, r) { - return this.easeTo(n.extend({ center: t }, e), r); - }), - (e.prototype.getZoom = function () { - return this.transform.zoom; - }), - (e.prototype.setZoom = function (t, e) { - return (this.jumpTo({ zoom: t }, e), this); - }), - (e.prototype.zoomTo = function (t, e, r) { - return this.easeTo(n.extend({ zoom: t }, e), r); - }), - (e.prototype.zoomIn = function (t, e) { - return (this.zoomTo(this.getZoom() + 1, t, e), this); - }), - (e.prototype.zoomOut = function (t, e) { - return (this.zoomTo(this.getZoom() - 1, t, e), this); - }), - (e.prototype.getBearing = function () { - return this.transform.bearing; - }), - (e.prototype.setBearing = function (t, e) { - return (this.jumpTo({ bearing: t }, e), this); - }), - (e.prototype.rotateTo = function (t, e, r) { - return this.easeTo(n.extend({ bearing: t }, e), r); - }), - (e.prototype.resetNorth = function (t, e) { - return ( - this.rotateTo(0, n.extend({ duration: 1e3 }, t), e), - this - ); - }), - (e.prototype.snapToNorth = function (t, e) { - return Math.abs(this.getBearing()) < this._bearingSnap - ? this.resetNorth(t, e) - : this; - }), - (e.prototype.getPitch = function () { - return this.transform.pitch; - }), - (e.prototype.setPitch = function (t, e) { - return (this.jumpTo({ pitch: t }, e), this); - }), - (e.prototype.fitBounds = function (t, e, r) { - if ( - "number" == - typeof (e = n.extend( - { - padding: { top: 0, bottom: 0, right: 0, left: 0 }, - offset: [0, 0], - maxZoom: this.transform.maxZoom, - }, - e, - )).padding - ) { - var i = e.padding; - e.padding = { top: i, bottom: i, right: i, left: i }; - } - if ( - !n.deepEqual( - Object.keys(e.padding).sort(function (t, e) { - return t < e ? -1 : t > e ? 1 : 0; - }), - ["bottom", "left", "right", "top"], - ) - ) - return ( - n.warnOnce( - "options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'", - ), - this - ); - t = s.convert(t); - var a = [ - (e.padding.left - e.padding.right) / 2, - (e.padding.top - e.padding.bottom) / 2, - ], - o = Math.min(e.padding.right, e.padding.left), - c = Math.min(e.padding.top, e.padding.bottom); - e.offset = [e.offset[0] + a[0], e.offset[1] + a[1]]; - var u = l.convert(e.offset), - f = this.transform, - h = f.project(t.getNorthWest()), - p = f.project(t.getSouthEast()), - d = p.sub(h), - g = (f.width - 2 * o - 2 * Math.abs(u.x)) / d.x, - m = (f.height - 2 * c - 2 * Math.abs(u.y)) / d.y; - return m < 0 || g < 0 - ? (n.warnOnce( - "Map cannot fit within canvas with the given bounds, padding, and/or offset.", - ), - this) - : ((e.center = f.unproject(h.add(p).div(2))), - (e.zoom = Math.min( - f.scaleZoom(f.scale * Math.min(g, m)), - e.maxZoom, - )), - (e.bearing = 0), - e.linear ? this.easeTo(e, r) : this.flyTo(e, r)); - }), - (e.prototype.jumpTo = function (t, e) { - this.stop(); - var r = this.transform, - n = !1, - i = !1, - a = !1; - return ( - "zoom" in t && - r.zoom !== +t.zoom && - ((n = !0), (r.zoom = +t.zoom)), - void 0 !== t.center && (r.center = o.convert(t.center)), - "bearing" in t && - r.bearing !== +t.bearing && - ((i = !0), (r.bearing = +t.bearing)), - "pitch" in t && - r.pitch !== +t.pitch && - ((a = !0), (r.pitch = +t.pitch)), - this.fire("movestart", e).fire("move", e), - n && - this.fire("zoomstart", e) - .fire("zoom", e) - .fire("zoomend", e), - i && this.fire("rotate", e), - a && - this.fire("pitchstart", e) - .fire("pitch", e) - .fire("pitchend", e), - this.fire("moveend", e) - ); - }), - (e.prototype.easeTo = function (t, e) { - var r = this; - (this.stop(), - !1 === - (t = n.extend( - { offset: [0, 0], duration: 500, easing: n.ease }, - t, - )).animate && (t.duration = 0)); - var a = this.transform, - s = this.getZoom(), - c = this.getBearing(), - u = this.getPitch(), - f = "zoom" in t ? +t.zoom : s, - h = - "bearing" in t - ? this._normalizeBearing(t.bearing, c) - : c, - p = "pitch" in t ? +t.pitch : u, - d = a.centerPoint.add(l.convert(t.offset)), - g = a.pointLocation(d), - m = o.convert(t.center || g); - this._normalizeCenter(m); - var v, - y, - x = a.project(g), - b = a.project(m).sub(x), - _ = a.zoomScale(f - s); - return ( - t.around && - ((v = o.convert(t.around)), (y = a.locationPoint(v))), - (this.zooming = f !== s), - (this.rotating = c !== h), - (this.pitching = p !== u), - this._prepareEase(e, t.noMoveStart), - clearTimeout(this._onEaseEnd), - this._ease( - function (t) { - if ( - (r.zooming && (a.zoom = i(s, f, t)), - r.rotating && (a.bearing = i(c, h, t)), - r.pitching && (a.pitch = i(u, p, t)), - v) - ) - a.setLocationAtPoint(v, y); - else { - var n = a.zoomScale(a.zoom - s), - o = f > s ? Math.min(2, _) : Math.max(0.5, _), - l = Math.pow(o, 1 - t), - g = a.unproject(x.add(b.mult(t * l)).mult(n)); - a.setLocationAtPoint( - a.renderWorldCopies ? g.wrap() : g, - d, - ); - } - r._fireMoveEvents(e); - }, - function () { - t.delayEndEvents - ? (r._onEaseEnd = setTimeout(function () { - return r._afterEase(e); - }, t.delayEndEvents)) - : r._afterEase(e); - }, - t, - ), - this - ); - }), - (e.prototype._prepareEase = function (t, e) { - ((this.moving = !0), - e || this.fire("movestart", t), - this.zooming && this.fire("zoomstart", t), - this.pitching && this.fire("pitchstart", t)); - }), - (e.prototype._fireMoveEvents = function (t) { - (this.fire("move", t), - this.zooming && this.fire("zoom", t), - this.rotating && this.fire("rotate", t), - this.pitching && this.fire("pitch", t)); - }), - (e.prototype._afterEase = function (t) { - var e = this.zooming, - r = this.pitching; - ((this.moving = !1), - (this.zooming = !1), - (this.rotating = !1), - (this.pitching = !1), - e && this.fire("zoomend", t), - r && this.fire("pitchend", t), - this.fire("moveend", t)); - }), - (e.prototype.flyTo = function (t, e) { - function r(t) { - var e = - (A * A - M * M + (t ? -1 : 1) * E * E * T * T) / - (2 * (t ? A : M) * E * T); - return Math.log(Math.sqrt(e * e + 1) - e); - } - function a(t) { - return (Math.exp(t) - Math.exp(-t)) / 2; - } - function s(t) { - return (Math.exp(t) + Math.exp(-t)) / 2; - } - var c = this; - (this.stop(), - (t = n.extend( - { - offset: [0, 0], - speed: 1.2, - curve: 1.42, - easing: n.ease, - }, - t, - ))); - var u = this.transform, - f = this.getZoom(), - h = this.getBearing(), - p = this.getPitch(), - d = - "zoom" in t - ? n.clamp(+t.zoom, u.minZoom, u.maxZoom) - : f, - g = - "bearing" in t - ? this._normalizeBearing(t.bearing, h) - : h, - m = "pitch" in t ? +t.pitch : p, - v = u.zoomScale(d - f), - y = u.centerPoint.add(l.convert(t.offset)), - x = u.pointLocation(y), - b = o.convert(t.center || x); - this._normalizeCenter(b); - var _ = u.project(x), - w = u.project(b).sub(_), - k = t.curve, - M = Math.max(u.width, u.height), - A = M / v, - T = w.mag(); - if ("minZoom" in t) { - var S = n.clamp( - Math.min(t.minZoom, f, d), - u.minZoom, - u.maxZoom, - ), - C = M / u.zoomScale(S - f); - k = Math.sqrt((C / T) * 2); - } - var E = k * k, - L = r(0), - z = function (t) { - return s(L) / s(L + k * t); - }, - P = function (t) { - return ( - (M * - ((s(L) * - (function (t) { - return a(t) / s(t); - })(L + k * t) - - a(L)) / - E)) / - T - ); - }, - D = (r(1) - L) / k; - if (Math.abs(T) < 1e-6 || !isFinite(D)) { - if (Math.abs(M - A) < 1e-6) return this.easeTo(t, e); - var O = A < M ? -1 : 1; - ((D = Math.abs(Math.log(A / M)) / k), - (P = function () { - return 0; - }), - (z = function (t) { - return Math.exp(O * k * t); - })); - } - if ("duration" in t) t.duration = +t.duration; - else { - var I = - "screenSpeed" in t ? +t.screenSpeed / k : +t.speed; - t.duration = (1e3 * D) / I; - } - return ( - t.maxDuration && - t.duration > t.maxDuration && - (t.duration = 0), - (this.zooming = !0), - (this.rotating = h !== g), - (this.pitching = m !== p), - this._prepareEase(e, !1), - this._ease( - function (t) { - var r = t * D, - n = 1 / z(r); - ((u.zoom = f + u.scaleZoom(n)), - c.rotating && (u.bearing = i(h, g, t)), - c.pitching && (u.pitch = i(p, m, t))); - var a = u.unproject(_.add(w.mult(P(r))).mult(n)); - (u.setLocationAtPoint( - u.renderWorldCopies ? a.wrap() : a, - y, - ), - c._fireMoveEvents(e)); - }, - function () { - return c._afterEase(e); - }, - t, - ), - this - ); - }), - (e.prototype.isEasing = function () { - return !!this._isEasing; - }), - (e.prototype.isMoving = function () { - return this.moving; - }), - (e.prototype.stop = function () { - return (this._onFrame && this._finishAnimation(), this); - }), - (e.prototype._ease = function (t, e, r) { - var n = this; - !1 === r.animate || 0 === r.duration - ? (t(1), e()) - : ((this._easeStart = a.now()), - (this._isEasing = !0), - (this._easeOptions = r), - this._startAnimation( - function (e) { - var r = Math.min( - (a.now() - n._easeStart) / - n._easeOptions.duration, - 1, - ); - (t(n._easeOptions.easing(r)), - 1 === r && n.stop()); - }, - function () { - ((n._isEasing = !1), e()); - }, - )); - }), - (e.prototype._updateCamera = function () { - this._onFrame && this._onFrame(this.transform); - }), - (e.prototype._startAnimation = function (t, e) { - return ( - void 0 === e && (e = function () {}), - this.stop(), - (this._onFrame = t), - (this._finishFn = e), - this._update(), - this - ); - }), - (e.prototype._finishAnimation = function () { - delete this._onFrame; - var t = this._finishFn; - (delete this._finishFn, t.call(this)); - }), - (e.prototype._normalizeBearing = function (t, e) { - t = n.wrap(t, -180, 180); - var r = Math.abs(t - e); - return ( - Math.abs(t - 360 - e) < r && (t -= 360), - Math.abs(t + 360 - e) < r && (t += 360), - t - ); - }), - (e.prototype._normalizeCenter = function (t) { - var e = this.transform; - if (e.renderWorldCopies && !e.lngRange) { - var r = t.lng - e.center.lng; - t.lng += r > 180 ? -360 : r < -180 ? 360 : 0; - } - }), - e - ); - })(t("../util/evented")); - e.exports = c; - }, - { - "../geo/lng_lat": 62, - "../geo/lng_lat_bounds": 63, - "../style-spec/util/interpolate": 158, - "../util/browser": 252, - "../util/evented": 260, - "../util/util": 275, - "@mapbox/point-geometry": 4, - }, - ], - 232: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/config"), - o = function (t) { - ((this.options = t), - i.bindAll( - ["_updateEditLink", "_updateData", "_updateCompact"], - this, - )); - }; - ((o.prototype.getDefaultPosition = function () { - return "bottom-right"; - }), - (o.prototype.onAdd = function (t) { - var e = this.options && this.options.compact; - return ( - (this._map = t), - (this._container = n.create( - "div", - "mapboxgl-ctrl mapboxgl-ctrl-attrib", - )), - e && this._container.classList.add("mapboxgl-compact"), - this._updateAttributions(), - this._updateEditLink(), - this._map.on("sourcedata", this._updateData), - this._map.on("moveend", this._updateEditLink), - void 0 === e && - (this._map.on("resize", this._updateCompact), - this._updateCompact()), - this._container - ); - }), - (o.prototype.onRemove = function () { - (n.remove(this._container), - this._map.off("sourcedata", this._updateData), - this._map.off("moveend", this._updateEditLink), - this._map.off("resize", this._updateCompact), - (this._map = void 0)); - }), - (o.prototype._updateEditLink = function () { - var t = this._editLink; - t || - (t = this._editLink = - this._container.querySelector(".mapbox-improve-map")); - var e = [ - { key: "owner", value: this.styleOwner }, - { key: "id", value: this.styleId }, - { key: "access_token", value: a.ACCESS_TOKEN }, - ]; - if (t) { - var r = e.reduce(function (t, r, n) { - return ( - r.value && - (t += - r.key + - "=" + - r.value + - (n < e.length - 1 ? "&" : "")), - t - ); - }, "?"); - t.href = - "https://www.mapbox.com/feedback/" + - r + - (this._map._hash - ? this._map._hash.getHashString(!0) - : ""); - } - }), - (o.prototype._updateData = function (t) { - t && - "metadata" === t.sourceDataType && - (this._updateAttributions(), this._updateEditLink()); - }), - (o.prototype._updateAttributions = function () { - if (this._map.style) { - var t = []; - if (this._map.style.stylesheet) { - var e = this._map.style.stylesheet; - ((this.styleOwner = e.owner), (this.styleId = e.id)); - } - var r = this._map.style.sourceCaches; - for (var n in r) { - var i = r[n].getSource(); - i.attribution && - t.indexOf(i.attribution) < 0 && - t.push(i.attribution); - } - (t.sort(function (t, e) { - return t.length - e.length; - }), - (t = t.filter(function (e, r) { - for (var n = r + 1; n < t.length; n++) - if (t[n].indexOf(e) >= 0) return !1; - return !0; - })).length - ? ((this._container.innerHTML = t.join(" | ")), - this._container.classList.remove( - "mapboxgl-attrib-empty", - )) - : this._container.classList.add( - "mapboxgl-attrib-empty", - ), - (this._editLink = null)); - } - }), - (o.prototype._updateCompact = function () { - this._map.getCanvasContainer().offsetWidth <= 640 - ? this._container.classList.add("mapboxgl-compact") - : this._container.classList.remove("mapboxgl-compact"); - }), - (e.exports = o)); - }, - { - "../../util/config": 256, - "../../util/dom": 259, - "../../util/util": 275, - }, - ], - 233: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/window"), - o = function () { - ((this._fullscreen = !1), - i.bindAll(["_onClickFullscreen", "_changeIcon"], this), - "onfullscreenchange" in a.document - ? (this._fullscreenchange = "fullscreenchange") - : "onmozfullscreenchange" in a.document - ? (this._fullscreenchange = "mozfullscreenchange") - : "onwebkitfullscreenchange" in a.document - ? (this._fullscreenchange = "webkitfullscreenchange") - : "onmsfullscreenchange" in a.document && - (this._fullscreenchange = "MSFullscreenChange"), - (this._className = "mapboxgl-ctrl")); - }; - ((o.prototype.onAdd = function (t) { - return ( - (this._map = t), - (this._mapContainer = this._map.getContainer()), - (this._container = n.create( - "div", - this._className + " mapboxgl-ctrl-group", - )), - this._checkFullscreenSupport() - ? this._setupUI() - : ((this._container.style.display = "none"), - i.warnOnce( - "This device does not support fullscreen mode.", - )), - this._container - ); - }), - (o.prototype.onRemove = function () { - (n.remove(this._container), - (this._map = null), - a.document.removeEventListener( - this._fullscreenchange, - this._changeIcon, - )); - }), - (o.prototype._checkFullscreenSupport = function () { - return !!( - a.document.fullscreenEnabled || - a.document.mozFullScreenEnabled || - a.document.msFullscreenEnabled || - a.document.webkitFullscreenEnabled - ); - }), - (o.prototype._setupUI = function () { - var t = (this._fullscreenButton = n.create( - "button", - this._className + - "-icon " + - this._className + - "-fullscreen", - this._container, - )); - (t.setAttribute("aria-label", "Toggle fullscreen"), - (t.type = "button"), - this._fullscreenButton.addEventListener( - "click", - this._onClickFullscreen, - ), - a.document.addEventListener( - this._fullscreenchange, - this._changeIcon, - )); - }), - (o.prototype._isFullscreen = function () { - return this._fullscreen; - }), - (o.prototype._changeIcon = function () { - ((a.document.fullscreenElement || - a.document.mozFullScreenElement || - a.document.webkitFullscreenElement || - a.document.msFullscreenElement) === - this._mapContainer) !== - this._fullscreen && - ((this._fullscreen = !this._fullscreen), - this._fullscreenButton.classList.toggle( - this._className + "-shrink", - ), - this._fullscreenButton.classList.toggle( - this._className + "-fullscreen", - )); - }), - (o.prototype._onClickFullscreen = function () { - this._isFullscreen() - ? a.document.exitFullscreen - ? a.document.exitFullscreen() - : a.document.mozCancelFullScreen - ? a.document.mozCancelFullScreen() - : a.document.msExitFullscreen - ? a.document.msExitFullscreen() - : a.document.webkitCancelFullScreen && - a.document.webkitCancelFullScreen() - : this._mapContainer.requestFullscreen - ? this._mapContainer.requestFullscreen() - : this._mapContainer.mozRequestFullScreen - ? this._mapContainer.mozRequestFullScreen() - : this._mapContainer.msRequestFullscreen - ? this._mapContainer.msRequestFullscreen() - : this._mapContainer.webkitRequestFullscreen && - this._mapContainer.webkitRequestFullscreen(); - }), - (e.exports = o)); - }, - { - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 234: [ - function (t, e, r) { - var n, - i = t("../../util/evented"), - a = t("../../util/dom"), - o = t("../../util/window"), - s = t("../../util/util"), - l = t("../../geo/lng_lat"), - c = t("../marker"), - u = { - positionOptions: { enableHighAccuracy: !1, timeout: 6e3 }, - fitBoundsOptions: { maxZoom: 15 }, - trackUserLocation: !1, - showUserLocation: !0, - }, - f = (function (t) { - function e(e) { - (t.call(this), - (this.options = s.extend({}, u, e)), - s.bindAll( - [ - "_onSuccess", - "_onError", - "_finish", - "_setupUI", - "_updateCamera", - "_updateMarker", - "_onClickGeolocate", - ], - this, - )); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.onAdd = function (t) { - return ( - (this._map = t), - (this._container = a.create( - "div", - "mapboxgl-ctrl mapboxgl-ctrl-group", - )), - (function (t) { - void 0 !== n - ? t(n) - : void 0 !== o.navigator.permissions - ? o.navigator.permissions - .query({ name: "geolocation" }) - .then(function (e) { - ((n = "denied" !== e.state), t(n)); - }) - : ((n = !!o.navigator.geolocation), t(n)); - })(this._setupUI), - this._container - ); - }), - (e.prototype.onRemove = function () { - (void 0 !== this._geolocationWatchID && - (o.navigator.geolocation.clearWatch( - this._geolocationWatchID, - ), - (this._geolocationWatchID = void 0)), - this.options.showUserLocation && - this._userLocationDotMarker.remove(), - a.remove(this._container), - (this._map = void 0)); - }), - (e.prototype._onSuccess = function (t) { - if (this.options.trackUserLocation) - switch ( - ((this._lastKnownPosition = t), this._watchState) - ) { - case "WAITING_ACTIVE": - case "ACTIVE_LOCK": - case "ACTIVE_ERROR": - ((this._watchState = "ACTIVE_LOCK"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active-error", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active", - )); - break; - case "BACKGROUND": - case "BACKGROUND_ERROR": - ((this._watchState = "BACKGROUND"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background-error", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-background", - )); - } - (this.options.showUserLocation && - "OFF" !== this._watchState && - this._updateMarker(t), - (this.options.trackUserLocation && - "ACTIVE_LOCK" !== this._watchState) || - this._updateCamera(t), - this.options.showUserLocation && - this._dotElement.classList.remove( - "mapboxgl-user-location-dot-stale", - ), - this.fire("geolocate", t), - this._finish()); - }), - (e.prototype._updateCamera = function (t) { - var e = new l(t.coords.longitude, t.coords.latitude), - r = t.coords.accuracy; - this._map.fitBounds( - e.toBounds(r), - this.options.fitBoundsOptions, - { geolocateSource: !0 }, - ); - }), - (e.prototype._updateMarker = function (t) { - t - ? this._userLocationDotMarker - .setLngLat([t.coords.longitude, t.coords.latitude]) - .addTo(this._map) - : this._userLocationDotMarker.remove(); - }), - (e.prototype._onError = function (t) { - if (this.options.trackUserLocation) - if (1 === t.code) - ((this._watchState = "OFF"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active-error", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background-error", - ), - void 0 !== this._geolocationWatchID && - this._clearWatch()); - else - switch (this._watchState) { - case "WAITING_ACTIVE": - ((this._watchState = "ACTIVE_ERROR"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active-error", - )); - break; - case "ACTIVE_LOCK": - ((this._watchState = "ACTIVE_ERROR"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active-error", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - )); - break; - case "BACKGROUND": - ((this._watchState = "BACKGROUND_ERROR"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-background-error", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - )); - } - ("OFF" !== this._watchState && - this.options.showUserLocation && - this._dotElement.classList.add( - "mapboxgl-user-location-dot-stale", - ), - this.fire("error", t), - this._finish()); - }), - (e.prototype._finish = function () { - (this._timeoutId && clearTimeout(this._timeoutId), - (this._timeoutId = void 0)); - }), - (e.prototype._setupUI = function (t) { - var e = this; - !1 !== t && - (this._container.addEventListener( - "contextmenu", - function (t) { - return t.preventDefault(); - }, - ), - (this._geolocateButton = a.create( - "button", - "mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate", - this._container, - )), - (this._geolocateButton.type = "button"), - this._geolocateButton.setAttribute( - "aria-label", - "Geolocate", - ), - this.options.trackUserLocation && - (this._geolocateButton.setAttribute( - "aria-pressed", - "false", - ), - (this._watchState = "OFF")), - this.options.showUserLocation && - ((this._dotElement = a.create( - "div", - "mapboxgl-user-location-dot", - )), - (this._userLocationDotMarker = new c( - this._dotElement, - )), - this.options.trackUserLocation && - (this._watchState = "OFF")), - this._geolocateButton.addEventListener( - "click", - this._onClickGeolocate.bind(this), - ), - this.options.trackUserLocation && - this._map.on("movestart", function (t) { - t.geolocateSource || - "ACTIVE_LOCK" !== e._watchState || - ((e._watchState = "BACKGROUND"), - e._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-background", - ), - e._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active", - ), - e.fire("trackuserlocationend")); - })); - }), - (e.prototype._onClickGeolocate = function () { - if (this.options.trackUserLocation) { - switch (this._watchState) { - case "OFF": - ((this._watchState = "WAITING_ACTIVE"), - this.fire("trackuserlocationstart")); - break; - case "WAITING_ACTIVE": - case "ACTIVE_LOCK": - case "ACTIVE_ERROR": - case "BACKGROUND_ERROR": - ((this._watchState = "OFF"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-active-error", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background", - ), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background-error", - ), - this.fire("trackuserlocationend")); - break; - case "BACKGROUND": - ((this._watchState = "ACTIVE_LOCK"), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-background", - ), - this._lastKnownPosition && - this._updateCamera(this._lastKnownPosition), - this.fire("trackuserlocationstart")); - } - switch (this._watchState) { - case "WAITING_ACTIVE": - (this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active", - )); - break; - case "ACTIVE_LOCK": - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active", - ); - break; - case "ACTIVE_ERROR": - (this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-active-error", - )); - break; - case "BACKGROUND": - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-background", - ); - break; - case "BACKGROUND_ERROR": - (this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-background-error", - )); - } - "OFF" === this._watchState && - void 0 !== this._geolocationWatchID - ? this._clearWatch() - : void 0 === this._geolocationWatchID && - (this._geolocateButton.classList.add( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.setAttribute( - "aria-pressed", - "true", - ), - (this._geolocationWatchID = - o.navigator.geolocation.watchPosition( - this._onSuccess, - this._onError, - this.options.positionOptions, - ))); - } else - (o.navigator.geolocation.getCurrentPosition( - this._onSuccess, - this._onError, - this.options.positionOptions, - ), - (this._timeoutId = setTimeout(this._finish, 1e4))); - }), - (e.prototype._clearWatch = function () { - (o.navigator.geolocation.clearWatch( - this._geolocationWatchID, - ), - (this._geolocationWatchID = void 0), - this._geolocateButton.classList.remove( - "mapboxgl-ctrl-geolocate-waiting", - ), - this._geolocateButton.setAttribute( - "aria-pressed", - "false", - ), - this.options.showUserLocation && - this._updateMarker(null)); - }), - e - ); - })(i); - e.exports = f; - }, - { - "../../geo/lng_lat": 62, - "../../util/dom": 259, - "../../util/evented": 260, - "../../util/util": 275, - "../../util/window": 254, - "../marker": 248, - }, - ], - 235: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = function () { - i.bindAll(["_updateLogo"], this); - }; - ((a.prototype.onAdd = function (t) { - ((this._map = t), - (this._container = n.create("div", "mapboxgl-ctrl"))); - var e = n.create("a", "mapboxgl-ctrl-logo"); - return ( - (e.target = "_blank"), - (e.href = "https://www.mapbox.com/"), - e.setAttribute("aria-label", "Mapbox logo"), - this._container.appendChild(e), - (this._container.style.display = "none"), - this._map.on("sourcedata", this._updateLogo), - this._updateLogo(), - this._container - ); - }), - (a.prototype.onRemove = function () { - (n.remove(this._container), - this._map.off("sourcedata", this._updateLogo)); - }), - (a.prototype.getDefaultPosition = function () { - return "bottom-left"; - }), - (a.prototype._updateLogo = function (t) { - (t && "metadata" !== t.sourceDataType) || - (this._container.style.display = this._logoRequired() - ? "block" - : "none"); - }), - (a.prototype._logoRequired = function () { - if (this._map.style) { - var t = this._map.style.sourceCaches; - for (var e in t) - if (t[e].getSource().mapbox_logo) return !0; - return !1; - } - }), - (e.exports = a)); - }, - { "../../util/dom": 259, "../../util/util": 275 }, - ], - 236: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../handler/drag_rotate"), - o = { showCompass: !0, showZoom: !0 }, - s = function (t) { - var e = this; - ((this.options = i.extend({}, o, t)), - (this._container = n.create( - "div", - "mapboxgl-ctrl mapboxgl-ctrl-group", - )), - this._container.addEventListener( - "contextmenu", - function (t) { - return t.preventDefault(); - }, - ), - this.options.showZoom && - ((this._zoomInButton = this._createButton( - "mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in", - "Zoom In", - function () { - return e._map.zoomIn(); - }, - )), - (this._zoomOutButton = this._createButton( - "mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out", - "Zoom Out", - function () { - return e._map.zoomOut(); - }, - ))), - this.options.showCompass && - (i.bindAll(["_rotateCompassArrow"], this), - (this._compass = this._createButton( - "mapboxgl-ctrl-icon mapboxgl-ctrl-compass", - "Reset North", - function () { - return e._map.resetNorth(); - }, - )), - (this._compassArrow = n.create( - "span", - "mapboxgl-ctrl-compass-arrow", - this._compass, - )))); - }; - ((s.prototype._rotateCompassArrow = function () { - var t = - "rotate(" + - this._map.transform.angle * (180 / Math.PI) + - "deg)"; - this._compassArrow.style.transform = t; - }), - (s.prototype.onAdd = function (t) { - return ( - (this._map = t), - this.options.showCompass && - (this._map.on("rotate", this._rotateCompassArrow), - this._rotateCompassArrow(), - (this._handler = new a(t, { - button: "left", - element: this._compass, - })), - this._handler.enable()), - this._container - ); - }), - (s.prototype.onRemove = function () { - (n.remove(this._container), - this.options.showCompass && - (this._map.off("rotate", this._rotateCompassArrow), - this._handler.disable(), - delete this._handler), - delete this._map); - }), - (s.prototype._createButton = function (t, e, r) { - var i = n.create("button", t, this._container); - return ( - (i.type = "button"), - i.setAttribute("aria-label", e), - i.addEventListener("click", r), - i - ); - }), - (e.exports = s)); - }, - { - "../../util/dom": 259, - "../../util/util": 275, - "../handler/drag_rotate": 242, - }, - ], - 237: [ - function (t, e, r) { - function n(t, e, r) { - var n = (r && r.maxWidth) || 100, - a = t._container.clientHeight / 2, - o = (function (t, e) { - var r = Math.PI / 180, - n = t.lat * r, - i = e.lat * r, - a = - Math.sin(n) * Math.sin(i) + - Math.cos(n) * - Math.cos(i) * - Math.cos((e.lng - t.lng) * r); - return 6371e3 * Math.acos(Math.min(a, 1)); - })(t.unproject([0, a]), t.unproject([n, a])); - if (r && "imperial" === r.unit) { - var s = 3.2808 * o; - s > 5280 ? i(e, n, s / 5280, "mi") : i(e, n, s, "ft"); - } else if (r && "nautical" === r.unit) { - i(e, n, o / 1852, "nm"); - } else i(e, n, o, "m"); - } - function i(t, e, r, n) { - var i = (function (t) { - var e = Math.pow(10, ("" + Math.floor(t)).length - 1), - r = t / e; - return ( - e * - (r = - r >= 10 ? 10 : r >= 5 ? 5 : r >= 3 ? 3 : r >= 2 ? 2 : 1) - ); - })(r), - a = i / r; - ("m" === n && i >= 1e3 && ((i /= 1e3), (n = "km")), - (t.style.width = e * a + "px"), - (t.innerHTML = i + n)); - } - var a = t("../../util/dom"), - o = t("../../util/util"), - s = function (t) { - ((this.options = t), o.bindAll(["_onMove"], this)); - }; - ((s.prototype.getDefaultPosition = function () { - return "bottom-left"; - }), - (s.prototype._onMove = function () { - n(this._map, this._container, this.options); - }), - (s.prototype.onAdd = function (t) { - return ( - (this._map = t), - (this._container = a.create( - "div", - "mapboxgl-ctrl mapboxgl-ctrl-scale", - t.getContainer(), - )), - this._map.on("move", this._onMove), - this._onMove(), - this._container - ); - }), - (s.prototype.onRemove = function () { - (a.remove(this._container), - this._map.off("move", this._onMove), - (this._map = void 0)); - }), - (e.exports = s)); - }, - { "../../util/dom": 259, "../../util/util": 275 }, - ], - 238: [function (t, e, r) {}, {}], - 239: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../geo/lng_lat_bounds"), - a = t("../../util/util"), - o = t("../../util/window"), - s = function (t) { - ((this._map = t), - (this._el = t.getCanvasContainer()), - (this._container = t.getContainer()), - a.bindAll( - [ - "_onMouseDown", - "_onMouseMove", - "_onMouseUp", - "_onKeyDown", - ], - this, - )); - }; - ((s.prototype.isEnabled = function () { - return !!this._enabled; - }), - (s.prototype.isActive = function () { - return !!this._active; - }), - (s.prototype.enable = function () { - this.isEnabled() || - (this._map.dragPan && this._map.dragPan.disable(), - this._el.addEventListener( - "mousedown", - this._onMouseDown, - !1, - ), - this._map.dragPan && this._map.dragPan.enable(), - (this._enabled = !0)); - }), - (s.prototype.disable = function () { - this.isEnabled() && - (this._el.removeEventListener( - "mousedown", - this._onMouseDown, - ), - (this._enabled = !1)); - }), - (s.prototype._onMouseDown = function (t) { - t.shiftKey && - 0 === t.button && - (o.document.addEventListener( - "mousemove", - this._onMouseMove, - !1, - ), - o.document.addEventListener("keydown", this._onKeyDown, !1), - o.document.addEventListener("mouseup", this._onMouseUp, !1), - n.disableDrag(), - (this._startPos = n.mousePos(this._el, t)), - (this._active = !0)); - }), - (s.prototype._onMouseMove = function (t) { - var e = this._startPos, - r = n.mousePos(this._el, t); - this._box || - ((this._box = n.create( - "div", - "mapboxgl-boxzoom", - this._container, - )), - this._container.classList.add("mapboxgl-crosshair"), - this._fireEvent("boxzoomstart", t)); - var i = Math.min(e.x, r.x), - a = Math.max(e.x, r.x), - o = Math.min(e.y, r.y), - s = Math.max(e.y, r.y); - (n.setTransform( - this._box, - "translate(" + i + "px," + o + "px)", - ), - (this._box.style.width = a - i + "px"), - (this._box.style.height = s - o + "px")); - }), - (s.prototype._onMouseUp = function (t) { - if (0 === t.button) { - var e = this._startPos, - r = n.mousePos(this._el, t), - a = new i() - .extend(this._map.unproject(e)) - .extend(this._map.unproject(r)); - (this._finish(), - e.x === r.x && e.y === r.y - ? this._fireEvent("boxzoomcancel", t) - : this._map - .fitBounds(a, { linear: !0 }) - .fire("boxzoomend", { - originalEvent: t, - boxZoomBounds: a, - })); - } - }), - (s.prototype._onKeyDown = function (t) { - 27 === t.keyCode && - (this._finish(), this._fireEvent("boxzoomcancel", t)); - }), - (s.prototype._finish = function () { - ((this._active = !1), - o.document.removeEventListener( - "mousemove", - this._onMouseMove, - !1, - ), - o.document.removeEventListener( - "keydown", - this._onKeyDown, - !1, - ), - o.document.removeEventListener( - "mouseup", - this._onMouseUp, - !1, - ), - this._container.classList.remove("mapboxgl-crosshair"), - this._box && (n.remove(this._box), (this._box = null)), - n.enableDrag()); - }), - (s.prototype._fireEvent = function (t, e) { - return this._map.fire(t, { originalEvent: e }); - }), - (e.exports = s)); - }, - { - "../../geo/lng_lat_bounds": 63, - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 240: [ - function (t, e, r) { - var n = t("../../util/util"), - i = function (t) { - ((this._map = t), - n.bindAll(["_onDblClick", "_onZoomEnd"], this)); - }; - ((i.prototype.isEnabled = function () { - return !!this._enabled; - }), - (i.prototype.isActive = function () { - return !!this._active; - }), - (i.prototype.enable = function () { - this.isEnabled() || - (this._map.on("dblclick", this._onDblClick), - (this._enabled = !0)); - }), - (i.prototype.disable = function () { - this.isEnabled() && - (this._map.off("dblclick", this._onDblClick), - (this._enabled = !1)); - }), - (i.prototype._onDblClick = function (t) { - ((this._active = !0), - this._map.on("zoomend", this._onZoomEnd), - this._map.zoomTo( - this._map.getZoom() + (t.originalEvent.shiftKey ? -1 : 1), - { around: t.lngLat }, - t, - )); - }), - (i.prototype._onZoomEnd = function () { - ((this._active = !1), - this._map.off("zoomend", this._onZoomEnd)); - }), - (e.exports = i)); - }, - { "../../util/util": 275 }, - ], - 241: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/window"), - o = t("../../util/browser"), - s = i.bezier(0, 0, 0.3, 1), - l = function (t) { - ((this._map = t), - (this._el = t.getCanvasContainer()), - i.bindAll( - [ - "_onDown", - "_onMove", - "_onUp", - "_onTouchEnd", - "_onMouseUp", - "_onDragFrame", - "_onDragFinished", - ], - this, - )); - }; - ((l.prototype.isEnabled = function () { - return !!this._enabled; - }), - (l.prototype.isActive = function () { - return !!this._active; - }), - (l.prototype.enable = function () { - this.isEnabled() || - (this._el.classList.add("mapboxgl-touch-drag-pan"), - this._el.addEventListener("mousedown", this._onDown), - this._el.addEventListener("touchstart", this._onDown), - (this._enabled = !0)); - }), - (l.prototype.disable = function () { - this.isEnabled() && - (this._el.classList.remove("mapboxgl-touch-drag-pan"), - this._el.removeEventListener("mousedown", this._onDown), - this._el.removeEventListener("touchstart", this._onDown), - (this._enabled = !1)); - }), - (l.prototype._onDown = function (t) { - this._ignoreEvent(t) || - this.isActive() || - (t.touches - ? (a.document.addEventListener("touchmove", this._onMove), - a.document.addEventListener( - "touchend", - this._onTouchEnd, - )) - : (a.document.addEventListener("mousemove", this._onMove), - a.document.addEventListener( - "mouseup", - this._onMouseUp, - )), - a.addEventListener("blur", this._onMouseUp), - (this._active = !1), - (this._previousPos = n.mousePos(this._el, t)), - (this._inertia = [[o.now(), this._previousPos]])); - }), - (l.prototype._onMove = function (t) { - if (!this._ignoreEvent(t)) { - ((this._lastMoveEvent = t), t.preventDefault()); - var e = n.mousePos(this._el, t); - if ( - (this._drainInertiaBuffer(), - this._inertia.push([o.now(), e]), - !this._previousPos) - ) - return void (this._previousPos = e); - ((this._pos = e), - this.isActive() || - ((this._active = !0), - (this._map.moving = !0), - this._fireEvent("dragstart", t), - this._fireEvent("movestart", t), - this._map._startAnimation( - this._onDragFrame, - this._onDragFinished, - )), - this._map._update()); - } - }), - (l.prototype._onDragFrame = function (t) { - var e = this._lastMoveEvent; - e && - (t.setLocationAtPoint( - t.pointLocation(this._previousPos), - this._pos, - ), - this._fireEvent("drag", e), - this._fireEvent("move", e), - (this._previousPos = this._pos), - delete this._lastMoveEvent); - }), - (l.prototype._onDragFinished = function (t) { - var e = this; - if (this.isActive()) { - ((this._active = !1), - delete this._lastMoveEvent, - delete this._previousPos, - delete this._pos, - this._fireEvent("dragend", t), - this._drainInertiaBuffer()); - var r = function () { - ((e._map.moving = !1), e._fireEvent("moveend", t)); - }, - n = this._inertia; - if (n.length < 2) return void r(); - var i = n[n.length - 1], - a = n[0], - o = i[1].sub(a[1]), - l = (i[0] - a[0]) / 1e3; - if (0 === l || i[1].equals(a[1])) return void r(); - var c = o.mult(0.3 / l), - u = c.mag(); - u > 1400 && ((u = 1400), c._unit()._mult(u)); - var f = u / 750, - h = c.mult(-f / 2); - this._map.panBy( - h, - { duration: 1e3 * f, easing: s, noMoveStart: !0 }, - { originalEvent: t }, - ); - } - }), - (l.prototype._onUp = function (t) { - this._onDragFinished(t); - }), - (l.prototype._onMouseUp = function (t) { - this._ignoreEvent(t) || - (this._onUp(t), - a.document.removeEventListener("mousemove", this._onMove), - a.document.removeEventListener("mouseup", this._onMouseUp), - a.removeEventListener("blur", this._onMouseUp)); - }), - (l.prototype._onTouchEnd = function (t) { - this._ignoreEvent(t) || - (this._onUp(t), - a.document.removeEventListener("touchmove", this._onMove), - a.document.removeEventListener( - "touchend", - this._onTouchEnd, - )); - }), - (l.prototype._fireEvent = function (t, e) { - return this._map.fire(t, e ? { originalEvent: e } : {}); - }), - (l.prototype._ignoreEvent = function (t) { - var e = this._map; - return ( - !(!e.boxZoom || !e.boxZoom.isActive()) || - !(!e.dragRotate || !e.dragRotate.isActive()) || - (t.touches - ? t.touches.length > 1 - : !!t.ctrlKey || - ("mousemove" !== t.type && t.button && 0 !== t.button)) - ); - }), - (l.prototype._drainInertiaBuffer = function () { - for ( - var t = this._inertia, e = o.now(); - t.length > 0 && e - t[0][0] > 160; - - ) - t.shift(); - }), - (e.exports = l)); - }, - { - "../../util/browser": 252, - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 242: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/window"), - o = t("../../util/browser"), - s = i.bezier(0, 0, 0.25, 1), - l = function (t, e) { - ((this._map = t), - (this._el = e.element || t.getCanvasContainer()), - (this._button = e.button || "right"), - (this._bearingSnap = e.bearingSnap || 0), - (this._pitchWithRotate = !1 !== e.pitchWithRotate), - i.bindAll( - [ - "_onDown", - "_onMove", - "_onUp", - "_onDragFrame", - "_onDragFinished", - ], - this, - )); - }; - ((l.prototype.isEnabled = function () { - return !!this._enabled; - }), - (l.prototype.isActive = function () { - return !!this._active; - }), - (l.prototype.enable = function () { - this.isEnabled() || - (this._el.addEventListener("mousedown", this._onDown), - (this._enabled = !0)); - }), - (l.prototype.disable = function () { - this.isEnabled() && - (this._el.removeEventListener("mousedown", this._onDown), - (this._enabled = !1)); - }), - (l.prototype._onDown = function (t) { - if ( - !( - (this._map.boxZoom && this._map.boxZoom.isActive()) || - (this._map.dragPan && this._map.dragPan.isActive()) || - this.isActive() - ) - ) { - if ("right" === this._button) { - var e = t.ctrlKey ? 0 : 2, - r = t.button; - if ( - (void 0 !== a.InstallTrigger && - 2 === t.button && - t.ctrlKey && - a.navigator.platform.toUpperCase().indexOf("MAC") >= - 0 && - (r = 0), - r !== e) - ) - return; - } else if (t.ctrlKey || 0 !== t.button) return; - (n.disableDrag(), - a.document.addEventListener("mousemove", this._onMove, { - capture: !0, - }), - a.document.addEventListener("mouseup", this._onUp), - a.addEventListener("blur", this._onUp), - (this._active = !1), - (this._inertia = [[o.now(), this._map.getBearing()]]), - (this._previousPos = n.mousePos(this._el, t)), - (this._center = this._map.transform.centerPoint), - t.preventDefault()); - } - }), - (l.prototype._onMove = function (t) { - this._lastMoveEvent = t; - var e = n.mousePos(this._el, t); - this._previousPos - ? ((this._pos = e), - this.isActive() || - ((this._active = !0), - (this._map.moving = !0), - this._fireEvent("rotatestart", t), - this._fireEvent("movestart", t), - this._pitchWithRotate && - this._fireEvent("pitchstart", t), - this._map._startAnimation( - this._onDragFrame, - this._onDragFinished, - )), - this._map._update()) - : (this._previousPos = e); - }), - (l.prototype._onUp = function (t) { - (a.document.removeEventListener("mousemove", this._onMove, { - capture: !0, - }), - a.document.removeEventListener("mouseup", this._onUp), - a.removeEventListener("blur", this._onUp), - n.enableDrag(), - this._onDragFinished(t)); - }), - (l.prototype._onDragFrame = function (t) { - var e = this._lastMoveEvent; - if (e) { - var r = this._previousPos, - n = this._pos, - i = 0.8 * (r.x - n.x), - a = -0.5 * (r.y - n.y), - s = t.bearing - i, - l = t.pitch - a, - c = this._inertia, - u = c[c.length - 1]; - (this._drainInertiaBuffer(), - c.push([o.now(), this._map._normalizeBearing(s, u[1])]), - (t.bearing = s), - this._pitchWithRotate && - (this._fireEvent("pitch", e), (t.pitch = l)), - this._fireEvent("rotate", e), - this._fireEvent("move", e), - delete this._lastMoveEvent, - (this._previousPos = this._pos)); - } - }), - (l.prototype._onDragFinished = function (t) { - var e = this; - if (this.isActive()) { - ((this._active = !1), - delete this._lastMoveEvent, - delete this._previousPos, - this._fireEvent("rotateend", t), - this._drainInertiaBuffer()); - var r = this._map, - n = r.getBearing(), - i = this._inertia, - a = function () { - (Math.abs(n) < e._bearingSnap - ? r.resetNorth( - { noMoveStart: !0 }, - { originalEvent: t }, - ) - : ((e._map.moving = !1), e._fireEvent("moveend", t)), - e._pitchWithRotate && e._fireEvent("pitchend", t)); - }; - if (i.length < 2) return void a(); - var o = i[0], - l = i[i.length - 1], - c = i[i.length - 2], - u = r._normalizeBearing(n, c[1]), - f = l[1] - o[1], - h = f < 0 ? -1 : 1, - p = (l[0] - o[0]) / 1e3; - if (0 === f || 0 === p) return void a(); - var d = Math.abs(f * (0.25 / p)); - d > 180 && (d = 180); - var g = d / 180; - ((u += h * d * (g / 2)), - Math.abs(r._normalizeBearing(u, 0)) < this._bearingSnap && - (u = r._normalizeBearing(0, u)), - r.rotateTo( - u, - { duration: 1e3 * g, easing: s, noMoveStart: !0 }, - { originalEvent: t }, - )); - } - }), - (l.prototype._fireEvent = function (t, e) { - return this._map.fire(t, e ? { originalEvent: e } : {}); - }), - (l.prototype._drainInertiaBuffer = function () { - for ( - var t = this._inertia, e = o.now(); - t.length > 0 && e - t[0][0] > 160; - - ) - t.shift(); - }), - (e.exports = l)); - }, - { - "../../util/browser": 252, - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 243: [ - function (t, e, r) { - function n(t) { - return t * (2 - t); - } - var i = t("../../util/util"), - a = function (t) { - ((this._map = t), - (this._el = t.getCanvasContainer()), - i.bindAll(["_onKeyDown"], this)); - }; - ((a.prototype.isEnabled = function () { - return !!this._enabled; - }), - (a.prototype.enable = function () { - this.isEnabled() || - (this._el.addEventListener("keydown", this._onKeyDown, !1), - (this._enabled = !0)); - }), - (a.prototype.disable = function () { - this.isEnabled() && - (this._el.removeEventListener("keydown", this._onKeyDown), - (this._enabled = !1)); - }), - (a.prototype._onKeyDown = function (t) { - if (!(t.altKey || t.ctrlKey || t.metaKey)) { - var e = 0, - r = 0, - i = 0, - a = 0, - o = 0; - switch (t.keyCode) { - case 61: - case 107: - case 171: - case 187: - e = 1; - break; - case 189: - case 109: - case 173: - e = -1; - break; - case 37: - t.shiftKey ? (r = -1) : (t.preventDefault(), (a = -1)); - break; - case 39: - t.shiftKey ? (r = 1) : (t.preventDefault(), (a = 1)); - break; - case 38: - t.shiftKey ? (i = 1) : (t.preventDefault(), (o = -1)); - break; - case 40: - t.shiftKey ? (i = -1) : ((o = 1), t.preventDefault()); - break; - default: - return; - } - var s = this._map, - l = s.getZoom(), - c = { - duration: 300, - delayEndEvents: 500, - easing: n, - zoom: e ? Math.round(l) + e * (t.shiftKey ? 2 : 1) : l, - bearing: s.getBearing() + 15 * r, - pitch: s.getPitch() + 10 * i, - offset: [100 * -a, 100 * -o], - center: s.getCenter(), - }; - s.easeTo(c, { originalEvent: t }); - } - }), - (e.exports = a)); - }, - { "../../util/util": 275 }, - ], - 244: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/browser"), - o = t("../../util/window"), - s = t("../../style-spec/util/interpolate").number, - l = t("../../geo/lng_lat"), - c = o.navigator.userAgent.toLowerCase(), - u = -1 !== c.indexOf("firefox"), - f = -1 !== c.indexOf("safari") && -1 === c.indexOf("chrom"), - h = function (t) { - ((this._map = t), - (this._el = t.getCanvasContainer()), - (this._delta = 0), - i.bindAll( - [ - "_onWheel", - "_onTimeout", - "_onScrollFrame", - "_onScrollFinished", - ], - this, - )); - }; - ((h.prototype.isEnabled = function () { - return !!this._enabled; - }), - (h.prototype.isActive = function () { - return !!this._active; - }), - (h.prototype.enable = function (t) { - this.isEnabled() || - (this._el.addEventListener("wheel", this._onWheel, !1), - this._el.addEventListener("mousewheel", this._onWheel, !1), - (this._enabled = !0), - (this._aroundCenter = t && "center" === t.around)); - }), - (h.prototype.disable = function () { - this.isEnabled() && - (this._el.removeEventListener("wheel", this._onWheel), - this._el.removeEventListener("mousewheel", this._onWheel), - (this._enabled = !1)); - }), - (h.prototype._onWheel = function (t) { - var e = 0; - "wheel" === t.type - ? ((e = t.deltaY), - u && - t.deltaMode === o.WheelEvent.DOM_DELTA_PIXEL && - (e /= a.devicePixelRatio), - t.deltaMode === o.WheelEvent.DOM_DELTA_LINE && (e *= 40)) - : "mousewheel" === t.type && - ((e = -t.wheelDeltaY), f && (e /= 3)); - var r = a.now(), - n = r - (this._lastWheelEventTime || 0); - ((this._lastWheelEventTime = r), - 0 !== e && e % 4.000244140625 == 0 - ? (this._type = "wheel") - : 0 !== e && Math.abs(e) < 4 - ? (this._type = "trackpad") - : n > 400 - ? ((this._type = null), - (this._lastValue = e), - (this._timeout = setTimeout( - this._onTimeout, - 40, - t, - ))) - : this._type || - ((this._type = - Math.abs(n * e) < 200 ? "trackpad" : "wheel"), - this._timeout && - (clearTimeout(this._timeout), - (this._timeout = null), - (e += this._lastValue))), - t.shiftKey && e && (e /= 4), - this._type && - ((this._lastWheelEvent = t), - (this._delta -= e), - this.isActive() || this._start(t)), - t.preventDefault()); - }), - (h.prototype._onTimeout = function (t) { - ((this._type = "wheel"), - (this._delta -= this._lastValue), - this.isActive() || this._start(t)); - }), - (h.prototype._start = function (t) { - if (this._delta) { - ((this._active = !0), - (this._map.moving = !0), - (this._map.zooming = !0), - this._map.fire("movestart", { originalEvent: t }), - this._map.fire("zoomstart", { originalEvent: t }), - clearTimeout(this._finishTimeout)); - var e = n.mousePos(this._el, t); - ((this._around = l.convert( - this._aroundCenter - ? this._map.getCenter() - : this._map.unproject(e), - )), - (this._aroundPoint = this._map.transform.locationPoint( - this._around, - )), - this._map._startAnimation( - this._onScrollFrame, - this._onScrollFinished, - )); - } - }), - (h.prototype._onScrollFrame = function (t) { - if (this.isActive()) { - if (0 !== this._delta) { - var e = - "wheel" === this._type && - Math.abs(this._delta) > 4.000244140625 - ? 1 / 450 - : 0.01, - r = 2 / (1 + Math.exp(-Math.abs(this._delta * e))); - this._delta < 0 && 0 !== r && (r = 1 / r); - var n = - "number" == typeof this._targetZoom - ? t.zoomScale(this._targetZoom) - : t.scale; - ((this._targetZoom = Math.min( - t.maxZoom, - Math.max(t.minZoom, t.scaleZoom(n * r)), - )), - "wheel" === this._type && - ((this._startZoom = t.zoom), - (this._easing = this._smoothOutEasing(200))), - (this._delta = 0)); - } - if ("wheel" === this._type) { - var i = Math.min( - (a.now() - this._lastWheelEventTime) / 200, - 1, - ), - o = this._easing(i); - ((t.zoom = s(this._startZoom, this._targetZoom, o)), - 1 === i && this._map.stop()); - } else ((t.zoom = this._targetZoom), this._map.stop()); - (t.setLocationAtPoint(this._around, this._aroundPoint), - this._map.fire("move", { - originalEvent: this._lastWheelEvent, - }), - this._map.fire("zoom", { - originalEvent: this._lastWheelEvent, - })); - } - }), - (h.prototype._onScrollFinished = function () { - var t = this; - this.isActive() && - ((this._active = !1), - (this._finishTimeout = setTimeout(function () { - ((t._map.moving = !1), - (t._map.zooming = !1), - t._map.fire("zoomend"), - t._map.fire("moveend"), - delete t._targetZoom); - }, 200))); - }), - (h.prototype._smoothOutEasing = function (t) { - var e = i.ease; - if (this._prevEase) { - var r = this._prevEase, - n = (a.now() - r.start) / r.duration, - o = r.easing(n + 0.01) - r.easing(n), - s = (0.27 / Math.sqrt(o * o + 1e-4)) * 0.01, - l = Math.sqrt(0.0729 - s * s); - e = i.bezier(s, l, 0.25, 1); - } - return ( - (this._prevEase = { - start: a.now(), - duration: t, - easing: e, - }), - e - ); - }), - (e.exports = h)); - }, - { - "../../geo/lng_lat": 62, - "../../style-spec/util/interpolate": 158, - "../../util/browser": 252, - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 245: [ - function (t, e, r) { - var n = t("../../util/dom"), - i = t("../../util/util"), - a = t("../../util/window"), - o = t("../../util/browser"), - s = i.bezier(0, 0, 0.15, 1), - l = function (t) { - ((this._map = t), - (this._el = t.getCanvasContainer()), - i.bindAll(["_onStart", "_onMove", "_onEnd"], this)); - }; - ((l.prototype.isEnabled = function () { - return !!this._enabled; - }), - (l.prototype.enable = function (t) { - this.isEnabled() || - (this._el.classList.add("mapboxgl-touch-zoom-rotate"), - this._el.addEventListener("touchstart", this._onStart, !1), - (this._enabled = !0), - (this._aroundCenter = t && "center" === t.around)); - }), - (l.prototype.disable = function () { - this.isEnabled() && - (this._el.classList.remove("mapboxgl-touch-zoom-rotate"), - this._el.removeEventListener("touchstart", this._onStart), - (this._enabled = !1)); - }), - (l.prototype.disableRotation = function () { - this._rotationDisabled = !0; - }), - (l.prototype.enableRotation = function () { - this._rotationDisabled = !1; - }), - (l.prototype._onStart = function (t) { - if (2 === t.touches.length) { - var e = n.mousePos(this._el, t.touches[0]), - r = n.mousePos(this._el, t.touches[1]); - ((this._startVec = e.sub(r)), - (this._startScale = this._map.transform.scale), - (this._startBearing = this._map.transform.bearing), - (this._gestureIntent = void 0), - (this._inertia = []), - a.document.addEventListener( - "touchmove", - this._onMove, - !1, - ), - a.document.addEventListener("touchend", this._onEnd, !1)); - } - }), - (l.prototype._onMove = function (t) { - if (2 === t.touches.length) { - var e = n.mousePos(this._el, t.touches[0]), - r = n.mousePos(this._el, t.touches[1]), - i = e.add(r).div(2), - a = e.sub(r), - s = a.mag() / this._startVec.mag(), - l = this._rotationDisabled - ? 0 - : (180 * a.angleWith(this._startVec)) / Math.PI, - c = this._map; - if (this._gestureIntent) { - var u = { duration: 0, around: c.unproject(i) }; - ("rotate" === this._gestureIntent && - (u.bearing = this._startBearing + l), - ("zoom" !== this._gestureIntent && - "rotate" !== this._gestureIntent) || - (u.zoom = c.transform.scaleZoom( - this._startScale * s, - )), - c.stop(), - this._drainInertiaBuffer(), - this._inertia.push([o.now(), s, i]), - c.easeTo(u, { originalEvent: t })); - } else { - var f = Math.abs(1 - s) > 0.15; - (Math.abs(l) > 10 - ? (this._gestureIntent = "rotate") - : f && (this._gestureIntent = "zoom"), - this._gestureIntent && - ((this._startVec = a), - (this._startScale = c.transform.scale), - (this._startBearing = c.transform.bearing))); - } - t.preventDefault(); - } - }), - (l.prototype._onEnd = function (t) { - (a.document.removeEventListener("touchmove", this._onMove), - a.document.removeEventListener("touchend", this._onEnd), - this._drainInertiaBuffer()); - var e = this._inertia, - r = this._map; - if (e.length < 2) r.snapToNorth({}, { originalEvent: t }); - else { - var n = e[e.length - 1], - i = e[0], - o = r.transform.scaleZoom(this._startScale * n[1]), - l = r.transform.scaleZoom(this._startScale * i[1]), - c = o - l, - u = (n[0] - i[0]) / 1e3, - f = n[2]; - if (0 !== u && o !== l) { - var h = (0.15 * c) / u; - Math.abs(h) > 2.5 && (h = h > 0 ? 2.5 : -2.5); - var p = 1e3 * Math.abs(h / (12 * 0.15)), - d = o + (h * p) / 2e3; - (d < 0 && (d = 0), - r.easeTo( - { - zoom: d, - duration: p, - easing: s, - around: this._aroundCenter - ? r.getCenter() - : r.unproject(f), - }, - { originalEvent: t }, - )); - } else r.snapToNorth({}, { originalEvent: t }); - } - }), - (l.prototype._drainInertiaBuffer = function () { - for ( - var t = this._inertia, e = o.now(); - t.length > 2 && e - t[0][0] > 160; - - ) - t.shift(); - }), - (e.exports = l)); - }, - { - "../../util/browser": 252, - "../../util/dom": 259, - "../../util/util": 275, - "../../util/window": 254, - }, - ], - 246: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../util/window"), - a = t("../util/throttle"), - o = function () { - (n.bindAll(["_onHashChange", "_updateHash"], this), - (this._updateHash = a( - this._updateHashUnthrottled.bind(this), - 300, - ))); - }; - ((o.prototype.addTo = function (t) { - return ( - (this._map = t), - i.addEventListener("hashchange", this._onHashChange, !1), - this._map.on("moveend", this._updateHash), - this - ); - }), - (o.prototype.remove = function () { - return ( - i.removeEventListener("hashchange", this._onHashChange, !1), - this._map.off("moveend", this._updateHash), - delete this._map, - this - ); - }), - (o.prototype.getHashString = function (t) { - var e = this._map.getCenter(), - r = Math.round(100 * this._map.getZoom()) / 100, - n = Math.ceil( - (r * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10, - ), - i = Math.pow(10, n), - a = Math.round(e.lng * i) / i, - o = Math.round(e.lat * i) / i, - s = this._map.getBearing(), - l = this._map.getPitch(), - c = ""; - return ( - (c += t - ? "#/" + a + "/" + o + "/" + r - : "#" + r + "/" + o + "/" + a), - (s || l) && (c += "/" + Math.round(10 * s) / 10), - l && (c += "/" + Math.round(l)), - c - ); - }), - (o.prototype._onHashChange = function () { - var t = i.location.hash.replace("#", "").split("/"); - return ( - t.length >= 3 && - (this._map.jumpTo({ - center: [+t[2], +t[1]], - zoom: +t[0], - bearing: +(t[3] || 0), - pitch: +(t[4] || 0), - }), - !0) - ); - }), - (o.prototype._updateHashUnthrottled = function () { - var t = this.getHashString(); - i.history.replaceState("", "", t); - }), - (e.exports = o)); - }, - { - "../util/throttle": 272, - "../util/util": 275, - "../util/window": 254, - }, - ], - 247: [ - function (t, e, r) { - function n(t) { - t.parentNode && t.parentNode.removeChild(t); - } - var i = t("../util/util"), - a = t("../util/browser"), - o = t("../util/window"), - s = t("../util/window"), - l = s.HTMLImageElement, - c = s.HTMLElement, - u = t("../util/dom"), - f = t("../util/ajax"), - h = t("../style/style"), - p = t("../style/evaluation_parameters"), - d = t("../render/painter"), - g = t("../geo/transform"), - m = t("./hash"), - v = t("./bind_handlers"), - y = t("./camera"), - x = t("../geo/lng_lat"), - b = t("../geo/lng_lat_bounds"), - _ = t("@mapbox/point-geometry"), - w = t("./control/attribution_control"), - k = t("./control/logo_control"), - M = t("@mapbox/mapbox-gl-supported"), - A = t("../util/image").RGBAImage; - t("./events"); - var T = { - center: [0, 0], - zoom: 0, - bearing: 0, - pitch: 0, - minZoom: 0, - maxZoom: 22, - interactive: !0, - scrollZoom: !0, - boxZoom: !0, - dragRotate: !0, - dragPan: !0, - keyboard: !0, - doubleClickZoom: !0, - touchZoomRotate: !0, - bearingSnap: 7, - hash: !1, - attributionControl: !0, - failIfMajorPerformanceCaveat: !1, - preserveDrawingBuffer: !1, - trackResize: !0, - renderWorldCopies: !0, - refreshExpiredTiles: !0, - maxTileCacheSize: null, - transformRequest: null, - fadeDuration: 300, - }, - S = (function (t) { - function e(e) { - if ( - null != (e = i.extend({}, T, e)).minZoom && - null != e.maxZoom && - e.minZoom > e.maxZoom - ) - throw new Error("maxZoom must be greater than minZoom"); - var r = new g(e.minZoom, e.maxZoom, e.renderWorldCopies); - (t.call(this, r, e), - (this._interactive = e.interactive), - (this._maxTileCacheSize = e.maxTileCacheSize), - (this._failIfMajorPerformanceCaveat = - e.failIfMajorPerformanceCaveat), - (this._preserveDrawingBuffer = e.preserveDrawingBuffer), - (this._trackResize = e.trackResize), - (this._bearingSnap = e.bearingSnap), - (this._refreshExpiredTiles = e.refreshExpiredTiles), - (this._fadeDuration = e.fadeDuration), - (this._crossFadingFactor = 1), - (this._collectResourceTiming = e.collectResourceTiming)); - var n = e.transformRequest; - if ( - ((this._transformRequest = n - ? function (t, e) { - return n(t, e) || { url: t }; - } - : function (t) { - return { url: t }; - }), - "string" == typeof e.container) - ) { - var a = o.document.getElementById(e.container); - if (!a) - throw new Error( - "Container '" + e.container + "' not found.", - ); - this._container = a; - } else { - if (!(e.container instanceof c)) - throw new Error( - "Invalid type: 'container' must be a String or HTMLElement.", - ); - this._container = e.container; - } - (e.maxBounds && this.setMaxBounds(e.maxBounds), - i.bindAll( - [ - "_onWindowOnline", - "_onWindowResize", - "_contextLost", - "_contextRestored", - "_update", - "_render", - "_onData", - "_onDataLoading", - ], - this, - ), - this._setupContainer(), - this._setupPainter(), - this.on("move", this._update.bind(this, !1)), - this.on("zoom", this._update.bind(this, !0)), - void 0 !== o && - (o.addEventListener("online", this._onWindowOnline, !1), - o.addEventListener("resize", this._onWindowResize, !1)), - v(this, e), - (this._hash = e.hash && new m().addTo(this)), - (this._hash && this._hash._onHashChange()) || - this.jumpTo({ - center: e.center, - zoom: e.zoom, - bearing: e.bearing, - pitch: e.pitch, - }), - this.resize(), - e.style && - this.setStyle(e.style, { - localIdeographFontFamily: e.localIdeographFontFamily, - }), - e.attributionControl && this.addControl(new w()), - this.addControl(new k(), e.logoPosition), - this.on("style.load", function () { - this.transform.unmodified && - this.jumpTo(this.style.stylesheet); - }), - this.on("data", this._onData), - this.on("dataloading", this._onDataLoading)); - } - (t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e)); - var r = { - showTileBoundaries: {}, - showCollisionBoxes: {}, - showOverdrawInspector: {}, - repaint: {}, - vertices: {}, - }; - return ( - (e.prototype.addControl = function (t, e) { - (void 0 === e && - t.getDefaultPosition && - (e = t.getDefaultPosition()), - void 0 === e && (e = "top-right")); - var r = t.onAdd(this), - n = this._controlPositions[e]; - return ( - -1 !== e.indexOf("bottom") - ? n.insertBefore(r, n.firstChild) - : n.appendChild(r), - this - ); - }), - (e.prototype.removeControl = function (t) { - return (t.onRemove(this), this); - }), - (e.prototype.resize = function () { - var t = this._containerDimensions(), - e = t[0], - r = t[1]; - return ( - this._resizeCanvas(e, r), - this.transform.resize(e, r), - this.painter.resize(e, r), - this.fire("movestart") - .fire("move") - .fire("resize") - .fire("moveend") - ); - }), - (e.prototype.getBounds = function () { - var t = new b( - this.transform.pointLocation( - new _(0, this.transform.height), - ), - this.transform.pointLocation( - new _(this.transform.width, 0), - ), - ); - return ( - (this.transform.angle || this.transform.pitch) && - (t.extend( - this.transform.pointLocation( - new _(this.transform.size.x, 0), - ), - ), - t.extend( - this.transform.pointLocation( - new _(0, this.transform.size.y), - ), - )), - t - ); - }), - (e.prototype.getMaxBounds = function () { - return this.transform.latRange && - 2 === this.transform.latRange.length && - this.transform.lngRange && - 2 === this.transform.lngRange.length - ? new b( - [ - this.transform.lngRange[0], - this.transform.latRange[0], - ], - [ - this.transform.lngRange[1], - this.transform.latRange[1], - ], - ) - : null; - }), - (e.prototype.setMaxBounds = function (t) { - if (t) { - var e = b.convert(t); - ((this.transform.lngRange = [e.getWest(), e.getEast()]), - (this.transform.latRange = [ - e.getSouth(), - e.getNorth(), - ]), - this.transform._constrain(), - this._update()); - } else - (null !== t && void 0 !== t) || - ((this.transform.lngRange = null), - (this.transform.latRange = null), - this._update()); - return this; - }), - (e.prototype.setMinZoom = function (t) { - if ( - (t = null === t || void 0 === t ? 0 : t) >= 0 && - t <= this.transform.maxZoom - ) - return ( - (this.transform.minZoom = t), - this._update(), - this.getZoom() < t && this.setZoom(t), - this - ); - throw new Error( - "minZoom must be between 0 and the current maxZoom, inclusive", - ); - }), - (e.prototype.getMinZoom = function () { - return this.transform.minZoom; - }), - (e.prototype.setMaxZoom = function (t) { - if ( - (t = null === t || void 0 === t ? 22 : t) >= - this.transform.minZoom - ) - return ( - (this.transform.maxZoom = t), - this._update(), - this.getZoom() > t && this.setZoom(t), - this - ); - throw new Error( - "maxZoom must be greater than the current minZoom", - ); - }), - (e.prototype.getMaxZoom = function () { - return this.transform.maxZoom; - }), - (e.prototype.project = function (t) { - return this.transform.locationPoint(x.convert(t)); - }), - (e.prototype.unproject = function (t) { - return this.transform.pointLocation(_.convert(t)); - }), - (e.prototype.on = function (e, r, n) { - var a = this; - if (void 0 === n) return t.prototype.on.call(this, e, r); - var o = (function () { - if ("mouseenter" === e || "mouseover" === e) { - var t = !1; - return { - layer: r, - listener: n, - delegates: { - mousemove: function (o) { - var s = a.getLayer(r) - ? a.queryRenderedFeatures(o.point, { - layers: [r], - }) - : []; - s.length - ? t || - ((t = !0), - n.call( - a, - i.extend({ features: s }, o, { type: e }), - )) - : (t = !1); - }, - mouseout: function () { - t = !1; - }, - }, - }; - } - if ("mouseleave" === e || "mouseout" === e) { - var o = !1; - return { - layer: r, - listener: n, - delegates: { - mousemove: function (t) { - (a.getLayer(r) - ? a.queryRenderedFeatures(t.point, { - layers: [r], - }) - : [] - ).length - ? (o = !0) - : o && - ((o = !1), - n.call(a, i.extend({}, t, { type: e }))); - }, - mouseout: function (t) { - o && - ((o = !1), - n.call(a, i.extend({}, t, { type: e }))); - }, - }, - }; - } - var s; - return { - layer: r, - listener: n, - delegates: - ((s = {}), - (s[e] = function (t) { - var e = a.getLayer(r) - ? a.queryRenderedFeatures(t.point, { - layers: [r], - }) - : []; - e.length && - n.call(a, i.extend({ features: e }, t)); - }), - s), - }; - })(); - for (var s in ((this._delegatedListeners = - this._delegatedListeners || {}), - (this._delegatedListeners[e] = - this._delegatedListeners[e] || []), - this._delegatedListeners[e].push(o), - o.delegates)) - a.on(s, o.delegates[s]); - return this; - }), - (e.prototype.off = function (e, r, n) { - if (void 0 === n) return t.prototype.off.call(this, e, r); - if ( - this._delegatedListeners && - this._delegatedListeners[e] - ) - for ( - var i = this._delegatedListeners[e], a = 0; - a < i.length; - a++ - ) { - var o = i[a]; - if (o.layer === r && o.listener === n) { - for (var s in o.delegates) - this.off(s, o.delegates[s]); - return (i.splice(a, 1), this); - } - } - return this; - }), - (e.prototype.queryRenderedFeatures = function (t, e) { - return ( - 2 === arguments.length - ? ((t = arguments[0]), (e = arguments[1])) - : 1 === arguments.length && - (function (t) { - return t instanceof _ || Array.isArray(t); - })(arguments[0]) - ? ((t = arguments[0]), (e = {})) - : 1 === arguments.length - ? ((t = void 0), (e = arguments[0])) - : ((t = void 0), (e = {})), - this.style - ? this.style.queryRenderedFeatures( - this._makeQueryGeometry(t), - e, - this.transform.zoom, - this.transform.angle, - ) - : [] - ); - }), - (e.prototype._makeQueryGeometry = function (t) { - var e, - r = this; - if ( - (void 0 === t && - (t = [ - _.convert([0, 0]), - _.convert([ - this.transform.width, - this.transform.height, - ]), - ]), - t instanceof _ || "number" == typeof t[0]) - ) - e = [_.convert(t)]; - else { - var n = [_.convert(t[0]), _.convert(t[1])]; - e = [ - n[0], - new _(n[1].x, n[0].y), - n[1], - new _(n[0].x, n[1].y), - n[0], - ]; - } - return e.map(function (t) { - return r.transform.pointCoordinate(t); - }); - }), - (e.prototype.querySourceFeatures = function (t, e) { - return this.style.querySourceFeatures(t, e); - }), - (e.prototype.setStyle = function (t, e) { - if ( - (!e || - (!1 !== e.diff && !e.localIdeographFontFamily)) && - this.style && - t && - "object" == typeof t - ) - try { - return ( - this.style.setState(t) && this._update(!0), - this - ); - } catch (t) { - i.warnOnce( - "Unable to perform style diff: " + - (t.message || t.error || t) + - ". Rebuilding the style from scratch.", - ); - } - return ( - this.style && - (this.style.setEventedParent(null), - this.style._remove()), - t - ? ((this.style = new h(this, e || {})), - this.style.setEventedParent(this, { - style: this.style, - }), - "string" == typeof t - ? this.style.loadURL(t) - : this.style.loadJSON(t), - this) - : (delete this.style, this) - ); - }), - (e.prototype.getStyle = function () { - if (this.style) return this.style.serialize(); - }), - (e.prototype.isStyleLoaded = function () { - return this.style - ? this.style.loaded() - : i.warnOnce("There is no style added to the map."); - }), - (e.prototype.addSource = function (t, e) { - return ( - this.style.addSource(t, e), - this._update(!0), - this - ); - }), - (e.prototype.isSourceLoaded = function (t) { - var e = this.style && this.style.sourceCaches[t]; - return void 0 === e - ? void this.fire("error", { - error: new Error( - "There is no source with ID '" + t + "'", - ), - }) - : e.loaded(); - }), - (e.prototype.areTilesLoaded = function () { - var t = this.style && this.style.sourceCaches; - for (var e in t) { - var r = t[e]._tiles; - for (var n in r) { - var i = r[n]; - if ("loaded" !== i.state && "errored" !== i.state) - return !1; - } - } - return !0; - }), - (e.prototype.addSourceType = function (t, e, r) { - return this.style.addSourceType(t, e, r); - }), - (e.prototype.removeSource = function (t) { - return ( - this.style.removeSource(t), - this._update(!0), - this - ); - }), - (e.prototype.getSource = function (t) { - return this.style.getSource(t); - }), - (e.prototype.addImage = function (t, e, r) { - void 0 === r && (r = {}); - var n = r.pixelRatio; - void 0 === n && (n = 1); - var i = r.sdf; - if ((void 0 === i && (i = !1), e instanceof l)) { - var o = a.getImageData(e), - s = o.width, - c = o.height, - u = o.data; - this.style.addImage(t, { - data: new A({ width: s, height: c }, u), - pixelRatio: n, - sdf: i, - }); - } else { - if (void 0 === e.width || void 0 === e.height) - return this.fire("error", { - error: new Error( - "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", - ), - }); - var f = e.width, - h = e.height, - p = e.data; - this.style.addImage(t, { - data: new A({ width: f, height: h }, p.slice(0)), - pixelRatio: n, - sdf: i, - }); - } - }), - (e.prototype.hasImage = function (t) { - return t - ? !!this.style.getImage(t) - : (this.fire("error", { - error: new Error("Missing required image id"), - }), - !1); - }), - (e.prototype.removeImage = function (t) { - this.style.removeImage(t); - }), - (e.prototype.loadImage = function (t, e) { - f.getImage( - this._transformRequest(t, f.ResourceType.Image), - e, - ); - }), - (e.prototype.addLayer = function (t, e) { - return ( - this.style.addLayer(t, e), - this._update(!0), - this - ); - }), - (e.prototype.moveLayer = function (t, e) { - return ( - this.style.moveLayer(t, e), - this._update(!0), - this - ); - }), - (e.prototype.removeLayer = function (t) { - return ( - this.style.removeLayer(t), - this._update(!0), - this - ); - }), - (e.prototype.getLayer = function (t) { - return this.style.getLayer(t); - }), - (e.prototype.setFilter = function (t, e) { - return ( - this.style.setFilter(t, e), - this._update(!0), - this - ); - }), - (e.prototype.setLayerZoomRange = function (t, e, r) { - return ( - this.style.setLayerZoomRange(t, e, r), - this._update(!0), - this - ); - }), - (e.prototype.getFilter = function (t) { - return this.style.getFilter(t); - }), - (e.prototype.setPaintProperty = function (t, e, r) { - return ( - this.style.setPaintProperty(t, e, r), - this._update(!0), - this - ); - }), - (e.prototype.getPaintProperty = function (t, e) { - return this.style.getPaintProperty(t, e); - }), - (e.prototype.setLayoutProperty = function (t, e, r) { - return ( - this.style.setLayoutProperty(t, e, r), - this._update(!0), - this - ); - }), - (e.prototype.getLayoutProperty = function (t, e) { - return this.style.getLayoutProperty(t, e); - }), - (e.prototype.setLight = function (t) { - return (this.style.setLight(t), this._update(!0), this); - }), - (e.prototype.getLight = function () { - return this.style.getLight(); - }), - (e.prototype.getContainer = function () { - return this._container; - }), - (e.prototype.getCanvasContainer = function () { - return this._canvasContainer; - }), - (e.prototype.getCanvas = function () { - return this._canvas; - }), - (e.prototype._containerDimensions = function () { - var t = 0, - e = 0; - return ( - this._container && - ((t = this._container.offsetWidth || 400), - (e = this._container.offsetHeight || 300)), - [t, e] - ); - }), - (e.prototype._setupContainer = function () { - var t = this._container; - (t.classList.add("mapboxgl-map"), - ((this._missingCSSContainer = u.create( - "div", - "mapboxgl-missing-css", - t, - )).innerHTML = "Missing Mapbox GL JS CSS")); - var e = (this._canvasContainer = u.create( - "div", - "mapboxgl-canvas-container", - t, - )); - (this._interactive && - e.classList.add("mapboxgl-interactive"), - (this._canvas = u.create( - "canvas", - "mapboxgl-canvas", - e, - )), - (this._canvas.style.position = "absolute"), - this._canvas.addEventListener( - "webglcontextlost", - this._contextLost, - !1, - ), - this._canvas.addEventListener( - "webglcontextrestored", - this._contextRestored, - !1, - ), - this._canvas.setAttribute("tabindex", "0"), - this._canvas.setAttribute("aria-label", "Map")); - var r = this._containerDimensions(); - this._resizeCanvas(r[0], r[1]); - var n = (this._controlContainer = u.create( - "div", - "mapboxgl-control-container", - t, - )), - i = (this._controlPositions = {}); - [ - "top-left", - "top-right", - "bottom-left", - "bottom-right", - ].forEach(function (t) { - i[t] = u.create("div", "mapboxgl-ctrl-" + t, n); - }); - }), - (e.prototype._resizeCanvas = function (t, e) { - var r = o.devicePixelRatio || 1; - ((this._canvas.width = r * t), - (this._canvas.height = r * e), - (this._canvas.style.width = t + "px"), - (this._canvas.style.height = e + "px")); - }), - (e.prototype._setupPainter = function () { - var t = i.extend( - { - failIfMajorPerformanceCaveat: - this._failIfMajorPerformanceCaveat, - preserveDrawingBuffer: this._preserveDrawingBuffer, - }, - M.webGLContextAttributes, - ), - e = - this._canvas.getContext("webgl", t) || - this._canvas.getContext("experimental-webgl", t); - e - ? (this.painter = new d(e, this.transform)) - : this.fire("error", { - error: new Error("Failed to initialize WebGL"), - }); - }), - (e.prototype._contextLost = function (t) { - (t.preventDefault(), - this._frameId && - (a.cancelFrame(this._frameId), - (this._frameId = null)), - this.fire("webglcontextlost", { originalEvent: t })); - }), - (e.prototype._contextRestored = function (t) { - (this._setupPainter(), - this.resize(), - this._update(), - this.fire("webglcontextrestored", { - originalEvent: t, - })); - }), - (e.prototype.loaded = function () { - return ( - !this._styleDirty && - !this._sourcesDirty && - !(!this.style || !this.style.loaded()) - ); - }), - (e.prototype._update = function (t) { - this.style && - ((this._styleDirty = this._styleDirty || t), - (this._sourcesDirty = !0), - this._rerender()); - }), - (e.prototype._render = function () { - this._updateCamera(); - var t = !1; - if (this.style && this._styleDirty) { - this._styleDirty = !1; - var e = this.transform.zoom, - r = a.now(); - this.style.zoomHistory.update(e, r); - var n = new p(e, { - now: r, - fadeDuration: this._fadeDuration, - zoomHistory: this.style.zoomHistory, - transition: this.style.getTransition(), - }), - i = n.crossFadingFactor(); - ((1 === i && i === this._crossFadingFactor) || - ((t = !0), (this._crossFadingFactor = i)), - this.style.update(n)); - } - return ( - this.style && - this._sourcesDirty && - ((this._sourcesDirty = !1), - this.style._updateSources(this.transform)), - (this._placementDirty = - this.style && - this.style._updatePlacement( - this.painter.transform, - this.showCollisionBoxes, - this._fadeDuration, - )), - this.painter.render(this.style, { - showTileBoundaries: this.showTileBoundaries, - showOverdrawInspector: this._showOverdrawInspector, - rotating: this.rotating, - zooming: this.zooming, - fadeDuration: this._fadeDuration, - }), - this.fire("render"), - this.loaded() && - !this._loaded && - ((this._loaded = !0), this.fire("load")), - this.style && - (this.style.hasTransitions() || t) && - (this._styleDirty = !0), - (this._sourcesDirty || - this._repaint || - this._styleDirty || - this._placementDirty) && - this._rerender(), - this - ); - }), - (e.prototype.remove = function () { - (this._hash && this._hash.remove(), - a.cancelFrame(this._frameId), - (this._frameId = null), - this.setStyle(null), - void 0 !== o && - (o.removeEventListener( - "resize", - this._onWindowResize, - !1, - ), - o.removeEventListener( - "online", - this._onWindowOnline, - !1, - ))); - var t = - this.painter.context.gl.getExtension( - "WEBGL_lose_context", - ); - (t && t.loseContext(), - n(this._canvasContainer), - n(this._controlContainer), - n(this._missingCSSContainer), - this._container.classList.remove("mapboxgl-map"), - this.fire("remove")); - }), - (e.prototype._rerender = function () { - var t = this; - this.style && - !this._frameId && - (this._frameId = a.frame(function () { - ((t._frameId = null), t._render()); - })); - }), - (e.prototype._onWindowOnline = function () { - this._update(); - }), - (e.prototype._onWindowResize = function () { - this._trackResize && this.stop().resize()._update(); - }), - (r.showTileBoundaries.get = function () { - return !!this._showTileBoundaries; - }), - (r.showTileBoundaries.set = function (t) { - this._showTileBoundaries !== t && - ((this._showTileBoundaries = t), this._update()); - }), - (r.showCollisionBoxes.get = function () { - return !!this._showCollisionBoxes; - }), - (r.showCollisionBoxes.set = function (t) { - this._showCollisionBoxes !== t && - ((this._showCollisionBoxes = t), - t - ? this.style._generateCollisionBoxes() - : this._update()); - }), - (r.showOverdrawInspector.get = function () { - return !!this._showOverdrawInspector; - }), - (r.showOverdrawInspector.set = function (t) { - this._showOverdrawInspector !== t && - ((this._showOverdrawInspector = t), this._update()); - }), - (r.repaint.get = function () { - return !!this._repaint; - }), - (r.repaint.set = function (t) { - ((this._repaint = t), this._update()); - }), - (r.vertices.get = function () { - return !!this._vertices; - }), - (r.vertices.set = function (t) { - ((this._vertices = t), this._update()); - }), - (e.prototype._onData = function (t) { - (this._update("style" === t.dataType), - this.fire(t.dataType + "data", t)); - }), - (e.prototype._onDataLoading = function (t) { - this.fire(t.dataType + "dataloading", t); - }), - Object.defineProperties(e.prototype, r), - e - ); - })(y); - e.exports = S; - }, - { - "../geo/lng_lat": 62, - "../geo/lng_lat_bounds": 63, - "../geo/transform": 64, - "../render/painter": 90, - "../style/evaluation_parameters": 182, - "../style/style": 190, - "../util/ajax": 251, - "../util/browser": 252, - "../util/dom": 259, - "../util/image": 263, - "../util/util": 275, - "../util/window": 254, - "./bind_handlers": 230, - "./camera": 231, - "./control/attribution_control": 232, - "./control/logo_control": 235, - "./events": 238, - "./hash": 246, - "@mapbox/mapbox-gl-supported": 3, - "@mapbox/point-geometry": 4, - }, - ], - 248: [ - function (t, e, r) { - var n = t("../util/dom"), - i = t("../geo/lng_lat"), - a = t("@mapbox/point-geometry"), - o = t("../util/smart_wrap"), - s = t("../util/util").bindAll, - l = function (t, e) { - if ((s(["_update", "_onMapClick"], this), !t)) { - t = n.create("div"); - var r = n.createNS("http://www.w3.org/2000/svg", "svg"); - (r.setAttributeNS(null, "height", "41px"), - r.setAttributeNS(null, "width", "27px"), - r.setAttributeNS(null, "viewBox", "0 0 27 41")); - var i = n.createNS("http://www.w3.org/2000/svg", "g"); - (i.setAttributeNS(null, "stroke", "none"), - i.setAttributeNS(null, "stroke-width", "1"), - i.setAttributeNS(null, "fill", "none"), - i.setAttributeNS(null, "fill-rule", "evenodd")); - var o = n.createNS("http://www.w3.org/2000/svg", "g"); - o.setAttributeNS(null, "fill-rule", "nonzero"); - var l = n.createNS("http://www.w3.org/2000/svg", "g"); - (l.setAttributeNS( - null, - "transform", - "translate(3.0, 29.0)", - ), - l.setAttributeNS(null, "fill", "#000000")); - for ( - var c = 0, - u = [ - { rx: "10.5", ry: "5.25002273" }, - { rx: "10.5", ry: "5.25002273" }, - { rx: "9.5", ry: "4.77275007" }, - { rx: "8.5", ry: "4.29549936" }, - { rx: "7.5", ry: "3.81822308" }, - { rx: "6.5", ry: "3.34094679" }, - { rx: "5.5", ry: "2.86367051" }, - { rx: "4.5", ry: "2.38636864" }, - ]; - c < u.length; - c += 1 - ) { - var f = u[c], - h = n.createNS("http://www.w3.org/2000/svg", "ellipse"); - (h.setAttributeNS(null, "opacity", "0.04"), - h.setAttributeNS(null, "cx", "10.5"), - h.setAttributeNS(null, "cy", "5.80029008"), - h.setAttributeNS(null, "rx", f.rx), - h.setAttributeNS(null, "ry", f.ry), - l.appendChild(h)); - } - var p = n.createNS("http://www.w3.org/2000/svg", "g"); - p.setAttributeNS(null, "fill", "#3FB1CE"); - var d = n.createNS("http://www.w3.org/2000/svg", "path"); - (d.setAttributeNS( - null, - "d", - "M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z", - ), - p.appendChild(d)); - var g = n.createNS("http://www.w3.org/2000/svg", "g"); - (g.setAttributeNS(null, "opacity", "0.25"), - g.setAttributeNS(null, "fill", "#000000")); - var m = n.createNS("http://www.w3.org/2000/svg", "path"); - (m.setAttributeNS( - null, - "d", - "M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z", - ), - g.appendChild(m)); - var v = n.createNS("http://www.w3.org/2000/svg", "g"); - (v.setAttributeNS(null, "transform", "translate(6.0, 7.0)"), - v.setAttributeNS(null, "fill", "#FFFFFF")); - var y = n.createNS("http://www.w3.org/2000/svg", "g"); - y.setAttributeNS(null, "transform", "translate(8.0, 8.0)"); - var x = n.createNS("http://www.w3.org/2000/svg", "circle"); - (x.setAttributeNS(null, "fill", "#000000"), - x.setAttributeNS(null, "opacity", "0.25"), - x.setAttributeNS(null, "cx", "5.5"), - x.setAttributeNS(null, "cy", "5.5"), - x.setAttributeNS(null, "r", "5.4999962")); - var b = n.createNS("http://www.w3.org/2000/svg", "circle"); - (b.setAttributeNS(null, "fill", "#FFFFFF"), - b.setAttributeNS(null, "cx", "5.5"), - b.setAttributeNS(null, "cy", "5.5"), - b.setAttributeNS(null, "r", "5.4999962"), - y.appendChild(x), - y.appendChild(b), - o.appendChild(l), - o.appendChild(p), - o.appendChild(g), - o.appendChild(v), - o.appendChild(y), - r.appendChild(o), - t.appendChild(r)); - var _ = [0, -14]; - (e && e.offset) || - (e ? (e.offset = _) : (e = { offset: _ })); - } - ((this._offset = a.convert((e && e.offset) || [0, 0])), - t.classList.add("mapboxgl-marker"), - (this._element = t), - (this._popup = null)); - }; - ((l.prototype.addTo = function (t) { - return ( - this.remove(), - (this._map = t), - t.getCanvasContainer().appendChild(this._element), - t.on("move", this._update), - t.on("moveend", this._update), - this._update(), - this._map.on("click", this._onMapClick), - this - ); - }), - (l.prototype.remove = function () { - return ( - this._map && - (this._map.off("click", this._onMapClick), - this._map.off("move", this._update), - this._map.off("moveend", this._update), - delete this._map), - n.remove(this._element), - this._popup && this._popup.remove(), - this - ); - }), - (l.prototype.getLngLat = function () { - return this._lngLat; - }), - (l.prototype.setLngLat = function (t) { - return ( - (this._lngLat = i.convert(t)), - (this._pos = null), - this._popup && this._popup.setLngLat(this._lngLat), - this._update(), - this - ); - }), - (l.prototype.getElement = function () { - return this._element; - }), - (l.prototype.setPopup = function (t) { - return ( - this._popup && (this._popup.remove(), (this._popup = null)), - t && - ("offset" in t.options || - (t.options.offset = this._offset), - (this._popup = t), - this._lngLat && this._popup.setLngLat(this._lngLat)), - this - ); - }), - (l.prototype._onMapClick = function (t) { - var e = t.originalEvent.target, - r = this._element; - this._popup && - (e === r || r.contains(e)) && - this.togglePopup(); - }), - (l.prototype.getPopup = function () { - return this._popup; - }), - (l.prototype.togglePopup = function () { - var t = this._popup; - return t - ? (t.isOpen() ? t.remove() : t.addTo(this._map), this) - : this; - }), - (l.prototype._update = function (t) { - this._map && - (this._map.transform.renderWorldCopies && - (this._lngLat = o( - this._lngLat, - this._pos, - this._map.transform, - )), - (this._pos = this._map - .project(this._lngLat) - ._add(this._offset)), - (t && "moveend" !== t.type) || - (this._pos = this._pos.round()), - n.setTransform( - this._element, - "translate(-50%, -50%) translate(" + - this._pos.x + - "px, " + - this._pos.y + - "px)", - )); - }), - (l.prototype.getOffset = function () { - return this._offset; - }), - (l.prototype.setOffset = function (t) { - return ((this._offset = a.convert(t)), this._update(), this); - }), - (e.exports = l)); - }, - { - "../geo/lng_lat": 62, - "../util/dom": 259, - "../util/smart_wrap": 270, - "../util/util": 275, - "@mapbox/point-geometry": 4, - }, - ], - 249: [ - function (t, e, r) { - var n = t("../util/util"), - i = t("../util/evented"), - a = t("../util/dom"), - o = t("../geo/lng_lat"), - s = t("@mapbox/point-geometry"), - l = t("../util/window"), - c = t("../util/smart_wrap"), - u = { closeButton: !0, closeOnClick: !0 }, - f = (function (t) { - function e(e) { - (t.call(this), - (this.options = n.extend(Object.create(u), e)), - n.bindAll(["_update", "_onClickClose"], this)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - (e.prototype.addTo = function (t) { - return ( - (this._map = t), - this._map.on("move", this._update), - this.options.closeOnClick && - this._map.on("click", this._onClickClose), - this._update(), - this - ); - }), - (e.prototype.isOpen = function () { - return !!this._map; - }), - (e.prototype.remove = function () { - return ( - this._content && a.remove(this._content), - this._container && - (a.remove(this._container), delete this._container), - this._map && - (this._map.off("move", this._update), - this._map.off("click", this._onClickClose), - delete this._map), - this.fire("close"), - this - ); - }), - (e.prototype.getLngLat = function () { - return this._lngLat; - }), - (e.prototype.setLngLat = function (t) { - return ( - (this._lngLat = o.convert(t)), - (this._pos = null), - this._update(), - this - ); - }), - (e.prototype.setText = function (t) { - return this.setDOMContent(l.document.createTextNode(t)); - }), - (e.prototype.setHTML = function (t) { - var e, - r = l.document.createDocumentFragment(), - n = l.document.createElement("body"); - for (n.innerHTML = t; (e = n.firstChild); ) - r.appendChild(e); - return this.setDOMContent(r); - }), - (e.prototype.setDOMContent = function (t) { - return ( - this._createContent(), - this._content.appendChild(t), - this._update(), - this - ); - }), - (e.prototype._createContent = function () { - (this._content && a.remove(this._content), - (this._content = a.create( - "div", - "mapboxgl-popup-content", - this._container, - )), - this.options.closeButton && - ((this._closeButton = a.create( - "button", - "mapboxgl-popup-close-button", - this._content, - )), - (this._closeButton.type = "button"), - this._closeButton.setAttribute( - "aria-label", - "Close popup", - ), - (this._closeButton.innerHTML = "×"), - this._closeButton.addEventListener( - "click", - this._onClickClose, - ))); - }), - (e.prototype._update = function () { - if (this._map && this._lngLat && this._content) { - (this._container || - ((this._container = a.create( - "div", - "mapboxgl-popup", - this._map.getContainer(), - )), - (this._tip = a.create( - "div", - "mapboxgl-popup-tip", - this._container, - )), - this._container.appendChild(this._content)), - this._map.transform.renderWorldCopies && - (this._lngLat = c( - this._lngLat, - this._pos, - this._map.transform, - ))); - var t = (this._pos = this._map.project(this._lngLat)), - e = this.options.anchor, - r = (function t(e) { - if (e) { - if ("number" == typeof e) { - var r = Math.round( - Math.sqrt(0.5 * Math.pow(e, 2)), - ); - return { - top: new s(0, e), - "top-left": new s(r, r), - "top-right": new s(-r, r), - bottom: new s(0, -e), - "bottom-left": new s(r, -r), - "bottom-right": new s(-r, -r), - left: new s(e, 0), - right: new s(-e, 0), - }; - } - if (e instanceof s || Array.isArray(e)) { - var n = s.convert(e); - return { - top: n, - "top-left": n, - "top-right": n, - bottom: n, - "bottom-left": n, - "bottom-right": n, - left: n, - right: n, - }; - } - return { - top: s.convert(e.top || [0, 0]), - "top-left": s.convert(e["top-left"] || [0, 0]), - "top-right": s.convert( - e["top-right"] || [0, 0], - ), - bottom: s.convert(e.bottom || [0, 0]), - "bottom-left": s.convert( - e["bottom-left"] || [0, 0], - ), - "bottom-right": s.convert( - e["bottom-right"] || [0, 0], - ), - left: s.convert(e.left || [0, 0]), - right: s.convert(e.right || [0, 0]), - }; - } - return t(new s(0, 0)); - })(this.options.offset); - if (!e) { - var n = this._container.offsetWidth, - i = this._container.offsetHeight; - ((e = - t.y + r.bottom.y < i - ? ["top"] - : t.y > this._map.transform.height - i - ? ["bottom"] - : []), - t.x < n / 2 - ? e.push("left") - : t.x > this._map.transform.width - n / 2 && - e.push("right"), - (e = 0 === e.length ? "bottom" : e.join("-"))); - } - var o = t.add(r[e]).round(), - l = { - top: "translate(-50%,0)", - "top-left": "translate(0,0)", - "top-right": "translate(-100%,0)", - bottom: "translate(-50%,-100%)", - "bottom-left": "translate(0,-100%)", - "bottom-right": "translate(-100%,-100%)", - left: "translate(0,-50%)", - right: "translate(-100%,-50%)", - }, - u = this._container.classList; - for (var f in l) u.remove("mapboxgl-popup-anchor-" + f); - (u.add("mapboxgl-popup-anchor-" + e), - a.setTransform( - this._container, - l[e] + " translate(" + o.x + "px," + o.y + "px)", - )); - } - }), - (e.prototype._onClickClose = function () { - this.remove(); - }), - e - ); - })(i); - e.exports = f; - }, - { - "../geo/lng_lat": 62, - "../util/dom": 259, - "../util/evented": 260, - "../util/smart_wrap": 270, - "../util/util": 275, - "../util/window": 254, - "@mapbox/point-geometry": 4, - }, - ], - 250: [ - function (t, e, r) { - var n = t("./util"), - i = t("./web_worker_transfer"), - a = i.serialize, - o = i.deserialize, - s = function (t, e, r) { - ((this.target = t), - (this.parent = e), - (this.mapId = r), - (this.callbacks = {}), - (this.callbackID = 0), - n.bindAll(["receive"], this), - this.target.addEventListener("message", this.receive, !1)); - }; - ((s.prototype.send = function (t, e, r, n) { - var i = r ? this.mapId + ":" + this.callbackID++ : null; - r && (this.callbacks[i] = r); - var o = []; - this.target.postMessage( - { - targetMapId: n, - sourceMapId: this.mapId, - type: t, - id: String(i), - data: a(e, o), - }, - o, - ); - }), - (s.prototype.receive = function (t) { - var e, - r = this, - n = t.data, - i = n.id; - if (!n.targetMapId || this.mapId === n.targetMapId) { - var s = function (t, e) { - var n = []; - r.target.postMessage( - { - sourceMapId: r.mapId, - type: "", - id: String(i), - error: t ? String(t) : null, - data: a(e, n), - }, - n, - ); - }; - if ("" === n.type) - ((e = this.callbacks[n.id]), - delete this.callbacks[n.id], - e && n.error - ? e(new Error(n.error)) - : e && e(null, o(n.data))); - else if (void 0 !== n.id && this.parent[n.type]) - this.parent[n.type](n.sourceMapId, o(n.data), s); - else if (void 0 !== n.id && this.parent.getWorkerSource) { - var l = n.type.split("."); - this.parent - .getWorkerSource(n.sourceMapId, l[0]) - [l[1]](o(n.data), s); - } else this.parent[n.type](o(n.data)); - } - }), - (s.prototype.remove = function () { - this.target.removeEventListener("message", this.receive, !1); - }), - (e.exports = s)); - }, - { "./util": 275, "./web_worker_transfer": 278 }, - ], - 251: [ - function (t, e, r) { - function n(t) { - var e = new a.XMLHttpRequest(); - for (var r in (e.open("GET", t.url, !0), t.headers)) - e.setRequestHeader(r, t.headers[r]); - return ((e.withCredentials = "include" === t.credentials), e); - } - function i(t) { - var e = a.document.createElement("a"); - return ( - (e.href = t), - e.protocol === a.document.location.protocol && - e.host === a.document.location.host - ); - } - var a = t("./window"), - o = { - Unknown: "Unknown", - Style: "Style", - Source: "Source", - Tile: "Tile", - Glyphs: "Glyphs", - SpriteImage: "SpriteImage", - SpriteJSON: "SpriteJSON", - Image: "Image", - }; - ((r.ResourceType = o), - "function" == typeof Object.freeze && Object.freeze(o)); - var s = (function (t) { - function e(e, r) { - (t.call(this, e), (this.status = r)); - } - return ( - t && (e.__proto__ = t), - (e.prototype = Object.create(t && t.prototype)), - (e.prototype.constructor = e), - e - ); - })(Error); - ((r.getJSON = function (t, e) { - var r = n(t); - return ( - r.setRequestHeader("Accept", "application/json"), - (r.onerror = function () { - e(new Error(r.statusText)); - }), - (r.onload = function () { - if (r.status >= 200 && r.status < 300 && r.response) { - var t; - try { - t = JSON.parse(r.response); - } catch (t) { - return e(t); - } - e(null, t); - } else e(new s(r.statusText, r.status)); - }), - r.send(), - r - ); - }), - (r.getArrayBuffer = function (t, e) { - var r = n(t); - return ( - (r.responseType = "arraybuffer"), - (r.onerror = function () { - e(new Error(r.statusText)); - }), - (r.onload = function () { - var t = r.response; - if (0 === t.byteLength && 200 === r.status) - return e( - new Error( - "http status 200 returned without content.", - ), - ); - r.status >= 200 && r.status < 300 && r.response - ? e(null, { - data: t, - cacheControl: r.getResponseHeader("Cache-Control"), - expires: r.getResponseHeader("Expires"), - }) - : e(new s(r.statusText, r.status)); - }), - r.send(), - r - ); - })); - ((r.getImage = function (t, e) { - return r.getArrayBuffer(t, function (t, r) { - if (t) e(t); - else if (r) { - var n = new a.Image(), - i = a.URL || a.webkitURL; - n.onload = function () { - (e(null, n), i.revokeObjectURL(n.src)); - }; - var o = new a.Blob([new Uint8Array(r.data)], { - type: "image/png", - }); - ((n.cacheControl = r.cacheControl), - (n.expires = r.expires), - (n.src = r.data.byteLength - ? i.createObjectURL(o) - : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=")); - } - }); - }), - (r.getVideo = function (t, e) { - var r = a.document.createElement("video"); - r.onloadstart = function () { - e(null, r); - }; - for (var n = 0; n < t.length; n++) { - var o = a.document.createElement("source"); - (i(t[n]) || (r.crossOrigin = "Anonymous"), - (o.src = t[n]), - r.appendChild(o)); - } - return r; - })); - }, - { "./window": 254 }, - ], - 252: [ - function (t, e, r) { - var n = t("./window"), - i = - n.performance && n.performance.now - ? n.performance.now.bind(n.performance) - : Date.now.bind(Date), - a = - n.requestAnimationFrame || - n.mozRequestAnimationFrame || - n.webkitRequestAnimationFrame || - n.msRequestAnimationFrame, - o = - n.cancelAnimationFrame || - n.mozCancelAnimationFrame || - n.webkitCancelAnimationFrame || - n.msCancelAnimationFrame; - e.exports = { - now: i, - frame: function (t) { - return a(t); - }, - cancelFrame: function (t) { - return o(t); - }, - getImageData: function (t) { - var e = n.document.createElement("canvas"), - r = e.getContext("2d"); - if (!r) throw new Error("failed to create canvas 2d context"); - return ( - (e.width = t.width), - (e.height = t.height), - r.drawImage(t, 0, 0, t.width, t.height), - r.getImageData(0, 0, t.width, t.height) - ); - }, - hardwareConcurrency: n.navigator.hardwareConcurrency || 4, - get devicePixelRatio() { - return n.devicePixelRatio; - }, - supportsWebp: !1, - }; - var s = n.document.createElement("img"); - ((s.onload = function () { - e.exports.supportsWebp = !0; - }), - (s.src = - "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=")); - }, - { "./window": 254 }, - ], - 253: [ - function (t, e, r) { - var n = t("webworkify"), - i = t("../window"), - a = i.URL.createObjectURL( - new n(t("../../source/worker"), { bare: !0 }), - ); - e.exports = function () { - return new i.Worker(a); - }; - }, - { "../../source/worker": 118, "../window": 254, webworkify: 36 }, - ], - 254: [ - function (t, e, r) { - e.exports = self; - }, - {}, - ], - 255: [ - function (t, e, r) { - function n(t, e) { - return e.area - t.area; - } - var i = t("quickselect"), - a = t("./util").calculateSignedArea; - e.exports = function (t, e) { - var r = t.length; - if (r <= 1) return [t]; - for (var o, s, l = [], c = 0; c < r; c++) { - var u = a(t[c]); - 0 !== u && - ((t[c].area = Math.abs(u)), - void 0 === s && (s = u < 0), - s === u < 0 - ? (o && l.push(o), (o = [t[c]])) - : o.push(t[c])); - } - if ((o && l.push(o), e > 1)) - for (var f = 0; f < l.length; f++) - l[f].length <= e || - (i(l[f], e, 1, l[f].length - 1, n), - (l[f] = l[f].slice(0, e))); - return l; - }; - }, - { "./util": 275, quickselect: 31 }, - ], - 256: [ - function (t, e, r) { - e.exports = { - API_URL: "https://api.mapbox.com", - REQUIRE_ACCESS_TOKEN: !0, - ACCESS_TOKEN: null, - }; - }, - {}, - ], - 257: [ - function (t, e, r) { - var n = function (t) { - ((this._stringToNumber = {}), (this._numberToString = [])); - for (var e = 0; e < t.length; e++) { - var r = t[e]; - ((this._stringToNumber[r] = e), - (this._numberToString[e] = r)); - } - }; - ((n.prototype.encode = function (t) { - return this._stringToNumber[t]; - }), - (n.prototype.decode = function (t) { - return this._numberToString[t]; - }), - (e.exports = n)); - }, - {}, - ], - 258: [ - function (t, e, r) { - var n = t("./util"), - i = t("./actor"), - a = function (t, e) { - ((this.workerPool = t), - (this.actors = []), - (this.currentActor = 0), - (this.id = n.uniqueId())); - for ( - var r = this.workerPool.acquire(this.id), a = 0; - a < r.length; - a++ - ) { - var o = r[a], - s = new i(o, e, this.id); - ((s.name = "Worker " + a), this.actors.push(s)); - } - }; - ((a.prototype.broadcast = function (t, e, r) { - ((r = r || function () {}), - n.asyncAll( - this.actors, - function (r, n) { - r.send(t, e, n); - }, - r, - )); - }), - (a.prototype.send = function (t, e, r, n) { - return ( - ("number" != typeof n || isNaN(n)) && - (n = this.currentActor = - (this.currentActor + 1) % this.actors.length), - this.actors[n].send(t, e, r), - n - ); - }), - (a.prototype.remove = function () { - (this.actors.forEach(function (t) { - t.remove(); - }), - (this.actors = []), - this.workerPool.release(this.id)); - }), - (e.exports = a)); - }, - { "./actor": 250, "./util": 275 }, - ], - 259: [ - function (t, e, r) { - function n(t) { - for (var e = 0; e < t.length; e++) if (t[e] in s) return t[e]; - return t[0]; - } - var i = t("@mapbox/point-geometry"), - a = t("./window"); - ((r.create = function (t, e, r) { - var n = a.document.createElement(t); - return (e && (n.className = e), r && r.appendChild(n), n); - }), - (r.createNS = function (t, e) { - return a.document.createElementNS(t, e); - })); - var o, - s = a.document.documentElement.style, - l = n([ - "userSelect", - "MozUserSelect", - "WebkitUserSelect", - "msUserSelect", - ]); - ((r.disableDrag = function () { - l && ((o = s[l]), (s[l] = "none")); - }), - (r.enableDrag = function () { - l && (s[l] = o); - })); - var c = n(["transform", "WebkitTransform"]); - r.setTransform = function (t, e) { - t.style[c] = e; - }; - var u = function (t) { - (t.preventDefault(), - t.stopPropagation(), - a.removeEventListener("click", u, !0)); - }; - ((r.suppressClick = function () { - (a.addEventListener("click", u, !0), - a.setTimeout(function () { - a.removeEventListener("click", u, !0); - }, 0)); - }), - (r.mousePos = function (t, e) { - var r = t.getBoundingClientRect(); - return ( - (e = e.touches ? e.touches[0] : e), - new i( - e.clientX - r.left - t.clientLeft, - e.clientY - r.top - t.clientTop, - ) - ); - }), - (r.touchPos = function (t, e) { - for ( - var r = t.getBoundingClientRect(), - n = [], - a = "touchend" === e.type ? e.changedTouches : e.touches, - o = 0; - o < a.length; - o++ - ) - n.push( - new i( - a[o].clientX - r.left - t.clientLeft, - a[o].clientY - r.top - t.clientTop, - ), - ); - return n; - }), - (r.remove = function (t) { - t.parentNode && t.parentNode.removeChild(t); - })); - }, - { "./window": 254, "@mapbox/point-geometry": 4 }, - ], - 260: [ - function (t, e, r) { - function n(t, e, r) { - ((r[t] = r[t] || []), r[t].push(e)); - } - function i(t, e, r) { - if (r && r[t]) { - var n = r[t].indexOf(e); - -1 !== n && r[t].splice(n, 1); - } - } - var a = t("./util"), - o = function () {}; - ((o.prototype.on = function (t, e) { - return ( - (this._listeners = this._listeners || {}), - n(t, e, this._listeners), - this - ); - }), - (o.prototype.off = function (t, e) { - return ( - i(t, e, this._listeners), - i(t, e, this._oneTimeListeners), - this - ); - }), - (o.prototype.once = function (t, e) { - return ( - (this._oneTimeListeners = this._oneTimeListeners || {}), - n(t, e, this._oneTimeListeners), - this - ); - }), - (o.prototype.fire = function (t, e) { - var r = this; - if (this.listens(t)) { - e = a.extend({}, e, { type: t, target: this }); - for ( - var n = 0, - o = - this._listeners && this._listeners[t] - ? this._listeners[t].slice() - : []; - n < o.length; - n += 1 - ) - o[n].call(r, e); - for ( - var s = 0, - l = - this._oneTimeListeners && this._oneTimeListeners[t] - ? this._oneTimeListeners[t].slice() - : []; - s < l.length; - s += 1 - ) { - var c = l[s]; - (i(t, c, r._oneTimeListeners), c.call(r, e)); - } - this._eventedParent && - this._eventedParent.fire( - t, - a.extend( - {}, - e, - "function" == typeof this._eventedParentData - ? this._eventedParentData() - : this._eventedParentData, - ), - ); - } else - a.endsWith(t, "error") && - console.error((e && e.error) || e || "Empty error event"); - return this; - }), - (o.prototype.listens = function (t) { - return ( - (this._listeners && - this._listeners[t] && - this._listeners[t].length > 0) || - (this._oneTimeListeners && - this._oneTimeListeners[t] && - this._oneTimeListeners[t].length > 0) || - (this._eventedParent && this._eventedParent.listens(t)) - ); - }), - (o.prototype.setEventedParent = function (t, e) { - return ( - (this._eventedParent = t), - (this._eventedParentData = e), - this - ); - }), - (e.exports = o)); - }, - { "./util": 275 }, - ], - 261: [ - function (t, e, r) { - function n(t, e) { - return e.max - t.max; - } - function i(t, e, r, n) { - ((this.p = new o(t, e)), - (this.h = r), - (this.d = (function (t, e) { - for (var r = !1, n = 1 / 0, i = 0; i < e.length; i++) - for ( - var a = e[i], o = 0, l = a.length, c = l - 1; - o < l; - c = o++ - ) { - var u = a[o], - f = a[c]; - (u.y > t.y != f.y > t.y && - t.x < - ((f.x - u.x) * (t.y - u.y)) / (f.y - u.y) + u.x && - (r = !r), - (n = Math.min(n, s(t, u, f)))); - } - return (r ? 1 : -1) * Math.sqrt(n); - })(this.p, n)), - (this.max = this.d + this.h * Math.SQRT2)); - } - var a = t("tinyqueue"), - o = t("@mapbox/point-geometry"), - s = t("./intersection_tests").distToSegmentSquared; - e.exports = function (t, e, r) { - (void 0 === e && (e = 1), void 0 === r && (r = !1)); - for ( - var s = 1 / 0, - l = 1 / 0, - c = -1 / 0, - u = -1 / 0, - f = t[0], - h = 0; - h < f.length; - h++ - ) { - var p = f[h]; - ((!h || p.x < s) && (s = p.x), - (!h || p.y < l) && (l = p.y), - (!h || p.x > c) && (c = p.x), - (!h || p.y > u) && (u = p.y)); - } - var d = c - s, - g = u - l, - m = Math.min(d, g), - v = m / 2, - y = new a(null, n); - if (0 === m) return new o(s, l); - for (var x = s; x < c; x += m) - for (var b = l; b < u; b += m) - y.push(new i(x + v, b + v, v, t)); - for ( - var _ = (function (t) { - for ( - var e = 0, - r = 0, - n = 0, - a = t[0], - o = 0, - s = a.length, - l = s - 1; - o < s; - l = o++ - ) { - var c = a[o], - u = a[l], - f = c.x * u.y - u.x * c.y; - ((r += (c.x + u.x) * f), - (n += (c.y + u.y) * f), - (e += 3 * f)); - } - return new i(r / e, n / e, 0, t); - })(t), - w = y.length; - y.length; - - ) { - var k = y.pop(); - ((k.d > _.d || !_.d) && - ((_ = k), - r && - console.log( - "found best %d after %d probes", - Math.round(1e4 * k.d) / 1e4, - w, - )), - k.max - _.d <= e || - ((v = k.h / 2), - y.push(new i(k.p.x - v, k.p.y - v, v, t)), - y.push(new i(k.p.x + v, k.p.y - v, v, t)), - y.push(new i(k.p.x - v, k.p.y + v, v, t)), - y.push(new i(k.p.x + v, k.p.y + v, v, t)), - (w += 4))); - } - return ( - r && - (console.log("num probes: " + w), - console.log("best distance: " + _.d)), - _.p - ); - }; - }, - { - "./intersection_tests": 264, - "@mapbox/point-geometry": 4, - tinyqueue: 33, - }, - ], - 262: [ - function (t, e, r) { - var n, - i = t("./worker_pool"); - e.exports = function () { - return (n || (n = new i()), n); - }; - }, - { "./worker_pool": 279 }, - ], - 263: [ - function (t, e, r) { - function n(t, e, r, n) { - var i = e.width, - a = e.height; - if (n) { - if (n.length !== i * a * r) - throw new RangeError("mismatched image size"); - } else n = new Uint8Array(i * a * r); - return ((t.width = i), (t.height = a), (t.data = n), t); - } - function i(t, e, r) { - var i = e.width, - o = e.height; - if (i !== t.width || o !== t.height) { - var s = n({}, { width: i, height: o }, r); - (a( - t, - s, - { x: 0, y: 0 }, - { x: 0, y: 0 }, - { - width: Math.min(t.width, i), - height: Math.min(t.height, o), - }, - r, - ), - (t.width = i), - (t.height = o), - (t.data = s.data)); - } - } - function a(t, e, r, n, i, a) { - if (0 === i.width || 0 === i.height) return e; - if ( - i.width > t.width || - i.height > t.height || - r.x > t.width - i.width || - r.y > t.height - i.height - ) - throw new RangeError( - "out of range source coordinates for image copy", - ); - if ( - i.width > e.width || - i.height > e.height || - n.x > e.width - i.width || - n.y > e.height - i.height - ) - throw new RangeError( - "out of range destination coordinates for image copy", - ); - for (var o = t.data, s = e.data, l = 0; l < i.height; l++) - for ( - var c = ((r.y + l) * t.width + r.x) * a, - u = ((n.y + l) * e.width + n.x) * a, - f = 0; - f < i.width * a; - f++ - ) - s[u + f] = o[c + f]; - return e; - } - var o = t("./web_worker_transfer").register, - s = function (t, e) { - n(this, t, 1, e); - }; - ((s.prototype.resize = function (t) { - i(this, t, 1); - }), - (s.prototype.clone = function () { - return new s( - { width: this.width, height: this.height }, - new Uint8Array(this.data), - ); - }), - (s.copy = function (t, e, r, n, i) { - a(t, e, r, n, i, 1); - })); - var l = function (t, e) { - n(this, t, 4, e); - }; - ((l.prototype.resize = function (t) { - i(this, t, 4); - }), - (l.prototype.clone = function () { - return new l( - { width: this.width, height: this.height }, - new Uint8Array(this.data), - ); - }), - (l.copy = function (t, e, r, n, i) { - a(t, e, r, n, i, 4); - }), - o("AlphaImage", s), - o("RGBAImage", l), - (e.exports = { AlphaImage: s, RGBAImage: l })); - }, - { "./web_worker_transfer": 278 }, - ], - 264: [ - function (t, e, r) { - function n(t, e, r) { - if (t.length > 1) { - if (i(t, e)) return !0; - for (var n = 0; n < e.length; n++) - if (o(e[n], t, r)) return !0; - } - for (var a = 0; a < t.length; a++) if (o(t[a], e, r)) return !0; - return !1; - } - function i(t, e) { - if (0 === t.length || 0 === e.length) return !1; - for (var r = 0; r < t.length - 1; r++) - for ( - var n = t[r], i = t[r + 1], o = 0; - o < e.length - 1; - o++ - ) { - if (a(n, i, e[o], e[o + 1])) return !0; - } - return !1; - } - function a(t, e, r, n) { - return u(t, r, n) !== u(e, r, n) && u(t, e, r) !== u(t, e, n); - } - function o(t, e, r) { - var n = r * r; - if (1 === e.length) return t.distSqr(e[0]) < n; - for (var i = 1; i < e.length; i++) - if (s(t, e[i - 1], e[i]) < n) return !0; - return !1; - } - function s(t, e, r) { - var n = e.distSqr(r); - if (0 === n) return t.distSqr(e); - var i = - ((t.x - e.x) * (r.x - e.x) + (t.y - e.y) * (r.y - e.y)) / n; - return i < 0 - ? t.distSqr(e) - : i > 1 - ? t.distSqr(r) - : t.distSqr(r.sub(e)._mult(i)._add(e)); - } - function l(t, e) { - for (var r, n, i, a = !1, o = 0; o < t.length; o++) - for ( - var s = 0, l = (r = t[o]).length - 1; - s < r.length; - l = s++ - ) - ((n = r[s]), - (i = r[l]), - n.y > e.y != i.y > e.y && - e.x < ((i.x - n.x) * (e.y - n.y)) / (i.y - n.y) + n.x && - (a = !a)); - return a; - } - function c(t, e) { - for ( - var r = !1, n = 0, i = t.length - 1; - n < t.length; - i = n++ - ) { - var a = t[n], - o = t[i]; - a.y > e.y != o.y > e.y && - e.x < ((o.x - a.x) * (e.y - a.y)) / (o.y - a.y) + a.x && - (r = !r); - } - return r; - } - var u = t("./util").isCounterClockwise; - e.exports = { - multiPolygonIntersectsBufferedMultiPoint: function (t, e, r) { - for (var n = 0; n < t.length; n++) - for (var i = t[n], a = 0; a < e.length; a++) - for (var s = e[a], l = 0; l < s.length; l++) { - var u = s[l]; - if (c(i, u)) return !0; - if (o(u, i, r)) return !0; - } - return !1; - }, - multiPolygonIntersectsMultiPolygon: function (t, e) { - if (1 === t.length && 1 === t[0].length) return l(e, t[0][0]); - for (var r = 0; r < e.length; r++) - for (var n = e[r], a = 0; a < n.length; a++) - if (l(t, n[a])) return !0; - for (var o = 0; o < t.length; o++) { - for (var s = t[o], c = 0; c < s.length; c++) - if (l(e, s[c])) return !0; - for (var u = 0; u < e.length; u++) - if (i(s, e[u])) return !0; - } - return !1; - }, - multiPolygonIntersectsBufferedMultiLine: function (t, e, r) { - for (var i = 0; i < e.length; i++) - for (var a = e[i], o = 0; o < t.length; o++) { - var s = t[o]; - if (s.length >= 3) - for (var l = 0; l < a.length; l++) - if (c(s, a[l])) return !0; - if (n(s, a, r)) return !0; - } - return !1; - }, - polygonIntersectsPolygon: function (t, e) { - for (var r = 0; r < t.length; r++) if (c(e, t[r])) return !0; - for (var n = 0; n < e.length; n++) if (c(t, e[n])) return !0; - return !!i(t, e); - }, - distToSegmentSquared: s, - }; - }, - { "./util": 275 }, - ], - 265: [ - function (t, e, r) { - e.exports = { - "Latin-1 Supplement": function (t) { - return t >= 128 && t <= 255; - }, - Arabic: function (t) { - return t >= 1536 && t <= 1791; - }, - "Arabic Supplement": function (t) { - return t >= 1872 && t <= 1919; - }, - "Arabic Extended-A": function (t) { - return t >= 2208 && t <= 2303; - }, - "Hangul Jamo": function (t) { - return t >= 4352 && t <= 4607; - }, - "Unified Canadian Aboriginal Syllabics": function (t) { - return t >= 5120 && t <= 5759; - }, - "Unified Canadian Aboriginal Syllabics Extended": function (t) { - return t >= 6320 && t <= 6399; - }, - "General Punctuation": function (t) { - return t >= 8192 && t <= 8303; - }, - "Letterlike Symbols": function (t) { - return t >= 8448 && t <= 8527; - }, - "Number Forms": function (t) { - return t >= 8528 && t <= 8591; - }, - "Miscellaneous Technical": function (t) { - return t >= 8960 && t <= 9215; - }, - "Control Pictures": function (t) { - return t >= 9216 && t <= 9279; - }, - "Optical Character Recognition": function (t) { - return t >= 9280 && t <= 9311; - }, - "Enclosed Alphanumerics": function (t) { - return t >= 9312 && t <= 9471; - }, - "Geometric Shapes": function (t) { - return t >= 9632 && t <= 9727; - }, - "Miscellaneous Symbols": function (t) { - return t >= 9728 && t <= 9983; - }, - "Miscellaneous Symbols and Arrows": function (t) { - return t >= 11008 && t <= 11263; - }, - "CJK Radicals Supplement": function (t) { - return t >= 11904 && t <= 12031; - }, - "Kangxi Radicals": function (t) { - return t >= 12032 && t <= 12255; - }, - "Ideographic Description Characters": function (t) { - return t >= 12272 && t <= 12287; - }, - "CJK Symbols and Punctuation": function (t) { - return t >= 12288 && t <= 12351; - }, - Hiragana: function (t) { - return t >= 12352 && t <= 12447; - }, - Katakana: function (t) { - return t >= 12448 && t <= 12543; - }, - Bopomofo: function (t) { - return t >= 12544 && t <= 12591; - }, - "Hangul Compatibility Jamo": function (t) { - return t >= 12592 && t <= 12687; - }, - Kanbun: function (t) { - return t >= 12688 && t <= 12703; - }, - "Bopomofo Extended": function (t) { - return t >= 12704 && t <= 12735; - }, - "CJK Strokes": function (t) { - return t >= 12736 && t <= 12783; - }, - "Katakana Phonetic Extensions": function (t) { - return t >= 12784 && t <= 12799; - }, - "Enclosed CJK Letters and Months": function (t) { - return t >= 12800 && t <= 13055; - }, - "CJK Compatibility": function (t) { - return t >= 13056 && t <= 13311; - }, - "CJK Unified Ideographs Extension A": function (t) { - return t >= 13312 && t <= 19903; - }, - "Yijing Hexagram Symbols": function (t) { - return t >= 19904 && t <= 19967; - }, - "CJK Unified Ideographs": function (t) { - return t >= 19968 && t <= 40959; - }, - "Yi Syllables": function (t) { - return t >= 40960 && t <= 42127; - }, - "Yi Radicals": function (t) { - return t >= 42128 && t <= 42191; - }, - "Hangul Jamo Extended-A": function (t) { - return t >= 43360 && t <= 43391; - }, - "Hangul Syllables": function (t) { - return t >= 44032 && t <= 55215; - }, - "Hangul Jamo Extended-B": function (t) { - return t >= 55216 && t <= 55295; - }, - "Private Use Area": function (t) { - return t >= 57344 && t <= 63743; - }, - "CJK Compatibility Ideographs": function (t) { - return t >= 63744 && t <= 64255; - }, - "Arabic Presentation Forms-A": function (t) { - return t >= 64336 && t <= 65023; - }, - "Vertical Forms": function (t) { - return t >= 65040 && t <= 65055; - }, - "CJK Compatibility Forms": function (t) { - return t >= 65072 && t <= 65103; - }, - "Small Form Variants": function (t) { - return t >= 65104 && t <= 65135; - }, - "Arabic Presentation Forms-B": function (t) { - return t >= 65136 && t <= 65279; - }, - "Halfwidth and Fullwidth Forms": function (t) { - return t >= 65280 && t <= 65519; - }, - }; - }, - {}, - ], - 266: [ - function (t, e, r) { - var n = function (t, e) { - ((this.max = t), (this.onRemove = e), this.reset()); - }; - ((n.prototype.reset = function () { - var t = this; - for (var e in t.data) t.onRemove(t.data[e]); - return ((this.data = {}), (this.order = []), this); - }), - (n.prototype.add = function (t, e) { - if (this.has(t)) - (this.order.splice(this.order.indexOf(t), 1), - (this.data[t] = e), - this.order.push(t)); - else if ( - ((this.data[t] = e), - this.order.push(t), - this.order.length > this.max) - ) { - var r = this.getAndRemove(this.order[0]); - r && this.onRemove(r); - } - return this; - }), - (n.prototype.has = function (t) { - return t in this.data; - }), - (n.prototype.keys = function () { - return this.order; - }), - (n.prototype.getAndRemove = function (t) { - if (!this.has(t)) return null; - var e = this.data[t]; - return ( - delete this.data[t], - this.order.splice(this.order.indexOf(t), 1), - e - ); - }), - (n.prototype.get = function (t) { - return this.has(t) ? this.data[t] : null; - }), - (n.prototype.remove = function (t) { - if (!this.has(t)) return this; - var e = this.data[t]; - return ( - delete this.data[t], - this.onRemove(e), - this.order.splice(this.order.indexOf(t), 1), - this - ); - }), - (n.prototype.setMaxSize = function (t) { - var e = this; - for (this.max = t; this.order.length > this.max; ) { - var r = e.getAndRemove(e.order[0]); - r && e.onRemove(r); - } - return this; - }), - (e.exports = n)); - }, - {}, - ], - 267: [ - function (t, e, r) { - function n(t, e) { - var r = a(s.API_URL); - if ( - ((t.protocol = r.protocol), - (t.authority = r.authority), - "/" !== r.path && (t.path = "" + r.path + t.path), - !s.REQUIRE_ACCESS_TOKEN) - ) - return o(t); - if (!(e = e || s.ACCESS_TOKEN)) - throw new Error( - "An API access token is required to use Mapbox GL. " + c, - ); - if ("s" === e[0]) - throw new Error( - "Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). " + - c, - ); - return (t.params.push("access_token=" + e), o(t)); - } - function i(t) { - return 0 === t.indexOf("mapbox:"); - } - function a(t) { - var e = t.match(f); - if (!e) throw new Error("Unable to parse URL object"); - return { - protocol: e[1], - authority: e[2], - path: e[3] || "/", - params: e[4] ? e[4].split("&") : [], - }; - } - function o(t) { - var e = t.params.length ? "?" + t.params.join("&") : ""; - return t.protocol + "://" + t.authority + t.path + e; - } - var s = t("./config"), - l = t("./browser"), - c = - "See https://www.mapbox.com/api-documentation/#access-tokens"; - ((r.isMapboxURL = i), - (r.normalizeStyleURL = function (t, e) { - if (!i(t)) return t; - var r = a(t); - return ((r.path = "/styles/v1" + r.path), n(r, e)); - }), - (r.normalizeGlyphsURL = function (t, e) { - if (!i(t)) return t; - var r = a(t); - return ((r.path = "/fonts/v1" + r.path), n(r, e)); - }), - (r.normalizeSourceURL = function (t, e) { - if (!i(t)) return t; - var r = a(t); - return ( - (r.path = "/v4/" + r.authority + ".json"), - r.params.push("secure"), - n(r, e) - ); - }), - (r.normalizeSpriteURL = function (t, e, r, s) { - var l = a(t); - return i(t) - ? ((l.path = "/styles/v1" + l.path + "/sprite" + e + r), - n(l, s)) - : ((l.path += "" + e + r), o(l)); - })); - var u = /(\.(png|jpg)\d*)(?=$)/; - r.normalizeTileURL = function (t, e, r) { - if (!e || !i(e)) return t; - var n = a(t), - c = l.devicePixelRatio >= 2 || 512 === r ? "@2x" : "", - f = l.supportsWebp ? ".webp" : "$1"; - return ( - (n.path = n.path.replace(u, "" + c + f)), - (function (t) { - for (var e = 0; e < t.length; e++) - 0 === t[e].indexOf("access_token=tk.") && - (t[e] = "access_token=" + (s.ACCESS_TOKEN || "")); - })(n.params), - o(n) - ); - }; - var f = /^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/; - }, - { "./browser": 252, "./config": 256 }, - ], - 268: [ - function (t, e, r) { - e.exports = { - getEntriesByName: function (t) { - return ( - !(!performance || !performance.getEntriesByName) && - performance.getEntriesByName(t) - ); - }, - }; - }, - {}, - ], - 269: [ - function (t, e, r) { - var n = t("./is_char_in_unicode_block"); - ((e.exports.allowsIdeographicBreaking = function (t) { - for (var e = 0, n = t; e < n.length; e += 1) { - var i = n[e]; - if (!r.charAllowsIdeographicBreaking(i.charCodeAt(0))) - return !1; - } - return !0; - }), - (e.exports.allowsVerticalWritingMode = function (t) { - for (var e = 0, n = t; e < n.length; e += 1) { - var i = n[e]; - if (r.charHasUprightVerticalOrientation(i.charCodeAt(0))) - return !0; - } - return !1; - }), - (e.exports.allowsLetterSpacing = function (t) { - for (var e = 0, n = t; e < n.length; e += 1) { - var i = n[e]; - if (!r.charAllowsLetterSpacing(i.charCodeAt(0))) return !1; - } - return !0; - }), - (e.exports.charAllowsLetterSpacing = function (t) { - return !( - n.Arabic(t) || - n["Arabic Supplement"](t) || - n["Arabic Extended-A"](t) || - n["Arabic Presentation Forms-A"](t) || - n["Arabic Presentation Forms-B"](t) - ); - }), - (e.exports.charAllowsIdeographicBreaking = function (t) { - return !!( - !(t < 11904) && - (n["Bopomofo Extended"](t) || - n.Bopomofo(t) || - n["CJK Compatibility Forms"](t) || - n["CJK Compatibility Ideographs"](t) || - n["CJK Compatibility"](t) || - n["CJK Radicals Supplement"](t) || - n["CJK Strokes"](t) || - n["CJK Symbols and Punctuation"](t) || - n["CJK Unified Ideographs Extension A"](t) || - n["CJK Unified Ideographs"](t) || - n["Enclosed CJK Letters and Months"](t) || - n["Halfwidth and Fullwidth Forms"](t) || - n.Hiragana(t) || - n["Ideographic Description Characters"](t) || - n["Kangxi Radicals"](t) || - n["Katakana Phonetic Extensions"](t) || - n.Katakana(t) || - n["Vertical Forms"](t) || - n["Yi Radicals"](t) || - n["Yi Syllables"](t)) - ); - }), - (r.charHasUprightVerticalOrientation = function (t) { - return !!( - 746 === t || - 747 === t || - (!(t < 4352) && - (n["Bopomofo Extended"](t) || - n.Bopomofo(t) || - (n["CJK Compatibility Forms"](t) && - !(t >= 65097 && t <= 65103)) || - n["CJK Compatibility Ideographs"](t) || - n["CJK Compatibility"](t) || - n["CJK Radicals Supplement"](t) || - n["CJK Strokes"](t) || - !( - !n["CJK Symbols and Punctuation"](t) || - (t >= 12296 && t <= 12305) || - (t >= 12308 && t <= 12319) || - 12336 === t - ) || - n["CJK Unified Ideographs Extension A"](t) || - n["CJK Unified Ideographs"](t) || - n["Enclosed CJK Letters and Months"](t) || - n["Hangul Compatibility Jamo"](t) || - n["Hangul Jamo Extended-A"](t) || - n["Hangul Jamo Extended-B"](t) || - n["Hangul Jamo"](t) || - n["Hangul Syllables"](t) || - n.Hiragana(t) || - n["Ideographic Description Characters"](t) || - n.Kanbun(t) || - n["Kangxi Radicals"](t) || - n["Katakana Phonetic Extensions"](t) || - (n.Katakana(t) && 12540 !== t) || - !( - !n["Halfwidth and Fullwidth Forms"](t) || - 65288 === t || - 65289 === t || - 65293 === t || - (t >= 65306 && t <= 65310) || - 65339 === t || - 65341 === t || - 65343 === t || - (t >= 65371 && t <= 65503) || - 65507 === t || - (t >= 65512 && t <= 65519) - ) || - !( - !n["Small Form Variants"](t) || - (t >= 65112 && t <= 65118) || - (t >= 65123 && t <= 65126) - ) || - n["Unified Canadian Aboriginal Syllabics"](t) || - n["Unified Canadian Aboriginal Syllabics Extended"]( - t, - ) || - n["Vertical Forms"](t) || - n["Yijing Hexagram Symbols"](t) || - n["Yi Syllables"](t) || - n["Yi Radicals"](t))) - ); - }), - (r.charHasNeutralVerticalOrientation = function (t) { - return !!( - (n["Latin-1 Supplement"](t) && - (167 === t || - 169 === t || - 174 === t || - 177 === t || - 188 === t || - 189 === t || - 190 === t || - 215 === t || - 247 === t)) || - (n["General Punctuation"](t) && - (8214 === t || - 8224 === t || - 8225 === t || - 8240 === t || - 8241 === t || - 8251 === t || - 8252 === t || - 8258 === t || - 8263 === t || - 8264 === t || - 8265 === t || - 8273 === t)) || - n["Letterlike Symbols"](t) || - n["Number Forms"](t) || - (n["Miscellaneous Technical"](t) && - ((t >= 8960 && t <= 8967) || - (t >= 8972 && t <= 8991) || - (t >= 8996 && t <= 9e3) || - 9003 === t || - (t >= 9085 && t <= 9114) || - (t >= 9150 && t <= 9165) || - 9167 === t || - (t >= 9169 && t <= 9179) || - (t >= 9186 && t <= 9215))) || - (n["Control Pictures"](t) && 9251 !== t) || - n["Optical Character Recognition"](t) || - n["Enclosed Alphanumerics"](t) || - n["Geometric Shapes"](t) || - (n["Miscellaneous Symbols"](t) && - !(t >= 9754 && t <= 9759)) || - (n["Miscellaneous Symbols and Arrows"](t) && - ((t >= 11026 && t <= 11055) || - (t >= 11088 && t <= 11097) || - (t >= 11192 && t <= 11243))) || - n["CJK Symbols and Punctuation"](t) || - n.Katakana(t) || - n["Private Use Area"](t) || - n["CJK Compatibility Forms"](t) || - n["Small Form Variants"](t) || - n["Halfwidth and Fullwidth Forms"](t) || - 8734 === t || - 8756 === t || - 8757 === t || - (t >= 9984 && t <= 10087) || - (t >= 10102 && t <= 10131) || - 65532 === t || - 65533 === t - ); - }), - (r.charHasRotatedVerticalOrientation = function (t) { - return !( - r.charHasUprightVerticalOrientation(t) || - r.charHasNeutralVerticalOrientation(t) - ); - })); - }, - { "./is_char_in_unicode_block": 265 }, - ], - 270: [ - function (t, e, r) { - var n = t("../geo/lng_lat"); - e.exports = function (t, e, r) { - if (((t = new n(t.lng, t.lat)), e)) { - var i = new n(t.lng - 360, t.lat), - a = new n(t.lng + 360, t.lat), - o = r.locationPoint(t).distSqr(e); - r.locationPoint(i).distSqr(e) < o - ? (t = i) - : r.locationPoint(a).distSqr(e) < o && (t = a); - } - for (; Math.abs(t.lng - r.center.lng) > 180; ) { - var s = r.locationPoint(t); - if (s.x >= 0 && s.y >= 0 && s.x <= r.width && s.y <= r.height) - break; - t.lng > r.center.lng ? (t.lng -= 360) : (t.lng += 360); - } - return t; - }; - }, - { "../geo/lng_lat": 62 }, - ], - 271: [ - function (t, e, r) { - function n(t, e) { - return Math.ceil(t / e) * e; - } - var i = { - Int8: Int8Array, - Uint8: Uint8Array, - Int16: Int16Array, - Uint16: Uint16Array, - Int32: Int32Array, - Uint32: Uint32Array, - Float32: Float32Array, - }, - a = function () { - ((this.isTransferred = !1), - (this.capacity = -1), - this.resize(0)); - }; - ((a.serialize = function (t, e) { - return ( - t._trim(), - e && ((t.isTransferred = !0), e.push(t.arrayBuffer)), - { length: t.length, arrayBuffer: t.arrayBuffer } - ); - }), - (a.deserialize = function (t) { - var e = Object.create(this.prototype); - return ( - (e.arrayBuffer = t.arrayBuffer), - (e.length = t.length), - (e.capacity = t.arrayBuffer.byteLength / e.bytesPerElement), - e._refreshViews(), - e - ); - }), - (a.prototype._trim = function () { - this.length !== this.capacity && - ((this.capacity = this.length), - (this.arrayBuffer = this.arrayBuffer.slice( - 0, - this.length * this.bytesPerElement, - )), - this._refreshViews()); - }), - (a.prototype.clear = function () { - this.length = 0; - }), - (a.prototype.resize = function (t) { - (this.reserve(t), (this.length = t)); - }), - (a.prototype.reserve = function (t) { - if (t > this.capacity) { - ((this.capacity = Math.max( - t, - Math.floor(5 * this.capacity), - 128, - )), - (this.arrayBuffer = new ArrayBuffer( - this.capacity * this.bytesPerElement, - ))); - var e = this.uint8; - (this._refreshViews(), e && this.uint8.set(e)); - } - }), - (a.prototype._refreshViews = function () { - throw new Error( - "_refreshViews() must be implemented by each concrete StructArray layout", - ); - }), - (e.exports.StructArray = a), - (e.exports.Struct = function (t, e) { - ((this._structArray = t), - (this._pos1 = e * this.size), - (this._pos2 = this._pos1 / 2), - (this._pos4 = this._pos1 / 4), - (this._pos8 = this._pos1 / 8)); - }), - (e.exports.viewTypes = i), - (e.exports.createLayout = function (t, e) { - void 0 === e && (e = 1); - var r = 0, - a = 0; - return { - members: t.map(function (t) { - var o = (function (t) { - return i[t].BYTES_PER_ELEMENT; - })(t.type), - s = (r = n(r, Math.max(e, o))), - l = t.components || 1; - return ( - (a = Math.max(a, o)), - (r += o * l), - { name: t.name, type: t.type, components: l, offset: s } - ); - }), - size: n(r, Math.max(a, e)), - alignment: e, - }; - })); - }, - {}, - ], - 272: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = !1, - n = 0, - i = function () { - ((n = 0), r && (t(), (n = setTimeout(i, e)), (r = !1))); - }; - return function () { - return ((r = !0), n || i(), n); - }; - }; - }, - {}, - ], - 273: [ - function (t, e, r) { - function n(t, e) { - if (t.row > e.row) { - var r = t; - ((t = e), (e = r)); - } - return { - x0: t.column, - y0: t.row, - x1: e.column, - y1: e.row, - dx: e.column - t.column, - dy: e.row - t.row, - }; - } - function i(t, e, r, n, i) { - var a = Math.max(r, Math.floor(e.y0)), - o = Math.min(n, Math.ceil(e.y1)); - if ( - t.x0 === e.x0 && t.y0 === e.y0 - ? t.x0 + (e.dy / t.dy) * t.dx < e.x1 - : t.x1 - (e.dy / t.dy) * t.dx < e.x0 - ) { - var s = t; - ((t = e), (e = s)); - } - for ( - var l = t.dx / t.dy, - c = e.dx / e.dy, - u = t.dx > 0, - f = e.dx < 0, - h = a; - h < o; - h++ - ) { - var p = l * Math.max(0, Math.min(t.dy, h + u - t.y0)) + t.x0, - d = c * Math.max(0, Math.min(e.dy, h + f - e.y0)) + e.x0; - i(Math.floor(d), Math.ceil(p), h); - } - } - function a(t, e, r, a, o, s) { - var l, - c = n(t, e), - u = n(e, r), - f = n(r, t); - (c.dy > u.dy && ((l = c), (c = u), (u = l)), - c.dy > f.dy && ((l = c), (c = f), (f = l)), - u.dy > f.dy && ((l = u), (u = f), (f = l)), - c.dy && i(f, c, a, o, s), - u.dy && i(f, u, a, o, s)); - } - t("../geo/coordinate"); - var o = t("../source/tile_id").OverscaledTileID; - e.exports = function (t, e, r, n) { - function i(e, i, a) { - var c, u, f; - if (a >= 0 && a <= s) - for (c = e; c < i; c++) - (0 !== (u = Math.floor(c / s)) && !0 !== n) || - ((f = new o(r, u, t, ((c % s) + s) % s, a)), - (l[f.key] = f)); - } - void 0 === n && (n = !0); - var s = 1 << t, - l = {}; - return ( - a(e[0], e[1], e[2], 0, s, i), - a(e[2], e[3], e[0], 0, s, i), - Object.keys(l).map(function (t) { - return l[t]; - }) - ); - }; - }, - { "../geo/coordinate": 61, "../source/tile_id": 114 }, - ], - 274: [ - function (t, e, r) { - e.exports = function (t, e) { - return e.replace(/{([^{}]+)}/g, function (e, r) { - return r in t ? String(t[r]) : ""; - }); - }; - }, - {}, - ], - 275: [ - function (t, e, r) { - var n = t("@mapbox/unitbezier"), - i = t("../geo/coordinate"); - t("@mapbox/point-geometry"); - ((r.easeCubicInOut = function (t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var e = t * t, - r = e * t; - return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); - }), - (r.bezier = function (t, e, r, i) { - var a = new n(t, e, r, i); - return function (t) { - return a.solve(t); - }; - }), - (r.ease = r.bezier(0.25, 0.1, 0.25, 1)), - (r.clamp = function (t, e, r) { - return Math.min(r, Math.max(e, t)); - }), - (r.wrap = function (t, e, r) { - var n = r - e, - i = ((((t - e) % n) + n) % n) + e; - return i === e ? r : i; - }), - (r.asyncAll = function (t, e, r) { - if (!t.length) return r(null, []); - var n = t.length, - i = new Array(t.length), - a = null; - t.forEach(function (t, o) { - e(t, function (t, e) { - (t && (a = t), (i[o] = e), 0 == --n && r(a, i)); - }); - }); - }), - (r.values = function (t) { - var e = []; - for (var r in t) e.push(t[r]); - return e; - }), - (r.keysDifference = function (t, e) { - var r = []; - for (var n in t) n in e || r.push(n); - return r; - }), - (r.extend = function (t) { - for ( - var e = arguments, r = [], n = arguments.length - 1; - n-- > 0; - - ) - r[n] = e[n + 1]; - for (var i = 0, a = r; i < a.length; i += 1) { - var o = a[i]; - for (var s in o) t[s] = o[s]; - } - return t; - }), - (r.pick = function (t, e) { - for (var r = {}, n = 0; n < e.length; n++) { - var i = e[n]; - i in t && (r[i] = t[i]); - } - return r; - })); - var a = 1; - ((r.uniqueId = function () { - return a++; - }), - (r.bindAll = function (t, e) { - t.forEach(function (t) { - e[t] && (e[t] = e[t].bind(e)); - }); - }), - (r.getCoordinatesCenter = function (t) { - for ( - var e = 1 / 0, r = 1 / 0, n = -1 / 0, a = -1 / 0, o = 0; - o < t.length; - o++ - ) - ((e = Math.min(e, t[o].column)), - (r = Math.min(r, t[o].row)), - (n = Math.max(n, t[o].column)), - (a = Math.max(a, t[o].row))); - var s = n - e, - l = a - r, - c = Math.max(s, l), - u = Math.max(0, Math.floor(-Math.log(c) / Math.LN2)); - return new i((e + n) / 2, (r + a) / 2, 0).zoomTo(u); - }), - (r.endsWith = function (t, e) { - return -1 !== t.indexOf(e, t.length - e.length); - }), - (r.mapObject = function (t, e, r) { - var n = {}; - for (var i in t) n[i] = e.call(r || this, t[i], i, t); - return n; - }), - (r.filterObject = function (t, e, r) { - var n = {}; - for (var i in t) - e.call(r || this, t[i], i, t) && (n[i] = t[i]); - return n; - }), - (r.deepEqual = t("../style-spec/util/deep_equal")), - (r.clone = function (t) { - return Array.isArray(t) - ? t.map(r.clone) - : "object" == typeof t && t - ? r.mapObject(t, r.clone) - : t; - }), - (r.arraysIntersect = function (t, e) { - for (var r = 0; r < t.length; r++) - if (e.indexOf(t[r]) >= 0) return !0; - return !1; - })); - var o = {}; - ((r.warnOnce = function (t) { - o[t] || - ("undefined" != typeof console && console.warn(t), - (o[t] = !0)); - }), - (r.isCounterClockwise = function (t, e, r) { - return (r.y - t.y) * (e.x - t.x) > (e.y - t.y) * (r.x - t.x); - }), - (r.calculateSignedArea = function (t) { - for ( - var e = 0, - r = 0, - n = t.length, - i = n - 1, - a = void 0, - o = void 0; - r < n; - i = r++ - ) - ((a = t[r]), (e += ((o = t[i]).x - a.x) * (a.y + o.y))); - return e; - }), - (r.isClosedPolygon = function (t) { - if (t.length < 4) return !1; - var e = t[0], - n = t[t.length - 1]; - return ( - !(Math.abs(e.x - n.x) > 0 || Math.abs(e.y - n.y) > 0) && - Math.abs(r.calculateSignedArea(t)) > 0.01 - ); - }), - (r.sphericalToCartesian = function (t) { - var e = t[0], - r = t[1], - n = t[2]; - return ( - (r += 90), - (r *= Math.PI / 180), - (n *= Math.PI / 180), - { - x: e * Math.cos(r) * Math.sin(n), - y: e * Math.sin(r) * Math.sin(n), - z: e * Math.cos(n), - } - ); - }), - (r.parseCacheControl = function (t) { - var e = {}; - if ( - (t.replace( - /(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, - function (t, r, n, i) { - var a = n || i; - return ((e[r] = !a || a.toLowerCase()), ""); - }, - ), - e["max-age"]) - ) { - var r = parseInt(e["max-age"], 10); - isNaN(r) ? delete e["max-age"] : (e["max-age"] = r); - } - return e; - })); - }, - { - "../geo/coordinate": 61, - "../style-spec/util/deep_equal": 155, - "@mapbox/point-geometry": 4, - "@mapbox/unitbezier": 7, - }, - ], - 276: [ - function (t, e, r) { - var n = function (t, e, r, n) { - ((this.type = "Feature"), - (this._vectorTileFeature = t), - (t._z = e), - (t._x = r), - (t._y = n), - (this.properties = t.properties), - null != t.id && (this.id = t.id)); - }, - i = { geometry: {} }; - ((i.geometry.get = function () { - return ( - void 0 === this._geometry && - (this._geometry = this._vectorTileFeature.toGeoJSON( - this._vectorTileFeature._x, - this._vectorTileFeature._y, - this._vectorTileFeature._z, - ).geometry), - this._geometry - ); - }), - (i.geometry.set = function (t) { - this._geometry = t; - }), - (n.prototype.toJSON = function () { - var t = { geometry: this.geometry }; - for (var e in this) - "_geometry" !== e && - "_vectorTileFeature" !== e && - (t[e] = this[e]); - return t; - }), - Object.defineProperties(n.prototype, i), - (e.exports = n)); - }, - {}, - ], - 277: [ - function (t, e, r) { - var n = t("./script_detection"); - ((e.exports = function (t) { - for (var r = "", i = 0; i < t.length; i++) { - var a = t.charCodeAt(i + 1) || null, - o = t.charCodeAt(i - 1) || null; - (a && - n.charHasRotatedVerticalOrientation(a) && - !e.exports.lookup[t[i + 1]]) || - (o && - n.charHasRotatedVerticalOrientation(o) && - !e.exports.lookup[t[i - 1]]) || - !e.exports.lookup[t[i]] - ? (r += t[i]) - : (r += e.exports.lookup[t[i]]); - } - return r; - }), - (e.exports.lookup = { - "!": "\ufe15", - "#": "\uff03", - $: "\uff04", - "%": "\uff05", - "&": "\uff06", - "(": "\ufe35", - ")": "\ufe36", - "*": "\uff0a", - "+": "\uff0b", - ",": "\ufe10", - "-": "\ufe32", - ".": "\u30fb", - "/": "\uff0f", - ":": "\ufe13", - ";": "\ufe14", - "<": "\ufe3f", - "=": "\uff1d", - ">": "\ufe40", - "?": "\ufe16", - "@": "\uff20", - "[": "\ufe47", - "\\": "\uff3c", - "]": "\ufe48", - "^": "\uff3e", - _: "\ufe33", - "`": "\uff40", - "{": "\ufe37", - "|": "\u2015", - "}": "\ufe38", - "~": "\uff5e", - "\xa2": "\uffe0", - "\xa3": "\uffe1", - "\xa5": "\uffe5", - "\xa6": "\uffe4", - "\xac": "\uffe2", - "\xaf": "\uffe3", - "\u2013": "\ufe32", - "\u2014": "\ufe31", - "\u2018": "\ufe43", - "\u2019": "\ufe44", - "\u201c": "\ufe41", - "\u201d": "\ufe42", - "\u2026": "\ufe19", - "\u2027": "\u30fb", - "\u20a9": "\uffe6", - "\u3001": "\ufe11", - "\u3002": "\ufe12", - "\u3008": "\ufe3f", - "\u3009": "\ufe40", - "\u300a": "\ufe3d", - "\u300b": "\ufe3e", - "\u300c": "\ufe41", - "\u300d": "\ufe42", - "\u300e": "\ufe43", - "\u300f": "\ufe44", - "\u3010": "\ufe3b", - "\u3011": "\ufe3c", - "\u3014": "\ufe39", - "\u3015": "\ufe3a", - "\u3016": "\ufe17", - "\u3017": "\ufe18", - "\uff01": "\ufe15", - "\uff08": "\ufe35", - "\uff09": "\ufe36", - "\uff0c": "\ufe10", - "\uff0d": "\ufe32", - "\uff0e": "\u30fb", - "\uff1a": "\ufe13", - "\uff1b": "\ufe14", - "\uff1c": "\ufe3f", - "\uff1e": "\ufe40", - "\uff1f": "\ufe16", - "\uff3b": "\ufe47", - "\uff3d": "\ufe48", - "\uff3f": "\ufe33", - "\uff5b": "\ufe37", - "\uff5c": "\u2015", - "\uff5d": "\ufe38", - "\uff5f": "\ufe35", - "\uff60": "\ufe36", - "\uff61": "\ufe12", - "\uff62": "\ufe41", - "\uff63": "\ufe42", - })); - }, - { "./script_detection": 269 }, - ], - 278: [ - function (t, e, r) { - function n(t, e, r) { - (void 0 === r && (r = {}), - Object.defineProperty(e, "_classRegistryKey", { - value: t, - writeable: !1, - }), - (g[t] = { - klass: e, - omit: r.omit || [], - shallow: r.shallow || [], - })); - } - var i = t("grid-index"), - a = t("../style-spec/util/color"), - o = t("../style-spec/expression"), - s = o.StylePropertyFunction, - l = o.StyleExpression, - c = o.StyleExpressionWithErrorHandling, - u = o.ZoomDependentExpression, - f = o.ZoomConstantExpression, - h = t( - "../style-spec/expression/compound_expression", - ).CompoundExpression, - p = t("../style-spec/expression/definitions"), - d = t("./window").ImageData, - g = {}; - for (var m in (n("Object", Object), - (i.serialize = function (t, e) { - var r = t.toArrayBuffer(); - return (e && e.push(r), r); - }), - (i.deserialize = function (t) { - return new i(t); - }), - n("Grid", i), - n("Color", a), - n("StylePropertyFunction", s), - n("StyleExpression", l, { omit: ["_evaluator"] }), - n("StyleExpressionWithErrorHandling", c, { - omit: ["_evaluator"], - }), - n("ZoomDependentExpression", u), - n("ZoomConstantExpression", f), - n("CompoundExpression", h, { omit: ["_evaluate"] }), - p)) - p[m]._classRegistryKey || n("Expression_" + m, p[m]); - e.exports = { - register: n, - serialize: function t(e, r) { - if ( - null === e || - void 0 === e || - "boolean" == typeof e || - "number" == typeof e || - "string" == typeof e || - e instanceof Boolean || - e instanceof Number || - e instanceof String || - e instanceof Date || - e instanceof RegExp - ) - return e; - if (e instanceof ArrayBuffer) return (r && r.push(e), e); - if (ArrayBuffer.isView(e)) { - var n = e; - return (r && r.push(n.buffer), n); - } - if (e instanceof d) return (r && r.push(e.data.buffer), e); - if (Array.isArray(e)) { - for (var i = [], a = 0, o = e; a < o.length; a += 1) { - var s = o[a]; - i.push(t(s, r)); - } - return i; - } - if ("object" == typeof e) { - var l = e.constructor, - c = l._classRegistryKey; - if (!c) - throw new Error( - "can't serialize object of unregistered class", - ); - var u = {}; - if (l.serialize) u._serialized = l.serialize(e, r); - else - for (var f in e) - if ( - e.hasOwnProperty(f) && - !(g[c].omit.indexOf(f) >= 0) - ) { - var h = e[f]; - u[f] = g[c].shallow.indexOf(f) >= 0 ? h : t(h, r); - } - return { name: c, properties: u }; - } - throw new Error("can't serialize object of type " + typeof e); - }, - deserialize: function t(e) { - if ( - null === e || - void 0 === e || - "boolean" == typeof e || - "number" == typeof e || - "string" == typeof e || - e instanceof Boolean || - e instanceof Number || - e instanceof String || - e instanceof Date || - e instanceof RegExp || - e instanceof ArrayBuffer || - ArrayBuffer.isView(e) || - e instanceof d - ) - return e; - if (Array.isArray(e)) - return e.map(function (e) { - return t(e); - }); - if ("object" == typeof e) { - var r = e, - n = r.name, - i = r.properties; - if (!n) - throw new Error( - "can't deserialize object of anonymous class", - ); - var a = g[n].klass; - if (!a) - throw new Error( - "can't deserialize unregistered class " + n, - ); - if (a.deserialize) return a.deserialize(i._serialized); - for ( - var o = Object.create(a.prototype), - s = 0, - l = Object.keys(i); - s < l.length; - s += 1 - ) { - var c = l[s]; - o[c] = g[n].shallow.indexOf(c) >= 0 ? i[c] : t(i[c]); - } - return o; - } - throw new Error( - "can't deserialize object of type " + typeof e, - ); - }, - }; - }, - { - "../style-spec/expression": 139, - "../style-spec/expression/compound_expression": 123, - "../style-spec/expression/definitions": 131, - "../style-spec/util/color": 153, - "./window": 254, - "grid-index": 24, - }, - ], - 279: [ - function (t, e, r) { - var n = t("./web_worker"), - i = function () { - this.active = {}; - }; - ((i.prototype.acquire = function (e) { - if (!this.workers) { - var r = t("../").workerCount; - for (this.workers = []; this.workers.length < r; ) - this.workers.push(new n()); - } - return ((this.active[e] = !0), this.workers.slice()); - }), - (i.prototype.release = function (t) { - (delete this.active[t], - 0 === Object.keys(this.active).length && - (this.workers.forEach(function (t) { - t.terminate(); - }), - (this.workers = null))); - }), - (e.exports = i)); - }, - { "../": 73, "./web_worker": 253 }, - ], - }, - {}, - [73], - )(73); - }); - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - {}, - ], - 312: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = 1 << (t + 1), r = new Array(e), n = 0; n < e; ++n) - r[n] = a(t, n); - return r; - }; - var n = t("convex-hull"); - function i(t, e, r) { - for (var n = new Array(t), i = 0; i < t; ++i) - ((n[i] = 0), i === e && (n[i] += 0.5), i === r && (n[i] += 0.5)); - return n; - } - function a(t, e) { - if (0 === e || e === (1 << (t + 1)) - 1) return []; - for (var r = [], a = [], o = 0; o <= t; ++o) - if (e & (1 << o)) { - (r.push(i(t, o - 1, o - 1)), a.push(null)); - for (var s = 0; s <= t; ++s) - ~e & (1 << s) && (r.push(i(t, o - 1, s - 1)), a.push([o, s])); - } - var l = n(r), - c = []; - t: for (o = 0; o < l.length; ++o) { - var u = l[o], - f = []; - for (s = 0; s < u.length; ++s) { - if (!a[u[s]]) continue t; - f.push(a[u[s]].slice()); - } - c.push(f); - } - return c; - } - }, - { "convex-hull": 110 }, - ], - 313: [ - function (t, e, r) { - var n = t("./normalize"), - i = t("gl-mat4/create"), - a = t("gl-mat4/clone"), - o = t("gl-mat4/determinant"), - s = t("gl-mat4/invert"), - l = t("gl-mat4/transpose"), - c = { - length: t("gl-vec3/length"), - normalize: t("gl-vec3/normalize"), - dot: t("gl-vec3/dot"), - cross: t("gl-vec3/cross"), - }, - u = i(), - f = i(), - h = [0, 0, 0, 0], - p = [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - ], - d = [0, 0, 0]; - function g(t, e, r, n, i) { - ((t[0] = e[0] * n + r[0] * i), - (t[1] = e[1] * n + r[1] * i), - (t[2] = e[2] * n + r[2] * i)); - } - e.exports = function (t, e, r, i, m, v) { - if ( - (e || (e = [0, 0, 0]), - r || (r = [0, 0, 0]), - i || (i = [0, 0, 0]), - m || (m = [0, 0, 0, 1]), - v || (v = [0, 0, 0, 1]), - !n(u, t)) - ) - return !1; - if ( - (a(f, u), - (f[3] = 0), - (f[7] = 0), - (f[11] = 0), - (f[15] = 1), - Math.abs(o(f) < 1e-8)) - ) - return !1; - var y, - x, - b, - _, - w, - k, - M, - A = u[3], - T = u[7], - S = u[11], - C = u[12], - E = u[13], - L = u[14], - z = u[15]; - if (0 !== A || 0 !== T || 0 !== S) { - if (((h[0] = A), (h[1] = T), (h[2] = S), (h[3] = z), !s(f, f))) return !1; - (l(f, f), - (y = m), - (b = f), - (_ = (x = h)[0]), - (w = x[1]), - (k = x[2]), - (M = x[3]), - (y[0] = b[0] * _ + b[4] * w + b[8] * k + b[12] * M), - (y[1] = b[1] * _ + b[5] * w + b[9] * k + b[13] * M), - (y[2] = b[2] * _ + b[6] * w + b[10] * k + b[14] * M), - (y[3] = b[3] * _ + b[7] * w + b[11] * k + b[15] * M)); - } else ((m[0] = m[1] = m[2] = 0), (m[3] = 1)); - if ( - ((e[0] = C), - (e[1] = E), - (e[2] = L), - (function (t, e) { - ((t[0][0] = e[0]), - (t[0][1] = e[1]), - (t[0][2] = e[2]), - (t[1][0] = e[4]), - (t[1][1] = e[5]), - (t[1][2] = e[6]), - (t[2][0] = e[8]), - (t[2][1] = e[9]), - (t[2][2] = e[10])); - })(p, u), - (r[0] = c.length(p[0])), - c.normalize(p[0], p[0]), - (i[0] = c.dot(p[0], p[1])), - g(p[1], p[1], p[0], 1, -i[0]), - (r[1] = c.length(p[1])), - c.normalize(p[1], p[1]), - (i[0] /= r[1]), - (i[1] = c.dot(p[0], p[2])), - g(p[2], p[2], p[0], 1, -i[1]), - (i[2] = c.dot(p[1], p[2])), - g(p[2], p[2], p[1], 1, -i[2]), - (r[2] = c.length(p[2])), - c.normalize(p[2], p[2]), - (i[1] /= r[2]), - (i[2] /= r[2]), - c.cross(d, p[1], p[2]), - c.dot(p[0], d) < 0) - ) - for (var P = 0; P < 3; P++) - ((r[P] *= -1), (p[P][0] *= -1), (p[P][1] *= -1), (p[P][2] *= -1)); - return ( - (v[0] = 0.5 * Math.sqrt(Math.max(1 + p[0][0] - p[1][1] - p[2][2], 0))), - (v[1] = 0.5 * Math.sqrt(Math.max(1 - p[0][0] + p[1][1] - p[2][2], 0))), - (v[2] = 0.5 * Math.sqrt(Math.max(1 - p[0][0] - p[1][1] + p[2][2], 0))), - (v[3] = 0.5 * Math.sqrt(Math.max(1 + p[0][0] + p[1][1] + p[2][2], 0))), - p[2][1] > p[1][2] && (v[0] = -v[0]), - p[0][2] > p[2][0] && (v[1] = -v[1]), - p[1][0] > p[0][1] && (v[2] = -v[2]), - !0 - ); - }; - }, - { - "./normalize": 314, - "gl-mat4/clone": 224, - "gl-mat4/create": 225, - "gl-mat4/determinant": 226, - "gl-mat4/invert": 230, - "gl-mat4/transpose": 240, - "gl-vec3/cross": 280, - "gl-vec3/dot": 281, - "gl-vec3/length": 282, - "gl-vec3/normalize": 284, - }, - ], - 314: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = e[15]; - if (0 === r) return !1; - for (var n = 1 / r, i = 0; i < 16; i++) t[i] = e[i] * n; - return !0; - }; - }, - {}, - ], - 315: [ - function (t, e, r) { - var n = t("gl-vec3/lerp"), - i = t("mat4-recompose"), - a = t("mat4-decompose"), - o = t("gl-mat4/determinant"), - s = t("quat-slerp"), - l = f(), - c = f(), - u = f(); - function f() { - return { - translate: h(), - scale: h(1), - skew: h(), - perspective: [0, 0, 0, 1], - quaternion: [0, 0, 0, 1], - }; - } - function h(t) { - return [t || 0, t || 0, t || 0]; - } - e.exports = function (t, e, r, f) { - if (0 === o(e) || 0 === o(r)) return !1; - var h = a(e, l.translate, l.scale, l.skew, l.perspective, l.quaternion), - p = a(r, c.translate, c.scale, c.skew, c.perspective, c.quaternion); - return !( - !h || - !p || - (n(u.translate, l.translate, c.translate, f), - n(u.skew, l.skew, c.skew, f), - n(u.scale, l.scale, c.scale, f), - n(u.perspective, l.perspective, c.perspective, f), - s(u.quaternion, l.quaternion, c.quaternion, f), - i(t, u.translate, u.scale, u.skew, u.perspective, u.quaternion), - 0) - ); - }; - }, - { - "gl-mat4/determinant": 226, - "gl-vec3/lerp": 283, - "mat4-decompose": 313, - "mat4-recompose": 316, - "quat-slerp": 367, - }, - ], - 316: [ - function (t, e, r) { - var n = { - identity: t("gl-mat4/identity"), - translate: t("gl-mat4/translate"), - multiply: t("gl-mat4/multiply"), - create: t("gl-mat4/create"), - scale: t("gl-mat4/scale"), - fromRotationTranslation: t("gl-mat4/fromRotationTranslation"), - }, - i = (n.create(), n.create()); - e.exports = function (t, e, r, a, o, s) { - return ( - n.identity(t), - n.fromRotationTranslation(t, s, e), - (t[3] = o[0]), - (t[7] = o[1]), - (t[11] = o[2]), - (t[15] = o[3]), - n.identity(i), - 0 !== a[2] && ((i[9] = a[2]), n.multiply(t, t, i)), - 0 !== a[1] && ((i[9] = 0), (i[8] = a[1]), n.multiply(t, t, i)), - 0 !== a[0] && ((i[8] = 0), (i[4] = a[0]), n.multiply(t, t, i)), - n.scale(t, t, r), - t - ); - }; - }, - { - "gl-mat4/create": 225, - "gl-mat4/fromRotationTranslation": 228, - "gl-mat4/identity": 229, - "gl-mat4/multiply": 232, - "gl-mat4/scale": 238, - "gl-mat4/translate": 239, - }, - ], - 317: [ - function (t, e, r) { - "use strict"; - e.exports = - Math.log2 || - function (t) { - return Math.log(t) * Math.LOG2E; - }; - }, - {}, - ], - 318: [ - function (t, e, r) { - "use strict"; - var n = t("binary-search-bounds"), - i = t("mat4-interpolate"), - a = t("gl-mat4/invert"), - o = t("gl-mat4/rotateX"), - s = t("gl-mat4/rotateY"), - l = t("gl-mat4/rotateZ"), - c = t("gl-mat4/lookAt"), - u = t("gl-mat4/translate"), - f = (t("gl-mat4/scale"), t("gl-vec3/normalize")), - h = [0, 0, 0]; - function p(t) { - ((this._components = t.slice()), - (this._time = [0]), - (this.prevMatrix = t.slice()), - (this.nextMatrix = t.slice()), - (this.computedMatrix = t.slice()), - (this.computedInverse = t.slice()), - (this.computedEye = [0, 0, 0]), - (this.computedUp = [0, 0, 0]), - (this.computedCenter = [0, 0, 0]), - (this.computedRadius = [0]), - (this._limits = [-1 / 0, 1 / 0])); - } - e.exports = function (t) { - return new p( - (t = t || {}).matrix || [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], - ); - }; - var d = p.prototype; - ((d.recalcMatrix = function (t) { - var e = this._time, - r = n.le(e, t), - o = this.computedMatrix; - if (!(r < 0)) { - var s = this._components; - if (r === e.length - 1) - for (var l = 16 * r, c = 0; c < 16; ++c) o[c] = s[l++]; - else { - var u = e[r + 1] - e[r], - h = ((l = 16 * r), this.prevMatrix), - p = !0; - for (c = 0; c < 16; ++c) h[c] = s[l++]; - var d = this.nextMatrix; - for (c = 0; c < 16; ++c) ((d[c] = s[l++]), (p = p && h[c] === d[c])); - if (u < 1e-6 || p) for (c = 0; c < 16; ++c) o[c] = h[c]; - else i(o, h, d, (t - e[r]) / u); - } - var g = this.computedUp; - ((g[0] = o[1]), (g[1] = o[5]), (g[2] = o[9]), f(g, g)); - var m = this.computedInverse; - a(m, o); - var v = this.computedEye, - y = m[15]; - ((v[0] = m[12] / y), (v[1] = m[13] / y), (v[2] = m[14] / y)); - var x = this.computedCenter, - b = Math.exp(this.computedRadius[0]); - for (c = 0; c < 3; ++c) x[c] = v[c] - o[2 + 4 * c] * b; - } - }), - (d.idle = function (t) { - if (!(t < this.lastT())) { - for (var e = this._components, r = e.length - 16, n = 0; n < 16; ++n) - e.push(e[r++]); - this._time.push(t); - } - }), - (d.flush = function (t) { - var e = n.gt(this._time, t) - 2; - e < 0 || (this._time.splice(0, e), this._components.splice(0, 16 * e)); - }), - (d.lastT = function () { - return this._time[this._time.length - 1]; - }), - (d.lookAt = function (t, e, r, n) { - (this.recalcMatrix(t), - (e = e || this.computedEye), - (r = r || h), - (n = n || this.computedUp), - this.setMatrix(t, c(this.computedMatrix, e, r, n))); - for (var i = 0, a = 0; a < 3; ++a) i += Math.pow(r[a] - e[a], 2); - ((i = Math.log(Math.sqrt(i))), (this.computedRadius[0] = i)); - }), - (d.rotate = function (t, e, r, n) { - this.recalcMatrix(t); - var i = this.computedInverse; - (e && s(i, i, e), - r && o(i, i, r), - n && l(i, i, n), - this.setMatrix(t, a(this.computedMatrix, i))); - })); - var g = [0, 0, 0]; - ((d.pan = function (t, e, r, n) { - ((g[0] = -(e || 0)), - (g[1] = -(r || 0)), - (g[2] = -(n || 0)), - this.recalcMatrix(t)); - var i = this.computedInverse; - (u(i, i, g), this.setMatrix(t, a(i, i))); - }), - (d.translate = function (t, e, r, n) { - ((g[0] = e || 0), (g[1] = r || 0), (g[2] = n || 0), this.recalcMatrix(t)); - var i = this.computedMatrix; - (u(i, i, g), this.setMatrix(t, i)); - }), - (d.setMatrix = function (t, e) { - if (!(t < this.lastT())) { - this._time.push(t); - for (var r = 0; r < 16; ++r) this._components.push(e[r]); - } - }), - (d.setDistance = function (t, e) { - this.computedRadius[0] = e; - }), - (d.setDistanceLimits = function (t, e) { - var r = this._limits; - ((r[0] = t), (r[1] = e)); - }), - (d.getDistanceLimits = function (t) { - var e = this._limits; - return t ? ((t[0] = e[0]), (t[1] = e[1]), t) : e; - })); - }, - { - "binary-search-bounds": 72, - "gl-mat4/invert": 230, - "gl-mat4/lookAt": 231, - "gl-mat4/rotateX": 235, - "gl-mat4/rotateY": 236, - "gl-mat4/rotateZ": 237, - "gl-mat4/scale": 238, - "gl-mat4/translate": 239, - "gl-vec3/normalize": 284, - "mat4-interpolate": 315, - }, - ], - 319: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.length; - if (e < 3) { - for (var r = new Array(e), i = 0; i < e; ++i) r[i] = i; - return 2 === e && t[0][0] === t[1][0] && t[0][1] === t[1][1] ? [0] : r; - } - for (var a = new Array(e), i = 0; i < e; ++i) a[i] = i; - a.sort(function (e, r) { - var n = t[e][0] - t[r][0]; - return n || t[e][1] - t[r][1]; - }); - for (var o = [a[0], a[1]], s = [a[0], a[1]], i = 2; i < e; ++i) { - for ( - var l = a[i], c = t[l], u = o.length; - u > 1 && n(t[o[u - 2]], t[o[u - 1]], c) <= 0; - - ) - ((u -= 1), o.pop()); - for ( - o.push(l), u = s.length; - u > 1 && n(t[s[u - 2]], t[s[u - 1]], c) >= 0; - - ) - ((u -= 1), s.pop()); - s.push(l); - } - for ( - var r = new Array(s.length + o.length - 2), f = 0, i = 0, h = o.length; - i < h; - ++i - ) - r[f++] = o[i]; - for (var p = s.length - 2; p > 0; --p) r[f++] = s[p]; - return r; - }; - var n = t("robust-orientation")[3]; - }, - { "robust-orientation": 388 }, - ], - 320: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - e || ((e = t), (t = window)); - var r = 0, - i = 0, - a = 0, - o = { shift: !1, alt: !1, control: !1, meta: !1 }, - s = !1; - function l(t) { - var e = !1; - return ( - "altKey" in t && ((e = e || t.altKey !== o.alt), (o.alt = !!t.altKey)), - "shiftKey" in t && - ((e = e || t.shiftKey !== o.shift), (o.shift = !!t.shiftKey)), - "ctrlKey" in t && - ((e = e || t.ctrlKey !== o.control), (o.control = !!t.ctrlKey)), - "metaKey" in t && - ((e = e || t.metaKey !== o.meta), (o.meta = !!t.metaKey)), - e - ); - } - function c(t, s) { - var c = n.x(s), - u = n.y(s); - ("buttons" in s && (t = 0 | s.buttons), - (t !== r || c !== i || u !== a || l(s)) && - ((r = 0 | t), (i = c || 0), (a = u || 0), e && e(r, i, a, o))); - } - function u(t) { - c(0, t); - } - function f() { - (r || i || a || o.shift || o.alt || o.meta || o.control) && - ((i = a = 0), - (r = 0), - (o.shift = o.alt = o.control = o.meta = !1), - e && e(0, 0, 0, o)); - } - function h(t) { - l(t) && e && e(r, i, a, o); - } - function p(t) { - 0 === n.buttons(t) ? c(0, t) : c(r, t); - } - function d(t) { - c(r | n.buttons(t), t); - } - function g(t) { - c(r & ~n.buttons(t), t); - } - function m() { - s || - ((s = !0), - t.addEventListener("mousemove", p), - t.addEventListener("mousedown", d), - t.addEventListener("mouseup", g), - t.addEventListener("mouseleave", u), - t.addEventListener("mouseenter", u), - t.addEventListener("mouseout", u), - t.addEventListener("mouseover", u), - t.addEventListener("blur", f), - t.addEventListener("keyup", h), - t.addEventListener("keydown", h), - t.addEventListener("keypress", h), - t !== window && - (window.addEventListener("blur", f), - window.addEventListener("keyup", h), - window.addEventListener("keydown", h), - window.addEventListener("keypress", h))); - } - m(); - var v = { element: t }; - return ( - Object.defineProperties(v, { - enabled: { - get: function () { - return s; - }, - set: function (e) { - e - ? m() - : s && - ((s = !1), - t.removeEventListener("mousemove", p), - t.removeEventListener("mousedown", d), - t.removeEventListener("mouseup", g), - t.removeEventListener("mouseleave", u), - t.removeEventListener("mouseenter", u), - t.removeEventListener("mouseout", u), - t.removeEventListener("mouseover", u), - t.removeEventListener("blur", f), - t.removeEventListener("keyup", h), - t.removeEventListener("keydown", h), - t.removeEventListener("keypress", h), - t !== window && - (window.removeEventListener("blur", f), - window.removeEventListener("keyup", h), - window.removeEventListener("keydown", h), - window.removeEventListener("keypress", h))); - }, - enumerable: !0, - }, - buttons: { - get: function () { - return r; - }, - enumerable: !0, - }, - x: { - get: function () { - return i; - }, - enumerable: !0, - }, - y: { - get: function () { - return a; - }, - enumerable: !0, - }, - mods: { - get: function () { - return o; - }, - enumerable: !0, - }, - }), - v - ); - }; - var n = t("mouse-event"); - }, - { "mouse-event": 322 }, - ], - 321: [ - function (t, e, r) { - var n = { left: 0, top: 0 }; - e.exports = function (t, e, r) { - ((e = e || t.currentTarget || t.srcElement), - Array.isArray(r) || (r = [0, 0])); - var i = t.clientX || 0, - a = t.clientY || 0, - o = - ((s = e), - s === window || s === document || s === document.body - ? n - : s.getBoundingClientRect()); - var s; - return ((r[0] = i - o.left), (r[1] = a - o.top), r); - }; - }, - {}, - ], - 322: [ - function (t, e, r) { - "use strict"; - function n(t) { - return t.target || t.srcElement || window; - } - ((r.buttons = function (t) { - if ("object" == typeof t) { - if ("buttons" in t) return t.buttons; - if ("which" in t) { - if (2 === (e = t.which)) return 4; - if (3 === e) return 2; - if (e > 0) return 1 << (e - 1); - } else if ("button" in t) { - var e; - if (1 === (e = t.button)) return 4; - if (2 === e) return 2; - if (e >= 0) return 1 << e; - } - } - return 0; - }), - (r.element = n), - (r.x = function (t) { - if ("object" == typeof t) { - if ("offsetX" in t) return t.offsetX; - var e = n(t).getBoundingClientRect(); - return t.clientX - e.left; - } - return 0; - }), - (r.y = function (t) { - if ("object" == typeof t) { - if ("offsetY" in t) return t.offsetY; - var e = n(t).getBoundingClientRect(); - return t.clientY - e.top; - } - return 0; - })); - }, - {}, - ], - 323: [ - function (t, e, r) { - "use strict"; - var n = t("to-px"); - e.exports = function (t, e, r) { - "function" == typeof t && ((r = !!e), (e = t), (t = window)); - var i = n("ex", t), - a = function (t) { - r && t.preventDefault(); - var n = t.deltaX || 0, - a = t.deltaY || 0, - o = t.deltaZ || 0, - s = t.deltaMode, - l = 1; - switch (s) { - case 1: - l = i; - break; - case 2: - l = window.innerHeight; - } - if (((a *= l), (o *= l), (n *= l) || a || o)) return e(n, a, o, t); - }; - return (t.addEventListener("wheel", a), a); - }; - }, - { "to-px": 417 }, - ], - 324: [ - function (t, e, r) { - "use strict"; - var n = t("typedarray-pool"); - function i(t) { - return "a" + t; - } - function a(t) { - return "d" + t; - } - function o(t, e) { - return "c" + t + "_" + e; - } - function s(t) { - return "s" + t; - } - function l(t, e) { - return "t" + t + "_" + e; - } - function c(t) { - return "o" + t; - } - function u(t) { - return "x" + t; - } - function f(t) { - return "p" + t; - } - function h(t, e) { - return "d" + t + "_" + e; - } - function p(t) { - return "i" + t; - } - function d(t, e) { - return "u" + t + "_" + e; - } - function g(t) { - return "b" + t; - } - function m(t) { - return "y" + t; - } - function v(t) { - return "e" + t; - } - function y(t) { - return "v" + t; - } - e.exports = function (t) { - function e(t) { - throw new Error("ndarray-extract-contour: " + t); - } - "object" != typeof t && e("Must specify arguments"); - var r = t.order; - Array.isArray(r) || e("Must specify order"); - var T = t.arrayArguments || 1; - T < 1 && e("Must have at least one array argument"); - var S = t.scalarArguments || 0; - S < 0 && e("Scalar arg count must be > 0"); - "function" != typeof t.vertex && e("Must specify vertex creation function"); - "function" != typeof t.cell && e("Must specify cell creation function"); - "function" != typeof t.phase && e("Must specify phase function"); - for (var C = t.getters || [], E = new Array(T), L = 0; L < T; ++L) - C.indexOf(L) >= 0 ? (E[L] = !0) : (E[L] = !1); - return (function (t, e, r, T, S, C) { - var E = C.length, - L = S.length; - if (L < 2) - throw new Error( - "ndarray-extract-contour: Dimension must be at least 2", - ); - for ( - var z = "extractContour" + S.join("_"), P = [], D = [], O = [], I = 0; - I < E; - ++I - ) - O.push(i(I)); - for (var I = 0; I < T; ++I) O.push(u(I)); - for (var I = 0; I < L; ++I) - D.push(s(I) + "=" + i(0) + ".shape[" + I + "]|0"); - for (var I = 0; I < E; ++I) { - D.push(a(I) + "=" + i(I) + ".data", c(I) + "=" + i(I) + ".offset|0"); - for (var R = 0; R < L; ++R) - D.push(l(I, R) + "=" + i(I) + ".stride[" + R + "]|0"); - } - for (var I = 0; I < E; ++I) { - (D.push(f(I) + "=" + c(I)), D.push(o(I, 0))); - for (var R = 1; R < 1 << L; ++R) { - for (var B = [], F = 0; F < L; ++F) - R & (1 << F) && B.push("-" + l(I, F)); - (D.push(h(I, R) + "=(" + B.join("") + ")|0"), D.push(o(I, R) + "=0")); - } - } - for (var I = 0; I < E; ++I) - for (var R = 0; R < L; ++R) { - var N = [l(I, S[R])]; - (R > 0 && N.push(l(I, S[R - 1]) + "*" + s(S[R - 1])), - D.push(d(I, S[R]) + "=(" + N.join("-") + ")|0")); - } - for (var I = 0; I < L; ++I) D.push(p(I) + "=0"); - D.push(_ + "=0"); - for (var j = ["2"], I = L - 2; I >= 0; --I) j.push(s(S[I])); - (D.push( - w + "=(" + j.join("*") + ")|0", - b + "=mallocUint32(" + w + ")", - x + "=mallocUint32(" + w + ")", - k + "=0", - ), - D.push(g(0) + "=0")); - for (var R = 1; R < 1 << L; ++R) { - for (var V = [], U = [], F = 0; F < L; ++F) - (R & (1 << F) && - (0 === U.length ? V.push("1") : V.unshift(U.join("*"))), - U.push(s(S[F]))); - var q = ""; - V[0].indexOf(s(S[L - 2])) < 0 && (q = "-"); - var H = A(L, R, S); - D.push( - v(H) + "=(-" + V.join("-") + ")|0", - m(H) + "=(" + q + V.join("-") + ")|0", - g(H) + "=0", - ); - } - function G(t, e) { - P.push( - "for(", - p(S[t]), - "=", - e, - ";", - p(S[t]), - "<", - s(S[t]), - ";", - "++", - p(S[t]), - "){", - ); - } - function W(t) { - for (var e = 0; e < E; ++e) P.push(f(e), "+=", d(e, S[t]), ";"); - P.push("}"); - } - function Y() { - for (var t = 1; t < 1 << L; ++t) - P.push(M, "=", v(t), ";", v(t), "=", m(t), ";", m(t), "=", M, ";"); - } - (D.push(y(0) + "=0", M + "=0"), - (function t(e, r) { - if (e < 0) - return void (function (t) { - for (var e = 0; e < E; ++e) - C[e] - ? P.push(o(e, 0), "=", a(e), ".get(", f(e), ");") - : P.push(o(e, 0), "=", a(e), "[", f(e), "];"); - for (var r = [], e = 0; e < E; ++e) r.push(o(e, 0)); - for (var e = 0; e < T; ++e) r.push(u(e)); - P.push(g(0), "=", b, "[", k, "]=phase(", r.join(), ");"); - for (var n = 1; n < 1 << L; ++n) - P.push(g(n), "=", b, "[", k, "+", v(n), "];"); - for (var i = [], n = 1; n < 1 << L; ++n) - i.push("(" + g(0) + "!==" + g(n) + ")"); - P.push("if(", i.join("||"), "){"); - for (var s = [], e = 0; e < L; ++e) s.push(p(e)); - for (var e = 0; e < E; ++e) { - s.push(o(e, 0)); - for (var n = 1; n < 1 << L; ++n) - (C[e] - ? P.push( - o(e, n), - "=", - a(e), - ".get(", - f(e), - "+", - h(e, n), - ");", - ) - : P.push(o(e, n), "=", a(e), "[", f(e), "+", h(e, n), "];"), - s.push(o(e, n))); - } - for (var e = 0; e < 1 << L; ++e) s.push(g(e)); - for (var e = 0; e < T; ++e) s.push(u(e)); - P.push( - "vertex(", - s.join(), - ");", - y(0), - "=", - x, - "[", - k, - "]=", - _, - "++;", - ); - for (var l = (1 << L) - 1, c = g(l), n = 0; n < L; ++n) - if (0 == (t & ~(1 << n))) { - for ( - var d = l ^ (1 << n), m = g(d), w = [], M = d; - M > 0; - M = (M - 1) & d - ) - w.push(x + "[" + k + "+" + v(M) + "]"); - w.push(y(0)); - for (var M = 0; M < E; ++M) - 1 & n ? w.push(o(M, l), o(M, d)) : w.push(o(M, d), o(M, l)); - 1 & n ? w.push(c, m) : w.push(m, c); - for (var M = 0; M < T; ++M) w.push(u(M)); - P.push("if(", c, "!==", m, "){", "face(", w.join(), ")}"); - } - P.push("}", k, "+=1;"); - })(r); - !(function (t) { - for (var e = t - 1; e >= 0; --e) G(e, 0); - for (var r = [], e = 0; e < E; ++e) - C[e] - ? r.push(a(e) + ".get(" + f(e) + ")") - : r.push(a(e) + "[" + f(e) + "]"); - for (var e = 0; e < T; ++e) r.push(u(e)); - P.push(b, "[", k, "++]=phase(", r.join(), ");"); - for (var e = 0; e < t; ++e) W(e); - for (var n = 0; n < E; ++n) P.push(f(n), "+=", d(n, S[t]), ";"); - })(e); - P.push("if(", s(S[e]), ">0){", p(S[e]), "=1;"); - t(e - 1, r | (1 << S[e])); - for (var n = 0; n < E; ++n) P.push(f(n), "+=", d(n, S[e]), ";"); - e === L - 1 && (P.push(k, "=0;"), Y()); - G(e, 2); - t(e - 1, r); - e === L - 1 && (P.push("if(", p(S[L - 1]), "&1){", k, "=0;}"), Y()); - W(e); - P.push("}"); - })(L - 1, 0), - P.push("freeUint32(", x, ");freeUint32(", b, ");")); - var X = [ - "'use strict';", - "function ", - z, - "(", - O.join(), - "){", - "var ", - D.join(), - ";", - P.join(""), - "}", - "return ", - z, - ].join(""); - return new Function( - "vertex", - "face", - "phase", - "mallocUint32", - "freeUint32", - X, - )(t, e, r, n.mallocUint32, n.freeUint32); - })(t.vertex, t.cell, t.phase, S, r, E); - }; - var x = "V", - b = "P", - _ = "N", - w = "Q", - k = "X", - M = "T"; - function A(t, e, r) { - for (var n = 0, i = 0; i < t; ++i) e & (1 << i) && (n |= 1 << r[i]); - return n; - } - }, - { "typedarray-pool": 423 }, - ], - 325: [ - function (t, e, r) { - "use strict"; - var n = t("cwise/lib/wrapper")({ - args: ["index", "array", "scalar"], - pre: { body: "{}", args: [], thisVars: [], localVars: [] }, - body: { - body: "{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}", - args: [ - { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_1_arg1_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: [], - localVars: [], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - debug: !1, - funcName: "cwise", - blockSize: 64, - }); - e.exports = function (t, e) { - return (n(t, e), t); - }; - }, - { "cwise/lib/wrapper": 119 }, - ], - 326: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - if (Array.isArray(r)) { - if (r.length !== e.dimension) - throw new Error("ndarray-gradient: invalid boundary conditions"); - } else r = n(e.dimension, "string" == typeof r ? r : "clamp"); - if (t.dimension !== e.dimension + 1) - throw new Error( - "ndarray-gradient: output dimension must be +1 input dimension", - ); - if (t.shape[e.dimension] !== e.dimension) - throw new Error("ndarray-gradient: output shape must match input shape"); - for (var i = 0; i < e.dimension; ++i) - if (t.shape[i] !== e.shape[i]) - throw new Error("ndarray-gradient: shape mismatch"); - if (0 === e.size) return t; - if (e.dimension <= 0) return (t.set(0), t); - return (function (t) { - var e = t.join(); - if ((v = o[e])) return v; - var r = t.length, - n = ["function gradient(dst,src){var s=src.shape.slice();"]; - function i(e) { - for (var i = r - e.length, a = [], o = [], s = [], l = 0; l < r; ++l) - e.indexOf(l + 1) >= 0 - ? s.push("0") - : e.indexOf(-(l + 1)) >= 0 - ? s.push("s[" + l + "]-1") - : (s.push("-1"), a.push("1"), o.push("s[" + l + "]-2")); - var c = ".lo(" + a.join() + ").hi(" + o.join() + ")"; - if ((0 === a.length && (c = ""), i > 0)) { - n.push("if(1"); - for (var l = 0; l < r; ++l) - e.indexOf(l + 1) >= 0 || - e.indexOf(-(l + 1)) >= 0 || - n.push("&&s[", l, "]>2"); - n.push("){grad", i, "(src.pick(", s.join(), ")", c); - for (var l = 0; l < r; ++l) - e.indexOf(l + 1) >= 0 || - e.indexOf(-(l + 1)) >= 0 || - n.push(",dst.pick(", s.join(), ",", l, ")", c); - n.push(");"); - } - for (var l = 0; l < e.length; ++l) { - var u = Math.abs(e[l]) - 1, - f = "dst.pick(" + s.join() + "," + u + ")" + c; - switch (t[u]) { - case "clamp": - var h = s.slice(), - p = s.slice(); - (e[l] < 0 ? (h[u] = "s[" + u + "]-2") : (p[u] = "1"), - 0 === i - ? n.push( - "if(s[", - u, - "]>1){dst.set(", - s.join(), - ",", - u, - ",0.5*(src.get(", - h.join(), - ")-src.get(", - p.join(), - ")))}else{dst.set(", - s.join(), - ",", - u, - ",0)};", - ) - : n.push( - "if(s[", - u, - "]>1){diff(", - f, - ",src.pick(", - h.join(), - ")", - c, - ",src.pick(", - p.join(), - ")", - c, - ");}else{zero(", - f, - ");};", - )); - break; - case "mirror": - 0 === i - ? n.push("dst.set(", s.join(), ",", u, ",0);") - : n.push("zero(", f, ");"); - break; - case "wrap": - var d = s.slice(), - g = s.slice(); - (e[l] < 0 - ? ((d[u] = "s[" + u + "]-2"), (g[u] = "0")) - : ((d[u] = "s[" + u + "]-1"), (g[u] = "1")), - 0 === i - ? n.push( - "if(s[", - u, - "]>2){dst.set(", - s.join(), - ",", - u, - ",0.5*(src.get(", - d.join(), - ")-src.get(", - g.join(), - ")))}else{dst.set(", - s.join(), - ",", - u, - ",0)};", - ) - : n.push( - "if(s[", - u, - "]>2){diff(", - f, - ",src.pick(", - d.join(), - ")", - c, - ",src.pick(", - g.join(), - ")", - c, - ");}else{zero(", - f, - ");};", - )); - break; - default: - throw new Error("ndarray-gradient: Invalid boundary condition"); - } - } - i > 0 && n.push("};"); - } - for (var s = 0; s < 1 << r; ++s) { - for (var f = [], h = 0; h < r; ++h) s & (1 << h) && f.push(h + 1); - for (var p = 0; p < 1 << f.length; ++p) { - for (var d = f.slice(), h = 0; h < f.length; ++h) - p & (1 << h) && (d[h] = -d[h]); - i(d); - } - } - n.push("return dst;};return gradient"); - for (var g = ["diff", "zero"], m = [l, c], s = 1; s <= r; ++s) - (g.push("grad" + s), m.push(u(s))); - g.push(n.join("")); - var v = Function.apply(void 0, g).apply(void 0, m); - return ((a[e] = v), v); - })(r)(t, e); - }; - var n = t("dup"), - i = t("cwise-compiler"), - a = {}, - o = {}, - s = { body: "", args: [], thisVars: [], localVars: [] }, - l = i({ - args: ["array", "array", "array"], - pre: s, - post: s, - body: { - args: [ - { name: "out", lvalue: !0, rvalue: !1, count: 1 }, - { name: "left", lvalue: !1, rvalue: !0, count: 1 }, - { name: "right", lvalue: !1, rvalue: !0, count: 1 }, - ], - body: "out=0.5*(left-right)", - thisVars: [], - localVars: [], - }, - funcName: "cdiff", - }), - c = i({ - args: ["array"], - pre: s, - post: s, - body: { - args: [{ name: "out", lvalue: !0, rvalue: !1, count: 1 }], - body: "out=0", - thisVars: [], - localVars: [], - }, - funcName: "zero", - }); - function u(t) { - if (t in a) return a[t]; - for (var e = [], r = 0; r < t; ++r) - e.push("out", r, "s=0.5*(inp", r, "l-inp", r, "r);"); - var o = ["array"], - l = ["junk"]; - for (r = 0; r < t; ++r) { - (o.push("array"), l.push("out" + r + "s")); - var c = n(t); - ((c[r] = -1), - o.push({ array: 0, offset: c.slice() }), - (c[r] = 1), - o.push({ array: 0, offset: c.slice() }), - l.push("inp" + r + "l", "inp" + r + "r")); - } - return (a[t] = i({ - args: o, - pre: s, - post: s, - body: { - body: e.join(""), - args: l.map(function (t) { - return { - name: t, - lvalue: 0 === t.indexOf("out"), - rvalue: 0 === t.indexOf("inp"), - count: ("junk" !== t) | 0, - }; - }), - thisVars: [], - localVars: [], - }, - funcName: "fdTemplate" + t, - })); - } - }, - { "cwise-compiler": 116, dup: 136 }, - ], - 327: [ - function (t, e, r) { - "use strict"; - var n = t("ndarray-warp"), - i = t("gl-matrix-invert"); - e.exports = function (t, e, r) { - var a = e.dimension, - o = i([], r); - return ( - n(t, e, function (t, e) { - for (var r = 0; r < a; ++r) { - t[r] = o[(a + 1) * a + r]; - for (var n = 0; n < a; ++n) t[r] += o[(a + 1) * n + r] * e[n]; - } - var i = o[(a + 1) * (a + 1) - 1]; - for (n = 0; n < a; ++n) i += o[(a + 1) * n + a] * e[n]; - var s = 1 / i; - for (r = 0; r < a; ++r) t[r] *= s; - return t; - }), - t - ); - }; - }, - { "gl-matrix-invert": 241, "ndarray-warp": 334 }, - ], - 328: [ - function (t, e, r) { - "use strict"; - function n(t, e) { - var r = Math.floor(e), - n = e - r, - i = 0 <= r && r < t.shape[0], - a = 0 <= r + 1 && r + 1 < t.shape[0]; - return (1 - n) * (i ? +t.get(r) : 0) + n * (a ? +t.get(r + 1) : 0); - } - function i(t, e, r) { - var n = Math.floor(e), - i = e - n, - a = 0 <= n && n < t.shape[0], - o = 0 <= n + 1 && n + 1 < t.shape[0], - s = Math.floor(r), - l = r - s, - c = 0 <= s && s < t.shape[1], - u = 0 <= s + 1 && s + 1 < t.shape[1], - f = a && c ? t.get(n, s) : 0, - h = a && u ? t.get(n, s + 1) : 0; - return ( - (1 - l) * ((1 - i) * f + i * (o && c ? t.get(n + 1, s) : 0)) + - l * ((1 - i) * h + i * (o && u ? t.get(n + 1, s + 1) : 0)) - ); - } - function a(t, e, r, n) { - var i = Math.floor(e), - a = e - i, - o = 0 <= i && i < t.shape[0], - s = 0 <= i + 1 && i + 1 < t.shape[0], - l = Math.floor(r), - c = r - l, - u = 0 <= l && l < t.shape[1], - f = 0 <= l + 1 && l + 1 < t.shape[1], - h = Math.floor(n), - p = n - h, - d = 0 <= h && h < t.shape[2], - g = 0 <= h + 1 && h + 1 < t.shape[2], - m = o && u && d ? t.get(i, l, h) : 0, - v = o && f && d ? t.get(i, l + 1, h) : 0, - y = s && u && d ? t.get(i + 1, l, h) : 0, - x = s && f && d ? t.get(i + 1, l + 1, h) : 0, - b = o && u && g ? t.get(i, l, h + 1) : 0, - _ = o && f && g ? t.get(i, l + 1, h + 1) : 0; - return ( - (1 - p) * ((1 - c) * ((1 - a) * m + a * y) + c * ((1 - a) * v + a * x)) + - p * - ((1 - c) * - ((1 - a) * b + a * (s && u && g ? t.get(i + 1, l, h + 1) : 0)) + - c * - ((1 - a) * _ + a * (s && f && g ? t.get(i + 1, l + 1, h + 1) : 0))) - ); - } - ((e.exports = function (t, e, r, o) { - switch (t.shape.length) { - case 0: - return 0; - case 1: - return n(t, e); - case 2: - return i(t, e, r); - case 3: - return a(t, e, r, o); - default: - return function (t) { - var e, - r, - n = 0 | t.shape.length, - i = new Array(n), - a = new Array(n), - o = new Array(n), - s = new Array(n); - for (e = 0; e < n; ++e) - ((r = +arguments[e + 1]), - (i[e] = Math.floor(r)), - (a[e] = r - i[e]), - (o[e] = 0 <= i[e] && i[e] < t.shape[e]), - (s[e] = 0 <= i[e] + 1 && i[e] + 1 < t.shape[e])); - var l, - c, - u, - f = 0; - t: for (e = 0; e < 1 << n; ++e) { - for (c = 1, u = t.offset, l = 0; l < n; ++l) - if (e & (1 << l)) { - if (!s[l]) continue t; - ((c *= a[l]), (u += t.stride[l] * (i[l] + 1))); - } else { - if (!o[l]) continue t; - ((c *= 1 - a[l]), (u += t.stride[l] * i[l])); - } - f += c * t.data[u]; - } - return f; - }.apply(void 0, arguments); - } - }), - (e.exports.d1 = n), - (e.exports.d2 = i), - (e.exports.d3 = a)); - }, - {}, - ], - 329: [ - function (t, e, r) { - "use strict"; - var n = t("cwise-compiler"), - i = { body: "", args: [], thisVars: [], localVars: [] }; - function a(t) { - if (!t) return i; - for (var e = 0; e < t.args.length; ++e) { - var r = t.args[e]; - t.args[e] = - 0 === e - ? { name: r, lvalue: !0, rvalue: !!t.rvalue, count: t.count || 1 } - : { name: r, lvalue: !1, rvalue: !0, count: 1 }; - } - return ( - t.thisVars || (t.thisVars = []), - t.localVars || (t.localVars = []), - t - ); - } - function o(t) { - for (var e = [], r = 0; r < t.args.length; ++r) e.push("a" + r); - return new Function( - "P", - [ - "return function ", - t.funcName, - "_ndarrayops(", - e.join(","), - ") {P(", - e.join(","), - ");return a0}", - ].join(""), - )( - (function (t) { - return n({ - args: t.args, - pre: a(t.pre), - body: a(t.body), - post: a(t.proc), - funcName: t.funcName, - }); - })(t), - ); - } - var s = { - add: "+", - sub: "-", - mul: "*", - div: "/", - mod: "%", - band: "&", - bor: "|", - bxor: "^", - lshift: "<<", - rshift: ">>", - rrshift: ">>>", - }; - !(function () { - for (var t in s) { - var e = s[t]; - ((r[t] = o({ - args: ["array", "array", "array"], - body: { args: ["a", "b", "c"], body: "a=b" + e + "c" }, - funcName: t, - })), - (r[t + "eq"] = o({ - args: ["array", "array"], - body: { args: ["a", "b"], body: "a" + e + "=b" }, - rvalue: !0, - funcName: t + "eq", - })), - (r[t + "s"] = o({ - args: ["array", "array", "scalar"], - body: { args: ["a", "b", "s"], body: "a=b" + e + "s" }, - funcName: t + "s", - })), - (r[t + "seq"] = o({ - args: ["array", "scalar"], - body: { args: ["a", "s"], body: "a" + e + "=s" }, - rvalue: !0, - funcName: t + "seq", - }))); - } - })(); - var l = { not: "!", bnot: "~", neg: "-", recip: "1.0/" }; - !(function () { - for (var t in l) { - var e = l[t]; - ((r[t] = o({ - args: ["array", "array"], - body: { args: ["a", "b"], body: "a=" + e + "b" }, - funcName: t, - })), - (r[t + "eq"] = o({ - args: ["array"], - body: { args: ["a"], body: "a=" + e + "a" }, - rvalue: !0, - count: 2, - funcName: t + "eq", - }))); - } - })(); - var c = { - and: "&&", - or: "||", - eq: "===", - neq: "!==", - lt: "<", - gt: ">", - leq: "<=", - geq: ">=", - }; - !(function () { - for (var t in c) { - var e = c[t]; - ((r[t] = o({ - args: ["array", "array", "array"], - body: { args: ["a", "b", "c"], body: "a=b" + e + "c" }, - funcName: t, - })), - (r[t + "s"] = o({ - args: ["array", "array", "scalar"], - body: { args: ["a", "b", "s"], body: "a=b" + e + "s" }, - funcName: t + "s", - })), - (r[t + "eq"] = o({ - args: ["array", "array"], - body: { args: ["a", "b"], body: "a=a" + e + "b" }, - rvalue: !0, - count: 2, - funcName: t + "eq", - })), - (r[t + "seq"] = o({ - args: ["array", "scalar"], - body: { args: ["a", "s"], body: "a=a" + e + "s" }, - rvalue: !0, - count: 2, - funcName: t + "seq", - }))); - } - })(); - var u = [ - "abs", - "acos", - "asin", - "atan", - "ceil", - "cos", - "exp", - "floor", - "log", - "round", - "sin", - "sqrt", - "tan", - ]; - !(function () { - for (var t = 0; t < u.length; ++t) { - var e = u[t]; - ((r[e] = o({ - args: ["array", "array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { args: ["a", "b"], body: "a=this_f(b)", thisVars: ["this_f"] }, - funcName: e, - })), - (r[e + "eq"] = o({ - args: ["array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { args: ["a"], body: "a=this_f(a)", thisVars: ["this_f"] }, - rvalue: !0, - count: 2, - funcName: e + "eq", - }))); - } - })(); - var f = ["max", "min", "atan2", "pow"]; - !(function () { - for (var t = 0; t < f.length; ++t) { - var e = f[t]; - ((r[e] = o({ - args: ["array", "array", "array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b", "c"], - body: "a=this_f(b,c)", - thisVars: ["this_f"], - }, - funcName: e, - })), - (r[e + "s"] = o({ - args: ["array", "array", "scalar"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b", "c"], - body: "a=this_f(b,c)", - thisVars: ["this_f"], - }, - funcName: e + "s", - })), - (r[e + "eq"] = o({ - args: ["array", "array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b"], - body: "a=this_f(a,b)", - thisVars: ["this_f"], - }, - rvalue: !0, - count: 2, - funcName: e + "eq", - })), - (r[e + "seq"] = o({ - args: ["array", "scalar"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b"], - body: "a=this_f(a,b)", - thisVars: ["this_f"], - }, - rvalue: !0, - count: 2, - funcName: e + "seq", - }))); - } - })(); - var h = ["atan2", "pow"]; - (!(function () { - for (var t = 0; t < h.length; ++t) { - var e = h[t]; - ((r[e + "op"] = o({ - args: ["array", "array", "array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b", "c"], - body: "a=this_f(c,b)", - thisVars: ["this_f"], - }, - funcName: e + "op", - })), - (r[e + "ops"] = o({ - args: ["array", "array", "scalar"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b", "c"], - body: "a=this_f(c,b)", - thisVars: ["this_f"], - }, - funcName: e + "ops", - })), - (r[e + "opeq"] = o({ - args: ["array", "array"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b"], - body: "a=this_f(b,a)", - thisVars: ["this_f"], - }, - rvalue: !0, - count: 2, - funcName: e + "opeq", - })), - (r[e + "opseq"] = o({ - args: ["array", "scalar"], - pre: { args: [], body: "this_f=Math." + e, thisVars: ["this_f"] }, - body: { - args: ["a", "b"], - body: "a=this_f(b,a)", - thisVars: ["this_f"], - }, - rvalue: !0, - count: 2, - funcName: e + "opseq", - }))); - } - })(), - (r.any = n({ - args: ["array"], - pre: i, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], - body: "if(a){return true}", - localVars: [], - thisVars: [], - }, - post: { args: [], localVars: [], thisVars: [], body: "return false" }, - funcName: "any", - })), - (r.all = n({ - args: ["array"], - pre: i, - body: { - args: [{ name: "x", lvalue: !1, rvalue: !0, count: 1 }], - body: "if(!x){return false}", - localVars: [], - thisVars: [], - }, - post: { args: [], localVars: [], thisVars: [], body: "return true" }, - funcName: "all", - })), - (r.sum = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], - body: "this_s+=a", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return this_s", - }, - funcName: "sum", - })), - (r.prod = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=1" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 1 }], - body: "this_s*=a", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return this_s", - }, - funcName: "prod", - })), - (r.norm2squared = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 2 }], - body: "this_s+=a*a", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return this_s", - }, - funcName: "norm2squared", - })), - (r.norm2 = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 2 }], - body: "this_s+=a*a", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return Math.sqrt(this_s)", - }, - funcName: "norm2", - })), - (r.norminf = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 4 }], - body: "if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return this_s", - }, - funcName: "norminf", - })), - (r.norm1 = n({ - args: ["array"], - pre: { args: [], localVars: [], thisVars: ["this_s"], body: "this_s=0" }, - body: { - args: [{ name: "a", lvalue: !1, rvalue: !0, count: 3 }], - body: "this_s+=a<0?-a:a", - localVars: [], - thisVars: ["this_s"], - }, - post: { - args: [], - localVars: [], - thisVars: ["this_s"], - body: "return this_s", - }, - funcName: "norm1", - })), - (r.sup = n({ - args: ["array"], - pre: { - body: "this_h=-Infinity", - args: [], - thisVars: ["this_h"], - localVars: [], - }, - body: { - body: "if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_", - args: [{ name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 2 }], - thisVars: ["this_h"], - localVars: [], - }, - post: { - body: "return this_h", - args: [], - thisVars: ["this_h"], - localVars: [], - }, - })), - (r.inf = n({ - args: ["array"], - pre: { - body: "this_h=Infinity", - args: [], - thisVars: ["this_h"], - localVars: [], - }, - body: { - body: "if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}", - args: [ - { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 2 }, - { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 2 }, - ], - thisVars: ["this_i", "this_v"], - localVars: ["_inline_1_k"], - }, - post: { - body: "{return this_i}", - args: [], - thisVars: ["this_i"], - localVars: [], - }, - })), - (r.random = o({ - args: ["array"], - pre: { args: [], body: "this_f=Math.random", thisVars: ["this_f"] }, - body: { args: ["a"], body: "a=this_f()", thisVars: ["this_f"] }, - funcName: "random", - })), - (r.assign = o({ - args: ["array", "array"], - body: { args: ["a", "b"], body: "a=b" }, - funcName: "assign", - })), - (r.assigns = o({ - args: ["array", "scalar"], - body: { args: ["a", "b"], body: "a=b" }, - funcName: "assigns", - })), - (r.equals = n({ - args: ["array", "array"], - pre: i, - body: { - args: [ - { name: "x", lvalue: !1, rvalue: !0, count: 1 }, - { name: "y", lvalue: !1, rvalue: !0, count: 1 }, - ], - body: "if(x!==y){return false}", - localVars: [], - thisVars: [], - }, - post: { args: [], localVars: [], thisVars: [], body: "return true" }, - funcName: "equals", - }))); - }, - { "cwise-compiler": 116 }, - ], - 330: [ - function (t, e, r) { - "use strict"; - var n = t("ndarray"), - i = t("./doConvert.js"); - e.exports = function (t, e) { - for (var r = [], a = t, o = 1; Array.isArray(a); ) - (r.push(a.length), (o *= a.length), (a = a[0])); - return 0 === r.length - ? n() - : (e || (e = n(new Float64Array(o), r)), i(e, t), e); - }; - }, - { "./doConvert.js": 331, ndarray: 335 }, - ], - 331: [ - function (t, e, r) { - e.exports = t("cwise-compiler")({ - args: ["array", "scalar", "index"], - pre: { body: "{}", args: [], thisVars: [], localVars: [] }, - body: { - body: "{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}", - args: [ - { name: "_inline_1_arg0_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 4 }, - ], - thisVars: [], - localVars: ["_inline_1_i", "_inline_1_v"], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - funcName: "convert", - blockSize: 64, - }); - }, - { "cwise-compiler": 116 }, - ], - 332: [ - function (t, e, r) { - "use strict"; - var n = t("typedarray-pool"), - i = 32; - function a(t) { - switch (t) { - case "uint8": - return [n.mallocUint8, n.freeUint8]; - case "uint16": - return [n.mallocUint16, n.freeUint16]; - case "uint32": - return [n.mallocUint32, n.freeUint32]; - case "int8": - return [n.mallocInt8, n.freeInt8]; - case "int16": - return [n.mallocInt16, n.freeInt16]; - case "int32": - return [n.mallocInt32, n.freeInt32]; - case "float32": - return [n.mallocFloat, n.freeFloat]; - case "float64": - return [n.mallocDouble, n.freeDouble]; - default: - return null; - } - } - function o(t) { - for (var e = [], r = 0; r < t; ++r) e.push("s" + r); - for (r = 0; r < t; ++r) e.push("n" + r); - for (r = 1; r < t; ++r) e.push("d" + r); - for (r = 1; r < t; ++r) e.push("e" + r); - for (r = 1; r < t; ++r) e.push("f" + r); - return e; - } - e.exports = function (t, e) { - var r = ["'use strict'"], - n = ["ndarraySortWrapper", t.join("d"), e].join(""); - r.push(["function ", n, "(", ["array"].join(","), "){"].join("")); - for ( - var s = [ - "data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride", - ], - l = 0; - l < t.length; - ++l - ) - s.push(["s", l, "=stride[", l, "]|0,n", l, "=shape[", l, "]|0"].join("")); - var c = new Array(t.length), - u = []; - for (l = 0; l < t.length; ++l) - 0 !== (p = t[l]) && - (0 === u.length ? (c[p] = "1") : (c[p] = u.join("*")), u.push("n" + p)); - var f = -1, - h = -1; - for (l = 0; l < t.length; ++l) { - var p, - d = t[l]; - (0 !== d && - (f > 0 - ? s.push(["d", d, "=s", d, "-d", f, "*n", f].join("")) - : s.push(["d", d, "=s", d].join("")), - (f = d)), - 0 != (p = t.length - 1 - l) && - (h > 0 - ? s.push( - [ - "e", - p, - "=s", - p, - "-e", - h, - "*n", - h, - ",f", - p, - "=", - c[p], - "-f", - h, - "*n", - h, - ].join(""), - ) - : s.push(["e", p, "=s", p, ",f", p, "=", c[p]].join("")), - (h = p))); - } - r.push("var " + s.join(",")); - var g = ["0", "n0-1", "data", "offset"].concat(o(t.length)); - (r.push( - [ - "if(n0<=", - i, - "){", - "insertionSort(", - g.join(","), - ")}else{", - "quickSort(", - g.join(","), - ")}", - ].join(""), - ), - r.push("}return " + n)); - var m = new Function("insertionSort", "quickSort", r.join("\n")), - v = (function (t, e) { - var r = ["'use strict'"], - n = ["ndarrayInsertionSort", t.join("d"), e].join(""), - i = ["left", "right", "data", "offset"].concat(o(t.length)), - s = a(e), - l = ["i,j,cptr,ptr=left*s0+offset"]; - if (t.length > 1) { - for (var c = [], u = 1; u < t.length; ++u) - (l.push("i" + u), c.push("n" + u)); - (s - ? l.push("scratch=malloc(" + c.join("*") + ")") - : l.push("scratch=new Array(" + c.join("*") + ")"), - l.push("dptr", "sptr", "a", "b")); - } else l.push("scratch"); - function f(t) { - return "generic" === e - ? ["data.get(", t, ")"].join("") - : ["data[", t, "]"].join(""); - } - function h(t, r) { - return "generic" === e - ? ["data.set(", t, ",", r, ")"].join("") - : ["data[", t, "]=", r].join(""); - } - if ( - (r.push( - ["function ", n, "(", i.join(","), "){var ", l.join(",")].join(""), - "for(i=left+1;i<=right;++i){", - "j=i;ptr+=s0", - "cptr=ptr", - ), - t.length > 1) - ) { - for (r.push("dptr=0;sptr=ptr"), u = t.length - 1; u >= 0; --u) - 0 !== (p = t[u]) && - r.push( - ["for(i", p, "=0;i", p, "b){break __l}", - ].join(""), - ), - u = t.length - 1; - u >= 1; - --u - ) - r.push("sptr+=e" + u, "dptr+=f" + u, "}"); - for (r.push("dptr=cptr;sptr=cptr-s0"), u = t.length - 1; u >= 0; --u) - 0 !== (p = t[u]) && - r.push( - ["for(i", p, "=0;i", p, "= 0; - --u - ) - 0 !== (p = t[u]) && - r.push( - ["for(i", p, "=0;i", p, "scratch)){", - h("cptr", f("cptr-s0")), - "cptr-=s0", - "}", - h("cptr", "scratch"), - ); - return ( - r.push("}"), - t.length > 1 && s && r.push("free(scratch)"), - r.push("} return " + n), - s - ? new Function("malloc", "free", r.join("\n"))(s[0], s[1]) - : new Function(r.join("\n"))() - ); - })(t, e); - return m( - v, - (function (t, e, r) { - var n = ["'use strict'"], - s = ["ndarrayQuickSort", t.join("d"), e].join(""), - l = ["left", "right", "data", "offset"].concat(o(t.length)), - c = a(e), - u = 0; - n.push(["function ", s, "(", l.join(","), "){"].join("")); - var f = [ - "sixth=((right-left+1)/6)|0", - "index1=left+sixth", - "index5=right-sixth", - "index3=(left+right)>>1", - "index2=index3-sixth", - "index4=index3+sixth", - "el1=index1", - "el2=index2", - "el3=index3", - "el4=index4", - "el5=index5", - "less=left+1", - "great=right-1", - "pivots_are_equal=true", - "tmp", - "tmp0", - "x", - "y", - "z", - "k", - "ptr0", - "ptr1", - "ptr2", - "comp_pivot1=0", - "comp_pivot2=0", - "comp=0", - ]; - if (t.length > 1) { - for (var h = [], p = 1; p < t.length; ++p) - (h.push("n" + p), f.push("i" + p)); - for (p = 0; p < 8; ++p) f.push("b_ptr" + p); - (f.push( - "ptr3", - "ptr4", - "ptr5", - "ptr6", - "ptr7", - "pivot_ptr", - "ptr_shift", - "elementSize=" + h.join("*"), - ), - c - ? f.push( - "pivot1=malloc(elementSize)", - "pivot2=malloc(elementSize)", - ) - : f.push( - "pivot1=new Array(elementSize),pivot2=new Array(elementSize)", - )); - } else f.push("pivot1", "pivot2"); - function d(t) { - return ["(offset+", t, "*s0)"].join(""); - } - function g(t) { - return "generic" === e - ? ["data.get(", t, ")"].join("") - : ["data[", t, "]"].join(""); - } - function m(t, r) { - return "generic" === e - ? ["data.set(", t, ",", r, ")"].join("") - : ["data[", t, "]=", r].join(""); - } - function v(e, r, i) { - if (1 === e.length) n.push("ptr0=" + d(e[0])); - else - for (var a = 0; a < e.length; ++a) - n.push(["b_ptr", a, "=s0*", e[a]].join("")); - for ( - r && n.push("pivot_ptr=0"), - n.push("ptr_shift=offset"), - a = t.length - 1; - a >= 0; - --a - ) - 0 !== (o = t[a]) && - n.push( - ["for(i", o, "=0;i", o, " 1) - for (a = 0; a < e.length; ++a) - n.push(["ptr", a, "=b_ptr", a, "+ptr_shift"].join("")); - for ( - n.push(i), r && n.push("++pivot_ptr"), a = 0; - a < t.length; - ++a - ) { - var o; - 0 !== (o = t[a]) && - (e.length > 1 - ? n.push("ptr_shift+=d" + o) - : n.push("ptr0+=d" + o), - n.push("}")); - } - } - function y(e, r, i, a) { - if (1 === r.length) n.push("ptr0=" + d(r[0])); - else { - for (var o = 0; o < r.length; ++o) - n.push(["b_ptr", o, "=s0*", r[o]].join("")); - n.push("ptr_shift=offset"); - } - for ( - i && n.push("pivot_ptr=0"), e && n.push(e + ":"), o = 1; - o < t.length; - ++o - ) - n.push(["for(i", o, "=0;i", o, " 1) - for (o = 0; o < r.length; ++o) - n.push(["ptr", o, "=b_ptr", o, "+ptr_shift"].join("")); - for (n.push(a), o = t.length - 1; o >= 1; --o) - (i && n.push("pivot_ptr+=f" + o), - r.length > 1 ? n.push("ptr_shift+=e" + o) : n.push("ptr0+=e" + o), - n.push("}")); - } - function x() { - t.length > 1 && c && n.push("free(pivot1)", "free(pivot2)"); - } - function b(e, r) { - var i = "el" + e, - a = "el" + r; - if (t.length > 1) { - var o = "__l" + ++u; - y( - o, - [i, a], - !1, - [ - "comp=", - g("ptr0"), - "-", - g("ptr1"), - "\n", - "if(comp>0){tmp0=", - i, - ";", - i, - "=", - a, - ";", - a, - "=tmp0;break ", - o, - "}\n", - "if(comp<0){break ", - o, - "}", - ].join(""), - ); - } else - n.push( - [ - "if(", - g(d(i)), - ">", - g(d(a)), - "){tmp0=", - i, - ";", - i, - "=", - a, - ";", - a, - "=tmp0}", - ].join(""), - ); - } - function _(e, r) { - t.length > 1 - ? v([e, r], !1, m("ptr0", g("ptr1"))) - : n.push(m(d(e), g(d(r)))); - } - function w(e, r, i) { - if (t.length > 1) { - var a = "__l" + ++u; - y( - a, - [r], - !0, - [ - e, - "=", - g("ptr0"), - "-pivot", - i, - "[pivot_ptr]\n", - "if(", - e, - "!==0){break ", - a, - "}", - ].join(""), - ); - } else n.push([e, "=", g(d(r)), "-pivot", i].join("")); - } - function k(e, r) { - t.length > 1 - ? v( - [e, r], - !1, - [ - "tmp=", - g("ptr0"), - "\n", - m("ptr0", g("ptr1")), - "\n", - m("ptr1", "tmp"), - ].join(""), - ) - : n.push( - [ - "ptr0=", - d(e), - "\n", - "ptr1=", - d(r), - "\n", - "tmp=", - g("ptr0"), - "\n", - m("ptr0", g("ptr1")), - "\n", - m("ptr1", "tmp"), - ].join(""), - ); - } - function M(e, r, i) { - t.length > 1 - ? (v( - [e, r, i], - !1, - [ - "tmp=", - g("ptr0"), - "\n", - m("ptr0", g("ptr1")), - "\n", - m("ptr1", g("ptr2")), - "\n", - m("ptr2", "tmp"), - ].join(""), - ), - n.push("++" + r, "--" + i)) - : n.push( - [ - "ptr0=", - d(e), - "\n", - "ptr1=", - d(r), - "\n", - "ptr2=", - d(i), - "\n", - "++", - r, - "\n", - "--", - i, - "\n", - "tmp=", - g("ptr0"), - "\n", - m("ptr0", g("ptr1")), - "\n", - m("ptr1", g("ptr2")), - "\n", - m("ptr2", "tmp"), - ].join(""), - ); - } - function A(t, e) { - (k(t, e), n.push("--" + e)); - } - function T(e, r, i) { - t.length > 1 - ? v( - [e, r], - !0, - [ - m("ptr0", g("ptr1")), - "\n", - m("ptr1", ["pivot", i, "[pivot_ptr]"].join("")), - ].join(""), - ) - : n.push(m(d(e), g(d(r))), m(d(r), "pivot" + i)); - } - function S(e, r) { - n.push( - [ - "if((", - r, - "-", - e, - ")<=", - i, - "){\n", - "insertionSort(", - e, - ",", - r, - ",data,offset,", - o(t.length).join(","), - ")\n", - "}else{\n", - s, - "(", - e, - ",", - r, - ",data,offset,", - o(t.length).join(","), - ")\n", - "}", - ].join(""), - ); - } - function C(e, r, i) { - t.length > 1 - ? (n.push(["__l", ++u, ":while(true){"].join("")), - v( - [e], - !0, - [ - "if(", - g("ptr0"), - "!==pivot", - r, - "[pivot_ptr]){break __l", - u, - "}", - ].join(""), - ), - n.push(i, "}")) - : n.push(["while(", g(d(e)), "===pivot", r, "){", i, "}"].join("")); - } - return ( - n.push("var " + f.join(",")), - b(1, 2), - b(4, 5), - b(1, 3), - b(2, 3), - b(1, 4), - b(3, 4), - b(2, 5), - b(2, 3), - b(4, 5), - t.length > 1 - ? v( - [ - "el1", - "el2", - "el3", - "el4", - "el5", - "index1", - "index3", - "index5", - ], - !0, - [ - "pivot1[pivot_ptr]=", - g("ptr1"), - "\n", - "pivot2[pivot_ptr]=", - g("ptr3"), - "\n", - "pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n", - "x=", - g("ptr0"), - "\n", - "y=", - g("ptr2"), - "\n", - "z=", - g("ptr4"), - "\n", - m("ptr5", "x"), - "\n", - m("ptr6", "y"), - "\n", - m("ptr7", "z"), - ].join(""), - ) - : n.push( - [ - "pivot1=", - g(d("el2")), - "\n", - "pivot2=", - g(d("el4")), - "\n", - "pivots_are_equal=pivot1===pivot2\n", - "x=", - g(d("el1")), - "\n", - "y=", - g(d("el3")), - "\n", - "z=", - g(d("el5")), - "\n", - m(d("index1"), "x"), - "\n", - m(d("index3"), "y"), - "\n", - m(d("index5"), "z"), - ].join(""), - ), - _("index2", "left"), - _("index4", "right"), - n.push("if(pivots_are_equal){"), - n.push("for(k=less;k<=great;++k){"), - w("comp", "k", 1), - n.push("if(comp===0){continue}"), - n.push("if(comp<0){"), - n.push("if(k!==less){"), - k("k", "less"), - n.push("}"), - n.push("++less"), - n.push("}else{"), - n.push("while(true){"), - w("comp", "great", 1), - n.push("if(comp>0){"), - n.push("great--"), - n.push("}else if(comp<0){"), - M("k", "less", "great"), - n.push("break"), - n.push("}else{"), - A("k", "great"), - n.push("break"), - n.push("}"), - n.push("}"), - n.push("}"), - n.push("}"), - n.push("}else{"), - n.push("for(k=less;k<=great;++k){"), - w("comp_pivot1", "k", 1), - n.push("if(comp_pivot1<0){"), - n.push("if(k!==less){"), - k("k", "less"), - n.push("}"), - n.push("++less"), - n.push("}else{"), - w("comp_pivot2", "k", 2), - n.push("if(comp_pivot2>0){"), - n.push("while(true){"), - w("comp", "great", 2), - n.push("if(comp>0){"), - n.push("if(--greatindex5){"), - C("less", 1, "++less"), - C("great", 2, "--great"), - n.push("for(k=less;k<=great;++k){"), - w("comp_pivot1", "k", 1), - n.push("if(comp_pivot1===0){"), - n.push("if(k!==less){"), - k("k", "less"), - n.push("}"), - n.push("++less"), - n.push("}else{"), - w("comp_pivot2", "k", 2), - n.push("if(comp_pivot2===0){"), - n.push("while(true){"), - w("comp", "great", 2), - n.push("if(comp===0){"), - n.push("if(--great 1 && c - ? new Function("insertionSort", "malloc", "free", n.join("\n"))( - r, - c[0], - c[1], - ) - : new Function("insertionSort", n.join("\n"))(r) - ); - })(t, e, v), - ); - }; - }, - { "typedarray-pool": 423 }, - ], - 333: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/compile_sort.js"), - i = {}; - e.exports = function (t) { - var e = t.order, - r = t.dtype, - a = [e, r].join(":"), - o = i[a]; - return (o || (i[a] = o = n(e, r)), o(t), t); - }; - }, - { "./lib/compile_sort.js": 332 }, - ], - 334: [ - function (t, e, r) { - "use strict"; - var n = t("ndarray-linear-interpolate"), - i = t("cwise/lib/wrapper")({ - args: ["index", "array", "scalar", "scalar", "scalar"], - pre: { - body: "{this_warped=new Array(_inline_3_arg4_)}", - args: [ - { name: "_inline_3_arg0_", lvalue: !1, rvalue: !1, count: 0 }, - { name: "_inline_3_arg1_", lvalue: !1, rvalue: !1, count: 0 }, - { name: "_inline_3_arg2_", lvalue: !1, rvalue: !1, count: 0 }, - { name: "_inline_3_arg3_", lvalue: !1, rvalue: !1, count: 0 }, - { name: "_inline_3_arg4_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: ["this_warped"], - localVars: [], - }, - body: { - body: "{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}", - args: [ - { name: "_inline_4_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_4_arg1_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_4_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_4_arg3_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_4_arg4_", lvalue: !1, rvalue: !1, count: 0 }, - ], - thisVars: ["this_warped"], - localVars: [], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - debug: !1, - funcName: "warpND", - blockSize: 64, - }), - a = t("cwise/lib/wrapper")({ - args: ["index", "array", "scalar", "scalar", "scalar"], - pre: { - body: "{this_warped=[0]}", - args: [], - thisVars: ["this_warped"], - localVars: [], - }, - body: { - body: "{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}", - args: [ - { name: "_inline_7_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_7_arg1_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_7_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_7_arg3_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_7_arg4_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: ["this_warped"], - localVars: [], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - debug: !1, - funcName: "warp1D", - blockSize: 64, - }), - o = t("cwise/lib/wrapper")({ - args: ["index", "array", "scalar", "scalar", "scalar"], - pre: { - body: "{this_warped=[0,0]}", - args: [], - thisVars: ["this_warped"], - localVars: [], - }, - body: { - body: "{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}", - args: [ - { name: "_inline_10_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_10_arg1_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_10_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_10_arg3_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_10_arg4_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: ["this_warped"], - localVars: [], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - debug: !1, - funcName: "warp2D", - blockSize: 64, - }), - s = t("cwise/lib/wrapper")({ - args: ["index", "array", "scalar", "scalar", "scalar"], - pre: { - body: "{this_warped=[0,0,0]}", - args: [], - thisVars: ["this_warped"], - localVars: [], - }, - body: { - body: "{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}", - args: [ - { name: "_inline_13_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_13_arg1_", lvalue: !0, rvalue: !1, count: 1 }, - { name: "_inline_13_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_13_arg3_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_13_arg4_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: ["this_warped"], - localVars: [], - }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - debug: !1, - funcName: "warp3D", - blockSize: 64, - }); - e.exports = function (t, e, r) { - switch (e.shape.length) { - case 1: - a(t, r, n.d1, e); - break; - case 2: - o(t, r, n.d2, e); - break; - case 3: - s(t, r, n.d3, e); - break; - default: - i(t, r, n.bind(void 0, e), e.shape.length); - } - return t; - }; - }, - { "cwise/lib/wrapper": 119, "ndarray-linear-interpolate": 328 }, - ], - 335: [ - function (t, e, r) { - var n = t("iota-array"), - i = t("is-buffer"), - a = "undefined" != typeof Float64Array; - function o(t, e) { - return t[0] - e[0]; - } - function s() { - var t, - e = this.stride, - r = new Array(e.length); - for (t = 0; t < r.length; ++t) r[t] = [Math.abs(e[t]), t]; - r.sort(o); - var n = new Array(r.length); - for (t = 0; t < n.length; ++t) n[t] = r[t][1]; - return n; - } - function l(t, e) { - var r = ["View", e, "d", t].join(""); - e < 0 && (r = "View_Nil" + t); - var i = "generic" === t; - if (-1 === e) { - var a = - "function " + - r + - "(a){this.data=a;};var proto=" + - r + - ".prototype;proto.dtype='" + - t + - "';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new " + - r + - "(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_" + - r + - "(a){return new " + - r + - "(a);}"; - return new Function(a)(); - } - if (0 === e) { - a = - "function " + - r + - "(a,d) {this.data = a;this.offset = d};var proto=" + - r + - ".prototype;proto.dtype='" + - t + - "';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function " + - r + - "_copy() {return new " + - r + - "(this.data,this.offset)};proto.pick=function " + - r + - "_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function " + - r + - "_get(){return " + - (i ? "this.data.get(this.offset)" : "this.data[this.offset]") + - "};proto.set=function " + - r + - "_set(v){return " + - (i ? "this.data.set(this.offset,v)" : "this.data[this.offset]=v") + - "};return function construct_" + - r + - "(a,b,c,d){return new " + - r + - "(a,d)}"; - return new Function("TrivialArray", a)(c[t][0]); - } - a = ["'use strict'"]; - var o = n(e), - l = o.map(function (t) { - return "i" + t; - }), - u = - "this.offset+" + - o - .map(function (t) { - return "this.stride[" + t + "]*i" + t; - }) - .join("+"), - f = o - .map(function (t) { - return "b" + t; - }) - .join(","), - h = o - .map(function (t) { - return "c" + t; - }) - .join(","); - (a.push( - "function " + r + "(a," + f + "," + h + ",d){this.data=a", - "this.shape=[" + f + "]", - "this.stride=[" + h + "]", - "this.offset=d|0}", - "var proto=" + r + ".prototype", - "proto.dtype='" + t + "'", - "proto.dimension=" + e, - ), - a.push( - "Object.defineProperty(proto,'size',{get:function " + - r + - "_size(){return " + - o - .map(function (t) { - return "this.shape[" + t + "]"; - }) - .join("*"), - "}})", - ), - 1 === e - ? a.push("proto.order=[0]") - : (a.push("Object.defineProperty(proto,'order',{get:"), - e < 4 - ? (a.push("function " + r + "_order(){"), - 2 === e - ? a.push( - "return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})", - ) - : 3 === e && - a.push( - "var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})", - )) - : a.push("ORDER})")), - a.push("proto.set=function " + r + "_set(" + l.join(",") + ",v){"), - i - ? a.push("return this.data.set(" + u + ",v)}") - : a.push("return this.data[" + u + "]=v}"), - a.push("proto.get=function " + r + "_get(" + l.join(",") + "){"), - i - ? a.push("return this.data.get(" + u + ")}") - : a.push("return this.data[" + u + "]}"), - a.push( - "proto.index=function " + r + "_index(", - l.join(), - "){return " + u + "}", - ), - a.push( - "proto.hi=function " + - r + - "_hi(" + - l.join(",") + - "){return new " + - r + - "(this.data," + - o - .map(function (t) { - return [ - "(typeof i", - t, - "!=='number'||i", - t, - "<0)?this.shape[", - t, - "]:i", - t, - "|0", - ].join(""); - }) - .join(",") + - "," + - o - .map(function (t) { - return "this.stride[" + t + "]"; - }) - .join(",") + - ",this.offset)}", - )); - var p = o.map(function (t) { - return "a" + t + "=this.shape[" + t + "]"; - }), - d = o.map(function (t) { - return "c" + t + "=this.stride[" + t + "]"; - }); - a.push( - "proto.lo=function " + - r + - "_lo(" + - l.join(",") + - "){var b=this.offset,d=0," + - p.join(",") + - "," + - d.join(","), - ); - for (var g = 0; g < e; ++g) - a.push( - "if(typeof i" + - g + - "==='number'&&i" + - g + - ">=0){d=i" + - g + - "|0;b+=c" + - g + - "*d;a" + - g + - "-=d}", - ); - (a.push( - "return new " + - r + - "(this.data," + - o - .map(function (t) { - return "a" + t; - }) - .join(",") + - "," + - o - .map(function (t) { - return "c" + t; - }) - .join(",") + - ",b)}", - ), - a.push( - "proto.step=function " + - r + - "_step(" + - l.join(",") + - "){var " + - o - .map(function (t) { - return "a" + t + "=this.shape[" + t + "]"; - }) - .join(",") + - "," + - o - .map(function (t) { - return "b" + t + "=this.stride[" + t + "]"; - }) - .join(",") + - ",c=this.offset,d=0,ceil=Math.ceil", - )); - for (g = 0; g < e; ++g) - a.push( - "if(typeof i" + - g + - "==='number'){d=i" + - g + - "|0;if(d<0){c+=b" + - g + - "*(a" + - g + - "-1);a" + - g + - "=ceil(-a" + - g + - "/d)}else{a" + - g + - "=ceil(a" + - g + - "/d)}b" + - g + - "*=d}", - ); - a.push( - "return new " + - r + - "(this.data," + - o - .map(function (t) { - return "a" + t; - }) - .join(",") + - "," + - o - .map(function (t) { - return "b" + t; - }) - .join(",") + - ",c)}", - ); - var m = new Array(e), - v = new Array(e); - for (g = 0; g < e; ++g) - ((m[g] = "a[i" + g + "]"), (v[g] = "b[i" + g + "]")); - (a.push( - "proto.transpose=function " + - r + - "_transpose(" + - l + - "){" + - l - .map(function (t, e) { - return t + "=(" + t + "===undefined?" + e + ":" + t + "|0)"; - }) - .join(";"), - "var a=this.shape,b=this.stride;return new " + - r + - "(this.data," + - m.join(",") + - "," + - v.join(",") + - ",this.offset)}", - ), - a.push( - "proto.pick=function " + - r + - "_pick(" + - l + - "){var a=[],b=[],c=this.offset", - )); - for (g = 0; g < e; ++g) - a.push( - "if(typeof i" + - g + - "==='number'&&i" + - g + - ">=0){c=(c+this.stride[" + - g + - "]*i" + - g + - ")|0}else{a.push(this.shape[" + - g + - "]);b.push(this.stride[" + - g + - "])}", - ); - return ( - a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"), - a.push( - "return function construct_" + - r + - "(data,shape,stride,offset){return new " + - r + - "(data," + - o - .map(function (t) { - return "shape[" + t + "]"; - }) - .join(",") + - "," + - o - .map(function (t) { - return "stride[" + t + "]"; - }) - .join(",") + - ",offset)}", - ), - new Function("CTOR_LIST", "ORDER", a.join("\n"))(c[t], s) - ); - } - var c = { - float32: [], - float64: [], - int8: [], - int16: [], - int32: [], - uint8: [], - uint16: [], - uint32: [], - array: [], - uint8_clamped: [], - buffer: [], - generic: [], - }; - e.exports = function (t, e, r, n) { - if (void 0 === t) return (0, c.array[0])([]); - ("number" == typeof t && (t = [t]), void 0 === e && (e = [t.length])); - var o = e.length; - if (void 0 === r) { - r = new Array(o); - for (var s = o - 1, u = 1; s >= 0; --s) ((r[s] = u), (u *= e[s])); - } - if (void 0 === n) - for (n = 0, s = 0; s < o; ++s) r[s] < 0 && (n -= (e[s] - 1) * r[s]); - for ( - var f = (function (t) { - if (i(t)) return "buffer"; - if (a) - switch (Object.prototype.toString.call(t)) { - case "[object Float64Array]": - return "float64"; - case "[object Float32Array]": - return "float32"; - case "[object Int8Array]": - return "int8"; - case "[object Int16Array]": - return "int16"; - case "[object Int32Array]": - return "int32"; - case "[object Uint8Array]": - return "uint8"; - case "[object Uint16Array]": - return "uint16"; - case "[object Uint32Array]": - return "uint32"; - case "[object Uint8ClampedArray]": - return "uint8_clamped"; - } - return Array.isArray(t) ? "array" : "generic"; - })(t), - h = c[f]; - h.length <= o + 1; - - ) - h.push(l(f, h.length - 1)); - return (0, h[o + 1])(t, e, r, n); - }; - }, - { "iota-array": 302, "is-buffer": 304 }, - ], - 336: [ - function (t, e, r) { - "use strict"; - var n = t("double-bits"), - i = Math.pow(2, -1074), - a = -1 >>> 0; - e.exports = function (t, e) { - if (isNaN(t) || isNaN(e)) return NaN; - if (t === e) return t; - if (0 === t) return e < 0 ? -i : i; - var r = n.hi(t), - o = n.lo(t); - e > t == t > 0 - ? o === a - ? ((r += 1), (o = 0)) - : (o += 1) - : 0 === o - ? ((o = a), (r -= 1)) - : (o -= 1); - return n.pack(o, r); - }; - }, - { "double-bits": 133 }, - ], - 337: [ - function (t, e, r) { - var n = Math.PI, - i = c(120); - function a(t, e, r, n) { - return ["C", t, e, r, n, r, n]; - } - function o(t, e, r, n, i, a) { - return [ - "C", - t / 3 + (2 / 3) * r, - e / 3 + (2 / 3) * n, - i / 3 + (2 / 3) * r, - a / 3 + (2 / 3) * n, - i, - a, - ]; - } - function s(t, e, r, a, o, c, u, f, h, p) { - if (p) ((k = p[0]), (M = p[1]), (_ = p[2]), (w = p[3])); - else { - var d = l(t, e, -o); - ((t = d.x), (e = d.y)); - var g = (t - (f = (d = l(f, h, -o)).x)) / 2, - m = (e - (h = d.y)) / 2, - v = (g * g) / (r * r) + (m * m) / (a * a); - v > 1 && ((r *= v = Math.sqrt(v)), (a *= v)); - var y = r * r, - x = a * a, - b = - (c == u ? -1 : 1) * - Math.sqrt( - Math.abs((y * x - y * m * m - x * g * g) / (y * m * m + x * g * g)), - ); - b == 1 / 0 && (b = 1); - var _ = (b * r * m) / a + (t + f) / 2, - w = (b * -a * g) / r + (e + h) / 2, - k = Math.asin(((e - w) / a).toFixed(9)), - M = Math.asin(((h - w) / a).toFixed(9)); - ((k = t < _ ? n - k : k), - (M = f < _ ? n - M : M), - k < 0 && (k = 2 * n + k), - M < 0 && (M = 2 * n + M), - u && k > M && (k -= 2 * n), - !u && M > k && (M -= 2 * n)); - } - if (Math.abs(M - k) > i) { - var A = M, - T = f, - S = h; - M = k + i * (u && M > k ? 1 : -1); - var C = s( - (f = _ + r * Math.cos(M)), - (h = w + a * Math.sin(M)), - r, - a, - o, - 0, - u, - T, - S, - [M, A, _, w], - ); - } - var E = Math.tan((M - k) / 4), - L = (4 / 3) * r * E, - z = (4 / 3) * a * E, - P = [ - 2 * t - (t + L * Math.sin(k)), - 2 * e - (e - z * Math.cos(k)), - f + L * Math.sin(M), - h - z * Math.cos(M), - f, - h, - ]; - if (p) return P; - C && (P = P.concat(C)); - for (var D = 0; D < P.length; ) { - var O = l(P[D], P[D + 1], o); - ((P[D++] = O.x), (P[D++] = O.y)); - } - return P; - } - function l(t, e, r) { - return { - x: t * Math.cos(r) - e * Math.sin(r), - y: t * Math.sin(r) + e * Math.cos(r), - }; - } - function c(t) { - return t * (n / 180); - } - e.exports = function (t) { - for ( - var e, - r = [], - n = 0, - i = 0, - l = 0, - u = 0, - f = null, - h = null, - p = 0, - d = 0, - g = 0, - m = t.length; - g < m; - g++ - ) { - var v = t[g], - y = v[0]; - switch (y) { - case "M": - ((l = v[1]), (u = v[2])); - break; - case "A": - ((v = s(p, d, v[1], v[2], c(v[3]), v[4], v[5], v[6], v[7])).unshift( - "C", - ), - v.length > 7 && (r.push(v.splice(0, 7)), v.unshift("C"))); - break; - case "S": - var x = p, - b = d; - (("C" != e && "S" != e) || ((x += x - n), (b += b - i)), - (v = ["C", x, b, v[1], v[2], v[3], v[4]])); - break; - case "T": - ("Q" == e || "T" == e - ? ((f = 2 * p - f), (h = 2 * d - h)) - : ((f = p), (h = d)), - (v = o(p, d, f, h, v[1], v[2]))); - break; - case "Q": - ((f = v[1]), (h = v[2]), (v = o(p, d, v[1], v[2], v[3], v[4]))); - break; - case "L": - v = a(p, d, v[1], v[2]); - break; - case "H": - v = a(p, d, v[1], d); - break; - case "V": - v = a(p, d, p, v[1]); - break; - case "Z": - v = a(p, d, l, u); - } - ((e = y), - (p = v[v.length - 2]), - (d = v[v.length - 1]), - v.length > 4 - ? ((n = v[v.length - 4]), (i = v[v.length - 3])) - : ((n = p), (i = d)), - r.push(v)); - } - return r; - }; - }, - {}, - ], - 338: [ - function (t, e, r) { - ((r.vertexNormals = function (t, e, r) { - for ( - var n = e.length, i = new Array(n), a = void 0 === r ? 1e-6 : r, o = 0; - o < n; - ++o - ) - i[o] = [0, 0, 0]; - for (o = 0; o < t.length; ++o) - for ( - var s = t[o], l = 0, c = s[s.length - 1], u = s[0], f = 0; - f < s.length; - ++f - ) { - ((l = c), (c = u), (u = s[(f + 1) % s.length])); - for ( - var h = e[l], - p = e[c], - d = e[u], - g = new Array(3), - m = 0, - v = new Array(3), - y = 0, - x = 0; - x < 3; - ++x - ) - ((g[x] = h[x] - p[x]), - (m += g[x] * g[x]), - (v[x] = d[x] - p[x]), - (y += v[x] * v[x])); - if (m * y > a) { - var b = i[c], - _ = 1 / Math.sqrt(m * y); - for (x = 0; x < 3; ++x) { - var w = (x + 1) % 3, - k = (x + 2) % 3; - b[x] += _ * (v[w] * g[k] - v[k] * g[w]); - } - } - } - for (o = 0; o < n; ++o) { - b = i[o]; - var M = 0; - for (x = 0; x < 3; ++x) M += b[x] * b[x]; - if (M > a) for (_ = 1 / Math.sqrt(M), x = 0; x < 3; ++x) b[x] *= _; - else for (x = 0; x < 3; ++x) b[x] = 0; - } - return i; - }), - (r.faceNormals = function (t, e, r) { - for ( - var n = t.length, i = new Array(n), a = void 0 === r ? 1e-6 : r, o = 0; - o < n; - ++o - ) { - for (var s = t[o], l = new Array(3), c = 0; c < 3; ++c) l[c] = e[s[c]]; - var u = new Array(3), - f = new Array(3); - for (c = 0; c < 3; ++c) - ((u[c] = l[1][c] - l[0][c]), (f[c] = l[2][c] - l[0][c])); - var h = new Array(3), - p = 0; - for (c = 0; c < 3; ++c) { - var d = (c + 1) % 3, - g = (c + 2) % 3; - ((h[c] = u[d] * f[g] - u[g] * f[d]), (p += h[c] * h[c])); - } - p = p > a ? 1 / Math.sqrt(p) : 0; - for (c = 0; c < 3; ++c) h[c] *= p; - i[o] = h; - } - return i; - })); - }, - {}, - ], - 339: [ - function (t, e, r) { - "use strict"; - var n = Object.getOwnPropertySymbols, - i = Object.prototype.hasOwnProperty, - a = Object.prototype.propertyIsEnumerable; - e.exports = (function () { - try { - if (!Object.assign) return !1; - var t = new String("abc"); - if (((t[5] = "de"), "5" === Object.getOwnPropertyNames(t)[0])) return !1; - for (var e = {}, r = 0; r < 10; r++) e["_" + String.fromCharCode(r)] = r; - if ( - "0123456789" !== - Object.getOwnPropertyNames(e) - .map(function (t) { - return e[t]; - }) - .join("") - ) - return !1; - var n = {}; - return ( - "abcdefghijklmnopqrst".split("").forEach(function (t) { - n[t] = t; - }), - "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, n)).join("") - ); - } catch (t) { - return !1; - } - })() - ? Object.assign - : function (t, e) { - for ( - var r, - o, - s = (function (t) { - if (null === t || void 0 === t) - throw new TypeError( - "Object.assign cannot be called with null or undefined", - ); - return Object(t); - })(t), - l = 1; - l < arguments.length; - l++ - ) { - for (var c in (r = Object(arguments[l]))) - i.call(r, c) && (s[c] = r[c]); - if (n) { - o = n(r); - for (var u = 0; u < o.length; u++) - a.call(r, o[u]) && (s[o[u]] = r[o[u]]); - } - } - return s; - }; - }, - {}, - ], - 340: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i, a, o, s, l, c) { - var u = e + a + c; - if (f > 0) { - var f = Math.sqrt(u + 1); - ((t[0] = (0.5 * (o - l)) / f), - (t[1] = (0.5 * (s - n)) / f), - (t[2] = (0.5 * (r - a)) / f), - (t[3] = 0.5 * f)); - } else { - var h = Math.max(e, a, c), - f = Math.sqrt(2 * h - u + 1); - e >= h - ? ((t[0] = 0.5 * f), - (t[1] = (0.5 * (i + r)) / f), - (t[2] = (0.5 * (s + n)) / f), - (t[3] = (0.5 * (o - l)) / f)) - : a >= h - ? ((t[0] = (0.5 * (r + i)) / f), - (t[1] = 0.5 * f), - (t[2] = (0.5 * (l + o)) / f), - (t[3] = (0.5 * (s - n)) / f)) - : ((t[0] = (0.5 * (n + s)) / f), - (t[1] = (0.5 * (o + l)) / f), - (t[2] = 0.5 * f), - (t[3] = (0.5 * (r - i)) / f)); - } - return t; - }; - }, - {}, - ], - 341: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = (t = t || {}).center || [0, 0, 0], - r = t.rotation || [0, 0, 0, 1], - n = t.radius || 1; - ((e = [].slice.call(e, 0, 3)), u((r = [].slice.call(r, 0, 4)), r)); - var i = new f(r, e, Math.log(n)); - (i.setDistanceLimits(t.zoomMin, t.zoomMax), - ("eye" in t || "up" in t) && i.lookAt(0, t.eye, t.center, t.up)); - return i; - }; - var n = t("filtered-vector"), - i = t("gl-mat4/lookAt"), - a = t("gl-mat4/fromQuat"), - o = t("gl-mat4/invert"), - s = t("./lib/quatFromFrame"); - function l(t, e, r) { - return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); - } - function c(t, e, r, n) { - return Math.sqrt( - Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2) + Math.pow(n, 2), - ); - } - function u(t, e) { - var r = e[0], - n = e[1], - i = e[2], - a = e[3], - o = c(r, n, i, a); - o > 1e-6 - ? ((t[0] = r / o), (t[1] = n / o), (t[2] = i / o), (t[3] = a / o)) - : ((t[0] = t[1] = t[2] = 0), (t[3] = 1)); - } - function f(t, e, r) { - ((this.radius = n([r])), - (this.center = n(e)), - (this.rotation = n(t)), - (this.computedRadius = this.radius.curve(0)), - (this.computedCenter = this.center.curve(0)), - (this.computedRotation = this.rotation.curve(0)), - (this.computedUp = [0.1, 0, 0]), - (this.computedEye = [0.1, 0, 0]), - (this.computedMatrix = [ - 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ]), - this.recalcMatrix(0)); - } - var h = f.prototype; - ((h.lastT = function () { - return Math.max( - this.radius.lastT(), - this.center.lastT(), - this.rotation.lastT(), - ); - }), - (h.recalcMatrix = function (t) { - (this.radius.curve(t), this.center.curve(t), this.rotation.curve(t)); - var e = this.computedRotation; - u(e, e); - var r = this.computedMatrix; - a(r, e); - var n = this.computedCenter, - i = this.computedEye, - o = this.computedUp, - s = Math.exp(this.computedRadius[0]); - ((i[0] = n[0] + s * r[2]), - (i[1] = n[1] + s * r[6]), - (i[2] = n[2] + s * r[10]), - (o[0] = r[1]), - (o[1] = r[5]), - (o[2] = r[9])); - for (var l = 0; l < 3; ++l) { - for (var c = 0, f = 0; f < 3; ++f) c += r[l + 4 * f] * i[f]; - r[12 + l] = -c; - } - }), - (h.getMatrix = function (t, e) { - this.recalcMatrix(t); - var r = this.computedMatrix; - if (e) { - for (var n = 0; n < 16; ++n) e[n] = r[n]; - return e; - } - return r; - }), - (h.idle = function (t) { - (this.center.idle(t), this.radius.idle(t), this.rotation.idle(t)); - }), - (h.flush = function (t) { - (this.center.flush(t), this.radius.flush(t), this.rotation.flush(t)); - }), - (h.pan = function (t, e, r, n) { - ((e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t)); - var i = this.computedMatrix, - a = i[1], - o = i[5], - s = i[9], - c = l(a, o, s); - ((a /= c), (o /= c), (s /= c)); - var u = i[0], - f = i[4], - h = i[8], - p = u * a + f * o + h * s, - d = l((u -= a * p), (f -= o * p), (h -= s * p)); - ((u /= d), (f /= d), (h /= d)); - var g = i[2], - m = i[6], - v = i[10], - y = g * a + m * o + v * s, - x = g * u + m * f + v * h, - b = l((g -= y * a + x * u), (m -= y * o + x * f), (v -= y * s + x * h)); - ((g /= b), (m /= b), (v /= b)); - var _ = u * e + a * r, - w = f * e + o * r, - k = h * e + s * r; - this.center.move(t, _, w, k); - var M = Math.exp(this.computedRadius[0]); - ((M = Math.max(1e-4, M + n)), this.radius.set(t, Math.log(M))); - }), - (h.rotate = function (t, e, r, n) { - (this.recalcMatrix(t), (e = e || 0), (r = r || 0)); - var i = this.computedMatrix, - a = i[0], - o = i[4], - s = i[8], - u = i[1], - f = i[5], - h = i[9], - p = i[2], - d = i[6], - g = i[10], - m = e * a + r * u, - v = e * o + r * f, - y = e * s + r * h, - x = -(d * y - g * v), - b = -(g * m - p * y), - _ = -(p * v - d * m), - w = Math.sqrt( - Math.max(0, 1 - Math.pow(x, 2) - Math.pow(b, 2) - Math.pow(_, 2)), - ), - k = c(x, b, _, w); - k > 1e-6 - ? ((x /= k), (b /= k), (_ /= k), (w /= k)) - : ((x = b = _ = 0), (w = 1)); - var M = this.computedRotation, - A = M[0], - T = M[1], - S = M[2], - C = M[3], - E = A * w + C * x + T * _ - S * b, - L = T * w + C * b + S * x - A * _, - z = S * w + C * _ + A * b - T * x, - P = C * w - A * x - T * b - S * _; - if (n) { - ((x = p), (b = d), (_ = g)); - var D = Math.sin(n) / l(x, b, _); - ((x *= D), - (b *= D), - (_ *= D), - (P = - P * (w = Math.cos(e)) - - (E = E * w + P * x + L * _ - z * b) * x - - (L = L * w + P * b + z * x - E * _) * b - - (z = z * w + P * _ + E * b - L * x) * _)); - } - var O = c(E, L, z, P); - (O > 1e-6 - ? ((E /= O), (L /= O), (z /= O), (P /= O)) - : ((E = L = z = 0), (P = 1)), - this.rotation.set(t, E, L, z, P)); - }), - (h.lookAt = function (t, e, r, n) { - (this.recalcMatrix(t), - (r = r || this.computedCenter), - (e = e || this.computedEye), - (n = n || this.computedUp)); - var a = this.computedMatrix; - i(a, e, r, n); - var o = this.computedRotation; - (s(o, a[0], a[1], a[2], a[4], a[5], a[6], a[8], a[9], a[10]), - u(o, o), - this.rotation.set(t, o[0], o[1], o[2], o[3])); - for (var l = 0, c = 0; c < 3; ++c) l += Math.pow(r[c] - e[c], 2); - (this.radius.set(t, 0.5 * Math.log(Math.max(l, 1e-6))), - this.center.set(t, r[0], r[1], r[2])); - }), - (h.translate = function (t, e, r, n) { - this.center.move(t, e || 0, r || 0, n || 0); - }), - (h.setMatrix = function (t, e) { - var r = this.computedRotation; - (s(r, e[0], e[1], e[2], e[4], e[5], e[6], e[8], e[9], e[10]), - u(r, r), - this.rotation.set(t, r[0], r[1], r[2], r[3])); - var n = this.computedMatrix; - o(n, e); - var i = n[15]; - if (Math.abs(i) > 1e-6) { - var a = n[12] / i, - l = n[13] / i, - c = n[14] / i; - this.recalcMatrix(t); - var f = Math.exp(this.computedRadius[0]); - (this.center.set(t, a - n[2] * f, l - n[6] * f, c - n[10] * f), - this.radius.idle(t)); - } else (this.center.idle(t), this.radius.idle(t)); - }), - (h.setDistance = function (t, e) { - e > 0 && this.radius.set(t, Math.log(e)); - }), - (h.setDistanceLimits = function (t, e) { - ((t = t > 0 ? Math.log(t) : -1 / 0), - (e = e > 0 ? Math.log(e) : 1 / 0), - (e = Math.max(e, t)), - (this.radius.bounds[0][0] = t), - (this.radius.bounds[1][0] = e)); - }), - (h.getDistanceLimits = function (t) { - var e = this.radius.bounds; - return t - ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) - : [Math.exp(e[0][0]), Math.exp(e[1][0])]; - }), - (h.toJSON = function () { - return ( - this.recalcMatrix(this.lastT()), - { - center: this.computedCenter.slice(), - rotation: this.computedRotation.slice(), - distance: Math.log(this.computedRadius[0]), - zoomMin: this.radius.bounds[0][0], - zoomMax: this.radius.bounds[1][0], - } - ); - }), - (h.fromJSON = function (t) { - var e = this.lastT(), - r = t.center; - r && this.center.set(e, r[0], r[1], r[2]); - var n = t.rotation; - n && this.rotation.set(e, n[0], n[1], n[2], n[3]); - var i = t.distance; - (i && i > 0 && this.radius.set(e, Math.log(i)), - this.setDistanceLimits(t.zoomMin, t.zoomMax)); - })); - }, - { - "./lib/quatFromFrame": 340, - "filtered-vector": 197, - "gl-mat4/fromQuat": 227, - "gl-mat4/invert": 230, - "gl-mat4/lookAt": 231, - }, - ], - 342: [ - function (t, e, r) { - "use strict"; - var n = t("repeat-string"); - e.exports = function (t, e, r) { - return n((r = void 0 !== r ? r + "" : " "), e) + t; - }; - }, - { "repeat-string": 381 }, - ], - 343: [ - function (t, e, r) { - "use strict"; - var n = t("pick-by-alias"); - e.exports = function (t) { - var e; - arguments.length > 1 && (t = arguments); - "string" == typeof t - ? (t = t.split(/\s/).map(parseFloat)) - : "number" == typeof t && (t = [t]); - t.length && "number" == typeof t[0] - ? (e = - 1 === t.length - ? { width: t[0], height: t[0], x: 0, y: 0 } - : 2 === t.length - ? { width: t[0], height: t[1], x: 0, y: 0 } - : { - x: t[0], - y: t[1], - width: t[2] - t[0] || 0, - height: t[3] - t[1] || 0, - }) - : t && - ((t = n(t, { - left: "x l left Left", - top: "y t top Top", - width: "w width W Width", - height: "h height W Width", - bottom: "b bottom Bottom", - right: "r right Right", - })), - (e = { x: t.left || 0, y: t.top || 0 }), - null == t.width - ? t.right - ? (e.width = t.right - e.x) - : (e.width = 0) - : (e.width = t.width), - null == t.height - ? t.bottom - ? (e.height = t.bottom - e.y) - : (e.height = 0) - : (e.height = t.height)); - return e; - }; - }, - { "pick-by-alias": 349 }, - ], - 344: [ - function (t, e, r) { - e.exports = function (t) { - var e = []; - return ( - t.replace(i, function (t, r, i) { - var o = r.toLowerCase(); - for ( - i = (function (t) { - var e = t.match(a); - return e ? e.map(Number) : []; - })(i), - "m" == o && - i.length > 2 && - (e.push([r].concat(i.splice(0, 2))), - (o = "l"), - (r = "m" == r ? "l" : "L")); - ; - - ) { - if (i.length == n[o]) return (i.unshift(r), e.push(i)); - if (i.length < n[o]) throw new Error("malformed path data"); - e.push([r].concat(i.splice(0, n[o]))); - } - }), - e - ); - }; - var n = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, - i = /([astvzqmhlc])([^astvzqmhlc]*)/gi; - var a = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi; - }, - {}, - ], - 345: [ - function (t, e, r) { - e.exports = function (t, e) { - (e || (e = [0, ""]), (t = String(t))); - var r = parseFloat(t, 10); - return ((e[0] = r), (e[1] = t.match(/[\d.\-\+]*\s*(.*)/)[1] || ""), e); - }; - }, - {}, - ], - 346: [ - function (t, e, r) { - (function (t) { - (function () { - var r, n, i, a, o, s; - "undefined" != typeof performance && - null !== performance && - performance.now - ? (e.exports = function () { - return performance.now(); - }) - : void 0 !== t && null !== t && t.hrtime - ? ((e.exports = function () { - return (r() - o) / 1e6; - }), - (n = t.hrtime), - (a = (r = function () { - var t; - return 1e9 * (t = n())[0] + t[1]; - })()), - (s = 1e9 * t.uptime()), - (o = a - s)) - : Date.now - ? ((e.exports = function () { - return Date.now() - i; - }), - (i = Date.now())) - : ((e.exports = function () { - return new Date().getTime() - i; - }), - (i = new Date().getTime())); - }).call(this); - }).call(this, t("_process")); - }, - { _process: 366 }, - ], - 347: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.length; - if (e < n) { - for (var r = 1, a = 0; a < e; ++a) - for (var o = 0; o < a; ++o) - if (t[a] < t[o]) r = -r; - else if (t[a] === t[o]) return 0; - return r; - } - for (var s = i.mallocUint8(e), a = 0; a < e; ++a) s[a] = 0; - for (var r = 1, a = 0; a < e; ++a) - if (!s[a]) { - var l = 1; - s[a] = 1; - for (var o = t[a]; o !== a; o = t[o]) { - if (s[o]) return (i.freeUint8(s), 0); - ((l += 1), (s[o] = 1)); - } - 1 & l || (r = -r); - } - return (i.freeUint8(s), r); - }; - var n = 32, - i = t("typedarray-pool"); - }, - { "typedarray-pool": 423 }, - ], - 348: [ - function (t, e, r) { - "use strict"; - var n = t("typedarray-pool"), - i = t("invert-permutation"); - ((r.rank = function (t) { - var e = t.length; - switch (e) { - case 0: - case 1: - return 0; - case 2: - return t[1]; - } - var r, - a, - o, - s = n.mallocUint32(e), - l = n.mallocUint32(e), - c = 0; - for (i(t, l), o = 0; o < e; ++o) s[o] = t[o]; - for (o = e - 1; o > 0; --o) - ((a = l[o]), - (r = s[o]), - (s[o] = s[a]), - (s[a] = r), - (l[o] = l[r]), - (l[r] = a), - (c = (c + r) * o)); - return (n.freeUint32(l), n.freeUint32(s), c); - }), - (r.unrank = function (t, e, r) { - switch (t) { - case 0: - return r || []; - case 1: - return r ? ((r[0] = 0), r) : [0]; - case 2: - return r - ? (e ? ((r[0] = 0), (r[1] = 1)) : ((r[0] = 1), (r[1] = 0)), r) - : e - ? [0, 1] - : [1, 0]; - } - var n, - i, - a, - o = 1; - for ((r = r || new Array(t))[0] = 0, a = 1; a < t; ++a) - ((r[a] = a), (o = (o * a) | 0)); - for (a = t - 1; a > 0; --a) - ((e = (e - (n = (e / o) | 0) * o) | 0), - (o = (o / a) | 0), - (i = 0 | r[a]), - (r[a] = 0 | r[n]), - (r[n] = 0 | i)); - return r; - })); - }, - { "invert-permutation": 301, "typedarray-pool": 423 }, - ], - 349: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var n, - a, - o = {}; - if (("string" == typeof e && (e = i(e)), Array.isArray(e))) { - var s = {}; - for (a = 0; a < e.length; a++) s[e[a]] = !0; - e = s; - } - for (n in e) e[n] = i(e[n]); - var l = {}; - for (n in e) { - var c = e[n]; - if (Array.isArray(c)) - for (a = 0; a < c.length; a++) { - var u = c[a]; - if ((r && (l[u] = !0), u in t)) { - if (((o[n] = t[u]), r)) - for (var f = a; f < c.length; f++) l[c[f]] = !0; - break; - } - } - else n in t && (e[n] && (o[n] = t[n]), r && (l[n] = !0)); - } - if (r) for (n in t) l[n] || (o[n] = t[n]); - return o; - }; - var n = {}; - function i(t) { - return n[t] - ? n[t] - : ("string" == typeof t && (t = n[t] = t.split(/\s*,\s*|\s+/)), t); - } - }, - {}, - ], - 350: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for ( - var r = 0 | e.length, - i = t.length, - a = [new Array(r), new Array(r)], - o = 0; - o < r; - ++o - ) - ((a[0][o] = []), (a[1][o] = [])); - for (var o = 0; o < i; ++o) { - var s = t[o]; - (a[0][s[0]].push(s), a[1][s[1]].push(s)); - } - for (var l = [], o = 0; o < r; ++o) - a[0][o].length + a[1][o].length === 0 && l.push([o]); - function c(t, e) { - var r = a[e][t[e]]; - r.splice(r.indexOf(t), 1); - } - function u(t, r, i) { - for (var o, s, l, u = 0; u < 2; ++u) - if (a[u][r].length > 0) { - ((o = a[u][r][0]), (l = u)); - break; - } - s = o[1 ^ l]; - for (var f = 0; f < 2; ++f) - for (var h = a[f][r], p = 0; p < h.length; ++p) { - var d = h[p], - g = d[1 ^ f], - m = n(e[t], e[r], e[s], e[g]); - m > 0 && ((o = d), (s = g), (l = f)); - } - return i ? s : (o && c(o, l), s); - } - function f(t, r) { - var i = a[r][t][0], - o = [t]; - c(i, r); - for (var s = i[1 ^ r]; ; ) { - for (; s !== t; ) (o.push(s), (s = u(o[o.length - 2], s, !1))); - if (a[0][t].length + a[1][t].length === 0) break; - var l = o[o.length - 1], - f = t, - h = o[1], - p = u(l, f, !0); - if (n(e[l], e[f], e[h], e[p]) < 0) break; - (o.push(t), (s = u(l, f))); - } - return o; - } - function h(t, e) { - return e[1] === e[e.length - 1]; - } - for (var o = 0; o < r; ++o) - for (var p = 0; p < 2; ++p) { - for (var d = []; a[p][o].length > 0; ) { - a[0][o].length; - var g = f(o, p); - h(d, g) ? d.push.apply(d, g) : (d.length > 0 && l.push(d), (d = g)); - } - d.length > 0 && l.push(d); - } - return l; - }; - var n = t("compare-angle"); - }, - { "compare-angle": 107 }, - ], - 351: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for ( - var r = n(t, e.length), - i = new Array(e.length), - a = new Array(e.length), - o = [], - s = 0; - s < e.length; - ++s - ) { - var l = r[s].length; - ((a[s] = l), (i[s] = !0), l <= 1 && o.push(s)); - } - for (; o.length > 0; ) { - var c = o.pop(); - i[c] = !1; - for (var u = r[c], s = 0; s < u.length; ++s) { - var f = u[s]; - 0 == --a[f] && o.push(f); - } - } - for (var h = new Array(e.length), p = [], s = 0; s < e.length; ++s) - if (i[s]) { - var c = p.length; - ((h[s] = c), p.push(e[s])); - } else h[s] = -1; - for (var d = [], s = 0; s < t.length; ++s) { - var g = t[s]; - i[g[0]] && i[g[1]] && d.push([h[g[0]], h[g[1]]]); - } - return [d, p]; - }; - var n = t("edges-to-adjacency-list"); - }, - { "edges-to-adjacency-list": 138 }, - ], - 352: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = c(t, e); - t = r[0]; - for ( - var f = (e = r[1]).length, h = (t.length, n(t, e.length)), p = 0; - p < f; - ++p - ) - if (h[p].length % 2 == 1) - throw new Error("planar-graph-to-polyline: graph must be manifold"); - var d = i(t, e); - for ( - var g = (d = d.filter(function (t) { - for (var r = t.length, n = [0], i = 0; i < r; ++i) { - var a = e[t[i]], - l = e[t[(i + 1) % r]], - c = o(-a[0], a[1]), - u = o(-a[0], l[1]), - f = o(l[0], a[1]), - h = o(l[0], l[1]); - n = s(n, s(s(c, u), s(f, h))); - } - return n[n.length - 1] > 0; - })).length, - m = new Array(g), - v = new Array(g), - p = 0; - p < g; - ++p - ) { - m[p] = p; - var y = new Array(g), - x = d[p].map(function (t) { - return e[t]; - }), - b = a([x]), - _ = 0; - t: for (var w = 0; w < g; ++w) - if (((y[w] = 0), p !== w)) { - for (var k = d[w], M = k.length, A = 0; A < M; ++A) { - var T = b(e[k[A]]); - if (0 !== T) { - T < 0 && ((y[w] = 1), (_ += 1)); - continue t; - } - } - ((y[w] = 1), (_ += 1)); - } - v[p] = [_, p, y]; - } - v.sort(function (t, e) { - return e[0] - t[0]; - }); - for (var p = 0; p < g; ++p) - for (var y = v[p], S = y[1], C = y[2], w = 0; w < g; ++w) - C[w] && (m[w] = S); - for ( - var E = (function (t) { - for (var e = new Array(t), r = 0; r < t; ++r) e[r] = []; - return e; - })(g), - p = 0; - p < g; - ++p - ) - (E[p].push(m[p]), E[m[p]].push(p)); - for (var L = {}, z = u(f, !1), p = 0; p < g; ++p) - for (var k = d[p], M = k.length, w = 0; w < M; ++w) { - var P = k[w], - D = k[(w + 1) % M], - O = Math.min(P, D) + ":" + Math.max(P, D); - if (O in L) { - var I = L[O]; - (E[I].push(p), E[p].push(I), (z[P] = z[D] = !0)); - } else L[O] = p; - } - function R(t) { - for (var e = t.length, r = 0; r < e; ++r) if (!z[t[r]]) return !1; - return !0; - } - for (var B = [], F = u(g, -1), p = 0; p < g; ++p) - m[p] !== p || R(d[p]) ? (F[p] = -1) : (B.push(p), (F[p] = 0)); - var r = []; - for (; B.length > 0; ) { - var N = B.pop(), - j = E[N]; - l(j, function (t, e) { - return t - e; - }); - var V, - U = j.length, - q = F[N]; - if (0 === q) { - var k = d[N]; - V = [k]; - } - for (var p = 0; p < U; ++p) { - var H = j[p]; - if (!(F[H] >= 0) && ((F[H] = 1 ^ q), B.push(H), 0 === q)) { - var k = d[H]; - R(k) || (k.reverse(), V.push(k)); - } - } - 0 === q && r.push(V); - } - return r; - }; - var n = t("edges-to-adjacency-list"), - i = t("planar-dual"), - a = t("point-in-big-polygon"), - o = t("two-product"), - s = t("robust-sum"), - l = t("uniq"), - c = t("./lib/trim-leaves"); - function u(t, e) { - for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; - return r; - } - }, - { - "./lib/trim-leaves": 351, - "edges-to-adjacency-list": 138, - "planar-dual": 350, - "point-in-big-polygon": 356, - "robust-sum": 393, - "two-product": 421, - uniq: 425, - }, - ], - 353: [ - function (t, e, r) { - "use strict"; - e.exports = t("./quad"); - }, - { "./quad": 355 }, - ], - 354: [ - function (t, e, r) { - arguments[4][91][0].apply(r, arguments); - }, - { dup: 91 }, - ], - 355: [ - function (t, e, r) { - "use strict"; - var n = t("binary-search-bounds"), - i = t("clamp"), - a = t("parse-rect"), - o = t("array-bounds"), - s = t("pick-by-alias"), - l = t("defined"), - c = t("flatten-vertex-data"), - u = t("is-obj"), - f = t("dtype"), - h = t("math-log2"); - function p(t, e) { - for ( - var r = e[0], - n = e[1], - a = 1 / (e[2] - r), - o = 1 / (e[3] - n), - s = new Array(t.length), - l = 0, - c = t.length / 2; - l < c; - l++ - ) - ((s[2 * l] = i((t[2 * l] - r) * a, 0, 1)), - (s[2 * l + 1] = i((t[2 * l + 1] - n) * o, 0, 1))); - return s; - } - e.exports = function (t, e) { - (e || (e = {}), - (t = c(t, "float64")), - (e = s(e, { - bounds: "range bounds dataBox databox", - maxDepth: "depth maxDepth maxdepth level maxLevel maxlevel levels", - dtype: "type dtype format out dst output destination", - }))); - var r = l(e.maxDepth, 255), - i = l(e.bounds, o(t, 2)); - (i[0] === i[2] && i[2]++, i[1] === i[3] && i[3]++); - var d, - g = p(t, i), - m = t.length >>> 1; - (e.dtype || (e.dtype = "array"), - "string" == typeof e.dtype - ? (d = new (f(e.dtype))(m)) - : e.dtype && ((d = e.dtype), Array.isArray(d) && (d.length = m))); - for (var v = 0; v < m; ++v) d[v] = v; - var y = [], - x = [], - b = [], - _ = []; - !(function t(e, n, i, a, o, s) { - if (!a.length) return null; - var l = y[o] || (y[o] = []); - var c = b[o] || (b[o] = []); - var u = x[o] || (x[o] = []); - var f = l.length; - o++; - if (o > r) { - for (var h = 0; h < a.length; h++) - (l.push(a[h]), c.push(s), u.push(null, null, null, null)); - return f; - } - l.push(a[0]); - c.push(s); - if (a.length <= 1) return (u.push(null, null, null, null), f); - var p = 0.5 * i; - var d = e + p, - m = n + p; - var v = [], - _ = [], - w = [], - k = []; - for (var M = 1, A = a.length; M < A; M++) { - var T = a[M], - S = g[2 * T], - C = g[2 * T + 1]; - S < d ? (C < m ? v.push(T) : _.push(T)) : C < m ? w.push(T) : k.push(T); - } - s <<= 2; - u.push( - t(e, n, p, v, o, s), - t(e, m, p, _, o, s + 1), - t(d, n, p, w, o, s + 2), - t(d, m, p, k, o, s + 3), - ); - return f; - })(0, 0, 1, d, 0, 1); - for (var w = 0, k = 0; k < y.length; k++) { - var M = y[k]; - if (d.set) d.set(M, w); - else for (var A = 0, T = M.length; A < T; A++) d[A + w] = M[A]; - var S = w + y[k].length; - ((_[k] = [w, S]), (w = S)); - } - return ( - (d.range = function () { - var e, - r = [], - o = arguments.length; - for (; o--; ) r[o] = arguments[o]; - if (u(r[r.length - 1])) { - var c = r.pop(); - (r.length || - (null == c.x && null == c.l && null == c.left) || - ((r = [c]), (e = {})), - (e = s(c, { - level: "level maxLevel", - d: "d diam diameter r radius px pxSize pixel pixelSize maxD size minSize", - lod: "lod details ranges offsets", - }))); - } else e = {}; - r.length || (r = i); - var f = a.apply(void 0, r), - d = [ - Math.min(f.x, f.x + f.width), - Math.min(f.y, f.y + f.height), - Math.max(f.x, f.x + f.width), - Math.max(f.y, f.y + f.height), - ], - g = d[0], - m = d[1], - v = d[2], - w = d[3], - k = p([g, m, v, w], i), - M = k[0], - A = k[1], - T = k[2], - S = k[3], - E = l(e.level, y.length); - if (null != e.d) { - var L; - ("number" == typeof e.d ? (L = [e.d, e.d]) : e.d.length && (L = e.d), - (E = Math.min( - Math.max( - Math.ceil(-h(Math.abs(L[0]) / (i[2] - i[0]))), - Math.ceil(-h(Math.abs(L[1]) / (i[3] - i[1]))), - ), - E, - ))); - } - if (((E = Math.min(E, y.length)), e.lod)) - return (function (t, e, r, i, a) { - for (var o = [], s = 0; s < a; s++) { - var l = b[s], - c = _[s][0], - u = C(t, e, s), - f = C(r, i, s), - h = n.ge(l, u), - p = n.gt(l, f, h, l.length - 1); - o[s] = [h + c, p + c]; - } - return o; - })(M, A, T, S, E); - var z = []; - return ( - (function e(r, n, i, a, o, s) { - if (null !== o && null !== s) { - var l = r + i, - c = n + i; - if (!(M > l || A > c || T < r || S < n || a >= E || o === s)) { - var u = y[a]; - void 0 === s && (s = u.length); - for (var f = o; f < s; f++) { - var h = u[f], - p = t[2 * h], - d = t[2 * h + 1]; - p >= g && p <= v && d >= m && d <= w && z.push(h); - } - var b = x[a], - _ = b[4 * o + 0], - k = b[4 * o + 1], - C = b[4 * o + 2], - L = b[4 * o + 3], - P = (function (t, e) { - for (var r = null, n = 0; null === r; ) - if (((r = t[4 * e + n]), ++n > t.length)) return null; - return r; - })(b, o + 1), - D = 0.5 * i, - O = a + 1; - (e(r, n, D, O, _, k || C || L || P), - e(r, n + D, D, O, k, C || L || P), - e(r + D, n, D, O, C, L || P), - e(r + D, n + D, D, O, L, P)); - } - } - })(0, 0, 1, 0, 0, 1), - z - ); - }), - d - ); - function C(t, e, r) { - for (var n = 1, i = 0.5, a = 0.5, o = 0.5, s = 0; s < r; s++) - ((n <<= 2), - (n += t < i ? (e < a ? 0 : 1) : e < a ? 2 : 3), - (o *= 0.5), - (i += t < i ? -o : o), - (a += e < a ? -o : o)); - return n; - } - }; - }, - { - "array-bounds": 49, - "binary-search-bounds": 354, - clamp: 95, - defined: 131, - dtype: 135, - "flatten-vertex-data": 198, - "is-obj": 307, - "math-log2": 317, - "parse-rect": 343, - "pick-by-alias": 349, - }, - ], - 356: [ - function (t, e, r) { - e.exports = function (t) { - for (var e = t.length, r = [], a = [], s = 0; s < e; ++s) - for (var u = t[s], f = u.length, h = f - 1, p = 0; p < f; h = p++) { - var d = u[h], - g = u[p]; - d[0] === g[0] ? a.push([d, g]) : r.push([d, g]); - } - if (0 === r.length) - return 0 === a.length - ? c - : ((m = l(a)), - function (t) { - return m(t[0], t[1]) ? 0 : 1; - }); - var m; - var v = i(r), - y = (function (t, e) { - return function (r) { - var i = o.le(e, r[0]); - if (i < 0) return 1; - var a = t[i]; - if (!a) { - if (!(i > 0 && e[i] === r[0])) return 1; - a = t[i - 1]; - } - for (var s = 1; a; ) { - var l = a.key, - c = n(r, l[0], l[1]); - if (l[0][0] < l[1][0]) - if (c < 0) a = a.left; - else { - if (!(c > 0)) return 0; - ((s = -1), (a = a.right)); - } - else if (c > 0) a = a.left; - else { - if (!(c < 0)) return 0; - ((s = 1), (a = a.right)); - } - } - return s; - }; - })(v.slabs, v.coordinates); - return 0 === a.length - ? y - : (function (t, e) { - return function (r) { - return t(r[0], r[1]) ? 0 : e(r); - }; - })(l(a), y); - }; - var n = t("robust-orientation")[3], - i = t("slab-decomposition"), - a = t("interval-tree-1d"), - o = t("binary-search-bounds"); - function s() { - return !0; - } - function l(t) { - for (var e = {}, r = 0; r < t.length; ++r) { - var n = t[r], - i = n[0][0], - o = n[0][1], - l = n[1][1], - c = [Math.min(o, l), Math.max(o, l)]; - i in e ? e[i].push(c) : (e[i] = [c]); - } - var u = {}, - f = Object.keys(e); - for (r = 0; r < f.length; ++r) { - var h = e[f[r]]; - u[f[r]] = a(h); - } - return (function (t) { - return function (e, r) { - var n = t[e]; - return !!n && !!n.queryPoint(r, s); - }; - })(u); - } - function c(t) { - return 1; - } - }, - { - "binary-search-bounds": 72, - "interval-tree-1d": 300, - "robust-orientation": 388, - "slab-decomposition": 404, - }, - ], - 357: [ - function (t, e, r) { - var n, - i = t("./lib/build-log"), - a = t("./lib/epsilon"), - o = t("./lib/intersecter"), - s = t("./lib/segment-chainer"), - l = t("./lib/segment-selector"), - c = t("./lib/geojson"), - u = !1, - f = a(); - function h(t, e, r) { - var i = n.segments(t), - a = n.segments(e), - o = r(n.combine(i, a)); - return n.polygon(o); - } - ((n = { - buildLog: function (t) { - return (!0 === t ? (u = i()) : !1 === t && (u = !1), !1 !== u && u.list); - }, - epsilon: function (t) { - return f.epsilon(t); - }, - segments: function (t) { - var e = o(!0, f, u); - return ( - t.regions.forEach(e.addRegion), - { segments: e.calculate(t.inverted), inverted: t.inverted } - ); - }, - combine: function (t, e) { - return { - combined: o(!1, f, u).calculate( - t.segments, - t.inverted, - e.segments, - e.inverted, - ), - inverted1: t.inverted, - inverted2: e.inverted, - }; - }, - selectUnion: function (t) { - return { - segments: l.union(t.combined, u), - inverted: t.inverted1 || t.inverted2, - }; - }, - selectIntersect: function (t) { - return { - segments: l.intersect(t.combined, u), - inverted: t.inverted1 && t.inverted2, - }; - }, - selectDifference: function (t) { - return { - segments: l.difference(t.combined, u), - inverted: t.inverted1 && !t.inverted2, - }; - }, - selectDifferenceRev: function (t) { - return { - segments: l.differenceRev(t.combined, u), - inverted: !t.inverted1 && t.inverted2, - }; - }, - selectXor: function (t) { - return { - segments: l.xor(t.combined, u), - inverted: t.inverted1 !== t.inverted2, - }; - }, - polygon: function (t) { - return { regions: s(t.segments, f, u), inverted: t.inverted }; - }, - polygonFromGeoJSON: function (t) { - return c.toPolygon(n, t); - }, - polygonToGeoJSON: function (t) { - return c.fromPolygon(n, f, t); - }, - union: function (t, e) { - return h(t, e, n.selectUnion); - }, - intersect: function (t, e) { - return h(t, e, n.selectIntersect); - }, - difference: function (t, e) { - return h(t, e, n.selectDifference); - }, - differenceRev: function (t, e) { - return h(t, e, n.selectDifferenceRev); - }, - xor: function (t, e) { - return h(t, e, n.selectXor); - }, - }), - "object" == typeof window && (window.PolyBool = n), - (e.exports = n)); - }, - { - "./lib/build-log": 358, - "./lib/epsilon": 359, - "./lib/geojson": 360, - "./lib/intersecter": 361, - "./lib/segment-chainer": 363, - "./lib/segment-selector": 364, - }, - ], - 358: [ - function (t, e, r) { - e.exports = function () { - var t, - e = 0, - r = !1; - function n(e, r) { - return ( - t.list.push({ - type: e, - data: r ? JSON.parse(JSON.stringify(r)) : void 0, - }), - t - ); - } - return (t = { - list: [], - segmentId: function () { - return e++; - }, - checkIntersection: function (t, e) { - return n("check", { seg1: t, seg2: e }); - }, - segmentChop: function (t, e) { - return (n("div_seg", { seg: t, pt: e }), n("chop", { seg: t, pt: e })); - }, - statusRemove: function (t) { - return n("pop_seg", { seg: t }); - }, - segmentUpdate: function (t) { - return n("seg_update", { seg: t }); - }, - segmentNew: function (t, e) { - return n("new_seg", { seg: t, primary: e }); - }, - segmentRemove: function (t) { - return n("rem_seg", { seg: t }); - }, - tempStatus: function (t, e, r) { - return n("temp_status", { seg: t, above: e, below: r }); - }, - rewind: function (t) { - return n("rewind", { seg: t }); - }, - status: function (t, e, r) { - return n("status", { seg: t, above: e, below: r }); - }, - vert: function (e) { - return e === r ? t : ((r = e), n("vert", { x: e })); - }, - log: function (t) { - return ( - "string" != typeof t && (t = JSON.stringify(t, !1, " ")), - n("log", { txt: t }) - ); - }, - reset: function () { - return n("reset"); - }, - selected: function (t) { - return n("selected", { segs: t }); - }, - chainStart: function (t) { - return n("chain_start", { seg: t }); - }, - chainRemoveHead: function (t, e) { - return n("chain_rem_head", { index: t, pt: e }); - }, - chainRemoveTail: function (t, e) { - return n("chain_rem_tail", { index: t, pt: e }); - }, - chainNew: function (t, e) { - return n("chain_new", { pt1: t, pt2: e }); - }, - chainMatch: function (t) { - return n("chain_match", { index: t }); - }, - chainClose: function (t) { - return n("chain_close", { index: t }); - }, - chainAddHead: function (t, e) { - return n("chain_add_head", { index: t, pt: e }); - }, - chainAddTail: function (t, e) { - return n("chain_add_tail", { index: t, pt: e }); - }, - chainConnect: function (t, e) { - return n("chain_con", { index1: t, index2: e }); - }, - chainReverse: function (t) { - return n("chain_rev", { index: t }); - }, - chainJoin: function (t, e) { - return n("chain_join", { index1: t, index2: e }); - }, - done: function () { - return n("done"); - }, - }); - }; - }, - {}, - ], - 359: [ - function (t, e, r) { - e.exports = function (t) { - "number" != typeof t && (t = 1e-10); - var e = { - epsilon: function (e) { - return ("number" == typeof e && (t = e), t); - }, - pointAboveOrOnLine: function (e, r, n) { - var i = r[0], - a = r[1], - o = n[0], - s = n[1], - l = e[0]; - return (o - i) * (e[1] - a) - (s - a) * (l - i) >= -t; - }, - pointBetween: function (e, r, n) { - var i = e[1] - r[1], - a = n[0] - r[0], - o = e[0] - r[0], - s = n[1] - r[1], - l = o * a + i * s; - return !(l < t || l - (a * a + s * s) > -t); - }, - pointsSameX: function (e, r) { - return Math.abs(e[0] - r[0]) < t; - }, - pointsSameY: function (e, r) { - return Math.abs(e[1] - r[1]) < t; - }, - pointsSame: function (t, r) { - return e.pointsSameX(t, r) && e.pointsSameY(t, r); - }, - pointsCompare: function (t, r) { - return e.pointsSameX(t, r) - ? e.pointsSameY(t, r) - ? 0 - : t[1] < r[1] - ? -1 - : 1 - : t[0] < r[0] - ? -1 - : 1; - }, - pointsCollinear: function (e, r, n) { - var i = e[0] - r[0], - a = e[1] - r[1], - o = r[0] - n[0], - s = r[1] - n[1]; - return Math.abs(i * s - o * a) < t; - }, - linesIntersect: function (e, r, n, i) { - var a = r[0] - e[0], - o = r[1] - e[1], - s = i[0] - n[0], - l = i[1] - n[1], - c = a * l - o * s; - if (Math.abs(c) < t) return !1; - var u = e[0] - n[0], - f = e[1] - n[1], - h = (s * f - l * u) / c, - p = (a * f - o * u) / c, - d = { alongA: 0, alongB: 0, pt: [e[0] + h * a, e[1] + h * o] }; - return ( - (d.alongA = - h <= -t ? -2 : h < t ? -1 : h - 1 <= -t ? 0 : h - 1 < t ? 1 : 2), - (d.alongB = - p <= -t ? -2 : p < t ? -1 : p - 1 <= -t ? 0 : p - 1 < t ? 1 : 2), - d - ); - }, - pointInsideRegion: function (e, r) { - for ( - var n = e[0], - i = e[1], - a = r[r.length - 1][0], - o = r[r.length - 1][1], - s = !1, - l = 0; - l < r.length; - l++ - ) { - var c = r[l][0], - u = r[l][1]; - (u - i > t != o - i > t && - ((a - c) * (i - u)) / (o - u) + c - n > t && - (s = !s), - (a = c), - (o = u)); - } - return s; - }, - }; - return e; - }; - }, - {}, - ], - 360: [ - function (t, e, r) { - var n = { - toPolygon: function (t, e) { - function r(e) { - if (e.length <= 0) return t.segments({ inverted: !1, regions: [] }); - function r(e) { - var r = e.slice(0, e.length - 1); - return t.segments({ inverted: !1, regions: [r] }); - } - for (var n = r(e[0]), i = 1; i < e.length; i++) - n = t.selectDifference(t.combine(n, r(e[i]))); - return n; - } - if ("Polygon" === e.type) return t.polygon(r(e.coordinates)); - if ("MultiPolygon" === e.type) { - for ( - var n = t.segments({ inverted: !1, regions: [] }), i = 0; - i < e.coordinates.length; - i++ - ) - n = t.selectUnion(t.combine(n, r(e.coordinates[i]))); - return t.polygon(n); - } - throw new Error( - "PolyBool: Cannot convert GeoJSON object to PolyBool polygon", - ); - }, - fromPolygon: function (t, e, r) { - function n(t, r) { - return e.pointInsideRegion( - [0.5 * (t[0][0] + t[1][0]), 0.5 * (t[0][1] + t[1][1])], - r, - ); - } - function i(t) { - return { region: t, children: [] }; - } - r = t.polygon(t.segments(r)); - var a = i(null); - function o(t, e) { - for (var r = 0; r < t.children.length; r++) { - if (n(e, (s = t.children[r]).region)) return void o(s, e); - } - var a = i(e); - for (r = 0; r < t.children.length; r++) { - var s; - n((s = t.children[r]).region, e) && - (a.children.push(s), t.children.splice(r, 1), r--); - } - t.children.push(a); - } - for (var s = 0; s < r.regions.length; s++) { - var l = r.regions[s]; - l.length < 3 || o(a, l); - } - function c(t, e) { - for ( - var r = 0, - n = t[t.length - 1][0], - i = t[t.length - 1][1], - a = [], - o = 0; - o < t.length; - o++ - ) { - var s = t[o][0], - l = t[o][1]; - (a.push([s, l]), (r += l * n - s * i), (n = s), (i = l)); - } - return (r < 0 !== e && a.reverse(), a.push([a[0][0], a[0][1]]), a); - } - var u = []; - function f(t) { - var e = [c(t.region, !1)]; - u.push(e); - for (var r = 0; r < t.children.length; r++) e.push(h(t.children[r])); - } - function h(t) { - for (var e = 0; e < t.children.length; e++) f(t.children[e]); - return c(t.region, !0); - } - for (s = 0; s < a.children.length; s++) f(a.children[s]); - return u.length <= 0 - ? { type: "Polygon", coordinates: [] } - : 1 == u.length - ? { type: "Polygon", coordinates: u[0] } - : { type: "MultiPolygon", coordinates: u }; - }, - }; - e.exports = n; - }, - {}, - ], - 361: [ - function (t, e, r) { - var n = t("./linked-list"); - e.exports = function (t, e, r) { - function i(t, e, n) { - return { - id: r ? r.segmentId() : -1, - start: t, - end: e, - myFill: { above: n.myFill.above, below: n.myFill.below }, - otherFill: null, - }; - } - var a = n.create(); - function o(t, r) { - a.insertBefore(t, function (n) { - return ( - (function (t, r, n, i, a, o) { - var s = e.pointsCompare(r, a); - return 0 !== s - ? s - : e.pointsSame(n, o) - ? 0 - : t !== i - ? t - ? 1 - : -1 - : e.pointAboveOrOnLine(n, i ? a : o, i ? o : a) - ? 1 - : -1; - })(t.isStart, t.pt, r, n.isStart, n.pt, n.other.pt) < 0 - ); - }); - } - function s(t, e) { - var r = (function (t, e) { - var r = n.node({ - isStart: !0, - pt: t.start, - seg: t, - primary: e, - other: null, - status: null, - }); - return (o(r, t.end), r); - })(t, e); - return ( - (function (t, e, r) { - var i = n.node({ - isStart: !1, - pt: e.end, - seg: e, - primary: r, - other: t, - status: null, - }); - ((t.other = i), o(i, t.pt)); - })(r, t, e), - r - ); - } - function l(t, e) { - var n = i(e, t.seg.end, t.seg); - return ( - (function (t, e) { - (r && r.segmentChop(t.seg, e), - t.other.remove(), - (t.seg.end = e), - (t.other.pt = e), - o(t.other, t.pt)); - })(t, e), - s(n, t.primary) - ); - } - function c(i, o) { - var s = n.create(); - function c(t) { - return s.findTransition(function (r) { - var n, i, a, o, s, l; - return ( - (n = t), - (i = r.ev), - (a = n.seg.start), - (o = n.seg.end), - (s = i.seg.start), - (l = i.seg.end), - (e.pointsCollinear(a, s, l) - ? e.pointsCollinear(o, s, l) - ? 1 - : e.pointAboveOrOnLine(o, s, l) - ? 1 - : -1 - : e.pointAboveOrOnLine(a, s, l) - ? 1 - : -1) > 0 - ); - }); - } - function u(t, n) { - var i = t.seg, - a = n.seg, - o = i.start, - s = i.end, - c = a.start, - u = a.end; - r && r.checkIntersection(i, a); - var f = e.linesIntersect(o, s, c, u); - if (!1 === f) { - if (!e.pointsCollinear(o, s, c)) return !1; - if (e.pointsSame(o, u) || e.pointsSame(s, c)) return !1; - var h = e.pointsSame(o, c), - p = e.pointsSame(s, u); - if (h && p) return n; - var d = !h && e.pointBetween(o, c, u), - g = !p && e.pointBetween(s, c, u); - if (h) return (g ? l(n, s) : l(t, u), n); - d && (p || (g ? l(n, s) : l(t, u)), l(n, o)); - } else - (0 === f.alongA && - (-1 === f.alongB - ? l(t, c) - : 0 === f.alongB - ? l(t, f.pt) - : 1 === f.alongB && l(t, u)), - 0 === f.alongB && - (-1 === f.alongA - ? l(n, o) - : 0 === f.alongA - ? l(n, f.pt) - : 1 === f.alongA && l(n, s))); - return !1; - } - for (var f = []; !a.isEmpty(); ) { - var h = a.getHead(); - if ((r && r.vert(h.pt[0]), h.isStart)) { - r && r.segmentNew(h.seg, h.primary); - var p = c(h), - d = p.before ? p.before.ev : null, - g = p.after ? p.after.ev : null; - function m() { - if (d) { - var t = u(h, d); - if (t) return t; - } - return !!g && u(h, g); - } - r && r.tempStatus(h.seg, !!d && d.seg, !!g && g.seg); - var v, - y, - x = m(); - if (x) - (t - ? (y = - null === h.seg.myFill.below || - h.seg.myFill.above !== h.seg.myFill.below) && - (x.seg.myFill.above = !x.seg.myFill.above) - : (x.seg.otherFill = h.seg.myFill), - r && r.segmentUpdate(x.seg), - h.other.remove(), - h.remove()); - if (a.getHead() !== h) { - r && r.rewind(h.seg); - continue; - } - (t - ? ((y = - null === h.seg.myFill.below || - h.seg.myFill.above !== h.seg.myFill.below), - (h.seg.myFill.below = g ? g.seg.myFill.above : i), - (h.seg.myFill.above = y - ? !h.seg.myFill.below - : h.seg.myFill.below)) - : null === h.seg.otherFill && - ((v = g - ? h.primary === g.primary - ? g.seg.otherFill.above - : g.seg.myFill.above - : h.primary - ? o - : i), - (h.seg.otherFill = { above: v, below: v })), - r && r.status(h.seg, !!d && d.seg, !!g && g.seg), - (h.other.status = p.insert(n.node({ ev: h })))); - } else { - var b = h.status; - if (null === b) - throw new Error( - "PolyBool: Zero-length segment detected; your epsilon is probably too small or too large", - ); - if ( - (s.exists(b.prev) && s.exists(b.next) && u(b.prev.ev, b.next.ev), - r && r.statusRemove(b.ev.seg), - b.remove(), - !h.primary) - ) { - var _ = h.seg.myFill; - ((h.seg.myFill = h.seg.otherFill), (h.seg.otherFill = _)); - } - f.push(h.seg); - } - a.getHead().remove(); - } - return (r && r.done(), f); - } - return t - ? { - addRegion: function (t) { - for (var n, i, a, o = t[t.length - 1], l = 0; l < t.length; l++) { - ((n = o), (o = t[l])); - var c = e.pointsCompare(n, o); - 0 !== c && - s( - ((i = c < 0 ? n : o), - (a = c < 0 ? o : n), - { - id: r ? r.segmentId() : -1, - start: i, - end: a, - myFill: { above: null, below: null }, - otherFill: null, - }), - !0, - ); - } - }, - calculate: function (t) { - return c(t, !1); - }, - } - : { - calculate: function (t, e, r, n) { - return ( - t.forEach(function (t) { - s(i(t.start, t.end, t), !0); - }), - r.forEach(function (t) { - s(i(t.start, t.end, t), !1); - }), - c(e, n) - ); - }, - }; - }; - }, - { "./linked-list": 362 }, - ], - 362: [ - function (t, e, r) { - e.exports = { - create: function () { - var t = { - root: { root: !0, next: null }, - exists: function (e) { - return null !== e && e !== t.root; - }, - isEmpty: function () { - return null === t.root.next; - }, - getHead: function () { - return t.root.next; - }, - insertBefore: function (e, r) { - for (var n = t.root, i = t.root.next; null !== i; ) { - if (r(i)) - return ( - (e.prev = i.prev), - (e.next = i), - (i.prev.next = e), - void (i.prev = e) - ); - ((n = i), (i = i.next)); - } - ((n.next = e), (e.prev = n), (e.next = null)); - }, - findTransition: function (e) { - for (var r = t.root, n = t.root.next; null !== n && !e(n); ) - ((r = n), (n = n.next)); - return { - before: r === t.root ? null : r, - after: n, - insert: function (t) { - return ( - (t.prev = r), - (t.next = n), - (r.next = t), - null !== n && (n.prev = t), - t - ); - }, - }; - }, - }; - return t; - }, - node: function (t) { - return ( - (t.prev = null), - (t.next = null), - (t.remove = function () { - ((t.prev.next = t.next), - t.next && (t.next.prev = t.prev), - (t.prev = null), - (t.next = null)); - }), - t - ); - }, - }; - }, - {}, - ], - 363: [ - function (t, e, r) { - e.exports = function (t, e, r) { - var n = [], - i = []; - return ( - t.forEach(function (t) { - var a = t.start, - o = t.end; - if (e.pointsSame(a, o)) - console.warn( - "PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large", - ); - else { - r && r.chainStart(t); - for ( - var s = { index: 0, matches_head: !1, matches_pt1: !1 }, - l = { index: 0, matches_head: !1, matches_pt1: !1 }, - c = s, - u = 0; - u < n.length; - u++ - ) { - var f = (m = n[u])[0], - h = (m[1], m[m.length - 1]); - if ((m[m.length - 2], e.pointsSame(f, a))) { - if (M(u, !0, !0)) break; - } else if (e.pointsSame(f, o)) { - if (M(u, !0, !1)) break; - } else if (e.pointsSame(h, a)) { - if (M(u, !1, !0)) break; - } else if (e.pointsSame(h, o) && M(u, !1, !1)) break; - } - if (c === s) return (n.push([a, o]), void (r && r.chainNew(a, o))); - if (c === l) { - r && r.chainMatch(s.index); - var p = s.index, - d = s.matches_pt1 ? o : a, - g = s.matches_head, - m = n[p], - v = g ? m[0] : m[m.length - 1], - y = g ? m[1] : m[m.length - 2], - x = g ? m[m.length - 1] : m[0], - b = g ? m[m.length - 2] : m[1]; - return ( - e.pointsCollinear(y, v, d) && - (g - ? (r && r.chainRemoveHead(s.index, d), m.shift()) - : (r && r.chainRemoveTail(s.index, d), m.pop()), - (v = y)), - e.pointsSame(x, d) - ? (n.splice(p, 1), - e.pointsCollinear(b, x, v) && - (g - ? (r && r.chainRemoveTail(s.index, v), m.pop()) - : (r && r.chainRemoveHead(s.index, v), m.shift())), - r && r.chainClose(s.index), - void i.push(m)) - : void (g - ? (r && r.chainAddHead(s.index, d), m.unshift(d)) - : (r && r.chainAddTail(s.index, d), m.push(d))) - ); - } - var _ = s.index, - w = l.index; - r && r.chainConnect(_, w); - var k = n[_].length < n[w].length; - s.matches_head - ? l.matches_head - ? k - ? (A(_), T(_, w)) - : (A(w), T(w, _)) - : T(w, _) - : l.matches_head - ? T(_, w) - : k - ? (A(_), T(w, _)) - : (A(w), T(_, w)); - } - function M(t, e, r) { - return ( - (c.index = t), - (c.matches_head = e), - (c.matches_pt1 = r), - c === s ? ((c = l), !1) : ((c = null), !0) - ); - } - function A(t) { - (r && r.chainReverse(t), n[t].reverse()); - } - function T(t, i) { - var a = n[t], - o = n[i], - s = a[a.length - 1], - l = a[a.length - 2], - c = o[0], - u = o[1]; - (e.pointsCollinear(l, s, c) && - (r && r.chainRemoveTail(t, s), a.pop(), (s = l)), - e.pointsCollinear(s, c, u) && - (r && r.chainRemoveHead(i, c), o.shift()), - r && r.chainJoin(t, i), - (n[t] = a.concat(o)), - n.splice(i, 1)); - } - }), - i - ); - }; - }, - {}, - ], - 364: [ - function (t, e, r) { - function n(t, e, r) { - var n = []; - return ( - t.forEach(function (t) { - var i = - (t.myFill.above ? 8 : 0) + - (t.myFill.below ? 4 : 0) + - (t.otherFill && t.otherFill.above ? 2 : 0) + - (t.otherFill && t.otherFill.below ? 1 : 0); - 0 !== e[i] && - n.push({ - id: r ? r.segmentId() : -1, - start: t.start, - end: t.end, - myFill: { above: 1 === e[i], below: 2 === e[i] }, - otherFill: null, - }); - }), - r && r.selected(n), - n - ); - } - var i = { - union: function (t, e) { - return n(t, [0, 2, 1, 0, 2, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], e); - }, - intersect: function (t, e) { - return n(t, [0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 2, 1, 0], e); - }, - difference: function (t, e) { - return n(t, [0, 0, 0, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 1, 2, 0], e); - }, - differenceRev: function (t, e) { - return n(t, [0, 2, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 0, 0, 0], e); - }, - xor: function (t, e) { - return n(t, [0, 2, 1, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 1, 2, 0], e); - }, - }; - e.exports = i; - }, - {}, - ], - 365: [ - function (t, e, r) { - "use strict"; - var n = new Float64Array(4), - i = new Float64Array(4), - a = new Float64Array(4); - e.exports = function (t, e, r, o, s) { - n.length < o.length && - ((n = new Float64Array(o.length)), - (i = new Float64Array(o.length)), - (a = new Float64Array(o.length))); - for (var l = 0; l < o.length; ++l) - ((n[l] = t[l] - o[l]), (i[l] = e[l] - t[l]), (a[l] = r[l] - t[l])); - var c = 0, - u = 0, - f = 0, - h = 0, - p = 0, - d = 0; - for (l = 0; l < o.length; ++l) { - var g = i[l], - m = a[l], - v = n[l]; - ((c += g * g), - (u += g * m), - (f += m * m), - (h += v * g), - (p += v * m), - (d += v * v)); - } - var y, - x, - b, - _, - w, - k = Math.abs(c * f - u * u), - M = u * p - f * h, - A = u * h - c * p; - if (M + A <= k) - if (M < 0) - A < 0 && h < 0 - ? ((A = 0), - -h >= c - ? ((M = 1), (y = c + 2 * h + d)) - : (y = h * (M = -h / c) + d)) - : ((M = 0), - p >= 0 - ? ((A = 0), (y = d)) - : -p >= f - ? ((A = 1), (y = f + 2 * p + d)) - : (y = p * (A = -p / f) + d)); - else if (A < 0) - ((A = 0), - h >= 0 - ? ((M = 0), (y = d)) - : -h >= c - ? ((M = 1), (y = c + 2 * h + d)) - : (y = h * (M = -h / c) + d)); - else { - var T = 1 / k; - y = - (M *= T) * (c * M + u * (A *= T) + 2 * h) + - A * (u * M + f * A + 2 * p) + - d; - } - else - M < 0 - ? (b = f + p) > (x = u + h) - ? (_ = b - x) >= (w = c - 2 * u + f) - ? ((M = 1), (A = 0), (y = c + 2 * h + d)) - : (y = - (M = _ / w) * (c * M + u * (A = 1 - M) + 2 * h) + - A * (u * M + f * A + 2 * p) + - d) - : ((M = 0), - b <= 0 - ? ((A = 1), (y = f + 2 * p + d)) - : p >= 0 - ? ((A = 0), (y = d)) - : (y = p * (A = -p / f) + d)) - : A < 0 - ? (b = c + h) > (x = u + p) - ? (_ = b - x) >= (w = c - 2 * u + f) - ? ((A = 1), (M = 0), (y = f + 2 * p + d)) - : (y = - (M = 1 - (A = _ / w)) * (c * M + u * A + 2 * h) + - A * (u * M + f * A + 2 * p) + - d) - : ((A = 0), - b <= 0 - ? ((M = 1), (y = c + 2 * h + d)) - : h >= 0 - ? ((M = 0), (y = d)) - : (y = h * (M = -h / c) + d)) - : (_ = f + p - u - h) <= 0 - ? ((M = 0), (A = 1), (y = f + 2 * p + d)) - : _ >= (w = c - 2 * u + f) - ? ((M = 1), (A = 0), (y = c + 2 * h + d)) - : (y = - (M = _ / w) * (c * M + u * (A = 1 - M) + 2 * h) + - A * (u * M + f * A + 2 * p) + - d); - var S = 1 - M - A; - for (l = 0; l < o.length; ++l) s[l] = S * t[l] + M * e[l] + A * r[l]; - return y < 0 ? 0 : y; - }; - }, - {}, - ], - 366: [ - function (t, e, r) { - var n, - i, - a = (e.exports = {}); - function o() { - throw new Error("setTimeout has not been defined"); - } - function s() { - throw new Error("clearTimeout has not been defined"); - } - function l(t) { - if (n === setTimeout) return setTimeout(t, 0); - if ((n === o || !n) && setTimeout) - return ((n = setTimeout), setTimeout(t, 0)); - try { - return n(t, 0); - } catch (e) { - try { - return n.call(null, t, 0); - } catch (e) { - return n.call(this, t, 0); - } - } - } - !(function () { - try { - n = "function" == typeof setTimeout ? setTimeout : o; - } catch (t) { - n = o; - } - try { - i = "function" == typeof clearTimeout ? clearTimeout : s; - } catch (t) { - i = s; - } - })(); - var c, - u = [], - f = !1, - h = -1; - function p() { - f && - c && - ((f = !1), c.length ? (u = c.concat(u)) : (h = -1), u.length && d()); - } - function d() { - if (!f) { - var t = l(p); - f = !0; - for (var e = u.length; e; ) { - for (c = u, u = []; ++h < e; ) c && c[h].run(); - ((h = -1), (e = u.length)); - } - ((c = null), - (f = !1), - (function (t) { - if (i === clearTimeout) return clearTimeout(t); - if ((i === s || !i) && clearTimeout) - return ((i = clearTimeout), clearTimeout(t)); - try { - i(t); - } catch (e) { - try { - return i.call(null, t); - } catch (e) { - return i.call(this, t); - } - } - })(t)); - } - } - function g(t, e) { - ((this.fun = t), (this.array = e)); - } - function m() {} - ((a.nextTick = function (t) { - var e = new Array(arguments.length - 1); - if (arguments.length > 1) - for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; - (u.push(new g(t, e)), 1 !== u.length || f || l(d)); - }), - (g.prototype.run = function () { - this.fun.apply(null, this.array); - }), - (a.title = "browser"), - (a.browser = !0), - (a.env = {}), - (a.argv = []), - (a.version = ""), - (a.versions = {}), - (a.on = m), - (a.addListener = m), - (a.once = m), - (a.off = m), - (a.removeListener = m), - (a.removeAllListeners = m), - (a.emit = m), - (a.prependListener = m), - (a.prependOnceListener = m), - (a.listeners = function (t) { - return []; - }), - (a.binding = function (t) { - throw new Error("process.binding is not supported"); - }), - (a.cwd = function () { - return "/"; - }), - (a.chdir = function (t) { - throw new Error("process.chdir is not supported"); - }), - (a.umask = function () { - return 0; - })); - }, - {}, - ], - 367: [ - function (t, e, r) { - e.exports = t("gl-quat/slerp"); - }, - { "gl-quat/slerp": 256 }, - ], - 368: [ - function (t, e, r) { - (function (r) { - for ( - var n = t("performance-now"), - i = "undefined" == typeof window ? r : window, - a = ["moz", "webkit"], - o = "AnimationFrame", - s = i["request" + o], - l = i["cancel" + o] || i["cancelRequest" + o], - c = 0; - !s && c < a.length; - c++ - ) - ((s = i[a[c] + "Request" + o]), - (l = i[a[c] + "Cancel" + o] || i[a[c] + "CancelRequest" + o])); - if (!s || !l) { - var u = 0, - f = 0, - h = []; - ((s = function (t) { - if (0 === h.length) { - var e = n(), - r = Math.max(0, 1e3 / 60 - (e - u)); - ((u = r + e), - setTimeout(function () { - var t = h.slice(0); - h.length = 0; - for (var e = 0; e < t.length; e++) - if (!t[e].cancelled) - try { - t[e].callback(u); - } catch (t) { - setTimeout(function () { - throw t; - }, 0); - } - }, Math.round(r))); - } - return (h.push({ handle: ++f, callback: t, cancelled: !1 }), f); - }), - (l = function (t) { - for (var e = 0; e < h.length; e++) - h[e].handle === t && (h[e].cancelled = !0); - })); - } - ((e.exports = function (t) { - return s.call(i, t); - }), - (e.exports.cancel = function () { - l.apply(i, arguments); - }), - (e.exports.polyfill = function (t) { - (t || (t = i), - (t.requestAnimationFrame = s), - (t.cancelAnimationFrame = l)); - })); - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { "performance-now": 346 }, - ], - 369: [ - function (t, e, r) { - "use strict"; - var n = t("big-rat/add"); - e.exports = function (t, e) { - for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) - i[a] = n(t[a], e[a]); - return i; - }; - }, - { "big-rat/add": 56 }, - ], - 370: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = new Array(t.length), r = 0; r < t.length; ++r) e[r] = n(t[r]); - return e; - }; - var n = t("big-rat"); - }, - { "big-rat": 59 }, - ], - 371: [ - function (t, e, r) { - "use strict"; - var n = t("big-rat"), - i = t("big-rat/mul"); - e.exports = function (t, e) { - for (var r = n(e), a = t.length, o = new Array(a), s = 0; s < a; ++s) - o[s] = i(t[s], r); - return o; - }; - }, - { "big-rat": 59, "big-rat/mul": 68 }, - ], - 372: [ - function (t, e, r) { - "use strict"; - var n = t("big-rat/sub"); - e.exports = function (t, e) { - for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) - i[a] = n(t[a], e[a]); - return i; - }; - }, - { "big-rat/sub": 70 }, - ], - 373: [ - function (t, e, r) { - "use strict"; - var n = t("compare-cell"), - i = t("compare-oriented-cell"), - a = t("cell-orientation"); - e.exports = function (t) { - t.sort(i); - for (var e = t.length, r = 0, o = 0; o < e; ++o) { - var s = t[o], - l = a(s); - if (0 !== l) { - if (r > 0) { - var c = t[r - 1]; - if (0 === n(s, c) && a(c) !== l) { - r -= 1; - continue; - } - } - t[r++] = s; - } - } - return ((t.length = r), t); - }; - }, - { "cell-orientation": 92, "compare-cell": 108, "compare-oriented-cell": 109 }, - ], - 374: [ - function (t, e, r) { - "use strict"; - var n = t("array-bounds"), - i = t("color-normalize"), - a = t("update-diff"), - o = t("pick-by-alias"), - s = t("object-assign"), - l = t("flatten-vertex-data"), - c = t("to-float32"), - u = c.float32, - f = c.fract32; - e.exports = function (t, e) { - "function" == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t); - e.length && (e.positions = e); - if (!(t = e.regl).hasExtension("ANGLE_instanced_arrays")) - throw Error( - "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", - ); - var r, - c, - p, - d, - g, - m, - v = t._gl, - y = { - color: "black", - capSize: 5, - lineWidth: 1, - opacity: 1, - viewport: null, - range: null, - offset: 0, - count: 0, - bounds: null, - positions: [], - errors: [], - }, - x = []; - return ( - (d = t.buffer({ - usage: "dynamic", - type: "uint8", - data: new Uint8Array(0), - })), - (c = t.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(0), - })), - (p = t.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(0), - })), - (g = t.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(0), - })), - (m = t.buffer({ usage: "static", type: "float", data: h })), - k(e), - (r = t({ - vert: "\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t", - frag: "\n\t\tprecision mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t", - uniforms: { - range: t.prop("range"), - lineWidth: t.prop("lineWidth"), - capSize: t.prop("capSize"), - opacity: t.prop("opacity"), - scale: t.prop("scale"), - translate: t.prop("translate"), - scaleFract: t.prop("scaleFract"), - translateFract: t.prop("translateFract"), - viewport: function (t, e) { - return [ - e.viewport.x, - e.viewport.y, - t.viewportWidth, - t.viewportHeight, - ]; - }, - }, - attributes: { - color: { - buffer: d, - offset: function (t, e) { - return 4 * e.offset; - }, - divisor: 1, - }, - position: { - buffer: c, - offset: function (t, e) { - return 8 * e.offset; - }, - divisor: 1, - }, - positionFract: { - buffer: p, - offset: function (t, e) { - return 8 * e.offset; - }, - divisor: 1, - }, - error: { - buffer: g, - offset: function (t, e) { - return 16 * e.offset; - }, - divisor: 1, - }, - direction: { buffer: m, stride: 24, offset: 0 }, - lineOffset: { buffer: m, stride: 24, offset: 8 }, - capOffset: { buffer: m, stride: 24, offset: 16 }, - }, - primitive: "triangles", - blend: { - enable: !0, - color: [0, 0, 0, 0], - equation: { rgb: "add", alpha: "add" }, - func: { - srcRGB: "src alpha", - dstRGB: "one minus src alpha", - srcAlpha: "one minus dst alpha", - dstAlpha: "one", - }, - }, - depth: { enable: !1 }, - scissor: { enable: !0, box: t.prop("viewport") }, - viewport: t.prop("viewport"), - stencil: !1, - instances: t.prop("count"), - count: h.length, - })), - s(b, { - update: k, - draw: _, - destroy: M, - regl: t, - gl: v, - canvas: v.canvas, - groups: x, - }), - b - ); - function b(t) { - (t ? k(t) : null === t && M(), _()); - } - function _(e) { - if ("number" == typeof e) return w(e); - (e && !Array.isArray(e) && (e = [e]), - t._refresh(), - x.forEach(function (t, r) { - t && - (e && (e[r] ? (t.draw = !0) : (t.draw = !1)), - t.draw ? w(r) : (t.draw = !0)); - })); - } - function w(t) { - ("number" == typeof t && (t = x[t]), - null != t && - t && - t.count && - t.color && - t.opacity && - t.positions && - t.positions.length > 1 && - ((t.scaleRatio = [ - t.scale[0] * t.viewport.width, - t.scale[1] * t.viewport.height, - ]), - r(t), - t.after && t.after(t))); - } - function k(t) { - if (t) { - null != t.length - ? "number" == typeof t[0] && (t = [{ positions: t }]) - : Array.isArray(t) || (t = [t]); - var e = 0, - r = 0; - if ( - ((b.groups = x = - t.map(function (t, c) { - var u = x[c]; - return t - ? ("function" == typeof t - ? (t = { after: t }) - : "number" == typeof t[0] && (t = { positions: t }), - (t = o(t, { - color: "color colors fill", - capSize: "capSize cap capsize cap-size", - lineWidth: "lineWidth line-width width line thickness", - opacity: "opacity alpha", - range: "range dataBox", - viewport: "viewport viewBox", - errors: "errors error", - positions: "positions position data points", - })), - u || - ((x[c] = u = - { - id: c, - scale: null, - translate: null, - scaleFract: null, - translateFract: null, - draw: !0, - }), - (t = s({}, y, t))), - a(u, t, [ - { - lineWidth: function (t) { - return 0.5 * +t; - }, - capSize: function (t) { - return 0.5 * +t; - }, - opacity: parseFloat, - errors: function (t) { - return ((t = l(t)), (r += t.length), t); - }, - positions: function (t, r) { - return ( - (t = l(t, "float64")), - (r.count = Math.floor(t.length / 2)), - (r.bounds = n(t, 2)), - (r.offset = e), - (e += r.count), - t - ); - }, - }, - { - color: function (t, e) { - var r = e.count; - if ( - (t || (t = "transparent"), - !Array.isArray(t) || "number" == typeof t[0]) - ) { - var n = t; - t = Array(r); - for (var a = 0; a < r; a++) t[a] = n; - } - if (t.length < r) throw Error("Not enough colors"); - for (var o = new Uint8Array(4 * r), s = 0; s < r; s++) { - var l = i(t[s], "uint8"); - o.set(l, 4 * s); - } - return o; - }, - range: function (t, e, r) { - var n = e.bounds; - return ( - t || (t = n), - (e.scale = [1 / (t[2] - t[0]), 1 / (t[3] - t[1])]), - (e.translate = [-t[0], -t[1]]), - (e.scaleFract = f(e.scale)), - (e.translateFract = f(e.translate)), - t - ); - }, - viewport: function (t) { - var e; - return ( - Array.isArray(t) - ? (e = { - x: t[0], - y: t[1], - width: t[2] - t[0], - height: t[3] - t[1], - }) - : t - ? ((e = { - x: t.x || t.left || 0, - y: t.y || t.top || 0, - }), - t.right - ? (e.width = t.right - e.x) - : (e.width = t.w || t.width || 0), - t.bottom - ? (e.height = t.bottom - e.y) - : (e.height = t.h || t.height || 0)) - : (e = { - x: 0, - y: 0, - width: v.drawingBufferWidth, - height: v.drawingBufferHeight, - }), - e - ); - }, - }, - ]), - u) - : u; - })), - e || r) - ) { - var h = x.reduce(function (t, e, r) { - return t + (e ? e.count : 0); - }, 0), - m = new Float64Array(2 * h), - _ = new Uint8Array(4 * h), - w = new Float32Array(4 * h); - (x.forEach(function (t, e) { - if (t) { - var r = t.positions, - n = t.count, - i = t.offset, - a = t.color, - o = t.errors; - n && (_.set(a, 4 * i), w.set(o, 4 * i), m.set(r, 2 * i)); - } - }), - c(u(m)), - p(f(m)), - d(_), - g(w)); - } - } - } - function M() { - (c.destroy(), p.destroy(), d.destroy(), g.destroy(), m.destroy()); - } - }; - var h = [ - [1, 0, 0, 1, 0, 0], - [1, 0, 0, -1, 0, 0], - [-1, 0, 0, -1, 0, 0], - [-1, 0, 0, -1, 0, 0], - [-1, 0, 0, 1, 0, 0], - [1, 0, 0, 1, 0, 0], - [1, 0, -1, 0, 0, 1], - [1, 0, -1, 0, 0, -1], - [1, 0, 1, 0, 0, -1], - [1, 0, 1, 0, 0, -1], - [1, 0, 1, 0, 0, 1], - [1, 0, -1, 0, 0, 1], - [-1, 0, -1, 0, 0, 1], - [-1, 0, -1, 0, 0, -1], - [-1, 0, 1, 0, 0, -1], - [-1, 0, 1, 0, 0, -1], - [-1, 0, 1, 0, 0, 1], - [-1, 0, -1, 0, 0, 1], - [0, 1, 1, 0, 0, 0], - [0, 1, -1, 0, 0, 0], - [0, -1, -1, 0, 0, 0], - [0, -1, -1, 0, 0, 0], - [0, 1, 1, 0, 0, 0], - [0, -1, 1, 0, 0, 0], - [0, 1, 0, -1, 1, 0], - [0, 1, 0, -1, -1, 0], - [0, 1, 0, 1, -1, 0], - [0, 1, 0, 1, 1, 0], - [0, 1, 0, -1, 1, 0], - [0, 1, 0, 1, -1, 0], - [0, -1, 0, -1, 1, 0], - [0, -1, 0, -1, -1, 0], - [0, -1, 0, 1, -1, 0], - [0, -1, 0, 1, 1, 0], - [0, -1, 0, -1, 1, 0], - [0, -1, 0, 1, -1, 0], - ]; - }, - { - "array-bounds": 49, - "color-normalize": 100, - "flatten-vertex-data": 198, - "object-assign": 339, - "pick-by-alias": 349, - "to-float32": 416, - "update-diff": 426, - }, - ], - 375: [ - function (t, e, r) { - "use strict"; - var n = t("color-normalize"), - i = t("array-bounds"), - a = t("object-assign"), - o = t("glslify"), - s = t("pick-by-alias"), - l = t("flatten-vertex-data"), - c = t("earcut"), - u = t("array-normalize"), - f = t("to-float32"), - h = f.float32, - p = f.fract32, - d = t("es6-weak-map"), - g = t("parse-rect"); - function m(t, e) { - if (!(this instanceof m)) return new m(t, e); - if ( - ("function" == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t), - e.length && (e.positions = e), - !(t = e.regl).hasExtension("ANGLE_instanced_arrays")) - ) - throw Error( - "regl-error2d: `ANGLE_instanced_arrays` extension should be enabled", - ); - ((this.gl = t._gl), - (this.regl = t), - (this.passes = []), - (this.shaders = m.shaders.has(t) - ? m.shaders.get(t) - : m.shaders.set(t, m.createShaders(t)).get(t)), - this.update(e)); - } - ((e.exports = m), - (m.dashMult = 2), - (m.maxPatternLength = 256), - (m.precisionThreshold = 3e6), - (m.maxPoints = 1e4), - (m.maxLines = 2048), - (m.shaders = new d()), - (m.createShaders = function (t) { - var e, - r = t.buffer({ - usage: "static", - type: "float", - data: [0, 1, 0, 0, 1, 1, 1, 0], - }), - n = { - primitive: "triangle strip", - instances: t.prop("count"), - count: 4, - offset: 0, - uniforms: { - miterMode: function (t, e) { - return "round" === e.join ? 2 : 1; - }, - miterLimit: t.prop("miterLimit"), - scale: t.prop("scale"), - scaleFract: t.prop("scaleFract"), - translateFract: t.prop("translateFract"), - translate: t.prop("translate"), - thickness: t.prop("thickness"), - dashPattern: t.prop("dashTexture"), - opacity: t.prop("opacity"), - pixelRatio: t.context("pixelRatio"), - id: t.prop("id"), - dashSize: t.prop("dashLength"), - viewport: function (t, e) { - return [ - e.viewport.x, - e.viewport.y, - t.viewportWidth, - t.viewportHeight, - ]; - }, - depth: t.prop("depth"), - }, - blend: { - enable: !0, - color: [0, 0, 0, 0], - equation: { rgb: "add", alpha: "add" }, - func: { - srcRGB: "src alpha", - dstRGB: "one minus src alpha", - srcAlpha: "one minus dst alpha", - dstAlpha: "one", - }, - }, - depth: { - enable: function (t, e) { - return !e.overlay; - }, - }, - stencil: { enable: !1 }, - scissor: { enable: !0, box: t.prop("viewport") }, - viewport: t.prop("viewport"), - }, - i = t( - a( - { - vert: o([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n", - ]), - frag: o([ - "precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", - ]), - attributes: { - lineEnd: { buffer: r, divisor: 0, stride: 8, offset: 0 }, - lineTop: { buffer: r, divisor: 0, stride: 8, offset: 4 }, - aCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 8, - divisor: 1, - }, - bCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 16, - divisor: 1, - }, - aCoordFract: { - buffer: t.prop("positionFractBuffer"), - stride: 8, - offset: 8, - divisor: 1, - }, - bCoordFract: { - buffer: t.prop("positionFractBuffer"), - stride: 8, - offset: 16, - divisor: 1, - }, - color: { - buffer: t.prop("colorBuffer"), - stride: 4, - offset: 0, - divisor: 1, - }, - }, - }, - n, - ), - ); - try { - e = t( - a( - { - cull: { enable: !0, face: "back" }, - vert: o([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n\t// adjust scale for horizontal bars\n\tvec2 scale = max(scale, MIN_DIFF);\n\tvec2 scaleRatio = scale * viewport.zw;\n\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * scale + translate;\n\tvec2 aBotPosition = (aBotCoord) * scale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * scale + translate;\n\tvec2 bBotPosition = (bBotCoord) * scale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n", - ]), - frag: o([ - "precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n", - ]), - attributes: { - lineEnd: { buffer: r, divisor: 0, stride: 8, offset: 0 }, - lineTop: { buffer: r, divisor: 0, stride: 8, offset: 4 }, - aColor: { - buffer: t.prop("colorBuffer"), - stride: 4, - offset: 0, - divisor: 1, - }, - bColor: { - buffer: t.prop("colorBuffer"), - stride: 4, - offset: 4, - divisor: 1, - }, - prevCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 0, - divisor: 1, - }, - aCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 8, - divisor: 1, - }, - bCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 16, - divisor: 1, - }, - nextCoord: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 24, - divisor: 1, - }, - }, - }, - n, - ), - ); - } catch (t) { - e = i; - } - return { - fill: t({ - primitive: "triangle", - elements: function (t, e) { - return e.triangles; - }, - offset: 0, - vert: o([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n", - ]), - frag: o([ - "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n", - ]), - uniforms: { - scale: t.prop("scale"), - color: t.prop("fill"), - scaleFract: t.prop("scaleFract"), - translateFract: t.prop("translateFract"), - translate: t.prop("translate"), - opacity: t.prop("opacity"), - pixelRatio: t.context("pixelRatio"), - id: t.prop("id"), - viewport: function (t, e) { - return [ - e.viewport.x, - e.viewport.y, - t.viewportWidth, - t.viewportHeight, - ]; - }, - }, - attributes: { - position: { - buffer: t.prop("positionBuffer"), - stride: 8, - offset: 8, - }, - positionFract: { - buffer: t.prop("positionFractBuffer"), - stride: 8, - offset: 8, - }, - }, - blend: n.blend, - depth: { enable: !1 }, - scissor: n.scissor, - stencil: n.stencil, - viewport: n.viewport, - }), - rect: i, - miter: e, - }; - }), - (m.defaults = { - dashes: null, - join: "miter", - miterLimit: 1, - thickness: 10, - cap: "square", - color: "black", - opacity: 1, - overlay: !1, - viewport: null, - range: null, - close: !1, - fill: null, - }), - (m.prototype.render = function () { - for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; - (e.length && (t = this).update.apply(t, e), this.draw()); - }), - (m.prototype.draw = function () { - for (var t = this, e = [], r = arguments.length; r--; ) - e[r] = arguments[r]; - return ( - (e.length ? e : this.passes).forEach(function (e, r) { - if (e && Array.isArray(e)) return (n = t).draw.apply(n, e); - var n; - ("number" == typeof e && (e = t.passes[e]), - e && e.count > 1 && e.opacity) && - (t.regl._refresh(), - e.fill && - e.triangles && - e.triangles.length > 2 && - t.shaders.fill(e), - e.thickness && - (e.scale[0] * e.viewport.width > m.precisionThreshold || - e.scale[1] * e.viewport.height > m.precisionThreshold - ? t.shaders.rect(e) - : "rect" === e.join || - (!e.join && (e.thickness <= 2 || e.count >= m.maxPoints)) - ? t.shaders.rect(e) - : t.shaders.miter(e))); - }), - this - ); - }), - (m.prototype.update = function (t) { - var e = this; - if (t) { - null != t.length - ? "number" == typeof t[0] && (t = [{ positions: t }]) - : Array.isArray(t) || (t = [t]); - var r = this.regl, - o = this.gl; - if ( - (t.forEach(function (t, f) { - var d = e.passes[f]; - if (void 0 !== t) - if (null !== t) { - if ( - ("number" == typeof t[0] && (t = { positions: t }), - (t = s(t, { - positions: "positions points data coords", - thickness: - "thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth", - join: "lineJoin linejoin join type mode", - miterLimit: "miterlimit miterLimit", - dashes: "dash dashes dasharray dash-array dashArray", - color: - "color colour stroke colors colours stroke-color strokeColor", - fill: "fill fill-color fillColor", - opacity: "alpha opacity", - overlay: "overlay crease overlap intersect", - close: "closed close closed-path closePath", - range: "range dataBox", - viewport: "viewport viewBox", - hole: "holes hole hollow", - })), - d || - ((e.passes[f] = d = - { - id: f, - scale: null, - scaleFract: null, - translate: null, - translateFract: null, - count: 0, - hole: [], - depth: 0, - dashLength: 1, - dashTexture: r.texture({ - channels: 1, - data: new Uint8Array([255]), - width: 1, - height: 1, - mag: "linear", - min: "linear", - }), - colorBuffer: r.buffer({ - usage: "dynamic", - type: "uint8", - data: new Uint8Array(), - }), - positionBuffer: r.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(), - }), - positionFractBuffer: r.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(), - }), - }), - (t = a({}, m.defaults, t))), - null != t.thickness && - (d.thickness = parseFloat(t.thickness)), - null != t.opacity && (d.opacity = parseFloat(t.opacity)), - null != t.miterLimit && - (d.miterLimit = parseFloat(t.miterLimit)), - null != t.overlay && - ((d.overlay = !!t.overlay), - f < m.maxLines && - (d.depth = - (2 * (m.maxLines - 1 - (f % m.maxLines))) / m.maxLines - - 1)), - null != t.join && (d.join = t.join), - null != t.hole && (d.hole = t.hole), - null != t.fill && - (d.fill = t.fill ? n(t.fill, "uint8") : null), - null != t.viewport && (d.viewport = g(t.viewport)), - d.viewport || - (d.viewport = g([ - o.drawingBufferWidth, - o.drawingBufferHeight, - ])), - null != t.close && (d.close = t.close), - null === t.positions && (t.positions = []), - t.positions) - ) { - var v, y; - if (t.positions.x && t.positions.y) { - var x = t.positions.x, - b = t.positions.y; - ((y = d.count = Math.max(x.length, b.length)), - (v = new Float64Array(2 * y))); - for (var _ = 0; _ < y; _++) - ((v[2 * _] = x[_]), (v[2 * _ + 1] = b[_])); - } else - ((v = l(t.positions, "float64")), - (y = d.count = Math.floor(v.length / 2))); - var w = (d.bounds = i(v, 2)); - if (d.fill) { - for ( - var k = [], M = {}, A = 0, T = 0, S = 0, C = d.count; - T < C; - T++ - ) { - var E = v[2 * T], - L = v[2 * T + 1]; - (isNaN(E) || isNaN(L) || null == E || null == L - ? ((E = v[2 * A]), (L = v[2 * A + 1]), (M[T] = A)) - : (A = T), - (k[S++] = E), - (k[S++] = L)); - } - for ( - var z = c(k, d.hole || []), P = 0, D = z.length; - P < D; - P++ - ) - null != M[z[P]] && (z[P] = M[z[P]]); - d.triangles = z; - } - var O = new Float64Array(v); - u(O, 2, w); - var I = new Float64Array(2 * y + 6); - (d.close - ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] - ? ((I[0] = O[2 * y - 4]), (I[1] = O[2 * y - 3])) - : ((I[0] = O[2 * y - 2]), (I[1] = O[2 * y - 1])) - : ((I[0] = O[0]), (I[1] = O[1])), - I.set(O, 2), - d.close - ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] - ? ((I[2 * y + 2] = O[2]), - (I[2 * y + 3] = O[3]), - (d.count -= 1)) - : ((I[2 * y + 2] = O[0]), - (I[2 * y + 3] = O[1]), - (I[2 * y + 4] = O[2]), - (I[2 * y + 5] = O[3])) - : ((I[2 * y + 2] = O[2 * y - 2]), - (I[2 * y + 3] = O[2 * y - 1]), - (I[2 * y + 4] = O[2 * y - 2]), - (I[2 * y + 5] = O[2 * y - 1])), - d.positionBuffer(h(I)), - d.positionFractBuffer(p(I))); - } - if ( - (t.range - ? (d.range = t.range) - : d.range || (d.range = d.bounds), - (t.range || t.positions) && d.count) - ) { - var R = d.bounds, - B = R[2] - R[0], - F = R[3] - R[1], - N = d.range[2] - d.range[0], - j = d.range[3] - d.range[1]; - ((d.scale = [B / N, F / j]), - (d.translate = [ - -d.range[0] / N + R[0] / N || 0, - -d.range[1] / j + R[1] / j || 0, - ]), - (d.scaleFract = p(d.scale)), - (d.translateFract = p(d.translate))); - } - if (t.dashes) { - var V, - U = 0; - if (!t.dashes || t.dashes.length < 2) - ((U = 1), - (V = new Uint8Array([ - 255, 255, 255, 255, 255, 255, 255, 255, - ]))); - else { - U = 0; - for (var q = 0; q < t.dashes.length; ++q) U += t.dashes[q]; - V = new Uint8Array(U * m.dashMult); - for (var H = 0, G = 255, W = 0; W < 2; W++) - for (var Y = 0; Y < t.dashes.length; ++Y) { - for ( - var X = 0, Z = t.dashes[Y] * m.dashMult * 0.5; - X < Z; - ++X - ) - V[H++] = G; - G ^= 255; - } - } - ((d.dashLength = U), - d.dashTexture( - { - channels: 1, - data: V, - width: V.length, - height: 1, - mag: "linear", - min: "linear", - }, - 0, - 0, - )); - } - if (t.color) { - var J = d.count, - K = t.color; - K || (K = "transparent"); - var Q = new Uint8Array(4 * J + 4); - if (Array.isArray(K) && "number" != typeof K[0]) { - for (var $ = 0; $ < J; $++) { - var tt = n(K[$], "uint8"); - Q.set(tt, 4 * $); - } - Q.set(n(K[0], "uint8"), 4 * J); - } else - for (var et = n(K, "uint8"), rt = 0; rt < J + 1; rt++) - Q.set(et, 4 * rt); - d.colorBuffer({ usage: "dynamic", type: "uint8", data: Q }); - } - } else e.passes[f] = null; - }), - t.length < this.passes.length) - ) { - for (var f = t.length; f < this.passes.length; f++) { - var d = e.passes[f]; - d && - (d.colorBuffer.destroy(), - d.positionBuffer.destroy(), - d.dashTexture.destroy()); - } - this.passes.length = t.length; - } - return ((this.passes = this.passes.filter(Boolean)), this); - } - }), - (m.prototype.destroy = function () { - return ( - this.passes.forEach(function (t) { - (t.colorBuffer.destroy(), - t.positionBuffer.destroy(), - t.dashTexture.destroy()); - }), - (this.passes.length = 0), - this - ); - })); - }, - { - "array-bounds": 49, - "array-normalize": 50, - "color-normalize": 100, - earcut: 137, - "es6-weak-map": 190, - "flatten-vertex-data": 198, - glslify: 295, - "object-assign": 339, - "parse-rect": 343, - "pick-by-alias": 349, - "to-float32": 416, - }, - ], - 376: [ - function (t, e, r) { - "use strict"; - var n = t("./scatter"), - i = t("object-assign"); - e.exports = function (t, e) { - var r = new n(t, e), - a = r.render.bind(r); - return ( - i(a, { - render: a, - update: r.update.bind(r), - draw: r.draw.bind(r), - destroy: r.destroy.bind(r), - regl: r.regl, - gl: r.gl, - canvas: r.gl.canvas, - groups: r.groups, - markers: r.markerCache, - palette: r.palette, - }), - a - ); - }; - }, - { "./scatter": 377, "object-assign": 339 }, - ], - 377: [ - function (t, e, r) { - "use strict"; - var n = t("color-normalize"), - i = t("array-bounds"), - a = t("color-id"), - o = t("point-cluster"), - s = t("object-assign"), - l = t("glslify"), - c = t("pick-by-alias"), - u = t("update-diff"), - f = t("flatten-vertex-data"), - h = t("is-iexplorer"), - p = t("to-float32"), - d = p.float32, - g = p.fract32, - m = t("parse-rect"); - function v(t, e) { - var r = this; - if (!(this instanceof v)) return new v(t, e); - ("function" == typeof t - ? (e || (e = {}), (e.regl = t)) - : ((e = t), (t = null)), - e && e.length && (e.positions = e)); - var n, - i = (t = e.regl)._gl, - a = []; - ((this.tooManyColors = h), - (n = t.texture({ - data: new Uint8Array(1020), - width: 255, - height: 1, - type: "uint8", - format: "rgba", - wrapS: "clamp", - wrapT: "clamp", - mag: "nearest", - min: "nearest", - })), - s(this, { - regl: t, - gl: i, - groups: [], - markerCache: [null], - markerTextures: [null], - palette: a, - paletteIds: {}, - paletteTexture: n, - maxColors: 255, - maxSize: 100, - canvas: i.canvas, - }), - this.update(e)); - var o = { - uniforms: { - pixelRatio: t.context("pixelRatio"), - palette: n, - paletteSize: function (t, e) { - return [r.tooManyColors ? 0 : 255, n.height]; - }, - scale: t.prop("scale"), - scaleFract: t.prop("scaleFract"), - translate: t.prop("translate"), - translateFract: t.prop("translateFract"), - opacity: t.prop("opacity"), - marker: t.prop("markerTexture"), - }, - attributes: { - x: function (t, e) { - return ( - e.xAttr || { buffer: e.positionBuffer, stride: 8, offset: 0 } - ); - }, - y: function (t, e) { - return ( - e.yAttr || { buffer: e.positionBuffer, stride: 8, offset: 4 } - ); - }, - xFract: function (t, e) { - return e.xAttr - ? { constant: [0, 0] } - : { buffer: e.positionFractBuffer, stride: 8, offset: 0 }; - }, - yFract: function (t, e) { - return e.yAttr - ? { constant: [0, 0] } - : { buffer: e.positionFractBuffer, stride: 8, offset: 4 }; - }, - size: function (t, e) { - return e.size.length - ? { buffer: e.sizeBuffer, stride: 2, offset: 0 } - : { constant: [Math.round((255 * e.size) / r.maxSize)] }; - }, - borderSize: function (t, e) { - return e.borderSize.length - ? { buffer: e.sizeBuffer, stride: 2, offset: 1 } - : { constant: [Math.round((255 * e.borderSize) / r.maxSize)] }; - }, - colorId: function (t, e) { - return e.color.length - ? { - buffer: e.colorBuffer, - stride: r.tooManyColors ? 8 : 4, - offset: 0, - } - : { - constant: r.tooManyColors - ? a.slice(4 * e.color, 4 * e.color + 4) - : [e.color], - }; - }, - borderColorId: function (t, e) { - return e.borderColor.length - ? { - buffer: e.colorBuffer, - stride: r.tooManyColors ? 8 : 4, - offset: r.tooManyColors ? 4 : 2, - } - : { - constant: r.tooManyColors - ? a.slice(4 * e.borderColor, 4 * e.borderColor + 4) - : [e.borderColor], - }; - }, - isActive: function (t, e) { - return !0 === e.activation - ? { constant: [1] } - : e.activation - ? e.activation - : { constant: [0] }; - }, - }, - blend: { - enable: !0, - color: [0, 0, 0, 1], - func: { - srcRGB: "src alpha", - dstRGB: "one minus src alpha", - srcAlpha: "one minus dst alpha", - dstAlpha: "one", - }, - }, - scissor: { enable: !0, box: t.prop("viewport") }, - viewport: t.prop("viewport"), - stencil: { enable: !1 }, - depth: { enable: !1 }, - elements: t.prop("elements"), - count: t.prop("count"), - offset: t.prop("offset"), - primitive: "points", - }, - c = s({}, o); - ((c.frag = l([ - "precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n // max-distance alpha\n if (dist < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n return;\n }\n\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n}\n", - ])), - (c.vert = l([ - "precision mediump float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius,\n fragWidth, fragBorderColorLevel, fragColorLevel;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pixelRatio;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}\n", - ]))); - try { - this.drawMarker = t(c); - } catch (t) {} - var u = s({}, o); - ((u.frag = l([ - "precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n", - ])), - (u.vert = l([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\n\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n", - ])), - h && (u.frag = u.frag.replace("smoothstep", "smoothStep")), - (this.drawCircle = t(u))); - } - ((e.exports = v), - (v.defaults = { - color: "black", - borderColor: "transparent", - borderSize: 0, - size: 12, - opacity: 1, - marker: void 0, - viewport: null, - range: null, - pixelSize: null, - count: 0, - offset: 0, - bounds: null, - positions: [], - snap: 1e4, - }), - (v.prototype.render = function () { - for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; - return (e.length && (t = this).update.apply(t, e), this.draw(), this); - }), - (v.prototype.draw = function () { - for (var t = this, e = [], r = arguments.length; r--; ) - e[r] = arguments[r]; - var n = this.groups; - if ( - (1 === e.length && - Array.isArray(e[0]) && - (null === e[0][0] || Array.isArray(e[0][0])) && - (e = e[0]), - this.regl._refresh(), - e.length) - ) - for (var i = 0; i < e.length; i++) t.drawItem(i, e[i]); - else - n.forEach(function (e, r) { - t.drawItem(r); - }); - return this; - }), - (v.prototype.drawItem = function (t, e) { - var r = this.groups, - n = r[t]; - if ( - ("number" == typeof e && ((t = e), (n = r[e]), (e = null)), - n && n.count && n.opacity) - ) { - n.activation[0] && this.drawCircle(this.getMarkerDrawOptions(0, n, e)); - for (var i = [], a = 1; a < n.activation.length; a++) - n.activation[a] && - (!0 === n.activation[a] || n.activation[a].data.length) && - i.push.apply(i, this.getMarkerDrawOptions(a, n, e)); - i.length && this.drawMarker(i); - } - }), - (v.prototype.getMarkerDrawOptions = function (t, e, r) { - var n = e.range, - i = e.tree, - a = e.viewport, - o = e.activation, - l = e.selectionBuffer, - c = e.count; - this.regl; - if (!i) - return r - ? [ - s({}, e, { - markerTexture: this.markerTextures[t], - activation: o[t], - count: r.length, - elements: r, - offset: 0, - }), - ] - : [ - s({}, e, { - markerTexture: this.markerTextures[t], - activation: o[t], - offset: 0, - }), - ]; - var u = [], - f = i.range(n, { - lod: !0, - px: [(n[2] - n[0]) / a.width, (n[3] - n[1]) / a.height], - }); - if (r) { - for ( - var h = o[t].data, p = new Uint8Array(c), d = 0; - d < r.length; - d++ - ) { - var g = r[d]; - p[g] = h ? h[g] : 1; - } - l.subdata(p); - } - for (var m = f.length; m--; ) { - var v = f[m], - y = v[0], - x = v[1]; - u.push( - s({}, e, { - markerTexture: this.markerTextures[t], - activation: r ? l : o[t], - offset: y, - count: x - y, - }), - ); - } - return u; - }), - (v.prototype.update = function () { - for (var t = this, e = [], r = arguments.length; r--; ) - e[r] = arguments[r]; - if (e.length) { - 1 === e.length && Array.isArray(e[0]) && (e = e[0]); - var n = this.groups, - a = this.gl, - l = this.regl, - h = this.maxSize, - p = this.maxColors, - y = this.palette; - this.groups = n = e.map(function (e, r) { - var x = n[r]; - if (void 0 === e) return x; - (null === e - ? (e = { positions: null }) - : "function" == typeof e - ? (e = { ondraw: e }) - : "number" == typeof e[0] && (e = { positions: e }), - null === - (e = c(e, { - positions: "positions data points", - snap: "snap cluster lod tree", - size: "sizes size radius", - borderSize: - "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", - color: "colors color fill fill-color fillColor", - borderColor: - "borderColors borderColor stroke stroke-color strokeColor", - marker: "markers marker shape", - range: "range dataBox databox", - viewport: "viewport viewPort viewBox viewbox", - opacity: "opacity alpha transparency", - bounds: "bound bounds boundaries limits", - })).positions && (e.positions = []), - x || - ((n[r] = x = - { - id: r, - scale: null, - translate: null, - scaleFract: null, - translateFract: null, - activation: [], - selectionBuffer: l.buffer({ - data: new Uint8Array(0), - usage: "stream", - type: "uint8", - }), - sizeBuffer: l.buffer({ - data: new Uint8Array(0), - usage: "dynamic", - type: "uint8", - }), - colorBuffer: l.buffer({ - data: new Uint8Array(0), - usage: "dynamic", - type: "uint8", - }), - positionBuffer: l.buffer({ - data: new Uint8Array(0), - usage: "dynamic", - type: "float", - }), - positionFractBuffer: l.buffer({ - data: new Uint8Array(0), - usage: "dynamic", - type: "float", - }), - }), - (e = s({}, v.defaults, e))), - !e.positions || - "marker" in e || - ((e.marker = x.marker), delete x.marker), - !e.marker || - "positions" in e || - ((e.positions = x.positions), delete x.positions)); - var b = 0, - _ = 0; - if ( - (u(x, e, [ - { - snap: !0, - size: function (t, e) { - return ( - null == t && (t = v.defaults.size), - (b += t && t.length ? 1 : 0), - t - ); - }, - borderSize: function (t, e) { - return ( - null == t && (t = v.defaults.borderSize), - (b += t && t.length ? 1 : 0), - t - ); - }, - opacity: parseFloat, - color: function (e, r) { - return ( - null == e && (e = v.defaults.color), - (e = t.updateColor(e)), - _++, - e - ); - }, - borderColor: function (e, r) { - return ( - null == e && (e = v.defaults.borderColor), - (e = t.updateColor(e)), - _++, - e - ); - }, - bounds: function (t, e, r) { - return ("range" in r || (r.range = null), t); - }, - positions: function (t, e, r) { - var n = e.snap, - a = e.positionBuffer, - s = e.positionFractBuffer, - c = e.selectionBuffer; - if (t.x || t.y) - return ( - t.x.length - ? (e.xAttr = { - buffer: l.buffer(t.x), - offset: 0, - stride: 4, - count: t.x.length, - }) - : (e.xAttr = { - buffer: t.x.buffer, - offset: 4 * t.x.offset || 0, - stride: 4 * (t.x.stride || 1), - count: t.x.count, - }), - t.y.length - ? (e.yAttr = { - buffer: l.buffer(t.y), - offset: 0, - stride: 4, - count: t.y.length, - }) - : (e.yAttr = { - buffer: t.y.buffer, - offset: 4 * t.y.offset || 0, - stride: 4 * (t.y.stride || 1), - count: t.y.count, - }), - (e.count = Math.max(e.xAttr.count, e.yAttr.count)), - t - ); - t = f(t, "float64"); - var u = (e.count = Math.floor(t.length / 2)), - h = (e.bounds = u ? i(t, 2) : null); - if ( - (r.range || e.range || (delete e.range, (r.range = h)), - r.marker || - e.marker || - (delete e.marker, (r.marker = null)), - n && (!0 === n || u > n) - ? (e.tree = o(t, { bounds: h })) - : n && n.length && (e.tree = n), - e.tree) - ) { - var p = { - primitive: "points", - usage: "static", - data: e.tree, - type: "uint32", - }; - e.elements ? e.elements(p) : (e.elements = l.elements(p)); - } - return ( - a({ data: d(t), usage: "dynamic" }), - s({ data: g(t), usage: "dynamic" }), - c({ - data: new Uint8Array(u), - type: "uint8", - usage: "stream", - }), - t - ); - }, - }, - { - marker: function (e, r, n) { - var i = r.activation; - if ( - (i.forEach(function (t) { - return t && t.destroy && t.destroy(); - }), - (i.length = 0), - e && "number" != typeof e[0]) - ) { - for ( - var a = [], o = 0, s = Math.min(e.length, r.count); - o < s; - o++ - ) { - var c = t.addMarker(e[o]); - (a[c] || (a[c] = new Uint8Array(r.count)), (a[c][o] = 1)); - } - for (var u = 0; u < a.length; u++) - if (a[u]) { - var f = { data: a[u], type: "uint8", usage: "static" }; - (i[u] ? i[u](f) : (i[u] = l.buffer(f)), - (i[u].data = a[u])); - } - } else { - i[t.addMarker(e)] = !0; - } - return e; - }, - range: function (t, e, r) { - var n = e.bounds; - if (n) - return ( - t || (t = n), - (e.scale = [1 / (t[2] - t[0]), 1 / (t[3] - t[1])]), - (e.translate = [-t[0], -t[1]]), - (e.scaleFract = g(e.scale)), - (e.translateFract = g(e.translate)), - t - ); - }, - viewport: function (t) { - return m(t || [a.drawingBufferWidth, a.drawingBufferHeight]); - }, - }, - ]), - b) - ) { - var w = x.count, - k = x.size, - M = x.borderSize, - A = x.sizeBuffer, - T = new Uint8Array(2 * w); - if (k.length || M.length) - for (var S = 0; S < w; S++) - ((T[2 * S] = Math.round((255 * (null == k[S] ? k : k[S])) / h)), - (T[2 * S + 1] = Math.round( - (255 * (null == M[S] ? M : M[S])) / h, - ))); - A({ data: T, usage: "dynamic" }); - } - if (_) { - var C, - E = x.count, - L = x.color, - z = x.borderColor, - P = x.colorBuffer; - if (t.tooManyColors) { - if (L.length || z.length) { - C = new Uint8Array(8 * E); - for (var D = 0; D < E; D++) { - var O = L[D]; - ((C[8 * D] = y[4 * O]), - (C[8 * D + 1] = y[4 * O + 1]), - (C[8 * D + 2] = y[4 * O + 2]), - (C[8 * D + 3] = y[4 * O + 3])); - var I = z[D]; - ((C[8 * D + 4] = y[4 * I]), - (C[8 * D + 5] = y[4 * I + 1]), - (C[8 * D + 6] = y[4 * I + 2]), - (C[8 * D + 7] = y[4 * I + 3])); - } - } - } else if (L.length || z.length) { - C = new Uint8Array(4 * E + 2); - for (var R = 0; R < E; R++) - (null != L[R] && - ((C[4 * R] = L[R] % p), - (C[4 * R + 1] = Math.floor(L[R] / p))), - null != z[R] && - ((C[4 * R + 2] = z[R] % p), - (C[4 * R + 3] = Math.floor(z[R] / p)))); - } - P({ - data: C || new Uint8Array(0), - type: "uint8", - usage: "dynamic", - }); - } - return x; - }); - } - }), - (v.prototype.addMarker = function (t) { - var e, - r = this.markerTextures, - n = this.regl, - i = this.markerCache, - a = null == t ? 0 : i.indexOf(t); - if (a >= 0) return a; - if (t instanceof Uint8Array || t instanceof Uint8ClampedArray) e = t; - else { - e = new Uint8Array(t.length); - for (var o = 0, s = t.length; o < s; o++) e[o] = 255 * t[o]; - } - var l = Math.floor(Math.sqrt(e.length)); - return ( - (a = r.length), - i.push(t), - r.push( - n.texture({ - channels: 1, - data: e, - radius: l, - mag: "linear", - min: "linear", - }), - ), - a - ); - }), - (v.prototype.updateColor = function (t) { - var e = this.paletteIds, - r = this.palette, - i = this.maxColors; - Array.isArray(t) || (t = [t]); - var o = []; - if ("number" == typeof t[0]) { - var s = []; - if (Array.isArray(t)) - for (var l = 0; l < t.length; l += 4) s.push(t.slice(l, l + 4)); - else for (var c = 0; c < t.length; c += 4) s.push(t.subarray(c, c + 4)); - t = s; - } - for (var u = 0; u < t.length; u++) { - var f = t[u]; - f = n(f, "uint8"); - var h = a(f, !1); - if (null == e[h]) { - var p = r.length; - ((e[h] = Math.floor(p / 4)), - (r[p] = f[0]), - (r[p + 1] = f[1]), - (r[p + 2] = f[2]), - (r[p + 3] = f[3])); - } - o[u] = e[h]; - } - return ( - !this.tooManyColors && - r.length > i * i * 4 && - (this.tooManyColors = !0), - this.updatePalette(r), - 1 === o.length ? o[0] : o - ); - }), - (v.prototype.updatePalette = function (t) { - if (!this.tooManyColors) { - var e = this.maxColors, - r = this.paletteTexture, - n = Math.ceil((0.25 * t.length) / e); - if (n > 1) - for (var i = (0.25 * (t = t.slice()).length) % e; i < n * e; i++) - t.push(0, 0, 0, 0); - (r.height < n && r.resize(e, n), - r.subimage( - { width: Math.min(0.25 * t.length, e), height: n, data: t }, - 0, - 0, - )); - } - }), - (v.prototype.destroy = function () { - return ( - this.groups.forEach(function (t) { - (t.sizeBuffer.destroy(), - t.positionBuffer.destroy(), - t.positionFractBuffer.destroy(), - t.colorBuffer.destroy(), - t.activation.forEach(function (t) { - return t && t.destroy && t.destroy(); - }), - t.selectionBuffer.destroy(), - t.elements && t.elements.destroy()); - }), - (this.groups.length = 0), - this.paletteTexture.destroy(), - this.markerTextures.forEach(function (t) { - return t && t.destroy && t.destroy(); - }), - this - ); - })); - }, - { - "array-bounds": 49, - "color-id": 98, - "color-normalize": 100, - "flatten-vertex-data": 198, - glslify: 295, - "is-iexplorer": 305, - "object-assign": 339, - "parse-rect": 343, - "pick-by-alias": 349, - "point-cluster": 353, - "to-float32": 416, - "update-diff": 426, - }, - ], - 378: [ - function (t, e, r) { - "use strict"; - var n = t("regl-scatter2d/scatter"), - i = t("pick-by-alias"), - a = t("array-bounds"), - o = t("raf"), - s = t("array-range"), - l = t("parse-rect"), - c = t("flatten-vertex-data"); - function u(t, e) { - if (!(this instanceof u)) return new u(t, e); - ((this.traces = []), - (this.passes = {}), - (this.regl = t), - (this.scatter = n(t)), - (this.canvas = this.scatter.canvas)); - } - function f(t, e, r) { - return ((null != t.id ? t.id : t) << 16) | ((255 & e) << 8) | (255 & r); - } - function h(t, e, r) { - var n, - i, - a, - o, - s = t[e], - l = t[r]; - return ( - s.length > 2 - ? (s[0], s[2], (n = s[1]), (i = s[3])) - : s.length - ? ((n = s[0]), (i = s[1])) - : (s.x, (n = s.y), s.x + s.width, (i = s.y + s.height)), - l.length > 2 - ? ((a = l[0]), (o = l[2]), l[1], l[3]) - : l.length - ? ((a = l[0]), (o = l[1])) - : ((a = l.x), l.y, (o = l.x + l.width), l.y + l.height), - [a, n, o, i] - ); - } - function p(t) { - if ("number" == typeof t) return [t, t, t, t]; - if (2 === t.length) return [t[0], t[1], t[0], t[1]]; - var e = l(t); - return [e.x, e.y, e.x + e.width, e.y + e.height]; - } - ((e.exports = u), - (u.prototype.render = function () { - for (var t, e = this, r = [], n = arguments.length; n--; ) - r[n] = arguments[n]; - return ( - r.length && (t = this).update.apply(t, r), - this.regl.attributes.preserveDrawingBuffer - ? this.draw() - : (this.dirty - ? null == this.planned && - (this.planned = o(function () { - (e.draw(), (e.dirty = !0), (e.planned = null)); - })) - : (this.draw(), - (this.dirty = !0), - o(function () { - e.dirty = !1; - })), - this) - ); - }), - (u.prototype.update = function () { - for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e]; - if (t.length) { - for (var r = 0; r < t.length; r++) this.updateItem(r, t[r]); - this.traces = this.traces.filter(Boolean); - for (var n, i = [], a = 0, o = 0; o < this.traces.length; o++) { - for ( - var s = this.traces[o], l = this.traces[o].passes, c = 0; - c < l.length; - c++ - ) - i.push(this.passes[l[c]]); - ((s.passOffset = a), (a += s.passes.length)); - } - return ((n = this.scatter).update.apply(n, i), this); - } - }), - (u.prototype.updateItem = function (t, e) { - var r = this.regl; - if (null === e) return ((this.traces[t] = null), this); - if (!e) return this; - var n, - o = i(e, { - data: "data items columns rows values dimensions samples x", - snap: "snap cluster", - size: "sizes size radius", - color: "colors color fill fill-color fillColor", - opacity: "opacity alpha transparency opaque", - borderSize: - "borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline", - borderColor: - "borderColors borderColor bordercolor stroke stroke-color strokeColor", - marker: "markers marker shape", - range: "range ranges databox dataBox", - viewport: "viewport viewBox viewbox", - domain: "domain domains area areas", - padding: "pad padding paddings pads margin margins", - transpose: "transpose transposed", - diagonal: "diagonal diag showDiagonal", - upper: - "upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf", - lower: - "lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower", - }), - s = - this.traces[t] || - (this.traces[t] = { - id: t, - buffer: r.buffer({ - usage: "dynamic", - type: "float", - data: new Uint8Array(), - }), - color: "black", - marker: null, - size: 12, - borderColor: "transparent", - borderSize: 1, - viewport: l([r._gl.drawingBufferWidth, r._gl.drawingBufferHeight]), - padding: [0, 0, 0, 0], - opacity: 1, - diagonal: !0, - upper: !0, - lower: !0, - }); - if ( - (null != o.color && (s.color = o.color), - null != o.size && (s.size = o.size), - null != o.marker && (s.marker = o.marker), - null != o.borderColor && (s.borderColor = o.borderColor), - null != o.borderSize && (s.borderSize = o.borderSize), - null != o.opacity && (s.opacity = o.opacity), - o.viewport && (s.viewport = l(o.viewport)), - null != o.diagonal && (s.diagonal = o.diagonal), - null != o.upper && (s.upper = o.upper), - null != o.lower && (s.lower = o.lower), - o.data) - ) { - (s.buffer(c(o.data)), - (s.columns = o.data.length), - (s.count = o.data[0].length), - (s.bounds = [])); - for (var u = 0; u < s.columns; u++) s.bounds[u] = a(o.data[u], 1); - } - (o.range && - ((s.range = o.range), (n = s.range && "number" != typeof s.range[0])), - o.domain && (s.domain = o.domain)); - var d = !1; - null != o.padding && - (Array.isArray(o.padding) && - o.padding.length === s.columns && - "number" == typeof o.padding[o.padding.length - 1] - ? ((s.padding = o.padding.map(p)), (d = !0)) - : (s.padding = p(o.padding))); - var g = s.columns, - m = s.count, - v = s.viewport.width, - y = s.viewport.height, - x = s.viewport.x, - b = s.viewport.y, - _ = v / g, - w = y / g; - s.passes = []; - for (var k = 0; k < g; k++) - for (var M = 0; M < g; M++) - if ( - (s.diagonal || M !== k) && - (s.upper || !(k > M)) && - (s.lower || !(k < M)) - ) { - var A = f(s.id, k, M), - T = this.passes[A] || (this.passes[A] = {}); - if ( - (o.data && - (o.transpose - ? (T.positions = { - x: { buffer: s.buffer, offset: M, count: m, stride: g }, - y: { buffer: s.buffer, offset: k, count: m, stride: g }, - }) - : (T.positions = { - x: { buffer: s.buffer, offset: M * m, count: m }, - y: { buffer: s.buffer, offset: k * m, count: m }, - }), - (T.bounds = h(s.bounds, k, M))), - o.domain || o.viewport || o.data) - ) { - var S = d ? h(s.padding, k, M) : s.padding; - if (s.domain) { - var C = h(s.domain, k, M), - E = C[0], - L = C[1], - z = C[2], - P = C[3]; - T.viewport = [ - x + E * v + S[0], - b + L * y + S[1], - x + z * v - S[2], - b + P * y - S[3], - ]; - } else - T.viewport = [ - x + M * _ + _ * S[0], - b + k * w + w * S[1], - x + (M + 1) * _ - _ * S[2], - b + (k + 1) * w - w * S[3], - ]; - } - (o.color && (T.color = s.color), - o.size && (T.size = s.size), - o.marker && (T.marker = s.marker), - o.borderSize && (T.borderSize = s.borderSize), - o.borderColor && (T.borderColor = s.borderColor), - o.opacity && (T.opacity = s.opacity), - o.range && (T.range = n ? h(s.range, k, M) : s.range || T.bounds), - s.passes.push(A)); - } - return this; - }), - (u.prototype.draw = function () { - for (var t, e = [], r = arguments.length; r--; ) e[r] = arguments[r]; - if (e.length) { - for (var n = [], i = 0; i < e.length; i++) - if ("number" == typeof e[i]) { - var a = this.traces[e[i]], - o = a.passes, - l = a.passOffset; - n.push.apply(n, s(l, l + o.length)); - } else if (e[i].length) { - var c = e[i], - u = this.traces[i], - f = u.passes, - h = u.passOffset; - f = f.map(function (t, e) { - n[h + e] = c; - }); - } - (t = this.scatter).draw.apply(t, n); - } else this.scatter.draw(); - return this; - }), - (u.prototype.destroy = function () { - return ( - this.traces.forEach(function (t) { - t.buffer && t.buffer.destroy && t.buffer.destroy(); - }), - (this.traces = null), - (this.passes = null), - this.scatter.destroy(), - this - ); - })); - }, - { - "array-bounds": 49, - "array-range": 51, - "flatten-vertex-data": 379, - "parse-rect": 343, - "pick-by-alias": 349, - raf: 368, - "regl-scatter2d/scatter": 377, - }, - ], - 379: [ - function (t, e, r) { - var n = t("dtype"); - e.exports = function (t, e, r) { - if (!t) throw new TypeError("must specify data as first parameter"); - if ( - ((r = 0 | +(r || 0)), - Array.isArray(t) && t[0] && "number" == typeof t[0][0]) - ) { - var i, - a, - o, - s, - l = t[0].length, - c = t.length * l; - (e && "string" != typeof e) || (e = new (n(e || "float32"))(c + r)); - var u = e.length - r; - if (c !== u) - throw new Error( - "source length " + - c + - " (" + - l + - "x" + - t.length + - ") does not match destination length " + - u, - ); - for (i = 0, o = r; i < t.length; i++) - for (a = 0; a < l; a++) e[o++] = null === t[i][a] ? NaN : t[i][a]; - } else if (e && "string" != typeof e) e.set(t, r); - else { - var f = n(e || "float32"); - if (Array.isArray(t) || "array" === e) - for ( - e = new f(t.length + r), i = 0, o = r, s = e.length; - o < s; - o++, i++ - ) - e[o] = null === t[i] ? NaN : t[i]; - else 0 === r ? (e = new f(t)) : (e = new f(t.length + r)).set(t, r); - } - return e; - }; - }, - { dtype: 135 }, - ], - 380: [ - function (t, e, r) { - var n, i; - ((n = this), - (i = function () { - function t(t, e) { - ((this.id = V++), (this.type = t), (this.data = e)); - } - function e(t) { - return ( - "[" + - (function t(e) { - if (0 === e.length) return []; - var r = e.charAt(0), - n = e.charAt(e.length - 1); - if (1 < e.length && r === n && ('"' === r || "'" === r)) - return [ - '"' + - e - .substr(1, e.length - 2) - .replace(/\\/g, "\\\\") - .replace(/"/g, '\\"') + - '"', - ]; - if ((r = /\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))) - return t(e.substr(0, r.index)) - .concat(t(r[1])) - .concat(t(e.substr(r.index + r[0].length))); - if (1 === (r = e.split(".")).length) - return [ - '"' + e.replace(/\\/g, "\\\\").replace(/"/g, '\\"') + '"', - ]; - for (e = [], n = 0; n < r.length; ++n) e = e.concat(t(r[n])); - return e; - })(t).join("][") + - "]" - ); - } - function r(t) { - return "string" == typeof t ? t.split() : t; - } - function n(t) { - return "string" == typeof t ? document.querySelector(t) : t; - } - function i(t) { - var e, - i, - a, - o, - s = t || {}; - t = {}; - var l = [], - c = [], - u = "undefined" == typeof window ? 1 : window.devicePixelRatio, - f = !1, - h = function (t) {}, - p = function () {}; - if ( - ("string" == typeof s - ? (e = document.querySelector(s)) - : "object" == typeof s && - ("string" == typeof s.nodeName && - "function" == typeof s.appendChild && - "function" == typeof s.getBoundingClientRect - ? (e = s) - : "function" == typeof s.drawArrays || - "function" == typeof s.drawElements - ? (a = (o = s).canvas) - : ("gl" in s - ? (o = s.gl) - : "canvas" in s - ? (a = n(s.canvas)) - : "container" in s && (i = n(s.container)), - "attributes" in s && (t = s.attributes), - "extensions" in s && (l = r(s.extensions)), - "optionalExtensions" in s && (c = r(s.optionalExtensions)), - "onDone" in s && (h = s.onDone), - "profile" in s && (f = !!s.profile), - "pixelRatio" in s && (u = +s.pixelRatio))), - e && ("canvas" === e.nodeName.toLowerCase() ? (a = e) : (i = e)), - !o) - ) { - if (!a) { - if ( - !(e = (function (t, e, r) { - function n() { - var e = window.innerWidth, - n = window.innerHeight; - (t !== document.body && - ((e = (n = t.getBoundingClientRect()).right - n.left), - (n = n.bottom - n.top)), - (i.width = r * e), - (i.height = r * n), - j(i.style, { width: e + "px", height: n + "px" })); - } - var i = document.createElement("canvas"); - return ( - j(i.style, { - border: 0, - margin: 0, - padding: 0, - top: 0, - left: 0, - }), - t.appendChild(i), - t === document.body && - ((i.style.position = "absolute"), - j(t.style, { margin: 0, padding: 0 })), - window.addEventListener("resize", n, !1), - n(), - { - canvas: i, - onDestroy: function () { - (window.removeEventListener("resize", n), - t.removeChild(i)); - }, - } - ); - })(i || document.body, 0, u)) - ) - return null; - ((a = e.canvas), (p = e.onDestroy)); - } - o = (function (t, e) { - function r(r) { - try { - return t.getContext(r, e); - } catch (t) { - return null; - } - } - return ( - r("webgl") || r("experimental-webgl") || r("webgl-experimental") - ); - })(a, t); - } - return o - ? { - gl: o, - canvas: a, - container: i, - extensions: l, - optionalExtensions: c, - pixelRatio: u, - profile: f, - onDone: h, - onDestroy: p, - } - : (p(), - h( - "webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org", - ), - null); - } - function a(t) { - return ( - !!t && - "object" == typeof t && - Array.isArray(t.shape) && - Array.isArray(t.stride) && - "number" == typeof t.offset && - t.shape.length === t.stride.length && - (Array.isArray(t.data) || G(t.data)) - ); - } - function o(t, e) { - for (var r = Array(t), n = 0; n < t; ++n) r[n] = e(n); - return r; - } - function s(t) { - var e, r; - return ( - (e = (65535 < t) << 4), - (e |= r = (255 < (t >>>= e)) << 3), - (e |= r = (15 < (t >>>= r)) << 2) | - (r = (3 < (t >>>= r)) << 1) | - ((t >>> r) >> 1) - ); - } - function l(t) { - t: { - for (var e = 16; 268435456 >= e; e *= 16) - if (t <= e) { - t = e; - break t; - } - t = 0; - } - return 0 < (e = Y[s(t) >> 2]).length ? e.pop() : new ArrayBuffer(t); - } - function c(t) { - Y[s(t.byteLength) >> 2].push(t); - } - function u(t, e, r, n, i, a) { - for (var o = 0; o < e; ++o) - for (var s = t[o], l = 0; l < r; ++l) - for (var c = s[l], u = 0; u < n; ++u) i[a++] = c[u]; - } - function f(t) { - return 0 | J[Object.prototype.toString.call(t)]; - } - function h(t, e) { - for (var r = 0; r < e.length; ++r) t[r] = e[r]; - } - function p(t, e, r, n, i, a, o) { - for (var s = 0, l = 0; l < r; ++l) - for (var c = 0; c < n; ++c) t[s++] = e[i * l + a * c + o]; - } - function d(t, e, r) { - function n(e) { - ((this.id = l++), - (this.buffer = t.createBuffer()), - (this.type = e), - (this.usage = 35044), - (this.byteLength = 0), - (this.dimension = 1), - (this.dtype = 5121), - (this.persistentData = null), - r.profile && (this.stats = { size: 0 })); - } - function i(e, r, n) { - ((e.byteLength = r.byteLength), t.bufferData(e.type, r, n)); - } - function o(t, e, r, n, o, s) { - if (((t.usage = r), Array.isArray(e))) { - if (((t.dtype = n || 5126), 0 < e.length)) - if (Array.isArray(e[0])) { - o = tt(e); - for (var l = (n = 1); l < o.length; ++l) n *= o[l]; - ((t.dimension = n), - i(t, (e = $(e, o, t.dtype)), r), - s ? (t.persistentData = e) : X.freeType(e)); - } else - "number" == typeof e[0] - ? ((t.dimension = o), - h((o = X.allocType(t.dtype, e.length)), e), - i(t, o, r), - s ? (t.persistentData = o) : X.freeType(o)) - : G(e[0]) && - ((t.dimension = e[0].length), - (t.dtype = n || f(e[0]) || 5126), - i(t, (e = $(e, [e.length, e[0].length], t.dtype)), r), - s ? (t.persistentData = e) : X.freeType(e)); - } else if (G(e)) - ((t.dtype = n || f(e)), - (t.dimension = o), - i(t, e, r), - s && - (t.persistentData = new Uint8Array(new Uint8Array(e.buffer)))); - else if (a(e)) { - o = e.shape; - var c = e.stride, - u = ((l = e.offset), 0), - d = 0, - g = 0, - m = 0; - (1 === o.length - ? ((u = o[0]), (d = 1), (g = c[0]), (m = 0)) - : 2 === o.length && - ((u = o[0]), (d = o[1]), (g = c[0]), (m = c[1])), - (t.dtype = n || f(e.data) || 5126), - (t.dimension = d), - p((o = X.allocType(t.dtype, u * d)), e.data, u, d, g, m, l), - i(t, o, r), - s ? (t.persistentData = o) : X.freeType(o)); - } - } - function s(r) { - (e.bufferCount--, - t.deleteBuffer(r.buffer), - (r.buffer = null), - delete c[r.id]); - } - var l = 0, - c = {}; - ((n.prototype.bind = function () { - t.bindBuffer(this.type, this.buffer); - }), - (n.prototype.destroy = function () { - s(this); - })); - var u = []; - return ( - r.profile && - (e.getTotalBufferSize = function () { - var t = 0; - return ( - Object.keys(c).forEach(function (e) { - t += c[e].stats.size; - }), - t - ); - }), - { - create: function (i, l, u, d) { - function g(e) { - var n = 35044, - i = null, - s = 0, - l = 0, - c = 1; - return ( - Array.isArray(e) || G(e) || a(e) - ? (i = e) - : "number" == typeof e - ? (s = 0 | e) - : e && - ("data" in e && (i = e.data), - "usage" in e && (n = Q[e.usage]), - "type" in e && (l = K[e.type]), - "dimension" in e && (c = 0 | e.dimension), - "length" in e && (s = 0 | e.length)), - m.bind(), - i - ? o(m, i, n, l, c, d) - : (t.bufferData(m.type, s, n), - (m.dtype = l || 5121), - (m.usage = n), - (m.dimension = c), - (m.byteLength = s)), - r.profile && (m.stats.size = m.byteLength * et[m.dtype]), - g - ); - } - e.bufferCount++; - var m = new n(l); - return ( - (c[m.id] = m), - u || g(i), - (g._reglType = "buffer"), - (g._buffer = m), - (g.subdata = function (e, r) { - var n, - i = 0 | (r || 0); - if ((m.bind(), G(e))) t.bufferSubData(m.type, i, e); - else if (Array.isArray(e)) { - if (0 < e.length) - if ("number" == typeof e[0]) { - var o = X.allocType(m.dtype, e.length); - (h(o, e), t.bufferSubData(m.type, i, o), X.freeType(o)); - } else - (Array.isArray(e[0]) || G(e[0])) && - ((n = tt(e)), - (o = $(e, n, m.dtype)), - t.bufferSubData(m.type, i, o), - X.freeType(o)); - } else if (a(e)) { - n = e.shape; - var s = e.stride, - l = (o = 0), - c = 0, - u = 0; - (1 === n.length - ? ((o = n[0]), (l = 1), (c = s[0]), (u = 0)) - : 2 === n.length && - ((o = n[0]), (l = n[1]), (c = s[0]), (u = s[1])), - (n = Array.isArray(e.data) ? m.dtype : f(e.data)), - p( - (n = X.allocType(n, o * l)), - e.data, - o, - l, - c, - u, - e.offset, - ), - t.bufferSubData(m.type, i, n), - X.freeType(n)); - } - return g; - }), - r.profile && (g.stats = m.stats), - (g.destroy = function () { - s(m); - }), - g - ); - }, - createStream: function (t, e) { - var r = u.pop(); - return ( - r || (r = new n(t)), - r.bind(), - o(r, e, 35040, 0, 1, !1), - r - ); - }, - destroyStream: function (t) { - u.push(t); - }, - clear: function () { - (W(c).forEach(s), u.forEach(s)); - }, - getBuffer: function (t) { - return t && t._buffer instanceof n ? t._buffer : null; - }, - restore: function () { - W(c).forEach(function (e) { - ((e.buffer = t.createBuffer()), - t.bindBuffer(e.type, e.buffer), - t.bufferData( - e.type, - e.persistentData || e.byteLength, - e.usage, - )); - }); - }, - _initBuffer: o, - } - ); - } - function g(t, e, r, n) { - function i(t) { - ((this.id = c++), - (l[this.id] = this), - (this.buffer = t), - (this.primType = 4), - (this.type = this.vertCount = 0)); - } - function o(n, i, o, s, l, c, u) { - if ((n.buffer.bind(), i)) { - var f = u; - (u || - (G(i) && (!a(i) || G(i.data))) || - (f = e.oes_element_index_uint ? 5125 : 5123), - r._initBuffer(n.buffer, i, o, f, 3)); - } else - (t.bufferData(34963, c, o), - (n.buffer.dtype = f || 5121), - (n.buffer.usage = o), - (n.buffer.dimension = 3), - (n.buffer.byteLength = c)); - if (((f = u), !u)) { - switch (n.buffer.dtype) { - case 5121: - case 5120: - f = 5121; - break; - case 5123: - case 5122: - f = 5123; - break; - case 5125: - case 5124: - f = 5125; - } - n.buffer.dtype = f; - } - ((n.type = f), - 0 > (i = l) && - ((i = n.buffer.byteLength), - 5123 === f ? (i >>= 1) : 5125 === f && (i >>= 2)), - (n.vertCount = i), - (i = s), - 0 > s && - ((i = 4), - 1 === (s = n.buffer.dimension) && (i = 0), - 2 === s && (i = 1), - 3 === s && (i = 4)), - (n.primType = i)); - } - function s(t) { - (n.elementsCount--, - delete l[t.id], - t.buffer.destroy(), - (t.buffer = null)); - } - var l = {}, - c = 0, - u = { uint8: 5121, uint16: 5123 }; - (e.oes_element_index_uint && (u.uint32 = 5125), - (i.prototype.bind = function () { - this.buffer.bind(); - })); - var f = []; - return { - create: function (t, e) { - function l(t) { - if (t) - if ("number" == typeof t) - (c(t), - (f.primType = 4), - (f.vertCount = 0 | t), - (f.type = 5121)); - else { - var e = null, - r = 35044, - n = -1, - i = -1, - s = 0, - h = 0; - (Array.isArray(t) || G(t) || a(t) - ? (e = t) - : ("data" in t && (e = t.data), - "usage" in t && (r = Q[t.usage]), - "primitive" in t && (n = rt[t.primitive]), - "count" in t && (i = 0 | t.count), - "type" in t && (h = u[t.type]), - "length" in t - ? (s = 0 | t.length) - : ((s = i), - 5123 === h || 5122 === h - ? (s *= 2) - : (5125 !== h && 5124 !== h) || (s *= 4))), - o(f, e, r, n, i, s, h)); - } - else (c(), (f.primType = 4), (f.vertCount = 0), (f.type = 5121)); - return l; - } - var c = r.create(null, 34963, !0), - f = new i(c._buffer); - return ( - n.elementsCount++, - l(t), - (l._reglType = "elements"), - (l._elements = f), - (l.subdata = function (t, e) { - return (c.subdata(t, e), l); - }), - (l.destroy = function () { - s(f); - }), - l - ); - }, - createStream: function (t) { - var e = f.pop(); - return ( - e || (e = new i(r.create(null, 34963, !0, !1)._buffer)), - o(e, t, 35040, -1, -1, 0, 0), - e - ); - }, - destroyStream: function (t) { - f.push(t); - }, - getElements: function (t) { - return "function" == typeof t && t._elements instanceof i - ? t._elements - : null; - }, - clear: function () { - W(l).forEach(s); - }, - }; - } - function m(t) { - for (var e = X.allocType(5123, t.length), r = 0; r < t.length; ++r) - if (isNaN(t[r])) e[r] = 65535; - else if (1 / 0 === t[r]) e[r] = 31744; - else if (-1 / 0 === t[r]) e[r] = 64512; - else { - nt[0] = t[r]; - var n = ((a = it[0]) >>> 31) << 15, - i = ((a << 1) >>> 24) - 127, - a = (a >> 13) & 1023; - e[r] = - -24 > i - ? n - : -14 > i - ? n + ((a + 1024) >> (-14 - i)) - : 15 < i - ? n + 31744 - : n + ((i + 15) << 10) + a; - } - return e; - } - function v(t) { - return Array.isArray(t) || G(t); - } - function y(t) { - return Array.isArray(t) && (0 === t.length || "number" == typeof t[0]); - } - function x(t) { - return !(!Array.isArray(t) || 0 === t.length || !v(t[0])); - } - function b(t) { - return Object.prototype.toString.call(t); - } - function _(t) { - if (!t) return !1; - var e = b(t); - return 0 <= lt.indexOf(e) || y(t) || x(t) || a(t); - } - function w(t, e) { - 36193 === t.type ? ((t.data = m(e)), X.freeType(e)) : (t.data = e); - } - function k(t, e, r, n, i, a) { - if ( - ((t = void 0 !== ut[t] ? ut[t] : st[t] * ct[e]), a && (t *= 6), i) - ) { - for (n = 0; 1 <= r; ) ((n += t * r * r), (r /= 2)); - return n; - } - return t * r * n; - } - function M(t, e, r, n, i, o, s) { - function l() { - ((this.format = this.internalformat = 6408), - (this.type = 5121), - (this.flipY = this.premultiplyAlpha = this.compressed = !1), - (this.unpackAlignment = 1), - (this.colorSpace = 37444), - (this.channels = this.height = this.width = 0)); - } - function c(t, e) { - ((t.internalformat = e.internalformat), - (t.format = e.format), - (t.type = e.type), - (t.compressed = e.compressed), - (t.premultiplyAlpha = e.premultiplyAlpha), - (t.flipY = e.flipY), - (t.unpackAlignment = e.unpackAlignment), - (t.colorSpace = e.colorSpace), - (t.width = e.width), - (t.height = e.height), - (t.channels = e.channels)); - } - function u(t, e) { - if ("object" == typeof e && e) { - ("premultiplyAlpha" in e && - (t.premultiplyAlpha = e.premultiplyAlpha), - "flipY" in e && (t.flipY = e.flipY), - "alignment" in e && (t.unpackAlignment = e.alignment), - "colorSpace" in e && (t.colorSpace = U[e.colorSpace]), - "type" in e && (t.type = q[e.type])); - var r = t.width, - n = t.height, - i = t.channels, - a = !1; - ("shape" in e - ? ((r = e.shape[0]), - (n = e.shape[1]), - 3 === e.shape.length && ((i = e.shape[2]), (a = !0))) - : ("radius" in e && (r = n = e.radius), - "width" in e && (r = e.width), - "height" in e && (n = e.height), - "channels" in e && ((i = e.channels), (a = !0))), - (t.width = 0 | r), - (t.height = 0 | n), - (t.channels = 0 | i), - (r = !1), - "format" in e && - ((r = e.format), - (n = t.internalformat = H[r]), - (t.format = it[n]), - r in q && !("type" in e) && (t.type = q[r]), - r in Y && (t.compressed = !0), - (r = !0)), - !a && r - ? (t.channels = st[t.format]) - : a && - !r && - t.channels !== ot[t.format] && - (t.format = t.internalformat = ot[t.channels])); - } - } - function f(e) { - (t.pixelStorei(37440, e.flipY), - t.pixelStorei(37441, e.premultiplyAlpha), - t.pixelStorei(37443, e.colorSpace), - t.pixelStorei(3317, e.unpackAlignment)); - } - function h() { - (l.call(this), - (this.yOffset = this.xOffset = 0), - (this.data = null), - (this.needsFree = !1), - (this.element = null), - (this.needsCopy = !1)); - } - function p(t, e) { - var r = null; - if ( - (_(e) - ? (r = e) - : e && - (u(t, e), - "x" in e && (t.xOffset = 0 | e.x), - "y" in e && (t.yOffset = 0 | e.y), - _(e.data) && (r = e.data)), - e.copy) - ) { - var n = i.viewportWidth, - o = i.viewportHeight; - ((t.width = t.width || n - t.xOffset), - (t.height = t.height || o - t.yOffset), - (t.needsCopy = !0)); - } else if (r) { - if (G(r)) - ((t.channels = t.channels || 4), - (t.data = r), - "type" in e || - 5121 !== t.type || - (t.type = 0 | J[Object.prototype.toString.call(r)])); - else if (y(r)) { - switch ( - ((t.channels = t.channels || 4), (o = (n = r).length), t.type) - ) { - case 5121: - case 5123: - case 5125: - case 5126: - ((o = X.allocType(t.type, o)).set(n), (t.data = o)); - break; - case 36193: - t.data = m(n); - } - ((t.alignment = 1), (t.needsFree = !0)); - } else if (a(r)) { - ((n = r.data), - Array.isArray(n) || - 5121 !== t.type || - (t.type = 0 | J[Object.prototype.toString.call(n)])); - o = r.shape; - var s, - l, - c, - f, - h = r.stride; - (3 === o.length ? ((c = o[2]), (f = h[2])) : (f = c = 1), - (s = o[0]), - (l = o[1]), - (o = h[0]), - (h = h[1]), - (t.alignment = 1), - (t.width = s), - (t.height = l), - (t.channels = c), - (t.format = t.internalformat = ot[c]), - (t.needsFree = !0), - (s = f), - (r = r.offset), - (c = t.width), - (f = t.height), - (l = t.channels)); - for ( - var p = X.allocType( - 36193 === t.type ? 5126 : t.type, - c * f * l, - ), - d = 0, - g = 0; - g < f; - ++g - ) - for (var k = 0; k < c; ++k) - for (var M = 0; M < l; ++M) - p[d++] = n[o * k + h * g + s * M + r]; - w(t, p); - } else if ( - "[object HTMLCanvasElement]" === b(r) || - "[object CanvasRenderingContext2D]" === b(r) - ) - ("[object HTMLCanvasElement]" === b(r) - ? (t.element = r) - : (t.element = r.canvas), - (t.width = t.element.width), - (t.height = t.element.height), - (t.channels = 4)); - else if ("[object HTMLImageElement]" === b(r)) - ((t.element = r), - (t.width = r.naturalWidth), - (t.height = r.naturalHeight), - (t.channels = 4)); - else if ("[object HTMLVideoElement]" === b(r)) - ((t.element = r), - (t.width = r.videoWidth), - (t.height = r.videoHeight), - (t.channels = 4)); - else if (x(r)) { - for ( - n = t.width || r[0].length, - o = t.height || r.length, - h = t.channels, - h = v(r[0][0]) ? h || r[0][0].length : h || 1, - s = Z.shape(r), - c = 1, - f = 0; - f < s.length; - ++f - ) - c *= s[f]; - ((c = X.allocType(36193 === t.type ? 5126 : t.type, c)), - Z.flatten(r, s, "", c), - w(t, c), - (t.alignment = 1), - (t.width = n), - (t.height = o), - (t.channels = h), - (t.format = t.internalformat = ot[h]), - (t.needsFree = !0)); - } - } else - ((t.width = t.width || 1), - (t.height = t.height || 1), - (t.channels = t.channels || 4)); - } - function d(e, r, i, a, o) { - var s = e.element, - l = e.data, - c = e.internalformat, - u = e.format, - h = e.type, - p = e.width, - d = e.height; - (f(e), - s - ? t.texSubImage2D(r, o, i, a, u, h, s) - : e.compressed - ? t.compressedTexSubImage2D(r, o, i, a, c, p, d, l) - : e.needsCopy - ? (n(), - t.copyTexSubImage2D(r, o, i, a, e.xOffset, e.yOffset, p, d)) - : t.texSubImage2D(r, o, i, a, p, d, u, h, l)); - } - function g() { - return lt.pop() || new h(); - } - function M(t) { - (t.needsFree && X.freeType(t.data), h.call(t), lt.push(t)); - } - function A(t, e, r) { - var n = (t.images[0] = g()); - ((t.mipmask = 1), - (n.width = t.width = e), - (n.height = t.height = r), - (n.channels = t.channels = 4)); - } - function T(t, e) { - var r = null; - if (_(e)) (c((r = t.images[0] = g()), t), p(r, e), (t.mipmask = 1)); - else if ((u(t, e), Array.isArray(e.mipmap))) - for (var n = e.mipmap, i = 0; i < n.length; ++i) - (c((r = t.images[i] = g()), t), - (r.width >>= i), - (r.height >>= i), - p(r, n[i]), - (t.mipmask |= 1 << i)); - else (c((r = t.images[0] = g()), t), p(r, e), (t.mipmask = 1)); - c(t, t.images[0]); - } - function S(e, r) { - for (var i = e.images, a = 0; a < i.length && i[a]; ++a) { - var o = i[a], - s = r, - l = a, - c = o.element, - u = o.data, - h = o.internalformat, - p = o.format, - d = o.type, - g = o.width, - m = o.height; - (f(o), - c - ? t.texImage2D(s, l, p, p, d, c) - : o.compressed - ? t.compressedTexImage2D(s, l, h, g, m, 0, u) - : o.needsCopy - ? (n(), - t.copyTexImage2D(s, l, p, o.xOffset, o.yOffset, g, m, 0)) - : t.texImage2D(s, l, p, g, m, 0, p, d, u)); - } - } - function C() { - var t = - ct.pop() || - new (function () { - (l.call(this), - (this.genMipmaps = !1), - (this.mipmapHint = 4352), - (this.mipmask = 0), - (this.images = Array(16))); - })(); - l.call(t); - for (var e = (t.mipmask = 0); 16 > e; ++e) t.images[e] = null; - return t; - } - function E(t) { - for (var e = t.images, r = 0; r < e.length; ++r) - (e[r] && M(e[r]), (e[r] = null)); - ct.push(t); - } - function L() { - ((this.magFilter = this.minFilter = 9728), - (this.wrapT = this.wrapS = 33071), - (this.anisotropic = 1), - (this.genMipmaps = !1), - (this.mipmapHint = 4352)); - } - function z(t, e) { - ("min" in e && - ((t.minFilter = V[e.min]), - 0 <= at.indexOf(t.minFilter) && (t.genMipmaps = !0)), - "mag" in e && (t.magFilter = N[e.mag])); - var r = t.wrapS, - n = t.wrapT; - if ("wrap" in e) { - var i = e.wrap; - "string" == typeof i - ? (r = n = F[i]) - : Array.isArray(i) && ((r = F[i[0]]), (n = F[i[1]])); - } else - ("wrapS" in e && (r = F[e.wrapS]), - "wrapT" in e && (n = F[e.wrapT])); - if ( - ((t.wrapS = r), - (t.wrapT = n), - "anisotropic" in e && (t.anisotropic = e.anisotropic), - "mipmap" in e) - ) { - switch (((r = !1), typeof e.mipmap)) { - case "string": - ((t.mipmapHint = B[e.mipmap]), (r = t.genMipmaps = !0)); - break; - case "boolean": - r = t.genMipmaps = e.mipmap; - break; - case "object": - ((t.genMipmaps = !1), (r = !0)); - } - !r || "min" in e || (t.minFilter = 9984); - } - } - function P(r, n) { - (t.texParameteri(n, 10241, r.minFilter), - t.texParameteri(n, 10240, r.magFilter), - t.texParameteri(n, 10242, r.wrapS), - t.texParameteri(n, 10243, r.wrapT), - e.ext_texture_filter_anisotropic && - t.texParameteri(n, 34046, r.anisotropic), - r.genMipmaps && (t.hint(33170, r.mipmapHint), t.generateMipmap(n))); - } - function D(e) { - (l.call(this), - (this.mipmask = 0), - (this.internalformat = 6408), - (this.id = ut++), - (this.refCount = 1), - (this.target = e), - (this.texture = t.createTexture()), - (this.unit = -1), - (this.bindCount = 0), - (this.texInfo = new L()), - s.profile && (this.stats = { size: 0 })); - } - function O(e) { - (t.activeTexture(33984), t.bindTexture(e.target, e.texture)); - } - function I() { - var e = pt[0]; - e ? t.bindTexture(e.target, e.texture) : t.bindTexture(3553, null); - } - function R(e) { - var r = e.texture, - n = e.unit, - i = e.target; - (0 <= n && - (t.activeTexture(33984 + n), - t.bindTexture(i, null), - (pt[n] = null)), - t.deleteTexture(r), - (e.texture = null), - (e.params = null), - (e.pixels = null), - (e.refCount = 0), - delete ft[e.id], - o.textureCount--); - } - var B = { - "don't care": 4352, - "dont care": 4352, - nice: 4354, - fast: 4353, - }, - F = { repeat: 10497, clamp: 33071, mirror: 33648 }, - N = { nearest: 9728, linear: 9729 }, - V = j( - { - mipmap: 9987, - "nearest mipmap nearest": 9984, - "linear mipmap nearest": 9985, - "nearest mipmap linear": 9986, - "linear mipmap linear": 9987, - }, - N, - ), - U = { none: 0, browser: 37444 }, - q = { uint8: 5121, rgba4: 32819, rgb565: 33635, "rgb5 a1": 32820 }, - H = { - alpha: 6406, - luminance: 6409, - "luminance alpha": 6410, - rgb: 6407, - rgba: 6408, - rgba4: 32854, - "rgb5 a1": 32855, - rgb565: 36194, - }, - Y = {}; - (e.ext_srgb && ((H.srgb = 35904), (H.srgba = 35906)), - e.oes_texture_float && (q.float32 = q.float = 5126), - e.oes_texture_half_float && (q.float16 = q["half float"] = 36193), - e.webgl_depth_texture && - (j(H, { depth: 6402, "depth stencil": 34041 }), - j(q, { uint16: 5123, uint32: 5125, "depth stencil": 34042 })), - e.webgl_compressed_texture_s3tc && - j(Y, { - "rgb s3tc dxt1": 33776, - "rgba s3tc dxt1": 33777, - "rgba s3tc dxt3": 33778, - "rgba s3tc dxt5": 33779, - }), - e.webgl_compressed_texture_atc && - j(Y, { - "rgb atc": 35986, - "rgba atc explicit alpha": 35987, - "rgba atc interpolated alpha": 34798, - }), - e.webgl_compressed_texture_pvrtc && - j(Y, { - "rgb pvrtc 4bppv1": 35840, - "rgb pvrtc 2bppv1": 35841, - "rgba pvrtc 4bppv1": 35842, - "rgba pvrtc 2bppv1": 35843, - }), - e.webgl_compressed_texture_etc1 && (Y["rgb etc1"] = 36196)); - var K = Array.prototype.slice.call(t.getParameter(34467)); - Object.keys(Y).forEach(function (t) { - var e = Y[t]; - 0 <= K.indexOf(e) && (H[t] = e); - }); - var Q = Object.keys(H); - r.textureFormats = Q; - var $ = []; - Object.keys(H).forEach(function (t) { - $[H[t]] = t; - }); - var tt = []; - Object.keys(q).forEach(function (t) { - tt[q[t]] = t; - }); - var et = []; - Object.keys(N).forEach(function (t) { - et[N[t]] = t; - }); - var rt = []; - Object.keys(V).forEach(function (t) { - rt[V[t]] = t; - }); - var nt = []; - Object.keys(F).forEach(function (t) { - nt[F[t]] = t; - }); - var it = Q.reduce(function (t, e) { - var r = H[e]; - return ( - 6409 === r || - 6406 === r || - 6409 === r || - 6410 === r || - 6402 === r || - 34041 === r - ? (t[r] = r) - : 32855 === r || 0 <= e.indexOf("rgba") - ? (t[r] = 6408) - : (t[r] = 6407), - t - ); - }, {}), - lt = [], - ct = [], - ut = 0, - ft = {}, - ht = r.maxTextureUnits, - pt = Array(ht).map(function () { - return null; - }); - return ( - j(D.prototype, { - bind: function () { - this.bindCount += 1; - var e = this.unit; - if (0 > e) { - for (var r = 0; r < ht; ++r) { - var n = pt[r]; - if (n) { - if (0 < n.bindCount) continue; - n.unit = -1; - } - ((pt[r] = this), (e = r)); - break; - } - (s.profile && - o.maxTextureUnits < e + 1 && - (o.maxTextureUnits = e + 1), - (this.unit = e), - t.activeTexture(33984 + e), - t.bindTexture(this.target, this.texture)); - } - return e; - }, - unbind: function () { - --this.bindCount; - }, - decRef: function () { - 0 >= --this.refCount && R(this); - }, - }), - s.profile && - (o.getTotalTextureSize = function () { - var t = 0; - return ( - Object.keys(ft).forEach(function (e) { - t += ft[e].stats.size; - }), - t - ); - }), - { - create2D: function (e, r) { - function n(t, e) { - var r = i.texInfo; - L.call(r); - var a = C(); - return ( - "number" == typeof t - ? A(a, 0 | t, "number" == typeof e ? 0 | e : 0 | t) - : t - ? (z(r, t), T(a, t)) - : A(a, 1, 1), - r.genMipmaps && (a.mipmask = (a.width << 1) - 1), - (i.mipmask = a.mipmask), - c(i, a), - (i.internalformat = a.internalformat), - (n.width = a.width), - (n.height = a.height), - O(i), - S(a, 3553), - P(r, 3553), - I(), - E(a), - s.profile && - (i.stats.size = k( - i.internalformat, - i.type, - a.width, - a.height, - r.genMipmaps, - !1, - )), - (n.format = $[i.internalformat]), - (n.type = tt[i.type]), - (n.mag = et[r.magFilter]), - (n.min = rt[r.minFilter]), - (n.wrapS = nt[r.wrapS]), - (n.wrapT = nt[r.wrapT]), - n - ); - } - var i = new D(3553); - return ( - (ft[i.id] = i), - o.textureCount++, - n(e, r), - (n.subimage = function (t, e, r, a) { - ((e |= 0), (r |= 0), (a |= 0)); - var o = g(); - return ( - c(o, i), - (o.width = 0), - (o.height = 0), - p(o, t), - (o.width = o.width || (i.width >> a) - e), - (o.height = o.height || (i.height >> a) - r), - O(i), - d(o, 3553, e, r, a), - I(), - M(o), - n - ); - }), - (n.resize = function (e, r) { - var a = 0 | e, - o = 0 | r || a; - if (a === i.width && o === i.height) return n; - ((n.width = i.width = a), (n.height = i.height = o), O(i)); - for (var l = 0; i.mipmask >> l; ++l) - t.texImage2D( - 3553, - l, - i.format, - a >> l, - o >> l, - 0, - i.format, - i.type, - null, - ); - return ( - I(), - s.profile && - (i.stats.size = k( - i.internalformat, - i.type, - a, - o, - !1, - !1, - )), - n - ); - }), - (n._reglType = "texture2d"), - (n._texture = i), - s.profile && (n.stats = i.stats), - (n.destroy = function () { - i.decRef(); - }), - n - ); - }, - createCube: function (e, r, n, i, a, l) { - function f(t, e, r, n, i, a) { - var o, - l = h.texInfo; - for (L.call(l), o = 0; 6 > o; ++o) m[o] = C(); - if ("number" != typeof t && t) { - if ("object" == typeof t) - if (e) - (T(m[0], t), - T(m[1], e), - T(m[2], r), - T(m[3], n), - T(m[4], i), - T(m[5], a)); - else if ((z(l, t), u(h, t), "faces" in t)) - for (t = t.faces, o = 0; 6 > o; ++o) - (c(m[o], h), T(m[o], t[o])); - else for (o = 0; 6 > o; ++o) T(m[o], t); - } else for (t = 0 | t || 1, o = 0; 6 > o; ++o) A(m[o], t, t); - for ( - c(h, m[0]), - h.mipmask = l.genMipmaps - ? (m[0].width << 1) - 1 - : m[0].mipmask, - h.internalformat = m[0].internalformat, - f.width = m[0].width, - f.height = m[0].height, - O(h), - o = 0; - 6 > o; - ++o - ) - S(m[o], 34069 + o); - for ( - P(l, 34067), - I(), - s.profile && - (h.stats.size = k( - h.internalformat, - h.type, - f.width, - f.height, - l.genMipmaps, - !0, - )), - f.format = $[h.internalformat], - f.type = tt[h.type], - f.mag = et[l.magFilter], - f.min = rt[l.minFilter], - f.wrapS = nt[l.wrapS], - f.wrapT = nt[l.wrapT], - o = 0; - 6 > o; - ++o - ) - E(m[o]); - return f; - } - var h = new D(34067); - ((ft[h.id] = h), o.cubeCount++); - var m = Array(6); - return ( - f(e, r, n, i, a, l), - (f.subimage = function (t, e, r, n, i) { - ((r |= 0), (n |= 0), (i |= 0)); - var a = g(); - return ( - c(a, h), - (a.width = 0), - (a.height = 0), - p(a, e), - (a.width = a.width || (h.width >> i) - r), - (a.height = a.height || (h.height >> i) - n), - O(h), - d(a, 34069 + t, r, n, i), - I(), - M(a), - f - ); - }), - (f.resize = function (e) { - if ((e |= 0) !== h.width) { - ((f.width = h.width = e), (f.height = h.height = e), O(h)); - for (var r = 0; 6 > r; ++r) - for (var n = 0; h.mipmask >> n; ++n) - t.texImage2D( - 34069 + r, - n, - h.format, - e >> n, - e >> n, - 0, - h.format, - h.type, - null, - ); - return ( - I(), - s.profile && - (h.stats.size = k( - h.internalformat, - h.type, - f.width, - f.height, - !1, - !0, - )), - f - ); - } - }), - (f._reglType = "textureCube"), - (f._texture = h), - s.profile && (f.stats = h.stats), - (f.destroy = function () { - h.decRef(); - }), - f - ); - }, - clear: function () { - for (var e = 0; e < ht; ++e) - (t.activeTexture(33984 + e), - t.bindTexture(3553, null), - (pt[e] = null)); - (W(ft).forEach(R), (o.cubeCount = 0), (o.textureCount = 0)); - }, - getTexture: function (t) { - return null; - }, - restore: function () { - W(ft).forEach(function (e) { - ((e.texture = t.createTexture()), - t.bindTexture(e.target, e.texture)); - for (var r = 0; 32 > r; ++r) - if (0 != (e.mipmask & (1 << r))) - if (3553 === e.target) - t.texImage2D( - 3553, - r, - e.internalformat, - e.width >> r, - e.height >> r, - 0, - e.internalformat, - e.type, - null, - ); - else - for (var n = 0; 6 > n; ++n) - t.texImage2D( - 34069 + n, - r, - e.internalformat, - e.width >> r, - e.height >> r, - 0, - e.internalformat, - e.type, - null, - ); - P(e.texInfo, e.target); - }); - }, - } - ); - } - function A(t, e, r, n, i, a) { - function o(t, e, r) { - ((this.target = t), (this.texture = e), (this.renderbuffer = r)); - var n = (t = 0); - (e - ? ((t = e.width), (n = e.height)) - : r && ((t = r.width), (n = r.height)), - (this.width = t), - (this.height = n)); - } - function s(t) { - t && - (t.texture && t.texture._texture.decRef(), - t.renderbuffer && t.renderbuffer._renderbuffer.decRef()); - } - function l(t, e, r) { - t && - (t.texture - ? (t.texture._texture.refCount += 1) - : (t.renderbuffer._renderbuffer.refCount += 1)); - } - function c(e, r) { - r && - (r.texture - ? t.framebufferTexture2D( - 36160, - e, - r.target, - r.texture._texture.texture, - 0, - ) - : t.framebufferRenderbuffer( - 36160, - e, - 36161, - r.renderbuffer._renderbuffer.renderbuffer, - )); - } - function u(t) { - var e = 3553, - r = null, - n = null, - i = t; - return ( - "object" == typeof t && - ((i = t.data), "target" in t && (e = 0 | t.target)), - "texture2d" === (t = i._reglType) - ? (r = i) - : "textureCube" === t - ? (r = i) - : "renderbuffer" === t && ((n = i), (e = 36161)), - new o(e, r, n) - ); - } - function f(t, e, r, a, s) { - return r - ? (((t = n.create2D({ - width: t, - height: e, - format: a, - type: s, - }))._texture.refCount = 0), - new o(3553, t, null)) - : (((t = i.create({ - width: t, - height: e, - format: a, - }))._renderbuffer.refCount = 0), - new o(36161, null, t)); - } - function h(t) { - return t && (t.texture || t.renderbuffer); - } - function p(t, e, r) { - t && - (t.texture - ? t.texture.resize(e, r) - : t.renderbuffer && t.renderbuffer.resize(e, r)); - } - function d() { - ((this.id = k++), - (M[this.id] = this), - (this.framebuffer = t.createFramebuffer()), - (this.height = this.width = 0), - (this.colorAttachments = []), - (this.depthStencilAttachment = - this.stencilAttachment = - this.depthAttachment = - null)); - } - function g(t) { - (t.colorAttachments.forEach(s), - s(t.depthAttachment), - s(t.stencilAttachment), - s(t.depthStencilAttachment)); - } - function m(e) { - (t.deleteFramebuffer(e.framebuffer), - (e.framebuffer = null), - a.framebufferCount--, - delete M[e.id]); - } - function v(e) { - var n; - t.bindFramebuffer(36160, e.framebuffer); - var i = e.colorAttachments; - for (n = 0; n < i.length; ++n) c(36064 + n, i[n]); - for (n = i.length; n < r.maxColorAttachments; ++n) - t.framebufferTexture2D(36160, 36064 + n, 3553, null, 0); - (t.framebufferTexture2D(36160, 33306, 3553, null, 0), - t.framebufferTexture2D(36160, 36096, 3553, null, 0), - t.framebufferTexture2D(36160, 36128, 3553, null, 0), - c(36096, e.depthAttachment), - c(36128, e.stencilAttachment), - c(33306, e.depthStencilAttachment), - t.checkFramebufferStatus(36160), - t.bindFramebuffer(36160, x.next), - (x.cur = x.next), - t.getError()); - } - function y(t, e) { - function r(t, e) { - var i, - a = 0, - o = 0, - s = !0, - c = !0; - i = null; - var p = !0, - d = "rgba", - m = "uint8", - y = 1, - x = null, - w = null, - k = null, - M = !1; - "number" == typeof t - ? ((a = 0 | t), (o = 0 | e || a)) - : t - ? ("shape" in t - ? ((a = (o = t.shape)[0]), (o = o[1])) - : ("radius" in t && (a = o = t.radius), - "width" in t && (a = t.width), - "height" in t && (o = t.height)), - ("color" in t || "colors" in t) && - ((i = t.color || t.colors), Array.isArray(i)), - i || - ("colorCount" in t && (y = 0 | t.colorCount), - "colorTexture" in t && - ((p = !!t.colorTexture), (d = "rgba4")), - "colorType" in t && - ((m = t.colorType), !p) && - ("half float" === m || "float16" === m - ? (d = "rgba16f") - : ("float" !== m && "float32" !== m) || - (d = "rgba32f")), - "colorFormat" in t && - ((d = t.colorFormat), - 0 <= b.indexOf(d) - ? (p = !0) - : 0 <= _.indexOf(d) && (p = !1))), - ("depthTexture" in t || "depthStencilTexture" in t) && - (M = !(!t.depthTexture && !t.depthStencilTexture)), - "depth" in t && - ("boolean" == typeof t.depth - ? (s = t.depth) - : ((x = t.depth), (c = !1))), - "stencil" in t && - ("boolean" == typeof t.stencil - ? (c = t.stencil) - : ((w = t.stencil), (s = !1))), - "depthStencil" in t && - ("boolean" == typeof t.depthStencil - ? (s = c = t.depthStencil) - : ((k = t.depthStencil), (c = s = !1)))) - : (a = o = 1); - var A = null, - T = null, - S = null, - C = null; - if (Array.isArray(i)) A = i.map(u); - else if (i) A = [u(i)]; - else for (A = Array(y), i = 0; i < y; ++i) A[i] = f(a, o, p, d, m); - for ( - a = a || A[0].width, - o = o || A[0].height, - x ? (T = u(x)) : s && !c && (T = f(a, o, M, "depth", "uint32")), - w - ? (S = u(w)) - : c && !s && (S = f(a, o, !1, "stencil", "uint8")), - k - ? (C = u(k)) - : !x && - !w && - c && - s && - (C = f(a, o, M, "depth stencil", "depth stencil")), - s = null, - i = 0; - i < A.length; - ++i - ) - (l(A[i]), - A[i] && - A[i].texture && - ((c = - pt[A[i].texture._texture.format] * - dt[A[i].texture._texture.type]), - null === s && (s = c))); - return ( - l(T), - l(S), - l(C), - g(n), - (n.width = a), - (n.height = o), - (n.colorAttachments = A), - (n.depthAttachment = T), - (n.stencilAttachment = S), - (n.depthStencilAttachment = C), - (r.color = A.map(h)), - (r.depth = h(T)), - (r.stencil = h(S)), - (r.depthStencil = h(C)), - (r.width = n.width), - (r.height = n.height), - v(n), - r - ); - } - var n = new d(); - return ( - a.framebufferCount++, - r(t, e), - j(r, { - resize: function (t, e) { - var i = 0 | t, - a = 0 | e || i; - if (i === n.width && a === n.height) return r; - for (var o = n.colorAttachments, s = 0; s < o.length; ++s) - p(o[s], i, a); - return ( - p(n.depthAttachment, i, a), - p(n.stencilAttachment, i, a), - p(n.depthStencilAttachment, i, a), - (n.width = r.width = i), - (n.height = r.height = a), - v(n), - r - ); - }, - _reglType: "framebuffer", - _framebuffer: n, - destroy: function () { - (m(n), g(n)); - }, - use: function (t) { - x.setFBO({ framebuffer: r }, t); - }, - }) - ); - } - var x = { cur: null, next: null, dirty: !1, setFBO: null }, - b = ["rgba"], - _ = ["rgba4", "rgb565", "rgb5 a1"]; - (e.ext_srgb && _.push("srgba"), - e.ext_color_buffer_half_float && _.push("rgba16f", "rgb16f"), - e.webgl_color_buffer_float && _.push("rgba32f")); - var w = ["uint8"]; - (e.oes_texture_half_float && w.push("half float", "float16"), - e.oes_texture_float && w.push("float", "float32")); - var k = 0, - M = {}; - return j(x, { - getFramebuffer: function (t) { - return "function" == typeof t && - "framebuffer" === t._reglType && - (t = t._framebuffer) instanceof d - ? t - : null; - }, - create: y, - createCube: function (t) { - function e(t) { - var i, - a = { color: null }, - o = 0, - s = null; - i = "rgba"; - var l = "uint8", - c = 1; - if ( - ("number" == typeof t - ? (o = 0 | t) - : t - ? ("shape" in t - ? (o = t.shape[0]) - : ("radius" in t && (o = 0 | t.radius), - "width" in t - ? (o = 0 | t.width) - : "height" in t && (o = 0 | t.height)), - ("color" in t || "colors" in t) && - ((s = t.color || t.colors), Array.isArray(s)), - s || - ("colorCount" in t && (c = 0 | t.colorCount), - "colorType" in t && (l = t.colorType), - "colorFormat" in t && (i = t.colorFormat)), - "depth" in t && (a.depth = t.depth), - "stencil" in t && (a.stencil = t.stencil), - "depthStencil" in t && (a.depthStencil = t.depthStencil)) - : (o = 1), - s) - ) - if (Array.isArray(s)) - for (t = [], i = 0; i < s.length; ++i) t[i] = s[i]; - else t = [s]; - else - for ( - t = Array(c), s = { radius: o, format: i, type: l }, i = 0; - i < c; - ++i - ) - t[i] = n.createCube(s); - for (a.color = Array(t.length), i = 0; i < t.length; ++i) - ((c = t[i]), - (o = o || c.width), - (a.color[i] = { target: 34069, data: t[i] })); - for (i = 0; 6 > i; ++i) { - for (c = 0; c < t.length; ++c) a.color[c].target = 34069 + i; - (0 < i && - ((a.depth = r[0].depth), - (a.stencil = r[0].stencil), - (a.depthStencil = r[0].depthStencil)), - r[i] ? r[i](a) : (r[i] = y(a))); - } - return j(e, { width: o, height: o, color: t }); - } - var r = Array(6); - return ( - e(t), - j(e, { - faces: r, - resize: function (t) { - var n = 0 | t; - if (n === e.width) return e; - var i = e.color; - for (t = 0; t < i.length; ++t) i[t].resize(n); - for (t = 0; 6 > t; ++t) r[t].resize(n); - return ((e.width = e.height = n), e); - }, - _reglType: "framebufferCube", - destroy: function () { - r.forEach(function (t) { - t.destroy(); - }); - }, - }) - ); - }, - clear: function () { - W(M).forEach(m); - }, - restore: function () { - W(M).forEach(function (e) { - ((e.framebuffer = t.createFramebuffer()), v(e)); - }); - }, - }); - } - function T() { - ((this.w = this.z = this.y = this.x = this.state = 0), - (this.buffer = null), - (this.size = 0), - (this.normalized = !1), - (this.type = 5126), - (this.divisor = this.stride = this.offset = 0)); - } - function S(t, e, r, n) { - function i(t, e, r, n) { - ((this.name = t), - (this.id = e), - (this.location = r), - (this.info = n)); - } - function a(t, e) { - for (var r = 0; r < t.length; ++r) - if (t[r].id === e.id) return void (t[r].location = e.location); - t.push(e); - } - function o(r, n, i) { - if (!(o = (i = 35632 === r ? c : u)[n])) { - var a = e.str(n), - o = t.createShader(r); - (t.shaderSource(o, a), t.compileShader(o), (i[n] = o)); - } - return o; - } - function s(t, e) { - ((this.id = p++), - (this.fragId = t), - (this.vertId = e), - (this.program = null), - (this.uniforms = []), - (this.attributes = []), - n.profile && - (this.stats = { uniformsCount: 0, attributesCount: 0 })); - } - function l(r, s) { - var l, c; - ((l = o(35632, r.fragId)), (c = o(35633, r.vertId))); - var u = (r.program = t.createProgram()); - (t.attachShader(u, l), t.attachShader(u, c), t.linkProgram(u)); - var f = t.getProgramParameter(u, 35718); - n.profile && (r.stats.uniformsCount = f); - var h = r.uniforms; - for (l = 0; l < f; ++l) - if ((c = t.getActiveUniform(u, l))) - if (1 < c.size) - for (var p = 0; p < c.size; ++p) { - var d = c.name.replace("[0]", "[" + p + "]"); - a(h, new i(d, e.id(d), t.getUniformLocation(u, d), c)); - } - else - a( - h, - new i( - c.name, - e.id(c.name), - t.getUniformLocation(u, c.name), - c, - ), - ); - for ( - f = t.getProgramParameter(u, 35721), - n.profile && (r.stats.attributesCount = f), - h = r.attributes, - l = 0; - l < f; - ++l - ) - (c = t.getActiveAttrib(u, l)) && - a( - h, - new i(c.name, e.id(c.name), t.getAttribLocation(u, c.name), c), - ); - } - var c = {}, - u = {}, - f = {}, - h = [], - p = 0; - return ( - n.profile && - ((r.getMaxUniformsCount = function () { - var t = 0; - return ( - h.forEach(function (e) { - e.stats.uniformsCount > t && (t = e.stats.uniformsCount); - }), - t - ); - }), - (r.getMaxAttributesCount = function () { - var t = 0; - return ( - h.forEach(function (e) { - e.stats.attributesCount > t && (t = e.stats.attributesCount); - }), - t - ); - })), - { - clear: function () { - var e = t.deleteShader.bind(t); - (W(c).forEach(e), - (c = {}), - W(u).forEach(e), - (u = {}), - h.forEach(function (e) { - t.deleteProgram(e.program); - }), - (h.length = 0), - (f = {}), - (r.shaderCount = 0)); - }, - program: function (t, e, n) { - var i = f[e]; - i || (i = f[e] = {}); - var a = i[t]; - return ( - a || - ((a = new s(e, t)), - r.shaderCount++, - l(a), - (i[t] = a), - h.push(a)), - a - ); - }, - restore: function () { - ((c = {}), (u = {})); - for (var t = 0; t < h.length; ++t) l(h[t]); - }, - shader: o, - frag: -1, - vert: -1, - } - ); - } - function C(t, e, r, n, i, a) { - function o(i) { - var a; - a = - null === e.next - ? 5121 - : e.next.colorAttachments[0].texture._texture.type; - var o = 0, - s = 0, - l = n.framebufferWidth, - c = n.framebufferHeight, - u = null; - return ( - G(i) - ? (u = i) - : i && - ((o = 0 | i.x), - (s = 0 | i.y), - (l = 0 | (i.width || n.framebufferWidth - o)), - (c = 0 | (i.height || n.framebufferHeight - s)), - (u = i.data || null)), - r(), - (i = l * c * 4), - u || - (5121 === a - ? (u = new Uint8Array(i)) - : 5126 === a && (u = u || new Float32Array(i))), - t.pixelStorei(3333, 4), - t.readPixels(o, s, l, c, 6408, a, u), - u - ); - } - return function (t) { - return t && "framebuffer" in t - ? (function (t) { - var r; - return ( - e.setFBO({ framebuffer: t.framebuffer }, function () { - r = o(t); - }), - r - ); - })(t) - : o(t); - }; - } - function E(t) { - return Array.prototype.slice.call(t); - } - function L(t) { - return E(t).join(""); - } - function z() { - function t() { - var t = [], - e = []; - return j( - function () { - t.push.apply(t, E(arguments)); - }, - { - def: function () { - var n = "v" + r++; - return ( - e.push(n), - 0 < arguments.length && - (t.push(n, "="), - t.push.apply(t, E(arguments)), - t.push(";")), - n - ); - }, - toString: function () { - return L([0 < e.length ? "var " + e + ";" : "", L(t)]); - }, - }, - ); - } - function e() { - function e(t, e) { - n(t, e, "=", r.def(t, e), ";"); - } - var r = t(), - n = t(), - i = r.toString, - a = n.toString; - return j( - function () { - r.apply(r, E(arguments)); - }, - { - def: r.def, - entry: r, - exit: n, - save: e, - set: function (t, n, i) { - (e(t, n), r(t, n, "=", i, ";")); - }, - toString: function () { - return i() + a(); - }, - }, - ); - } - var r = 0, - n = [], - i = [], - a = t(), - o = {}; - return { - global: a, - link: function (t) { - for (var e = 0; e < i.length; ++e) if (i[e] === t) return n[e]; - return ((e = "g" + r++), n.push(e), i.push(t), e); - }, - block: t, - proc: function (t, r) { - function n() { - var t = "a" + i.length; - return (i.push(t), t); - } - var i = []; - r = r || 0; - for (var a = 0; a < r; ++a) n(); - var s = (a = e()).toString; - return (o[t] = j(a, { - arg: n, - toString: function () { - return L(["function(", i.join(), "){", s(), "}"]); - }, - })); - }, - scope: e, - cond: function () { - var t = L(arguments), - r = e(), - n = e(), - i = r.toString, - a = n.toString; - return j(r, { - then: function () { - return (r.apply(r, E(arguments)), this); - }, - else: function () { - return (n.apply(n, E(arguments)), this); - }, - toString: function () { - var e = a(); - return ( - e && (e = "else{" + e + "}"), - L(["if(", t, "){", i(), "}", e]) - ); - }, - }); - }, - compile: function () { - var t = ['"use strict";', a, "return {"]; - (Object.keys(o).forEach(function (e) { - t.push('"', e, '":', o[e].toString(), ","); - }), - t.push("}")); - var e = L(t) - .replace(/;/g, ";\n") - .replace(/}/g, "}\n") - .replace(/{/g, "{\n"); - return Function.apply(null, n.concat(e)).apply(null, i); - }, - }; - } - function P(t) { - return Array.isArray(t) || G(t) || a(t); - } - function D(t) { - return t.sort(function (t, e) { - return "viewport" === t ? -1 : "viewport" === e ? 1 : t < e ? -1 : 1; - }); - } - function O(t, e, r, n) { - ((this.thisDep = t), - (this.contextDep = e), - (this.propDep = r), - (this.append = n)); - } - function I(t) { - return t && !(t.thisDep || t.contextDep || t.propDep); - } - function R(t) { - return new O(!1, !1, !1, t); - } - function B(t, e) { - var r = t.type; - return 0 === r - ? new O(!0, 1 <= (r = t.data.length), 2 <= r, e) - : 4 === r - ? new O((r = t.data).thisDep, r.contextDep, r.propDep, e) - : new O(3 === r, 2 === r, 1 === r, e); - } - function F(t, e, r, n, i, a, s, l, c, u, f, h, p, d, g) { - function m(t) { - return t.replace(".", "_"); - } - function y(t, e, r) { - var n = m(t); - (nt.push(t), (et[n] = tt[n] = !!r), (it[n] = e)); - } - function x(t, e, r) { - var n = m(t); - (nt.push(t), - Array.isArray(r) - ? ((tt[n] = r.slice()), (et[n] = r.slice())) - : (tt[n] = et[n] = r), - (at[n] = e)); - } - function b() { - var t = z(), - r = t.link, - n = t.global; - ((t.id = lt++), (t.batchId = "0")); - var i = r(ot), - a = (t.shared = { props: "a0" }); - Object.keys(ot).forEach(function (t) { - a[t] = n.def(i, ".", t); - }); - var o = (t.next = {}), - s = (t.current = {}); - Object.keys(at).forEach(function (t) { - Array.isArray(tt[t]) && - ((o[t] = n.def(a.next, ".", t)), - (s[t] = n.def(a.current, ".", t))); - }); - var l = (t.constants = {}); - (Object.keys(st).forEach(function (t) { - l[t] = n.def(JSON.stringify(st[t])); - }), - (t.invoke = function (e, n) { - switch (n.type) { - case 0: - var i = ["this", a.context, a.props, t.batchId]; - return e.def( - r(n.data), - ".call(", - i.slice(0, Math.max(n.data.length + 1, 4)), - ")", - ); - case 1: - return e.def(a.props, n.data); - case 2: - return e.def(a.context, n.data); - case 3: - return e.def("this", n.data); - case 4: - return (n.data.append(t, e), n.data.ref); - } - }), - (t.attribCache = {})); - var c = {}; - return ( - (t.scopeAttrib = function (t) { - if ((t = e.id(t)) in c) return c[t]; - var n = u.scope[t]; - return (n || (n = u.scope[t] = new Z()), (c[t] = r(n))); - }), - t - ); - } - function _(t, e) { - var r = t.static, - n = t.dynamic; - if ("framebuffer" in r) { - var i = r.framebuffer; - return i - ? ((i = l.getFramebuffer(i)), - R(function (t, e) { - var r = t.link(i), - n = t.shared; - return ( - e.set(n.framebuffer, ".next", r), - (n = n.context), - e.set(n, ".framebufferWidth", r + ".width"), - e.set(n, ".framebufferHeight", r + ".height"), - r - ); - })) - : R(function (t, e) { - var r = t.shared; - return ( - e.set(r.framebuffer, ".next", "null"), - (r = r.context), - e.set(r, ".framebufferWidth", r + ".drawingBufferWidth"), - e.set(r, ".framebufferHeight", r + ".drawingBufferHeight"), - "null" - ); - }); - } - if ("framebuffer" in n) { - var a = n.framebuffer; - return B(a, function (t, e) { - var r = t.invoke(e, a), - n = t.shared, - i = n.framebuffer; - r = e.def(i, ".getFramebuffer(", r, ")"); - return ( - e.set(i, ".next", r), - (n = n.context), - e.set( - n, - ".framebufferWidth", - r + "?" + r + ".width:" + n + ".drawingBufferWidth", - ), - e.set( - n, - ".framebufferHeight", - r + "?" + r + ".height:" + n + ".drawingBufferHeight", - ), - r - ); - }); - } - return null; - } - function w(t) { - function r(t) { - if (t in n) { - var r = e.id(n[t]); - return ( - ((t = R(function () { - return r; - })).id = r), - t - ); - } - if (t in i) { - var a = i[t]; - return B(a, function (t, e) { - var r = t.invoke(e, a); - return e.def(t.shared.strings, ".id(", r, ")"); - }); - } - return null; - } - var n = t.static, - i = t.dynamic, - a = r("frag"), - o = r("vert"), - s = null; - return ( - I(a) && I(o) - ? ((s = f.program(o.id, a.id)), - (t = R(function (t, e) { - return t.link(s); - }))) - : (t = new O( - (a && a.thisDep) || (o && o.thisDep), - (a && a.contextDep) || (o && o.contextDep), - (a && a.propDep) || (o && o.propDep), - function (t, e) { - var r, - n, - i = t.shared.shader; - return ( - (r = a ? a.append(t, e) : e.def(i, ".", "frag")), - (n = o ? o.append(t, e) : e.def(i, ".", "vert")), - e.def(i + ".program(" + n + "," + r + ")") - ); - }, - )), - { frag: a, vert: o, progVar: t, program: s } - ); - } - function k(t, e) { - function r(t, e) { - if (t in n) { - var r = 0 | n[t]; - return R(function (t, n) { - return (e && (t.OFFSET = r), r); - }); - } - if (t in i) { - var a = i[t]; - return B(a, function (t, r) { - var n = t.invoke(r, a); - return (e && (t.OFFSET = n), n); - }); - } - return e && o - ? R(function (t, e) { - return ((t.OFFSET = "0"), 0); - }) - : null; - } - var n = t.static, - i = t.dynamic, - o = (function () { - if ("elements" in n) { - var t = n.elements; - P(t) - ? (t = a.getElements(a.create(t, !0))) - : t && (t = a.getElements(t)); - var e = R(function (e, r) { - if (t) { - var n = e.link(t); - return (e.ELEMENTS = n); - } - return (e.ELEMENTS = null); - }); - return ((e.value = t), e); - } - if ("elements" in i) { - var r = i.elements; - return B(r, function (t, e) { - var n = (i = t.shared).isBufferArgs, - i = i.elements, - a = t.invoke(e, r), - o = e.def("null"); - ((n = e.def(n, "(", a, ")")), - (a = t - .cond(n) - .then(o, "=", i, ".createStream(", a, ");") - .else(o, "=", i, ".getElements(", a, ");"))); - return ( - e.entry(a), - e.exit(t.cond(n).then(i, ".destroyStream(", o, ");")), - (t.ELEMENTS = o) - ); - }); - } - return null; - })(), - s = r("offset", !0); - return { - elements: o, - primitive: (function () { - if ("primitive" in n) { - var t = n.primitive; - return R(function (e, r) { - return rt[t]; - }); - } - if ("primitive" in i) { - var e = i.primitive; - return B(e, function (t, r) { - var n = t.constants.primTypes, - i = t.invoke(r, e); - return r.def(n, "[", i, "]"); - }); - } - return o - ? I(o) - ? o.value - ? R(function (t, e) { - return e.def(t.ELEMENTS, ".primType"); - }) - : R(function () { - return 4; - }) - : new O(o.thisDep, o.contextDep, o.propDep, function (t, e) { - var r = t.ELEMENTS; - return e.def(r, "?", r, ".primType:", 4); - }) - : null; - })(), - count: (function () { - if ("count" in n) { - var t = 0 | n.count; - return R(function () { - return t; - }); - } - if ("count" in i) { - var e = i.count; - return B(e, function (t, r) { - return t.invoke(r, e); - }); - } - return o - ? I(o) - ? o - ? s - ? new O(s.thisDep, s.contextDep, s.propDep, function ( - t, - e, - ) { - return e.def(t.ELEMENTS, ".vertCount-", t.OFFSET); - }) - : R(function (t, e) { - return e.def(t.ELEMENTS, ".vertCount"); - }) - : R(function () { - return -1; - }) - : new O( - o.thisDep || s.thisDep, - o.contextDep || s.contextDep, - o.propDep || s.propDep, - function (t, e) { - var r = t.ELEMENTS; - return t.OFFSET - ? e.def(r, "?", r, ".vertCount-", t.OFFSET, ":-1") - : e.def(r, "?", r, ".vertCount:-1"); - }, - ) - : null; - })(), - instances: r("instances", !1), - offset: s, - }; - } - function M(t, r) { - var n = t.static, - a = t.dynamic, - o = {}; - return ( - Object.keys(n).forEach(function (t) { - var r = n[t], - a = e.id(t), - s = new Z(); - if (P(r)) - ((s.state = 1), - (s.buffer = i.getBuffer(i.create(r, 34962, !1, !0))), - (s.type = 0)); - else if ((c = i.getBuffer(r))) - ((s.state = 1), (s.buffer = c), (s.type = 0)); - else if (r.constant) { - var l = r.constant; - ((s.buffer = "null"), - (s.state = 2), - "number" == typeof l - ? (s.x = l) - : gt.forEach(function (t, e) { - e < l.length && (s[t] = l[e]); - })); - } else { - var c = P(r.buffer) - ? i.getBuffer(i.create(r.buffer, 34962, !1, !0)) - : i.getBuffer(r.buffer), - u = 0 | r.offset, - f = 0 | r.stride, - h = 0 | r.size, - p = !!r.normalized, - d = 0; - ("type" in r && (d = K[r.type]), - (r = 0 | r.divisor), - (s.buffer = c), - (s.state = 1), - (s.size = h), - (s.normalized = p), - (s.type = d || c.dtype), - (s.offset = u), - (s.stride = f), - (s.divisor = r)); - } - o[t] = R(function (t, e) { - var r = t.attribCache; - if (a in r) return r[a]; - var n = { isStream: !1 }; - return ( - Object.keys(s).forEach(function (t) { - n[t] = s[t]; - }), - s.buffer && - ((n.buffer = t.link(s.buffer)), - (n.type = n.type || n.buffer + ".dtype")), - (r[a] = n) - ); - }); - }), - Object.keys(a).forEach(function (t) { - var e = a[t]; - o[t] = B(e, function (t, r) { - function n(t) { - r(l[t], "=", i, ".", t, "|0;"); - } - var i = t.invoke(r, e), - a = t.shared, - o = a.isBufferArgs, - s = a.buffer, - l = { isStream: r.def(!1) }, - c = new Z(); - ((c.state = 1), - Object.keys(c).forEach(function (t) { - l[t] = r.def("" + c[t]); - })); - var u = l.buffer, - f = l.type; - return ( - r( - "if(", - o, - "(", - i, - ")){", - l.isStream, - "=true;", - u, - "=", - s, - ".createStream(", - 34962, - ",", - i, - ");", - f, - "=", - u, - ".dtype;", - "}else{", - u, - "=", - s, - ".getBuffer(", - i, - ");", - "if(", - u, - "){", - f, - "=", - u, - ".dtype;", - '}else if("constant" in ', - i, - "){", - l.state, - "=", - 2, - ";", - "if(typeof " + i + '.constant === "number"){', - l[gt[0]], - "=", - i, - ".constant;", - gt - .slice(1) - .map(function (t) { - return l[t]; - }) - .join("="), - "=0;", - "}else{", - gt - .map(function (t, e) { - return ( - l[t] + - "=" + - i + - ".constant.length>=" + - e + - "?" + - i + - ".constant[" + - e + - "]:0;" - ); - }) - .join(""), - "}}else{", - "if(", - o, - "(", - i, - ".buffer)){", - u, - "=", - s, - ".createStream(", - 34962, - ",", - i, - ".buffer);", - "}else{", - u, - "=", - s, - ".getBuffer(", - i, - ".buffer);", - "}", - f, - '="type" in ', - i, - "?", - a.glTypes, - "[", - i, - ".type]:", - u, - ".dtype;", - l.normalized, - "=!!", - i, - ".normalized;", - ), - n("size"), - n("offset"), - n("stride"), - n("divisor"), - r("}}"), - r.exit( - "if(", - l.isStream, - "){", - s, - ".destroyStream(", - u, - ");", - "}", - ), - l - ); - }); - }), - o - ); - } - function A(t, e, r, n, i) { - var a = _(t), - s = (function (t, e, r) { - function n(t) { - if (t in i) { - var r = i[t]; - t = !0; - var n, - o, - s = 0 | r.x, - l = 0 | r.y; - return ( - "width" in r ? (n = 0 | r.width) : (t = !1), - "height" in r ? (o = 0 | r.height) : (t = !1), - new O( - !t && e && e.thisDep, - !t && e && e.contextDep, - !t && e && e.propDep, - function (t, e) { - var i = t.shared.context, - a = n; - "width" in r || - (a = e.def(i, ".", "framebufferWidth", "-", s)); - var c = o; - return ( - "height" in r || - (c = e.def(i, ".", "framebufferHeight", "-", l)), - [s, l, a, c] - ); - }, - ) - ); - } - if (t in a) { - var c = a[t]; - return ( - (t = B(c, function (t, e) { - var r = t.invoke(e, c), - n = t.shared.context, - i = e.def(r, ".x|0"), - a = e.def(r, ".y|0"); - return [ - i, - a, - e.def( - '"width" in ', - r, - "?", - r, - ".width|0:", - "(", - n, - ".", - "framebufferWidth", - "-", - i, - ")", - ), - (r = e.def( - '"height" in ', - r, - "?", - r, - ".height|0:", - "(", - n, - ".", - "framebufferHeight", - "-", - a, - ")", - )), - ]; - })), - e && - ((t.thisDep = t.thisDep || e.thisDep), - (t.contextDep = t.contextDep || e.contextDep), - (t.propDep = t.propDep || e.propDep)), - t - ); - } - return e - ? new O(e.thisDep, e.contextDep, e.propDep, function (t, e) { - var r = t.shared.context; - return [ - 0, - 0, - e.def(r, ".", "framebufferWidth"), - e.def(r, ".", "framebufferHeight"), - ]; - }) - : null; - } - var i = t.static, - a = t.dynamic; - if ((t = n("viewport"))) { - var o = t; - t = new O(t.thisDep, t.contextDep, t.propDep, function (t, e) { - var r = o.append(t, e), - n = t.shared.context; - return ( - e.set(n, ".viewportWidth", r[2]), - e.set(n, ".viewportHeight", r[3]), - r - ); - }); - } - return { viewport: t, scissor_box: n("scissor.box") }; - })(t, a), - l = k(t), - c = (function (t, e) { - var r = t.static, - n = t.dynamic, - i = {}; - return ( - nt.forEach(function (t) { - function e(e, o) { - if (t in r) { - var s = e(r[t]); - i[a] = R(function () { - return s; - }); - } else if (t in n) { - var l = n[t]; - i[a] = B(l, function (t, e) { - return o(t, e, t.invoke(e, l)); - }); - } - } - var a = m(t); - switch (t) { - case "cull.enable": - case "blend.enable": - case "dither": - case "stencil.enable": - case "depth.enable": - case "scissor.enable": - case "polygonOffset.enable": - case "sample.alpha": - case "sample.enable": - case "depth.mask": - return e( - function (t) { - return t; - }, - function (t, e, r) { - return r; - }, - ); - case "depth.func": - return e( - function (t) { - return yt[t]; - }, - function (t, e, r) { - return e.def(t.constants.compareFuncs, "[", r, "]"); - }, - ); - case "depth.range": - return e( - function (t) { - return t; - }, - function (t, e, r) { - return [ - e.def("+", r, "[0]"), - (e = e.def("+", r, "[1]")), - ]; - }, - ); - case "blend.func": - return e( - function (t) { - return [ - vt["srcRGB" in t ? t.srcRGB : t.src], - vt["dstRGB" in t ? t.dstRGB : t.dst], - vt["srcAlpha" in t ? t.srcAlpha : t.src], - vt["dstAlpha" in t ? t.dstAlpha : t.dst], - ]; - }, - function (t, e, r) { - function n(t, n) { - return e.def( - '"', - t, - n, - '" in ', - r, - "?", - r, - ".", - t, - n, - ":", - r, - ".", - t, - ); - } - t = t.constants.blendFuncs; - var i = n("src", "RGB"), - a = n("dst", "RGB"), - o = - ((i = e.def(t, "[", i, "]")), - e.def(t, "[", n("src", "Alpha"), "]")); - return [ - i, - (a = e.def(t, "[", a, "]")), - o, - (t = e.def(t, "[", n("dst", "Alpha"), "]")), - ]; - }, - ); - case "blend.equation": - return e( - function (t) { - return "string" == typeof t - ? [J[t], J[t]] - : "object" == typeof t - ? [J[t.rgb], J[t.alpha]] - : void 0; - }, - function (t, e, r) { - var n = t.constants.blendEquations, - i = e.def(), - a = e.def(); - return ( - (t = t.cond("typeof ", r, '==="string"')).then( - i, - "=", - a, - "=", - n, - "[", - r, - "];", - ), - t.else( - i, - "=", - n, - "[", - r, - ".rgb];", - a, - "=", - n, - "[", - r, - ".alpha];", - ), - e(t), - [i, a] - ); - }, - ); - case "blend.color": - return e( - function (t) { - return o(4, function (e) { - return +t[e]; - }); - }, - function (t, e, r) { - return o(4, function (t) { - return e.def("+", r, "[", t, "]"); - }); - }, - ); - case "stencil.mask": - return e( - function (t) { - return 0 | t; - }, - function (t, e, r) { - return e.def(r, "|0"); - }, - ); - case "stencil.func": - return e( - function (t) { - return [ - yt[t.cmp || "keep"], - t.ref || 0, - "mask" in t ? t.mask : -1, - ]; - }, - function (t, e, r) { - return [ - (t = e.def( - '"cmp" in ', - r, - "?", - t.constants.compareFuncs, - "[", - r, - ".cmp]", - ":", - 7680, - )), - e.def(r, ".ref|0"), - (e = e.def('"mask" in ', r, "?", r, ".mask|0:-1")), - ]; - }, - ); - case "stencil.opFront": - case "stencil.opBack": - return e( - function (e) { - return [ - "stencil.opBack" === t ? 1029 : 1028, - xt[e.fail || "keep"], - xt[e.zfail || "keep"], - xt[e.zpass || "keep"], - ]; - }, - function (e, r, n) { - function i(t) { - return r.def( - '"', - t, - '" in ', - n, - "?", - a, - "[", - n, - ".", - t, - "]:", - 7680, - ); - } - var a = e.constants.stencilOps; - return [ - "stencil.opBack" === t ? 1029 : 1028, - i("fail"), - i("zfail"), - i("zpass"), - ]; - }, - ); - case "polygonOffset.offset": - return e( - function (t) { - return [0 | t.factor, 0 | t.units]; - }, - function (t, e, r) { - return [ - e.def(r, ".factor|0"), - (e = e.def(r, ".units|0")), - ]; - }, - ); - case "cull.face": - return e( - function (t) { - var e = 0; - return ( - "front" === t - ? (e = 1028) - : "back" === t && (e = 1029), - e - ); - }, - function (t, e, r) { - return e.def(r, '==="front"?', 1028, ":", 1029); - }, - ); - case "lineWidth": - return e( - function (t) { - return t; - }, - function (t, e, r) { - return r; - }, - ); - case "frontFace": - return e( - function (t) { - return bt[t]; - }, - function (t, e, r) { - return e.def(r + '==="cw"?2304:2305'); - }, - ); - case "colorMask": - return e( - function (t) { - return t.map(function (t) { - return !!t; - }); - }, - function (t, e, r) { - return o(4, function (t) { - return "!!" + r + "[" + t + "]"; - }); - }, - ); - case "sample.coverage": - return e( - function (t) { - return ["value" in t ? t.value : 1, !!t.invert]; - }, - function (t, e, r) { - return [ - e.def('"value" in ', r, "?+", r, ".value:1"), - (e = e.def("!!", r, ".invert")), - ]; - }, - ); - } - }), - i - ); - })(t), - u = w(t), - f = s.viewport; - return ( - f && (c.viewport = f), - (s = s[(f = m("scissor.box"))]) && (c[f] = s), - ((a = { - framebuffer: a, - draw: l, - shader: u, - state: c, - dirty: (s = 0 < Object.keys(c).length), - }).profile = (function (t) { - var e, - r = t.static; - if (((t = t.dynamic), "profile" in r)) { - var n = !!r.profile; - (e = R(function (t, e) { - return n; - })).enable = n; - } else if ("profile" in t) { - var i = t.profile; - e = B(i, function (t, e) { - return t.invoke(e, i); - }); - } - return e; - })(t)), - (a.uniforms = (function (t, e) { - var r = t.static, - n = t.dynamic, - i = {}; - return ( - Object.keys(r).forEach(function (t) { - var e, - n = r[t]; - if ("number" == typeof n || "boolean" == typeof n) - e = R(function () { - return n; - }); - else if ("function" == typeof n) { - var a = n._reglType; - "texture2d" === a || "textureCube" === a - ? (e = R(function (t) { - return t.link(n); - })) - : ("framebuffer" !== a && "framebufferCube" !== a) || - (e = R(function (t) { - return t.link(n.color[0]); - })); - } else - v(n) && - (e = R(function (t) { - return t.global.def( - "[", - o(n.length, function (t) { - return n[t]; - }), - "]", - ); - })); - ((e.value = n), (i[t] = e)); - }), - Object.keys(n).forEach(function (t) { - var e = n[t]; - i[t] = B(e, function (t, r) { - return t.invoke(r, e); - }); - }), - i - ); - })(r)), - (a.attributes = M(e)), - (a.context = (function (t) { - var e = t.static, - r = t.dynamic, - n = {}; - return ( - Object.keys(e).forEach(function (t) { - var r = e[t]; - n[t] = R(function (t, e) { - return "number" == typeof r || "boolean" == typeof r - ? "" + r - : t.link(r); - }); - }), - Object.keys(r).forEach(function (t) { - var e = r[t]; - n[t] = B(e, function (t, r) { - return t.invoke(r, e); - }); - }), - n - ); - })(n)), - a - ); - } - function T(t, e, r) { - var n = t.shared.context, - i = t.scope(); - (Object.keys(r).forEach(function (a) { - (e.save(n, "." + a), i(n, ".", a, "=", r[a].append(t, e), ";")); - }), - e(i)); - } - function S(t, e, r, n) { - var i, - a = (s = t.shared).gl, - o = s.framebuffer; - $ && (i = e.def(s.extensions, ".webgl_draw_buffers")); - var s = (l = t.constants).drawBuffer, - l = l.backBuffer; - ((t = r ? r.append(t, e) : e.def(o, ".next")), - n || e("if(", t, "!==", o, ".cur){"), - e( - "if(", - t, - "){", - a, - ".bindFramebuffer(", - 36160, - ",", - t, - ".framebuffer);", - ), - $ && - e( - i, - ".drawBuffersWEBGL(", - s, - "[", - t, - ".colorAttachments.length]);", - ), - e("}else{", a, ".bindFramebuffer(", 36160, ",null);"), - $ && e(i, ".drawBuffersWEBGL(", l, ");"), - e("}", o, ".cur=", t, ";"), - n || e("}")); - } - function C(t, e, r) { - var n = t.shared, - i = n.gl, - a = t.current, - s = t.next, - l = n.current, - c = n.next, - u = t.cond(l, ".dirty"); - (nt.forEach(function (e) { - var n, f; - if (!((e = m(e)) in r.state)) - if (e in s) { - ((n = s[e]), (f = a[e])); - var h = o(tt[e].length, function (t) { - return u.def(n, "[", t, "]"); - }); - u( - t - .cond( - h - .map(function (t, e) { - return t + "!==" + f + "[" + e + "]"; - }) - .join("||"), - ) - .then( - i, - ".", - at[e], - "(", - h, - ");", - h - .map(function (t, e) { - return f + "[" + e + "]=" + t; - }) - .join(";"), - ";", - ), - ); - } else - ((n = u.def(c, ".", e)), - (h = t.cond(n, "!==", l, ".", e)), - u(h), - e in it - ? h( - t - .cond(n) - .then(i, ".enable(", it[e], ");") - .else(i, ".disable(", it[e], ");"), - l, - ".", - e, - "=", - n, - ";", - ) - : h(i, ".", at[e], "(", n, ");", l, ".", e, "=", n, ";")); - }), - 0 === Object.keys(r.state).length && u(l, ".dirty=false;"), - e(u)); - } - function E(t, e, r, n) { - var i = t.shared, - a = t.current, - o = i.current, - s = i.gl; - D(Object.keys(r)).forEach(function (i) { - var l = r[i]; - if (!n || n(l)) { - var c = l.append(t, e); - if (it[i]) { - var u = it[i]; - (I(l) - ? e(s, c ? ".enable(" : ".disable(", u, ");") - : e( - t - .cond(c) - .then(s, ".enable(", u, ");") - .else(s, ".disable(", u, ");"), - ), - e(o, ".", i, "=", c, ";")); - } else if (v(c)) { - var f = a[i]; - e( - s, - ".", - at[i], - "(", - c, - ");", - c - .map(function (t, e) { - return f + "[" + e + "]=" + t; - }) - .join(";"), - ";", - ); - } else e(s, ".", at[i], "(", c, ");", o, ".", i, "=", c, ";"); - } - }); - } - function L(t, e) { - Q && - (t.instancing = e.def( - t.shared.extensions, - ".angle_instanced_arrays", - )); - } - function F(t, e, r, n, i) { - function a() { - return "undefined" == typeof performance - ? "Date.now()" - : "performance.now()"; - } - function o(t) { - (t((c = e.def()), "=", a(), ";"), - "string" == typeof i - ? t(h, ".count+=", i, ";") - : t(h, ".count++;"), - d && - (n - ? t((u = e.def()), "=", g, ".getNumPendingQueries();") - : t(g, ".beginQuery(", h, ");"))); - } - function s(t) { - (t(h, ".cpuTime+=", a(), "-", c, ";"), - d && - (n - ? t( - g, - ".pushScopeStats(", - u, - ",", - g, - ".getNumPendingQueries(),", - h, - ");", - ) - : t(g, ".endQuery();"))); - } - function l(t) { - var r = e.def(p, ".profile"); - (e(p, ".profile=", t, ";"), e.exit(p, ".profile=", r, ";")); - } - var c, - u, - f = t.shared, - h = t.stats, - p = f.current, - g = f.timer; - if ((r = r.profile)) { - if (I(r)) - return void (r.enable - ? (o(e), s(e.exit), l("true")) - : l("false")); - l((r = r.append(t, e))); - } else r = e.def(p, ".profile"); - (o((f = t.block())), - e("if(", r, "){", f, "}"), - s((t = t.block())), - e.exit("if(", r, "){", t, "}")); - } - function N(t, e, r, n, i) { - function a(r, n, i) { - function a() { - e( - "if(!", - u, - ".buffer){", - l, - ".enableVertexAttribArray(", - c, - ");}", - ); - var r, - a = i.type; - ((r = i.size ? e.def(i.size, "||", n) : n), - e( - "if(", - u, - ".type!==", - a, - "||", - u, - ".size!==", - r, - "||", - p - .map(function (t) { - return u + "." + t + "!==" + i[t]; - }) - .join("||"), - "){", - l, - ".bindBuffer(", - 34962, - ",", - f, - ".buffer);", - l, - ".vertexAttribPointer(", - [c, r, a, i.normalized, i.stride, i.offset], - ");", - u, - ".type=", - a, - ";", - u, - ".size=", - r, - ";", - p - .map(function (t) { - return u + "." + t + "=" + i[t] + ";"; - }) - .join(""), - "}", - ), - Q && - ((a = i.divisor), - e( - "if(", - u, - ".divisor!==", - a, - "){", - t.instancing, - ".vertexAttribDivisorANGLE(", - [c, a], - ");", - u, - ".divisor=", - a, - ";}", - ))); - } - function s() { - e( - "if(", - u, - ".buffer){", - l, - ".disableVertexAttribArray(", - c, - ");", - "}if(", - gt - .map(function (t, e) { - return u + "." + t + "!==" + h[e]; - }) - .join("||"), - "){", - l, - ".vertexAttrib4f(", - c, - ",", - h, - ");", - gt - .map(function (t, e) { - return u + "." + t + "=" + h[e] + ";"; - }) - .join(""), - "}", - ); - } - var l = o.gl, - c = e.def(r, ".location"), - u = e.def(o.attributes, "[", c, "]"); - r = i.state; - var f = i.buffer, - h = [i.x, i.y, i.z, i.w], - p = ["buffer", "normalized", "offset", "stride"]; - 1 === r - ? a() - : 2 === r - ? s() - : (e("if(", r, "===", 1, "){"), a(), e("}else{"), s(), e("}")); - } - var o = t.shared; - n.forEach(function (n) { - var o, - s = n.name, - l = r.attributes[s]; - if (l) { - if (!i(l)) return; - o = l.append(t, e); - } else { - if (!i(_t)) return; - var c = t.scopeAttrib(s); - ((o = {}), - Object.keys(new Z()).forEach(function (t) { - o[t] = e.def(c, ".", t); - })); - } - a( - t.link(n), - (function (t) { - switch (t) { - case 35664: - case 35667: - case 35671: - return 2; - case 35665: - case 35668: - case 35672: - return 3; - case 35666: - case 35669: - case 35673: - return 4; - default: - return 1; - } - })(n.info.type), - o, - ); - }); - } - function j(t, r, n, i, a) { - for (var s, l = t.shared, c = l.gl, u = 0; u < i.length; ++u) { - var f, - h = (g = i[u]).name, - p = g.info.type, - d = n.uniforms[h], - g = t.link(g) + ".location"; - if (d) { - if (!a(d)) continue; - if (I(d)) { - if (((h = d.value), 35678 === p || 35680 === p)) - (r( - c, - ".uniform1i(", - g, - ",", - (p = t.link(h._texture || h.color[0]._texture)) + - ".bind());", - ), - r.exit(p, ".unbind();")); - else if (35674 === p || 35675 === p || 35676 === p) - ((h = t.global.def( - "new Float32Array([" + Array.prototype.slice.call(h) + "])", - )), - (d = 2), - 35675 === p ? (d = 3) : 35676 === p && (d = 4), - r(c, ".uniformMatrix", d, "fv(", g, ",false,", h, ");")); - else { - switch (p) { - case 5126: - s = "1f"; - break; - case 35664: - s = "2f"; - break; - case 35665: - s = "3f"; - break; - case 35666: - s = "4f"; - break; - case 35670: - case 5124: - s = "1i"; - break; - case 35671: - case 35667: - s = "2i"; - break; - case 35672: - case 35668: - s = "3i"; - break; - case 35673: - s = "4i"; - break; - case 35669: - s = "4i"; - } - r( - c, - ".uniform", - s, - "(", - g, - ",", - v(h) ? Array.prototype.slice.call(h) : h, - ");", - ); - } - continue; - } - f = d.append(t, r); - } else { - if (!a(_t)) continue; - f = r.def(l.uniforms, "[", e.id(h), "]"); - } - switch ( - (35678 === p - ? r( - "if(", - f, - "&&", - f, - '._reglType==="framebuffer"){', - f, - "=", - f, - ".color[0];", - "}", - ) - : 35680 === p && - r( - "if(", - f, - "&&", - f, - '._reglType==="framebufferCube"){', - f, - "=", - f, - ".color[0];", - "}", - ), - (h = 1), - p) - ) { - case 35678: - case 35680: - (r( - c, - ".uniform1i(", - g, - ",", - (p = r.def(f, "._texture")), - ".bind());", - ), - r.exit(p, ".unbind();")); - continue; - case 5124: - case 35670: - s = "1i"; - break; - case 35667: - case 35671: - ((s = "2i"), (h = 2)); - break; - case 35668: - case 35672: - ((s = "3i"), (h = 3)); - break; - case 35669: - case 35673: - ((s = "4i"), (h = 4)); - break; - case 5126: - s = "1f"; - break; - case 35664: - ((s = "2f"), (h = 2)); - break; - case 35665: - ((s = "3f"), (h = 3)); - break; - case 35666: - ((s = "4f"), (h = 4)); - break; - case 35674: - s = "Matrix2fv"; - break; - case 35675: - s = "Matrix3fv"; - break; - case 35676: - s = "Matrix4fv"; - } - if ((r(c, ".uniform", s, "(", g, ","), "M" === s.charAt(0))) { - g = Math.pow(p - 35674 + 2, 2); - var m = t.global.def("new Float32Array(", g, ")"); - r( - "false,(Array.isArray(", - f, - ")||", - f, - " instanceof Float32Array)?", - f, - ":(", - o(g, function (t) { - return m + "[" + t + "]=" + f + "[" + t + "]"; - }), - ",", - m, - ")", - ); - } else - r( - 1 < h - ? o(h, function (t) { - return f + "[" + t + "]"; - }) - : f, - ); - r(");"); - } - } - function V(t, e, r, n) { - function i(i) { - var a = h[i]; - return a - ? (a.contextDep && n.contextDynamic) || a.propDep - ? a.append(t, r) - : a.append(t, e) - : e.def(f, ".", i); - } - function a() { - function t() { - r( - l, - ".drawElementsInstancedANGLE(", - [d, m, v, g + "<<((" + v + "-5121)>>1)", s], - ");", - ); - } - function e() { - r(l, ".drawArraysInstancedANGLE(", [d, g, m, s], ");"); - } - p - ? y - ? t() - : (r("if(", p, "){"), t(), r("}else{"), e(), r("}")) - : e(); - } - function o() { - function t() { - r( - u + - ".drawElements(" + - [d, m, v, g + "<<((" + v + "-5121)>>1)"] + - ");", - ); - } - function e() { - r(u + ".drawArrays(" + [d, g, m] + ");"); - } - p - ? y - ? t() - : (r("if(", p, "){"), t(), r("}else{"), e(), r("}")) - : e(); - } - var s, - l, - c = t.shared, - u = c.gl, - f = c.draw, - h = n.draw, - p = (function () { - var i = h.elements, - a = e; - return ( - i - ? (((i.contextDep && n.contextDynamic) || i.propDep) && - (a = r), - (i = i.append(t, a))) - : (i = a.def(f, ".", "elements")), - i && - a( - "if(" + - i + - ")" + - u + - ".bindBuffer(34963," + - i + - ".buffer.buffer);", - ), - i - ); - })(), - d = i("primitive"), - g = i("offset"), - m = (function () { - var i = h.count, - a = e; - return ( - i - ? (((i.contextDep && n.contextDynamic) || i.propDep) && - (a = r), - (i = i.append(t, a))) - : (i = a.def(f, ".", "count")), - i - ); - })(); - if ("number" == typeof m) { - if (0 === m) return; - } else (r("if(", m, "){"), r.exit("}")); - Q && ((s = i("instances")), (l = t.instancing)); - var v = p + ".type", - y = h.elements && I(h.elements); - Q && ("number" != typeof s || 0 <= s) - ? "string" == typeof s - ? (r("if(", s, ">0){"), - a(), - r("}else if(", s, "<0){"), - o(), - r("}")) - : a() - : o(); - } - function q(t, e, r, n, i) { - return ( - (i = (e = b()).proc("body", i)), - Q && - (e.instancing = i.def( - e.shared.extensions, - ".angle_instanced_arrays", - )), - t(e, i, r, n), - e.compile().body - ); - } - function H(t, e, r, n) { - (L(t, e), - N(t, e, r, n.attributes, function () { - return !0; - }), - j(t, e, r, n.uniforms, function () { - return !0; - }), - V(t, e, e, r)); - } - function G(t, e, r, n) { - function i() { - return !0; - } - ((t.batchId = "a1"), - L(t, e), - N(t, e, r, n.attributes, i), - j(t, e, r, n.uniforms, i), - V(t, e, e, r)); - } - function W(t, e, r, n) { - function i(t) { - return (t.contextDep && o) || t.propDep; - } - function a(t) { - return !i(t); - } - L(t, e); - var o = r.contextDep, - s = e.def(), - l = e.def(); - ((t.shared.props = l), (t.batchId = s)); - var c = t.scope(), - u = t.scope(); - (e( - c.entry, - "for(", - s, - "=0;", - s, - "<", - "a1", - ";++", - s, - "){", - l, - "=", - "a0", - "[", - s, - "];", - u, - "}", - c.exit, - ), - r.needsContext && T(t, u, r.context), - r.needsFramebuffer && S(t, u, r.framebuffer), - E(t, u, r.state, i), - r.profile && i(r.profile) && F(t, u, r, !1, !0), - n - ? (N(t, c, r, n.attributes, a), - N(t, u, r, n.attributes, i), - j(t, c, r, n.uniforms, a), - j(t, u, r, n.uniforms, i), - V(t, c, u, r)) - : ((e = t.global.def("{}")), - (n = r.shader.progVar.append(t, u)), - (l = u.def(n, ".id")), - (c = u.def(e, "[", l, "]")), - u( - t.shared.gl, - ".useProgram(", - n, - ".program);", - "if(!", - c, - "){", - c, - "=", - e, - "[", - l, - "]=", - t.link(function (e) { - return q(G, t, r, e, 2); - }), - "(", - n, - ");}", - c, - ".call(this,a0[", - s, - "],", - s, - ");", - ))); - } - function Y(t, r) { - function n(e) { - var n = r.shader[e]; - n && i.set(a.shader, "." + e, n.append(t, i)); - } - var i = t.proc("scope", 3); - t.batchId = "a2"; - var a = t.shared, - o = a.current; - (T(t, i, r.context), - r.framebuffer && r.framebuffer.append(t, i), - D(Object.keys(r.state)).forEach(function (e) { - var n = r.state[e].append(t, i); - v(n) - ? n.forEach(function (r, n) { - i.set(t.next[e], "[" + n + "]", r); - }) - : i.set(a.next, "." + e, n); - }), - F(t, i, r, !0, !0), - ["elements", "offset", "count", "instances", "primitive"].forEach( - function (e) { - var n = r.draw[e]; - n && i.set(a.draw, "." + e, "" + n.append(t, i)); - }, - ), - Object.keys(r.uniforms).forEach(function (n) { - i.set( - a.uniforms, - "[" + e.id(n) + "]", - r.uniforms[n].append(t, i), - ); - }), - Object.keys(r.attributes).forEach(function (e) { - var n = r.attributes[e].append(t, i), - a = t.scopeAttrib(e); - Object.keys(new Z()).forEach(function (t) { - i.set(a, "." + t, n[t]); - }); - }), - n("vert"), - n("frag"), - 0 < Object.keys(r.state).length && - (i(o, ".dirty=true;"), i.exit(o, ".dirty=true;")), - i("a1(", t.shared.context, ",a0,", t.batchId, ");")); - } - function X(t, e, r) { - var n = e.static[r]; - if ( - n && - (function (t) { - if ("object" == typeof t && !v(t)) { - for (var e = Object.keys(t), r = 0; r < e.length; ++r) - if (U.isDynamic(t[e[r]])) return !0; - return !1; - } - })(n) - ) { - var i = t.global, - a = Object.keys(n), - o = !1, - s = !1, - l = !1, - c = t.global.def("{}"); - (a.forEach(function (e) { - var r = n[e]; - if (U.isDynamic(r)) - ("function" == typeof r && (r = n[e] = U.unbox(r)), - (e = B(r, null)), - (o = o || e.thisDep), - (l = l || e.propDep), - (s = s || e.contextDep)); - else { - switch ((i(c, ".", e, "="), typeof r)) { - case "number": - i(r); - break; - case "string": - i('"', r, '"'); - break; - case "object": - Array.isArray(r) && i("[", r.join(), "]"); - break; - default: - i(t.link(r)); - } - i(";"); - } - }), - (e.dynamic[r] = new U.DynamicVariable(4, { - thisDep: o, - contextDep: s, - propDep: l, - ref: c, - append: function (t, e) { - a.forEach(function (r) { - var i = n[r]; - U.isDynamic(i) && - ((i = t.invoke(e, i)), e(c, ".", r, "=", i, ";")); - }); - }, - })), - delete e.static[r]); - } - } - var Z = u.Record, - J = { add: 32774, subtract: 32778, "reverse subtract": 32779 }; - r.ext_blend_minmax && ((J.min = 32775), (J.max = 32776)); - var Q = r.angle_instanced_arrays, - $ = r.webgl_draw_buffers, - tt = { dirty: !0, profile: g.profile }, - et = {}, - nt = [], - it = {}, - at = {}; - (y("dither", 3024), - y("blend.enable", 3042), - x("blend.color", "blendColor", [0, 0, 0, 0]), - x("blend.equation", "blendEquationSeparate", [32774, 32774]), - x("blend.func", "blendFuncSeparate", [1, 0, 1, 0]), - y("depth.enable", 2929, !0), - x("depth.func", "depthFunc", 513), - x("depth.range", "depthRange", [0, 1]), - x("depth.mask", "depthMask", !0), - x("colorMask", "colorMask", [!0, !0, !0, !0]), - y("cull.enable", 2884), - x("cull.face", "cullFace", 1029), - x("frontFace", "frontFace", 2305), - x("lineWidth", "lineWidth", 1), - y("polygonOffset.enable", 32823), - x("polygonOffset.offset", "polygonOffset", [0, 0]), - y("sample.alpha", 32926), - y("sample.enable", 32928), - x("sample.coverage", "sampleCoverage", [1, !1]), - y("stencil.enable", 2960), - x("stencil.mask", "stencilMask", -1), - x("stencil.func", "stencilFunc", [519, 0, -1]), - x("stencil.opFront", "stencilOpSeparate", [1028, 7680, 7680, 7680]), - x("stencil.opBack", "stencilOpSeparate", [1029, 7680, 7680, 7680]), - y("scissor.enable", 3089), - x("scissor.box", "scissor", [ - 0, - 0, - t.drawingBufferWidth, - t.drawingBufferHeight, - ]), - x("viewport", "viewport", [ - 0, - 0, - t.drawingBufferWidth, - t.drawingBufferHeight, - ])); - var ot = { - gl: t, - context: p, - strings: e, - next: et, - current: tt, - draw: h, - elements: a, - buffer: i, - shader: f, - attributes: u.state, - uniforms: c, - framebuffer: l, - extensions: r, - timer: d, - isBufferArgs: P, - }, - st = { - primTypes: rt, - compareFuncs: yt, - blendFuncs: vt, - blendEquations: J, - stencilOps: xt, - glTypes: K, - orientationType: bt, - }; - $ && - ((st.backBuffer = [1029]), - (st.drawBuffer = o(n.maxDrawbuffers, function (t) { - return 0 === t - ? [0] - : o(t, function (t) { - return 36064 + t; - }); - }))); - var lt = 0; - return { - next: et, - current: tt, - procs: (function () { - var e = b(), - r = e.proc("poll"), - i = e.proc("refresh"), - a = e.block(); - (r(a), i(a)); - var s = e.shared, - l = s.gl, - c = s.next, - u = s.current; - (a(u, ".dirty=false;"), S(e, r), S(e, i, null, !0)); - var f, - h = t.getExtension("angle_instanced_arrays"); - h && (f = e.link(h)); - for (var p = 0; p < n.maxAttributes; ++p) { - var d = i.def(s.attributes, "[", p, "]"), - g = e.cond(d, ".buffer"); - (g - .then( - l, - ".enableVertexAttribArray(", - p, - ");", - l, - ".bindBuffer(", - 34962, - ",", - d, - ".buffer.buffer);", - l, - ".vertexAttribPointer(", - p, - ",", - d, - ".size,", - d, - ".type,", - d, - ".normalized,", - d, - ".stride,", - d, - ".offset);", - ) - .else( - l, - ".disableVertexAttribArray(", - p, - ");", - l, - ".vertexAttrib4f(", - p, - ",", - d, - ".x,", - d, - ".y,", - d, - ".z,", - d, - ".w);", - d, - ".buffer=null;", - ), - i(g), - h && - i(f, ".vertexAttribDivisorANGLE(", p, ",", d, ".divisor);")); - } - return ( - Object.keys(it).forEach(function (t) { - var n = it[t], - o = a.def(c, ".", t), - s = e.block(); - (s( - "if(", - o, - "){", - l, - ".enable(", - n, - ")}else{", - l, - ".disable(", - n, - ")}", - u, - ".", - t, - "=", - o, - ";", - ), - i(s), - r("if(", o, "!==", u, ".", t, "){", s, "}")); - }), - Object.keys(at).forEach(function (t) { - var n, - s, - f = at[t], - h = tt[t], - p = e.block(); - (p(l, ".", f, "("), - v(h) - ? ((f = h.length), - (n = e.global.def(c, ".", t)), - (s = e.global.def(u, ".", t)), - p( - o(f, function (t) { - return n + "[" + t + "]"; - }), - ");", - o(f, function (t) { - return s + "[" + t + "]=" + n + "[" + t + "];"; - }).join(""), - ), - r( - "if(", - o(f, function (t) { - return n + "[" + t + "]!==" + s + "[" + t + "]"; - }).join("||"), - "){", - p, - "}", - )) - : ((n = a.def(c, ".", t)), - (s = a.def(u, ".", t)), - p(n, ");", u, ".", t, "=", n, ";"), - r("if(", n, "!==", s, "){", p, "}")), - i(p)); - }), - e.compile() - ); - })(), - compile: function (t, e, r, n, i) { - var a = b(); - return ( - (a.stats = a.link(i)), - Object.keys(e.static).forEach(function (t) { - X(a, e, t); - }), - mt.forEach(function (e) { - X(a, t, e); - }), - (r = A(t, e, r, n)), - (function (t, e) { - var r = t.proc("draw", 1); - (L(t, r), - T(t, r, e.context), - S(t, r, e.framebuffer), - C(t, r, e), - E(t, r, e.state), - F(t, r, e, !1, !0)); - var n = e.shader.progVar.append(t, r); - if ( - (r(t.shared.gl, ".useProgram(", n, ".program);"), - e.shader.program) - ) - H(t, r, e, e.shader.program); - else { - var i = t.global.def("{}"), - a = r.def(n, ".id"), - o = r.def(i, "[", a, "]"); - r( - t - .cond(o) - .then(o, ".call(this,a0);") - .else( - o, - "=", - i, - "[", - a, - "]=", - t.link(function (r) { - return q(H, t, e, r, 1); - }), - "(", - n, - ");", - o, - ".call(this,a0);", - ), - ); - } - 0 < Object.keys(e.state).length && - r(t.shared.current, ".dirty=true;"); - })(a, r), - Y(a, r), - (function (t, e) { - function r(t) { - return (t.contextDep && i) || t.propDep; - } - var n = t.proc("batch", 2); - ((t.batchId = "0"), L(t, n)); - var i = !1, - a = !0; - (Object.keys(e.context).forEach(function (t) { - i = i || e.context[t].propDep; - }), - i || (T(t, n, e.context), (a = !1))); - var o = !1; - if ( - ((s = e.framebuffer) - ? (s.propDep ? (i = o = !0) : s.contextDep && i && (o = !0), - o || S(t, n, s)) - : S(t, n, null), - e.state.viewport && e.state.viewport.propDep && (i = !0), - C(t, n, e), - E(t, n, e.state, function (t) { - return !r(t); - }), - (e.profile && r(e.profile)) || F(t, n, e, !1, "a1"), - (e.contextDep = i), - (e.needsContext = a), - (e.needsFramebuffer = o), - ((a = e.shader.progVar).contextDep && i) || a.propDep) - ) - W(t, n, e, null); - else if ( - ((a = a.append(t, n)), - n(t.shared.gl, ".useProgram(", a, ".program);"), - e.shader.program) - ) - W(t, n, e, e.shader.program); - else { - var s = t.global.def("{}"), - l = ((o = n.def(a, ".id")), n.def(s, "[", o, "]")); - n( - t - .cond(l) - .then(l, ".call(this,a0,a1);") - .else( - l, - "=", - s, - "[", - o, - "]=", - t.link(function (r) { - return q(W, t, e, r, 2); - }), - "(", - a, - ");", - l, - ".call(this,a0,a1);", - ), - ); - } - 0 < Object.keys(e.state).length && - n(t.shared.current, ".dirty=true;"); - })(a, r), - a.compile() - ); - }, - }; - } - function N(t, e) { - for (var r = 0; r < t.length; ++r) if (t[r] === e) return r; - return -1; - } - var j = function (t, e) { - for (var r = Object.keys(e), n = 0; n < r.length; ++n) - t[r[n]] = e[r[n]]; - return t; - }, - V = 0, - U = { - DynamicVariable: t, - define: function (r, n) { - return new t(r, e(n + "")); - }, - isDynamic: function (e) { - return ("function" == typeof e && !e._reglType) || e instanceof t; - }, - unbox: function (e, r) { - return "function" == typeof e ? new t(0, e) : e; - }, - accessor: e, - }, - q = { - next: - "function" == typeof requestAnimationFrame - ? function (t) { - return requestAnimationFrame(t); - } - : function (t) { - return setTimeout(t, 16); - }, - cancel: - "function" == typeof cancelAnimationFrame - ? function (t) { - return cancelAnimationFrame(t); - } - : clearTimeout, - }, - H = - "undefined" != typeof performance && performance.now - ? function () { - return performance.now(); - } - : function () { - return +new Date(); - }, - G = function (t) { - return ( - t instanceof Uint8Array || - t instanceof Uint16Array || - t instanceof Uint32Array || - t instanceof Int8Array || - t instanceof Int16Array || - t instanceof Int32Array || - t instanceof Float32Array || - t instanceof Float64Array || - t instanceof Uint8ClampedArray - ); - }, - W = function (t) { - return Object.keys(t).map(function (e) { - return t[e]; - }); - }, - Y = o(8, function () { - return []; - }), - X = { - alloc: l, - free: c, - allocType: function (t, e) { - var r = null; - switch (t) { - case 5120: - r = new Int8Array(l(e), 0, e); - break; - case 5121: - r = new Uint8Array(l(e), 0, e); - break; - case 5122: - r = new Int16Array(l(2 * e), 0, e); - break; - case 5123: - r = new Uint16Array(l(2 * e), 0, e); - break; - case 5124: - r = new Int32Array(l(4 * e), 0, e); - break; - case 5125: - r = new Uint32Array(l(4 * e), 0, e); - break; - case 5126: - r = new Float32Array(l(4 * e), 0, e); - break; - default: - return null; - } - return r.length !== e ? r.subarray(0, e) : r; - }, - freeType: function (t) { - c(t.buffer); - }, - }, - Z = { - shape: function (t) { - for (var e = []; t.length; t = t[0]) e.push(t.length); - return e; - }, - flatten: function (t, e, r, n) { - var i = 1; - if (e.length) for (var a = 0; a < e.length; ++a) i *= e[a]; - else i = 0; - switch (((r = n || X.allocType(r, i)), e.length)) { - case 0: - break; - case 1: - for (n = e[0], e = 0; e < n; ++e) r[e] = t[e]; - break; - case 2: - for (n = e[0], e = e[1], a = i = 0; a < n; ++a) - for (var o = t[a], s = 0; s < e; ++s) r[i++] = o[s]; - break; - case 3: - u(t, e[0], e[1], e[2], r, 0); - break; - default: - !(function t(e, r, n, i, a) { - for (var o = 1, s = n + 1; s < r.length; ++s) o *= r[s]; - var l = r[n]; - if (4 == r.length - n) { - var c = r[n + 1], - f = r[n + 2]; - for (r = r[n + 3], s = 0; s < l; ++s) - (u(e[s], c, f, r, i, a), (a += o)); - } else - for (s = 0; s < l; ++s) (t(e[s], r, n + 1, i, a), (a += o)); - })(t, e, 0, r, 0); - } - return r; - }, - }, - J = { - "[object Int8Array]": 5120, - "[object Int16Array]": 5122, - "[object Int32Array]": 5124, - "[object Uint8Array]": 5121, - "[object Uint8ClampedArray]": 5121, - "[object Uint16Array]": 5123, - "[object Uint32Array]": 5125, - "[object Float32Array]": 5126, - "[object Float64Array]": 5121, - "[object ArrayBuffer]": 5121, - }, - K = { - int8: 5120, - int16: 5122, - int32: 5124, - uint8: 5121, - uint16: 5123, - uint32: 5125, - float: 5126, - float32: 5126, - }, - Q = { dynamic: 35048, stream: 35040, static: 35044 }, - $ = Z.flatten, - tt = Z.shape, - et = []; - ((et[5120] = 1), - (et[5122] = 2), - (et[5124] = 4), - (et[5121] = 1), - (et[5123] = 2), - (et[5125] = 4), - (et[5126] = 4)); - var rt = { - points: 0, - point: 0, - lines: 1, - line: 1, - triangles: 4, - triangle: 4, - "line loop": 2, - "line strip": 3, - "triangle strip": 5, - "triangle fan": 6, - }, - nt = new Float32Array(1), - it = new Uint32Array(nt.buffer), - at = [9984, 9986, 9985, 9987], - ot = [0, 6409, 6410, 6407, 6408], - st = {}; - ((st[6409] = st[6406] = st[6402] = 1), - (st[34041] = st[6410] = 2), - (st[6407] = st[35904] = 3), - (st[6408] = st[35906] = 4)); - var lt = Object.keys(J).concat([ - "[object HTMLCanvasElement]", - "[object CanvasRenderingContext2D]", - "[object HTMLImageElement]", - "[object HTMLVideoElement]", - ]), - ct = []; - ((ct[5121] = 1), - (ct[5126] = 4), - (ct[36193] = 2), - (ct[5123] = 2), - (ct[5125] = 4)); - var ut = []; - ((ut[32854] = 2), - (ut[32855] = 2), - (ut[36194] = 2), - (ut[34041] = 4), - (ut[33776] = 0.5), - (ut[33777] = 0.5), - (ut[33778] = 1), - (ut[33779] = 1), - (ut[35986] = 0.5), - (ut[35987] = 1), - (ut[34798] = 1), - (ut[35840] = 0.5), - (ut[35841] = 0.25), - (ut[35842] = 0.5), - (ut[35843] = 0.25), - (ut[36196] = 0.5)); - var ft = []; - ((ft[32854] = 2), - (ft[32855] = 2), - (ft[36194] = 2), - (ft[33189] = 2), - (ft[36168] = 1), - (ft[34041] = 4), - (ft[35907] = 4), - (ft[34836] = 16), - (ft[34842] = 8), - (ft[34843] = 6)); - var ht = function (t, e, r, n, i) { - function a(t) { - ((this.id = c++), - (this.refCount = 1), - (this.renderbuffer = t), - (this.format = 32854), - (this.height = this.width = 0), - i.profile && (this.stats = { size: 0 })); - } - function o(e) { - var r = e.renderbuffer; - (t.bindRenderbuffer(36161, null), - t.deleteRenderbuffer(r), - (e.renderbuffer = null), - (e.refCount = 0), - delete u[e.id], - n.renderbufferCount--); - } - var s = { - rgba4: 32854, - rgb565: 36194, - "rgb5 a1": 32855, - depth: 33189, - stencil: 36168, - "depth stencil": 34041, - }; - (e.ext_srgb && (s.srgba = 35907), - e.ext_color_buffer_half_float && - ((s.rgba16f = 34842), (s.rgb16f = 34843)), - e.webgl_color_buffer_float && (s.rgba32f = 34836)); - var l = []; - Object.keys(s).forEach(function (t) { - l[s[t]] = t; - }); - var c = 0, - u = {}; - return ( - (a.prototype.decRef = function () { - 0 >= --this.refCount && o(this); - }), - i.profile && - (n.getTotalRenderbufferSize = function () { - var t = 0; - return ( - Object.keys(u).forEach(function (e) { - t += u[e].stats.size; - }), - t - ); - }), - { - create: function (e, r) { - function o(e, r) { - var n = 0, - a = 0, - u = 32854; - if ( - ("object" == typeof e && e - ? ("shape" in e - ? ((n = 0 | (a = e.shape)[0]), (a = 0 | a[1])) - : ("radius" in e && (n = a = 0 | e.radius), - "width" in e && (n = 0 | e.width), - "height" in e && (a = 0 | e.height)), - "format" in e && (u = s[e.format])) - : "number" == typeof e - ? ((n = 0 | e), (a = "number" == typeof r ? 0 | r : n)) - : e || (n = a = 1), - n !== c.width || a !== c.height || u !== c.format) - ) - return ( - (o.width = c.width = n), - (o.height = c.height = a), - (c.format = u), - t.bindRenderbuffer(36161, c.renderbuffer), - t.renderbufferStorage(36161, u, n, a), - i.profile && - (c.stats.size = ft[c.format] * c.width * c.height), - (o.format = l[c.format]), - o - ); - } - var c = new a(t.createRenderbuffer()); - return ( - (u[c.id] = c), - n.renderbufferCount++, - o(e, r), - (o.resize = function (e, r) { - var n = 0 | e, - a = 0 | r || n; - return n === c.width && a === c.height - ? o - : ((o.width = c.width = n), - (o.height = c.height = a), - t.bindRenderbuffer(36161, c.renderbuffer), - t.renderbufferStorage(36161, c.format, n, a), - i.profile && - (c.stats.size = ft[c.format] * c.width * c.height), - o); - }), - (o._reglType = "renderbuffer"), - (o._renderbuffer = c), - i.profile && (o.stats = c.stats), - (o.destroy = function () { - c.decRef(); - }), - o - ); - }, - clear: function () { - W(u).forEach(o); - }, - restore: function () { - (W(u).forEach(function (e) { - ((e.renderbuffer = t.createRenderbuffer()), - t.bindRenderbuffer(36161, e.renderbuffer), - t.renderbufferStorage(36161, e.format, e.width, e.height)); - }), - t.bindRenderbuffer(36161, null)); - }, - } - ); - }, - pt = []; - pt[6408] = 4; - var dt = []; - ((dt[5121] = 1), (dt[5126] = 4), (dt[36193] = 2)); - var gt = ["x", "y", "z", "w"], - mt = - "blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split( - " ", - ), - vt = { - 0: 0, - 1: 1, - zero: 0, - one: 1, - "src color": 768, - "one minus src color": 769, - "src alpha": 770, - "one minus src alpha": 771, - "dst color": 774, - "one minus dst color": 775, - "dst alpha": 772, - "one minus dst alpha": 773, - "constant color": 32769, - "one minus constant color": 32770, - "constant alpha": 32771, - "one minus constant alpha": 32772, - "src alpha saturate": 776, - }, - yt = { - never: 512, - less: 513, - "<": 513, - equal: 514, - "=": 514, - "==": 514, - "===": 514, - lequal: 515, - "<=": 515, - greater: 516, - ">": 516, - notequal: 517, - "!=": 517, - "!==": 517, - gequal: 518, - ">=": 518, - always: 519, - }, - xt = { - 0: 0, - zero: 0, - keep: 7680, - replace: 7681, - increment: 7682, - decrement: 7683, - "increment wrap": 34055, - "decrement wrap": 34056, - invert: 5386, - }, - bt = { cw: 2304, ccw: 2305 }, - _t = new O(!1, !1, !1, function () {}); - return function (t) { - function e() { - if (0 === X.length) (w && w.update(), (Q = null)); - else { - ((Q = q.next(e)), f()); - for (var t = X.length - 1; 0 <= t; --t) { - var r = X[t]; - r && r(z, null, 0); - } - (m.flush(), w && w.update()); - } - } - function r() { - !Q && 0 < X.length && (Q = q.next(e)); - } - function n() { - Q && (q.cancel(e), (Q = null)); - } - function a(t) { - (t.preventDefault(), - n(), - Z.forEach(function (t) { - t(); - })); - } - function o(t) { - (m.getError(), - y.restore(), - I.restore(), - D.restore(), - R.restore(), - B.restore(), - V.restore(), - w && w.restore(), - G.procs.refresh(), - r(), - J.forEach(function (t) { - t(); - })); - } - function s(t) { - function e(t) { - var e = {}, - r = {}; - return ( - Object.keys(t).forEach(function (n) { - var i = t[n]; - U.isDynamic(i) ? (r[n] = U.unbox(i, n)) : (e[n] = i); - }), - { dynamic: r, static: e } - ); - } - var r = e(t.context || {}), - n = e(t.uniforms || {}), - i = e(t.attributes || {}), - a = e( - (function (t) { - function e(t) { - if (t in r) { - var e = r[t]; - (delete r[t], - Object.keys(e).forEach(function (n) { - r[t + "." + n] = e[n]; - })); - } - } - var r = j({}, t); - return ( - delete r.uniforms, - delete r.attributes, - delete r.context, - "stencil" in r && - r.stencil.op && - ((r.stencil.opBack = r.stencil.opFront = r.stencil.op), - delete r.stencil.op), - e("blend"), - e("depth"), - e("cull"), - e("stencil"), - e("polygonOffset"), - e("scissor"), - e("sample"), - r - ); - })(t), - ); - t = { gpuTime: 0, cpuTime: 0, count: 0 }; - var o = (r = G.compile(a, i, n, r, t)).draw, - s = r.batch, - l = r.scope, - c = []; - return j( - function (t, e) { - var r; - if ("function" == typeof t) return l.call(this, null, t, 0); - if ("function" == typeof e) - if ("number" == typeof t) - for (r = 0; r < t; ++r) l.call(this, null, e, r); - else { - if (!Array.isArray(t)) return l.call(this, t, e, 0); - for (r = 0; r < t.length; ++r) l.call(this, t[r], e, r); - } - else if ("number" == typeof t) { - if (0 < t) - return s.call( - this, - (function (t) { - for (; c.length < t; ) c.push(null); - return c; - })(0 | t), - 0 | t, - ); - } else { - if (!Array.isArray(t)) return o.call(this, t); - if (t.length) return s.call(this, t, t.length); - } - }, - { stats: t }, - ); - } - function l(t, e) { - var r = 0; - G.procs.poll(); - var n = e.color; - (n && - (m.clearColor(+n[0] || 0, +n[1] || 0, +n[2] || 0, +n[3] || 0), - (r |= 16384)), - "depth" in e && (m.clearDepth(+e.depth), (r |= 256)), - "stencil" in e && (m.clearStencil(0 | e.stencil), (r |= 1024)), - m.clear(r)); - } - function c(t) { - return ( - X.push(t), - r(), - { - cancel: function () { - var e = N(X, t); - X[e] = function t() { - var e = N(X, t); - ((X[e] = X[X.length - 1]), --X.length, 0 >= X.length && n()); - }; - }, - } - ); - } - function u() { - var t = W.viewport, - e = W.scissor_box; - ((t[0] = t[1] = e[0] = e[1] = 0), - (z.viewportWidth = - z.framebufferWidth = - z.drawingBufferWidth = - t[2] = - e[2] = - m.drawingBufferWidth), - (z.viewportHeight = - z.framebufferHeight = - z.drawingBufferHeight = - t[3] = - e[3] = - m.drawingBufferHeight)); - } - function f() { - ((z.tick += 1), (z.time = p()), u(), G.procs.poll()); - } - function h() { - (u(), G.procs.refresh(), w && w.update()); - } - function p() { - return (H() - k) / 1e3; - } - if (!(t = i(t))) return null; - var m = t.gl, - v = m.getContextAttributes(); - m.isContextLost(); - var y = (function (t, e) { - function r(e) { - var r; - e = e.toLowerCase(); - try { - r = n[e] = t.getExtension(e); - } catch (t) {} - return !!r; - } - for (var n = {}, i = 0; i < e.extensions.length; ++i) { - var a = e.extensions[i]; - if (!r(a)) - return ( - e.onDestroy(), - e.onDone( - '"' + - a + - '" extension is not supported by the current WebGL context, try upgrading your system or a different browser', - ), - null - ); - } - return ( - e.optionalExtensions.forEach(r), - { - extensions: n, - restore: function () { - Object.keys(n).forEach(function (t) { - if (!r(t)) - throw Error("(regl): error restoring extension " + t); - }); - }, - } - ); - })(m, t); - if (!y) return null; - var x = (function () { - var t = { "": 0 }, - e = [""]; - return { - id: function (r) { - var n = t[r]; - return n || ((n = t[r] = e.length), e.push(r), n); - }, - str: function (t) { - return e[t]; - }, - }; - })(), - b = { - bufferCount: 0, - elementsCount: 0, - framebufferCount: 0, - shaderCount: 0, - textureCount: 0, - cubeCount: 0, - renderbufferCount: 0, - maxTextureUnits: 0, - }, - _ = y.extensions, - w = (function (t, e) { - function r(t, e, r) { - var n = - o.pop() || - new (function () { - ((this.endQueryIndex = this.startQueryIndex = -1), - (this.sum = 0), - (this.stats = null)); - })(); - ((n.startQueryIndex = t), - (n.endQueryIndex = e), - (n.sum = 0), - (n.stats = r), - s.push(n)); - } - var n = e.ext_disjoint_timer_query; - if (!n) return null; - var i = [], - a = [], - o = [], - s = [], - l = [], - c = []; - return { - beginQuery: function (t) { - var e = i.pop() || n.createQueryEXT(); - (n.beginQueryEXT(35007, e), - a.push(e), - r(a.length - 1, a.length, t)); - }, - endQuery: function () { - n.endQueryEXT(35007); - }, - pushScopeStats: r, - update: function () { - var t, e; - if (0 !== (t = a.length)) { - ((c.length = Math.max(c.length, t + 1)), - (l.length = Math.max(l.length, t + 1)), - (l[0] = 0)); - var r = (c[0] = 0); - for (e = t = 0; e < a.length; ++e) { - var u = a[e]; - (n.getQueryObjectEXT(u, 34919) - ? ((r += n.getQueryObjectEXT(u, 34918)), i.push(u)) - : (a[t++] = u), - (l[e + 1] = r), - (c[e + 1] = t)); - } - for (a.length = t, e = t = 0; e < s.length; ++e) { - var f = (r = s[e]).startQueryIndex; - ((u = r.endQueryIndex), - (r.sum += l[u] - l[f]), - (f = c[f]), - (u = c[u]) === f - ? ((r.stats.gpuTime += r.sum / 1e6), o.push(r)) - : ((r.startQueryIndex = f), - (r.endQueryIndex = u), - (s[t++] = r))); - } - s.length = t; - } - }, - getNumPendingQueries: function () { - return a.length; - }, - clear: function () { - i.push.apply(i, a); - for (var t = 0; t < i.length; t++) n.deleteQueryEXT(i[t]); - ((a.length = 0), (i.length = 0)); - }, - restore: function () { - ((a.length = 0), (i.length = 0)); - }, - }; - })(0, _), - k = H(), - E = m.drawingBufferWidth, - L = m.drawingBufferHeight, - z = { - tick: 0, - time: 0, - viewportWidth: E, - viewportHeight: L, - framebufferWidth: E, - framebufferHeight: L, - drawingBufferWidth: E, - drawingBufferHeight: L, - pixelRatio: t.pixelRatio, - }, - P = (function (t, e) { - var r = 1; - e.ext_texture_filter_anisotropic && (r = t.getParameter(34047)); - var n = 1, - i = 1; - return ( - e.webgl_draw_buffers && - ((n = t.getParameter(34852)), (i = t.getParameter(36063))), - { - colorBits: [ - t.getParameter(3410), - t.getParameter(3411), - t.getParameter(3412), - t.getParameter(3413), - ], - depthBits: t.getParameter(3414), - stencilBits: t.getParameter(3415), - subpixelBits: t.getParameter(3408), - extensions: Object.keys(e).filter(function (t) { - return !!e[t]; - }), - maxAnisotropic: r, - maxDrawbuffers: n, - maxColorAttachments: i, - pointSizeDims: t.getParameter(33901), - lineWidthDims: t.getParameter(33902), - maxViewportDims: t.getParameter(3386), - maxCombinedTextureUnits: t.getParameter(35661), - maxCubeMapSize: t.getParameter(34076), - maxRenderbufferSize: t.getParameter(34024), - maxTextureUnits: t.getParameter(34930), - maxTextureSize: t.getParameter(3379), - maxAttributes: t.getParameter(34921), - maxVertexUniforms: t.getParameter(36347), - maxVertexTextureUnits: t.getParameter(35660), - maxVaryingVectors: t.getParameter(36348), - maxFragmentUniforms: t.getParameter(36349), - glsl: t.getParameter(35724), - renderer: t.getParameter(7937), - vendor: t.getParameter(7936), - version: t.getParameter(7938), - } - ); - })(m, _), - D = d(m, b, t), - O = g(m, _, D, b), - I = - ((E = (function (t, e, r, n, i) { - for (t = r.maxAttributes, e = Array(t), r = 0; r < t; ++r) - e[r] = new T(); - return { Record: T, scope: {}, state: e }; - })(m, _, P)), - S(m, x, b, t)), - R = M( - m, - _, - P, - function () { - G.procs.poll(); - }, - z, - b, - t, - ), - B = ht(m, _, 0, b, t), - V = A(m, _, P, R, B, b), - G = F( - m, - x, - _, - P, - D, - O, - 0, - V, - {}, - E, - I, - { - elements: null, - primitive: 4, - count: -1, - offset: 0, - instances: -1, - }, - z, - w, - t, - ), - W = ((x = C(m, V, G.procs.poll, z)), G.next), - Y = m.canvas, - X = [], - Z = [], - J = [], - K = [t.onDestroy], - Q = null; - Y && - (Y.addEventListener("webglcontextlost", a, !1), - Y.addEventListener("webglcontextrestored", o, !1)); - var $ = (V.setFBO = s({ - framebuffer: U.define.call(null, 1, "framebuffer"), - })); - return ( - h(), - (v = j(s, { - clear: function (t) { - if ("framebuffer" in t) - if ( - t.framebuffer && - "framebufferCube" === t.framebuffer_reglType - ) - for (var e = 0; 6 > e; ++e) - $(j({ framebuffer: t.framebuffer.faces[e] }, t), l); - else $(t, l); - else l(0, t); - }, - prop: U.define.bind(null, 1), - context: U.define.bind(null, 2), - this: U.define.bind(null, 3), - draw: s({}), - buffer: function (t) { - return D.create(t, 34962, !1, !1); - }, - elements: function (t) { - return O.create(t, !1); - }, - texture: R.create2D, - cube: R.createCube, - renderbuffer: B.create, - framebuffer: V.create, - framebufferCube: V.createCube, - attributes: v, - frame: c, - on: function (t, e) { - var r; - switch (t) { - case "frame": - return c(e); - case "lost": - r = Z; - break; - case "restore": - r = J; - break; - case "destroy": - r = K; - } - return ( - r.push(e), - { - cancel: function () { - for (var t = 0; t < r.length; ++t) - if (r[t] === e) { - ((r[t] = r[r.length - 1]), r.pop()); - break; - } - }, - } - ); - }, - limits: P, - hasExtension: function (t) { - return 0 <= P.extensions.indexOf(t.toLowerCase()); - }, - read: x, - destroy: function () { - ((X.length = 0), - n(), - Y && - (Y.removeEventListener("webglcontextlost", a), - Y.removeEventListener("webglcontextrestored", o)), - I.clear(), - V.clear(), - B.clear(), - R.clear(), - O.clear(), - D.clear(), - w && w.clear(), - K.forEach(function (t) { - t(); - })); - }, - _gl: m, - _refresh: h, - poll: function () { - (f(), w && w.update()); - }, - now: p, - stats: b, - })), - t.onDone(null, v), - v - ); - }; - }), - "object" == typeof r && void 0 !== e - ? (e.exports = i()) - : (n.createREGL = i())); - }, - {}, - ], - 381: [ - function (t, e, r) { - "use strict"; - var n, - i = ""; - e.exports = function (t, e) { - if ("string" != typeof t) throw new TypeError("expected a string"); - if (1 === e) return t; - if (2 === e) return t + t; - var r = t.length * e; - if (n !== t || void 0 === n) ((n = t), (i = "")); - else if (i.length >= r) return i.substr(0, r); - for (; r > i.length && e > 1; ) (1 & e && (i += t), (e >>= 1), (t += t)); - return (i = (i += t).substr(0, r)); - }; - }, - {}, - ], - 382: [ - function (t, e, r) { - (function (t) { - e.exports = - t.performance && t.performance.now - ? function () { - return performance.now(); - } - : Date.now || - function () { - return +new Date(); - }; - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - {}, - ], - 383: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = t.length, r = t[t.length - 1], n = e, i = e - 2; i >= 0; --i) { - var a = r, - o = t[i], - s = (r = a + o) - a, - l = o - s; - l && ((t[--n] = r), (r = l)); - } - for (var c = 0, i = n; i < e; ++i) { - var a = t[i], - o = r, - s = (r = a + o) - a, - l = o - s; - l && (t[c++] = l); - } - return ((t[c++] = r), (t.length = c), t); - }; - }, - {}, - ], - 384: [ - function (t, e, r) { - "use strict"; - var n = t("two-product"), - i = t("robust-sum"), - a = t("robust-scale"), - o = t("robust-compress"), - s = 6; - function l(t, e) { - for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) - for ( - var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; - a < t.length; - ++a - ) - a !== e && (i[o++] = t[n][a]); - return r; - } - function c(t) { - if (2 === t.length) - return [ - "sum(prod(", - t[0][0], - ",", - t[1][1], - "),prod(-", - t[0][1], - ",", - t[1][0], - "))", - ].join(""); - for (var e = [], r = 0; r < t.length; ++r) - e.push( - [ - "scale(", - c(l(t, r)), - ",", - ((n = r), 1 & n ? "-" : ""), - t[0][r], - ")", - ].join(""), - ); - return (function t(e) { - if (1 === e.length) return e[0]; - if (2 === e.length) return ["sum(", e[0], ",", e[1], ")"].join(""); - var r = e.length >> 1; - return ["sum(", t(e.slice(0, r)), ",", t(e.slice(r)), ")"].join(""); - })(e); - var n; - } - function u(t) { - return new Function( - "sum", - "scale", - "prod", - "compress", - [ - "function robustDeterminant", - t, - "(m){return compress(", - c( - (function (t) { - for (var e = new Array(t), r = 0; r < t; ++r) { - e[r] = new Array(t); - for (var n = 0; n < t; ++n) - e[r][n] = ["m[", r, "][", n, "]"].join(""); - } - return e; - })(t), - ), - ")};return robustDeterminant", - t, - ].join(""), - )(i, a, n, o); - } - var f = [ - function () { - return [0]; - }, - function (t) { - return [t[0][0]]; - }, - ]; - !(function () { - for (; f.length < s; ) f.push(u(f.length)); - for ( - var t = [], - r = ["function robustDeterminant(m){switch(m.length){"], - n = 0; - n < s; - ++n - ) - (t.push("det" + n), r.push("case ", n, ":return det", n, "(m);")); - (r.push( - "}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant", - ), - t.push("CACHE", "gen", r.join(""))); - var i = Function.apply(void 0, t); - for ( - e.exports = i.apply(void 0, f.concat([f, u])), n = 0; - n < f.length; - ++n - ) - e.exports[n] = f[n]; - })(); - }, - { - "robust-compress": 383, - "robust-scale": 390, - "robust-sum": 393, - "two-product": 421, - }, - ], - 385: [ - function (t, e, r) { - "use strict"; - var n = t("two-product"), - i = t("robust-sum"); - e.exports = function (t, e) { - for (var r = n(t[0], e[0]), a = 1; a < t.length; ++a) - r = i(r, n(t[a], e[a])); - return r; - }; - }, - { "robust-sum": 393, "two-product": 421 }, - ], - 386: [ - function (t, e, r) { - "use strict"; - var n = t("two-product"), - i = t("robust-sum"), - a = t("robust-subtract"), - o = t("robust-scale"), - s = 6; - function l(t, e) { - for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) - for ( - var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; - a < t.length; - ++a - ) - a !== e && (i[o++] = t[n][a]); - return r; - } - function c(t) { - if (1 === t.length) return t[0]; - if (2 === t.length) return ["sum(", t[0], ",", t[1], ")"].join(""); - var e = t.length >> 1; - return ["sum(", c(t.slice(0, e)), ",", c(t.slice(e)), ")"].join(""); - } - function u(t, e) { - if ("m" === t.charAt(0)) { - if ("w" === e.charAt(0)) { - var r = t.split("["); - return ["w", e.substr(1), "m", r[0].substr(1)].join(""); - } - return ["prod(", t, ",", e, ")"].join(""); - } - return u(e, t); - } - function f(t) { - if (2 === t.length) - return [ - ["diff(", u(t[0][0], t[1][1]), ",", u(t[1][0], t[0][1]), ")"].join(""), - ]; - for (var e = [], r = 0; r < t.length; ++r) - e.push( - [ - "scale(", - c(f(l(t, r))), - ",", - ((n = r), !0 & n ? "-" : ""), - t[0][r], - ")", - ].join(""), - ); - return e; - var n; - } - function h(t, e) { - for (var r = [], n = 0; n < e - 2; ++n) - r.push(["prod(m", t, "[", n, "],m", t, "[", n, "])"].join("")); - return c(r); - } - function p(t) { - for ( - var e = [], - r = [], - s = (function (t) { - for (var e = new Array(t), r = 0; r < t; ++r) { - e[r] = new Array(t); - for (var n = 0; n < t; ++n) - e[r][n] = ["m", n, "[", t - r - 2, "]"].join(""); - } - return e; - })(t), - u = 0; - u < t; - ++u - ) - ((s[0][u] = "1"), (s[t - 1][u] = "w" + u)); - for (u = 0; u < t; ++u) - 0 == (1 & u) ? e.push.apply(e, f(l(s, u))) : r.push.apply(r, f(l(s, u))); - var p = c(e), - d = c(r), - g = "exactInSphere" + t, - m = []; - for (u = 0; u < t; ++u) m.push("m" + u); - var v = ["function ", g, "(", m.join(), "){"]; - for (u = 0; u < t; ++u) { - v.push("var w", u, "=", h(u, t), ";"); - for (var y = 0; y < t; ++y) - y !== u && v.push("var w", u, "m", y, "=scale(w", u, ",m", y, "[0]);"); - } - return ( - v.push( - "var p=", - p, - ",n=", - d, - ",d=diff(p,n);return d[d.length-1];}return ", - g, - ), - new Function("sum", "diff", "prod", "scale", v.join(""))(i, a, n, o) - ); - } - var d = [ - function () { - return 0; - }, - function () { - return 0; - }, - function () { - return 0; - }, - ]; - !(function () { - for (; d.length <= s; ) d.push(p(d.length)); - for (var t = [], r = ["slow"], n = 0; n <= s; ++n) - (t.push("a" + n), r.push("o" + n)); - var i = [ - "function testInSphere(", - t.join(), - "){switch(arguments.length){case 0:case 1:return 0;", - ]; - for (n = 2; n <= s; ++n) - i.push("case ", n, ":return o", n, "(", t.slice(0, n).join(), ");"); - (i.push( - "}var s=new Array(arguments.length);for(var i=0;i 0 && r.push(","), r.push("[")); - for (var o = 0; o < t; ++o) - (o > 0 && r.push(","), - o === i ? r.push("+b[", a, "]") : r.push("+A[", a, "][", o, "]")); - r.push("]"); - } - r.push("]),"); - } - r.push("det(A)]}return ", e); - var s = new Function("det", r.join("")); - return s(t < 6 ? n[t] : n); - } - var o = [ - function () { - return [0]; - }, - function (t, e) { - return [[e[0]], [t[0][0]]]; - }, - ]; - !(function () { - for (; o.length < i; ) o.push(a(o.length)); - for ( - var t = [], - r = ["function dispatchLinearSolve(A,b){switch(A.length){"], - n = 0; - n < i; - ++n - ) - (t.push("s" + n), r.push("case ", n, ":return s", n, "(A,b);")); - (r.push( - "}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve", - ), - t.push("CACHE", "g", r.join(""))); - var s = Function.apply(void 0, t); - for (e.exports = s.apply(void 0, o.concat([o, a])), n = 0; n < i; ++n) - e.exports[n] = o[n]; - })(); - }, - { "robust-determinant": 384 }, - ], - 388: [ - function (t, e, r) { - "use strict"; - var n = t("two-product"), - i = t("robust-sum"), - a = t("robust-scale"), - o = t("robust-subtract"), - s = 5; - function l(t, e) { - for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) - for ( - var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; - a < t.length; - ++a - ) - a !== e && (i[o++] = t[n][a]); - return r; - } - function c(t) { - if (1 === t.length) return t[0]; - if (2 === t.length) return ["sum(", t[0], ",", t[1], ")"].join(""); - var e = t.length >> 1; - return ["sum(", c(t.slice(0, e)), ",", c(t.slice(e)), ")"].join(""); - } - function u(t) { - if (2 === t.length) - return [ - [ - "sum(prod(", - t[0][0], - ",", - t[1][1], - "),prod(-", - t[0][1], - ",", - t[1][0], - "))", - ].join(""), - ]; - for (var e = [], r = 0; r < t.length; ++r) - e.push( - [ - "scale(", - c(u(l(t, r))), - ",", - ((n = r), 1 & n ? "-" : ""), - t[0][r], - ")", - ].join(""), - ); - return e; - var n; - } - function f(t) { - for ( - var e = [], - r = [], - s = (function (t) { - for (var e = new Array(t), r = 0; r < t; ++r) { - e[r] = new Array(t); - for (var n = 0; n < t; ++n) - e[r][n] = ["m", n, "[", t - r - 1, "]"].join(""); - } - return e; - })(t), - f = [], - h = 0; - h < t; - ++h - ) - (0 == (1 & h) ? e.push.apply(e, u(l(s, h))) : r.push.apply(r, u(l(s, h))), - f.push("m" + h)); - var p = c(e), - d = c(r), - g = "orientation" + t + "Exact", - m = [ - "function ", - g, - "(", - f.join(), - "){var p=", - p, - ",n=", - d, - ",d=sub(p,n);return d[d.length-1];};return ", - g, - ].join(""); - return new Function("sum", "prod", "scale", "sub", m)(i, n, a, o); - } - var h = f(3), - p = f(4), - d = [ - function () { - return 0; - }, - function () { - return 0; - }, - function (t, e) { - return e[0] - t[0]; - }, - function (t, e, r) { - var n, - i = (t[1] - r[1]) * (e[0] - r[0]), - a = (t[0] - r[0]) * (e[1] - r[1]), - o = i - a; - if (i > 0) { - if (a <= 0) return o; - n = i + a; - } else { - if (!(i < 0)) return o; - if (a >= 0) return o; - n = -(i + a); - } - var s = 3.3306690738754716e-16 * n; - return o >= s || o <= -s ? o : h(t, e, r); - }, - function (t, e, r, n) { - var i = t[0] - n[0], - a = e[0] - n[0], - o = r[0] - n[0], - s = t[1] - n[1], - l = e[1] - n[1], - c = r[1] - n[1], - u = t[2] - n[2], - f = e[2] - n[2], - h = r[2] - n[2], - d = a * c, - g = o * l, - m = o * s, - v = i * c, - y = i * l, - x = a * s, - b = u * (d - g) + f * (m - v) + h * (y - x), - _ = - 7.771561172376103e-16 * - ((Math.abs(d) + Math.abs(g)) * Math.abs(u) + - (Math.abs(m) + Math.abs(v)) * Math.abs(f) + - (Math.abs(y) + Math.abs(x)) * Math.abs(h)); - return b > _ || -b > _ ? b : p(t, e, r, n); - }, - ]; - !(function () { - for (; d.length <= s; ) d.push(f(d.length)); - for (var t = [], r = ["slow"], n = 0; n <= s; ++n) - (t.push("a" + n), r.push("o" + n)); - var i = [ - "function getOrientation(", - t.join(), - "){switch(arguments.length){case 0:case 1:return 0;", - ]; - for (n = 2; n <= s; ++n) - i.push("case ", n, ":return o", n, "(", t.slice(0, n).join(), ");"); - (i.push( - "}var s=new Array(arguments.length);for(var i=0;i 0 && o > 0) || (a < 0 && o < 0)) return !1; - var s = n(r, t, e), - l = n(i, t, e); - if ((s > 0 && l > 0) || (s < 0 && l < 0)) return !1; - if (0 === a && 0 === o && 0 === s && 0 === l) - return (function (t, e, r, n) { - for (var i = 0; i < 2; ++i) { - var a = t[i], - o = e[i], - s = Math.min(a, o), - l = Math.max(a, o), - c = r[i], - u = n[i], - f = Math.min(c, u), - h = Math.max(c, u); - if (h < s || l < f) return !1; - } - return !0; - })(t, e, r, i); - return !0; - }; - var n = t("robust-orientation")[3]; - }, - { "robust-orientation": 388 }, - ], - 392: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = 0 | t.length, - n = 0 | e.length; - if (1 === r && 1 === n) - return (function (t, e) { - var r = t + e, - n = r - t, - i = t - (r - n) + (e - n); - if (i) return [i, r]; - return [r]; - })(t[0], -e[0]); - var i, - a, - o = new Array(r + n), - s = 0, - l = 0, - c = 0, - u = Math.abs, - f = t[l], - h = u(f), - p = -e[c], - d = u(p); - h < d - ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((a = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); - (l < r && h < d) || c >= n - ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); - var g, - m, - v = i + a, - y = v - i, - x = a - y, - b = x, - _ = v; - for (; l < r && c < n; ) - (h < d - ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))), - (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g)); - for (; l < r; ) - ((x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g), - (l += 1) < r && (f = t[l])); - for (; c < n; ) - ((x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g), - (c += 1) < n && (p = -e[c])); - b && (o[s++] = b); - _ && (o[s++] = _); - s || (o[s++] = 0); - return ((o.length = s), o); - }; - }, - {}, - ], - 393: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = 0 | t.length, - n = 0 | e.length; - if (1 === r && 1 === n) - return (function (t, e) { - var r = t + e, - n = r - t, - i = t - (r - n) + (e - n); - if (i) return [i, r]; - return [r]; - })(t[0], e[0]); - var i, - a, - o = new Array(r + n), - s = 0, - l = 0, - c = 0, - u = Math.abs, - f = t[l], - h = u(f), - p = e[c], - d = u(p); - h < d - ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((a = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); - (l < r && h < d) || c >= n - ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); - var g, - m, - v = i + a, - y = v - i, - x = a - y, - b = x, - _ = v; - for (; l < r && c < n; ) - (h < d - ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) - : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))), - (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g)); - for (; l < r; ) - ((x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g), - (l += 1) < r && (f = t[l])); - for (; c < n; ) - ((x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), - (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), - (_ = g), - (c += 1) < n && (p = e[c])); - b && (o[s++] = b); - _ && (o[s++] = _); - s || (o[s++] = 0); - return ((o.length = s), o); - }; - }, - {}, - ], - 394: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return t < 0 ? -1 : t > 0 ? 1 : 0; - }; - }, - {}, - ], - 395: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return i(n(t)); - }; - var n = t("boundary-cells"), - i = t("reduce-simplicial-complex"); - }, - { "boundary-cells": 76, "reduce-simplicial-complex": 373 }, - ], - 396: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, s) { - ((r = r || 0), - void 0 === s && - (s = (function (t) { - for (var e = t.length, r = 0, n = 0; n < e; ++n) - r = 0 | Math.max(r, t[n].length); - return r - 1; - })(t))); - if (0 === t.length || s < 1) - return { cells: [], vertexIds: [], vertexWeights: [] }; - var l = (function (t, e) { - for (var r = t.length, n = i.mallocUint8(r), a = 0; a < r; ++a) - n[a] = (t[a] < e) | 0; - return n; - })(e, +r), - c = (function (t, e) { - for ( - var r = t.length, - o = (((e * (e + 1)) / 2) * r) | 0, - s = i.mallocUint32(2 * o), - l = 0, - c = 0; - c < r; - ++c - ) - for (var u = t[c], e = u.length, f = 0; f < e; ++f) - for (var h = 0; h < f; ++h) { - var p = u[h], - d = u[f]; - ((s[l++] = 0 | Math.min(p, d)), (s[l++] = 0 | Math.max(p, d))); - } - a(n(s, [(l / 2) | 0, 2])); - for (var g = 2, c = 2; c < l; c += 2) - (s[c - 2] === s[c] && s[c - 1] === s[c + 1]) || - ((s[g++] = s[c]), (s[g++] = s[c + 1])); - return n(s, [(g / 2) | 0, 2]); - })(t, s), - u = (function (t, e, r, a) { - for ( - var o = t.data, s = t.shape[0], l = i.mallocDouble(s), c = 0, u = 0; - u < s; - ++u - ) { - var f = o[2 * u], - h = o[2 * u + 1]; - if (r[f] !== r[h]) { - var p = e[f], - d = e[h]; - ((o[2 * c] = f), (o[2 * c + 1] = h), (l[c++] = (d - a) / (d - p))); - } - } - return ((t.shape[0] = c), n(l, [c])); - })(c, e, l, +r), - f = (function (t, e) { - var r = i.mallocInt32(2 * e), - n = t.shape[0], - a = t.data; - r[0] = 0; - for (var o = 0, s = 0; s < n; ++s) { - var l = a[2 * s]; - if (l !== o) { - for (r[2 * o + 1] = s; ++o < l; ) - ((r[2 * o] = s), (r[2 * o + 1] = s)); - r[2 * o] = s; - } - } - r[2 * o + 1] = n; - for (; ++o < e; ) r[2 * o] = r[2 * o + 1] = n; - return r; - })(c, 0 | e.length), - h = o(s)(t, c.data, f, l), - p = (function (t) { - for ( - var e = 0 | t.shape[0], r = t.data, n = new Array(e), i = 0; - i < e; - ++i - ) - n[i] = [r[2 * i], r[2 * i + 1]]; - return n; - })(c), - d = [].slice.call(u.data, 0, u.shape[0]); - return ( - i.free(l), - i.free(c.data), - i.free(u.data), - i.free(f), - { cells: h, vertexIds: p, vertexWeights: d } - ); - }; - var n = t("ndarray"), - i = t("typedarray-pool"), - a = t("ndarray-sort"), - o = t("./lib/codegen"); - }, - { - "./lib/codegen": 397, - ndarray: 335, - "ndarray-sort": 333, - "typedarray-pool": 423, - }, - ], - 397: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = a[t]; - e || - (e = a[t] = - (function (t) { - var e = 0, - r = new Array(t + 1); - r[0] = [[]]; - for (var a = 1; a <= t; ++a) - for (var o = (r[a] = i(a)), s = 0; s < o.length; ++s) - e = Math.max(e, o[a].length); - var l = [ - "function B(C,E,i,j){", - "var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];", - "while(l>1,v=E[2*m+1];", - "if(v===b){return m}", - "if(b 0 && l.push(","), l.push("[")); - for (var n = 0; n < r.length; ++n) { - var i = r[n]; - (n > 0 && l.push(","), - l.push("B(C,E,c[", i[0], "],c[", i[1], "])")); - } - l.push("]"); - } - l.push(");"); - } - } - for (var a = t + 1; a > 1; --a) { - (a < t + 1 && l.push("else "), l.push("if(l===", a, "){")); - for (var u = [], s = 0; s < a; ++s) - u.push("(S[c[" + s + "]]<<" + s + ")"); - l.push( - "var M=", - u.join("+"), - ";if(M===0||M===", - (1 << a) - 1, - "){continue}switch(M){", - ); - for (var o = r[a - 1], s = 0; s < o.length; ++s) - (l.push("case ", s, ":"), c(o[s]), l.push("break;")); - l.push("}}"); - } - return ( - l.push("}return R;};return getContour", t, "d"), - new Function("pool", l.join(""))(n) - ); - })(t)); - return e; - }; - var n = t("typedarray-pool"), - i = t("marching-simplex-table"), - a = {}; - }, - { "marching-simplex-table": 312, "typedarray-pool": 423 }, - ], - 398: [ - function (t, e, r) { - "use strict"; - "use restrict"; - var n = t("bit-twiddle"), - i = t("union-find"); - function a(t, e) { - var r = t.length, - n = t.length - e.length, - i = Math.min; - if (n) return n; - switch (r) { - case 0: - return 0; - case 1: - return t[0] - e[0]; - case 2: - return (s = t[0] + t[1] - e[0] - e[1]) || i(t[0], t[1]) - i(e[0], e[1]); - case 3: - var a = t[0] + t[1], - o = e[0] + e[1]; - if ((s = a + t[2] - (o + e[2]))) return s; - var s, - l = i(t[0], t[1]), - c = i(e[0], e[1]); - return (s = i(l, t[2]) - i(c, e[2])) || i(l + t[2], a) - i(c + e[2], o); - default: - var u = t.slice(0); - u.sort(); - var f = e.slice(0); - f.sort(); - for (var h = 0; h < r; ++h) if ((n = u[h] - f[h])) return n; - return 0; - } - } - function o(t, e) { - return a(t[0], e[0]); - } - function s(t, e) { - if (e) { - for (var r = t.length, n = new Array(r), i = 0; i < r; ++i) - n[i] = [t[i], e[i]]; - n.sort(o); - for (i = 0; i < r; ++i) ((t[i] = n[i][0]), (e[i] = n[i][1])); - return t; - } - return (t.sort(a), t); - } - function l(t) { - if (0 === t.length) return []; - for (var e = 1, r = t.length, n = 1; n < r; ++n) { - var i = t[n]; - if (a(i, t[n - 1])) { - if (n === e) { - e++; - continue; - } - t[e++] = i; - } - } - return ((t.length = e), t); - } - function c(t, e) { - for (var r = 0, n = t.length - 1, i = -1; r <= n; ) { - var o = (r + n) >> 1, - s = a(t[o], e); - s <= 0 ? (0 === s && (i = o), (r = o + 1)) : s > 0 && (n = o - 1); - } - return i; - } - function u(t, e) { - for (var r = new Array(t.length), i = 0, o = r.length; i < o; ++i) - r[i] = []; - for (var s = [], l = ((i = 0), e.length); i < l; ++i) - for (var u = e[i], f = u.length, h = 1, p = 1 << f; h < p; ++h) { - s.length = n.popCount(h); - for (var d = 0, g = 0; g < f; ++g) h & (1 << g) && (s[d++] = u[g]); - var m = c(t, s); - if (!(m < 0)) - for (; r[m++].push(i), !(m >= t.length || 0 !== a(t[m], s)); ); - } - return r; - } - function f(t, e) { - if (e < 0) return []; - for (var r = [], i = (1 << (e + 1)) - 1, a = 0; a < t.length; ++a) - for (var o = t[a], l = i; l < 1 << o.length; l = n.nextCombination(l)) { - for (var c = new Array(e + 1), u = 0, f = 0; f < o.length; ++f) - l & (1 << f) && (c[u++] = o[f]); - r.push(c); - } - return s(r); - } - ((r.dimension = function (t) { - for (var e = 0, r = Math.max, n = 0, i = t.length; n < i; ++n) - e = r(e, t[n].length); - return e - 1; - }), - (r.countVertices = function (t) { - for (var e = -1, r = Math.max, n = 0, i = t.length; n < i; ++n) - for (var a = t[n], o = 0, s = a.length; o < s; ++o) e = r(e, a[o]); - return e + 1; - }), - (r.cloneCells = function (t) { - for (var e = new Array(t.length), r = 0, n = t.length; r < n; ++r) - e[r] = t[r].slice(0); - return e; - }), - (r.compareCells = a), - (r.normalize = s), - (r.unique = l), - (r.findCell = c), - (r.incidence = u), - (r.dual = function (t, e) { - if (!e) return u(l(f(t, 0)), t); - for (var r = new Array(e), n = 0; n < e; ++n) r[n] = []; - n = 0; - for (var i = t.length; n < i; ++n) - for (var a = t[n], o = 0, s = a.length; o < s; ++o) r[a[o]].push(n); - return r; - }), - (r.explode = function (t) { - for (var e = [], r = 0, n = t.length; r < n; ++r) - for (var i = t[r], a = 0 | i.length, o = 1, l = 1 << a; o < l; ++o) { - for (var c = [], u = 0; u < a; ++u) (o >>> u) & 1 && c.push(i[u]); - e.push(c); - } - return s(e); - }), - (r.skeleton = f), - (r.boundary = function (t) { - for (var e = [], r = 0, n = t.length; r < n; ++r) - for (var i = t[r], a = 0, o = i.length; a < o; ++a) { - for (var l = new Array(i.length - 1), c = 0, u = 0; c < o; ++c) - c !== a && (l[u++] = i[c]); - e.push(l); - } - return s(e); - }), - (r.connectedComponents = function (t, e) { - return e - ? (function (t, e) { - for (var r = new i(e), n = 0; n < t.length; ++n) - for (var a = t[n], o = 0; o < a.length; ++o) - for (var s = o + 1; s < a.length; ++s) r.link(a[o], a[s]); - var l = [], - c = r.ranks; - for (n = 0; n < c.length; ++n) c[n] = -1; - for (n = 0; n < t.length; ++n) { - var u = r.find(t[n][0]); - c[u] < 0 - ? ((c[u] = l.length), l.push([t[n].slice(0)])) - : l[c[u]].push(t[n].slice(0)); - } - return l; - })(t, e) - : (function (t) { - for ( - var e = l(s(f(t, 0))), r = new i(e.length), n = 0; - n < t.length; - ++n - ) - for (var a = t[n], o = 0; o < a.length; ++o) - for (var u = c(e, [a[o]]), h = o + 1; h < a.length; ++h) - r.link(u, c(e, [a[h]])); - var p = [], - d = r.ranks; - for (n = 0; n < d.length; ++n) d[n] = -1; - for (n = 0; n < t.length; ++n) { - var g = r.find(c(e, [t[n][0]])); - d[g] < 0 - ? ((d[g] = p.length), p.push([t[n].slice(0)])) - : p[d[g]].push(t[n].slice(0)); - } - return p; - })(t); - })); - }, - { "bit-twiddle": 73, "union-find": 424 }, - ], - 399: [ - function (t, e, r) { - arguments[4][73][0].apply(r, arguments); - }, - { dup: 73 }, - ], - 400: [ - function (t, e, r) { - arguments[4][398][0].apply(r, arguments); - }, - { "bit-twiddle": 399, dup: 398, "union-find": 401 }, - ], - 401: [ - function (t, e, r) { - "use strict"; - "use restrict"; - function n(t) { - ((this.roots = new Array(t)), (this.ranks = new Array(t))); - for (var e = 0; e < t; ++e) ((this.roots[e] = e), (this.ranks[e] = 0)); - } - ((e.exports = n), - (n.prototype.length = function () { - return this.roots.length; - }), - (n.prototype.makeSet = function () { - var t = this.roots.length; - return (this.roots.push(t), this.ranks.push(0), t); - }), - (n.prototype.find = function (t) { - for (var e = this.roots; e[t] !== t; ) { - var r = e[t]; - ((e[t] = e[r]), (t = r)); - } - return t; - }), - (n.prototype.link = function (t, e) { - var r = this.find(t), - n = this.find(e); - if (r !== n) { - var i = this.ranks, - a = this.roots, - o = i[r], - s = i[n]; - o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); - } - })); - }, - {}, - ], - 402: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - for ( - var a = e.length, - o = t.length, - s = new Array(a), - l = new Array(a), - c = new Array(a), - u = new Array(a), - f = 0; - f < a; - ++f - ) - ((s[f] = l[f] = -1), (c[f] = 1 / 0), (u[f] = !1)); - for (var f = 0; f < o; ++f) { - var h = t[f]; - if (2 !== h.length) throw new Error("Input must be a graph"); - var p = h[1], - d = h[0]; - (-1 !== l[d] ? (l[d] = -2) : (l[d] = p), - -1 !== s[p] ? (s[p] = -2) : (s[p] = d)); - } - function g(t) { - if (u[t]) return 1 / 0; - var r, - i, - a, - o, - c, - f = s[t], - h = l[t]; - return f < 0 || h < 0 - ? 1 / 0 - : ((r = e[t]), - (i = e[f]), - (a = e[h]), - (o = Math.abs(n(r, i, a))), - (c = Math.sqrt(Math.pow(i[0] - a[0], 2) + Math.pow(i[1] - a[1], 2))), - o / c); - } - function m(t, e) { - var r = M[t], - n = M[e]; - ((M[t] = n), (M[e] = r), (A[r] = e), (A[n] = t)); - } - function v(t) { - return c[M[t]]; - } - function y(t) { - return 1 & t ? (t - 1) >> 1 : (t >> 1) - 1; - } - function x(t) { - for (var e = v(t); ; ) { - var r = e, - n = 2 * t + 1, - i = 2 * (t + 1), - a = t; - if (n < S) { - var o = v(n); - o < r && ((a = n), (r = o)); - } - if (i < S) { - var s = v(i); - s < r && (a = i); - } - if (a === t) return t; - (m(t, a), (t = a)); - } - } - function b(t) { - for (var e = v(t); t > 0; ) { - var r = y(t); - if (r >= 0) { - var n = v(r); - if (e < n) { - (m(t, r), (t = r)); - continue; - } - } - return t; - } - } - function _() { - if (S > 0) { - var t = M[0]; - return (m(0, S - 1), (S -= 1), x(0), t); - } - return -1; - } - function w(t, e) { - var r = M[t]; - return c[r] === e - ? t - : ((c[r] = -1 / 0), b(t), _(), (c[r] = e), b((S += 1) - 1)); - } - function k(t) { - if (!u[t]) { - u[t] = !0; - var e = s[t], - r = l[t]; - (s[r] >= 0 && (s[r] = e), - l[e] >= 0 && (l[e] = r), - A[e] >= 0 && w(A[e], g(e)), - A[r] >= 0 && w(A[r], g(r))); - } - } - for (var M = [], A = new Array(a), f = 0; f < a; ++f) { - var T = (c[f] = g(f)); - T < 1 / 0 ? ((A[f] = M.length), M.push(f)) : (A[f] = -1); - } - for (var S = M.length, f = S >> 1; f >= 0; --f) x(f); - for (;;) { - var C = _(); - if (C < 0 || c[C] > r) break; - k(C); - } - for (var E = [], f = 0; f < a; ++f) - u[f] || ((A[f] = E.length), E.push(e[f].slice())); - E.length; - function L(t, e) { - if (t[e] < 0) return e; - var r = e, - n = e; - do { - var i = t[n]; - if (!u[n] || i < 0 || i === n) break; - if (((i = t[(n = i)]), !u[n] || i < 0 || i === n)) break; - ((n = i), (r = t[r])); - } while (r !== n); - for (var a = e; a !== n; a = t[a]) t[a] = n; - return n; - } - var z = []; - return ( - t.forEach(function (t) { - var e = L(s, t[0]), - r = L(l, t[1]); - if (e >= 0 && r >= 0 && e !== r) { - var n = A[e], - i = A[r]; - n !== i && z.push([n, i]); - } - }), - i.unique(i.normalize(z)), - { positions: E, edges: z } - ); - }; - var n = t("robust-orientation"), - i = t("simplicial-complex"); - }, - { "robust-orientation": 388, "simplicial-complex": 400 }, - ], - 403: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, a, o, s; - if (e[0][0] < e[1][0]) ((r = e[0]), (a = e[1])); - else { - if (!(e[0][0] > e[1][0])) return i(e, t); - ((r = e[1]), (a = e[0])); - } - if (t[0][0] < t[1][0]) ((o = t[0]), (s = t[1])); - else { - if (!(t[0][0] > t[1][0])) return -i(t, e); - ((o = t[1]), (s = t[0])); - } - var l = n(r, a, s), - c = n(r, a, o); - if (l < 0) { - if (c <= 0) return l; - } else if (l > 0) { - if (c >= 0) return l; - } else if (c) return c; - if (((l = n(s, o, a)), (c = n(s, o, r)), l < 0)) { - if (c <= 0) return l; - } else if (l > 0) { - if (c >= 0) return l; - } else if (c) return c; - return a[0] - s[0]; - }; - var n = t("robust-orientation"); - function i(t, e) { - var r, i, a, o; - if (e[0][0] < e[1][0]) ((r = e[0]), (i = e[1])); - else { - if (!(e[0][0] > e[1][0])) { - var s = Math.min(t[0][1], t[1][1]), - l = Math.max(t[0][1], t[1][1]), - c = Math.min(e[0][1], e[1][1]), - u = Math.max(e[0][1], e[1][1]); - return l < c ? l - c : s > u ? s - u : l - u; - } - ((r = e[1]), (i = e[0])); - } - t[0][1] < t[1][1] ? ((a = t[0]), (o = t[1])) : ((a = t[1]), (o = t[0])); - var f = n(i, r, a); - return f || (f = n(i, r, o)) || o - i; - } - }, - { "robust-orientation": 388 }, - ], - 404: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = t.length, r = 2 * e, n = new Array(r), a = 0; a < e; ++a) { - var l = t[a], - c = l[0][0] < l[1][0]; - ((n[2 * a] = new f(l[0][0], l, c, a)), - (n[2 * a + 1] = new f(l[1][0], l, !c, a))); - } - n.sort(function (t, e) { - var r = t.x - e.x; - return ( - r || - (r = t.create - e.create) || - Math.min(t.segment[0][1], t.segment[1][1]) - - Math.min(e.segment[0][1], e.segment[1][1]) - ); - }); - for (var h = i(o), p = [], d = [], g = [], a = 0; a < r; ) { - for (var m = n[a].x, v = []; a < r; ) { - var y = n[a]; - if (y.x !== m) break; - ((a += 1), - y.segment[0][0] === y.x && y.segment[1][0] === y.x - ? y.create && - (y.segment[0][1] < y.segment[1][1] - ? (v.push(new u(y.segment[0][1], y.index, !0, !0)), - v.push(new u(y.segment[1][1], y.index, !1, !1))) - : (v.push(new u(y.segment[1][1], y.index, !0, !1)), - v.push(new u(y.segment[0][1], y.index, !1, !0)))) - : (h = y.create - ? h.insert(y.segment, y.index) - : h.remove(y.segment))); - } - (p.push(h.root), d.push(m), g.push(v)); - } - return new s(p, d, g); - }; - var n = t("binary-search-bounds"), - i = t("functional-red-black-tree"), - a = t("robust-orientation"), - o = t("./lib/order-segments"); - function s(t, e, r) { - ((this.slabs = t), (this.coordinates = e), (this.horizontal = r)); - } - function l(t, e) { - return t.y - e; - } - function c(t, e) { - for (var r = null; t; ) { - var n, - i, - o = t.key; - o[0][0] < o[1][0] ? ((n = o[0]), (i = o[1])) : ((n = o[1]), (i = o[0])); - var s = a(n, i, e); - if (s < 0) t = t.left; - else if (s > 0) - if (e[0] !== o[1][0]) ((r = t), (t = t.right)); - else { - if ((l = c(t.right, e))) return l; - t = t.left; - } - else { - if (e[0] !== o[1][0]) return t; - var l; - if ((l = c(t.right, e))) return l; - t = t.left; - } - } - return r; - } - function u(t, e, r, n) { - ((this.y = t), (this.index = e), (this.start = r), (this.closed = n)); - } - function f(t, e, r, n) { - ((this.x = t), (this.segment = e), (this.create = r), (this.index = n)); - } - s.prototype.castUp = function (t) { - var e = n.le(this.coordinates, t[0]); - if (e < 0) return -1; - this.slabs[e]; - var r = c(this.slabs[e], t), - i = -1; - if ((r && (i = r.value), this.coordinates[e] === t[0])) { - var s = null; - if ((r && (s = r.key), e > 0)) { - var u = c(this.slabs[e - 1], t); - u && - (s - ? o(u.key, s) > 0 && ((s = u.key), (i = u.value)) - : ((i = u.value), (s = u.key))); - } - var f = this.horizontal[e]; - if (f.length > 0) { - var h = n.ge(f, t[1], l); - if (h < f.length) { - var p = f[h]; - if (t[1] === p.y) { - if (p.closed) return p.index; - for (; h < f.length - 1 && f[h + 1].y === t[1]; ) - if ((p = f[(h += 1)]).closed) return p.index; - if (p.y === t[1] && !p.start) { - if ((h += 1) >= f.length) return i; - p = f[h]; - } - } - if (p.start) - if (s) { - var d = a(s[0], s[1], [t[0], p.y]); - (s[0][0] > s[1][0] && (d = -d), d > 0 && (i = p.index)); - } else i = p.index; - else p.y !== t[1] && (i = p.index); - } - } - } - return i; - }; - }, - { - "./lib/order-segments": 403, - "binary-search-bounds": 72, - "functional-red-black-tree": 199, - "robust-orientation": 388, - }, - ], - 405: [ - function (t, e, r) { - "use strict"; - var n = t("robust-dot-product"), - i = t("robust-sum"); - function a(t, e) { - var r = i(n(t, e), [e[e.length - 1]]); - return r[r.length - 1]; - } - function o(t, e, r, n) { - var i = -e / (n - e); - i < 0 ? (i = 0) : i > 1 && (i = 1); - for (var a = 1 - i, o = t.length, s = new Array(o), l = 0; l < o; ++l) - s[l] = i * t[l] + a * r[l]; - return s; - } - ((e.exports = function (t, e) { - for ( - var r = [], - n = [], - i = a(t[t.length - 1], e), - s = t[t.length - 1], - l = t[0], - c = 0; - c < t.length; - ++c, s = l - ) { - var u = a((l = t[c]), e); - if ((i < 0 && u > 0) || (i > 0 && u < 0)) { - var f = o(s, u, l, i); - (r.push(f), n.push(f.slice())); - } - (u < 0 - ? n.push(l.slice()) - : u > 0 - ? r.push(l.slice()) - : (r.push(l.slice()), n.push(l.slice())), - (i = u)); - } - return { positive: r, negative: n }; - }), - (e.exports.positive = function (t, e) { - for ( - var r = [], - n = a(t[t.length - 1], e), - i = t[t.length - 1], - s = t[0], - l = 0; - l < t.length; - ++l, i = s - ) { - var c = a((s = t[l]), e); - (((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), - c >= 0 && r.push(s.slice()), - (n = c)); - } - return r; - }), - (e.exports.negative = function (t, e) { - for ( - var r = [], - n = a(t[t.length - 1], e), - i = t[t.length - 1], - s = t[0], - l = 0; - l < t.length; - ++l, i = s - ) { - var c = a((s = t[l]), e); - (((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), - c <= 0 && r.push(s.slice()), - (n = c)); - } - return r; - })); - }, - { "robust-dot-product": 385, "robust-sum": 393 }, - ], - 406: [ - function (t, e, r) { - !(function () { - "use strict"; - var t = { - not_string: /[^s]/, - not_bool: /[^t]/, - not_type: /[^T]/, - not_primitive: /[^v]/, - number: /[diefg]/, - numeric_arg: /[bcdiefguxX]/, - json: /[j]/, - not_json: /[^j]/, - text: /^[^\x25]+/, - modulo: /^\x25{2}/, - placeholder: - /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, - key: /^([a-z_][a-z_\d]*)/i, - key_access: /^\.([a-z_][a-z_\d]*)/i, - index_access: /^\[(\d+)\]/, - sign: /^[\+\-]/, - }; - function e(r) { - return (function (r, n) { - var i, - a, - o, - s, - l, - c, - u, - f, - h, - p = 1, - d = r.length, - g = ""; - for (a = 0; a < d; a++) - if ("string" == typeof r[a]) g += r[a]; - else if (Array.isArray(r[a])) { - if ((s = r[a])[2]) - for (i = n[p], o = 0; o < s[2].length; o++) { - if (!i.hasOwnProperty(s[2][o])) - throw new Error( - e('[sprintf] property "%s" does not exist', s[2][o]), - ); - i = i[s[2][o]]; - } - else i = s[1] ? n[s[1]] : n[p++]; - if ( - (t.not_type.test(s[8]) && - t.not_primitive.test(s[8]) && - i instanceof Function && - (i = i()), - t.numeric_arg.test(s[8]) && "number" != typeof i && isNaN(i)) - ) - throw new TypeError( - e("[sprintf] expecting number but found %T", i), - ); - switch ((t.number.test(s[8]) && (f = i >= 0), s[8])) { - case "b": - i = parseInt(i, 10).toString(2); - break; - case "c": - i = String.fromCharCode(parseInt(i, 10)); - break; - case "d": - case "i": - i = parseInt(i, 10); - break; - case "j": - i = JSON.stringify(i, null, s[6] ? parseInt(s[6]) : 0); - break; - case "e": - i = s[7] - ? parseFloat(i).toExponential(s[7]) - : parseFloat(i).toExponential(); - break; - case "f": - i = s[7] ? parseFloat(i).toFixed(s[7]) : parseFloat(i); - break; - case "g": - i = s[7] ? String(Number(i.toPrecision(s[7]))) : parseFloat(i); - break; - case "o": - i = (parseInt(i, 10) >>> 0).toString(8); - break; - case "s": - ((i = String(i)), (i = s[7] ? i.substring(0, s[7]) : i)); - break; - case "t": - ((i = String(!!i)), (i = s[7] ? i.substring(0, s[7]) : i)); - break; - case "T": - ((i = Object.prototype.toString - .call(i) - .slice(8, -1) - .toLowerCase()), - (i = s[7] ? i.substring(0, s[7]) : i)); - break; - case "u": - i = parseInt(i, 10) >>> 0; - break; - case "v": - ((i = i.valueOf()), (i = s[7] ? i.substring(0, s[7]) : i)); - break; - case "x": - i = (parseInt(i, 10) >>> 0).toString(16); - break; - case "X": - i = (parseInt(i, 10) >>> 0).toString(16).toUpperCase(); - } - t.json.test(s[8]) - ? (g += i) - : (!t.number.test(s[8]) || (f && !s[3]) - ? (h = "") - : ((h = f ? "+" : "-"), - (i = i.toString().replace(t.sign, ""))), - (c = s[4] ? ("0" === s[4] ? "0" : s[4].charAt(1)) : " "), - (u = s[6] - (h + i).length), - (l = s[6] && u > 0 ? c.repeat(u) : ""), - (g += s[5] ? h + i + l : "0" === c ? h + l + i : l + h + i)); - } - return g; - })( - (function (e) { - if (i[e]) return i[e]; - var r, - n = e, - a = [], - o = 0; - for (; n; ) { - if (null !== (r = t.text.exec(n))) a.push(r[0]); - else if (null !== (r = t.modulo.exec(n))) a.push("%"); - else { - if (null === (r = t.placeholder.exec(n))) - throw new SyntaxError("[sprintf] unexpected placeholder"); - if (r[2]) { - o |= 1; - var s = [], - l = r[2], - c = []; - if (null === (c = t.key.exec(l))) - throw new SyntaxError( - "[sprintf] failed to parse named argument key", - ); - for (s.push(c[1]); "" !== (l = l.substring(c[0].length)); ) - if (null !== (c = t.key_access.exec(l))) s.push(c[1]); - else { - if (null === (c = t.index_access.exec(l))) - throw new SyntaxError( - "[sprintf] failed to parse named argument key", - ); - s.push(c[1]); - } - r[2] = s; - } else o |= 2; - if (3 === o) - throw new Error( - "[sprintf] mixing positional and named placeholders is not (yet) supported", - ); - a.push(r); - } - n = n.substring(r[0].length); - } - return (i[e] = a); - })(r), - arguments, - ); - } - function n(t, r) { - return e.apply(null, [t].concat(r || [])); - } - var i = Object.create(null); - (void 0 !== r && ((r.sprintf = e), (r.vsprintf = n)), - "undefined" != typeof window && - ((window.sprintf = e), (window.vsprintf = n))); - })(); - }, - {}, - ], - 407: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for ( - var e = t.length, - r = new Array(e), - n = new Array(e), - i = new Array(e), - a = new Array(e), - o = new Array(e), - s = new Array(e), - l = 0; - l < e; - ++l - ) - ((r[l] = -1), - (n[l] = 0), - (i[l] = !1), - (a[l] = 0), - (o[l] = -1), - (s[l] = [])); - var c, - u = 0, - f = [], - h = []; - function p(e) { - var l = [e], - c = [e]; - for (r[e] = n[e] = u, i[e] = !0, u += 1; c.length > 0; ) { - e = c[c.length - 1]; - var p = t[e]; - if (a[e] < p.length) { - for (var d = a[e]; d < p.length; ++d) { - var g = p[d]; - if (r[g] < 0) { - ((r[g] = n[g] = u), (i[g] = !0), (u += 1), l.push(g), c.push(g)); - break; - } - (i[g] && (n[e] = 0 | Math.min(n[e], n[g])), - o[g] >= 0 && s[e].push(o[g])); - } - a[e] = d; - } else { - if (n[e] === r[e]) { - for (var m = [], v = [], y = 0, d = l.length - 1; d >= 0; --d) { - var x = l[d]; - if ( - ((i[x] = !1), - m.push(x), - v.push(s[x]), - (y += s[x].length), - (o[x] = f.length), - x === e) - ) { - l.length = d; - break; - } - } - f.push(m); - for (var b = new Array(y), d = 0; d < v.length; d++) - for (var _ = 0; _ < v[d].length; _++) b[--y] = v[d][_]; - h.push(b); - } - c.pop(); - } - } - } - for (var l = 0; l < e; ++l) r[l] < 0 && p(l); - for (var l = 0; l < h.length; l++) { - var d = h[l]; - if (0 !== d.length) { - (d.sort(function (t, e) { - return t - e; - }), - (c = [d[0]])); - for (var g = 1; g < d.length; g++) d[g] !== d[g - 1] && c.push(d[g]); - h[l] = c; - } - } - return { components: f, adjacencyList: h }; - }; - }, - {}, - ], - 408: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return t - .split("") - .map(function (t) { - return t in n ? n[t] : ""; - }) - .join(""); - }; - var n = { - " ": " ", - 0: "\u2070", - 1: "\xb9", - 2: "\xb2", - 3: "\xb3", - 4: "\u2074", - 5: "\u2075", - 6: "\u2076", - 7: "\u2077", - 8: "\u2078", - 9: "\u2079", - "+": "\u207a", - "-": "\u207b", - a: "\u1d43", - b: "\u1d47", - c: "\u1d9c", - d: "\u1d48", - e: "\u1d49", - f: "\u1da0", - g: "\u1d4d", - h: "\u02b0", - i: "\u2071", - j: "\u02b2", - k: "\u1d4f", - l: "\u02e1", - m: "\u1d50", - n: "\u207f", - o: "\u1d52", - p: "\u1d56", - r: "\u02b3", - s: "\u02e2", - t: "\u1d57", - u: "\u1d58", - v: "\u1d5b", - w: "\u02b7", - x: "\u02e3", - y: "\u02b8", - z: "\u1dbb", - }; - }, - {}, - ], - 409: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - if (t.dimension <= 0) return { positions: [], cells: [] }; - if (1 === t.dimension) - return (function (t, e) { - for ( - var r = a(t, e), - n = r.length, - i = new Array(n), - o = new Array(n), - s = 0; - s < n; - ++s - ) - ((i[s] = [r[s]]), (o[s] = [s])); - return { positions: i, cells: o }; - })(t, e); - var r = t.order.join() + "-" + t.dtype, - s = o[r], - e = +e || 0; - s || - (s = o[r] = - (function (t, e) { - var r = t.length, - a = ["'use strict';"], - o = "surfaceNets" + t.join("_") + "d" + e; - (a.push( - "var contour=genContour({", - "order:[", - t.join(), - "],", - "scalarArguments: 3,", - "phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },", - ), - "generic" === e && a.push("getters:[0],")); - for (var s = [], l = [], c = 0; c < r; ++c) - (s.push("d" + c), l.push("d" + c)); - for (var c = 0; c < 1 << r; ++c) (s.push("v" + c), l.push("v" + c)); - for (var c = 0; c < 1 << r; ++c) (s.push("p" + c), l.push("p" + c)); - (s.push("a", "b", "c"), - l.push("a", "c"), - a.push("vertex:function vertexFunc(", s.join(), "){")); - for (var u = [], c = 0; c < 1 << r; ++c) - u.push("(p" + c + "<<" + c + ")"); - a.push( - "var m=(", - u.join("+"), - ")|0;if(m===0||m===", - (1 << (1 << r)) - 1, - "){return}", - ); - var f = [], - h = []; - 1 << (1 << r) <= 128 - ? (a.push("switch(m){"), (h = a)) - : a.push("switch(m>>>7){"); - for (var c = 0; c < 1 << (1 << r); ++c) { - if (1 << (1 << r) > 128 && c % 128 == 0) { - f.length > 0 && h.push("}}"); - var p = "vExtra" + f.length; - (a.push( - "case ", - c >>> 7, - ":", - p, - "(m&0x7f,", - l.join(), - ");break;", - ), - (h = ["function ", p, "(m,", l.join(), "){switch(m){"]), - f.push(h)); - } - h.push("case ", 127 & c, ":"); - for ( - var d = new Array(r), - g = new Array(r), - m = new Array(r), - v = new Array(r), - y = 0, - x = 0; - x < r; - ++x - ) - ((d[x] = []), (g[x] = []), (m[x] = 0), (v[x] = 0)); - for (var x = 0; x < 1 << r; ++x) - for (var b = 0; b < r; ++b) { - var _ = x ^ (1 << b); - if (!(_ > x) && !(c & (1 << _)) != !(c & (1 << x))) { - var w = 1; - (c & (1 << _) - ? g[b].push("v" + _ + "-v" + x) - : (g[b].push("v" + x + "-v" + _), (w = -w)), - w < 0 - ? (d[b].push("-v" + x + "-v" + _), (m[b] += 2)) - : (d[b].push("v" + x + "+v" + _), (m[b] -= 2)), - (y += 1)); - for (var k = 0; k < r; ++k) - k !== b && (_ & (1 << k) ? (v[k] += 1) : (v[k] -= 1)); - } - } - for (var M = [], b = 0; b < r; ++b) - if (0 === d[b].length) M.push("d" + b + "-0.5"); - else { - var A = ""; - m[b] < 0 - ? (A = m[b] + "*c") - : m[b] > 0 && (A = "+" + m[b] + "*c"); - var T = (d[b].length / y) * 0.5, - S = 0.5 + (v[b] / y) * 0.5; - M.push( - "d" + - b + - "-" + - S + - "-" + - T + - "*(" + - d[b].join("+") + - A + - ")/(" + - g[b].join("+") + - ")", - ); - } - h.push("a.push([", M.join(), "]);", "break;"); - } - (a.push("}},"), f.length > 0 && h.push("}}")); - for (var C = [], c = 0; c < 1 << (r - 1); ++c) C.push("v" + c); - (C.push("c0", "c1", "p0", "p1", "a", "b", "c"), - a.push("cell:function cellFunc(", C.join(), "){")); - var E = i(r - 1); - a.push( - "if(p0){b.push(", - E.map(function (t) { - return ( - "[" + - t.map(function (t) { - return "v" + t; - }) + - "]" - ); - }).join(), - ")}else{b.push(", - E.map(function (t) { - var e = t.slice(); - return ( - e.reverse(), - "[" + - e.map(function (t) { - return "v" + t; - }) + - "]" - ); - }).join(), - ")}}});function ", - o, - "(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ", - o, - ";", - ); - for (var c = 0; c < f.length; ++c) a.push(f[c].join("")); - return new Function("genContour", a.join(""))(n); - })(t.order, t.dtype)); - return s(t, e); - }; - var n = t("ndarray-extract-contour"), - i = t("triangulate-hypercube"), - a = t("zero-crossings"); - var o = {}; - }, - { - "ndarray-extract-contour": 324, - "triangulate-hypercube": 419, - "zero-crossings": 454, - }, - ], - 410: [ - function (t, e, r) { - "use strict"; - Object.defineProperty(r, "__esModule", { value: !0 }); - var n = (function () { - return function (t, e) { - if (Array.isArray(t)) return t; - if (Symbol.iterator in Object(t)) - return (function (t, e) { - var r = [], - n = !0, - i = !1, - a = void 0; - try { - for ( - var o, s = t[Symbol.iterator](); - !(n = (o = s.next()).done) && - (r.push(o.value), !e || r.length !== e); - n = !0 - ); - } catch (t) { - ((i = !0), (a = t)); - } finally { - try { - !n && s.return && s.return(); - } finally { - if (i) throw a; - } - } - return r; - })(t, e); - throw new TypeError( - "Invalid attempt to destructure non-iterable instance", - ); - }; - })(), - i = 2 * Math.PI, - a = function (t, e, r, n, i, a, o) { - var s = t.x, - l = t.y; - return { x: n * (s *= e) - i * (l *= r) + a, y: i * s + n * l + o }; - }, - o = function (t, e) { - var r = (4 / 3) * Math.tan(e / 4), - n = Math.cos(t), - i = Math.sin(t), - a = Math.cos(t + e), - o = Math.sin(t + e); - return [ - { x: n - i * r, y: i + n * r }, - { x: a + o * r, y: o - a * r }, - { x: a, y: o }, - ]; - }, - s = function (t, e, r, n) { - var i = t * n - e * r < 0 ? -1 : 1, - a = - (t * r + e * n) / - (Math.sqrt(t * t + e * e) * Math.sqrt(t * t + e * e)); - return (a > 1 && (a = 1), a < -1 && (a = -1), i * Math.acos(a)); - }; - ((r.default = function (t) { - var e = t.px, - r = t.py, - l = t.cx, - c = t.cy, - u = t.rx, - f = t.ry, - h = t.xAxisRotation, - p = void 0 === h ? 0 : h, - d = t.largeArcFlag, - g = void 0 === d ? 0 : d, - m = t.sweepFlag, - v = void 0 === m ? 0 : m, - y = []; - if (0 === u || 0 === f) return []; - var x = Math.sin((p * i) / 360), - b = Math.cos((p * i) / 360), - _ = (b * (e - l)) / 2 + (x * (r - c)) / 2, - w = (-x * (e - l)) / 2 + (b * (r - c)) / 2; - if (0 === _ && 0 === w) return []; - ((u = Math.abs(u)), (f = Math.abs(f))); - var k = Math.pow(_, 2) / Math.pow(u, 2) + Math.pow(w, 2) / Math.pow(f, 2); - k > 1 && ((u *= Math.sqrt(k)), (f *= Math.sqrt(k))); - var M = (function (t, e, r, n, a, o, l, c, u, f, h, p) { - var d = Math.pow(a, 2), - g = Math.pow(o, 2), - m = Math.pow(h, 2), - v = Math.pow(p, 2), - y = d * g - d * v - g * m; - (y < 0 && (y = 0), (y /= d * v + g * m)); - var x = (((y = Math.sqrt(y) * (l === c ? -1 : 1)) * a) / o) * p, - b = ((y * -o) / a) * h, - _ = f * x - u * b + (t + r) / 2, - w = u * x + f * b + (e + n) / 2, - k = (h - x) / a, - M = (p - b) / o, - A = (-h - x) / a, - T = (-p - b) / o, - S = s(1, 0, k, M), - C = s(k, M, A, T); - return ( - 0 === c && C > 0 && (C -= i), - 1 === c && C < 0 && (C += i), - [_, w, S, C] - ); - })(e, r, l, c, u, f, g, v, x, b, _, w), - A = n(M, 4), - T = A[0], - S = A[1], - C = A[2], - E = A[3], - L = Math.max(Math.ceil(Math.abs(E) / (i / 4)), 1); - E /= L; - for (var z = 0; z < L; z++) (y.push(o(C, E)), (C += E)); - return y.map(function (t) { - var e = a(t[0], u, f, b, x, T, S), - r = e.x, - n = e.y, - i = a(t[1], u, f, b, x, T, S), - o = i.x, - s = i.y, - l = a(t[2], u, f, b, x, T, S); - return { x1: r, y1: n, x2: o, y2: s, x: l.x, y: l.y }; - }); - }), - (e.exports = r.default)); - }, - {}, - ], - 411: [ - function (t, e, r) { - "use strict"; - var n = t("parse-svg-path"), - i = t("abs-svg-path"), - a = t("normalize-svg-path"), - o = t("is-svg-path"), - s = t("assert"); - e.exports = function (t) { - Array.isArray(t) && 1 === t.length && "string" == typeof t[0] && (t = t[0]); - "string" == typeof t && (s(o(t), "String is not an SVG path."), (t = n(t))); - if ( - (s( - Array.isArray(t), - "Argument should be a string or an array of path segments.", - ), - (t = i(t)), - !(t = a(t)).length) - ) - return [0, 0, 0, 0]; - for ( - var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r = 0, l = t.length; - r < l; - r++ - ) - for (var c = t[r].slice(1), u = 0; u < c.length; u += 2) - (c[u + 0] < e[0] && (e[0] = c[u + 0]), - c[u + 1] < e[1] && (e[1] = c[u + 1]), - c[u + 0] > e[2] && (e[2] = c[u + 0]), - c[u + 1] > e[3] && (e[3] = c[u + 1])); - return e; - }; - }, - { - "abs-svg-path": 44, - assert: 52, - "is-svg-path": 309, - "normalize-svg-path": 412, - "parse-svg-path": 344, - }, - ], - 412: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for ( - var e, - r = [], - o = 0, - s = 0, - l = 0, - c = 0, - u = null, - f = null, - h = 0, - p = 0, - d = 0, - g = t.length; - d < g; - d++ - ) { - var m = t[d], - v = m[0]; - switch (v) { - case "M": - ((l = m[1]), (c = m[2])); - break; - case "A": - var y = n({ - px: h, - py: p, - cx: m[6], - cy: m[7], - rx: m[1], - ry: m[2], - xAxisRotation: m[3], - largeArcFlag: m[4], - sweepFlag: m[5], - }); - if (!y.length) continue; - for (var x, b = 0; b < y.length; b++) - ((x = y[b]), - (m = ["C", x.x1, x.y1, x.x2, x.y2, x.x, x.y]), - b < y.length - 1 && r.push(m)); - break; - case "S": - var _ = h, - w = p; - (("C" != e && "S" != e) || ((_ += _ - o), (w += w - s)), - (m = ["C", _, w, m[1], m[2], m[3], m[4]])); - break; - case "T": - ("Q" == e || "T" == e - ? ((u = 2 * h - u), (f = 2 * p - f)) - : ((u = h), (f = p)), - (m = a(h, p, u, f, m[1], m[2]))); - break; - case "Q": - ((u = m[1]), (f = m[2]), (m = a(h, p, m[1], m[2], m[3], m[4]))); - break; - case "L": - m = i(h, p, m[1], m[2]); - break; - case "H": - m = i(h, p, m[1], p); - break; - case "V": - m = i(h, p, h, m[1]); - break; - case "Z": - m = i(h, p, l, c); - } - ((e = v), - (h = m[m.length - 2]), - (p = m[m.length - 1]), - m.length > 4 - ? ((o = m[m.length - 4]), (s = m[m.length - 3])) - : ((o = h), (s = p)), - r.push(m)); - } - return r; - }; - var n = t("svg-arc-to-cubic-bezier"); - function i(t, e, r, n) { - return ["C", t, e, r, n, r, n]; - } - function a(t, e, r, n, i, a) { - return [ - "C", - t / 3 + (2 / 3) * r, - e / 3 + (2 / 3) * n, - i / 3 + (2 / 3) * r, - a / 3 + (2 / 3) * n, - i, - a, - ]; - } - }, - { "svg-arc-to-cubic-bezier": 410 }, - ], - 413: [ - function (t, e, r) { - (function (r) { - "use strict"; - var n = t("svg-path-bounds"), - i = t("parse-svg-path"), - a = t("draw-svg-path"), - o = t("is-svg-path"), - s = t("bitmap-sdf"), - l = document.createElement("canvas"), - c = l.getContext("2d"); - e.exports = function (t, e) { - if (!o(t)) throw Error("Argument should be valid svg path string"); - e || (e = {}); - var u, f; - e.shape - ? ((u = e.shape[0]), (f = e.shape[1])) - : ((u = l.width = e.w || e.width || 200), - (f = l.height = e.h || e.height || 200)); - var h = Math.min(u, f), - p = e.stroke || 0, - d = e.viewbox || e.viewBox || n(t), - g = [u / (d[2] - d[0]), f / (d[3] - d[1])], - m = Math.min(g[0] || 0, g[1] || 0) / 2; - ((c.fillStyle = "black"), - c.fillRect(0, 0, u, f), - (c.fillStyle = "white"), - p && - ("number" != typeof p && (p = 1), - (c.strokeStyle = p > 0 ? "white" : "black"), - (c.lineWidth = Math.abs(p)))); - if ((c.translate(0.5 * u, 0.5 * f), c.scale(m, m), r.Path2D)) { - var v = new Path2D(t); - (c.fill(v), p && c.stroke(v)); - } else { - var y = i(t); - (a(c, y), c.fill(), p && c.stroke()); - } - return ( - c.setTransform(1, 0, 0, 1, 0, 0), - s(c, { - cutoff: null != e.cutoff ? e.cutoff : 0.5, - radius: null != e.radius ? e.radius : 0.5 * h, - }) - ); - }; - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { - "bitmap-sdf": 74, - "draw-svg-path": 134, - "is-svg-path": 309, - "parse-svg-path": 344, - "svg-path-bounds": 411, - }, - ], - 414: [ - function (t, e, r) { - (function (r) { - "use strict"; - e.exports = function t(e, r, i) { - var i = i || {}; - var o = a[e]; - o || (o = a[e] = { " ": { data: new Float32Array(0), shape: 0.2 } }); - var s = o[r]; - if (!s) - if (r.length <= 1 || !/\d/.test(r)) - s = o[r] = (function (t) { - for ( - var e = t.cells, - r = t.positions, - n = new Float32Array(6 * e.length), - i = 0, - a = 0, - o = 0; - o < e.length; - ++o - ) - for (var s = e[o], l = 0; l < 3; ++l) { - var c = r[s[l]]; - ((n[i++] = c[0]), - (n[i++] = c[1] + 1.4), - (a = Math.max(c[0], a))); - } - return { data: n, shape: a }; - })( - n(r, { - triangles: !0, - font: e, - textAlign: i.textAlign || "left", - textBaseline: "alphabetic", - }), - ); - else { - for ( - var l = r.split(/(\d|\s)/), - c = new Array(l.length), - u = 0, - f = 0, - h = 0; - h < l.length; - ++h - ) - ((c[h] = t(e, l[h])), - (u += c[h].data.length), - (f += c[h].shape), - h > 0 && (f += 0.02)); - for ( - var p = new Float32Array(u), d = 0, g = -0.5 * f, h = 0; - h < c.length; - ++h - ) { - for (var m = c[h].data, v = 0; v < m.length; v += 2) - ((p[d++] = m[v] + g), (p[d++] = m[v + 1])); - g += c[h].shape + 0.02; - } - s = o[r] = { data: p, shape: f }; - } - return s; - }; - var n = t("vectorize-text"), - i = window || r.global || {}, - a = i.__TEXT_CACHE || {}; - i.__TEXT_CACHE = {}; - }).call(this, t("_process")); - }, - { _process: 366, "vectorize-text": 430 }, - ], - 415: [ - function (t, e, r) { - !(function (t) { - var r = /^\s+/, - n = /\s+$/, - i = 0, - a = t.round, - o = t.min, - s = t.max, - l = t.random; - function c(e, l) { - if (((e = e || ""), (l = l || {}), e instanceof c)) return e; - if (!(this instanceof c)) return new c(e, l); - var u = (function (e) { - var i = { r: 0, g: 0, b: 0 }, - a = 1, - l = null, - c = null, - u = null, - f = !1, - h = !1; - "string" == typeof e && - (e = (function (t) { - t = t.replace(r, "").replace(n, "").toLowerCase(); - var e, - i = !1; - if (S[t]) ((t = S[t]), (i = !0)); - else if ("transparent" == t) - return { r: 0, g: 0, b: 0, a: 0, format: "name" }; - if ((e = j.rgb.exec(t))) return { r: e[1], g: e[2], b: e[3] }; - if ((e = j.rgba.exec(t))) - return { r: e[1], g: e[2], b: e[3], a: e[4] }; - if ((e = j.hsl.exec(t))) return { h: e[1], s: e[2], l: e[3] }; - if ((e = j.hsla.exec(t))) - return { h: e[1], s: e[2], l: e[3], a: e[4] }; - if ((e = j.hsv.exec(t))) return { h: e[1], s: e[2], v: e[3] }; - if ((e = j.hsva.exec(t))) - return { h: e[1], s: e[2], v: e[3], a: e[4] }; - if ((e = j.hex8.exec(t))) - return { - r: P(e[1]), - g: P(e[2]), - b: P(e[3]), - a: R(e[4]), - format: i ? "name" : "hex8", - }; - if ((e = j.hex6.exec(t))) - return { - r: P(e[1]), - g: P(e[2]), - b: P(e[3]), - format: i ? "name" : "hex", - }; - if ((e = j.hex4.exec(t))) - return { - r: P(e[1] + "" + e[1]), - g: P(e[2] + "" + e[2]), - b: P(e[3] + "" + e[3]), - a: R(e[4] + "" + e[4]), - format: i ? "name" : "hex8", - }; - if ((e = j.hex3.exec(t))) - return { - r: P(e[1] + "" + e[1]), - g: P(e[2] + "" + e[2]), - b: P(e[3] + "" + e[3]), - format: i ? "name" : "hex", - }; - return !1; - })(e)); - "object" == typeof e && - (V(e.r) && V(e.g) && V(e.b) - ? ((p = e.r), - (d = e.g), - (g = e.b), - (i = { - r: 255 * L(p, 255), - g: 255 * L(d, 255), - b: 255 * L(g, 255), - }), - (f = !0), - (h = "%" === String(e.r).substr(-1) ? "prgb" : "rgb")) - : V(e.h) && V(e.s) && V(e.v) - ? ((l = O(e.s)), - (c = O(e.v)), - (i = (function (e, r, n) { - ((e = 6 * L(e, 360)), (r = L(r, 100)), (n = L(n, 100))); - var i = t.floor(e), - a = e - i, - o = n * (1 - r), - s = n * (1 - a * r), - l = n * (1 - (1 - a) * r), - c = i % 6; - return { - r: 255 * [n, s, o, o, l, n][c], - g: 255 * [l, n, n, s, o, o][c], - b: 255 * [o, o, l, n, n, s][c], - }; - })(e.h, l, c)), - (f = !0), - (h = "hsv")) - : V(e.h) && - V(e.s) && - V(e.l) && - ((l = O(e.s)), - (u = O(e.l)), - (i = (function (t, e, r) { - var n, i, a; - function o(t, e, r) { - return ( - r < 0 && (r += 1), - r > 1 && (r -= 1), - r < 1 / 6 - ? t + 6 * (e - t) * r - : r < 0.5 - ? e - : r < 2 / 3 - ? t + (e - t) * (2 / 3 - r) * 6 - : t - ); - } - if ( - ((t = L(t, 360)), (e = L(e, 100)), (r = L(r, 100)), 0 === e) - ) - n = i = a = r; - else { - var s = r < 0.5 ? r * (1 + e) : r + e - r * e, - l = 2 * r - s; - ((n = o(l, s, t + 1 / 3)), - (i = o(l, s, t)), - (a = o(l, s, t - 1 / 3))); - } - return { r: 255 * n, g: 255 * i, b: 255 * a }; - })(e.h, l, u)), - (f = !0), - (h = "hsl")), - e.hasOwnProperty("a") && (a = e.a)); - var p, d, g; - return ( - (a = E(a)), - { - ok: f, - format: e.format || h, - r: o(255, s(i.r, 0)), - g: o(255, s(i.g, 0)), - b: o(255, s(i.b, 0)), - a: a, - } - ); - })(e); - ((this._originalInput = e), - (this._r = u.r), - (this._g = u.g), - (this._b = u.b), - (this._a = u.a), - (this._roundA = a(100 * this._a) / 100), - (this._format = l.format || u.format), - (this._gradientType = l.gradientType), - this._r < 1 && (this._r = a(this._r)), - this._g < 1 && (this._g = a(this._g)), - this._b < 1 && (this._b = a(this._b)), - (this._ok = u.ok), - (this._tc_id = i++)); - } - function u(t, e, r) { - ((t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255))); - var n, - i, - a = s(t, e, r), - l = o(t, e, r), - c = (a + l) / 2; - if (a == l) n = i = 0; - else { - var u = a - l; - switch (((i = c > 0.5 ? u / (2 - a - l) : u / (a + l)), a)) { - case t: - n = (e - r) / u + (e < r ? 6 : 0); - break; - case e: - n = (r - t) / u + 2; - break; - case r: - n = (t - e) / u + 4; - } - n /= 6; - } - return { h: n, s: i, l: c }; - } - function f(t, e, r) { - ((t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255))); - var n, - i, - a = s(t, e, r), - l = o(t, e, r), - c = a, - u = a - l; - if (((i = 0 === a ? 0 : u / a), a == l)) n = 0; - else { - switch (a) { - case t: - n = (e - r) / u + (e < r ? 6 : 0); - break; - case e: - n = (r - t) / u + 2; - break; - case r: - n = (t - e) / u + 4; - } - n /= 6; - } - return { h: n, s: i, v: c }; - } - function h(t, e, r, n) { - var i = [ - D(a(t).toString(16)), - D(a(e).toString(16)), - D(a(r).toString(16)), - ]; - return n && - i[0].charAt(0) == i[0].charAt(1) && - i[1].charAt(0) == i[1].charAt(1) && - i[2].charAt(0) == i[2].charAt(1) - ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) - : i.join(""); - } - function p(t, e, r, n) { - return [ - D(I(n)), - D(a(t).toString(16)), - D(a(e).toString(16)), - D(a(r).toString(16)), - ].join(""); - } - function d(t, e) { - e = 0 === e ? 0 : e || 10; - var r = c(t).toHsl(); - return ((r.s -= e / 100), (r.s = z(r.s)), c(r)); - } - function g(t, e) { - e = 0 === e ? 0 : e || 10; - var r = c(t).toHsl(); - return ((r.s += e / 100), (r.s = z(r.s)), c(r)); - } - function m(t) { - return c(t).desaturate(100); - } - function v(t, e) { - e = 0 === e ? 0 : e || 10; - var r = c(t).toHsl(); - return ((r.l += e / 100), (r.l = z(r.l)), c(r)); - } - function y(t, e) { - e = 0 === e ? 0 : e || 10; - var r = c(t).toRgb(); - return ( - (r.r = s(0, o(255, r.r - a((-e / 100) * 255)))), - (r.g = s(0, o(255, r.g - a((-e / 100) * 255)))), - (r.b = s(0, o(255, r.b - a((-e / 100) * 255)))), - c(r) - ); - } - function x(t, e) { - e = 0 === e ? 0 : e || 10; - var r = c(t).toHsl(); - return ((r.l -= e / 100), (r.l = z(r.l)), c(r)); - } - function b(t, e) { - var r = c(t).toHsl(), - n = (r.h + e) % 360; - return ((r.h = n < 0 ? 360 + n : n), c(r)); - } - function _(t) { - var e = c(t).toHsl(); - return ((e.h = (e.h + 180) % 360), c(e)); - } - function w(t) { - var e = c(t).toHsl(), - r = e.h; - return [ - c(t), - c({ h: (r + 120) % 360, s: e.s, l: e.l }), - c({ h: (r + 240) % 360, s: e.s, l: e.l }), - ]; - } - function k(t) { - var e = c(t).toHsl(), - r = e.h; - return [ - c(t), - c({ h: (r + 90) % 360, s: e.s, l: e.l }), - c({ h: (r + 180) % 360, s: e.s, l: e.l }), - c({ h: (r + 270) % 360, s: e.s, l: e.l }), - ]; - } - function M(t) { - var e = c(t).toHsl(), - r = e.h; - return [ - c(t), - c({ h: (r + 72) % 360, s: e.s, l: e.l }), - c({ h: (r + 216) % 360, s: e.s, l: e.l }), - ]; - } - function A(t, e, r) { - ((e = e || 6), (r = r || 30)); - var n = c(t).toHsl(), - i = 360 / r, - a = [c(t)]; - for (n.h = (n.h - ((i * e) >> 1) + 720) % 360; --e; ) - ((n.h = (n.h + i) % 360), a.push(c(n))); - return a; - } - function T(t, e) { - e = e || 6; - for ( - var r = c(t).toHsv(), n = r.h, i = r.s, a = r.v, o = [], s = 1 / e; - e--; - - ) - (o.push(c({ h: n, s: i, v: a })), (a = (a + s) % 1)); - return o; - } - ((c.prototype = { - isDark: function () { - return this.getBrightness() < 128; - }, - isLight: function () { - return !this.isDark(); - }, - isValid: function () { - return this._ok; - }, - getOriginalInput: function () { - return this._originalInput; - }, - getFormat: function () { - return this._format; - }, - getAlpha: function () { - return this._a; - }, - getBrightness: function () { - var t = this.toRgb(); - return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3; - }, - getLuminance: function () { - var e, - r, - n, - i = this.toRgb(); - return ( - (e = i.r / 255), - (r = i.g / 255), - (n = i.b / 255), - 0.2126 * - (e <= 0.03928 ? e / 12.92 : t.pow((e + 0.055) / 1.055, 2.4)) + - 0.7152 * - (r <= 0.03928 ? r / 12.92 : t.pow((r + 0.055) / 1.055, 2.4)) + - 0.0722 * - (n <= 0.03928 ? n / 12.92 : t.pow((n + 0.055) / 1.055, 2.4)) - ); - }, - setAlpha: function (t) { - return ( - (this._a = E(t)), - (this._roundA = a(100 * this._a) / 100), - this - ); - }, - toHsv: function () { - var t = f(this._r, this._g, this._b); - return { h: 360 * t.h, s: t.s, v: t.v, a: this._a }; - }, - toHsvString: function () { - var t = f(this._r, this._g, this._b), - e = a(360 * t.h), - r = a(100 * t.s), - n = a(100 * t.v); - return 1 == this._a - ? "hsv(" + e + ", " + r + "%, " + n + "%)" - : "hsva(" + e + ", " + r + "%, " + n + "%, " + this._roundA + ")"; - }, - toHsl: function () { - var t = u(this._r, this._g, this._b); - return { h: 360 * t.h, s: t.s, l: t.l, a: this._a }; - }, - toHslString: function () { - var t = u(this._r, this._g, this._b), - e = a(360 * t.h), - r = a(100 * t.s), - n = a(100 * t.l); - return 1 == this._a - ? "hsl(" + e + ", " + r + "%, " + n + "%)" - : "hsla(" + e + ", " + r + "%, " + n + "%, " + this._roundA + ")"; - }, - toHex: function (t) { - return h(this._r, this._g, this._b, t); - }, - toHexString: function (t) { - return "#" + this.toHex(t); - }, - toHex8: function (t) { - return (function (t, e, r, n, i) { - var o = [ - D(a(t).toString(16)), - D(a(e).toString(16)), - D(a(r).toString(16)), - D(I(n)), - ]; - if ( - i && - o[0].charAt(0) == o[0].charAt(1) && - o[1].charAt(0) == o[1].charAt(1) && - o[2].charAt(0) == o[2].charAt(1) && - o[3].charAt(0) == o[3].charAt(1) - ) - return ( - o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) + o[3].charAt(0) - ); - return o.join(""); - })(this._r, this._g, this._b, this._a, t); - }, - toHex8String: function (t) { - return "#" + this.toHex8(t); - }, - toRgb: function () { - return { r: a(this._r), g: a(this._g), b: a(this._b), a: this._a }; - }, - toRgbString: function () { - return 1 == this._a - ? "rgb(" + a(this._r) + ", " + a(this._g) + ", " + a(this._b) + ")" - : "rgba(" + - a(this._r) + - ", " + - a(this._g) + - ", " + - a(this._b) + - ", " + - this._roundA + - ")"; - }, - toPercentageRgb: function () { - return { - r: a(100 * L(this._r, 255)) + "%", - g: a(100 * L(this._g, 255)) + "%", - b: a(100 * L(this._b, 255)) + "%", - a: this._a, - }; - }, - toPercentageRgbString: function () { - return 1 == this._a - ? "rgb(" + - a(100 * L(this._r, 255)) + - "%, " + - a(100 * L(this._g, 255)) + - "%, " + - a(100 * L(this._b, 255)) + - "%)" - : "rgba(" + - a(100 * L(this._r, 255)) + - "%, " + - a(100 * L(this._g, 255)) + - "%, " + - a(100 * L(this._b, 255)) + - "%, " + - this._roundA + - ")"; - }, - toName: function () { - return 0 === this._a - ? "transparent" - : !(this._a < 1) && (C[h(this._r, this._g, this._b, !0)] || !1); - }, - toFilter: function (t) { - var e = "#" + p(this._r, this._g, this._b, this._a), - r = e, - n = this._gradientType ? "GradientType = 1, " : ""; - if (t) { - var i = c(t); - r = "#" + p(i._r, i._g, i._b, i._a); - } - return ( - "progid:DXImageTransform.Microsoft.gradient(" + - n + - "startColorstr=" + - e + - ",endColorstr=" + - r + - ")" - ); - }, - toString: function (t) { - var e = !!t; - t = t || this._format; - var r = !1, - n = this._a < 1 && this._a >= 0; - return e || - !n || - ("hex" !== t && - "hex6" !== t && - "hex3" !== t && - "hex4" !== t && - "hex8" !== t && - "name" !== t) - ? ("rgb" === t && (r = this.toRgbString()), - "prgb" === t && (r = this.toPercentageRgbString()), - ("hex" !== t && "hex6" !== t) || (r = this.toHexString()), - "hex3" === t && (r = this.toHexString(!0)), - "hex4" === t && (r = this.toHex8String(!0)), - "hex8" === t && (r = this.toHex8String()), - "name" === t && (r = this.toName()), - "hsl" === t && (r = this.toHslString()), - "hsv" === t && (r = this.toHsvString()), - r || this.toHexString()) - : "name" === t && 0 === this._a - ? this.toName() - : this.toRgbString(); - }, - clone: function () { - return c(this.toString()); - }, - _applyModification: function (t, e) { - var r = t.apply(null, [this].concat([].slice.call(e))); - return ( - (this._r = r._r), - (this._g = r._g), - (this._b = r._b), - this.setAlpha(r._a), - this - ); - }, - lighten: function () { - return this._applyModification(v, arguments); - }, - brighten: function () { - return this._applyModification(y, arguments); - }, - darken: function () { - return this._applyModification(x, arguments); - }, - desaturate: function () { - return this._applyModification(d, arguments); - }, - saturate: function () { - return this._applyModification(g, arguments); - }, - greyscale: function () { - return this._applyModification(m, arguments); - }, - spin: function () { - return this._applyModification(b, arguments); - }, - _applyCombination: function (t, e) { - return t.apply(null, [this].concat([].slice.call(e))); - }, - analogous: function () { - return this._applyCombination(A, arguments); - }, - complement: function () { - return this._applyCombination(_, arguments); - }, - monochromatic: function () { - return this._applyCombination(T, arguments); - }, - splitcomplement: function () { - return this._applyCombination(M, arguments); - }, - triad: function () { - return this._applyCombination(w, arguments); - }, - tetrad: function () { - return this._applyCombination(k, arguments); - }, - }), - (c.fromRatio = function (t, e) { - if ("object" == typeof t) { - var r = {}; - for (var n in t) - t.hasOwnProperty(n) && (r[n] = "a" === n ? t[n] : O(t[n])); - t = r; - } - return c(t, e); - }), - (c.equals = function (t, e) { - return !(!t || !e) && c(t).toRgbString() == c(e).toRgbString(); - }), - (c.random = function () { - return c.fromRatio({ r: l(), g: l(), b: l() }); - }), - (c.mix = function (t, e, r) { - r = 0 === r ? 0 : r || 50; - var n = c(t).toRgb(), - i = c(e).toRgb(), - a = r / 100; - return c({ - r: (i.r - n.r) * a + n.r, - g: (i.g - n.g) * a + n.g, - b: (i.b - n.b) * a + n.b, - a: (i.a - n.a) * a + n.a, - }); - }), - (c.readability = function (e, r) { - var n = c(e), - i = c(r); - return ( - (t.max(n.getLuminance(), i.getLuminance()) + 0.05) / - (t.min(n.getLuminance(), i.getLuminance()) + 0.05) - ); - }), - (c.isReadable = function (t, e, r) { - var n, - i, - a = c.readability(t, e); - switch ( - ((i = !1), - (n = (function (t) { - var e, r; - ((e = ( - (t = t || { level: "AA", size: "small" }).level || "AA" - ).toUpperCase()), - (r = (t.size || "small").toLowerCase()), - "AA" !== e && "AAA" !== e && (e = "AA")); - "small" !== r && "large" !== r && (r = "small"); - return { level: e, size: r }; - })(r)).level + n.size) - ) { - case "AAsmall": - case "AAAlarge": - i = a >= 4.5; - break; - case "AAlarge": - i = a >= 3; - break; - case "AAAsmall": - i = a >= 7; - } - return i; - }), - (c.mostReadable = function (t, e, r) { - var n, - i, - a, - o, - s = null, - l = 0; - ((i = (r = r || {}).includeFallbackColors), - (a = r.level), - (o = r.size)); - for (var u = 0; u < e.length; u++) - (n = c.readability(t, e[u])) > l && ((l = n), (s = c(e[u]))); - return c.isReadable(t, s, { level: a, size: o }) || !i - ? s - : ((r.includeFallbackColors = !1), - c.mostReadable(t, ["#fff", "#000"], r)); - })); - var S = (c.names = { - aliceblue: "f0f8ff", - antiquewhite: "faebd7", - aqua: "0ff", - aquamarine: "7fffd4", - azure: "f0ffff", - beige: "f5f5dc", - bisque: "ffe4c4", - black: "000", - blanchedalmond: "ffebcd", - blue: "00f", - blueviolet: "8a2be2", - brown: "a52a2a", - burlywood: "deb887", - burntsienna: "ea7e5d", - cadetblue: "5f9ea0", - chartreuse: "7fff00", - chocolate: "d2691e", - coral: "ff7f50", - cornflowerblue: "6495ed", - cornsilk: "fff8dc", - crimson: "dc143c", - cyan: "0ff", - darkblue: "00008b", - darkcyan: "008b8b", - darkgoldenrod: "b8860b", - darkgray: "a9a9a9", - darkgreen: "006400", - darkgrey: "a9a9a9", - darkkhaki: "bdb76b", - darkmagenta: "8b008b", - darkolivegreen: "556b2f", - darkorange: "ff8c00", - darkorchid: "9932cc", - darkred: "8b0000", - darksalmon: "e9967a", - darkseagreen: "8fbc8f", - darkslateblue: "483d8b", - darkslategray: "2f4f4f", - darkslategrey: "2f4f4f", - darkturquoise: "00ced1", - darkviolet: "9400d3", - deeppink: "ff1493", - deepskyblue: "00bfff", - dimgray: "696969", - dimgrey: "696969", - dodgerblue: "1e90ff", - firebrick: "b22222", - floralwhite: "fffaf0", - forestgreen: "228b22", - fuchsia: "f0f", - gainsboro: "dcdcdc", - ghostwhite: "f8f8ff", - gold: "ffd700", - goldenrod: "daa520", - gray: "808080", - green: "008000", - greenyellow: "adff2f", - grey: "808080", - honeydew: "f0fff0", - hotpink: "ff69b4", - indianred: "cd5c5c", - indigo: "4b0082", - ivory: "fffff0", - khaki: "f0e68c", - lavender: "e6e6fa", - lavenderblush: "fff0f5", - lawngreen: "7cfc00", - lemonchiffon: "fffacd", - lightblue: "add8e6", - lightcoral: "f08080", - lightcyan: "e0ffff", - lightgoldenrodyellow: "fafad2", - lightgray: "d3d3d3", - lightgreen: "90ee90", - lightgrey: "d3d3d3", - lightpink: "ffb6c1", - lightsalmon: "ffa07a", - lightseagreen: "20b2aa", - lightskyblue: "87cefa", - lightslategray: "789", - lightslategrey: "789", - lightsteelblue: "b0c4de", - lightyellow: "ffffe0", - lime: "0f0", - limegreen: "32cd32", - linen: "faf0e6", - magenta: "f0f", - maroon: "800000", - mediumaquamarine: "66cdaa", - mediumblue: "0000cd", - mediumorchid: "ba55d3", - mediumpurple: "9370db", - mediumseagreen: "3cb371", - mediumslateblue: "7b68ee", - mediumspringgreen: "00fa9a", - mediumturquoise: "48d1cc", - mediumvioletred: "c71585", - midnightblue: "191970", - mintcream: "f5fffa", - mistyrose: "ffe4e1", - moccasin: "ffe4b5", - navajowhite: "ffdead", - navy: "000080", - oldlace: "fdf5e6", - olive: "808000", - olivedrab: "6b8e23", - orange: "ffa500", - orangered: "ff4500", - orchid: "da70d6", - palegoldenrod: "eee8aa", - palegreen: "98fb98", - paleturquoise: "afeeee", - palevioletred: "db7093", - papayawhip: "ffefd5", - peachpuff: "ffdab9", - peru: "cd853f", - pink: "ffc0cb", - plum: "dda0dd", - powderblue: "b0e0e6", - purple: "800080", - rebeccapurple: "663399", - red: "f00", - rosybrown: "bc8f8f", - royalblue: "4169e1", - saddlebrown: "8b4513", - salmon: "fa8072", - sandybrown: "f4a460", - seagreen: "2e8b57", - seashell: "fff5ee", - sienna: "a0522d", - silver: "c0c0c0", - skyblue: "87ceeb", - slateblue: "6a5acd", - slategray: "708090", - slategrey: "708090", - snow: "fffafa", - springgreen: "00ff7f", - steelblue: "4682b4", - tan: "d2b48c", - teal: "008080", - thistle: "d8bfd8", - tomato: "ff6347", - turquoise: "40e0d0", - violet: "ee82ee", - wheat: "f5deb3", - white: "fff", - whitesmoke: "f5f5f5", - yellow: "ff0", - yellowgreen: "9acd32", - }), - C = (c.hexNames = (function (t) { - var e = {}; - for (var r in t) t.hasOwnProperty(r) && (e[t[r]] = r); - return e; - })(S)); - function E(t) { - return ((t = parseFloat(t)), (isNaN(t) || t < 0 || t > 1) && (t = 1), t); - } - function L(e, r) { - (function (t) { - return ( - "string" == typeof t && -1 != t.indexOf(".") && 1 === parseFloat(t) - ); - })(e) && (e = "100%"); - var n = (function (t) { - return "string" == typeof t && -1 != t.indexOf("%"); - })(e); - return ( - (e = o(r, s(0, parseFloat(e)))), - n && (e = parseInt(e * r, 10) / 100), - t.abs(e - r) < 1e-6 ? 1 : (e % r) / parseFloat(r) - ); - } - function z(t) { - return o(1, s(0, t)); - } - function P(t) { - return parseInt(t, 16); - } - function D(t) { - return 1 == t.length ? "0" + t : "" + t; - } - function O(t) { - return (t <= 1 && (t = 100 * t + "%"), t); - } - function I(e) { - return t.round(255 * parseFloat(e)).toString(16); - } - function R(t) { - return P(t) / 255; - } - var B, - F, - N, - j = - ((F = - "[\\s|\\(]+(" + - (B = "(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)") + - ")[,|\\s]+(" + - B + - ")[,|\\s]+(" + - B + - ")\\s*\\)?"), - (N = - "[\\s|\\(]+(" + - B + - ")[,|\\s]+(" + - B + - ")[,|\\s]+(" + - B + - ")[,|\\s]+(" + - B + - ")\\s*\\)?"), - { - CSS_UNIT: new RegExp(B), - rgb: new RegExp("rgb" + F), - rgba: new RegExp("rgba" + N), - hsl: new RegExp("hsl" + F), - hsla: new RegExp("hsla" + N), - hsv: new RegExp("hsv" + F), - hsva: new RegExp("hsva" + N), - hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - }); - function V(t) { - return !!j.CSS_UNIT.exec(t); - } - void 0 !== e && e.exports ? (e.exports = c) : (window.tinycolor = c); - })(Math); - }, - {}, - ], - 416: [ - function (t, e, r) { - "use strict"; - function n(t) { - if (t instanceof Float32Array) return t; - if ("number" == typeof t) return new Float32Array([t])[0]; - var e = new Float32Array(t); - return (e.set(t), e); - } - ((e.exports = n), - (e.exports.float32 = e.exports.float = n), - (e.exports.fract32 = e.exports.fract = - function (t) { - if ("number" == typeof t) return n(t - n(t)); - for (var e = n(t), r = 0, i = e.length; r < i; r++) e[r] = t[r] - e[r]; - return e; - })); - }, - {}, - ], - 417: [ - function (t, e, r) { - "use strict"; - var n = t("parse-unit"); - e.exports = o; - var i = 96; - function a(t, e) { - var r = n(getComputedStyle(t).getPropertyValue(e)); - return r[0] * o(r[1], t); - } - function o(t, e) { - switch ( - ((e = e || document.body), - (t = (t || "px").trim().toLowerCase()), - (e !== window && e !== document) || (e = document.body), - t) - ) { - case "%": - return e.clientHeight / 100; - case "ch": - case "ex": - return (function (t, e) { - var r = document.createElement("div"); - ((r.style["font-size"] = "128" + t), e.appendChild(r)); - var n = a(r, "font-size") / 128; - return (e.removeChild(r), n); - })(t, e); - case "em": - return a(e, "font-size"); - case "rem": - return a(document.body, "font-size"); - case "vw": - return window.innerWidth / 100; - case "vh": - return window.innerHeight / 100; - case "vmin": - return Math.min(window.innerWidth, window.innerHeight) / 100; - case "vmax": - return Math.max(window.innerWidth, window.innerHeight) / 100; - case "in": - return i; - case "cm": - return i / 2.54; - case "mm": - return i / 25.4; - case "pt": - return i / 72; - case "pc": - return i / 6; - } - return 1; - } - }, - { "parse-unit": 345 }, - ], - 418: [ - function (t, e, r) { - var n; - ((n = this), - (function (t) { - "use strict"; - var e = function (t) { - return t; - }, - r = function (t) { - if (null == (r = t.transform)) return e; - var r, - n, - i, - a = r.scale[0], - o = r.scale[1], - s = r.translate[0], - l = r.translate[1]; - return function (t, e) { - return ( - e || (n = i = 0), - (t[0] = (n += t[0]) * a + s), - (t[1] = (i += t[1]) * o + l), - t - ); - }; - }, - n = function (t) { - var e = t.bbox; - function n(t) { - ((l[0] = t[0]), - (l[1] = t[1]), - s(l), - l[0] < c && (c = l[0]), - l[0] > f && (f = l[0]), - l[1] < u && (u = l[1]), - l[1] > h && (h = l[1])); - } - function i(t) { - switch (t.type) { - case "GeometryCollection": - t.geometries.forEach(i); - break; - case "Point": - n(t.coordinates); - break; - case "MultiPoint": - t.coordinates.forEach(n); - } - } - if (!e) { - var a, - o, - s = r(t), - l = new Array(2), - c = 1 / 0, - u = c, - f = -c, - h = -c; - for (o in (t.arcs.forEach(function (t) { - for (var e = -1, r = t.length; ++e < r; ) - ((a = t[e]), - (l[0] = a[0]), - (l[1] = a[1]), - s(l, e), - l[0] < c && (c = l[0]), - l[0] > f && (f = l[0]), - l[1] < u && (u = l[1]), - l[1] > h && (h = l[1])); - }), - t.objects)) - i(t.objects[o]); - e = t.bbox = [c, u, f, h]; - } - return e; - }, - i = function (t, e) { - for (var r, n = t.length, i = n - e; i < --n; ) - ((r = t[i]), (t[i++] = t[n]), (t[n] = r)); - }; - function a(t, e) { - var r = e.id, - n = e.bbox, - i = null == e.properties ? {} : e.properties, - a = o(t, e); - return null == r && null == n - ? { type: "Feature", properties: i, geometry: a } - : null == n - ? { type: "Feature", id: r, properties: i, geometry: a } - : { type: "Feature", id: r, bbox: n, properties: i, geometry: a }; - } - function o(t, e) { - var n = r(t), - a = t.arcs; - function o(t, e) { - e.length && e.pop(); - for (var r = a[t < 0 ? ~t : t], o = 0, s = r.length; o < s; ++o) - e.push(n(r[o].slice(), o)); - t < 0 && i(e, s); - } - function s(t) { - return n(t.slice()); - } - function l(t) { - for (var e = [], r = 0, n = t.length; r < n; ++r) o(t[r], e); - return (e.length < 2 && e.push(e[0].slice()), e); - } - function c(t) { - for (var e = l(t); e.length < 4; ) e.push(e[0].slice()); - return e; - } - function u(t) { - return t.map(c); - } - return (function t(e) { - var r, - n = e.type; - switch (n) { - case "GeometryCollection": - return { type: n, geometries: e.geometries.map(t) }; - case "Point": - r = s(e.coordinates); - break; - case "MultiPoint": - r = e.coordinates.map(s); - break; - case "LineString": - r = l(e.arcs); - break; - case "MultiLineString": - r = e.arcs.map(l); - break; - case "Polygon": - r = u(e.arcs); - break; - case "MultiPolygon": - r = e.arcs.map(u); - break; - default: - return null; - } - return { type: n, coordinates: r }; - })(e); - } - var s = function (t, e) { - var r = {}, - n = {}, - i = {}, - a = [], - o = -1; - function s(t, e) { - for (var n in t) { - var i = t[n]; - (delete e[i.start], - delete i.start, - delete i.end, - i.forEach(function (t) { - r[t < 0 ? ~t : t] = 1; - }), - a.push(i)); - } - } - return ( - e.forEach(function (r, n) { - var i, - a = t.arcs[r < 0 ? ~r : r]; - a.length < 3 && - !a[1][0] && - !a[1][1] && - ((i = e[++o]), (e[o] = r), (e[n] = i)); - }), - e.forEach(function (e) { - var r, - a, - o = (function (e) { - var r, - n = t.arcs[e < 0 ? ~e : e], - i = n[0]; - t.transform - ? ((r = [0, 0]), - n.forEach(function (t) { - ((r[0] += t[0]), (r[1] += t[1])); - })) - : (r = n[n.length - 1]); - return e < 0 ? [r, i] : [i, r]; - })(e), - s = o[0], - l = o[1]; - if ((r = i[s])) - if ((delete i[r.end], r.push(e), (r.end = l), (a = n[l]))) { - delete n[a.start]; - var c = a === r ? r : r.concat(a); - n[(c.start = r.start)] = i[(c.end = a.end)] = c; - } else n[r.start] = i[r.end] = r; - else if ((r = n[l])) - if ( - (delete n[r.start], r.unshift(e), (r.start = s), (a = i[s])) - ) { - delete i[a.end]; - var u = a === r ? r : a.concat(r); - n[(u.start = a.start)] = i[(u.end = r.end)] = u; - } else n[r.start] = i[r.end] = r; - else n[((r = [e]).start = s)] = i[(r.end = l)] = r; - }), - s(i, n), - s(n, i), - e.forEach(function (t) { - r[t < 0 ? ~t : t] || a.push([t]); - }), - a - ); - }; - function l(t, e, r) { - var n, i, a; - if (arguments.length > 1) - n = (function (t, e, r) { - var n, - i = [], - a = []; - function o(t) { - var e = t < 0 ? ~t : t; - (a[e] || (a[e] = [])).push({ i: t, g: n }); - } - function s(t) { - t.forEach(o); - } - function l(t) { - t.forEach(s); - } - return ( - (function t(e) { - switch (((n = e), e.type)) { - case "GeometryCollection": - e.geometries.forEach(t); - break; - case "LineString": - s(e.arcs); - break; - case "MultiLineString": - case "Polygon": - l(e.arcs); - break; - case "MultiPolygon": - e.arcs.forEach(l); - } - })(e), - a.forEach( - null == r - ? function (t) { - i.push(t[0].i); - } - : function (t) { - r(t[0].g, t[t.length - 1].g) && i.push(t[0].i); - }, - ), - i - ); - })(0, e, r); - else - for (i = 0, n = new Array((a = t.arcs.length)); i < a; ++i) n[i] = i; - return { type: "MultiLineString", arcs: s(t, n) }; - } - function c(t, e) { - var r = {}, - n = [], - i = []; - function a(t) { - (t.forEach(function (e) { - e.forEach(function (e) { - (r[(e = e < 0 ? ~e : e)] || (r[e] = [])).push(t); - }); - }), - n.push(t)); - } - function l(e) { - return (function (t) { - for (var e, r = -1, n = t.length, i = t[n - 1], a = 0; ++r < n; ) - ((e = i), (i = t[r]), (a += e[0] * i[1] - e[1] * i[0])); - return Math.abs(a); - })(o(t, { type: "Polygon", arcs: [e] }).coordinates[0]); - } - return ( - e.forEach(function t(e) { - switch (e.type) { - case "GeometryCollection": - e.geometries.forEach(t); - break; - case "Polygon": - a(e.arcs); - break; - case "MultiPolygon": - e.arcs.forEach(a); - } - }), - n.forEach(function (t) { - if (!t._) { - var e = [], - n = [t]; - for (t._ = 1, i.push(e); (t = n.pop()); ) - (e.push(t), - t.forEach(function (t) { - t.forEach(function (t) { - r[t < 0 ? ~t : t].forEach(function (t) { - t._ || ((t._ = 1), n.push(t)); - }); - }); - })); - } - }), - n.forEach(function (t) { - delete t._; - }), - { - type: "MultiPolygon", - arcs: i.map(function (e) { - var n, - i = []; - if ( - (e.forEach(function (t) { - t.forEach(function (t) { - t.forEach(function (t) { - r[t < 0 ? ~t : t].length < 2 && i.push(t); - }); - }); - }), - (n = (i = s(t, i)).length) > 1) - ) - for (var a, o, c = 1, u = l(i[0]); c < n; ++c) - (a = l(i[c])) > u && - ((o = i[0]), (i[0] = i[c]), (i[c] = o), (u = a)); - return i; - }), - } - ); - } - var u = function (t, e) { - for (var r = 0, n = t.length; r < n; ) { - var i = (r + n) >>> 1; - t[i] < e ? (r = i + 1) : (n = i); - } - return r; - }; - ((t.bbox = n), - (t.feature = function (t, e) { - return "GeometryCollection" === e.type - ? { - type: "FeatureCollection", - features: e.geometries.map(function (e) { - return a(t, e); - }), - } - : a(t, e); - }), - (t.mesh = function (t) { - return o(t, l.apply(this, arguments)); - }), - (t.meshArcs = l), - (t.merge = function (t) { - return o(t, c.apply(this, arguments)); - }), - (t.mergeArcs = c), - (t.neighbors = function (t) { - var e = {}, - r = t.map(function () { - return []; - }); - function n(t, r) { - t.forEach(function (t) { - t < 0 && (t = ~t); - var n = e[t]; - n ? n.push(r) : (e[t] = [r]); - }); - } - function i(t, e) { - t.forEach(function (t) { - n(t, e); - }); - } - var a = { - LineString: n, - MultiLineString: i, - Polygon: i, - MultiPolygon: function (t, e) { - t.forEach(function (t) { - i(t, e); - }); - }, - }; - for (var o in (t.forEach(function t(e, r) { - "GeometryCollection" === e.type - ? e.geometries.forEach(function (e) { - t(e, r); - }) - : e.type in a && a[e.type](e.arcs, r); - }), - e)) - for (var s = e[o], l = s.length, c = 0; c < l; ++c) - for (var f = c + 1; f < l; ++f) { - var h, - p = s[c], - d = s[f]; - ((h = r[p])[(o = u(h, d))] !== d && h.splice(o, 0, d), - (h = r[d])[(o = u(h, p))] !== p && h.splice(o, 0, p)); - } - return r; - }), - (t.quantize = function (t, e) { - if (!((e = Math.floor(e)) >= 2)) throw new Error("n must be \u22652"); - if (t.transform) throw new Error("already quantized"); - var r, - i = n(t), - a = i[0], - o = (i[2] - a) / (e - 1) || 1, - s = i[1], - l = (i[3] - s) / (e - 1) || 1; - function c(t) { - ((t[0] = Math.round((t[0] - a) / o)), - (t[1] = Math.round((t[1] - s) / l))); - } - function u(t) { - switch (t.type) { - case "GeometryCollection": - t.geometries.forEach(u); - break; - case "Point": - c(t.coordinates); - break; - case "MultiPoint": - t.coordinates.forEach(c); - } - } - for (r in (t.arcs.forEach(function (t) { - for ( - var e, - r, - n, - i = 1, - c = 1, - u = t.length, - f = t[0], - h = (f[0] = Math.round((f[0] - a) / o)), - p = (f[1] = Math.round((f[1] - s) / l)); - i < u; - ++i - ) - ((f = t[i]), - (r = Math.round((f[0] - a) / o)), - (n = Math.round((f[1] - s) / l)), - (r === h && n === p) || - (((e = t[c++])[0] = r - h), - (h = r), - (e[1] = n - p), - (p = n))); - (c < 2 && (((e = t[c++])[0] = 0), (e[1] = 0)), (t.length = c)); - }), - t.objects)) - u(t.objects[r]); - return ((t.transform = { scale: [o, l], translate: [a, s] }), t); - }), - (t.transform = r), - (t.untransform = function (t) { - if (null == (r = t.transform)) return e; - var r, - n, - i, - a = r.scale[0], - o = r.scale[1], - s = r.translate[0], - l = r.translate[1]; - return function (t, e) { - e || (n = i = 0); - var r = Math.round((t[0] - s) / a), - c = Math.round((t[1] - l) / o); - return ((t[0] = r - n), (n = r), (t[1] = c - i), (i = c), t); - }; - }), - Object.defineProperty(t, "__esModule", { value: !0 })); - })( - "object" == typeof r && void 0 !== e - ? r - : (n.topojson = n.topojson || {}), - )); - }, - {}, - ], - 419: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - if (t < 0) return []; - if (0 === t) return [[0]]; - for (var e = 0 | Math.round(a(t + 1)), r = [], o = 0; o < e; ++o) { - for (var s = n.unrank(t, o), l = [0], c = 0, u = 0; u < s.length; ++u) - ((c += 1 << s[u]), l.push(c)); - (i(s) < 1 && ((l[0] = c), (l[t] = 0)), r.push(l)); - } - return r; - }; - var n = t("permutation-rank"), - i = t("permutation-parity"), - a = t("gamma"); - }, - { gamma: 200, "permutation-parity": 347, "permutation-rank": 348 }, - ], - 420: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = (t = t || {}).center || [0, 0, 0], - r = t.up || [0, 1, 0], - n = t.right || f(r), - i = t.radius || 1, - a = t.theta || 0, - u = t.phi || 0; - if ( - ((e = [].slice.call(e, 0, 3)), - (r = [].slice.call(r, 0, 3)), - s(r, r), - (n = [].slice.call(n, 0, 3)), - s(n, n), - "eye" in t) - ) { - var p = t.eye, - d = [p[0] - e[0], p[1] - e[1], p[2] - e[2]]; - (o(n, d, r), - c(n[0], n[1], n[2]) < 1e-6 ? (n = f(r)) : s(n, n), - (i = c(d[0], d[1], d[2]))); - var g = l(r, d) / i, - m = l(n, d) / i; - ((u = Math.acos(g)), (a = Math.acos(m))); - } - return ((i = Math.log(i)), new h(t.zoomMin, t.zoomMax, e, r, n, i, a, u)); - }; - var n = t("filtered-vector"), - i = t("gl-mat4/invert"), - a = t("gl-mat4/rotate"), - o = t("gl-vec3/cross"), - s = t("gl-vec3/normalize"), - l = t("gl-vec3/dot"); - function c(t, e, r) { - return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); - } - function u(t) { - return Math.min(1, Math.max(-1, t)); - } - function f(t) { - var e = Math.abs(t[0]), - r = Math.abs(t[1]), - n = Math.abs(t[2]), - i = [0, 0, 0]; - e > Math.max(r, n) - ? (i[2] = 1) - : r > Math.max(e, n) - ? (i[0] = 1) - : (i[1] = 1); - for (var a = 0, o = 0, l = 0; l < 3; ++l) - ((a += t[l] * t[l]), (o += i[l] * t[l])); - for (l = 0; l < 3; ++l) i[l] -= (o / a) * t[l]; - return (s(i, i), i); - } - function h(t, e, r, i, a, o, s, l) { - ((this.center = n(r)), - (this.up = n(i)), - (this.right = n(a)), - (this.radius = n([o])), - (this.angle = n([s, l])), - (this.angle.bounds = [ - [-1 / 0, -Math.PI / 2], - [1 / 0, Math.PI / 2], - ]), - this.setDistanceLimits(t, e), - (this.computedCenter = this.center.curve(0)), - (this.computedUp = this.up.curve(0)), - (this.computedRight = this.right.curve(0)), - (this.computedRadius = this.radius.curve(0)), - (this.computedAngle = this.angle.curve(0)), - (this.computedToward = [0, 0, 0]), - (this.computedEye = [0, 0, 0]), - (this.computedMatrix = new Array(16))); - for (var c = 0; c < 16; ++c) this.computedMatrix[c] = 0.5; - this.recalcMatrix(0); - } - var p = h.prototype; - ((p.setDistanceLimits = function (t, e) { - ((t = t > 0 ? Math.log(t) : -1 / 0), - (e = e > 0 ? Math.log(e) : 1 / 0), - (e = Math.max(e, t)), - (this.radius.bounds[0][0] = t), - (this.radius.bounds[1][0] = e)); - }), - (p.getDistanceLimits = function (t) { - var e = this.radius.bounds[0]; - return t - ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) - : [Math.exp(e[0][0]), Math.exp(e[1][0])]; - }), - (p.recalcMatrix = function (t) { - (this.center.curve(t), - this.up.curve(t), - this.right.curve(t), - this.radius.curve(t), - this.angle.curve(t)); - for ( - var e = this.computedUp, r = this.computedRight, n = 0, i = 0, a = 0; - a < 3; - ++a - ) - ((i += e[a] * r[a]), (n += e[a] * e[a])); - var l = Math.sqrt(n), - u = 0; - for (a = 0; a < 3; ++a) - ((r[a] -= (e[a] * i) / n), (u += r[a] * r[a]), (e[a] /= l)); - var f = Math.sqrt(u); - for (a = 0; a < 3; ++a) r[a] /= f; - var h = this.computedToward; - (o(h, e, r), s(h, h)); - var p = Math.exp(this.computedRadius[0]), - d = this.computedAngle[0], - g = this.computedAngle[1], - m = Math.cos(d), - v = Math.sin(d), - y = Math.cos(g), - x = Math.sin(g), - b = this.computedCenter, - _ = m * y, - w = v * y, - k = x, - M = -m * x, - A = -v * x, - T = y, - S = this.computedEye, - C = this.computedMatrix; - for (a = 0; a < 3; ++a) { - var E = _ * r[a] + w * h[a] + k * e[a]; - ((C[4 * a + 1] = M * r[a] + A * h[a] + T * e[a]), - (C[4 * a + 2] = E), - (C[4 * a + 3] = 0)); - } - var L = C[1], - z = C[5], - P = C[9], - D = C[2], - O = C[6], - I = C[10], - R = z * I - P * O, - B = P * D - L * I, - F = L * O - z * D, - N = c(R, B, F); - ((R /= N), (B /= N), (F /= N), (C[0] = R), (C[4] = B), (C[8] = F)); - for (a = 0; a < 3; ++a) S[a] = b[a] + C[2 + 4 * a] * p; - for (a = 0; a < 3; ++a) { - u = 0; - for (var j = 0; j < 3; ++j) u += C[a + 4 * j] * S[j]; - C[12 + a] = -u; - } - C[15] = 1; - }), - (p.getMatrix = function (t, e) { - this.recalcMatrix(t); - var r = this.computedMatrix; - if (e) { - for (var n = 0; n < 16; ++n) e[n] = r[n]; - return e; - } - return r; - })); - var d = [0, 0, 0]; - ((p.rotate = function (t, e, r, n) { - if ((this.angle.move(t, e, r), n)) { - this.recalcMatrix(t); - var i = this.computedMatrix; - ((d[0] = i[2]), (d[1] = i[6]), (d[2] = i[10])); - for ( - var o = this.computedUp, - s = this.computedRight, - l = this.computedToward, - c = 0; - c < 3; - ++c - ) - ((i[4 * c] = o[c]), (i[4 * c + 1] = s[c]), (i[4 * c + 2] = l[c])); - a(i, i, n, d); - for (c = 0; c < 3; ++c) ((o[c] = i[4 * c]), (s[c] = i[4 * c + 1])); - (this.up.set(t, o[0], o[1], o[2]), this.right.set(t, s[0], s[1], s[2])); - } - }), - (p.pan = function (t, e, r, n) { - ((e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t)); - var i = this.computedMatrix, - a = (Math.exp(this.computedRadius[0]), i[1]), - o = i[5], - s = i[9], - l = c(a, o, s); - ((a /= l), (o /= l), (s /= l)); - var u = i[0], - f = i[4], - h = i[8], - p = u * a + f * o + h * s, - d = c((u -= a * p), (f -= o * p), (h -= s * p)), - g = (u /= d) * e + a * r, - m = (f /= d) * e + o * r, - v = (h /= d) * e + s * r; - this.center.move(t, g, m, v); - var y = Math.exp(this.computedRadius[0]); - ((y = Math.max(1e-4, y + n)), this.radius.set(t, Math.log(y))); - }), - (p.translate = function (t, e, r, n) { - this.center.move(t, e || 0, r || 0, n || 0); - }), - (p.setMatrix = function (t, e, r, n) { - var a = 1; - ("number" == typeof r && (a = 0 | r), (a < 0 || a > 3) && (a = 1)); - var o = (a + 2) % 3; - e || (this.recalcMatrix(t), (e = this.computedMatrix)); - var s = e[a], - l = e[a + 4], - f = e[a + 8]; - if (n) { - var h = Math.abs(s), - p = Math.abs(l), - d = Math.abs(f), - g = Math.max(h, p, d); - h === g - ? ((s = s < 0 ? -1 : 1), (l = f = 0)) - : d === g - ? ((f = f < 0 ? -1 : 1), (s = l = 0)) - : ((l = l < 0 ? -1 : 1), (s = f = 0)); - } else { - var m = c(s, l, f); - ((s /= m), (l /= m), (f /= m)); - } - var v, - y, - x = e[o], - b = e[o + 4], - _ = e[o + 8], - w = x * s + b * l + _ * f, - k = c((x -= s * w), (b -= l * w), (_ -= f * w)), - M = l * (_ /= k) - f * (b /= k), - A = f * (x /= k) - s * _, - T = s * b - l * x, - S = c(M, A, T); - if ( - ((M /= S), - (A /= S), - (T /= S), - this.center.jump(t, H, G, W), - this.radius.idle(t), - this.up.jump(t, s, l, f), - this.right.jump(t, x, b, _), - 2 === a) - ) { - var C = e[1], - E = e[5], - L = e[9], - z = C * x + E * b + L * _, - P = C * M + E * A + L * T; - ((v = R < 0 ? -Math.PI / 2 : Math.PI / 2), (y = Math.atan2(P, z))); - } else { - var D = e[2], - O = e[6], - I = e[10], - R = D * s + O * l + I * f, - B = D * x + O * b + I * _, - F = D * M + O * A + I * T; - ((v = Math.asin(u(R))), (y = Math.atan2(F, B))); - } - (this.angle.jump(t, y, v), this.recalcMatrix(t)); - var N = e[2], - j = e[6], - V = e[10], - U = this.computedMatrix; - i(U, e); - var q = U[15], - H = U[12] / q, - G = U[13] / q, - W = U[14] / q, - Y = Math.exp(this.computedRadius[0]); - this.center.jump(t, H - N * Y, G - j * Y, W - V * Y); - }), - (p.lastT = function () { - return Math.max( - this.center.lastT(), - this.up.lastT(), - this.right.lastT(), - this.radius.lastT(), - this.angle.lastT(), - ); - }), - (p.idle = function (t) { - (this.center.idle(t), - this.up.idle(t), - this.right.idle(t), - this.radius.idle(t), - this.angle.idle(t)); - }), - (p.flush = function (t) { - (this.center.flush(t), - this.up.flush(t), - this.right.flush(t), - this.radius.flush(t), - this.angle.flush(t)); - }), - (p.setDistance = function (t, e) { - e > 0 && this.radius.set(t, Math.log(e)); - }), - (p.lookAt = function (t, e, r, n) { - (this.recalcMatrix(t), - (e = e || this.computedEye), - (r = r || this.computedCenter)); - var i = (n = n || this.computedUp)[0], - a = n[1], - o = n[2], - s = c(i, a, o); - if (!(s < 1e-6)) { - ((i /= s), (a /= s), (o /= s)); - var l = e[0] - r[0], - f = e[1] - r[1], - h = e[2] - r[2], - p = c(l, f, h); - if (!(p < 1e-6)) { - ((l /= p), (f /= p), (h /= p)); - var d = this.computedRight, - g = d[0], - m = d[1], - v = d[2], - y = i * g + a * m + o * v, - x = c((g -= y * i), (m -= y * a), (v -= y * o)); - if ( - !( - x < 0.01 && - (x = c( - (g = a * h - o * f), - (m = o * l - i * h), - (v = i * f - a * l), - )) < 1e-6 - ) - ) { - ((g /= x), - (m /= x), - (v /= x), - this.up.set(t, i, a, o), - this.right.set(t, g, m, v), - this.center.set(t, r[0], r[1], r[2]), - this.radius.set(t, Math.log(p))); - var b = a * v - o * m, - _ = o * g - i * v, - w = i * m - a * g, - k = c(b, _, w), - M = i * l + a * f + o * h, - A = g * l + m * f + v * h, - T = (b /= k) * l + (_ /= k) * f + (w /= k) * h, - S = Math.asin(u(M)), - C = Math.atan2(T, A), - E = this.angle._state, - L = E[E.length - 1], - z = E[E.length - 2]; - L %= 2 * Math.PI; - var P = Math.abs(L + 2 * Math.PI - C), - D = Math.abs(L - C), - O = Math.abs(L - 2 * Math.PI - C); - (P < D && (L += 2 * Math.PI), - O < D && (L -= 2 * Math.PI), - this.angle.jump(this.angle.lastT(), L, z), - this.angle.set(t, C, S)); - } - } - } - })); - }, - { - "filtered-vector": 197, - "gl-mat4/invert": 230, - "gl-mat4/rotate": 234, - "gl-vec3/cross": 280, - "gl-vec3/dot": 281, - "gl-vec3/normalize": 284, - }, - ], - 421: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var i = t * e, - a = n * t, - o = a - (a - t), - s = t - o, - l = n * e, - c = l - (l - e), - u = e - c, - f = s * u - (i - o * c - s * c - o * u); - if (r) return ((r[0] = f), (r[1] = i), r); - return [f, i]; - }; - var n = +(Math.pow(2, 27) + 1); - }, - {}, - ], - 422: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var n = t + e, - i = n - t, - a = e - i, - o = t - (n - i); - if (r) return ((r[0] = o + a), (r[1] = n), r); - return [o + a, n]; - }; - }, - {}, - ], - 423: [ - function (t, e, r) { - (function (e, n) { - "use strict"; - var i = t("bit-twiddle"), - a = t("dup"); - e.__TYPEDARRAY_POOL || - (e.__TYPEDARRAY_POOL = { - UINT8: a([32, 0]), - UINT16: a([32, 0]), - UINT32: a([32, 0]), - INT8: a([32, 0]), - INT16: a([32, 0]), - INT32: a([32, 0]), - FLOAT: a([32, 0]), - DOUBLE: a([32, 0]), - DATA: a([32, 0]), - UINT8C: a([32, 0]), - BUFFER: a([32, 0]), - }); - var o = "undefined" != typeof Uint8ClampedArray, - s = e.__TYPEDARRAY_POOL; - (s.UINT8C || (s.UINT8C = a([32, 0])), s.BUFFER || (s.BUFFER = a([32, 0]))); - var l = s.DATA, - c = s.BUFFER; - function u(t) { - if (t) { - var e = t.length || t.byteLength, - r = i.log2(e); - l[r].push(t); - } - } - function f(t) { - t = i.nextPow2(t); - var e = i.log2(t), - r = l[e]; - return r.length > 0 ? r.pop() : new ArrayBuffer(t); - } - function h(t) { - return new Uint8Array(f(t), 0, t); - } - function p(t) { - return new Uint16Array(f(2 * t), 0, t); - } - function d(t) { - return new Uint32Array(f(4 * t), 0, t); - } - function g(t) { - return new Int8Array(f(t), 0, t); - } - function m(t) { - return new Int16Array(f(2 * t), 0, t); - } - function v(t) { - return new Int32Array(f(4 * t), 0, t); - } - function y(t) { - return new Float32Array(f(4 * t), 0, t); - } - function x(t) { - return new Float64Array(f(8 * t), 0, t); - } - function b(t) { - return o ? new Uint8ClampedArray(f(t), 0, t) : h(t); - } - function _(t) { - return new DataView(f(t), 0, t); - } - function w(t) { - t = i.nextPow2(t); - var e = i.log2(t), - r = c[e]; - return r.length > 0 ? r.pop() : new n(t); - } - ((r.free = function (t) { - if (n.isBuffer(t)) c[i.log2(t.length)].push(t); - else { - if ( - ("[object ArrayBuffer]" !== Object.prototype.toString.call(t) && - (t = t.buffer), - !t) - ) - return; - var e = t.length || t.byteLength, - r = 0 | i.log2(e); - l[r].push(t); - } - }), - (r.freeUint8 = - r.freeUint16 = - r.freeUint32 = - r.freeInt8 = - r.freeInt16 = - r.freeInt32 = - r.freeFloat32 = - r.freeFloat = - r.freeFloat64 = - r.freeDouble = - r.freeUint8Clamped = - r.freeDataView = - function (t) { - u(t.buffer); - }), - (r.freeArrayBuffer = u), - (r.freeBuffer = function (t) { - c[i.log2(t.length)].push(t); - }), - (r.malloc = function (t, e) { - if (void 0 === e || "arraybuffer" === e) return f(t); - switch (e) { - case "uint8": - return h(t); - case "uint16": - return p(t); - case "uint32": - return d(t); - case "int8": - return g(t); - case "int16": - return m(t); - case "int32": - return v(t); - case "float": - case "float32": - return y(t); - case "double": - case "float64": - return x(t); - case "uint8_clamped": - return b(t); - case "buffer": - return w(t); - case "data": - case "dataview": - return _(t); - default: - return null; - } - return null; - }), - (r.mallocArrayBuffer = f), - (r.mallocUint8 = h), - (r.mallocUint16 = p), - (r.mallocUint32 = d), - (r.mallocInt8 = g), - (r.mallocInt16 = m), - (r.mallocInt32 = v), - (r.mallocFloat32 = r.mallocFloat = y), - (r.mallocFloat64 = r.mallocDouble = x), - (r.mallocUint8Clamped = b), - (r.mallocDataView = _), - (r.mallocBuffer = w), - (r.clearCache = function () { - for (var t = 0; t < 32; ++t) - ((s.UINT8[t].length = 0), - (s.UINT16[t].length = 0), - (s.UINT32[t].length = 0), - (s.INT8[t].length = 0), - (s.INT16[t].length = 0), - (s.INT32[t].length = 0), - (s.FLOAT[t].length = 0), - (s.DOUBLE[t].length = 0), - (s.UINT8C[t].length = 0), - (l[t].length = 0), - (c[t].length = 0)); - })); - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - t("buffer").Buffer, - ); - }, - { "bit-twiddle": 73, buffer: 85, dup: 136 }, - ], - 424: [ - function (t, e, r) { - "use strict"; - "use restrict"; - function n(t) { - ((this.roots = new Array(t)), (this.ranks = new Array(t))); - for (var e = 0; e < t; ++e) ((this.roots[e] = e), (this.ranks[e] = 0)); - } - e.exports = n; - var i = n.prototype; - (Object.defineProperty(i, "length", { - get: function () { - return this.roots.length; - }, - }), - (i.makeSet = function () { - var t = this.roots.length; - return (this.roots.push(t), this.ranks.push(0), t); - }), - (i.find = function (t) { - for (var e = t, r = this.roots; r[t] !== t; ) t = r[t]; - for (; r[e] !== t; ) { - var n = r[e]; - ((r[e] = t), (e = n)); - } - return t; - }), - (i.link = function (t, e) { - var r = this.find(t), - n = this.find(e); - if (r !== n) { - var i = this.ranks, - a = this.roots, - o = i[r], - s = i[n]; - o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); - } - })); - }, - {}, - ], - 425: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - return 0 === t.length - ? t - : e - ? (r || t.sort(e), - (function (t, e) { - for (var r = 1, n = t.length, i = t[0], a = t[0], o = 1; o < n; ++o) - if (((a = i), e((i = t[o]), a))) { - if (o === r) { - r++; - continue; - } - t[r++] = i; - } - return ((t.length = r), t); - })(t, e)) - : (r || t.sort(), - (function (t) { - for ( - var e = 1, r = t.length, n = t[0], i = t[0], a = 1; - a < r; - ++a, i = n - ) - if (((i = n), (n = t[a]) !== i)) { - if (a === e) { - e++; - continue; - } - t[e++] = n; - } - return ((t.length = e), t); - })(t)); - }; - }, - {}, - ], - 426: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - Array.isArray(r) || (r = [].slice.call(arguments, 2)); - for (var n = 0, i = r.length; n < i; n++) { - var a = r[n]; - for (var o in a) - if ( - (void 0 === e[o] || Array.isArray(e[o]) || t[o] !== e[o]) && - o in e - ) { - var s; - if (!0 === a[o]) s = e[o]; - else { - if (!1 === a[o]) continue; - if ("function" == typeof a[o] && void 0 === (s = a[o](e[o], t, e))) - continue; - } - t[o] = s; - } - } - return t; - }; - }, - {}, - ], - 427: [ - function (t, e, r) { - "function" == typeof Object.create - ? (e.exports = function (t, e) { - ((t.super_ = e), - (t.prototype = Object.create(e.prototype, { - constructor: { - value: t, - enumerable: !1, - writable: !0, - configurable: !0, - }, - }))); - }) - : (e.exports = function (t, e) { - t.super_ = e; - var r = function () {}; - ((r.prototype = e.prototype), - (t.prototype = new r()), - (t.prototype.constructor = t)); - }); - }, - {}, - ], - 428: [ - function (t, e, r) { - e.exports = function (t) { - return ( - t && - "object" == typeof t && - "function" == typeof t.copy && - "function" == typeof t.fill && - "function" == typeof t.readUInt8 - ); - }; - }, - {}, - ], - 429: [ - function (t, e, r) { - (function (e, n) { - var i = /%[sdj%]/g; - ((r.format = function (t) { - if (!v(t)) { - for (var e = [], r = 0; r < arguments.length; r++) - e.push(s(arguments[r])); - return e.join(" "); - } - r = 1; - for ( - var n = arguments, - a = n.length, - o = String(t).replace(i, function (t) { - if ("%%" === t) return "%"; - if (r >= a) return t; - switch (t) { - case "%s": - return String(n[r++]); - case "%d": - return Number(n[r++]); - case "%j": - try { - return JSON.stringify(n[r++]); - } catch (t) { - return "[Circular]"; - } - default: - return t; - } - }), - l = n[r]; - r < a; - l = n[++r] - ) - g(l) || !b(l) ? (o += " " + l) : (o += " " + s(l)); - return o; - }), - (r.deprecate = function (t, i) { - if (y(n.process)) - return function () { - return r.deprecate(t, i).apply(this, arguments); - }; - if (!0 === e.noDeprecation) return t; - var a = !1; - return function () { - if (!a) { - if (e.throwDeprecation) throw new Error(i); - (e.traceDeprecation ? console.trace(i) : console.error(i), - (a = !0)); - } - return t.apply(this, arguments); - }; - })); - var a, - o = {}; - function s(t, e) { - var n = { seen: [], stylize: c }; - return ( - arguments.length >= 3 && (n.depth = arguments[2]), - arguments.length >= 4 && (n.colors = arguments[3]), - d(e) ? (n.showHidden = e) : e && r._extend(n, e), - y(n.showHidden) && (n.showHidden = !1), - y(n.depth) && (n.depth = 2), - y(n.colors) && (n.colors = !1), - y(n.customInspect) && (n.customInspect = !0), - n.colors && (n.stylize = l), - u(n, t, n.depth) - ); - } - function l(t, e) { - var r = s.styles[e]; - return r - ? "\x1b[" + s.colors[r][0] + "m" + t + "\x1b[" + s.colors[r][1] + "m" - : t; - } - function c(t, e) { - return t; - } - function u(t, e, n) { - if ( - t.customInspect && - e && - k(e.inspect) && - e.inspect !== r.inspect && - (!e.constructor || e.constructor.prototype !== e) - ) { - var i = e.inspect(n, t); - return (v(i) || (i = u(t, i, n)), i); - } - var a = (function (t, e) { - if (y(e)) return t.stylize("undefined", "undefined"); - if (v(e)) { - var r = - "'" + - JSON.stringify(e) - .replace(/^"|"$/g, "") - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + - "'"; - return t.stylize(r, "string"); - } - if (m(e)) return t.stylize("" + e, "number"); - if (d(e)) return t.stylize("" + e, "boolean"); - if (g(e)) return t.stylize("null", "null"); - })(t, e); - if (a) return a; - var o = Object.keys(e), - s = (function (t) { - var e = {}; - return ( - t.forEach(function (t, r) { - e[t] = !0; - }), - e - ); - })(o); - if ( - (t.showHidden && (o = Object.getOwnPropertyNames(e)), - w(e) && (o.indexOf("message") >= 0 || o.indexOf("description") >= 0)) - ) - return f(e); - if (0 === o.length) { - if (k(e)) { - var l = e.name ? ": " + e.name : ""; - return t.stylize("[Function" + l + "]", "special"); - } - if (x(e)) return t.stylize(RegExp.prototype.toString.call(e), "regexp"); - if (_(e)) return t.stylize(Date.prototype.toString.call(e), "date"); - if (w(e)) return f(e); - } - var c, - b = "", - M = !1, - A = ["{", "}"]; - (p(e) && ((M = !0), (A = ["[", "]"])), k(e)) && - (b = " [Function" + (e.name ? ": " + e.name : "") + "]"); - return ( - x(e) && (b = " " + RegExp.prototype.toString.call(e)), - _(e) && (b = " " + Date.prototype.toUTCString.call(e)), - w(e) && (b = " " + f(e)), - 0 !== o.length || (M && 0 != e.length) - ? n < 0 - ? x(e) - ? t.stylize(RegExp.prototype.toString.call(e), "regexp") - : t.stylize("[Object]", "special") - : (t.seen.push(e), - (c = M - ? (function (t, e, r, n, i) { - for (var a = [], o = 0, s = e.length; o < s; ++o) - S(e, String(o)) - ? a.push(h(t, e, r, n, String(o), !0)) - : a.push(""); - return ( - i.forEach(function (i) { - i.match(/^\d+$/) || a.push(h(t, e, r, n, i, !0)); - }), - a - ); - })(t, e, n, s, o) - : o.map(function (r) { - return h(t, e, n, s, r, M); - })), - t.seen.pop(), - (function (t, e, r) { - if ( - t.reduce(function (t, e) { - return ( - 0, - e.indexOf("\n") >= 0 && 0, - t + e.replace(/\u001b\[\d\d?m/g, "").length + 1 - ); - }, 0) > 60 - ) - return ( - r[0] + - ("" === e ? "" : e + "\n ") + - " " + - t.join(",\n ") + - " " + - r[1] - ); - return r[0] + e + " " + t.join(", ") + " " + r[1]; - })(c, b, A)) - : A[0] + b + A[1] - ); - } - function f(t) { - return "[" + Error.prototype.toString.call(t) + "]"; - } - function h(t, e, r, n, i, a) { - var o, s, l; - if ( - ((l = Object.getOwnPropertyDescriptor(e, i) || { value: e[i] }).get - ? (s = l.set - ? t.stylize("[Getter/Setter]", "special") - : t.stylize("[Getter]", "special")) - : l.set && (s = t.stylize("[Setter]", "special")), - S(n, i) || (o = "[" + i + "]"), - s || - (t.seen.indexOf(l.value) < 0 - ? (s = g(r) ? u(t, l.value, null) : u(t, l.value, r - 1)).indexOf( - "\n", - ) > -1 && - (s = a - ? s - .split("\n") - .map(function (t) { - return " " + t; - }) - .join("\n") - .substr(2) - : "\n" + - s - .split("\n") - .map(function (t) { - return " " + t; - }) - .join("\n")) - : (s = t.stylize("[Circular]", "special"))), - y(o)) - ) { - if (a && i.match(/^\d+$/)) return s; - (o = JSON.stringify("" + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) - ? ((o = o.substr(1, o.length - 2)), (o = t.stylize(o, "name"))) - : ((o = o - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'")), - (o = t.stylize(o, "string"))); - } - return o + ": " + s; - } - function p(t) { - return Array.isArray(t); - } - function d(t) { - return "boolean" == typeof t; - } - function g(t) { - return null === t; - } - function m(t) { - return "number" == typeof t; - } - function v(t) { - return "string" == typeof t; - } - function y(t) { - return void 0 === t; - } - function x(t) { - return b(t) && "[object RegExp]" === M(t); - } - function b(t) { - return "object" == typeof t && null !== t; - } - function _(t) { - return b(t) && "[object Date]" === M(t); - } - function w(t) { - return b(t) && ("[object Error]" === M(t) || t instanceof Error); - } - function k(t) { - return "function" == typeof t; - } - function M(t) { - return Object.prototype.toString.call(t); - } - function A(t) { - return t < 10 ? "0" + t.toString(10) : t.toString(10); - } - ((r.debuglog = function (t) { - if ((y(a) && (a = e.env.NODE_DEBUG || ""), (t = t.toUpperCase()), !o[t])) - if (new RegExp("\\b" + t + "\\b", "i").test(a)) { - var n = e.pid; - o[t] = function () { - var e = r.format.apply(r, arguments); - console.error("%s %d: %s", t, n, e); - }; - } else o[t] = function () {}; - return o[t]; - }), - (r.inspect = s), - (s.colors = { - bold: [1, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - white: [37, 39], - grey: [90, 39], - black: [30, 39], - blue: [34, 39], - cyan: [36, 39], - green: [32, 39], - magenta: [35, 39], - red: [31, 39], - yellow: [33, 39], - }), - (s.styles = { - special: "cyan", - number: "yellow", - boolean: "yellow", - undefined: "grey", - null: "bold", - string: "green", - date: "magenta", - regexp: "red", - }), - (r.isArray = p), - (r.isBoolean = d), - (r.isNull = g), - (r.isNullOrUndefined = function (t) { - return null == t; - }), - (r.isNumber = m), - (r.isString = v), - (r.isSymbol = function (t) { - return "symbol" == typeof t; - }), - (r.isUndefined = y), - (r.isRegExp = x), - (r.isObject = b), - (r.isDate = _), - (r.isError = w), - (r.isFunction = k), - (r.isPrimitive = function (t) { - return ( - null === t || - "boolean" == typeof t || - "number" == typeof t || - "string" == typeof t || - "symbol" == typeof t || - void 0 === t - ); - }), - (r.isBuffer = t("./support/isBuffer"))); - var T = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ]; - function S(t, e) { - return Object.prototype.hasOwnProperty.call(t, e); - } - ((r.log = function () { - var t, e; - console.log( - "%s - %s", - ((t = new Date()), - (e = [A(t.getHours()), A(t.getMinutes()), A(t.getSeconds())].join(":")), - [t.getDate(), T[t.getMonth()], e].join(" ")), - r.format.apply(r, arguments), - ); - }), - (r.inherits = t("inherits")), - (r._extend = function (t, e) { - if (!e || !b(e)) return t; - for (var r = Object.keys(e), n = r.length; n--; ) t[r[n]] = e[r[n]]; - return t; - })); - }).call( - this, - t("_process"), - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { "./support/isBuffer": 428, _process: 366, inherits: 427 }, - ], - 430: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - ("object" == typeof e && null !== e) || (e = {}); - return n(t, e.canvas || i, e.context || a, e); - }; - var n = t("./lib/vtext"), - i = null, - a = null; - "undefined" != typeof document && - (((i = document.createElement("canvas")).width = 8192), - (i.height = 1024), - (a = i.getContext("2d"))); - }, - { "./lib/vtext": 431 }, - ], - 431: [ - function (t, e, r) { - "use strict"; - ((e.exports = function (t, e, r, n) { - var a = n.size || 64, - o = n.font || "normal"; - return ( - (r.font = a + "px " + o), - (r.textAlign = "start"), - (r.textBaseline = "alphabetic"), - (r.direction = "ltr"), - f( - (function (t, e, r, n) { - var a = 0 | Math.ceil(e.measureText(r).width + 2 * n); - if (a > 8192) - throw new Error( - "vectorize-text: String too long (sorry, this will get fixed later)", - ); - var o = 3 * n; - (t.height < o && (t.height = o), - (e.fillStyle = "#000"), - e.fillRect(0, 0, t.width, t.height), - (e.fillStyle = "#fff"), - e.fillText(r, n, 2 * n)); - var s = e.getImageData(0, 0, a, o); - return i(s.data, [o, a, 4]).pick(-1, -1, 0).transpose(1, 0); - })(e, r, t, a), - n, - a, - ) - ); - }), - (e.exports.processPixels = f)); - var n = t("surface-nets"), - i = t("ndarray"), - a = t("simplify-planar-graph"), - o = t("clean-pslg"), - s = t("cdt2d"), - l = t("planar-graph-to-polyline"); - function c(t, e) { - var r = n(t, 128); - return e - ? a(r.cells, r.positions, 0.25) - : { edges: r.cells, positions: r.positions }; - } - function u(t, e, r, n) { - var i = c(t, n), - a = (function (t, e, r) { - for ( - var n = e.textAlign || "start", - i = e.textBaseline || "alphabetic", - a = [1 << 30, 1 << 30], - o = [0, 0], - s = t.length, - l = 0; - l < s; - ++l - ) - for (var c = t[l], u = 0; u < 2; ++u) - ((a[u] = 0 | Math.min(a[u], c[u])), - (o[u] = 0 | Math.max(o[u], c[u]))); - var f = 0; - switch (n) { - case "center": - f = -0.5 * (a[0] + o[0]); - break; - case "right": - case "end": - f = -o[0]; - break; - case "left": - case "start": - f = -a[0]; - break; - default: - throw new Error( - "vectorize-text: Unrecognized textAlign: '" + n + "'", - ); - } - var h = 0; - switch (i) { - case "hanging": - case "top": - h = -a[1]; - break; - case "middle": - h = -0.5 * (a[1] + o[1]); - break; - case "alphabetic": - case "ideographic": - h = -3 * r; - break; - case "bottom": - h = -o[1]; - break; - default: - throw new Error( - "vectorize-text: Unrecoginized textBaseline: '" + i + "'", - ); - } - var p = 1 / r; - return ( - "lineHeight" in e - ? (p *= +e.lineHeight) - : "width" in e - ? (p = e.width / (o[0] - a[0])) - : "height" in e && (p = e.height / (o[1] - a[1])), - t.map(function (t) { - return [p * (t[0] + f), p * (t[1] + h)]; - }) - ); - })(i.positions, e, r), - u = i.edges, - f = "ccw" === e.orientation; - if ((o(a, u), e.polygons || e.polygon || e.polyline)) { - for (var h = l(u, a), p = new Array(h.length), d = 0; d < h.length; ++d) { - for (var g = h[d], m = new Array(g.length), v = 0; v < g.length; ++v) { - for (var y = g[v], x = new Array(y.length), b = 0; b < y.length; ++b) - x[b] = a[y[b]].slice(); - (f && x.reverse(), (m[v] = x)); - } - p[d] = m; - } - return p; - } - return e.triangles || e.triangulate || e.triangle - ? { - cells: s(a, u, { delaunay: !1, exterior: !1, interior: !0 }), - positions: a, - } - : { edges: u, positions: a }; - } - function f(t, e, r) { - try { - return u(t, e, r, !0); - } catch (t) {} - try { - return u(t, e, r, !1); - } catch (t) {} - return e.polygons || e.polyline || e.polygon - ? [] - : e.triangles || e.triangulate || e.triangle - ? { cells: [], positions: [] } - : { edges: [], positions: [] }; - } - }, - { - cdt2d: 86, - "clean-pslg": 96, - ndarray: 335, - "planar-graph-to-polyline": 352, - "simplify-planar-graph": 402, - "surface-nets": 409, - }, - ], - 432: [ - function (t, e, r) { - !(function () { - "use strict"; - if ("undefined" == typeof ses || !ses.ok || ses.ok()) { - "undefined" != typeof ses && (ses.weakMapPermitHostObjects = m); - var t = !1; - if ("function" == typeof WeakMap) { - var r = WeakMap; - if ( - "undefined" != typeof navigator && - /Firefox/.test(navigator.userAgent) - ); - else { - var n = new r(), - i = Object.freeze({}); - if ((n.set(i, 1), 1 === n.get(i))) return void (e.exports = WeakMap); - t = !0; - } - } - Object.prototype.hasOwnProperty; - var a = Object.getOwnPropertyNames, - o = Object.defineProperty, - s = Object.isExtensible, - l = "weakmap:", - c = l + "ident:" + Math.random() + "___"; - if ( - "undefined" != typeof crypto && - "function" == typeof crypto.getRandomValues && - "function" == typeof ArrayBuffer && - "function" == typeof Uint8Array - ) { - var u = new ArrayBuffer(25), - f = new Uint8Array(u); - (crypto.getRandomValues(f), - (c = - l + - "rand:" + - Array.prototype.map - .call(f, function (t) { - return (t % 36).toString(36); - }) - .join("") + - "___")); - } - if ( - (o(Object, "getOwnPropertyNames", { - value: function (t) { - return a(t).filter(v); - }, - }), - "getPropertyNames" in Object) - ) { - var h = Object.getPropertyNames; - o(Object, "getPropertyNames", { - value: function (t) { - return h(t).filter(v); - }, - }); - } - !(function () { - var t = Object.freeze; - o(Object, "freeze", { - value: function (e) { - return (y(e), t(e)); - }, - }); - var e = Object.seal; - o(Object, "seal", { - value: function (t) { - return (y(t), e(t)); - }, - }); - var r = Object.preventExtensions; - o(Object, "preventExtensions", { - value: function (t) { - return (y(t), r(t)); - }, - }); - })(); - var p = !1, - d = 0, - g = function () { - this instanceof g || b(); - var t = [], - e = [], - r = d++; - return Object.create(g.prototype, { - get___: { - value: x(function (n, i) { - var a, - o = y(n); - return o - ? r in o - ? o[r] - : i - : (a = t.indexOf(n)) >= 0 - ? e[a] - : i; - }), - }, - has___: { - value: x(function (e) { - var n = y(e); - return n ? r in n : t.indexOf(e) >= 0; - }), - }, - set___: { - value: x(function (n, i) { - var a, - o = y(n); - return ( - o - ? (o[r] = i) - : (a = t.indexOf(n)) >= 0 - ? (e[a] = i) - : ((a = t.length), (e[a] = i), (t[a] = n)), - this - ); - }), - }, - delete___: { - value: x(function (n) { - var i, - a, - o = y(n); - return o - ? r in o && delete o[r] - : !( - (i = t.indexOf(n)) < 0 || - ((a = t.length - 1), - (t[i] = void 0), - (e[i] = e[a]), - (t[i] = t[a]), - (t.length = a), - (e.length = a), - 0) - ); - }), - }, - }); - }; - ((g.prototype = Object.create(Object.prototype, { - get: { - value: function (t, e) { - return this.get___(t, e); - }, - writable: !0, - configurable: !0, - }, - has: { - value: function (t) { - return this.has___(t); - }, - writable: !0, - configurable: !0, - }, - set: { - value: function (t, e) { - return this.set___(t, e); - }, - writable: !0, - configurable: !0, - }, - delete: { - value: function (t) { - return this.delete___(t); - }, - writable: !0, - configurable: !0, - }, - })), - "function" == typeof r - ? (function () { - function n() { - this instanceof g || b(); - var e, - n = new r(), - i = void 0, - a = !1; - return ( - (e = t - ? function (t, e) { - return ( - n.set(t, e), - n.has(t) || (i || (i = new g()), i.set(t, e)), - this - ); - } - : function (t, e) { - if (a) - try { - n.set(t, e); - } catch (r) { - (i || (i = new g()), i.set___(t, e)); - } - else n.set(t, e); - return this; - }), - Object.create(g.prototype, { - get___: { - value: x(function (t, e) { - return i - ? n.has(t) - ? n.get(t) - : i.get___(t, e) - : n.get(t, e); - }), - }, - has___: { - value: x(function (t) { - return n.has(t) || (!!i && i.has___(t)); - }), - }, - set___: { value: x(e) }, - delete___: { - value: x(function (t) { - var e = !!n.delete(t); - return (i && i.delete___(t)) || e; - }), - }, - permitHostObjects___: { - value: x(function (t) { - if (t !== m) - throw new Error("bogus call to permitHostObjects___"); - a = !0; - }), - }, - }) - ); - } - (t && "undefined" != typeof Proxy && (Proxy = void 0), - (n.prototype = g.prototype), - (e.exports = n), - Object.defineProperty(WeakMap.prototype, "constructor", { - value: WeakMap, - enumerable: !1, - configurable: !0, - writable: !0, - })); - })() - : ("undefined" != typeof Proxy && (Proxy = void 0), (e.exports = g))); - } - function m(t) { - t.permitHostObjects___ && t.permitHostObjects___(m); - } - function v(t) { - return !(t.substr(0, l.length) == l && "___" === t.substr(t.length - 3)); - } - function y(t) { - if (t !== Object(t)) throw new TypeError("Not an object: " + t); - var e = t[c]; - if (e && e.key === t) return e; - if (s(t)) { - e = { key: t }; - try { - return ( - o(t, c, { - value: e, - writable: !1, - enumerable: !1, - configurable: !1, - }), - e - ); - } catch (t) { - return; - } - } - } - function x(t) { - return ((t.prototype = null), Object.freeze(t)); - } - function b() { - p || - "undefined" == typeof console || - ((p = !0), - console.warn( - "WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.", - )); - } - })(); - }, - {}, - ], - 433: [ - function (t, e, r) { - var n = t("./hidden-store.js"); - e.exports = function () { - var t = {}; - return function (e) { - if (("object" != typeof e || null === e) && "function" != typeof e) - throw new Error("Weakmap-shim: Key must be object"); - var r = e.valueOf(t); - return r && r.identity === t ? r : n(e, t); - }; - }; - }, - { "./hidden-store.js": 434 }, - ], - 434: [ - function (t, e, r) { - e.exports = function (t, e) { - var r = { identity: e }, - n = t.valueOf; - return ( - Object.defineProperty(t, "valueOf", { - value: function (t) { - return t !== e ? n.apply(this, arguments) : r; - }, - writable: !0, - }), - r - ); - }; - }, - {}, - ], - 435: [ - function (t, e, r) { - var n = t("./create-store.js"); - e.exports = function () { - var t = n(); - return { - get: function (e, r) { - var n = t(e); - return n.hasOwnProperty("value") ? n.value : r; - }, - set: function (e, r) { - return ((t(e).value = r), this); - }, - has: function (e) { - return "value" in t(e); - }, - delete: function (e) { - return delete t(e).value; - }, - }; - }; - }, - { "./create-store.js": 433 }, - ], - 436: [ - function (t, e, r) { - var n = t("get-canvas-context"); - e.exports = function (t) { - return n("webgl", t); - }; - }, - { "get-canvas-context": 201 }, - ], - 437: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"), - a = n.instance(); - function o(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((o.prototype = new n.baseCalendar()), - i(o.prototype, { - name: "Chinese", - jdEpoch: 1721425.5, - hasYearZero: !1, - minMonth: 0, - firstMonth: 0, - minDay: 1, - regionalOptions: { - "": { - name: "Chinese", - epochs: ["BEC", "EC"], - monthNumbers: function (t, e) { - if ("string" == typeof t) { - var r = t.match(l); - return r ? r[0] : ""; - } - var n = this._validateYear(t), - i = t.month(), - a = "" + this.toChineseMonth(n, i); - return ( - e && a.length < 2 && (a = "0" + a), - this.isIntercalaryMonth(n, i) && (a += "i"), - a - ); - }, - monthNames: function (t) { - if ("string" == typeof t) { - var e = t.match(c); - return e ? e[0] : ""; - } - var r = this._validateYear(t), - n = t.month(), - i = [ - "\u4e00\u6708", - "\u4e8c\u6708", - "\u4e09\u6708", - "\u56db\u6708", - "\u4e94\u6708", - "\u516d\u6708", - "\u4e03\u6708", - "\u516b\u6708", - "\u4e5d\u6708", - "\u5341\u6708", - "\u5341\u4e00\u6708", - "\u5341\u4e8c\u6708", - ][this.toChineseMonth(r, n) - 1]; - return (this.isIntercalaryMonth(r, n) && (i = "\u95f0" + i), i); - }, - monthNamesShort: function (t) { - if ("string" == typeof t) { - var e = t.match(u); - return e ? e[0] : ""; - } - var r = this._validateYear(t), - n = t.month(), - i = [ - "\u4e00", - "\u4e8c", - "\u4e09", - "\u56db", - "\u4e94", - "\u516d", - "\u4e03", - "\u516b", - "\u4e5d", - "\u5341", - "\u5341\u4e00", - "\u5341\u4e8c", - ][this.toChineseMonth(r, n) - 1]; - return (this.isIntercalaryMonth(r, n) && (i = "\u95f0" + i), i); - }, - parseMonth: function (t, e) { - t = this._validateYear(t); - var r, - n = parseInt(e); - if (isNaN(n)) - ("\u95f0" === e[0] && ((r = !0), (e = e.substring(1))), - "\u6708" === e[e.length - 1] && - (e = e.substring(0, e.length - 1)), - (n = - 1 + - [ - "\u4e00", - "\u4e8c", - "\u4e09", - "\u56db", - "\u4e94", - "\u516d", - "\u4e03", - "\u516b", - "\u4e5d", - "\u5341", - "\u5341\u4e00", - "\u5341\u4e8c", - ].indexOf(e))); - else { - var i = e[e.length - 1]; - r = "i" === i || "I" === i; - } - return this.toMonthIndex(t, n, r); - }, - dayNames: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 1, - isRTL: !1, - }, - }, - _validateYear: function (t, e) { - if ( - (t.year && (t = t.year()), - "number" != typeof t || t < 1888 || t > 2111) - ) - throw e.replace(/\{0\}/, this.local.name); - return t; - }, - toMonthIndex: function (t, e, r) { - var i = this.intercalaryMonth(t); - if ((r && e !== i) || e < 1 || e > 12) - throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); - return i ? (!r && e <= i ? e - 1 : e) : e - 1; - }, - toChineseMonth: function (t, e) { - t.year && (e = (t = t.year()).month()); - var r = this.intercalaryMonth(t); - if (e < 0 || e > (r ? 12 : 11)) - throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); - return r ? (e < r ? e + 1 : e) : e + 1; - }, - intercalaryMonth: function (t) { - return ((t = this._validateYear(t)), f[t - f[0]] >> 13); - }, - isIntercalaryMonth: function (t, e) { - t.year && (e = (t = t.year()).month()); - var r = this.intercalaryMonth(t); - return !!r && r === e; - }, - leapYear: function (t) { - return 0 !== this.intercalaryMonth(t); - }, - weekOfYear: function (t, e, r) { - var i, - o = this._validateYear(t, n.local.invalidyear), - s = h[o - h[0]], - l = (s >> 9) & 4095, - c = (s >> 5) & 15, - u = 31 & s; - (i = a.newDate(l, c, u)).add(4 - (i.dayOfWeek() || 7), "d"); - var f = this.toJD(t, e, r) - i.toJD(); - return 1 + Math.floor(f / 7); - }, - monthsInYear: function (t) { - return this.leapYear(t) ? 13 : 12; - }, - daysInMonth: function (t, e) { - (t.year && ((e = t.month()), (t = t.year())), - (t = this._validateYear(t))); - var r = f[t - f[0]]; - if (e > (r >> 13 ? 12 : 11)) - throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); - return r & (1 << (12 - e)) ? 30 : 29; - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, s, r, n.local.invalidDate); - ((t = this._validateYear(i.year())), (e = i.month()), (r = i.day())); - var o = this.isIntercalaryMonth(t, e), - s = this.toChineseMonth(t, e), - l = (function (t, e, r, n, i) { - var a, o, s; - if ("object" == typeof t) ((o = t), (a = e || {})); - else { - var l = "number" == typeof t && t >= 1888 && t <= 2111; - if (!l) throw new Error("Lunar year outside range 1888-2111"); - var c = "number" == typeof e && e >= 1 && e <= 12; - if (!c) throw new Error("Lunar month outside range 1 - 12"); - var u, - p = "number" == typeof r && r >= 1 && r <= 30; - if (!p) throw new Error("Lunar day outside range 1 - 30"); - ("object" == typeof n - ? ((u = !1), (a = n)) - : ((u = !!n), (a = i || {})), - (o = { year: t, month: e, day: r, isIntercalary: u })); - } - s = o.day - 1; - var d, - g = f[o.year - f[0]], - m = g >> 13; - d = m - ? o.month > m - ? o.month - : o.isIntercalary - ? o.month - : o.month - 1 - : o.month - 1; - for (var v = 0; v < d; v++) { - var y = g & (1 << (12 - v)) ? 30 : 29; - s += y; - } - var x = h[o.year - h[0]], - b = new Date((x >> 9) & 4095, ((x >> 5) & 15) - 1, (31 & x) + s); - return ( - (a.year = b.getFullYear()), - (a.month = 1 + b.getMonth()), - (a.day = b.getDate()), - a - ); - })(t, s, r, o); - return a.toJD(l.year, l.month, l.day); - }, - fromJD: function (t) { - var e = a.fromJD(t), - r = (function (t, e, r, n) { - var i, a; - if ("object" == typeof t) ((i = t), (a = e || {})); - else { - var o = "number" == typeof t && t >= 1888 && t <= 2111; - if (!o) throw new Error("Solar year outside range 1888-2111"); - var s = "number" == typeof e && e >= 1 && e <= 12; - if (!s) throw new Error("Solar month outside range 1 - 12"); - var l = "number" == typeof r && r >= 1 && r <= 31; - if (!l) throw new Error("Solar day outside range 1 - 31"); - ((i = { year: t, month: e, day: r }), (a = n || {})); - } - var c = h[i.year - h[0]], - u = (i.year << 9) | (i.month << 5) | i.day; - ((a.year = u >= c ? i.year : i.year - 1), (c = h[a.year - h[0]])); - var p, - d = new Date((c >> 9) & 4095, ((c >> 5) & 15) - 1, 31 & c), - g = new Date(i.year, i.month - 1, i.day); - p = Math.round((g - d) / 864e5); - var m, - v = f[a.year - f[0]]; - for (m = 0; m < 13; m++) { - var y = v & (1 << (12 - m)) ? 30 : 29; - if (p < y) break; - p -= y; - } - var x = v >> 13; - !x || m < x - ? ((a.isIntercalary = !1), (a.month = 1 + m)) - : m === x - ? ((a.isIntercalary = !0), (a.month = m)) - : ((a.isIntercalary = !1), (a.month = m)); - return ((a.day = 1 + p), a); - })(e.year(), e.month(), e.day()), - n = this.toMonthIndex(r.year, r.month, r.isIntercalary); - return this.newDate(r.year, n, r.day); - }, - fromString: function (t) { - var e = t.match(s), - r = this._validateYear(+e[1]), - n = +e[2], - i = !!e[3], - a = this.toMonthIndex(r, n, i), - o = +e[4]; - return this.newDate(r, a, o); - }, - add: function (t, e, r) { - var n = t.year(), - i = t.month(), - a = this.isIntercalaryMonth(n, i), - s = this.toChineseMonth(n, i), - l = Object.getPrototypeOf(o.prototype).add.call(this, t, e, r); - if ("y" === r) { - var c = l.year(), - u = l.month(), - f = this.isIntercalaryMonth(c, s), - h = - a && f - ? this.toMonthIndex(c, s, !0) - : this.toMonthIndex(c, s, !1); - h !== u && l.month(h); - } - return l; - }, - })); - var s = /^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m, - l = /^\d?\d[iI]?/m, - c = - /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m, - u = - /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m; - n.calendars.chinese = o; - var f = [ - 1887, 5780, 5802, 19157, 2742, 50359, 1198, 2646, 46378, 7466, 3412, - 30122, 5482, 67949, 2396, 5294, 43597, 6732, 6954, 36181, 2772, 4954, - 18781, 2396, 54427, 5274, 6730, 47781, 5800, 6868, 21210, 4790, 59703, - 2350, 5270, 46667, 3402, 3496, 38325, 1388, 4782, 18735, 2350, 52374, - 6804, 7498, 44457, 2906, 1388, 29294, 4700, 63789, 6442, 6804, 56138, - 5802, 2772, 38235, 1210, 4698, 22827, 5418, 63125, 3476, 5802, 43701, - 2484, 5302, 27223, 2646, 70954, 7466, 3412, 54698, 5482, 2412, 38062, - 5294, 2636, 32038, 6954, 60245, 2772, 4826, 43357, 2394, 5274, 39501, - 6730, 72357, 5800, 5844, 53978, 4790, 2358, 38039, 5270, 87627, 3402, - 3496, 54708, 5484, 4782, 43311, 2350, 3222, 27978, 7498, 68965, 2904, - 5484, 45677, 4700, 6444, 39573, 6804, 6986, 19285, 2772, 62811, 1210, - 4698, 47403, 5418, 5780, 38570, 5546, 76469, 2420, 5302, 51799, 2646, - 5414, 36501, 3412, 5546, 18869, 2412, 54446, 5276, 6732, 48422, 6822, - 2900, 28010, 4826, 92509, 2394, 5274, 55883, 6730, 6820, 47956, 5812, - 2778, 18779, 2358, 62615, 5270, 5450, 46757, 3492, 5556, 27318, 4718, - 67887, 2350, 3222, 52554, 7498, 3428, 38252, 5468, 4700, 31022, 6444, - 64149, 6804, 6986, 43861, 2772, 5338, 35421, 2650, 70955, 5418, 5780, - 54954, 5546, 2740, 38074, 5302, 2646, 29991, 3366, 61011, 3412, 5546, - 43445, 2412, 5294, 35406, 6732, 72998, 6820, 6996, 52586, 2778, 2396, - 38045, 5274, 6698, 23333, 6820, 64338, 5812, 2746, 43355, 2358, 5270, - 39499, 5450, 79525, 3492, 5548, - ], - h = [ - 1887, 966732, 967231, 967733, 968265, 968766, 969297, 969798, 970298, - 970829, 971330, 971830, 972362, 972863, 973395, 973896, 974397, 974928, - 975428, 975929, 976461, 976962, 977462, 977994, 978494, 979026, 979526, - 980026, 980558, 981059, 981559, 982091, 982593, 983124, 983624, 984124, - 984656, 985157, 985656, 986189, 986690, 987191, 987722, 988222, 988753, - 989254, 989754, 990286, 990788, 991288, 991819, 992319, 992851, 993352, - 993851, 994383, 994885, 995385, 995917, 996418, 996918, 997450, 997949, - 998481, 998982, 999483, 1000014, 1000515, 1001016, 1001548, 1002047, - 1002578, 1003080, 1003580, 1004111, 1004613, 1005113, 1005645, 1006146, - 1006645, 1007177, 1007678, 1008209, 1008710, 1009211, 1009743, 1010243, - 1010743, 1011275, 1011775, 1012306, 1012807, 1013308, 1013840, 1014341, - 1014841, 1015373, 1015874, 1016404, 1016905, 1017405, 1017937, 1018438, - 1018939, 1019471, 1019972, 1020471, 1021002, 1021503, 1022035, 1022535, - 1023036, 1023568, 1024069, 1024568, 1025100, 1025601, 1026102, 1026633, - 1027133, 1027666, 1028167, 1028666, 1029198, 1029699, 1030199, 1030730, - 1031231, 1031763, 1032264, 1032764, 1033296, 1033797, 1034297, 1034828, - 1035329, 1035830, 1036362, 1036861, 1037393, 1037894, 1038394, 1038925, - 1039427, 1039927, 1040459, 1040959, 1041491, 1041992, 1042492, 1043023, - 1043524, 1044024, 1044556, 1045057, 1045558, 1046090, 1046590, 1047121, - 1047622, 1048122, 1048654, 1049154, 1049655, 1050187, 1050689, 1051219, - 1051720, 1052220, 1052751, 1053252, 1053752, 1054284, 1054786, 1055285, - 1055817, 1056317, 1056849, 1057349, 1057850, 1058382, 1058883, 1059383, - 1059915, 1060415, 1060947, 1061447, 1061947, 1062479, 1062981, 1063480, - 1064012, 1064514, 1065014, 1065545, 1066045, 1066577, 1067078, 1067578, - 1068110, 1068611, 1069112, 1069642, 1070142, 1070674, 1071175, 1071675, - 1072207, 1072709, 1073209, 1073740, 1074241, 1074741, 1075273, 1075773, - 1076305, 1076807, 1077308, 1077839, 1078340, 1078840, 1079372, 1079871, - 1080403, 1080904, - ]; - }, - { "../main": 451, "object-assign": 339 }, - ], - 438: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Coptic", - jdEpoch: 1825029.5, - daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Coptic", - epochs: ["BAM", "AM"], - monthNames: [ - "Thout", - "Paopi", - "Hathor", - "Koiak", - "Tobi", - "Meshir", - "Paremhat", - "Paremoude", - "Pashons", - "Paoni", - "Epip", - "Mesori", - "Pi Kogi Enavot", - ], - monthNamesShort: [ - "Tho", - "Pao", - "Hath", - "Koi", - "Tob", - "Mesh", - "Pat", - "Pad", - "Pash", - "Pao", - "Epi", - "Meso", - "PiK", - ], - dayNames: [ - "Tkyriaka", - "Pesnau", - "Pshoment", - "Peftoou", - "Ptiou", - "Psoou", - "Psabbaton", - ], - dayNamesShort: ["Tky", "Pes", "Psh", "Pef", "Pti", "Pso", "Psa"], - dayNamesMin: ["Tk", "Pes", "Psh", "Pef", "Pt", "Pso", "Psa"], - digits: null, - dateFormat: "dd/mm/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || t % 4 == -1; - }, - monthsInYear: function (t) { - return ( - this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear || n.regionalOptions[""].invalidYear, - ), - 13 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return ( - (t = i.year()) < 0 && t++, - i.day() + - 30 * (i.month() - 1) + - 365 * (t - 1) + - Math.floor(t / 4) + - this.jdEpoch - - 1 - ); - }, - fromJD: function (t) { - var e = Math.floor(t) + 0.5 - this.jdEpoch, - r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; - (r <= 0 && r--, - (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD())); - var n = Math.floor(e / 30) + 1, - i = e - 30 * (n - 1) + 1; - return this.newDate(r, n, i); - }, - }), - (n.calendars.coptic = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 439: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Discworld", - jdEpoch: 1721425.5, - daysPerMonth: [16, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Discworld", - epochs: ["BUC", "UC"], - monthNames: [ - "Ick", - "Offle", - "February", - "March", - "April", - "May", - "June", - "Grune", - "August", - "Spune", - "Sektober", - "Ember", - "December", - ], - monthNamesShort: [ - "Ick", - "Off", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Gru", - "Aug", - "Spu", - "Sek", - "Emb", - "Dec", - ], - dayNames: [ - "Sunday", - "Octeday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: [ - "Sun", - "Oct", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - ], - dayNamesMin: ["Su", "Oc", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 2, - isRTL: !1, - }, - }, - leapYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - !1 - ); - }, - monthsInYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - 13 - ); - }, - daysInYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - 400 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 8) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return this.daysPerMonth[r.month() - 1]; - }, - daysInWeek: function () { - return 8; - }, - dayOfWeek: function (t, e, r) { - return (this._validate(t, e, r, n.local.invalidDate).day() + 1) % 8; - }, - weekDay: function (t, e, r) { - var n = this.dayOfWeek(t, e, r); - return n >= 2 && n <= 6; - }, - extraInfo: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return { century: o[Math.floor((i.year() - 1) / 100) + 1] || "" }; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return ( - (t = i.year() + (i.year() < 0 ? 1 : 0)), - (e = i.month()), - (r = i.day()) + - (e > 1 ? 16 : 0) + - (e > 2 ? 32 * (e - 2) : 0) + - 400 * (t - 1) + - this.jdEpoch - - 1 - ); - }, - fromJD: function (t) { - t = Math.floor(t + 0.5) - Math.floor(this.jdEpoch) - 1; - var e = Math.floor(t / 400) + 1; - ((t -= 400 * (e - 1)), (t += t > 15 ? 16 : 0)); - var r = Math.floor(t / 32) + 1, - n = t - 32 * (r - 1) + 1; - return this.newDate(e <= 0 ? e - 1 : e, r, n); - }, - })); - var o = { 20: "Fruitbat", 21: "Anchovy" }; - n.calendars.discworld = a; - }, - { "../main": 451, "object-assign": 339 }, - ], - 440: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Ethiopian", - jdEpoch: 1724220.5, - daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Ethiopian", - epochs: ["BEE", "EE"], - monthNames: [ - "Meskerem", - "Tikemet", - "Hidar", - "Tahesas", - "Tir", - "Yekatit", - "Megabit", - "Miazia", - "Genbot", - "Sene", - "Hamle", - "Nehase", - "Pagume", - ], - monthNamesShort: [ - "Mes", - "Tik", - "Hid", - "Tah", - "Tir", - "Yek", - "Meg", - "Mia", - "Gen", - "Sen", - "Ham", - "Neh", - "Pag", - ], - dayNames: [ - "Ehud", - "Segno", - "Maksegno", - "Irob", - "Hamus", - "Arb", - "Kidame", - ], - dayNamesShort: ["Ehu", "Seg", "Mak", "Iro", "Ham", "Arb", "Kid"], - dayNamesMin: ["Eh", "Se", "Ma", "Ir", "Ha", "Ar", "Ki"], - digits: null, - dateFormat: "dd/mm/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || t % 4 == -1; - }, - monthsInYear: function (t) { - return ( - this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear || n.regionalOptions[""].invalidYear, - ), - 13 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return ( - (t = i.year()) < 0 && t++, - i.day() + - 30 * (i.month() - 1) + - 365 * (t - 1) + - Math.floor(t / 4) + - this.jdEpoch - - 1 - ); - }, - fromJD: function (t) { - var e = Math.floor(t) + 0.5 - this.jdEpoch, - r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; - (r <= 0 && r--, - (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD())); - var n = Math.floor(e / 30) + 1, - i = e - 30 * (n - 1) + 1; - return this.newDate(r, n, i); - }, - }), - (n.calendars.ethiopian = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 441: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - function o(t, e) { - return t - e * Math.floor(t / e); - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Hebrew", - jdEpoch: 347995.5, - daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 29], - hasYearZero: !1, - minMonth: 1, - firstMonth: 7, - minDay: 1, - regionalOptions: { - "": { - name: "Hebrew", - epochs: ["BAM", "AM"], - monthNames: [ - "Nisan", - "Iyar", - "Sivan", - "Tammuz", - "Av", - "Elul", - "Tishrei", - "Cheshvan", - "Kislev", - "Tevet", - "Shevat", - "Adar", - "Adar II", - ], - monthNamesShort: [ - "Nis", - "Iya", - "Siv", - "Tam", - "Av", - "Elu", - "Tis", - "Che", - "Kis", - "Tev", - "She", - "Ada", - "Ad2", - ], - dayNames: [ - "Yom Rishon", - "Yom Sheni", - "Yom Shlishi", - "Yom Revi'i", - "Yom Chamishi", - "Yom Shishi", - "Yom Shabbat", - ], - dayNamesShort: ["Ris", "She", "Shl", "Rev", "Cha", "Shi", "Sha"], - dayNamesMin: ["Ri", "She", "Shl", "Re", "Ch", "Shi", "Sha"], - digits: null, - dateFormat: "dd/mm/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return this._leapYear(e.year()); - }, - _leapYear: function (t) { - return o(7 * (t = t < 0 ? t + 1 : t) + 1, 19) < 7; - }, - monthsInYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - this._leapYear(t.year ? t.year() : t) ? 13 : 12 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInYear: function (t) { - return ( - (t = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ).year()), - this.toJD(-1 === t ? 1 : t + 1, 7, 1) - this.toJD(t, 7, 1) - ); - }, - daysInMonth: function (t, e) { - return ( - t.year && ((e = t.month()), (t = t.year())), - this._validate(t, e, this.minDay, n.local.invalidMonth), - 12 === e && this.leapYear(t) - ? 30 - : 8 === e && 5 === o(this.daysInYear(t), 10) - ? 30 - : 9 === e && 3 === o(this.daysInYear(t), 10) - ? 29 - : this.daysPerMonth[e - 1] - ); - }, - weekDay: function (t, e, r) { - return 6 !== this.dayOfWeek(t, e, r); - }, - extraInfo: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return { - yearType: - (this.leapYear(i) ? "embolismic" : "common") + - " " + - ["deficient", "regular", "complete"][(this.daysInYear(i) % 10) - 3], - }; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - ((t = i.year()), (e = i.month()), (r = i.day())); - var a = t <= 0 ? t + 1 : t, - o = this.jdEpoch + this._delay1(a) + this._delay2(a) + r + 1; - if (e < 7) { - for (var s = 7; s <= this.monthsInYear(t); s++) - o += this.daysInMonth(t, s); - for (s = 1; s < e; s++) o += this.daysInMonth(t, s); - } else for (s = 7; s < e; s++) o += this.daysInMonth(t, s); - return o; - }, - _delay1: function (t) { - var e = Math.floor((235 * t - 234) / 19), - r = 12084 + 13753 * e, - n = 29 * e + Math.floor(r / 25920); - return (o(3 * (n + 1), 7) < 3 && n++, n); - }, - _delay2: function (t) { - var e = this._delay1(t - 1), - r = this._delay1(t); - return this._delay1(t + 1) - r == 356 ? 2 : r - e == 382 ? 1 : 0; - }, - fromJD: function (t) { - t = Math.floor(t) + 0.5; - for ( - var e = Math.floor((98496 * (t - this.jdEpoch)) / 35975351) - 1; - t >= this.toJD(-1 === e ? 1 : e + 1, 7, 1); - - ) - e++; - for ( - var r = t < this.toJD(e, 1, 1) ? 7 : 1; - t > this.toJD(e, r, this.daysInMonth(e, r)); - - ) - r++; - var n = t - this.toJD(e, r, 1) + 1; - return this.newDate(e, r, n); - }, - }), - (n.calendars.hebrew = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 442: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Islamic", - jdEpoch: 1948439.5, - daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Islamic", - epochs: ["BH", "AH"], - monthNames: [ - "Muharram", - "Safar", - "Rabi' al-awwal", - "Rabi' al-thani", - "Jumada al-awwal", - "Jumada al-thani", - "Rajab", - "Sha'aban", - "Ramadan", - "Shawwal", - "Dhu al-Qi'dah", - "Dhu al-Hijjah", - ], - monthNamesShort: [ - "Muh", - "Saf", - "Rab1", - "Rab2", - "Jum1", - "Jum2", - "Raj", - "Sha'", - "Ram", - "Shaw", - "DhuQ", - "DhuH", - ], - dayNames: [ - "Yawm al-ahad", - "Yawm al-ithnayn", - "Yawm ath-thulaathaa'", - "Yawm al-arbi'aa'", - "Yawm al-kham\u012bs", - "Yawm al-jum'a", - "Yawm as-sabt", - ], - dayNamesShort: ["Aha", "Ith", "Thu", "Arb", "Kha", "Jum", "Sab"], - dayNamesMin: ["Ah", "It", "Th", "Ar", "Kh", "Ju", "Sa"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 6, - isRTL: !1, - }, - }, - leapYear: function (t) { - return ( - (11 * - this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ).year() + - 14) % - 30 < - 11 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInYear: function (t) { - return this.leapYear(t) ? 355 : 354; - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return 5 !== this.dayOfWeek(t, e, r); - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return ( - (t = i.year()), - (e = i.month()), - (r = i.day()), - (t = t <= 0 ? t + 1 : t), - r + - Math.ceil(29.5 * (e - 1)) + - 354 * (t - 1) + - Math.floor((3 + 11 * t) / 30) + - this.jdEpoch - - 1 - ); - }, - fromJD: function (t) { - t = Math.floor(t) + 0.5; - var e = Math.floor((30 * (t - this.jdEpoch) + 10646) / 10631); - e = e <= 0 ? e - 1 : e; - var r = Math.min( - 12, - Math.ceil((t - 29 - this.toJD(e, 1, 1)) / 29.5) + 1, - ), - n = t - this.toJD(e, r, 1) + 1; - return this.newDate(e, r, n); - }, - }), - (n.calendars.islamic = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 443: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Julian", - jdEpoch: 1721423.5, - daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Julian", - epochs: ["BC", "AD"], - monthNames: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - monthNamesShort: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - dayNames: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "mm/dd/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return (t = e.year() < 0 ? e.year() + 1 : e.year()) % 4 == 0; - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(4 - (n.dayOfWeek() || 7), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return ( - (t = i.year()), - (e = i.month()), - (r = i.day()), - t < 0 && t++, - e <= 2 && (t--, (e += 12)), - Math.floor(365.25 * (t + 4716)) + - Math.floor(30.6001 * (e + 1)) + - r - - 1524.5 - ); - }, - fromJD: function (t) { - var e = Math.floor(t + 0.5) + 1524, - r = Math.floor((e - 122.1) / 365.25), - n = Math.floor(365.25 * r), - i = Math.floor((e - n) / 30.6001), - a = i - Math.floor(i < 14 ? 1 : 13), - o = r - Math.floor(a > 2 ? 4716 : 4715), - s = e - n - Math.floor(30.6001 * i); - return (o <= 0 && o--, this.newDate(o, a, s)); - }, - }), - (n.calendars.julian = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 444: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - function o(t, e) { - return t - e * Math.floor(t / e); - } - function s(t, e) { - return o(t - 1, e) + 1; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Mayan", - jdEpoch: 584282.5, - hasYearZero: !0, - minMonth: 0, - firstMonth: 0, - minDay: 0, - regionalOptions: { - "": { - name: "Mayan", - epochs: ["", ""], - monthNames: [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - ], - monthNamesShort: [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - ], - dayNames: [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - ], - dayNamesShort: [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - ], - dayNamesMin: [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - ], - digits: null, - dateFormat: "YYYY.m.d", - firstDay: 0, - isRTL: !1, - haabMonths: [ - "Pop", - "Uo", - "Zip", - "Zotz", - "Tzec", - "Xul", - "Yaxkin", - "Mol", - "Chen", - "Yax", - "Zac", - "Ceh", - "Mac", - "Kankin", - "Muan", - "Pax", - "Kayab", - "Cumku", - "Uayeb", - ], - tzolkinMonths: [ - "Imix", - "Ik", - "Akbal", - "Kan", - "Chicchan", - "Cimi", - "Manik", - "Lamat", - "Muluc", - "Oc", - "Chuen", - "Eb", - "Ben", - "Ix", - "Men", - "Cib", - "Caban", - "Etznab", - "Cauac", - "Ahau", - ], - }, - }, - leapYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - !1 - ); - }, - formatYear: function (t) { - t = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ).year(); - var e = Math.floor(t / 400); - return ( - (t %= 400), - (t += t < 0 ? 400 : 0), - e + "." + Math.floor(t / 20) + "." + (t % 20) - ); - }, - forYear: function (t) { - if ((t = t.split(".")).length < 3) throw "Invalid Mayan year"; - for (var e = 0, r = 0; r < t.length; r++) { - var n = parseInt(t[r], 10); - if (Math.abs(n) > 19 || (r > 0 && n < 0)) throw "Invalid Mayan year"; - e = 20 * e + n; - } - return e; - }, - monthsInYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - 18 - ); - }, - weekOfYear: function (t, e, r) { - return (this._validate(t, e, r, n.local.invalidDate), 0); - }, - daysInYear: function (t) { - return ( - this._validate(t, this.minMonth, this.minDay, n.local.invalidYear), - 360 - ); - }, - daysInMonth: function (t, e) { - return (this._validate(t, e, this.minDay, n.local.invalidMonth), 20); - }, - daysInWeek: function () { - return 5; - }, - dayOfWeek: function (t, e, r) { - return this._validate(t, e, r, n.local.invalidDate).day(); - }, - weekDay: function (t, e, r) { - return (this._validate(t, e, r, n.local.invalidDate), !0); - }, - extraInfo: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate).toJD(), - a = this._toHaab(i), - o = this._toTzolkin(i); - return { - haabMonthName: this.local.haabMonths[a[0] - 1], - haabMonth: a[0], - haabDay: a[1], - tzolkinDayName: this.local.tzolkinMonths[o[0] - 1], - tzolkinDay: o[0], - tzolkinTrecena: o[1], - }; - }, - _toHaab: function (t) { - var e = o((t -= this.jdEpoch) + 8 + 340, 365); - return [Math.floor(e / 20) + 1, o(e, 20)]; - }, - _toTzolkin: function (t) { - return [s((t -= this.jdEpoch) + 20, 20), s(t + 4, 13)]; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - return i.day() + 20 * i.month() + 360 * i.year() + this.jdEpoch; - }, - fromJD: function (t) { - t = Math.floor(t) + 0.5 - this.jdEpoch; - var e = Math.floor(t / 360); - ((t %= 360), (t += t < 0 ? 360 : 0)); - var r = Math.floor(t / 20), - n = t % 20; - return this.newDate(e, r, n); - }, - }), - (n.calendars.mayan = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 445: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - a.prototype = new n.baseCalendar(); - var o = n.instance("gregorian"); - (i(a.prototype, { - name: "Nanakshahi", - jdEpoch: 2257673.5, - daysPerMonth: [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Nanakshahi", - epochs: ["BN", "AN"], - monthNames: [ - "Chet", - "Vaisakh", - "Jeth", - "Harh", - "Sawan", - "Bhadon", - "Assu", - "Katak", - "Maghar", - "Poh", - "Magh", - "Phagun", - ], - monthNamesShort: [ - "Che", - "Vai", - "Jet", - "Har", - "Saw", - "Bha", - "Ass", - "Kat", - "Mgr", - "Poh", - "Mgh", - "Pha", - ], - dayNames: [ - "Somvaar", - "Mangalvar", - "Budhvaar", - "Veervaar", - "Shukarvaar", - "Sanicharvaar", - "Etvaar", - ], - dayNamesShort: [ - "Som", - "Mangal", - "Budh", - "Veer", - "Shukar", - "Sanichar", - "Et", - ], - dayNamesMin: ["So", "Ma", "Bu", "Ve", "Sh", "Sa", "Et"], - digits: null, - dateFormat: "dd-mm-yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear || n.regionalOptions[""].invalidYear, - ); - return o.leapYear(e.year() + (e.year() < 1 ? 1 : 0) + 1469); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(1 - (n.dayOfWeek() || 7), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidMonth); - (t = i.year()) < 0 && t++; - for (var a = i.day(), s = 1; s < i.month(); s++) - a += this.daysPerMonth[s - 1]; - return a + o.toJD(t + 1468, 3, 13); - }, - fromJD: function (t) { - t = Math.floor(t + 0.5); - for ( - var e = Math.floor((t - (this.jdEpoch - 1)) / 366); - t >= this.toJD(e + 1, 1, 1); - - ) - e++; - for ( - var r = t - Math.floor(this.toJD(e, 1, 1) + 0.5) + 1, n = 1; - r > this.daysInMonth(e, n); - - ) - ((r -= this.daysInMonth(e, n)), n++); - return this.newDate(e, n, r); - }, - }), - (n.calendars.nanakshahi = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 446: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Nepali", - jdEpoch: 1700709.5, - daysPerMonth: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - daysPerYear: 365, - regionalOptions: { - "": { - name: "Nepali", - epochs: ["BBS", "ABS"], - monthNames: [ - "Baisakh", - "Jestha", - "Ashadh", - "Shrawan", - "Bhadra", - "Ashwin", - "Kartik", - "Mangsir", - "Paush", - "Mangh", - "Falgun", - "Chaitra", - ], - monthNamesShort: [ - "Bai", - "Je", - "As", - "Shra", - "Bha", - "Ash", - "Kar", - "Mang", - "Pau", - "Ma", - "Fal", - "Chai", - ], - dayNames: [ - "Aaitabaar", - "Sombaar", - "Manglbaar", - "Budhabaar", - "Bihibaar", - "Shukrabaar", - "Shanibaar", - ], - dayNamesShort: [ - "Aaita", - "Som", - "Mangl", - "Budha", - "Bihi", - "Shukra", - "Shani", - ], - dayNamesMin: ["Aai", "So", "Man", "Bu", "Bi", "Shu", "Sha"], - digits: null, - dateFormat: "dd/mm/yyyy", - firstDay: 1, - isRTL: !1, - }, - }, - leapYear: function (t) { - return this.daysInYear(t) !== this.daysPerYear; - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInYear: function (t) { - if ( - ((t = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ).year()), - void 0 === this.NEPALI_CALENDAR_DATA[t]) - ) - return this.daysPerYear; - for (var e = 0, r = this.minMonth; r <= 12; r++) - e += this.NEPALI_CALENDAR_DATA[t][r]; - return e; - }, - daysInMonth: function (t, e) { - return ( - t.year && ((e = t.month()), (t = t.year())), - this._validate(t, e, this.minDay, n.local.invalidMonth), - void 0 === this.NEPALI_CALENDAR_DATA[t] - ? this.daysPerMonth[e - 1] - : this.NEPALI_CALENDAR_DATA[t][e] - ); - }, - weekDay: function (t, e, r) { - return 6 !== this.dayOfWeek(t, e, r); - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - ((t = i.year()), (e = i.month()), (r = i.day())); - var a = n.instance(), - o = 0, - s = e, - l = t; - this._createMissingCalendarData(t); - var c = - t - - (s > 9 || (9 === s && r >= this.NEPALI_CALENDAR_DATA[l][0]) - ? 56 - : 57); - for (9 !== e && ((o = r), s--); 9 !== s; ) - (s <= 0 && ((s = 12), l--), - (o += this.NEPALI_CALENDAR_DATA[l][s]), - s--); - return ( - 9 === e - ? (o += r - this.NEPALI_CALENDAR_DATA[l][0]) < 0 && - (o += a.daysInYear(c)) - : (o += - this.NEPALI_CALENDAR_DATA[l][9] - - this.NEPALI_CALENDAR_DATA[l][0]), - a.newDate(c, 1, 1).add(o, "d").toJD() - ); - }, - fromJD: function (t) { - var e = n.instance().fromJD(t), - r = e.year(), - i = e.dayOfYear(), - a = r + 56; - this._createMissingCalendarData(a); - for ( - var o = 9, - s = this.NEPALI_CALENDAR_DATA[a][0], - l = this.NEPALI_CALENDAR_DATA[a][o] - s + 1; - i > l; - - ) - (++o > 12 && ((o = 1), a++), (l += this.NEPALI_CALENDAR_DATA[a][o])); - var c = this.NEPALI_CALENDAR_DATA[a][o] - (l - i); - return this.newDate(a, o, c); - }, - _createMissingCalendarData: function (t) { - var e = this.daysPerMonth.slice(0); - e.unshift(17); - for (var r = t - 1; r < t + 2; r++) - void 0 === this.NEPALI_CALENDAR_DATA[r] && - (this.NEPALI_CALENDAR_DATA[r] = e); - }, - NEPALI_CALENDAR_DATA: { - 1970: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1971: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], - 1972: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 1973: [19, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 1974: [19, 31, 31, 32, 30, 31, 31, 30, 29, 30, 29, 30, 30], - 1975: [18, 31, 31, 32, 32, 30, 31, 30, 29, 30, 29, 30, 30], - 1976: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 1977: [18, 31, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], - 1978: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1979: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 1980: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 1981: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 1982: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1983: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 1984: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 1985: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 1986: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1987: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 1988: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 1989: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 1990: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1991: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 1992: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 1993: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 1994: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1995: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 1996: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 1997: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1998: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 1999: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2000: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2001: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2002: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2003: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2004: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2005: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2006: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2007: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2008: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], - 2009: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2010: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2011: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2012: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 2013: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2014: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2015: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2016: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 2017: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2018: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2019: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2020: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2021: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2022: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 2023: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2024: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2025: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2026: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2027: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2028: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2029: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], - 2030: [17, 31, 32, 31, 32, 31, 30, 30, 30, 30, 30, 30, 31], - 2031: [17, 31, 32, 31, 32, 31, 31, 31, 31, 31, 31, 31, 31], - 2032: [17, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32], - 2033: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2034: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2035: [17, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], - 2036: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2037: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2038: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2039: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 2040: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2041: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2042: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2043: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 2044: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2045: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2046: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2047: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2048: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2049: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 2050: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2051: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2052: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2053: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 2054: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2055: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 29, 30], - 2056: [17, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], - 2057: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2058: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2059: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2060: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2061: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2062: [17, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], - 2063: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2064: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2065: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2066: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], - 2067: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2068: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2069: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2070: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], - 2071: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2072: [17, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2073: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], - 2074: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2075: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2076: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 2077: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], - 2078: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], - 2079: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], - 2080: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], - 2081: [17, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2082: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2083: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], - 2084: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], - 2085: [17, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, 30], - 2086: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2087: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], - 2088: [16, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30], - 2089: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2090: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2091: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], - 2092: [16, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2093: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2094: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], - 2095: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30], - 2096: [17, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], - 2097: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], - 2098: [17, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, 31], - 2099: [17, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], - 2100: [17, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, 30], - }, - }), - (n.calendars.nepali = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 447: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - function o(t, e) { - return t - e * Math.floor(t / e); - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "Persian", - jdEpoch: 1948320.5, - daysPerMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Persian", - epochs: ["BP", "AP"], - monthNames: [ - "Farvardin", - "Ordibehesht", - "Khordad", - "Tir", - "Mordad", - "Shahrivar", - "Mehr", - "Aban", - "Azar", - "Day", - "Bahman", - "Esfand", - ], - monthNamesShort: [ - "Far", - "Ord", - "Kho", - "Tir", - "Mor", - "Sha", - "Meh", - "Aba", - "Aza", - "Day", - "Bah", - "Esf", - ], - dayNames: [ - "Yekshambe", - "Doshambe", - "Seshambe", - "Ch\xe6harshambe", - "Panjshambe", - "Jom'e", - "Shambe", - ], - dayNamesShort: ["Yek", "Do", "Se", "Ch\xe6", "Panj", "Jom", "Sha"], - dayNamesMin: ["Ye", "Do", "Se", "Ch", "Pa", "Jo", "Sh"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 6, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return ( - (682 * - (((e.year() - (e.year() > 0 ? 474 : 473)) % 2820) + 474 + 38)) % - 2816 < - 682 - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-(n.dayOfWeek() + 1) % 7, "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return 5 !== this.dayOfWeek(t, e, r); - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - ((t = i.year()), (e = i.month()), (r = i.day())); - var a = t - (t >= 0 ? 474 : 473), - s = 474 + o(a, 2820); - return ( - r + - (e <= 7 ? 31 * (e - 1) : 30 * (e - 1) + 6) + - Math.floor((682 * s - 110) / 2816) + - 365 * (s - 1) + - 1029983 * Math.floor(a / 2820) + - this.jdEpoch - - 1 - ); - }, - fromJD: function (t) { - var e = (t = Math.floor(t) + 0.5) - this.toJD(475, 1, 1), - r = Math.floor(e / 1029983), - n = o(e, 1029983), - i = 2820; - if (1029982 !== n) { - var a = Math.floor(n / 366), - s = o(n, 366); - i = Math.floor((2134 * a + 2816 * s + 2815) / 1028522) + a + 1; - } - var l = i + 2820 * r + 474; - l = l <= 0 ? l - 1 : l; - var c = t - this.toJD(l, 1, 1) + 1, - u = c <= 186 ? Math.ceil(c / 31) : Math.ceil((c - 6) / 30), - f = t - this.toJD(l, u, 1) + 1; - return this.newDate(l, u, f); - }, - }), - (n.calendars.persian = a), - (n.calendars.jalali = a)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 448: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"), - a = n.instance(); - function o(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((o.prototype = new n.baseCalendar()), - i(o.prototype, { - name: "Taiwan", - jdEpoch: 2419402.5, - yearsOffset: 1911, - daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Taiwan", - epochs: ["BROC", "ROC"], - monthNames: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - monthNamesShort: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - dayNames: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 1, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - t = this._t2gYear(e.year()); - return a.leapYear(t); - }, - weekOfYear: function (t, e, r) { - var i = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - t = this._t2gYear(i.year()); - return a.weekOfYear(t, i.month(), i.day()); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - t = this._t2gYear(i.year()); - return a.toJD(t, i.month(), i.day()); - }, - fromJD: function (t) { - var e = a.fromJD(t), - r = this._g2tYear(e.year()); - return this.newDate(r, e.month(), e.day()); - }, - _t2gYear: function (t) { - return ( - t + this.yearsOffset + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) - ); - }, - _g2tYear: function (t) { - return t - this.yearsOffset - (t >= 1 && t <= this.yearsOffset ? 1 : 0); - }, - }), - (n.calendars.taiwan = o)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 449: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"), - a = n.instance(); - function o(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((o.prototype = new n.baseCalendar()), - i(o.prototype, { - name: "Thai", - jdEpoch: 1523098.5, - yearsOffset: 543, - daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Thai", - epochs: ["BBE", "BE"], - monthNames: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - monthNamesShort: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - dayNames: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "dd/mm/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - t = this._t2gYear(e.year()); - return a.leapYear(t); - }, - weekOfYear: function (t, e, r) { - var i = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - t = this._t2gYear(i.year()); - return a.weekOfYear(t, i.month(), i.day()); - }, - daysInMonth: function (t, e) { - var r = this._validate(t, e, this.minDay, n.local.invalidMonth); - return ( - this.daysPerMonth[r.month() - 1] + - (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate); - t = this._t2gYear(i.year()); - return a.toJD(t, i.month(), i.day()); - }, - fromJD: function (t) { - var e = a.fromJD(t), - r = this._g2tYear(e.year()); - return this.newDate(r, e.month(), e.day()); - }, - _t2gYear: function (t) { - return t - this.yearsOffset - (t >= 1 && t <= this.yearsOffset ? 1 : 0); - }, - _g2tYear: function (t) { - return ( - t + this.yearsOffset + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) - ); - }, - }), - (n.calendars.thai = o)); - }, - { "../main": 451, "object-assign": 339 }, - ], - 450: [ - function (t, e, r) { - var n = t("../main"), - i = t("object-assign"); - function a(t) { - this.local = this.regionalOptions[t || ""] || this.regionalOptions[""]; - } - ((a.prototype = new n.baseCalendar()), - i(a.prototype, { - name: "UmmAlQura", - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Umm al-Qura", - epochs: ["BH", "AH"], - monthNames: [ - "Al-Muharram", - "Safar", - "Rabi' al-awwal", - "Rabi' Al-Thani", - "Jumada Al-Awwal", - "Jumada Al-Thani", - "Rajab", - "Sha'aban", - "Ramadan", - "Shawwal", - "Dhu al-Qi'dah", - "Dhu al-Hijjah", - ], - monthNamesShort: [ - "Muh", - "Saf", - "Rab1", - "Rab2", - "Jum1", - "Jum2", - "Raj", - "Sha'", - "Ram", - "Shaw", - "DhuQ", - "DhuH", - ], - dayNames: [ - "Yawm al-Ahad", - "Yawm al-Ithnain", - "Yawm al-Thal\u0101th\u0101\u2019", - "Yawm al-Arba\u2018\u0101\u2019", - "Yawm al-Kham\u012bs", - "Yawm al-Jum\u2018a", - "Yawm al-Sabt", - ], - dayNamesMin: ["Ah", "Ith", "Th", "Ar", "Kh", "Ju", "Sa"], - digits: null, - dateFormat: "yyyy/mm/dd", - firstDay: 6, - isRTL: !0, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - n.local.invalidYear, - ); - return 355 === this.daysInYear(e.year()); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(-n.dayOfWeek(), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInYear: function (t) { - for (var e = 0, r = 1; r <= 12; r++) e += this.daysInMonth(t, r); - return e; - }, - daysInMonth: function (t, e) { - for ( - var r = - this._validate(t, e, this.minDay, n.local.invalidMonth).toJD() - - 24e5 + - 0.5, - i = 0, - a = 0; - a < o.length; - a++ - ) { - if (o[a] > r) return o[i] - o[i - 1]; - i++; - } - return 30; - }, - weekDay: function (t, e, r) { - return 5 !== this.dayOfWeek(t, e, r); - }, - toJD: function (t, e, r) { - var i = this._validate(t, e, r, n.local.invalidDate), - a = 12 * (i.year() - 1) + i.month() - 15292; - return i.day() + o[a - 1] - 1 + 24e5 - 0.5; - }, - fromJD: function (t) { - for ( - var e = t - 24e5 + 0.5, r = 0, n = 0; - n < o.length && !(o[n] > e); - n++ - ) - r++; - var i = r + 15292, - a = Math.floor((i - 1) / 12), - s = a + 1, - l = i - 12 * a, - c = e - o[r - 1] + 1; - return this.newDate(s, l, c); - }, - isValid: function (t, e, r) { - var i = n.baseCalendar.prototype.isValid.apply(this, arguments); - return ( - i && (i = (t = null != t.year ? t.year : t) >= 1276 && t <= 1500), - i - ); - }, - _validate: function (t, e, r, i) { - var a = n.baseCalendar.prototype._validate.apply(this, arguments); - if (a.year < 1276 || a.year > 1500) - throw i.replace(/\{0\}/, this.local.name); - return a; - }, - }), - (n.calendars.ummalqura = a)); - var o = [ - 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, 374, 404, 433, 463, - 492, 522, 551, 581, 611, 641, 670, 700, 729, 759, 788, 818, 847, 877, 906, - 936, 965, 995, 1024, 1054, 1083, 1113, 1142, 1172, 1201, 1231, 1260, 1290, - 1320, 1350, 1379, 1409, 1438, 1468, 1497, 1527, 1556, 1586, 1615, 1645, - 1674, 1704, 1733, 1763, 1792, 1822, 1851, 1881, 1910, 1940, 1969, 1999, - 2028, 2058, 2087, 2117, 2146, 2176, 2205, 2235, 2264, 2294, 2323, 2353, - 2383, 2413, 2442, 2472, 2501, 2531, 2560, 2590, 2619, 2649, 2678, 2708, - 2737, 2767, 2796, 2826, 2855, 2885, 2914, 2944, 2973, 3003, 3032, 3062, - 3091, 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, 3416, - 3446, 3476, 3505, 3535, 3564, 3594, 3623, 3653, 3682, 3712, 3741, 3771, - 3800, 3830, 3859, 3889, 3918, 3948, 3977, 4007, 4036, 4066, 4095, 4125, - 4155, 4185, 4214, 4244, 4273, 4303, 4332, 4362, 4391, 4421, 4450, 4480, - 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716, 4745, 4775, 4804, 4834, - 4863, 4893, 4922, 4952, 4981, 5011, 5040, 5070, 5099, 5129, 5158, 5188, - 5218, 5248, 5277, 5307, 5336, 5366, 5395, 5425, 5454, 5484, 5513, 5543, - 5572, 5602, 5631, 5661, 5690, 5720, 5749, 5779, 5808, 5838, 5867, 5897, - 5926, 5956, 5985, 6015, 6044, 6074, 6103, 6133, 6162, 6192, 6221, 6251, - 6281, 6311, 6340, 6370, 6399, 6429, 6458, 6488, 6517, 6547, 6576, 6606, - 6635, 6665, 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, 6960, - 6989, 7019, 7048, 7078, 7107, 7137, 7166, 7196, 7225, 7255, 7284, 7314, - 7344, 7374, 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, 7669, - 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, 7934, 7964, 7993, 8023, - 8053, 8083, 8112, 8142, 8171, 8201, 8230, 8260, 8289, 8319, 8348, 8378, - 8407, 8437, 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, 8732, - 8761, 8791, 8821, 8850, 8880, 8909, 8938, 8968, 8997, 9027, 9056, 9086, - 9115, 9145, 9175, 9205, 9234, 9264, 9293, 9322, 9352, 9381, 9410, 9440, - 9470, 9499, 9529, 9559, 9589, 9618, 9648, 9677, 9706, 9736, 9765, 9794, - 9824, 9853, 9883, 9913, 9943, 9972, 10002, 10032, 10061, 10090, 10120, - 10149, 10178, 10208, 10237, 10267, 10297, 10326, 10356, 10386, 10415, 10445, - 10474, 10504, 10533, 10562, 10592, 10621, 10651, 10680, 10710, 10740, 10770, - 10799, 10829, 10858, 10888, 10917, 10947, 10976, 11005, 11035, 11064, 11094, - 11124, 11153, 11183, 11213, 11242, 11272, 11301, 11331, 11360, 11389, 11419, - 11448, 11478, 11507, 11537, 11567, 11596, 11626, 11655, 11685, 11715, 11744, - 11774, 11803, 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, 12069, - 12099, 12128, 12158, 12187, 12216, 12246, 12275, 12304, 12334, 12364, 12393, - 12423, 12453, 12483, 12512, 12542, 12571, 12600, 12630, 12659, 12688, 12718, - 12747, 12777, 12807, 12837, 12866, 12896, 12926, 12955, 12984, 13014, 13043, - 13072, 13102, 13131, 13161, 13191, 13220, 13250, 13280, 13310, 13339, 13368, - 13398, 13427, 13456, 13486, 13515, 13545, 13574, 13604, 13634, 13664, 13693, - 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, 13958, 13988, 14018, - 14047, 14077, 14107, 14136, 14166, 14195, 14224, 14254, 14283, 14313, 14342, - 14372, 14401, 14431, 14461, 14490, 14520, 14550, 14579, 14609, 14638, 14667, - 14697, 14726, 14756, 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, - 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, 15258, 15287, 15317, - 15347, 15377, 15406, 15436, 15465, 15494, 15524, 15553, 15582, 15612, 15641, - 15671, 15701, 15731, 15760, 15790, 15820, 15849, 15878, 15908, 15937, 15966, - 15996, 16025, 16055, 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, - 16321, 16350, 16380, 16409, 16439, 16468, 16498, 16528, 16558, 16587, 16617, - 16646, 16676, 16705, 16734, 16764, 16793, 16823, 16852, 16882, 16912, 16941, - 16971, 17001, 17030, 17060, 17089, 17118, 17148, 17177, 17207, 17236, 17266, - 17295, 17325, 17355, 17384, 17414, 17444, 17473, 17502, 17532, 17561, 17591, - 17620, 17650, 17679, 17709, 17738, 17768, 17798, 17827, 17857, 17886, 17916, - 17945, 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, 18211, 18241, - 18270, 18300, 18330, 18359, 18388, 18418, 18447, 18476, 18506, 18535, 18565, - 18595, 18625, 18654, 18684, 18714, 18743, 18772, 18802, 18831, 18860, 18890, - 18919, 18949, 18979, 19008, 19038, 19068, 19098, 19127, 19156, 19186, 19215, - 19244, 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481, 19511, 19540, - 19570, 19599, 19628, 19658, 19687, 19717, 19746, 19776, 19806, 19836, 19865, - 19895, 19924, 19954, 19983, 20012, 20042, 20071, 20101, 20130, 20160, 20190, - 20219, 20249, 20279, 20308, 20338, 20367, 20396, 20426, 20455, 20485, 20514, - 20544, 20573, 20603, 20633, 20662, 20692, 20721, 20751, 20780, 20810, 20839, - 20869, 20898, 20928, 20957, 20987, 21016, 21046, 21076, 21105, 21135, 21164, - 21194, 21223, 21253, 21282, 21312, 21341, 21371, 21400, 21430, 21459, 21489, - 21519, 21548, 21578, 21607, 21637, 21666, 21696, 21725, 21754, 21784, 21813, - 21843, 21873, 21902, 21932, 21962, 21991, 22021, 22050, 22080, 22109, 22138, - 22168, 22197, 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434, 22464, - 22493, 22522, 22552, 22581, 22611, 22640, 22670, 22700, 22730, 22759, 22789, - 22818, 22848, 22877, 22906, 22936, 22965, 22994, 23024, 23054, 23083, 23113, - 23143, 23173, 23202, 23232, 23261, 23290, 23320, 23349, 23379, 23408, 23438, - 23467, 23497, 23527, 23556, 23586, 23616, 23645, 23674, 23704, 23733, 23763, - 23792, 23822, 23851, 23881, 23910, 23940, 23970, 23999, 24029, 24058, 24088, - 24117, 24147, 24176, 24206, 24235, 24265, 24294, 24324, 24353, 24383, 24413, - 24442, 24472, 24501, 24531, 24560, 24590, 24619, 24648, 24678, 24707, 24737, - 24767, 24796, 24826, 24856, 24885, 24915, 24944, 24974, 25003, 25032, 25062, - 25091, 25121, 25150, 25180, 25210, 25240, 25269, 25299, 25328, 25358, 25387, - 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, 25653, 25683, 25712, - 25742, 25771, 25800, 25830, 25859, 25888, 25918, 25948, 25977, 26007, 26037, - 26067, 26096, 26126, 26155, 26184, 26214, 26243, 26272, 26302, 26332, 26361, - 26391, 26421, 26451, 26480, 26510, 26539, 26568, 26598, 26627, 26656, 26686, - 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, 26952, 26982, 27011, - 27041, 27070, 27099, 27129, 27159, 27188, 27218, 27248, 27277, 27307, 27336, - 27366, 27395, 27425, 27454, 27484, 27513, 27542, 27572, 27602, 27631, 27661, - 27691, 27720, 27750, 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, - 28015, 28045, 28074, 28104, 28134, 28163, 28193, 28222, 28252, 28281, 28310, - 28340, 28369, 28399, 28428, 28458, 28488, 28517, 28547, 28577, 28607, 28636, - 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, - 28990, 29019, 29049, 29078, 29108, 29137, 29167, 29196, 29226, 29255, 29285, - 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522, 29551, 29580, 29610, - 29640, 29669, 29699, 29729, 29759, 29788, 29818, 29847, 29876, 29906, 29935, - 29964, 29994, 30023, 30053, 30082, 30112, 30141, 30171, 30200, 30230, 30259, - 30289, 30318, 30348, 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585, - 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, - 30939, 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, 31204, 31234, - 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530, 31559, - 31589, 31618, 31648, 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, - 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120, 32150, 32180, 32209, - 32239, 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, - 32563, 32593, 32622, 32652, 32681, 32711, 32740, 32770, 32799, 32829, 32858, - 32888, 32917, 32947, 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, - 33213, 33243, 33272, 33302, 33331, 33361, 33390, 33420, 33450, 33479, 33509, - 33539, 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775, 33804, 33834, - 33863, 33893, 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, 34158, - 34187, 34217, 34247, 34277, 34306, 34336, 34365, 34395, 34424, 34454, 34483, - 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, 34749, 34778, 34808, - 34837, 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074, 35103, 35133, - 35162, 35192, 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, 35458, - 35488, 35517, 35547, 35576, 35605, 35635, 35665, 35694, 35723, 35753, 35782, - 35811, 35841, 35871, 35901, 35930, 35960, 35989, 36019, 36048, 36078, 36107, - 36136, 36166, 36195, 36225, 36254, 36284, 36314, 36343, 36373, 36403, 36433, - 36462, 36492, 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, - 36786, 36816, 36845, 36875, 36904, 36934, 36963, 36993, 37022, 37052, 37081, - 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, 37347, 37377, 37406, - 37436, 37465, 37495, 37524, 37554, 37584, 37613, 37643, 37672, 37701, 37731, - 37760, 37790, 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027, 38056, - 38085, 38115, 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, - 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617, 38646, 38676, 38705, - 38735, 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, 39001, 39030, - 39059, 39089, 39118, 39148, 39178, 39208, 39237, 39267, 39297, 39326, 39355, - 39385, 39414, 39444, 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, - 39709, 39739, 39768, 39798, 39827, 39857, 39886, 39916, 39946, 39975, 40005, - 40035, 40064, 40094, 40123, 40153, 40182, 40212, 40241, 40271, 40300, 40330, - 40359, 40389, 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, 40655, - 40685, 40714, 40744, 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980, - 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216, 41245, 41275, 41304, - 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570, 41599, 41629, - 41658, 41688, 41718, 41748, 41777, 41807, 41836, 41865, 41894, 41924, 41953, - 41983, 42012, 42042, 42072, 42102, 42131, 42161, 42190, 42220, 42249, 42279, - 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, - 42633, 42662, 42692, 42721, 42751, 42780, 42810, 42839, 42869, 42899, 42929, - 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, 43253, - 43283, 43312, 43342, 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, - 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, 43844, 43873, 43903, - 43932, 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, - 44258, 44287, 44317, 44346, 44375, 44405, 44434, 44464, 44493, 44523, 44553, - 44582, 44612, 44641, 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, - 44906, 44936, 44966, 44996, 45025, 45055, 45084, 45114, 45143, 45172, 45202, - 45231, 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468, 45498, 45527, - 45556, 45586, 45615, 45644, 45674, 45704, 45733, 45763, 45793, 45823, 45852, - 45882, 45911, 45940, 45970, 45999, 46028, 46058, 46088, 46117, 46147, 46177, - 46206, 46236, 46265, 46295, 46324, 46354, 46383, 46413, 46442, 46472, 46501, - 46531, 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, 46797, 46826, - 46856, 46885, 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, 47151, - 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476, - 47506, 47535, 47565, 47594, 47624, 47653, 47682, 47712, 47741, 47771, 47800, - 47830, 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066, 48096, 48125, - 48155, 48184, 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, - 48480, 48509, 48538, 48568, 48598, 48627, 48657, 48687, 48717, 48746, 48776, - 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, 49041, 49071, 49100, - 49130, 49160, 49189, 49218, 49248, 49277, 49306, 49336, 49365, 49395, 49425, - 49455, 49484, 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720, 49749, - 49779, 49809, 49838, 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, - 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, 50340, 50370, 50400, - 50429, 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, 50694, 50724, - 50754, 50784, 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019, 51049, - 51078, 51108, 51138, 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, - 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611, 51641, 51670, 51699, - 51729, 51758, 51787, 51816, 51846, 51876, 51906, 51936, 51965, 51995, 52025, - 52054, 52083, 52113, 52142, 52171, 52200, 52230, 52260, 52290, 52319, 52349, - 52379, 52408, 52438, 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, - 52703, 52733, 52762, 52792, 52822, 52851, 52881, 52910, 52939, 52969, 52998, - 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, 53294, 53324, - 53353, 53383, 53412, 53441, 53471, 53500, 53530, 53559, 53589, 53619, 53648, - 53678, 53708, 53737, 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973, - 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, - 54327, 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564, 54593, 54623, - 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, 54948, - 54977, 55007, 55036, 55066, 55095, 55125, 55154, 55184, 55213, 55243, 55273, - 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, 55538, 55567, 55597, - 55627, 55657, 55686, 55716, 55745, 55775, 55804, 55834, 55863, 55892, 55922, - 55951, 55981, 56011, 56040, 56070, 56100, 56129, 56159, 56188, 56218, 56247, - 56276, 56306, 56335, 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, - 56601, 56631, 56660, 56690, 56719, 56749, 56778, 56808, 56837, 56867, 56897, - 56926, 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162, 57192, 57221, - 57251, 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517, 57546, - 57576, 57605, 57634, 57664, 57694, 57723, 57753, 57783, 57813, 57842, 57871, - 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107, 58137, 58167, 58196, - 58226, 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, 58491, 58521, - 58551, 58580, 58610, 58639, 58669, 58698, 58727, 58757, 58786, 58816, 58845, - 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, - 59200, 59229, 59259, 59288, 59318, 59348, 59377, 59407, 59436, 59466, 59495, - 59525, 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, 59791, 59820, - 59850, 59879, 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, - 60174, 60204, 60234, 60264, 60293, 60323, 60352, 60381, 60411, 60440, 60469, - 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, 60736, 60765, 60795, - 60824, 60853, 60883, 60912, 60942, 60972, 61002, 61031, 61061, 61090, 61120, - 61149, 61179, 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415, 61445, - 61474, 61504, 61533, 61563, 61592, 61621, 61651, 61680, 61710, 61739, 61769, - 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, 62035, 62064, 62094, - 62123, 62153, 62182, 62212, 62242, 62271, 62301, 62331, 62360, 62390, 62419, - 62448, 62478, 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, 62744, - 62774, 62803, 62832, 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, - 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, 63393, - 63423, 63453, 63482, 63512, 63541, 63571, 63600, 63630, 63659, 63689, 63718, - 63747, 63777, 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014, 64043, - 64073, 64102, 64131, 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, - 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603, 64633, 64663, 64692, - 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, 64987, 65017, - 65047, 65076, 65106, 65136, 65166, 65195, 65225, 65254, 65283, 65313, 65342, - 65371, 65401, 65431, 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667, - 65697, 65726, 65755, 65785, 65815, 65844, 65874, 65903, 65933, 65963, 65992, - 66022, 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, 66287, 66317, - 66346, 66376, 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, 66641, - 66671, 66700, 66730, 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967, - 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, 67233, 67262, 67292, - 67321, 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557, 67587, 67617, - 67646, 67676, 67705, 67735, 67764, 67793, 67823, 67852, 67882, 67911, 67941, - 67971, 68e3, 68030, 68060, 68089, 68119, 68148, 68177, 68207, 68236, 68266, - 68295, 68325, 68354, 68384, 68414, 68443, 68473, 68502, 68532, 68561, 68591, - 68620, 68650, 68679, 68708, 68738, 68768, 68797, 68827, 68857, 68886, 68916, - 68946, 68975, 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, - 69270, 69300, 69330, 69359, 69388, 69418, 69447, 69476, 69506, 69535, 69565, - 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, 69831, 69861, 69890, - 69919, 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, 70186, 70215, - 70245, 70274, 70303, 70333, 70362, 70392, 70421, 70451, 70481, 70510, 70540, - 70570, 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, - 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101, 71130, 71159, 71189, - 71218, 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, 71485, 71514, - 71543, 71573, 71602, 71632, 71662, 71691, 71721, 71751, 71781, 71810, 71839, - 71869, 71898, 71927, 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, - 72194, 72223, 72253, 72282, 72311, 72341, 72370, 72400, 72429, 72459, 72489, - 72518, 72548, 72577, 72607, 72637, 72666, 72695, 72725, 72754, 72784, 72813, - 72843, 72872, 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109, 73139, - 73168, 73197, 73227, 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464, - 73493, 73523, 73552, 73581, 73611, 73640, 73669, 73699, 73729, 73758, 73788, - 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053, 74083, 74113, - 74142, 74172, 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, 74437, - 74467, 74497, 74526, 74556, 74586, 74615, 74645, 74675, 74704, 74733, 74763, - 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, - 75117, 75147, 75176, 75206, 75235, 75264, 75294, 75323, 75353, 75383, 75412, - 75442, 75472, 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, 75737, - 75766, 75796, 75826, 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, - 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299, 76328, 76358, 76387, - 76416, 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, 76712, - 76741, 76771, 76801, 76830, 76859, 76889, 76918, 76948, 76977, 77007, 77036, - 77066, 77096, 77125, 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361, - 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598, 77627, 77657, 77686, - 77715, 77745, 77774, 77804, 77833, 77863, 77893, 77923, 77952, 77982, 78011, - 78041, 78070, 78099, 78129, 78158, 78188, 78217, 78247, 78277, 78307, 78336, - 78366, 78395, 78425, 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, - 78690, 78720, 78750, 78779, 78808, 78838, 78867, 78897, 78926, 78956, 78985, - 79015, 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, - 79340, 79369, 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, 79635, - 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960, - 79990, - ]; - }, - { "../main": 451, "object-assign": 339 }, - ], - 451: [ - function (t, e, r) { - var n = t("object-assign"); - function i() { - ((this.regionalOptions = []), - (this.regionalOptions[""] = { - invalidCalendar: "Calendar {0} not found", - invalidDate: "Invalid {0} date", - invalidMonth: "Invalid {0} month", - invalidYear: "Invalid {0} year", - differentCalendars: "Cannot mix {0} and {1} dates", - }), - (this.local = this.regionalOptions[""]), - (this.calendars = {}), - (this._localCals = {})); - } - function a(t, e, r, n) { - if ( - ((this._calendar = t), - (this._year = e), - (this._month = r), - (this._day = n), - 0 === this._calendar._validateLevel && - !this._calendar.isValid(this._year, this._month, this._day)) - ) - throw (c.local.invalidDate || c.regionalOptions[""].invalidDate).replace( - /\{0\}/, - this._calendar.local.name, - ); - } - function o(t, e) { - return "000000".substring(0, e - (t = "" + t).length) + t; - } - function s() { - this.shortYearCutoff = "+10"; - } - function l(t) { - this.local = this.regionalOptions[t] || this.regionalOptions[""]; - } - (n(i.prototype, { - instance: function (t, e) { - ((t = (t || "gregorian").toLowerCase()), (e = e || "")); - var r = this._localCals[t + "-" + e]; - if ( - (!r && - this.calendars[t] && - ((r = new this.calendars[t](e)), (this._localCals[t + "-" + e] = r)), - !r) - ) - throw ( - this.local.invalidCalendar || this.regionalOptions[""].invalidCalendar - ).replace(/\{0\}/, t); - return r; - }, - newDate: function (t, e, r, n, i) { - return (n = - (null != t && t.year - ? t.calendar() - : "string" == typeof n - ? this.instance(n, i) - : n) || this.instance()).newDate(t, e, r); - }, - substituteDigits: function (t) { - return function (e) { - return (e + "").replace(/[0-9]/g, function (e) { - return t[e]; - }); - }; - }, - substituteChineseDigits: function (t, e) { - return function (r) { - for (var n = "", i = 0; r > 0; ) { - var a = r % 10; - ((n = (0 === a ? "" : t[a] + e[i]) + n), - i++, - (r = Math.floor(r / 10))); - } - return (0 === n.indexOf(t[1] + e[1]) && (n = n.substr(1)), n || t[0]); - }; - }, - }), - n(a.prototype, { - newDate: function (t, e, r) { - return this._calendar.newDate(null == t ? this : t, e, r); - }, - year: function (t) { - return 0 === arguments.length ? this._year : this.set(t, "y"); - }, - month: function (t) { - return 0 === arguments.length ? this._month : this.set(t, "m"); - }, - day: function (t) { - return 0 === arguments.length ? this._day : this.set(t, "d"); - }, - date: function (t, e, r) { - if (!this._calendar.isValid(t, e, r)) - throw ( - c.local.invalidDate || c.regionalOptions[""].invalidDate - ).replace(/\{0\}/, this._calendar.local.name); - return ((this._year = t), (this._month = e), (this._day = r), this); - }, - leapYear: function () { - return this._calendar.leapYear(this); - }, - epoch: function () { - return this._calendar.epoch(this); - }, - formatYear: function () { - return this._calendar.formatYear(this); - }, - monthOfYear: function () { - return this._calendar.monthOfYear(this); - }, - weekOfYear: function () { - return this._calendar.weekOfYear(this); - }, - daysInYear: function () { - return this._calendar.daysInYear(this); - }, - dayOfYear: function () { - return this._calendar.dayOfYear(this); - }, - daysInMonth: function () { - return this._calendar.daysInMonth(this); - }, - dayOfWeek: function () { - return this._calendar.dayOfWeek(this); - }, - weekDay: function () { - return this._calendar.weekDay(this); - }, - extraInfo: function () { - return this._calendar.extraInfo(this); - }, - add: function (t, e) { - return this._calendar.add(this, t, e); - }, - set: function (t, e) { - return this._calendar.set(this, t, e); - }, - compareTo: function (t) { - if (this._calendar.name !== t._calendar.name) - throw ( - c.local.differentCalendars || - c.regionalOptions[""].differentCalendars - ) - .replace(/\{0\}/, this._calendar.local.name) - .replace(/\{1\}/, t._calendar.local.name); - var e = - this._year !== t._year - ? this._year - t._year - : this._month !== t._month - ? this.monthOfYear() - t.monthOfYear() - : this._day - t._day; - return 0 === e ? 0 : e < 0 ? -1 : 1; - }, - calendar: function () { - return this._calendar; - }, - toJD: function () { - return this._calendar.toJD(this); - }, - fromJD: function (t) { - return this._calendar.fromJD(t); - }, - toJSDate: function () { - return this._calendar.toJSDate(this); - }, - fromJSDate: function (t) { - return this._calendar.fromJSDate(t); - }, - toString: function () { - return ( - (this.year() < 0 ? "-" : "") + - o(Math.abs(this.year()), 4) + - "-" + - o(this.month(), 2) + - "-" + - o(this.day(), 2) - ); - }, - }), - n(s.prototype, { - _validateLevel: 0, - newDate: function (t, e, r) { - return null == t - ? this.today() - : (t.year && - (this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ), - (r = t.day()), - (e = t.month()), - (t = t.year())), - new a(this, t, e, r)); - }, - today: function () { - return this.fromJSDate(new Date()); - }, - epoch: function (t) { - return this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidYear || c.regionalOptions[""].invalidYear, - ).year() < 0 - ? this.local.epochs[0] - : this.local.epochs[1]; - }, - formatYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidYear || c.regionalOptions[""].invalidYear, - ); - return (e.year() < 0 ? "-" : "") + o(Math.abs(e.year()), 4); - }, - monthsInYear: function (t) { - return ( - this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidYear || c.regionalOptions[""].invalidYear, - ), - 12 - ); - }, - monthOfYear: function (t, e) { - var r = this._validate( - t, - e, - this.minDay, - c.local.invalidMonth || c.regionalOptions[""].invalidMonth, - ); - return ( - ((r.month() + this.monthsInYear(r) - this.firstMonth) % - this.monthsInYear(r)) + - this.minMonth - ); - }, - fromMonthOfYear: function (t, e) { - var r = - ((e + this.firstMonth - 2 * this.minMonth) % this.monthsInYear(t)) + - this.minMonth; - return ( - this._validate( - t, - r, - this.minDay, - c.local.invalidMonth || c.regionalOptions[""].invalidMonth, - ), - r - ); - }, - daysInYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidYear || c.regionalOptions[""].invalidYear, - ); - return this.leapYear(e) ? 366 : 365; - }, - dayOfYear: function (t, e, r) { - var n = this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ); - return ( - n.toJD() - - this.newDate( - n.year(), - this.fromMonthOfYear(n.year(), this.minMonth), - this.minDay, - ).toJD() + - 1 - ); - }, - daysInWeek: function () { - return 7; - }, - dayOfWeek: function (t, e, r) { - var n = this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ); - return (Math.floor(this.toJD(n)) + 2) % this.daysInWeek(); - }, - extraInfo: function (t, e, r) { - return ( - this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ), - {} - ); - }, - add: function (t, e, r) { - return ( - this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ), - this._correctAdd(t, this._add(t, e, r), e, r) - ); - }, - _add: function (t, e, r) { - if ((this._validateLevel++, "d" === r || "w" === r)) { - var n = t.toJD() + e * ("w" === r ? this.daysInWeek() : 1), - i = t.calendar().fromJD(n); - return (this._validateLevel--, [i.year(), i.month(), i.day()]); - } - try { - var a = t.year() + ("y" === r ? e : 0), - o = t.monthOfYear() + ("m" === r ? e : 0); - i = t.day(); - "y" === r - ? (t.month() !== this.fromMonthOfYear(a, o) && - (o = this.newDate(a, t.month(), this.minDay).monthOfYear()), - (o = Math.min(o, this.monthsInYear(a))), - (i = Math.min( - i, - this.daysInMonth(a, this.fromMonthOfYear(a, o)), - ))) - : "m" === r && - (!(function (t) { - for (; o < t.minMonth; ) (a--, (o += t.monthsInYear(a))); - for (var e = t.monthsInYear(a); o > e - 1 + t.minMonth; ) - (a++, (o -= e), (e = t.monthsInYear(a))); - })(this), - (i = Math.min( - i, - this.daysInMonth(a, this.fromMonthOfYear(a, o)), - ))); - var s = [a, this.fromMonthOfYear(a, o), i]; - return (this._validateLevel--, s); - } catch (t) { - throw (this._validateLevel--, t); - } - }, - _correctAdd: function (t, e, r, n) { - if ( - !( - this.hasYearZero || - ("y" !== n && "m" !== n) || - (0 !== e[0] && t.year() > 0 == e[0] > 0) - ) - ) { - var i = { - y: [1, 1, "y"], - m: [1, this.monthsInYear(-1), "m"], - w: [this.daysInWeek(), this.daysInYear(-1), "d"], - d: [1, this.daysInYear(-1), "d"], - }[n], - a = r < 0 ? -1 : 1; - e = this._add(t, r * i[0] + a * i[1], i[2]); - } - return t.date(e[0], e[1], e[2]); - }, - set: function (t, e, r) { - this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ); - var n = "y" === r ? e : t.year(), - i = "m" === r ? e : t.month(), - a = "d" === r ? e : t.day(); - return ( - ("y" !== r && "m" !== r) || (a = Math.min(a, this.daysInMonth(n, i))), - t.date(n, i, a) - ); - }, - isValid: function (t, e, r) { - this._validateLevel++; - var n = this.hasYearZero || 0 !== t; - if (n) { - var i = this.newDate(t, e, this.minDay); - n = - e >= this.minMonth && - e - this.minMonth < this.monthsInYear(i) && - r >= this.minDay && - r - this.minDay < this.daysInMonth(i); - } - return (this._validateLevel--, n); - }, - toJSDate: function (t, e, r) { - var n = this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ); - return c.instance().fromJD(this.toJD(n)).toJSDate(); - }, - fromJSDate: function (t) { - return this.fromJD(c.instance().fromJSDate(t).toJD()); - }, - _validate: function (t, e, r, n) { - if (t.year) { - if (0 === this._validateLevel && this.name !== t.calendar().name) - throw ( - c.local.differentCalendars || - c.regionalOptions[""].differentCalendars - ) - .replace(/\{0\}/, this.local.name) - .replace(/\{1\}/, t.calendar().local.name); - return t; - } - try { - if ( - (this._validateLevel++, - 1 === this._validateLevel && !this.isValid(t, e, r)) - ) - throw n.replace(/\{0\}/, this.local.name); - var i = this.newDate(t, e, r); - return (this._validateLevel--, i); - } catch (t) { - throw (this._validateLevel--, t); - } - }, - }), - (l.prototype = new s()), - n(l.prototype, { - name: "Gregorian", - jdEpoch: 1721425.5, - daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], - hasYearZero: !1, - minMonth: 1, - firstMonth: 1, - minDay: 1, - regionalOptions: { - "": { - name: "Gregorian", - epochs: ["BCE", "CE"], - monthNames: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - monthNamesShort: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - dayNames: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - digits: null, - dateFormat: "mm/dd/yyyy", - firstDay: 0, - isRTL: !1, - }, - }, - leapYear: function (t) { - var e = this._validate( - t, - this.minMonth, - this.minDay, - c.local.invalidYear || c.regionalOptions[""].invalidYear, - ); - return ( - (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 0 && - (t % 100 != 0 || t % 400 == 0) - ); - }, - weekOfYear: function (t, e, r) { - var n = this.newDate(t, e, r); - return ( - n.add(4 - (n.dayOfWeek() || 7), "d"), - Math.floor((n.dayOfYear() - 1) / 7) + 1 - ); - }, - daysInMonth: function (t, e) { - var r = this._validate( - t, - e, - this.minDay, - c.local.invalidMonth || c.regionalOptions[""].invalidMonth, - ); - return ( - this.daysPerMonth[r.month() - 1] + - (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) - ); - }, - weekDay: function (t, e, r) { - return (this.dayOfWeek(t, e, r) || 7) < 6; - }, - toJD: function (t, e, r) { - var n = this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ); - ((t = n.year()), - (e = n.month()), - (r = n.day()), - t < 0 && t++, - e < 3 && ((e += 12), t--)); - var i = Math.floor(t / 100), - a = 2 - i + Math.floor(i / 4); - return ( - Math.floor(365.25 * (t + 4716)) + - Math.floor(30.6001 * (e + 1)) + - r + - a - - 1524.5 - ); - }, - fromJD: function (t) { - var e = Math.floor(t + 0.5), - r = Math.floor((e - 1867216.25) / 36524.25), - n = (r = e + 1 + r - Math.floor(r / 4)) + 1524, - i = Math.floor((n - 122.1) / 365.25), - a = Math.floor(365.25 * i), - o = Math.floor((n - a) / 30.6001), - s = n - a - Math.floor(30.6001 * o), - l = o - (o > 13.5 ? 13 : 1), - c = i - (l > 2.5 ? 4716 : 4715); - return (c <= 0 && c--, this.newDate(c, l, s)); - }, - toJSDate: function (t, e, r) { - var n = this._validate( - t, - e, - r, - c.local.invalidDate || c.regionalOptions[""].invalidDate, - ), - i = new Date(n.year(), n.month() - 1, n.day()); - return ( - i.setHours(0), - i.setMinutes(0), - i.setSeconds(0), - i.setMilliseconds(0), - i.setHours(i.getHours() > 12 ? i.getHours() + 2 : 0), - i - ); - }, - fromJSDate: function (t) { - return this.newDate(t.getFullYear(), t.getMonth() + 1, t.getDate()); - }, - })); - var c = (e.exports = new i()); - ((c.cdate = a), (c.baseCalendar = s), (c.calendars.gregorian = l)); - }, - { "object-assign": 339 }, - ], - 452: [ - function (t, e, r) { - var n = t("object-assign"), - i = t("./main"); - (n(i.regionalOptions[""], { - invalidArguments: "Invalid arguments", - invalidFormat: "Cannot format a date from another calendar", - missingNumberAt: "Missing number at position {0}", - unknownNameAt: "Unknown name at position {0}", - unexpectedLiteralAt: "Unexpected literal at position {0}", - unexpectedText: "Additional text found at end", - }), - (i.local = i.regionalOptions[""]), - n(i.cdate.prototype, { - formatDate: function (t, e) { - return ( - "string" != typeof t && ((e = t), (t = "")), - this._calendar.formatDate(t || "", this, e) - ); - }, - }), - n(i.baseCalendar.prototype, { - UNIX_EPOCH: i.instance().newDate(1970, 1, 1).toJD(), - SECS_PER_DAY: 86400, - TICKS_EPOCH: i.instance().jdEpoch, - TICKS_PER_DAY: 864e9, - ATOM: "yyyy-mm-dd", - COOKIE: "D, dd M yyyy", - FULL: "DD, MM d, yyyy", - ISO_8601: "yyyy-mm-dd", - JULIAN: "J", - RFC_822: "D, d M yy", - RFC_850: "DD, dd-M-yy", - RFC_1036: "D, d M yy", - RFC_1123: "D, d M yyyy", - RFC_2822: "D, d M yyyy", - RSS: "D, d M yy", - TICKS: "!", - TIMESTAMP: "@", - W3C: "yyyy-mm-dd", - formatDate: function (t, e, r) { - if (("string" != typeof t && ((r = e), (e = t), (t = "")), !e)) - return ""; - if (e.calendar() !== this) - throw i.local.invalidFormat || i.regionalOptions[""].invalidFormat; - t = t || this.local.dateFormat; - for ( - var n, - a, - o, - s, - l = (r = r || {}).dayNamesShort || this.local.dayNamesShort, - c = r.dayNames || this.local.dayNames, - u = r.monthNumbers || this.local.monthNumbers, - f = r.monthNamesShort || this.local.monthNamesShort, - h = r.monthNames || this.local.monthNames, - p = - (r.calculateWeek || this.local.calculateWeek, - function (e, r) { - for (var n = 1; w + n < t.length && t.charAt(w + n) === e; ) - n++; - return ((w += n - 1), Math.floor(n / (r || 1)) > 1); - }), - d = function (t, e, r, n) { - var i = "" + e; - if (p(t, n)) for (; i.length < r; ) i = "0" + i; - return i; - }, - g = this, - m = function (t) { - return "function" == typeof u - ? u.call(g, t, p("m")) - : x(d("m", t.month(), 2)); - }, - v = function (t, e) { - return e - ? "function" == typeof h - ? h.call(g, t) - : h[t.month() - g.minMonth] - : "function" == typeof f - ? f.call(g, t) - : f[t.month() - g.minMonth]; - }, - y = this.local.digits, - x = function (t) { - return r.localNumbers && y ? y(t) : t; - }, - b = "", - _ = !1, - w = 0; - w < t.length; - w++ - ) - if (_) "'" !== t.charAt(w) || p("'") ? (b += t.charAt(w)) : (_ = !1); - else - switch (t.charAt(w)) { - case "d": - b += x(d("d", e.day(), 2)); - break; - case "D": - b += - ((n = "D"), - (a = e.dayOfWeek()), - (o = l), - (s = c), - p(n) ? s[a] : o[a]); - break; - case "o": - b += d("o", e.dayOfYear(), 3); - break; - case "w": - b += d("w", e.weekOfYear(), 2); - break; - case "m": - b += m(e); - break; - case "M": - b += v(e, p("M")); - break; - case "y": - b += p("y", 2) - ? e.year() - : (e.year() % 100 < 10 ? "0" : "") + (e.year() % 100); - break; - case "Y": - (p("Y", 2), (b += e.formatYear())); - break; - case "J": - b += e.toJD(); - break; - case "@": - b += (e.toJD() - this.UNIX_EPOCH) * this.SECS_PER_DAY; - break; - case "!": - b += (e.toJD() - this.TICKS_EPOCH) * this.TICKS_PER_DAY; - break; - case "'": - p("'") ? (b += "'") : (_ = !0); - break; - default: - b += t.charAt(w); - } - return b; - }, - parseDate: function (t, e, r) { - if (null == e) - throw ( - i.local.invalidArguments || i.regionalOptions[""].invalidArguments - ); - if ("" === (e = "object" == typeof e ? e.toString() : e + "")) - return null; - t = t || this.local.dateFormat; - var n = (r = r || {}).shortYearCutoff || this.shortYearCutoff; - n = - "string" != typeof n - ? n - : (this.today().year() % 100) + parseInt(n, 10); - for ( - var a = r.dayNamesShort || this.local.dayNamesShort, - o = r.dayNames || this.local.dayNames, - s = r.parseMonth || this.local.parseMonth, - l = r.monthNumbers || this.local.monthNumbers, - c = r.monthNamesShort || this.local.monthNamesShort, - u = r.monthNames || this.local.monthNames, - f = -1, - h = -1, - p = -1, - d = -1, - g = -1, - m = !1, - v = !1, - y = function (e, r) { - for (var n = 1; T + n < t.length && t.charAt(T + n) === e; ) n++; - return ((T += n - 1), Math.floor(n / (r || 1)) > 1); - }, - x = function (t, r) { - var n = y(t, r), - a = [2, 3, n ? 4 : 2, n ? 4 : 2, 10, 11, 20][ - "oyYJ@!".indexOf(t) + 1 - ], - o = new RegExp("^-?\\d{1," + a + "}"), - s = e.substring(A).match(o); - if (!s) - throw ( - i.local.missingNumberAt || - i.regionalOptions[""].missingNumberAt - ).replace(/\{0\}/, A); - return ((A += s[0].length), parseInt(s[0], 10)); - }, - b = this, - _ = function () { - if ("function" == typeof l) { - y("m"); - var t = l.call(b, e.substring(A)); - return ((A += t.length), t); - } - return x("m"); - }, - w = function (t, r, n, a) { - for (var o = y(t, a) ? n : r, s = 0; s < o.length; s++) - if ( - e.substr(A, o[s].length).toLowerCase() === o[s].toLowerCase() - ) - return ((A += o[s].length), s + b.minMonth); - throw ( - i.local.unknownNameAt || i.regionalOptions[""].unknownNameAt - ).replace(/\{0\}/, A); - }, - k = function () { - if ("function" == typeof u) { - var t = y("M") - ? u.call(b, e.substring(A)) - : c.call(b, e.substring(A)); - return ((A += t.length), t); - } - return w("M", c, u); - }, - M = function () { - if (e.charAt(A) !== t.charAt(T)) - throw ( - i.local.unexpectedLiteralAt || - i.regionalOptions[""].unexpectedLiteralAt - ).replace(/\{0\}/, A); - A++; - }, - A = 0, - T = 0; - T < t.length; - T++ - ) - if (v) "'" !== t.charAt(T) || y("'") ? M() : (v = !1); - else - switch (t.charAt(T)) { - case "d": - d = x("d"); - break; - case "D": - w("D", a, o); - break; - case "o": - g = x("o"); - break; - case "w": - x("w"); - break; - case "m": - p = _(); - break; - case "M": - p = k(); - break; - case "y": - var S = T; - ((m = !y("y", 2)), (T = S), (h = x("y", 2))); - break; - case "Y": - h = x("Y", 2); - break; - case "J": - ((f = x("J") + 0.5), "." === e.charAt(A) && (A++, x("J"))); - break; - case "@": - f = x("@") / this.SECS_PER_DAY + this.UNIX_EPOCH; - break; - case "!": - f = x("!") / this.TICKS_PER_DAY + this.TICKS_EPOCH; - break; - case "*": - A = e.length; - break; - case "'": - y("'") ? M() : (v = !0); - break; - default: - M(); - } - if (A < e.length) - throw i.local.unexpectedText || i.regionalOptions[""].unexpectedText; - if ( - (-1 === h - ? (h = this.today().year()) - : h < 100 && - m && - (h += - -1 === n - ? 1900 - : this.today().year() - - (this.today().year() % 100) - - (h <= n ? 0 : 100)), - "string" == typeof p && (p = s.call(this, h, p)), - g > -1) - ) { - ((p = 1), (d = g)); - for ( - var C = this.daysInMonth(h, p); - d > C; - C = this.daysInMonth(h, p) - ) - (p++, (d -= C)); - } - return f > -1 ? this.fromJD(f) : this.newDate(h, p, d); - }, - determineDate: function (t, e, r, n, i) { - (r && "object" != typeof r && ((i = n), (n = r), (r = null)), - "string" != typeof n && ((i = n), (n = ""))); - var a = this; - return ( - (e = e ? e.newDate() : null), - (t = - null == t - ? e - : "string" == typeof t - ? (function (t) { - try { - return a.parseDate(n, t, i); - } catch (t) {} - for ( - var e = - ((t = t.toLowerCase()).match(/^c/) && r - ? r.newDate() - : null) || a.today(), - o = /([+-]?[0-9]+)\s*(d|w|m|y)?/g, - s = o.exec(t); - s; - - ) - (e.add(parseInt(s[1], 10), s[2] || "d"), (s = o.exec(t))); - return e; - })(t) - : "number" == typeof t - ? isNaN(t) || t === 1 / 0 || t === -1 / 0 - ? e - : a.today().add(t, "d") - : a.newDate(t)) - ); - }, - })); - }, - { "./main": 451, "object-assign": 339 }, - ], - 453: [ - function (t, e, r) { - e.exports = t("cwise-compiler")({ - args: ["array", { offset: [1], array: 0 }, "scalar", "scalar", "index"], - pre: { body: "{}", args: [], thisVars: [], localVars: [] }, - post: { body: "{}", args: [], thisVars: [], localVars: [] }, - body: { - body: "{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }", - args: [ - { name: "_inline_1_arg0_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_1_arg1_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_1_arg2_", lvalue: !1, rvalue: !0, count: 1 }, - { name: "_inline_1_arg3_", lvalue: !1, rvalue: !0, count: 2 }, - { name: "_inline_1_arg4_", lvalue: !1, rvalue: !0, count: 1 }, - ], - thisVars: [], - localVars: ["_inline_1_da", "_inline_1_db"], - }, - funcName: "zeroCrossings", - }); - }, - { "cwise-compiler": 116 }, - ], - 454: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = []; - return ((e = +e || 0), n(t.hi(t.shape[0] - 1), r, e), r); - }; - var n = t("./lib/zc-core"); - }, - { "./lib/zc-core": 453 }, - ], - 455: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("./common_defaults"), - o = t("./attributes"); - e.exports = function (t, e, r, s, l) { - function c(r, i) { - return n.coerce(t, e, o, r, i); - } - s = s || {}; - var u = c("visible", !(l = l || {}).itemIsNotPlainObject), - f = c("clicktoshow"); - if (!u && !f) return e; - a(t, e, r, c); - for ( - var h = e.showarrow, - p = ["x", "y"], - d = [-10, -30], - g = { _fullLayout: r }, - m = 0; - m < 2; - m++ - ) { - var v = p[m], - y = i.coerceRef(t, e, g, v, "", "paper"); - if ((i.coercePosition(e, g, c, y, v, 0.5), h)) { - var x = "a" + v, - b = i.coerceRef(t, e, g, x, "pixel"); - "pixel" !== b && b !== y && (b = e[x] = "pixel"); - var _ = "pixel" === b ? d[m] : 0.4; - i.coercePosition(e, g, c, b, x, _); - } - (c(v + "anchor"), c(v + "shift")); - } - if ( - (n.noneOrAll(t, e, ["x", "y"]), h && n.noneOrAll(t, e, ["ax", "ay"]), f) - ) { - var w = c("xclick"), - k = c("yclick"); - ((e._xclick = void 0 === w ? e.x : i.cleanPosition(w, g, e.xref)), - (e._yclick = void 0 === k ? e.y : i.cleanPosition(k, g, e.yref))); - } - return e; - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "./attributes": 457, - "./common_defaults": 460, - }, - ], - 456: [ - function (t, e, r) { - "use strict"; - e.exports = [ - { path: "", backoff: 0 }, - { path: "M-2.4,-3V3L0.6,0Z", backoff: 0.6 }, - { path: "M-3.7,-2.5V2.5L1.3,0Z", backoff: 1.3 }, - { path: "M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z", backoff: 1.55 }, - { - path: "M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z", - backoff: 1.6, - }, - { path: "M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z", backoff: 2 }, - { path: "M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z", backoff: 0, noRotate: !0 }, - { path: "M2,2V-2H-2V2Z", backoff: 0, noRotate: !0 }, - ]; - }, - {}, - ], - 457: [ - function (t, e, r) { - "use strict"; - var n = t("./arrow_paths"), - i = t("../../plots/font_attributes"), - a = t("../../plots/cartesian/constants"); - e.exports = { - _isLinkedToArray: "annotation", - visible: { - valType: "boolean", - dflt: !0, - editType: "calcIfAutorange+arraydraw", - }, - text: { valType: "string", editType: "calcIfAutorange+arraydraw" }, - textangle: { - valType: "angle", - dflt: 0, - editType: "calcIfAutorange+arraydraw", - }, - font: i({ - editType: "calcIfAutorange+arraydraw", - colorEditType: "arraydraw", - }), - width: { - valType: "number", - min: 1, - dflt: null, - editType: "calcIfAutorange+arraydraw", - }, - height: { - valType: "number", - min: 1, - dflt: null, - editType: "calcIfAutorange+arraydraw", - }, - opacity: { - valType: "number", - min: 0, - max: 1, - dflt: 1, - editType: "arraydraw", - }, - align: { - valType: "enumerated", - values: ["left", "center", "right"], - dflt: "center", - editType: "arraydraw", - }, - valign: { - valType: "enumerated", - values: ["top", "middle", "bottom"], - dflt: "middle", - editType: "arraydraw", - }, - bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)", editType: "arraydraw" }, - bordercolor: { - valType: "color", - dflt: "rgba(0,0,0,0)", - editType: "arraydraw", - }, - borderpad: { - valType: "number", - min: 0, - dflt: 1, - editType: "calcIfAutorange+arraydraw", - }, - borderwidth: { - valType: "number", - min: 0, - dflt: 1, - editType: "calcIfAutorange+arraydraw", - }, - showarrow: { - valType: "boolean", - dflt: !0, - editType: "calcIfAutorange+arraydraw", - }, - arrowcolor: { valType: "color", editType: "arraydraw" }, - arrowhead: { - valType: "integer", - min: 0, - max: n.length, - dflt: 1, - editType: "arraydraw", - }, - startarrowhead: { - valType: "integer", - min: 0, - max: n.length, - dflt: 1, - editType: "arraydraw", - }, - arrowside: { - valType: "flaglist", - flags: ["end", "start"], - extras: ["none"], - dflt: "end", - editType: "arraydraw", - }, - arrowsize: { - valType: "number", - min: 0.3, - dflt: 1, - editType: "calcIfAutorange+arraydraw", - }, - startarrowsize: { - valType: "number", - min: 0.3, - dflt: 1, - editType: "calcIfAutorange+arraydraw", - }, - arrowwidth: { - valType: "number", - min: 0.1, - editType: "calcIfAutorange+arraydraw", - }, - standoff: { - valType: "number", - min: 0, - dflt: 0, - editType: "calcIfAutorange+arraydraw", - }, - startstandoff: { - valType: "number", - min: 0, - dflt: 0, - editType: "calcIfAutorange+arraydraw", - }, - ax: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - ay: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - axref: { - valType: "enumerated", - dflt: "pixel", - values: ["pixel", a.idRegex.x.toString()], - editType: "calc", - }, - ayref: { - valType: "enumerated", - dflt: "pixel", - values: ["pixel", a.idRegex.y.toString()], - editType: "calc", - }, - xref: { - valType: "enumerated", - values: ["paper", a.idRegex.x.toString()], - editType: "calc", - }, - x: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - xanchor: { - valType: "enumerated", - values: ["auto", "left", "center", "right"], - dflt: "auto", - editType: "calcIfAutorange+arraydraw", - }, - xshift: { - valType: "number", - dflt: 0, - editType: "calcIfAutorange+arraydraw", - }, - yref: { - valType: "enumerated", - values: ["paper", a.idRegex.y.toString()], - editType: "calc", - }, - y: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - yanchor: { - valType: "enumerated", - values: ["auto", "top", "middle", "bottom"], - dflt: "auto", - editType: "calcIfAutorange+arraydraw", - }, - yshift: { - valType: "number", - dflt: 0, - editType: "calcIfAutorange+arraydraw", - }, - clicktoshow: { - valType: "enumerated", - values: [!1, "onoff", "onout"], - dflt: !1, - editType: "arraydraw", - }, - xclick: { valType: "any", editType: "arraydraw" }, - yclick: { valType: "any", editType: "arraydraw" }, - hovertext: { valType: "string", editType: "arraydraw" }, - hoverlabel: { - bgcolor: { valType: "color", editType: "arraydraw" }, - bordercolor: { valType: "color", editType: "arraydraw" }, - font: i({ editType: "arraydraw" }), - editType: "arraydraw", - }, - captureevents: { valType: "boolean", editType: "arraydraw" }, - editType: "calc", - _deprecated: { ref: { valType: "string", editType: "calc" } }, - }; - }, - { - "../../plots/cartesian/constants": 653, - "../../plots/font_attributes": 674, - "./arrow_paths": 456, - }, - ], - 458: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("./draw").draw; - function o(t) { - var e = t._fullLayout; - n.filterVisible(e.annotations).forEach(function (e) { - var r, - n, - a, - o, - s = i.getFromId(t, e.xref), - l = i.getFromId(t, e.yref), - c = 3 * e.arrowsize * e.arrowwidth || 0, - u = 3 * e.startarrowsize * e.arrowwidth || 0; - (s && - s.autorange && - ((r = c + e.xshift), - (n = c - e.xshift), - (a = u + e.xshift), - (o = u - e.xshift), - e.axref === e.xref - ? (i.expand(s, [s.r2c(e.x)], { ppadplus: r, ppadminus: n }), - i.expand(s, [s.r2c(e.ax)], { - ppadplus: Math.max(e._xpadplus, a), - ppadminus: Math.max(e._xpadminus, o), - })) - : ((a = e.ax ? a + e.ax : a), - (o = e.ax ? o - e.ax : o), - i.expand(s, [s.r2c(e.x)], { - ppadplus: Math.max(e._xpadplus, r, a), - ppadminus: Math.max(e._xpadminus, n, o), - }))), - l && - l.autorange && - ((r = c - e.yshift), - (n = c + e.yshift), - (a = u - e.yshift), - (o = u + e.yshift), - e.ayref === e.yref - ? (i.expand(l, [l.r2c(e.y)], { ppadplus: r, ppadminus: n }), - i.expand(l, [l.r2c(e.ay)], { - ppadplus: Math.max(e._ypadplus, a), - ppadminus: Math.max(e._ypadminus, o), - })) - : ((a = e.ay ? a + e.ay : a), - (o = e.ay ? o - e.ay : o), - i.expand(l, [l.r2c(e.y)], { - ppadplus: Math.max(e._ypadplus, r, a), - ppadminus: Math.max(e._ypadminus, n, o), - })))); - }); - } - e.exports = function (t) { - var e = t._fullLayout, - r = n.filterVisible(e.annotations); - if (r.length && t._fullData.length) { - var s = {}; - for (var l in (r.forEach(function (t) { - ((s[t.xref] = 1), (s[t.yref] = 1)); - }), - s)) { - var c = i.getFromId(t, l); - if (c && c.autorange) return n.syncOrAsync([a, o], t); - } - } - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648, "./draw": 463 }, - ], - 459: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"); - function i(t, e) { - var r, - n, - i, - o, - s, - l, - c, - u = t._fullLayout.annotations, - f = [], - h = [], - p = [], - d = (e || []).length; - for (r = 0; r < u.length; r++) - if ((o = (i = u[r]).clicktoshow)) { - for (n = 0; n < d; n++) - if ( - ((l = (s = e[n]).xaxis), - (c = s.yaxis), - l._id === i.xref && - c._id === i.yref && - l.d2r(s.x) === a(i._xclick, l) && - c.d2r(s.y) === a(i._yclick, c)) - ) { - (i.visible ? ("onout" === o ? h : p) : f).push(r); - break; - } - n === d && i.visible && "onout" === o && h.push(r); - } - return { on: f, off: h, explicitOff: p }; - } - function a(t, e) { - return "log" === e.type ? e.l2r(t) : e.d2r(t); - } - e.exports = { - hasClickToShow: function (t, e) { - var r = i(t, e); - return r.on.length > 0 || r.explicitOff.length > 0; - }, - onClick: function (t, e) { - var r, - a = i(t, e), - o = a.on, - s = a.off.concat(a.explicitOff), - l = {}; - if (!o.length && !s.length) return; - for (r = 0; r < o.length; r++) - l["annotations[" + o[r] + "].visible"] = !0; - for (r = 0; r < s.length; r++) - l["annotations[" + s[r] + "].visible"] = !1; - return n.call("update", t, {}, l); - }, - }; - }, - { "../../registry": 732 }, - ], - 460: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../color"); - e.exports = function (t, e, r, a) { - a("opacity"); - var o = a("bgcolor"), - s = a("bordercolor"), - l = i.opacity(s); - a("borderpad"); - var c = a("borderwidth"), - u = a("showarrow"); - if ( - (a("text", u ? " " : r._dfltTitle.annotation), - a("textangle"), - n.coerceFont(a, "font", r.font), - a("width"), - a("align"), - a("height") && a("valign"), - u) - ) { - var f, - h, - p = a("arrowside"); - (-1 !== p.indexOf("end") && ((f = a("arrowhead")), (h = a("arrowsize"))), - -1 !== p.indexOf("start") && - (a("startarrowhead", f), a("startarrowsize", h)), - a("arrowcolor", l ? e.bordercolor : i.defaultLine), - a("arrowwidth", 2 * ((l && c) || 1)), - a("standoff"), - a("startstandoff")); - } - var d = a("hovertext"), - g = r.hoverlabel || {}; - if (d) { - var m = a( - "hoverlabel.bgcolor", - g.bgcolor || (i.opacity(o) ? i.rgb(o) : i.defaultLine), - ), - v = a("hoverlabel.bordercolor", g.bordercolor || i.contrast(m)); - n.coerceFont(a, "hoverlabel.font", { - family: g.font.family, - size: g.font.size, - color: g.font.color || v, - }); - } - a("captureevents", !!d); - }; - }, - { "../../lib": 602, "../color": 474 }, - ], - 461: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib/to_log_range"); - e.exports = function (t, e, r, a) { - e = e || {}; - var o = "log" === r && "linear" === e.type, - s = "linear" === r && "log" === e.type; - if (o || s) - for ( - var l, c, u = t._fullLayout.annotations, f = e._id.charAt(0), h = 0; - h < u.length; - h++ - ) - ((l = u[h]), - (c = "annotations[" + h + "]."), - l[f + "ref"] === e._id && p(f), - l["a" + f + "ref"] === e._id && p("a" + f)); - function p(t) { - var r = l[t], - s = null; - ((s = o ? i(r, e.range) : Math.pow(10, r)), - n(s) || (s = null), - a(c + t, s)); - } - }; - }, - { "../../lib/to_log_range": 628, "fast-isnumeric": 196 }, - ], - 462: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/array_container_defaults"), - i = t("./annotation_defaults"); - e.exports = function (t, e) { - n(t, e, { name: "annotations", handleItemDefaults: i }); - }; - }, - { "../../plots/array_container_defaults": 644, "./annotation_defaults": 455 }, - ], - 463: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../plots/plots"), - o = t("../../lib"), - s = t("../../plots/cartesian/axes"), - l = t("../color"), - c = t("../drawing"), - u = t("../fx"), - f = t("../../lib/svg_text_utils"), - h = t("../../lib/setcursor"), - p = t("../dragelement"), - d = t("./draw_arrow_head"); - function g(t, e) { - var r = t._fullLayout.annotations[e] || {}; - m(t, r, e, !1, s.getFromId(t, r.xref), s.getFromId(t, r.yref)); - } - function m(t, e, r, a, s, g) { - var m, - v, - y = t._fullLayout, - x = t._fullLayout._size, - b = t._context.edits; - (a - ? ((m = "annotation-" + a), (v = a + ".annotations[" + r + "]")) - : ((m = "annotation"), (v = "annotations[" + r + "]")), - y._infolayer.selectAll("." + m + '[data-index="' + r + '"]').remove()); - var _ = "clip" + y._uid + "_ann" + r; - if (e._input && !1 !== e.visible) { - var w = { x: {}, y: {} }, - k = +e.textangle || 0, - M = y._infolayer - .append("g") - .classed(m, !0) - .attr("data-index", String(r)) - .style("opacity", e.opacity), - A = M.append("g").classed("annotation-text-g", !0), - T = b[e.showarrow ? "annotationTail" : "annotationPosition"], - S = e.captureevents || b.annotationText || T, - C = A.append("g") - .style("pointer-events", S ? "all" : null) - .call(h, "default") - .on("click", function () { - t._dragging = !1; - var i = { - index: r, - annotation: e._input, - fullAnnotation: e, - event: n.event, - }; - (a && (i.subplotId = a), t.emit("plotly_clickannotation", i)); - }); - e.hovertext && - C.on("mouseover", function () { - var r = e.hoverlabel, - n = r.font, - i = this.getBoundingClientRect(), - a = t.getBoundingClientRect(); - u.loneHover( - { - x0: i.left - a.left, - x1: i.right - a.left, - y: (i.top + i.bottom) / 2 - a.top, - text: e.hovertext, - color: r.bgcolor, - borderColor: r.bordercolor, - fontFamily: n.family, - fontSize: n.size, - fontColor: n.color, - }, - { - container: y._hoverlayer.node(), - outerContainer: y._paper.node(), - gd: t, - }, - ); - }).on("mouseout", function () { - u.loneUnhover(y._hoverlayer.node()); - }); - var E = e.borderwidth, - L = e.borderpad, - z = E + L, - P = C.append("rect") - .attr("class", "bg") - .style("stroke-width", E + "px") - .call(l.stroke, e.bordercolor) - .call(l.fill, e.bgcolor), - D = e.width || e.height, - O = y._topclips.selectAll("#" + _).data(D ? [0] : []); - (O.enter() - .append("clipPath") - .classed("annclip", !0) - .attr("id", _) - .append("rect"), - O.exit().remove()); - var I = e.font, - R = C.append("text").classed("annotation-text", !0).text(e.text); - b.annotationText - ? R.call(f.makeEditable, { delegate: C, gd: t }) - .call(B) - .on("edit", function (r) { - ((e.text = r), this.call(B)); - var n = {}; - ((n[v + ".text"] = e.text), - s && s.autorange && (n[s._name + ".autorange"] = !0), - g && g.autorange && (n[g._name + ".autorange"] = !0), - i.call("relayout", t, n)); - }) - : R.call(B); - } else n.selectAll("#" + _).remove(); - function B(r) { - return ( - r.call(c.font, I).attr({ - "text-anchor": { left: "start", right: "end" }[e.align] || "middle", - }), - f.convertToTspans(r, t, F), - r - ); - } - function F() { - var r = R.selectAll("a"); - 1 === r.size() && - r.text() === R.text() && - C.insert("a", ":first-child") - .attr({ - "xlink:xlink:href": r.attr("xlink:href"), - "xlink:xlink:show": r.attr("xlink:show"), - }) - .style({ cursor: "pointer" }) - .node() - .appendChild(P.node()); - var n = C.select(".annotation-text-math-group"), - u = !n.empty(), - m = c.bBox((u ? n : R).node()), - S = m.width, - L = m.height, - I = e.width || S, - B = e.height || L, - F = Math.round(I + 2 * z), - N = Math.round(B + 2 * z); - function j(t, e) { - return ( - "auto" === e && - (e = t < 1 / 3 ? "left" : t > 2 / 3 ? "right" : "center"), - { - center: 0, - middle: 0, - left: 0.5, - bottom: -0.5, - right: -0.5, - top: 0.5, - }[e] - ); - } - ((e._w = I), (e._h = B)); - for (var V = !1, U = ["x", "y"], q = 0; q < U.length; q++) { - var H, - G, - W, - Y, - X, - Z = U[q], - J = e[Z + "ref"] || Z, - K = e["a" + Z + "ref"], - Q = { x: s, y: g }[Z], - $ = ((k + ("x" === Z ? 0 : -90)) * Math.PI) / 180, - tt = F * Math.cos($), - et = N * Math.sin($), - rt = Math.abs(tt) + Math.abs(et), - nt = e[Z + "anchor"], - it = e[Z + "shift"] * ("x" === Z ? 1 : -1), - at = w[Z]; - if (Q) { - var ot = Q.r2fraction(e[Z]); - if ( - (t._dragging || !Q.autorange) && - (ot < 0 || ot > 1) && - (K === J - ? ((ot = Q.r2fraction(e["a" + Z])) < 0 || ot > 1) && (V = !0) - : (V = !0), - V) - ) - continue; - ((H = Q._offset + Q.r2p(e[Z])), (Y = 0.5)); - } else - ("x" === Z - ? ((W = e[Z]), (H = x.l + x.w * W)) - : ((W = 1 - e[Z]), (H = x.t + x.h * W)), - (Y = e.showarrow ? 0.5 : W)); - if (e.showarrow) { - at.head = H; - var st = e["a" + Z]; - ((X = tt * j(0.5, e.xanchor) - et * j(0.5, e.yanchor)), - K === J - ? ((at.tail = Q._offset + Q.r2p(st)), (G = X)) - : ((at.tail = H + st), (G = X + st)), - (at.text = at.tail + X)); - var lt = y["x" === Z ? "width" : "height"]; - if ( - ("paper" === J && (at.head = o.constrain(at.head, 1, lt - 1)), - "pixel" === K) - ) { - var ct = -Math.max(at.tail - 3, at.text), - ut = Math.min(at.tail + 3, at.text) - lt; - ct > 0 - ? ((at.tail += ct), (at.text += ct)) - : ut > 0 && ((at.tail -= ut), (at.text -= ut)); - } - ((at.tail += it), (at.head += it)); - } else ((G = X = rt * j(Y, nt)), (at.text = H + X)); - ((at.text += it), - (X += it), - (G += it), - (e["_" + Z + "padplus"] = rt / 2 + G), - (e["_" + Z + "padminus"] = rt / 2 - G), - (e["_" + Z + "size"] = rt), - (e["_" + Z + "shift"] = X)); - } - if (V) C.remove(); - else { - var ft = 0, - ht = 0; - if ( - ("left" !== e.align && - (ft = (I - S) * ("center" === e.align ? 0.5 : 1)), - "top" !== e.valign && - (ht = (B - L) * ("middle" === e.valign ? 0.5 : 1)), - u) - ) - n.select("svg") - .attr({ x: z + ft - 1, y: z + ht }) - .call(c.setClipUrl, D ? _ : null); - else { - var pt = z + ht - m.top, - dt = z + ft - m.left; - R.call(f.positionText, dt, pt).call(c.setClipUrl, D ? _ : null); - } - (O.select("rect").call(c.setRect, z, z, I, B), - P.call(c.setRect, E / 2, E / 2, F - E, N - E), - C.call( - c.setTranslate, - Math.round(w.x.text - F / 2), - Math.round(w.y.text - N / 2), - ), - A.attr({ - transform: "rotate(" + k + "," + w.x.text + "," + w.y.text + ")", - })); - var gt, - mt, - vt = function (r, n) { - M.selectAll(".annotation-arrow-g").remove(); - var u = w.x.head, - f = w.y.head, - h = w.x.tail + r, - m = w.y.tail + n, - y = w.x.text + r, - _ = w.y.text + n, - T = o.rotationXYMatrix(k, y, _), - S = o.apply2DTransform(T), - E = o.apply2DTransform2(T), - L = +P.attr("width"), - z = +P.attr("height"), - D = y - 0.5 * L, - O = D + L, - I = _ - 0.5 * z, - R = I + z, - B = [ - [D, I, D, R], - [D, R, O, R], - [O, R, O, I], - [O, I, D, I], - ].map(E); - if ( - !B.reduce(function (t, e) { - return ( - t ^ - !!o.segmentsIntersect( - u, - f, - u + 1e6, - f + 1e6, - e[0], - e[1], - e[2], - e[3], - ) - ); - }, !1) - ) { - B.forEach(function (t) { - var e = o.segmentsIntersect(h, m, u, f, t[0], t[1], t[2], t[3]); - e && ((h = e.x), (m = e.y)); - }); - var F = e.arrowwidth, - N = e.arrowcolor, - j = e.arrowside, - V = M.append("g") - .style({ opacity: l.opacity(N) }) - .classed("annotation-arrow-g", !0), - U = V.append("path") - .attr("d", "M" + h + "," + m + "L" + u + "," + f) - .style("stroke-width", F + "px") - .call(l.stroke, l.rgb(N)); - if ( - (d(U, j, e), b.annotationPosition && U.node().parentNode && !a) - ) { - var q = u, - H = f; - if (e.standoff) { - var G = Math.sqrt(Math.pow(u - h, 2) + Math.pow(f - m, 2)); - ((q += (e.standoff * (h - u)) / G), - (H += (e.standoff * (m - f)) / G)); - } - var W, - Y, - X, - Z = V.append("path") - .classed("annotation-arrow", !0) - .classed("anndrag", !0) - .attr({ - d: "M3,3H-3V-3H3ZM0,0L" + (h - q) + "," + (m - H), - transform: "translate(" + q + "," + H + ")", - }) - .style("stroke-width", F + 6 + "px") - .call(l.stroke, "rgba(0,0,0,0)") - .call(l.fill, "rgba(0,0,0,0)"); - p.init({ - element: Z.node(), - gd: t, - prepFn: function () { - var t = c.getTranslate(C); - ((Y = t.x), - (X = t.y), - (W = {}), - s && s.autorange && (W[s._name + ".autorange"] = !0), - g && g.autorange && (W[g._name + ".autorange"] = !0)); - }, - moveFn: function (t, r) { - var n = S(Y, X), - i = n[0] + t, - a = n[1] + r; - (C.call(c.setTranslate, i, a), - (W[v + ".x"] = s ? s.p2r(s.r2p(e.x) + t) : e.x + t / x.w), - (W[v + ".y"] = g ? g.p2r(g.r2p(e.y) + r) : e.y - r / x.h), - e.axref === e.xref && - (W[v + ".ax"] = s.p2r(s.r2p(e.ax) + t)), - e.ayref === e.yref && - (W[v + ".ay"] = g.p2r(g.r2p(e.ay) + r)), - V.attr("transform", "translate(" + t + "," + r + ")"), - A.attr({ - transform: "rotate(" + k + "," + i + "," + a + ")", - })); - }, - doneFn: function () { - i.call("relayout", t, W); - var e = document.querySelector(".js-notes-box-panel"); - e && e.redraw(e.selectedObj); - }, - }); - } - } - }; - if ((e.showarrow && vt(0, 0), T)) - p.init({ - element: C.node(), - gd: t, - prepFn: function () { - ((mt = A.attr("transform")), (gt = {})); - }, - moveFn: function (t, r) { - var n = "pointer"; - if (e.showarrow) - (e.axref === e.xref - ? (gt[v + ".ax"] = s.p2r(s.r2p(e.ax) + t)) - : (gt[v + ".ax"] = e.ax + t), - e.ayref === e.yref - ? (gt[v + ".ay"] = g.p2r(g.r2p(e.ay) + r)) - : (gt[v + ".ay"] = e.ay + r), - vt(t, r)); - else { - if (a) return; - if (s) gt[v + ".x"] = s.p2r(s.r2p(e.x) + t); - else { - var i = e._xsize / x.w, - o = e.x + (e._xshift - e.xshift) / x.w - i / 2; - gt[v + ".x"] = p.align(o + t / x.w, i, 0, 1, e.xanchor); - } - if (g) gt[v + ".y"] = g.p2r(g.r2p(e.y) + r); - else { - var l = e._ysize / x.h, - c = e.y - (e._yshift + e.yshift) / x.h - l / 2; - gt[v + ".y"] = p.align(c - r / x.h, l, 0, 1, e.yanchor); - } - (s && g) || - (n = p.getCursor( - s ? 0.5 : gt[v + ".x"], - g ? 0.5 : gt[v + ".y"], - e.xanchor, - e.yanchor, - )); - } - (A.attr({ transform: "translate(" + t + "," + r + ")" + mt }), - h(C, n)); - }, - doneFn: function () { - (h(C), i.call("relayout", t, gt)); - var e = document.querySelector(".js-notes-box-panel"); - e && e.redraw(e.selectedObj); - }, - }); - } - } - } - e.exports = { - draw: function (t) { - var e = t._fullLayout; - e._infolayer.selectAll(".annotation").remove(); - for (var r = 0; r < e.annotations.length; r++) - e.annotations[r].visible && g(t, r); - return a.previousPromises(t); - }, - drawOne: g, - drawRaw: m, - }; - }, - { - "../../lib": 602, - "../../lib/setcursor": 622, - "../../lib/svg_text_utils": 626, - "../../plots/cartesian/axes": 648, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "../fx": 516, - "./draw_arrow_head": 464, - d3: 130, - }, - ], - 464: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../color"), - a = t("./arrow_paths"); - e.exports = function (t, e, r) { - var o, - s, - l, - c, - u = t.node(), - f = a[r.arrowhead || 0], - h = a[r.startarrowhead || 0], - p = (r.arrowwidth || 1) * (r.arrowsize || 1), - d = (r.arrowwidth || 1) * (r.startarrowsize || 1), - g = e.indexOf("start") >= 0, - m = e.indexOf("end") >= 0, - v = f.backoff * p + r.standoff, - y = h.backoff * d + r.startstandoff; - if ("line" === u.nodeName) { - ((o = { x: +t.attr("x1"), y: +t.attr("y1") }), - (s = { x: +t.attr("x2"), y: +t.attr("y2") })); - var x = o.x - s.x, - b = o.y - s.y; - if ( - ((c = (l = Math.atan2(b, x)) + Math.PI), - v && y && v + y > Math.sqrt(x * x + b * b)) - ) - return void z(); - if (v) { - if (v * v > x * x + b * b) return void z(); - var _ = v * Math.cos(l), - w = v * Math.sin(l); - ((s.x += _), (s.y += w), t.attr({ x2: s.x, y2: s.y })); - } - if (y) { - if (y * y > x * x + b * b) return void z(); - var k = y * Math.cos(l), - M = y * Math.sin(l); - ((o.x -= k), (o.y -= M), t.attr({ x1: o.x, y1: o.y })); - } - } else if ("path" === u.nodeName) { - var A = u.getTotalLength(), - T = ""; - if (A < v + y) return void z(); - var S = u.getPointAtLength(0), - C = u.getPointAtLength(0.1); - ((l = Math.atan2(S.y - C.y, S.x - C.x)), - (o = u.getPointAtLength(Math.min(y, A))), - (T = "0px," + y + "px,")); - var E = u.getPointAtLength(A), - L = u.getPointAtLength(A - 0.1); - ((c = Math.atan2(E.y - L.y, E.x - L.x)), - (s = u.getPointAtLength(Math.max(0, A - v))), - (T += A - (T ? y + v : v) + "px," + A + "px"), - t.style("stroke-dasharray", T)); - } - function z() { - t.style("stroke-dasharray", "0px,100px"); - } - function P(e, a, o, s) { - e.path && - (e.noRotate && (o = 0), - n - .select(u.parentNode) - .append("path") - .attr({ - class: t.attr("class"), - d: e.path, - transform: - "translate(" + - a.x + - "," + - a.y + - ")" + - (o ? "rotate(" + (180 * o) / Math.PI + ")" : "") + - "scale(" + - s + - ")", - }) - .style({ fill: i.rgb(r.arrowcolor), "stroke-width": 0 })); - } - (g && P(h, o, l, d), m && P(f, s, c, p)); - }; - }, - { "../color": 474, "./arrow_paths": 456, d3: 130 }, - ], - 465: [ - function (t, e, r) { - "use strict"; - var n = t("./draw"), - i = t("./click"); - e.exports = { - moduleType: "component", - name: "annotations", - layoutAttributes: t("./attributes"), - supplyLayoutDefaults: t("./defaults"), - includeBasePlot: t("../../plots/cartesian/include_components")( - "annotations", - ), - calcAutorange: t("./calc_autorange"), - draw: n.draw, - drawOne: n.drawOne, - drawRaw: n.drawRaw, - hasClickToShow: i.hasClickToShow, - onClick: i.onClick, - convertCoords: t("./convert_coords"), - }; - }, - { - "../../plots/cartesian/include_components": 658, - "./attributes": 457, - "./calc_autorange": 458, - "./click": 459, - "./convert_coords": 461, - "./defaults": 462, - "./draw": 463, - }, - ], - 466: [ - function (t, e, r) { - "use strict"; - var n = t("../annotations/attributes"), - i = t("../../plot_api/edit_types").overrideAll; - e.exports = i( - { - _isLinkedToArray: "annotation", - visible: n.visible, - x: { valType: "any" }, - y: { valType: "any" }, - z: { valType: "any" }, - ax: { valType: "number" }, - ay: { valType: "number" }, - xanchor: n.xanchor, - xshift: n.xshift, - yanchor: n.yanchor, - yshift: n.yshift, - text: n.text, - textangle: n.textangle, - font: n.font, - width: n.width, - height: n.height, - opacity: n.opacity, - align: n.align, - valign: n.valign, - bgcolor: n.bgcolor, - bordercolor: n.bordercolor, - borderpad: n.borderpad, - borderwidth: n.borderwidth, - showarrow: n.showarrow, - arrowcolor: n.arrowcolor, - arrowhead: n.arrowhead, - startarrowhead: n.startarrowhead, - arrowside: n.arrowside, - arrowsize: n.arrowsize, - startarrowsize: n.startarrowsize, - arrowwidth: n.arrowwidth, - standoff: n.standoff, - startstandoff: n.startstandoff, - hovertext: n.hovertext, - hoverlabel: n.hoverlabel, - captureevents: n.captureevents, - }, - "calc", - "from-root", - ); - }, - { "../../plot_api/edit_types": 633, "../annotations/attributes": 457 }, - ], - 467: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"); - function a(t, e) { - var r = e.fullSceneLayout.domain, - a = e.fullLayout._size, - o = { - pdata: null, - type: "linear", - autorange: !1, - range: [-1 / 0, 1 / 0], - }; - ((t._xa = {}), - n.extendFlat(t._xa, o), - i.setConvert(t._xa), - (t._xa._offset = a.l + r.x[0] * a.w), - (t._xa.l2p = function () { - return 0.5 * (1 + t._pdata[0] / t._pdata[3]) * a.w * (r.x[1] - r.x[0]); - }), - (t._ya = {}), - n.extendFlat(t._ya, o), - i.setConvert(t._ya), - (t._ya._offset = a.t + (1 - r.y[1]) * a.h), - (t._ya.l2p = function () { - return 0.5 * (1 - t._pdata[1] / t._pdata[3]) * a.h * (r.y[1] - r.y[0]); - })); - } - e.exports = function (t) { - for (var e = t.fullSceneLayout.annotations, r = 0; r < e.length; r++) - a(e[r], t); - t.fullLayout._infolayer.selectAll(".annotation-" + t.id).remove(); - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648 }, - ], - 468: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../../plots/array_container_defaults"), - o = t("../annotations/common_defaults"), - s = t("./attributes"); - function l(t, e, r, a, l) { - function c(r, i) { - return n.coerce(t, e, s, r, i); - } - function u(t) { - var n = t + "axis", - a = { _fullLayout: {} }; - return ((a._fullLayout[n] = r[n]), i.coercePosition(e, a, c, t, t, 0.5)); - } - return c("visible", !l.itemIsNotPlainObject) - ? (o(t, e, a.fullLayout, c), - u("x"), - u("y"), - u("z"), - n.noneOrAll(t, e, ["x", "y", "z"]), - (e.xref = "x"), - (e.yref = "y"), - (e.zref = "z"), - c("xanchor"), - c("yanchor"), - c("xshift"), - c("yshift"), - e.showarrow && - ((e.axref = "pixel"), - (e.ayref = "pixel"), - c("ax", -10), - c("ay", -30), - n.noneOrAll(t, e, ["ax", "ay"])), - e) - : e; - } - e.exports = function (t, e, r) { - a(t, e, { - name: "annotations", - handleItemDefaults: l, - fullLayout: r.fullLayout, - }); - }; - }, - { - "../../lib": 602, - "../../plots/array_container_defaults": 644, - "../../plots/cartesian/axes": 648, - "../annotations/common_defaults": 460, - "./attributes": 466, - }, - ], - 469: [ - function (t, e, r) { - "use strict"; - var n = t("../annotations/draw").drawRaw, - i = t("../../plots/gl3d/project"), - a = ["x", "y", "z"]; - e.exports = function (t) { - for ( - var e = t.fullSceneLayout, r = t.dataScale, o = e.annotations, s = 0; - s < o.length; - s++ - ) { - for (var l = o[s], c = !1, u = 0; u < 3; u++) { - var f = a[u], - h = l[f], - p = e[f + "axis"].r2fraction(h); - if (p < 0 || p > 1) { - c = !0; - break; - } - } - c - ? t.fullLayout._infolayer - .select(".annotation-" + t.id + '[data-index="' + s + '"]') - .remove() - : ((l._pdata = i(t.glplot.cameraParams, [ - e.xaxis.r2l(l.x) * r[0], - e.yaxis.r2l(l.y) * r[1], - e.zaxis.r2l(l.z) * r[2], - ])), - n(t.graphDiv, l, s, t.id, l._xa, l._ya)); - } - }; - }, - { "../../plots/gl3d/project": 699, "../annotations/draw": 463 }, - ], - 470: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"); - e.exports = { - moduleType: "component", - name: "annotations3d", - schema: { subplots: { scene: { annotations: t("./attributes") } } }, - layoutAttributes: t("./attributes"), - handleDefaults: t("./defaults"), - includeBasePlot: function (t, e) { - var r = n.subplotsRegistry.gl3d; - if (!r) return; - for (var a = r.attrRegex, o = Object.keys(t), s = 0; s < o.length; s++) { - var l = o[s]; - a.test(l) && - (t[l].annotations || []).length && - (i.pushUnique(e._basePlotModules, r), - i.pushUnique(e._subplots.gl3d, l)); - } - }, - convert: t("./convert"), - draw: t("./draw"), - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "./attributes": 466, - "./convert": 467, - "./defaults": 468, - "./draw": 469, - }, - ], - 471: [ - function (t, e, r) { - "use strict"; - ((e.exports = t("world-calendars/dist/main")), - t("world-calendars/dist/plus"), - t("world-calendars/dist/calendars/chinese"), - t("world-calendars/dist/calendars/coptic"), - t("world-calendars/dist/calendars/discworld"), - t("world-calendars/dist/calendars/ethiopian"), - t("world-calendars/dist/calendars/hebrew"), - t("world-calendars/dist/calendars/islamic"), - t("world-calendars/dist/calendars/julian"), - t("world-calendars/dist/calendars/mayan"), - t("world-calendars/dist/calendars/nanakshahi"), - t("world-calendars/dist/calendars/nepali"), - t("world-calendars/dist/calendars/persian"), - t("world-calendars/dist/calendars/taiwan"), - t("world-calendars/dist/calendars/thai"), - t("world-calendars/dist/calendars/ummalqura")); - }, - { - "world-calendars/dist/calendars/chinese": 437, - "world-calendars/dist/calendars/coptic": 438, - "world-calendars/dist/calendars/discworld": 439, - "world-calendars/dist/calendars/ethiopian": 440, - "world-calendars/dist/calendars/hebrew": 441, - "world-calendars/dist/calendars/islamic": 442, - "world-calendars/dist/calendars/julian": 443, - "world-calendars/dist/calendars/mayan": 444, - "world-calendars/dist/calendars/nanakshahi": 445, - "world-calendars/dist/calendars/nepali": 446, - "world-calendars/dist/calendars/persian": 447, - "world-calendars/dist/calendars/taiwan": 448, - "world-calendars/dist/calendars/thai": 449, - "world-calendars/dist/calendars/ummalqura": 450, - "world-calendars/dist/main": 451, - "world-calendars/dist/plus": 452, - }, - ], - 472: [ - function (t, e, r) { - "use strict"; - var n = t("./calendars"), - i = t("../../lib"), - a = t("../../constants/numerical"), - o = a.EPOCHJD, - s = a.ONEDAY, - l = { - valType: "enumerated", - values: Object.keys(n.calendars), - editType: "calc", - dflt: "gregorian", - }, - c = function (t, e, r, n) { - var a = {}; - return ((a[r] = l), i.coerce(t, e, a, r, n)); - }, - u = "##", - f = { - d: { 0: "dd", "-": "d" }, - e: { 0: "d", "-": "d" }, - a: { 0: "D", "-": "D" }, - A: { 0: "DD", "-": "DD" }, - j: { 0: "oo", "-": "o" }, - W: { 0: "ww", "-": "w" }, - m: { 0: "mm", "-": "m" }, - b: { 0: "M", "-": "M" }, - B: { 0: "MM", "-": "MM" }, - y: { 0: "yy", "-": "yy" }, - Y: { 0: "yyyy", "-": "yyyy" }, - U: u, - w: u, - c: { 0: "D M d %X yyyy", "-": "D M d %X yyyy" }, - x: { 0: "mm/dd/yyyy", "-": "mm/dd/yyyy" }, - }; - var h = {}; - function p(t) { - var e = h[t]; - return e || (e = h[t] = n.instance(t)); - } - function d(t) { - return i.extendFlat({}, l, { description: t }); - } - function g(t) { - return "Sets the calendar system to use with `" + t + "` date data."; - } - var m = { xcalendar: d(g("x")) }, - v = i.extendFlat({}, m, { ycalendar: d(g("y")) }), - y = i.extendFlat({}, v, { zcalendar: d(g("z")) }), - x = d( - [ - "Sets the calendar system to use for `range` and `tick0`", - "if this is a date axis. This does not set the calendar for", - "interpreting data on this axis, that's specified in the trace", - "or via the global `layout.calendar`", - ].join(" "), - ); - e.exports = { - moduleType: "component", - name: "calendars", - schema: { - traces: { - scatter: v, - bar: v, - box: v, - heatmap: v, - contour: v, - histogram: v, - histogram2d: v, - histogram2dcontour: v, - scatter3d: y, - surface: y, - mesh3d: y, - scattergl: v, - ohlc: m, - candlestick: m, - }, - layout: { - calendar: d( - [ - "Sets the default calendar system to use for interpreting and", - "displaying dates throughout the plot.", - ].join(" "), - ), - }, - subplots: { - xaxis: { calendar: x }, - yaxis: { calendar: x }, - scene: { - xaxis: { calendar: x }, - yaxis: { calendar: x }, - zaxis: { calendar: x }, - }, - polar: { radialaxis: { calendar: x } }, - }, - transforms: { - filter: { - valuecalendar: d( - [ - "Sets the calendar system to use for `value`, if it is a date.", - ].join(" "), - ), - targetcalendar: d( - [ - "Sets the calendar system to use for `target`, if it is an", - "array of dates. If `target` is a string (eg *x*) we use the", - "corresponding trace attribute (eg `xcalendar`) if it exists,", - "even if `targetcalendar` is provided.", - ].join(" "), - ), - }, - }, - }, - layoutAttributes: l, - handleDefaults: c, - handleTraceDefaults: function (t, e, r, n) { - for (var i = 0; i < r.length; i++) c(t, e, r[i] + "calendar", n.calendar); - }, - CANONICAL_SUNDAY: { - chinese: "2000-01-02", - coptic: "2000-01-03", - discworld: "2000-01-03", - ethiopian: "2000-01-05", - hebrew: "5000-01-01", - islamic: "1000-01-02", - julian: "2000-01-03", - mayan: "5000-01-01", - nanakshahi: "1000-01-05", - nepali: "2000-01-05", - persian: "1000-01-01", - jalali: "1000-01-01", - taiwan: "1000-01-04", - thai: "2000-01-04", - ummalqura: "1400-01-06", - }, - CANONICAL_TICK: { - chinese: "2000-01-01", - coptic: "2000-01-01", - discworld: "2000-01-01", - ethiopian: "2000-01-01", - hebrew: "5000-01-01", - islamic: "1000-01-01", - julian: "2000-01-01", - mayan: "5000-01-01", - nanakshahi: "1000-01-01", - nepali: "2000-01-01", - persian: "1000-01-01", - jalali: "1000-01-01", - taiwan: "1000-01-01", - thai: "2000-01-01", - ummalqura: "1400-01-01", - }, - DFLTRANGE: { - chinese: ["2000-01-01", "2001-01-01"], - coptic: ["1700-01-01", "1701-01-01"], - discworld: ["1800-01-01", "1801-01-01"], - ethiopian: ["2000-01-01", "2001-01-01"], - hebrew: ["5700-01-01", "5701-01-01"], - islamic: ["1400-01-01", "1401-01-01"], - julian: ["2000-01-01", "2001-01-01"], - mayan: ["5200-01-01", "5201-01-01"], - nanakshahi: ["0500-01-01", "0501-01-01"], - nepali: ["2000-01-01", "2001-01-01"], - persian: ["1400-01-01", "1401-01-01"], - jalali: ["1400-01-01", "1401-01-01"], - taiwan: ["0100-01-01", "0101-01-01"], - thai: ["2500-01-01", "2501-01-01"], - ummalqura: ["1400-01-01", "1401-01-01"], - }, - getCal: p, - worldCalFmt: function (t, e, r) { - for ( - var n, - i, - a, - l, - c, - h = Math.floor((e + 0.05) / s) + o, - d = p(r).fromJD(h), - g = 0; - -1 !== (g = t.indexOf("%", g)); - - ) - ("0" === (n = t.charAt(g + 1)) || "-" === n || "_" === n - ? ((a = 3), (i = t.charAt(g + 2)), "_" === n && (n = "-")) - : ((i = n), (n = "0"), (a = 2)), - (l = f[i]) - ? ((c = l === u ? u : d.formatDate(l[n])), - (t = t.substr(0, g) + c + t.substr(g + a)), - (g += c.length)) - : (g += a)); - return t; - }, - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "./calendars": 471 }, - ], - 473: [ - function (t, e, r) { - "use strict"; - ((r.defaults = [ - "#1f77b4", - "#ff7f0e", - "#2ca02c", - "#d62728", - "#9467bd", - "#8c564b", - "#e377c2", - "#7f7f7f", - "#bcbd22", - "#17becf", - ]), - (r.defaultLine = "#444"), - (r.lightLine = "#eee"), - (r.background = "#fff"), - (r.borderLine = "#BEC8D9"), - (r.lightFraction = 1e3 / 11)); - }, - {}, - ], - 474: [ - function (t, e, r) { - "use strict"; - var n = t("tinycolor2"), - i = t("fast-isnumeric"), - a = (e.exports = {}), - o = t("./attributes"); - a.defaults = o.defaults; - var s = (a.defaultLine = o.defaultLine); - a.lightLine = o.lightLine; - var l = (a.background = o.background); - function c(t) { - if (i(t) || "string" != typeof t) return t; - var e = t.trim(); - if ("rgb" !== e.substr(0, 3)) return t; - var r = e.match(/^rgba?\s*\(([^()]*)\)$/); - if (!r) return t; - var n = r[1].trim().split(/\s*[\s,]\s*/), - a = "a" === e.charAt(3) && 4 === n.length; - if (!a && 3 !== n.length) return t; - for (var o = 0; o < n.length; o++) { - if (!n[o].length) return t; - if (((n[o] = Number(n[o])), !(n[o] >= 0))) return t; - if (3 === o) n[o] > 1 && (n[o] = 1); - else if (n[o] >= 1) return t; - } - var s = - Math.round(255 * n[0]) + - ", " + - Math.round(255 * n[1]) + - ", " + - Math.round(255 * n[2]); - return a ? "rgba(" + s + ", " + n[3] + ")" : "rgb(" + s + ")"; - } - ((a.tinyRGB = function (t) { - var e = t.toRgb(); - return ( - "rgb(" + - Math.round(e.r) + - ", " + - Math.round(e.g) + - ", " + - Math.round(e.b) + - ")" - ); - }), - (a.rgb = function (t) { - return a.tinyRGB(n(t)); - }), - (a.opacity = function (t) { - return t ? n(t).getAlpha() : 0; - }), - (a.addOpacity = function (t, e) { - var r = n(t).toRgb(); - return ( - "rgba(" + - Math.round(r.r) + - ", " + - Math.round(r.g) + - ", " + - Math.round(r.b) + - ", " + - e + - ")" - ); - }), - (a.combine = function (t, e) { - var r = n(t).toRgb(); - if (1 === r.a) return n(t).toRgbString(); - var i = n(e || l).toRgb(), - a = - 1 === i.a - ? i - : { - r: 255 * (1 - i.a) + i.r * i.a, - g: 255 * (1 - i.a) + i.g * i.a, - b: 255 * (1 - i.a) + i.b * i.a, - }, - o = { - r: a.r * (1 - r.a) + r.r * r.a, - g: a.g * (1 - r.a) + r.g * r.a, - b: a.b * (1 - r.a) + r.b * r.a, - }; - return n(o).toRgbString(); - }), - (a.contrast = function (t, e, r) { - var i = n(t); - return ( - 1 !== i.getAlpha() && (i = n(a.combine(t, l))), - (i.isDark() ? (e ? i.lighten(e) : l) : r ? i.darken(r) : s).toString() - ); - }), - (a.stroke = function (t, e) { - var r = n(e); - t.style({ stroke: a.tinyRGB(r), "stroke-opacity": r.getAlpha() }); - }), - (a.fill = function (t, e) { - var r = n(e); - t.style({ fill: a.tinyRGB(r), "fill-opacity": r.getAlpha() }); - }), - (a.clean = function (t) { - if (t && "object" == typeof t) { - var e, - r, - n, - i, - o = Object.keys(t); - for (e = 0; e < o.length; e++) - if (((i = t[(n = o[e])]), "color" === n.substr(n.length - 5))) - if (Array.isArray(i)) for (r = 0; r < i.length; r++) i[r] = c(i[r]); - else t[n] = c(i); - else if ("colorscale" === n.substr(n.length - 10) && Array.isArray(i)) - for (r = 0; r < i.length; r++) - Array.isArray(i[r]) && (i[r][1] = c(i[r][1])); - else if (Array.isArray(i)) { - var s = i[0]; - if (!Array.isArray(s) && s && "object" == typeof s) - for (r = 0; r < i.length; r++) a.clean(i[r]); - } else i && "object" == typeof i && a.clean(i); - } - })); - }, - { "./attributes": 473, "fast-isnumeric": 196, tinycolor2: 415 }, - ], - 475: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/layout_attributes"), - i = t("../../plots/font_attributes"), - a = t("../../lib/extend").extendFlat, - o = t("../../plot_api/edit_types").overrideAll; - e.exports = o( - { - thicknessmode: { - valType: "enumerated", - values: ["fraction", "pixels"], - dflt: "pixels", - }, - thickness: { valType: "number", min: 0, dflt: 30 }, - lenmode: { - valType: "enumerated", - values: ["fraction", "pixels"], - dflt: "fraction", - }, - len: { valType: "number", min: 0, dflt: 1 }, - x: { valType: "number", dflt: 1.02, min: -2, max: 3 }, - xanchor: { - valType: "enumerated", - values: ["left", "center", "right"], - dflt: "left", - }, - xpad: { valType: "number", min: 0, dflt: 10 }, - y: { valType: "number", dflt: 0.5, min: -2, max: 3 }, - yanchor: { - valType: "enumerated", - values: ["top", "middle", "bottom"], - dflt: "middle", - }, - ypad: { valType: "number", min: 0, dflt: 10 }, - outlinecolor: n.linecolor, - outlinewidth: n.linewidth, - bordercolor: n.linecolor, - borderwidth: { valType: "number", min: 0, dflt: 0 }, - bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)" }, - tickmode: n.tickmode, - nticks: n.nticks, - tick0: n.tick0, - dtick: n.dtick, - tickvals: n.tickvals, - ticktext: n.ticktext, - ticks: a({}, n.ticks, { dflt: "" }), - ticklen: n.ticklen, - tickwidth: n.tickwidth, - tickcolor: n.tickcolor, - showticklabels: n.showticklabels, - tickfont: i({}), - tickangle: n.tickangle, - tickformat: n.tickformat, - tickformatstops: n.tickformatstops, - tickprefix: n.tickprefix, - showtickprefix: n.showtickprefix, - ticksuffix: n.ticksuffix, - showticksuffix: n.showticksuffix, - separatethousands: n.separatethousands, - exponentformat: n.exponentformat, - showexponent: n.showexponent, - title: { valType: "string" }, - titlefont: i({}), - titleside: { - valType: "enumerated", - values: ["right", "top", "bottom"], - dflt: "top", - }, - }, - "colorbars", - "from-root", - ); - }, - { - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/cartesian/layout_attributes": 660, - "../../plots/font_attributes": 674, - }, - ], - 476: [ - function (t, e, r) { - "use strict"; - e.exports = { - cn: { - colorbar: "colorbar", - cbbg: "cbbg", - cbfill: "cbfill", - cbfills: "cbfills", - cbline: "cbline", - cblines: "cblines", - cbaxis: "cbaxis", - cbtitleunshift: "cbtitleunshift", - cbtitle: "cbtitle", - cboutline: "cboutline", - crisp: "crisp", - jsPlaceholder: "js-placeholder", - }, - }; - }, - {}, - ], - 477: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/tick_value_defaults"), - a = t("../../plots/cartesian/tick_mark_defaults"), - o = t("../../plots/cartesian/tick_label_defaults"), - s = t("./attributes"); - e.exports = function (t, e, r) { - var l = (e.colorbar = {}), - c = t.colorbar || {}; - function u(t, e) { - return n.coerce(c, l, s, t, e); - } - (u( - "thickness", - "fraction" === u("thicknessmode") - ? 30 / (r.width - r.margin.l - r.margin.r) - : 30, - ), - u( - "len", - "fraction" === u("lenmode") ? 1 : r.height - r.margin.t - r.margin.b, - ), - u("x"), - u("xanchor"), - u("xpad"), - u("y"), - u("yanchor"), - u("ypad"), - n.noneOrAll(c, l, ["x", "y"]), - u("outlinecolor"), - u("outlinewidth"), - u("bordercolor"), - u("borderwidth"), - u("bgcolor"), - i(c, l, u, "linear")); - var f = { outerTicks: !1, font: r.font }; - (o(c, l, u, "linear", f), - a(c, l, u, "linear", f), - u("title", r._dfltTitle.colorbar), - n.coerceFont(u, "titlefont", r.font), - u("titleside")); - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/tick_label_defaults": 667, - "../../plots/cartesian/tick_mark_defaults": 668, - "../../plots/cartesian/tick_value_defaults": 669, - "./attributes": 475, - }, - ], - 478: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("../../plots/plots"), - o = t("../../registry"), - s = t("../../plots/cartesian/axes"), - l = t("../dragelement"), - c = t("../../lib"), - u = t("../../lib/extend").extendFlat, - f = t("../../lib/setcursor"), - h = t("../drawing"), - p = t("../color"), - d = t("../titles"), - g = t("../../lib/svg_text_utils"), - m = t("../../constants/alignment").LINE_SPACING, - v = t("../../plots/cartesian/axis_defaults"), - y = t("../../plots/cartesian/position_defaults"), - x = t("../../plots/cartesian/layout_attributes"), - b = t("./attributes"), - _ = t("./constants").cn; - e.exports = function (t, e) { - var r = {}; - function w() { - var b = t._fullLayout, - M = b._size; - if ( - "function" == typeof r.fillcolor || - "function" == typeof r.line.color - ) { - var A, - T, - S = n.extent( - ("function" == typeof r.fillcolor - ? r.fillcolor - : r.line.color - ).domain(), - ), - C = [], - E = [], - L = - "function" == typeof r.line.color - ? r.line.color - : function () { - return r.line.color; - }, - z = - "function" == typeof r.fillcolor - ? r.fillcolor - : function () { - return r.fillcolor; - }, - P = r.levels.end + r.levels.size / 100, - D = r.levels.size, - O = 1.001 * S[0] - 0.001 * S[1], - I = 1.001 * S[1] - 0.001 * S[0]; - for ( - T = 0; - T < 1e5 && ((A = r.levels.start + T * D), !(D > 0 ? A >= P : A <= P)); - T++ - ) - A > O && A < I && C.push(A); - if ("function" == typeof r.fillcolor) - if (r.filllevels) - for ( - P = r.filllevels.end + r.filllevels.size / 100, - D = r.filllevels.size, - T = 0; - T < 1e5 && - ((A = r.filllevels.start + T * D), !(D > 0 ? A >= P : A <= P)); - T++ - ) - A > S[0] && A < S[1] && E.push(A); - else - (E = C.map(function (t) { - return t - r.levels.size / 2; - })).push(E[E.length - 1] + r.levels.size); - else r.fillcolor && "string" == typeof r.fillcolor && (E = [0]); - r.levels.size < 0 && (C.reverse(), E.reverse()); - var R, - B = b.height - b.margin.t - b.margin.b, - F = b.width - b.margin.l - b.margin.r, - N = Math.round( - r.thickness * ("fraction" === r.thicknessmode ? F : 1), - ), - j = N / M.w, - V = Math.round(r.len * ("fraction" === r.lenmode ? B : 1)), - U = V / M.h, - q = r.xpad / M.w, - H = (r.borderwidth + r.outlinewidth) / 2, - G = r.ypad / M.h, - W = Math.round(r.x * M.w + r.xpad), - Y = r.x - j * ({ middle: 0.5, right: 1 }[r.xanchor] || 0), - X = r.y + U * (({ top: -0.5, bottom: 0.5 }[r.yanchor] || 0) - 0.5), - Z = Math.round(M.h * (1 - X)), - J = Z - V, - K = { - type: "linear", - range: S, - tickmode: r.tickmode, - nticks: r.nticks, - tick0: r.tick0, - dtick: r.dtick, - tickvals: r.tickvals, - ticktext: r.ticktext, - ticks: r.ticks, - ticklen: r.ticklen, - tickwidth: r.tickwidth, - tickcolor: r.tickcolor, - showticklabels: r.showticklabels, - tickfont: r.tickfont, - tickangle: r.tickangle, - tickformat: r.tickformat, - exponentformat: r.exponentformat, - separatethousands: r.separatethousands, - showexponent: r.showexponent, - showtickprefix: r.showtickprefix, - tickprefix: r.tickprefix, - showticksuffix: r.showticksuffix, - ticksuffix: r.ticksuffix, - title: r.title, - titlefont: r.titlefont, - showline: !0, - anchor: "free", - position: 1, - }, - Q = { type: "linear", _id: "y" + e }, - $ = { letter: "y", font: b.font, noHover: !0, calendar: b.calendar }; - if ( - (v(K, Q, dt, $, b), - y(K, Q, dt, $), - (Q.position = r.x + q + j), - (w.axis = Q), - -1 !== ["top", "bottom"].indexOf(r.titleside) && - ((Q.titleside = r.titleside), - (Q.titlex = r.x + q), - (Q.titley = X + ("top" === r.titleside ? U - G : G))), - r.line.color && "auto" === r.tickmode) - ) { - ((Q.tickmode = "linear"), (Q.tick0 = r.levels.start)); - var tt = r.levels.size, - et = c.constrain((Z - J) / 50, 4, 15) + 1, - rt = (S[1] - S[0]) / ((r.nticks || et) * tt); - if (rt > 1) { - var nt = Math.pow(10, Math.floor(Math.log(rt) / Math.LN10)); - ((tt *= nt * c.roundUp(rt / nt, [2, 5, 10])), - (Math.abs(r.levels.start) / r.levels.size + 1e-6) % 1 < 2e-6 && - (Q.tick0 = 0)); - } - Q.dtick = tt; - } - ((Q.domain = [X + G, X + U - G]), Q.setScale()); - var it = c.ensureSingle(b._infolayer, "g", e, function (t) { - t.classed(_.colorbar, !0).each(function () { - var t = n.select(this); - (t.append("rect").classed(_.cbbg, !0), - t.append("g").classed(_.cbfills, !0), - t.append("g").classed(_.cblines, !0), - t.append("g").classed(_.cbaxis, !0).classed(_.crisp, !0), - t - .append("g") - .classed(_.cbtitleunshift, !0) - .append("g") - .classed(_.cbtitle, !0), - t.append("rect").classed(_.cboutline, !0), - t.select(".cbtitle").datum(0)); - }); - }); - it.attr( - "transform", - "translate(" + Math.round(M.l) + "," + Math.round(M.t) + ")", - ); - var at = it - .select(".cbtitleunshift") - .attr( - "transform", - "translate(-" + Math.round(M.l) + ",-" + Math.round(M.t) + ")", - ); - Q._axislayer = it.select(".cbaxis"); - var ot = 0; - if (-1 !== ["top", "bottom"].indexOf(r.titleside)) { - var st, - lt = M.l + (r.x + q) * M.w, - ct = Q.titlefont.size; - ((st = - "top" === r.titleside - ? (1 - (X + U - G)) * M.h + M.t + 3 + 0.75 * ct - : (1 - (X + G)) * M.h + M.t - 3 - 0.25 * ct), - gt(Q._id + "title", { - attributes: { x: lt, y: st, "text-anchor": "start" }, - })); - } - var ut, - ft, - ht, - pt = c.syncOrAsync( - [ - a.previousPromises, - function () { - if (-1 !== ["top", "bottom"].indexOf(r.titleside)) { - var e = it.select(".cbtitle"), - a = e.select("text"), - o = [-r.outlinewidth / 2, r.outlinewidth / 2], - l = e.select(".h" + Q._id + "title-math-group").node(), - u = 15.6; - if ( - (a.node() && - (u = parseInt(a.node().style.fontSize, 10) * m), - l - ? (ot = h.bBox(l).height) > u && (o[1] -= (ot - u) / 2) - : a.node() && - !a.classed(_.jsPlaceholder) && - (ot = h.bBox(a.node()).height), - ot) - ) { - if (((ot += 5), "top" === r.titleside)) - ((Q.domain[1] -= ot / M.h), (o[1] *= -1)); - else { - Q.domain[0] += ot / M.h; - var f = g.lineCount(a); - o[1] += (1 - f) * u; - } - (e.attr("transform", "translate(" + o + ")"), Q.setScale()); - } - } - (it - .selectAll(".cbfills,.cblines") - .attr( - "transform", - "translate(0," + Math.round(M.h * (1 - Q.domain[1])) + ")", - ), - Q._axislayer.attr( - "transform", - "translate(0," + Math.round(-M.t) + ")", - )); - var p = it.select(".cbfills").selectAll("rect.cbfill").data(E); - (p - .enter() - .append("rect") - .classed(_.cbfill, !0) - .style("stroke", "none"), - p.exit().remove(), - p.each(function (t, e) { - var r = [ - 0 === e ? S[0] : (E[e] + E[e - 1]) / 2, - e === E.length - 1 ? S[1] : (E[e] + E[e + 1]) / 2, - ] - .map(Q.c2p) - .map(Math.round); - e !== E.length - 1 && (r[1] += r[1] > r[0] ? 1 : -1); - var a = z(t).replace("e-", ""), - o = i(a).toHexString(); - n.select(this).attr({ - x: W, - width: Math.max(N, 2), - y: n.min(r), - height: Math.max(n.max(r) - n.min(r), 2), - fill: o, - }); - })); - var d = it - .select(".cblines") - .selectAll("path.cbline") - .data(r.line.color && r.line.width ? C : []); - return ( - d.enter().append("path").classed(_.cbline, !0), - d.exit().remove(), - d.each(function (t) { - n.select(this) - .attr( - "d", - "M" + - W + - "," + - (Math.round(Q.c2p(t)) + ((r.line.width / 2) % 1)) + - "h" + - N, - ) - .call(h.lineGroupStyle, r.line.width, L(t), r.line.dash); - }), - Q._axislayer.selectAll("g." + Q._id + "tick,path").remove(), - (Q._pos = - W + - N + - (r.outlinewidth || 0) / 2 - - ("outside" === r.ticks ? 1 : 0)), - (Q.side = "right"), - c.syncOrAsync([ - function () { - return s.doTicks(t, Q, !0); - }, - function () { - if (-1 === ["top", "bottom"].indexOf(r.titleside)) { - var e = Q.titlefont.size, - i = Q._offset + Q._length / 2, - a = - M.l + - (Q.position || 0) * M.w + - ("right" === Q.side - ? 10 + e * (Q.showticklabels ? 1 : 0.5) - : -10 - e * (Q.showticklabels ? 0.5 : 0)); - gt("h" + Q._id + "title", { - avoid: { - selection: n - .select(t) - .selectAll("g." + Q._id + "tick"), - side: r.titleside, - offsetLeft: M.l, - offsetTop: 0, - maxShift: b.width, - }, - attributes: { x: a, y: i, "text-anchor": "middle" }, - transform: { rotate: "-90", offset: 0 }, - }); - } - }, - ]) - ); - }, - a.previousPromises, - function () { - var n = - N + r.outlinewidth / 2 + h.bBox(Q._axislayer.node()).width; - if ( - (R = at.select("text")).node() && - !R.classed(_.jsPlaceholder) - ) { - var i, - o = at.select(".h" + Q._id + "title-math-group").node(); - ((i = - o && -1 !== ["top", "bottom"].indexOf(r.titleside) - ? h.bBox(o).width - : h.bBox(at.node()).right - W - M.l), - (n = Math.max(n, i))); - } - var s = 2 * r.xpad + n + r.borderwidth + r.outlinewidth / 2, - l = Z - J; - (it - .select(".cbbg") - .attr({ - x: W - r.xpad - (r.borderwidth + r.outlinewidth) / 2, - y: J - H, - width: Math.max(s, 2), - height: Math.max(l + 2 * H, 2), - }) - .call(p.fill, r.bgcolor) - .call(p.stroke, r.bordercolor) - .style({ "stroke-width": r.borderwidth }), - it - .selectAll(".cboutline") - .attr({ - x: W, - y: J + r.ypad + ("top" === r.titleside ? ot : 0), - width: Math.max(N, 2), - height: Math.max(l - 2 * r.ypad - ot, 2), - }) - .call(p.stroke, r.outlinecolor) - .style({ fill: "None", "stroke-width": r.outlinewidth })); - var c = ({ center: 0.5, right: 1 }[r.xanchor] || 0) * s; - (it.attr( - "transform", - "translate(" + (M.l - c) + "," + M.t + ")", - ), - a.autoMargin(t, e, { - x: r.x, - y: r.y, - l: s * ({ right: 1, center: 0.5 }[r.xanchor] || 0), - r: s * ({ left: 1, center: 0.5 }[r.xanchor] || 0), - t: l * ({ bottom: 1, middle: 0.5 }[r.yanchor] || 0), - b: l * ({ top: 1, middle: 0.5 }[r.yanchor] || 0), - })); - }, - ], - t, - ); - if ( - (pt && pt.then && (t._promises || []).push(pt), - t._context.edits.colorbarPosition) - ) - l.init({ - element: it.node(), - gd: t, - prepFn: function () { - ((ut = it.attr("transform")), f(it)); - }, - moveFn: function (t, e) { - (it.attr("transform", ut + " translate(" + t + "," + e + ")"), - (ft = l.align(Y + t / M.w, j, 0, 1, r.xanchor)), - (ht = l.align(X - e / M.h, U, 0, 1, r.yanchor))); - var n = l.getCursor(ft, ht, r.xanchor, r.yanchor); - f(it, n); - }, - doneFn: function () { - (f(it), - void 0 !== ft && - void 0 !== ht && - o.call( - "restyle", - t, - { "colorbar.x": ft, "colorbar.y": ht }, - k().index, - )); - }, - }); - return pt; - } - function dt(t, e) { - return c.coerce(K, Q, x, t, e); - } - function gt(e, r) { - var n, - i = k(); - n = o.traceIs(i, "markerColorscale") - ? "marker.colorbar.title" - : "colorbar.title"; - var a = { - propContainer: Q, - propName: n, - traceIndex: i.index, - placeholder: b._dfltTitle.colorbar, - containerGroup: it.select(".cbtitle"), - }, - s = "h" === e.charAt(0) ? e.substr(1) : "h" + e; - (it.selectAll("." + s + ",." + s + "-math-group").remove(), - d.draw(t, e, u(a, r || {}))); - } - b._infolayer.selectAll("g." + e).remove(); - } - function k() { - var r, - n, - i = e.substr(2); - for (r = 0; r < t._fullData.length; r++) - if ((n = t._fullData[r]).uid === i) return n; - } - return ( - Object.keys(b).forEach(function (t) { - r[t] = null; - }), - (r.fillcolor = null), - (r.line = { color: null, width: null, dash: null }), - (r.levels = { start: null, end: null, size: null }), - (r.filllevels = null), - Object.keys(r).forEach(function (t) { - w[t] = function (e) { - return arguments.length - ? ((r[t] = c.isPlainObject(r[t]) ? c.extendFlat(r[t], e) : e), w) - : r[t]; - }; - }), - (w.options = function (t) { - return ( - Object.keys(t).forEach(function (e) { - "function" == typeof w[e] && w[e](t[e]); - }), - w - ); - }), - (w._opts = r), - w - ); - }; - }, - { - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/extend": 591, - "../../lib/setcursor": 622, - "../../lib/svg_text_utils": 626, - "../../plots/cartesian/axes": 648, - "../../plots/cartesian/axis_defaults": 650, - "../../plots/cartesian/layout_attributes": 660, - "../../plots/cartesian/position_defaults": 663, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "../titles": 567, - "./attributes": 475, - "./constants": 476, - d3: 130, - tinycolor2: 415, - }, - ], - 479: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t) { - return n.isPlainObject(t.colorbar); - }; - }, - { "../../lib": 602 }, - ], - 480: [ - function (t, e, r) { - "use strict"; - e.exports = { - zauto: { - valType: "boolean", - dflt: !0, - editType: "calc", - impliedEdits: { zmin: void 0, zmax: void 0 }, - }, - zmin: { - valType: "number", - dflt: null, - editType: "plot", - impliedEdits: { zauto: !1 }, - }, - zmax: { - valType: "number", - dflt: null, - editType: "plot", - impliedEdits: { zauto: !1 }, - }, - colorscale: { - valType: "colorscale", - editType: "calc", - impliedEdits: { autocolorscale: !1 }, - }, - autocolorscale: { - valType: "boolean", - dflt: !0, - editType: "calc", - impliedEdits: { colorscale: void 0 }, - }, - reversescale: { valType: "boolean", dflt: !1, editType: "calc" }, - showscale: { valType: "boolean", dflt: !0, editType: "calc" }, - }; - }, - {}, - ], - 481: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./scales"), - a = t("./flip_scale"); - e.exports = function (t, e, r, o) { - var s = t, - l = t._input, - c = t._fullInput, - u = t.updateStyle; - function f(e, n, i) { - (void 0 === i && (i = n), - u ? u(t._input, r ? r + "." + e : e, n) : (l[e] = n), - (s[e] = i), - c && - t !== t._fullInput && - (u ? u(t._fullInput, r ? r + "." + e : e, i) : (c[e] = i))); - } - r && - ((s = n.nestedProperty(s, r).get()), - (l = n.nestedProperty(l, r).get()), - (c = n.nestedProperty(c, r).get() || {})); - var h = o + "auto", - p = o + "min", - d = o + "max", - g = s[h], - m = s[p], - v = s[d], - y = s.colorscale; - ((!1 === g && void 0 !== m) || (m = n.aggNums(Math.min, null, e)), - (!1 === g && void 0 !== v) || (v = n.aggNums(Math.max, null, e)), - m === v && ((m -= 0.5), (v += 0.5)), - f(p, m), - f(d, v), - f(h, !1 !== g || (void 0 === m && void 0 === v)), - s.autocolorscale && - (f( - "colorscale", - (y = m * v < 0 ? i.RdBu : m >= 0 ? i.Reds : i.Blues), - s.reversescale ? a(y) : y, - ), - l.autocolorscale || f("autocolorscale", !1))); - }; - }, - { "../../lib": 602, "./flip_scale": 486, "./scales": 493 }, - ], - 482: [ - function (t, e, r) { - "use strict"; - var n = t("./attributes"), - i = t("../../lib/extend").extendFlat; - t("./scales.js"); - e.exports = function (t, e, r) { - return { - color: { valType: "color", arrayOk: !0, editType: e || "style" }, - colorscale: i({}, n.colorscale, {}), - cauto: i({}, n.zauto, { impliedEdits: { cmin: void 0, cmax: void 0 } }), - cmax: i({}, n.zmax, { - editType: e || n.zmax.editType, - impliedEdits: { cauto: !1 }, - }), - cmin: i({}, n.zmin, { - editType: e || n.zmin.editType, - impliedEdits: { cauto: !1 }, - }), - autocolorscale: i({}, n.autocolorscale, { - dflt: !1 === r ? r : n.autocolorscale.dflt, - }), - reversescale: i({}, n.reversescale, {}), - }; - }; - }, - { "../../lib/extend": 591, "./attributes": 480, "./scales.js": 493 }, - ], - 483: [ - function (t, e, r) { - "use strict"; - var n = t("./scales"); - e.exports = n.RdBu; - }, - { "./scales": 493 }, - ], - 484: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../colorbar/has_colorbar"), - o = t("../colorbar/defaults"), - s = t("./is_valid_scale"), - l = t("./flip_scale"); - e.exports = function (t, e, r, c, u) { - var f, - h = u.prefix, - p = u.cLetter, - d = h.slice(0, h.length - 1), - g = h ? i.nestedProperty(t, d).get() || {} : t, - m = h ? i.nestedProperty(e, d).get() || {} : e, - v = g[p + "min"], - y = g[p + "max"], - x = g.colorscale; - (c(h + p + "auto", !(n(v) && n(y) && v < y)), - c(h + p + "min"), - c(h + p + "max"), - void 0 !== x && (f = !s(x)), - c(h + "autocolorscale", f)); - var b, - _ = c(h + "colorscale"); - (c(h + "reversescale") && (m.colorscale = l(_)), "marker.line." !== h) && - (h && (b = a(g)), c(h + "showscale", b) && o(g, m, r)); - }; - }, - { - "../../lib": 602, - "../colorbar/defaults": 477, - "../colorbar/has_colorbar": 479, - "./flip_scale": 486, - "./is_valid_scale": 490, - "fast-isnumeric": 196, - }, - ], - 485: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - for ( - var n = t.length, i = new Array(n), a = new Array(n), o = 0; - o < n; - o++ - ) { - var s = t[o]; - ((i[o] = e + s[0] * (r - e)), (a[o] = s[1])); - } - return { domain: i, range: a }; - }; - }, - {}, - ], - 486: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for ( - var e, r = t.length, n = new Array(r), i = r - 1, a = 0; - i >= 0; - i--, a++ - ) - ((e = t[i]), (n[a] = [1 - e[0], e[1]])); - return n; - }; - }, - {}, - ], - 487: [ - function (t, e, r) { - "use strict"; - var n = t("./scales"), - i = t("./default_scale"), - a = t("./is_valid_scale_array"); - e.exports = function (t, e) { - if ((e || (e = i), !t)) return e; - function r() { - try { - t = n[t] || JSON.parse(t); - } catch (r) { - t = e; - } - } - return ( - "string" == typeof t && (r(), "string" == typeof t && r()), - a(t) ? t : e - ); - }; - }, - { "./default_scale": 483, "./is_valid_scale_array": 491, "./scales": 493 }, - ], - 488: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("./is_valid_scale"); - e.exports = function (t, e) { - var r = e ? i.nestedProperty(t, e).get() || {} : t, - o = r.color, - s = !1; - if (i.isArrayOrTypedArray(o)) - for (var l = 0; l < o.length; l++) - if (n(o[l])) { - s = !0; - break; - } - return ( - i.isPlainObject(r) && - (s || - !0 === r.showscale || - (n(r.cmin) && n(r.cmax)) || - a(r.colorscale) || - i.isPlainObject(r.colorbar)) - ); - }; - }, - { "../../lib": 602, "./is_valid_scale": 490, "fast-isnumeric": 196 }, - ], - 489: [ - function (t, e, r) { - "use strict"; - ((r.scales = t("./scales")), - (r.defaultScale = t("./default_scale")), - (r.attributes = t("./attributes")), - (r.handleDefaults = t("./defaults")), - (r.calc = t("./calc")), - (r.hasColorscale = t("./has_colorscale")), - (r.isValidScale = t("./is_valid_scale")), - (r.getScale = t("./get_scale")), - (r.flipScale = t("./flip_scale")), - (r.extractScale = t("./extract_scale")), - (r.makeColorScaleFunc = t("./make_color_scale_func"))); - }, - { - "./attributes": 480, - "./calc": 481, - "./default_scale": 483, - "./defaults": 484, - "./extract_scale": 485, - "./flip_scale": 486, - "./get_scale": 487, - "./has_colorscale": 488, - "./is_valid_scale": 490, - "./make_color_scale_func": 492, - "./scales": 493, - }, - ], - 490: [ - function (t, e, r) { - "use strict"; - var n = t("./scales"), - i = t("./is_valid_scale_array"); - e.exports = function (t) { - return void 0 !== n[t] || i(t); - }; - }, - { "./is_valid_scale_array": 491, "./scales": 493 }, - ], - 491: [ - function (t, e, r) { - "use strict"; - var n = t("tinycolor2"); - e.exports = function (t) { - var e = 0; - if (!Array.isArray(t) || t.length < 2) return !1; - if (!t[0] || !t[t.length - 1]) return !1; - if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) return !1; - for (var r = 0; r < t.length; r++) { - var i = t[r]; - if (2 !== i.length || +i[0] < e || !n(i[1]).isValid()) return !1; - e = +i[0]; - } - return !0; - }; - }, - { tinycolor2: 415 }, - ], - 492: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("fast-isnumeric"), - o = t("../color"); - function s(t) { - var e = { r: t[0], g: t[1], b: t[2], a: t[3] }; - return i(e).toRgbString(); - } - e.exports = function (t, e) { - e = e || {}; - for ( - var r = t.domain, l = t.range, c = l.length, u = new Array(c), f = 0; - f < c; - f++ - ) { - var h = i(l[f]).toRgb(); - u[f] = [h.r, h.g, h.b, h.a]; - } - var p, - d = n.scale.linear().domain(r).range(u).clamp(!0), - g = e.noNumericCheck, - m = e.returnArray; - return ( - ((p = - g && m - ? d - : g - ? function (t) { - return s(d(t)); - } - : m - ? function (t) { - return a(t) ? d(t) : i(t).isValid() ? t : o.defaultLine; - } - : function (t) { - return a(t) ? s(d(t)) : i(t).isValid() ? t : o.defaultLine; - }).domain = d.domain), - (p.range = function () { - return l; - }), - p - ); - }; - }, - { "../color": 474, d3: 130, "fast-isnumeric": 196, tinycolor2: 415 }, - ], - 493: [ - function (t, e, r) { - "use strict"; - e.exports = { - Greys: [ - [0, "rgb(0,0,0)"], - [1, "rgb(255,255,255)"], - ], - YlGnBu: [ - [0, "rgb(8,29,88)"], - [0.125, "rgb(37,52,148)"], - [0.25, "rgb(34,94,168)"], - [0.375, "rgb(29,145,192)"], - [0.5, "rgb(65,182,196)"], - [0.625, "rgb(127,205,187)"], - [0.75, "rgb(199,233,180)"], - [0.875, "rgb(237,248,217)"], - [1, "rgb(255,255,217)"], - ], - Greens: [ - [0, "rgb(0,68,27)"], - [0.125, "rgb(0,109,44)"], - [0.25, "rgb(35,139,69)"], - [0.375, "rgb(65,171,93)"], - [0.5, "rgb(116,196,118)"], - [0.625, "rgb(161,217,155)"], - [0.75, "rgb(199,233,192)"], - [0.875, "rgb(229,245,224)"], - [1, "rgb(247,252,245)"], - ], - YlOrRd: [ - [0, "rgb(128,0,38)"], - [0.125, "rgb(189,0,38)"], - [0.25, "rgb(227,26,28)"], - [0.375, "rgb(252,78,42)"], - [0.5, "rgb(253,141,60)"], - [0.625, "rgb(254,178,76)"], - [0.75, "rgb(254,217,118)"], - [0.875, "rgb(255,237,160)"], - [1, "rgb(255,255,204)"], - ], - Bluered: [ - [0, "rgb(0,0,255)"], - [1, "rgb(255,0,0)"], - ], - RdBu: [ - [0, "rgb(5,10,172)"], - [0.35, "rgb(106,137,247)"], - [0.5, "rgb(190,190,190)"], - [0.6, "rgb(220,170,132)"], - [0.7, "rgb(230,145,90)"], - [1, "rgb(178,10,28)"], - ], - Reds: [ - [0, "rgb(220,220,220)"], - [0.2, "rgb(245,195,157)"], - [0.4, "rgb(245,160,105)"], - [1, "rgb(178,10,28)"], - ], - Blues: [ - [0, "rgb(5,10,172)"], - [0.35, "rgb(40,60,190)"], - [0.5, "rgb(70,100,245)"], - [0.6, "rgb(90,120,245)"], - [0.7, "rgb(106,137,247)"], - [1, "rgb(220,220,220)"], - ], - Picnic: [ - [0, "rgb(0,0,255)"], - [0.1, "rgb(51,153,255)"], - [0.2, "rgb(102,204,255)"], - [0.3, "rgb(153,204,255)"], - [0.4, "rgb(204,204,255)"], - [0.5, "rgb(255,255,255)"], - [0.6, "rgb(255,204,255)"], - [0.7, "rgb(255,153,255)"], - [0.8, "rgb(255,102,204)"], - [0.9, "rgb(255,102,102)"], - [1, "rgb(255,0,0)"], - ], - Rainbow: [ - [0, "rgb(150,0,90)"], - [0.125, "rgb(0,0,200)"], - [0.25, "rgb(0,25,255)"], - [0.375, "rgb(0,152,255)"], - [0.5, "rgb(44,255,150)"], - [0.625, "rgb(151,255,0)"], - [0.75, "rgb(255,234,0)"], - [0.875, "rgb(255,111,0)"], - [1, "rgb(255,0,0)"], - ], - Portland: [ - [0, "rgb(12,51,131)"], - [0.25, "rgb(10,136,186)"], - [0.5, "rgb(242,211,56)"], - [0.75, "rgb(242,143,56)"], - [1, "rgb(217,30,30)"], - ], - Jet: [ - [0, "rgb(0,0,131)"], - [0.125, "rgb(0,60,170)"], - [0.375, "rgb(5,255,255)"], - [0.625, "rgb(255,255,0)"], - [0.875, "rgb(250,0,0)"], - [1, "rgb(128,0,0)"], - ], - Hot: [ - [0, "rgb(0,0,0)"], - [0.3, "rgb(230,0,0)"], - [0.6, "rgb(255,210,0)"], - [1, "rgb(255,255,255)"], - ], - Blackbody: [ - [0, "rgb(0,0,0)"], - [0.2, "rgb(230,0,0)"], - [0.4, "rgb(230,210,0)"], - [0.7, "rgb(255,255,255)"], - [1, "rgb(160,200,255)"], - ], - Earth: [ - [0, "rgb(0,0,130)"], - [0.1, "rgb(0,180,180)"], - [0.2, "rgb(40,210,40)"], - [0.4, "rgb(230,230,50)"], - [0.6, "rgb(120,70,20)"], - [1, "rgb(255,255,255)"], - ], - Electric: [ - [0, "rgb(0,0,0)"], - [0.15, "rgb(30,0,100)"], - [0.4, "rgb(120,0,100)"], - [0.6, "rgb(160,90,0)"], - [0.8, "rgb(230,200,0)"], - [1, "rgb(255,250,220)"], - ], - Viridis: [ - [0, "#440154"], - [0.06274509803921569, "#48186a"], - [0.12549019607843137, "#472d7b"], - [0.18823529411764706, "#424086"], - [0.25098039215686274, "#3b528b"], - [0.3137254901960784, "#33638d"], - [0.3764705882352941, "#2c728e"], - [0.4392156862745098, "#26828e"], - [0.5019607843137255, "#21918c"], - [0.5647058823529412, "#1fa088"], - [0.6274509803921569, "#28ae80"], - [0.6901960784313725, "#3fbc73"], - [0.7529411764705882, "#5ec962"], - [0.8156862745098039, "#84d44b"], - [0.8784313725490196, "#addc30"], - [0.9411764705882353, "#d8e219"], - [1, "#fde725"], - ], - Cividis: [ - [0, "rgb(0,32,76)"], - [0.058824, "rgb(0,42,102)"], - [0.117647, "rgb(0,52,110)"], - [0.176471, "rgb(39,63,108)"], - [0.235294, "rgb(60,74,107)"], - [0.294118, "rgb(76,85,107)"], - [0.352941, "rgb(91,95,109)"], - [0.411765, "rgb(104,106,112)"], - [0.470588, "rgb(117,117,117)"], - [0.529412, "rgb(131,129,120)"], - [0.588235, "rgb(146,140,120)"], - [0.647059, "rgb(161,152,118)"], - [0.705882, "rgb(176,165,114)"], - [0.764706, "rgb(192,177,109)"], - [0.823529, "rgb(209,191,102)"], - [0.882353, "rgb(225,204,92)"], - [0.941176, "rgb(243,219,79)"], - [1, "rgb(255,233,69)"], - ], - }; - }, - {}, - ], - 494: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i) { - var a = (t - r) / (n - r), - o = a + e / (n - r), - s = (a + o) / 2; - return "left" === i || "bottom" === i - ? a - : "center" === i || "middle" === i - ? s - : "right" === i || "top" === i - ? o - : a < 2 / 3 - s - ? a - : o > 4 / 3 - s - ? o - : s; - }; - }, - {}, - ], - 495: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = [ - ["sw-resize", "s-resize", "se-resize"], - ["w-resize", "move", "e-resize"], - ["nw-resize", "n-resize", "ne-resize"], - ]; - e.exports = function (t, e, r, a) { - return ( - (t = - "left" === r - ? 0 - : "center" === r - ? 1 - : "right" === r - ? 2 - : n.constrain(Math.floor(3 * t), 0, 2)), - (e = - "bottom" === a - ? 0 - : "middle" === a - ? 1 - : "top" === a - ? 2 - : n.constrain(Math.floor(3 * e), 0, 2)), - i[e][t] - ); - }; - }, - { "../../lib": 602 }, - ], - 496: [ - function (t, e, r) { - "use strict"; - var n = t("mouse-event-offset"), - i = t("has-hover"), - a = t("has-passive-events"), - o = t("../../registry"), - s = t("../../lib"), - l = t("../../plots/cartesian/constants"), - c = t("../../constants/interactions"), - u = (e.exports = {}); - ((u.align = t("./align")), (u.getCursor = t("./cursor"))); - var f = t("./unhover"); - function h() { - var t = document.createElement("div"); - t.className = "dragcover"; - var e = t.style; - return ( - (e.position = "fixed"), - (e.left = 0), - (e.right = 0), - (e.top = 0), - (e.bottom = 0), - (e.zIndex = 999999999), - (e.background = "none"), - document.body.appendChild(t), - t - ); - } - function p(t) { - return n(t.changedTouches ? t.changedTouches[0] : t, document.body); - } - ((u.unhover = f.wrapped), - (u.unhoverRaw = f.raw), - (u.init = function (t) { - var e, - r, - n, - f, - d, - g, - m, - v, - y = t.gd, - x = 1, - b = c.DBLCLICKDELAY, - _ = t.element; - (y._mouseDownTime || (y._mouseDownTime = 0), - (_.style.pointerEvents = "all"), - (_.onmousedown = k), - a - ? (_._ontouchstart && - _.removeEventListener("touchstart", _._ontouchstart), - (_._ontouchstart = k), - _.addEventListener("touchstart", k, { passive: !1 })) - : (_.ontouchstart = k)); - var w = - t.clampFn || - function (t, e, r) { - return ( - Math.abs(t) < r && (t = 0), - Math.abs(e) < r && (e = 0), - [t, e] - ); - }; - function k(a) { - (a.preventDefault(), (y._dragged = !1), (y._dragging = !0)); - var o = p(a); - ((e = o[0]), - (r = o[1]), - (m = a.target), - (g = a), - (v = 2 === a.buttons || a.ctrlKey), - (n = new Date().getTime()) - y._mouseDownTime < b - ? (x += 1) - : ((x = 1), (y._mouseDownTime = n)), - t.prepFn && t.prepFn(a, e, r), - i && !v - ? ((d = h()).style.cursor = window.getComputedStyle(_).cursor) - : i || - ((d = document), - (f = window.getComputedStyle(document.documentElement).cursor), - (document.documentElement.style.cursor = - window.getComputedStyle(_).cursor)), - document.addEventListener("mousemove", M), - document.addEventListener("mouseup", A), - document.addEventListener("touchmove", M), - document.addEventListener("touchend", A)); - } - function M(n) { - n.preventDefault(); - var i = p(n), - a = t.minDrag || l.MINDRAG, - o = w(i[0] - e, i[1] - r, a), - s = o[0], - c = o[1]; - ((s || c) && ((y._dragged = !0), u.unhover(y)), - y._dragged && t.moveFn && !v && t.moveFn(s, c)); - } - function A(e) { - if ( - (document.removeEventListener("mousemove", M), - document.removeEventListener("mouseup", A), - document.removeEventListener("touchmove", M), - document.removeEventListener("touchend", A), - e.preventDefault(), - i - ? s.removeElement(d) - : f && ((d.documentElement.style.cursor = f), (f = null)), - y._dragging) - ) { - if ( - ((y._dragging = !1), - new Date().getTime() - y._mouseDownTime > b && - (x = Math.max(x - 1, 1)), - y._dragged) - ) - t.doneFn && t.doneFn(e); - else if ((t.clickFn && t.clickFn(x, g), !v)) { - var r; - try { - r = new MouseEvent("click", e); - } catch (t) { - var n = p(e); - (r = document.createEvent("MouseEvents")).initMouseEvent( - "click", - e.bubbles, - e.cancelable, - e.view, - e.detail, - e.screenX, - e.screenY, - n[0], - n[1], - e.ctrlKey, - e.altKey, - e.shiftKey, - e.metaKey, - e.button, - e.relatedTarget, - ); - } - m.dispatchEvent(r); - } - (!(function (t) { - ((t._dragging = !1), t._replotPending && o.call("plot", t)); - })(y), - (y._dragged = !1)); - } else y._dragged = !1; - } - }), - (u.coverSlip = h)); - }, - { - "../../constants/interactions": 578, - "../../lib": 602, - "../../plots/cartesian/constants": 653, - "../../registry": 732, - "./align": 494, - "./cursor": 495, - "./unhover": 497, - "has-hover": 296, - "has-passive-events": 297, - "mouse-event-offset": 321, - }, - ], - 497: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib/events"), - i = t("../../lib/throttle"), - a = t("../../lib/get_graph_div"), - o = t("../fx/constants"), - s = (e.exports = {}); - ((s.wrapped = function (t, e, r) { - ((t = a(t))._fullLayout && i.clear(t._fullLayout._uid + o.HOVERID), - s.raw(t, e, r)); - }), - (s.raw = function (t, e) { - var r = t._fullLayout, - i = t._hoverdata; - (e || (e = {}), - (e.target && !1 === n.triggerHandler(t, "plotly_beforehover", e)) || - (r._hoverlayer.selectAll("g").remove(), - r._hoverlayer.selectAll("line").remove(), - r._hoverlayer.selectAll("circle").remove(), - (t._hoverdata = void 0), - e.target && i && t.emit("plotly_unhover", { event: e, points: i }))); - })); - }, - { - "../../lib/events": 590, - "../../lib/get_graph_div": 597, - "../../lib/throttle": 627, - "../fx/constants": 511, - }, - ], - 498: [ - function (t, e, r) { - "use strict"; - r.dash = { - valType: "string", - values: ["solid", "dot", "dash", "longdash", "dashdot", "longdashdot"], - dflt: "solid", - editType: "style", - }; - }, - {}, - ], - 499: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("tinycolor2"), - o = t("../../registry"), - s = t("../color"), - l = t("../colorscale"), - c = t("../../lib"), - u = t("../../lib/svg_text_utils"), - f = t("../../constants/xmlns_namespaces"), - h = t("../../constants/alignment").LINE_SPACING, - p = t("../../constants/interactions").DESELECTDIM, - d = t("../../traces/scatter/subtypes"), - g = t("../../traces/scatter/make_bubble_size_func"), - m = (e.exports = {}); - ((m.font = function (t, e, r, n) { - (c.isPlainObject(e) && ((n = e.color), (r = e.size), (e = e.family)), - e && t.style("font-family", e), - r + 1 && t.style("font-size", r + "px"), - n && t.call(s.fill, n)); - }), - (m.setPosition = function (t, e, r) { - t.attr("x", e).attr("y", r); - }), - (m.setSize = function (t, e, r) { - t.attr("width", e).attr("height", r); - }), - (m.setRect = function (t, e, r, n, i) { - t.call(m.setPosition, e, r).call(m.setSize, n, i); - }), - (m.translatePoint = function (t, e, r, n) { - var a = r.c2p(t.x), - o = n.c2p(t.y); - return ( - !!(i(a) && i(o) && e.node()) && - ("text" === e.node().nodeName - ? e.attr("x", a).attr("y", o) - : e.attr("transform", "translate(" + a + "," + o + ")"), - !0) - ); - }), - (m.translatePoints = function (t, e, r) { - t.each(function (t) { - var i = n.select(this); - m.translatePoint(t, i, e, r); - }); - }), - (m.hideOutsideRangePoint = function (t, e, r, n, i, a) { - e.attr( - "display", - r.isPtWithinRange(t, i) && n.isPtWithinRange(t, a) ? null : "none", - ); - }), - (m.hideOutsideRangePoints = function (t, e, r) { - if (e._hasClipOnAxisFalse) { - r = r || ".point,.textpoint"; - var i = e.xaxis, - a = e.yaxis; - t.each(function (e) { - var o = e[0].trace, - s = o.xcalendar, - l = o.ycalendar; - t.selectAll(r).each(function (t) { - m.hideOutsideRangePoint(t, n.select(this), i, a, s, l); - }); - }); - } - }), - (m.crispRound = function (t, e, r) { - return e && i(e) - ? t._context.staticPlot - ? e - : e < 1 - ? 1 - : Math.round(e) - : r || 0; - }), - (m.singleLineStyle = function (t, e, r, n, i) { - e.style("fill", "none"); - var a = (((t || [])[0] || {}).trace || {}).line || {}, - o = r || a.width || 0, - l = i || a.dash || ""; - (s.stroke(e, n || a.color), m.dashLine(e, l, o)); - }), - (m.lineGroupStyle = function (t, e, r, i) { - t.style("fill", "none").each(function (t) { - var a = (((t || [])[0] || {}).trace || {}).line || {}, - o = e || a.width || 0, - l = i || a.dash || ""; - n.select(this) - .call(s.stroke, r || a.color) - .call(m.dashLine, l, o); - }); - }), - (m.dashLine = function (t, e, r) { - ((r = +r || 0), - (e = m.dashStyle(e, r)), - t.style({ "stroke-dasharray": e, "stroke-width": r + "px" })); - }), - (m.dashStyle = function (t, e) { - e = +e || 1; - var r = Math.max(e, 3); - return ( - "solid" === t - ? (t = "") - : "dot" === t - ? (t = r + "px," + r + "px") - : "dash" === t - ? (t = 3 * r + "px," + 3 * r + "px") - : "longdash" === t - ? (t = 5 * r + "px," + 5 * r + "px") - : "dashdot" === t - ? (t = 3 * r + "px," + r + "px," + r + "px," + r + "px") - : "longdashdot" === t && - (t = - 5 * r + "px," + 2 * r + "px," + r + "px," + 2 * r + "px"), - t - ); - }), - (m.singleFillStyle = function (t) { - var e = (((n.select(t.node()).data()[0] || [])[0] || {}).trace || {}) - .fillcolor; - e && t.call(s.fill, e); - }), - (m.fillGroupStyle = function (t) { - t.style("stroke-width", 0).each(function (e) { - var r = n.select(this); - try { - r.call(s.fill, e[0].trace.fillcolor); - } catch (e) { - (c.error(e, t), r.remove()); - } - }); - })); - var v = t("./symbol_defs"); - ((m.symbolNames = []), - (m.symbolFuncs = []), - (m.symbolNeedLines = {}), - (m.symbolNoDot = {}), - (m.symbolNoFill = {}), - (m.symbolList = []), - Object.keys(v).forEach(function (t) { - var e = v[t]; - ((m.symbolList = m.symbolList.concat([e.n, t, e.n + 100, t + "-open"])), - (m.symbolNames[e.n] = t), - (m.symbolFuncs[e.n] = e.f), - e.needLine && (m.symbolNeedLines[e.n] = !0), - e.noDot - ? (m.symbolNoDot[e.n] = !0) - : (m.symbolList = m.symbolList.concat([ - e.n + 200, - t + "-dot", - e.n + 300, - t + "-open-dot", - ])), - e.noFill && (m.symbolNoFill[e.n] = !0)); - })); - var y = m.symbolNames.length, - x = "M0,0.5L0.5,0L0,-0.5L-0.5,0Z"; - function b(t, e) { - var r = t % 100; - return m.symbolFuncs[r](e) + (t >= 200 ? x : ""); - } - m.symbolNumber = function (t) { - if ("string" == typeof t) { - var e = 0; - (t.indexOf("-open") > 0 && ((e = 100), (t = t.replace("-open", ""))), - t.indexOf("-dot") > 0 && ((e += 200), (t = t.replace("-dot", ""))), - (t = m.symbolNames.indexOf(t)) >= 0 && (t += e)); - } - return t % 100 >= y || t >= 400 ? 0 : Math.floor(Math.max(t, 0)); - }; - var _ = { x1: 1, x2: 0, y1: 0, y2: 0 }, - w = { x1: 0, x2: 0, y1: 1, y2: 0 }; - ((m.gradient = function (t, e, r, i, o, l) { - var u = e._fullLayout._defs - .select(".gradients") - .selectAll("#" + r) - .data([i + o + l], c.identity); - (u.exit().remove(), - u - .enter() - .append("radial" === i ? "radialGradient" : "linearGradient") - .each(function () { - var t = n.select(this); - ("horizontal" === i ? t.attr(_) : "vertical" === i && t.attr(w), - t.attr("id", r)); - var e = a(o), - c = a(l); - (t.append("stop").attr({ - offset: "0%", - "stop-color": s.tinyRGB(c), - "stop-opacity": c.getAlpha(), - }), - t.append("stop").attr({ - offset: "100%", - "stop-color": s.tinyRGB(e), - "stop-opacity": e.getAlpha(), - })); - }), - t.style({ fill: "url(#" + r + ")", "fill-opacity": null })); - }), - (m.initGradients = function (t) { - c.ensureSingle(t._fullLayout._defs, "g", "gradients") - .selectAll("linearGradient,radialGradient") - .remove(); - }), - (m.pointStyle = function (t, e, r) { - if (t.size()) { - var i = m.makePointStyleFns(e); - t.each(function (t) { - m.singlePointStyle(t, n.select(this), e, i, r); - }); - } - }), - (m.singlePointStyle = function (t, e, r, n, i) { - var a = r.marker, - o = a.line; - if ( - (e.style( - "opacity", - n.selectedOpacityFn - ? n.selectedOpacityFn(t) - : void 0 === t.mo - ? a.opacity - : t.mo, - ), - n.ms2mrc) - ) { - var l; - ((l = "various" === t.ms || "various" === a.size ? 3 : n.ms2mrc(t.ms)), - (t.mrc = l), - n.selectedSizeFn && (l = t.mrc = n.selectedSizeFn(t))); - var u = m.symbolNumber(t.mx || a.symbol) || 0; - ((t.om = u % 200 >= 100), e.attr("d", b(u, l))); - } - var f, - h, - p, - d = !1; - if ( - (t.so - ? ((p = o.outlierwidth), (h = o.outliercolor), (f = a.outliercolor)) - : ((p = - (t.mlw + 1 || - o.width + 1 || - (t.trace ? t.trace.marker.line.width : 0) + 1) - 1), - (h = - "mlc" in t - ? (t.mlcc = n.lineScale(t.mlc)) - : c.isArrayOrTypedArray(o.color) - ? s.defaultLine - : o.color), - c.isArrayOrTypedArray(a.color) && ((f = s.defaultLine), (d = !0)), - (f = - "mc" in t - ? (t.mcc = n.markerScale(t.mc)) - : a.color || "rgba(0,0,0,0)"), - n.selectedColorFn && (f = n.selectedColorFn(t))), - t.om) - ) - e.call(s.stroke, f).style({ - "stroke-width": (p || 1) + "px", - fill: "none", - }); - else { - e.style("stroke-width", p + "px"); - var g = a.gradient, - v = t.mgt; - if ((v ? (d = !0) : (v = g && g.type), v && "none" !== v)) { - var y = t.mgc; - y ? (d = !0) : (y = g.color); - var x = "g" + i._fullLayout._uid + "-" + r.uid; - (d && (x += "-" + t.i), e.call(m.gradient, i, x, v, f, y)); - } else e.call(s.fill, f); - p && e.call(s.stroke, h); - } - }), - (m.makePointStyleFns = function (t) { - var e = {}, - r = t.marker; - return ( - (e.markerScale = m.tryColorscale(r, "")), - (e.lineScale = m.tryColorscale(r, "line")), - o.traceIs(t, "symbols") && - (e.ms2mrc = d.isBubble(t) - ? g(t) - : function () { - return (r.size || 6) / 2; - }), - t.selectedpoints && c.extendFlat(e, m.makeSelectedPointStyleFns(t)), - e - ); - }), - (m.makeSelectedPointStyleFns = function (t) { - var e = {}, - r = t.selected || {}, - n = t.unselected || {}, - i = t.marker || {}, - a = r.marker || {}, - s = n.marker || {}, - l = i.opacity, - u = a.opacity, - f = s.opacity, - h = void 0 !== u, - d = void 0 !== f; - (c.isArrayOrTypedArray(l) || h || d) && - (e.selectedOpacityFn = function (t) { - var e = void 0 === t.mo ? i.opacity : t.mo; - return t.selected ? (h ? u : e) : d ? f : p * e; - }); - var g = i.color, - m = a.color, - v = s.color; - (m || v) && - (e.selectedColorFn = function (t) { - var e = t.mcc || g; - return t.selected ? m || e : v || e; - }); - var y = i.size, - x = a.size, - b = s.size, - _ = void 0 !== x, - w = void 0 !== b; - return ( - o.traceIs(t, "symbols") && - (_ || w) && - (e.selectedSizeFn = function (t) { - var e = t.mrc || y / 2; - return t.selected ? (_ ? x / 2 : e) : w ? b / 2 : e; - }), - e - ); - }), - (m.makeSelectedTextStyleFns = function (t) { - var e = {}, - r = t.selected || {}, - n = t.unselected || {}, - i = t.textfont || {}, - a = r.textfont || {}, - o = n.textfont || {}, - l = i.color, - c = a.color, - u = o.color; - return ( - (e.selectedTextColorFn = function (t) { - var e = t.tc || l; - return t.selected ? c || e : u || (c ? e : s.addOpacity(e, p)); - }), - e - ); - }), - (m.selectedPointStyle = function (t, e) { - if (t.size() && e.selectedpoints) { - var r = m.makeSelectedPointStyleFns(e), - i = e.marker || {}, - a = []; - (r.selectedOpacityFn && - a.push(function (t, e) { - t.style("opacity", r.selectedOpacityFn(e)); - }), - r.selectedColorFn && - a.push(function (t, e) { - s.fill(t, r.selectedColorFn(e)); - }), - r.selectedSizeFn && - a.push(function (t, e) { - var n = e.mx || i.symbol || 0, - a = r.selectedSizeFn(e); - (t.attr("d", b(m.symbolNumber(n), a)), (e.mrc2 = a)); - }), - a.length && - t.each(function (t) { - for (var e = n.select(this), r = 0; r < a.length; r++) a[r](e, t); - })); - } - }), - (m.tryColorscale = function (t, e) { - var r = e ? c.nestedProperty(t, e).get() : t, - n = r.colorscale, - i = r.color; - return n && c.isArrayOrTypedArray(i) - ? l.makeColorScaleFunc(l.extractScale(n, r.cmin, r.cmax)) - : c.identity; - })); - var k = { start: 1, end: -1, middle: 0, bottom: 1, top: -1 }; - function M(t, e, r, i) { - var a = n.select(t.node().parentNode), - o = - -1 !== e.indexOf("top") - ? "top" - : -1 !== e.indexOf("bottom") - ? "bottom" - : "middle", - s = - -1 !== e.indexOf("left") - ? "end" - : -1 !== e.indexOf("right") - ? "start" - : "middle", - l = i ? i / 0.8 + 1 : 0, - c = (u.lineCount(t) - 1) * h + 1, - f = k[s] * l, - p = 0.75 * r + k[o] * l + ((k[o] - 1) * c * r) / 2; - (t.attr("text-anchor", s), - a.attr("transform", "translate(" + f + "," + p + ")")); - } - function A(t, e) { - var r = t.ts || e.textfont.size; - return i(r) && r > 0 ? r : 0; - } - ((m.textPointStyle = function (t, e, r) { - if (t.size()) { - var i; - if (e.selectedpoints) { - var a = m.makeSelectedTextStyleFns(e); - i = a.selectedTextColorFn; - } - t.each(function (t) { - var a = n.select(this), - o = c.extractOption(t, e, "tx", "text"); - if (o) { - var s = t.tp || e.textposition, - l = A(t, e), - f = i ? i(t) : t.tc || e.textfont.color; - a.call(m.font, t.tf || e.textfont.family, l, f) - .text(o) - .call(u.convertToTspans, r) - .call(M, s, l, t.mrc); - } else a.remove(); - }); - } - }), - (m.selectedTextStyle = function (t, e) { - if (t.size() && e.selectedpoints) { - var r = m.makeSelectedTextStyleFns(e); - t.each(function (t) { - var i = n.select(this), - a = r.selectedTextColorFn(t), - o = t.tp || e.textposition, - l = A(t, e); - (s.fill(i, a), M(i, o, l, t.mrc2 || t.mrc)); - }); - } - })); - var T = 0.5; - function S(t, e, r, i) { - var a = t[0] - e[0], - o = t[1] - e[1], - s = r[0] - e[0], - l = r[1] - e[1], - c = Math.pow(a * a + o * o, T / 2), - u = Math.pow(s * s + l * l, T / 2), - f = (u * u * a - c * c * s) * i, - h = (u * u * o - c * c * l) * i, - p = 3 * u * (c + u), - d = 3 * c * (c + u); - return [ - [n.round(e[0] + (p && f / p), 2), n.round(e[1] + (p && h / p), 2)], - [n.round(e[0] - (d && f / d), 2), n.round(e[1] - (d && h / d), 2)], - ]; - } - ((m.smoothopen = function (t, e) { - if (t.length < 3) return "M" + t.join("L"); - var r, - n = "M" + t[0], - i = []; - for (r = 1; r < t.length - 1; r++) i.push(S(t[r - 1], t[r], t[r + 1], e)); - for (n += "Q" + i[0][0] + " " + t[1], r = 2; r < t.length - 1; r++) - n += "C" + i[r - 2][1] + " " + i[r - 1][0] + " " + t[r]; - return (n += "Q" + i[t.length - 3][1] + " " + t[t.length - 1]); - }), - (m.smoothclosed = function (t, e) { - if (t.length < 3) return "M" + t.join("L") + "Z"; - var r, - n = "M" + t[0], - i = t.length - 1, - a = [S(t[i], t[0], t[1], e)]; - for (r = 1; r < i; r++) a.push(S(t[r - 1], t[r], t[r + 1], e)); - for (a.push(S(t[i - 1], t[i], t[0], e)), r = 1; r <= i; r++) - n += "C" + a[r - 1][1] + " " + a[r][0] + " " + t[r]; - return (n += "C" + a[i][1] + " " + a[0][0] + " " + t[0] + "Z"); - })); - var C = { - hv: function (t, e) { - return "H" + n.round(e[0], 2) + "V" + n.round(e[1], 2); - }, - vh: function (t, e) { - return "V" + n.round(e[1], 2) + "H" + n.round(e[0], 2); - }, - hvh: function (t, e) { - return ( - "H" + - n.round((t[0] + e[0]) / 2, 2) + - "V" + - n.round(e[1], 2) + - "H" + - n.round(e[0], 2) - ); - }, - vhv: function (t, e) { - return ( - "V" + - n.round((t[1] + e[1]) / 2, 2) + - "H" + - n.round(e[0], 2) + - "V" + - n.round(e[1], 2) - ); - }, - }, - E = function (t, e) { - return "L" + n.round(e[0], 2) + "," + n.round(e[1], 2); - }; - ((m.steps = function (t) { - var e = C[t] || E; - return function (t) { - for ( - var r = "M" + n.round(t[0][0], 2) + "," + n.round(t[0][1], 2), i = 1; - i < t.length; - i++ - ) - r += e(t[i - 1], t[i]); - return r; - }; - }), - (m.makeTester = function () { - var t = c.ensureSingleById( - n.select("body"), - "svg", - "js-plotly-tester", - function (t) { - t.attr(f.svgAttrs).style({ - position: "absolute", - left: "-10000px", - top: "-10000px", - width: "9000px", - height: "9000px", - "z-index": "1", - }); - }, - ), - e = c.ensureSingle(t, "path", "js-reference-point", function (t) { - t.attr("d", "M0,0H1V1H0Z").style({ - "stroke-width": 0, - fill: "black", - }); - }); - ((m.tester = t), (m.testref = e)); - }), - (m.savedBBoxes = {})); - var L = 0; - function z(t) { - var e = t.getAttribute("data-unformatted"); - if (null !== e) - return ( - e + - t.getAttribute("data-math") + - t.getAttribute("text-anchor") + - t.getAttribute("style") - ); - } - ((m.bBox = function (t, e, r) { - var i, a, o; - if ((r || (r = z(t)), r)) { - if ((i = m.savedBBoxes[r])) return c.extendFlat({}, i); - } else if (1 === t.childNodes.length) { - var s = t.childNodes[0]; - if ((r = z(s))) { - var l = +s.getAttribute("x") || 0, - f = +s.getAttribute("y") || 0, - h = s.getAttribute("transform"); - if (!h) { - var p = m.bBox(s, !1, r); - return ( - l && ((p.left += l), (p.right += l)), - f && ((p.top += f), (p.bottom += f)), - p - ); - } - if (((r += "~" + l + "~" + f + "~" + h), (i = m.savedBBoxes[r]))) - return c.extendFlat({}, i); - } - } - (e - ? (a = t) - : ((o = m.tester.node()), (a = t.cloneNode(!0)), o.appendChild(a)), - n.select(a).attr("transform", null).call(u.positionText, 0, 0)); - var d = a.getBoundingClientRect(), - g = m.testref.node().getBoundingClientRect(); - e || o.removeChild(a); - var v = { - height: d.height, - width: d.width, - left: d.left - g.left, - top: d.top - g.top, - right: d.right - g.left, - bottom: d.bottom - g.top, - }; - return ( - L >= 1e4 && ((m.savedBBoxes = {}), (L = 0)), - r && (m.savedBBoxes[r] = v), - L++, - c.extendFlat({}, v) - ); - }), - (m.setClipUrl = function (t, e) { - if (e) { - if (void 0 === m.baseUrl) { - var r = n.select("base"); - r.size() && r.attr("href") - ? (m.baseUrl = window.location.href.split("#")[0]) - : (m.baseUrl = ""); - } - t.attr("clip-path", "url(" + m.baseUrl + "#" + e + ")"); - } else t.attr("clip-path", null); - }), - (m.getTranslate = function (t) { - var e = (t[t.attr ? "attr" : "getAttribute"]("transform") || "") - .replace( - /.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/, - function (t, e, r) { - return [e, r].join(" "); - }, - ) - .split(" "); - return { x: +e[0] || 0, y: +e[1] || 0 }; - }), - (m.setTranslate = function (t, e, r) { - var n = t.attr ? "attr" : "getAttribute", - i = t.attr ? "attr" : "setAttribute", - a = t[n]("transform") || ""; - return ( - (e = e || 0), - (r = r || 0), - (a = a.replace(/(\btranslate\(.*?\);?)/, "").trim()), - (a = (a += " translate(" + e + ", " + r + ")").trim()), - t[i]("transform", a), - a - ); - }), - (m.getScale = function (t) { - var e = (t[t.attr ? "attr" : "getAttribute"]("transform") || "") - .replace( - /.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/, - function (t, e, r) { - return [e, r].join(" "); - }, - ) - .split(" "); - return { x: +e[0] || 1, y: +e[1] || 1 }; - }), - (m.setScale = function (t, e, r) { - var n = t.attr ? "attr" : "getAttribute", - i = t.attr ? "attr" : "setAttribute", - a = t[n]("transform") || ""; - return ( - (e = e || 1), - (r = r || 1), - (a = a.replace(/(\bscale\(.*?\);?)/, "").trim()), - (a = (a += " scale(" + e + ", " + r + ")").trim()), - t[i]("transform", a), - a - ); - }), - (m.setPointGroupScale = function (t, e, r) { - var n, i, a; - return ( - (e = e || 1), - (r = r || 1), - (i = 1 === e && 1 === r ? "" : " scale(" + e + "," + r + ")"), - (a = /\s*sc.*/), - t.each(function () { - ((n = (this.getAttribute("transform") || "").replace(a, "")), - (n = (n += i).trim()), - this.setAttribute("transform", n)); - }), - i - ); - })); - var P = /translate\([^)]*\)\s*$/; - m.setTextPointsScale = function (t, e, r) { - t.each(function () { - var t, - i = n.select(this), - a = i.select("text"); - if (a.node()) { - var o = parseFloat(a.attr("x") || 0), - s = parseFloat(a.attr("y") || 0), - l = (i.attr("transform") || "").match(P); - ((t = - 1 === e && 1 === r - ? [] - : [ - "translate(" + o + "," + s + ")", - "scale(" + e + "," + r + ")", - "translate(" + -o + "," + -s + ")", - ]), - l && t.push(l), - i.attr("transform", t.join(" "))); - } - }); - }; - }, - { - "../../constants/alignment": 574, - "../../constants/interactions": 578, - "../../constants/xmlns_namespaces": 581, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../registry": 732, - "../../traces/scatter/make_bubble_size_func": 943, - "../../traces/scatter/subtypes": 948, - "../color": 474, - "../colorscale": 489, - "./symbol_defs": 500, - d3: 130, - "fast-isnumeric": 196, - tinycolor2: 415, - }, - ], - 500: [ - function (t, e, r) { - "use strict"; - var n = t("d3"); - e.exports = { - circle: { - n: 0, - f: function (t) { - var e = n.round(t, 2); - return ( - "M" + - e + - ",0A" + - e + - "," + - e + - " 0 1,1 0,-" + - e + - "A" + - e + - "," + - e + - " 0 0,1 " + - e + - ",0Z" - ); - }, - }, - square: { - n: 1, - f: function (t) { - var e = n.round(t, 2); - return "M" + e + "," + e + "H-" + e + "V-" + e + "H" + e + "Z"; - }, - }, - diamond: { - n: 2, - f: function (t) { - var e = n.round(1.3 * t, 2); - return "M" + e + ",0L0," + e + "L-" + e + ",0L0,-" + e + "Z"; - }, - }, - cross: { - n: 3, - f: function (t) { - var e = n.round(0.4 * t, 2), - r = n.round(1.2 * t, 2); - return ( - "M" + - r + - "," + - e + - "H" + - e + - "V" + - r + - "H-" + - e + - "V" + - e + - "H-" + - r + - "V-" + - e + - "H-" + - e + - "V-" + - r + - "H" + - e + - "V-" + - e + - "H" + - r + - "Z" - ); - }, - }, - x: { - n: 4, - f: function (t) { - var e = n.round((0.8 * t) / Math.sqrt(2), 2), - r = "l" + e + "," + e, - i = "l" + e + ",-" + e, - a = "l-" + e + ",-" + e, - o = "l-" + e + "," + e; - return "M0," + e + r + i + a + i + a + o + a + o + r + o + r + "Z"; - }, - }, - "triangle-up": { - n: 5, - f: function (t) { - var e = n.round((2 * t) / Math.sqrt(3), 2); - return ( - "M-" + - e + - "," + - n.round(t / 2, 2) + - "H" + - e + - "L0,-" + - n.round(t, 2) + - "Z" - ); - }, - }, - "triangle-down": { - n: 6, - f: function (t) { - var e = n.round((2 * t) / Math.sqrt(3), 2); - return ( - "M-" + - e + - ",-" + - n.round(t / 2, 2) + - "H" + - e + - "L0," + - n.round(t, 2) + - "Z" - ); - }, - }, - "triangle-left": { - n: 7, - f: function (t) { - var e = n.round((2 * t) / Math.sqrt(3), 2); - return ( - "M" + - n.round(t / 2, 2) + - ",-" + - e + - "V" + - e + - "L-" + - n.round(t, 2) + - ",0Z" - ); - }, - }, - "triangle-right": { - n: 8, - f: function (t) { - var e = n.round((2 * t) / Math.sqrt(3), 2); - return ( - "M-" + - n.round(t / 2, 2) + - ",-" + - e + - "V" + - e + - "L" + - n.round(t, 2) + - ",0Z" - ); - }, - }, - "triangle-ne": { - n: 9, - f: function (t) { - var e = n.round(0.6 * t, 2), - r = n.round(1.2 * t, 2); - return "M-" + r + ",-" + e + "H" + e + "V" + r + "Z"; - }, - }, - "triangle-se": { - n: 10, - f: function (t) { - var e = n.round(0.6 * t, 2), - r = n.round(1.2 * t, 2); - return "M" + e + ",-" + r + "V" + e + "H-" + r + "Z"; - }, - }, - "triangle-sw": { - n: 11, - f: function (t) { - var e = n.round(0.6 * t, 2), - r = n.round(1.2 * t, 2); - return "M" + r + "," + e + "H-" + e + "V-" + r + "Z"; - }, - }, - "triangle-nw": { - n: 12, - f: function (t) { - var e = n.round(0.6 * t, 2), - r = n.round(1.2 * t, 2); - return "M-" + e + "," + r + "V-" + e + "H" + r + "Z"; - }, - }, - pentagon: { - n: 13, - f: function (t) { - var e = n.round(0.951 * t, 2), - r = n.round(0.588 * t, 2), - i = n.round(-t, 2), - a = n.round(-0.309 * t, 2); - return ( - "M" + - e + - "," + - a + - "L" + - r + - "," + - n.round(0.809 * t, 2) + - "H-" + - r + - "L-" + - e + - "," + - a + - "L0," + - i + - "Z" - ); - }, - }, - hexagon: { - n: 14, - f: function (t) { - var e = n.round(t, 2), - r = n.round(t / 2, 2), - i = n.round((t * Math.sqrt(3)) / 2, 2); - return ( - "M" + - i + - ",-" + - r + - "V" + - r + - "L0," + - e + - "L-" + - i + - "," + - r + - "V-" + - r + - "L0,-" + - e + - "Z" - ); - }, - }, - hexagon2: { - n: 15, - f: function (t) { - var e = n.round(t, 2), - r = n.round(t / 2, 2), - i = n.round((t * Math.sqrt(3)) / 2, 2); - return ( - "M-" + - r + - "," + - i + - "H" + - r + - "L" + - e + - ",0L" + - r + - ",-" + - i + - "H-" + - r + - "L-" + - e + - ",0Z" - ); - }, - }, - octagon: { - n: 16, - f: function (t) { - var e = n.round(0.924 * t, 2), - r = n.round(0.383 * t, 2); - return ( - "M-" + - r + - ",-" + - e + - "H" + - r + - "L" + - e + - ",-" + - r + - "V" + - r + - "L" + - r + - "," + - e + - "H-" + - r + - "L-" + - e + - "," + - r + - "V-" + - r + - "Z" - ); - }, - }, - star: { - n: 17, - f: function (t) { - var e = 1.4 * t, - r = n.round(0.225 * e, 2), - i = n.round(0.951 * e, 2), - a = n.round(0.363 * e, 2), - o = n.round(0.588 * e, 2), - s = n.round(-e, 2), - l = n.round(-0.309 * e, 2), - c = n.round(0.118 * e, 2), - u = n.round(0.809 * e, 2); - return ( - "M" + - r + - "," + - l + - "H" + - i + - "L" + - a + - "," + - c + - "L" + - o + - "," + - u + - "L0," + - n.round(0.382 * e, 2) + - "L-" + - o + - "," + - u + - "L-" + - a + - "," + - c + - "L-" + - i + - "," + - l + - "H-" + - r + - "L0," + - s + - "Z" - ); - }, - }, - hexagram: { - n: 18, - f: function (t) { - var e = n.round(0.66 * t, 2), - r = n.round(0.38 * t, 2), - i = n.round(0.76 * t, 2); - return ( - "M-" + - i + - ",0l-" + - r + - ",-" + - e + - "h" + - i + - "l" + - r + - ",-" + - e + - "l" + - r + - "," + - e + - "h" + - i + - "l-" + - r + - "," + - e + - "l" + - r + - "," + - e + - "h-" + - i + - "l-" + - r + - "," + - e + - "l-" + - r + - ",-" + - e + - "h-" + - i + - "Z" - ); - }, - }, - "star-triangle-up": { - n: 19, - f: function (t) { - var e = n.round(t * Math.sqrt(3) * 0.8, 2), - r = n.round(0.8 * t, 2), - i = n.round(1.6 * t, 2), - a = n.round(4 * t, 2), - o = "A " + a + "," + a + " 0 0 1 "; - return ( - "M-" + - e + - "," + - r + - o + - e + - "," + - r + - o + - "0,-" + - i + - o + - "-" + - e + - "," + - r + - "Z" - ); - }, - }, - "star-triangle-down": { - n: 20, - f: function (t) { - var e = n.round(t * Math.sqrt(3) * 0.8, 2), - r = n.round(0.8 * t, 2), - i = n.round(1.6 * t, 2), - a = n.round(4 * t, 2), - o = "A " + a + "," + a + " 0 0 1 "; - return ( - "M" + - e + - ",-" + - r + - o + - "-" + - e + - ",-" + - r + - o + - "0," + - i + - o + - e + - ",-" + - r + - "Z" - ); - }, - }, - "star-square": { - n: 21, - f: function (t) { - var e = n.round(1.1 * t, 2), - r = n.round(2 * t, 2), - i = "A " + r + "," + r + " 0 0 1 "; - return ( - "M-" + - e + - ",-" + - e + - i + - "-" + - e + - "," + - e + - i + - e + - "," + - e + - i + - e + - ",-" + - e + - i + - "-" + - e + - ",-" + - e + - "Z" - ); - }, - }, - "star-diamond": { - n: 22, - f: function (t) { - var e = n.round(1.4 * t, 2), - r = n.round(1.9 * t, 2), - i = "A " + r + "," + r + " 0 0 1 "; - return ( - "M-" + - e + - ",0" + - i + - "0," + - e + - i + - e + - ",0" + - i + - "0,-" + - e + - i + - "-" + - e + - ",0Z" - ); - }, - }, - "diamond-tall": { - n: 23, - f: function (t) { - var e = n.round(0.7 * t, 2), - r = n.round(1.4 * t, 2); - return "M0," + r + "L" + e + ",0L0,-" + r + "L-" + e + ",0Z"; - }, - }, - "diamond-wide": { - n: 24, - f: function (t) { - var e = n.round(1.4 * t, 2), - r = n.round(0.7 * t, 2); - return "M0," + r + "L" + e + ",0L0,-" + r + "L-" + e + ",0Z"; - }, - }, - hourglass: { - n: 25, - f: function (t) { - var e = n.round(t, 2); - return ( - "M" + e + "," + e + "H-" + e + "L" + e + ",-" + e + "H-" + e + "Z" - ); - }, - noDot: !0, - }, - bowtie: { - n: 26, - f: function (t) { - var e = n.round(t, 2); - return ( - "M" + e + "," + e + "V-" + e + "L-" + e + "," + e + "V-" + e + "Z" - ); - }, - noDot: !0, - }, - "circle-cross": { - n: 27, - f: function (t) { - var e = n.round(t, 2); - return ( - "M0," + - e + - "V-" + - e + - "M" + - e + - ",0H-" + - e + - "M" + - e + - ",0A" + - e + - "," + - e + - " 0 1,1 0,-" + - e + - "A" + - e + - "," + - e + - " 0 0,1 " + - e + - ",0Z" - ); - }, - needLine: !0, - noDot: !0, - }, - "circle-x": { - n: 28, - f: function (t) { - var e = n.round(t, 2), - r = n.round(t / Math.sqrt(2), 2); - return ( - "M" + - r + - "," + - r + - "L-" + - r + - ",-" + - r + - "M" + - r + - ",-" + - r + - "L-" + - r + - "," + - r + - "M" + - e + - ",0A" + - e + - "," + - e + - " 0 1,1 0,-" + - e + - "A" + - e + - "," + - e + - " 0 0,1 " + - e + - ",0Z" - ); - }, - needLine: !0, - noDot: !0, - }, - "square-cross": { - n: 29, - f: function (t) { - var e = n.round(t, 2); - return ( - "M0," + - e + - "V-" + - e + - "M" + - e + - ",0H-" + - e + - "M" + - e + - "," + - e + - "H-" + - e + - "V-" + - e + - "H" + - e + - "Z" - ); - }, - needLine: !0, - noDot: !0, - }, - "square-x": { - n: 30, - f: function (t) { - var e = n.round(t, 2); - return ( - "M" + - e + - "," + - e + - "L-" + - e + - ",-" + - e + - "M" + - e + - ",-" + - e + - "L-" + - e + - "," + - e + - "M" + - e + - "," + - e + - "H-" + - e + - "V-" + - e + - "H" + - e + - "Z" - ); - }, - needLine: !0, - noDot: !0, - }, - "diamond-cross": { - n: 31, - f: function (t) { - var e = n.round(1.3 * t, 2); - return ( - "M" + - e + - ",0L0," + - e + - "L-" + - e + - ",0L0,-" + - e + - "ZM0,-" + - e + - "V" + - e + - "M-" + - e + - ",0H" + - e - ); - }, - needLine: !0, - noDot: !0, - }, - "diamond-x": { - n: 32, - f: function (t) { - var e = n.round(1.3 * t, 2), - r = n.round(0.65 * t, 2); - return ( - "M" + - e + - ",0L0," + - e + - "L-" + - e + - ",0L0,-" + - e + - "ZM-" + - r + - ",-" + - r + - "L" + - r + - "," + - r + - "M-" + - r + - "," + - r + - "L" + - r + - ",-" + - r - ); - }, - needLine: !0, - noDot: !0, - }, - "cross-thin": { - n: 33, - f: function (t) { - var e = n.round(1.4 * t, 2); - return "M0," + e + "V-" + e + "M" + e + ",0H-" + e; - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "x-thin": { - n: 34, - f: function (t) { - var e = n.round(t, 2); - return ( - "M" + - e + - "," + - e + - "L-" + - e + - ",-" + - e + - "M" + - e + - ",-" + - e + - "L-" + - e + - "," + - e - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - asterisk: { - n: 35, - f: function (t) { - var e = n.round(1.2 * t, 2), - r = n.round(0.85 * t, 2); - return ( - "M0," + - e + - "V-" + - e + - "M" + - e + - ",0H-" + - e + - "M" + - r + - "," + - r + - "L-" + - r + - ",-" + - r + - "M" + - r + - ",-" + - r + - "L-" + - r + - "," + - r - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - hash: { - n: 36, - f: function (t) { - var e = n.round(t / 2, 2), - r = n.round(t, 2); - return ( - "M" + - e + - "," + - r + - "V-" + - r + - "m-" + - r + - ",0V" + - r + - "M" + - r + - "," + - e + - "H-" + - r + - "m0,-" + - r + - "H" + - r - ); - }, - needLine: !0, - noFill: !0, - }, - "y-up": { - n: 37, - f: function (t) { - var e = n.round(1.2 * t, 2), - r = n.round(1.6 * t, 2), - i = n.round(0.8 * t, 2); - return ( - "M-" + e + "," + i + "L0,0M" + e + "," + i + "L0,0M0,-" + r + "L0,0" - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "y-down": { - n: 38, - f: function (t) { - var e = n.round(1.2 * t, 2), - r = n.round(1.6 * t, 2), - i = n.round(0.8 * t, 2); - return ( - "M-" + e + ",-" + i + "L0,0M" + e + ",-" + i + "L0,0M0," + r + "L0,0" - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "y-left": { - n: 39, - f: function (t) { - var e = n.round(1.2 * t, 2), - r = n.round(1.6 * t, 2), - i = n.round(0.8 * t, 2); - return ( - "M" + i + "," + e + "L0,0M" + i + ",-" + e + "L0,0M-" + r + ",0L0,0" - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "y-right": { - n: 40, - f: function (t) { - var e = n.round(1.2 * t, 2), - r = n.round(1.6 * t, 2), - i = n.round(0.8 * t, 2); - return ( - "M-" + i + "," + e + "L0,0M-" + i + ",-" + e + "L0,0M" + r + ",0L0,0" - ); - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "line-ew": { - n: 41, - f: function (t) { - var e = n.round(1.4 * t, 2); - return "M" + e + ",0H-" + e; - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "line-ns": { - n: 42, - f: function (t) { - var e = n.round(1.4 * t, 2); - return "M0," + e + "V-" + e; - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "line-ne": { - n: 43, - f: function (t) { - var e = n.round(t, 2); - return "M" + e + ",-" + e + "L-" + e + "," + e; - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - "line-nw": { - n: 44, - f: function (t) { - var e = n.round(t, 2); - return "M" + e + "," + e + "L-" + e + ",-" + e; - }, - needLine: !0, - noDot: !0, - noFill: !0, - }, - }; - }, - { d3: 130 }, - ], - 501: [ - function (t, e, r) { - "use strict"; - e.exports = { - visible: { valType: "boolean", editType: "calc" }, - type: { - valType: "enumerated", - values: ["percent", "constant", "sqrt", "data"], - editType: "calc", - }, - symmetric: { valType: "boolean", editType: "calc" }, - array: { valType: "data_array", editType: "calc" }, - arrayminus: { valType: "data_array", editType: "calc" }, - value: { valType: "number", min: 0, dflt: 10, editType: "calc" }, - valueminus: { valType: "number", min: 0, dflt: 10, editType: "calc" }, - traceref: { valType: "integer", min: 0, dflt: 0, editType: "style" }, - tracerefminus: { valType: "integer", min: 0, dflt: 0, editType: "style" }, - copy_ystyle: { valType: "boolean", editType: "plot" }, - copy_zstyle: { valType: "boolean", editType: "style" }, - color: { valType: "color", editType: "style" }, - thickness: { valType: "number", min: 0, dflt: 2, editType: "style" }, - width: { valType: "number", min: 0, editType: "plot" }, - editType: "calc", - _deprecated: { opacity: { valType: "number", editType: "style" } }, - }; - }, - {}, - ], - 502: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../registry"), - a = t("../../plots/cartesian/axes"), - o = t("./compute_error"); - function s(t, e, r, i) { - var s = e["error_" + i] || {}, - l = []; - if (s.visible && -1 !== ["linear", "log"].indexOf(r.type)) { - for (var c = o(s), u = 0; u < t.length; u++) { - var f = t[u], - h = f[i]; - if (n(r.c2l(h))) { - var p = c(h, u); - if (n(p[0]) && n(p[1])) { - var d = (f[i + "s"] = h - p[0]), - g = (f[i + "h"] = h + p[1]); - l.push(d, g); - } - } - } - a.expand(r, l, { padded: !0 }); - } - } - e.exports = function (t) { - for (var e = t.calcdata, r = 0; r < e.length; r++) { - var n = e[r], - o = n[0].trace; - if (i.traceIs(o, "errorBarsOK")) { - var l = a.getFromId(t, o.xaxis), - c = a.getFromId(t, o.yaxis); - (s(n, o, l, "x"), s(n, o, c, "y")); - } - } - }; - }, - { - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "./compute_error": 503, - "fast-isnumeric": 196, - }, - ], - 503: [ - function (t, e, r) { - "use strict"; - function n(t, e) { - return "percent" === t - ? function (t) { - return Math.abs((t * e) / 100); - } - : "constant" === t - ? function () { - return Math.abs(e); - } - : "sqrt" === t - ? function (t) { - return Math.sqrt(Math.abs(t)); - } - : void 0; - } - e.exports = function (t) { - var e = t.type, - r = t.symmetric; - if ("data" === e) { - var i = t.array || []; - if (r) - return function (t, e) { - var r = +i[e]; - return [r, r]; - }; - var a = t.arrayminus || []; - return function (t, e) { - var r = +i[e], - n = +a[e]; - return isNaN(r) && isNaN(n) ? [NaN, NaN] : [n || 0, r || 0]; - }; - } - var o = n(e, t.value), - s = n(e, t.valueminus); - return r || void 0 === t.valueminus - ? function (t) { - var e = o(t); - return [e, e]; - } - : function (t) { - return [s(t), o(t)]; - }; - }; - }, - {}, - ], - 504: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../registry"), - a = t("../../lib"), - o = t("./attributes"); - e.exports = function (t, e, r, s) { - var l = "error_" + s.axis, - c = (e[l] = {}), - u = t[l] || {}; - function f(t, e) { - return a.coerce(u, c, o, t, e); - } - if ( - !1 !== - f( - "visible", - void 0 !== u.array || void 0 !== u.value || "sqrt" === u.type, - ) - ) { - var h = f("type", "array" in u ? "data" : "percent"), - p = !0; - ("sqrt" !== h && - (p = f( - "symmetric", - !(("data" === h ? "arrayminus" : "valueminus") in u), - )), - "data" === h - ? (f("array"), - f("traceref"), - p || (f("arrayminus"), f("tracerefminus"))) - : ("percent" !== h && "constant" !== h) || - (f("value"), p || f("valueminus"))); - var d = "copy_" + s.inherit + "style"; - if (s.inherit) - (e["error_" + s.inherit] || {}).visible && - f(d, !(u.color || n(u.thickness) || n(u.width))); - (s.inherit && c[d]) || - (f("color", r), - f("thickness"), - f("width", i.traceIs(e, "gl3d") ? 0 : 4)); - } - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "./attributes": 501, - "fast-isnumeric": 196, - }, - ], - 505: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plot_api/edit_types").overrideAll, - a = t("./attributes"), - o = t("./calc"), - s = { error_x: n.extendFlat({}, a), error_y: n.extendFlat({}, a) }; - (delete s.error_x.copy_zstyle, - delete s.error_y.copy_zstyle, - delete s.error_y.copy_ystyle); - var l = { - error_x: n.extendFlat({}, a), - error_y: n.extendFlat({}, a), - error_z: n.extendFlat({}, a), - }; - (delete l.error_x.copy_ystyle, - delete l.error_y.copy_ystyle, - delete l.error_z.copy_ystyle, - delete l.error_z.copy_zstyle, - (e.exports = { - moduleType: "component", - name: "errorbars", - schema: { - traces: { - scatter: s, - bar: s, - histogram: s, - scatter3d: i(l, "calc", "nested"), - scattergl: i(s, "calc", "nested"), - }, - }, - supplyDefaults: t("./defaults"), - calc: o, - calcFromTrace: function (t, e) { - for ( - var r = t.x || [], - n = t.y || [], - i = r.length || n.length, - a = new Array(i), - s = 0; - s < i; - s++ - ) - a[s] = { x: r[s], y: n[s] }; - return ((a[0].trace = t), o({ calcdata: [a], _fullLayout: e }), a); - }, - plot: t("./plot"), - style: t("./style"), - hoverInfo: function (t, e, r) { - (e.error_y || {}).visible && - ((r.yerr = t.yh - t.y), - e.error_y.symmetric || (r.yerrneg = t.y - t.ys)); - (e.error_x || {}).visible && - ((r.xerr = t.xh - t.x), - e.error_x.symmetric || (r.xerrneg = t.x - t.xs)); - }, - })); - }, - { - "../../lib": 602, - "../../plot_api/edit_types": 633, - "./attributes": 501, - "./calc": 502, - "./defaults": 504, - "./plot": 506, - "./style": 507, - }, - ], - 506: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../drawing"), - o = t("../../traces/scatter/subtypes"); - e.exports = function (t, e, r) { - var s = e.xaxis, - l = e.yaxis, - c = r && r.duration > 0; - t.each(function (t) { - var u, - f = t[0].trace, - h = f.error_x || {}, - p = f.error_y || {}; - f.ids && - (u = function (t) { - return t.id; - }); - var d = o.hasMarkers(f) && f.marker.maxdisplayed > 0; - p.visible || h.visible || (t = []); - var g = n.select(this).selectAll("g.errorbar").data(t, u); - if ((g.exit().remove(), t.length)) { - (h.visible || g.selectAll("path.xerror").remove(), - p.visible || g.selectAll("path.yerror").remove(), - g.style("opacity", 1)); - var m = g.enter().append("g").classed("errorbar", !0); - (c && - m - .style("opacity", 0) - .transition() - .duration(r.duration) - .style("opacity", 1), - a.setClipUrl(g, e.layerClipId), - g.each(function (t) { - var e = n.select(this), - a = (function (t, e, r) { - var n = { x: e.c2p(t.x), y: r.c2p(t.y) }; - void 0 !== t.yh && - ((n.yh = r.c2p(t.yh)), - (n.ys = r.c2p(t.ys)), - i(n.ys) || ((n.noYS = !0), (n.ys = r.c2p(t.ys, !0)))); - void 0 !== t.xh && - ((n.xh = e.c2p(t.xh)), - (n.xs = e.c2p(t.xs)), - i(n.xs) || ((n.noXS = !0), (n.xs = e.c2p(t.xs, !0)))); - return n; - })(t, s, l); - if (!d || t.vis) { - var o, - u = e.select("path.yerror"); - if (p.visible && i(a.x) && i(a.yh) && i(a.ys)) { - var f = p.width; - ((o = - "M" + - (a.x - f) + - "," + - a.yh + - "h" + - 2 * f + - "m-" + - f + - ",0V" + - a.ys), - a.noYS || (o += "m-" + f + ",0h" + 2 * f), - !u.size() - ? (u = e - .append("path") - .style("vector-effect", "non-scaling-stroke") - .classed("yerror", !0)) - : c && - (u = u.transition().duration(r.duration).ease(r.easing)), - u.attr("d", o)); - } else u.remove(); - var g = e.select("path.xerror"); - if (h.visible && i(a.y) && i(a.xh) && i(a.xs)) { - var m = (h.copy_ystyle ? p : h).width; - ((o = - "M" + - a.xh + - "," + - (a.y - m) + - "v" + - 2 * m + - "m0,-" + - m + - "H" + - a.xs), - a.noXS || (o += "m0,-" + m + "v" + 2 * m), - !g.size() - ? (g = e - .append("path") - .style("vector-effect", "non-scaling-stroke") - .classed("xerror", !0)) - : c && - (g = g.transition().duration(r.duration).ease(r.easing)), - g.attr("d", o)); - } else g.remove(); - } - })); - } - }); - }; - }, - { - "../../traces/scatter/subtypes": 948, - "../drawing": 499, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 507: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../color"); - e.exports = function (t) { - t.each(function (t) { - var e = t[0].trace, - r = e.error_y || {}, - a = e.error_x || {}, - o = n.select(this); - (o - .selectAll("path.yerror") - .style("stroke-width", r.thickness + "px") - .call(i.stroke, r.color), - a.copy_ystyle && (a = r), - o - .selectAll("path.xerror") - .style("stroke-width", a.thickness + "px") - .call(i.stroke, a.color)); - }); - }; - }, - { "../color": 474, d3: 130 }, - ], - 508: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"); - e.exports = { - hoverlabel: { - bgcolor: { valType: "color", arrayOk: !0, editType: "none" }, - bordercolor: { valType: "color", arrayOk: !0, editType: "none" }, - font: n({ arrayOk: !0, editType: "none" }), - namelength: { - valType: "integer", - min: -1, - arrayOk: !0, - editType: "none", - }, - editType: "calc", - }, - }; - }, - { "../../plots/font_attributes": 674 }, - ], - 509: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../registry"); - function a(t, e, r, i) { - ((i = i || n.identity), Array.isArray(t) && (e[0][r] = i(t))); - } - e.exports = function (t) { - var e = t.calcdata, - r = t._fullLayout; - function o(t) { - return function (e) { - return n.coerceHoverinfo({ hoverinfo: e }, { _module: t._module }, r); - }; - } - for (var s = 0; s < e.length; s++) { - var l = e[s], - c = l[0].trace; - if (!i.traceIs(c, "pie")) { - var u = i.traceIs(c, "2dMap") ? a : n.fillArray; - (u(c.hoverinfo, l, "hi", o(c)), - c.hoverlabel && - (u(c.hoverlabel.bgcolor, l, "hbg"), - u(c.hoverlabel.bordercolor, l, "hbc"), - u(c.hoverlabel.font.size, l, "hts"), - u(c.hoverlabel.font.color, l, "htc"), - u(c.hoverlabel.font.family, l, "htf"), - u(c.hoverlabel.namelength, l, "hnl"))); - } - } - }; - }, - { "../../lib": 602, "../../registry": 732 }, - ], - 510: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("./hover").hover; - e.exports = function (t, e, r) { - var a = n.getComponentMethod("annotations", "onClick")(t, t._hoverdata); - function o() { - t.emit("plotly_click", { points: t._hoverdata, event: e }); - } - (void 0 !== r && i(t, e, r, !0), - t._hoverdata && - e && - e.target && - (a && a.then ? a.then(o) : o(), - e.stopImmediatePropagation && e.stopImmediatePropagation())); - }; - }, - { "../../registry": 732, "./hover": 514 }, - ], - 511: [ - function (t, e, r) { - "use strict"; - e.exports = { - YANGLE: 60, - HOVERARROWSIZE: 6, - HOVERTEXTPAD: 3, - HOVERFONTSIZE: 13, - HOVERFONT: "Arial, sans-serif", - HOVERMINTIME: 50, - HOVERID: "-hover", - }; - }, - {}, - ], - 512: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("./hoverlabel_defaults"); - e.exports = function (t, e, r, o) { - a( - t, - e, - function (r, a) { - return n.coerce(t, e, i, r, a); - }, - o.hoverlabel, - ); - }; - }, - { "../../lib": 602, "./attributes": 508, "./hoverlabel_defaults": 515 }, - ], - 513: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - ((r.getSubplot = function (t) { - return t.subplot || t.xaxis + t.yaxis || t.geo; - }), - (r.isTraceInSubplots = function (t, e) { - if ("splom" === t.type) { - for (var n = t.xaxes || [], i = t.yaxes || [], a = 0; a < n.length; a++) - for (var o = 0; o < i.length; o++) - if (-1 !== e.indexOf(n[a] + i[o])) return !0; - return !1; - } - return -1 !== e.indexOf(r.getSubplot(t)); - }), - (r.flat = function (t, e) { - for (var r = new Array(t.length), n = 0; n < t.length; n++) r[n] = e; - return r; - }), - (r.p2c = function (t, e) { - for (var r = new Array(t.length), n = 0; n < t.length; n++) - r[n] = t[n].p2c(e); - return r; - }), - (r.getDistanceFunction = function (t, e, n, i) { - return "closest" === t ? i || r.quadrature(e, n) : "x" === t ? e : n; - }), - (r.getClosest = function (t, e, r) { - if (!1 !== r.index) - r.index >= 0 && r.index < t.length ? (r.distance = 0) : (r.index = !1); - else - for (var n = 0; n < t.length; n++) { - var i = e(t[n]); - i <= r.distance && ((r.index = n), (r.distance = i)); - } - return r; - }), - (r.inbox = function (t, e, r) { - return t * e < 0 || 0 === t ? r : 1 / 0; - }), - (r.quadrature = function (t, e) { - return function (r) { - var n = t(r), - i = e(r); - return Math.sqrt(n * n + i * i); - }; - }), - (r.makeEventData = function (t, e, n) { - var i = "index" in t ? t.index : t.pointNumber, - a = { - data: e._input, - fullData: e, - curveNumber: e.index, - pointNumber: i, - }; - if (e._indexToPoints) { - var o = e._indexToPoints[i]; - 1 === o.length ? (a.pointIndex = o[0]) : (a.pointIndices = o); - } else a.pointIndex = i; - return ( - e._module.eventData - ? (a = e._module.eventData(a, t, e, n, i)) - : ("xVal" in t ? (a.x = t.xVal) : "x" in t && (a.x = t.x), - "yVal" in t ? (a.y = t.yVal) : "y" in t && (a.y = t.y), - t.xa && (a.xaxis = t.xa), - t.ya && (a.yaxis = t.ya), - void 0 !== t.zLabelVal && (a.z = t.zLabelVal)), - r.appendArrayPointValue(a, e, i), - a - ); - }), - (r.appendArrayPointValue = function (t, e, r) { - var i = e._arrayAttrs; - if (i) - for (var s = 0; s < i.length; s++) { - var l = i[s], - c = a(l); - if (void 0 === t[c]) { - var u = o(n.nestedProperty(e, l).get(), r); - void 0 !== u && (t[c] = u); - } - } - }), - (r.appendArrayMultiPointValues = function (t, e, r) { - var i = e._arrayAttrs; - if (i) - for (var s = 0; s < i.length; s++) { - var l = i[s], - c = a(l); - if (void 0 === t[c]) { - for ( - var u = n.nestedProperty(e, l).get(), - f = new Array(r.length), - h = 0; - h < r.length; - h++ - ) - f[h] = o(u, r[h]); - t[c] = f; - } - } - })); - var i = { - ids: "id", - locations: "location", - labels: "label", - values: "value", - "marker.colors": "color", - }; - function a(t) { - return i[t] || t; - } - function o(t, e) { - return Array.isArray(e) - ? Array.isArray(t) && Array.isArray(t[e[0]]) - ? t[e[0]][e[1]] - : void 0 - : t[e]; - } - }, - { "../../lib": 602 }, - ], - 514: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("tinycolor2"), - o = t("../../lib"), - s = t("../../lib/events"), - l = t("../../lib/svg_text_utils"), - c = t("../../lib/override_cursor"), - u = t("../drawing"), - f = t("../color"), - h = t("../dragelement"), - p = t("../../plots/cartesian/axes"), - d = t("../../registry"), - g = t("./helpers"), - m = t("./constants"), - v = m.YANGLE, - y = (Math.PI * v) / 180, - x = 1 / Math.sin(y), - b = Math.cos(y), - _ = Math.sin(y), - w = m.HOVERARROWSIZE, - k = m.HOVERTEXTPAD; - function M(t, e, r) { - var i = e.hovermode, - a = e.rotateLabels, - s = e.bgColor, - c = e.container, - h = e.outerContainer, - p = e.commonLabelOpts || {}, - d = e.fontFamily || m.HOVERFONT, - g = e.fontSize || m.HOVERFONTSIZE, - y = t[0], - x = y.xa, - b = y.ya, - _ = "y" === i ? "yLabel" : "xLabel", - M = y[_], - A = (String(M) || "").split(" ")[0], - T = h.node().getBoundingClientRect(), - S = T.top, - C = T.width, - E = T.height, - L = - void 0 !== M && - y.distance <= e.hoverdistance && - ("x" === i || "y" === i); - if (L) { - var z, - P, - D = !0; - for (z = 0; z < t.length; z++) { - (D && void 0 === t[z].zLabel && (D = !1), - (P = t[z].hoverinfo || t[z].trace.hoverinfo)); - var O = Array.isArray(P) ? P : P.split("+"); - if (-1 === O.indexOf("all") && -1 === O.indexOf(i)) { - L = !1; - break; - } - } - D && (L = !1); - } - var I = c.selectAll("g.axistext").data(L ? [0] : []); - (I.enter().append("g").classed("axistext", !0), - I.exit().remove(), - I.each(function () { - var e = n.select(this), - a = o.ensureSingle(e, "path", "", function (t) { - t.style({ "stroke-width": "1px" }); - }), - s = o.ensureSingle(e, "text", "", function (t) { - t.attr("data-notex", 1); - }), - c = p.bgcolor || f.defaultLine, - h = p.bordercolor || f.contrast(c); - (a.style({ fill: c, stroke: h }), - s - .text(M) - .call( - u.font, - p.font.family || d, - p.font.size || g, - p.font.color || f.background, - ) - .call(l.positionText, 0, 0) - .call(l.convertToTspans, r), - e.attr("transform", "")); - var m = s.node().getBoundingClientRect(); - if ("x" === i) { - s.attr("text-anchor", "middle").call( - l.positionText, - 0, - "top" === x.side ? S - m.bottom - w - k : S - m.top + w + k, - ); - var v = "top" === x.side ? "-" : ""; - (a.attr( - "d", - "M0,0L" + - w + - "," + - v + - w + - "H" + - (k + m.width / 2) + - "v" + - v + - (2 * k + m.height) + - "H-" + - (k + m.width / 2) + - "V" + - v + - w + - "H-" + - w + - "Z", - ), - e.attr( - "transform", - "translate(" + - (x._offset + (y.x0 + y.x1) / 2) + - "," + - (b._offset + ("top" === x.side ? 0 : b._length)) + - ")", - )); - } else { - s.attr("text-anchor", "right" === b.side ? "start" : "end").call( - l.positionText, - ("right" === b.side ? 1 : -1) * (k + w), - S - m.top - m.height / 2, - ); - var T = "right" === b.side ? "" : "-"; - (a.attr( - "d", - "M0,0L" + - T + - w + - "," + - w + - "V" + - (k + m.height / 2) + - "h" + - T + - (2 * k + m.width) + - "V-" + - (k + m.height / 2) + - "H" + - T + - w + - "V-" + - w + - "Z", - ), - e.attr( - "transform", - "translate(" + - (x._offset + ("right" === b.side ? x._length : 0)) + - "," + - (b._offset + (y.y0 + y.y1) / 2) + - ")", - )); - } - t = t.filter(function (t) { - return void 0 !== t.zLabelVal || (t[_] || "").split(" ")[0] === A; - }); - })); - var R = c.selectAll("g.hovertext").data(t, function (t) { - return [ - t.trace.index, - t.index, - t.x0, - t.y0, - t.name, - t.attr, - t.xa, - t.ya || "", - ].join(","); - }); - return ( - R.enter() - .append("g") - .classed("hovertext", !0) - .each(function () { - var t = n.select(this); - (t.append("rect").call(f.fill, f.addOpacity(s, 0.8)), - t.append("text").classed("name", !0), - t.append("path").style("stroke-width", "1px"), - t.append("text").classed("nums", !0).call(u.font, d, g)); - }), - R.exit().remove(), - R.each(function (t) { - var e = n.select(this).attr("transform", ""), - o = "", - c = "", - h = f.opacity(t.color) ? t.color : f.defaultLine, - p = f.combine(h, s), - m = t.borderColor || f.contrast(p); - if ((void 0 !== t.nameOverride && (t.name = t.nameOverride), t.name)) { - o = l.plainText(t.name || ""); - var y = Math.round(t.nameLength); - y > -1 && - o.length > y && - (o = y > 3 ? o.substr(0, y - 3) + "..." : o.substr(0, y)); - } - (void 0 !== t.zLabel - ? (void 0 !== t.xLabel && (c += "x: " + t.xLabel + "
          "), - void 0 !== t.yLabel && (c += "y: " + t.yLabel + "
          "), - (c += (c ? "z: " : "") + t.zLabel)) - : L && t[i + "Label"] === M - ? (c = t[("x" === i ? "y" : "x") + "Label"] || "") - : void 0 === t.xLabel - ? void 0 !== t.yLabel && (c = t.yLabel) - : (c = - void 0 === t.yLabel - ? t.xLabel - : "(" + t.xLabel + ", " + t.yLabel + ")"), - t.text && !Array.isArray(t.text) && (c += (c ? "
          " : "") + t.text), - void 0 !== t.extraText && (c += (c ? "
          " : "") + t.extraText), - "" === c && ("" === o && e.remove(), (c = o))); - var x = e - .select("text.nums") - .call(u.font, t.fontFamily || d, t.fontSize || g, t.fontColor || m) - .text(c) - .attr("data-notex", 1) - .call(l.positionText, 0, 0) - .call(l.convertToTspans, r), - b = e.select("text.name"), - _ = 0; - (o && o !== c - ? (b - .call(u.font, t.fontFamily || d, t.fontSize || g, p) - .text(o) - .attr("data-notex", 1) - .call(l.positionText, 0, 0) - .call(l.convertToTspans, r), - (_ = b.node().getBoundingClientRect().width + 2 * k)) - : (b.remove(), e.select("rect").remove()), - e.select("path").style({ fill: p, stroke: m })); - var A, - T, - z = x.node().getBoundingClientRect(), - P = t.xa._offset + (t.x0 + t.x1) / 2, - D = t.ya._offset + (t.y0 + t.y1) / 2, - O = Math.abs(t.x1 - t.x0), - I = Math.abs(t.y1 - t.y0), - R = z.width + w + k + _; - ((t.ty0 = S - z.top), - (t.bx = z.width + 2 * k), - (t.by = z.height + 2 * k), - (t.anchor = "start"), - (t.txwidth = z.width), - (t.tx2width = _), - (t.offset = 0), - a - ? ((t.pos = P), - (A = D + I / 2 + R <= E), - (T = D - I / 2 - R >= 0), - ("top" !== t.idealAlign && A) || !T - ? A - ? ((D += I / 2), (t.anchor = "start")) - : (t.anchor = "middle") - : ((D -= I / 2), (t.anchor = "end"))) - : ((t.pos = D), - (A = P + O / 2 + R <= C), - (T = P - O / 2 - R >= 0), - ("left" !== t.idealAlign && A) || !T - ? A - ? ((P += O / 2), (t.anchor = "start")) - : (t.anchor = "middle") - : ((P -= O / 2), (t.anchor = "end"))), - x.attr("text-anchor", t.anchor), - _ && b.attr("text-anchor", t.anchor), - e.attr( - "transform", - "translate(" + P + "," + D + ")" + (a ? "rotate(" + v + ")" : ""), - )); - }), - R - ); - } - function A(t, e) { - t.each(function (t) { - var r = n.select(this); - if (t.del) r.remove(); - else { - var i = "end" === t.anchor ? -1 : 1, - a = r.select("text.nums"), - o = { start: 1, end: -1, middle: 0 }[t.anchor], - s = o * (w + k), - c = s + o * (t.txwidth + k), - f = 0, - h = t.offset; - ("middle" === t.anchor && - ((s -= t.tx2width / 2), (c += t.txwidth / 2 + k)), - e && ((h *= -_), (f = t.offset * b)), - r - .select("path") - .attr( - "d", - "middle" === t.anchor - ? "M-" + - (t.bx / 2 + t.tx2width / 2) + - "," + - (h - t.by / 2) + - "h" + - t.bx + - "v" + - t.by + - "h-" + - t.bx + - "Z" - : "M0,0L" + - (i * w + f) + - "," + - (w + h) + - "v" + - (t.by / 2 - w) + - "h" + - i * t.bx + - "v-" + - t.by + - "H" + - (i * w + f) + - "V" + - (h - w) + - "Z", - ), - a.call(l.positionText, s + f, h + t.ty0 - t.by / 2 + k), - t.tx2width && - (r - .select("text.name") - .call(l.positionText, c + o * k + f, h + t.ty0 - t.by / 2 + k), - r - .select("rect") - .call( - u.setRect, - c + ((o - 1) * t.tx2width) / 2 + f, - h - t.by / 2 - 1, - t.tx2width, - t.by + 2, - ))); - } - }); - } - function T(t, e) { - var r = t.index, - n = t.trace || {}, - i = t.cd[0], - a = t.cd[r] || {}, - s = Array.isArray(r) - ? function (t, e) { - return o.castOption(i, r, t) || o.extractOption({}, n, "", e); - } - : function (t, e) { - return o.extractOption(a, n, t, e); - }; - function l(e, r, n) { - var i = s(r, n); - i && (t[e] = i); - } - if ( - (l("hoverinfo", "hi", "hoverinfo"), - l("color", "hbg", "hoverlabel.bgcolor"), - l("borderColor", "hbc", "hoverlabel.bordercolor"), - l("fontFamily", "htf", "hoverlabel.font.family"), - l("fontSize", "hts", "hoverlabel.font.size"), - l("fontColor", "htc", "hoverlabel.font.color"), - l("nameLength", "hnl", "hoverlabel.namelength"), - (t.posref = - "y" === e - ? t.xa._offset + (t.x0 + t.x1) / 2 - : t.ya._offset + (t.y0 + t.y1) / 2), - (t.x0 = o.constrain(t.x0, 0, t.xa._length)), - (t.x1 = o.constrain(t.x1, 0, t.xa._length)), - (t.y0 = o.constrain(t.y0, 0, t.ya._length)), - (t.y1 = o.constrain(t.y1, 0, t.ya._length)), - void 0 !== t.xLabelVal && - ((t.xLabel = - "xLabel" in t ? t.xLabel : p.hoverLabelText(t.xa, t.xLabelVal)), - (t.xVal = t.xa.c2d(t.xLabelVal))), - void 0 !== t.yLabelVal && - ((t.yLabel = - "yLabel" in t ? t.yLabel : p.hoverLabelText(t.ya, t.yLabelVal)), - (t.yVal = t.ya.c2d(t.yLabelVal))), - void 0 !== t.zLabelVal && - void 0 === t.zLabel && - (t.zLabel = String(t.zLabelVal)), - !(isNaN(t.xerr) || ("log" === t.xa.type && t.xerr <= 0))) - ) { - var c = p.tickText(t.xa, t.xa.c2l(t.xerr), "hover").text; - (void 0 !== t.xerrneg - ? (t.xLabel += - " +" + - c + - " / -" + - p.tickText(t.xa, t.xa.c2l(t.xerrneg), "hover").text) - : (t.xLabel += " \xb1 " + c), - "x" === e && (t.distance += 1)); - } - if (!(isNaN(t.yerr) || ("log" === t.ya.type && t.yerr <= 0))) { - var u = p.tickText(t.ya, t.ya.c2l(t.yerr), "hover").text; - (void 0 !== t.yerrneg - ? (t.yLabel += - " +" + - u + - " / -" + - p.tickText(t.ya, t.ya.c2l(t.yerrneg), "hover").text) - : (t.yLabel += " \xb1 " + u), - "y" === e && (t.distance += 1)); - } - var f = t.hoverinfo || t.trace.hoverinfo; - return ( - "all" !== f && - (-1 === (f = Array.isArray(f) ? f : f.split("+")).indexOf("x") && - (t.xLabel = void 0), - -1 === f.indexOf("y") && (t.yLabel = void 0), - -1 === f.indexOf("z") && (t.zLabel = void 0), - -1 === f.indexOf("text") && (t.text = void 0), - -1 === f.indexOf("name") && (t.name = void 0)), - t - ); - } - function S(t, e) { - var r, - n, - i = e.container, - o = e.fullLayout, - s = e.event, - l = !!t.hLinePoint, - c = !!t.vLinePoint; - if ((i.selectAll(".spikeline").remove(), c || l)) { - var h = f.combine(o.plot_bgcolor, o.paper_bgcolor); - if (l) { - var p, - d, - g = t.hLinePoint; - ((r = g && g.xa), - "cursor" === (n = g && g.ya).spikesnap - ? ((p = s.pointerX), (d = s.pointerY)) - : ((p = r._offset + g.x), (d = n._offset + g.y))); - var m, - v, - y = a.readability(g.color, h) < 1.5 ? f.contrast(h) : g.color, - x = n.spikemode, - b = n.spikethickness, - _ = n.spikecolor || y, - w = n._boundingBox, - k = (w.left + w.right) / 2 < p ? w.right : w.left; - ((-1 === x.indexOf("toaxis") && -1 === x.indexOf("across")) || - (-1 !== x.indexOf("toaxis") && ((m = k), (v = p)), - -1 !== x.indexOf("across") && - ((m = n._counterSpan[0]), (v = n._counterSpan[1])), - i - .insert("line", ":first-child") - .attr({ - x1: m, - x2: v, - y1: d, - y2: d, - "stroke-width": b, - stroke: _, - "stroke-dasharray": u.dashStyle(n.spikedash, b), - }) - .classed("spikeline", !0) - .classed("crisp", !0), - i - .insert("line", ":first-child") - .attr({ - x1: m, - x2: v, - y1: d, - y2: d, - "stroke-width": b + 2, - stroke: h, - }) - .classed("spikeline", !0) - .classed("crisp", !0)), - -1 !== x.indexOf("marker") && - i - .insert("circle", ":first-child") - .attr({ - cx: k + ("right" !== n.side ? b : -b), - cy: d, - r: b, - fill: _, - }) - .classed("spikeline", !0)); - } - if (c) { - var M, - A, - T = t.vLinePoint; - ((r = T && T.xa), - (n = T && T.ya), - "cursor" === r.spikesnap - ? ((M = s.pointerX), (A = s.pointerY)) - : ((M = r._offset + T.x), (A = n._offset + T.y))); - var S, - C, - E = a.readability(T.color, h) < 1.5 ? f.contrast(h) : T.color, - L = r.spikemode, - z = r.spikethickness, - P = r.spikecolor || E, - D = r._boundingBox, - O = (D.top + D.bottom) / 2 < A ? D.bottom : D.top; - ((-1 === L.indexOf("toaxis") && -1 === L.indexOf("across")) || - (-1 !== L.indexOf("toaxis") && ((S = O), (C = A)), - -1 !== L.indexOf("across") && - ((S = r._counterSpan[0]), (C = r._counterSpan[1])), - i - .insert("line", ":first-child") - .attr({ - x1: M, - x2: M, - y1: S, - y2: C, - "stroke-width": z, - stroke: P, - "stroke-dasharray": u.dashStyle(r.spikedash, z), - }) - .classed("spikeline", !0) - .classed("crisp", !0), - i - .insert("line", ":first-child") - .attr({ - x1: M, - x2: M, - y1: S, - y2: C, - "stroke-width": z + 2, - stroke: h, - }) - .classed("spikeline", !0) - .classed("crisp", !0)), - -1 !== L.indexOf("marker") && - i - .insert("circle", ":first-child") - .attr({ - cx: M, - cy: O - ("top" !== r.side ? z : -z), - r: z, - fill: P, - }) - .classed("spikeline", !0)); - } - } - } - function C(t, e) { - return ( - !e || - e.vLinePoint !== t._spikepoints.vLinePoint || - e.hLinePoint !== t._spikepoints.hLinePoint - ); - } - ((r.hover = function (t, e, r, a) { - ((t = o.getGraphDiv(t)), - o.throttle(t._fullLayout._uid + m.HOVERID, m.HOVERMINTIME, function () { - !(function (t, e, r, a) { - r || (r = "xy"); - var l = Array.isArray(r) ? r : [r], - u = t._fullLayout, - m = u._plots || [], - v = m[r], - y = u._has("cartesian"); - if (v) { - var b = v.overlays.map(function (t) { - return t.id; - }); - l = l.concat(b); - } - for ( - var _ = l.length, w = new Array(_), k = new Array(_), E = !1, L = 0; - L < _; - L++ - ) { - var z = l[L], - P = m[z]; - if (P) - ((E = !0), - (w[L] = p.getFromId(t, P.xaxis._id)), - (k[L] = p.getFromId(t, P.yaxis._id))); - else { - var D = u[z]._subplot; - ((w[L] = D.xaxis), (k[L] = D.yaxis)); - } - } - var O = e.hovermode || u.hovermode; - O && !E && (O = "closest"); - if ( - -1 === ["x", "y", "closest"].indexOf(O) || - !t.calcdata || - t.querySelector(".zoombox") || - t._dragging - ) - return h.unhoverRaw(t, e); - var I, - R, - B, - F, - N, - j, - V, - U, - q, - H, - G, - W, - Y, - X = -1 === u.hoverdistance ? 1 / 0 : u.hoverdistance, - Z = -1 === u.spikedistance ? 1 / 0 : u.spikedistance, - J = [], - K = [], - Q = { hLinePoint: null, vLinePoint: null }; - if (Array.isArray(e)) - for (O = "array", B = 0; B < e.length; B++) - "skip" !== - (N = t.calcdata[e[B].curveNumber || 0])[0].trace.hoverinfo && - K.push(N); - else { - for (F = 0; F < t.calcdata.length; F++) - ((N = t.calcdata[F]), - "skip" !== (j = N[0].trace).hoverinfo && - g.isTraceInSubplots(j, l) && - K.push(N)); - var $, - tt, - et = !e.target; - if (et) - (($ = "xpx" in e ? e.xpx : w[0]._length / 2), - (tt = "ypx" in e ? e.ypx : k[0]._length / 2)); - else { - if (!1 === s.triggerHandler(t, "plotly_beforehover", e)) return; - var rt = e.target.getBoundingClientRect(); - if ( - (($ = e.clientX - rt.left), - (tt = e.clientY - rt.top), - $ < 0 || $ > w[0]._length || tt < 0 || tt > k[0]._length) - ) - return h.unhoverRaw(t, e); - } - if ( - ((e.pointerX = $ + w[0]._offset), - (e.pointerY = tt + k[0]._offset), - (I = "xval" in e ? g.flat(l, e.xval) : g.p2c(w, $)), - (R = "yval" in e ? g.flat(l, e.yval) : g.p2c(k, tt)), - !i(I[0]) || !i(R[0])) - ) - return (o.warn("Fx.hover failed", e, t), h.unhoverRaw(t, e)); - } - var nt = 1 / 0; - for (F = 0; F < K.length; F++) - if ( - (N = K[F]) && - N[0] && - N[0].trace && - !0 === N[0].trace.visible && - ((j = N[0].trace), - -1 === ["carpet", "contourcarpet"].indexOf(j._module.name)) - ) { - if ( - ("splom" === j.type - ? (V = l[(U = 0)]) - : ((V = g.getSubplot(j)), (U = l.indexOf(V))), - (q = O), - (W = { - cd: N, - trace: j, - xa: w[U], - ya: k[U], - maxHoverDistance: X, - maxSpikeDistance: Z, - index: !1, - distance: Math.min(nt, X), - spikeDistance: 1 / 0, - xSpike: void 0, - ySpike: void 0, - color: f.defaultLine, - name: j.name, - x0: void 0, - x1: void 0, - y0: void 0, - y1: void 0, - xLabelVal: void 0, - yLabelVal: void 0, - zLabelVal: void 0, - text: void 0, - }), - u[V] && (W.subplot = u[V]._subplot), - (Y = J.length), - "array" === q) - ) { - var it = e[F]; - "pointNumber" in it - ? ((W.index = it.pointNumber), (q = "closest")) - : ((q = ""), - "xval" in it && ((H = it.xval), (q = "x")), - "yval" in it && ((G = it.yval), (q = q ? "closest" : "y"))); - } else ((H = I[U]), (G = R[U])); - if (0 !== X) - if (j._module && j._module.hoverPoints) { - var at = j._module.hoverPoints(W, H, G, q, u._hoverlayer); - if (at) - for (var ot, st = 0; st < at.length; st++) - ((ot = at[st]), i(ot.x0) && i(ot.y0) && J.push(T(ot, O))); - } else o.log("Unrecognized trace type in hover:", j); - if ( - ("closest" === O && - J.length > Y && - (J.splice(0, Y), (nt = J[0].distance)), - y && 0 !== Z && 0 === J.length) - ) { - ((W.distance = Z), (W.index = !1)); - var lt = j._module.hoverPoints( - W, - H, - G, - "closest", - u._hoverlayer, - ); - if ( - (lt && - (lt = lt.filter(function (t) { - return t.spikeDistance <= Z; - })), - lt && lt.length) - ) { - var ct, - ut = lt.filter(function (t) { - return t.xa.showspikes; - }); - if (ut.length) { - var ft = ut[0]; - i(ft.x0) && - i(ft.y0) && - ((ct = gt(ft)), - (!Q.vLinePoint || - Q.vLinePoint.spikeDistance > ct.spikeDistance) && - (Q.vLinePoint = ct)); - } - var ht = lt.filter(function (t) { - return t.ya.showspikes; - }); - if (ht.length) { - var pt = ht[0]; - i(pt.x0) && - i(pt.y0) && - ((ct = gt(pt)), - (!Q.hLinePoint || - Q.hLinePoint.spikeDistance > ct.spikeDistance) && - (Q.hLinePoint = ct)); - } - } - } - } - function dt(t, e) { - for (var r, n = null, i = 1 / 0, a = 0; a < t.length; a++) - (r = t[a].spikeDistance) < i && r <= e && ((n = t[a]), (i = r)); - return n; - } - function gt(t) { - return t - ? { - xa: t.xa, - ya: t.ya, - x: void 0 !== t.xSpike ? t.xSpike : (t.x0 + t.x1) / 2, - y: void 0 !== t.ySpike ? t.ySpike : (t.y0 + t.y1) / 2, - distance: t.distance, - spikeDistance: t.spikeDistance, - curveNumber: t.trace.index, - color: t.color, - pointNumber: t.index, - } - : null; - } - var mt = { - fullLayout: u, - container: u._hoverlayer, - outerContainer: u._paperdiv, - event: e, - }, - vt = t._spikepoints, - yt = { vLinePoint: Q.vLinePoint, hLinePoint: Q.hLinePoint }; - if (((t._spikepoints = yt), y && 0 !== Z && 0 !== J.length)) { - var xt = J.filter(function (t) { - return t.ya.showspikes; - }), - bt = dt(xt, Z); - Q.hLinePoint = gt(bt); - var _t = J.filter(function (t) { - return t.xa.showspikes; - }), - wt = dt(_t, Z); - Q.vLinePoint = gt(wt); - } - if (0 === J.length) { - var kt = h.unhoverRaw(t, e); - return ( - !y || - (null === Q.hLinePoint && null === Q.vLinePoint) || - (C(vt) && S(Q, mt)), - kt - ); - } - y && C(vt) && S(Q, mt); - J.sort(function (t, e) { - return t.distance - e.distance; - }); - var Mt = t._hoverdata, - At = []; - for (B = 0; B < J.length; B++) { - var Tt = J[B]; - At.push(g.makeEventData(Tt, Tt.trace, Tt.cd)); - } - t._hoverdata = At; - var St = "y" === O && K.length > 1, - Ct = f.combine(u.plot_bgcolor || f.background, u.paper_bgcolor), - Et = { - hovermode: O, - rotateLabels: St, - bgColor: Ct, - container: u._hoverlayer, - outerContainer: u._paperdiv, - commonLabelOpts: u.hoverlabel, - hoverdistance: u.hoverdistance, - }, - Lt = M(J, Et, t); - if ( - ((function (t, e, r) { - var n, - i, - a, - o, - s, - l, - c, - u = 0, - f = t - .map(function (t, n) { - var i = t[e]; - return [ - { - i: n, - dp: 0, - pos: t.pos, - posref: t.posref, - size: (t.by * ("x" === i._id.charAt(0) ? x : 1)) / 2, - pmin: 0, - pmax: "x" === i._id.charAt(0) ? r.width : r.height, - }, - ]; - }) - .sort(function (t, e) { - return t[0].posref - e[0].posref; - }); - function h(t) { - var e = t[0], - r = t[t.length - 1]; - if ( - ((i = e.pmin - e.pos - e.dp + e.size), - (a = r.pos + r.dp + r.size - e.pmax), - i > 0.01) - ) { - for (s = t.length - 1; s >= 0; s--) t[s].dp += i; - n = !1; - } - if (!(a < 0.01)) { - if (i < -0.01) { - for (s = t.length - 1; s >= 0; s--) t[s].dp -= a; - n = !1; - } - if (n) { - var c = 0; - for (o = 0; o < t.length; o++) - (l = t[o]).pos + l.dp + l.size > e.pmax && c++; - for (o = t.length - 1; o >= 0 && !(c <= 0); o--) - (l = t[o]).pos > e.pmax - 1 && ((l.del = !0), c--); - for (o = 0; o < t.length && !(c <= 0); o++) - if ((l = t[o]).pos < e.pmin + 1) - for ( - l.del = !0, c--, a = 2 * l.size, s = t.length - 1; - s >= 0; - s-- - ) - t[s].dp -= a; - for (o = t.length - 1; o >= 0 && !(c <= 0); o--) - (l = t[o]).pos + l.dp + l.size > e.pmax && - ((l.del = !0), c--); - } - } - } - for (; !n && u <= t.length; ) { - for (u++, n = !0, o = 0; o < f.length - 1; ) { - var p = f[o], - d = f[o + 1], - g = p[p.length - 1], - m = d[0]; - if ( - (i = g.pos + g.dp + g.size - m.pos - m.dp + m.size) > - 0.01 && - g.pmin === m.pmin && - g.pmax === m.pmax - ) { - for (s = d.length - 1; s >= 0; s--) d[s].dp += i; - for ( - p.push.apply(p, d), - f.splice(o + 1, 1), - c = 0, - s = p.length - 1; - s >= 0; - s-- - ) - c += p[s].dp; - for (a = c / p.length, s = p.length - 1; s >= 0; s--) - p[s].dp -= a; - n = !1; - } else o++; - } - f.forEach(h); - } - for (o = f.length - 1; o >= 0; o--) { - var v = f[o]; - for (s = v.length - 1; s >= 0; s--) { - var y = v[s], - b = t[y.i]; - ((b.offset = y.dp), (b.del = y.del)); - } - } - })(J, St ? "xa" : "ya", u), - A(Lt, St), - e.target && e.target.tagName) - ) { - var zt = d.getComponentMethod("annotations", "hasClickToShow")( - t, - At, - ); - c(n.select(e.target), zt ? "pointer" : ""); - } - if ( - !e.target || - a || - !(function (t, e, r) { - if (!r || r.length !== t._hoverdata.length) return !0; - for (var n = r.length - 1; n >= 0; n--) { - var i = r[n], - a = t._hoverdata[n]; - if ( - i.curveNumber !== a.curveNumber || - String(i.pointNumber) !== String(a.pointNumber) - ) - return !0; - } - return !1; - })(t, 0, Mt) - ) - return; - Mt && t.emit("plotly_unhover", { event: e, points: Mt }); - t.emit("plotly_hover", { - event: e, - points: t._hoverdata, - xaxes: w, - yaxes: k, - xvals: I, - yvals: R, - }); - })(t, e, r, a); - })); - }), - (r.loneHover = function (t, e) { - var r = { - color: t.color || f.defaultLine, - x0: t.x0 || t.x || 0, - x1: t.x1 || t.x || 0, - y0: t.y0 || t.y || 0, - y1: t.y1 || t.y || 0, - xLabel: t.xLabel, - yLabel: t.yLabel, - zLabel: t.zLabel, - text: t.text, - name: t.name, - idealAlign: t.idealAlign, - borderColor: t.borderColor, - fontFamily: t.fontFamily, - fontSize: t.fontSize, - fontColor: t.fontColor, - trace: { index: 0, hoverinfo: "" }, - xa: { _offset: 0 }, - ya: { _offset: 0 }, - index: 0, - }, - i = n.select(e.container), - a = e.outerContainer ? n.select(e.outerContainer) : i, - o = { - hovermode: "closest", - rotateLabels: !1, - bgColor: e.bgColor || f.background, - container: i, - outerContainer: a, - }, - s = M([r], o, e.gd); - return (A(s, o.rotateLabels), s.node()); - })); - }, - { - "../../lib": 602, - "../../lib/events": 590, - "../../lib/override_cursor": 613, - "../../lib/svg_text_utils": 626, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "./constants": 511, - "./helpers": 513, - d3: 130, - "fast-isnumeric": 196, - tinycolor2: 415, - }, - ], - 515: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e, r, i) { - (r("hoverlabel.bgcolor", (i = i || {}).bgcolor), - r("hoverlabel.bordercolor", i.bordercolor), - r("hoverlabel.namelength", i.namelength), - n.coerceFont(r, "hoverlabel.font", i.font)); - }; - }, - { "../../lib": 602 }, - ], - 516: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../dragelement"), - o = t("./helpers"), - s = t("./layout_attributes"); - e.exports = { - moduleType: "component", - name: "fx", - constants: t("./constants"), - schema: { layout: s }, - attributes: t("./attributes"), - layoutAttributes: s, - supplyLayoutGlobalDefaults: t("./layout_global_defaults"), - supplyDefaults: t("./defaults"), - supplyLayoutDefaults: t("./layout_defaults"), - calc: t("./calc"), - getDistanceFunction: o.getDistanceFunction, - getClosest: o.getClosest, - inbox: o.inbox, - quadrature: o.quadrature, - appendArrayPointValue: o.appendArrayPointValue, - castHoverOption: function (t, e, r) { - return i.castOption(t, e, "hoverlabel." + r); - }, - castHoverinfo: function (t, e, r) { - return i.castOption(t, r, "hoverinfo", function (r) { - return i.coerceHoverinfo({ hoverinfo: r }, { _module: t._module }, e); - }); - }, - hover: t("./hover").hover, - unhover: a.unhover, - loneHover: t("./hover").loneHover, - loneUnhover: function (t) { - var e = i.isD3Selection(t) ? t : n.select(t); - (e.selectAll("g.hovertext").remove(), e.selectAll(".spikeline").remove()); - }, - click: t("./click"), - }; - }, - { - "../../lib": 602, - "../dragelement": 496, - "./attributes": 508, - "./calc": 509, - "./click": 510, - "./constants": 511, - "./defaults": 512, - "./helpers": 513, - "./hover": 514, - "./layout_attributes": 517, - "./layout_defaults": 518, - "./layout_global_defaults": 519, - d3: 130, - }, - ], - 517: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("../../plots/font_attributes")({ editType: "none" }); - ((i.family.dflt = n.HOVERFONT), - (i.size.dflt = n.HOVERFONTSIZE), - (e.exports = { - dragmode: { - valType: "enumerated", - values: ["zoom", "pan", "select", "lasso", "orbit", "turntable"], - dflt: "zoom", - editType: "modebar", - }, - hovermode: { - valType: "enumerated", - values: ["x", "y", "closest", !1], - editType: "modebar", - }, - hoverdistance: { - valType: "integer", - min: -1, - dflt: 20, - editType: "none", - }, - spikedistance: { - valType: "integer", - min: -1, - dflt: 20, - editType: "none", - }, - hoverlabel: { - bgcolor: { valType: "color", editType: "none" }, - bordercolor: { valType: "color", editType: "none" }, - font: i, - namelength: { valType: "integer", min: -1, dflt: 15, editType: "none" }, - editType: "none", - }, - selectdirection: { - valType: "enumerated", - values: ["h", "v", "d", "any"], - dflt: "any", - editType: "none", - }, - })); - }, - { "../../plots/font_attributes": 674, "./constants": 511 }, - ], - 518: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./layout_attributes"); - e.exports = function (t, e, r) { - function a(r, a) { - return n.coerce(t, e, i, r, a); - } - var o; - ("select" === a("dragmode") && a("selectdirection"), - e._has("cartesian") - ? ((e._isHoriz = (function (t) { - for (var e = !0, r = 0; r < t.length; r++) { - var n = t[r]; - if ("h" !== n.orientation) { - e = !1; - break; - } - } - return e; - })(r)), - (o = e._isHoriz ? "y" : "x")) - : (o = "closest"), - a("hovermode", o) && (a("hoverdistance"), a("spikedistance"))); - var s = e._has("mapbox"), - l = e._has("geo"), - c = e._basePlotModules.length; - "zoom" === e.dragmode && - (((s || l) && 1 === c) || (s && l && 2 === c)) && - (e.dragmode = "pan"); - }; - }, - { "../../lib": 602, "./layout_attributes": 517 }, - ], - 519: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./hoverlabel_defaults"), - a = t("./layout_attributes"); - e.exports = function (t, e) { - i(t, e, function (r, i) { - return n.coerce(t, e, a, r, i); - }); - }; - }, - { "../../lib": 602, "./hoverlabel_defaults": 515, "./layout_attributes": 517 }, - ], - 520: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../lib/regex").counter, - a = t("../../plots/domain").attributes, - o = t("../../plots/cartesian/constants").idRegex, - s = { - rows: { valType: "integer", min: 1, editType: "plot" }, - roworder: { - valType: "enumerated", - values: ["top to bottom", "bottom to top"], - dflt: "top to bottom", - editType: "plot", - }, - columns: { valType: "integer", min: 1, editType: "plot" }, - subplots: { - valType: "info_array", - freeLength: !0, - dimensions: 2, - items: { - valType: "enumerated", - values: [i("xy").toString(), ""], - editType: "plot", - }, - editType: "plot", - }, - xaxes: { - valType: "info_array", - freeLength: !0, - items: { - valType: "enumerated", - values: [o.x.toString(), ""], - editType: "plot", - }, - editType: "plot", - }, - yaxes: { - valType: "info_array", - freeLength: !0, - items: { - valType: "enumerated", - values: [o.y.toString(), ""], - editType: "plot", - }, - editType: "plot", - }, - pattern: { - valType: "enumerated", - values: ["independent", "coupled"], - dflt: "coupled", - editType: "plot", - }, - xgap: { valType: "number", min: 0, max: 1, editType: "plot" }, - ygap: { valType: "number", min: 0, max: 1, editType: "plot" }, - domain: a({ name: "grid", editType: "plot", noGridCell: !0 }, {}), - xside: { - valType: "enumerated", - values: ["bottom", "bottom plot", "top plot", "top"], - dflt: "bottom plot", - editType: "plot", - }, - yside: { - valType: "enumerated", - values: ["left", "left plot", "right plot", "right"], - dflt: "left plot", - editType: "plot", - }, - editType: "plot", - }; - function l(t, e, r) { - var n = e[r + "axes"], - i = Object.keys((t._splomAxes || {})[r] || {}); - return Array.isArray(n) ? n : i.length ? i : void 0; - } - function c(t, e, r, n, i, a) { - var o = e(t + "gap", r), - s = e("domain." + t); - e(t + "side", n); - for ( - var l = new Array(i), - c = s[0], - u = (s[1] - c) / (i - o), - f = u * (1 - o), - h = 0; - h < i; - h++ - ) { - var p = c + u * h; - l[a ? i - 1 - h : h] = [p, p + f]; - } - return l; - } - function u(t, e, r, n, i) { - var a, - o = new Array(r); - function s(t, r) { - -1 !== e.indexOf(r) && void 0 === n[r] - ? ((o[t] = r), (n[r] = t)) - : (o[t] = ""); - } - if (Array.isArray(t)) for (a = 0; a < r; a++) s(a, t[a]); - else for (s(0, i), a = 1; a < r; a++) s(a, i + (a + 1)); - return o; - } - e.exports = { - moduleType: "component", - name: "grid", - schema: { layout: { grid: s } }, - layoutAttributes: s, - sizeDefaults: function (t, e) { - var r = t.grid || {}, - i = l(e, r, "x"), - a = l(e, r, "y"); - if (t.grid || i || a) { - var o, - u, - f = Array.isArray(r.subplots) && Array.isArray(r.subplots[0]), - h = Array.isArray(i), - p = Array.isArray(a), - d = h && i !== r.xaxes && p && a !== r.yaxes; - f - ? ((o = r.subplots.length), (u = r.subplots[0].length)) - : (p && (o = a.length), h && (u = i.length)); - var g = (e.grid = {}), - m = k("rows", o), - v = k("columns", u); - if (m * v > 1) { - (f || h || p || ("independent" === k("pattern") && (f = !0)), - (g._hasSubplotGrid = f)); - var y, - x, - b = "top to bottom" === k("roworder"), - _ = f ? 0.2 : 0.1, - w = f ? 0.3 : 0.1; - (d && ((y = "bottom"), (x = "left")), - (g._domains = { x: c("x", k, _, y, v), y: c("y", k, w, x, m, b) })); - } - } - function k(t, e) { - return n.coerce(r, g, s, t, e); - } - }, - contentDefaults: function (t, e) { - var r = e.grid; - if (r && r._domains) { - var n, - i, - a, - o, - s, - c, - f, - h = t.grid || {}, - p = e._subplots, - d = r._hasSubplotGrid, - g = r.rows, - m = r.columns, - v = "independent" === r.pattern, - y = (r._axisMap = {}); - if (d) { - var x = h.subplots || []; - c = r.subplots = new Array(g); - var b = 1; - for (n = 0; n < g; n++) { - var _ = (c[n] = new Array(m)), - w = x[n] || []; - for (i = 0; i < m; i++) - if ( - (v - ? ((s = 1 === b ? "xy" : "x" + b + "y" + b), b++) - : (s = w[i]), - (_[i] = ""), - -1 !== p.cartesian.indexOf(s)) - ) { - if ( - ((f = s.indexOf("y")), - (a = s.slice(0, f)), - (o = s.slice(f)), - (void 0 !== y[a] && y[a] !== i) || - (void 0 !== y[o] && y[o] !== n)) - ) - continue; - ((_[i] = s), (y[a] = i), (y[o] = n)); - } - } - } else { - var k = l(e, h, "x"), - M = l(e, h, "y"); - ((r.xaxes = u(k, p.xaxis, m, y, "x")), - (r.yaxes = u(M, p.yaxis, g, y, "y"))); - } - var A = (r._anchors = {}), - T = "top to bottom" === r.roworder; - for (var S in y) { - var C, - E, - L, - z = S.charAt(0), - P = r[z + "side"]; - if (P.length < 8) A[S] = "free"; - else if ("x" === z) { - if ( - (("t" === P.charAt(0)) === T - ? ((C = 0), (E = 1), (L = g)) - : ((C = g - 1), (E = -1), (L = -1)), - d) - ) { - var D = y[S]; - for (n = C; n !== L; n += E) - if ( - (s = c[n][D]) && - ((f = s.indexOf("y")), s.slice(0, f) === S) - ) { - A[S] = s.slice(f); - break; - } - } else - for (n = C; n !== L; n += E) - if (((o = r.yaxes[n]), -1 !== p.cartesian.indexOf(S + o))) { - A[S] = o; - break; - } - } else if ( - ("l" === P.charAt(0) - ? ((C = 0), (E = 1), (L = m)) - : ((C = m - 1), (E = -1), (L = -1)), - d) - ) { - var O = y[S]; - for (n = C; n !== L; n += E) - if ((s = c[O][n]) && ((f = s.indexOf("y")), s.slice(f) === S)) { - A[S] = s.slice(0, f); - break; - } - } else - for (n = C; n !== L; n += E) - if (((a = r.xaxes[n]), -1 !== p.cartesian.indexOf(a + S))) { - A[S] = a; - break; - } - } - } - }, - }; - }, - { - "../../lib": 602, - "../../lib/regex": 618, - "../../plots/cartesian/constants": 653, - "../../plots/domain": 673, - }, - ], - 521: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/constants"); - e.exports = { - _isLinkedToArray: "image", - visible: { valType: "boolean", dflt: !0, editType: "arraydraw" }, - source: { valType: "string", editType: "arraydraw" }, - layer: { - valType: "enumerated", - values: ["below", "above"], - dflt: "above", - editType: "arraydraw", - }, - sizex: { valType: "number", dflt: 0, editType: "arraydraw" }, - sizey: { valType: "number", dflt: 0, editType: "arraydraw" }, - sizing: { - valType: "enumerated", - values: ["fill", "contain", "stretch"], - dflt: "contain", - editType: "arraydraw", - }, - opacity: { - valType: "number", - min: 0, - max: 1, - dflt: 1, - editType: "arraydraw", - }, - x: { valType: "any", dflt: 0, editType: "arraydraw" }, - y: { valType: "any", dflt: 0, editType: "arraydraw" }, - xanchor: { - valType: "enumerated", - values: ["left", "center", "right"], - dflt: "left", - editType: "arraydraw", - }, - yanchor: { - valType: "enumerated", - values: ["top", "middle", "bottom"], - dflt: "top", - editType: "arraydraw", - }, - xref: { - valType: "enumerated", - values: ["paper", n.idRegex.x.toString()], - dflt: "paper", - editType: "arraydraw", - }, - yref: { - valType: "enumerated", - values: ["paper", n.idRegex.y.toString()], - dflt: "paper", - editType: "arraydraw", - }, - editType: "arraydraw", - }; - }, - { "../../plots/cartesian/constants": 653 }, - ], - 522: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib/to_log_range"); - e.exports = function (t, e, r, a) { - e = e || {}; - var o = "log" === r && "linear" === e.type, - s = "linear" === r && "log" === e.type; - if (o || s) - for ( - var l, c, u = t._fullLayout.images, f = e._id.charAt(0), h = 0; - h < u.length; - h++ - ) - if (((c = "images[" + h + "]."), (l = u[h])[f + "ref"] === e._id)) { - var p = l[f], - d = l["size" + f], - g = null, - m = null; - if (o) { - g = i(p, e.range); - var v = d / Math.pow(10, g) / 2; - m = (2 * Math.log(v + Math.sqrt(1 + v * v))) / Math.LN10; - } else - m = - (g = Math.pow(10, p)) * - (Math.pow(10, d / 2) - Math.pow(10, -d / 2)); - (n(g) ? n(m) || (m = null) : ((g = null), (m = null)), - a(c + f, g), - a(c + "size" + f, m)); - } - }; - }, - { "../../lib/to_log_range": 628, "fast-isnumeric": 196 }, - ], - 523: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../../plots/array_container_defaults"), - o = t("./attributes"); - function s(t, e, r) { - function a(r, i) { - return n.coerce(t, e, o, r, i); - } - if (!a("visible", !!a("source"))) return e; - (a("layer"), - a("xanchor"), - a("yanchor"), - a("sizex"), - a("sizey"), - a("sizing"), - a("opacity")); - for (var s = { _fullLayout: r }, l = ["x", "y"], c = 0; c < 2; c++) { - var u = l[c], - f = i.coerceRef(t, e, s, u, "paper"); - i.coercePosition(e, s, a, f, u, 0); - } - return e; - } - e.exports = function (t, e) { - a(t, e, { name: "images", handleItemDefaults: s }); - }; - }, - { - "../../lib": 602, - "../../plots/array_container_defaults": 644, - "../../plots/cartesian/axes": 648, - "./attributes": 521, - }, - ], - 524: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../drawing"), - a = t("../../plots/cartesian/axes"), - o = t("../../constants/xmlns_namespaces"); - e.exports = function (t) { - var e, - r, - s = t._fullLayout, - l = [], - c = {}, - u = []; - for (r = 0; r < s.images.length; r++) { - var f = s.images[r]; - if (f.visible) - if ("below" === f.layer && "paper" !== f.xref && "paper" !== f.yref) { - e = f.xref + f.yref; - var h = s._plots[e]; - if (!h) { - u.push(f); - continue; - } - (h.mainplot && (e = h.mainplot.id), - c[e] || (c[e] = []), - c[e].push(f)); - } else "above" === f.layer ? l.push(f) : u.push(f); - } - var p = { - x: { - left: { sizing: "xMin", offset: 0 }, - center: { sizing: "xMid", offset: -0.5 }, - right: { sizing: "xMax", offset: -1 }, - }, - y: { - top: { sizing: "YMin", offset: 0 }, - middle: { sizing: "YMid", offset: -0.5 }, - bottom: { sizing: "YMax", offset: -1 }, - }, - }; - function d(e) { - var r = n.select(this); - if (!this.img || this.img.src !== e.source) { - r.attr("xmlns", o.svg); - var i = new Promise( - function (t) { - var n = new Image(); - function i() { - (r.remove(), t()); - } - ((this.img = n), - n.setAttribute("crossOrigin", "anonymous"), - (n.onerror = i), - (n.onload = function () { - var e = document.createElement("canvas"); - ((e.width = this.width), - (e.height = this.height), - e.getContext("2d").drawImage(this, 0, 0)); - var n = e.toDataURL("image/png"); - (r.attr("xlink:href", n), t()); - }), - r.on("error", i), - (n.src = e.source)); - }.bind(this), - ); - t._promises.push(i); - } - } - function g(e) { - var r = n.select(this), - o = a.getFromId(t, e.xref), - l = a.getFromId(t, e.yref), - c = s._size, - u = o ? Math.abs(o.l2p(e.sizex) - o.l2p(0)) : e.sizex * c.w, - f = l ? Math.abs(l.l2p(e.sizey) - l.l2p(0)) : e.sizey * c.h, - h = u * p.x[e.xanchor].offset, - d = f * p.y[e.yanchor].offset, - g = p.x[e.xanchor].sizing + p.y[e.yanchor].sizing, - m = (o ? o.r2p(e.x) + o._offset : e.x * c.w + c.l) + h, - v = (l ? l.r2p(e.y) + l._offset : c.h - e.y * c.h + c.t) + d; - switch (e.sizing) { - case "fill": - g += " slice"; - break; - case "stretch": - g = "none"; - } - r.attr({ - x: m, - y: v, - width: u, - height: f, - preserveAspectRatio: g, - opacity: e.opacity, - }); - var y = (o ? o._id : "") + (l ? l._id : ""); - r.call(i.setClipUrl, y ? "clip" + s._uid + y : null); - } - var m = s._imageLowerLayer.selectAll("image").data(u), - v = s._imageUpperLayer.selectAll("image").data(l); - (m.enter().append("image"), - v.enter().append("image"), - m.exit().remove(), - v.exit().remove(), - m.each(function (t) { - (d.bind(this)(t), g.bind(this)(t)); - }), - v.each(function (t) { - (d.bind(this)(t), g.bind(this)(t)); - })); - var y = Object.keys(s._plots); - for (r = 0; r < y.length; r++) { - e = y[r]; - var x = s._plots[e]; - if (x.imagelayer) { - var b = x.imagelayer.selectAll("image").data(c[e] || []); - (b.enter().append("image"), - b.exit().remove(), - b.each(function (t) { - (d.bind(this)(t), g.bind(this)(t)); - })); - } - } - }; - }, - { - "../../constants/xmlns_namespaces": 581, - "../../plots/cartesian/axes": 648, - "../drawing": 499, - d3: 130, - }, - ], - 525: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "component", - name: "images", - layoutAttributes: t("./attributes"), - supplyLayoutDefaults: t("./defaults"), - includeBasePlot: t("../../plots/cartesian/include_components")("images"), - draw: t("./draw"), - convertCoords: t("./convert_coords"), - }; - }, - { - "../../plots/cartesian/include_components": 658, - "./attributes": 521, - "./convert_coords": 522, - "./defaults": 523, - "./draw": 524, - }, - ], - 526: [ - function (t, e, r) { - "use strict"; - ((r.isRightAnchor = function (t) { - return "right" === t.xanchor || ("auto" === t.xanchor && t.x >= 2 / 3); - }), - (r.isCenterAnchor = function (t) { - return ( - "center" === t.xanchor || - ("auto" === t.xanchor && t.x > 1 / 3 && t.x < 2 / 3) - ); - }), - (r.isBottomAnchor = function (t) { - return "bottom" === t.yanchor || ("auto" === t.yanchor && t.y <= 1 / 3); - }), - (r.isMiddleAnchor = function (t) { - return ( - "middle" === t.yanchor || - ("auto" === t.yanchor && t.y > 1 / 3 && t.y < 2 / 3) - ); - })); - }, - {}, - ], - 527: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../color/attributes"); - e.exports = { - bgcolor: { valType: "color", editType: "legend" }, - bordercolor: { valType: "color", dflt: i.defaultLine, editType: "legend" }, - borderwidth: { valType: "number", min: 0, dflt: 0, editType: "legend" }, - font: n({ editType: "legend" }), - orientation: { - valType: "enumerated", - values: ["v", "h"], - dflt: "v", - editType: "legend", - }, - traceorder: { - valType: "flaglist", - flags: ["reversed", "grouped"], - extras: ["normal"], - editType: "legend", - }, - tracegroupgap: { valType: "number", min: 0, dflt: 10, editType: "legend" }, - x: { valType: "number", min: -2, max: 3, dflt: 1.02, editType: "legend" }, - xanchor: { - valType: "enumerated", - values: ["auto", "left", "center", "right"], - dflt: "left", - editType: "legend", - }, - y: { valType: "number", min: -2, max: 3, dflt: 1, editType: "legend" }, - yanchor: { - valType: "enumerated", - values: ["auto", "top", "middle", "bottom"], - dflt: "auto", - editType: "legend", - }, - editType: "legend", - }; - }, - { "../../plots/font_attributes": 674, "../color/attributes": 473 }, - ], - 528: [ - function (t, e, r) { - "use strict"; - e.exports = { - scrollBarWidth: 6, - scrollBarMinHeight: 20, - scrollBarColor: "#808BA4", - scrollBarMargin: 4, - }; - }, - {}, - ], - 529: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("./attributes"), - o = t("../../plots/layout_attributes"), - s = t("./helpers"); - e.exports = function (t, e, r) { - for ( - var l, c, u, f, h = t.legend || {}, p = {}, d = 0, g = "normal", m = 0; - m < r.length; - m++ - ) { - var v = r[m]; - (s.legendGetsTrace(v) && (d++, n.traceIs(v, "pie") && d++), - ((n.traceIs(v, "bar") && "stack" === e.barmode) || - -1 !== ["tonextx", "tonexty"].indexOf(v.fill)) && - (g = s.isGrouped({ traceorder: g }) - ? "grouped+reversed" - : "reversed"), - void 0 !== v.legendgroup && - "" !== v.legendgroup && - (g = s.isReversed({ traceorder: g }) - ? "reversed+grouped" - : "grouped")); - } - function y(t, e) { - return i.coerce(h, p, a, t, e); - } - if (!1 !== i.coerce(t, e, o, "showlegend", d > 1)) { - if ( - ((e.legend = p), - y("bgcolor", e.paper_bgcolor), - y("bordercolor"), - y("borderwidth"), - i.coerceFont(y, "font", e.font), - y("orientation"), - "h" === p.orientation) - ) { - var x = t.xaxis; - x && x.rangeslider && x.rangeslider.visible - ? ((l = 0), (u = "left"), (c = 1.1), (f = "bottom")) - : ((l = 0), (u = "left"), (c = -0.1), (f = "top")); - } - (y("traceorder", g), - s.isGrouped(e.legend) && y("tracegroupgap"), - y("x", l), - y("xanchor", u), - y("y", c), - y("yanchor", f), - i.noneOrAll(h, p, ["x", "y"])); - } - }; - }, - { - "../../lib": 602, - "../../plots/layout_attributes": 701, - "../../registry": 732, - "./attributes": 527, - "./helpers": 533, - }, - ], - 530: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../registry"), - s = t("../../lib/events"), - l = t("../dragelement"), - c = t("../drawing"), - u = t("../color"), - f = t("../../lib/svg_text_utils"), - h = t("./handle_click"), - p = t("./constants"), - d = t("../../constants/interactions"), - g = t("../../constants/alignment"), - m = g.LINE_SPACING, - v = g.FROM_TL, - y = g.FROM_BR, - x = t("./get_legend_data"), - b = t("./style"), - _ = t("./helpers"), - w = t("./anchor_utils"), - k = d.DBLCLICKDELAY; - function M(t, e, r, n, i) { - var a = r.data()[0][0].trace, - o = { - event: i, - node: r.node(), - curveNumber: a.index, - expandedIndex: a._expandedIndex, - data: t.data, - layout: t.layout, - frames: t._transitionData._frames, - config: t._context, - fullData: t._fullData, - fullLayout: t._fullLayout, - }; - if ( - (a._group && (o.group = a._group), - "pie" === a.type && (o.label = r.datum()[0].label), - !1 !== s.triggerHandler(t, "plotly_legendclick", o)) - ) - if (1 === n) - e._clickTimeout = setTimeout(function () { - h(r, t, n); - }, k); - else if (2 === n) { - (e._clickTimeout && clearTimeout(e._clickTimeout), - (t._legendMouseDownTime = 0), - !1 !== s.triggerHandler(t, "plotly_legenddoubleclick", o) && - h(r, t, n)); - } - } - function A(t, e, r) { - var n = t.data()[0][0], - a = e._fullLayout, - s = n.trace, - l = o.traceIs(s, "pie"), - u = s.index, - h = l ? n.label : s.name, - p = e._context.edits.legendText && !l, - d = i.ensureSingle(t, "text", "legendtext"); - function g(r) { - f.convertToTspans(r, e, function () { - !(function (t, e) { - var r = t.data()[0][0]; - if (!r.trace.showlegend) return void t.remove(); - var n, - i, - a = t.select("g[class*=math-group]"), - o = a.node(), - s = e._fullLayout.legend.font.size * m; - if (o) { - var l = c.bBox(o); - ((n = l.height), (i = l.width), c.setTranslate(a, 0, n / 4)); - } else { - var u = t.select(".legendtext"), - h = f.lineCount(u), - p = u.node(); - ((n = s * h), (i = p ? c.bBox(p).width : 0)); - var d = s * (0.3 + (1 - h) / 2); - f.positionText(u, 40, d); - } - ((n = Math.max(n, 16) + 3), (r.height = n), (r.width = i)); - })(t, e); - }); - } - (d - .attr("text-anchor", "start") - .classed("user-select-none", !0) - .call(c.font, a.legend.font) - .text(p ? T(h, r) : h), - p - ? d - .call(f.makeEditable, { gd: e, text: h }) - .call(g) - .on("edit", function (t) { - this.text(T(t, r)).call(g); - var a = n.trace._fullInput || {}, - s = {}; - if (o.hasTransform(a, "groupby")) { - var l = o.getTransformIndices(a, "groupby"), - c = l[l.length - 1], - f = i.keyedContainer( - a, - "transforms[" + c + "].styles", - "target", - "value.name", - ); - (f.set(n.trace._group, t), (s = f.constructUpdate())); - } else s.name = t; - return o.call("restyle", e, s, u); - }) - : g(d)); - } - function T(t, e) { - var r = Math.max(4, e); - if (t && t.trim().length >= r / 2) return t; - for (var n = r - (t = t || "").length; n > 0; n--) t += " "; - return t; - } - function S(t, e) { - var r, - a = 1, - o = i.ensureSingle(t, "rect", "legendtoggle", function (t) { - t.style("cursor", "pointer") - .attr("pointer-events", "all") - .call(u.fill, "rgba(0,0,0,0)"); - }); - (o.on("mousedown", function () { - (r = new Date().getTime()) - e._legendMouseDownTime < k - ? (a += 1) - : ((a = 1), (e._legendMouseDownTime = r)); - }), - o.on("mouseup", function () { - if (!e._dragged && !e._editing) { - var r = e._fullLayout.legend; - (new Date().getTime() - e._legendMouseDownTime > k && - (a = Math.max(a - 1, 1)), - M(e, r, t, a, n.event)); - } - })); - } - function C(t, e, r) { - var i = t._fullLayout, - a = i.legend, - o = a.borderwidth, - s = _.isGrouped(a), - l = 0; - if (((a._width = 0), (a._height = 0), _.isVertical(a))) - (s && - e.each(function (t, e) { - c.setTranslate(this, 0, e * a.tracegroupgap); - }), - r.each(function (t) { - var e = t[0], - r = e.height, - n = e.width; - (c.setTranslate(this, o, 5 + o + a._height + r / 2), - (a._height += r), - (a._width = Math.max(a._width, n))); - }), - (a._width += 45 + 2 * o), - (a._height += 10 + 2 * o), - s && (a._height += (a._lgroupsLength - 1) * a.tracegroupgap), - (l = 40)); - else if (s) { - for (var u = [a._width], f = e.data(), h = 0, p = f.length; h < p; h++) { - var d = f[h].map(function (t) { - return t[0].width; - }), - g = 40 + Math.max.apply(null, d); - ((a._width += a.tracegroupgap + g), u.push(a._width)); - } - (e.each(function (t, e) { - c.setTranslate(this, u[e], 0); - }), - e.each(function () { - var t = 0; - (n - .select(this) - .selectAll("g.traces") - .each(function (e) { - var r = e[0].height; - (c.setTranslate(this, 0, 5 + o + t + r / 2), (t += r)); - }), - (a._height = Math.max(a._height, t))); - }), - (a._height += 10 + 2 * o), - (a._width += 2 * o)); - } else { - var m, - v = 0, - y = 0, - x = 0, - b = 0, - w = 0, - k = a.tracegroupgap || 5; - (r.each(function (t) { - ((x = Math.max(40 + t[0].width, x)), (w += 40 + t[0].width + k)); - }), - (m = i.width - (i.margin.r + i.margin.l) > o + w - k), - r.each(function (t) { - var e = t[0], - r = m ? 40 + t[0].width : x; - (o + b + k + r > i.width - (i.margin.r + i.margin.l) && - ((b = 0), (v += y), (a._height = a._height + y), (y = 0)), - c.setTranslate(this, o + b, 5 + o + e.height / 2 + v), - (a._width += k + r), - (a._height = Math.max(a._height, e.height)), - (b += k + r), - (y = Math.max(e.height, y))); - }), - (a._width += 2 * o), - (a._height += 10 + 2 * o)); - } - ((a._width = Math.ceil(a._width)), - (a._height = Math.ceil(a._height)), - r.each(function (e) { - var r = e[0], - i = n.select(this).select(".legendtoggle"); - c.setRect( - i, - 0, - -r.height / 2, - (t._context.edits.legendText ? 0 : a._width) + l, - r.height, - ); - })); - } - function E(t) { - var e = t._fullLayout.legend, - r = "left"; - w.isRightAnchor(e) ? (r = "right") : w.isCenterAnchor(e) && (r = "center"); - var n = "top"; - (w.isBottomAnchor(e) - ? (n = "bottom") - : w.isMiddleAnchor(e) && (n = "middle"), - a.autoMargin(t, "legend", { - x: e.x, - y: e.y, - l: e._width * v[r], - r: e._width * y[r], - b: e._height * y[n], - t: e._height * v[n], - })); - } - e.exports = function (t) { - var e = t._fullLayout, - r = "legend" + e._uid; - if (e._infolayer && t.calcdata) { - t._legendMouseDownTime || (t._legendMouseDownTime = 0); - var s = e.legend, - f = e.showlegend && x(t.calcdata, s), - h = e.hiddenlabels || []; - if (!e.showlegend || !f.length) - return ( - e._infolayer.selectAll(".legend").remove(), - e._topdefs.select("#" + r).remove(), - void a.autoMargin(t, "legend") - ); - for (var d = 0, g = 0; g < f.length; g++) - for (var m = 0; m < f[g].length; m++) { - var _ = f[g][m][0], - k = _.trace, - T = o.traceIs(k, "pie") ? _.label : k.name; - d = Math.max(d, (T && T.length) || 0); - } - var L = !1, - z = i.ensureSingle(e._infolayer, "g", "legend", function (t) { - (t.attr("pointer-events", "all"), (L = !0)); - }), - P = i.ensureSingleById(e._topdefs, "clipPath", r, function (t) { - t.append("rect"); - }), - D = i.ensureSingle(z, "rect", "bg", function (t) { - t.attr("shape-rendering", "crispEdges"); - }); - D.call(u.stroke, s.bordercolor) - .call(u.fill, s.bgcolor) - .style("stroke-width", s.borderwidth + "px"); - var O = i.ensureSingle(z, "g", "scrollbox"), - I = i.ensureSingle(z, "rect", "scrollbar", function (t) { - t.attr({ rx: 20, ry: 3, width: 0, height: 0 }).call( - u.fill, - "#808BA4", - ); - }), - R = O.selectAll("g.groups").data(f); - (R.enter().append("g").attr("class", "groups"), R.exit().remove()); - var B = R.selectAll("g.traces").data(i.identity); - (B.enter().append("g").attr("class", "traces"), - B.exit().remove(), - B.call(b, t) - .style("opacity", function (t) { - var e = t[0].trace; - return o.traceIs(e, "pie") - ? -1 !== h.indexOf(t[0].label) - ? 0.5 - : 1 - : "legendonly" === e.visible - ? 0.5 - : 1; - }) - .each(function () { - n.select(this).call(A, t, d).call(S, t); - }), - L && (C(t, R, B), E(t))); - var F = e.width, - N = e.height; - (C(t, R, B), - s._height > N - ? (function (t) { - var e = t._fullLayout.legend, - r = "left"; - w.isRightAnchor(e) - ? (r = "right") - : w.isCenterAnchor(e) && (r = "center"); - a.autoMargin(t, "legend", { - x: e.x, - y: 0.5, - l: e._width * v[r], - r: e._width * y[r], - b: 0, - t: 0, - }); - })(t) - : E(t)); - var j = e._size, - V = j.l + j.w * s.x, - U = j.t + j.h * (1 - s.y); - (w.isRightAnchor(s) - ? (V -= s._width) - : w.isCenterAnchor(s) && (V -= s._width / 2), - w.isBottomAnchor(s) - ? (U -= s._height) - : w.isMiddleAnchor(s) && (U -= s._height / 2)); - var q = s._width, - H = j.w; - q > H - ? ((V = j.l), (q = H)) - : (V + q > F && (V = F - q), - V < 0 && (V = 0), - (q = Math.min(F - V, s._width))); - var G, - W, - Y, - X, - Z = s._height, - J = j.h; - if ( - (Z > J - ? ((U = j.t), (Z = J)) - : (U + Z > N && (U = N - Z), - U < 0 && (U = 0), - (Z = Math.min(N - U, s._height))), - c.setTranslate(z, V, U), - I.on(".drag", null), - z.on("wheel", null), - s._height <= Z || t._context.staticPlot) - ) - (D.attr({ - width: q - s.borderwidth, - height: Z - s.borderwidth, - x: s.borderwidth / 2, - y: s.borderwidth / 2, - }), - c.setTranslate(O, 0, 0), - P.select("rect").attr({ - width: q - 2 * s.borderwidth, - height: Z - 2 * s.borderwidth, - x: s.borderwidth, - y: s.borderwidth, - }), - c.setClipUrl(O, r), - c.setRect(I, 0, 0, 0, 0), - delete s._scrollY); - else { - var K, - Q, - $ = Math.max(p.scrollBarMinHeight, (Z * Z) / s._height), - tt = Z - $ - 2 * p.scrollBarMargin, - et = s._height - Z, - rt = tt / et, - nt = Math.min(s._scrollY || 0, et); - (D.attr({ - width: q - 2 * s.borderwidth + p.scrollBarWidth + p.scrollBarMargin, - height: Z - s.borderwidth, - x: s.borderwidth / 2, - y: s.borderwidth / 2, - }), - P.select("rect").attr({ - width: q - 2 * s.borderwidth + p.scrollBarWidth + p.scrollBarMargin, - height: Z - 2 * s.borderwidth, - x: s.borderwidth, - y: s.borderwidth + nt, - }), - c.setClipUrl(O, r), - at(nt, $, rt), - z.on("wheel", function () { - (at( - (nt = i.constrain( - s._scrollY + (n.event.deltaY / tt) * et, - 0, - et, - )), - $, - rt, - ), - 0 !== nt && nt !== et && n.event.preventDefault()); - })); - var it = n.behavior - .drag() - .on("dragstart", function () { - ((K = n.event.sourceEvent.clientY), (Q = nt)); - }) - .on("drag", function () { - var t = n.event.sourceEvent; - 2 === t.buttons || - t.ctrlKey || - at((nt = i.constrain((t.clientY - K) / rt + Q, 0, et)), $, rt); - }); - I.call(it); - } - if (t._context.edits.legendPosition) - (z.classed("cursor-move", !0), - l.init({ - element: z.node(), - gd: t, - prepFn: function () { - var t = c.getTranslate(z); - ((Y = t.x), (X = t.y)); - }, - moveFn: function (t, e) { - var r = Y + t, - n = X + e; - (c.setTranslate(z, r, n), - (G = l.align(r, 0, j.l, j.l + j.w, s.xanchor)), - (W = l.align(n, 0, j.t + j.h, j.t, s.yanchor))); - }, - doneFn: function () { - void 0 !== G && - void 0 !== W && - o.call("relayout", t, { "legend.x": G, "legend.y": W }); - }, - clickFn: function (r, n) { - var i = e._infolayer.selectAll("g.traces").filter(function () { - var t = this.getBoundingClientRect(); - return ( - n.clientX >= t.left && - n.clientX <= t.right && - n.clientY >= t.top && - n.clientY <= t.bottom - ); - }); - i.size() > 0 && M(t, z, i, r, n); - }, - })); - } - function at(e, r, n) { - ((s._scrollY = t._fullLayout.legend._scrollY = e), - c.setTranslate(O, 0, -e), - c.setRect(I, q, p.scrollBarMargin + e * n, p.scrollBarWidth, r), - P.select("rect").attr({ y: s.borderwidth + e })); - } - }; - }, - { - "../../constants/alignment": 574, - "../../constants/interactions": 578, - "../../lib": 602, - "../../lib/events": 590, - "../../lib/svg_text_utils": 626, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "./anchor_utils": 526, - "./constants": 528, - "./get_legend_data": 531, - "./handle_click": 532, - "./helpers": 533, - "./style": 535, - d3: 130, - }, - ], - 531: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("./helpers"); - e.exports = function (t, e) { - var r, - a, - o = {}, - s = [], - l = !1, - c = {}, - u = 0; - function f(t, r) { - if ("" !== t && i.isGrouped(e)) - -1 === s.indexOf(t) - ? (s.push(t), (l = !0), (o[t] = [[r]])) - : o[t].push([r]); - else { - var n = "~~i" + u; - (s.push(n), (o[n] = [[r]]), u++); - } - } - for (r = 0; r < t.length; r++) { - var h = t[r], - p = h[0], - d = p.trace, - g = d.legendgroup; - if (i.legendGetsTrace(d) && d.showlegend) - if (n.traceIs(d, "pie")) - for (c[g] || (c[g] = {}), a = 0; a < h.length; a++) { - var m = h[a].label; - c[g][m] || - (f(g, { label: m, color: h[a].color, i: h[a].i, trace: d }), - (c[g][m] = !0)); - } - else f(g, p); - } - if (!s.length) return []; - var v, - y, - x = s.length; - if (l && i.isGrouped(e)) - for (y = new Array(x), r = 0; r < x; r++) - ((v = o[s[r]]), (y[r] = i.isReversed(e) ? v.reverse() : v)); - else { - for (y = [new Array(x)], r = 0; r < x; r++) - ((v = o[s[r]][0]), (y[0][i.isReversed(e) ? x - r - 1 : r] = v)); - x = 1; - } - return ((e._lgroupsLength = x), y); - }; - }, - { "../../registry": 732, "./helpers": 533 }, - ], - 532: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../registry"), - a = !0; - e.exports = function (t, e, r) { - if (!e._dragged && !e._editing) { - var o, - s, - l, - c, - u, - f = e._fullLayout.hiddenlabels - ? e._fullLayout.hiddenlabels.slice() - : [], - h = t.data()[0][0], - p = e._fullData, - d = h.trace, - g = d.legendgroup, - m = {}, - v = [], - y = [], - x = []; - if ( - (1 === r && a && e.data && e._context.showTips - ? (n.notifier( - n._(e, "Double-click on legend to isolate one trace"), - "long", - ), - (a = !1)) - : (a = !1), - i.traceIs(d, "pie")) - ) { - var b = h.label, - _ = f.indexOf(b); - (1 === r - ? -1 === _ - ? f.push(b) - : f.splice(_, 1) - : 2 === r && - ((f = []), - e.calcdata[0].forEach(function (t) { - b !== t.label && f.push(t.label); - }), - e._fullLayout.hiddenlabels && - e._fullLayout.hiddenlabels.length === f.length && - -1 === _ && - (f = [])), - i.call("relayout", e, "hiddenlabels", f)); - } else { - var w, - k = g && g.length, - M = []; - if (k) - for (o = 0; o < p.length; o++) - (w = p[o]).visible && w.legendgroup === g && M.push(o); - if (1 === r) { - var A; - switch (d.visible) { - case !0: - A = "legendonly"; - break; - case !1: - A = !1; - break; - case "legendonly": - A = !0; - } - if (k) - for (o = 0; o < p.length; o++) - !1 !== p[o].visible && p[o].legendgroup === g && P(p[o], A); - else P(d, A); - } else if (2 === r) { - var T, - S, - C = !0; - for (o = 0; o < p.length; o++) - if ( - !(p[o] === d) && - !(T = k && p[o].legendgroup === g) && - !0 === p[o].visible && - !i.traceIs(p[o], "notLegendIsolatable") - ) { - C = !1; - break; - } - for (o = 0; o < p.length; o++) - if (!1 !== p[o].visible && !i.traceIs(p[o], "notLegendIsolatable")) - switch (d.visible) { - case "legendonly": - P(p[o], !0); - break; - case !0: - ((S = !!C || "legendonly"), - (T = p[o] === d || (k && p[o].legendgroup === g)), - P(p[o], !!T || S)); - } - } - for (o = 0; o < y.length; o++) - if ((l = y[o])) { - var E = l.constructUpdate(), - L = Object.keys(E); - for (s = 0; s < L.length; s++) - ((c = L[s]), ((m[c] = m[c] || [])[x[o]] = E[c])); - } - for (u = Object.keys(m), o = 0; o < u.length; o++) - for (c = u[o], s = 0; s < v.length; s++) - m[c].hasOwnProperty(s) || (m[c][s] = void 0); - i.call("restyle", e, m, v); - } - } - function z(t, e, r) { - var n = v.indexOf(t), - i = m[e]; - return ( - i || (i = m[e] = []), - -1 === v.indexOf(t) && (v.push(t), (n = v.length - 1)), - (i[n] = r), - n - ); - } - function P(t, e) { - var r = t._fullInput; - if (i.hasTransform(r, "groupby")) { - var a = y[r.index]; - if (!a) { - var o = i.getTransformIndices(r, "groupby"), - s = o[o.length - 1]; - ((a = n.keyedContainer( - r, - "transforms[" + s + "].styles", - "target", - "value.visible", - )), - (y[r.index] = a)); - } - var l = a.get(t._group); - (void 0 === l && (l = !0), - !1 !== l && a.set(t._group, e), - (x[r.index] = z(r.index, "visible", !1 !== r.visible))); - } else { - var c = !1 !== r.visible && e; - z(r.index, "visible", c); - } - } - }; - }, - { "../../lib": 602, "../../registry": 732 }, - ], - 533: [ - function (t, e, r) { - "use strict"; - ((r.legendGetsTrace = function (t) { - return t.visible && void 0 !== t.showlegend; - }), - (r.isGrouped = function (t) { - return -1 !== (t.traceorder || "").indexOf("grouped"); - }), - (r.isVertical = function (t) { - return "h" !== t.orientation; - }), - (r.isReversed = function (t) { - return -1 !== (t.traceorder || "").indexOf("reversed"); - })); - }, - {}, - ], - 534: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "component", - name: "legend", - layoutAttributes: t("./attributes"), - supplyLayoutDefaults: t("./defaults"), - draw: t("./draw"), - style: t("./style"), - }; - }, - { "./attributes": 527, "./defaults": 529, "./draw": 530, "./style": 535 }, - ], - 535: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../lib"), - o = t("../drawing"), - s = t("../color"), - l = t("../../traces/scatter/subtypes"), - c = t("../../traces/pie/style_one"); - e.exports = function (t, e) { - t.each(function (t) { - var e = n.select(this), - r = a.ensureSingle(e, "g", "layers"); - (r.style("opacity", t[0].trace.opacity), - r - .selectAll("g.legendfill") - .data([t]) - .enter() - .append("g") - .classed("legendfill", !0), - r - .selectAll("g.legendlines") - .data([t]) - .enter() - .append("g") - .classed("legendlines", !0)); - var i = r.selectAll("g.legendsymbols").data([t]); - (i.enter().append("g").classed("legendsymbols", !0), - i - .selectAll("g.legendpoints") - .data([t]) - .enter() - .append("g") - .classed("legendpoints", !0)); - }) - .each(function (t) { - var e = t[0].trace, - r = e.marker || {}, - a = r.line || {}, - o = n - .select(this) - .select("g.legendpoints") - .selectAll("path.legendbar") - .data(i.traceIs(e, "bar") ? [t] : []); - (o - .enter() - .append("path") - .classed("legendbar", !0) - .attr("d", "M6,6H-6V-6H6Z") - .attr("transform", "translate(20,0)"), - o.exit().remove(), - o.each(function (t) { - var e = n.select(this), - i = t[0], - o = (i.mlw + 1 || a.width + 1) - 1; - (e.style("stroke-width", o + "px").call(s.fill, i.mc || r.color), - o && e.call(s.stroke, i.mlc || a.color)); - })); - }) - .each(function (t) { - var e = t[0].trace, - r = n - .select(this) - .select("g.legendpoints") - .selectAll("path.legendbox") - .data(i.traceIs(e, "box-violin") && e.visible ? [t] : []); - (r - .enter() - .append("path") - .classed("legendbox", !0) - .attr("d", "M6,6H-6V-6H6Z") - .attr("transform", "translate(20,0)"), - r.exit().remove(), - r.each(function () { - var t = e.line.width, - r = n.select(this); - (r.style("stroke-width", t + "px").call(s.fill, e.fillcolor), - t && s.stroke(r, e.line.color)); - })); - }) - .each(function (t) { - var e = t[0].trace, - r = n - .select(this) - .select("g.legendpoints") - .selectAll("path.legendpie") - .data(i.traceIs(e, "pie") && e.visible ? [t] : []); - (r - .enter() - .append("path") - .classed("legendpie", !0) - .attr("d", "M6,6H-6V-6H6Z") - .attr("transform", "translate(20,0)"), - r.exit().remove(), - r.size() && r.call(c, t[0], e)); - }) - .each(function (t) { - var e = t[0].trace, - r = e.visible && e.fill && "none" !== e.fill, - i = l.hasLines(e), - a = e.contours; - a && - "constraint" === a.type && - ((i = a.showlines), (r = "=" !== a._operation)); - var s = n - .select(this) - .select(".legendfill") - .selectAll("path") - .data(r ? [t] : []); - (s.enter().append("path").classed("js-fill", !0), - s.exit().remove(), - s.attr("d", "M5,0h30v6h-30z").call(o.fillGroupStyle)); - var c = n - .select(this) - .select(".legendlines") - .selectAll("path") - .data(i ? [t] : []); - (c.enter().append("path").classed("js-line", !0).attr("d", "M5,0h30"), - c.exit().remove(), - c.call(o.lineGroupStyle)); - }) - .each(function (t) { - var r, - i, - s = t[0], - c = s.trace, - u = l.hasMarkers(c), - f = l.hasText(c), - h = l.hasLines(c); - function p(t, e, r) { - var n = a.nestedProperty(c, t).get(), - i = Array.isArray(n) && e ? e(n) : n; - if (r) { - if (i < r[0]) return r[0]; - if (i > r[1]) return r[1]; - } - return i; - } - function d(t) { - return t[0]; - } - if (u || f || h) { - var g = {}, - m = {}; - (u && - ((g.mc = p("marker.color", d)), - (g.mo = p("marker.opacity", a.mean, [0.2, 1])), - (g.ms = p("marker.size", a.mean, [2, 16])), - (g.mlc = p("marker.line.color", d)), - (g.mlw = p("marker.line.width", a.mean, [0, 5])), - (m.marker = { sizeref: 1, sizemin: 1, sizemode: "diameter" })), - h && (m.line = { width: p("line.width", d, [0, 10]) }), - f && - ((g.tx = "Aa"), - (g.tp = p("textposition", d)), - (g.ts = 10), - (g.tc = p("textfont.color", d)), - (g.tf = p("textfont.family", d))), - (r = [a.minExtend(s, g)]), - ((i = a.minExtend(c, m)).selectedpoints = null)); - } - var v = n.select(this).select("g.legendpoints"), - y = v.selectAll("path.scatterpts").data(u ? r : []); - (y - .enter() - .append("path") - .classed("scatterpts", !0) - .attr("transform", "translate(20,0)"), - y.exit().remove(), - y.call(o.pointStyle, i, e), - u && (r[0].mrc = 3)); - var x = v.selectAll("g.pointtext").data(f ? r : []); - (x - .enter() - .append("g") - .classed("pointtext", !0) - .append("text") - .attr("transform", "translate(20,0)"), - x.exit().remove(), - x.selectAll("text").call(o.textPointStyle, i, e)); - }) - .each(function (t) { - var e = t[0].trace, - r = n - .select(this) - .select("g.legendpoints") - .selectAll("path.legendcandle") - .data("candlestick" === e.type && e.visible ? [t, t] : []); - (r - .enter() - .append("path") - .classed("legendcandle", !0) - .attr("d", function (t, e) { - return e ? "M-15,0H-8M-8,6V-6H8Z" : "M15,0H8M8,-6V6H-8Z"; - }) - .attr("transform", "translate(20,0)") - .style("stroke-miterlimit", 1), - r.exit().remove(), - r.each(function (t, r) { - var i = e[r ? "increasing" : "decreasing"], - a = i.line.width, - o = n.select(this); - (o.style("stroke-width", a + "px").call(s.fill, i.fillcolor), - a && s.stroke(o, i.line.color)); - })); - }) - .each(function (t) { - var e = t[0].trace, - r = n - .select(this) - .select("g.legendpoints") - .selectAll("path.legendohlc") - .data("ohlc" === e.type && e.visible ? [t, t] : []); - (r - .enter() - .append("path") - .classed("legendohlc", !0) - .attr("d", function (t, e) { - return e ? "M-15,0H0M-8,-6V0" : "M15,0H0M8,6V0"; - }) - .attr("transform", "translate(20,0)") - .style("stroke-miterlimit", 1), - r.exit().remove(), - r.each(function (t, r) { - var i = e[r ? "increasing" : "decreasing"], - a = i.line.width, - l = n.select(this); - (l.style("fill", "none").call(o.dashLine, i.line.dash, a), - a && s.stroke(l, i.line.color)); - })); - }); - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "../../traces/pie/style_one": 912, - "../../traces/scatter/subtypes": 948, - "../color": 474, - "../drawing": 499, - d3: 130, - }, - ], - 536: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../plots/plots"), - a = t("../../plots/cartesian/axis_ids"), - o = t("../../lib"), - s = t("../../../build/ploticon"), - l = o._, - c = (e.exports = {}); - function u(t, e) { - var r, - i, - o = e.currentTarget, - s = o.getAttribute("data-attr"), - l = o.getAttribute("data-val") || !0, - c = t._fullLayout, - u = {}, - f = a.list(t, null, !0), - h = "on"; - if ("zoom" === s) { - var p, - d = "in" === l ? 0.5 : 2, - g = (1 + d) / 2, - m = (1 - d) / 2; - for (i = 0; i < f.length; i++) - if (!(r = f[i]).fixedrange) - if (((p = r._name), "auto" === l)) u[p + ".autorange"] = !0; - else if ("reset" === l) { - if (void 0 === r._rangeInitial) u[p + ".autorange"] = !0; - else { - var v = r._rangeInitial.slice(); - ((u[p + ".range[0]"] = v[0]), (u[p + ".range[1]"] = v[1])); - } - void 0 !== r._showSpikeInitial && - ((u[p + ".showspikes"] = r._showSpikeInitial), - "on" !== h || r._showSpikeInitial || (h = "off")); - } else { - var y = [r.r2l(r.range[0]), r.r2l(r.range[1])], - x = [g * y[0] + m * y[1], g * y[1] + m * y[0]]; - ((u[p + ".range[0]"] = r.l2r(x[0])), - (u[p + ".range[1]"] = r.l2r(x[1]))); - } - c._cartesianSpikesEnabled = h; - } else { - if ("hovermode" !== s || ("x" !== l && "y" !== l)) { - if ("hovermode" === s && "closest" === l) { - for (i = 0; i < f.length; i++) - ((r = f[i]), "on" !== h || r.showspikes || (h = "off")); - c._cartesianSpikesEnabled = h; - } - } else ((l = c._isHoriz ? "y" : "x"), o.setAttribute("data-val", l)); - u[s] = l; - } - n.call("relayout", t, u); - } - function f(t, e) { - for ( - var r = e.currentTarget, - i = r.getAttribute("data-attr"), - a = r.getAttribute("data-val") || !0, - o = t._fullLayout._subplots.gl3d, - s = {}, - l = i.split("."), - c = 0; - c < o.length; - c++ - ) - s[o[c] + "." + l[1]] = a; - var u = "pan" === a ? a : "zoom"; - ((s.dragmode = u), n.call("relayout", t, s)); - } - function h(t, e) { - for ( - var r = e.currentTarget.getAttribute("data-attr"), - i = t._fullLayout, - a = i._subplots.gl3d, - s = {}, - l = 0; - l < a.length; - l++ - ) { - var c = a[l], - u = c + ".camera", - f = i[c]._scene; - "resetDefault" === r - ? (s[u] = null) - : "resetLastSave" === r && (s[u] = o.extendDeep({}, f.cameraInitial)); - } - n.call("relayout", t, s); - } - function p(t, e) { - var r = e.currentTarget, - i = r._previousVal || !1, - a = t.layout, - s = t._fullLayout, - l = s._subplots.gl3d, - c = ["xaxis", "yaxis", "zaxis"], - u = ["showspikes", "spikesides", "spikethickness", "spikecolor"], - f = {}, - h = {}, - p = {}; - if (i) ((p = o.extendDeep(a, i)), (r._previousVal = null)); - else { - p = { "allaxes.showspikes": !1 }; - for (var d = 0; d < l.length; d++) { - var g = l[d], - m = s[g], - v = (f[g] = {}); - ((v.hovermode = m.hovermode), (p[g + ".hovermode"] = !1)); - for (var y = 0; y < 3; y++) { - var x = c[y]; - h = v[x] = {}; - for (var b = 0; b < u.length; b++) { - var _ = u[b]; - h[_] = m[x][_]; - } - } - } - r._previousVal = o.extendDeep({}, f); - } - n.call("relayout", t, p); - } - function d(t, e) { - for ( - var r = e.currentTarget, - i = r.getAttribute("data-attr"), - a = r.getAttribute("data-val") || !0, - o = t._fullLayout, - s = o._subplots.geo, - l = 0; - l < s.length; - l++ - ) { - var c = s[l], - u = o[c]; - if ("zoom" === i) { - var f = u.projection.scale, - h = "in" === a ? 2 * f : 0.5 * f; - n.call("relayout", t, c + ".projection.scale", h); - } else "reset" === i && m(t, "geo"); - } - } - function g(t) { - var e, - r = t._fullLayout; - e = r._has("cartesian") ? (r._isHoriz ? "y" : "x") : "closest"; - var i = !t._fullLayout.hovermode && e; - n.call("relayout", t, "hovermode", i); - } - function m(t, e) { - for ( - var r = t._fullLayout, i = r._subplots[e], a = {}, o = 0; - o < i.length; - o++ - ) - for ( - var s = i[o], l = r[s]._subplot.viewInitial, c = Object.keys(l), u = 0; - u < c.length; - u++ - ) { - var f = c[u]; - a[s + "." + f] = l[f]; - } - n.call("relayout", t, a); - } - ((c.toImage = { - name: "toImage", - title: function (t) { - return l(t, "Download plot as a png"); - }, - icon: s.camera, - click: function (t) { - var e = "png"; - (o.notifier( - l(t, "Taking snapshot - this may take a few seconds"), - "long", - ), - o.isIE() && - (o.notifier( - l(t, "IE only supports svg. Changing format to svg."), - "long", - ), - (e = "svg")), - n - .call("downloadImage", t, { format: e }) - .then(function (e) { - o.notifier(l(t, "Snapshot succeeded") + " - " + e, "long"); - }) - .catch(function () { - o.notifier( - l(t, "Sorry, there was a problem downloading your snapshot!"), - "long", - ); - })); - }, - }), - (c.sendDataToCloud = { - name: "sendDataToCloud", - title: function (t) { - return l(t, "Edit in Chart Studio"); - }, - icon: s.disk, - click: function (t) { - i.sendDataToCloud(t); - }, - }), - (c.zoom2d = { - name: "zoom2d", - title: function (t) { - return l(t, "Zoom"); - }, - attr: "dragmode", - val: "zoom", - icon: s.zoombox, - click: u, - }), - (c.pan2d = { - name: "pan2d", - title: function (t) { - return l(t, "Pan"); - }, - attr: "dragmode", - val: "pan", - icon: s.pan, - click: u, - }), - (c.select2d = { - name: "select2d", - title: function (t) { - return l(t, "Box Select"); - }, - attr: "dragmode", - val: "select", - icon: s.selectbox, - click: u, - }), - (c.lasso2d = { - name: "lasso2d", - title: function (t) { - return l(t, "Lasso Select"); - }, - attr: "dragmode", - val: "lasso", - icon: s.lasso, - click: u, - }), - (c.zoomIn2d = { - name: "zoomIn2d", - title: function (t) { - return l(t, "Zoom in"); - }, - attr: "zoom", - val: "in", - icon: s.zoom_plus, - click: u, - }), - (c.zoomOut2d = { - name: "zoomOut2d", - title: function (t) { - return l(t, "Zoom out"); - }, - attr: "zoom", - val: "out", - icon: s.zoom_minus, - click: u, - }), - (c.autoScale2d = { - name: "autoScale2d", - title: function (t) { - return l(t, "Autoscale"); - }, - attr: "zoom", - val: "auto", - icon: s.autoscale, - click: u, - }), - (c.resetScale2d = { - name: "resetScale2d", - title: function (t) { - return l(t, "Reset axes"); - }, - attr: "zoom", - val: "reset", - icon: s.home, - click: u, - }), - (c.hoverClosestCartesian = { - name: "hoverClosestCartesian", - title: function (t) { - return l(t, "Show closest data on hover"); - }, - attr: "hovermode", - val: "closest", - icon: s.tooltip_basic, - gravity: "ne", - click: u, - }), - (c.hoverCompareCartesian = { - name: "hoverCompareCartesian", - title: function (t) { - return l(t, "Compare data on hover"); - }, - attr: "hovermode", - val: function (t) { - return t._fullLayout._isHoriz ? "y" : "x"; - }, - icon: s.tooltip_compare, - gravity: "ne", - click: u, - }), - (c.zoom3d = { - name: "zoom3d", - title: function (t) { - return l(t, "Zoom"); - }, - attr: "scene.dragmode", - val: "zoom", - icon: s.zoombox, - click: f, - }), - (c.pan3d = { - name: "pan3d", - title: function (t) { - return l(t, "Pan"); - }, - attr: "scene.dragmode", - val: "pan", - icon: s.pan, - click: f, - }), - (c.orbitRotation = { - name: "orbitRotation", - title: function (t) { - return l(t, "Orbital rotation"); - }, - attr: "scene.dragmode", - val: "orbit", - icon: s["3d_rotate"], - click: f, - }), - (c.tableRotation = { - name: "tableRotation", - title: function (t) { - return l(t, "Turntable rotation"); - }, - attr: "scene.dragmode", - val: "turntable", - icon: s["z-axis"], - click: f, - }), - (c.resetCameraDefault3d = { - name: "resetCameraDefault3d", - title: function (t) { - return l(t, "Reset camera to default"); - }, - attr: "resetDefault", - icon: s.home, - click: h, - }), - (c.resetCameraLastSave3d = { - name: "resetCameraLastSave3d", - title: function (t) { - return l(t, "Reset camera to last save"); - }, - attr: "resetLastSave", - icon: s.movie, - click: h, - }), - (c.hoverClosest3d = { - name: "hoverClosest3d", - title: function (t) { - return l(t, "Toggle show closest data on hover"); - }, - attr: "hovermode", - val: null, - toggle: !0, - icon: s.tooltip_basic, - gravity: "ne", - click: p, - }), - (c.zoomInGeo = { - name: "zoomInGeo", - title: function (t) { - return l(t, "Zoom in"); - }, - attr: "zoom", - val: "in", - icon: s.zoom_plus, - click: d, - }), - (c.zoomOutGeo = { - name: "zoomOutGeo", - title: function (t) { - return l(t, "Zoom out"); - }, - attr: "zoom", - val: "out", - icon: s.zoom_minus, - click: d, - }), - (c.resetGeo = { - name: "resetGeo", - title: function (t) { - return l(t, "Reset"); - }, - attr: "reset", - val: null, - icon: s.autoscale, - click: d, - }), - (c.hoverClosestGeo = { - name: "hoverClosestGeo", - title: function (t) { - return l(t, "Toggle show closest data on hover"); - }, - attr: "hovermode", - val: null, - toggle: !0, - icon: s.tooltip_basic, - gravity: "ne", - click: g, - }), - (c.hoverClosestGl2d = { - name: "hoverClosestGl2d", - title: function (t) { - return l(t, "Toggle show closest data on hover"); - }, - attr: "hovermode", - val: null, - toggle: !0, - icon: s.tooltip_basic, - gravity: "ne", - click: g, - }), - (c.hoverClosestPie = { - name: "hoverClosestPie", - title: function (t) { - return l(t, "Toggle show closest data on hover"); - }, - attr: "hovermode", - val: "closest", - icon: s.tooltip_basic, - gravity: "ne", - click: g, - }), - (c.toggleHover = { - name: "toggleHover", - title: function (t) { - return l(t, "Toggle show closest data on hover"); - }, - attr: "hovermode", - val: null, - toggle: !0, - icon: s.tooltip_basic, - gravity: "ne", - click: function (t, e) { - (g(t), p(t, e)); - }, - }), - (c.resetViews = { - name: "resetViews", - title: function (t) { - return l(t, "Reset views"); - }, - icon: s.home, - click: function (t, e) { - var r = e.currentTarget; - (r.setAttribute("data-attr", "zoom"), - r.setAttribute("data-val", "reset"), - u(t, e), - r.setAttribute("data-attr", "resetLastSave"), - h(t, e), - m(t, "geo"), - m(t, "mapbox")); - }, - }), - (c.toggleSpikelines = { - name: "toggleSpikelines", - title: function (t) { - return l(t, "Toggle Spike Lines"); - }, - icon: s.spikeline, - attr: "_cartesianSpikesEnabled", - val: "on", - click: function (t) { - var e = t._fullLayout; - e._cartesianSpikesEnabled = - "on" === e._cartesianSpikesEnabled ? "off" : "on"; - var r = (function (t) { - for ( - var e, r, n = t._fullLayout, i = a.list(t, null, !0), o = {}, s = 0; - s < i.length; - s++ - ) - ((e = i[s]), - (r = e._name), - (o[r + ".showspikes"] = - "on" === n._cartesianSpikesEnabled || e._showSpikeInitial)); - return o; - })(t); - n.call("relayout", t, r); - }, - }), - (c.resetViewMapbox = { - name: "resetViewMapbox", - title: function (t) { - return l(t, "Reset view"); - }, - attr: "reset", - icon: s.home, - click: function (t) { - m(t, "mapbox"); - }, - })); - }, - { - "../../../build/ploticon": 2, - "../../lib": 602, - "../../plots/cartesian/axis_ids": 651, - "../../plots/plots": 710, - "../../registry": 732, - }, - ], - 537: [ - function (t, e, r) { - "use strict"; - r.manage = t("./manage"); - }, - { "./manage": 538 }, - ], - 538: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axis_ids"), - i = t("../../traces/scatter/subtypes"), - a = t("../../registry"), - o = t("./modebar"), - s = t("./buttons"); - e.exports = function (t) { - var e = t._fullLayout, - r = t._context, - l = e._modeBar; - if (r.displayModeBar) { - if (!Array.isArray(r.modeBarButtonsToRemove)) - throw new Error( - [ - "*modeBarButtonsToRemove* configuration options", - "must be an array.", - ].join(" "), - ); - if (!Array.isArray(r.modeBarButtonsToAdd)) - throw new Error( - [ - "*modeBarButtonsToAdd* configuration options", - "must be an array.", - ].join(" "), - ); - var c, - u = r.modeBarButtons; - ((c = - Array.isArray(u) && u.length - ? (function (t) { - for (var e = 0; e < t.length; e++) - for (var r = t[e], n = 0; n < r.length; n++) { - var i = r[n]; - if ("string" == typeof i) { - if (void 0 === s[i]) - throw new Error( - [ - "*modeBarButtons* configuration options", - "invalid button name", - ].join(" "), - ); - t[e][n] = s[i]; - } - } - return t; - })(u) - : (function (t, e, r) { - var o = t._fullLayout, - l = t._fullData, - c = o._has("cartesian"), - u = o._has("gl3d"), - f = o._has("geo"), - h = o._has("pie"), - p = o._has("gl2d"), - d = o._has("ternary"), - g = o._has("mapbox"), - m = o._has("polar"), - v = (function (t) { - for ( - var e = n.list({ _fullLayout: t }, null, !0), r = 0; - r < e.length; - r++ - ) - if (!e[r].fixedrange) return !1; - return !0; - })(o), - y = []; - function x(t) { - if (t.length) { - for (var r = [], n = 0; n < t.length; n++) { - var i = t[n]; - -1 === e.indexOf(i) && r.push(s[i]); - } - y.push(r); - } - } - x(["toImage", "sendDataToCloud"]); - var b = [], - _ = [], - w = [], - k = []; - (c || p || h || d) + f + u + g + m > 1 - ? ((_ = ["toggleHover"]), (w = ["resetViews"])) - : f - ? ((b = ["zoomInGeo", "zoomOutGeo"]), - (_ = ["hoverClosestGeo"]), - (w = ["resetGeo"])) - : u - ? ((_ = ["hoverClosest3d"]), - (w = ["resetCameraDefault3d", "resetCameraLastSave3d"])) - : g - ? ((_ = ["toggleHover"]), (w = ["resetViewMapbox"])) - : (_ = p - ? ["hoverClosestGl2d"] - : h - ? ["hoverClosestPie"] - : ["toggleHover"]); - c && - (_ = [ - "toggleSpikelines", - "hoverClosestCartesian", - "hoverCompareCartesian", - ]); - (!c && !p) || - v || - ((b = ["zoomIn2d", "zoomOut2d", "autoScale2d"]), - "resetViews" !== w[0] && (w = ["resetScale2d"])); - u - ? (k = ["zoom3d", "pan3d", "orbitRotation", "tableRotation"]) - : ((c || p) && !v) || d - ? (k = ["zoom2d", "pan2d"]) - : g || f - ? (k = ["pan2d"]) - : m && (k = ["zoom2d"]); - (function (t) { - for (var e = !1, r = 0; r < t.length && !e; r++) { - var n = t[r]; - n._module && - n._module.selectPoints && - (a.traceIs(n, "scatter-like") - ? (i.hasMarkers(n) || i.hasText(n)) && (e = !0) - : (a.traceIs(n, "box-violin") && - "all" !== n.boxpoints && - "all" !== n.points) || - (e = !0)); - } - return e; - })(l) && k.push("select2d", "lasso2d"); - return ( - x(k), - x(b.concat(w)), - x(_), - (function (t, e) { - if (e.length) - if (Array.isArray(e[0])) - for (var r = 0; r < e.length; r++) t.push(e[r]); - else t.push(e); - return t; - })(y, r) - ); - })(t, r.modeBarButtonsToRemove, r.modeBarButtonsToAdd)), - l ? l.update(t, c) : (e._modeBar = o(t, c))); - } else l && (l.destroy(), delete e._modeBar); - }; - }, - { - "../../plots/cartesian/axis_ids": 651, - "../../registry": 732, - "../../traces/scatter/subtypes": 948, - "./buttons": 536, - "./modebar": 539, - }, - ], - 539: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../../build/ploticon"); - function o(t) { - ((this.container = t.container), - (this.element = document.createElement("div")), - this.update(t.graphInfo, t.buttons), - this.container.appendChild(this.element)); - } - var s = o.prototype; - ((s.update = function (t, e) { - this.graphInfo = t; - var r = this.graphInfo._context; - "hover" === r.displayModeBar - ? (this.element.className = "modebar modebar--hover") - : (this.element.className = "modebar"); - var n = !this.hasButtons(e), - i = this.hasLogo !== r.displaylogo, - a = this.locale !== r.locale; - ((this.locale = r.locale), - (n || i || a) && - (this.removeAllButtons(), - this.updateButtons(e), - r.displaylogo && - (this.element.appendChild(this.getLogo()), (this.hasLogo = !0))), - this.updateActiveButton()); - }), - (s.updateButtons = function (t) { - var e = this; - ((this.buttons = t), - (this.buttonElements = []), - (this.buttonsNames = []), - this.buttons.forEach(function (t) { - var r = e.createGroup(); - (t.forEach(function (t) { - var n = t.name; - if (!n) - throw new Error("must provide button 'name' in button config"); - if (-1 !== e.buttonsNames.indexOf(n)) - throw new Error("button name '" + n + "' is taken"); - e.buttonsNames.push(n); - var i = e.createButton(t); - (e.buttonElements.push(i), r.appendChild(i)); - }), - e.element.appendChild(r)); - })); - }), - (s.createGroup = function () { - var t = document.createElement("div"); - return ((t.className = "modebar-group"), t); - }), - (s.createButton = function (t) { - var e = this, - r = document.createElement("a"); - (r.setAttribute("rel", "tooltip"), (r.className = "modebar-btn")); - var i = t.title; - (void 0 === i - ? (i = t.name) - : "function" == typeof i && (i = i(this.graphInfo)), - (i || 0 === i) && r.setAttribute("data-title", i), - void 0 !== t.attr && r.setAttribute("data-attr", t.attr)); - var o = t.val; - if ( - (void 0 !== o && - ("function" == typeof o && (o = o(this.graphInfo)), - r.setAttribute("data-val", o)), - "function" != typeof t.click) - ) - throw new Error( - "must provide button 'click' function in button config", - ); - return ( - r.addEventListener("click", function (r) { - (t.click(e.graphInfo, r), e.updateActiveButton(r.currentTarget)); - }), - r.setAttribute("data-toggle", t.toggle || !1), - t.toggle && n.select(r).classed("active", !0), - r.appendChild(this.createIcon(t.icon || a.question, t.name)), - r.setAttribute("data-gravity", t.gravity || "n"), - r - ); - }), - (s.createIcon = function (t, e) { - var r = t.ascent - t.descent, - n = "http://www.w3.org/2000/svg", - i = document.createElementNS(n, "svg"), - a = document.createElementNS(n, "path"); - (i.setAttribute("height", "1em"), - i.setAttribute("width", t.width / r + "em"), - i.setAttribute("viewBox", [0, 0, t.width, r].join(" "))); - var o = - "toggleSpikelines" === e - ? "matrix(1.5 0 0 -1.5 0 " + t.ascent + ")" - : "matrix(1 0 0 -1 0 " + t.ascent + ")"; - return ( - a.setAttribute("d", t.path), - a.setAttribute("transform", o), - i.appendChild(a), - i - ); - }), - (s.updateActiveButton = function (t) { - var e = this.graphInfo._fullLayout, - r = void 0 !== t ? t.getAttribute("data-attr") : null; - this.buttonElements.forEach(function (t) { - var a = t.getAttribute("data-val") || !0, - o = t.getAttribute("data-attr"), - s = "true" === t.getAttribute("data-toggle"), - l = n.select(t); - if (s) o === r && l.classed("active", !l.classed("active")); - else { - var c = null === o ? o : i.nestedProperty(e, o).get(); - l.classed("active", c === a); - } - }); - }), - (s.hasButtons = function (t) { - var e = this.buttons; - if (!e) return !1; - if (t.length !== e.length) return !1; - for (var r = 0; r < t.length; ++r) { - if (t[r].length !== e[r].length) return !1; - for (var n = 0; n < t[r].length; n++) - if (t[r][n].name !== e[r][n].name) return !1; - } - return !0; - }), - (s.getLogo = function () { - var t = this.createGroup(), - e = document.createElement("a"); - return ( - (e.href = "https://plot.ly/"), - (e.target = "_blank"), - e.setAttribute( - "data-title", - i._(this.graphInfo, "Produced with Plotly"), - ), - (e.className = "modebar-btn plotlyjsicon modebar-btn--logo"), - e.appendChild(this.createIcon(a.plotlylogo)), - t.appendChild(e), - t - ); - }), - (s.removeAllButtons = function () { - for (; this.element.firstChild; ) - this.element.removeChild(this.element.firstChild); - this.hasLogo = !1; - }), - (s.destroy = function () { - i.removeElement(this.container.querySelector(".modebar")); - }), - (e.exports = function (t, e) { - var r = t._fullLayout, - i = new o({ graphInfo: t, container: r._paperdiv.node(), buttons: e }); - return ( - r._privateplot && - n - .select(i.element) - .append("span") - .classed("badge-private float--left", !0) - .text("PRIVATE"), - i - ); - })); - }, - { "../../../build/ploticon": 2, "../../lib": 602, d3: 130 }, - ], - 540: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../color/attributes"), - a = t("../../lib/extend").extendFlat, - o = t("./button_attributes"); - ((o = a(o, { _isLinkedToArray: "button" })), - (e.exports = { - visible: { valType: "boolean", editType: "plot" }, - buttons: o, - x: { valType: "number", min: -2, max: 3, editType: "plot" }, - xanchor: { - valType: "enumerated", - values: ["auto", "left", "center", "right"], - dflt: "left", - editType: "plot", - }, - y: { valType: "number", min: -2, max: 3, editType: "plot" }, - yanchor: { - valType: "enumerated", - values: ["auto", "top", "middle", "bottom"], - dflt: "bottom", - editType: "plot", - }, - font: n({ editType: "plot" }), - bgcolor: { valType: "color", dflt: i.lightLine, editType: "plot" }, - activecolor: { valType: "color", editType: "plot" }, - bordercolor: { valType: "color", dflt: i.defaultLine, editType: "plot" }, - borderwidth: { valType: "number", min: 0, dflt: 0, editType: "plot" }, - editType: "plot", - })); - }, - { - "../../lib/extend": 591, - "../../plots/font_attributes": 674, - "../color/attributes": 473, - "./button_attributes": 541, - }, - ], - 541: [ - function (t, e, r) { - "use strict"; - e.exports = { - step: { - valType: "enumerated", - values: ["month", "year", "day", "hour", "minute", "second", "all"], - dflt: "month", - editType: "plot", - }, - stepmode: { - valType: "enumerated", - values: ["backward", "todate"], - dflt: "backward", - editType: "plot", - }, - count: { valType: "number", min: 0, dflt: 1, editType: "plot" }, - label: { valType: "string", editType: "plot" }, - editType: "plot", - }; - }, - {}, - ], - 542: [ - function (t, e, r) { - "use strict"; - e.exports = { - yPad: 0.02, - minButtonWidth: 30, - rx: 3, - ry: 3, - lightAmount: 25, - darkAmount: 10, - }; - }, - {}, - ], - 543: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../color"), - a = t("./attributes"), - o = t("./button_attributes"), - s = t("./constants"); - e.exports = function (t, e, r, l, c) { - var u = t.rangeselector || {}, - f = (e.rangeselector = {}); - function h(t, e) { - return n.coerce(u, f, a, t, e); - } - if ( - h( - "visible", - (function (t, e, r) { - var i, - a, - s = t.buttons || [], - l = (e.buttons = []); - function c(t, e) { - return n.coerce(i, a, o, t, e); - } - for (var u = 0; u < s.length; u++) - if (((i = s[u]), (a = {}), n.isPlainObject(i))) { - var f = c("step"); - ("all" !== f && - (!r || "gregorian" === r || ("month" !== f && "year" !== f) - ? c("stepmode") - : (a.stepmode = "backward"), - c("count")), - c("label"), - (a._index = u), - l.push(a)); - } - return l; - })(u, f, c).length > 0, - ) - ) { - var p = (function (t, e, r) { - for ( - var n = r.filter(function (r) { - return e[r].anchor === t._id; - }), - i = 0, - a = 0; - a < n.length; - a++ - ) { - var o = e[n[a]].domain; - o && (i = Math.max(o[1], i)); - } - return [t.domain[0], i + s.yPad]; - })(e, r, l); - (h("x", p[0]), - h("y", p[1]), - n.noneOrAll(t, e, ["x", "y"]), - h("xanchor"), - h("yanchor"), - n.coerceFont(h, "font", r.font)); - var d = h("bgcolor"); - (h("activecolor", i.contrast(d, s.lightAmount, s.darkAmount)), - h("bordercolor"), - h("borderwidth")); - } - }; - }, - { - "../../lib": 602, - "../color": 474, - "./attributes": 540, - "./button_attributes": 541, - "./constants": 542, - }, - ], - 544: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../plots/plots"), - o = t("../color"), - s = t("../drawing"), - l = t("../../lib"), - c = t("../../lib/svg_text_utils"), - u = t("../../plots/cartesian/axis_ids"), - f = t("../legend/anchor_utils"), - h = t("../../constants/alignment"), - p = h.LINE_SPACING, - d = h.FROM_TL, - g = h.FROM_BR, - m = t("./constants"), - v = t("./get_update_object"); - function y(t) { - return t._id; - } - function x(t, e, r) { - var n = l.ensureSingle(t, "rect", "selector-rect", function (t) { - t.attr("shape-rendering", "crispEdges"); - }); - (n.attr({ rx: m.rx, ry: m.ry }), - n - .call(o.stroke, e.bordercolor) - .call( - o.fill, - (function (t, e) { - return e._isActive || e._isHovered ? t.activecolor : t.bgcolor; - })(e, r), - ) - .style("stroke-width", e.borderwidth + "px")); - } - function b(t, e, r, n) { - var i; - l.ensureSingle(t, "text", "selector-text", function (t) { - t.classed("user-select-none", !0).attr("text-anchor", "middle"); - }) - .call(s.font, e.font) - .text( - ((i = r), - i.label - ? i.label - : "all" === i.step - ? "all" - : i.count + i.step.charAt(0)), - ) - .call(function (t) { - c.convertToTspans(t, n); - }); - } - e.exports = function (t) { - var e = t._fullLayout._infolayer.selectAll(".rangeselector").data( - (function (t) { - for (var e = u.list(t, "x", !0), r = [], n = 0; n < e.length; n++) { - var i = e[n]; - i.rangeselector && i.rangeselector.visible && r.push(i); - } - return r; - })(t), - y, - ); - (e.enter().append("g").classed("rangeselector", !0), - e.exit().remove(), - e.style({ cursor: "pointer", "pointer-events": "all" }), - e.each(function (e) { - var r = n.select(this), - o = e, - l = o.rangeselector, - u = r.selectAll("g.button").data(l.buttons); - (u.enter().append("g").classed("button", !0), - u.exit().remove(), - u.each(function (e) { - var r = n.select(this), - a = v(o, e); - ((e._isActive = (function (t, e, r) { - if ("all" === e.step) return !0 === t.autorange; - var n = Object.keys(r); - return t.range[0] === r[n[0]] && t.range[1] === r[n[1]]; - })(o, e, a)), - r.call(x, l, e), - r.call(b, l, e, t), - r.on("click", function () { - t._dragged || i.call("relayout", t, a); - }), - r.on("mouseover", function () { - ((e._isHovered = !0), r.call(x, l, e)); - }), - r.on("mouseout", function () { - ((e._isHovered = !1), r.call(x, l, e)); - })); - }), - (function (t, e, r, i, o) { - var l = 0, - u = 0, - h = r.borderwidth; - (e.each(function () { - var t = n.select(this), - e = t.select(".selector-text"), - i = r.font.size * p, - a = Math.max(i * c.lineCount(e), 16) + 3; - u = Math.max(u, a); - }), - e.each(function () { - var t = n.select(this), - e = t.select(".selector-rect"), - i = t.select(".selector-text"), - a = i.node() && s.bBox(i.node()).width, - o = r.font.size * p, - f = c.lineCount(i), - d = Math.max(a + 10, m.minButtonWidth); - (t.attr("transform", "translate(" + (h + l) + "," + h + ")"), - e.attr({ x: 0, y: 0, width: d, height: u }), - c.positionText(i, d / 2, u / 2 - ((f - 1) * o) / 2 + 3), - (l += d + 5)); - })); - var v = t._fullLayout._size, - y = v.l + v.w * r.x, - x = v.t + v.h * (1 - r.y), - b = "left"; - f.isRightAnchor(r) && ((y -= l), (b = "right")); - f.isCenterAnchor(r) && ((y -= l / 2), (b = "center")); - var _ = "top"; - f.isBottomAnchor(r) && ((x -= u), (_ = "bottom")); - f.isMiddleAnchor(r) && ((x -= u / 2), (_ = "middle")); - ((l = Math.ceil(l)), - (u = Math.ceil(u)), - (y = Math.round(y)), - (x = Math.round(x)), - a.autoMargin(t, i + "-range-selector", { - x: r.x, - y: r.y, - l: l * d[b], - r: l * g[b], - b: u * g[_], - t: u * d[_], - }), - o.attr("transform", "translate(" + y + "," + x + ")")); - })(t, u, l, o._name, r)); - })); - }; - }, - { - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/cartesian/axis_ids": 651, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../drawing": 499, - "../legend/anchor_utils": 526, - "./constants": 542, - "./get_update_object": 545, - d3: 130, - }, - ], - 545: [ - function (t, e, r) { - "use strict"; - var n = t("d3"); - e.exports = function (t, e) { - var r = t._name, - i = {}; - if ("all" === e.step) i[r + ".autorange"] = !0; - else { - var a = (function (t, e) { - var r, - i = t.range, - a = new Date(t.r2l(i[1])), - o = e.step, - s = e.count; - switch (e.stepmode) { - case "backward": - r = t.l2r(+n.time[o].utc.offset(a, -s)); - break; - case "todate": - var l = n.time[o].utc.offset(a, -s); - r = t.l2r(+n.time[o].utc.ceil(l)); - } - var c = i[1]; - return [r, c]; - })(t, e); - ((i[r + ".range[0]"] = a[0]), (i[r + ".range[1]"] = a[1])); - } - return i; - }; - }, - { d3: 130 }, - ], - 546: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "component", - name: "rangeselector", - schema: { subplots: { xaxis: { rangeselector: t("./attributes") } } }, - layoutAttributes: t("./attributes"), - handleDefaults: t("./defaults"), - draw: t("./draw"), - }; - }, - { "./attributes": 540, "./defaults": 543, "./draw": 544 }, - ], - 547: [ - function (t, e, r) { - "use strict"; - var n = t("../color/attributes"); - e.exports = { - bgcolor: { valType: "color", dflt: n.background, editType: "plot" }, - bordercolor: { valType: "color", dflt: n.defaultLine, editType: "plot" }, - borderwidth: { valType: "integer", dflt: 0, min: 0, editType: "plot" }, - autorange: { - valType: "boolean", - dflt: !0, - editType: "calc", - impliedEdits: { "range[0]": void 0, "range[1]": void 0 }, - }, - range: { - valType: "info_array", - items: [ - { - valType: "any", - editType: "calc", - impliedEdits: { "^autorange": !1 }, - }, - { - valType: "any", - editType: "calc", - impliedEdits: { "^autorange": !1 }, - }, - ], - editType: "calc", - impliedEdits: { autorange: !1 }, - }, - thickness: { - valType: "number", - dflt: 0.15, - min: 0, - max: 1, - editType: "plot", - }, - visible: { valType: "boolean", dflt: !0, editType: "calc" }, - editType: "calc", - }; - }, - { "../color/attributes": 473 }, - ], - 548: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axis_ids").list, - i = t("../../plots/cartesian/autorange").getAutoRange, - a = t("./constants"); - e.exports = function (t) { - for (var e = n(t, "x", !0), r = 0; r < e.length; r++) { - var o = e[r], - s = o[a.name]; - s && - s.visible && - s.autorange && - o._min.length && - o._max.length && - ((s._input.autorange = !0), (s._input.range = s.range = i(o))); - } - }; - }, - { - "../../plots/cartesian/autorange": 647, - "../../plots/cartesian/axis_ids": 651, - "./constants": 549, - }, - ], - 549: [ - function (t, e, r) { - "use strict"; - e.exports = { - name: "rangeslider", - containerClassName: "rangeslider-container", - bgClassName: "rangeslider-bg", - rangePlotClassName: "rangeslider-rangeplot", - maskMinClassName: "rangeslider-mask-min", - maskMaxClassName: "rangeslider-mask-max", - slideBoxClassName: "rangeslider-slidebox", - grabberMinClassName: "rangeslider-grabber-min", - grabAreaMinClassName: "rangeslider-grabarea-min", - handleMinClassName: "rangeslider-handle-min", - grabberMaxClassName: "rangeslider-grabber-max", - grabAreaMaxClassName: "rangeslider-grabarea-max", - handleMaxClassName: "rangeslider-handle-max", - maskMinOppAxisClassName: "rangeslider-mask-min-opp-axis", - maskMaxOppAxisClassName: "rangeslider-mask-max-opp-axis", - maskColor: "rgba(0,0,0,0.4)", - maskOppAxisColor: "rgba(0,0,0,0.2)", - slideBoxFill: "transparent", - slideBoxCursor: "ew-resize", - grabAreaFill: "transparent", - grabAreaCursor: "col-resize", - grabAreaWidth: 10, - handleWidth: 4, - handleRadius: 1, - handleStrokeWidth: 1, - extraPad: 15, - }; - }, - {}, - ], - 550: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("./oppaxis_attributes"), - o = t("../../plots/cartesian/axis_ids"); - e.exports = function (t, e, r) { - var s = t[r], - l = e[r]; - if (s.rangeslider || e._requestRangeslider[l._id]) { - n.isPlainObject(s.rangeslider) || (s.rangeslider = {}); - var c = s.rangeslider, - u = (l.rangeslider = {}); - if (_("visible")) { - (_("bgcolor", e.plot_bgcolor), - _("bordercolor"), - _("borderwidth"), - _("thickness"), - (l._rangesliderAutorange = _("autorange", !l.isValidRange(c.range))), - _("range")); - var f = e._subplots; - if (f) - for ( - var h = f.cartesian - .filter(function (t) { - return t.substr(0, t.indexOf("y")) === o.name2id(r); - }) - .map(function (t) { - return t.substr(t.indexOf("y"), t.length); - }), - p = n.simpleMap(h, o.id2name), - d = 0; - d < p.length; - d++ - ) { - var g, - m = p[d], - v = c[m] || {}, - y = (u[m] = {}), - x = e[m]; - v.range && x.isValidRange(v.range) && (g = "fixed"); - var b = w(v, y, "rangemode", g); - ("match" !== b && w(v, y, "range", x.range.slice()), - (x._rangesliderAutorange = "auto" === b)); - } - u._input = c; - } - } - function _(t, e) { - return n.coerce(c, u, i, t, e); - } - function w(t, e, r, i) { - return n.coerce(t, e, a, r, i); - } - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axis_ids": 651, - "./attributes": 547, - "./oppaxis_attributes": 553, - }, - ], - 551: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../plots/plots"), - o = t("../../lib"), - s = t("../drawing"), - l = t("../color"), - c = t("../titles"), - u = t("../../plots/cartesian"), - f = t("../../plots/cartesian/axes"), - h = t("../dragelement"), - p = t("../../lib/setcursor"), - d = t("./constants"); - function g(t, e, r, n) { - var i = o.ensureSingle(t, "rect", d.bgClassName, function (t) { - t.attr({ x: 0, y: 0, "shape-rendering": "crispEdges" }); - }), - a = n.borderwidth % 2 == 0 ? n.borderwidth : n.borderwidth - 1, - l = -n._offsetShift, - c = s.crispRound(e, n.borderwidth); - i.attr({ - width: n._width + a, - height: n._height + a, - transform: "translate(" + l + "," + l + ")", - fill: n.bgcolor, - stroke: n.bordercolor, - "stroke-width": c, - }); - } - function m(t, e, r, n) { - var i = e._fullLayout; - o.ensureSingleById(i._topdefs, "clipPath", n._clipId, function (t) { - t.append("rect").attr({ x: 0, y: 0 }); - }) - .select("rect") - .attr({ width: n._width, height: n._height }); - } - function v(t, e, r, i) { - var l, - c = f.getSubplots(e, r), - h = e.calcdata, - p = t.selectAll("g." + d.rangePlotClassName).data(c, o.identity); - (p - .enter() - .append("g") - .attr("class", function (t) { - return d.rangePlotClassName + " " + t; - }) - .call(s.setClipUrl, i._clipId), - p.order(), - p.exit().remove(), - p.each(function (t, o) { - var s = n.select(this), - c = 0 === o, - p = f.getFromId(e, t, "y"), - d = p._name, - g = i[d], - m = { - data: [], - layout: { - xaxis: { - type: r.type, - domain: [0, 1], - range: i.range.slice(), - calendar: r.calendar, - }, - width: i._width, - height: i._height, - margin: { t: 0, b: 0, l: 0, r: 0 }, - }, - _context: e._context, - }; - ((m.layout[d] = { - type: p.type, - domain: [0, 1], - range: "match" !== g.rangemode ? g.range.slice() : p.range.slice(), - calendar: p.calendar, - }), - a.supplyDefaults(m)); - var v = { - id: t, - plotgroup: s, - xaxis: m._fullLayout.xaxis, - yaxis: m._fullLayout[d], - isRangePlot: !0, - }; - (c ? (l = v) : ((v.mainplot = "xy"), (v.mainplotinfo = l)), - u.rangePlot( - e, - v, - (function (t, e) { - for (var r = [], n = 0; n < t.length; n++) { - var i = t[n], - a = i[0].trace; - a.xaxis + a.yaxis === e && r.push(i); - } - return r; - })(h, t), - )); - })); - } - function y(t, e, r, n, i) { - (o - .ensureSingle(t, "rect", d.maskMinClassName, function (t) { - t.attr({ x: 0, y: 0, "shape-rendering": "crispEdges" }); - }) - .attr("height", n._height) - .call(l.fill, d.maskColor), - o - .ensureSingle(t, "rect", d.maskMaxClassName, function (t) { - t.attr({ y: 0, "shape-rendering": "crispEdges" }); - }) - .attr("height", n._height) - .call(l.fill, d.maskColor), - "match" !== i.rangemode) && - (o - .ensureSingle(t, "rect", d.maskMinOppAxisClassName, function (t) { - t.attr({ y: 0, "shape-rendering": "crispEdges" }); - }) - .attr("width", n._width) - .call(l.fill, d.maskOppAxisColor), - o - .ensureSingle(t, "rect", d.maskMaxOppAxisClassName, function (t) { - t.attr({ y: 0, "shape-rendering": "crispEdges" }); - }) - .attr("width", n._width) - .style("border-top", d.maskOppBorder) - .call(l.fill, d.maskOppAxisColor)); - } - function x(t, e, r, n) { - e._context.staticPlot || - o - .ensureSingle(t, "rect", d.slideBoxClassName, function (t) { - t.attr({ - y: 0, - cursor: d.slideBoxCursor, - "shape-rendering": "crispEdges", - }); - }) - .attr({ height: n._height, fill: d.slideBoxFill }); - } - function b(t, e, r, n) { - var i = o.ensureSingle(t, "g", d.grabberMinClassName), - a = o.ensureSingle(t, "g", d.grabberMaxClassName), - s = { - x: 0, - width: d.handleWidth, - rx: d.handleRadius, - fill: l.background, - stroke: l.defaultLine, - "stroke-width": d.handleStrokeWidth, - "shape-rendering": "crispEdges", - }, - c = { y: Math.round(n._height / 4), height: Math.round(n._height / 2) }; - if ( - (o - .ensureSingle(i, "rect", d.handleMinClassName, function (t) { - t.attr(s); - }) - .attr(c), - o - .ensureSingle(a, "rect", d.handleMaxClassName, function (t) { - t.attr(s); - }) - .attr(c), - !e._context.staticPlot) - ) { - var u = { - width: d.grabAreaWidth, - x: 0, - y: 0, - fill: d.grabAreaFill, - cursor: d.grabAreaCursor, - }; - (o - .ensureSingle(i, "rect", d.grabAreaMinClassName, function (t) { - t.attr(u); - }) - .attr("height", n._height), - o - .ensureSingle(a, "rect", d.grabAreaMaxClassName, function (t) { - t.attr(u); - }) - .attr("height", n._height)); - } - } - e.exports = function (t) { - var e = t._fullLayout, - r = (function (t) { - var e = f.list({ _fullLayout: t }, "x", !0), - r = d.name, - n = []; - if (t._has("gl2d")) return n; - for (var i = 0; i < e.length; i++) { - var a = e[i]; - a[r] && a[r].visible && n.push(a); - } - return n; - })(e); - var s = e._infolayer - .selectAll("g." + d.containerClassName) - .data(r, function (t) { - return t._name; - }); - (s - .enter() - .append("g") - .classed(d.containerClassName, !0) - .attr("pointer-events", "all"), - s.exit().each(function (t) { - var r = n.select(this), - i = t[d.name]; - (r.remove(), e._topdefs.select("#" + i._clipId).remove()); - }), - s.exit().size() && - (function (t) { - for ( - var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; - n < r.length; - n++ - ) { - var i = r[n]; - -1 !== i.indexOf(d.name) && a.autoMargin(t, i); - } - })(t), - 0 !== r.length && - s.each(function (r) { - var s = n.select(this), - l = r[d.name], - u = e[f.id2name(r.anchor)], - _ = l[f.id2name(r.anchor)]; - if (l.range) { - var w = l.range, - k = r.range; - ((w[0] = r.l2r(Math.min(r.r2l(w[0]), r.r2l(k[0])))), - (w[1] = r.l2r(Math.max(r.r2l(w[1]), r.r2l(k[1])))), - (l._input.range = w.slice())); - } - r.cleanRange("rangeslider.range"); - for ( - var M = e.margin, - A = e._size, - T = r.domain, - S = (r._boundingBox || {}).height || 0, - C = 1 / 0, - E = f.getSubplots(t, r), - L = 0; - L < E.length; - L++ - ) { - var z = f.getFromId(t, E[L].substr(E[L].indexOf("y"))); - C = Math.min(C, z.domain[0]); - } - ((l._id = d.name + r._id), - (l._clipId = l._id + "-" + e._uid), - (l._width = A.w * (T[1] - T[0])), - (l._height = (e.height - M.b - M.t) * l.thickness), - (l._offsetShift = Math.floor(l.borderwidth / 2))); - var P = Math.round(M.l + A.w * T[0]), - D = Math.round( - A.t + A.h * (1 - C) + S + l._offsetShift + d.extraPad, - ); - s.attr("transform", "translate(" + P + "," + D + ")"); - var O = r.r2l(l.range[0]), - I = r.r2l(l.range[1]), - R = I - O; - if ( - ((l.p2d = function (t) { - return (t / l._width) * R + O; - }), - (l.d2p = function (t) { - return ((t - O) / R) * l._width; - }), - (l._rl = [O, I]), - "match" !== _.rangemode) - ) { - var B = u.r2l(_.range[0]), - F = u.r2l(_.range[1]) - B; - l.d2pOppAxis = function (t) { - return ((t - B) / F) * l._height; - }; - } - (s - .call(g, t, r, l) - .call(m, t, r, l) - .call(v, t, r, l) - .call(y, t, r, l, _) - .call(x, t, r, l) - .call(b, t, r, l), - (function (t, e, r, a) { - var s = t.select("rect." + d.slideBoxClassName).node(), - l = t.select("rect." + d.grabAreaMinClassName).node(), - c = t.select("rect." + d.grabAreaMaxClassName).node(); - t.on("mousedown", function () { - var u = n.event, - f = u.target, - d = u.clientX, - g = d - t.node().getBoundingClientRect().left, - m = a.d2p(r._rl[0]), - v = a.d2p(r._rl[1]), - y = h.coverSlip(); - function x(t) { - var u, - h, - x, - b = +t.clientX - d; - switch (f) { - case s: - ((x = "ew-resize"), (u = m + b), (h = v + b)); - break; - case l: - ((x = "col-resize"), (u = m + b), (h = v)); - break; - case c: - ((x = "col-resize"), (u = m), (h = v + b)); - break; - default: - ((x = "ew-resize"), (u = g), (h = g + b)); - } - if (h < u) { - var _ = h; - ((h = u), (u = _)); - } - ((a._pixelMin = u), - (a._pixelMax = h), - p(n.select(y), x), - (function (t, e, r, n) { - function a(t) { - return r.l2r(o.constrain(t, n._rl[0], n._rl[1])); - } - var s = a(n.p2d(n._pixelMin)), - l = a(n.p2d(n._pixelMax)); - window.requestAnimationFrame(function () { - i.call("relayout", e, r._name + ".range", [s, l]); - }); - })(0, e, r, a)); - } - (y.addEventListener("mousemove", x), - y.addEventListener("mouseup", function t() { - y.removeEventListener("mousemove", x); - y.removeEventListener("mouseup", t); - o.removeElement(y); - })); - }); - })(s, t, r, l), - (function (t, e, r, n, i, a) { - var s = d.handleWidth / 2; - function l(t) { - return o.constrain(t, 0, n._width); - } - function c(t) { - return o.constrain(t, 0, n._height); - } - function u(t) { - return o.constrain(t, -s, n._width + s); - } - var f = l(n.d2p(r._rl[0])), - h = l(n.d2p(r._rl[1])); - if ( - (t - .select("rect." + d.slideBoxClassName) - .attr("x", f) - .attr("width", h - f), - t.select("rect." + d.maskMinClassName).attr("width", f), - t - .select("rect." + d.maskMaxClassName) - .attr("x", h) - .attr("width", n._width - h), - "match" !== a.rangemode) - ) { - var p = n._height - c(n.d2pOppAxis(i._rl[1])), - g = n._height - c(n.d2pOppAxis(i._rl[0])); - (t - .select("rect." + d.maskMinOppAxisClassName) - .attr("x", f) - .attr("height", p) - .attr("width", h - f), - t - .select("rect." + d.maskMaxOppAxisClassName) - .attr("x", f) - .attr("y", g) - .attr("height", n._height - g) - .attr("width", h - f), - t - .select("rect." + d.slideBoxClassName) - .attr("y", p) - .attr("height", g - p)); - } - var m = Math.round(u(f - s)) - 0.5, - v = Math.round(u(h - s)) + 0.5; - (t - .select("g." + d.grabberMinClassName) - .attr("transform", "translate(" + m + ",0.5)"), - t - .select("g." + d.grabberMaxClassName) - .attr("transform", "translate(" + v + ",0.5)")); - })(s, 0, r, l, u, _), - "bottom" === r.side && - c.draw(t, r._id + "title", { - propContainer: r, - propName: r._name + ".title", - placeholder: e._dfltTitle.x, - attributes: { - x: r._offset + r._length / 2, - y: - D + - l._height + - l._offsetShift + - 10 + - 1.5 * r.titlefont.size, - "text-anchor": "middle", - }, - }), - a.autoMargin(t, l._id, { - x: T[0], - y: C, - l: 0, - r: 0, - t: 0, - b: l._height + M.b + S, - pad: d.extraPad + 2 * l._offsetShift, - })); - })); - }; - }, - { - "../../lib": 602, - "../../lib/setcursor": 622, - "../../plots/cartesian": 659, - "../../plots/cartesian/axes": 648, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "../titles": 567, - "./constants": 549, - d3: 130, - }, - ], - 552: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("./oppaxis_attributes"); - e.exports = { - moduleType: "component", - name: "rangeslider", - schema: { - subplots: { xaxis: { rangeslider: n.extendFlat({}, i, { yaxis: a }) } }, - }, - layoutAttributes: t("./attributes"), - handleDefaults: t("./defaults"), - calcAutorange: t("./calc_autorange"), - draw: t("./draw"), - }; - }, - { - "../../lib": 602, - "./attributes": 547, - "./calc_autorange": 548, - "./defaults": 550, - "./draw": 551, - "./oppaxis_attributes": 553, - }, - ], - 553: [ - function (t, e, r) { - "use strict"; - e.exports = { - _isSubplotObj: !0, - rangemode: { - valType: "enumerated", - values: ["auto", "fixed", "match"], - dflt: "match", - editType: "calc", - }, - range: { - valType: "info_array", - items: [ - { valType: "any", editType: "plot" }, - { valType: "any", editType: "plot" }, - ], - editType: "plot", - }, - editType: "calc", - }; - }, - {}, - ], - 554: [ - function (t, e, r) { - "use strict"; - var n = t("../annotations/attributes"), - i = t("../../traces/scatter/attributes").line, - a = t("../drawing/attributes").dash, - o = t("../../lib/extend").extendFlat; - e.exports = { - _isLinkedToArray: "shape", - visible: { - valType: "boolean", - dflt: !0, - editType: "calcIfAutorange+arraydraw", - }, - type: { - valType: "enumerated", - values: ["circle", "rect", "path", "line"], - editType: "calcIfAutorange+arraydraw", - }, - layer: { - valType: "enumerated", - values: ["below", "above"], - dflt: "above", - editType: "arraydraw", - }, - xref: o({}, n.xref, {}), - xsizemode: { - valType: "enumerated", - values: ["scaled", "pixel"], - dflt: "scaled", - editType: "calcIfAutorange+arraydraw", - }, - xanchor: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - x0: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - x1: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - yref: o({}, n.yref, {}), - ysizemode: { - valType: "enumerated", - values: ["scaled", "pixel"], - dflt: "scaled", - editType: "calcIfAutorange+arraydraw", - }, - yanchor: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - y0: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - y1: { valType: "any", editType: "calcIfAutorange+arraydraw" }, - path: { valType: "string", editType: "calcIfAutorange+arraydraw" }, - opacity: { - valType: "number", - min: 0, - max: 1, - dflt: 1, - editType: "arraydraw", - }, - line: { - color: o({}, i.color, { editType: "arraydraw" }), - width: o({}, i.width, { editType: "calcIfAutorange+arraydraw" }), - dash: o({}, a, { editType: "arraydraw" }), - editType: "calcIfAutorange+arraydraw", - }, - fillcolor: { - valType: "color", - dflt: "rgba(0,0,0,0)", - editType: "arraydraw", - }, - editType: "arraydraw", - }; - }, - { - "../../lib/extend": 591, - "../../traces/scatter/attributes": 926, - "../annotations/attributes": 457, - "../drawing/attributes": 498, - }, - ], - 555: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("./constants"), - o = t("./helpers"); - function s(t) { - return c(t.line.width, t.xsizemode, t.x0, t.x1, t.path, !1); - } - function l(t) { - return c(t.line.width, t.ysizemode, t.y0, t.y1, t.path, !0); - } - function c(t, e, r, i, o, s) { - var l = t / 2, - c = s; - if ("pixel" === e) { - var u = o - ? (function (t, e) { - var r = []; - return ( - t.match(a.segmentRE).forEach(function (t) { - var n = e[t.charAt(0)].drawn; - if (void 0 !== n) { - var i = t.substr(1).match(a.paramRE); - !i || i.length < n || r.push(i[n]); - } - }), - r - ); - })(o, s ? a.paramIsY : a.paramIsX) - : [r, i], - f = n.aggNums(Math.max, null, u), - h = n.aggNums(Math.min, null, u), - p = h < 0 ? Math.abs(h) + l : l, - d = f > 0 ? f + l : l; - return { ppad: l, ppadplus: c ? p : d, ppadminus: c ? d : p }; - } - return { ppad: l }; - } - function u(t, e, r, n, i) { - var s = "category" === t.type ? t.r2c : t.d2c; - if (void 0 !== e) return [s(e), s(r)]; - if (n) { - var l, - c, - u, - f, - h = 1 / 0, - p = -1 / 0, - d = n.match(a.segmentRE); - for ("date" === t.type && (s = o.decodeDate(s)), l = 0; l < d.length; l++) - void 0 !== (c = i[d[l].charAt(0)].drawn) && - (!(u = d[l].substr(1).match(a.paramRE)) || - u.length < c || - ((f = s(u[c])) < h && (h = f), f > p && (p = f))); - return p >= h ? [h, p] : void 0; - } - } - e.exports = function (t) { - var e = t._fullLayout, - r = n.filterVisible(e.shapes); - if (r.length && t._fullData.length) - for (var o = 0; o < r.length; o++) { - var c, - f, - h = r[o]; - if ("paper" !== h.xref) { - var p = "pixel" === h.xsizemode ? h.xanchor : h.x0, - d = "pixel" === h.xsizemode ? h.xanchor : h.x1; - (f = u((c = i.getFromId(t, h.xref)), p, d, h.path, a.paramIsX)) && - i.expand(c, f, s(h)); - } - if ("paper" !== h.yref) { - var g = "pixel" === h.ysizemode ? h.yanchor : h.y0, - m = "pixel" === h.ysizemode ? h.yanchor : h.y1; - (f = u((c = i.getFromId(t, h.yref)), g, m, h.path, a.paramIsY)) && - i.expand(c, f, l(h)); - } - } - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "./constants": 556, - "./helpers": 559, - }, - ], - 556: [ - function (t, e, r) { - "use strict"; - e.exports = { - segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g, - paramRE: /[^\s,]+/g, - paramIsX: { - M: { 0: !0, drawn: 0 }, - L: { 0: !0, drawn: 0 }, - H: { 0: !0, drawn: 0 }, - V: {}, - Q: { 0: !0, 2: !0, drawn: 2 }, - C: { 0: !0, 2: !0, 4: !0, drawn: 4 }, - T: { 0: !0, drawn: 0 }, - S: { 0: !0, 2: !0, drawn: 2 }, - Z: {}, - }, - paramIsY: { - M: { 1: !0, drawn: 1 }, - L: { 1: !0, drawn: 1 }, - H: {}, - V: { 0: !0, drawn: 0 }, - Q: { 1: !0, 3: !0, drawn: 3 }, - C: { 1: !0, 3: !0, 5: !0, drawn: 5 }, - T: { 1: !0, drawn: 1 }, - S: { 1: !0, 3: !0, drawn: 5 }, - Z: {}, - }, - numParams: { M: 2, L: 2, H: 1, V: 1, Q: 4, C: 6, T: 2, S: 4, Z: 0 }, - }; - }, - {}, - ], - 557: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/array_container_defaults"), - i = t("./shape_defaults"); - e.exports = function (t, e) { - n(t, e, { name: "shapes", handleItemDefaults: i }); - }; - }, - { "../../plots/array_container_defaults": 644, "./shape_defaults": 561 }, - ], - 558: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../plots/cartesian/axes"), - o = t("../color"), - s = t("../drawing"), - l = t("../dragelement"), - c = t("../../lib/setcursor"), - u = t("./constants"), - f = t("./helpers"); - function h(t, e) { - t._fullLayout._paperdiv - .selectAll('.shapelayer [data-index="' + e + '"]') - .remove(); - var r = (t.layout.shapes || [])[e], - i = t._fullLayout.shapes[e]; - if (r && !1 !== i.visible) - if ("below" !== i.layer) h(t._fullLayout._shapeUpperLayer); - else if ("paper" === i.xref || "paper" === i.yref) - h(t._fullLayout._shapeLowerLayer); - else { - var u = t._fullLayout._plots[i.xref + i.yref]; - if (u) h((u.mainplotinfo || u).shapelayer); - else h(t._fullLayout._shapeLowerLayer); - } - function h(r) { - var u = { "data-index": e, "fill-rule": "evenodd", d: p(t, i) }, - h = i.line.width ? i.line.color : "rgba(0,0,0,0)", - g = r - .append("path") - .attr(u) - .style("opacity", i.opacity) - .call(o.stroke, h) - .call(o.fill, i.fillcolor) - .call(s.dashLine, i.line.dash, i.line.width), - m = (i.xref + i.yref).replace(/paper/g, ""); - (g.call(s.setClipUrl, m ? "clip" + t._fullLayout._uid + m : null), - t._context.edits.shapePosition && - (function (t, e, r, i) { - var o, - s, - u, - h, - g, - m, - v, - y, - x, - b, - _, - w, - k, - M, - A, - T, - S, - C, - E, - L, - z, - P, - D, - O, - I, - R, - B, - F, - N, - j, - V, - U, - q, - H, - G = 10, - W = 10, - Y = "pixel" === r.xsizemode, - X = "pixel" === r.ysizemode, - Z = { - element: e.node(), - gd: t, - prepFn: function (e) { - ((F = a.getFromId(t, r.xref)), - (N = a.getFromId(t, r.yref)), - (j = f.getDataToPixel(t, F)), - (V = f.getDataToPixel(t, N, !0)), - (U = f.getPixelToData(t, F)), - (q = f.getPixelToData(t, N, !0))); - var n = "shapes[" + i + "]"; - Y && ((m = j(r.xanchor)), (w = n + ".xanchor")); - X && ((v = V(r.yanchor)), (k = n + ".yanchor")); - "path" === r.type - ? ((R = r.path), (B = n + ".path")) - : ((s = Y ? r.x0 : j(r.x0)), - (u = X ? r.y0 : V(r.y0)), - (h = Y ? r.x1 : j(r.x1)), - (g = X ? r.y1 : V(r.y1)), - (y = n + ".x0"), - (x = n + ".y0"), - (b = n + ".x1"), - (_ = n + ".y1")); - s < h - ? ((T = s), - (L = n + ".x0"), - (O = "x0"), - (S = h), - (z = n + ".x1"), - (I = "x1")) - : ((T = h), - (L = n + ".x1"), - (O = "x1"), - (S = s), - (z = n + ".x0"), - (I = "x0")); - (!X && u < g) || (X && u > g) - ? ((M = u), - (C = n + ".y0"), - (P = "y0"), - (A = g), - (E = n + ".y1"), - (D = "y1")) - : ((M = g), - (C = n + ".y1"), - (P = "y1"), - (A = u), - (E = n + ".y0"), - (D = "y0")); - ((o = {}), J(e), (Z.moveFn = "move" === H ? K : Q)); - }, - doneFn: function () { - (c(e), n.call("relayout", t, o)); - }, - }; - function J(t) { - var r = Z.element.getBoundingClientRect(), - n = r.right - r.left, - i = r.bottom - r.top, - a = t.clientX - r.left, - o = t.clientY - r.top, - s = - n > G && i > W && !t.shiftKey - ? l.getCursor(a / n, 1 - o / i) - : "move"; - (c(e, s), (H = s.split("-")[0])); - } - function K(n, i) { - if ("path" === r.type) { - var a = function (t) { - return t; - }, - l = a, - c = a; - (Y - ? (o[w] = r.xanchor = U(m + n)) - : ((l = function (t) { - return U(j(t) + n); - }), - F && "date" === F.type && (l = f.encodeDate(l))), - X - ? (o[k] = r.yanchor = q(v + i)) - : ((c = function (t) { - return q(V(t) + i); - }), - N && "date" === N.type && (c = f.encodeDate(c))), - (r.path = d(R, l, c)), - (o[B] = r.path)); - } else - (Y - ? (o[w] = r.xanchor = U(m + n)) - : ((o[y] = r.x0 = U(s + n)), (o[b] = r.x1 = U(h + n))), - X - ? (o[k] = r.yanchor = q(v + i)) - : ((o[x] = r.y0 = q(u + i)), (o[_] = r.y1 = q(g + i)))); - e.attr("d", p(t, r)); - } - function Q(n, i) { - if ("path" === r.type) { - var a = function (t) { - return t; - }, - s = a, - l = a; - (Y - ? (o[w] = r.xanchor = U(m + n)) - : ((s = function (t) { - return U(j(t) + n); - }), - F && "date" === F.type && (s = f.encodeDate(s))), - X - ? (o[k] = r.yanchor = q(v + i)) - : ((l = function (t) { - return q(V(t) + i); - }), - N && "date" === N.type && (l = f.encodeDate(l))), - (r.path = d(R, s, l)), - (o[B] = r.path)); - } else { - var c = ~H.indexOf("n") ? M + i : M, - u = ~H.indexOf("s") ? A + i : A, - h = ~H.indexOf("w") ? T + n : T, - g = ~H.indexOf("e") ? S + n : S; - (~H.indexOf("n") && X && (c = M - i), - ~H.indexOf("s") && X && (u = A - i), - ((!X && u - c > W) || (X && c - u > W)) && - ((o[C] = r[P] = X ? c : q(c)), - (o[E] = r[D] = X ? u : q(u))), - g - h > G && - ((o[L] = r[O] = Y ? h : U(h)), - (o[z] = r[I] = Y ? g : U(g)))); - } - e.attr("d", p(t, r)); - } - (l.init(Z), (e.node().onmousemove = J)); - })(t, g, i, e)); - } - } - function p(t, e) { - var r, - n, - o, - s, - l, - c, - h, - p, - d = e.type, - g = a.getFromId(t, e.xref), - m = a.getFromId(t, e.yref), - v = t._fullLayout._size; - if ( - (g - ? ((r = f.shapePositionToRange(g)), - (n = function (t) { - return g._offset + g.r2p(r(t, !0)); - })) - : (n = function (t) { - return v.l + v.w * t; - }), - m - ? ((o = f.shapePositionToRange(m)), - (s = function (t) { - return m._offset + m.r2p(o(t, !0)); - })) - : (s = function (t) { - return v.t + v.h * (1 - t); - }), - "path" === d) - ) - return ( - g && "date" === g.type && (n = f.decodeDate(n)), - m && "date" === m.type && (s = f.decodeDate(s)), - (function (t, e, r) { - var n = t.path, - a = t.xsizemode, - o = t.ysizemode, - s = t.xanchor, - l = t.yanchor; - return n.replace(u.segmentRE, function (t) { - var n = 0, - c = t.charAt(0), - f = u.paramIsX[c], - h = u.paramIsY[c], - p = u.numParams[c], - d = t.substr(1).replace(u.paramRE, function (t) { - return ( - f[n] - ? (t = "pixel" === a ? e(s) + Number(t) : e(t)) - : h[n] && (t = "pixel" === o ? r(l) - Number(t) : r(t)), - ++n > p && (t = "X"), - t - ); - }); - return ( - n > p && - ((d = d.replace(/[\s,]*X.*/, "")), - i.log("Ignoring extra params in segment " + t)), - c + d - ); - }); - })(e, n, s) - ); - if ("pixel" === e.xsizemode) { - var y = n(e.xanchor); - ((l = y + e.x0), (c = y + e.x1)); - } else ((l = n(e.x0)), (c = n(e.x1))); - if ("pixel" === e.ysizemode) { - var x = s(e.yanchor); - ((h = x - e.y0), (p = x - e.y1)); - } else ((h = s(e.y0)), (p = s(e.y1))); - if ("line" === d) return "M" + l + "," + h + "L" + c + "," + p; - if ("rect" === d) - return "M" + l + "," + h + "H" + c + "V" + p + "H" + l + "Z"; - var b = (l + c) / 2, - _ = (h + p) / 2, - w = Math.abs(b - l), - k = Math.abs(_ - h), - M = "A" + w + "," + k, - A = b + w + "," + _; - return ( - "M" + A + M + " 0 1,1 " + (b + "," + (_ - k)) + M + " 0 0,1 " + A + "Z" - ); - } - function d(t, e, r) { - return t.replace(u.segmentRE, function (t) { - var n = 0, - i = t.charAt(0), - a = u.paramIsX[i], - o = u.paramIsY[i], - s = u.numParams[i]; - return ( - i + - t.substr(1).replace(u.paramRE, function (t) { - return n >= s ? t : (a[n] ? (t = e(t)) : o[n] && (t = r(t)), n++, t); - }) - ); - }); - } - e.exports = { - draw: function (t) { - var e = t._fullLayout; - for (var r in (e._shapeUpperLayer.selectAll("path").remove(), - e._shapeLowerLayer.selectAll("path").remove(), - e._plots)) { - var n = e._plots[r].shapelayer; - n && n.selectAll("path").remove(); - } - for (var i = 0; i < e.shapes.length; i++) e.shapes[i].visible && h(t, i); - }, - drawOne: h, - }; - }, - { - "../../lib": 602, - "../../lib/setcursor": 622, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "../color": 474, - "../dragelement": 496, - "../drawing": 499, - "./constants": 556, - "./helpers": 559, - }, - ], - 559: [ - function (t, e, r) { - "use strict"; - ((r.rangeToShapePosition = function (t) { - return "log" === t.type - ? t.r2d - : function (t) { - return t; - }; - }), - (r.shapePositionToRange = function (t) { - return "log" === t.type - ? t.d2r - : function (t) { - return t; - }; - }), - (r.decodeDate = function (t) { - return function (e) { - return (e.replace && (e = e.replace("_", " ")), t(e)); - }; - }), - (r.encodeDate = function (t) { - return function (e) { - return t(e).replace(" ", "_"); - }; - }), - (r.getDataToPixel = function (t, e, n) { - var i, - a = t._fullLayout._size; - if (e) { - var o = r.shapePositionToRange(e); - ((i = function (t) { - return e._offset + e.r2p(o(t, !0)); - }), - "date" === e.type && (i = r.decodeDate(i))); - } else - i = n - ? function (t) { - return a.t + a.h * (1 - t); - } - : function (t) { - return a.l + a.w * t; - }; - return i; - }), - (r.getPixelToData = function (t, e, n) { - var i, - a = t._fullLayout._size; - if (e) { - var o = r.rangeToShapePosition(e); - i = function (t) { - return o(e.p2r(t - e._offset)); - }; - } else - i = n - ? function (t) { - return 1 - (t - a.t) / a.h; - } - : function (t) { - return (t - a.l) / a.w; - }; - return i; - })); - }, - {}, - ], - 560: [ - function (t, e, r) { - "use strict"; - var n = t("./draw"); - e.exports = { - moduleType: "component", - name: "shapes", - layoutAttributes: t("./attributes"), - supplyLayoutDefaults: t("./defaults"), - includeBasePlot: t("../../plots/cartesian/include_components")("shapes"), - calcAutorange: t("./calc_autorange"), - draw: n.draw, - drawOne: n.drawOne, - }; - }, - { - "../../plots/cartesian/include_components": 658, - "./attributes": 554, - "./calc_autorange": 555, - "./defaults": 557, - "./draw": 558, - }, - ], - 561: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("./attributes"), - o = t("./helpers"); - e.exports = function (t, e, r, s, l) { - function c(r, i) { - return n.coerce(t, e, a, r, i); - } - if (((s = s || {}), !c("visible", !(l = l || {}).itemIsNotPlainObject))) - return e; - (c("layer"), - c("opacity"), - c("fillcolor"), - c("line.color"), - c("line.width"), - c("line.dash")); - for ( - var u = c("type", t.path ? "path" : "rect"), - f = c("xsizemode"), - h = c("ysizemode"), - p = ["x", "y"], - d = 0; - d < 2; - d++ - ) { - var g, - m, - v, - y = p[d], - x = y + "anchor", - b = "x" === y ? f : h, - _ = { _fullLayout: r }, - w = i.coerceRef(t, e, _, y, "", "paper"); - if ( - ("paper" !== w - ? ((g = i.getFromId(_, w)), - (v = o.rangeToShapePosition(g)), - (m = o.shapePositionToRange(g))) - : (m = v = n.identity), - "path" !== u) - ) { - var k = y + "0", - M = y + "1", - A = t[k], - T = t[M]; - ((t[k] = m(t[k], !0)), - (t[M] = m(t[M], !0)), - "pixel" === b - ? (c(k, 0), c(M, 10)) - : (i.coercePosition(e, _, c, w, k, 0.25), - i.coercePosition(e, _, c, w, M, 0.75)), - (e[k] = v(e[k])), - (e[M] = v(e[M])), - (t[k] = A), - (t[M] = T)); - } - if ("pixel" === b) { - var S = t[x]; - ((t[x] = m(t[x], !0)), - i.coercePosition(e, _, c, w, x, 0.25), - (e[x] = v(e[x])), - (t[x] = S)); - } - } - return ( - "path" === u ? c("path") : n.noneOrAll(t, e, ["x0", "x1", "y0", "y1"]), - e - ); - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "./attributes": 554, - "./helpers": 559, - }, - ], - 562: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../../plots/pad_attributes"), - a = t("../../lib/extend").extendDeepAll, - o = t("../../plot_api/edit_types").overrideAll, - s = t("../../plots/animation_attributes"), - l = t("./constants"); - e.exports = o( - { - _isLinkedToArray: "slider", - visible: { valType: "boolean", dflt: !0 }, - active: { valType: "number", min: 0, dflt: 0 }, - steps: { - _isLinkedToArray: "step", - method: { - valType: "enumerated", - values: ["restyle", "relayout", "animate", "update", "skip"], - dflt: "restyle", - }, - args: { - valType: "info_array", - freeLength: !0, - items: [{ valType: "any" }, { valType: "any" }, { valType: "any" }], - }, - label: { valType: "string" }, - value: { valType: "string" }, - execute: { valType: "boolean", dflt: !0 }, - }, - lenmode: { - valType: "enumerated", - values: ["fraction", "pixels"], - dflt: "fraction", - }, - len: { valType: "number", min: 0, dflt: 1 }, - x: { valType: "number", min: -2, max: 3, dflt: 0 }, - pad: a({}, i, {}, { t: { dflt: 20 } }), - xanchor: { - valType: "enumerated", - values: ["auto", "left", "center", "right"], - dflt: "left", - }, - y: { valType: "number", min: -2, max: 3, dflt: 0 }, - yanchor: { - valType: "enumerated", - values: ["auto", "top", "middle", "bottom"], - dflt: "top", - }, - transition: { - duration: { valType: "number", min: 0, dflt: 150 }, - easing: { - valType: "enumerated", - values: s.transition.easing.values, - dflt: "cubic-in-out", - }, - }, - currentvalue: { - visible: { valType: "boolean", dflt: !0 }, - xanchor: { - valType: "enumerated", - values: ["left", "center", "right"], - dflt: "left", - }, - offset: { valType: "number", dflt: 10 }, - prefix: { valType: "string" }, - suffix: { valType: "string" }, - font: n({}), - }, - font: n({}), - activebgcolor: { valType: "color", dflt: l.gripBgActiveColor }, - bgcolor: { valType: "color", dflt: l.railBgColor }, - bordercolor: { valType: "color", dflt: l.railBorderColor }, - borderwidth: { valType: "number", min: 0, dflt: l.railBorderWidth }, - ticklen: { valType: "number", min: 0, dflt: l.tickLength }, - tickcolor: { valType: "color", dflt: l.tickColor }, - tickwidth: { valType: "number", min: 0, dflt: 1 }, - minorticklen: { valType: "number", min: 0, dflt: l.minorTickLength }, - }, - "arraydraw", - "from-root", - ); - }, - { - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/animation_attributes": 643, - "../../plots/font_attributes": 674, - "../../plots/pad_attributes": 709, - "./constants": 563, - }, - ], - 563: [ - function (t, e, r) { - "use strict"; - e.exports = { - name: "sliders", - containerClassName: "slider-container", - groupClassName: "slider-group", - inputAreaClass: "slider-input-area", - railRectClass: "slider-rail-rect", - railTouchRectClass: "slider-rail-touch-rect", - gripRectClass: "slider-grip-rect", - tickRectClass: "slider-tick-rect", - inputProxyClass: "slider-input-proxy", - labelsClass: "slider-labels", - labelGroupClass: "slider-label-group", - labelClass: "slider-label", - currentValueClass: "slider-current-value", - railHeight: 5, - menuIndexAttrName: "slider-active-index", - autoMarginIdRoot: "slider-", - minWidth: 30, - minHeight: 30, - textPadX: 40, - arrowOffsetX: 4, - railRadius: 2, - railWidth: 5, - railBorder: 4, - railBorderWidth: 1, - railBorderColor: "#bec8d9", - railBgColor: "#f8fafc", - railInset: 8, - stepInset: 10, - gripRadius: 10, - gripWidth: 20, - gripHeight: 20, - gripBorder: 20, - gripBorderWidth: 1, - gripBorderColor: "#bec8d9", - gripBgColor: "#f6f8fa", - gripBgActiveColor: "#dbdde0", - labelPadding: 8, - labelOffset: 0, - tickWidth: 1, - tickColor: "#333", - tickOffset: 25, - tickLength: 7, - minorTickOffset: 25, - minorTickColor: "#333", - minorTickLength: 4, - currentValuePadding: 8, - currentValueInset: 0, - }; - }, - {}, - ], - 564: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/array_container_defaults"), - a = t("./attributes"), - o = t("./constants").name, - s = a.steps; - function l(t, e, r) { - function i(r, i) { - return n.coerce(t, e, a, r, i); - } - i( - "visible", - (function (t, e) { - var r, - i, - a = t.steps || [], - o = (e.steps = []); - function l(t, e) { - return n.coerce(r, i, s, t, e); - } - for (var c = 0; c < a.length; c++) - ((r = a[c]), - (i = {}), - l("method"), - n.isPlainObject(r) && - ("skip" === i.method || Array.isArray(r.args)) && - (l("args"), - l("label", "step-" + c), - l("value", i.label), - l("execute"), - o.push(i))); - return o; - })(t, e).length > 0, - ) && - (i("active"), - i("x"), - i("y"), - n.noneOrAll(t, e, ["x", "y"]), - i("xanchor"), - i("yanchor"), - i("len"), - i("lenmode"), - i("pad.t"), - i("pad.r"), - i("pad.b"), - i("pad.l"), - n.coerceFont(i, "font", r.font), - i("currentvalue.visible") && - (i("currentvalue.xanchor"), - i("currentvalue.prefix"), - i("currentvalue.suffix"), - i("currentvalue.offset"), - n.coerceFont(i, "currentvalue.font", e.font)), - i("transition.duration"), - i("transition.easing"), - i("bgcolor"), - i("activebgcolor"), - i("bordercolor"), - i("borderwidth"), - i("ticklen"), - i("tickwidth"), - i("tickcolor"), - i("minorticklen")); - } - e.exports = function (t, e) { - i(t, e, { name: o, handleItemDefaults: l }); - }; - }, - { - "../../lib": 602, - "../../plots/array_container_defaults": 644, - "./attributes": 562, - "./constants": 563, - }, - ], - 565: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../plots/plots"), - a = t("../color"), - o = t("../drawing"), - s = t("../../lib"), - l = t("../../lib/svg_text_utils"), - c = t("../legend/anchor_utils"), - u = t("./constants"), - f = t("../../constants/alignment"), - h = f.LINE_SPACING, - p = f.FROM_TL, - d = f.FROM_BR; - function g(t) { - return t._index; - } - function m(t, e) { - var r = o.tester.selectAll("g." + u.labelGroupClass).data(e.steps); - r.enter().append("g").classed(u.labelGroupClass, !0); - var a = 0, - s = 0; - (r.each(function (t) { - var r = x(n.select(this), { step: t }, e).node(); - if (r) { - var i = o.bBox(r); - ((s = Math.max(s, i.height)), (a = Math.max(a, i.width))); - } - }), - r.remove()); - var f = (e._dims = {}); - f.inputAreaWidth = Math.max(u.railWidth, u.gripHeight); - var h = t._fullLayout._size; - ((f.lx = h.l + h.w * e.x), - (f.ly = h.t + h.h * (1 - e.y)), - "fraction" === e.lenmode - ? (f.outerLength = Math.round(h.w * e.len)) - : (f.outerLength = e.len), - (f.inputAreaStart = 0), - (f.inputAreaLength = Math.round(f.outerLength - e.pad.l - e.pad.r))); - var g = (f.inputAreaLength - 2 * u.stepInset) / (e.steps.length - 1), - m = a + u.labelPadding; - if ( - ((f.labelStride = Math.max(1, Math.ceil(m / g))), - (f.labelHeight = s), - (f.currentValueMaxWidth = 0), - (f.currentValueHeight = 0), - (f.currentValueTotalHeight = 0), - (f.currentValueMaxLines = 1), - e.currentvalue.visible) - ) { - var y = o.tester.append("g"); - (r.each(function (t) { - var r = v(y, e, t.label), - n = (r.node() && o.bBox(r.node())) || { width: 0, height: 0 }, - i = l.lineCount(r); - ((f.currentValueMaxWidth = Math.max( - f.currentValueMaxWidth, - Math.ceil(n.width), - )), - (f.currentValueHeight = Math.max( - f.currentValueHeight, - Math.ceil(n.height), - )), - (f.currentValueMaxLines = Math.max(f.currentValueMaxLines, i))); - }), - (f.currentValueTotalHeight = - f.currentValueHeight + e.currentvalue.offset), - y.remove()); - } - f.height = - f.currentValueTotalHeight + - u.tickOffset + - e.ticklen + - u.labelOffset + - f.labelHeight + - e.pad.t + - e.pad.b; - var b = "left"; - (c.isRightAnchor(e) && ((f.lx -= f.outerLength), (b = "right")), - c.isCenterAnchor(e) && ((f.lx -= f.outerLength / 2), (b = "center"))); - var _ = "top"; - (c.isBottomAnchor(e) && ((f.ly -= f.height), (_ = "bottom")), - c.isMiddleAnchor(e) && ((f.ly -= f.height / 2), (_ = "middle")), - (f.outerLength = Math.ceil(f.outerLength)), - (f.height = Math.ceil(f.height)), - (f.lx = Math.round(f.lx)), - (f.ly = Math.round(f.ly)), - i.autoMargin(t, u.autoMarginIdRoot + e._index, { - x: e.x, - y: e.y, - l: f.outerLength * p[b], - r: f.outerLength * d[b], - b: f.height * d[_], - t: f.height * p[_], - })); - } - function v(t, e, r) { - if (e.currentvalue.visible) { - var n, - i, - a = e._dims; - switch (e.currentvalue.xanchor) { - case "right": - ((n = - a.inputAreaLength - u.currentValueInset - a.currentValueMaxWidth), - (i = "left")); - break; - case "center": - ((n = 0.5 * a.inputAreaLength), (i = "middle")); - break; - default: - ((n = u.currentValueInset), (i = "left")); - } - var c = s.ensureSingle(t, "text", u.labelClass, function (t) { - t.classed("user-select-none", !0).attr({ - "text-anchor": i, - "data-notex": 1, - }); - }), - f = e.currentvalue.prefix ? e.currentvalue.prefix : ""; - if ("string" == typeof r) f += r; - else f += e.steps[e.active].label; - (e.currentvalue.suffix && (f += e.currentvalue.suffix), - c - .call(o.font, e.currentvalue.font) - .text(f) - .call(l.convertToTspans, e._gd)); - var p = l.lineCount(c), - d = (a.currentValueMaxLines + 1 - p) * e.currentvalue.font.size * h; - return (l.positionText(c, n, d), c); - } - } - function y(t, e, r) { - s.ensureSingle(t, "rect", u.gripRectClass, function (n) { - n.call(k, e, t, r).style("pointer-events", "all"); - }) - .attr({ - width: u.gripWidth, - height: u.gripHeight, - rx: u.gripRadius, - ry: u.gripRadius, - }) - .call(a.stroke, r.bordercolor) - .call(a.fill, r.bgcolor) - .style("stroke-width", r.borderwidth + "px"); - } - function x(t, e, r) { - var n = s.ensureSingle(t, "text", u.labelClass, function (t) { - t.classed("user-select-none", !0).attr({ - "text-anchor": "middle", - "data-notex": 1, - }); - }); - return ( - n.call(o.font, r.font).text(e.step.label).call(l.convertToTspans, r._gd), - n - ); - } - function b(t, e) { - var r = s.ensureSingle(t, "g", u.labelsClass), - i = e._dims, - a = r.selectAll("g." + u.labelGroupClass).data(i.labelSteps); - (a.enter().append("g").classed(u.labelGroupClass, !0), - a.exit().remove(), - a.each(function (t) { - var r = n.select(this); - (r.call(x, t, e), - o.setTranslate( - r, - T(e, t.fraction), - u.tickOffset + - e.ticklen + - e.font.size * h + - u.labelOffset + - i.currentValueTotalHeight, - )); - })); - } - function _(t, e, r, n, i) { - var a = Math.round(n * (r.steps.length - 1)); - a !== r.active && w(t, e, r, a, !0, i); - } - function w(t, e, r, n, a, o) { - var s = r.active; - r._input.active = r.active = n; - var l = r.steps[r.active]; - (e.call(A, r, r.active / (r.steps.length - 1), o), - e.call(v, r), - t.emit("plotly_sliderchange", { - slider: r, - step: r.steps[r.active], - interaction: a, - previousActive: s, - }), - l && - l.method && - a && - (e._nextMethod - ? ((e._nextMethod.step = l), - (e._nextMethod.doCallback = a), - (e._nextMethod.doTransition = o)) - : ((e._nextMethod = { step: l, doCallback: a, doTransition: o }), - (e._nextMethodRaf = window.requestAnimationFrame(function () { - var r = e._nextMethod.step; - r.method && - (r.execute && i.executeAPICommand(t, r.method, r.args), - (e._nextMethod = null), - (e._nextMethodRaf = null)); - }))))); - } - function k(t, e, r) { - var i = r.node(), - o = n.select(e); - function s() { - return r.data()[0]; - } - t.on("mousedown", function () { - var t = s(); - e.emit("plotly_sliderstart", { slider: t }); - var l = r.select("." + u.gripRectClass); - (n.event.stopPropagation(), - n.event.preventDefault(), - l.call(a.fill, t.activebgcolor)); - var c = S(t, n.mouse(i)[0]); - (_(e, r, t, c, !0), - (t._dragging = !0), - o.on("mousemove", function () { - var t = s(), - a = S(t, n.mouse(i)[0]); - _(e, r, t, a, !1); - }), - o.on("mouseup", function () { - var t = s(); - ((t._dragging = !1), - l.call(a.fill, t.bgcolor), - o.on("mouseup", null), - o.on("mousemove", null), - e.emit("plotly_sliderend", { slider: t, step: t.steps[t.active] })); - })); - }); - } - function M(t, e) { - var r = t.selectAll("rect." + u.tickRectClass).data(e.steps), - i = e._dims; - (r.enter().append("rect").classed(u.tickRectClass, !0), - r.exit().remove(), - r.attr({ width: e.tickwidth + "px", "shape-rendering": "crispEdges" }), - r.each(function (t, r) { - var s = r % i.labelStride == 0, - l = n.select(this); - (l - .attr({ height: s ? e.ticklen : e.minorticklen }) - .call(a.fill, e.tickcolor), - o.setTranslate( - l, - T(e, r / (e.steps.length - 1)) - 0.5 * e.tickwidth, - (s ? u.tickOffset : u.minorTickOffset) + i.currentValueTotalHeight, - )); - })); - } - function A(t, e, r, n) { - var i = t.select("rect." + u.gripRectClass), - a = T(e, r); - if (!e._invokingCommand) { - var o = i; - (n && - e.transition.duration > 0 && - (o = o - .transition() - .duration(e.transition.duration) - .ease(e.transition.easing)), - o.attr( - "transform", - "translate(" + - (a - 0.5 * u.gripWidth) + - "," + - e._dims.currentValueTotalHeight + - ")", - )); - } - } - function T(t, e) { - var r = t._dims; - return ( - r.inputAreaStart + - u.stepInset + - (r.inputAreaLength - 2 * u.stepInset) * Math.min(1, Math.max(0, e)) - ); - } - function S(t, e) { - var r = t._dims; - return Math.min( - 1, - Math.max( - 0, - (e - u.stepInset - r.inputAreaStart) / - (r.inputAreaLength - 2 * u.stepInset - 2 * r.inputAreaStart), - ), - ); - } - function C(t, e, r) { - var n = r._dims, - i = s.ensureSingle(t, "rect", u.railTouchRectClass, function (n) { - n.call(k, e, t, r).style("pointer-events", "all"); - }); - (i - .attr({ - width: n.inputAreaLength, - height: Math.max( - n.inputAreaWidth, - u.tickOffset + r.ticklen + n.labelHeight, - ), - }) - .call(a.fill, r.bgcolor) - .attr("opacity", 0), - o.setTranslate(i, 0, n.currentValueTotalHeight)); - } - function E(t, e) { - var r = e._dims, - n = r.inputAreaLength - 2 * u.railInset, - i = s.ensureSingle(t, "rect", u.railRectClass); - (i - .attr({ - width: n, - height: u.railWidth, - rx: u.railRadius, - ry: u.railRadius, - "shape-rendering": "crispEdges", - }) - .call(a.stroke, e.bordercolor) - .call(a.fill, e.bgcolor) - .style("stroke-width", e.borderwidth + "px"), - o.setTranslate( - i, - u.railInset, - 0.5 * (r.inputAreaWidth - u.railWidth) + r.currentValueTotalHeight, - )); - } - e.exports = function (t) { - var e = t._fullLayout, - r = (function (t, e) { - for (var r = t[u.name], n = [], i = 0; i < r.length; i++) { - var a = r[i]; - a.visible && a.steps.length && ((a._gd = e), n.push(a)); - } - return n; - })(e, t), - a = e._infolayer - .selectAll("g." + u.containerClassName) - .data(r.length > 0 ? [0] : []); - if ( - (a - .enter() - .append("g") - .classed(u.containerClassName, !0) - .style("cursor", "ew-resize"), - a.exit().remove(), - a.exit().size() && - (function (t) { - for ( - var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; - n < r.length; - n++ - ) { - var a = r[n]; - -1 !== a.indexOf(u.autoMarginIdRoot) && i.autoMargin(t, a); - } - })(t), - 0 !== r.length) - ) { - var s = a.selectAll("g." + u.groupClassName).data(r, g); - (s.enter().append("g").classed(u.groupClassName, !0), - s.exit().each(function (e) { - (n.select(this).remove(), - e._commandObserver.remove(), - delete e._commandObserver, - i.autoMargin(t, u.autoMarginIdRoot + e._index)); - })); - for (var l = 0; l < r.length; l++) { - var c = r[l]; - m(t, c); - } - s.each(function (e) { - if (!(e.steps.length < 2)) { - var r = n.select(this); - (!(function (t) { - var e = t._dims; - e.labelSteps = []; - for (var r = t.steps.length, n = 0; n < r; n += e.labelStride) - e.labelSteps.push({ fraction: n / (r - 1), step: t.steps[n] }); - })(e), - i.manageCommandObserver(t, e, e.steps, function (e) { - var n = r.data()[0]; - n.active !== e.index && - (n._dragging || w(t, r, n, e.index, !1, !0)); - }), - (function (t, e, r) { - r.active >= r.steps.length && (r.active = 0); - e.call(v, r) - .call(E, r) - .call(b, r) - .call(M, r) - .call(C, t, r) - .call(y, t, r); - var n = r._dims; - (o.setTranslate(e, n.lx + r.pad.l, n.ly + r.pad.t), - e.call(A, r, r.active / (r.steps.length - 1), !1), - e.call(v, r)); - })(t, n.select(this), e)); - } - }); - } - }; - }, - { - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/plots": 710, - "../color": 474, - "../drawing": 499, - "../legend/anchor_utils": 526, - "./constants": 563, - d3: 130, - }, - ], - 566: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"); - e.exports = { - moduleType: "component", - name: n.name, - layoutAttributes: t("./attributes"), - supplyLayoutDefaults: t("./defaults"), - draw: t("./draw"), - }; - }, - { "./attributes": 562, "./constants": 563, "./defaults": 564, "./draw": 565 }, - ], - 567: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../../plots/plots"), - o = t("../../registry"), - s = t("../../lib"), - l = t("../drawing"), - c = t("../color"), - u = t("../../lib/svg_text_utils"), - f = t("../../constants/interactions"); - e.exports = { - draw: function (t, e, r) { - var p, - d = r.propContainer, - g = r.propName, - m = r.placeholder, - v = r.traceIndex, - y = r.avoid || {}, - x = r.attributes, - b = r.transform, - _ = r.containerGroup, - w = t._fullLayout, - k = d.titlefont || {}, - M = k.family, - A = k.size, - T = k.color, - S = 1, - C = !1, - E = (d.title || "").trim(); - "title" === g - ? (p = "titleText") - : -1 !== g.indexOf("axis") - ? (p = "axisTitleText") - : g.indexOf(!0) && (p = "colorbarTitleText"); - var L = t._context.edits[p]; - "" === E - ? (S = 0) - : E.replace(h, " % ") === m.replace(h, " % ") && - ((S = 0.2), (C = !0), L || (E = "")); - var z = E || L; - _ || (_ = s.ensureSingle(w._infolayer, "g", "g-" + e)); - var P = _.selectAll("text").data(z ? [0] : []); - if ( - (P.enter().append("text"), - P.text(E).attr("class", e), - P.exit().remove(), - !z) - ) - return _; - function D(t) { - s.syncOrAsync([O, I], t); - } - function O(e) { - var r; - return ( - b - ? ((r = ""), - b.rotate && (r += "rotate(" + [b.rotate, x.x, x.y] + ")"), - b.offset && (r += "translate(0, " + b.offset + ")")) - : (r = null), - e.attr("transform", r), - e - .style({ - "font-family": M, - "font-size": n.round(A, 2) + "px", - fill: c.rgb(T), - opacity: S * c.opacity(T), - "font-weight": a.fontWeight, - }) - .attr(x) - .call(u.convertToTspans, t), - a.previousPromises(t) - ); - } - function I(t) { - var e = n.select(t.node().parentNode); - if (y && y.selection && y.side && E) { - e.attr("transform", null); - var r = 0, - a = { left: "right", right: "left", top: "bottom", bottom: "top" }[ - y.side - ], - o = -1 !== ["left", "top"].indexOf(y.side) ? -1 : 1, - c = i(y.pad) ? y.pad : 2, - u = l.bBox(e.node()), - f = { left: 0, top: 0, right: w.width, bottom: w.height }, - h = - y.maxShift || - (f[y.side] - u[y.side]) * - ("left" === y.side || "top" === y.side ? -1 : 1); - if (h < 0) r = h; - else { - var p = y.offsetLeft || 0, - d = y.offsetTop || 0; - ((u.left -= p), - (u.right -= p), - (u.top -= d), - (u.bottom -= d), - y.selection.each(function () { - var t = l.bBox(this); - s.bBoxIntersect(u, t, c) && - (r = Math.max(r, o * (t[y.side] - u[a]) + c)); - }), - (r = Math.min(h, r))); - } - if (r > 0 || h < 0) { - var g = { - left: [-r, 0], - right: [r, 0], - top: [0, -r], - bottom: [0, r], - }[y.side]; - e.attr("transform", "translate(" + g + ")"); - } - } - } - (P.call(D), - L && - (E - ? P.on(".opacity", null) - : ((S = 0), - (C = !0), - P.text(m) - .on("mouseover.opacity", function () { - n.select(this) - .transition() - .duration(f.SHOW_PLACEHOLDER) - .style("opacity", 1); - }) - .on("mouseout.opacity", function () { - n.select(this) - .transition() - .duration(f.HIDE_PLACEHOLDER) - .style("opacity", 0); - })), - P.call(u.makeEditable, { gd: t }) - .on("edit", function (e) { - void 0 !== v - ? o.call("restyle", t, g, e, v) - : o.call("relayout", t, g, e); - }) - .on("cancel", function () { - this.text(this.attr("data-unformatted")).call(D); - }) - .on("input", function (t) { - this.text(t || " ").call(u.positionText, x.x, x.y); - }))); - return (P.classed("js-placeholder", C), _); - }, - }; - var h = / [XY][0-9]* /; - }, - { - "../../constants/interactions": 578, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/plots": 710, - "../../registry": 732, - "../color": 474, - "../drawing": 499, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 568: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../color/attributes"), - a = t("../../lib/extend").extendFlat, - o = t("../../plot_api/edit_types").overrideAll, - s = t("../../plots/pad_attributes"); - e.exports = o( - { - _isLinkedToArray: "updatemenu", - _arrayAttrRegexps: [/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/], - visible: { valType: "boolean" }, - type: { - valType: "enumerated", - values: ["dropdown", "buttons"], - dflt: "dropdown", - }, - direction: { - valType: "enumerated", - values: ["left", "right", "up", "down"], - dflt: "down", - }, - active: { valType: "integer", min: -1, dflt: 0 }, - showactive: { valType: "boolean", dflt: !0 }, - buttons: { - _isLinkedToArray: "button", - method: { - valType: "enumerated", - values: ["restyle", "relayout", "animate", "update", "skip"], - dflt: "restyle", - }, - args: { - valType: "info_array", - freeLength: !0, - items: [{ valType: "any" }, { valType: "any" }, { valType: "any" }], - }, - label: { valType: "string", dflt: "" }, - execute: { valType: "boolean", dflt: !0 }, - }, - x: { valType: "number", min: -2, max: 3, dflt: -0.05 }, - xanchor: { - valType: "enumerated", - values: ["auto", "left", "center", "right"], - dflt: "right", - }, - y: { valType: "number", min: -2, max: 3, dflt: 1 }, - yanchor: { - valType: "enumerated", - values: ["auto", "top", "middle", "bottom"], - dflt: "top", - }, - pad: a({}, s, {}), - font: n({}), - bgcolor: { valType: "color" }, - bordercolor: { valType: "color", dflt: i.borderLine }, - borderwidth: { - valType: "number", - min: 0, - dflt: 1, - editType: "arraydraw", - }, - }, - "arraydraw", - "from-root", - ); - }, - { - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/font_attributes": 674, - "../../plots/pad_attributes": 709, - "../color/attributes": 473, - }, - ], - 569: [ - function (t, e, r) { - "use strict"; - e.exports = { - name: "updatemenus", - containerClassName: "updatemenu-container", - headerGroupClassName: "updatemenu-header-group", - headerClassName: "updatemenu-header", - headerArrowClassName: "updatemenu-header-arrow", - dropdownButtonGroupClassName: "updatemenu-dropdown-button-group", - dropdownButtonClassName: "updatemenu-dropdown-button", - buttonClassName: "updatemenu-button", - itemRectClassName: "updatemenu-item-rect", - itemTextClassName: "updatemenu-item-text", - menuIndexAttrName: "updatemenu-active-index", - autoMarginIdRoot: "updatemenu-", - blankHeaderOpts: { label: " " }, - minWidth: 30, - minHeight: 30, - textPadX: 24, - arrowPadX: 16, - rx: 2, - ry: 2, - textOffsetX: 12, - textOffsetY: 3, - arrowOffsetX: 4, - gapButtonHeader: 5, - gapButton: 2, - activeColor: "#F4FAFF", - hoverColor: "#F4FAFF", - arrowSymbol: { - left: "\u25c4", - right: "\u25ba", - up: "\u25b2", - down: "\u25bc", - }, - }; - }, - {}, - ], - 570: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/array_container_defaults"), - a = t("./attributes"), - o = t("./constants").name, - s = a.buttons; - function l(t, e, r) { - function i(r, i) { - return n.coerce(t, e, a, r, i); - } - i( - "visible", - (function (t, e) { - var r, - i, - a = t.buttons || [], - o = (e.buttons = []); - function l(t, e) { - return n.coerce(r, i, s, t, e); - } - for (var c = 0; c < a.length; c++) - ((r = a[c]), - (i = {}), - l("method"), - n.isPlainObject(r) && - ("skip" === i.method || Array.isArray(r.args)) && - (l("args"), l("label"), l("execute"), (i._index = c), o.push(i))); - return o; - })(t, e).length > 0, - ) && - (i("active"), - i("direction"), - i("type"), - i("showactive"), - i("x"), - i("y"), - n.noneOrAll(t, e, ["x", "y"]), - i("xanchor"), - i("yanchor"), - i("pad.t"), - i("pad.r"), - i("pad.b"), - i("pad.l"), - n.coerceFont(i, "font", r.font), - i("bgcolor", r.paper_bgcolor), - i("bordercolor"), - i("borderwidth")); - } - e.exports = function (t, e) { - i(t, e, { name: o, handleItemDefaults: l }); - }; - }, - { - "../../lib": 602, - "../../plots/array_container_defaults": 644, - "./attributes": 568, - "./constants": 569, - }, - ], - 571: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../plots/plots"), - a = t("../color"), - o = t("../drawing"), - s = t("../../lib"), - l = t("../../lib/svg_text_utils"), - c = t("../legend/anchor_utils"), - u = t("../../constants/alignment").LINE_SPACING, - f = t("./constants"), - h = t("./scrollbox"); - function p(t) { - return t._index; - } - function d(t, e) { - return +t.attr(f.menuIndexAttrName) === e._index; - } - function g(t, e, r, n, i, a, o, s) { - ((e._input.active = e.active = o), - "buttons" === e.type - ? v(t, n, null, null, e) - : "dropdown" === e.type && - (i.attr(f.menuIndexAttrName, "-1"), - m(t, n, i, a, e), - s || v(t, n, i, a, e))); - } - function m(t, e, r, n, i) { - var a = s.ensureSingle(e, "g", f.headerClassName, function (t) { - t.style("pointer-events", "all"); - }), - l = i._dims, - c = i.active, - u = i.buttons[c] || f.blankHeaderOpts, - h = { y: i.pad.t, yPad: 0, x: i.pad.l, xPad: 0, index: 0 }, - p = { width: l.headerWidth, height: l.headerHeight }; - (a.call(y, i, u, t).call(A, i, h, p), - s - .ensureSingle(e, "text", f.headerArrowClassName, function (t) { - t.classed("user-select-none", !0) - .attr("text-anchor", "end") - .call(o.font, i.font) - .text(f.arrowSymbol[i.direction]); - }) - .attr({ - x: l.headerWidth - f.arrowOffsetX + i.pad.l, - y: l.headerHeight / 2 + f.textOffsetY + i.pad.t, - }), - a.on("click", function () { - (r.call(T), - r.attr(f.menuIndexAttrName, d(r, i) ? -1 : String(i._index)), - v(t, e, r, n, i)); - }), - a.on("mouseover", function () { - a.call(w); - }), - a.on("mouseout", function () { - a.call(k, i); - }), - o.setTranslate(e, l.lx, l.ly)); - } - function v(t, e, r, a, o) { - r || (r = e).attr("pointer-events", "all"); - var s = - (function (t) { - return -1 == +t.attr(f.menuIndexAttrName); - })(r) && "buttons" !== o.type - ? [] - : o.buttons, - l = "dropdown" === o.type ? f.dropdownButtonClassName : f.buttonClassName, - c = r.selectAll("g." + l).data(s), - u = c.enter().append("g").classed(l, !0), - h = c.exit(); - "dropdown" === o.type - ? (u.attr("opacity", "0").transition().attr("opacity", "1"), - h.transition().attr("opacity", "0").remove()) - : h.remove(); - var p = 0, - d = 0, - m = o._dims, - v = -1 !== ["up", "down"].indexOf(o.direction); - ("dropdown" === o.type && - (v - ? (d = m.headerHeight + f.gapButtonHeader) - : (p = m.headerWidth + f.gapButtonHeader)), - "dropdown" === o.type && - "up" === o.direction && - (d = -f.gapButtonHeader + f.gapButton - m.openHeight), - "dropdown" === o.type && - "left" === o.direction && - (p = -f.gapButtonHeader + f.gapButton - m.openWidth)); - var x = { - x: m.lx + p + o.pad.l, - y: m.ly + d + o.pad.t, - yPad: f.gapButton, - xPad: f.gapButton, - index: 0, - }, - b = { l: x.x + o.borderwidth, t: x.y + o.borderwidth }; - (c.each(function (s, l) { - var u = n.select(this); - (u.call(y, o, s, t).call(A, o, x), - u.on("click", function () { - n.event.defaultPrevented || - (g(t, o, 0, e, r, a, l), - s.execute && i.executeAPICommand(t, s.method, s.args), - t.emit("plotly_buttonclicked", { - menu: o, - button: s, - active: o.active, - })); - }), - u.on("mouseover", function () { - u.call(w); - }), - u.on("mouseout", function () { - (u.call(k, o), c.call(_, o)); - })); - }), - c.call(_, o), - v - ? ((b.w = Math.max(m.openWidth, m.headerWidth)), (b.h = x.y - b.t)) - : ((b.w = x.x - b.l), (b.h = Math.max(m.openHeight, m.headerHeight))), - (b.direction = o.direction), - a && - (c.size() - ? (function (t, e, r, n, i, a) { - var o, - s, - l, - c = i.direction, - u = "up" === c || "down" === c, - h = i._dims, - p = i.active; - if (u) - for (s = 0, l = 0; l < p; l++) s += h.heights[l] + f.gapButton; - else - for (o = 0, l = 0; l < p; l++) o += h.widths[l] + f.gapButton; - (n.enable(a, o, s), - n.hbar && - n.hbar - .attr("opacity", "0") - .transition() - .attr("opacity", "1")); - n.vbar && - n.vbar.attr("opacity", "0").transition().attr("opacity", "1"); - })(0, 0, 0, a, o, b) - : (function (t) { - var e = !!t.hbar, - r = !!t.vbar; - e && - t.hbar - .transition() - .attr("opacity", "0") - .each("end", function () { - ((e = !1), r || t.disable()); - }); - r && - t.vbar - .transition() - .attr("opacity", "0") - .each("end", function () { - ((r = !1), e || t.disable()); - }); - })(a))); - } - function y(t, e, r, n) { - t.call(x, e).call(b, e, r, n); - } - function x(t, e) { - s.ensureSingle(t, "rect", f.itemRectClassName, function (t) { - t.attr({ rx: f.rx, ry: f.ry, "shape-rendering": "crispEdges" }); - }) - .call(a.stroke, e.bordercolor) - .call(a.fill, e.bgcolor) - .style("stroke-width", e.borderwidth + "px"); - } - function b(t, e, r, n) { - s.ensureSingle(t, "text", f.itemTextClassName, function (t) { - t.classed("user-select-none", !0).attr({ - "text-anchor": "start", - "data-notex": 1, - }); - }) - .call(o.font, e.font) - .text(r.label) - .call(l.convertToTspans, n); - } - function _(t, e) { - var r = e.active; - t.each(function (t, i) { - var o = n.select(this); - i === r && - e.showactive && - o.select("rect." + f.itemRectClassName).call(a.fill, f.activeColor); - }); - } - function w(t) { - t.select("rect." + f.itemRectClassName).call(a.fill, f.hoverColor); - } - function k(t, e) { - t.select("rect." + f.itemRectClassName).call(a.fill, e.bgcolor); - } - function M(t, e) { - var r = (e._dims = { - width1: 0, - height1: 0, - heights: [], - widths: [], - totalWidth: 0, - totalHeight: 0, - openWidth: 0, - openHeight: 0, - lx: 0, - ly: 0, - }), - a = o.tester.selectAll("g." + f.dropdownButtonClassName).data(e.buttons); - a.enter().append("g").classed(f.dropdownButtonClassName, !0); - var s = -1 !== ["up", "down"].indexOf(e.direction); - (a.each(function (i, a) { - var c = n.select(this); - c.call(y, e, i, t); - var h = c.select("." + f.itemTextClassName), - p = h.node() && o.bBox(h.node()).width, - d = Math.max(p + f.textPadX, f.minWidth), - g = e.font.size * u, - m = l.lineCount(h), - v = Math.max(g * m, f.minHeight) + f.textOffsetY; - ((v = Math.ceil(v)), - (d = Math.ceil(d)), - (r.widths[a] = d), - (r.heights[a] = v), - (r.height1 = Math.max(r.height1, v)), - (r.width1 = Math.max(r.width1, d)), - s - ? ((r.totalWidth = Math.max(r.totalWidth, d)), - (r.openWidth = r.totalWidth), - (r.totalHeight += v + f.gapButton), - (r.openHeight += v + f.gapButton)) - : ((r.totalWidth += d + f.gapButton), - (r.openWidth += d + f.gapButton), - (r.totalHeight = Math.max(r.totalHeight, v)), - (r.openHeight = r.totalHeight))); - }), - s ? (r.totalHeight -= f.gapButton) : (r.totalWidth -= f.gapButton), - (r.headerWidth = r.width1 + f.arrowPadX), - (r.headerHeight = r.height1), - "dropdown" === e.type && - (s - ? ((r.width1 += f.arrowPadX), (r.totalHeight = r.height1)) - : (r.totalWidth = r.width1), - (r.totalWidth += f.arrowPadX)), - a.remove()); - var h = r.totalWidth + e.pad.l + e.pad.r, - p = r.totalHeight + e.pad.t + e.pad.b, - d = t._fullLayout._size; - ((r.lx = d.l + d.w * e.x), (r.ly = d.t + d.h * (1 - e.y))); - var g = "left"; - (c.isRightAnchor(e) && ((r.lx -= h), (g = "right")), - c.isCenterAnchor(e) && ((r.lx -= h / 2), (g = "center"))); - var m = "top"; - (c.isBottomAnchor(e) && ((r.ly -= p), (m = "bottom")), - c.isMiddleAnchor(e) && ((r.ly -= p / 2), (m = "middle")), - (r.totalWidth = Math.ceil(r.totalWidth)), - (r.totalHeight = Math.ceil(r.totalHeight)), - (r.lx = Math.round(r.lx)), - (r.ly = Math.round(r.ly)), - i.autoMargin(t, f.autoMarginIdRoot + e._index, { - x: e.x, - y: e.y, - l: h * ({ right: 1, center: 0.5 }[g] || 0), - r: h * ({ left: 1, center: 0.5 }[g] || 0), - b: p * ({ top: 1, middle: 0.5 }[m] || 0), - t: p * ({ bottom: 1, middle: 0.5 }[m] || 0), - })); - } - function A(t, e, r, n) { - n = n || {}; - var i = t.select("." + f.itemRectClassName), - a = t.select("." + f.itemTextClassName), - s = e.borderwidth, - c = r.index, - h = e._dims; - o.setTranslate(t, s + r.x, s + r.y); - var p = -1 !== ["up", "down"].indexOf(e.direction), - d = n.height || (p ? h.heights[c] : h.height1); - i.attr({ - x: 0, - y: 0, - width: n.width || (p ? h.width1 : h.widths[c]), - height: d, - }); - var g = e.font.size * u, - m = ((l.lineCount(a) - 1) * g) / 2; - (l.positionText(a, f.textOffsetX, d / 2 - m + f.textOffsetY), - p ? (r.y += h.heights[c] + r.yPad) : (r.x += h.widths[c] + r.xPad), - r.index++); - } - function T(t) { - t.selectAll("g." + f.dropdownButtonClassName).remove(); - } - e.exports = function (t) { - var e = t._fullLayout, - r = (function (t) { - for (var e = t[f.name], r = [], n = 0; n < e.length; n++) { - var i = e[n]; - i.visible && r.push(i); - } - return r; - })(e), - a = e._menulayer - .selectAll("g." + f.containerClassName) - .data(r.length > 0 ? [0] : []); - if ( - (a - .enter() - .append("g") - .classed(f.containerClassName, !0) - .style("cursor", "pointer"), - a.exit().remove(), - a.exit().size() && - (function (t) { - for ( - var e = t._fullLayout._pushmargin || {}, r = Object.keys(e), n = 0; - n < r.length; - n++ - ) { - var a = r[n]; - -1 !== a.indexOf(f.autoMarginIdRoot) && i.autoMargin(t, a); - } - })(t), - 0 !== r.length) - ) { - var o = a.selectAll("g." + f.headerGroupClassName).data(r, p); - o.enter().append("g").classed(f.headerGroupClassName, !0); - for ( - var l = s.ensureSingle( - a, - "g", - f.dropdownButtonGroupClassName, - function (t) { - t.style("pointer-events", "all"); - }, - ), - c = 0; - c < r.length; - c++ - ) { - var u = r[c]; - M(t, u); - } - var y = "updatemenus" + e._uid, - x = new h(t, l, y); - (o.enter().size() && - (l.node().parentNode.appendChild(l.node()), - l.call(T).attr(f.menuIndexAttrName, "-1")), - o.exit().each(function (e) { - (n.select(this).remove(), - l.call(T).attr(f.menuIndexAttrName, "-1"), - i.autoMargin(t, f.autoMarginIdRoot + e._index)); - }), - o.each(function (e) { - var r = n.select(this), - a = "dropdown" === e.type ? l : null; - (i.manageCommandObserver(t, e, e.buttons, function (n) { - g(t, e, e.buttons[n.index], r, a, x, n.index, !0); - }), - "dropdown" === e.type - ? (m(t, r, l, x, e), d(l, e) && v(t, r, l, x, e)) - : v(t, r, null, null, e)); - })); - } - }; - }, - { - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/plots": 710, - "../color": 474, - "../drawing": 499, - "../legend/anchor_utils": 526, - "./constants": 569, - "./scrollbox": 573, - d3: 130, - }, - ], - 572: [ - function (t, e, r) { - arguments[4][566][0].apply(r, arguments); - }, - { - "./attributes": 568, - "./constants": 569, - "./defaults": 570, - "./draw": 571, - dup: 566, - }, - ], - 573: [ - function (t, e, r) { - "use strict"; - e.exports = s; - var n = t("d3"), - i = t("../color"), - a = t("../drawing"), - o = t("../../lib"); - function s(t, e, r) { - ((this.gd = t), - (this.container = e), - (this.id = r), - (this.position = null), - (this.translateX = null), - (this.translateY = null), - (this.hbar = null), - (this.vbar = null), - (this.bg = this.container.selectAll("rect.scrollbox-bg").data([0])), - this.bg.exit().on(".drag", null).on("wheel", null).remove(), - this.bg - .enter() - .append("rect") - .classed("scrollbox-bg", !0) - .style("pointer-events", "all") - .attr({ opacity: 0, x: 0, y: 0, width: 0, height: 0 })); - } - ((s.barWidth = 2), - (s.barLength = 20), - (s.barRadius = 2), - (s.barPad = 1), - (s.barColor = "#808BA4"), - (s.prototype.enable = function (t, e, r) { - var o = this.gd._fullLayout, - l = o.width, - c = o.height; - this.position = t; - var u, - f, - h, - p, - d = this.position.l, - g = this.position.w, - m = this.position.t, - v = this.position.h, - y = this.position.direction, - x = "down" === y, - b = "left" === y, - _ = "up" === y, - w = g, - k = v; - (x || - b || - "right" === y || - _ || - ((this.position.direction = "down"), (x = !0)), - x || _ - ? ((f = (u = d) + w), - x - ? ((h = m), (k = (p = Math.min(h + k, c)) - h)) - : (k = (p = m + k) - (h = Math.max(p - k, 0)))) - : ((p = (h = m) + k), - b - ? (w = (f = d + w) - (u = Math.max(f - w, 0))) - : ((u = d), (w = (f = Math.min(u + w, l)) - u))), - (this._box = { l: u, t: h, w: w, h: k })); - var M = g > w, - A = s.barLength + 2 * s.barPad, - T = s.barWidth + 2 * s.barPad, - S = d, - C = m + v; - C + T > c && (C = c - T); - var E = this.container - .selectAll("rect.scrollbar-horizontal") - .data(M ? [0] : []); - (E.exit().on(".drag", null).remove(), - E.enter() - .append("rect") - .classed("scrollbar-horizontal", !0) - .call(i.fill, s.barColor), - M - ? ((this.hbar = E.attr({ - rx: s.barRadius, - ry: s.barRadius, - x: S, - y: C, - width: A, - height: T, - })), - (this._hbarXMin = S + A / 2), - (this._hbarTranslateMax = w - A)) - : (delete this.hbar, - delete this._hbarXMin, - delete this._hbarTranslateMax)); - var L = v > k, - z = s.barWidth + 2 * s.barPad, - P = s.barLength + 2 * s.barPad, - D = d + g, - O = m; - D + z > l && (D = l - z); - var I = this.container - .selectAll("rect.scrollbar-vertical") - .data(L ? [0] : []); - (I.exit().on(".drag", null).remove(), - I.enter() - .append("rect") - .classed("scrollbar-vertical", !0) - .call(i.fill, s.barColor), - L - ? ((this.vbar = I.attr({ - rx: s.barRadius, - ry: s.barRadius, - x: D, - y: O, - width: z, - height: P, - })), - (this._vbarYMin = O + P / 2), - (this._vbarTranslateMax = k - P)) - : (delete this.vbar, - delete this._vbarYMin, - delete this._vbarTranslateMax)); - var R = this.id, - B = u - 0.5, - F = L ? f + z + 0.5 : f + 0.5, - N = h - 0.5, - j = M ? p + T + 0.5 : p + 0.5, - V = o._topdefs.selectAll("#" + R).data(M || L ? [0] : []); - if ( - (V.exit().remove(), - V.enter().append("clipPath").attr("id", R).append("rect"), - M || L - ? ((this._clipRect = V.select("rect").attr({ - x: Math.floor(B), - y: Math.floor(N), - width: Math.ceil(F) - Math.floor(B), - height: Math.ceil(j) - Math.floor(N), - })), - this.container.call(a.setClipUrl, R), - this.bg.attr({ x: d, y: m, width: g, height: v })) - : (this.bg.attr({ width: 0, height: 0 }), - this.container - .on("wheel", null) - .on(".drag", null) - .call(a.setClipUrl, null), - delete this._clipRect), - M || L) - ) { - var U = n.behavior - .drag() - .on("dragstart", function () { - n.event.sourceEvent.preventDefault(); - }) - .on("drag", this._onBoxDrag.bind(this)); - this.container - .on("wheel", null) - .on("wheel", this._onBoxWheel.bind(this)) - .on(".drag", null) - .call(U); - var q = n.behavior - .drag() - .on("dragstart", function () { - (n.event.sourceEvent.preventDefault(), - n.event.sourceEvent.stopPropagation()); - }) - .on("drag", this._onBarDrag.bind(this)); - (M && this.hbar.on(".drag", null).call(q), - L && this.vbar.on(".drag", null).call(q)); - } - this.setTranslate(e, r); - }), - (s.prototype.disable = function () { - ((this.hbar || this.vbar) && - (this.bg.attr({ width: 0, height: 0 }), - this.container - .on("wheel", null) - .on(".drag", null) - .call(a.setClipUrl, null), - delete this._clipRect), - this.hbar && - (this.hbar.on(".drag", null), - this.hbar.remove(), - delete this.hbar, - delete this._hbarXMin, - delete this._hbarTranslateMax), - this.vbar && - (this.vbar.on(".drag", null), - this.vbar.remove(), - delete this.vbar, - delete this._vbarYMin, - delete this._vbarTranslateMax)); - }), - (s.prototype._onBoxDrag = function () { - var t = this.translateX, - e = this.translateY; - (this.hbar && (t -= n.event.dx), - this.vbar && (e -= n.event.dy), - this.setTranslate(t, e)); - }), - (s.prototype._onBoxWheel = function () { - var t = this.translateX, - e = this.translateY; - (this.hbar && (t += n.event.deltaY), - this.vbar && (e += n.event.deltaY), - this.setTranslate(t, e)); - }), - (s.prototype._onBarDrag = function () { - var t = this.translateX, - e = this.translateY; - if (this.hbar) { - var r = t + this._hbarXMin, - i = r + this._hbarTranslateMax; - t = - ((o.constrain(n.event.x, r, i) - r) / (i - r)) * - (this.position.w - this._box.w); - } - if (this.vbar) { - var a = e + this._vbarYMin, - s = a + this._vbarTranslateMax; - e = - ((o.constrain(n.event.y, a, s) - a) / (s - a)) * - (this.position.h - this._box.h); - } - this.setTranslate(t, e); - }), - (s.prototype.setTranslate = function (t, e) { - var r = this.position.w - this._box.w, - n = this.position.h - this._box.h; - if ( - ((t = o.constrain(t || 0, 0, r)), - (e = o.constrain(e || 0, 0, n)), - (this.translateX = t), - (this.translateY = e), - this.container.call( - a.setTranslate, - this._box.l - this.position.l - t, - this._box.t - this.position.t - e, - ), - this._clipRect && - this._clipRect.attr({ - x: Math.floor(this.position.l + t - 0.5), - y: Math.floor(this.position.t + e - 0.5), - }), - this.hbar) - ) { - var i = t / r; - this.hbar.call(a.setTranslate, t + i * this._hbarTranslateMax, e); - } - if (this.vbar) { - var s = e / n; - this.vbar.call(a.setTranslate, t, e + s * this._vbarTranslateMax); - } - })); - }, - { "../../lib": 602, "../color": 474, "../drawing": 499, d3: 130 }, - ], - 574: [ - function (t, e, r) { - "use strict"; - e.exports = { - FROM_BL: { left: 0, center: 0.5, right: 1, bottom: 0, middle: 0.5, top: 1 }, - FROM_TL: { left: 0, center: 0.5, right: 1, bottom: 1, middle: 0.5, top: 0 }, - FROM_BR: { left: 1, center: 0.5, right: 0, bottom: 0, middle: 0.5, top: 1 }, - LINE_SPACING: 1.3, - MID_SHIFT: 0.35, - OPPOSITE_SIDE: { - left: "right", - right: "left", - top: "bottom", - bottom: "top", - }, - }; - }, - {}, - ], - 575: [ - function (t, e, r) { - "use strict"; - e.exports = { - COMPARISON_OPS: ["=", "!=", "<", ">=", ">", "<="], - COMPARISON_OPS2: ["=", "<", ">=", ">", "<="], - INTERVAL_OPS: ["[]", "()", "[)", "(]", "][", ")(", "](", ")["], - SET_OPS: ["{}", "}{"], - CONSTRAINT_REDUCTION: { - "=": "=", - "<": "<", - "<=": "<", - ">": ">", - ">=": ">", - "[]": "[]", - "()": "[]", - "[)": "[]", - "(]": "[]", - "][": "][", - ")(": "][", - "](": "][", - ")[": "][", - }, - }; - }, - {}, - ], - 576: [ - function (t, e, r) { - "use strict"; - e.exports = { - solid: [[], 0], - dot: [[0.5, 1], 200], - dash: [[0.5, 1], 50], - longdash: [[0.5, 1], 10], - dashdot: [[0.5, 0.625, 0.875, 1], 50], - longdashdot: [[0.5, 0.7, 0.8, 1], 10], - }; - }, - {}, - ], - 577: [ - function (t, e, r) { - "use strict"; - e.exports = { - circle: "\u25cf", - "circle-open": "\u25cb", - square: "\u25a0", - "square-open": "\u25a1", - diamond: "\u25c6", - "diamond-open": "\u25c7", - cross: "+", - x: "\u274c", - }; - }, - {}, - ], - 578: [ - function (t, e, r) { - "use strict"; - e.exports = { - SHOW_PLACEHOLDER: 100, - HIDE_PLACEHOLDER: 1e3, - DBLCLICKDELAY: 300, - DESELECTDIM: 0.2, - }; - }, - {}, - ], - 579: [ - function (t, e, r) { - "use strict"; - e.exports = { - BADNUM: void 0, - FP_SAFE: Number.MAX_VALUE / 1e4, - ONEAVGYEAR: 315576e5, - ONEAVGMONTH: 26298e5, - ONEDAY: 864e5, - ONEHOUR: 36e5, - ONEMIN: 6e4, - ONESEC: 1e3, - EPOCHJD: 2440587.5, - ALMOST_EQUAL: 1 - 1e-6, - MINUS_SIGN: "\u2212", - }; - }, - {}, - ], - 580: [ - function (t, e, r) { - "use strict"; - e.exports = { - entityToUnicode: { - mu: "\u03bc", - "#956": "\u03bc", - amp: "&", - "#28": "&", - lt: "<", - "#60": "<", - gt: ">", - "#62": ">", - nbsp: "\xa0", - "#160": "\xa0", - times: "\xd7", - "#215": "\xd7", - plusmn: "\xb1", - "#177": "\xb1", - deg: "\xb0", - "#176": "\xb0", - }, - }; - }, - {}, - ], - 581: [ - function (t, e, r) { - "use strict"; - ((r.xmlns = "http://www.w3.org/2000/xmlns/"), - (r.svg = "http://www.w3.org/2000/svg"), - (r.xlink = "http://www.w3.org/1999/xlink"), - (r.svgAttrs = { xmlns: r.svg, "xmlns:xlink": r.xlink })); - }, - {}, - ], - 582: [ - function (t, e, r) { - "use strict"; - ((r.version = "1.37.1"), - t("es6-promise").polyfill(), - t("../build/plotcss"), - t("./fonts/mathjax_config")); - for ( - var n = t("./registry"), - i = (r.register = n.register), - a = t("./plot_api"), - o = Object.keys(a), - s = 0; - s < o.length; - s++ - ) { - var l = o[s]; - ((r[l] = a[l]), i({ moduleType: "apiMethod", name: l, fn: a[l] })); - } - (i(t("./traces/scatter")), - i([ - t("./components/fx"), - t("./components/legend"), - t("./components/annotations"), - t("./components/annotations3d"), - t("./components/shapes"), - t("./components/images"), - t("./components/updatemenus"), - t("./components/sliders"), - t("./components/rangeslider"), - t("./components/rangeselector"), - t("./components/grid"), - t("./components/errorbars"), - ]), - i([t("./locale-en"), t("./locale-en-us")]), - (r.Icons = t("../build/ploticon")), - (r.Plots = t("./plots/plots")), - (r.Fx = t("./components/fx")), - (r.Snapshot = t("./snapshot")), - (r.PlotSchema = t("./plot_api/plot_schema")), - (r.Queue = t("./lib/queue")), - (r.d3 = t("d3"))); - }, - { - "../build/plotcss": 1, - "../build/ploticon": 2, - "./components/annotations": 465, - "./components/annotations3d": 470, - "./components/errorbars": 505, - "./components/fx": 516, - "./components/grid": 520, - "./components/images": 525, - "./components/legend": 534, - "./components/rangeselector": 546, - "./components/rangeslider": 552, - "./components/shapes": 560, - "./components/sliders": 566, - "./components/updatemenus": 572, - "./fonts/mathjax_config": 583, - "./lib/queue": 617, - "./locale-en": 631, - "./locale-en-us": 630, - "./plot_api": 635, - "./plot_api/plot_schema": 639, - "./plots/plots": 710, - "./registry": 732, - "./snapshot": 737, - "./traces/scatter": 938, - d3: 130, - "es6-promise": 184, - }, - ], - 583: [ - function (t, e, r) { - "use strict"; - "undefined" != typeof MathJax - ? ((r.MathJax = !0), - MathJax.Hub.Config({ - messageStyle: "none", - skipStartupTypeset: !0, - displayAlign: "left", - tex2jax: { - inlineMath: [ - ["$", "$"], - ["\\(", "\\)"], - ], - }, - }), - MathJax.Hub.Configured()) - : (r.MathJax = !1); - }, - {}, - ], - 584: [ - function (t, e, r) { - "use strict"; - var n = Math.PI; - ((r.deg2rad = function (t) { - return (t / 180) * n; - }), - (r.rad2deg = function (t) { - return (t / n) * 180; - }), - (r.wrap360 = function (t) { - var e = t % 360; - return e < 0 ? e + 360 : e; - }), - (r.wrap180 = function (t) { - return (Math.abs(t) > 180 && (t -= 360 * Math.round(t / 360)), t); - })); - }, - {}, - ], - 585: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../constants/numerical").BADNUM, - a = /^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g; - e.exports = function (t) { - return ( - "string" == typeof t && (t = t.replace(a, "")), - n(t) ? Number(t) : i - ); - }; - }, - { "../constants/numerical": 579, "fast-isnumeric": 196 }, - ], - 586: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t._fullLayout; - e._glcanvas && - e._glcanvas.size() && - e._glcanvas.each(function (t) { - t.regl && t.regl.clear({ color: !0, depth: !0 }); - }); - }; - }, - {}, - ], - 587: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("tinycolor2"), - a = t("../plots/attributes"), - o = t("../components/colorscale/get_scale"), - s = - (Object.keys(t("../components/colorscale/scales")), - t("./nested_property")), - l = t("./regex").counter, - c = t("../constants/interactions").DESELECTDIM, - u = t("./angles").wrap180, - f = t("./is_array").isArrayOrTypedArray; - ((r.valObjectMeta = { - data_array: { - coerceFunction: function (t, e, r) { - f(t) ? e.set(t) : void 0 !== r && e.set(r); - }, - }, - enumerated: { - coerceFunction: function (t, e, r, n) { - (n.coerceNumber && (t = +t), - -1 === n.values.indexOf(t) ? e.set(r) : e.set(t)); - }, - validateFunction: function (t, e) { - e.coerceNumber && (t = +t); - for (var r = e.values, n = 0; n < r.length; n++) { - var i = String(r[n]); - if ("/" === i.charAt(0) && "/" === i.charAt(i.length - 1)) { - if (new RegExp(i.substr(1, i.length - 2)).test(t)) return !0; - } else if (t === r[n]) return !0; - } - return !1; - }, - }, - boolean: { - coerceFunction: function (t, e, r) { - !0 === t || !1 === t ? e.set(t) : e.set(r); - }, - }, - number: { - coerceFunction: function (t, e, r, i) { - !n(t) || - (void 0 !== i.min && t < i.min) || - (void 0 !== i.max && t > i.max) - ? e.set(r) - : e.set(+t); - }, - }, - integer: { - coerceFunction: function (t, e, r, i) { - t % 1 || - !n(t) || - (void 0 !== i.min && t < i.min) || - (void 0 !== i.max && t > i.max) - ? e.set(r) - : e.set(+t); - }, - }, - string: { - coerceFunction: function (t, e, r, n) { - if ("string" != typeof t) { - var i = "number" == typeof t; - !0 !== n.strict && i ? e.set(String(t)) : e.set(r); - } else n.noBlank && !t ? e.set(r) : e.set(t); - }, - }, - color: { - coerceFunction: function (t, e, r) { - i(t).isValid() ? e.set(t) : e.set(r); - }, - }, - colorlist: { - coerceFunction: function (t, e, r) { - Array.isArray(t) && - t.length && - t.every(function (t) { - return i(t).isValid(); - }) - ? e.set(t) - : e.set(r); - }, - }, - colorscale: { - coerceFunction: function (t, e, r) { - e.set(o(t, r)); - }, - }, - angle: { - coerceFunction: function (t, e, r) { - "auto" === t ? e.set("auto") : n(t) ? e.set(u(+t)) : e.set(r); - }, - }, - subplotid: { - coerceFunction: function (t, e, r, n) { - var i = n.regex || l(r); - "string" == typeof t && i.test(t) ? e.set(t) : e.set(r); - }, - validateFunction: function (t, e) { - var r = e.dflt; - return t === r || ("string" == typeof t && !!l(r).test(t)); - }, - }, - flaglist: { - coerceFunction: function (t, e, r, n) { - if ("string" == typeof t) - if (-1 === (n.extras || []).indexOf(t)) { - for (var i = t.split("+"), a = 0; a < i.length; ) { - var o = i[a]; - -1 === n.flags.indexOf(o) || i.indexOf(o) < a - ? i.splice(a, 1) - : a++; - } - i.length ? e.set(i.join("+")) : e.set(r); - } else e.set(t); - else e.set(r); - }, - }, - any: { - coerceFunction: function (t, e, r) { - void 0 === t ? e.set(r) : e.set(t); - }, - }, - info_array: { - coerceFunction: function (t, e, n, i) { - function a(t, e, n) { - var i, - a = { - set: function (t) { - i = t; - }, - }; - return ( - void 0 === n && (n = e.dflt), - r.valObjectMeta[e.valType].coerceFunction(t, a, n, e), - i - ); - } - var o = - 2 === i.dimensions || - ("1-2" === i.dimensions && Array.isArray(t) && Array.isArray(t[0])); - if (Array.isArray(t)) { - var s, - l, - c, - u, - f, - h, - p = i.items, - d = [], - g = Array.isArray(p), - m = g && o && Array.isArray(p[0]), - v = o && g && !m, - y = g && !v ? p.length : t.length; - if (((n = Array.isArray(n) ? n : []), o)) - for (s = 0; s < y; s++) - for ( - d[s] = [], - c = Array.isArray(t[s]) ? t[s] : [], - f = v ? p.length : g ? p[s].length : c.length, - l = 0; - l < f; - l++ - ) - ((u = v ? p[l] : g ? p[s][l] : p), - void 0 !== (h = a(c[l], u, (n[s] || [])[l])) && - (d[s][l] = h)); - else - for (s = 0; s < y; s++) - void 0 !== (h = a(t[s], g ? p[s] : p, n[s])) && (d[s] = h); - e.set(d); - } else e.set(n); - }, - validateFunction: function (t, e) { - if (!Array.isArray(t)) return !1; - var n = e.items, - i = Array.isArray(n), - a = 2 === e.dimensions; - if (!e.freeLength && t.length !== n.length) return !1; - for (var o = 0; o < t.length; o++) - if (a) { - if ( - !Array.isArray(t[o]) || - (!e.freeLength && t[o].length !== n[o].length) - ) - return !1; - for (var s = 0; s < t[o].length; s++) - if (!r.validate(t[o][s], i ? n[o][s] : n)) return !1; - } else if (!r.validate(t[o], i ? n[o] : n)) return !1; - return !0; - }, - }, - }), - (r.coerce = function (t, e, n, i, a) { - var o = s(n, i).get(), - l = s(t, i), - c = s(e, i), - u = l.get(); - return ( - void 0 === a && (a = o.dflt), - o.arrayOk && f(u) - ? (c.set(u), u) - : (r.valObjectMeta[o.valType].coerceFunction(u, c, a, o), c.get()) - ); - }), - (r.coerce2 = function (t, e, n, i, a) { - var o = s(t, i), - l = r.coerce(t, e, n, i, a), - c = o.get(); - return void 0 !== c && null !== c && l; - }), - (r.coerceFont = function (t, e, r) { - var n = {}; - return ( - (r = r || {}), - (n.family = t(e + ".family", r.family)), - (n.size = t(e + ".size", r.size)), - (n.color = t(e + ".color", r.color)), - n - ); - }), - (r.coerceHoverinfo = function (t, e, n) { - var i, - o = e._module.attributes, - s = o.hoverinfo ? o : a, - l = s.hoverinfo; - if (1 === n._dataLength) { - var c = "all" === l.dflt ? l.flags.slice() : l.dflt.split("+"); - (c.splice(c.indexOf("name"), 1), (i = c.join("+"))); - } - return r.coerce(t, e, s, "hoverinfo", i); - }), - (r.coerceSelectionMarkerOpacity = function (t, e) { - if (t.marker) { - var r, - n, - i = t.marker.opacity; - if (void 0 !== i) - (f(i) || t.selected || t.unselected || ((r = i), (n = c * i)), - e("selected.marker.opacity", r), - e("unselected.marker.opacity", n)); - } - }), - (r.validate = function (t, e) { - var n = r.valObjectMeta[e.valType]; - if (e.arrayOk && f(t)) return !0; - if (n.validateFunction) return n.validateFunction(t, e); - var i = {}, - a = i, - o = { - set: function (t) { - a = t; - }, - }; - return (n.coerceFunction(t, o, i, e), a !== i); - })); - }, - { - "../components/colorscale/get_scale": 487, - "../components/colorscale/scales": 493, - "../constants/interactions": 578, - "../plots/attributes": 645, - "./angles": 584, - "./is_array": 603, - "./nested_property": 610, - "./regex": 618, - "fast-isnumeric": 196, - tinycolor2: 415, - }, - ], - 588: [ - function (t, e, r) { - "use strict"; - var n, - i, - a = t("d3"), - o = t("fast-isnumeric"), - s = t("./loggers"), - l = t("./mod"), - c = t("../constants/numerical"), - u = c.BADNUM, - f = c.ONEDAY, - h = c.ONEHOUR, - p = c.ONEMIN, - d = c.ONESEC, - g = c.EPOCHJD, - m = t("../registry"), - v = a.time.format.utc, - y = - /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m, - x = - /^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m, - b = new Date().getFullYear() - 70; - function _(t) { - return ( - t && - m.componentsRegistry.calendars && - "string" == typeof t && - "gregorian" !== t - ); - } - function w(t, e) { - return String(t + Math.pow(10, e)).substr(1); - } - ((r.dateTick0 = function (t, e) { - return _(t) - ? e - ? m.getComponentMethod("calendars", "CANONICAL_SUNDAY")[t] - : m.getComponentMethod("calendars", "CANONICAL_TICK")[t] - : e - ? "2000-01-02" - : "2000-01-01"; - }), - (r.dfltRange = function (t) { - return _(t) - ? m.getComponentMethod("calendars", "DFLTRANGE")[t] - : ["2000-01-01", "2001-01-01"]; - }), - (r.isJSDate = function (t) { - return ( - "object" == typeof t && null !== t && "function" == typeof t.getTime - ); - }), - (r.dateTime2ms = function (t, e) { - if (r.isJSDate(t)) - return (t = Number(t) - t.getTimezoneOffset() * p) >= n && t <= i - ? t - : u; - if ("string" != typeof t && "number" != typeof t) return u; - t = String(t); - var a = _(e), - o = t.charAt(0); - !a || ("G" !== o && "g" !== o) || ((t = t.substr(1)), (e = "")); - var s = a && "chinese" === e.substr(0, 7), - l = t.match(s ? x : y); - if (!l) return u; - var c = l[1], - v = l[3] || "1", - w = Number(l[5] || 1), - k = Number(l[7] || 0), - M = Number(l[9] || 0), - A = Number(l[11] || 0); - if (a) { - if (2 === c.length) return u; - var T; - c = Number(c); - try { - var S = m.getComponentMethod("calendars", "getCal")(e); - if (s) { - var C = "i" === v.charAt(v.length - 1); - ((v = parseInt(v, 10)), - (T = S.newDate(c, S.toMonthIndex(c, v, C), w))); - } else T = S.newDate(c, Number(v), w); - } catch (t) { - return u; - } - return T ? (T.toJD() - g) * f + k * h + M * p + A * d : u; - } - ((c = 2 === c.length ? ((Number(c) + 2e3 - b) % 100) + b : Number(c)), - (v -= 1)); - var E = new Date(Date.UTC(2e3, v, w, k, M)); - return ( - E.setUTCFullYear(c), - E.getUTCMonth() !== v - ? u - : E.getUTCDate() !== w - ? u - : E.getTime() + A * d - ); - }), - (n = r.MIN_MS = r.dateTime2ms("-9999")), - (i = r.MAX_MS = r.dateTime2ms("9999-12-31 23:59:59.9999")), - (r.isDateTime = function (t, e) { - return r.dateTime2ms(t, e) !== u; - })); - var k = 90 * f, - M = 3 * h, - A = 5 * p; - function T(t, e, r, n, i) { - if ( - (e || r || n || i) && - ((t += " " + w(e, 2) + ":" + w(r, 2)), - (n || i) && ((t += ":" + w(n, 2)), i)) - ) { - for (var a = 4; i % 10 == 0; ) ((a -= 1), (i /= 10)); - t += "." + w(i, a); - } - return t; - } - ((r.ms2DateTime = function (t, e, r) { - if ("number" != typeof t || !(t >= n && t <= i)) return u; - e || (e = 0); - var a, - o, - s, - c, - y, - x, - b = Math.floor(10 * l(t + 0.05, 1)), - w = Math.round(t - b / 10); - if (_(r)) { - var S = Math.floor(w / f) + g, - C = Math.floor(l(t, f)); - try { - a = m - .getComponentMethod("calendars", "getCal")(r) - .fromJD(S) - .formatDate("yyyy-mm-dd"); - } catch (t) { - a = v("G%Y-%m-%d")(new Date(w)); - } - if ("-" === a.charAt(0)) for (; a.length < 11; ) a = "-0" + a.substr(1); - else for (; a.length < 10; ) a = "0" + a; - ((o = e < k ? Math.floor(C / h) : 0), - (s = e < k ? Math.floor((C % h) / p) : 0), - (c = e < M ? Math.floor((C % p) / d) : 0), - (y = e < A ? (C % d) * 10 + b : 0)); - } else - ((x = new Date(w)), - (a = v("%Y-%m-%d")(x)), - (o = e < k ? x.getUTCHours() : 0), - (s = e < k ? x.getUTCMinutes() : 0), - (c = e < M ? x.getUTCSeconds() : 0), - (y = e < A ? 10 * x.getUTCMilliseconds() + b : 0)); - return T(a, o, s, c, y); - }), - (r.ms2DateTimeLocal = function (t) { - if (!(t >= n + f && t <= i - f)) return u; - var e = Math.floor(10 * l(t + 0.05, 1)), - r = new Date(Math.round(t - e / 10)); - return T( - a.time.format("%Y-%m-%d")(r), - r.getHours(), - r.getMinutes(), - r.getSeconds(), - 10 * r.getUTCMilliseconds() + e, - ); - }), - (r.cleanDate = function (t, e, n) { - if (r.isJSDate(t) || "number" == typeof t) { - if (_(n)) - return ( - s.error( - "JS Dates and milliseconds are incompatible with world calendars", - t, - ), - e - ); - if (!(t = r.ms2DateTimeLocal(+t)) && void 0 !== e) return e; - } else if (!r.isDateTime(t, n)) - return (s.error("unrecognized date", t), e); - return t; - })); - var S = /%\d?f/g; - function C(t, e, r, n) { - t = t.replace(S, function (t) { - var r = Math.min(+t.charAt(1) || 6, 6); - return ( - (((e / 1e3) % 1) + 2).toFixed(r).substr(2).replace(/0+$/, "") || "0" - ); - }); - var i = new Date(Math.floor(e + 0.05)); - if (_(n)) - try { - t = m.getComponentMethod("calendars", "worldCalFmt")(t, e, n); - } catch (t) { - return "Invalid"; - } - return r(t)(i); - } - var E = [59, 59.9, 59.99, 59.999, 59.9999]; - r.formatDate = function (t, e, r, n, i, a) { - if (((i = _(i) && i), !e)) - if ("y" === r) e = a.year; - else if ("m" === r) e = a.month; - else { - if ("d" !== r) - return ( - (function (t, e) { - var r = l(t + 0.05, f), - n = - w(Math.floor(r / h), 2) + - ":" + - w(l(Math.floor(r / p), 60), 2); - if ("M" !== e) { - o(e) || (e = 0); - var i = (100 + Math.min(l(t / d, 60), E[e])) - .toFixed(e) - .substr(1); - (e > 0 && (i = i.replace(/0+$/, "").replace(/[\.]$/, "")), - (n += ":" + i)); - } - return n; - })(t, r) + - "\n" + - C(a.dayMonthYear, t, n, i) - ); - e = a.dayMonth + "\n" + a.year; - } - return C(e, t, n, i); - }; - var L = 3 * f; - ((r.incrementMonth = function (t, e, r) { - r = _(r) && r; - var n = l(t, f); - if (((t = Math.round(t - n)), r)) - try { - var i = Math.round(t / f) + g, - a = m.getComponentMethod("calendars", "getCal")(r), - o = a.fromJD(i); - return ( - e % 12 ? a.add(o, e, "m") : a.add(o, e / 12, "y"), - (o.toJD() - g) * f + n - ); - } catch (e) { - s.error("invalid ms " + t + " in calendar " + r); - } - var c = new Date(t + L); - return c.setUTCMonth(c.getUTCMonth() + e) + n - L; - }), - (r.findExactDates = function (t, e) { - for ( - var r, - n, - i = 0, - a = 0, - s = 0, - l = 0, - c = _(e) && m.getComponentMethod("calendars", "getCal")(e), - u = 0; - u < t.length; - u++ - ) - if (((n = t[u]), o(n))) { - if (!(n % f)) - if (c) - try { - 1 === (r = c.fromJD(n / f + g)).day() - ? 1 === r.month() - ? i++ - : a++ - : s++; - } catch (t) {} - else - 1 === (r = new Date(n)).getUTCDate() - ? 0 === r.getUTCMonth() - ? i++ - : a++ - : s++; - } else l++; - s += a += i; - var h = t.length - l; - return { exactYears: i / h, exactMonths: a / h, exactDays: s / h }; - })); - }, - { - "../constants/numerical": 579, - "../registry": 732, - "./loggers": 607, - "./mod": 609, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 589: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return (Array.isArray(t) || (t = []), (t.length = e), t); - }; - }, - {}, - ], - 590: [ - function (t, e, r) { - "use strict"; - var n = t("events").EventEmitter, - i = { - init: function (t) { - if (t._ev instanceof n) return t; - var e = new n(), - r = new n(); - return ( - (t._ev = e), - (t._internalEv = r), - (t.on = e.on.bind(e)), - (t.once = e.once.bind(e)), - (t.removeListener = e.removeListener.bind(e)), - (t.removeAllListeners = e.removeAllListeners.bind(e)), - (t._internalOn = r.on.bind(r)), - (t._internalOnce = r.once.bind(r)), - (t._removeInternalListener = r.removeListener.bind(r)), - (t._removeAllInternalListeners = r.removeAllListeners.bind(r)), - (t.emit = function (n, i) { - ("undefined" != typeof jQuery && jQuery(t).trigger(n, i), - e.emit(n, i), - r.emit(n, i)); - }), - t - ); - }, - triggerHandler: function (t, e, r) { - var n, i; - "undefined" != typeof jQuery && (n = jQuery(t).triggerHandler(e, r)); - var a = t._ev; - if (!a) return n; - var o, - s = a._events[e]; - if (!s) return n; - function l(t) { - return t.listener - ? (a.removeListener(e, t.listener), - t.fired ? void 0 : ((t.fired = !0), t.listener.apply(a, [r]))) - : t.apply(a, [r]); - } - for (s = Array.isArray(s) ? s : [s], o = 0; o < s.length - 1; o++) - l(s[o]); - return ((i = l(s[o])), void 0 !== n ? n : i); - }, - purge: function (t) { - return ( - delete t._ev, - delete t.on, - delete t.once, - delete t.removeListener, - delete t.removeAllListeners, - delete t.emit, - delete t._ev, - delete t._internalEv, - delete t._internalOn, - delete t._internalOnce, - delete t._removeInternalListener, - delete t._removeAllInternalListeners, - t - ); - }, - }; - e.exports = i; - }, - { events: 194 }, - ], - 591: [ - function (t, e, r) { - "use strict"; - var n = t("./is_plain_object.js"), - i = Array.isArray; - function a(t, e, r, o) { - var s, - l, - c, - u, - f, - h, - p = t[0], - d = t.length; - if (2 === d && i(p) && i(t[1]) && 0 === p.length) { - if ( - (function (t, e) { - var r, n; - for (r = 0; r < t.length; r++) { - if (null !== (n = t[r]) && "object" == typeof n) return !1; - void 0 !== n && (e[r] = n); - } - return !0; - })(t[1], p) - ) - return p; - p.splice(0, p.length); - } - for (var g = 1; g < d; g++) - for (l in (s = t[g])) - ((c = p[l]), - (u = s[l]), - o && i(u) - ? (p[l] = u) - : e && u && (n(u) || (f = i(u))) - ? (f - ? ((f = !1), (h = c && i(c) ? c : [])) - : (h = c && n(c) ? c : {}), - (p[l] = a([h, u], e, r, o))) - : (void 0 !== u || r) && (p[l] = u)); - return p; - } - ((r.extendFlat = function () { - return a(arguments, !1, !1, !1); - }), - (r.extendDeep = function () { - return a(arguments, !0, !1, !1); - }), - (r.extendDeepAll = function () { - return a(arguments, !0, !0, !1); - }), - (r.extendDeepNoArrays = function () { - return a(arguments, !0, !1, !0); - })); - }, - { "./is_plain_object.js": 604 }, - ], - 592: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = {}, r = [], n = 0, i = 0; i < t.length; i++) { - var a = t[i]; - 1 !== e[a] && ((e[a] = 1), (r[n++] = a)); - } - return r; - }; - }, - {}, - ], - 593: [ - function (t, e, r) { - "use strict"; - function n(t) { - return !0 === t.visible; - } - function i(t) { - return !0 === t[0].trace.visible; - } - e.exports = function (t) { - for ( - var e, - r = - ((e = t), - Array.isArray(e) && Array.isArray(e[0]) && e[0][0] && e[0][0].trace - ? i - : n), - a = [], - o = 0; - o < t.length; - o++ - ) { - var s = t[o]; - r(s) && a.push(s); - } - return a; - }; - }, - {}, - ], - 594: [ - function (t, e, r) { - "use strict"; - var n = t("country-regex"), - i = t("../lib"), - a = Object.keys(n), - o = { - "ISO-3": i.identity, - "USA-states": i.identity, - "country names": function (t) { - for (var e = 0; e < a.length; e++) { - var r = a[e], - o = new RegExp(n[r]); - if (o.test(t.trim().toLowerCase())) return r; - } - return (i.log("Unrecognized country name: " + t + "."), !1); - }, - }; - r.locationToFeature = function (t, e, r) { - if (!e || "string" != typeof e) return !1; - var n = (function (t, e) { - return (0, o[t])(e); - })(t, e); - if (n) { - for (var a = 0; a < r.length; a++) { - var s = r[a]; - if (s.id === n) return s; - } - i.log( - [ - "Location with id", - n, - "does not have a matching topojson feature at this resolution.", - ].join(" "), - ); - } - return !1; - }; - }, - { "../lib": 602, "country-regex": 114 }, - ], - 595: [ - function (t, e, r) { - "use strict"; - var n = t("../constants/numerical").BADNUM; - ((r.calcTraceToLineCoords = function (t) { - for ( - var e = t[0].trace.connectgaps, r = [], i = [], a = 0; - a < t.length; - a++ - ) { - var o = t[a].lonlat; - o[0] !== n ? i.push(o) : !e && i.length > 0 && (r.push(i), (i = [])); - } - return (i.length > 0 && r.push(i), r); - }), - (r.makeLine = function (t) { - return 1 === t.length - ? { type: "LineString", coordinates: t[0] } - : { type: "MultiLineString", coordinates: t }; - }), - (r.makePolygon = function (t) { - if (1 === t.length) return { type: "Polygon", coordinates: t }; - for (var e = new Array(t.length), r = 0; r < t.length; r++) e[r] = [t[r]]; - return { type: "MultiPolygon", coordinates: e }; - }), - (r.makeBlank = function () { - return { type: "Point", coordinates: [] }; - })); - }, - { "../constants/numerical": 579 }, - ], - 596: [ - function (t, e, r) { - "use strict"; - var n, - i, - a, - o = t("./mod"); - function s(t, e, r, n, i, a, o, s) { - var l = r - t, - c = i - t, - u = o - i, - f = n - e, - h = a - e, - p = s - a, - d = l * p - u * f; - if (0 === d) return null; - var g = (c * p - u * h) / d, - m = (c * f - l * h) / d; - return m < 0 || m > 1 || g < 0 || g > 1 - ? null - : { x: t + l * g, y: e + f * g }; - } - function l(t, e, r, n, i) { - var a = n * t + i * e; - if (a < 0) return n * n + i * i; - if (a > r) { - var o = n - t, - s = i - e; - return o * o + s * s; - } - var l = n * e - i * t; - return (l * l) / r; - } - ((r.segmentsIntersect = s), - (r.segmentDistance = function (t, e, r, n, i, a, o, c) { - if (s(t, e, r, n, i, a, o, c)) return 0; - var u = r - t, - f = n - e, - h = o - i, - p = c - a, - d = u * u + f * f, - g = h * h + p * p, - m = Math.min( - l(u, f, d, i - t, a - e), - l(u, f, d, o - t, c - e), - l(h, p, g, t - i, e - a), - l(h, p, g, r - i, n - a), - ); - return Math.sqrt(m); - }), - (r.getTextLocation = function (t, e, r, s) { - if (((t === i && s === a) || ((n = {}), (i = t), (a = s)), n[r])) - return n[r]; - var l = t.getPointAtLength(o(r - s / 2, e)), - c = t.getPointAtLength(o(r + s / 2, e)), - u = Math.atan((c.y - l.y) / (c.x - l.x)), - f = t.getPointAtLength(o(r, e)), - h = { - x: (4 * f.x + l.x + c.x) / 6, - y: (4 * f.y + l.y + c.y) / 6, - theta: u, - }; - return ((n[r] = h), h); - }), - (r.clearLocationCache = function () { - i = null; - }), - (r.getVisibleSegment = function (t, e, r) { - var n, - i, - a = e.left, - o = e.right, - s = e.top, - l = e.bottom, - c = 0, - u = t.getTotalLength(), - f = u; - function h(e) { - var r = t.getPointAtLength(e); - 0 === e ? (n = r) : e === u && (i = r); - var c = r.x < a ? a - r.x : r.x > o ? r.x - o : 0, - f = r.y < s ? s - r.y : r.y > l ? r.y - l : 0; - return Math.sqrt(c * c + f * f); - } - for (var p = h(c); p; ) { - if ((c += p + r) > f) return; - p = h(c); - } - for (p = h(f); p; ) { - if (c > (f -= p + r)) return; - p = h(f); - } - return { - min: c, - max: f, - len: f - c, - total: u, - isClosed: - 0 === c && - f === u && - Math.abs(n.x - i.x) < 0.1 && - Math.abs(n.y - i.y) < 0.1, - }; - }), - (r.findPointOnPath = function (t, e, r, n) { - for ( - var i, - a, - o, - s = (n = n || {}).pathLength || t.getTotalLength(), - l = n.tolerance || 0.001, - c = n.iterationLimit || 30, - u = t.getPointAtLength(0)[r] > t.getPointAtLength(s)[r] ? -1 : 1, - f = 0, - h = 0, - p = s; - f < c; - - ) { - if ( - ((i = (h + p) / 2), - (o = (a = t.getPointAtLength(i))[r] - e), - Math.abs(o) < l) - ) - return a; - (u * o > 0 ? (p = i) : (h = i), f++); - } - return a; - })); - }, - { "./mod": 609 }, - ], - 597: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e; - if ("string" == typeof t) { - if (null === (e = document.getElementById(t))) - throw new Error( - "No DOM element with id '" + t + "' exists on the page.", - ); - return e; - } - if (null === t || void 0 === t) - throw new Error("DOM element provided is null or undefined"); - return t; - }; - }, - {}, - ], - 598: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("color-normalize"), - a = t("../components/colorscale"), - o = t("../components/color/attributes").defaultLine, - s = t("./is_array").isArrayOrTypedArray, - l = i(o), - c = 1; - function u(t, e) { - var r = t; - return ((r[3] *= e), r); - } - function f(t) { - if (n(t)) return l; - var e = i(t); - return e.length ? e : l; - } - function h(t) { - return n(t) ? t : c; - } - e.exports = function (t, e, r) { - var n, - o, - p, - d, - g, - m = t.color, - v = s(m), - y = s(e), - x = []; - if ( - ((n = - void 0 !== t.colorscale - ? a.makeColorScaleFunc(a.extractScale(t.colorscale, t.cmin, t.cmax)) - : f), - (o = v - ? function (t, e) { - return void 0 === t[e] ? l : i(n(t[e])); - } - : f), - (p = y - ? function (t, e) { - return void 0 === t[e] ? c : h(t[e]); - } - : h), - v || y) - ) - for (var b = 0; b < r; b++) - ((d = o(m, b)), (g = p(e, b)), (x[b] = u(d, g))); - else x = u(i(m), e); - return x; - }; - }, - { - "../components/color/attributes": 473, - "../components/colorscale": 489, - "./is_array": 603, - "color-normalize": 100, - "fast-isnumeric": 196, - }, - ], - 599: [ - function (t, e, r) { - "use strict"; - var n = t("./identity"); - function i(t) { - return [t]; - } - e.exports = { - keyFun: function (t) { - return t.key; - }, - repeat: i, - descend: n, - wrap: i, - unwrap: function (t) { - return t[0]; - }, - }; - }, - { "./identity": 601 }, - ], - 600: [ - function (t, e, r) { - "use strict"; - var n = t("superscript-text"), - i = t("../constants/string_mappings"); - e.exports = function (t) { - return ( - "" + - (function (t) { - for (var e = i.entityToUnicode, r = 0; (r = t.indexOf("&", r)) >= 0; ) { - var n = t.indexOf(";", r); - if (n < r) r += 1; - else { - var a = e[t.slice(r + 1, n)]; - t = a - ? t.slice(0, r) + a + t.slice(n + 1) - : t.slice(0, r) + t.slice(n + 1); - } - } - return t; - })( - (function (t) { - return t.replace(/\<.*\>/g, ""); - })( - (function (t) { - for (var e = 0; (e = t.indexOf("", e)) >= 0; ) { - var r = t.indexOf("", e); - if (r < e) break; - t = t.slice(0, e) + n(t.slice(e + 5, r)) + t.slice(r + 6); - } - return t; - })(t.replace(/\/g, "\n")), - ), - ) - ); - }; - }, - { "../constants/string_mappings": 580, "superscript-text": 408 }, - ], - 601: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return t; - }; - }, - {}, - ], - 602: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../constants/numerical"), - o = a.FP_SAFE, - s = a.BADNUM, - l = (e.exports = {}); - ((l.nestedProperty = t("./nested_property")), - (l.keyedContainer = t("./keyed_container")), - (l.relativeAttr = t("./relative_attr")), - (l.isPlainObject = t("./is_plain_object")), - (l.mod = t("./mod")), - (l.toLogRange = t("./to_log_range")), - (l.relinkPrivateKeys = t("./relink_private")), - (l.ensureArray = t("./ensure_array"))); - var c = t("./is_array"); - ((l.isTypedArray = c.isTypedArray), - (l.isArrayOrTypedArray = c.isArrayOrTypedArray), - (l.isArray1D = c.isArray1D)); - var u = t("./coerce"); - ((l.valObjectMeta = u.valObjectMeta), - (l.coerce = u.coerce), - (l.coerce2 = u.coerce2), - (l.coerceFont = u.coerceFont), - (l.coerceHoverinfo = u.coerceHoverinfo), - (l.coerceSelectionMarkerOpacity = u.coerceSelectionMarkerOpacity), - (l.validate = u.validate)); - var f = t("./dates"); - ((l.dateTime2ms = f.dateTime2ms), - (l.isDateTime = f.isDateTime), - (l.ms2DateTime = f.ms2DateTime), - (l.ms2DateTimeLocal = f.ms2DateTimeLocal), - (l.cleanDate = f.cleanDate), - (l.isJSDate = f.isJSDate), - (l.formatDate = f.formatDate), - (l.incrementMonth = f.incrementMonth), - (l.dateTick0 = f.dateTick0), - (l.dfltRange = f.dfltRange), - (l.findExactDates = f.findExactDates), - (l.MIN_MS = f.MIN_MS), - (l.MAX_MS = f.MAX_MS)); - var h = t("./search"); - ((l.findBin = h.findBin), - (l.sorterAsc = h.sorterAsc), - (l.sorterDes = h.sorterDes), - (l.distinctVals = h.distinctVals), - (l.roundUp = h.roundUp)); - var p = t("./stats"); - ((l.aggNums = p.aggNums), - (l.len = p.len), - (l.mean = p.mean), - (l.variance = p.variance), - (l.stdev = p.stdev), - (l.interp = p.interp)); - var d = t("./matrix"); - ((l.init2dArray = d.init2dArray), - (l.transposeRagged = d.transposeRagged), - (l.dot = d.dot), - (l.translationMatrix = d.translationMatrix), - (l.rotationMatrix = d.rotationMatrix), - (l.rotationXYMatrix = d.rotationXYMatrix), - (l.apply2DTransform = d.apply2DTransform), - (l.apply2DTransform2 = d.apply2DTransform2)); - var g = t("./angles"); - ((l.deg2rad = g.deg2rad), - (l.rad2deg = g.rad2deg), - (l.wrap360 = g.wrap360), - (l.wrap180 = g.wrap180)); - var m = t("./geometry2d"); - ((l.segmentsIntersect = m.segmentsIntersect), - (l.segmentDistance = m.segmentDistance), - (l.getTextLocation = m.getTextLocation), - (l.clearLocationCache = m.clearLocationCache), - (l.getVisibleSegment = m.getVisibleSegment), - (l.findPointOnPath = m.findPointOnPath)); - var v = t("./extend"); - ((l.extendFlat = v.extendFlat), - (l.extendDeep = v.extendDeep), - (l.extendDeepAll = v.extendDeepAll), - (l.extendDeepNoArrays = v.extendDeepNoArrays)); - var y = t("./loggers"); - ((l.log = y.log), (l.warn = y.warn), (l.error = y.error)); - var x = t("./regex"); - l.counterRegex = x.counter; - var b = t("./throttle"); - ((l.throttle = b.throttle), - (l.throttleDone = b.done), - (l.clearThrottle = b.clear), - (l.getGraphDiv = t("./get_graph_div")), - (l._ = t("./localize")), - (l.notifier = t("./notifier")), - (l.filterUnique = t("./filter_unique")), - (l.filterVisible = t("./filter_visible")), - (l.pushUnique = t("./push_unique")), - (l.cleanNumber = t("./clean_number")), - (l.ensureNumber = function (t) { - return i(t) - ? (t = Number(t)) < -o || t > o - ? s - : i(t) - ? Number(t) - : s - : s; - }), - (l.noop = t("./noop")), - (l.identity = t("./identity")), - (l.swapAttrs = function (t, e, r, n) { - (r || (r = "x"), n || (n = "y")); - for (var i = 0; i < e.length; i++) { - var a = e[i], - o = l.nestedProperty(t, a.replace("?", r)), - s = l.nestedProperty(t, a.replace("?", n)), - c = o.get(); - (o.set(s.get()), s.set(c)); - } - }), - (l.raiseToTop = function (t) { - t.parentNode.appendChild(t); - }), - (l.cancelTransition = function (t) { - return t.transition().duration(0); - }), - (l.constrain = function (t, e, r) { - return e > r ? Math.max(r, Math.min(e, t)) : Math.max(e, Math.min(r, t)); - }), - (l.bBoxIntersect = function (t, e, r) { - return ( - (r = r || 0), - t.left <= e.right + r && - e.left <= t.right + r && - t.top <= e.bottom + r && - e.top <= t.bottom + r - ); - }), - (l.simpleMap = function (t, e, r, n) { - for (var i = t.length, a = new Array(i), o = 0; o < i; o++) - a[o] = e(t[o], r, n); - return a; - }), - (l.randstr = function t(e, r, n) { - if ((n || (n = 16), void 0 === r && (r = 24), r <= 0)) return "0"; - var i, - a, - o = Math.log(Math.pow(2, r)) / Math.log(n), - s = ""; - for (i = 2; o === 1 / 0; i *= 2) - o = (Math.log(Math.pow(2, r / i)) / Math.log(n)) * i; - var l = o - Math.floor(o); - for (i = 0; i < Math.floor(o); i++) - s = Math.floor(Math.random() * n).toString(n) + s; - l && - ((a = Math.pow(n, l)), - (s = Math.floor(Math.random() * a).toString(n) + s)); - var c = parseInt(s, n); - return (e && e.indexOf(s) > -1) || (c !== 1 / 0 && c >= Math.pow(2, r)) - ? t(e, r, n) - : s; - }), - (l.OptionControl = function (t, e) { - (t || (t = {}), e || (e = "opt")); - var r = { - optionList: [], - _newoption: function (n) { - ((n[e] = t), (r[n.name] = n), r.optionList.push(n)); - }, - }; - return ((r["_" + e] = t), r); - }), - (l.smooth = function (t, e) { - if ((e = Math.round(e) || 0) < 2) return t; - var r, - n, - i, - a, - o = t.length, - s = 2 * o, - l = 2 * e - 1, - c = new Array(l), - u = new Array(o); - for (r = 0; r < l; r++) - c[r] = (1 - Math.cos((Math.PI * (r + 1)) / e)) / (2 * e); - for (r = 0; r < o; r++) { - for (a = 0, n = 0; n < l; n++) - ((i = r + n + 1 - e) < -o - ? (i -= s * Math.round(i / s)) - : i >= s && (i -= s * Math.floor(i / s)), - i < 0 ? (i = -1 - i) : i >= o && (i = s - 1 - i), - (a += t[i] * c[n])); - u[r] = a; - } - return u; - }), - (l.syncOrAsync = function (t, e, r) { - var n; - function i() { - return l.syncOrAsync(t, e, r); - } - for (; t.length; ) - if ((n = (0, t.splice(0, 1)[0])(e)) && n.then) - return n.then(i).then(void 0, l.promiseError); - return r && r(e); - }), - (l.stripTrailingSlash = function (t) { - return "/" === t.substr(-1) ? t.substr(0, t.length - 1) : t; - }), - (l.noneOrAll = function (t, e, r) { - if (t) { - var n, - i, - a = !1, - o = !0; - for (n = 0; n < r.length; n++) - void 0 !== (i = t[r[n]]) && null !== i ? (a = !0) : (o = !1); - if (a && !o) for (n = 0; n < r.length; n++) t[r[n]] = e[r[n]]; - } - }), - (l.mergeArray = function (t, e, r) { - if (l.isArrayOrTypedArray(t)) - for (var n = Math.min(t.length, e.length), i = 0; i < n; i++) - e[i][r] = t[i]; - }), - (l.fillArray = function (t, e, r, n) { - if (((n = n || l.identity), l.isArrayOrTypedArray(t))) - for (var i = 0; i < e.length; i++) e[i][r] = n(t[i]); - }), - (l.castOption = function (t, e, r, n) { - n = n || l.identity; - var i = l.nestedProperty(t, r).get(); - return l.isArrayOrTypedArray(i) - ? Array.isArray(e) && l.isArrayOrTypedArray(i[e[0]]) - ? n(i[e[0]][e[1]]) - : n(i[e]) - : i; - }), - (l.extractOption = function (t, e, r, n) { - if (r in t) return t[r]; - var i = l.nestedProperty(e, n).get(); - return Array.isArray(i) ? void 0 : i; - }), - (l.tagSelected = function (t, e, r) { - var n, - a, - o = e.selectedpoints, - s = e._indexToPoints; - if (s) - for (var l in ((n = {}), s)) - for (var c = s[l], u = 0; u < c.length; u++) n[c[u]] = l; - function f(e) { - return void 0 !== e && e < t.length; - } - for (var h = 0; h < o.length; h++) { - var p = o[h]; - if (i((a = p)) && a >= 0 && a % 1 == 0) { - var d = n ? n[p] : p, - g = r ? r[d] : d; - f(g) && (t[g].selected = 1); - } - } - }), - (l.getTargetArray = function (t, e) { - var r = e.target; - if ("string" == typeof r && r) { - var n = l.nestedProperty(t, r).get(); - return !!Array.isArray(n) && n; - } - return !!Array.isArray(r) && r; - }), - (l.minExtend = function (t, e) { - var r = {}; - "object" != typeof e && (e = {}); - var n, - i, - a, - o = Object.keys(t); - for (n = 0; n < o.length; n++) - ((a = t[(i = o[n])]), - "_" !== i.charAt(0) && - "function" != typeof a && - ("module" === i - ? (r[i] = a) - : Array.isArray(a) - ? (r[i] = a.slice(0, 3)) - : (r[i] = - a && "object" == typeof a ? l.minExtend(t[i], e[i]) : a))); - for (o = Object.keys(e), n = 0; n < o.length; n++) - ("object" == typeof (a = e[(i = o[n])]) && - i in r && - "object" == typeof r[i]) || - (r[i] = a); - return r; - }), - (l.titleCase = function (t) { - return t.charAt(0).toUpperCase() + t.substr(1); - }), - (l.containsAny = function (t, e) { - for (var r = 0; r < e.length; r++) if (-1 !== t.indexOf(e[r])) return !0; - return !1; - }), - (l.isPlotDiv = function (t) { - var e = n.select(t); - return ( - e.node() instanceof HTMLElement && - e.size() && - e.classed("js-plotly-plot") - ); - }), - (l.removeElement = function (t) { - var e = t && t.parentNode; - e && e.removeChild(t); - }), - (l.addStyleRule = function (t, e) { - if (!l.styleSheet) { - var r = document.createElement("style"); - (r.appendChild(document.createTextNode("")), - document.head.appendChild(r), - (l.styleSheet = r.sheet)); - } - var n = l.styleSheet; - n.insertRule - ? n.insertRule(t + "{" + e + "}", 0) - : n.addRule - ? n.addRule(t, e, 0) - : l.warn("addStyleRule failed"); - }), - (l.isIE = function () { - return void 0 !== window.navigator.msSaveBlob; - }), - (l.isD3Selection = function (t) { - return t && "function" == typeof t.classed; - }), - (l.ensureSingle = function (t, e, r, n) { - var i = t.select(e + (r ? "." + r : "")); - if (i.size()) return i; - var a = t.append(e).classed(r, !0); - return (n && a.call(n), a); - }), - (l.ensureSingleById = function (t, e, r, n) { - var i = t.select(e + "#" + r); - if (i.size()) return i; - var a = t.append(e).attr("id", r); - return (n && a.call(n), a); - }), - (l.objectFromPath = function (t, e) { - for (var r, n = t.split("."), i = (r = {}), a = 0; a < n.length; a++) { - var o = n[a], - s = null, - l = n[a].match(/(.*)\[([0-9]+)\]/); - l - ? ((o = l[1]), - (s = l[2]), - (r = r[o] = []), - a === n.length - 1 ? (r[s] = e) : (r[s] = {}), - (r = r[s])) - : (a === n.length - 1 ? (r[o] = e) : (r[o] = {}), (r = r[o])); - } - return i; - })); - var _ = /^([^\[\.]+)\.(.+)?/, - w = /^([^\.]+)\[([0-9]+)\](\.)?(.+)?/; - ((l.expandObjectPaths = function (t) { - var e, r, n, i, a, o, s; - if ("object" == typeof t && !Array.isArray(t)) - for (r in t) - t.hasOwnProperty(r) && - ((e = r.match(_)) - ? ((i = t[r]), - (n = e[1]), - delete t[r], - (t[n] = l.extendDeepNoArrays( - t[n] || {}, - l.objectFromPath(r, l.expandObjectPaths(i))[n], - ))) - : (e = r.match(w)) - ? ((i = t[r]), - (n = e[1]), - (a = parseInt(e[2])), - delete t[r], - (t[n] = t[n] || []), - "." === e[3] - ? ((s = e[4]), - (o = t[n][a] = t[n][a] || {}), - l.extendDeepNoArrays( - o, - l.objectFromPath(s, l.expandObjectPaths(i)), - )) - : (t[n][a] = l.expandObjectPaths(i))) - : (t[r] = l.expandObjectPaths(t[r]))); - return t; - }), - (l.numSeparate = function (t, e, r) { - if ((r || (r = !1), "string" != typeof e || 0 === e.length)) - throw new Error("Separator string required for formatting!"); - "number" == typeof t && (t = String(t)); - var n = /(\d+)(\d{3})/, - i = e.charAt(0), - a = e.charAt(1), - o = t.split("."), - s = o[0], - l = o.length > 1 ? i + o[1] : ""; - if (a && (o.length > 1 || s.length > 4 || r)) - for (; n.test(s); ) s = s.replace(n, "$1" + a + "$2"); - return s + l; - })); - var k = /%{([^\s%{}]*)}/g, - M = /^\w*$/; - l.templateString = function (t, e) { - var r = {}; - return t.replace(k, function (t, n) { - return M.test(n) - ? e[n] || "" - : ((r[n] = r[n] || l.nestedProperty(e, n).get), r[n]() || ""); - }); - }; - l.subplotSort = function (t, e) { - for ( - var r = Math.min(t.length, e.length) + 1, n = 0, i = 0, a = 0; - a < r; - a++ - ) { - var o = t.charCodeAt(a) || 0, - s = e.charCodeAt(a) || 0, - l = o >= 48 && o <= 57, - c = s >= 48 && s <= 57; - if ((l && (n = 10 * n + o - 48), c && (i = 10 * i + s - 48), !l || !c)) { - if (n !== i) return n - i; - if (o !== s) return o - s; - } - } - return i - n; - }; - var A = 2e9; - ((l.seedPseudoRandom = function () { - A = 2e9; - }), - (l.pseudoRandom = function () { - var t = A; - return ( - (A = (69069 * A + 1) % 4294967296), - Math.abs(A - t) < 429496729 ? l.pseudoRandom() : A / 4294967296 - ); - })); - }, - { - "../constants/numerical": 579, - "./angles": 584, - "./clean_number": 585, - "./coerce": 587, - "./dates": 588, - "./ensure_array": 589, - "./extend": 591, - "./filter_unique": 592, - "./filter_visible": 593, - "./geometry2d": 596, - "./get_graph_div": 597, - "./identity": 601, - "./is_array": 603, - "./is_plain_object": 604, - "./keyed_container": 605, - "./localize": 606, - "./loggers": 607, - "./matrix": 608, - "./mod": 609, - "./nested_property": 610, - "./noop": 611, - "./notifier": 612, - "./push_unique": 616, - "./regex": 618, - "./relative_attr": 619, - "./relink_private": 620, - "./search": 621, - "./stats": 624, - "./throttle": 627, - "./to_log_range": 628, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 603: [ - function (t, e, r) { - "use strict"; - var n = - "undefined" != typeof ArrayBuffer && ArrayBuffer.isView - ? ArrayBuffer - : { - isView: function () { - return !1; - }, - }, - i = "undefined" == typeof DataView ? function () {} : DataView; - function a(t) { - return n.isView(t) && !(t instanceof i); - } - function o(t) { - return Array.isArray(t) || a(t); - } - e.exports = { - isTypedArray: a, - isArrayOrTypedArray: o, - isArray1D: function (t) { - return !o(t[0]); - }, - }; - }, - {}, - ], - 604: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return window && window.process && window.process.versions - ? "[object Object]" === Object.prototype.toString.call(t) - : "[object Object]" === Object.prototype.toString.call(t) && - Object.getPrototypeOf(t) === Object.prototype; - }; - }, - {}, - ], - 605: [ - function (t, e, r) { - "use strict"; - var n = t("./nested_property"), - i = /^\w*$/; - e.exports = function (t, e, r, a) { - var o, s, l; - ((r = r || "name"), (a = a || "value")); - var c = {}; - (e && e.length ? ((l = n(t, e)), (s = l.get())) : (s = t), (e = e || "")); - var u = {}; - if (s) for (o = 0; o < s.length; o++) u[s[o][r]] = o; - var f = i.test(a), - h = { - set: function (t, e) { - var i = null === e ? 4 : 0; - if (!s) { - if (!l || 4 === i) return; - ((s = []), l.set(s)); - } - var o = u[t]; - if (void 0 === o) { - if (4 === i) return; - ((i |= 3), (o = s.length), (u[t] = o)); - } else e !== (f ? s[o][a] : n(s[o], a).get()) && (i |= 2); - var p = (s[o] = s[o] || {}); - return ( - (p[r] = t), - f ? (p[a] = e) : n(p, a).set(e), - null !== e && (i &= -5), - (c[o] = c[o] | i), - h - ); - }, - get: function (t) { - if (s) { - var e = u[t]; - return void 0 === e ? void 0 : f ? s[e][a] : n(s[e], a).get(); - } - }, - rename: function (t, e) { - var n = u[t]; - return void 0 === n - ? h - : ((c[n] = 1 | c[n]), (u[e] = n), delete u[t], (s[n][r] = e), h); - }, - remove: function (t) { - var e = u[t]; - if (void 0 === e) return h; - var i = s[e]; - if (Object.keys(i).length > 2) - return ((c[e] = 2 | c[e]), h.set(t, null)); - if (f) { - for (o = e; o < s.length; o++) c[o] = 3 | c[o]; - for (o = e; o < s.length; o++) u[s[o][r]]--; - (s.splice(e, 1), delete u[t]); - } else (n(i, a).set(null), (c[e] = 6 | c[e])); - return h; - }, - constructUpdate: function () { - for (var t, i, o = {}, l = Object.keys(c), u = 0; u < l.length; u++) - ((i = l[u]), - (t = e + "[" + i + "]"), - s[i] - ? (1 & c[i] && (o[t + "." + r] = s[i][r]), - 2 & c[i] && - (o[t + "." + a] = f - ? 4 & c[i] - ? null - : s[i][a] - : 4 & c[i] - ? null - : n(s[i], a).get())) - : (o[t] = null)); - return o; - }, - }; - return h; - }; - }, - { "./nested_property": 610 }, - ], - 606: [ - function (t, e, r) { - "use strict"; - var n = t("../registry"); - e.exports = function (t, e) { - for (var r = t._context.locale, i = 0; i < 2; i++) { - for (var a = t._context.locales, o = 0; o < 2; o++) { - var s = (a[r] || {}).dictionary; - if (s) { - var l = s[e]; - if (l) return l; - } - a = n.localeRegistry; - } - var c = r.split("-")[0]; - if (c === r) break; - r = c; - } - return e; - }; - }, - { "../registry": 732 }, - ], - 607: [ - function (t, e, r) { - "use strict"; - var n = t("../plot_api/plot_config"), - i = (e.exports = {}); - function a(t, e) { - if (t.apply) t.apply(t, e); - else for (var r = 0; r < e.length; r++) t(e[r]); - } - ((i.log = function () { - if (n.logging > 1) { - for (var t = ["LOG:"], e = 0; e < arguments.length; e++) - t.push(arguments[e]); - a(console.trace || console.log, t); - } - }), - (i.warn = function () { - if (n.logging > 0) { - for (var t = ["WARN:"], e = 0; e < arguments.length; e++) - t.push(arguments[e]); - a(console.trace || console.log, t); - } - }), - (i.error = function () { - if (n.logging > 0) { - for (var t = ["ERROR:"], e = 0; e < arguments.length; e++) - t.push(arguments[e]); - a(console.error, t); - } - })); - }, - { "../plot_api/plot_config": 638 }, - ], - 608: [ - function (t, e, r) { - "use strict"; - ((r.init2dArray = function (t, e) { - for (var r = new Array(t), n = 0; n < t; n++) r[n] = new Array(e); - return r; - }), - (r.transposeRagged = function (t) { - var e, - r, - n = 0, - i = t.length; - for (e = 0; e < i; e++) n = Math.max(n, t[e].length); - var a = new Array(n); - for (e = 0; e < n; e++) - for (a[e] = new Array(i), r = 0; r < i; r++) a[e][r] = t[r][e]; - return a; - }), - (r.dot = function (t, e) { - if (!t.length || !e.length || t.length !== e.length) return null; - var n, - i, - a = t.length; - if (t[0].length) - for (n = new Array(a), i = 0; i < a; i++) n[i] = r.dot(t[i], e); - else if (e[0].length) { - var o = r.transposeRagged(e); - for (n = new Array(o.length), i = 0; i < o.length; i++) - n[i] = r.dot(t, o[i]); - } else for (n = 0, i = 0; i < a; i++) n += t[i] * e[i]; - return n; - }), - (r.translationMatrix = function (t, e) { - return [ - [1, 0, t], - [0, 1, e], - [0, 0, 1], - ]; - }), - (r.rotationMatrix = function (t) { - var e = (t * Math.PI) / 180; - return [ - [Math.cos(e), -Math.sin(e), 0], - [Math.sin(e), Math.cos(e), 0], - [0, 0, 1], - ]; - }), - (r.rotationXYMatrix = function (t, e, n) { - return r.dot( - r.dot(r.translationMatrix(e, n), r.rotationMatrix(t)), - r.translationMatrix(-e, -n), - ); - }), - (r.apply2DTransform = function (t) { - return function () { - var e = arguments; - 3 === e.length && (e = e[0]); - var n = 1 === arguments.length ? e[0] : [e[0], e[1]]; - return r.dot(t, [n[0], n[1], 1]).slice(0, 2); - }; - }), - (r.apply2DTransform2 = function (t) { - var e = r.apply2DTransform(t); - return function (t) { - return e(t.slice(0, 2)).concat(e(t.slice(2, 4))); - }; - })); - }, - {}, - ], - 609: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = t % e; - return r < 0 ? r + e : r; - }; - }, - {}, - ], - 610: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("./is_array").isArrayOrTypedArray; - e.exports = function (t, e) { - if (n(e)) e = String(e); - else if ("string" != typeof e || "[-1]" === e.substr(e.length - 4)) - throw "bad property string"; - for (var r, a, o, l = 0, c = e.split("."); l < c.length; ) { - if ((r = String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/))) { - if (r[1]) c[l] = r[1]; - else { - if (0 !== l) throw "bad property string"; - c.splice(0, 1); - } - for ( - a = r[2].substr(1, r[2].length - 2).split("]["), o = 0; - o < a.length; - o++ - ) - (l++, c.splice(l, 0, Number(a[o]))); - } - l++; - } - return "object" != typeof t - ? (function (t, e, r) { - return { - set: function () { - throw "bad container"; - }, - get: function () {}, - astr: e, - parts: r, - obj: t, - }; - })(t, e, c) - : { - set: s(t, c, e), - get: (function t(e, r) { - return function () { - var n, - a, - o, - s, - l, - c = e; - for (s = 0; s < r.length - 1; s++) { - if (-1 === (n = r[s])) { - for (a = !0, o = [], l = 0; l < c.length; l++) - ((o[l] = t(c[l], r.slice(s + 1))()), - o[l] !== o[0] && (a = !1)); - return a ? o[0] : o; - } - if ("number" == typeof n && !i(c)) return; - if ("object" != typeof (c = c[n]) || null === c) return; - } - if ("object" == typeof c && null !== c && null !== (o = c[r[s]])) - return o; - }; - })(t, c), - astr: e, - parts: c, - obj: t, - }; - }; - var a = /(^|\.)args\[/; - function o(t, e) { - return void 0 === t || (null === t && !e.match(a)); - } - function s(t, e, r) { - return function (n) { - var a, - s, - f = t, - h = "", - p = [[t, h]], - d = o(n, r); - for (s = 0; s < e.length - 1; s++) { - if ("number" == typeof (a = e[s]) && !i(f)) - throw "array index but container is not an array"; - if (-1 === a) { - if ((d = !c(f, e.slice(s + 1), n, r))) break; - return; - } - if (!u(f, a, e[s + 1], d)) break; - if ("object" != typeof (f = f[a]) || null === f) - throw "container is not an object"; - ((h = l(h, a)), p.push([f, h])); - } - if (d) { - if ( - s === e.length - 1 && - (delete f[e[s]], Array.isArray(f) && +e[s] == f.length - 1) - ) - for (; f.length && void 0 === f[f.length - 1]; ) f.pop(); - } else f[e[s]] = n; - }; - } - function l(t, e) { - var r = e; - return (n(e) ? (r = "[" + e + "]") : t && (r = "." + e), t + r); - } - function c(t, e, r, n) { - var a, - l = i(r), - c = !0, - f = r, - h = n.replace("-1", 0), - p = !l && o(r, h), - d = e[0]; - for (a = 0; a < t.length; a++) - ((h = n.replace("-1", a)), - l && (p = o((f = r[a % r.length]), h)), - p && (c = !1), - u(t, a, d, p) && s(t[a], e, n.replace("-1", a))(f)); - return c; - } - function u(t, e, r, n) { - if (void 0 === t[e]) { - if (n) return !1; - t[e] = "number" == typeof r ? [] : {}; - } - return !0; - } - }, - { "./is_array": 603, "fast-isnumeric": 196 }, - ], - 611: [ - function (t, e, r) { - "use strict"; - e.exports = function () {}; - }, - {}, - ], - 612: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = []; - e.exports = function (t, e) { - if (-1 === a.indexOf(t)) { - a.push(t); - var r = 1e3; - i(e) ? (r = e) : "long" === e && (r = 3e3); - var o = n.select("body").selectAll(".plotly-notifier").data([0]); - (o.enter().append("div").classed("plotly-notifier", !0), - o - .selectAll(".notifier-note") - .data(a) - .enter() - .append("div") - .classed("notifier-note", !0) - .style("opacity", 0) - .each(function (t) { - var e = n.select(this); - e.append("button") - .classed("notifier-close", !0) - .html("×") - .on("click", function () { - e.transition().call(s); - }); - for ( - var i = e.append("p"), a = t.split(//g), o = 0; - o < a.length; - o++ - ) - (o && i.append("br"), i.append("span").text(a[o])); - e.transition() - .duration(700) - .style("opacity", 1) - .transition() - .delay(r) - .call(s); - })); - } - function s(t) { - t.duration(700) - .style("opacity", 0) - .each("end", function (t) { - var e = a.indexOf(t); - (-1 !== e && a.splice(e, 1), n.select(this).remove()); - }); - } - }; - }, - { d3: 130, "fast-isnumeric": 196 }, - ], - 613: [ - function (t, e, r) { - "use strict"; - var n = t("./setcursor"), - i = "data-savedcursor"; - e.exports = function (t, e) { - var r = t.attr(i); - if (e) { - if (!r) { - for ( - var a = (t.attr("class") || "").split(" "), o = 0; - o < a.length; - o++ - ) { - var s = a[o]; - 0 === s.indexOf("cursor-") && t.attr(i, s.substr(7)).classed(s, !1); - } - t.attr(i) || t.attr(i, "!!"); - } - n(t, e); - } else r && (t.attr(i, null), "!!" === r ? n(t) : n(t, r)); - }; - }, - { "./setcursor": 622 }, - ], - 614: [ - function (t, e, r) { - "use strict"; - var n = t("./matrix").dot, - i = t("../constants/numerical").BADNUM, - a = (e.exports = {}); - ((a.tester = function (t) { - if (Array.isArray(t[0][0])) return a.multitester(t); - var e, - r = t.slice(), - n = r[0][0], - o = n, - s = r[0][1], - l = s; - for (r.push(r[0]), e = 1; e < r.length; e++) - ((n = Math.min(n, r[e][0])), - (o = Math.max(o, r[e][0])), - (s = Math.min(s, r[e][1])), - (l = Math.max(l, r[e][1]))); - var c, - u = !1; - 5 === r.length && - (r[0][0] === r[1][0] - ? r[2][0] === r[3][0] && - r[0][1] === r[3][1] && - r[1][1] === r[2][1] && - ((u = !0), - (c = function (t) { - return t[0] === r[0][0]; - })) - : r[0][1] === r[1][1] && - r[2][1] === r[3][1] && - r[0][0] === r[3][0] && - r[1][0] === r[2][0] && - ((u = !0), - (c = function (t) { - return t[1] === r[0][1]; - }))); - var f = !0, - h = r[0]; - for (e = 1; e < r.length; e++) - if (h[0] !== r[e][0] || h[1] !== r[e][1]) { - f = !1; - break; - } - return { - xmin: n, - xmax: o, - ymin: s, - ymax: l, - pts: r, - contains: u - ? function (t, e) { - var r = t[0], - a = t[1]; - return !( - r === i || - r < n || - r > o || - a === i || - a < s || - a > l || - (e && c(t)) - ); - } - : function (t, e) { - var a = t[0], - c = t[1]; - if (a === i || a < n || a > o || c === i || c < s || c > l) - return !1; - var u, - f, - h, - p, - d, - g = r.length, - m = r[0][0], - v = r[0][1], - y = 0; - for (u = 1; u < g; u++) - if ( - ((f = m), - (h = v), - (m = r[u][0]), - (v = r[u][1]), - !( - a < (p = Math.min(f, m)) || - a > Math.max(f, m) || - c > Math.max(h, v) - )) - ) - if (c < Math.min(h, v)) a !== p && y++; - else { - if ( - c === (d = m === f ? c : h + ((a - f) * (v - h)) / (m - f)) - ) - return 1 !== u || !e; - c <= d && a !== p && y++; - } - return y % 2 == 1; - }, - isRect: u, - degenerate: f, - }; - }), - (a.multitester = function (t) { - for ( - var e = [], r = t[0][0][0], n = r, i = t[0][0][1], o = i, s = 0; - s < t.length; - s++ - ) { - var l = a.tester(t[s]); - ((l.subtract = t[s].subtract), - e.push(l), - (r = Math.min(r, l.xmin)), - (n = Math.max(n, l.xmax)), - (i = Math.min(i, l.ymin)), - (o = Math.max(o, l.ymax))); - } - return { - xmin: r, - xmax: n, - ymin: i, - ymax: o, - pts: [], - contains: function (t, r) { - for (var n = !1, i = 0; i < e.length; i++) - e[i].contains(t, r) && (n = !1 === e[i].subtract); - return n; - }, - isRect: !1, - degenerate: !1, - }; - })); - var o = (a.isSegmentBent = function (t, e, r, i) { - var a, - o, - s, - l = t[e], - c = [t[r][0] - l[0], t[r][1] - l[1]], - u = n(c, c), - f = Math.sqrt(u), - h = [-c[1] / f, c[0] / f]; - for (a = e + 1; a < r; a++) - if ( - ((o = [t[a][0] - l[0], t[a][1] - l[1]]), - (s = n(o, c)) < 0 || s > u || Math.abs(n(o, h)) > i) - ) - return !0; - return !1; - }); - a.filter = function (t, e) { - var r = [t[0]], - n = 0, - i = 0; - function a(a) { - t.push(a); - var s = r.length, - l = n; - r.splice(i + 1); - for (var c = l + 1; c < t.length; c++) - (c === t.length - 1 || o(t, l, c + 1, e)) && - (r.push(t[c]), - r.length < s - 2 && ((n = c), (i = r.length - 1)), - (l = c)); - } - t.length > 1 && a(t.pop()); - return { addPt: a, raw: t, filtered: r }; - }; - }, - { "../constants/numerical": 579, "./matrix": 608 }, - ], - 615: [ - function (t, e, r) { - (function (r) { - "use strict"; - var n = t("regl"); - e.exports = function (t, e) { - t._fullLayout._glcanvas.each(function (i) { - i.regl || - (i.regl = n({ - canvas: this, - attributes: { antialias: !i.pick, preserveDrawingBuffer: !0 }, - pixelRatio: t._context.plotGlPixelRatio || r.devicePixelRatio, - extensions: e || [], - })); - }); - }; - }).call( - this, - "undefined" != typeof global - ? global - : "undefined" != typeof self - ? self - : "undefined" != typeof window - ? window - : {}, - ); - }, - { regl: 380 }, - ], - 616: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - if (e instanceof RegExp) { - var r, - n = e.toString(); - for (r = 0; r < t.length; r++) - if (t[r] instanceof RegExp && t[r].toString() === n) return t; - t.push(e); - } else (!e && 0 !== e) || -1 !== t.indexOf(e) || t.push(e); - return t; - }; - }, - {}, - ], - 617: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("../plot_api/plot_config"); - var a = { - add: function (t, e, r, n, a) { - var o, s; - ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), - (s = t.undoQueue.index), - t.autoplay - ? t.undoQueue.inSequence || (t.autoplay = !1) - : (!t.undoQueue.sequence || t.undoQueue.beginSequence - ? ((o = { - undo: { calls: [], args: [] }, - redo: { calls: [], args: [] }, - }), - t.undoQueue.queue.splice(s, t.undoQueue.queue.length - s, o), - (t.undoQueue.index += 1)) - : (o = t.undoQueue.queue[s - 1]), - (t.undoQueue.beginSequence = !1), - o && - (o.undo.calls.unshift(e), - o.undo.args.unshift(r), - o.redo.calls.push(n), - o.redo.args.push(a)), - t.undoQueue.queue.length > i.queueLength && - (t.undoQueue.queue.shift(), t.undoQueue.index--))); - }, - startSequence: function (t) { - ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), - (t.undoQueue.sequence = !0), - (t.undoQueue.beginSequence = !0)); - }, - stopSequence: function (t) { - ((t.undoQueue = t.undoQueue || { index: 0, queue: [], sequence: !1 }), - (t.undoQueue.sequence = !1), - (t.undoQueue.beginSequence = !1)); - }, - undo: function (t) { - var e, r; - if (t.framework && t.framework.isPolar) t.framework.undo(); - else if ( - !( - void 0 === t.undoQueue || - isNaN(t.undoQueue.index) || - t.undoQueue.index <= 0 - ) - ) { - for ( - t.undoQueue.index--, - e = t.undoQueue.queue[t.undoQueue.index], - t.undoQueue.inSequence = !0, - r = 0; - r < e.undo.calls.length; - r++ - ) - a.plotDo(t, e.undo.calls[r], e.undo.args[r]); - ((t.undoQueue.inSequence = !1), (t.autoplay = !1)); - } - }, - redo: function (t) { - var e, r; - if (t.framework && t.framework.isPolar) t.framework.redo(); - else if ( - !( - void 0 === t.undoQueue || - isNaN(t.undoQueue.index) || - t.undoQueue.index >= t.undoQueue.queue.length - ) - ) { - for ( - e = t.undoQueue.queue[t.undoQueue.index], - t.undoQueue.inSequence = !0, - r = 0; - r < e.redo.calls.length; - r++ - ) - a.plotDo(t, e.redo.calls[r], e.redo.args[r]); - ((t.undoQueue.inSequence = !1), (t.autoplay = !1), t.undoQueue.index++); - } - }, - }; - ((a.plotDo = function (t, e, r) { - ((t.autoplay = !0), - (r = (function (t, e) { - for (var r, i = [], a = 0; a < e.length; a++) - ((r = e[a]), - (i[a] = - r === t - ? r - : "object" == typeof r - ? Array.isArray(r) - ? n.extendDeep([], r) - : n.extendDeepAll({}, r) - : r)); - return i; - })(t, r)), - e.apply(null, r)); - }), - (e.exports = a)); - }, - { "../lib": 602, "../plot_api/plot_config": 638 }, - ], - 618: [ - function (t, e, r) { - "use strict"; - r.counter = function (t, e, r) { - var n = (e || "") + (r ? "" : "$"); - return "xy" === t - ? new RegExp("^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?" + n) - : new RegExp("^" + t + "([2-9]|[1-9][0-9]+)?" + n); - }; - }, - {}, - ], - 619: [ - function (t, e, r) { - "use strict"; - var n = /^(.*)(\.[^\.\[\]]+|\[\d\])$/, - i = /^[^\.\[\]]+$/; - e.exports = function (t, e) { - for (; e; ) { - var r = t.match(n); - if (r) t = r[1]; - else { - if (!t.match(i)) throw new Error("bad relativeAttr call:" + [t, e]); - t = ""; - } - if ("^" !== e.charAt(0)) break; - e = e.slice(1); - } - return t && "[" !== e.charAt(0) ? t + "." + e : t + e; - }; - }, - {}, - ], - 620: [ - function (t, e, r) { - "use strict"; - var n = t("./is_array").isArrayOrTypedArray, - i = t("./is_plain_object"); - e.exports = function t(e, r) { - for (var a in r) { - var o = r[a], - s = e[a]; - if (s !== o) - if ("_" === a.charAt(0) || "function" == typeof o) { - if (a in e) continue; - e[a] = o; - } else if (n(o) && n(s) && i(o[0])) { - if ("customdata" === a || "ids" === a) continue; - for (var l = Math.min(o.length, s.length), c = 0; c < l; c++) - s[c] !== o[c] && i(o[c]) && i(s[c]) && t(s[c], o[c]); - } else i(o) && i(s) && (t(s, o), Object.keys(s).length || delete e[a]); - } - }; - }, - { "./is_array": 603, "./is_plain_object": 604 }, - ], - 621: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("./loggers"); - function a(t, e) { - return t < e; - } - function o(t, e) { - return t <= e; - } - function s(t, e) { - return t > e; - } - function l(t, e) { - return t >= e; - } - ((r.findBin = function (t, e, r) { - if (n(e.start)) - return r - ? Math.ceil((t - e.start) / e.size - 1e-9) - 1 - : Math.floor((t - e.start) / e.size + 1e-9); - var c, - u, - f = 0, - h = e.length, - p = 0, - d = h > 1 ? (e[h - 1] - e[0]) / (h - 1) : 1; - for ( - u = d >= 0 ? (r ? a : o) : r ? l : s, - t += 1e-9 * d * (r ? -1 : 1) * (d >= 0 ? 1 : -1); - f < h && p++ < 100; - - ) - u(e[(c = Math.floor((f + h) / 2))], t) ? (f = c + 1) : (h = c); - return (p > 90 && i.log("Long binary search..."), f - 1); - }), - (r.sorterAsc = function (t, e) { - return t - e; - }), - (r.sorterDes = function (t, e) { - return e - t; - }), - (r.distinctVals = function (t) { - var e = t.slice(); - e.sort(r.sorterAsc); - for ( - var n = e.length - 1, - i = e[n] - e[0] || 1, - a = i / (n || 1) / 1e4, - o = [e[0]], - s = 0; - s < n; - s++ - ) - e[s + 1] > e[s] + a && - ((i = Math.min(i, e[s + 1] - e[s])), o.push(e[s + 1])); - return { vals: o, minDiff: i }; - }), - (r.roundUp = function (t, e, r) { - for ( - var n, - i = 0, - a = e.length - 1, - o = 0, - s = r ? 0 : 1, - l = r ? 1 : 0, - c = r ? Math.ceil : Math.floor; - i < a && o++ < 100; - - ) - e[(n = c((i + a) / 2))] <= t ? (i = n + s) : (a = n - l); - return e[i]; - })); - }, - { "./loggers": 607, "fast-isnumeric": 196 }, - ], - 622: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - ((t.attr("class") || "").split(" ").forEach(function (e) { - 0 === e.indexOf("cursor-") && t.classed(e, !1); - }), - e && t.classed("cursor-" + e, !0)); - }; - }, - {}, - ], - 623: [ - function (t, e, r) { - "use strict"; - var n = t("../components/color"), - i = function () {}; - e.exports = function (t) { - for (var e in t) "function" == typeof t[e] && (t[e] = i); - t.destroy = function () { - t.container.parentNode.removeChild(t.container); - }; - var r = document.createElement("div"); - return ( - (r.textContent = - "Webgl is not supported by your browser - visit http://get.webgl.org for more info"), - (r.style.cursor = "pointer"), - (r.style.fontSize = "24px"), - (r.style.color = n.defaults[0]), - t.container.appendChild(r), - (t.container.style.background = "#FFFFFF"), - (t.container.onclick = function () { - window.open("http://get.webgl.org"); - }), - !1 - ); - }; - }, - { "../components/color": 474 }, - ], - 624: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("./is_array").isArrayOrTypedArray; - ((r.aggNums = function (t, e, a, o) { - var s, l; - if (((!o || o > a.length) && (o = a.length), n(e) || (e = !1), i(a[0]))) { - for (l = new Array(o), s = 0; s < o; s++) l[s] = r.aggNums(t, e, a[s]); - a = l; - } - for (s = 0; s < o; s++) n(e) ? n(a[s]) && (e = t(+e, +a[s])) : (e = a[s]); - return e; - }), - (r.len = function (t) { - return r.aggNums( - function (t) { - return t + 1; - }, - 0, - t, - ); - }), - (r.mean = function (t, e) { - return ( - e || (e = r.len(t)), - r.aggNums( - function (t, e) { - return t + e; - }, - 0, - t, - ) / e - ); - }), - (r.variance = function (t, e, i) { - return ( - e || (e = r.len(t)), - n(i) || (i = r.mean(t, e)), - r.aggNums( - function (t, e) { - return t + Math.pow(e - i, 2); - }, - 0, - t, - ) / e - ); - }), - (r.stdev = function (t, e, n) { - return Math.sqrt(r.variance(t, e, n)); - }), - (r.interp = function (t, e) { - if (!n(e)) throw "n should be a finite number"; - if ((e = e * t.length - 0.5) < 0) return t[0]; - if (e > t.length - 1) return t[t.length - 1]; - var r = e % 1; - return r * t[Math.ceil(e)] + (1 - r) * t[Math.floor(e)]; - })); - }, - { "./is_array": 603, "fast-isnumeric": 196 }, - ], - 625: [ - function (t, e, r) { - "use strict"; - var n = t("color-normalize"); - e.exports = function (t) { - return t ? n(t) : [0, 0, 0, 1]; - }; - }, - { "color-normalize": 100 }, - ], - 626: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../lib"), - a = t("../constants/xmlns_namespaces"), - o = t("../constants/string_mappings"), - s = t("../constants/alignment").LINE_SPACING; - function l(t, e) { - return t.node().getBoundingClientRect()[e]; - } - var c = /([^$]*)([$]+[^$]*[$]+)([^$]*)/; - r.convertToTspans = function (t, e, o) { - var v = t.text(), - E = !t.attr("data-notex") && "undefined" != typeof MathJax && v.match(c), - L = n.select(t.node().parentNode); - if (!L.empty()) { - var z = t.attr("class") ? t.attr("class").split(" ")[0] : "text"; - return ( - (z += "-math"), - L.selectAll("svg." + z).remove(), - L.selectAll("g." + z + "-group").remove(), - t - .style("display", null) - .attr({ "data-unformatted": v, "data-math": "N" }), - E - ? ((e && e._promises) || []).push( - new Promise(function (e) { - t.style("display", "none"); - var r = parseInt(t.node().style.fontSize, 10), - a = { fontSize: r }; - !(function (t, e, r) { - var a = "math-output-" + i.randstr([], 64), - o = n - .select("body") - .append("div") - .attr({ id: a }) - .style({ visibility: "hidden", position: "absolute" }) - .style({ "font-size": e.fontSize + "px" }) - .text( - ((s = t), s.replace(u, "\\lt ").replace(f, "\\gt ")), - ); - var s; - MathJax.Hub.Queue( - ["Typeset", MathJax.Hub, o.node()], - function () { - var e = n.select("body").select("#MathJax_SVG_glyphs"); - if ( - o.select(".MathJax_SVG").empty() || - !o.select("svg").node() - ) - (i.log("There was an error in the tex syntax.", t), - r()); - else { - var a = o.select("svg").node().getBoundingClientRect(); - r(o.select(".MathJax_SVG"), e, a); - } - o.remove(); - }, - ); - })(E[2], a, function (n, i, a) { - (L.selectAll("svg." + z).remove(), - L.selectAll("g." + z + "-group").remove()); - var s = n && n.select("svg"); - if (!s || !s.node()) return (P(), void e()); - var c = L.append("g") - .classed(z + "-group", !0) - .attr({ - "pointer-events": "none", - "data-unformatted": v, - "data-math": "Y", - }); - (c.node().appendChild(s.node()), - i && - i.node() && - s - .node() - .insertBefore( - i.node().cloneNode(!0), - s.node().firstChild, - ), - s - .attr({ - class: z, - height: a.height, - preserveAspectRatio: "xMinYMin meet", - }) - .style({ - overflow: "visible", - "pointer-events": "none", - })); - var u = t.node().style.fill || "black"; - s.select("g").attr({ fill: u, stroke: u }); - var f = l(s, "width"), - h = l(s, "height"), - p = - +t.attr("x") - - f * - { start: 0, middle: 0.5, end: 1 }[ - t.attr("text-anchor") || "start" - ], - d = -(r || l(t, "height")) / 4; - ("y" === z[0] - ? (c.attr({ - transform: - "rotate(" + - [-90, +t.attr("x"), +t.attr("y")] + - ") translate(" + - [-f / 2, d - h / 2] + - ")", - }), - s.attr({ x: +t.attr("x"), y: +t.attr("y") })) - : "l" === z[0] - ? s.attr({ x: t.attr("x"), y: d - h / 2 }) - : "a" === z[0] - ? s.attr({ x: 0, y: d }) - : s.attr({ x: p, y: +t.attr("y") + d - h / 2 }), - o && o.call(t, c), - e(c)); - }); - }), - ) - : P(), - t - ); - } - function P() { - (L.empty() || - ((z = t.attr("class") + "-math"), L.select("svg." + z).remove()), - t.text("").style("white-space", "pre"), - (function (t, e) { - e = ((r = e), - (function (t, e) { - if (!t) return ""; - for (var r = 0; r < e.length; r++) { - var n = e[r]; - t = t.replace(n.regExp, n.sub); - } - return t; - })(r, y)).replace(x, " "); - var r; - var o, - l = !1, - c = [], - u = -1; - function f() { - u++; - var e = document.createElementNS(a.svg, "tspan"); - (n.select(e).attr({ class: "line", dy: u * s + "em" }), - t.appendChild(e), - (o = e)); - var r = c; - if (((c = [{ node: e }]), r.length > 1)) - for (var i = 1; i < r.length; i++) v(r[i]); - } - function v(t) { - var e, - r = t.type, - i = {}; - if ("a" === r) { - e = "a"; - var s = t.target, - l = t.href, - u = t.popup; - l && - ((i = { - "xlink:xlink:show": - "_blank" === s || "_" !== s.charAt(0) ? "new" : "replace", - target: s, - "xlink:xlink:href": l, - }), - u && - (i.onclick = - 'window.open(this.href.baseVal,this.target.baseVal,"' + - u + - '");return false;')); - } else e = "tspan"; - t.style && (i.style = t.style); - var f = document.createElementNS(a.svg, e); - if ("sup" === r || "sub" === r) { - (E(o, g), o.appendChild(f)); - var h = document.createElementNS(a.svg, "tspan"); - (E(h, g), - n.select(h).attr("dy", d[r]), - (i.dy = p[r]), - o.appendChild(f), - o.appendChild(h)); - } else o.appendChild(f); - (n.select(f).attr(i), (o = t.node = f), c.push(t)); - } - function E(t, e) { - t.appendChild(document.createTextNode(e)); - } - function L(t) { - if (1 !== c.length) { - var r = c.pop(); - (t !== r.type && - i.log( - "Start tag <" + - r.type + - "> doesnt match end tag <" + - t + - ">. Pretending it did match.", - e, - ), - (o = c[c.length - 1].node)); - } else i.log("Ignoring unexpected end tag .", e); - } - w.test(e) ? f() : ((o = t), (c = [{ node: t }])); - for (var z = e.split(b), P = 0; P < z.length; P++) { - var D = z[P], - O = D.match(_), - I = O && O[2].toLowerCase(), - R = h[I]; - if ("br" === I) f(); - else if (void 0 === R) E(o, D); - else if (O[1]) L(I); - else { - var B = O[4], - F = { type: I }, - N = S(B, k); - if ( - (N - ? ((N = N.replace(C, "$1 fill:")), R && (N += ";" + R)) - : R && (N = R), - N && (F.style = N), - "a" === I) - ) { - l = !0; - var j = S(B, M); - if (j) { - var V = document.createElement("a"); - ((V.href = j), - -1 !== m.indexOf(V.protocol) && - ((F.href = encodeURI(decodeURI(j))), - (F.target = S(B, A) || "_blank"), - (F.popup = S(B, T)))); - } - } - v(F); - } - } - return l; - })(t.node(), v) && t.style("pointer-events", "all"), - r.positionText(t), - o && o.call(t)); - } - }; - var u = /(<|<|<)/g, - f = /(>|>|>)/g; - var h = { - sup: "font-size:70%", - sub: "font-size:70%", - b: "font-weight:bold", - i: "font-style:italic", - a: "cursor:pointer", - span: "", - em: "font-style:italic;font-weight:bold", - }, - p = { sub: "0.3em", sup: "-0.6em" }, - d = { sub: "-0.21em", sup: "0.42em" }, - g = "\u200b", - m = ["http:", "https:", "mailto:", "", void 0, ":"], - v = new RegExp("]*)?/?>", "g"), - y = Object.keys(o.entityToUnicode).map(function (t) { - return { - regExp: new RegExp("&" + t + ";", "g"), - sub: o.entityToUnicode[t], - }; - }), - x = /(\r\n?|\n)/g, - b = /(<[^<>]*>)/, - _ = /<(\/?)([^ >]*)(\s+(.*))?>/i, - w = //i, - k = /(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i, - M = /(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i, - A = /(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i, - T = /(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i; - function S(t, e) { - if (!t) return null; - var r = t.match(e); - return r && (r[3] || r[4]); - } - var C = /(^|;)\s*color:/; - function E(t, e, r) { - var n, - i, - a, - o = r.horizontalAlign, - s = r.verticalAlign || "top", - l = t.node().getBoundingClientRect(), - c = e.node().getBoundingClientRect(); - return ( - (i = - "bottom" === s - ? function () { - return l.bottom - n.height; - } - : "middle" === s - ? function () { - return l.top + (l.height - n.height) / 2; - } - : function () { - return l.top; - }), - (a = - "right" === o - ? function () { - return l.right - n.width; - } - : "center" === o - ? function () { - return l.left + (l.width - n.width) / 2; - } - : function () { - return l.left; - }), - function () { - return ( - (n = this.node().getBoundingClientRect()), - this.style({ - top: i() - c.top + "px", - left: a() - c.left + "px", - "z-index": 1e3, - }), - this - ); - } - ); - } - ((r.plainText = function (t) { - return (t || "").replace(v, " "); - }), - (r.lineCount = function (t) { - return t.selectAll("tspan.line").size() || 1; - }), - (r.positionText = function (t, e, r) { - return t.each(function () { - var t = n.select(this); - function i(e, r) { - return ( - void 0 === r - ? null === (r = t.attr(e)) && (t.attr(e, 0), (r = 0)) - : t.attr(e, r), - r - ); - } - var a = i("x", e), - o = i("y", r); - "text" === this.nodeName && - t.selectAll("tspan.line").attr({ x: a, y: o }); - }); - }), - (r.makeEditable = function (t, e) { - var r = e.gd, - i = e.delegate, - a = n.dispatch("edit", "input", "cancel"), - o = i || t; - if ((t.style({ "pointer-events": i ? "none" : "all" }), 1 !== t.size())) - throw new Error("boo"); - function s() { - (!(function () { - var i = n.select(r).select(".svg-container"), - o = i.append("div"), - s = t.node().style, - c = parseFloat(s.fontSize || 12), - u = e.text; - void 0 === u && (u = t.attr("data-unformatted")); - o.classed("plugin-editable editable", !0) - .style({ - position: "absolute", - "font-family": s.fontFamily || "Arial", - "font-size": c, - color: e.fill || s.fill || "black", - opacity: 1, - "background-color": e.background || "transparent", - outline: "#ffffff33 1px solid", - margin: [-c / 8 + 1, 0, 0, -1].join("px ") + "px", - padding: "0", - "box-sizing": "border-box", - }) - .attr({ contenteditable: !0 }) - .text(u) - .call(E(t, i, e)) - .on("blur", function () { - ((r._editing = !1), - t.text(this.textContent).style({ opacity: 1 })); - var e, - i = n.select(this).attr("class"); - (e = i - ? "." + i.split(" ")[0] + "-math-group" - : "[class*=-math-group]") && - n.select(t.node().parentNode).select(e).style({ opacity: 0 }); - var o = this.textContent; - (n.select(this).transition().duration(0).remove(), - n.select(document).on("mouseup", null), - a.edit.call(t, o)); - }) - .on("focus", function () { - var t = this; - ((r._editing = !0), - n.select(document).on("mouseup", function () { - if (n.event.target === t) return !1; - document.activeElement === o.node() && o.node().blur(); - })); - }) - .on("keyup", function () { - 27 === n.event.which - ? ((r._editing = !1), - t.style({ opacity: 1 }), - n - .select(this) - .style({ opacity: 0 }) - .on("blur", function () { - return !1; - }) - .transition() - .remove(), - a.cancel.call(t, this.textContent)) - : (a.input.call(t, this.textContent), - n.select(this).call(E(t, i, e))); - }) - .on("keydown", function () { - 13 === n.event.which && this.blur(); - }) - .call(l); - })(), - t.style({ opacity: 0 })); - var i, - s = o.attr("class"); - (i = s - ? "." + s.split(" ")[0] + "-math-group" - : "[class*=-math-group]") && - n.select(t.node().parentNode).select(i).style({ opacity: 0 }); - } - function l(t) { - var e = t.node(), - r = document.createRange(); - r.selectNodeContents(e); - var n = window.getSelection(); - (n.removeAllRanges(), n.addRange(r), e.focus()); - } - return (e.immediate ? s() : o.on("click", s), n.rebind(t, a, "on")); - })); - }, - { - "../constants/alignment": 574, - "../constants/string_mappings": 580, - "../constants/xmlns_namespaces": 581, - "../lib": 602, - d3: 130, - }, - ], - 627: [ - function (t, e, r) { - "use strict"; - var n = {}; - function i(t) { - t && null !== t.timer && (clearTimeout(t.timer), (t.timer = null)); - } - ((r.throttle = function (t, e, r) { - var a = n[t], - o = Date.now(); - if (!a) { - for (var s in n) n[s].ts < o - 6e4 && delete n[s]; - a = n[t] = { ts: 0, timer: null }; - } - function l() { - (r(), (a.ts = Date.now()), a.onDone && (a.onDone(), (a.onDone = null))); - } - (i(a), - o > a.ts + e - ? l() - : (a.timer = setTimeout(function () { - (l(), (a.timer = null)); - }, e))); - }), - (r.done = function (t) { - var e = n[t]; - return e && e.timer - ? new Promise(function (t) { - var r = e.onDone; - e.onDone = function () { - (r && r(), t(), (e.onDone = null)); - }; - }) - : Promise.resolve(); - }), - (r.clear = function (t) { - if (t) (i(n[t]), delete n[t]); - else for (var e in n) r.clear(e); - })); - }, - {}, - ], - 628: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"); - e.exports = function (t, e) { - if (t > 0) return Math.log(t) / Math.LN10; - var r = Math.log(Math.min(e[0], e[1])) / Math.LN10; - return (n(r) || (r = Math.log(Math.max(e[0], e[1])) / Math.LN10 - 6), r); - }; - }, - { "fast-isnumeric": 196 }, - ], - 629: [ - function (t, e, r) { - "use strict"; - var n = (e.exports = {}), - i = t("../plots/geo/constants").locationmodeToLayer, - a = t("topojson-client").feature; - ((n.getTopojsonName = function (t) { - return [t.scope.replace(/ /g, "-"), "_", t.resolution.toString(), "m"].join( - "", - ); - }), - (n.getTopojsonPath = function (t, e) { - return t + e + ".json"; - }), - (n.getTopojsonFeatures = function (t, e) { - var r = i[t.locationmode], - n = e.objects[r]; - return a(e, n).features; - })); - }, - { "../plots/geo/constants": 676, "topojson-client": 418 }, - ], - 630: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "locale", - name: "en-US", - dictionary: { - "Click to enter Colorscale title": "Click to enter Colorscale title", - }, - format: { date: "%m/%d/%Y" }, - }; - }, - {}, - ], - 631: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "locale", - name: "en", - dictionary: { - "Click to enter Colorscale title": "Click to enter Colourscale title", - }, - format: { - days: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - ], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ], - shortMonths: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ], - periods: ["AM", "PM"], - dateTime: "%a %b %e %X %Y", - date: "%d/%m/%Y", - time: "%H:%M:%S", - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""], - year: "%Y", - month: "%b %Y", - dayMonth: "%b %-d", - dayMonthYear: "%b %-d, %Y", - }, - }; - }, - {}, - ], - 632: [ - function (t, e, r) { - "use strict"; - var n = t("../registry"); - e.exports = function (t) { - for ( - var e, - r, - i = n.layoutArrayContainers, - a = n.layoutArrayRegexes, - o = t.split("[")[0], - s = 0; - s < a.length; - s++ - ) - if ((r = t.match(a[s])) && 0 === r.index) { - e = r[0]; - break; - } - if ((e || (e = i[i.indexOf(o)]), !e)) return !1; - var l = t.substr(e.length); - return l - ? !!(r = l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/)) && { - array: e, - index: Number(r[1]), - property: r[3] || "", - } - : { array: e, index: "", property: "" }; - }; - }, - { "../registry": 732 }, - ], - 633: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = n.extendFlat, - a = n.isPlainObject, - o = { - valType: "flaglist", - extras: ["none"], - flags: [ - "calc", - "calcIfAutorange", - "clearAxisTypes", - "plot", - "style", - "colorbars", - ], - }, - s = { - valType: "flaglist", - extras: ["none"], - flags: [ - "calc", - "calcIfAutorange", - "plot", - "legend", - "ticks", - "axrange", - "margins", - "layoutstyle", - "modebar", - "camera", - "arraydraw", - ], - }, - l = o.flags.slice().concat(["clearCalc", "fullReplot"]), - c = s.flags.slice().concat("layoutReplot"); - function u(t) { - for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = !1; - return e; - } - function f(t, e, r) { - var n = i({}, t); - for (var o in n) { - var s = n[o]; - a(s) && (n[o] = h(s, e, r, o)); - } - return ("from-root" === r && (n.editType = e), n); - } - function h(t, e, r, n) { - if (t.valType) { - var a = i({}, t); - if (((a.editType = e), Array.isArray(t.items))) { - a.items = new Array(t.items.length); - for (var o = 0; o < t.items.length; o++) - a.items[o] = h(t.items[o], e, "from-root"); - } - return a; - } - return f(t, e, "_" === n.charAt(0) ? "nested" : "from-root"); - } - e.exports = { - traces: o, - layout: s, - traceFlags: function () { - return u(l); - }, - layoutFlags: function () { - return u(c); - }, - update: function (t, e) { - var r = e.editType; - if (r && "none" !== r) - for (var n = r.split("+"), i = 0; i < n.length; i++) t[n[i]] = !0; - }, - overrideAll: f, - }; - }, - { "../lib": 602 }, - ], - 634: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("gl-mat4/fromQuat"), - a = t("../registry"), - o = t("../lib"), - s = t("../plots/plots"), - l = t("../plots/cartesian/axis_ids"), - c = l.cleanId, - u = l.getFromTrace, - f = t("../components/color"); - function h(t, e) { - var r = t[e], - n = e.charAt(0); - r && "paper" !== r && (t[e] = c(r, n)); - } - function p(t) { - if (!o.isPlainObject(t)) return !1; - var e = t.name; - return ( - delete t.name, - delete t.showlegend, - ("string" == typeof e || "number" == typeof e) && String(e) - ); - } - function d(t, e, r, n) { - if (r && !n) return t; - if (n && !r) return e; - if (!t.trim()) return e; - if (!e.trim()) return t; - var i, - a = Math.min(t.length, e.length); - for (i = 0; i < a && t.charAt(i) === e.charAt(i); i++); - return t.substr(0, i).trim(); - } - function g(t) { - var e = "middle", - r = "center"; - return ( - -1 !== t.indexOf("top") - ? (e = "top") - : -1 !== t.indexOf("bottom") && (e = "bottom"), - -1 !== t.indexOf("left") - ? (r = "left") - : -1 !== t.indexOf("right") && (r = "right"), - e + " " + r - ); - } - function m(t, e) { - return e in t && "object" == typeof t[e] && 0 === Object.keys(t[e]).length; - } - ((r.clearPromiseQueue = function (t) { - (Array.isArray(t._promises) && - t._promises.length > 0 && - o.log("Clearing previous rejected promises from queue."), - (t._promises = [])); - }), - (r.cleanLayout = function (t) { - var e, r; - (t || (t = {}), - t.xaxis1 && (t.xaxis || (t.xaxis = t.xaxis1), delete t.xaxis1), - t.yaxis1 && (t.yaxis || (t.yaxis = t.yaxis1), delete t.yaxis1), - t.scene1 && (t.scene || (t.scene = t.scene1), delete t.scene1)); - var n = (s.subplotsRegistry.cartesian || {}).attrRegex, - a = (s.subplotsRegistry.gl3d || {}).attrRegex, - l = Object.keys(t); - for (e = 0; e < l.length; e++) { - var u = l[e]; - if (n && n.test(u)) { - var p = t[u]; - (p.anchor && "free" !== p.anchor && (p.anchor = c(p.anchor)), - p.overlaying && (p.overlaying = c(p.overlaying)), - p.type || - (p.isdate - ? (p.type = "date") - : p.islog - ? (p.type = "log") - : !1 === p.isdate && !1 === p.islog && (p.type = "linear")), - ("withzero" !== p.autorange && "tozero" !== p.autorange) || - ((p.autorange = !0), (p.rangemode = "tozero")), - delete p.islog, - delete p.isdate, - delete p.categories, - m(p, "domain") && delete p.domain, - void 0 !== p.autotick && - (void 0 === p.tickmode && - (p.tickmode = p.autotick ? "auto" : "linear"), - delete p.autotick)); - } else if (a && a.test(u)) { - var d = t[u], - g = d.cameraposition; - if (Array.isArray(g) && 4 === g[0].length) { - var v = g[0], - y = g[1], - x = g[2], - b = i([], v), - _ = []; - for (r = 0; r < 3; ++r) _[r] = y[r] + x * b[2 + 4 * r]; - ((d.camera = { - eye: { x: _[0], y: _[1], z: _[2] }, - center: { x: y[0], y: y[1], z: y[2] }, - up: { x: b[1], y: b[5], z: b[9] }, - }), - delete d.cameraposition); - } - } - } - var w = Array.isArray(t.annotations) ? t.annotations.length : 0; - for (e = 0; e < w; e++) { - var k = t.annotations[e]; - o.isPlainObject(k) && - (k.ref && - ("paper" === k.ref - ? ((k.xref = "paper"), (k.yref = "paper")) - : "data" === k.ref && ((k.xref = "x"), (k.yref = "y")), - delete k.ref), - h(k, "xref"), - h(k, "yref")); - } - var M = Array.isArray(t.shapes) ? t.shapes.length : 0; - for (e = 0; e < M; e++) { - var A = t.shapes[e]; - o.isPlainObject(A) && (h(A, "xref"), h(A, "yref")); - } - var T = t.legend; - return ( - T && - (T.x > 3 - ? ((T.x = 1.02), (T.xanchor = "left")) - : T.x < -2 && ((T.x = -0.02), (T.xanchor = "right")), - T.y > 3 - ? ((T.y = 1.02), (T.yanchor = "bottom")) - : T.y < -2 && ((T.y = -0.02), (T.yanchor = "top"))), - "rotate" === t.dragmode && (t.dragmode = "orbit"), - f.clean(t), - t - ); - }), - (r.cleanData = function (t, e) { - for ( - var n = [], - i = t - .concat(Array.isArray(e) ? e : []) - .filter(function (t) { - return ("uid" in t); - }) - .map(function (t) { - return t.uid; - }), - l = 0; - l < t.length; - l++ - ) { - var u, - h = t[l]; - if (!("uid" in h) || -1 !== n.indexOf(h.uid)) { - var v; - for ( - u = 0; - u < 100 && ((v = o.randstr(i)), -1 !== n.indexOf(v)); - u++ - ); - ((h.uid = o.randstr(i)), i.push(h.uid)); - } - if ( - (n.push(h.uid), - "histogramy" === h.type && - "xbins" in h && - !("ybins" in h) && - ((h.ybins = h.xbins), delete h.xbins), - h.error_y && "opacity" in h.error_y) - ) { - var y = f.defaults, - x = - h.error_y.color || - (a.traceIs(h, "bar") ? f.defaultLine : y[l % y.length]); - ((h.error_y.color = f.addOpacity( - f.rgb(x), - f.opacity(x) * h.error_y.opacity, - )), - delete h.error_y.opacity); - } - if ( - ("bardir" in h && - ("h" !== h.bardir || - (!a.traceIs(h, "bar") && "histogram" !== h.type.substr(0, 9)) || - ((h.orientation = "h"), r.swapXYData(h)), - delete h.bardir), - "histogramy" === h.type && r.swapXYData(h), - ("histogramx" !== h.type && "histogramy" !== h.type) || - (h.type = "histogram"), - "scl" in h && ((h.colorscale = h.scl), delete h.scl), - "reversescl" in h && - ((h.reversescale = h.reversescl), delete h.reversescl), - h.xaxis && (h.xaxis = c(h.xaxis, "x")), - h.yaxis && (h.yaxis = c(h.yaxis, "y")), - a.traceIs(h, "gl3d") && - h.scene && - (h.scene = s.subplotsRegistry.gl3d.cleanId(h.scene)), - !a.traceIs(h, "pie") && !a.traceIs(h, "bar")) - ) - if (Array.isArray(h.textposition)) - for (u = 0; u < h.textposition.length; u++) - h.textposition[u] = g(h.textposition[u]); - else h.textposition && (h.textposition = g(h.textposition)); - if ( - (a.traceIs(h, "2dMap") && - ("YIGnBu" === h.colorscale && (h.colorscale = "YlGnBu"), - "YIOrRd" === h.colorscale && (h.colorscale = "YlOrRd")), - a.traceIs(h, "markerColorscale") && h.marker) - ) { - var b = h.marker; - ("YIGnBu" === b.colorscale && (b.colorscale = "YlGnBu"), - "YIOrRd" === b.colorscale && (b.colorscale = "YlOrRd")); - } - if ("surface" === h.type && o.isPlainObject(h.contours)) { - var _ = ["x", "y", "z"]; - for (u = 0; u < _.length; u++) { - var w = h.contours[_[u]]; - o.isPlainObject(w) && - (w.highlightColor && - ((w.highlightcolor = w.highlightColor), - delete w.highlightColor), - w.highlightWidth && - ((w.highlightwidth = w.highlightWidth), - delete w.highlightWidth)); - } - } - if ("candlestick" === h.type || "ohlc" === h.type) { - var k = !1 !== (h.increasing || {}).showlegend, - M = !1 !== (h.decreasing || {}).showlegend, - A = p(h.increasing), - T = p(h.decreasing); - if (!1 !== A && !1 !== T) { - var S = d(A, T, k, M); - S && (h.name = S); - } else (!A && !T) || h.name || (h.name = A || T); - } - if (Array.isArray(h.transforms)) { - var C = h.transforms; - for (u = 0; u < C.length; u++) { - var E = C[u]; - if (o.isPlainObject(E)) - switch (E.type) { - case "filter": - (E.filtersrc && - ((E.target = E.filtersrc), delete E.filtersrc), - E.calendar && - (E.valuecalendar || (E.valuecalendar = E.calendar), - delete E.calendar)); - break; - case "groupby": - if ( - ((E.styles = E.styles || E.style), - E.styles && !Array.isArray(E.styles)) - ) { - var L = E.styles, - z = Object.keys(L); - E.styles = []; - for (var P = 0; P < z.length; P++) - E.styles.push({ target: z[P], value: L[z[P]] }); - } - } - } - } - (m(h, "line") && delete h.line, - "marker" in h && - (m(h.marker, "line") && delete h.marker.line, - m(h, "marker") && delete h.marker), - f.clean(h)); - } - }), - (r.swapXYData = function (t) { - var e; - if ( - (o.swapAttrs(t, [ - "?", - "?0", - "d?", - "?bins", - "nbins?", - "autobin?", - "?src", - "error_?", - ]), - Array.isArray(t.z) && - Array.isArray(t.z[0]) && - (t.transpose ? delete t.transpose : (t.transpose = !0)), - t.error_x && t.error_y) - ) { - var r = t.error_y, - n = - "copy_ystyle" in r - ? r.copy_ystyle - : !(r.color || r.thickness || r.width); - (o.swapAttrs(t, ["error_?.copy_ystyle"]), - n && - o.swapAttrs(t, [ - "error_?.color", - "error_?.thickness", - "error_?.width", - ])); - } - if ("string" == typeof t.hoverinfo) { - var i = t.hoverinfo.split("+"); - for (e = 0; e < i.length; e++) - "x" === i[e] ? (i[e] = "y") : "y" === i[e] && (i[e] = "x"); - t.hoverinfo = i.join("+"); - } - }), - (r.coerceTraceIndices = function (t, e) { - return n(e) - ? [e] - : Array.isArray(e) && e.length - ? e - : t.data.map(function (t, e) { - return e; - }); - }), - (r.manageArrayContainers = function (t, e, r) { - var i = t.obj, - a = t.parts, - s = a.length, - l = a[s - 1], - c = n(l); - if (c && null === e) { - var u = a.slice(0, s - 1).join("."); - o.nestedProperty(i, u).get().splice(l, 1); - } else - c && void 0 === t.get() - ? (void 0 === t.get() && (r[t.astr] = null), t.set(e)) - : t.set(e); - })); - var v = /(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/; - function y(t) { - var e = t.search(v); - if (e > 0) return t.substr(0, e); - } - r.hasParent = function (t, e) { - for (var r = y(e); r; ) { - if (r in t) return !0; - r = y(r); - } - return !1; - }; - var x = ["x", "y", "z"]; - ((r.clearAxisTypes = function (t, e, r) { - for (var n = 0; n < e.length; n++) - for (var i = t._fullData[n], a = 0; a < 3; a++) { - var s = u(t, i, x[a]); - if (s && "log" !== s.type) { - var l = s._name, - c = s._id.substr(1); - if ("scene" === c.substr(0, 5)) { - if (void 0 !== r[c]) continue; - l = c + "." + l; - } - var f = l + ".type"; - void 0 === r[l] && - void 0 === r[f] && - o.nestedProperty(t.layout, f).set(null); - } - } - }), - (r.clearAxisAutomargins = function (t) { - for ( - var e = Object.keys(t._fullLayout._pushmargin), r = 0; - r < e.length; - r++ - ) - -1 !== e[r].indexOf("automargin") && - delete t._fullLayout._pushmargin[e[r]]; - })); - }, - { - "../components/color": 474, - "../lib": 602, - "../plots/cartesian/axis_ids": 651, - "../plots/plots": 710, - "../registry": 732, - "fast-isnumeric": 196, - "gl-mat4/fromQuat": 227, - }, - ], - 635: [ - function (t, e, r) { - "use strict"; - var n = t("./plot_api"); - ((r.plot = n.plot), - (r.newPlot = n.newPlot), - (r.restyle = n.restyle), - (r.relayout = n.relayout), - (r.redraw = n.redraw), - (r.update = n.update), - (r.react = n.react), - (r.extendTraces = n.extendTraces), - (r.prependTraces = n.prependTraces), - (r.addTraces = n.addTraces), - (r.deleteTraces = n.deleteTraces), - (r.moveTraces = n.moveTraces), - (r.purge = n.purge), - (r.addFrames = n.addFrames), - (r.deleteFrames = n.deleteFrames), - (r.animate = n.animate), - (r.setPlotConfig = n.setPlotConfig), - (r.toImage = t("./to_image")), - (r.validate = t("./validate")), - (r.downloadImage = t("../snapshot/download"))); - }, - { - "../snapshot/download": 734, - "./plot_api": 637, - "./to_image": 641, - "./validate": 642, - }, - ], - 636: [ - function (t, e, r) { - "use strict"; - var n = t("../lib/nested_property"), - i = t("../lib/is_plain_object"), - a = t("../lib/noop"), - o = t("../lib/loggers"), - s = t("../lib/search").sorterAsc, - l = t("../registry"); - r.containerArrayMatch = t("./container_array_match"); - var c = (r.isAddVal = function (t) { - return "add" === t || i(t); - }), - u = (r.isRemoveVal = function (t) { - return null === t || "remove" === t; - }); - r.applyContainerArrayChanges = function (t, e, r, i) { - var f = e.astr, - h = l.getComponentMethod(f, "supplyLayoutDefaults"), - p = l.getComponentMethod(f, "draw"), - d = l.getComponentMethod(f, "drawOne"), - g = i.replot || i.recalc || h === a || p === a, - m = t.layout, - v = t._fullLayout; - if (r[""]) { - Object.keys(r).length > 1 && - o.warn("Full array edits are incompatible with other edits", f); - var y = r[""][""]; - if (u(y)) e.set(null); - else { - if (!Array.isArray(y)) - return (o.warn("Unrecognized full array edit value", f, y), !0); - e.set(y); - } - return !g && (h(m, v), p(t), !0); - } - var x, - b, - _, - w, - k, - M, - A, - T = Object.keys(r).map(Number).sort(s), - S = e.get(), - C = S || [], - E = n(v, f).get(), - L = [], - z = -1, - P = C.length; - for (x = 0; x < T.length; x++) - if ( - ((w = r[(_ = T[x])]), - (k = Object.keys(w)), - (M = w[""]), - (A = c(M)), - _ < 0 || _ > C.length - (A ? 0 : 1)) - ) - o.warn("index out of range", f, _); - else if (void 0 !== M) - (k.length > 1 && - o.warn( - "Insertion & removal are incompatible with edits to the same index.", - f, - _, - ), - u(M) - ? L.push(_) - : A - ? ("add" === M && (M = {}), - C.splice(_, 0, M), - E && E.splice(_, 0, {})) - : o.warn("Unrecognized full object edit value", f, _, M), - -1 === z && (z = _)); - else for (b = 0; b < k.length; b++) n(C[_], k[b]).set(w[k[b]]); - for (x = L.length - 1; x >= 0; x--) - (C.splice(L[x], 1), E && E.splice(L[x], 1)); - if ((C.length ? S || e.set(C) : e.set(null), g)) return !1; - if ((h(m, v), d !== a)) { - var D; - if (-1 === z) D = T; - else { - for ( - P = Math.max(C.length, P), D = [], x = 0; - x < T.length && !((_ = T[x]) >= z); - x++ - ) - D.push(_); - for (x = z; x < P; x++) D.push(x); - } - for (x = 0; x < D.length; x++) d(t, D[x]); - } else p(t); - return !0; - }; - }, - { - "../lib/is_plain_object": 604, - "../lib/loggers": 607, - "../lib/nested_property": 610, - "../lib/noop": 611, - "../lib/search": 621, - "../registry": 732, - "./container_array_match": 632, - }, - ], - 637: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("has-hover"), - o = t("../lib"), - s = t("../lib/events"), - l = t("../lib/queue"), - c = t("../registry"), - u = t("./plot_schema"), - f = t("../plots/plots"), - h = t("../plots/polar/legacy"), - p = t("../plots/cartesian/axes"), - d = t("../components/drawing"), - g = t("../components/color"), - m = t("../plots/cartesian/graph_interact").initInteractions, - v = t("../constants/xmlns_namespaces"), - y = t("../lib/svg_text_utils"), - x = t("./plot_config"), - b = t("./manage_arrays"), - _ = t("./helpers"), - w = t("./subroutines"), - k = t("./edit_types"), - M = t("../plots/cartesian/constants").AX_NAME_PATTERN, - A = 0; - function T(t, e) { - try { - t._fullLayout._paper.style("background", e); - } catch (t) { - o.error(t); - } - } - function S(t, e) { - T(t, g.combine(e, "white")); - } - function C(t, e) { - t._context || (t._context = o.extendDeep({}, x)); - var r, - n, - i, - s = t._context; - if (e) { - for (n = Object.keys(e), r = 0; r < n.length; r++) - "editable" !== (i = n[r]) && - "edits" !== i && - i in s && - ("setBackground" === i && "opaque" === e[i] - ? (s[i] = S) - : (s[i] = e[i])); - e.plot3dPixelRatio && - !s.plotGlPixelRatio && - (s.plotGlPixelRatio = s.plot3dPixelRatio); - var l = e.editable; - if (void 0 !== l) - for (s.editable = l, n = Object.keys(s.edits), r = 0; r < n.length; r++) - s.edits[n[r]] = l; - if (e.edits) - for (n = Object.keys(e.edits), r = 0; r < n.length; r++) - (i = n[r]) in s.edits && (s.edits[i] = e.edits[i]); - } - (s.staticPlot && - ((s.editable = !1), - (s.edits = {}), - (s.autosizable = !1), - (s.scrollZoom = !1), - (s.doubleClick = !1), - (s.showTips = !1), - (s.showLink = !1), - (s.displayModeBar = !1)), - "hover" !== s.displayModeBar || a || (s.displayModeBar = !0), - ("transparent" !== s.setBackground && - "function" == typeof s.setBackground) || - (s.setBackground = T)); - } - function E(t, e) { - var r, - n, - i = e + 1, - a = []; - for (r = 0; r < t.length; r++) (n = t[r]) < 0 ? a.push(i + n) : a.push(n); - return a; - } - function L(t, e, r) { - var n, i; - for (n = 0; n < e.length; n++) { - if ((i = e[n]) !== parseInt(i, 10)) - throw new Error("all values in " + r + " must be integers"); - if (i >= t.data.length || i < -t.data.length) - throw new Error(r + " must be valid indices for gd.data."); - if ( - e.indexOf(i, n + 1) > -1 || - (i >= 0 && e.indexOf(-t.data.length + i) > -1) || - (i < 0 && e.indexOf(t.data.length + i) > -1) - ) - throw new Error("each index in " + r + " must be unique."); - } - } - function z(t, e, r) { - if (!Array.isArray(t.data)) throw new Error("gd.data must be an array."); - if (void 0 === e) throw new Error("currentIndices is a required argument."); - if ( - (Array.isArray(e) || (e = [e]), - L(t, e, "currentIndices"), - void 0 === r || Array.isArray(r) || (r = [r]), - void 0 !== r && L(t, r, "newIndices"), - void 0 !== r && e.length !== r.length) - ) - throw new Error("current and new indices must be of equal length."); - } - function P(t, e, r, n, a) { - !(function (t, e, r, n) { - var i = o.isPlainObject(n); - if (!Array.isArray(t.data)) throw new Error("gd.data must be an array"); - if (!o.isPlainObject(e)) - throw new Error("update must be a key:value object"); - if (void 0 === r) - throw new Error("indices must be an integer or array of integers"); - for (var a in (L(t, r, "indices"), e)) { - if (!Array.isArray(e[a]) || e[a].length !== r.length) - throw new Error( - "attribute " + - a + - " must be an array of length equal to indices array length", - ); - if ( - i && - (!(a in n) || !Array.isArray(n[a]) || n[a].length !== e[a].length) - ) - throw new Error( - "when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object", - ); - } - })(t, e, r, n); - for ( - var s = (function (t, e, r, n) { - var a, - s, - l, - c, - u, - f = o.isPlainObject(n), - h = []; - for (var p in (Array.isArray(r) || (r = [r]), - (r = E(r, t.data.length - 1)), - e)) - for (var d = 0; d < r.length; d++) { - if ( - ((a = t.data[r[d]]), - (s = (l = o.nestedProperty(a, p)).get()), - (c = e[p][d]), - !o.isArrayOrTypedArray(c)) - ) - throw new Error( - "attribute: " + p + " index: " + d + " must be an array", - ); - if (!o.isArrayOrTypedArray(s)) - throw new Error( - "cannot extend missing or non-array attribute: " + p, - ); - if (s.constructor !== c.constructor) - throw new Error( - "cannot extend array with an array of a different type: " + p, - ); - ((u = f ? n[p][d] : n), - i(u) || (u = -1), - h.push({ prop: l, target: s, insert: c, maxp: Math.floor(u) })); - } - return h; - })(t, e, r, n), - l = {}, - c = {}, - u = 0; - u < s.length; - u++ - ) { - var f = s[u].prop, - h = s[u].maxp, - p = a(s[u].target, s[u].insert, h); - (f.set(p[0]), - Array.isArray(l[f.astr]) || (l[f.astr] = []), - l[f.astr].push(p[1]), - Array.isArray(c[f.astr]) || (c[f.astr] = []), - c[f.astr].push(s[u].target.length)); - } - return { update: l, maxPoints: c }; - } - function D(t, e) { - var r = new t.constructor(t.length + e.length); - return (r.set(t), r.set(e, t.length), r); - } - function O(t) { - return void 0 === t ? null : t; - } - function I(t, e, r) { - var n, - i, - a = t._fullLayout, - s = t._fullData, - l = t.data, - h = k.traceFlags(), - d = {}, - g = {}; - function m() { - return r.map(function () {}); - } - function v(t) { - var e = p.id2name(t); - -1 === i.indexOf(e) && i.push(e); - } - function y(t) { - return "LAYOUT" + t + ".autorange"; - } - function x(t) { - return "LAYOUT" + t + ".range"; - } - function b(n, i, a) { - var s; - Array.isArray(n) - ? n.forEach(function (t) { - b(t, i, a); - }) - : n in e || - _.hasParent(e, n) || - ((s = - "LAYOUT" === n.substr(0, 6) - ? o.nestedProperty(t.layout, n.replace("LAYOUT", "")) - : o.nestedProperty(l[r[a]], n)), - n in g || (g[n] = m()), - void 0 === g[n][a] && (g[n][a] = O(s.get())), - void 0 !== i && s.set(i)); - } - for (var w in e) { - if (_.hasParent(e, w)) - throw new Error( - "cannot set " + w + "and a parent attribute simultaneously", - ); - var M, - A, - T, - S, - C, - E, - L = e[w]; - if (((d[w] = L), "LAYOUT" !== w.substr(0, 6))) { - for (g[w] = m(), n = 0; n < r.length; n++) - if ( - ((M = l[r[n]]), - (A = s[r[n]]), - (S = (T = o.nestedProperty(M, w)).get()), - void 0 !== (C = Array.isArray(L) ? L[n % L.length] : L)) - ) { - if ( - (E = u.getTraceValObject(A, T.parts)) && - E.impliedEdits && - null !== C - ) - for (var z in E.impliedEdits) - b(o.relativeAttr(w, z), E.impliedEdits[z], n); - else if ( - "colorbar.thicknessmode" === w && - T.get() !== C && - -1 !== ["fraction", "pixels"].indexOf(C) && - A.colorbar - ) { - var P = - -1 !== ["top", "bottom"].indexOf(A.colorbar.orient) - ? a.height - a.margin.t - a.margin.b - : a.width - a.margin.l - a.margin.r; - b( - "colorbar.thickness", - A.colorbar.thickness * ("fraction" === C ? 1 / P : P), - n, - ); - } else if ( - "colorbar.lenmode" === w && - T.get() !== C && - -1 !== ["fraction", "pixels"].indexOf(C) && - A.colorbar - ) { - var D = - -1 !== ["top", "bottom"].indexOf(A.colorbar.orient) - ? a.width - a.margin.l - a.margin.r - : a.height - a.margin.t - a.margin.b; - b( - "colorbar.len", - A.colorbar.len * ("fraction" === C ? 1 / D : D), - n, - ); - } else - ("colorbar.tick0" !== w && "colorbar.dtick" !== w) || - b("colorbar.tickmode", "linear", n); - if ("type" === w && ("pie" === C) != ("pie" === S)) { - var I = "x", - R = "y"; - (("bar" !== C && "bar" !== S) || - "h" !== M.orientation || - ((I = "y"), (R = "x")), - o.swapAttrs(M, ["?", "?src"], "labels", I), - o.swapAttrs(M, ["d?", "?0"], "label", I), - o.swapAttrs(M, ["?", "?src"], "values", R), - "pie" === S - ? (o - .nestedProperty(M, "marker.color") - .set(o.nestedProperty(M, "marker.colors").get()), - a._pielayer.selectAll("g.trace").remove()) - : c.traceIs(M, "cartesian") && - o - .nestedProperty(M, "marker.colors") - .set(o.nestedProperty(M, "marker.color").get())); - } - g[w][n] = O(S); - if ( - -1 !== - [ - "swapxy", - "swapxyaxes", - "orientation", - "orientationaxes", - ].indexOf(w) - ) { - if ("orientation" === w) { - T.set(C); - var B = M.x && !M.y ? "h" : "v"; - if ((T.get() || B) === A.orientation) continue; - } else - "orientationaxes" === w && - (M.orientation = { v: "h", h: "v" }[A.orientation]); - (_.swapXYData(M), (h.calc = h.clearAxisTypes = !0)); - } else - -1 !== f.dataArrayContainers.indexOf(T.parts[0]) - ? (_.manageArrayContainers(T, C, g), (h.calc = !0)) - : (E - ? E.arrayOk && - (o.isArrayOrTypedArray(C) || o.isArrayOrTypedArray(S)) - ? (h.calc = !0) - : k.update(h, E) - : (h.calc = !0), - T.set(C)); - } - if ( - (-1 !== ["swapxyaxes", "orientationaxes"].indexOf(w) && p.swap(t, r), - "orientationaxes" === w) - ) { - var F = o.nestedProperty(t.layout, "hovermode"); - "x" === F.get() ? F.set("y") : "y" === F.get() && F.set("x"); - } - if (-1 !== ["orientation", "type"].indexOf(w)) { - for (i = [], n = 0; n < r.length; n++) { - var N = l[r[n]]; - c.traceIs(N, "cartesian") && - (v(N.xaxis || "x"), - v(N.yaxis || "y"), - "type" === w && b(["autobinx", "autobiny"], !0, n)); - } - (b(i.map(y), !0, 0), b(i.map(x), [0, 1], 0)); - } - } else - ((T = o.nestedProperty(t.layout, w.replace("LAYOUT", ""))), - (g[w] = [O(T.get())]), - T.set(Array.isArray(L) ? L[0] : L), - (h.calc = !0)); - } - var j = !1, - V = p.list(t); - for (n = 0; n < V.length; n++) - if (V[n].autorange) { - j = !0; - break; - } - return ( - (h.calc || (h.calcIfAutorange && j)) && (h.clearCalc = !0), - (h.calc || h.plot || h.calcIfAutorange) && (h.fullReplot = !0), - { - flags: h, - undoit: g, - redoit: d, - traces: r, - eventData: o.extendDeepNoArrays([], [d, r]), - } - ); - } - function R(t, e) { - var r, - n, - i, - a = t.layout, - s = t._fullLayout, - l = Object.keys(e), - f = p.list(t), - h = {}; - for (n = 0; n < l.length; n++) - if (0 === l[n].indexOf("allaxes")) { - for (i = 0; i < f.length; i++) { - var d = f[i]._id.substr(1), - g = -1 !== d.indexOf("scene") ? d + "." : "", - m = l[n].replace("allaxes", g + f[i]._name); - e[m] || (e[m] = e[l[n]]); - } - delete e[l[n]]; - } - var v = k.layoutFlags(), - y = {}, - x = {}; - function w(t, r) { - if (Array.isArray(t)) - t.forEach(function (t) { - w(t, r); - }); - else if (!(t in e || _.hasParent(e, t))) { - var n = o.nestedProperty(a, t); - (t in x || (x[t] = O(n.get())), void 0 !== r && n.set(r)); - } - } - var A, - T = {}; - function S(t) { - var e = p.name2id(t.split(".")[0]); - return ((T[e] = 1), e); - } - for (var C in e) { - if (_.hasParent(e, C)) - throw new Error( - "cannot set " + C + "and a parent attribute simultaneously", - ); - for ( - var E = o.nestedProperty(a, C), L = e[C], z = E.parts.length, P = z - 1; - P > 0 && "string" != typeof E.parts[z - 1]; - - ) - P--; - var D = E.parts[P], - I = E.parts[P - 1] + "." + D, - R = E.parts.slice(0, P).join("."), - N = o.nestedProperty(t.layout, R).get(), - j = o.nestedProperty(s, R).get(), - V = E.get(); - if (void 0 !== L) { - ((y[C] = L), (x[C] = "reverse" === D ? L : O(V))); - var U = u.getLayoutValObject(s, E.parts); - if (U && U.impliedEdits && null !== L) - for (var q in U.impliedEdits) - w(o.relativeAttr(C, q), U.impliedEdits[q]); - if (-1 !== ["width", "height"].indexOf(C) && null === L) - s[C] = t._initialAutoSize[C]; - else if (I.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/)) - (S(I), o.nestedProperty(s, R + "._inputRange").set(null)); - else if (I.match(/^[xyz]axis[0-9]*\.autorange$/)) { - (S(I), o.nestedProperty(s, R + "._inputRange").set(null)); - var H = o.nestedProperty(s, R).get(); - H._inputDomain && (H._input.domain = H._inputDomain.slice()); - } else - I.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/) && - o.nestedProperty(s, R + "._inputDomain").set(null); - if ("type" === D) { - var G = N, - W = "linear" === j.type && "log" === L, - Y = "log" === j.type && "linear" === L; - if (W || Y) { - if (G && G.range) - if (j.autorange) - W && (G.range = G.range[1] > G.range[0] ? [1, 2] : [2, 1]); - else { - var X = G.range[0], - Z = G.range[1]; - W - ? (X <= 0 && Z <= 0 && w(R + ".autorange", !0), - X <= 0 ? (X = Z / 1e6) : Z <= 0 && (Z = X / 1e6), - w(R + ".range[0]", Math.log(X) / Math.LN10), - w(R + ".range[1]", Math.log(Z) / Math.LN10)) - : (w(R + ".range[0]", Math.pow(10, X)), - w(R + ".range[1]", Math.pow(10, Z))); - } - else w(R + ".autorange", !0); - (Array.isArray(s._subplots.polar) && - s._subplots.polar.length && - s[E.parts[0]] && - "radialaxis" === E.parts[1] && - delete s[E.parts[0]]._subplot.viewInitial["radialaxis.range"], - c.getComponentMethod("annotations", "convertCoords")(t, j, L, w), - c.getComponentMethod("images", "convertCoords")(t, j, L, w)); - } else (w(R + ".autorange", !0), w(R + ".range", null)); - o.nestedProperty(s, R + "._inputRange").set(null); - } else if (D.match(M)) { - var J = o.nestedProperty(s, C).get(), - K = (L || {}).type; - ((K && "-" !== K) || (K = "linear"), - c.getComponentMethod("annotations", "convertCoords")(t, J, K, w), - c.getComponentMethod("images", "convertCoords")(t, J, K, w)); - } - var Q = b.containerArrayMatch(C); - if (Q) { - ((r = Q.array), (n = Q.index)); - var $ = Q.property, - tt = (o.nestedProperty(a, r) || [])[n] || {}, - et = tt, - rt = U || { editType: "calc" }, - nt = -1 !== rt.editType.indexOf("calcIfAutorange"); - ("" === n - ? (nt ? (v.calc = !0) : k.update(v, rt), (nt = !1)) - : "" === $ && - ((et = L), - b.isAddVal(L) - ? (x[C] = null) - : b.isRemoveVal(L) - ? ((x[C] = tt), (et = tt)) - : o.warn("unrecognized full object value", e)), - nt && (F(t, et, "x") || F(t, et, "y")) - ? (v.calc = !0) - : k.update(v, rt), - h[r] || (h[r] = {})); - var it = h[r][n]; - (it || (it = h[r][n] = {}), (it[$] = L), delete e[C]); - } else - "reverse" === D - ? (N.range - ? N.range.reverse() - : (w(R + ".autorange", !0), (N.range = [1, 0])), - j.autorange ? (v.calc = !0) : (v.plot = !0)) - : (s._has("scatter-like") && - s._has("regl") && - "dragmode" === C && - ("lasso" === L || "select" === L) && - "lasso" !== V && - "select" !== V - ? (v.plot = !0) - : U - ? k.update(v, U) - : (v.calc = !0), - E.set(L)); - } - } - for (r in h) { - b.applyContainerArrayChanges(t, o.nestedProperty(a, r), h[r], v) || - (v.plot = !0); - } - var at = s._axisConstraintGroups || []; - for (A in T) - for (n = 0; n < at.length; n++) { - var ot = at[n]; - if (ot[A]) - for (var st in ((v.calc = !0), ot)) - T[st] || (p.getFromId(t, st)._constraintShrinkable = !0); - } - return ( - (B(t) || e.height || e.width) && (v.plot = !0), - (v.plot || v.calc) && (v.layoutReplot = !0), - { flags: v, undoit: x, redoit: y, eventData: o.extendDeep({}, y) } - ); - } - function B(t) { - var e = t._fullLayout, - r = e.width, - n = e.height; - return ( - t.layout.autosize && f.plotAutoSize(t, t.layout, e), - e.width !== r || e.height !== n - ); - } - function F(t, e, r) { - if (!o.isPlainObject(e)) return !1; - var n = e[r + "ref"] || r, - i = p.getFromId(t, n); - return ( - i || n.charAt(0) !== r || (i = p.getFromId(t, r)), - (i || {}).autorange - ); - } - function N(t, e, r, n) { - var i, - a, - s = n.getValObject, - l = n.flags, - c = n.immutable, - u = n.inArray, - f = n.arrayIndex, - h = n.gd, - p = n.autoranged; - function d() { - var t = i.editType; - -1 !== t.indexOf("calcIfAutorange") && - (p || (void 0 === p && (F(h, e, "x") || F(h, e, "y")))) - ? (l.calc = !0) - : u && -1 !== t.indexOf("arraydraw") - ? o.pushUnique(l.arrays[u], f) - : k.update(l, i); - } - function g(t) { - return "data_array" === t.valType || t.arrayOk; - } - for (a in t) { - if (l.calc) return; - var m = t[a], - v = e[a]; - if ("_" !== a.charAt(0) && "function" != typeof m && m !== v) { - if ("tick0" === a || "dtick" === a) { - var y = e.tickmode; - if ("auto" === y || "array" === y || !y) continue; - } - if ( - ("range" !== a || !e.autorange) && - (("zmin" !== a && "zmax" !== a) || "contourcarpet" !== e.type) - ) { - var x = r.concat(a); - if ( - (i = s(x)) && - (!i._compareAsJSON || JSON.stringify(m) !== JSON.stringify(v)) - ) { - var b, - _ = i.valType, - w = g(i), - M = Array.isArray(m), - A = Array.isArray(v); - if (M && A) { - var T = "_input_" + a, - S = t[T], - C = e[T]; - if (Array.isArray(S) && S === C) continue; - } - if (void 0 === v) w && M ? (l.calc = !0) : d(); - else if (i._isLinkedToArray) { - var E = [], - L = !1; - u || (l.arrays[a] = E); - var z = Math.min(m.length, v.length), - P = Math.max(m.length, v.length); - if (z !== P) { - if ("arraydraw" !== i.editType) { - d(); - continue; - } - L = !0; - } - for (b = 0; b < z; b++) - N( - m[b], - v[b], - x.concat(b), - o.extendFlat({ inArray: a, arrayIndex: b }, n), - ); - if (L) for (b = z; b < P; b++) E.push(b); - } else - !_ && o.isPlainObject(m) - ? N(m, v, x, n) - : w - ? M && A - ? c && (l.calc = !0) - : M !== A - ? (l.calc = !0) - : d() - : (M && - A && - m.length === v.length && - String(m) === String(v)) || - d(); - } - } - } - } - for (a in e) - if (!(a in t || "_" === a.charAt(0) || "function" == typeof e[a])) { - if (g((i = s(r.concat(a)))) && Array.isArray(e[a])) - return void (l.calc = !0); - d(); - } - } - function j(t) { - var e = n.select(t), - r = t._fullLayout; - if ( - ((r._container = e.selectAll(".plot-container").data([0])), - r._container - .enter() - .insert("div", ":first-child") - .classed("plot-container", !0) - .classed("plotly", !0), - (r._paperdiv = r._container.selectAll(".svg-container").data([0])), - r._paperdiv - .enter() - .append("div") - .classed("svg-container", !0) - .style("position", "relative"), - (r._glcontainer = r._paperdiv.selectAll(".gl-container").data([{}])), - r._glcontainer.enter().append("div").classed("gl-container", !0), - (r._glcanvas = null), - r._paperdiv.selectAll(".main-svg").remove(), - (r._paper = r._paperdiv - .insert("svg", ":first-child") - .classed("main-svg", !0)), - (r._toppaper = r._paperdiv.append("svg").classed("main-svg", !0)), - !r._uid) - ) { - var i = []; - (n.selectAll("defs").each(function () { - this.id && i.push(this.id.split("-")[1]); - }), - (r._uid = o.randstr(i))); - } - (r._paperdiv.selectAll(".main-svg").attr(v.svgAttrs), - (r._defs = r._paper.append("defs").attr("id", "defs-" + r._uid)), - (r._clips = r._defs.append("g").classed("clips", !0)), - (r._topdefs = r._toppaper.append("defs").attr("id", "topdefs-" + r._uid)), - (r._topclips = r._topdefs.append("g").classed("clips", !0)), - (r._bgLayer = r._paper.append("g").classed("bglayer", !0)), - (r._draggers = r._paper.append("g").classed("draglayer", !0))); - var a = r._paper.append("g").classed("layer-below", !0); - ((r._imageLowerLayer = a.append("g").classed("imagelayer", !0)), - (r._shapeLowerLayer = a.append("g").classed("shapelayer", !0)), - (r._cartesianlayer = r._paper.append("g").classed("cartesianlayer", !0)), - (r._polarlayer = r._paper.append("g").classed("polarlayer", !0)), - (r._ternarylayer = r._paper.append("g").classed("ternarylayer", !0)), - (r._geolayer = r._paper.append("g").classed("geolayer", !0)), - (r._pielayer = r._paper.append("g").classed("pielayer", !0)), - (r._glimages = r._paper.append("g").classed("glimages", !0))); - var s = r._toppaper.append("g").classed("layer-above", !0); - ((r._imageUpperLayer = s.append("g").classed("imagelayer", !0)), - (r._shapeUpperLayer = s.append("g").classed("shapelayer", !0)), - (r._infolayer = r._toppaper.append("g").classed("infolayer", !0)), - (r._menulayer = r._toppaper.append("g").classed("menulayer", !0)), - (r._zoomlayer = r._toppaper.append("g").classed("zoomlayer", !0)), - (r._hoverlayer = r._toppaper.append("g").classed("hoverlayer", !0)), - t.emit("plotly_framework")); - } - ((r.plot = function (t, e, i, a) { - var l; - if (((t = o.getGraphDiv(t)), s.init(t), o.isPlainObject(e))) { - var u = e; - ((e = u.data), (i = u.layout), (a = u.config), (l = u.frames)); - } - if (!1 === s.triggerHandler(t, "plotly_beforeplot", [e, i, a])) - return Promise.reject(); - (e || - i || - o.isPlotDiv(t) || - o.warn( - "Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.", - t, - ), - C(t, a), - i || (i = {}), - n.select(t).classed("js-plotly-plot", !0), - d.makeTester(), - delete d.baseUrl, - Array.isArray(t._promises) || (t._promises = [])); - var g = 0 === (t.data || []).length && Array.isArray(e); - if ( - (Array.isArray(e) && - (_.cleanData(e, t.data), - g ? (t.data = e) : t.data.push.apply(t.data, e), - (t.empty = !1)), - (t.layout && !g) || (t.layout = _.cleanLayout(i)), - t._dragging && !t._transitioning) - ) - return ((t._replotPending = !0), Promise.reject()); - ((t._replotPending = !1), f.supplyDefaults(t)); - var v = t._fullLayout, - x = v._has("cartesian"); - if (!v._has("polar") && e && e[0] && e[0].r) - return ( - o.log("Legacy polar charts are deprecated!"), - (function (t, e, r) { - var i = n.select(t).selectAll(".plot-container").data([0]); - i.enter() - .insert("div", ":first-child") - .classed("plot-container plotly", !0); - var a = i.selectAll(".svg-container").data([0]); - (a - .enter() - .append("div") - .classed("svg-container", !0) - .style("position", "relative"), - a.html(""), - e && (t.data = e)); - r && (t.layout = r); - (h.manager.fillLayout(t), - a.style({ - width: t._fullLayout.width + "px", - height: t._fullLayout.height + "px", - }), - (t.framework = h.manager.framework(t)), - t.framework({ data: t.data, layout: t.layout }, a.node()), - t.framework.setUndoPoint()); - var s = t.framework.svg(), - l = 1, - c = t._fullLayout.title; - ("" !== c && c) || (l = 0); - var u = function () { - this.call(y.convertToTspans, t); - }, - p = s.select(".title-group text").call(u); - if (t._context.edits.titleText) { - var d = o._(t, "Click to enter Plot title"); - (c && c !== d) || - ((l = 0.2), - p - .attr({ "data-unformatted": d }) - .text(d) - .style({ opacity: l }) - .on("mouseover.opacity", function () { - n.select(this).transition().duration(100).style("opacity", 1); - }) - .on("mouseout.opacity", function () { - n.select(this).transition().duration(1e3).style("opacity", 0); - })); - var g = function () { - this.call(y.makeEditable, { gd: t }) - .on("edit", function (e) { - (t.framework({ layout: { title: e } }), - this.text(e).call(u), - this.call(g)); - }) - .on("cancel", function () { - var t = this.attr("data-unformatted"); - this.text(t).call(u); - }); - }; - p.call(g); - } - return ( - t._context.setBackground(t, t._fullLayout.paper_bgcolor), - f.addLinks(t), - Promise.resolve() - ); - })(t, e, i) - ); - ((v._replotting = !0), - g && j(t), - t.framework !== j && ((t.framework = j), j(t)), - d.initGradients(t), - g && p.saveShowSpikeInitial(t)); - var b = !t.calcdata || t.calcdata.length !== (t._fullData || []).length; - b && f.doCalcdata(t); - for (var k = 0; k < t.calcdata.length; k++) - t.calcdata[k][0].trace = t._fullData[k]; - var M = JSON.stringify(v._size); - function A() { - var e, - r, - n, - i = t.calcdata; - for ( - c.getComponentMethod("legend", "draw")(t), - c.getComponentMethod("rangeselector", "draw")(t), - c.getComponentMethod("sliders", "draw")(t), - c.getComponentMethod("updatemenus", "draw")(t), - e = 0; - e < i.length; - e++ - ) - !0 === (n = (r = i[e])[0].trace).visible && n._module.colorbar - ? n._module.colorbar(t, r) - : f.autoMargin(t, "cb" + n.uid); - return (f.doAutoMargin(t), f.previousPromises(t)); - } - function T() { - t._transitioning || - (w.doAutoRangeAndConstraints(t), g && p.saveRangeInitial(t)); - } - var S = [ - f.previousPromises, - function () { - if (l) return r.addFrames(t, l); - }, - function () { - for (var e = v._basePlotModules, r = 0; r < e.length; r++) - e[r].drawFramework && e[r].drawFramework(t); - return ( - !v._glcanvas && - v._has("gl") && - ((v._glcanvas = v._glcontainer.selectAll(".gl-canvas").data( - [ - { key: "contextLayer", context: !0, pick: !1 }, - { key: "focusLayer", context: !1, pick: !1 }, - { key: "pickLayer", context: !1, pick: !0 }, - ], - function (t) { - return t.key; - }, - )), - v._glcanvas - .enter() - .append("canvas") - .attr("class", function (t) { - return "gl-canvas gl-canvas-" + t.key.replace("Layer", ""); - }) - .style({ - position: "absolute", - top: 0, - left: 0, - width: "100%", - height: "100%", - overflow: "visible", - "pointer-events": "none", - })), - v._glcanvas && - v._glcanvas.attr("width", v.width).attr("height", v.height), - f.previousPromises(t) - ); - }, - A, - function () { - if (JSON.stringify(v._size) !== M) - return o.syncOrAsync([A, w.layoutStyles], t); - }, - ]; - (x && - S.push(function () { - if (b) { - var e, - r, - n, - i = v._subplots.cartesian, - a = v._modules, - s = []; - for (n = 0; n < a.length; n++) o.pushUnique(s, a[n].setPositions); - if (s.length) - for (r = 0; r < i.length; r++) - for (e = v._plots[i[r]], n = 0; n < s.length; n++) s[n](t, e); - return ( - c.getComponentMethod("errorbars", "calc")(t), - o.syncOrAsync( - [ - c.getComponentMethod("shapes", "calcAutorange"), - c.getComponentMethod("annotations", "calcAutorange"), - T, - c.getComponentMethod("rangeslider", "calcAutorange"), - ], - t, - ) - ); - } - T(); - }), - S.push(w.layoutStyles), - x && - S.push(function () { - return p.doTicks(t, g ? "" : "redraw"); - }), - S.push( - w.drawData, - w.finalDraw, - m, - f.addLinks, - f.rehover, - f.previousPromises, - )); - var E = o.syncOrAsync(S, t); - return ( - (E && E.then) || (E = Promise.resolve()), - E.then(function () { - return (t.emit("plotly_afterplot"), t); - }) - ); - }), - (r.setPlotConfig = function (t) { - return o.extendFlat(x, t); - }), - (r.redraw = function (t) { - if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) - throw new Error("This element is not a Plotly plot: " + t); - return ( - _.cleanData(t.data, t.data), - _.cleanLayout(t.layout), - (t.calcdata = void 0), - r.plot(t).then(function () { - return (t.emit("plotly_redraw"), t); - }) - ); - }), - (r.newPlot = function (t, e, n, i) { - return ( - (t = o.getGraphDiv(t)), - f.cleanPlot( - [], - {}, - t._fullData || [], - t._fullLayout || {}, - t.calcdata || [], - ), - f.purge(t), - r.plot(t, e, n, i) - ); - }), - (r.extendTraces = function t(e, n, i, a) { - var s = P((e = o.getGraphDiv(e)), n, i, a, function (t, e, r) { - var n, i; - if (o.isTypedArray(t)) - if (r < 0) { - var a = new t.constructor(0), - s = D(t, e); - r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); - } else if ( - ((n = new t.constructor(r)), - (i = new t.constructor(t.length + e.length - r)), - r === e.length) - ) - (n.set(e), i.set(t)); - else if (r < e.length) { - var l = e.length - r; - (n.set(e.subarray(l)), - i.set(t), - i.set(e.subarray(0, l), t.length)); - } else { - var c = r - e.length, - u = t.length - c; - (n.set(t.subarray(u)), n.set(e, c), i.set(t.subarray(0, u))); - } - else - ((n = t.concat(e)), - (i = r >= 0 && r < n.length ? n.splice(0, n.length - r) : [])); - return [n, i]; - }), - c = r.redraw(e), - u = [e, s.update, i, s.maxPoints]; - return (l.add(e, r.prependTraces, u, t, arguments), c); - }), - (r.prependTraces = function t(e, n, i, a) { - var s = P((e = o.getGraphDiv(e)), n, i, a, function (t, e, r) { - var n, i; - if (o.isTypedArray(t)) - if (r <= 0) { - var a = new t.constructor(0), - s = D(e, t); - r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); - } else if ( - ((n = new t.constructor(r)), - (i = new t.constructor(t.length + e.length - r)), - r === e.length) - ) - (n.set(e), i.set(t)); - else if (r < e.length) { - var l = e.length - r; - (n.set(e.subarray(0, l)), i.set(e.subarray(l)), i.set(t, l)); - } else { - var c = r - e.length; - (n.set(e), - n.set(t.subarray(0, c), e.length), - i.set(t.subarray(c))); - } - else - ((n = e.concat(t)), - (i = r >= 0 && r < n.length ? n.splice(r, n.length) : [])); - return [n, i]; - }), - c = r.redraw(e), - u = [e, s.update, i, s.maxPoints]; - return (l.add(e, r.extendTraces, u, t, arguments), c); - }), - (r.addTraces = function t(e, n, i) { - e = o.getGraphDiv(e); - var a, - s, - c = [], - u = r.deleteTraces, - f = t, - h = [e, c], - p = [e, n]; - for ( - (function (t, e, r) { - var n, i; - if (!Array.isArray(t.data)) - throw new Error("gd.data must be an array."); - if (void 0 === e) throw new Error("traces must be defined."); - for (Array.isArray(e) || (e = [e]), n = 0; n < e.length; n++) - if ("object" != typeof (i = e[n]) || Array.isArray(i) || null === i) - throw new Error( - "all values in traces array must be non-array objects", - ); - if ( - (void 0 === r || Array.isArray(r) || (r = [r]), - void 0 !== r && r.length !== e.length) - ) - throw new Error( - "if indices is specified, traces.length must equal indices.length", - ); - })(e, n, i), - Array.isArray(n) || (n = [n]), - n = n.map(function (t) { - return o.extendFlat({}, t); - }), - _.cleanData(n, e.data), - a = 0; - a < n.length; - a++ - ) - e.data.push(n[a]); - for (a = 0; a < n.length; a++) c.push(-n.length + a); - if (void 0 === i) return ((s = r.redraw(e)), l.add(e, u, h, f, p), s); - Array.isArray(i) || (i = [i]); - try { - z(e, c, i); - } catch (t) { - throw (e.data.splice(e.data.length - n.length, n.length), t); - } - return ( - l.startSequence(e), - l.add(e, u, h, f, p), - (s = r.moveTraces(e, c, i)), - l.stopSequence(e), - s - ); - }), - (r.deleteTraces = function t(e, n) { - e = o.getGraphDiv(e); - var i, - a, - s = [], - c = r.addTraces, - u = t, - f = [e, s, n], - h = [e, n]; - if (void 0 === n) - throw new Error("indices must be an integer or array of integers."); - for ( - Array.isArray(n) || (n = [n]), - L(e, n, "indices"), - (n = E(n, e.data.length - 1)).sort(o.sorterDes), - i = 0; - i < n.length; - i += 1 - ) - ((a = e.data.splice(n[i], 1)[0]), s.push(a)); - var p = r.redraw(e); - return (l.add(e, c, f, u, h), p); - }), - (r.moveTraces = function t(e, n, i) { - var a, - s = [], - c = [], - u = t, - f = t, - h = [(e = o.getGraphDiv(e)), i, n], - p = [e, n, i]; - if ((z(e, n, i), (n = Array.isArray(n) ? n : [n]), void 0 === i)) - for (i = [], a = 0; a < n.length; a++) i.push(-n.length + a); - for ( - i = Array.isArray(i) ? i : [i], - n = E(n, e.data.length - 1), - i = E(i, e.data.length - 1), - a = 0; - a < e.data.length; - a++ - ) - -1 === n.indexOf(a) && s.push(e.data[a]); - for (a = 0; a < n.length; a++) - c.push({ newIndex: i[a], trace: e.data[n[a]] }); - for ( - c.sort(function (t, e) { - return t.newIndex - e.newIndex; - }), - a = 0; - a < c.length; - a += 1 - ) - s.splice(c[a].newIndex, 0, c[a].trace); - e.data = s; - var d = r.redraw(e); - return (l.add(e, u, h, f, p), d); - }), - (r.restyle = function t(e, n, i, a) { - ((e = o.getGraphDiv(e)), _.clearPromiseQueue(e)); - var s = {}; - if ("string" == typeof n) s[n] = i; - else { - if (!o.isPlainObject(n)) - return (o.warn("Restyle fail.", n, i, a), Promise.reject()); - ((s = o.extendFlat({}, n)), void 0 === a && (a = i)); - } - Object.keys(s).length && (e.changed = !0); - var c = _.coerceTraceIndices(e, a), - u = I(e, s, c), - h = u.flags; - (h.clearCalc && (e.calcdata = void 0), - h.clearAxisTypes && _.clearAxisTypes(e, c, {})); - var p = []; - (h.fullReplot - ? p.push(r.plot) - : (p.push(f.previousPromises), - f.supplyDefaults(e), - h.style && p.push(w.doTraceStyle), - h.colorbars && p.push(w.doColorBars)), - p.push(f.rehover), - l.add(e, t, [e, u.undoit, u.traces], t, [e, u.redoit, u.traces])); - var d = o.syncOrAsync(p, e); - return ( - (d && d.then) || (d = Promise.resolve()), - d.then(function () { - return (e.emit("plotly_restyle", u.eventData), e); - }) - ); - }), - (r.relayout = function t(e, r, n) { - if ( - ((e = o.getGraphDiv(e)), - _.clearPromiseQueue(e), - e.framework && e.framework.isPolar) - ) - return Promise.resolve(e); - var i = {}; - if ("string" == typeof r) i[r] = n; - else { - if (!o.isPlainObject(r)) - return (o.warn("Relayout fail.", r, n), Promise.reject()); - i = o.extendFlat({}, r); - } - Object.keys(i).length && (e.changed = !0); - var a = R(e, i), - s = a.flags; - (s.calc && (e.calcdata = void 0), s.margins && _.clearAxisAutomargins(e)); - var c = [f.previousPromises]; - (s.layoutReplot - ? c.push(w.layoutReplot) - : Object.keys(i).length && - (f.supplyDefaults(e), - s.legend && c.push(w.doLegend), - s.layoutstyle && c.push(w.layoutStyles), - s.axrange && - c.push( - w.doAutoRangeAndConstraints, - w.doTicksRelayout, - w.drawData, - w.finalDraw, - ), - s.ticks && c.push(w.doTicksRelayout), - s.modebar && c.push(w.doModeBar), - s.camera && c.push(w.doCamera)), - c.push(f.rehover), - l.add(e, t, [e, a.undoit], t, [e, a.redoit])); - var u = o.syncOrAsync(c, e); - return ( - (u && u.then) || (u = Promise.resolve(e)), - u.then(function () { - return (e.emit("plotly_relayout", a.eventData), e); - }) - ); - }), - (r.update = function t(e, n, i, a) { - if ( - ((e = o.getGraphDiv(e)), - _.clearPromiseQueue(e), - e.framework && e.framework.isPolar) - ) - return Promise.resolve(e); - (o.isPlainObject(n) || (n = {}), - o.isPlainObject(i) || (i = {}), - Object.keys(n).length && (e.changed = !0), - Object.keys(i).length && (e.changed = !0)); - var s = _.coerceTraceIndices(e, a), - c = I(e, o.extendFlat({}, n), s), - u = c.flags, - h = R(e, o.extendFlat({}, i)), - p = h.flags; - ((u.clearCalc || p.calc) && (e.calcdata = void 0), - u.clearAxisTypes && _.clearAxisTypes(e, s, i), - p.margins && _.clearAxisAutomargins(e)); - var d = []; - if (u.fullReplot && p.layoutReplot) { - var g = e.data, - m = e.layout; - ((e.data = void 0), - (e.layout = void 0), - d.push(function () { - return r.plot(e, g, m); - })); - } else - u.fullReplot - ? d.push(r.plot) - : p.layoutReplot - ? d.push(w.layoutReplot) - : (d.push(f.previousPromises), - f.supplyDefaults(e), - u.style && d.push(w.doTraceStyle), - u.colorbars && d.push(w.doColorBars), - p.legend && d.push(w.doLegend), - p.layoutstyle && d.push(w.layoutStyles), - p.axrange && - d.push( - w.doAutoRangeAndConstraints, - w.doTicksRelayout, - w.drawData, - w.finalDraw, - ), - p.ticks && d.push(w.doTicksRelayout), - p.modebar && d.push(w.doModeBar), - p.camera && d.push(w.doCamera)); - (d.push(f.rehover), - l.add(e, t, [e, c.undoit, h.undoit, c.traces], t, [ - e, - c.redoit, - h.redoit, - c.traces, - ])); - var v = o.syncOrAsync(d, e); - return ( - (v && v.then) || (v = Promise.resolve(e)), - v.then(function () { - return ( - e.emit("plotly_update", { data: c.eventData, layout: h.eventData }), - e - ); - }) - ); - }), - (r.react = function (t, e, n, i) { - var a, s; - var l = (t = o.getGraphDiv(t))._fullData, - h = t._fullLayout; - if (o.isPlotDiv(t) && l && h) { - if (o.isPlainObject(e)) { - var d = e; - ((e = d.data), (n = d.layout), (i = d.config), (a = d.frames)); - } - var g = !1; - if (i) { - var m = o.extendDeep({}, t._context); - ((t._context = void 0), - C(t, i), - (g = (function t(e, r) { - var n; - for (n in e) { - var i = e[n], - a = r[n]; - if (i !== a) - if (o.isPlainObject(i) && o.isPlainObject(a)) { - if (t(i, a)) return !0; - } else { - if (!Array.isArray(i) || !Array.isArray(a)) return !0; - if (i.length !== a.length) return !0; - for (var s = 0; s < i.length; s++) - if (i[s] !== a[s]) { - if (!o.isPlainObject(i[s]) || !o.isPlainObject(a[s])) - return !0; - if (t(i[s], a[s])) return !0; - } - } - } - })(m, t._context))); - } - ((t.data = e || []), - _.cleanData(t.data, []), - (t.layout = n || {}), - _.cleanLayout(t.layout), - f.supplyDefaults(t, { skipUpdateCalc: !0 })); - var v = t._fullData, - y = t._fullLayout, - x = void 0 === y.datarevision, - b = (function (t, e, r, n) { - if (e.length !== r.length) return { fullReplot: !0, calc: !0 }; - var i, - a, - o = k.traceFlags(); - o.arrays = {}; - var s = { - getValObject: function (t) { - return u.getTraceValObject(a, t); - }, - flags: o, - immutable: n, - gd: t, - }, - l = {}; - for (i = 0; i < e.length; i++) - ((a = r[i]._fullInput), - l[a.uid] || - ((l[a.uid] = 1), - (s.autoranged = - !!a.xaxis && - (p.getFromId(t, a.xaxis).autorange || - p.getFromId(t, a.yaxis).autorange)), - N(e[i]._fullInput, a, [], s))); - (o.calc || o.plot || o.calcIfAutorange) && (o.fullReplot = !0); - return o; - })(t, l, v, x), - M = (function (t, e, r, n) { - var i = k.layoutFlags(); - ((i.arrays = {}), - N(e, r, [], { - getValObject: function (t) { - return u.getLayoutValObject(r, t); - }, - flags: i, - immutable: n, - gd: t, - }), - (i.plot || i.calc) && (i.layoutReplot = !0)); - return i; - })(t, h, y, x); - (B(t) && (M.layoutReplot = !0), - b.calc || M.calc - ? (t.calcdata = void 0) - : f.supplyDefaultsUpdateCalc(t.calcdata, v), - M.margins && _.clearAxisAutomargins(t)); - var A = []; - if ( - (a && - ((t._transitionData = {}), - f.createTransitionData(t), - A.push(function () { - return r.addFrames(t, a); - })), - b.fullReplot || M.layoutReplot || g) - ) - ((t._fullLayout._skipDefaults = !0), A.push(r.plot)); - else { - for (var T in M.arrays) { - var S = M.arrays[T]; - if (S.length) { - var E = c.getComponentMethod(T, "drawOne"); - if (E !== o.noop) for (var L = 0; L < S.length; L++) E(t, S[L]); - else { - var z = c.getComponentMethod(T, "draw"); - if (z === o.noop) - throw new Error("cannot draw components: " + T); - z(t); - } - } - } - (A.push(f.previousPromises), - b.style && A.push(w.doTraceStyle), - b.colorbars && A.push(w.doColorBars), - M.legend && A.push(w.doLegend), - M.layoutstyle && A.push(w.layoutStyles), - M.axrange && - A.push( - w.doAutoRangeAndConstraints, - w.doTicksRelayout, - w.drawData, - w.finalDraw, - ), - M.ticks && A.push(w.doTicksRelayout), - M.modebar && A.push(w.doModeBar), - M.camera && A.push(w.doCamera)); - } - (A.push(f.rehover), - ((s = o.syncOrAsync(A, t)) && s.then) || (s = Promise.resolve(t))); - } else s = r.newPlot(t, e, n, i); - return s.then(function () { - return (t.emit("plotly_react", { data: e, layout: n }), t); - }); - }), - (r.animate = function (t, e, r) { - if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) - throw new Error( - "This element is not a Plotly plot: " + - t + - ". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/", - ); - var n = t._transitionData; - n._frameQueue || (n._frameQueue = []); - var i = (r = f.supplyAnimationDefaults(r)).transition, - a = r.frame; - function s(t) { - return Array.isArray(i) ? (t >= i.length ? i[0] : i[t]) : i; - } - function l(t) { - return Array.isArray(a) ? (t >= a.length ? a[0] : a[t]) : a; - } - function c(t, e) { - var r = 0; - return function () { - if (t && ++r === e) return t(); - }; - } - return ( - void 0 === n._frameWaitingCnt && (n._frameWaitingCnt = 0), - new Promise(function (a, u) { - function h() { - n._currentFrame && - n._currentFrame.onComplete && - n._currentFrame.onComplete(); - var e = (n._currentFrame = n._frameQueue.shift()); - if (e) { - var r = e.name ? e.name.toString() : null; - ((t._fullLayout._currentFrame = r), - (n._lastFrameAt = Date.now()), - (n._timeToNext = e.frameOpts.duration), - f - .transition( - t, - e.frame.data, - e.frame.layout, - _.coerceTraceIndices(t, e.frame.traces), - e.frameOpts, - e.transitionOpts, - ) - .then(function () { - e.onComplete && e.onComplete(); - }), - t.emit("plotly_animatingframe", { - name: r, - frame: e.frame, - animation: { - frame: e.frameOpts, - transition: e.transitionOpts, - }, - })); - } else - (t.emit("plotly_animated"), - window.cancelAnimationFrame(n._animationRaf), - (n._animationRaf = null)); - } - function p() { - (t.emit("plotly_animating"), - (n._lastFrameAt = -1 / 0), - (n._timeToNext = 0), - (n._runningTransitions = 0), - (n._currentFrame = null)); - var e = function () { - ((n._animationRaf = window.requestAnimationFrame(e)), - Date.now() - n._lastFrameAt > n._timeToNext && h()); - }; - e(); - } - var d, - g, - m = 0; - function v(t) { - return ( - Array.isArray(i) - ? m >= i.length - ? (t.transitionOpts = i[m]) - : (t.transitionOpts = i[0]) - : (t.transitionOpts = i), - m++, - t - ); - } - var y = [], - x = void 0 === e || null === e, - b = Array.isArray(e); - if (!x && !b && o.isPlainObject(e)) - y.push({ type: "object", data: v(o.extendFlat({}, e)) }); - else if (x || -1 !== ["string", "number"].indexOf(typeof e)) - for (d = 0; d < n._frames.length; d++) - (g = n._frames[d]) && - (x || String(g.group) === String(e)) && - y.push({ - type: "byname", - name: String(g.name), - data: v({ name: g.name }), - }); - else if (b) - for (d = 0; d < e.length; d++) { - var w = e[d]; - -1 !== ["number", "string"].indexOf(typeof w) - ? ((w = String(w)), - y.push({ type: "byname", name: w, data: v({ name: w }) })) - : o.isPlainObject(w) && - y.push({ type: "object", data: v(o.extendFlat({}, w)) }); - } - for (d = 0; d < y.length; d++) - if ("byname" === (g = y[d]).type && !n._frameHash[g.data.name]) - return ( - o.warn( - 'animate failure: frame not found: "' + g.data.name + '"', - ), - void u() - ); - (-1 !== ["next", "immediate"].indexOf(r.mode) && - (function () { - if (0 !== n._frameQueue.length) { - for (; n._frameQueue.length; ) { - var e = n._frameQueue.pop(); - e.onInterrupt && e.onInterrupt(); - } - t.emit("plotly_animationinterrupted", []); - } - })(), - "reverse" === r.direction && y.reverse()); - var k = t._fullLayout._currentFrame; - if (k && r.fromcurrent) { - var M = -1; - for (d = 0; d < y.length; d++) - if ("byname" === (g = y[d]).type && g.name === k) { - M = d; - break; - } - if (M > 0 && M < y.length - 1) { - var A = []; - for (d = 0; d < y.length; d++) - ((g = y[d]), ("byname" !== y[d].type || d > M) && A.push(g)); - y = A; - } - } - y.length > 0 - ? (function (e) { - if (0 !== e.length) { - for (var i = 0; i < e.length; i++) { - var o; - o = - "byname" === e[i].type - ? f.computeFrame(t, e[i].name) - : e[i].data; - var h = l(i), - d = s(i); - d.duration = Math.min(d.duration, h.duration); - var g = { - frame: o, - name: e[i].name, - frameOpts: h, - transitionOpts: d, - }; - (i === e.length - 1 && - ((g.onComplete = c(a, 2)), (g.onInterrupt = u)), - n._frameQueue.push(g)); - } - ("immediate" === r.mode && (n._lastFrameAt = -1 / 0), - n._animationRaf || p()); - } - })(y) - : (t.emit("plotly_animated"), a()); - }) - ); - }), - (r.addFrames = function (t, e, r) { - if (((t = o.getGraphDiv(t)), null === e || void 0 === e)) - return Promise.resolve(); - if (!o.isPlotDiv(t)) - throw new Error( - "This element is not a Plotly plot: " + - t + - ". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/", - ); - var n, - i, - a, - s, - c = t._transitionData._frames, - u = t._transitionData._frameHash; - if (!Array.isArray(e)) - throw new Error( - "addFrames failure: frameList must be an Array of frame definitions" + - e, - ); - var h = c.length + 2 * e.length, - p = [], - d = {}; - for (n = e.length - 1; n >= 0; n--) - if (o.isPlainObject(e[n])) { - var g = e[n].name, - m = (u[g] || d[g] || {}).name, - v = e[n].name, - y = u[m] || d[m]; - (m && - v && - "number" == typeof v && - y && - A < 5 && - (A++, - o.warn( - 'addFrames: overwriting frame "' + - (u[m] || d[m]).name + - '" with a frame whose name of type "number" also equates to "' + - m + - '". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.', - ), - 5 === A && - o.warn( - "addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.", - )), - (d[g] = { name: g }), - p.push({ - frame: f.supplyFrameDefaults(e[n]), - index: r && void 0 !== r[n] && null !== r[n] ? r[n] : h + n, - })); - } - p.sort(function (t, e) { - return t.index > e.index ? -1 : t.index < e.index ? 1 : 0; - }); - var x = [], - b = [], - _ = c.length; - for (n = p.length - 1; n >= 0; n--) { - if ( - ("number" == typeof (i = p[n].frame).name && - o.warn( - "Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings", - ), - !i.name) - ) - for (; u[(i.name = "frame " + t._transitionData._counter++)]; ); - if (u[i.name]) { - for (a = 0; a < c.length && (c[a] || {}).name !== i.name; a++); - (x.push({ type: "replace", index: a, value: i }), - b.unshift({ type: "replace", index: a, value: c[a] })); - } else - ((s = Math.max(0, Math.min(p[n].index, _))), - x.push({ type: "insert", index: s, value: i }), - b.unshift({ type: "delete", index: s }), - _++); - } - var w = f.modifyFrames, - k = f.modifyFrames, - M = [t, b], - T = [t, x]; - return (l && l.add(t, w, M, k, T), f.modifyFrames(t, x)); - }), - (r.deleteFrames = function (t, e) { - if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) - throw new Error("This element is not a Plotly plot: " + t); - var r, - n, - i = t._transitionData._frames, - a = [], - s = []; - if (!e) for (e = [], r = 0; r < i.length; r++) e.push(r); - for ((e = e.slice(0)).sort(), r = e.length - 1; r >= 0; r--) - ((n = e[r]), - a.push({ type: "delete", index: n }), - s.unshift({ type: "insert", index: n, value: i[n] })); - var c = f.modifyFrames, - u = f.modifyFrames, - h = [t, s], - p = [t, a]; - return (l && l.add(t, c, h, u, p), f.modifyFrames(t, a)); - }), - (r.purge = function (t) { - var e = (t = o.getGraphDiv(t))._fullLayout || {}, - r = t._fullData || [], - n = t.calcdata || []; - return ( - f.cleanPlot([], {}, r, e, n), - f.purge(t), - s.purge(t), - e._container && e._container.remove(), - delete t._context, - t - ); - })); - }, - { - "../components/color": 474, - "../components/drawing": 499, - "../constants/xmlns_namespaces": 581, - "../lib": 602, - "../lib/events": 590, - "../lib/queue": 617, - "../lib/svg_text_utils": 626, - "../plots/cartesian/axes": 648, - "../plots/cartesian/constants": 653, - "../plots/cartesian/graph_interact": 657, - "../plots/plots": 710, - "../plots/polar/legacy": 718, - "../registry": 732, - "./edit_types": 633, - "./helpers": 634, - "./manage_arrays": 636, - "./plot_config": 638, - "./plot_schema": 639, - "./subroutines": 640, - d3: 130, - "fast-isnumeric": 196, - "has-hover": 296, - }, - ], - 638: [ - function (t, e, r) { - "use strict"; - e.exports = { - staticPlot: !1, - editable: !1, - edits: { - annotationPosition: !1, - annotationTail: !1, - annotationText: !1, - axisTitleText: !1, - colorbarPosition: !1, - colorbarTitleText: !1, - legendPosition: !1, - legendText: !1, - shapePosition: !1, - titleText: !1, - }, - autosizable: !1, - queueLength: 0, - fillFrame: !1, - frameMargins: 0, - scrollZoom: !1, - doubleClick: "reset+autosize", - showTips: !0, - showAxisDragHandles: !0, - showAxisRangeEntryBoxes: !0, - showLink: !1, - sendData: !0, - linkText: "Edit chart", - showSources: !1, - displayModeBar: "hover", - modeBarButtonsToRemove: [], - modeBarButtonsToAdd: [], - modeBarButtons: !1, - displaylogo: !0, - plotGlPixelRatio: 2, - setBackground: "transparent", - topojsonURL: "https://cdn.plot.ly/", - mapboxAccessToken: null, - logging: 1, - globalTransforms: [], - locale: "en-US", - locales: {}, - }; - }, - {}, - ], - 639: [ - function (t, e, r) { - "use strict"; - var n = t("../registry"), - i = t("../lib"), - a = t("../plots/attributes"), - o = t("../plots/layout_attributes"), - s = t("../plots/frame_attributes"), - l = t("../plots/animation_attributes"), - c = t("../plots/polar/legacy/area_attributes"), - u = t("../plots/polar/legacy/axis_attributes"), - f = t("./edit_types"), - h = i.extendFlat, - p = i.extendDeepAll, - d = i.isPlainObject, - g = "_isSubplotObj", - m = "_isLinkedToArray", - v = [g, m, "_arrayAttrRegexps", "_deprecated"]; - function y(t, e, r) { - if (!t) return !1; - if (t._isLinkedToArray) - if (x(e[r])) r++; - else if (r < e.length) return !1; - for (; r < e.length; r++) { - var n = t[e[r]]; - if (!d(n)) break; - if (((t = n), r === e.length - 1)) break; - if (t._isLinkedToArray) { - if (!x(e[++r])) return !1; - } else if ("info_array" === t.valType) { - var i = e[++r]; - if (!x(i)) return !1; - var a = t.items; - if (Array.isArray(a)) { - if (i >= a.length) return !1; - if (2 === t.dimensions) { - if ((r++, e.length === r)) return t; - var o = e[r]; - if (!x(o)) return !1; - t = a[i][o]; - } else t = a[i]; - } else t = a; - } - } - return t; - } - function x(t) { - return t === Math.round(t) && t >= 0; - } - function b(t) { - return ( - (function (t) { - r.crawl(t, function (t, e, n) { - r.isValObject(t) - ? "data_array" === t.valType - ? ((t.role = "data"), - (n[e + "src"] = { valType: "string", editType: "none" })) - : !0 === t.arrayOk && - (n[e + "src"] = { valType: "string", editType: "none" }) - : d(t) && (t.role = "object"); - }); - })(t), - (function (t) { - r.crawl(t, function (t, e, r) { - if (!t) return; - var n = t[m]; - if (!n) return; - (delete t[m], - (r[e] = { items: {} }), - (r[e].items[n] = t), - (r[e].role = "object")); - }); - })(t), - (function (t) { - !(function t(e) { - for (var r in e) - if (d(e[r])) t(e[r]); - else if (Array.isArray(e[r])) - for (var n = 0; n < e[r].length; n++) t(e[r][n]); - else e[r] instanceof RegExp && (e[r] = e[r].toString()); - })(t); - })(t), - t - ); - } - function _(t, e, r) { - var n = i.nestedProperty(t, r), - a = p({}, e.layoutAttributes); - ((a[g] = !0), n.set(a)); - } - function w(t, e, r) { - var n = i.nestedProperty(t, r); - n.set(p(n.get() || {}, e)); - } - ((r.IS_SUBPLOT_OBJ = g), - (r.IS_LINKED_TO_ARRAY = m), - (r.DEPRECATED = "_deprecated"), - (r.UNDERSCORE_ATTRS = v), - (r.get = function () { - var t = {}; - n.allTypes.concat("area").forEach(function (e) { - t[e] = (function (t) { - var e, r; - "area" === t - ? ((e = { attributes: c }), (r = {})) - : ((e = n.modules[t]._module), (r = e.basePlotModule)); - var i = { type: null }; - (p(i, a), p(i, e.attributes), r.attributes && p(i, r.attributes)); - i.type = t; - var o = { meta: e.meta || {}, attributes: b(i) }; - if (e.layoutAttributes) { - var s = {}; - (p(s, e.layoutAttributes), (o.layoutAttributes = b(s))); - } - return o; - })(e); - }); - var e, - r = {}; - return ( - Object.keys(n.transformsRegistry).forEach(function (t) { - r[t] = (function (t) { - var e = n.transformsRegistry[t], - r = p({}, e.attributes); - return ( - Object.keys(n.componentsRegistry).forEach(function (e) { - var i = n.componentsRegistry[e]; - i.schema && - i.schema.transforms && - i.schema.transforms[t] && - Object.keys(i.schema.transforms[t]).forEach(function (e) { - w(r, i.schema.transforms[t][e], e); - }); - }), - { attributes: b(r) } - ); - })(t); - }), - { - defs: { - valObjects: i.valObjectMeta, - metaKeys: v.concat([ - "description", - "role", - "editType", - "impliedEdits", - ]), - editType: { traces: f.traces, layout: f.layout }, - impliedEdits: {}, - }, - traces: t, - layout: (function () { - var t, - e, - r = {}; - for (t in (p(r, o), n.subplotsRegistry)) - if ((e = n.subplotsRegistry[t]).layoutAttributes) - if (Array.isArray(e.attr)) - for (var i = 0; i < e.attr.length; i++) _(r, e, e.attr[i]); - else { - var a = "subplot" === e.attr ? e.name : e.attr; - _(r, e, a); - } - for (t in ((r = (function (t) { - return ( - h(t, { radialaxis: u.radialaxis, angularaxis: u.angularaxis }), - h(t, u.layout), - t - ); - })(r)), - n.componentsRegistry)) { - var s = (e = n.componentsRegistry[t]).schema; - if (s && (s.subplots || s.layout)) { - var l = s.subplots; - if (l && l.xaxis && !l.yaxis) - for (var c in l.xaxis) delete r.yaxis[c]; - } else e.layoutAttributes && w(r, e.layoutAttributes, e.name); - } - return { layoutAttributes: b(r) }; - })(), - transforms: r, - frames: ((e = { frames: i.extendDeepAll({}, s) }), b(e), e.frames), - animation: b(l), - } - ); - }), - (r.crawl = function (t, e, n, i) { - var a = n || 0; - ((i = i || ""), - Object.keys(t).forEach(function (n) { - var o = t[n]; - if (-1 === v.indexOf(n)) { - var s = (i ? i + "." : "") + n; - (e(o, n, t, a, s), - r.isValObject(o) || - (d(o) && "impliedEdits" !== n && r.crawl(o, e, a + 1, s))); - } - })); - }), - (r.isValObject = function (t) { - return t && void 0 !== t.valType; - }), - (r.findArrayAttributes = function (t) { - var e, - n, - o = [], - s = [], - l = []; - function c(t, r, a, c) { - ((s = s.slice(0, c).concat([r])), - (l = l.slice(0, c).concat([t && t._isLinkedToArray])), - t && - ("data_array" === t.valType || !0 === t.arrayOk) && - !( - "colorbar" === s[c - 1] && - ("ticktext" === r || "tickvals" === r) - ) && - (function t(e, r, a) { - var c = e[s[r]]; - var u = a + s[r]; - if (r === s.length - 1) i.isArrayOrTypedArray(c) && o.push(n + u); - else if (l[r]) { - if (Array.isArray(c)) - for (var f = 0; f < c.length; f++) - i.isPlainObject(c[f]) && t(c[f], r + 1, u + "[" + f + "]."); - } else i.isPlainObject(c) && t(c, r + 1, u + "."); - })(e, 0, "")); - } - ((e = t), - (n = ""), - r.crawl(a, c), - t._module && t._module.attributes && r.crawl(t._module.attributes, c)); - var u = t.transforms; - if (u) - for (var f = 0; f < u.length; f++) { - var h = u[f], - p = h._module; - p && - ((n = "transforms[" + f + "]."), (e = h), r.crawl(p.attributes, c)); - } - return o; - }), - (r.getTraceValObject = function (t, e) { - var r, - i, - o = e[0], - s = 1; - if ("transforms" === o) { - if (1 === e.length) return a.transforms; - var l = t.transforms; - if (!Array.isArray(l) || !l.length) return !1; - var u = e[1]; - if (!x(u) || u >= l.length) return !1; - ((i = - (r = (n.transformsRegistry[l[u].type] || {}).attributes) && r[e[2]]), - (s = 3)); - } else if ("area" === t.type) i = c[o]; - else { - var f = t._module; - if ((f || (f = (n.modules[t.type || a.type.dflt] || {})._module), !f)) - return !1; - if (!(i = (r = f.attributes) && r[o])) { - var h = f.basePlotModule; - h && h.attributes && (i = h.attributes[o]); - } - i || (i = a[o]); - } - return y(i, e, s); - }), - (r.getLayoutValObject = function (t, e) { - return y( - (function (t, e) { - var r, - i, - a, - s, - l = t._basePlotModules; - if (l) { - var c; - for (r = 0; r < l.length; r++) { - if ((a = l[r]).attrRegex && a.attrRegex.test(e)) { - if (a.layoutAttrOverrides) return a.layoutAttrOverrides; - !c && a.layoutAttributes && (c = a.layoutAttributes); - } - var f = a.baseLayoutAttrOverrides; - if (f && e in f) return f[e]; - } - if (c) return c; - } - var h = t._modules; - if (h) - for (r = 0; r < h.length; r++) - if ((s = h[r].layoutAttributes) && e in s) return s[e]; - for (i in n.componentsRegistry) - if (!(a = n.componentsRegistry[i]).schema && e === a.name) - return a.layoutAttributes; - if (e in o) return o[e]; - if ("radialaxis" === e || "angularaxis" === e) return u[e]; - return u.layout[e] || !1; - })(t, e[0]), - e, - 1, - ); - })); - }, - { - "../lib": 602, - "../plots/animation_attributes": 643, - "../plots/attributes": 645, - "../plots/frame_attributes": 675, - "../plots/layout_attributes": 701, - "../plots/polar/legacy/area_attributes": 716, - "../plots/polar/legacy/axis_attributes": 717, - "../registry": 732, - "./edit_types": 633, - }, - ], - 640: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../registry"), - a = t("../plots/plots"), - o = t("../lib"), - s = t("../lib/clear_gl_canvases"), - l = t("../components/color"), - c = t("../components/drawing"), - u = t("../components/titles"), - f = t("../components/modebar"), - h = t("../plots/cartesian/axes"), - p = t("../constants/alignment"), - d = t("../plots/cartesian/constraints"), - g = d.enforce, - m = d.clean, - v = t("../plots/cartesian/autorange").doAutoRange; - function y(t, e) { - return ( - (t.ticks || t.showline) && - (e === t._mainSubplot || "all" === t.mirror || "allticks" === t.mirror) - ); - } - function x(t, e, r) { - if (!r.showline || !r._lw) return !1; - if ("all" === r.mirror || "allticks" === r.mirror) return !0; - var n = r._anchorAxis; - if (!n) return !1; - var i = p.FROM_BL[e]; - return r.side === e - ? n.domain[i] === t.domain[i] - : r.mirror && n.domain[1 - i] === t.domain[1 - i]; - } - function b(t, e, r, n) { - if (x(t, e, r)) return r._lw; - for (var i = 0; i < n.length; i++) { - var a = n[i]; - if (a._mainAxis === r._mainAxis && x(t, e, a)) return a._lw; - } - return 0; - } - ((r.layoutStyles = function (t) { - return o.syncOrAsync([a.doAutoMargin, r.lsInner], t); - }), - (r.lsInner = function (t) { - var e, - i = t._fullLayout, - a = i._size, - s = a.p, - u = h.list(t), - d = i._has("cartesian"); - function g(t, e, r) { - var n = t._lw / 2; - return "x" === t._id.charAt(0) - ? e - ? "top" === r - ? e._offset - s - n - : e._offset + e._length + s + n - : a.t + a.h * (1 - (t.position || 0)) + (n % 1) - : e - ? "right" === r - ? e._offset + e._length + s + n - : e._offset - s - n - : a.l + a.w * (t.position || 0) + (n % 1); - } - for (e = 0; e < u.length; e++) { - var m = u[e]; - m.setScale(); - var v = m._anchorAxis; - ((m._linepositions = {}), - (m._lw = c.crispRound(t, m.linewidth, 1)), - (m._mainLinePosition = g(m, v, m.side)), - (m._mainMirrorPosition = - m.mirror && v ? g(m, v, p.OPPOSITE_SIDE[m.side]) : null)); - } - (i._paperdiv - .style({ width: i.width + "px", height: i.height + "px" }) - .selectAll(".main-svg") - .call(c.setSize, i.width, i.height), - t._context.setBackground(t, i.paper_bgcolor)); - var x = i._paper.selectAll("g.subplot"), - _ = [], - w = []; - x.each(function (t) { - var e = i._plots[t]; - if (e.mainplot) return (e.bg && e.bg.remove(), void (e.bg = void 0)); - var r = e.xaxis.domain, - n = e.yaxis.domain, - a = e.plotgroup; - if ( - (function (t, e, r) { - for (var n = 0; n < r.length; n++) { - var i = r[n][0], - a = r[n][1]; - if (!(i[0] >= t[1] || i[1] <= t[0]) && a[0] < e[1] && a[1] > e[0]) - return !0; - } - return !1; - })(r, n, w) - ) { - var s = a.node(), - l = (e.bg = o.ensureSingle(a, "rect", "bg")); - s.insertBefore(l.node(), s.childNodes[0]); - } else (a.select("rect.bg").remove(), _.push(t), w.push([r, n])); - }); - var k = i._bgLayer.selectAll(".bg").data(_); - return ( - k.enter().append("rect").classed("bg", !0), - k.exit().remove(), - k.each(function (t) { - i._plots[t].bg = n.select(this); - }), - x.each(function (t) { - var e = i._plots[t], - r = e.xaxis, - n = e.yaxis; - e.bg && - d && - e.bg - .call( - c.setRect, - r._offset - s, - n._offset - s, - r._length + 2 * s, - n._length + 2 * s, - ) - .call(l.fill, i.plot_bgcolor) - .style("stroke-width", 0); - var a, - f, - h = (e.clipId = "clip" + i._uid + t + "plot"), - p = o.ensureSingleById(i._clips, "clipPath", h, function (t) { - t.classed("plotclip", !0).append("rect"); - }); - if ( - ((e.clipRect = p - .select("rect") - .attr({ width: r._length, height: n._length })), - c.setTranslate(e.plot, r._offset, n._offset), - e._hasClipOnAxisFalse - ? ((a = null), (f = h)) - : ((a = h), (f = null)), - c.setClipUrl(e.plot, a), - (e.layerClipId = f), - d) - ) { - var m, - v, - x, - _, - w, - k, - M, - A, - T, - S, - C, - E, - L, - z = "M0,0"; - (y(r, t) && - ((w = b(r, "left", n, u)), - (m = r._offset - (w ? s + w : 0)), - (k = b(r, "right", n, u)), - (v = r._offset + r._length + (k ? s + k : 0)), - (x = g(r, n, "bottom")), - (_ = g(r, n, "top")), - (L = !r._anchorAxis || t !== r._mainSubplot) && - r.ticks && - "allticks" === r.mirror && - (r._linepositions[t] = [x, _]), - (z = I(r, D, function (t) { - return "M" + r._offset + "," + t + "h" + r._length; - })), - L && - r.showline && - ("all" === r.mirror || "allticks" === r.mirror) && - (z += D(x) + D(_)), - e.xlines - .style("stroke-width", r._lw + "px") - .call(l.stroke, r.showline ? r.linecolor : "rgba(0,0,0,0)")), - e.xlines.attr("d", z)); - var P = "M0,0"; - (y(n, t) && - ((C = b(n, "bottom", r, u)), - (M = n._offset + n._length + (C ? s : 0)), - (E = b(n, "top", r, u)), - (A = n._offset - (E ? s : 0)), - (T = g(n, r, "left")), - (S = g(n, r, "right")), - (L = !n._anchorAxis || t !== r._mainSubplot) && - n.ticks && - "allticks" === n.mirror && - (n._linepositions[t] = [T, S]), - (P = I(n, O, function (t) { - return "M" + t + "," + n._offset + "v" + n._length; - })), - L && - n.showline && - ("all" === n.mirror || "allticks" === n.mirror) && - (P += O(T) + O(S)), - e.ylines - .style("stroke-width", n._lw + "px") - .call(l.stroke, n.showline ? n.linecolor : "rgba(0,0,0,0)")), - e.ylines.attr("d", P)); - } - function D(t) { - return "M" + m + "," + t + "H" + v; - } - function O(t) { - return "M" + t + "," + A + "V" + M; - } - function I(e, r, n) { - if (!e.showline || t !== e._mainSubplot) return ""; - if (!e._anchorAxis) return n(e._mainLinePosition); - var i = r(e._mainLinePosition); - return (e.mirror && (i += r(e._mainMirrorPosition)), i); - } - }), - h.makeClipPaths(t), - r.drawMainTitle(t), - f.manage(t), - t._promises.length && Promise.all(t._promises) - ); - }), - (r.drawMainTitle = function (t) { - var e = t._fullLayout; - u.draw(t, "gtitle", { - propContainer: e, - propName: "title", - placeholder: e._dfltTitle.plot, - attributes: { - x: e.width / 2, - y: e._size.t / 2, - "text-anchor": "middle", - }, - }); - }), - (r.doTraceStyle = function (t) { - for (var e = 0; e < t.calcdata.length; e++) { - var r = t.calcdata[e], - n = (((r[0] || {}).trace || {})._module || {}).arraysToCalcdata; - n && n(r, r[0].trace); - } - return ( - a.style(t), - i.getComponentMethod("legend", "draw")(t), - a.previousPromises(t) - ); - }), - (r.doColorBars = function (t) { - for (var e = 0; e < t.calcdata.length; e++) { - var r = t.calcdata[e][0]; - if ((r.t || {}).cb) { - var n = r.trace, - o = r.t.cb; - (i.traceIs(n, "contour") && - o.line({ - width: !1 !== n.contours.showlines ? n.line.width : 0, - dash: n.line.dash, - color: - "line" === n.contours.coloring - ? o._opts.line.color - : n.line.color, - }), - i.traceIs(n, "markerColorscale") - ? o.options(n.marker.colorbar)() - : o.options(n.colorbar)()); - } - } - return a.previousPromises(t); - }), - (r.layoutReplot = function (t) { - var e = t.layout; - return ((t.layout = void 0), i.call("plot", t, "", e)); - }), - (r.doLegend = function (t) { - return (i.getComponentMethod("legend", "draw")(t), a.previousPromises(t)); - }), - (r.doTicksRelayout = function (t) { - return ( - h.doTicks(t, "redraw"), - t._fullLayout._hasOnlyLargeSploms && - (s(t), i.subplotsRegistry.splom.plot(t)), - r.drawMainTitle(t), - a.previousPromises(t) - ); - }), - (r.doModeBar = function (t) { - var e = t._fullLayout; - f.manage(t); - for (var r = 0; r < e._basePlotModules.length; r++) { - var n = e._basePlotModules[r].updateFx; - n && n(e); - } - return a.previousPromises(t); - }), - (r.doCamera = function (t) { - for ( - var e = t._fullLayout, r = e._subplots.gl3d, n = 0; - n < r.length; - n++ - ) { - var i = e[r[n]]; - i._scene.setCamera(i.camera); - } - }), - (r.drawData = function (t) { - var e, - r = t._fullLayout, - n = t.calcdata; - for (e = 0; e < n.length; e++) { - var o = n[e][0].trace; - (!0 === o.visible && o._module.colorbar) || - r._infolayer.select(".cb" + o.uid).remove(); - } - s(t); - var l = r._basePlotModules; - for (e = 0; e < l.length; e++) l[e].plot(t); - return ( - a.style(t), - i.getComponentMethod("shapes", "draw")(t), - i.getComponentMethod("annotations", "draw")(t), - (r._replotting = !1), - a.previousPromises(t) - ); - }), - (r.doAutoRangeAndConstraints = function (t) { - for (var e = h.list(t, "", !0), r = 0; r < e.length; r++) { - var n = e[r]; - (m(t, n), v(n)); - } - g(t); - }), - (r.finalDraw = function (t) { - (i.getComponentMethod("shapes", "draw")(t), - i.getComponentMethod("images", "draw")(t), - i.getComponentMethod("annotations", "draw")(t), - i.getComponentMethod("legend", "draw")(t), - i.getComponentMethod("rangeslider", "draw")(t), - i.getComponentMethod("rangeselector", "draw")(t), - i.getComponentMethod("sliders", "draw")(t), - i.getComponentMethod("updatemenus", "draw")(t)); - })); - }, - { - "../components/color": 474, - "../components/drawing": 499, - "../components/modebar": 537, - "../components/titles": 567, - "../constants/alignment": 574, - "../lib": 602, - "../lib/clear_gl_canvases": 586, - "../plots/cartesian/autorange": 647, - "../plots/cartesian/axes": 648, - "../plots/cartesian/constraints": 655, - "../plots/plots": 710, - "../registry": 732, - d3: 130, - }, - ], - 641: [ - function (t, e, r) { - "use strict"; - var n = t("./plot_api"), - i = t("../lib"), - a = t("../snapshot/helpers"), - o = t("../snapshot/tosvg"), - s = t("../snapshot/svgtoimg"), - l = { - format: { - valType: "enumerated", - values: ["png", "jpeg", "webp", "svg"], - dflt: "png", - }, - width: { valType: "number", min: 1 }, - height: { valType: "number", min: 1 }, - scale: { valType: "number", min: 0, dflt: 1 }, - setBackground: { valType: "any", dflt: !1 }, - imageDataOnly: { valType: "boolean", dflt: !1 }, - }, - c = /^data:image\/\w+;base64,/; - e.exports = function (t, e) { - var r, u, f; - function h(t) { - return !(t in e) || i.validate(e[t], l[t]); - } - if ( - ((e = e || {}), - i.isPlainObject(t) - ? ((r = t.data || []), (u = t.layout || {}), (f = t.config || {})) - : ((t = i.getGraphDiv(t)), - (r = i.extendDeep([], t.data)), - (u = i.extendDeep({}, t.layout)), - (f = t._context)), - !h("width") || !h("height")) - ) - throw new Error("Height and width should be pixel values."); - if (!h("format")) - throw new Error("Image format is not jpeg, png, svg or webp."); - var p = {}; - function d(t, r) { - return i.coerce(e, p, l, t, r); - } - var g = d("format"), - m = d("width"), - v = d("height"), - y = d("scale"), - x = d("setBackground"), - b = d("imageDataOnly"), - _ = document.createElement("div"); - ((_.style.position = "absolute"), - (_.style.left = "-5000px"), - document.body.appendChild(_)); - var w = i.extendFlat({}, u); - (m && (w.width = m), v && (w.height = v)); - var k = i.extendFlat({}, f, { staticPlot: !0, setBackground: x }), - M = a.getRedrawFunc(_); - function A() { - return new Promise(function (t) { - setTimeout(t, a.getDelay(_._fullLayout)); - }); - } - function T() { - return new Promise(function (t, e) { - var r = o(_, g, y), - a = _._fullLayout.width, - l = _._fullLayout.height; - if ((n.purge(_), document.body.removeChild(_), "svg" === g)) - return t(b ? r : "data:image/svg+xml," + encodeURIComponent(r)); - var c = document.createElement("canvas"); - ((c.id = i.randstr()), - s({ - format: g, - width: a, - height: l, - scale: y, - canvas: c, - svg: r, - promise: !0, - }) - .then(t) - .catch(e)); - }); - } - return new Promise(function (t, e) { - n.plot(_, r, w, k) - .then(M) - .then(A) - .then(T) - .then(function (e) { - t( - (function (t) { - return b ? t.replace(c, "") : t; - })(e), - ); - }) - .catch(function (t) { - e(t); - }); - }); - }; - }, - { - "../lib": 602, - "../snapshot/helpers": 736, - "../snapshot/svgtoimg": 738, - "../snapshot/tosvg": 740, - "./plot_api": 637, - }, - ], - 642: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("../plots/plots"), - a = t("./plot_schema"), - o = t("./plot_config"), - s = n.isPlainObject, - l = Array.isArray, - c = n.isArrayOrTypedArray; - function u(t, e, r, i, a, o) { - o = o || []; - for (var f = Object.keys(t), h = 0; h < f.length; h++) { - var m = f[h]; - if ("transforms" !== m) { - var v = o.slice(); - v.push(m); - var y = t[m], - x = e[m], - b = g(r, m), - _ = "info_array" === (b || {}).valType, - w = "colorscale" === (b || {}).valType, - k = (b || {}).items; - if (d(r, m)) - if (s(y) && s(x)) u(y, x, b, i, a, v); - else if (_ && l(y)) { - y.length > x.length && i.push(p("unused", a, v.concat(x.length))); - var M, - A, - T, - S, - C, - E = x.length, - L = Array.isArray(k); - if ((L && (E = Math.min(E, k.length)), 2 === b.dimensions)) - for (A = 0; A < E; A++) - if (l(y[A])) { - y[A].length > x[A].length && - i.push(p("unused", a, v.concat(A, x[A].length))); - var z = x[A].length; - for (M = 0; M < (L ? Math.min(z, k[A].length) : z); M++) - ((T = L ? k[A][M] : k), - (S = y[A][M]), - (C = x[A][M]), - n.validate(S, T) - ? C !== S && - C !== +S && - i.push(p("dynamic", a, v.concat(A, M), S, C)) - : i.push(p("value", a, v.concat(A, M), S))); - } else i.push(p("array", a, v.concat(A), y[A])); - else - for (A = 0; A < E; A++) - ((T = L ? k[A] : k), - (S = y[A]), - (C = x[A]), - n.validate(S, T) - ? C !== S && - C !== +S && - i.push(p("dynamic", a, v.concat(A), S, C)) - : i.push(p("value", a, v.concat(A), S))); - } else if (b.items && !_ && l(y)) { - var P, - D, - O = k[Object.keys(k)[0]], - I = []; - for (P = 0; P < x.length; P++) { - var R = x[P]._index || P; - ((D = v.slice()).push(R), - s(y[R]) && s(x[P]) && (I.push(R), u(y[R], x[P], O, i, a, D))); - } - for (P = 0; P < y.length; P++) - ((D = v.slice()).push(P), - s(y[P]) - ? -1 === I.indexOf(P) && i.push(p("unused", a, D)) - : i.push(p("object", a, D, y[P]))); - } else - !s(y) && s(x) - ? i.push(p("object", a, v, y)) - : c(y) || !c(x) || _ || w - ? m in e - ? n.validate(y, b) - ? "enumerated" === b.valType && - ((b.coerceNumber && y !== +x) || y !== x) && - i.push(p("dynamic", a, v, y, x)) - : i.push(p("value", a, v, y)) - : i.push(p("unused", a, v, y)) - : i.push(p("array", a, v, y)); - else i.push(p("schema", a, v)); - } - } - return i; - } - e.exports = function (t, e) { - var r, - c, - f = a.get(), - h = [], - d = { _context: n.extendFlat({}, o) }; - (l(t) - ? ((d.data = n.extendDeep([], t)), (r = t)) - : ((d.data = []), (r = []), h.push(p("array", "data"))), - s(e) - ? ((d.layout = n.extendDeep({}, e)), (c = e)) - : ((d.layout = {}), - (c = {}), - arguments.length > 1 && h.push(p("object", "layout"))), - i.supplyDefaults(d)); - for (var g = d._fullData, m = r.length, v = 0; v < m; v++) { - var y = r[v], - x = ["data", v]; - if (s(y)) { - var b = g[v], - _ = b.type, - w = f.traces[_].attributes; - ((w.type = { valType: "enumerated", values: [_] }), - !1 === b.visible && !1 !== y.visible && h.push(p("invisible", x)), - u(y, b, w, h, x)); - var k = y.transforms, - M = b.transforms; - if (k) { - (l(k) || h.push(p("array", x, ["transforms"])), x.push("transforms")); - for (var A = 0; A < k.length; A++) { - var T = ["transforms", A], - S = k[A].type; - if (s(k[A])) { - var C = f.transforms[S] ? f.transforms[S].attributes : {}; - ((C.type = { - valType: "enumerated", - values: Object.keys(f.transforms), - }), - u(k[A], M[A], C, h, x, T)); - } else h.push(p("object", x, T)); - } - } - } else h.push(p("object", x)); - } - return ( - u( - c, - d._fullLayout, - (function (t, e) { - for (var r = 0; r < e.length; r++) { - var i = e[r].type, - a = t.traces[i].layoutAttributes; - a && n.extendFlat(t.layout.layoutAttributes, a); - } - return t.layout.layoutAttributes; - })(f, g), - h, - "layout", - ), - 0 === h.length ? void 0 : h - ); - }; - var f = { - object: function (t, e) { - return ( - ("layout" === t && "" === e - ? "The layout argument" - : "data" === t[0] && "" === e - ? "Trace " + t[1] + " in the data argument" - : h(t) + "key " + e) + " must be linked to an object container" - ); - }, - array: function (t, e) { - return ( - ("data" === t ? "The data argument" : h(t) + "key " + e) + - " must be linked to an array container" - ); - }, - schema: function (t, e) { - return h(t) + "key " + e + " is not part of the schema"; - }, - unused: function (t, e, r) { - var n = s(r) ? "container" : "key"; - return h(t) + n + " " + e + " did not get coerced"; - }, - dynamic: function (t, e, r, n) { - return [ - h(t) + "key", - e, - "(set to '" + r + "')", - "got reset to", - "'" + n + "'", - "during defaults.", - ].join(" "); - }, - invisible: function (t) { - return "Trace " + t[1] + " got defaulted to be not visible"; - }, - value: function (t, e, r) { - return [h(t) + "key " + e, "is set to an invalid value (" + r + ")"].join( - " ", - ); - }, - }; - function h(t) { - return l(t) ? "In data trace " + t[1] + ", " : "In " + t + ", "; - } - function p(t, e, r, i, a) { - var o, s; - ((r = r || ""), l(e) ? ((o = e[0]), (s = e[1])) : ((o = e), (s = null))); - var c = (function (t) { - if (!l(t)) return String(t); - for (var e = "", r = 0; r < t.length; r++) { - var n = t[r]; - ("number" == typeof n - ? (e = e.substr(0, e.length - 1) + "[" + n + "]") - : (e += n), - r < t.length - 1 && (e += ".")); - } - return e; - })(r), - u = f[t](e, c, i, a); - return ( - n.log(u), - { code: t, container: o, trace: s, path: r, astr: c, msg: u } - ); - } - function d(t, e) { - var r = v(e), - n = r.keyMinusId, - i = r.id; - return !!(n in t && t[n]._isSubplotObj && i) || e in t; - } - function g(t, e) { - return t[v(e).keyMinusId]; - } - var m = n.counterRegex("([a-z]+)"); - function v(t) { - var e = t.match(m); - return { keyMinusId: e && e[1], id: e && e[2] }; - } - }, - { - "../lib": 602, - "../plots/plots": 710, - "./plot_config": 638, - "./plot_schema": 639, - }, - ], - 643: [ - function (t, e, r) { - "use strict"; - e.exports = { - mode: { - valType: "enumerated", - dflt: "afterall", - values: ["immediate", "next", "afterall"], - }, - direction: { - valType: "enumerated", - values: ["forward", "reverse"], - dflt: "forward", - }, - fromcurrent: { valType: "boolean", dflt: !1 }, - frame: { - duration: { valType: "number", min: 0, dflt: 500 }, - redraw: { valType: "boolean", dflt: !0 }, - }, - transition: { - duration: { valType: "number", min: 0, dflt: 500 }, - easing: { - valType: "enumerated", - dflt: "cubic-in-out", - values: [ - "linear", - "quad", - "cubic", - "sin", - "exp", - "circle", - "elastic", - "back", - "bounce", - "linear-in", - "quad-in", - "cubic-in", - "sin-in", - "exp-in", - "circle-in", - "elastic-in", - "back-in", - "bounce-in", - "linear-out", - "quad-out", - "cubic-out", - "sin-out", - "exp-out", - "circle-out", - "elastic-out", - "back-out", - "bounce-out", - "linear-in-out", - "quad-in-out", - "cubic-in-out", - "sin-in-out", - "exp-in-out", - "circle-in-out", - "elastic-in-out", - "back-in-out", - "bounce-in-out", - ], - }, - }, - }; - }, - {}, - ], - 644: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"); - e.exports = function (t, e, r) { - var i, - a = r.name, - o = e[a], - s = n.isArrayOrTypedArray(t[a]) ? t[a] : [], - l = (e[a] = []); - for (i = 0; i < s.length; i++) { - var c = s[i], - u = {}, - f = {}; - (n.isPlainObject(c) || ((f.itemIsNotPlainObject = !0), (c = {})), - r.handleItemDefaults(c, u, e, r, f), - (u._input = c), - (u._index = i), - l.push(u)); - } - if (n.isArrayOrTypedArray(o)) { - var h = Math.min(o.length, l.length); - for (i = 0; i < h; i++) n.relinkPrivateKeys(l[i], o[i]); - } - }; - }, - { "../lib": 602 }, - ], - 645: [ - function (t, e, r) { - "use strict"; - var n = t("../components/fx/attributes"); - e.exports = { - type: { - valType: "enumerated", - values: [], - dflt: "scatter", - editType: "calc+clearAxisTypes", - }, - visible: { - valType: "enumerated", - values: [!0, !1, "legendonly"], - dflt: !0, - editType: "calc", - }, - showlegend: { valType: "boolean", dflt: !0, editType: "style" }, - legendgroup: { valType: "string", dflt: "", editType: "style" }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1, editType: "style" }, - name: { valType: "string", editType: "style" }, - uid: { valType: "string", dflt: "", editType: "calc" }, - ids: { valType: "data_array", editType: "calc" }, - customdata: { valType: "data_array", editType: "calc" }, - selectedpoints: { valType: "any", editType: "calc" }, - hoverinfo: { - valType: "flaglist", - flags: ["x", "y", "z", "text", "name"], - extras: ["all", "none", "skip"], - arrayOk: !0, - dflt: "all", - editType: "none", - }, - hoverlabel: n.hoverlabel, - stream: { - token: { valType: "string", noBlank: !0, strict: !0, editType: "calc" }, - maxpoints: { - valType: "number", - min: 0, - max: 1e4, - dflt: 500, - editType: "calc", - }, - editType: "calc", - }, - transforms: { _isLinkedToArray: "transform", editType: "calc" }, - }; - }, - { "../components/fx/attributes": 508 }, - ], - 646: [ - function (t, e, r) { - "use strict"; - e.exports = { - xaxis: { valType: "subplotid", dflt: "x", editType: "calc+clearAxisTypes" }, - yaxis: { valType: "subplotid", dflt: "y", editType: "calc+clearAxisTypes" }, - }; - }, - {}, - ], - 647: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../constants/numerical").FP_SAFE; - function o(t) { - var e, - r, - n, - a, - o, - l, - c, - u, - f = [], - h = t._min[0].val, - p = t._max[0].val, - d = 0, - g = !1, - m = s(t); - for (e = 1; e < t._min.length && h === p; e++) - h = Math.min(h, t._min[e].val); - for (e = 1; e < t._max.length && h === p; e++) - p = Math.max(p, t._max[e].val); - if (t.range) { - var v = i.simpleMap(t.range, t.r2l); - g = v[1] < v[0]; - } - for ( - "reversed" === t.autorange && ((g = !0), (t.autorange = !0)), e = 0; - e < t._min.length; - e++ - ) - for (n = t._min[e], r = 0; r < t._max.length; r++) - ((u = (a = t._max[r]).val - n.val), - (c = t._length - m(n) - m(a)), - u > 0 && c > 0 && u / c > d && ((o = n), (l = a), (d = u / c))); - if (h === p) { - var y = h - 1, - x = h + 1; - f = - "tozero" === t.rangemode - ? h < 0 - ? [y, 0] - : [0, x] - : "nonnegative" === t.rangemode - ? [Math.max(0, y), Math.max(0, x)] - : [y, x]; - } else - d && - (("linear" !== t.type && "-" !== t.type) || - ("tozero" === t.rangemode - ? (o.val >= 0 && (o = { val: 0, pad: 0 }), - l.val <= 0 && (l = { val: 0, pad: 0 })) - : "nonnegative" === t.rangemode && - (o.val - d * m(o) < 0 && (o = { val: 0, pad: 0 }), - l.val < 0 && (l = { val: 1, pad: 0 })), - (d = (l.val - o.val) / (t._length - m(o) - m(l)))), - (f = [o.val - d * m(o), l.val + d * m(l)])); - return ( - f[0] === f[1] && - ("tozero" === t.rangemode - ? (f = f[0] < 0 ? [f[0], 0] : f[0] > 0 ? [0, f[0]] : [0, 1]) - : ((f = [f[0] - 1, f[0] + 1]), - "nonnegative" === t.rangemode && (f[0] = Math.max(0, f[0])))), - g && f.reverse(), - i.simpleMap(f, t.l2r || Number) - ); - } - function s(t) { - var e = t._length / 20; - return ( - "domain" === t.constrain && - t._inputDomain && - (e *= - (t._inputDomain[1] - t._inputDomain[0]) / - (t.domain[1] - t.domain[0])), - function (t) { - return t.pad + (t.extrapad ? e : 0); - } - ); - } - function l(t) { - return n(t) && Math.abs(t) < a; - } - function c(t, e) { - return t <= e; - } - function u(t, e) { - return t >= e; - } - e.exports = { - getAutoRange: o, - makePadFn: s, - doAutoRange: function (t) { - t._length || t.setScale(); - var e, - r = t._min && t._max && t._min.length && t._max.length; - t.autorange && - r && - ((t.range = o(t)), - (t._r = t.range.slice()), - (t._rl = i.simpleMap(t._r, t.r2l)), - ((e = t._input).range = t.range.slice()), - (e.autorange = t.autorange)); - if (t._anchorAxis && t._anchorAxis.rangeslider) { - var n = t._anchorAxis.rangeslider[t._name]; - (n && - "auto" === n.rangemode && - (n.range = r - ? o(t) - : t._rangeInitial - ? t._rangeInitial.slice() - : t.range.slice()), - ((e = t._anchorAxis._input).rangeslider[t._name] = i.extendFlat( - {}, - n, - ))); - } - }, - expand: function (t, e, r) { - if ( - !(function (t) { - return t.autorange || t._rangesliderAutorange; - })(t) || - !e - ) - return; - t._min || (t._min = []); - t._max || (t._max = []); - r || (r = {}); - t._m || t.setScale(); - var i, - o, - s, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b = e.length, - _ = r.padded || !1, - w = r.tozero && ("linear" === t.type || "-" === t.type), - k = "log" === t.type, - M = !1; - function A(t) { - if (Array.isArray(t)) - return ( - (M = !0), - function (e) { - return Math.max(Number(t[e] || 0), 0); - } - ); - var e = Math.max(Number(t || 0), 0); - return function () { - return e; - }; - } - var T = A((t._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0), - S = A((t._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0), - C = A(r.vpadplus || r.vpad), - E = A(r.vpadminus || r.vpad); - if (!M) { - if (((y = 1 / 0), (x = -1 / 0), k)) - for (i = 0; i < b; i++) - ((f = e[i]) < y && f > 0 && (y = f), f > x && f < a && (x = f)); - else - for (i = 0; i < b; i++) - ((f = e[i]) < y && f > -a && (y = f), f > x && f < a && (x = f)); - ((e = [y, x]), (b = 2)); - } - function L(r) { - if (((h = e[r]), n(h))) - for ( - g = T(r), - m = S(r), - y = h - E(r), - x = h + C(r), - k && y < x / 10 && (y = x / 10), - p = t.c2l(y), - d = t.c2l(x), - w && ((p = Math.min(0, p)), (d = Math.max(0, d))), - s = 0; - s < 2; - s++ - ) { - var i = s ? d : p; - if (l(i)) { - var a = s ? t._max : t._min, - b = s ? g : m, - M = s ? u : c; - for (v = !0, o = 0; o < a.length && v; o++) { - if ( - ((f = a[o]), M(f.val, i) && f.pad >= b && (f.extrapad || !_)) - ) { - v = !1; - break; - } - M(i, f.val) && - f.pad <= b && - (_ || !f.extrapad) && - (a.splice(o, 1), o--); - } - if (v) { - var A = w && 0 === i; - a.push({ val: i, pad: A ? 0 : b, extrapad: !A && _ }); - } - } - } - } - var z = Math.min(6, b); - for (i = 0; i < z; i++) L(i); - for (i = b - 1; i >= z; i--) L(i); - }, - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, - ], - 648: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../../plots/plots"), - o = t("../../registry"), - s = t("../../lib"), - l = t("../../lib/svg_text_utils"), - c = t("../../components/titles"), - u = t("../../components/color"), - f = t("../../components/drawing"), - h = t("../../constants/numerical"), - p = h.ONEAVGYEAR, - d = h.ONEAVGMONTH, - g = h.ONEDAY, - m = h.ONEHOUR, - v = h.ONEMIN, - y = h.ONESEC, - x = h.MINUS_SIGN, - b = h.BADNUM, - _ = t("../../constants/alignment").MID_SHIFT, - w = t("../../constants/alignment").LINE_SPACING, - k = (e.exports = {}); - k.setConvert = t("./set_convert"); - var M = t("./axis_autotype"), - A = t("./axis_ids"); - ((k.id2name = A.id2name), - (k.name2id = A.name2id), - (k.cleanId = A.cleanId), - (k.list = A.list), - (k.listIds = A.listIds), - (k.getFromId = A.getFromId), - (k.getFromTrace = A.getFromTrace)); - var T = t("./autorange"); - ((k.expand = T.expand), - (k.getAutoRange = T.getAutoRange), - (k.coerceRef = function (t, e, r, n, i, a) { - var o = n.charAt(n.length - 1), - l = r._fullLayout._subplots[o + "axis"], - c = n + "ref", - u = {}; - return ( - i || (i = l[0] || a), - a || (a = i), - (u[c] = { - valType: "enumerated", - values: l.concat(a ? [a] : []), - dflt: i, - }), - s.coerce(t, e, u, c) - ); - }), - (k.coercePosition = function (t, e, r, n, i, a) { - var o, l; - if ("paper" === n || "pixel" === n) ((o = s.ensureNumber), (l = r(i, a))); - else { - var c = k.getFromId(e, n); - ((l = r(i, (a = c.fraction2r(a)))), (o = c.cleanPos)); - } - t[i] = o(l); - }), - (k.cleanPosition = function (t, e, r) { - return ( - "paper" === r || "pixel" === r - ? s.ensureNumber - : k.getFromId(e, r).cleanPos - )(t); - })); - var S = (k.getDataConversions = function (t, e, r, n) { - var i, - a = "x" === r || "y" === r || "z" === r ? r : n; - if (Array.isArray(a)) { - if ( - ((i = { type: M(n), _categories: [] }), - k.setConvert(i), - "category" === i.type) - ) - for (var o = 0; o < n.length; o++) i.d2c(n[o]); - } else i = k.getFromTrace(t, e, a); - return i - ? { d2c: i.d2c, c2d: i.c2d } - : "ids" === a - ? { d2c: E, c2d: E } - : { d2c: C, c2d: C }; - }); - function C(t) { - return +t; - } - function E(t) { - return String(t); - } - ((k.getDataToCoordFunc = function (t, e, r, n) { - return S(t, e, r, n).d2c; - }), - (k.counterLetter = function (t) { - var e = t.charAt(0); - return "x" === e ? "y" : "y" === e ? "x" : void 0; - }), - (k.minDtick = function (t, e, r, n) { - -1 === ["log", "category"].indexOf(t.type) && n - ? void 0 === t._minDtick - ? ((t._minDtick = e), (t._forceTick0 = r)) - : t._minDtick && - ((t._minDtick / e + 1e-6) % 1 < 2e-6 && - ((((r - t._forceTick0) / e) % 1) + 1.000001) % 1 < 2e-6 - ? ((t._minDtick = e), (t._forceTick0 = r)) - : ((e / t._minDtick + 1e-6) % 1 > 2e-6 || - ((((r - t._forceTick0) / t._minDtick) % 1) + 1.000001) % 1 > - 2e-6) && - (t._minDtick = 0)) - : (t._minDtick = 0); - }), - (k.saveRangeInitial = function (t, e) { - for (var r = k.list(t, "", !0), n = !1, i = 0; i < r.length; i++) { - var a = r[i], - o = void 0 === a._rangeInitial, - s = - o || - !( - a.range[0] === a._rangeInitial[0] && - a.range[1] === a._rangeInitial[1] - ); - ((o && !1 === a.autorange) || (e && s)) && - ((a._rangeInitial = a.range.slice()), (n = !0)); - } - return n; - }), - (k.saveShowSpikeInitial = function (t, e) { - for ( - var r = k.list(t, "", !0), n = !1, i = "on", a = 0; - a < r.length; - a++ - ) { - var o = r[a], - s = void 0 === o._showSpikeInitial, - l = s || !(o.showspikes === o._showspikes); - ((s || (e && l)) && ((o._showSpikeInitial = o.showspikes), (n = !0)), - "on" !== i || o.showspikes || (i = "off")); - } - return ((t._fullLayout._cartesianSpikesEnabled = i), n); - }), - (k.autoBin = function (t, e, r, n, a) { - var o, - l, - c = s.aggNums(Math.min, null, t), - u = s.aggNums(Math.max, null, t); - if ((a || (a = e.calendar), "category" === e.type)) - return { start: c - 0.5, end: u + 0.5, size: 1, _dataSpan: u - c }; - if (r) o = (u - c) / r; - else { - var f = s.distinctVals(t), - h = Math.pow(10, Math.floor(Math.log(f.minDiff) / Math.LN10)), - p = h * s.roundUp(f.minDiff / h, [0.9, 1.9, 4.9, 9.9], !0); - ((o = Math.max( - p, - (2 * s.stdev(t)) / Math.pow(t.length, n ? 0.25 : 0.4), - )), - i(o) || (o = 1)); - } - ((l = - "log" === e.type - ? { type: "linear", range: [c, u] } - : { - type: e.type, - range: s.simpleMap([c, u], e.c2r, 0, a), - calendar: a, - }), - k.setConvert(l), - k.autoTicks(l, o)); - var d, - m = k.tickIncrement(k.tickFirst(l), l.dtick, "reverse", a); - if ("number" == typeof l.dtick) - d = - (m = (function (t, e, r, n, a) { - var o = 0, - s = 0, - l = 0, - c = 0; - function u(e) { - return (1 + (100 * (e - t)) / r.dtick) % 100 < 2; - } - for (var f = 0; f < e.length; f++) - (e[f] % 1 == 0 ? l++ : i(e[f]) || c++, - u(e[f]) && o++, - u(e[f] + r.dtick / 2) && s++); - var h = e.length - c; - if (l === h && "date" !== r.type) - r.dtick < 1 - ? (t = n - 0.5 * r.dtick) - : (t -= 0.5) + r.dtick < n && (t += r.dtick); - else if (s < 0.1 * h && (o > 0.3 * h || u(n) || u(a))) { - var p = r.dtick / 2; - t += t + p < n ? p : -p; - } - return t; - })(m, t, l, c, u)) + - (1 + Math.floor((u - m) / l.dtick)) * l.dtick; - else - for ( - "M" === l.dtick.charAt(0) && - (m = (function (t, e, r, n, i) { - var a = s.findExactDates(e, i); - if (a.exactDays > 0.8) { - var o = Number(r.substr(1)); - a.exactYears > 0.8 && o % 12 == 0 - ? (t = k.tickIncrement(t, "M6", "reverse") + 1.5 * g) - : a.exactMonths > 0.8 - ? (t = k.tickIncrement(t, "M1", "reverse") + 15.5 * g) - : (t -= g / 2); - var l = k.tickIncrement(t, r); - if (l <= n) return l; - } - return t; - })(m, t, l.dtick, c, a)), - d = m, - 0; - d <= u; - - ) - ((d = k.tickIncrement(d, l.dtick, !1, a)), 0); - return { - start: e.c2r(m, 0, a), - end: e.c2r(d, 0, a), - size: l.dtick, - _dataSpan: u - c, - }; - }), - (k.prepTicks = function (t) { - var e = s.simpleMap(t.range, t.r2l); - if ("auto" === t.tickmode || !t.dtick) { - var r, - n = t.nticks; - (n || - ("category" === t.type - ? ((r = t.tickfont ? 1.2 * (t.tickfont.size || 12) : 15), - (n = t._length / r)) - : ((r = "y" === t._id.charAt(0) ? 40 : 80), - (n = s.constrain(t._length / r, 4, 9) + 1)), - "radialaxis" === t._name && (n *= 2)), - "array" === t.tickmode && (n *= 100), - k.autoTicks(t, Math.abs(e[1] - e[0]) / n), - t._minDtick > 0 && - t.dtick < 2 * t._minDtick && - ((t.dtick = t._minDtick), (t.tick0 = t.l2r(t._forceTick0)))); - } - (t.tick0 || (t.tick0 = "date" === t.type ? "2000-01-01" : 0), F(t)); - }), - (k.calcTicks = function (t) { - k.prepTicks(t); - var e = s.simpleMap(t.range, t.r2l); - if ("array" === t.tickmode) - return (function (t) { - var e, - r, - n = t.tickvals, - i = t.ticktext, - a = new Array(n.length), - o = s.simpleMap(t.range, t.r2l), - l = 1.0001 * o[0] - 1e-4 * o[1], - c = 1.0001 * o[1] - 1e-4 * o[0], - u = Math.min(l, c), - f = Math.max(l, c), - h = 0; - Array.isArray(i) || (i = []); - var p = "category" === t.type ? t.d2l_noadd : t.d2l; - "log" === t.type && - "L" !== String(t.dtick).charAt(0) && - (t.dtick = - "L" + - Math.pow(10, Math.floor(Math.min(t.range[0], t.range[1])) - 1)); - for (r = 0; r < n.length; r++) - (e = p(n[r])) > u && - e < f && - (void 0 === i[r] - ? (a[h] = k.tickText(t, e)) - : (a[h] = N(t, e, String(i[r]))), - h++); - h < n.length && a.splice(h, n.length - h); - return a; - })(t); - t._tmin = k.tickFirst(t); - var r = 1.0001 * e[0] - 1e-4 * e[1], - n = 1.0001 * e[1] - 1e-4 * e[0], - i = e[1] < e[0]; - if (t._tmin < r !== i) return []; - var a = []; - "category" === t.type && - (n = i ? Math.max(-0.5, n) : Math.min(t._categories.length - 0.5, n)); - for ( - var o = null, l = Math.max(1e3, t._length || 0), c = t._tmin; - (i ? c >= n : c <= n) && !(a.length > l || c === o); - c = k.tickIncrement(c, t.dtick, i, t.calendar) - ) - ((o = c), a.push(c)); - ("angular" === t._id && 360 === Math.abs(e[1] - e[0]) && a.pop(), - (t._tmax = a[a.length - 1]), - (t._prevDateHead = ""), - (t._inCalcTicks = !0)); - for (var u = new Array(a.length), f = 0; f < a.length; f++) - u[f] = k.tickText(t, a[f]); - return ((t._inCalcTicks = !1), u); - })); - var L = [2, 5, 10], - z = [1, 2, 3, 6, 12], - P = [1, 2, 5, 10, 15, 30], - D = [1, 2, 3, 7, 14], - O = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1], - I = [-0.301, 0, 0.301, 0.699, 1], - R = [15, 30, 45, 90, 180]; - function B(t, e, r) { - return e * s.roundUp(t / e, r); - } - function F(t) { - var e = t.dtick; - if ( - ((t._tickexponent = 0), - i(e) || "string" == typeof e || (e = 1), - "category" === t.type && (t._tickround = null), - "date" === t.type) - ) { - var r = t.r2l(t.tick0), - n = t.l2r(r).replace(/(^-|i)/g, ""), - a = n.length; - if ("M" === String(e).charAt(0)) - a > 10 || "01-01" !== n.substr(5) - ? (t._tickround = "d") - : (t._tickround = +e.substr(1) % 12 == 0 ? "y" : "m"); - else if ((e >= g && a <= 10) || e >= 15 * g) t._tickround = "d"; - else if ((e >= v && a <= 16) || e >= m) t._tickround = "M"; - else if ((e >= y && a <= 19) || e >= v) t._tickround = "S"; - else { - var o = t.l2r(r + e).replace(/^-/, "").length; - t._tickround = Math.max(a, o) - 20; - } - } else if (i(e) || "L" === e.charAt(0)) { - var s = t.range.map(t.r2d || Number); - (i(e) || (e = Number(e.substr(1))), - (t._tickround = 2 - Math.floor(Math.log(e) / Math.LN10 + 0.01))); - var l = Math.max(Math.abs(s[0]), Math.abs(s[1])), - c = Math.floor(Math.log(l) / Math.LN10 + 0.01); - Math.abs(c) > 3 && - (V(t.exponentformat) && !U(c) - ? (t._tickexponent = 3 * Math.round((c - 1) / 3)) - : (t._tickexponent = c)); - } else t._tickround = null; - } - function N(t, e, r) { - var n = t.tickfont || {}; - return { - x: e, - dx: 0, - dy: 0, - text: r || "", - fontSize: n.size, - font: n.family, - fontColor: n.color, - }; - } - ((k.autoTicks = function (t, e) { - var r; - function n(t) { - return Math.pow(t, Math.floor(Math.log(e) / Math.LN10)); - } - if ("date" === t.type) { - t.tick0 = s.dateTick0(t.calendar); - var a = 2 * e; - a > p - ? ((e /= p), (r = n(10)), (t.dtick = "M" + 12 * B(e, r, L))) - : a > d - ? ((e /= d), (t.dtick = "M" + B(e, 1, z))) - : a > g - ? ((t.dtick = B(e, g, D)), (t.tick0 = s.dateTick0(t.calendar, !0))) - : a > m - ? (t.dtick = B(e, m, z)) - : a > v - ? (t.dtick = B(e, v, P)) - : a > y - ? (t.dtick = B(e, y, P)) - : ((r = n(10)), (t.dtick = B(e, r, L))); - } else if ("log" === t.type) { - t.tick0 = 0; - var o = s.simpleMap(t.range, t.r2l); - if (e > 0.7) t.dtick = Math.ceil(e); - else if (Math.abs(o[1] - o[0]) < 1) { - var l = 1.5 * Math.abs((o[1] - o[0]) / e); - ((e = Math.abs(Math.pow(10, o[1]) - Math.pow(10, o[0])) / l), - (r = n(10)), - (t.dtick = "L" + B(e, r, L))); - } else t.dtick = e > 0.3 ? "D2" : "D1"; - } else - "category" === t.type - ? ((t.tick0 = 0), (t.dtick = Math.ceil(Math.max(e, 1)))) - : "angular" === t._id - ? ((t.tick0 = 0), (r = 1), (t.dtick = B(e, r, R))) - : ((t.tick0 = 0), (r = n(10)), (t.dtick = B(e, r, L))); - if ( - (0 === t.dtick && (t.dtick = 1), - !i(t.dtick) && "string" != typeof t.dtick) - ) { - var c = t.dtick; - throw ((t.dtick = 1), "ax.dtick error: " + String(c)); - } - }), - (k.tickIncrement = function (t, e, r, a) { - var o = r ? -1 : 1; - if (i(e)) return t + o * e; - var l = e.charAt(0), - c = o * Number(e.substr(1)); - if ("M" === l) return s.incrementMonth(t, c, a); - if ("L" === l) return Math.log(Math.pow(10, t) + c) / Math.LN10; - if ("D" === l) { - var u = "D2" === e ? I : O, - f = t + 0.01 * o, - h = s.roundUp(s.mod(f, 1), u, r); - return ( - Math.floor(f) + Math.log(n.round(Math.pow(10, h), 1)) / Math.LN10 - ); - } - throw "unrecognized dtick " + String(e); - }), - (k.tickFirst = function (t) { - var e = t.r2l || Number, - r = s.simpleMap(t.range, e), - a = r[1] < r[0], - o = a ? Math.floor : Math.ceil, - l = 1.0001 * r[0] - 1e-4 * r[1], - c = t.dtick, - u = e(t.tick0); - if (i(c)) { - var f = o((l - u) / c) * c + u; - return ( - "category" === t.type && - (f = s.constrain(f, 0, t._categories.length - 1)), - f - ); - } - var h = c.charAt(0), - p = Number(c.substr(1)); - if ("M" === h) { - for (var d, g, m, v = 0, y = u; v < 10; ) { - if (((d = k.tickIncrement(y, c, a, t.calendar)) - l) * (y - l) <= 0) - return a ? Math.min(y, d) : Math.max(y, d); - ((g = (l - (y + d) / 2) / (d - y)), - (m = h + (Math.abs(Math.round(g)) || 1) * p), - (y = k.tickIncrement(y, m, g < 0 ? !a : a, t.calendar)), - v++); - } - return (s.error("tickFirst did not converge", t), y); - } - if ("L" === h) - return Math.log(o((Math.pow(10, l) - u) / p) * p + u) / Math.LN10; - if ("D" === h) { - var x = "D2" === c ? I : O, - b = s.roundUp(s.mod(l, 1), x, a); - return ( - Math.floor(l) + Math.log(n.round(Math.pow(10, b), 1)) / Math.LN10 - ); - } - throw "unrecognized dtick " + String(c); - }), - (k.tickText = function (t, e, r) { - var n, - a, - o = N(t, e), - l = "array" === t.tickmode, - c = r || l, - u = "category" === t.type ? t.d2l_noadd : t.d2l; - if (l && Array.isArray(t.ticktext)) { - var f = s.simpleMap(t.range, t.r2l), - h = Math.abs(f[1] - f[0]) / 1e4; - for ( - a = 0; - a < t.ticktext.length && !(Math.abs(e - u(t.tickvals[a])) < h); - a++ - ); - if (a < t.ticktext.length) return ((o.text = String(t.ticktext[a])), o); - } - function p(n) { - var i; - return ( - void 0 === n || - (r - ? "none" === n - : ((i = { first: t._tmin, last: t._tmax }[n]), - "all" !== n && e !== i)) - ); - } - return ( - (n = r - ? "never" - : "none" !== t.exponentformat && p(t.showexponent) - ? "hide" - : ""), - "date" === t.type - ? (function (t, e, r, n) { - var a = t._tickround, - o = (r && t.hoverformat) || k.getTickFormat(t); - n && (a = i(a) ? 4 : { y: "m", m: "d", d: "M", M: "S", S: 4 }[a]); - var l, - c = s.formatDate( - e.x, - o, - a, - t._dateFormat, - t.calendar, - t._extraFormat, - ), - u = c.indexOf("\n"); - -1 !== u && ((l = c.substr(u + 1)), (c = c.substr(0, u))); - n && - ("00:00:00" === c || "00:00" === c - ? ((c = l), (l = "")) - : 8 === c.length && (c = c.replace(/:00$/, ""))); - l && - (r - ? "d" === a - ? (c += ", " + l) - : (c = l + (c ? ", " + c : "")) - : (t._inCalcTicks && l === t._prevDateHead) || - ((c += "
          " + l), (t._prevDateHead = l))); - e.text = c; - })(t, o, r, c) - : "log" === t.type - ? (function (t, e, r, n, a) { - var o = t.dtick, - l = e.x, - c = t.tickformat; - "never" === a && (a = ""); - !n || - ("string" == typeof o && "L" === o.charAt(0)) || - (o = "L3"); - if (c || ("string" == typeof o && "L" === o.charAt(0))) - e.text = q(Math.pow(10, l), t, a, n); - else if ( - i(o) || - ("D" === o.charAt(0) && s.mod(l + 0.01, 1) < 0.1) - ) { - var u = Math.round(l); - -1 !== ["e", "E", "power"].indexOf(t.exponentformat) || - (V(t.exponentformat) && U(u)) - ? ((e.text = - 0 === u - ? 1 - : 1 === u - ? "10" - : u > 1 - ? "10" + u + "" - : "10" + x + -u + ""), - (e.fontSize *= 1.25)) - : ((e.text = q(Math.pow(10, l), t, "", "fakehover")), - "D1" === o && - "y" === t._id.charAt(0) && - (e.dy -= e.fontSize / 6)); - } else { - if ("D" !== o.charAt(0)) - throw "unrecognized dtick " + String(o); - ((e.text = String(Math.round(Math.pow(10, s.mod(l, 1))))), - (e.fontSize *= 0.75)); - } - if ("D1" === t.dtick) { - var f = String(e.text).charAt(0); - ("0" !== f && "1" !== f) || - ("y" === t._id.charAt(0) - ? (e.dx -= e.fontSize / 4) - : ((e.dy += e.fontSize / 2), - (e.dx += - (t.range[1] > t.range[0] ? 1 : -1) * - e.fontSize * - (l < 0 ? 0.5 : 0.25)))); - } - })(t, o, 0, c, n) - : "category" === t.type - ? (function (t, e) { - var r = t._categories[Math.round(e.x)]; - void 0 === r && (r = ""); - e.text = String(r); - })(t, o) - : "angular" === t._id - ? (function (t, e, r, n, i) { - if ("radians" !== t.thetaunit || r) - e.text = q(e.x, t, i, n); - else { - var a = e.x / 180; - if (0 === a) e.text = "0"; - else { - var o = (function (t) { - function e(t, e) { - return Math.abs(t - e) <= 1e-6; - } - var r = (function (t) { - var r = 1; - for (; !e(Math.round(t * r) / r, t); ) r *= 10; - return r; - })(t), - n = t * r, - i = Math.abs( - (function t(r, n) { - return e(n, 0) ? r : t(n, r % n); - })(n, r), - ); - return [Math.round(n / i), Math.round(r / i)]; - })(a); - if (o[1] >= 100) e.text = q(s.deg2rad(e.x), t, i, n); - else { - var l = e.x < 0; - (1 === o[1] - ? 1 === o[0] - ? (e.text = "\u03c0") - : (e.text = o[0] + "\u03c0") - : (e.text = [ - "", - o[0], - "", - "\u2044", - "", - o[1], - "", - "\u03c0", - ].join("")), - l && (e.text = x + e.text)); - } - } - } - })(t, o, r, c, n) - : (function (t, e, r, n, i) { - "never" === i - ? (i = "") - : "all" === t.showexponent && - Math.abs(e.x / t.dtick) < 1e-6 && - (i = "hide"); - e.text = q(e.x, t, i, n); - })(t, o, 0, c, n), - t.tickprefix && - !p(t.showtickprefix) && - (o.text = t.tickprefix + o.text), - t.ticksuffix && !p(t.showticksuffix) && (o.text += t.ticksuffix), - o - ); - }), - (k.hoverLabelText = function (t, e, r) { - if (r !== b && r !== e) - return k.hoverLabelText(t, e) + " - " + k.hoverLabelText(t, r); - var n = "log" === t.type && e <= 0, - i = k.tickText(t, t.c2l(n ? -e : e), "hover").text; - return n ? (0 === e ? "0" : x + i) : i; - })); - var j = ["f", "p", "n", "\u03bc", "m", "", "k", "M", "G", "T"]; - function V(t) { - return "SI" === t || "B" === t; - } - function U(t) { - return t > 14 || t < -15; - } - function q(t, e, r, n) { - var a = t < 0, - o = e._tickround, - l = r || e.exponentformat || "B", - c = e._tickexponent, - u = k.getTickFormat(e), - f = e.separatethousands; - if (n) { - var h = { - exponentformat: l, - dtick: "none" === e.showexponent ? e.dtick : (i(t) && Math.abs(t)) || 1, - range: "none" === e.showexponent ? e.range.map(e.r2d) : [0, t || 1], - }; - (F(h), - (o = (Number(h._tickround) || 0) + 4), - (c = h._tickexponent), - e.hoverformat && (u = e.hoverformat)); - } - if (u) return e._numFormat(u)(t).replace(/-/g, x); - var p, - d = Math.pow(10, -o) / 2; - if (("none" === l && (c = 0), (t = Math.abs(t)) < d)) ((t = "0"), (a = !1)); - else { - if (((t += d), c && ((t *= Math.pow(10, -c)), (o += c)), 0 === o)) - t = String(Math.floor(t)); - else if (o < 0) { - t = (t = String(Math.round(t))).substr(0, t.length + o); - for (var g = o; g < 0; g++) t += "0"; - } else { - var m = (t = String(t)).indexOf(".") + 1; - m && (t = t.substr(0, m + o).replace(/\.?0+$/, "")); - } - t = s.numSeparate(t, e._separators, f); - } - c && - "hide" !== l && - (V(l) && U(c) && (l = "power"), - (p = c < 0 ? x + -c : "power" !== l ? "+" + c : String(c)), - "e" === l - ? (t += "e" + p) - : "E" === l - ? (t += "E" + p) - : "power" === l - ? (t += "\xd710" + p + "") - : "B" === l && 9 === c - ? (t += "B") - : V(l) && (t += j[c / 3 + 5])); - return a ? x + t : t; - } - function H(t, e) { - for (var r = 0; r < e.length; r++) -1 === t.indexOf(e[r]) && t.push(e[r]); - } - function G(t, e, r) { - var n, - i, - a = [], - o = [], - l = t.layout; - for (n = 0; n < e.length; n++) a.push(k.getFromId(t, e[n])); - for (n = 0; n < r.length; n++) o.push(k.getFromId(t, r[n])); - var c = Object.keys(a[0]), - u = ["anchor", "domain", "overlaying", "position", "side", "tickangle"], - f = ["linear", "log"]; - for (n = 0; n < c.length; n++) { - var h = c[n], - p = a[0][h], - d = o[0][h], - g = !0, - m = !1, - v = !1; - if ( - "_" !== h.charAt(0) && - "function" != typeof p && - -1 === u.indexOf(h) - ) { - for (i = 1; i < a.length && g; i++) { - var y = a[i][h]; - "type" === h && -1 !== f.indexOf(p) && -1 !== f.indexOf(y) && p !== y - ? (m = !0) - : y !== p && (g = !1); - } - for (i = 1; i < o.length && g; i++) { - var x = o[i][h]; - "type" === h && -1 !== f.indexOf(d) && -1 !== f.indexOf(x) && d !== x - ? (v = !0) - : o[i][h] !== d && (g = !1); - } - g && - (m && (l[a[0]._name].type = "linear"), - v && (l[o[0]._name].type = "linear"), - W(l, h, a, o, t._fullLayout._dfltTitle)); - } - } - for (n = 0; n < t._fullLayout.annotations.length; n++) { - var b = t._fullLayout.annotations[n]; - -1 !== e.indexOf(b.xref) && - -1 !== r.indexOf(b.yref) && - s.swapAttrs(l.annotations[n], ["?"]); - } - } - function W(t, e, r, n, i) { - var a, - o = s.nestedProperty, - l = o(t[r[0]._name], e).get(), - c = o(t[n[0]._name], e).get(); - for ( - "title" === e && (l === i.x && (l = i.y), c === i.y && (c = i.x)), a = 0; - a < r.length; - a++ - ) - o(t, r[a]._name + "." + e).set(c); - for (a = 0; a < n.length; a++) o(t, n[a]._name + "." + e).set(l); - } - ((k.getTickFormat = function (t) { - var e, r, n, i, a, o, s; - function l(t) { - return "string" != typeof t ? t : Number(t.replace("M", "")) * d; - } - function c(t, e) { - var r = ["L", "D"]; - if (typeof t == typeof e) { - if ("number" == typeof t) return t - e; - var n = r.indexOf(t.charAt(0)), - i = r.indexOf(e.charAt(0)); - return n === i - ? Number(t.replace(/(L|D)/g, "")) - Number(e.replace(/(L|D)/g, "")) - : n - i; - } - return "number" == typeof t ? 1 : -1; - } - function u(t, e) { - var r = null === e[0], - n = null === e[1], - i = c(t, e[0]) >= 0, - a = c(t, e[1]) <= 0; - return (r || i) && (n || a); - } - if (t.tickformatstops && t.tickformatstops.length > 0) - switch (t.type) { - case "date": - case "linear": - for (e = 0; e < t.tickformatstops.length; e++) - if ( - ((n = t.dtick), - (i = t.tickformatstops[e].dtickrange), - (a = void 0), - void 0, - void 0, - (a = - l || - function (t) { - return t; - }), - (o = i[0]), - (s = i[1]), - ((!o && "number" != typeof o) || a(o) <= a(n)) && - ((!s && "number" != typeof s) || a(s) >= a(n))) - ) { - r = t.tickformatstops[e]; - break; - } - break; - case "log": - for (e = 0; e < t.tickformatstops.length; e++) - if (u(t.dtick, t.tickformatstops[e].dtickrange)) { - r = t.tickformatstops[e]; - break; - } - } - return r ? r.value : t.tickformat; - }), - (k.getSubplots = function (t, e) { - var r = t._fullLayout._subplots, - n = r.cartesian.concat(r.gl2d || []), - i = e ? k.findSubplotsWithAxis(n, e) : n; - return ( - i.sort(function (t, e) { - var r = t.substr(1).split("y"), - n = e.substr(1).split("y"); - return r[0] === n[0] ? +r[1] - +n[1] : +r[0] - +n[0]; - }), - i - ); - }), - (k.findSubplotsWithAxis = function (t, e) { - for ( - var r = new RegExp( - "x" === e._id.charAt(0) ? "^" + e._id + "y" : e._id + "$", - ), - n = [], - i = 0; - i < t.length; - i++ - ) { - var a = t[i]; - r.test(a) && n.push(a); - } - return n; - }), - (k.makeClipPaths = function (t) { - var e, - r, - i = t._fullLayout, - a = { _offset: 0, _length: i.width, _id: "" }, - o = { _offset: 0, _length: i.height, _id: "" }, - s = k.list(t, "x", !0), - l = k.list(t, "y", !0), - c = []; - for (e = 0; e < s.length; e++) - for (c.push({ x: s[e], y: o }), r = 0; r < l.length; r++) - (0 === e && c.push({ x: a, y: l[r] }), c.push({ x: s[e], y: l[r] })); - var u = i._clips.selectAll(".axesclip").data(c, function (t) { - return t.x._id + t.y._id; - }); - (u - .enter() - .append("clipPath") - .classed("axesclip", !0) - .attr("id", function (t) { - return "clip" + i._uid + t.x._id + t.y._id; - }) - .append("rect"), - u.exit().remove(), - u.each(function (t) { - n.select(this) - .select("rect") - .attr({ - x: t.x._offset || 0, - y: t.y._offset || 0, - width: t.x._length || 1, - height: t.y._length || 1, - }); - })); - }), - (k.doTicks = function (t, e, r) { - var h, - p = t._fullLayout, - d = !1; - if ("object" == typeof e) ((e = (h = e)._id), (d = !0)); - else if ( - ((h = k.getFromId(t, e)), - "redraw" === e && - p._paper.selectAll("g.subplot").each(function (t) { - var e = p._plots[t], - r = e.xaxis, - n = e.yaxis; - (e.xaxislayer.selectAll("." + r._id + "tick").remove(), - e.yaxislayer.selectAll("." + n._id + "tick").remove(), - e.gridlayer && e.gridlayer.selectAll("path").remove(), - e.zerolinelayer && e.zerolinelayer.selectAll("path").remove(), - p._infolayer.select(".g-" + r._id + "title").remove(), - p._infolayer.select(".g-" + n._id + "title").remove()); - }), - !e || "redraw" === e) - ) - return s.syncOrAsync( - k.list(t, "", !0).map(function (e) { - return function () { - if (e._id) { - var r = k.doTicks(t, e._id); - return ( - (e._r = e.range.slice()), - (e._rl = s.simpleMap(e._r, e.r2l)), - r - ); - } - }; - }), - ); - h.setScale(); - var g, - m, - v, - y, - x, - b, - M = e.charAt(0), - T = k.counterLetter(e), - S = (h._vals = k.calcTicks(h)), - C = function (t) { - return [t.text, t.x, h.mirror, t.font, t.fontSize, t.fontColor].join( - "_", - ); - }, - E = e + "tick", - L = e + "grid", - z = e + "zl", - P = (h.linewidth || 1) / 2, - D = "outside" === h.ticks ? h.ticklen : 0, - O = 0, - I = f.crispRound(t, h.gridwidth, 1), - R = f.crispRound(t, h.zerolinewidth, I), - B = f.crispRound(t, h.tickwidth, 1); - if (h._counterangle && "outside" === h.ticks) { - var F = (h._counterangle * Math.PI) / 180; - ((D = h.ticklen * Math.cos(F) + 1), (O = h.ticklen * Math.sin(F))); - } - if ( - (h.showticklabels && - ("outside" === h.ticks || h.showline) && - (D += 0.2 * h.tickfont.size), - "x" === M) - ) - ((g = ["bottom", "top"]), - (m = - h._transfn || - function (t) { - return "translate(" + (h._offset + h.l2p(t.x)) + ",0)"; - }), - (v = function (t, e) { - if (h._counterangle) { - var r = (h._counterangle * Math.PI) / 180; - return "M0," + t + "l" + Math.sin(r) * e + "," + Math.cos(r) * e; - } - return "M0," + t + "v" + e; - })); - else if ("y" === M) - ((g = ["left", "right"]), - (m = - h._transfn || - function (t) { - return "translate(0," + (h._offset + h.l2p(t.x)) + ")"; - }), - (v = function (t, e) { - if (h._counterangle) { - var r = (h._counterangle * Math.PI) / 180; - return "M" + t + ",0l" + Math.cos(r) * e + "," + -Math.sin(r) * e; - } - return "M" + t + ",0h" + e; - })); - else { - if ("angular" !== e) - return void s.warn("Unrecognized doTicks axis:", e); - ((g = ["left", "right"]), - (m = h._transfn), - (v = function (t, e) { - return "M" + t + ",0h" + e; - })); - } - var N = h.side || g[0], - j = [-1, 1, N === g[1] ? 1 : -1]; - if ( - (("inside" !== h.ticks) == ("x" === M) && - (j = j.map(function (t) { - return -t; - })), - h.visible) - ) { - h._tickFilter && (S = S.filter(h._tickFilter)); - var V = S.filter(X); - if (("angular" === h._id && (V = S), d)) { - if ( - (Z(h._axislayer, v(h._pos + P * j[2], j[2] * h.ticklen)), - h._counteraxis) - ) - $( - { gridlayer: h._gridlayer, zerolinelayer: h._zerolinelayer }, - h._counteraxis, - ); - return J(h._axislayer, h._pos); - } - if (p._has("cartesian")) { - var U = {}; - (y = k.getSubplots(t, h)).map(function (t) { - var e = p._plots[t], - r = e[T + "axis"], - n = r._mainAxis._id; - U[n] || ((U[n] = 1), $(e, r, t)); - }); - var q = h._mainSubplot, - H = p._plots[q], - G = []; - if (h.ticks) { - var W = j[2], - Y = v(h._mainLinePosition + P * W, W * h.ticklen); - (h._anchorAxis && - h.mirror && - !0 !== h.mirror && - (Y += v(h._mainMirrorPosition - P * W, -W * h.ticklen)), - Z(H[M + "axislayer"], Y), - (G = Object.keys(h._linepositions || {}))); - } - return ( - G.map(function (t) { - var e = p._plots[t][M + "axislayer"], - r = h._linepositions[t] || []; - function n(t) { - var e = j[t]; - return v(r[t] + P * e, e * h.ticklen); - } - Z(e, n(0) + n(1)); - }), - J(H[M + "axislayer"], h._mainLinePosition) - ); - } - } - function X(t) { - var e = h.l2p(t.x); - return e > 1 && e < h._length - 1; - } - function Z(t, e) { - var r = t.selectAll("path." + E).data("inside" === h.ticks ? V : S, C); - e && h.ticks - ? (r - .enter() - .append("path") - .classed(E, 1) - .classed("ticks", 1) - .classed("crisp", 1) - .call(u.stroke, h.tickcolor) - .style("stroke-width", B + "px") - .attr("d", e), - r.attr("transform", m), - r.exit().remove()) - : r.remove(); - } - function J(r, o) { - if (((x = r.selectAll("g." + E).data(S, C)), !i(o))) - return (x.remove(), void K()); - if (!h.showticklabels) return (x.remove(), K(), void z()); - var c, u, d, g, v; - "x" === M - ? ((c = function (t) { - return t.dx + O * v; - }), - (g = o + (D + P) * (v = "bottom" === N ? 1 : -1)), - (u = function (t) { - return t.dy + g + t.fontSize * ("bottom" === N ? 1 : -0.2); - }), - (d = function (t) { - return i(t) && 0 !== t && 180 !== t - ? t * v < 0 - ? "end" - : "start" - : "middle"; - })) - : "y" === M - ? ((v = "right" === N ? 1 : -1), - (u = function (t) { - return t.dy + t.fontSize * _ - O * v; - }), - (c = function (t) { - return ( - t.dx + - o + - (D + - P + - (90 === Math.abs(h.tickangle) ? t.fontSize / 2 : 0)) * - v - ); - }), - (d = function (t) { - return i(t) && 90 === Math.abs(t) - ? "middle" - : "right" === N - ? "start" - : "end"; - })) - : "angular" === e && - ((h._labelShift = O), - (h._labelStandoff = D), - (h._pad = P), - (c = h._labelx), - (u = h._labely), - (d = h._labelanchor)); - var k = 0, - A = 0, - T = []; - function L(t, e) { - t.each(function (t) { - var r = d(e, t), - a = n.select(this), - o = a.select(".text-math-group"), - s = - m.call(a.node(), t) + - (i(e) && 0 != +e - ? " rotate(" + - e + - "," + - c(t) + - "," + - (u(t) - t.fontSize / 2) + - ")" - : ""), - h = (function (t, e, r) { - var n = (t - 1) * e; - if ("x" === M) { - if (r < -60 || 60 < r) return -0.5 * n; - if ("top" === N) return -n; - } else { - if ((r *= "left" === N ? 1 : -1) < -30) return -n; - if (r < 30) return -0.5 * n; - } - return 0; - })(l.lineCount(a), w * t.fontSize, i(e) ? +e : 0); - if ((h && (s += " translate(0, " + h + ")"), o.empty())) - a.select("text").attr({ transform: s, "text-anchor": r }); - else { - var p = f.bBox(o.node()).width * { end: -0.5, start: 0.5 }[r]; - o.attr("transform", s + (p ? "translate(" + p + ",0)" : "")); - } - }); - } - function z() { - if (h.showticklabels) { - var e = t.getBoundingClientRect(), - n = r.node().getBoundingClientRect(); - h._boundingBox = { - width: n.width, - height: n.height, - left: n.left - e.left, - right: n.right - e.left, - top: n.top - e.top, - bottom: n.bottom - e.top, - }; - } else { - var i, - a = p._size; - "x" === M - ? ((i = - "free" === h.anchor - ? a.t + a.h * (1 - h.position) - : a.t + - a.h * - (1 - - h._anchorAxis.domain[{ bottom: 0, top: 1 }[h.side]])), - (h._boundingBox = { - top: i, - bottom: i, - left: h._offset, - right: h._offset + h._length, - width: h._length, - height: 0, - })) - : ((i = - "free" === h.anchor - ? a.l + a.w * h.position - : a.l + - a.w * - h._anchorAxis.domain[{ left: 0, right: 1 }[h.side]]), - (h._boundingBox = { - left: i, - right: i, - bottom: h._offset + h._length, - top: h._offset, - height: h._length, - width: 0, - })); - } - if (y) { - var o = (h._counterSpan = [1 / 0, -1 / 0]); - for (b = 0; b < y.length; b++) { - var s = p._plots[y[b]]["x" === M ? "yaxis" : "xaxis"]; - l(o, [s._offset, s._offset + s._length]); - } - "free" === h.anchor && - l( - o, - "x" === M - ? [h._boundingBox.bottom, h._boundingBox.top] - : [h._boundingBox.right, h._boundingBox.left], - ); - } - function l(t, e) { - ((t[0] = Math.min(t[0], e[0])), (t[1] = Math.max(t[1], e[1]))); - } - } - (x - .enter() - .append("g") - .classed(E, 1) - .append("text") - .attr("text-anchor", "middle") - .each(function (e) { - var r = n.select(this), - i = t._promises.length; - (r - .call(l.positionText, c(e), u(e)) - .call(f.font, e.font, e.fontSize, e.fontColor) - .text(e.text) - .call(l.convertToTspans, t), - (i = t._promises[i]) - ? T.push( - t._promises.pop().then(function () { - L(r, h.tickangle); - }), - ) - : L(r, h.tickangle)); - }), - x.exit().remove(), - x.each(function (t) { - k = Math.max(k, t.fontSize); - }), - "angular" === e && - x.each(function (t) { - n.select(this).select("text").call(l.positionText, c(t), u(t)); - }), - L(x, h._lastangle || h.tickangle)); - var I = s.syncOrAsync([ - function () { - return T.length && Promise.all(T); - }, - function () { - if ( - (L(x, h.tickangle), - "x" === M && - !i(h.tickangle) && - ("log" !== h.type || "D" !== String(h.dtick).charAt(0))) - ) { - var t = []; - for ( - x.each(function (e) { - var r = n.select(this), - i = r.select(".text-math-group"), - a = h.l2p(e.x); - i.empty() && (i = r.select("text")); - var o = f.bBox(i.node()); - t.push({ - top: 0, - bottom: 10, - height: 10, - left: a - o.width / 2, - right: a + o.width / 2 + 2, - width: o.width + 2, - }); - }), - b = 0; - b < t.length - 1; - b++ - ) - if (s.bBoxIntersect(t[b], t[b + 1])) { - A = 30; - break; - } - (A && - (Math.abs((S[S.length - 1].x - S[0].x) * h._m) / - (S.length - 1) < - 2.5 * k && (A = 90), - L(x, A)), - (h._lastangle = A)); - } - return (K(), e + " done"); - }, - z, - function () { - if (h.automargin && ("x" === M || "y" === M)) { - var e = h.side[0], - r = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }; - ("x" === M - ? ((r.y = - "free" === h.anchor - ? h.position - : h._anchorAxis.domain["t" === e ? 1 : 0]), - (r[e] += h._boundingBox.height)) - : ((r.x = - "free" === h.anchor - ? h.position - : h._anchorAxis.domain["r" === e ? 1 : 0]), - (r[e] += h._boundingBox.width)), - h.title !== p._dfltTitle[M] && (r[e] += h.titlefont.size)); - var n = h._name + ".automargin", - i = p._pushmargin[n]; - (!i || i[e].size < r[e]) && a.autoMargin(t, n, r); - } - }, - ]); - return (I && I.then && t._promises.push(I), I); - } - function K() { - if ( - !( - r || - (h.rangeslider && - h.rangeslider.visible && - h._boundingBox && - "bottom" === h.side) - ) - ) { - var n, - i, - a, - o, - s = { selection: x, side: h.side }, - l = e.charAt(0), - u = t._fullLayout._size, - d = h.titlefont.size; - if (x.size()) { - var g = f.getTranslate(x.node().parentNode); - ((s.offsetLeft = g.x), (s.offsetTop = g.y)); - } - var m = 10 + 1.5 * d + (h.linewidth ? h.linewidth - 1 : 0); - ("x" === l - ? ((i = - "free" === h.anchor - ? { _offset: u.t + (1 - (h.position || 0)) * u.h, _length: 0 } - : A.getFromId(t, h.anchor)), - (a = h._offset + h._length / 2), - (o = - "top" === h.side - ? -m - d * (h.showticklabels ? 1 : 0) - : i._length + m + d * (h.showticklabels ? 1.5 : 0.5)), - (o += i._offset), - s.side || (s.side = "bottom")) - : ((i = - "free" === h.anchor - ? { _offset: u.l + (h.position || 0) * u.w, _length: 0 } - : A.getFromId(t, h.anchor)), - (o = h._offset + h._length / 2), - (a = - "right" === h.side - ? i._length + m + d * (h.showticklabels ? 1 : 0.5) - : -m - d * (h.showticklabels ? 0.5 : 0)), - (a += i._offset), - (n = { rotate: "-90", offset: 0 }), - s.side || (s.side = "left")), - c.draw(t, e + "title", { - propContainer: h, - propName: h._name + ".title", - placeholder: p._dfltTitle[l], - avoid: s, - transform: n, - attributes: { x: a, y: o, "text-anchor": "middle" }, - })); - } - } - function Q(t, e) { - return ( - !0 === t.visible && - t.xaxis + t.yaxis === e && - (!(!o.traceIs(t, "bar") || t.orientation !== { x: "h", y: "v" }[M]) || - (t.fill && t.fill.charAt(t.fill.length - 1) === M)) - ); - } - function $(r, i, a) { - if (!p._hasOnlyLargeSploms) { - var o = r.gridlayer.selectAll("." + e), - l = r.zerolinelayer, - c = r["hidegrid" + M] ? [] : V, - f = - h._gridpath || - ("x" === M ? "M0," + i._offset + "v" : "M" + i._offset + ",0h") + - i._length, - d = o.selectAll("path." + L).data(!1 === h.showgrid ? [] : c, C); - if ( - (d - .enter() - .append("path") - .classed(L, 1) - .classed("crisp", 1) - .attr("d", f) - .each(function (t) { - h.zeroline && - ("linear" === h.type || "-" === h.type) && - Math.abs(t.x) < h.dtick / 100 && - n.select(this).remove(); - }), - d - .attr("transform", m) - .call(u.stroke, h.gridcolor || "#ddd") - .style("stroke-width", I + "px"), - "function" == typeof f && d.attr("d", f), - d.exit().remove(), - l) - ) { - for (var g = !1, v = 0; v < t._fullData.length; v++) - if (Q(t._fullData[v], a)) { - g = !0; - break; - } - var y = s.simpleMap(h.range, h.r2l), - x = - y[0] * y[1] <= 0 && - h.zeroline && - ("linear" === h.type || "-" === h.type) && - c.length && - (g || X({ x: 0 }) || !h.showline), - b = l.selectAll("path." + z).data(x ? [{ x: 0, id: e }] : []); - (b - .enter() - .append("path") - .classed(z, 1) - .classed("zl", 1) - .classed("crisp", 1) - .attr("d", f) - .each(function () { - l.selectAll("path").sort(function (t, e) { - return A.idSort(t.id, e.id); - }); - }), - b - .attr("transform", m) - .call(u.stroke, h.zerolinecolor || u.defaultLine) - .style("stroke-width", R + "px"), - b.exit().remove()); - } - } - } - }), - (k.swap = function (t, e) { - for ( - var r = (function (t, e) { - var r, - n, - i = []; - for (r = 0; r < e.length; r++) { - var a = [], - o = t._fullData[e[r]].xaxis, - s = t._fullData[e[r]].yaxis; - if (o && s) { - for (n = 0; n < i.length; n++) - (-1 === i[n].x.indexOf(o) && -1 === i[n].y.indexOf(s)) || - a.push(n); - if (a.length) { - var l, - c = i[a[0]]; - if (a.length > 1) - for (n = 1; n < a.length; n++) - ((l = i[a[n]]), H(c.x, l.x), H(c.y, l.y)); - (H(c.x, [o]), H(c.y, [s])); - } else i.push({ x: [o], y: [s] }); - } - } - return i; - })(t, e), - n = 0; - n < r.length; - n++ - ) - G(t, r[n].x, r[n].y); - })); - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../../components/titles": 567, - "../../constants/alignment": 574, - "../../constants/numerical": 579, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/plots": 710, - "../../registry": 732, - "./autorange": 647, - "./axis_autotype": 649, - "./axis_ids": 651, - "./set_convert": 666, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 649: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../constants/numerical").BADNUM; - e.exports = function (t, e) { - return (function (t, e) { - for ( - var r, a = 0, o = 0, s = Math.max(1, (t.length - 1) / 1e3), l = 0; - l < t.length; - l += s - ) - ((r = t[Math.round(l)]), - i.isDateTime(r, e) && (a += 1), - n(r) && (o += 1)); - return a > 2 * o; - })(t, e) - ? "date" - : (function (t) { - for ( - var e, r = Math.max(1, (t.length - 1) / 1e3), n = 0, o = 0, s = 0; - s < t.length; - s += r - ) - ((e = t[Math.round(s)]), - i.cleanNumber(e) !== a - ? n++ - : "string" == typeof e && "" !== e && "None" !== e && o++); - return o > 2 * n; - })(t) - ? "category" - : (function (t) { - if (!t) return !1; - for (var e = 0; e < t.length; e++) if (n(t[e])) return !0; - return !1; - })(t) - ? "linear" - : "-"; - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, - ], - 650: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("./layout_attributes"), - o = t("./tick_value_defaults"), - s = t("./tick_mark_defaults"), - l = t("./tick_label_defaults"), - c = t("./category_order_defaults"), - u = t("./line_grid_defaults"), - f = t("./set_convert"); - e.exports = function (t, e, r, h, p) { - var d = h.letter, - g = e._id, - m = h.font || {}, - v = r("visible", !h.cheateronly), - y = e.type; - "date" === y && - n.getComponentMethod("calendars", "handleDefaults")( - t, - e, - "calendar", - h.calendar, - ); - f(e, p); - var x = r("autorange", !e.isValidRange(t.range)); - if ( - ((e._rangesliderAutorange = !1), - x && r("rangemode"), - r("range"), - e.cleanRange(), - c(t, e, r, h), - "category" === y || h.noHover || r("hoverformat"), - !v) - ) - return e; - var b = r("color"), - _ = b === t.color ? b : m.color; - return ( - r("title", ((p._splomAxes || {})[d] || {})[g] || p._dfltTitle[d]), - i.coerceFont(r, "titlefont", { - family: m.family, - size: Math.round(1.2 * m.size), - color: _, - }), - o(t, e, r, y), - l(t, e, r, y, h), - s(t, e, r, h), - u(t, e, r, { - dfltColor: b, - bgColor: h.bgColor, - showGrid: h.showGrid, - attributes: a, - }), - (e.showline || e.ticks) && r("mirror"), - h.automargin && r("automargin"), - e - ); - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "./category_order_defaults": 652, - "./layout_attributes": 660, - "./line_grid_defaults": 662, - "./set_convert": 666, - "./tick_label_defaults": 667, - "./tick_mark_defaults": 668, - "./tick_value_defaults": 669, - }, - ], - 651: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("./constants"); - ((r.id2name = function (t) { - if ("string" == typeof t && t.match(i.AX_ID_PATTERN)) { - var e = t.substr(1); - return ("1" === e && (e = ""), t.charAt(0) + "axis" + e); - } - }), - (r.name2id = function (t) { - if (t.match(i.AX_NAME_PATTERN)) { - var e = t.substr(5); - return ("1" === e && (e = ""), t.charAt(0) + e); - } - }), - (r.cleanId = function (t, e) { - if (t.match(i.AX_ID_PATTERN) && (!e || t.charAt(0) === e)) { - var r = t.substr(1).replace(/^0+/, ""); - return ("1" === r && (r = ""), t.charAt(0) + r); - } - }), - (r.list = function (t, e, n) { - var i = t._fullLayout; - if (!i) return []; - var a, - o = r.listIds(t, e), - s = new Array(o.length); - for (a = 0; a < o.length; a++) { - var l = o[a]; - s[a] = i[l.charAt(0) + "axis" + l.substr(1)]; - } - if (!n) { - var c = i._subplots.gl3d || []; - for (a = 0; a < c.length; a++) { - var u = i[c[a]]; - e ? s.push(u[e + "axis"]) : s.push(u.xaxis, u.yaxis, u.zaxis); - } - } - return s; - }), - (r.listIds = function (t, e) { - var r = t._fullLayout; - if (!r) return []; - var n = r._subplots; - return e ? n[e + "axis"] : n.xaxis.concat(n.yaxis); - }), - (r.getFromId = function (t, e, n) { - var i = t._fullLayout; - return ( - "x" === n - ? (e = e.replace(/y[0-9]*/, "")) - : "y" === n && (e = e.replace(/x[0-9]*/, "")), - i[r.id2name(e)] - ); - }), - (r.getFromTrace = function (t, e, i) { - var a = t._fullLayout, - o = null; - if (n.traceIs(e, "gl3d")) { - var s = e.scene; - "scene" === s.substr(0, 5) && (o = a[s][i + "axis"]); - } else o = r.getFromId(t, e[i + "axis"] || i); - return o; - }), - (r.idSort = function (t, e) { - var r = t.charAt(0), - n = e.charAt(0); - return r !== n - ? r > n - ? 1 - : -1 - : +(t.substr(1) || 1) - +(e.substr(1) || 1); - })); - }, - { "../../registry": 732, "./constants": 653 }, - ], - 652: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - if ("category" === e.type) { - var i, - a = t.categoryarray, - o = Array.isArray(a) && a.length > 0; - o && (i = "array"); - var s, - l = r("categoryorder", i); - ("array" === l && (s = r("categoryarray")), - o || "array" !== l || (l = e.categoryorder = "trace"), - "trace" === l - ? (e._initialCategories = []) - : "array" === l - ? (e._initialCategories = s.slice()) - : ((s = (function (t, e) { - var r, - n, - i, - a = e.dataAttr || t._id.charAt(0), - o = {}; - if (e.axData) r = e.axData; - else - for (r = [], n = 0; n < e.data.length; n++) { - var s = e.data[n]; - s[a + "axis"] === t._id && r.push(s); - } - for (n = 0; n < r.length; n++) { - var l = r[n][a]; - for (i = 0; i < l.length; i++) { - var c = l[i]; - null !== c && void 0 !== c && (o[c] = 1); - } - } - return Object.keys(o); - })(e, n).sort()), - "category ascending" === l - ? (e._initialCategories = s) - : "category descending" === l && - (e._initialCategories = s.reverse()))); - } - }; - }, - {}, - ], - 653: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib/regex").counter; - e.exports = { - idRegex: { x: n("x"), y: n("y") }, - attrRegex: n("[xy]axis"), - xAxisMatch: n("xaxis"), - yAxisMatch: n("yaxis"), - AX_ID_PATTERN: /^[xyz][0-9]*$/, - AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/, - SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/, - MINDRAG: 8, - MINSELECT: 12, - MINZOOM: 20, - DRAGGERSIZE: 20, - BENDPX: 1.5, - REDRAWDELAY: 50, - SELECTDELAY: 100, - SELECTID: "-select", - DFLTRANGEX: [-1, 6], - DFLTRANGEY: [-1, 4], - traceLayerClasses: [ - "heatmaplayer", - "contourcarpetlayer", - "contourlayer", - "barlayer", - "carpetlayer", - "violinlayer", - "boxlayer", - "ohlclayer", - "scattercarpetlayer", - "scatterlayer", - ], - layerValue2layerClass: { "above traces": "above", "below traces": "below" }, - }; - }, - { "../../lib/regex": 618 }, - ], - 654: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./axis_ids").id2name; - e.exports = function (t, e, r, a, o) { - var s = o._axisConstraintGroups, - l = e._id, - c = l.charAt(0); - if ( - !e.fixedrange && - (r("constrain"), - n.coerce( - t, - e, - { - constraintoward: { - valType: "enumerated", - values: - "x" === c - ? ["left", "center", "right"] - : ["bottom", "middle", "top"], - dflt: "x" === c ? "center" : "middle", - }, - }, - "constraintoward", - ), - t.scaleanchor) - ) { - var u = (function (t, e, r, n) { - var a, - o, - s, - l, - c = n[i(e)].type, - u = []; - for (o = 0; o < r.length; o++) - (s = r[o]) !== e && - ((l = n[i(s)]).type !== c || l.fixedrange || u.push(s)); - for (a = 0; a < t.length; a++) - if (t[a][e]) { - var f = t[a], - h = []; - for (o = 0; o < u.length; o++) ((s = u[o]), f[s] || h.push(s)); - return { linkableAxes: h, thisGroup: f }; - } - return { linkableAxes: u, thisGroup: null }; - })(s, l, a, o), - f = n.coerce( - t, - e, - { scaleanchor: { valType: "enumerated", values: u.linkableAxes } }, - "scaleanchor", - ); - if (f) { - var h = r("scaleratio"); - (h || (h = e.scaleratio = 1), - (function (t, e, r, n, i) { - var a, o, s, l, c; - null === e - ? (((e = {})[r] = 1), (c = t.length), t.push(e)) - : (c = t.indexOf(e)); - var u = Object.keys(e); - for (a = 0; a < t.length; a++) - if (((s = t[a]), a !== c && s[n])) { - var f = s[n]; - for (o = 0; o < u.length; o++) - ((l = u[o]), (s[l] = f * i * e[l])); - return void t.splice(c, 1); - } - if (1 !== i) for (o = 0; o < u.length; o++) e[u[o]] *= i; - e[n] = 1; - })(s, u.thisGroup, l, f, h)); - } else - -1 !== a.indexOf(t.scaleanchor) && - n.warn( - "ignored " + - e._name + - '.scaleanchor: "' + - t.scaleanchor + - '" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.', - ); - } - }; - }, - { "../../lib": 602, "./axis_ids": 651 }, - ], - 655: [ - function (t, e, r) { - "use strict"; - var n = t("./axis_ids").id2name, - i = t("./scale_zoom"), - a = t("./autorange").makePadFn, - o = t("../../constants/numerical").ALMOST_EQUAL, - s = t("../../constants/alignment").FROM_BL; - function l(t, e) { - var r = t._inputDomain, - n = s[t.constraintoward], - i = r[0] + (r[1] - r[0]) * n; - t.domain = t._input.domain = [i + (r[0] - i) / e, i + (r[1] - i) / e]; - } - ((r.enforce = function (t) { - var e, - r, - s, - c, - u, - f, - h, - p = t._fullLayout, - d = p._axisConstraintGroups || []; - for (e = 0; e < d.length; e++) { - var g = d[e], - m = Object.keys(g), - v = 1 / 0, - y = 0, - x = 1 / 0, - b = {}, - _ = {}, - w = !1; - for (r = 0; r < m.length; r++) - ((_[(s = m[r])] = c = p[n(s)]), - c._inputDomain - ? (c.domain = c._inputDomain.slice()) - : (c._inputDomain = c.domain.slice()), - c._inputRange || (c._inputRange = c.range.slice()), - c.setScale(), - (b[s] = u = Math.abs(c._m) / g[s]), - (v = Math.min(v, u)), - ("domain" !== c.constrain && c._constraintShrinkable) || - (x = Math.min(x, u)), - delete c._constraintShrinkable, - (y = Math.max(y, u)), - "domain" === c.constrain && (w = !0)); - if (!(v > o * y) || w) - for (r = 0; r < m.length; r++) - if ( - ((u = b[(s = m[r])]), - (f = (c = _[s]).constrain), - u !== x || "domain" === f) - ) - if (((h = u / x), "range" === f)) i(c, h); - else { - var k = c._inputDomain, - M = (c.domain[1] - c.domain[0]) / (k[1] - k[0]), - A = - (c.r2l(c.range[1]) - c.r2l(c.range[0])) / - (c.r2l(c._inputRange[1]) - c.r2l(c._inputRange[0])); - if ((h /= M) * A < 1) { - ((c.domain = c._input.domain = k.slice()), i(c, h)); - continue; - } - if ( - (A < 1 && - ((c.range = c._input.range = c._inputRange.slice()), - (h *= A)), - c.autorange && c._min.length && c._max.length) - ) { - var T = c.r2l(c.range[0]), - S = c.r2l(c.range[1]), - C = (T + S) / 2, - E = C, - L = C, - z = Math.abs(S - C), - P = C - z * h * 1.0001, - D = C + z * h * 1.0001, - O = a(c); - (l(c, h), c.setScale()); - var I, - R, - B = Math.abs(c._m); - for (R = 0; R < c._min.length; R++) - (I = c._min[R].val - O(c._min[R]) / B) > P && - I < E && - (E = I); - for (R = 0; R < c._max.length; R++) - (I = c._max[R].val + O(c._max[R]) / B) < D && - I > L && - (L = I); - ((h /= (L - E) / (2 * z)), - (E = c.l2r(E)), - (L = c.l2r(L)), - (c.range = c._input.range = T < S ? [E, L] : [L, E])); - } - l(c, h); - } - } - }), - (r.clean = function (t, e) { - if (e._inputDomain) { - for ( - var r = !1, n = e._id, i = t._fullLayout._axisConstraintGroups, a = 0; - a < i.length; - a++ - ) - if (i[a][n]) { - r = !0; - break; - } - (r && "domain" === e.constrain) || - ((e._input.domain = e.domain = e._inputDomain), - delete e._inputDomain); - } - })); - }, - { - "../../constants/alignment": 574, - "../../constants/numerical": 579, - "./autorange": 647, - "./axis_ids": 651, - "./scale_zoom": 664, - }, - ], - 656: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("has-passive-events"), - o = t("../../registry"), - s = t("../../lib"), - l = t("../../lib/svg_text_utils"), - c = t("../../lib/clear_gl_canvases"), - u = t("../../components/color"), - f = t("../../components/drawing"), - h = t("../../components/fx"), - p = t("../../lib/setcursor"), - d = t("../../components/dragelement"), - g = t("../../constants/alignment").FROM_TL, - m = t("../plots"), - v = t("./axes").doTicks, - y = t("./axis_ids").getFromId, - x = t("./select").prepSelect, - b = t("./select").clearSelect, - _ = t("./scale_zoom"), - w = t("./constants"), - k = w.MINDRAG, - M = w.MINZOOM, - A = !0; - function T(t, e, r, n) { - var i = s.ensureSingle(t.draglayer, e, r, function (e) { - e.classed("drag", !0) - .style({ fill: "transparent", "stroke-width": 0 }) - .attr("data-subplot", t.id); - }); - return (i.call(p, n), i.node()); - } - function S(t, e, r, i, a, o, s) { - var l = T(t, "rect", e, r); - return (n.select(l).call(f.setRect, i, a, o, s), l); - } - function C(t, e) { - for (var r = 0; r < t.length; r++) if (!t[r].fixedrange) return e; - return ""; - } - function E(t, e, r, n, i) { - var a, o, s, l; - for (a = 0; a < t.length; a++) - (o = t[a]).fixedrange || - ((s = o._rl[0]), - (l = o._rl[1] - s), - (o.range = [o.l2r(s + l * e), o.l2r(s + l * r)]), - (n[o._name + ".range[0]"] = o.range[0]), - (n[o._name + ".range[1]"] = o.range[1])); - if (i && i.length) { - var c = (e + (1 - r)) / 2; - E(i, c, 1 - c, n); - } - } - function L(t, e) { - for (var r = 0; r < t.length; r++) { - var n = t[r]; - n.fixedrange || - (n.range = [n.l2r(n._rl[0] - e / n._m), n.l2r(n._rl[1] - e / n._m)]); - } - } - function z(t) { - return ( - 1 - (t >= 0 ? Math.min(t, 0.9) : 1 / (1 / Math.max(t, -0.3) + 3.222)) - ); - } - function P(t, e, r, n, i) { - return t - .append("path") - .attr("class", "zoombox") - .style({ - fill: e > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", - "stroke-width": 0, - }) - .attr("transform", "translate(" + r + ", " + n + ")") - .attr("d", i + "Z"); - } - function D(t, e, r) { - return t - .append("path") - .attr("class", "zoombox-corners") - .style({ - fill: u.background, - stroke: u.defaultLine, - "stroke-width": 1, - opacity: 0, - }) - .attr("transform", "translate(" + e + ", " + r + ")") - .attr("d", "M0,0Z"); - } - function O(t, e, r, n, i, a) { - (t.attr( - "d", - n + - "M" + - r.l + - "," + - r.t + - "v" + - r.h + - "h" + - r.w + - "v-" + - r.h + - "h-" + - r.w + - "Z", - ), - I(t, e, i, a)); - } - function I(t, e, r, n) { - r || - (t - .transition() - .style("fill", n > 0.2 ? "rgba(0,0,0,0.4)" : "rgba(255,255,255,0.3)") - .duration(200), - e.transition().style("opacity", 1).duration(200)); - } - function R(t) { - n.select(t) - .selectAll( - ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", - ) - .remove(); - } - function B(t) { - A && - t.data && - t._context.showTips && - (s.notifier(s._(t, "Double-click to zoom back out"), "long"), (A = !1)); - } - function F(t) { - return "lasso" === t || "select" === t; - } - function N(t) { - var e = Math.floor(Math.min(t.b - t.t, t.r - t.l, M) / 2); - return ( - "M" + - (t.l - 3.5) + - "," + - (t.t - 0.5 + e) + - "h3v" + - -e + - "h" + - e + - "v-3h-" + - (e + 3) + - "ZM" + - (t.r + 3.5) + - "," + - (t.t - 0.5 + e) + - "h-3v" + - -e + - "h" + - -e + - "v-3h" + - (e + 3) + - "ZM" + - (t.r + 3.5) + - "," + - (t.b + 0.5 - e) + - "h-3v" + - e + - "h" + - -e + - "v3h" + - (e + 3) + - "ZM" + - (t.l - 3.5) + - "," + - (t.b + 0.5 - e) + - "h3v" + - e + - "h" + - e + - "v3h-" + - (e + 3) + - "Z" - ); - } - function j(t, e) { - if (a) { - var r = void 0 !== t.onwheel ? "wheel" : "mousewheel"; - (t._onwheel && t.removeEventListener(r, t._onwheel), - (t._onwheel = e), - t.addEventListener(r, e, { passive: !1 })); - } else - void 0 !== t.onwheel - ? (t.onwheel = e) - : void 0 !== t.onmousewheel && (t.onmousewheel = e); - } - function V(t) { - var e = []; - for (var r in t) e.push(t[r]); - return e; - } - e.exports = { - makeDragBox: function (t, e, r, a, u, p, A, T) { - var I, - U, - q, - H, - G, - W, - Y, - X, - Z, - J, - K, - Q, - $, - tt, - et, - rt, - nt, - it = t._fullLayout._zoomlayer, - at = A + T === "nsew", - ot = 1 === (A + T).length; - function st() { - if ( - ((I = e.xaxis), - (U = e.yaxis), - (Z = I._length), - (J = U._length), - (Y = I._offset), - (X = U._offset), - ((q = {})[I._id] = I), - ((H = {})[U._id] = U), - A && T) - ) - for (var r = e.overlays, n = 0; n < r.length; n++) { - var i = r[n].xaxis; - q[i._id] = i; - var a = r[n].yaxis; - H[a._id] = a; - } - ((G = V(q)), - (W = V(H)), - (Q = C(G, T)), - ($ = C(W, A)), - (tt = !$ && !Q), - (K = (function (t, e, r) { - for ( - var n, - i, - a, - o, - l = t._fullLayout._axisConstraintGroups, - c = !1, - u = {}, - f = {}, - h = 0; - h < l.length; - h++ - ) { - var p = l[h]; - for (n in e) - if (p[n]) { - for (a in p) ("x" === a.charAt(0) ? e : r)[a] || (u[a] = 1); - for (i in r) p[i] && (c = !0); - } - for (i in r) - if (p[i]) - for (o in p) ("x" === o.charAt(0) ? e : r)[o] || (f[o] = 1); - } - c && (s.extendFlat(u, f), (f = {})); - var d = {}, - g = []; - for (a in u) { - var m = y(t, a); - (g.push(m), (d[m._id] = m)); - } - var v = {}, - x = []; - for (o in f) { - var b = y(t, o); - (x.push(b), (v[b._id] = b)); - } - return { - xaHash: d, - yaHash: v, - xaxes: g, - yaxes: x, - isSubplotConstrained: c, - }; - })(t, q, H)), - (et = K.isSubplotConstrained), - (rt = T || et), - (nt = A || et)); - } - st(); - var lt = (function (t, e, r) { - return t - ? "nsew" === t - ? r - ? "" - : "pan" === e - ? "move" - : "crosshair" - : t.toLowerCase() + "-resize" - : "pointer"; - })($ + Q, t._fullLayout.dragmode, at), - ct = S(e, A + T + "drag", lt, r, a, u, p); - if (tt && !at) - return ((ct.onmousedown = null), (ct.style.pointerEvents = "none"), ct); - var ut, - ft, - ht, - pt, - dt, - gt, - mt, - vt, - yt, - xt = { - element: ct, - gd: t, - plotinfo: e, - prepFn: function (e, r, n) { - var a = t._fullLayout.dragmode; - (st(), - tt || - (at - ? e.shiftKey - ? "pan" === a - ? (a = "zoom") - : F(a) || (a = "pan") - : e.ctrlKey && (a = "pan") - : (a = "pan")), - (xt.minDrag = "lasso" === a ? 1 : void 0), - F(a) - ? ((xt.xaxes = G), (xt.yaxes = W), x(e, r, n, xt, a)) - : tt - ? b(it) - : "zoom" === a - ? ((xt.moveFn = _t), - (xt.doneFn = wt), - (xt.minDrag = 1), - (function (e, r, n) { - var a = ct.getBoundingClientRect(); - ((ut = r - a.left), - (ft = n - a.top), - (ht = { l: ut, r: ut, w: 0, t: ft, b: ft, h: 0 }), - (pt = t._hmpixcount - ? t._hmlumcount / t._hmpixcount - : i(t._fullLayout.plot_bgcolor).getLuminance()), - (gt = !1), - (mt = "xy"), - (vt = P( - it, - pt, - Y, - X, - (dt = "M0,0H" + Z + "V" + J + "H0V0"), - )), - (yt = D(it, Y, X)), - b(it)); - })(0, r, n)) - : "pan" === a && - ((xt.moveFn = St), (xt.doneFn = Et), b(it))); - }, - clickFn: function (r, i) { - if ( - (R(t), - 2 !== r || - ot || - (function () { - if (!t._transitioningWithDuration) { - var e, - r, - n, - i = t._context.doubleClick, - a = (Q ? G : []).concat($ ? W : []), - s = {}; - if ("reset+autosize" === i) - for (i = "autosize", r = 0; r < a.length; r++) - if ( - ((e = a[r])._rangeInitial && - (e.range[0] !== e._rangeInitial[0] || - e.range[1] !== e._rangeInitial[1])) || - (!e._rangeInitial && !e.autorange) - ) { - i = "reset"; - break; - } - if ("autosize" === i) - for (r = 0; r < a.length; r++) - (e = a[r]).fixedrange || - (s[e._name + ".autorange"] = !0); - else if ("reset" === i) - for ( - (Q || et) && (a = a.concat(K.xaxes)), - $ && !et && (a = a.concat(K.yaxes)), - et && - (Q ? $ || (a = a.concat(W)) : (a = a.concat(G))), - r = 0; - r < a.length; - r++ - ) - (e = a[r])._rangeInitial - ? ((n = e._rangeInitial), - (s[e._name + ".range[0]"] = n[0]), - (s[e._name + ".range[1]"] = n[1])) - : (s[e._name + ".autorange"] = !0); - (t.emit("plotly_doubleclick", null), - o.call("relayout", t, s)); - } - })(), - at) - ) - h.click(t, i, e.id); - else if (1 === r && ot) { - var a = A ? U : I, - s = "s" === A || "w" === T ? 0 : 1, - c = a._name + ".range[" + s + "]", - u = (function (t, e) { - var r, - i = t.range[e], - a = Math.abs(i - t.range[1 - e]); - return "date" === t.type - ? i - : "log" === t.type - ? ((r = - Math.ceil(Math.max(0, -Math.log(a) / Math.LN10)) + 3), - n.format("." + r + "g")(Math.pow(10, i))) - : ((r = - Math.floor(Math.log(Math.abs(i)) / Math.LN10) - - Math.floor(Math.log(a) / Math.LN10) + - 4), - n.format("." + String(r) + "g")(i)); - })(a, s), - f = "left", - p = "middle"; - if (a.fixedrange) return; - (A - ? ((p = "n" === A ? "top" : "bottom"), - "right" === a.side && (f = "right")) - : "e" === T && (f = "right"), - t._context.showAxisRangeEntryBoxes && - n - .select(ct) - .call(l.makeEditable, { - gd: t, - immediate: !0, - background: t._fullLayout.paper_bgcolor, - text: String(u), - fill: a.tickfont ? a.tickfont.color : "#444", - horizontalAlign: f, - verticalAlign: p, - }) - .on("edit", function (e) { - var r = a.d2r(e); - void 0 !== r && o.call("relayout", t, c, r); - })); - } - }, - }; - d.init(xt); - var bt = {}; - function _t(e, r) { - if (t._transitioningWithDuration) return !1; - var n = Math.max(0, Math.min(Z, e + ut)), - i = Math.max(0, Math.min(J, r + ft)), - a = Math.abs(n - ut), - o = Math.abs(i - ft); - function s() { - ((mt = ""), (ht.r = ht.l), (ht.t = ht.b), yt.attr("d", "M0,0Z")); - } - ((ht.l = Math.min(ut, n)), - (ht.r = Math.max(ut, n)), - (ht.t = Math.min(ft, i)), - (ht.b = Math.max(ft, i)), - et - ? a > M || o > M - ? ((mt = "xy"), - a / Z > o / J - ? ((o = (a * J) / Z), - ft > i ? (ht.t = ft - o) : (ht.b = ft + o)) - : ((a = (o * Z) / J), - ut > n ? (ht.l = ut - a) : (ht.r = ut + a)), - yt.attr("d", N(ht))) - : s() - : !$ || o < Math.min(Math.max(0.6 * a, k), M) - ? a < k - ? s() - : ((ht.t = 0), - (ht.b = J), - (mt = "x"), - yt.attr( - "d", - (function (t, e) { - return ( - "M" + - (t.l - 0.5) + - "," + - (e - M - 0.5) + - "h-3v" + - (2 * M + 1) + - "h3ZM" + - (t.r + 0.5) + - "," + - (e - M - 0.5) + - "h3v" + - (2 * M + 1) + - "h-3Z" - ); - })(ht, ft), - )) - : !Q || a < Math.min(0.6 * o, M) - ? ((ht.l = 0), - (ht.r = Z), - (mt = "y"), - yt.attr( - "d", - (function (t, e) { - return ( - "M" + - (e - M - 0.5) + - "," + - (t.t - 0.5) + - "v-3h" + - (2 * M + 1) + - "v3ZM" + - (e - M - 0.5) + - "," + - (t.b + 0.5) + - "v3h" + - (2 * M + 1) + - "v-3Z" - ); - })(ht, ut), - )) - : ((mt = "xy"), yt.attr("d", N(ht))), - (ht.w = ht.r - ht.l), - (ht.h = ht.b - ht.t), - O(vt, yt, ht, dt, gt, pt), - (gt = !0)); - } - function wt() { - if (Math.min(ht.h, ht.w) < 2 * k) return R(t); - (("xy" !== mt && "x" !== mt) || E(G, ht.l / Z, ht.r / Z, bt, K.xaxes), - ("xy" !== mt && "y" !== mt) || - E(W, (J - ht.b) / J, (J - ht.t) / J, bt, K.yaxes), - R(t), - Et(), - B(t)); - } - var kt = [0, 0, Z, J], - Mt = null, - At = w.REDRAWDELAY, - Tt = e.mainplot ? t._fullLayout._plots[e.mainplot] : e; - function St(e, r) { - if (!t._transitioningWithDuration) { - if ("ew" === Q || "ns" === $) - return ( - Q && L(G, e), - $ && L(W, r), - Lt([Q ? -e : 0, $ ? -r : 0, Z, J]), - void Ct($, Q) - ); - if (et && Q && $) { - var n = ("w" === Q) == ("n" === $) ? 1 : -1, - i = (e / Z + (n * r) / J) / 2; - ((e = i * Z), (r = n * i * J)); - } - ("w" === Q - ? (e = l(G, 0, e)) - : "e" === Q - ? (e = l(G, 1, -e)) - : Q || (e = 0), - "n" === $ - ? (r = l(W, 1, r)) - : "s" === $ - ? (r = l(W, 0, -r)) - : $ || (r = 0)); - var a = "w" === Q ? e : 0, - o = "n" === $ ? r : 0; - if (et) { - var s; - if (!Q && 1 === $.length) { - for (s = 0; s < G.length; s++) - ((G[s].range = G[s]._r.slice()), _(G[s], 1 - r / J)); - a = (e = (r * Z) / J) / 2; - } - if (!$ && 1 === Q.length) { - for (s = 0; s < W.length; s++) - ((W[s].range = W[s]._r.slice()), _(W[s], 1 - e / Z)); - o = (r = (e * J) / Z) / 2; - } - } - (Lt([a, o, Z - e, J - r]), Ct($, Q)); - } - function l(t, e, r) { - for (var n, i, a = 1 - e, o = 0; o < t.length; o++) { - var s = t[o]; - if (!s.fixedrange) { - ((n = s), - (i = s._rl[a] + (s._rl[e] - s._rl[a]) / z(r / s._length))); - var l = s.l2r(i); - !1 !== l && void 0 !== l && (s.range[e] = l); - } - } - return (n._length * (n._rl[e] - i)) / (n._rl[e] - n._rl[a]); - } - } - function Ct(e, r) { - var n, - i = []; - function a(t) { - for (n = 0; n < t.length; n++) t[n].fixedrange || i.push(t[n]._id); - } - for ( - rt && (a(G), a(K.xaxes)), nt && (a(W), a(K.yaxes)), bt = {}, n = 0; - n < i.length; - n++ - ) { - var s = i[n]; - v(t, s, !0); - var l = y(t, s); - ((bt[l._name + ".range[0]"] = l.range[0]), - (bt[l._name + ".range[1]"] = l.range[1])); - } - function c(a, o, s) { - for (n = 0; n < a.length; n++) { - var l = a[n]; - if ( - ((r && -1 !== i.indexOf(l.xref)) || - (e && -1 !== i.indexOf(l.yref))) && - (o(t, n), s) - ) - return; - } - } - (c( - t._fullLayout.annotations || [], - o.getComponentMethod("annotations", "drawOne"), - ), - c( - t._fullLayout.shapes || [], - o.getComponentMethod("shapes", "drawOne"), - ), - c( - t._fullLayout.images || [], - o.getComponentMethod("images", "draw"), - !0, - )); - } - function Et() { - (Lt([0, 0, Z, J]), - s.syncOrAsync( - [ - m.previousPromises, - function () { - o.call("relayout", t, bt); - }, - ], - t, - )); - } - function Lt(e) { - var r, - n, - i, - a, - l = t._fullLayout, - u = l._plots, - h = l._subplots.cartesian, - p = l._has("scattergl"), - d = l._hasOnlyLargeSploms, - g = d || l._has("splom"), - m = l._has("svg"), - v = l._has("draggedPts"); - if (((g || p) && c(t), !g || (o.subplotsRegistry.splom.drag(t), !d))) { - if (p) - for (r = 0; r < h.length; r++) { - ((i = (n = u[h[r]]).xaxis), (a = n.yaxis)); - var y = n._scene; - if (y) { - var x = s.simpleMap(i.range, i.r2l), - b = s.simpleMap(a.range, a.r2l); - y.update({ range: [x[0], b[0], x[1], b[1]] }); - } - } - if (m) { - var _ = e[2] / I._length, - w = e[3] / U._length; - for (r = 0; r < h.length; r++) { - ((i = (n = u[h[r]]).xaxis), (a = n.yaxis)); - var k, - M, - S, - C, - E = rt && !i.fixedrange && q[i._id], - L = nt && !a.fixedrange && H[a._id]; - if ( - (E - ? ((k = _), (S = T ? e[0] : Dt(i, k))) - : (S = Pt(i, (k = zt(i, _, w)))), - L - ? ((M = w), (C = A ? e[1] : Dt(a, M))) - : (C = Pt(a, (M = zt(a, _, w)))), - k || M) - ) { - (k || (k = 1), M || (M = 1)); - var z = i._offset - S / k, - P = a._offset - C / M; - if ( - (n.clipRect.call(f.setTranslate, S, C).call(f.setScale, k, M), - n.plot - .call(f.setTranslate, z, P) - .call(f.setScale, 1 / k, 1 / M), - v) - ) { - var D = n.plot.selectAll( - ".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace", - ); - (D.selectAll(".point").call(f.setPointGroupScale, k, M), - D.selectAll(".textpoint").call(f.setTextPointsScale, k, M), - D.call(f.hideOutsideRangePoints, n), - n.plot - .selectAll(".barlayer .trace") - .call(f.hideOutsideRangePoints, n, ".bartext")); - } - } - } - } - } - } - function zt(t, e, r) { - return t.fixedrange - ? 0 - : rt && K.xaHash[t._id] - ? e - : nt && (et ? K.xaHash : K.yaHash)[t._id] - ? r - : 0; - } - function Pt(t, e) { - return e ? ((t.range = t._r.slice()), _(t, e), Dt(t, e)) : 0; - } - function Dt(t, e) { - return t._length * (1 - e) * g[t.constraintoward || "middle"]; - } - return ( - A.length * T.length != 1 && - j(ct, function (e) { - if (t._context.scrollZoom || t._fullLayout._enablescrollzoom) { - if ((null === Mt && b(it), t._transitioningWithDuration)) - return (e.preventDefault(), void e.stopPropagation()); - var r = t.querySelector(".plotly"); - if ( - (st(), - !( - r.scrollHeight - r.clientHeight > 10 || - r.scrollWidth - r.clientWidth > 10 - )) - ) { - clearTimeout(Mt); - var n = -e.deltaY; - if ((isFinite(n) || (n = e.wheelDelta / 10), isFinite(n))) { - var i, - a = Math.exp(-Math.min(Math.max(n, -20), 20) / 200), - o = Tt.draglayer - .select(".nsewdrag") - .node() - .getBoundingClientRect(), - l = (e.clientX - o.left) / o.width, - c = (o.bottom - e.clientY) / o.height; - if (rt) { - for (T || (l = 0.5), i = 0; i < G.length; i++) - u(G[i], l, a); - ((kt[2] *= a), (kt[0] += kt[2] * l * (1 / a - 1))); - } - if (nt) { - for (A || (c = 0.5), i = 0; i < W.length; i++) - u(W[i], c, a); - ((kt[3] *= a), (kt[1] += kt[3] * (1 - c) * (1 / a - 1))); - } - (Lt(kt), - Ct(A, T), - (Mt = setTimeout(function () { - ((kt = [0, 0, Z, J]), Et()); - }, At)), - e.preventDefault()); - } else s.log("Did not find wheel motion attributes: ", e); - } - } - function u(t, e, r) { - if (!t.fixedrange) { - var n = s.simpleMap(t.range, t.r2l), - i = n[0] + (n[1] - n[0]) * e; - t.range = n.map(function (e) { - return t.l2r(i + (e - i) * r); - }); - } - } - }), - ct - ); - }, - makeDragger: T, - makeRectDragger: S, - makeZoombox: P, - makeCorners: D, - updateZoombox: O, - xyCorners: N, - transitionZoombox: I, - removeZoombox: R, - showDoubleClickNotifier: B, - attachWheelEventHandler: j, - }; - }, - { - "../../components/color": 474, - "../../components/dragelement": 496, - "../../components/drawing": 499, - "../../components/fx": 516, - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/clear_gl_canvases": 586, - "../../lib/setcursor": 622, - "../../lib/svg_text_utils": 626, - "../../registry": 732, - "../plots": 710, - "./axes": 648, - "./axis_ids": 651, - "./constants": 653, - "./scale_zoom": 664, - "./select": 665, - d3: 130, - "has-passive-events": 297, - tinycolor2: 415, - }, - ], - 657: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/fx"), - a = t("../../components/dragelement"), - o = t("../../lib/setcursor"), - s = t("./dragbox").makeDragBox, - l = t("./constants").DRAGGERSIZE; - ((r.initInteractions = function (t) { - var e = t._fullLayout; - if (t._context.staticPlot) n.select(t).selectAll(".drag").remove(); - else if (e._has("cartesian") || e._has("gl2d") || e._has("splom")) { - Object.keys(e._plots || {}) - .sort(function (t, r) { - if ((e._plots[t].mainplot && !0) === (e._plots[r].mainplot && !0)) { - var n = t.split("y"), - i = r.split("y"); - return n[0] === i[0] - ? Number(n[1] || 1) - Number(i[1] || 1) - : Number(n[0] || 1) - Number(i[0] || 1); - } - return e._plots[t].mainplot ? 1 : -1; - }) - .forEach(function (r) { - var n = e._plots[r], - o = n.xaxis, - c = n.yaxis; - if (!n.mainplot) { - var u = s( - t, - n, - o._offset, - c._offset, - o._length, - c._length, - "ns", - "ew", - ); - ((u.onmousemove = function (e) { - ((t._fullLayout._rehover = function () { - t._fullLayout._hoversubplot === r && i.hover(t, e, r); - }), - i.hover(t, e, r), - (t._fullLayout._lasthover = u), - (t._fullLayout._hoversubplot = r)); - }), - (u.onmouseout = function (e) { - t._dragging || - ((t._fullLayout._hoversubplot = null), a.unhover(t, e)); - }), - t._context.showAxisDragHandles && - (s(t, n, o._offset - l, c._offset - l, l, l, "n", "w"), - s(t, n, o._offset + o._length, c._offset - l, l, l, "n", "e"), - s(t, n, o._offset - l, c._offset + c._length, l, l, "s", "w"), - s( - t, - n, - o._offset + o._length, - c._offset + c._length, - l, - l, - "s", - "e", - ))); - } - if (t._context.showAxisDragHandles) { - if (r === o._mainSubplot) { - var f = o._mainLinePosition; - ("top" === o.side && (f -= l), - s( - t, - n, - o._offset + 0.1 * o._length, - f, - 0.8 * o._length, - l, - "", - "ew", - ), - s(t, n, o._offset, f, 0.1 * o._length, l, "", "w"), - s( - t, - n, - o._offset + 0.9 * o._length, - f, - 0.1 * o._length, - l, - "", - "e", - )); - } - if (r === c._mainSubplot) { - var h = c._mainLinePosition; - ("right" !== c.side && (h -= l), - s( - t, - n, - h, - c._offset + 0.1 * c._length, - l, - 0.8 * c._length, - "ns", - "", - ), - s( - t, - n, - h, - c._offset + 0.9 * c._length, - l, - 0.1 * c._length, - "s", - "", - ), - s(t, n, h, c._offset, l, 0.1 * c._length, "n", "")); - } - } - }); - var o = e._hoverlayer.node(); - ((o.onmousemove = function (r) { - ((r.target = t._fullLayout._lasthover), i.hover(t, r, e._hoversubplot)); - }), - (o.onclick = function (e) { - ((e.target = t._fullLayout._lasthover), i.click(t, e)); - }), - (o.onmousedown = function (e) { - t._fullLayout._lasthover.onmousedown(e); - }), - r.updateFx(e)); - } - }), - (r.updateFx = function (t) { - var e = "pan" === t.dragmode ? "move" : "crosshair"; - o(t._draggers, e); - })); - }, - { - "../../components/dragelement": 496, - "../../components/fx": 516, - "../../lib/setcursor": 622, - "./constants": 653, - "./dragbox": 656, - d3: 130, - }, - ], - 658: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"); - e.exports = function (t) { - return function (e, r) { - var a = e[t]; - if (Array.isArray(a)) - for ( - var o = n.subplotsRegistry.cartesian, - s = o.idRegex, - l = r._subplots, - c = l.xaxis, - u = l.yaxis, - f = l.cartesian, - h = r._has("cartesian") || r._has("gl2d"), - p = 0; - p < a.length; - p++ - ) { - var d = a[p]; - if (i.isPlainObject(d)) { - var g = d.xref, - m = d.yref, - v = s.x.test(g), - y = s.y.test(m); - if (v || y) { - h || i.pushUnique(r._basePlotModules, o); - var x = !1; - (v && -1 === c.indexOf(g) && (c.push(g), (x = !0)), - y && -1 === u.indexOf(m) && (u.push(m), (x = !0)), - x && v && y && f.push(g + m)); - } - } - } - }; - }; - }, - { "../../lib": 602, "../../registry": 732 }, - ], - 659: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../lib"), - o = t("../plots"), - s = t("../../components/drawing"), - l = t("../get_data").getModuleCalcData, - c = t("./axis_ids"), - u = t("./constants"), - f = t("../../constants/xmlns_namespaces"), - h = a.ensureSingle; - function p(t, e, r) { - return a.ensureSingle(t, e, r, function (t) { - t.datum(r); - }); - } - function d(t, e, r, a, o) { - for ( - var c, - f, - h, - p = u.traceLayerClasses, - d = t._fullLayout, - g = d._modules, - m = [], - v = 0; - v < g.length; - v++ - ) { - var y = (c = g[v]).name; - if (i.modules[y].categories.svg) { - var x = c.layerName || y + "layer", - b = c.plot; - ((h = (f = l(r, b))[0]), - (r = f[1]), - h.length && - m.push({ - i: p.indexOf(x), - className: x, - plotMethod: b, - cdModule: h, - })); - } - } - m.sort(function (t, e) { - return t.i - e.i; - }); - var _ = e.plot.selectAll("g.mlayer").data(m, function (t) { - return t.className; - }); - (_.enter() - .append("g") - .attr("class", function (t) { - return t.className; - }) - .classed("mlayer", !0), - _.exit().remove(), - _.order(), - _.each(function (r) { - var i = n.select(this), - l = r.className; - (r.plotMethod(t, e, r.cdModule, i, a, o), - "scatterlayer" !== l && - "barlayer" !== l && - s.setClipUrl(i, e.layerClipId)); - }), - d._has("scattergl") && - ((c = i.getModule("scattergl")), (h = l(r, c)[0]), c.plot(t, e, h))); - } - function g(t, e) { - var r = e.plotgroup, - n = e.id, - i = u.layerValue2layerClass[e.xaxis.layer], - a = u.layerValue2layerClass[e.yaxis.layer], - o = t._fullLayout._hasOnlyLargeSploms; - if (e.mainplot) { - var s = e.mainplotinfo, - l = s.plotgroup, - f = n + "-x", - d = n + "-y"; - ((e.gridlayer = s.gridlayer), - (e.zerolinelayer = s.zerolinelayer), - h(s.overlinesBelow, "path", f), - h(s.overlinesBelow, "path", d), - h(s.overaxesBelow, "g", f), - h(s.overaxesBelow, "g", d), - (e.plot = h(s.overplot, "g", n)), - h(s.overlinesAbove, "path", f), - h(s.overlinesAbove, "path", d), - h(s.overaxesAbove, "g", f), - h(s.overaxesAbove, "g", d), - (e.xlines = l.select(".overlines-" + i).select("." + f)), - (e.ylines = l.select(".overlines-" + a).select("." + d)), - (e.xaxislayer = l.select(".overaxes-" + i).select("." + f)), - (e.yaxislayer = l.select(".overaxes-" + a).select("." + d))); - } else if (o) - ((e.plot = h(r, "g", "plot")), - (e.xlines = h(r, "path", "xlines-above")), - (e.ylines = h(r, "path", "ylines-above")), - (e.xaxislayer = h(r, "g", "xaxislayer-above")), - (e.yaxislayer = h(r, "g", "yaxislayer-above"))); - else { - var g = h(r, "g", "layer-subplot"); - ((e.shapelayer = h(g, "g", "shapelayer")), - (e.imagelayer = h(g, "g", "imagelayer")), - (e.gridlayer = h(r, "g", "gridlayer")), - (e.zerolinelayer = h(r, "g", "zerolinelayer")), - h(r, "path", "xlines-below"), - h(r, "path", "ylines-below"), - (e.overlinesBelow = h(r, "g", "overlines-below")), - h(r, "g", "xaxislayer-below"), - h(r, "g", "yaxislayer-below"), - (e.overaxesBelow = h(r, "g", "overaxes-below")), - (e.plot = h(r, "g", "plot")), - (e.overplot = h(r, "g", "overplot")), - (e.xlines = h(r, "path", "xlines-above")), - (e.ylines = h(r, "path", "ylines-above")), - (e.overlinesAbove = h(r, "g", "overlines-above")), - h(r, "g", "xaxislayer-above"), - h(r, "g", "yaxislayer-above"), - (e.overaxesAbove = h(r, "g", "overaxes-above")), - (e.xlines = r.select(".xlines-" + i)), - (e.ylines = r.select(".ylines-" + a)), - (e.xaxislayer = r.select(".xaxislayer-" + i)), - (e.yaxislayer = r.select(".yaxislayer-" + a))); - } - (o || - (p(e.gridlayer, "g", e.xaxis._id), - p(e.gridlayer, "g", e.yaxis._id), - e.gridlayer.selectAll("g").sort(c.idSort)), - e.xlines.style("fill", "none").classed("crisp", !0), - e.ylines.style("fill", "none").classed("crisp", !0)); - } - function m(t, e) { - if (t) { - var r = {}; - for (var i in (t.each(function (t) { - (n.select(this).remove(), v(t, e), (r[t] = !0)); - }), - e._plots)) - for (var a = e._plots[i].overlays || [], o = 0; o < a.length; o++) { - var s = a[o]; - r[s.id] && s.plot.selectAll(".trace").remove(); - } - } - } - function v(t, e) { - (e._draggers.selectAll("g." + t).remove(), - e._defs.select("#clip" + e._uid + t + "plot").remove()); - } - ((r.name = "cartesian"), - (r.attr = ["xaxis", "yaxis"]), - (r.idRoot = ["x", "y"]), - (r.idRegex = u.idRegex), - (r.attrRegex = u.attrRegex), - (r.attributes = t("./attributes")), - (r.layoutAttributes = t("./layout_attributes")), - (r.supplyLayoutDefaults = t("./layout_defaults")), - (r.transitionAxes = t("./transition_axes")), - (r.finalizeSubplots = function (t, e) { - var r, - n, - i, - o = e._subplots, - s = o.xaxis, - l = o.yaxis, - f = o.cartesian, - h = f.concat(o.gl2d || []), - p = {}, - d = {}; - for (r = 0; r < h.length; r++) { - var g = h[r].split("y"); - ((p[g[0]] = 1), (d["y" + g[1]] = 1)); - } - for (r = 0; r < s.length; r++) - p[(n = s[r])] || - ((i = (t[c.id2name(n)] || {}).anchor), - u.idRegex.y.test(i) || (i = "y"), - f.push(n + i), - h.push(n + i), - d[i] || ((d[i] = 1), a.pushUnique(l, i))); - for (r = 0; r < l.length; r++) - d[(i = l[r])] || - ((n = (t[c.id2name(i)] || {}).anchor), - u.idRegex.x.test(n) || (n = "x"), - f.push(n + i), - h.push(n + i), - p[n] || ((p[n] = 1), a.pushUnique(s, n))); - if (!h.length) { - for (var m in ((n = ""), (i = ""), t)) { - if (u.attrRegex.test(m)) - "x" === m.charAt(0) - ? (!n || +m.substr(5) < +n.substr(5)) && (n = m) - : (!i || +m.substr(5) < +i.substr(5)) && (i = m); - } - ((n = n ? c.name2id(n) : "x"), - (i = i ? c.name2id(i) : "y"), - s.push(n), - l.push(i), - f.push(n + i)); - } - }), - (r.plot = function (t, e, r, n) { - var i, - a = t._fullLayout, - o = a._subplots.cartesian, - s = t.calcdata; - if (!Array.isArray(e)) for (e = [], i = 0; i < s.length; i++) e.push(i); - for (i = 0; i < o.length; i++) { - for ( - var l, c = o[i], u = a._plots[c], f = [], h = 0; - h < s.length; - h++ - ) { - var p = s[h], - g = p[0].trace; - g.xaxis + g.yaxis === c && - ((-1 !== e.indexOf(g.index) || g.carpet) && - (l && - l[0].trace.xaxis + l[0].trace.yaxis === c && - -1 !== ["tonextx", "tonexty", "tonext"].indexOf(g.fill) && - -1 === f.indexOf(l) && - f.push(l), - f.push(p)), - (l = p)); - } - d(t, u, f, r, n); - } - }), - (r.clean = function (t, e, r, n) { - var i, - a, - o, - s = n._plots || {}, - l = e._plots || {}, - u = n._subplots || {}; - if (n._hasOnlyLargeSploms && !e._hasOnlyLargeSploms) - for (o in s) (i = s[o]).plotgroup && i.plotgroup.remove(); - var f = n._has && n._has("gl"), - h = e._has && e._has("gl"); - if (f && !h) for (o in s) (i = s[o])._scene && i._scene.destroy(); - if (u.xaxis && u.yaxis) { - var p = c.listIds({ _fullLayout: n }); - for (a = 0; a < p.length; a++) { - var d = p[a]; - e[c.id2name(d)] || - n._infolayer.selectAll(".g-" + d + "title").remove(); - } - } - var g = n._has && n._has("cartesian"), - y = e._has && e._has("cartesian"); - if (g && !y) - (m(n._cartesianlayer.selectAll(".subplot"), n), - n._defs.selectAll(".axesclip").remove(), - delete n._axisConstraintGroups); - else if (u.cartesian) - for (a = 0; a < u.cartesian.length; a++) { - var x = u.cartesian[a]; - if (!l[x]) { - var b = "." + x + ",." + x + "-x,." + x + "-y"; - (n._cartesianlayer.selectAll(b).remove(), v(x, n)); - } - } - }), - (r.drawFramework = function (t) { - var e = t._fullLayout, - r = (function (t) { - var e = t._fullLayout, - r = [], - n = []; - for (var i in e._plots) { - var a = e._plots[i], - o = a.xaxis._mainAxis, - s = a.yaxis._mainAxis, - l = o._id + s._id; - l !== i && e._plots[l] - ? ((a.mainplot = l), (a.mainplotinfo = e._plots[l]), n.push(i)) - : (r.push(i), (a.mainplot = void 0)); - } - return (r = r.concat(n)); - })(t), - i = e._cartesianlayer.selectAll(".subplot").data(r, a.identity); - (i - .enter() - .append("g") - .attr("class", function (t) { - return "subplot " + t; - }), - i.order(), - i.exit().call(m, e), - i.each(function (r) { - var i = e._plots[r]; - ((i.plotgroup = n.select(this)), - (i.overlays = []), - g(t, i), - i.mainplot) && e._plots[i.mainplot].overlays.push(i); - i.draglayer = h(e._draggers, "g", r); - })); - }), - (r.rangePlot = function (t, e, r) { - (g(t, e), d(t, e, r), o.style(t)); - }), - (r.toSVG = function (t) { - var e = t._fullLayout._glimages, - r = n.select(t).selectAll(".svg-container"); - r.filter(function (t, e) { - return e === r.size() - 1; - }) - .selectAll(".gl-canvas-context, .gl-canvas-focus") - .each(function () { - var t = this.toDataURL("image/png"); - e.append("svg:image").attr({ - xmlns: f.svg, - "xlink:href": t, - preserveAspectRatio: "none", - x: 0, - y: 0, - width: this.width, - height: this.height, - }); - }); - }), - (r.updateFx = t("./graph_interact").updateFx)); - }, - { - "../../components/drawing": 499, - "../../constants/xmlns_namespaces": 581, - "../../lib": 602, - "../../registry": 732, - "../get_data": 684, - "../plots": 710, - "./attributes": 646, - "./axis_ids": 651, - "./constants": 653, - "./graph_interact": 657, - "./layout_attributes": 660, - "./layout_defaults": 661, - "./transition_axes": 670, - d3: 130, - }, - ], - 660: [ - function (t, e, r) { - "use strict"; - var n = t("../font_attributes"), - i = t("../../components/color/attributes"), - a = t("../../components/drawing/attributes").dash, - o = t("../../lib/extend").extendFlat, - s = t("./constants"); - e.exports = { - visible: { valType: "boolean", editType: "plot" }, - color: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, - title: { valType: "string", editType: "ticks+margins" }, - titlefont: n({ editType: "ticks+margins" }), - type: { - valType: "enumerated", - values: ["-", "linear", "log", "date", "category"], - dflt: "-", - editType: "calc", - }, - autorange: { - valType: "enumerated", - values: [!0, !1, "reversed"], - dflt: !0, - editType: "calc", - impliedEdits: { "range[0]": void 0, "range[1]": void 0 }, - }, - rangemode: { - valType: "enumerated", - values: ["normal", "tozero", "nonnegative"], - dflt: "normal", - editType: "plot", - }, - range: { - valType: "info_array", - items: [ - { - valType: "any", - editType: "axrange+margins", - impliedEdits: { "^autorange": !1 }, - }, - { - valType: "any", - editType: "axrange+margins", - impliedEdits: { "^autorange": !1 }, - }, - ], - editType: "axrange+margins", - impliedEdits: { autorange: !1 }, - }, - fixedrange: { valType: "boolean", dflt: !1, editType: "calc" }, - scaleanchor: { - valType: "enumerated", - values: [s.idRegex.x.toString(), s.idRegex.y.toString()], - editType: "plot", - }, - scaleratio: { valType: "number", min: 0, dflt: 1, editType: "plot" }, - constrain: { - valType: "enumerated", - values: ["range", "domain"], - dflt: "range", - editType: "plot", - }, - constraintoward: { - valType: "enumerated", - values: ["left", "center", "right", "top", "middle", "bottom"], - editType: "plot", - }, - tickmode: { - valType: "enumerated", - values: ["auto", "linear", "array"], - editType: "ticks+margins", - impliedEdits: { tick0: void 0, dtick: void 0 }, - }, - nticks: { valType: "integer", min: 0, dflt: 0, editType: "ticks+margins" }, - tick0: { - valType: "any", - editType: "ticks+margins", - impliedEdits: { tickmode: "linear" }, - }, - dtick: { - valType: "any", - editType: "ticks+margins", - impliedEdits: { tickmode: "linear" }, - }, - tickvals: { valType: "data_array", editType: "ticks+margins" }, - ticktext: { valType: "data_array", editType: "ticks+margins" }, - ticks: { - valType: "enumerated", - values: ["outside", "inside", ""], - editType: "ticks+margins", - }, - mirror: { - valType: "enumerated", - values: [!0, "ticks", !1, "all", "allticks"], - dflt: !1, - editType: "ticks+layoutstyle", - }, - ticklen: { valType: "number", min: 0, dflt: 5, editType: "ticks" }, - tickwidth: { valType: "number", min: 0, dflt: 1, editType: "ticks" }, - tickcolor: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, - showticklabels: { valType: "boolean", dflt: !0, editType: "ticks+margins" }, - automargin: { valType: "boolean", dflt: !1, editType: "ticks+margins" }, - showspikes: { valType: "boolean", dflt: !1, editType: "modebar" }, - spikecolor: { valType: "color", dflt: null, editType: "none" }, - spikethickness: { valType: "number", dflt: 3, editType: "none" }, - spikedash: o({}, a, { dflt: "dash", editType: "none" }), - spikemode: { - valType: "flaglist", - flags: ["toaxis", "across", "marker"], - dflt: "toaxis", - editType: "none", - }, - spikesnap: { - valType: "enumerated", - values: ["data", "cursor"], - dflt: "data", - editType: "none", - }, - tickfont: n({ editType: "ticks+margins" }), - tickangle: { valType: "angle", dflt: "auto", editType: "ticks+margins" }, - tickprefix: { valType: "string", dflt: "", editType: "ticks+margins" }, - showtickprefix: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "ticks+margins", - }, - ticksuffix: { valType: "string", dflt: "", editType: "ticks+margins" }, - showticksuffix: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "ticks+margins", - }, - showexponent: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "ticks+margins", - }, - exponentformat: { - valType: "enumerated", - values: ["none", "e", "E", "power", "SI", "B"], - dflt: "B", - editType: "ticks+margins", - }, - separatethousands: { - valType: "boolean", - dflt: !1, - editType: "ticks+margins", - }, - tickformat: { valType: "string", dflt: "", editType: "ticks+margins" }, - tickformatstops: { - _isLinkedToArray: "tickformatstop", - dtickrange: { - valType: "info_array", - items: [ - { valType: "any", editType: "ticks+margins" }, - { valType: "any", editType: "ticks+margins" }, - ], - editType: "ticks+margins", - }, - value: { valType: "string", dflt: "", editType: "ticks+margins" }, - editType: "ticks+margins", - }, - hoverformat: { valType: "string", dflt: "", editType: "none" }, - showline: { valType: "boolean", dflt: !1, editType: "layoutstyle" }, - linecolor: { - valType: "color", - dflt: i.defaultLine, - editType: "layoutstyle", - }, - linewidth: { - valType: "number", - min: 0, - dflt: 1, - editType: "ticks+layoutstyle", - }, - showgrid: { valType: "boolean", editType: "ticks" }, - gridcolor: { valType: "color", dflt: i.lightLine, editType: "ticks" }, - gridwidth: { valType: "number", min: 0, dflt: 1, editType: "ticks" }, - zeroline: { valType: "boolean", editType: "ticks" }, - zerolinecolor: { valType: "color", dflt: i.defaultLine, editType: "ticks" }, - zerolinewidth: { valType: "number", dflt: 1, editType: "ticks" }, - anchor: { - valType: "enumerated", - values: ["free", s.idRegex.x.toString(), s.idRegex.y.toString()], - editType: "plot+margins", - }, - side: { - valType: "enumerated", - values: ["top", "bottom", "left", "right"], - editType: "plot+margins", - }, - overlaying: { - valType: "enumerated", - values: ["free", s.idRegex.x.toString(), s.idRegex.y.toString()], - editType: "plot", - }, - layer: { - valType: "enumerated", - values: ["above traces", "below traces"], - dflt: "above traces", - editType: "plot", - }, - domain: { - valType: "info_array", - items: [ - { valType: "number", min: 0, max: 1, editType: "plot+margins" }, - { valType: "number", min: 0, max: 1, editType: "plot+margins" }, - ], - dflt: [0, 1], - editType: "plot+margins", - }, - position: { - valType: "number", - min: 0, - max: 1, - dflt: 0, - editType: "plot+margins", - }, - categoryorder: { - valType: "enumerated", - values: ["trace", "category ascending", "category descending", "array"], - dflt: "trace", - editType: "calc", - }, - categoryarray: { valType: "data_array", editType: "calc" }, - editType: "calc", - _deprecated: { - autotick: { valType: "boolean", editType: "ticks+margins" }, - }, - }; - }, - { - "../../components/color/attributes": 473, - "../../components/drawing/attributes": 498, - "../../lib/extend": 591, - "../font_attributes": 674, - "./constants": 653, - }, - ], - 661: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../components/color"), - o = t("../layout_attributes"), - s = t("./layout_attributes"), - l = t("./type_defaults"), - c = t("./axis_defaults"), - u = t("./constraint_defaults"), - f = t("./position_defaults"), - h = t("./axis_ids"); - e.exports = function (t, e, r) { - var p, - d = {}, - g = {}, - m = {}, - v = {}; - for (p = 0; p < r.length; p++) { - var y = r[p]; - if (n.traceIs(y, "cartesian") || n.traceIs(y, "gl2d")) { - var x = h.id2name(y.xaxis), - b = h.id2name(y.yaxis); - if ( - ((n.traceIs(y, "carpet") && ("carpet" !== y.type || y._cheater)) || - (x && (g[x] = 1)), - "carpet" === y.type && y._cheater && x && (d[x] = 1), - n.traceIs(y, "2dMap") && ((m[x] = !0), (m[b] = !0)), - n.traceIs(y, "oriented")) - ) - v["h" === y.orientation ? b : x] = !0; - } - } - var _ = e._subplots, - w = _.xaxis, - k = _.yaxis, - M = i.simpleMap(w, h.id2name), - A = i.simpleMap(k, h.id2name), - T = M.concat(A), - S = a.background; - w.length && k.length && (S = i.coerce(t, e, o, "plot_bgcolor")); - var C, - E, - L, - z, - P = a.combine(S, e.paper_bgcolor); - function D(t, e) { - return i.coerce(L, z, s, t, e); - } - function O(t, e) { - return i.coerce2(L, z, s, t, e); - } - function I(t) { - return "x" === t ? k : w; - } - var R = { x: I("x"), y: I("y") }; - function B(e, r) { - for (var n = "x" === e ? M : A, i = [], a = 0; a < n.length; a++) { - var o = n[a]; - o === r || (t[o] || {}).overlaying || i.push(h.name2id(o)); - } - return i; - } - for (p = 0; p < T.length; p++) { - ((C = T[p]), - i.isPlainObject(t[C]) || (t[C] = {}), - (L = t[C]), - (z = e[C] = {}), - l(L, z, D, r, C)); - var F = B((E = C.charAt(0)), C), - N = { - letter: E, - font: e.font, - outerTicks: m[C], - showGrid: !v[C], - data: r, - bgColor: P, - calendar: e.calendar, - automargin: !0, - cheateronly: "x" === E && d[C] && !g[C], - }; - c(L, z, D, N, e); - var j = O("spikecolor"), - V = O("spikethickness"), - U = O("spikedash"), - q = O("spikemode"), - H = O("spikesnap"); - D("showspikes", !!(j || V || U || q || H)) || - (delete z.spikecolor, - delete z.spikethickness, - delete z.spikedash, - delete z.spikemode, - delete z.spikesnap); - var G = { - letter: E, - counterAxes: R[E], - overlayableAxes: F, - grid: e.grid, - }; - (f(L, z, D, G), (z._input = L)); - } - var W = n.getComponentMethod("rangeslider", "handleDefaults"), - Y = n.getComponentMethod("rangeselector", "handleDefaults"); - for (p = 0; p < M.length; p++) - ((C = M[p]), - (L = t[C]), - (z = e[C]), - W(t, e, C), - "date" === z.type && Y(L, z, e, A, z.calendar), - D("fixedrange")); - for (p = 0; p < A.length; p++) { - ((C = A[p]), (L = t[C]), (z = e[C])); - var X = e[h.id2name(z.anchor)]; - D("fixedrange", X && X.rangeslider && X.rangeslider.visible); - } - e._axisConstraintGroups = []; - var Z = R.x.concat(R.y); - for (p = 0; p < T.length; p++) - ((E = (C = T[p]).charAt(0)), (L = t[C]), (z = e[C]), u(L, z, D, Z, e)); - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../registry": 732, - "../layout_attributes": 701, - "./axis_defaults": 650, - "./axis_ids": 651, - "./constraint_defaults": 654, - "./layout_attributes": 660, - "./position_defaults": 663, - "./type_defaults": 671, - }, - ], - 662: [ - function (t, e, r) { - "use strict"; - var n = t("tinycolor2").mix, - i = t("../../components/color/attributes").lightFraction, - a = t("../../lib"); - e.exports = function (t, e, r, o) { - var s = (o = o || {}).dfltColor; - function l(r, n) { - return a.coerce2(t, e, o.attributes, r, n); - } - var c = l("linecolor", s), - u = l("linewidth"); - r("showline", o.showLine || !!c || !!u) || - (delete e.linecolor, delete e.linewidth); - var f = l("gridcolor", n(s, o.bgColor, o.blend || i).toRgbString()), - h = l("gridwidth"); - if ( - (r("showgrid", o.showGrid || !!f || !!h) || - (delete e.gridcolor, delete e.gridwidth), - !o.noZeroLine) - ) { - var p = l("zerolinecolor", s), - d = l("zerolinewidth"); - r("zeroline", o.showGrid || !!p || !!d) || - (delete e.zerolinecolor, delete e.zerolinewidth); - } - }; - }, - { "../../components/color/attributes": 473, "../../lib": 602, tinycolor2: 415 }, - ], - 663: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"); - e.exports = function (t, e, r, a) { - var o, - s, - l, - c, - u = a.counterAxes || [], - f = a.overlayableAxes || [], - h = a.letter, - p = a.grid; - (p && - ((s = p._domains[h][p._axisMap[e._id]]), - (o = p._anchors[e._id]), - s && - ((l = p[h + "side"].split(" ")[0]), - (c = p.domain[h]["right" === l || "top" === l ? 1 : 0]))), - (s = s || [0, 1]), - (o = o || (n(t.position) ? "free" : u[0] || "free")), - (l = l || ("x" === h ? "bottom" : "left")), - (c = c || 0), - "free" === - i.coerce( - t, - e, - { - anchor: { - valType: "enumerated", - values: ["free"].concat(u), - dflt: o, - }, - }, - "anchor", - ) && r("position", c), - i.coerce( - t, - e, - { - side: { - valType: "enumerated", - values: "x" === h ? ["bottom", "top"] : ["left", "right"], - dflt: l, - }, - }, - "side", - )); - var d = !1; - if ( - (f.length && - (d = i.coerce( - t, - e, - { - overlaying: { - valType: "enumerated", - values: [!1].concat(f), - dflt: !1, - }, - }, - "overlaying", - )), - !d) - ) { - var g = r("domain", s); - (g[0] > g[1] - 0.01 && (e.domain = s), - i.noneOrAll(t.domain, e.domain, s)); - } - return (r("layer"), e); - }; - }, - { "../../lib": 602, "fast-isnumeric": 196 }, - ], - 664: [ - function (t, e, r) { - "use strict"; - var n = t("../../constants/alignment").FROM_BL; - e.exports = function (t, e, r) { - void 0 === r && (r = n[t.constraintoward || "center"]); - var i = [t.r2l(t.range[0]), t.r2l(t.range[1])], - a = i[0] + (i[1] - i[0]) * r; - t.range = t._input.range = [ - t.l2r(a + (i[0] - a) * e), - t.l2r(a + (i[1] - a) * e), - ]; - }; - }, - { "../../constants/alignment": 574 }, - ], - 665: [ - function (t, e, r) { - "use strict"; - var n = t("polybooljs"), - i = t("../../registry"), - a = t("../../components/color"), - o = t("../../components/fx"), - s = t("../../lib/polygon"), - l = t("../../lib/throttle"), - c = t("../../components/fx/helpers").makeEventData, - u = t("./axis_ids").getFromId, - f = t("../sort_modules").sortModules, - h = t("./constants"), - p = h.MINSELECT, - d = s.filter, - g = s.tester, - m = s.multitester; - function v(t) { - return t._id; - } - function y(t, e, r) { - var n, a, o, s; - if (r) { - var l = r.points || []; - for (n = 0; n < e.length; n++) - (((s = e[n].cd[0].trace).selectedpoints = []), - (s._input.selectedpoints = [])); - for (n = 0; n < l.length; n++) { - var c = l[n], - u = c.data, - h = c.fullData; - c.pointIndices - ? ([].push.apply(u.selectedpoints, c.pointIndices), - [].push.apply(h.selectedpoints, c.pointIndices)) - : (u.selectedpoints.push(c.pointIndex), - h.selectedpoints.push(c.pointIndex)); - } - } else - for (n = 0; n < e.length; n++) - (delete (s = e[n].cd[0].trace).selectedpoints, - delete s._input.selectedpoints); - var p = {}; - for (n = 0; n < e.length; n++) { - var d = (o = e[n])._module.name; - p[d] ? p[d].push(o) : (p[d] = [o]); - } - var g = Object.keys(p).sort(f); - for (n = 0; n < g.length; n++) { - var m = p[g[n]], - v = m.length, - y = m[0], - x = y.cd[0].trace, - b = y._module, - _ = b.styleOnSelect || b.style; - if (i.traceIs(x, "regl")) { - var w = new Array(v); - for (a = 0; a < v; a++) w[a] = m[a].cd; - _(t, w); - } else for (a = 0; a < v; a++) _(t, m[a].cd); - } - } - function x(t, e) { - if (Array.isArray(t)) - for (var r = e.cd, n = e.cd[0].trace, i = 0; i < t.length; i++) - t[i] = c(t[i], n, r); - return t; - } - function b(t) { - t.selectAll(".select-outline").remove(); - } - e.exports = { - prepSelect: function (t, e, r, i, s) { - var c, - f, - _, - w, - k, - M, - A, - T, - S, - C = i.gd, - E = C._fullLayout, - L = E._zoomlayer, - z = i.element.getBoundingClientRect(), - P = i.plotinfo, - D = P.xaxis._offset, - O = P.yaxis._offset, - I = e - z.left, - R = r - z.top, - B = I, - F = R, - N = "M" + I + "," + R, - j = i.xaxes[0]._length, - V = i.yaxes[0]._length, - U = i.xaxes.map(v), - q = i.yaxes.map(v), - H = i.xaxes.concat(i.yaxes), - G = t.altKey, - W = E._lastSelectedSubplot && E._lastSelectedSubplot === P.id; - (W && - (t.shiftKey || t.altKey) && - P.selection && - P.selection.polygons && - !i.polygons - ? ((i.polygons = P.selection.polygons), - (i.mergedPolygons = P.selection.mergedPolygons)) - : ((!t.shiftKey && !t.altKey) || - ((t.shiftKey || t.altKey) && !P.selection)) && - ((P.selection = {}), - (P.selection.polygons = i.polygons = []), - (P.selection.mergedPolygons = i.mergedPolygons = [])), - W || (b(L), (E._lastSelectedSubplot = P.id)), - "lasso" === s && (c = d([[I, R]], h.BENDPX))); - var Y = L.selectAll("path.select-outline-" + P.id).data([1, 2]); - Y.enter() - .append("path") - .attr("class", function (t) { - return ( - "select-outline select-outline-" + t + " select-outline-" + P.id - ); - }) - .attr("transform", "translate(" + D + ", " + O + ")") - .attr("d", N + "Z"); - var X, - Z = L.append("path") - .attr("class", "zoombox-corners") - .style({ - fill: a.background, - stroke: a.defaultLine, - "stroke-width": 1, - }) - .attr("transform", "translate(" + D + ", " + O + ")") - .attr("d", "M0,0Z"), - J = [], - K = E._uid + h.SELECTID, - Q = []; - for (k = 0; k < C.calcdata.length; k++) - if ( - !0 === (A = (M = C.calcdata[k])[0].trace).visible && - A._module && - A._module.selectPoints - ) - if (i.subplot) - (A.subplot !== i.subplot && A.geo !== i.subplot) || - J.push({ - _module: A._module, - cd: M, - xaxis: i.xaxes[0], - yaxis: i.yaxes[0], - }); - else if ("splom" === A.type && A._xaxes[U[0]] && A._yaxes[q[0]]) - J.push({ - _module: A._module, - cd: M, - xaxis: i.xaxes[0], - yaxis: i.yaxes[0], - }); - else { - if (-1 === U.indexOf(A.xaxis)) continue; - if (-1 === q.indexOf(A.yaxis)) continue; - J.push({ - _module: A._module, - cd: M, - xaxis: u(C, A.xaxis), - yaxis: u(C, A.yaxis), - }); - } - function $(t) { - var e = "y" === t._id.charAt(0) ? 1 : 0; - return function (r) { - return t.p2d(r[e]); - }; - } - function tt(t, e) { - return t - e; - } - ((X = P.fillRangeItems - ? P.fillRangeItems - : "select" === s - ? function (t, e) { - var r = (t.range = {}); - for (k = 0; k < H.length; k++) { - var n = H[k], - i = n._id.charAt(0); - r[n._id] = [n.p2d(e[i + "min"]), n.p2d(e[i + "max"])].sort(tt); - } - } - : function (t, e, r) { - var n = (t.lassoPoints = {}); - for (k = 0; k < H.length; k++) { - var i = H[k]; - n[i._id] = r.filtered.map($(i)); - } - }), - (i.moveFn = function (t, e) { - ((B = Math.max(0, Math.min(j, t + I))), - (F = Math.max(0, Math.min(V, e + R)))); - var r = Math.abs(B - I), - a = Math.abs(F - R); - if ("select" === s) { - var o = E.selectdirection; - "h" === - (o = - "any" === E.selectdirection - ? a < Math.min(0.6 * r, p) - ? "h" - : r < Math.min(0.6 * a, p) - ? "v" - : "d" - : E.selectdirection) - ? (((w = [ - [I, 0], - [I, V], - [B, V], - [B, 0], - ]).xmin = Math.min(I, B)), - (w.xmax = Math.max(I, B)), - (w.ymin = Math.min(0, V)), - (w.ymax = Math.max(0, V)), - Z.attr( - "d", - "M" + - w.xmin + - "," + - (R - p) + - "h-4v" + - 2 * p + - "h4ZM" + - (w.xmax - 1) + - "," + - (R - p) + - "h4v" + - 2 * p + - "h-4Z", - )) - : "v" === o - ? (((w = [ - [0, R], - [0, F], - [j, F], - [j, R], - ]).xmin = Math.min(0, j)), - (w.xmax = Math.max(0, j)), - (w.ymin = Math.min(R, F)), - (w.ymax = Math.max(R, F)), - Z.attr( - "d", - "M" + - (I - p) + - "," + - w.ymin + - "v-4h" + - 2 * p + - "v4ZM" + - (I - p) + - "," + - (w.ymax - 1) + - "v4h" + - 2 * p + - "v-4Z", - )) - : "d" === o && - (((w = [ - [I, R], - [I, F], - [B, F], - [B, R], - ]).xmin = Math.min(I, B)), - (w.xmax = Math.max(I, B)), - (w.ymin = Math.min(R, F)), - (w.ymax = Math.max(R, F)), - Z.attr("d", "M0,0Z")); - } else "lasso" === s && (c.addPt([B, F]), (w = c.filtered)); - i.polygons && i.polygons.length - ? ((_ = (function (t, e, r) { - return r - ? n.difference( - { regions: t, inverted: !1 }, - { regions: [e], inverted: !1 }, - ).regions - : n.union( - { regions: t, inverted: !1 }, - { regions: [e], inverted: !1 }, - ).regions; - })(i.mergedPolygons, w, G)), - (w.subtract = G), - (f = m(i.polygons.concat([w])))) - : ((_ = [w]), (f = g(w))); - var u = []; - for (k = 0; k < _.length; k++) { - var d = _[k]; - u.push(d.join("L") + "L" + d[0]); - } - (Y.attr("d", "M" + u.join("M") + "Z"), - l.throttle(K, h.SELECTDELAY, function () { - Q = []; - var t, - e, - r = []; - for (k = 0; k < J.length; k++) - if ( - ((e = (T = J[k])._module.selectPoints(T, f)), - r.push(e), - (t = x(e, T)), - Q.length) - ) - for (var n = 0; n < t.length; n++) Q.push(t[n]); - else Q = t; - (y(C, J, (S = { points: Q })), - X(S, w, c), - i.gd.emit("plotly_selecting", S)); - })); - }), - (i.clickFn = function (t, e) { - (Z.remove(), - l.done(K).then(function () { - if ((l.clear(K), 2 === t)) { - for (Y.remove(), k = 0; k < J.length; k++) - (T = J[k])._module.selectPoints(T, !1); - (y(C, J), C.emit("plotly_deselect", null)); - } else C.emit("plotly_selected", void 0); - o.click(C, e); - })); - }), - (i.doneFn = function () { - (Z.remove(), - l.done(K).then(function () { - (l.clear(K), - i.gd.emit("plotly_selected", S), - w && - i.polygons && - ((w.subtract = G), - i.polygons.push(w), - (i.mergedPolygons.length = 0), - [].push.apply(i.mergedPolygons, _))); - })); - })); - }, - clearSelect: b, - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../components/fx/helpers": 513, - "../../lib/polygon": 614, - "../../lib/throttle": 627, - "../../registry": 732, - "../sort_modules": 723, - "./axis_ids": 651, - "./constants": 653, - polybooljs: 357, - }, - ], - 666: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../../lib"), - o = a.cleanNumber, - s = a.ms2DateTime, - l = a.dateTime2ms, - c = a.ensureNumber, - u = t("../../constants/numerical"), - f = u.FP_SAFE, - h = u.BADNUM, - p = t("./constants"), - d = t("./axis_ids"); - function g(t) { - return Math.pow(10, t); - } - e.exports = function (t, e) { - e = e || {}; - var r = (t._id || "x").charAt(0), - u = 10; - function m(e, r) { - if (e > 0) return Math.log(e) / Math.LN10; - if (e <= 0 && r && t.range && 2 === t.range.length) { - var n = t.range[0], - i = t.range[1]; - return 0.5 * (n + i - 3 * u * Math.abs(n - i)); - } - return h; - } - function v(e, r, n) { - var a = l(e, n || t.calendar); - if (a === h) { - if (!i(e)) return h; - a = l(new Date(+e)); - } - return a; - } - function y(e, r, n) { - return s(e, r, n || t.calendar); - } - function x(e) { - return t._categories[Math.round(e)]; - } - function b(e) { - if (t._categoriesMap) { - var r = t._categoriesMap[e]; - if (void 0 !== r) return r; - } - if (i(e)) return +e; - } - function _(e) { - return i(e) ? n.round(t._b + t._m * e, 2) : h; - } - function w(e) { - return (e - t._b) / t._m; - } - ((t.c2l = "log" === t.type ? m : c), - (t.l2c = "log" === t.type ? g : c), - (t.l2p = _), - (t.p2l = w), - (t.c2p = - "log" === t.type - ? function (t, e) { - return _(m(t, e)); - } - : _), - (t.p2c = - "log" === t.type - ? function (t) { - return g(w(t)); - } - : w), - -1 !== ["linear", "-"].indexOf(t.type) - ? ((t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = o), - (t.c2d = t.c2r = t.l2d = t.l2r = c), - (t.d2p = t.r2p = - function (e) { - return t.l2p(o(e)); - }), - (t.p2d = t.p2r = w), - (t.cleanPos = c)) - : "log" === t.type - ? ((t.d2r = t.d2l = - function (t, e) { - return m(o(t), e); - }), - (t.r2d = t.r2c = - function (t) { - return g(o(t)); - }), - (t.d2c = t.r2l = o), - (t.c2d = t.l2r = c), - (t.c2r = m), - (t.l2d = g), - (t.d2p = function (e, r) { - return t.l2p(t.d2r(e, r)); - }), - (t.p2d = function (t) { - return g(w(t)); - }), - (t.r2p = function (e) { - return t.l2p(o(e)); - }), - (t.p2r = w), - (t.cleanPos = c)) - : "date" === t.type - ? ((t.d2r = t.r2d = a.identity), - (t.d2c = t.r2c = t.d2l = t.r2l = v), - (t.c2d = t.c2r = t.l2d = t.l2r = y), - (t.d2p = t.r2p = - function (e, r, n) { - return t.l2p(v(e, 0, n)); - }), - (t.p2d = t.p2r = - function (t, e, r) { - return y(w(t), e, r); - }), - (t.cleanPos = function (e) { - return a.cleanDate(e, h, t.calendar); - })) - : "category" === t.type && - ((t.d2c = t.d2l = - function (e) { - if (null !== e && void 0 !== e) { - if ( - (void 0 === t._categoriesMap && (t._categoriesMap = {}), - void 0 !== t._categoriesMap[e]) - ) - return t._categoriesMap[e]; - t._categories.push(e); - var r = t._categories.length - 1; - return ((t._categoriesMap[e] = r), r); - } - return h; - }), - (t.r2d = t.c2d = t.l2d = x), - (t.d2r = t.d2l_noadd = b), - (t.r2c = function (e) { - var r = b(e); - return void 0 !== r ? r : t.fraction2r(0.5); - }), - (t.l2r = t.c2r = c), - (t.r2l = b), - (t.d2p = function (e) { - return t.l2p(t.r2c(e)); - }), - (t.p2d = function (t) { - return x(w(t)); - }), - (t.r2p = t.d2p), - (t.p2r = w), - (t.cleanPos = function (t) { - return "string" == typeof t && "" !== t ? t : c(t); - })), - (t.fraction2r = function (e) { - var r = t.r2l(t.range[0]), - n = t.r2l(t.range[1]); - return t.l2r(r + e * (n - r)); - }), - (t.r2fraction = function (e) { - var r = t.r2l(t.range[0]), - n = t.r2l(t.range[1]); - return (t.r2l(e) - r) / (n - r); - }), - (t.cleanRange = function (e, n) { - (n || (n = {}), e || (e = "range")); - var o, - s, - l = a.nestedProperty(t, e).get(); - if ( - ((s = (s = - "date" === t.type - ? a.dfltRange(t.calendar) - : "y" === r - ? p.DFLTRANGEY - : n.dfltRange || p.DFLTRANGEX).slice()), - l && 2 === l.length) - ) - for ( - "date" === t.type && - ((l[0] = a.cleanDate(l[0], h, t.calendar)), - (l[1] = a.cleanDate(l[1], h, t.calendar))), - o = 0; - o < 2; - o++ - ) - if ("date" === t.type) { - if (!a.isDateTime(l[o], t.calendar)) { - t[e] = s; - break; - } - if (t.r2l(l[0]) === t.r2l(l[1])) { - var c = a.constrain( - t.r2l(l[0]), - a.MIN_MS + 1e3, - a.MAX_MS - 1e3, - ); - ((l[0] = t.l2r(c - 1e3)), (l[1] = t.l2r(c + 1e3))); - break; - } - } else { - if (!i(l[o])) { - if (!i(l[1 - o])) { - t[e] = s; - break; - } - l[o] = l[1 - o] * (o ? 10 : 0.1); - } - if ( - (l[o] < -f ? (l[o] = -f) : l[o] > f && (l[o] = f), - l[0] === l[1]) - ) { - var u = Math.max(1, Math.abs(1e-6 * l[0])); - ((l[0] -= u), (l[1] += u)); - } - } - else a.nestedProperty(t, e).set(s); - }), - (t.setScale = function (n) { - var i = e._size; - if ( - (t._categories || (t._categories = []), - t._categoriesMap || (t._categoriesMap = {}), - t.overlaying) - ) { - var a = d.getFromId({ _fullLayout: e }, t.overlaying); - t.domain = a.domain; - } - var o = n && t._r ? "_r" : "range", - s = t.calendar; - t.cleanRange(o); - var l = t.r2l(t[o][0], s), - c = t.r2l(t[o][1], s); - if ( - ("y" === r - ? ((t._offset = i.t + (1 - t.domain[1]) * i.h), - (t._length = i.h * (t.domain[1] - t.domain[0])), - (t._m = t._length / (l - c)), - (t._b = -t._m * c)) - : ((t._offset = i.l + t.domain[0] * i.w), - (t._length = i.w * (t.domain[1] - t.domain[0])), - (t._m = t._length / (c - l)), - (t._b = -t._m * l)), - !isFinite(t._m) || !isFinite(t._b)) - ) - throw ( - (e._replotting = !1), - new Error("Something went wrong with axis scaling") - ); - }), - (t.makeCalcdata = function (e, r) { - var n, - i, - o, - s, - l = t.type, - c = "date" === l && e[r + "calendar"]; - if (r in e) { - if ( - ((n = e[r]), - (s = e._length || n.length), - a.isTypedArray(n) && ("linear" === l || "log" === l)) - ) { - if (s === n.length) return n; - if (n.subarray) return n.subarray(0, s); - } - for (i = new Array(s), o = 0; o < s; o++) i[o] = t.d2c(n[o], 0, c); - } else { - var u = r + "0" in e ? t.d2c(e[r + "0"], 0, c) : 0, - f = e["d" + r] ? Number(e["d" + r]) : 1; - for ( - n = e[{ x: "y", y: "x" }[r]], - s = e._length || n.length, - i = new Array(s), - o = 0; - o < s; - o++ - ) - i[o] = u + o * f; - } - return i; - }), - (t.isValidRange = function (e) { - return ( - Array.isArray(e) && 2 === e.length && i(t.r2l(e[0])) && i(t.r2l(e[1])) - ); - }), - (t.isPtWithinRange = function (e, n) { - var i = t.c2l(e[r], null, n), - a = t.r2l(t.range[0]), - o = t.r2l(t.range[1]); - return a < o ? a <= i && i <= o : o <= i && i <= a; - }), - (t.clearCalc = function () { - ((t._min = []), - (t._max = []), - (t._categories = (t._initialCategories || []).slice()), - (t._categoriesMap = {})); - for (var e = 0; e < t._categories.length; e++) - t._categoriesMap[t._categories[e]] = e; - })); - var k = e._d3locale; - ("date" === t.type && - ((t._dateFormat = k ? k.timeFormat.utc : n.time.format.utc), - (t._extraFormat = e._extraFormat)), - (t._separators = e.separators), - (t._numFormat = k ? k.numberFormat : n.format), - delete t._minDtick, - delete t._forceTick0); - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "./axis_ids": 651, - "./constants": 653, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 667: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./layout_attributes"); - e.exports = function (t, e, r, a, o) { - var s = (function (t) { - var e = ["showexponent", "showtickprefix", "showticksuffix"].filter( - function (e) { - return void 0 !== t[e]; - }, - ); - if ( - e.every(function (r) { - return t[r] === t[e[0]]; - }) || - 1 === e.length - ) - return t[e[0]]; - })(t); - if ( - (r("tickprefix") && r("showtickprefix", s), - r("ticksuffix", o.tickSuffixDflt) && r("showticksuffix", s), - r("showticklabels")) - ) { - var l = o.font || {}, - c = e.color === t.color ? e.color : l.color; - if ( - (n.coerceFont(r, "tickfont", { - family: l.family, - size: l.size, - color: c, - }), - r("tickangle"), - "category" !== a) - ) { - var u = r("tickformat"); - (!(function (t, e) { - var r, - a, - o = t.tickformatstops, - s = (e.tickformatstops = []); - if (!Array.isArray(o)) return; - function l(t, e) { - return n.coerce(r, a, i.tickformatstops, t, e); - } - for (var c = 0; c < o.length; c++) - ((r = o[c]), (a = {}), l("dtickrange"), l("value"), s.push(a)); - })(t, e), - u || - "date" === a || - (r("showexponent", s), - r("exponentformat"), - r("separatethousands"))); - } - } - }; - }, - { "../../lib": 602, "./layout_attributes": 660 }, - ], - 668: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./layout_attributes"); - e.exports = function (t, e, r, a) { - var o = n.coerce2(t, e, i, "ticklen"), - s = n.coerce2(t, e, i, "tickwidth"), - l = n.coerce2(t, e, i, "tickcolor", e.color); - r("ticks", a.outerTicks || o || s || l ? "outside" : "") || - (delete e.ticklen, delete e.tickwidth, delete e.tickcolor); - }; - }, - { "../../lib": 602, "./layout_attributes": 660 }, - ], - 669: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../constants/numerical").ONEDAY; - e.exports = function (t, e, r, o) { - var s = "auto"; - ("array" !== t.tickmode || - ("log" !== o && "date" !== o) || - (t.tickmode = "auto"), - Array.isArray(t.tickvals) ? (s = "array") : t.dtick && (s = "linear")); - var l = r("tickmode", s); - if ("auto" === l) r("nticks"); - else if ("linear" === l) { - var c = "date" === o ? a : 1, - u = r("dtick", c); - if (n(u)) e.dtick = u > 0 ? Number(u) : c; - else if ("string" != typeof u) e.dtick = c; - else { - var f = u.charAt(0), - h = u.substr(1); - ((h = n(h) ? Number(h) : 0) <= 0 || - !( - ("date" === o && "M" === f && h === Math.round(h)) || - ("log" === o && "L" === f) || - ("log" === o && "D" === f && (1 === h || 2 === h)) - )) && - (e.dtick = c); - } - var p = "date" === o ? i.dateTick0(e.calendar) : 0, - d = r("tick0", p); - "date" === o - ? (e.tick0 = i.cleanDate(d, p)) - : n(d) && "D1" !== u && "D2" !== u - ? (e.tick0 = Number(d)) - : (e.tick0 = p); - } else { - void 0 === r("tickvals") ? (e.tickmode = "auto") : r("ticktext"); - } - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, - ], - 670: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../components/drawing"), - o = t("./axes"), - s = t("./constants").attrRegex; - e.exports = function (t, e, r, l) { - var c = t._fullLayout, - u = []; - var f, - h, - p, - d, - g = (function (t) { - var e, - r, - n, - i, - a = {}; - for (e in t) - if ((r = e.split("."))[0].match(s)) { - var o = e.charAt(0), - l = r[0]; - if ( - ((n = c[l]), - (i = {}), - Array.isArray(t[e]) - ? (i.to = t[e].slice(0)) - : Array.isArray(t[e].range) && (i.to = t[e].range.slice(0)), - !i.to) - ) - continue; - ((i.axisName = l), (i.length = n._length), u.push(o), (a[o] = i)); - } - return a; - })(e), - m = Object.keys(g), - v = (function (t, e, r) { - var n, - i, - a, - o = t._plots, - s = []; - for (n in o) { - var l = o[n]; - if (-1 === s.indexOf(l)) { - var c = l.xaxis._id, - u = l.yaxis._id, - f = l.xaxis.range, - h = l.yaxis.range; - ((l.xaxis._r = l.xaxis.range.slice()), - (l.yaxis._r = l.yaxis.range.slice()), - (i = r[c] ? r[c].to : f), - (a = r[u] ? r[u].to : h), - (f[0] === i[0] && - f[1] === i[1] && - h[0] === a[0] && - h[1] === a[1]) || - (-1 === e.indexOf(c) && -1 === e.indexOf(u)) || - s.push(l)); - } - } - return s; - })(c, m, g); - if (!v.length) - return ( - (function () { - function e(e, r, n) { - for (var i = 0; i < e.length; i++) if ((r(t, i), n)) return; - } - (e( - c.annotations || [], - i.getComponentMethod("annotations", "drawOne"), - ), - e(c.shapes || [], i.getComponentMethod("shapes", "drawOne")), - e(c.images || [], i.getComponentMethod("images", "draw"), !0)); - })(), - !1 - ); - function y(t) { - var e = t.xaxis, - r = t.yaxis; - (c._defs - .select("#" + t.clipId + "> rect") - .call(a.setTranslate, 0, 0) - .call(a.setScale, 1, 1), - t.plot - .call(a.setTranslate, e._offset, r._offset) - .call(a.setScale, 1, 1)); - var n = t.plot.selectAll(".scatterlayer .trace"); - (n.selectAll(".point").call(a.setPointGroupScale, 1, 1), - n.selectAll(".textpoint").call(a.setTextPointsScale, 1, 1), - n.call(a.hideOutsideRangePoints, t)); - } - function x(e, r) { - var n, - s, - l, - u = g[e.xaxis._id], - f = g[e.yaxis._id], - h = []; - if (u) { - ((s = (n = t._fullLayout[u.axisName])._r), - (l = u.to), - (h[0] = - ((s[0] * (1 - r) + r * l[0] - s[0]) / (s[1] - s[0])) * - e.xaxis._length)); - var p = s[1] - s[0], - d = l[1] - l[0]; - ((n.range[0] = s[0] * (1 - r) + r * l[0]), - (n.range[1] = s[1] * (1 - r) + r * l[1]), - (h[2] = e.xaxis._length * (1 - r + (r * d) / p))); - } else ((h[0] = 0), (h[2] = e.xaxis._length)); - if (f) { - ((s = (n = t._fullLayout[f.axisName])._r), - (l = f.to), - (h[1] = - ((s[1] * (1 - r) + r * l[1] - s[1]) / (s[0] - s[1])) * - e.yaxis._length)); - var m = s[1] - s[0], - v = l[1] - l[0]; - ((n.range[0] = s[0] * (1 - r) + r * l[0]), - (n.range[1] = s[1] * (1 - r) + r * l[1]), - (h[3] = e.yaxis._length * (1 - r + (r * v) / m))); - } else ((h[1] = 0), (h[3] = e.yaxis._length)); - !(function (e, r) { - var n, - a = []; - for (a = [e._id, r._id], n = 0; n < a.length; n++) - o.doTicks(t, a[n], !0); - function s(e, r, i) { - for (n = 0; n < e.length; n++) { - var o = e[n]; - if ( - ((-1 === a.indexOf(o.xref) && -1 === a.indexOf(o.yref)) || - r(t, n), - i) - ) - return; - } - } - (s(c.annotations || [], i.getComponentMethod("annotations", "drawOne")), - s(c.shapes || [], i.getComponentMethod("shapes", "drawOne")), - s(c.images || [], i.getComponentMethod("images", "draw"), !0)); - })(e.xaxis, e.yaxis); - var y = e.xaxis, - x = e.yaxis, - b = !!u, - _ = !!f, - w = b ? y._length / h[2] : 1, - k = _ ? x._length / h[3] : 1, - M = b ? h[0] : 0, - A = _ ? h[1] : 0, - T = b ? (h[0] / h[2]) * y._length : 0, - S = _ ? (h[1] / h[3]) * x._length : 0, - C = y._offset - T, - E = x._offset - S; - (e.clipRect.call(a.setTranslate, M, A).call(a.setScale, 1 / w, 1 / k), - e.plot - .call(a.setTranslate, C, E) - .call(a.setScale, w, k) - .selectAll(".points") - .selectAll(".point") - .call(a.setPointGroupScale, 1 / w, 1 / k), - e.plot - .selectAll(".points") - .selectAll(".textpoint") - .call(a.setTextPointsScale, 1 / w, 1 / k)); - } - l && (f = l()); - var b = n.ease(r.easing); - return ( - t._transitionData._interruptCallbacks.push(function () { - return ( - window.cancelAnimationFrame(d), - (d = null), - (function () { - for (var e = {}, r = 0; r < m.length; r++) { - var n = t._fullLayout[m[r] + "axis"]; - ((e[n._name + ".range[0]"] = n.range[0]), - (e[n._name + ".range[1]"] = n.range[1]), - (n.range = n._r.slice())); - } - return i.call("relayout", t, e).then(function () { - for (var t = 0; t < v.length; t++) y(v[t]); - }); - })() - ); - }), - (h = Date.now()), - (d = window.requestAnimationFrame(function e() { - p = Date.now(); - for ( - var n = Math.min(1, (p - h) / r.duration), a = b(n), o = 0; - o < v.length; - o++ - ) - x(v[o], a); - p - h > r.duration - ? ((function () { - for (var e = {}, r = 0; r < m.length; r++) { - var n = t._fullLayout[g[m[r]].axisName], - a = g[m[r]].to; - ((e[n._name + ".range[0]"] = a[0]), - (e[n._name + ".range[1]"] = a[1]), - (n.range = a.slice())); - } - (f && f(), - i.call("relayout", t, e).then(function () { - for (var t = 0; t < v.length; t++) y(v[t]); - })); - })(), - (d = window.cancelAnimationFrame(e))) - : (d = window.requestAnimationFrame(e)); - })), - Promise.resolve() - ); - }; - }, - { - "../../components/drawing": 499, - "../../registry": 732, - "./axes": 648, - "./constants": 653, - d3: 130, - }, - ], - 671: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("./axis_autotype"), - a = t("./axis_ids").name2id; - function o(t) { - return { v: "x", h: "y" }[t.orientation || "v"]; - } - function s(t, e) { - var r = o(t), - i = n.traceIs(t, "box-violin"), - a = n.traceIs(t._fullInput || {}, "candlestick"); - return i && !a && e === r && void 0 === t[r] && void 0 === t[r + "0"]; - } - e.exports = function (t, e, r, l, c) { - (c && ((e._name = c), (e._id = a(c))), - "-" === r("type") && - (!(function (t, e) { - if ("-" !== t.type) return; - var r = t._id, - a = r.charAt(0); - -1 !== r.indexOf("scene") && (r = a); - var l = (function (t, e, r) { - for (var n = 0; n < t.length; n++) { - var i = t[n]; - if ("splom" === i.type && i._length > 0 && i["_" + r + "axes"][e]) - return i; - if ((i[r + "axis"] || r) === e) { - if (s(i, r)) return i; - if ((i[r] || []).length || i[r + "0"]) return i; - } - } - })(e, r, a); - if (!l) return; - if ( - "histogram" === l.type && - a === { v: "y", h: "x" }[l.orientation || "v"] - ) - return void (t.type = "linear"); - var c, - u = a + "calendar", - f = l[u]; - if (s(l, a)) { - var h = o(l), - p = []; - for (c = 0; c < e.length; c++) { - var d = e[c]; - n.traceIs(d, "box-violin") && - (d[a + "axis"] || a) === r && - (void 0 !== d[h] - ? p.push(d[h][0]) - : void 0 !== d.name - ? p.push(d.name) - : p.push("text"), - d[u] !== f && (f = void 0)); - } - t.type = i(p, f); - } else if ("splom" === l.type) { - var g = l.dimensions; - for (c = 0; c < g.length; c++) { - var m = g[c]; - if (m.visible) { - t.type = i(m.values, f); - break; - } - } - } else t.type = i(l[a] || [l[a + "0"]], f); - })(e, l), - "-" === e.type ? (e.type = "linear") : (t.type = e.type))); - }; - }, - { "../../registry": 732, "./axis_autotype": 649, "./axis_ids": 651 }, - ], - 672: [ - function (t, e, r) { - "use strict"; - var n = t("../registry"), - i = t("../lib"); - function a(t, e, r) { - var n, - a, - o, - s = !1; - if ("data" === e.type) n = t._fullData[null !== e.traces ? e.traces[0] : 0]; - else { - if ("layout" !== e.type) return !1; - n = t._fullLayout; - } - return ( - (a = i.nestedProperty(n, e.prop).get()), - (o = r[e.type] = r[e.type] || {}).hasOwnProperty(e.prop) && - o[e.prop] !== a && - (s = !0), - (o[e.prop] = a), - { changed: s, value: a } - ); - } - function o(t, e) { - var r = [], - n = e[0], - a = {}; - if ("string" == typeof n) a[n] = e[1]; - else { - if (!i.isPlainObject(n)) return r; - a = n; - } - return ( - l( - a, - function (t, e, n) { - r.push({ type: "layout", prop: t, value: n }); - }, - "", - 0, - ), - r - ); - } - function s(t, e) { - var r, - n, - a, - o, - s = []; - if (((n = e[0]), (a = e[1]), (r = e[2]), (o = {}), "string" == typeof n)) - o[n] = a; - else { - if (!i.isPlainObject(n)) return s; - ((o = n), void 0 === r && (r = a)); - } - return ( - void 0 === r && (r = null), - l( - o, - function (e, n, i) { - var a; - if (Array.isArray(i)) { - var o = Math.min(i.length, t.data.length); - (r && (o = Math.min(o, r.length)), (a = [])); - for (var l = 0; l < o; l++) a[l] = r ? r[l] : l; - } else a = r ? r.slice(0) : null; - if (null === a) Array.isArray(i) && (i = i[0]); - else if (Array.isArray(a)) { - if (!Array.isArray(i)) { - var c = i; - i = []; - for (var u = 0; u < a.length; u++) i[u] = c; - } - i.length = Math.min(a.length, i.length); - } - s.push({ type: "data", prop: e, traces: a, value: i }); - }, - "", - 0, - ), - s - ); - } - function l(t, e, r, n) { - Object.keys(t).forEach(function (a) { - var o = t[a]; - if ("_" !== a[0]) { - var s = r + (n > 0 ? "." : "") + a; - i.isPlainObject(o) ? l(o, e, s, n + 1) : e(s, a, o); - } - }); - } - ((r.manageCommandObserver = function (t, e, n, o) { - var s = {}, - l = !0; - (e && e._commandObserver && (s = e._commandObserver), - s.cache || (s.cache = {}), - (s.lookupTable = {})); - var c = r.hasSimpleAPICommandBindings(t, n, s.lookupTable); - if (e && e._commandObserver) { - if (c) return s; - if (e._commandObserver.remove) - return (e._commandObserver.remove(), (e._commandObserver = null), s); - } - if (c) { - (a(t, c, s.cache), - (s.check = function () { - if (l) { - var e = a(t, c, s.cache); - return ( - e.changed && - o && - void 0 !== s.lookupTable[e.value] && - (s.disable(), - Promise.resolve( - o({ - value: e.value, - type: c.type, - prop: c.prop, - traces: c.traces, - index: s.lookupTable[e.value], - }), - ).then(s.enable, s.enable)), - e.changed - ); - } - })); - for ( - var u = [ - "plotly_relayout", - "plotly_redraw", - "plotly_restyle", - "plotly_update", - "plotly_animatingframe", - "plotly_afterplot", - ], - f = 0; - f < u.length; - f++ - ) - t._internalOn(u[f], s.check); - s.remove = function () { - for (var e = 0; e < u.length; e++) - t._removeInternalListener(u[e], s.check); - }; - } else - (i.log("Unable to automatically bind plot updates to API command"), - (s.lookupTable = {}), - (s.remove = function () {})); - return ( - (s.disable = function () { - l = !1; - }), - (s.enable = function () { - l = !0; - }), - e && (e._commandObserver = s), - s - ); - }), - (r.hasSimpleAPICommandBindings = function (t, e, n) { - var i, - a, - o = e.length; - for (i = 0; i < o; i++) { - var s, - l = e[i], - c = l.method, - u = l.args; - if ((Array.isArray(u) || (u = []), !c)) return !1; - var f = r.computeAPICommandBindings(t, c, u); - if (1 !== f.length) return !1; - if (a) { - if ((s = f[0]).type !== a.type) return !1; - if (s.prop !== a.prop) return !1; - if (Array.isArray(a.traces)) { - if (!Array.isArray(s.traces)) return !1; - s.traces.sort(); - for (var h = 0; h < a.traces.length; h++) - if (a.traces[h] !== s.traces[h]) return !1; - } else if (s.prop !== a.prop) return !1; - } else ((a = f[0]), Array.isArray(a.traces) && a.traces.sort()); - var p = (s = f[0]).value; - if (Array.isArray(p)) { - if (1 !== p.length) return !1; - p = p[0]; - } - n && (n[p] = i); - } - return a; - }), - (r.executeAPICommand = function (t, e, r) { - if ("skip" === e) return Promise.resolve(); - var a = n.apiMethodRegistry[e], - o = [t]; - Array.isArray(r) || (r = []); - for (var s = 0; s < r.length; s++) o.push(r[s]); - return a.apply(null, o).catch(function (t) { - return ( - i.warn("API call to Plotly." + e + " rejected.", t), - Promise.reject(t) - ); - }); - }), - (r.computeAPICommandBindings = function (t, e, r) { - var n; - switch ((Array.isArray(r) || (r = []), e)) { - case "restyle": - n = s(t, r); - break; - case "relayout": - n = o(t, r); - break; - case "update": - n = s(t, [r[0], r[2]]).concat(o(t, [r[1]])); - break; - case "animate": - n = (function (t, e) { - return Array.isArray(e[0]) && - 1 === e[0].length && - -1 !== ["string", "number"].indexOf(typeof e[0][0]) - ? [ - { - type: "layout", - prop: "_currentFrame", - value: e[0][0].toString(), - }, - ] - : []; - })(0, r); - break; - default: - n = []; - } - return n; - })); - }, - { "../lib": 602, "../registry": 732 }, - ], - 673: [ - function (t, e, r) { - "use strict"; - var n = t("../lib/extend").extendFlat; - ((r.attributes = function (t, e) { - ((t = t || {}), (e = e || {})); - var r = { - valType: "info_array", - editType: t.editType, - items: [ - { valType: "number", min: 0, max: 1, editType: t.editType }, - { valType: "number", min: 0, max: 1, editType: t.editType }, - ], - dflt: [0, 1], - }, - i = - (t.name && t.name, - t.trace, - e.description && e.description, - { x: n({}, r, {}), y: n({}, r, {}), editType: t.editType }); - return ( - t.noGridCell || - ((i.row = { - valType: "integer", - min: 0, - dflt: 0, - editType: t.editType, - }), - (i.column = { - valType: "integer", - min: 0, - dflt: 0, - editType: t.editType, - })), - i - ); - }), - (r.defaults = function (t, e, r, n) { - var i = (n && n.x) || [0, 1], - a = (n && n.y) || [0, 1], - o = e.grid; - if (o) { - var s = r("domain.column"); - void 0 !== s && - (s < o.columns ? (i = o._domains.x[s]) : delete t.domain.column); - var l = r("domain.row"); - void 0 !== l && - (l < o.rows ? (a = o._domains.y[l]) : delete t.domain.row); - } - (r("domain.x", i), r("domain.y", a)); - })); - }, - { "../lib/extend": 591 }, - ], - 674: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - var e = t.editType, - r = t.colorEditType; - void 0 === r && (r = e); - var n = { - family: { valType: "string", noBlank: !0, strict: !0, editType: e }, - size: { valType: "number", min: 1, editType: e }, - color: { valType: "color", editType: r }, - editType: e, - }; - return ( - t.arrayOk && - ((n.family.arrayOk = !0), - (n.size.arrayOk = !0), - (n.color.arrayOk = !0)), - n - ); - }; - }, - {}, - ], - 675: [ - function (t, e, r) { - "use strict"; - e.exports = { - _isLinkedToArray: "frames_entry", - group: { valType: "string" }, - name: { valType: "string" }, - traces: { valType: "any" }, - baseframe: { valType: "string" }, - data: { valType: "any" }, - layout: { valType: "any" }, - }; - }, - {}, - ], - 676: [ - function (t, e, r) { - "use strict"; - ((r.projNames = { - equirectangular: "equirectangular", - mercator: "mercator", - orthographic: "orthographic", - "natural earth": "naturalEarth", - kavrayskiy7: "kavrayskiy7", - miller: "miller", - robinson: "robinson", - eckert4: "eckert4", - "azimuthal equal area": "azimuthalEqualArea", - "azimuthal equidistant": "azimuthalEquidistant", - "conic equal area": "conicEqualArea", - "conic conformal": "conicConformal", - "conic equidistant": "conicEquidistant", - gnomonic: "gnomonic", - stereographic: "stereographic", - mollweide: "mollweide", - hammer: "hammer", - "transverse mercator": "transverseMercator", - "albers usa": "albersUsa", - "winkel tripel": "winkel3", - aitoff: "aitoff", - sinusoidal: "sinusoidal", - }), - (r.axesNames = ["lonaxis", "lataxis"]), - (r.lonaxisSpan = { - orthographic: 180, - "azimuthal equal area": 360, - "azimuthal equidistant": 360, - "conic conformal": 180, - gnomonic: 160, - stereographic: 180, - "transverse mercator": 180, - "*": 360, - }), - (r.lataxisSpan = { - "conic conformal": 150, - stereographic: 179.5, - "*": 180, - }), - (r.scopeDefaults = { - world: { - lonaxisRange: [-180, 180], - lataxisRange: [-90, 90], - projType: "equirectangular", - projRotate: [0, 0, 0], - }, - usa: { - lonaxisRange: [-180, -50], - lataxisRange: [15, 80], - projType: "albers usa", - }, - europe: { - lonaxisRange: [-30, 60], - lataxisRange: [30, 85], - projType: "conic conformal", - projRotate: [15, 0, 0], - projParallels: [0, 60], - }, - asia: { - lonaxisRange: [22, 160], - lataxisRange: [-15, 55], - projType: "mercator", - projRotate: [0, 0, 0], - }, - africa: { - lonaxisRange: [-30, 60], - lataxisRange: [-40, 40], - projType: "mercator", - projRotate: [0, 0, 0], - }, - "north america": { - lonaxisRange: [-180, -45], - lataxisRange: [5, 85], - projType: "conic conformal", - projRotate: [-100, 0, 0], - projParallels: [29.5, 45.5], - }, - "south america": { - lonaxisRange: [-100, -30], - lataxisRange: [-60, 15], - projType: "mercator", - projRotate: [0, 0, 0], - }, - }), - (r.clipPad = 0.001), - (r.precision = 0.1), - (r.landColor = "#F0DC82"), - (r.waterColor = "#3399FF"), - (r.locationmodeToLayer = { - "ISO-3": "countries", - "USA-states": "subunits", - "country names": "countries", - }), - (r.sphereSVG = { type: "Sphere" }), - (r.fillLayers = { ocean: 1, land: 1, lakes: 1 }), - (r.lineLayers = { - subunits: 1, - countries: 1, - coastlines: 1, - rivers: 1, - frame: 1, - }), - (r.layers = [ - "bg", - "ocean", - "land", - "lakes", - "subunits", - "countries", - "coastlines", - "rivers", - "lataxis", - "lonaxis", - "frame", - "backplot", - "frontplot", - ]), - (r.layersForChoropleth = [ - "bg", - "ocean", - "land", - "subunits", - "countries", - "coastlines", - "lataxis", - "lonaxis", - "frame", - "backplot", - "rivers", - "lakes", - "frontplot", - ]), - (r.layerNameToAdjective = { - ocean: "ocean", - land: "land", - lakes: "lake", - subunits: "subunit", - countries: "country", - coastlines: "coastline", - rivers: "river", - frame: "frame", - })); - }, - {}, - ], - 677: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../lib"), - o = t("../../components/color"), - s = t("../../components/drawing"), - l = t("../../components/fx"), - c = t("../plots"), - u = t("../cartesian/axes"), - f = t("../../components/dragelement"), - h = t("../cartesian/select").prepSelect, - p = t("./zoom"), - d = t("./constants"), - g = t("../../lib/topojson_utils"), - m = t("topojson-client").feature; - function v(t) { - ((this.id = t.id), - (this.graphDiv = t.graphDiv), - (this.container = t.container), - (this.topojsonURL = t.topojsonURL), - (this.isStatic = t.staticPlot), - (this.topojsonName = null), - (this.topojson = null), - (this.projection = null), - (this.viewInitial = null), - (this.fitScale = null), - (this.bounds = null), - (this.midPt = null), - (this.hasChoropleth = !1), - (this.traceHash = {}), - (this.layers = {}), - (this.basePaths = {}), - (this.dataPaths = {}), - (this.dataPoints = {}), - (this.clipDef = null), - (this.clipRect = null), - (this.bgRect = null), - this.makeFramework()); - } - t("./projections")(n); - var y = v.prototype; - ((e.exports = function (t) { - return new v(t); - }), - (y.plot = function (t, e, r) { - var n = this, - i = e[this.id], - a = g.getTopojsonName(i); - null === n.topojson || a !== n.topojsonName - ? ((n.topojsonName = a), - void 0 === PlotlyGeoAssets.topojson[n.topojsonName] - ? r.push( - n.fetchTopojson().then(function (r) { - ((PlotlyGeoAssets.topojson[n.topojsonName] = r), - (n.topojson = r), - n.update(t, e)); - }), - ) - : ((n.topojson = PlotlyGeoAssets.topojson[n.topojsonName]), - n.update(t, e))) - : n.update(t, e); - }), - (y.fetchTopojson = function () { - var t = g.getTopojsonPath(this.topojsonURL, this.topojsonName); - return new Promise(function (e, r) { - n.json(t, function (n, i) { - if (n) - return 404 === n.status - ? r( - new Error( - [ - "plotly.js could not find topojson file at", - t, - ".", - "Make sure the *topojsonURL* plot config option", - "is set properly.", - ].join(" "), - ), - ) - : r( - new Error( - [ - "unexpected error while fetching topojson file at", - t, - ].join(" "), - ), - ); - e(i); - }); - }); - }), - (y.update = function (t, e) { - var r = e[this.id]; - if (!this.updateProjection(e, r)) { - this.hasChoropleth = !1; - for (var n = 0; n < t.length; n++) - if ("choropleth" === t[n][0].trace.type) { - this.hasChoropleth = !0; - break; - } - (this.viewInitial || this.saveViewInitial(r), - this.updateBaseLayers(e, r), - this.updateDims(e, r), - this.updateFx(e, r), - c.generalUpdatePerTraceModule(this.graphDiv, this, t, r)); - var i = this.layers.frontplot.select(".scatterlayer"); - ((this.dataPoints.point = i.selectAll(".point")), - (this.dataPoints.text = i.selectAll("text")), - (this.dataPaths.line = i.selectAll(".js-line"))); - var a = this.layers.backplot.select(".choroplethlayer"); - ((this.dataPaths.choropleth = a.selectAll("path")), this.render()); - } - }), - (y.updateProjection = function (t, e) { - var r = t._size, - o = e.domain, - s = e.projection, - l = s.rotation || {}, - c = e.center || {}, - u = (this.projection = (function (t) { - for ( - var e = t.projection.type, - r = n.geo[d.projNames[e]](), - i = t._isClipped ? d.lonaxisSpan[e] / 2 : null, - a = ["center", "rotate", "parallels", "clipExtent"], - o = function (t) { - return t ? r : []; - }, - s = 0; - s < a.length; - s++ - ) { - var l = a[s]; - "function" != typeof r[l] && (r[l] = o); - } - ((r.isLonLatOverEdges = function (t) { - if (null === r(t)) return !0; - if (i) { - var e = r.rotate(); - return n.geo.distance(t, [-e[0], -e[1]]) > (i * Math.PI) / 180; - } - return !1; - }), - (r.getPath = function () { - return n.geo.path().projection(r); - }), - (r.getBounds = function (t) { - return r.getPath().bounds(t); - }), - (r.fitExtent = function (t, e) { - var n = t[1][0] - t[0][0], - i = t[1][1] - t[0][1], - a = r.clipExtent && r.clipExtent(); - (r.scale(150).translate([0, 0]), a && r.clipExtent(null)); - var o = r.getBounds(e), - s = Math.min(n / (o[1][0] - o[0][0]), i / (o[1][1] - o[0][1])), - l = +t[0][0] + (n - s * (o[1][0] + o[0][0])) / 2, - c = +t[0][1] + (i - s * (o[1][1] + o[0][1])) / 2; - return (a && r.clipExtent(a), r.scale(150 * s).translate([l, c])); - }), - r.precision(d.precision), - i && r.clipAngle(i - d.clipPad)); - return r; - })(e)); - u.center([c.lon - l.lon, c.lat - l.lat]) - .rotate([-l.lon, -l.lat, l.roll]) - .parallels(s.parallels); - var f = [ - [r.l + r.w * o.x[0], r.t + r.h * (1 - o.y[1])], - [r.l + r.w * o.x[1], r.t + r.h * (1 - o.y[0])], - ], - h = e.lonaxis, - p = e.lataxis, - g = (function (t, e) { - var r = d.clipPad, - n = t[0] + r, - i = t[1] - r, - a = e[0] + r, - o = e[1] - r; - n > 0 && i < 0 && (i += 360); - var s = (i - n) / 4; - return { - type: "Polygon", - coordinates: [ - [ - [n, a], - [n, o], - [n + s, o], - [n + 2 * s, o], - [n + 3 * s, o], - [i, o], - [i, a], - [i - s, a], - [i - 2 * s, a], - [i - 3 * s, a], - [n, a], - ], - ], - }; - })(h.range, p.range); - u.fitExtent(f, g); - var m = (this.bounds = u.getBounds(g)), - v = (this.fitScale = u.scale()), - y = u.translate(); - if ( - !isFinite(m[0][0]) || - !isFinite(m[0][1]) || - !isFinite(m[1][0]) || - !isFinite(m[1][1]) || - isNaN(y[0]) || - isNaN(y[0]) - ) { - for ( - var x = this.graphDiv, - b = [ - "projection.rotation", - "center", - "lonaxis.range", - "lataxis.range", - ], - _ = "Invalid geo settings, relayout'ing to default view.", - w = {}, - k = 0; - k < b.length; - k++ - ) - w[this.id + "." + b[k]] = null; - return ( - (this.viewInitial = null), - a.warn(_), - x._promises.push(i.call("relayout", x, w)), - _ - ); - } - var M = (this.midPt = [(m[0][0] + m[1][0]) / 2, (m[0][1] + m[1][1]) / 2]); - if ( - (u - .scale(s.scale * v) - .translate([y[0] + (M[0] - y[0]), y[1] + (M[1] - y[1])]) - .clipExtent(m), - e._isAlbersUsa) - ) { - var A = u([c.lon, c.lat]), - T = u.translate(); - u.translate([T[0] - (A[0] - T[0]), T[1] - (A[1] - T[1])]); - } - }), - (y.updateBaseLayers = function (t, e) { - var r = this, - i = r.topojson, - a = r.layers, - l = r.basePaths; - function c(t) { - return "lonaxis" === t || "lataxis" === t; - } - function u(t) { - return Boolean(d.lineLayers[t]); - } - function f(t) { - return Boolean(d.fillLayers[t]); - } - var h = (this.hasChoropleth ? d.layersForChoropleth : d.layers).filter( - function (t) { - return u(t) || f(t) ? e["show" + t] : !c(t) || e[t].showgrid; - }, - ), - p = r.framework.selectAll(".layer").data(h, String); - (p.exit().each(function (t) { - (delete a[t], delete l[t], n.select(this).remove()); - }), - p - .enter() - .append("g") - .attr("class", function (t) { - return "layer " + t; - }) - .each(function (t) { - var e = (a[t] = n.select(this)); - "bg" === t - ? (r.bgRect = e.append("rect").style("pointer-events", "all")) - : c(t) - ? (l[t] = e.append("path").style("fill", "none")) - : "backplot" === t - ? e.append("g").classed("choroplethlayer", !0) - : "frontplot" === t - ? e.append("g").classed("scatterlayer", !0) - : u(t) - ? (l[t] = e - .append("path") - .style("fill", "none") - .style("stroke-miterlimit", 2)) - : f(t) && - (l[t] = e.append("path").style("stroke", "none")); - }), - p.order(), - p.each(function (t) { - var r = l[t], - a = d.layerNameToAdjective[t]; - ("frame" === t - ? r.datum(d.sphereSVG) - : u(t) || f(t) - ? r.datum(m(i, i.objects[t])) - : c(t) && - r - .datum( - (function (t, e) { - var r = e[t].dtick, - i = d.scopeDefaults[e.scope], - a = i.lonaxisRange, - o = i.lataxisRange, - s = "lonaxis" === t ? [r] : [0, r]; - return n.geo - .graticule() - .extent([ - [a[0], o[0]], - [a[1], o[1]], - ]) - .step(s); - })(t, e), - ) - .call(o.stroke, e[t].gridcolor) - .call(s.dashLine, "", e[t].gridwidth), - u(t) - ? r - .call(o.stroke, e[a + "color"]) - .call(s.dashLine, "", e[a + "width"]) - : f(t) && r.call(o.fill, e[a + "color"])); - })); - }), - (y.updateDims = function (t, e) { - var r = this.bounds, - n = (e.framewidth || 0) / 2, - i = r[0][0] - n, - a = r[0][1] - n, - l = r[1][0] - i + n, - c = r[1][1] - a + n; - (s.setRect(this.clipRect, i, a, l, c), - this.bgRect.call(s.setRect, i, a, l, c).call(o.fill, e.bgcolor), - (this.xaxis._offset = i), - (this.xaxis._length = l), - (this.yaxis._offset = a), - (this.yaxis._length = c)); - }), - (y.updateFx = function (t, e) { - var r = this, - a = r.graphDiv, - o = r.bgRect, - s = t.dragmode; - if (!r.isStatic) { - if ("pan" === s) - ((o.node().onmousedown = null), - o.call(p(r, e)), - o.on("dblclick.zoom", function () { - var t = r.viewInitial, - e = {}; - for (var n in t) e[r.id + "." + n] = t[n]; - (i.call("relayout", a, e), a.emit("plotly_doubleclick", null)); - })); - else if ("select" === s || "lasso" === s) { - var c; - (o.on(".zoom", null), - "select" === s - ? (c = function (t, e) { - (t.range = {})[r.id] = [ - d([e.xmin, e.ymin]), - d([e.xmax, e.ymax]), - ]; - }) - : "lasso" === s && - (c = function (t, e, n) { - (t.lassoPoints = {})[r.id] = n.filtered.map(d); - })); - var u = { - element: r.bgRect.node(), - gd: a, - plotinfo: { xaxis: r.xaxis, yaxis: r.yaxis, fillRangeItems: c }, - xaxes: [r.xaxis], - yaxes: [r.yaxis], - subplot: r.id, - clickFn: function (e) { - 2 === e && t._zoomlayer.selectAll(".select-outline").remove(); - }, - prepFn: function (t, e, r) { - h(t, e, r, u, s); - }, - }; - f.init(u); - } - (o.on("mousemove", function () { - var t = r.projection.invert(n.mouse(this)); - if (!t || isNaN(t[0]) || isNaN(t[1])) return f.unhover(a, n.event); - ((r.xaxis.p2c = function () { - return t[0]; - }), - (r.yaxis.p2c = function () { - return t[1]; - }), - l.hover(a, n.event, r.id)); - }), - o.on("mouseout", function () { - f.unhover(a, n.event); - }), - o.on("click", function () { - l.click(a, n.event); - })); - } - function d(t) { - return r.projection.invert([ - t[0] + r.xaxis._offset, - t[1] + r.yaxis._offset, - ]); - } - }), - (y.makeFramework = function () { - var t = this, - e = t.graphDiv._fullLayout, - r = "clip" + e._uid + t.id; - ((t.clipDef = e._clips.append("clipPath").attr("id", r)), - (t.clipRect = t.clipDef.append("rect")), - (t.framework = n - .select(t.container) - .append("g") - .attr("class", "geo " + t.id) - .call(s.setClipUrl, r)), - (t.project = function (e) { - var r = t.projection(e); - return r - ? [r[0] - t.xaxis._offset, r[1] - t.yaxis._offset] - : [null, null]; - }), - (t.xaxis = { - _id: "x", - c2p: function (e) { - return t.project(e)[0]; - }, - }), - (t.yaxis = { - _id: "y", - c2p: function (e) { - return t.project(e)[1]; - }, - }), - (t.mockAxis = { - type: "linear", - showexponent: "all", - exponentformat: "B", - }), - u.setConvert(t.mockAxis, e)); - }), - (y.saveViewInitial = function (t) { - var e = t.center || {}, - r = t.projection, - n = r.rotation || {}; - t._isScoped - ? (this.viewInitial = { - "center.lon": e.lon, - "center.lat": e.lat, - "projection.scale": r.scale, - }) - : t._isClipped - ? (this.viewInitial = { - "projection.scale": r.scale, - "projection.rotation.lon": n.lon, - "projection.rotation.lat": n.lat, - }) - : (this.viewInitial = { - "center.lon": e.lon, - "center.lat": e.lat, - "projection.scale": r.scale, - "projection.rotation.lon": n.lon, - }); - }), - (y.render = function () { - var t, - e = this.projection, - r = e.getPath(); - function n(t) { - var r = e(t.lonlat); - return r ? "translate(" + r[0] + "," + r[1] + ")" : null; - } - function i(t) { - return e.isLonLatOverEdges(t.lonlat) ? "none" : null; - } - for (t in this.basePaths) this.basePaths[t].attr("d", r); - for (t in this.dataPaths) - this.dataPaths[t].attr("d", function (t) { - return r(t.geojson); - }); - for (t in this.dataPoints) - this.dataPoints[t].attr("display", i).attr("transform", n); - })); - }, - { - "../../components/color": 474, - "../../components/dragelement": 496, - "../../components/drawing": 499, - "../../components/fx": 516, - "../../lib": 602, - "../../lib/topojson_utils": 629, - "../../registry": 732, - "../cartesian/axes": 648, - "../cartesian/select": 665, - "../plots": 710, - "./constants": 676, - "./projections": 682, - "./zoom": 683, - d3: 130, - "topojson-client": 418, - }, - ], - 678: [ - function (t, e, r) { - "use strict"; - var n = t("./geo"), - i = t("../../plots/get_data").getSubplotCalcData, - a = t("../../lib").counterRegex, - o = "geo"; - ((r.name = o), - (r.attr = o), - (r.idRoot = o), - (r.idRegex = r.attrRegex = a(o)), - (r.attributes = t("./layout/attributes")), - (r.layoutAttributes = t("./layout/layout_attributes")), - (r.supplyLayoutDefaults = t("./layout/defaults")), - (r.plot = function (t) { - var e = t._fullLayout, - r = t.calcdata, - a = e._subplots.geo; - void 0 === window.PlotlyGeoAssets && - (window.PlotlyGeoAssets = { topojson: {} }); - for (var s = 0; s < a.length; s++) { - var l = a[s], - c = i(r, o, l), - u = e[l]._subplot; - (u || - ((u = n({ - id: l, - graphDiv: t, - container: e._geolayer.node(), - topojsonURL: t._context.topojsonURL, - staticPlot: t._context.staticPlot, - })), - (e[l]._subplot = u)), - u.plot(c, e, t._promises)); - } - }), - (r.clean = function (t, e, r, n) { - for (var i = n._subplots.geo || [], a = 0; a < i.length; a++) { - var o = i[a], - s = n[o]._subplot; - !e[o] && s && (s.framework.remove(), s.clipDef.remove()); - } - }), - (r.updateFx = function (t) { - for (var e = t._subplots.geo, r = 0; r < e.length; r++) { - var n = t[e[r]]; - n._subplot.updateFx(t, n); - } - })); - }, - { - "../../lib": 602, - "../../plots/get_data": 684, - "./geo": 677, - "./layout/attributes": 679, - "./layout/defaults": 680, - "./layout/layout_attributes": 681, - }, - ], - 679: [ - function (t, e, r) { - "use strict"; - e.exports = { geo: { valType: "subplotid", dflt: "geo", editType: "calc" } }; - }, - {}, - ], - 680: [ - function (t, e, r) { - "use strict"; - var n = t("../../subplot_defaults"), - i = t("../constants"), - a = t("./layout_attributes"), - o = i.axesNames; - function s(t, e, r) { - var n = r("resolution"), - a = r("scope"), - s = i.scopeDefaults[a], - l = r("projection.type", s.projType), - c = (e._isAlbersUsa = "albers usa" === l); - c && (a = e.scope = "usa"); - var u = (e._isScoped = "world" !== a), - f = (e._isConic = -1 !== l.indexOf("conic")); - e._isClipped = !!i.lonaxisSpan[l]; - for (var h = 0; h < o.length; h++) { - var p, - d = o[h], - g = [30, 10][h]; - if (u) p = s[d + "Range"]; - else { - var m = i[d + "Span"], - v = (m[l] || m["*"]) / 2, - y = r("projection.rotation." + d.substr(0, 3), s.projRotate[h]); - p = [y - v, y + v]; - } - (r(d + ".tick0", r(d + ".range", p)[0]), - r(d + ".dtick", g), - r(d + ".showgrid") && (r(d + ".gridcolor"), r(d + ".gridwidth"))); - } - var x = e.lonaxis.range, - b = e.lataxis.range, - _ = x[0], - w = x[1]; - _ > 0 && w < 0 && (w += 360); - var k, - M, - A, - T = (_ + w) / 2; - if (!c) { - var S = u ? s.projRotate : [T, 0, 0]; - ((k = r("projection.rotation.lon", S[0])), - r("projection.rotation.lat", S[1]), - r("projection.rotation.roll", S[2]), - r("showcoastlines", !u) && (r("coastlinecolor"), r("coastlinewidth")), - r("showocean") && r("oceancolor")); - } - (c ? ((M = -96.6), (A = 38.7)) : ((M = u ? T : k), (A = (b[0] + b[1]) / 2)), - r("center.lon", M), - r("center.lat", A), - f) && r("projection.parallels", s.projParallels || [0, 60]); - (r("projection.scale"), - r("showland") && r("landcolor"), - r("showlakes") && r("lakecolor"), - r("showrivers") && (r("rivercolor"), r("riverwidth")), - r("showcountries", u && "usa" !== a) && - (r("countrycolor"), r("countrywidth")), - ("usa" === a || ("north america" === a && 50 === n)) && - (r("showsubunits", !0), r("subunitcolor"), r("subunitwidth")), - u || (r("showframe", !0) && (r("framecolor"), r("framewidth"))), - r("bgcolor")); - } - e.exports = function (t, e, r) { - n(t, e, r, { - type: "geo", - attributes: a, - handleDefaults: s, - partition: "y", - }); - }; - }, - { - "../../subplot_defaults": 724, - "../constants": 676, - "./layout_attributes": 681, - }, - ], - 681: [ - function (t, e, r) { - "use strict"; - var n = t("../../../components/color/attributes"), - i = t("../../domain").attributes, - a = t("../constants"), - o = t("../../../plot_api/edit_types").overrideAll, - s = { - range: { - valType: "info_array", - items: [{ valType: "number" }, { valType: "number" }], - }, - showgrid: { valType: "boolean", dflt: !1 }, - tick0: { valType: "number" }, - dtick: { valType: "number" }, - gridcolor: { valType: "color", dflt: n.lightLine }, - gridwidth: { valType: "number", min: 0, dflt: 1 }, - }; - e.exports = o( - { - domain: i({ name: "geo" }, {}), - resolution: { - valType: "enumerated", - values: [110, 50], - dflt: 110, - coerceNumber: !0, - }, - scope: { - valType: "enumerated", - values: Object.keys(a.scopeDefaults), - dflt: "world", - }, - projection: { - type: { valType: "enumerated", values: Object.keys(a.projNames) }, - rotation: { - lon: { valType: "number" }, - lat: { valType: "number" }, - roll: { valType: "number" }, - }, - parallels: { - valType: "info_array", - items: [{ valType: "number" }, { valType: "number" }], - }, - scale: { valType: "number", min: 0, dflt: 1 }, - }, - center: { lon: { valType: "number" }, lat: { valType: "number" } }, - showcoastlines: { valType: "boolean" }, - coastlinecolor: { valType: "color", dflt: n.defaultLine }, - coastlinewidth: { valType: "number", min: 0, dflt: 1 }, - showland: { valType: "boolean", dflt: !1 }, - landcolor: { valType: "color", dflt: a.landColor }, - showocean: { valType: "boolean", dflt: !1 }, - oceancolor: { valType: "color", dflt: a.waterColor }, - showlakes: { valType: "boolean", dflt: !1 }, - lakecolor: { valType: "color", dflt: a.waterColor }, - showrivers: { valType: "boolean", dflt: !1 }, - rivercolor: { valType: "color", dflt: a.waterColor }, - riverwidth: { valType: "number", min: 0, dflt: 1 }, - showcountries: { valType: "boolean" }, - countrycolor: { valType: "color", dflt: n.defaultLine }, - countrywidth: { valType: "number", min: 0, dflt: 1 }, - showsubunits: { valType: "boolean" }, - subunitcolor: { valType: "color", dflt: n.defaultLine }, - subunitwidth: { valType: "number", min: 0, dflt: 1 }, - showframe: { valType: "boolean" }, - framecolor: { valType: "color", dflt: n.defaultLine }, - framewidth: { valType: "number", min: 0, dflt: 1 }, - bgcolor: { valType: "color", dflt: n.background }, - lonaxis: s, - lataxis: s, - }, - "plot", - "from-root", - ); - }, - { - "../../../components/color/attributes": 473, - "../../../plot_api/edit_types": 633, - "../../domain": 673, - "../constants": 676, - }, - ], - 682: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - function e(t, e) { - return { - type: "Feature", - id: t.id, - properties: t.properties, - geometry: r(t.geometry, e), - }; - } - function r(e, n) { - if (!e) return null; - if ("GeometryCollection" === e.type) - return { - type: "GeometryCollection", - geometries: object.geometries.map(function (t) { - return r(t, n); - }), - }; - if (!c.hasOwnProperty(e.type)) return null; - var i = c[e.type]; - return (t.geo.stream(e, n(i)), i.result()); - } - t.geo.project = function (t, e) { - var i = e.stream; - if (!i) throw new Error("not yet supported"); - return (t && n.hasOwnProperty(t.type) ? n[t.type] : r)(t, i); - }; - var n = { - Feature: e, - FeatureCollection: function (t, r) { - return { - type: "FeatureCollection", - features: t.features.map(function (t) { - return e(t, r); - }), - }; - }, - }, - i = [], - a = [], - o = { - point: function (t, e) { - i.push([t, e]); - }, - result: function () { - var t = i.length - ? i.length < 2 - ? { type: "Point", coordinates: i[0] } - : { type: "MultiPoint", coordinates: i } - : null; - return ((i = []), t); - }, - }, - s = { - lineStart: u, - point: function (t, e) { - i.push([t, e]); - }, - lineEnd: function () { - i.length && (a.push(i), (i = [])); - }, - result: function () { - var t = a.length - ? a.length < 2 - ? { type: "LineString", coordinates: a[0] } - : { type: "MultiLineString", coordinates: a } - : null; - return ((a = []), t); - }, - }, - l = { - polygonStart: u, - lineStart: u, - point: function (t, e) { - i.push([t, e]); - }, - lineEnd: function () { - var t = i.length; - if (t) { - do { - i.push(i[0].slice()); - } while (++t < 4); - (a.push(i), (i = [])); - } - }, - polygonEnd: u, - result: function () { - if (!a.length) return null; - var t = [], - e = []; - return ( - a.forEach(function (r) { - !(function (t) { - if ((e = t.length) < 4) return !1; - for ( - var e, - r = 0, - n = t[e - 1][1] * t[0][0] - t[e - 1][0] * t[0][1]; - ++r < e; - - ) - n += t[r - 1][1] * t[r][0] - t[r - 1][0] * t[r][1]; - return n <= 0; - })(r) - ? e.push(r) - : t.push([r]); - }), - e.forEach(function (e) { - var r = e[0]; - t.some(function (t) { - if ( - (function (t, e) { - for ( - var r = e[0], - n = e[1], - i = !1, - a = 0, - o = t.length, - s = o - 1; - a < o; - s = a++ - ) { - var l = t[a], - c = l[0], - u = l[1], - f = t[s], - h = f[0], - p = f[1]; - (u > n) ^ (p > n) && - r < ((h - c) * (n - u)) / (p - u) + c && - (i = !i); - } - return i; - })(t[0], r) - ) - return (t.push(e), !0); - }) || t.push([e]); - }), - (a = []), - t.length - ? t.length > 1 - ? { type: "MultiPolygon", coordinates: t } - : { type: "Polygon", coordinates: t[0] } - : null - ); - }, - }, - c = { - Point: o, - MultiPoint: o, - LineString: s, - MultiLineString: s, - Polygon: l, - MultiPolygon: l, - Sphere: l, - }; - function u() {} - var f = 1e-6, - h = f * f, - p = Math.PI, - d = p / 2, - g = (Math.sqrt(p), p / 180), - m = 180 / p; - function v(t) { - return t > 1 ? d : t < -1 ? -d : Math.asin(t); - } - function y(t) { - return t > 1 ? 0 : t < -1 ? p : Math.acos(t); - } - var x = t.geo.projection, - b = t.geo.projectionMutator; - function _(t, e) { - var r = (2 + d) * Math.sin(e); - e /= 2; - for (var n = 0, i = 1 / 0; n < 10 && Math.abs(i) > f; n++) { - var a = Math.cos(e); - e -= i = (e + Math.sin(e) * (a + 2) - r) / (2 * a * (1 + a)); - } - return [ - (2 / Math.sqrt(p * (4 + p))) * t * (1 + Math.cos(e)), - 2 * Math.sqrt(p / (4 + p)) * Math.sin(e), - ]; - } - ((t.geo.interrupt = function (e) { - var r, - n = [ - [ - [ - [-p, 0], - [0, d], - [p, 0], - ], - ], - [ - [ - [-p, 0], - [0, -d], - [p, 0], - ], - ], - ]; - function i(t, r) { - for ( - var i = r < 0 ? -1 : 1, a = n[+(r < 0)], o = 0, s = a.length - 1; - o < s && t > a[o][2][0]; - ++o - ); - var l = e(t - a[o][1][0], r); - return ( - (l[0] += e(a[o][1][0], i * r > i * a[o][0][1] ? a[o][0][1] : r)[0]), - l - ); - } - e.invert && - (i.invert = function (t, a) { - for ( - var o = r[+(a < 0)], s = n[+(a < 0)], c = 0, u = o.length; - c < u; - ++c - ) { - var f = o[c]; - if (f[0][0] <= t && t < f[1][0] && f[0][1] <= a && a < f[1][1]) { - var h = e.invert(t - e(s[c][1][0], 0)[0], a); - return ( - (h[0] += s[c][1][0]), - l(i(h[0], h[1]), [t, a]) ? h : null - ); - } - } - }); - var a = t.geo.projection(i), - o = a.stream; - function s(t, e) { - for (var r, n, i, a = -1, o = t.length, s = t[0], l = []; ++a < o; ) { - ((n = ((r = t[a])[0] - s[0]) / e), (i = (r[1] - s[1]) / e)); - for (var c = 0; c < e; ++c) l.push([s[0] + c * n, s[1] + c * i]); - s = r; - } - return (l.push(r), l); - } - function l(t, e) { - return Math.abs(t[0] - e[0]) < f && Math.abs(t[1] - e[1]) < f; - } - return ( - (a.stream = function (e) { - var r = a.rotate(), - i = o(e), - l = (a.rotate([0, 0]), o(e)); - return ( - a.rotate(r), - (i.sphere = function () { - t.geo.stream( - (function () { - for ( - var e = 1e-6, r = [], i = 0, a = n[0].length; - i < a; - ++i - ) { - var o = n[0][i], - l = (180 * o[0][0]) / p, - c = (180 * o[0][1]) / p, - u = (180 * o[1][1]) / p, - f = (180 * o[2][0]) / p, - h = (180 * o[2][1]) / p; - r.push( - s( - [ - [l + e, c + e], - [l + e, u - e], - [f - e, u - e], - [f - e, h + e], - ], - 30, - ), - ); - } - for (var i = n[1].length - 1; i >= 0; --i) { - var o = n[1][i], - l = (180 * o[0][0]) / p, - c = (180 * o[0][1]) / p, - u = (180 * o[1][1]) / p, - f = (180 * o[2][0]) / p, - h = (180 * o[2][1]) / p; - r.push( - s( - [ - [f - e, h - e], - [f - e, u + e], - [l + e, u + e], - [l + e, c - e], - ], - 30, - ), - ); - } - return { type: "Polygon", coordinates: [t.merge(r)] }; - })(), - l, - ); - }), - i - ); - }), - (a.lobes = function (t) { - return arguments.length - ? ((n = t.map(function (t) { - return t.map(function (t) { - return [ - [(t[0][0] * p) / 180, (t[0][1] * p) / 180], - [(t[1][0] * p) / 180, (t[1][1] * p) / 180], - [(t[2][0] * p) / 180, (t[2][1] * p) / 180], - ]; - }); - })), - (r = n.map(function (t) { - return t.map(function (t) { - var r, - n = e(t[0][0], t[0][1])[0], - i = e(t[2][0], t[2][1])[0], - a = e(t[1][0], t[0][1])[1], - o = e(t[1][0], t[1][1])[1]; - return ( - a > o && ((r = a), (a = o), (o = r)), - [ - [n, a], - [i, o], - ] - ); - }); - })), - a) - : n.map(function (t) { - return t.map(function (t) { - return [ - [(180 * t[0][0]) / p, (180 * t[0][1]) / p], - [(180 * t[1][0]) / p, (180 * t[1][1]) / p], - [(180 * t[2][0]) / p, (180 * t[2][1]) / p], - ]; - }); - }); - }), - a - ); - }), - (_.invert = function (t, e) { - var r = 0.5 * e * Math.sqrt((4 + p) / p), - n = v(r), - i = Math.cos(n); - return [ - t / ((2 / Math.sqrt(p * (4 + p))) * (1 + i)), - v((n + r * (i + 2)) / (2 + d)), - ]; - }), - ((t.geo.eckert4 = function () { - return x(_); - }).raw = _)); - var w = t.geo.azimuthalEqualArea.raw; - function k(t, e) { - if ((arguments.length < 2 && (e = t), 1 === e)) return w; - if (e === 1 / 0) return M; - function r(r, n) { - var i = w(r / e, n); - return ((i[0] *= t), i); - } - return ( - (r.invert = function (r, n) { - var i = w.invert(r / t, n); - return ((i[0] *= e), i); - }), - r - ); - } - function M(t, e) { - return [(t * Math.cos(e)) / Math.cos((e /= 2)), 2 * Math.sin(e)]; - } - function A(t, e) { - return [((3 * t) / (2 * p)) * Math.sqrt((p * p) / 3 - e * e), e]; - } - function T(t, e) { - return [t, 1.25 * Math.log(Math.tan(p / 4 + 0.4 * e))]; - } - function S(t) { - return function (e) { - var r, - n = t * Math.sin(e), - i = 30; - do { - e -= r = (e + Math.sin(e) - n) / (1 + Math.cos(e)); - } while (Math.abs(r) > f && --i > 0); - return e / 2; - }; - } - ((M.invert = function (t, e) { - var r = 2 * v(e / 2); - return [(t * Math.cos(r / 2)) / Math.cos(r), r]; - }), - ((t.geo.hammer = function () { - var t = 2, - e = b(k), - r = e(t); - return ( - (r.coefficient = function (r) { - return arguments.length ? e((t = +r)) : t; - }), - r - ); - }).raw = k), - (A.invert = function (t, e) { - return [((2 / 3) * p * t) / Math.sqrt((p * p) / 3 - e * e), e]; - }), - ((t.geo.kavrayskiy7 = function () { - return x(A); - }).raw = A), - (T.invert = function (t, e) { - return [t, 2.5 * Math.atan(Math.exp(0.8 * e)) - 0.625 * p]; - }), - ((t.geo.miller = function () { - return x(T); - }).raw = T), - S(p)); - var C = (function (t, e, r) { - var n = S(r); - function i(r, i) { - return [t * r * Math.cos((i = n(i))), e * Math.sin(i)]; - } - return ( - (i.invert = function (n, i) { - var a = v(i / e); - return [n / (t * Math.cos(a)), v((2 * a + Math.sin(2 * a)) / r)]; - }), - i - ); - })(Math.SQRT2 / d, Math.SQRT2, p); - function E(t, e) { - var r = e * e, - n = r * r; - return [ - t * - (0.8707 - - 0.131979 * r + - n * (n * (0.003971 * r - 0.001529 * n) - 0.013791)), - e * - (1.007226 + - r * (0.015085 + n * (0.028874 * r - 0.044475 - 0.005916 * n))), - ]; - } - (((t.geo.mollweide = function () { - return x(C); - }).raw = C), - (E.invert = function (t, e) { - var r, - n = e, - i = 25; - do { - var a = n * n, - o = a * a; - n -= r = - (n * - (1.007226 + - a * (0.015085 + o * (0.028874 * a - 0.044475 - 0.005916 * o))) - - e) / - (1.007226 + - a * - (0.045255 + o * (0.259866 * a - 0.311325 - 0.005916 * 11 * o))); - } while (Math.abs(r) > f && --i > 0); - return [ - t / - (0.8707 + - (a = n * n) * - (a * (a * a * a * (0.003971 - 0.001529 * a) - 0.013791) - - 0.131979)), - n, - ]; - }), - ((t.geo.naturalEarth = function () { - return x(E); - }).raw = E)); - var L = [ - [0.9986, -0.062], - [1, 0], - [0.9986, 0.062], - [0.9954, 0.124], - [0.99, 0.186], - [0.9822, 0.248], - [0.973, 0.31], - [0.96, 0.372], - [0.9427, 0.434], - [0.9216, 0.4958], - [0.8962, 0.5571], - [0.8679, 0.6176], - [0.835, 0.6769], - [0.7986, 0.7346], - [0.7597, 0.7903], - [0.7186, 0.8435], - [0.6732, 0.8936], - [0.6213, 0.9394], - [0.5722, 0.9761], - [0.5322, 1], - ]; - function z(t, e) { - var r, - n = Math.min(18, (36 * Math.abs(e)) / p), - i = Math.floor(n), - a = n - i, - o = (r = L[i])[0], - s = r[1], - l = (r = L[++i])[0], - c = r[1], - u = (r = L[Math.min(19, ++i)])[0], - f = r[1]; - return [ - t * (l + (a * (u - o)) / 2 + (a * a * (u - 2 * l + o)) / 2), - (e > 0 ? d : -d) * - (c + (a * (f - s)) / 2 + (a * a * (f - 2 * c + s)) / 2), - ]; - } - function P(t, e) { - return [t * Math.cos(e), e]; - } - function D(t, e) { - var r, - n = Math.cos(e), - i = (r = y(n * Math.cos((t /= 2)))) ? r / Math.sin(r) : 1; - return [2 * n * Math.sin(t) * i, Math.sin(e) * i]; - } - function O(t, e) { - var r = D(t, e); - return [(r[0] + t / d) / 2, (r[1] + e) / 2]; - } - (L.forEach(function (t) { - t[1] *= 1.0144; - }), - (z.invert = function (t, e) { - var r = e / d, - n = 90 * r, - i = Math.min(18, Math.abs(n / 5)), - a = Math.max(0, Math.floor(i)); - do { - var o = L[a][1], - s = L[a + 1][1], - l = L[Math.min(19, a + 2)][1], - c = l - o, - u = l - 2 * s + o, - f = (2 * (Math.abs(r) - s)) / c, - p = u / c, - v = f * (1 - p * f * (1 - 2 * p * f)); - if (v >= 0 || 1 === a) { - n = (e >= 0 ? 5 : -5) * (v + i); - var y, - x = 50; - do { - ((v = (i = Math.min(18, Math.abs(n) / 5)) - (a = Math.floor(i))), - (o = L[a][1]), - (s = L[a + 1][1]), - (l = L[Math.min(19, a + 2)][1]), - (n -= - (y = - (e >= 0 ? d : -d) * - (s + (v * (l - o)) / 2 + (v * v * (l - 2 * s + o)) / 2) - - e) * m)); - } while (Math.abs(y) > h && --x > 0); - break; - } - } while (--a >= 0); - var b = L[a][0], - _ = L[a + 1][0], - w = L[Math.min(19, a + 2)][0]; - return [ - t / (_ + (v * (w - b)) / 2 + (v * v * (w - 2 * _ + b)) / 2), - n * g, - ]; - }), - ((t.geo.robinson = function () { - return x(z); - }).raw = z), - (P.invert = function (t, e) { - return [t / Math.cos(e), e]; - }), - ((t.geo.sinusoidal = function () { - return x(P); - }).raw = P), - (D.invert = function (t, e) { - if (!(t * t + 4 * e * e > p * p + f)) { - var r = t, - n = e, - i = 25; - do { - var a, - o = Math.sin(r), - s = Math.sin(r / 2), - l = Math.cos(r / 2), - c = Math.sin(n), - u = Math.cos(n), - h = Math.sin(2 * n), - d = c * c, - g = u * u, - m = s * s, - v = 1 - g * l * l, - x = v ? y(u * l) * Math.sqrt((a = 1 / v)) : (a = 0), - b = 2 * x * u * s - t, - _ = x * c - e, - w = a * (g * m + x * u * l * d), - k = a * (0.5 * o * h - 2 * x * c * s), - M = 0.25 * a * (h * s - x * c * g * o), - A = a * (d * l + x * m * u), - T = k * M - A * w; - if (!T) break; - var S = (_ * k - b * A) / T, - C = (b * M - _ * w) / T; - ((r -= S), (n -= C)); - } while ((Math.abs(S) > f || Math.abs(C) > f) && --i > 0); - return [r, n]; - } - }), - ((t.geo.aitoff = function () { - return x(D); - }).raw = D), - (O.invert = function (t, e) { - var r = t, - n = e, - i = 25; - do { - var a, - o = Math.cos(n), - s = Math.sin(n), - l = Math.sin(2 * n), - c = s * s, - u = o * o, - h = Math.sin(r), - p = Math.cos(r / 2), - g = Math.sin(r / 2), - m = g * g, - v = 1 - u * p * p, - x = v ? y(o * p) * Math.sqrt((a = 1 / v)) : (a = 0), - b = 0.5 * (2 * x * o * g + r / d) - t, - _ = 0.5 * (x * s + n) - e, - w = 0.5 * a * (u * m + x * o * p * c) + 0.5 / d, - k = a * ((h * l) / 4 - x * s * g), - M = 0.125 * a * (l * g - x * s * u * h), - A = 0.5 * a * (c * p + x * m * o) + 0.5, - T = k * M - A * w, - S = (_ * k - b * A) / T, - C = (b * M - _ * w) / T; - ((r -= S), (n -= C)); - } while ((Math.abs(S) > f || Math.abs(C) > f) && --i > 0); - return [r, n]; - }), - ((t.geo.winkel3 = function () { - return x(O); - }).raw = O)); - }; - }, - {}, - ], - 683: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = Math.PI / 180, - o = 180 / Math.PI, - s = { cursor: "pointer" }, - l = { cursor: "auto" }; - function c(t, e) { - return n.behavior.zoom().translate(e.translate()).scale(e.scale()); - } - function u(t, e, r) { - var n = t.id, - a = t.graphDiv, - o = a.layout[n], - s = a._fullLayout[n], - l = {}; - function c(t, e) { - var r = i.nestedProperty(s, t); - r.get() !== e && - (r.set(e), i.nestedProperty(o, t).set(e), (l[n + "." + t] = e)); - } - (r(c), - c("projection.scale", e.scale() / t.fitScale), - a.emit("plotly_relayout", l)); - } - function f(t, e) { - var r = c(0, e); - function i(r) { - var n = e.invert(t.midPt); - (r("center.lon", n[0]), r("center.lat", n[1])); - } - return ( - r - .on("zoomstart", function () { - n.select(this).style(s); - }) - .on("zoom", function () { - (e.scale(n.event.scale).translate(n.event.translate), t.render()); - }) - .on("zoomend", function () { - (n.select(this).style(l), u(t, e, i)); - }), - r - ); - } - function h(t, e) { - var r, - i, - a, - o, - f, - h, - p, - d, - g = c(0, e), - m = 2; - function v(t) { - return e.invert(t); - } - function y(r) { - var n = e.rotate(), - i = e.invert(t.midPt); - (r("projection.rotation.lon", -n[0]), - r("center.lon", i[0]), - r("center.lat", i[1])); - } - return ( - g - .on("zoomstart", function () { - (n.select(this).style(s), - (r = n.mouse(this)), - (i = e.rotate()), - (a = e.translate()), - (o = i), - (f = v(r))); - }) - .on("zoom", function () { - if ( - ((h = n.mouse(this)), - (l = e(v((s = r)))), - Math.abs(l[0] - s[0]) > m || Math.abs(l[1] - s[1]) > m) - ) - return (g.scale(e.scale()), void g.translate(e.translate())); - var s, l; - (e.scale(n.event.scale), - e.translate([a[0], n.event.translate[1]]), - f - ? v(h) && - ((d = v(h)), - (p = [o[0] + (d[0] - f[0]), i[1], i[2]]), - e.rotate(p), - (o = p)) - : (f = v((r = h))), - t.render()); - }) - .on("zoomend", function () { - (n.select(this).style(l), u(t, e, y)); - }), - g - ); - } - function p(t, e) { - var r, - i = { r: e.rotate(), k: e.scale() }, - f = c(0, e), - h = (function (t) { - var e = 0, - r = arguments.length, - i = []; - for (; ++e < r; ) i.push(arguments[e]); - var a = n.dispatch.apply(null, i); - return ( - (a.of = function (e, r) { - return function (i) { - var o; - try { - ((o = i.sourceEvent = n.event), - (i.target = t), - (n.event = i), - a[i.type].apply(e, r)); - } finally { - n.event = o; - } - }; - }), - a - ); - })(f, "zoomstart", "zoom", "zoomend"), - p = 0, - m = f.on; - function x(t) { - var r = e.rotate(); - (t("projection.rotation.lon", -r[0]), - t("projection.rotation.lat", -r[1])); - } - return ( - f - .on("zoomstart", function () { - n.select(this).style(s); - var t, - l, - c, - u, - x, - b, - _, - w, - k, - M, - A, - T = n.mouse(this), - S = e.rotate(), - C = S, - E = e.translate(), - L = - ((l = 0.5 * (t = S)[0] * a), - (c = 0.5 * t[1] * a), - (u = 0.5 * t[2] * a), - (x = Math.sin(l)), - (b = Math.cos(l)), - (_ = Math.sin(c)), - (w = Math.cos(c)), - (k = Math.sin(u)), - (M = Math.cos(u)), - [ - b * w * M + x * _ * k, - x * w * M - b * _ * k, - b * _ * M + x * w * k, - b * w * k - x * _ * M, - ]); - ((r = d(e, T)), - m.call(f, "zoom", function () { - var t, - a, - s, - l, - c, - u, - f, - p, - m, - x, - b = n.mouse(this); - if ((e.scale((i.k = n.event.scale)), r)) { - if (d(e, b)) { - e.rotate(S).translate(E); - var _ = d(e, b), - w = (function (t, e) { - if (!t || !e) return; - var r = (function (t, e) { - return [ - t[1] * e[2] - t[2] * e[1], - t[2] * e[0] - t[0] * e[2], - t[0] * e[1] - t[1] * e[0], - ]; - })(t, e), - n = Math.sqrt(y(r, r)), - i = 0.5 * Math.acos(Math.max(-1, Math.min(1, y(t, e)))), - a = Math.sin(i) / n; - return n && [Math.cos(i), r[2] * a, -r[1] * a, r[0] * a]; - })(r, _), - k = (function (t) { - return [ - Math.atan2( - 2 * (t[0] * t[1] + t[2] * t[3]), - 1 - 2 * (t[1] * t[1] + t[2] * t[2]), - ) * o, - Math.asin( - Math.max( - -1, - Math.min(1, 2 * (t[0] * t[2] - t[3] * t[1])), - ), - ) * o, - Math.atan2( - 2 * (t[0] * t[3] + t[1] * t[2]), - 1 - 2 * (t[2] * t[2] + t[3] * t[3]), - ) * o, - ]; - })( - ((a = w), - (s = (t = L)[0]), - (l = t[1]), - (c = t[2]), - (u = t[3]), - (f = a[0]), - (p = a[1]), - (m = a[2]), - (x = a[3]), - [ - s * f - l * p - c * m - u * x, - s * p + l * f + c * x - u * m, - s * m - l * x + c * f + u * p, - s * x + l * m - c * p + u * f, - ]), - ), - M = (i.r = (function (t, e, r) { - var n = v(e, 2, t[0]); - n = v((n = v(n, 1, t[1])), 0, t[2] - r[2]); - var i, - a, - s = e[0], - l = e[1], - c = e[2], - u = n[0], - f = n[1], - h = n[2], - p = Math.atan2(l, s) * o, - d = Math.sqrt(s * s + l * l); - Math.abs(f) > d - ? ((a = (f > 0 ? 90 : -90) - p), (i = 0)) - : ((a = Math.asin(f / d) * o - p), - (i = Math.sqrt(d * d - f * f))); - var m = 180 - a - 2 * p, - y = (Math.atan2(h, u) - Math.atan2(c, i)) * o, - x = (Math.atan2(h, u) - Math.atan2(c, -i)) * o, - b = g(r[0], r[1], a, y), - _ = g(r[0], r[1], m, x); - return b <= _ ? [a, y, r[2]] : [m, x, r[2]]; - })(k, r, C)); - ((isFinite(M[0]) && isFinite(M[1]) && isFinite(M[2])) || - (M = C), - e.rotate(M), - (C = M)); - } - } else r = d(e, (T = b)); - h.of(this, arguments)({ type: "zoom" }); - }), - (A = h.of(this, arguments)), - p++ || A({ type: "zoomstart" })); - }) - .on("zoomend", function () { - var r; - (n.select(this).style(l), - m.call(f, "zoom", null), - (r = h.of(this, arguments)), - --p || r({ type: "zoomend" }), - u(t, e, x)); - }) - .on("zoom.redraw", function () { - t.render(); - }), - n.rebind(f, h, "on") - ); - } - function d(t, e) { - var r = t.invert(e); - return ( - r && - isFinite(r[0]) && - isFinite(r[1]) && - (function (t) { - var e = t[0] * a, - r = t[1] * a, - n = Math.cos(r); - return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; - })(r) - ); - } - function g(t, e, r, n) { - var i = m(r - t), - a = m(n - e); - return Math.sqrt(i * i + a * a); - } - function m(t) { - return (((t % 360) + 540) % 360) - 180; - } - function v(t, e, r) { - var n = r * a, - i = t.slice(), - o = 0 === e ? 1 : 0, - s = 2 === e ? 1 : 2, - l = Math.cos(n), - c = Math.sin(n); - return ((i[o] = t[o] * l - t[s] * c), (i[s] = t[s] * l + t[o] * c), i); - } - function y(t, e) { - for (var r = 0, n = 0, i = t.length; n < i; ++n) r += t[n] * e[n]; - return r; - } - e.exports = function (t, e) { - var r = t.projection; - return (e._isScoped ? f : e._isClipped ? p : h)(t, r); - }; - }, - { "../../lib": 602, d3: 130 }, - ], - 684: [ - function (t, e, r) { - "use strict"; - var n = t("../registry"), - i = t("./cartesian/constants").SUBPLOT_PATTERN; - ((r.getSubplotCalcData = function (t, e, r) { - var i = n.subplotsRegistry[e]; - if (!i) return []; - for (var a = i.attr, o = [], s = 0; s < t.length; s++) { - var l = t[s]; - l[0].trace[a] === r && o.push(l); - } - return o; - }), - (r.getModuleCalcData = function (t, e) { - var r, - i = [], - a = []; - if ( - !(r = - "string" == typeof e - ? n.getModule(e).plot - : "function" == typeof e - ? e - : e.plot) - ) - return [i, t]; - for (var o = 0; o < t.length; o++) { - var s = t[o], - l = s[0].trace; - !0 === l.visible && (l._module.plot === r ? i.push(s) : a.push(s)); - } - return [i, a]; - }), - (r.getSubplotData = function (t, e, r) { - if (!n.subplotsRegistry[e]) return []; - var a, - o, - s, - l = n.subplotsRegistry[e].attr, - c = []; - if ("gl2d" === e) { - var u = r.match(i); - ((o = "x" + u[1]), (s = "y" + u[2])); - } - for (var f = 0; f < t.length; f++) - ((a = t[f]), - "gl2d" === e && n.traceIs(a, "gl2d") - ? a[l[0]] === o && a[l[1]] === s && c.push(a) - : a[l] === r && c.push(a)); - return c; - }), - (r.getUidsFromCalcData = function (t) { - for (var e = {}, r = 0; r < t.length; r++) { - e[t[r][0].trace.uid] = 1; - } - return e; - })); - }, - { "../registry": 732, "./cartesian/constants": 653 }, - ], - 685: [ - function (t, e, r) { - "use strict"; - var n = t("mouse-change"), - i = t("mouse-wheel"), - a = t("mouse-event-offset"), - o = t("../cartesian/constants"), - s = t("has-passive-events"); - e.exports = function (t) { - var e = t.mouseContainer, - r = t.glplot, - l = new (function (t, e) { - ((this.element = t), - (this.plot = e), - (this.mouseListener = null), - (this.wheelListener = null), - (this.lastInputTime = Date.now()), - (this.lastPos = [0, 0]), - (this.boxEnabled = !1), - (this.boxInited = !1), - (this.boxStart = [0, 0]), - (this.boxEnd = [0, 0]), - (this.dragStart = [0, 0])); - })(e, r); - function c() { - ((t.xaxis.autorange = !1), (t.yaxis.autorange = !1)); - } - function u(e, n, i) { - var a, - s, - u = t.calcDataBox(), - f = r.viewBox, - h = l.lastPos[0], - p = l.lastPos[1], - d = o.MINDRAG * r.pixelRatio, - g = o.MINZOOM * r.pixelRatio; - function m(e, r, n) { - var i = Math.min(r, n), - a = Math.max(r, n); - i !== a - ? ((u[e] = i), (u[e + 2] = a), (l.dataBox = u), t.setRanges(u)) - : ((t.selectBox.selectBox = [0, 0, 1, 1]), t.glplot.setDirty()); - } - switch ( - ((n *= r.pixelRatio), - (i *= r.pixelRatio), - (i = f[3] - f[1] - i), - t.fullLayout.dragmode) - ) { - case "zoom": - if (e) { - var v = (n / (f[2] - f[0])) * (u[2] - u[0]) + u[0], - y = (i / (f[3] - f[1])) * (u[3] - u[1]) + u[1]; - (l.boxInited || - ((l.boxStart[0] = v), - (l.boxStart[1] = y), - (l.dragStart[0] = n), - (l.dragStart[1] = i)), - (l.boxEnd[0] = v), - (l.boxEnd[1] = y), - (l.boxInited = !0), - l.boxEnabled || - (l.boxStart[0] === l.boxEnd[0] && - l.boxStart[1] === l.boxEnd[1]) || - (l.boxEnabled = !0)); - var x = Math.abs(l.dragStart[0] - n) < g, - b = Math.abs(l.dragStart[1] - i) < g; - if ( - !(function () { - for ( - var e = t.graphDiv._fullLayout._axisConstraintGroups, - r = t.xaxis._id, - n = t.yaxis._id, - i = 0; - i < e.length; - i++ - ) - if (-1 !== e[i][r]) { - if (-1 !== e[i][n]) return !0; - break; - } - return !1; - })() || - (x && b) - ) - (x && (l.boxEnd[0] = l.boxStart[0]), - b && (l.boxEnd[1] = l.boxStart[1])); - else { - ((a = l.boxEnd[0] - l.boxStart[0]), - (s = l.boxEnd[1] - l.boxStart[1])); - var _ = (u[3] - u[1]) / (u[2] - u[0]); - Math.abs(a * _) > Math.abs(s) - ? ((l.boxEnd[1] = - l.boxStart[1] + Math.abs(a) * _ * (s >= 0 ? 1 : -1)), - l.boxEnd[1] < u[1] - ? ((l.boxEnd[1] = u[1]), - (l.boxEnd[0] = - l.boxStart[0] + (u[1] - l.boxStart[1]) / Math.abs(_))) - : l.boxEnd[1] > u[3] && - ((l.boxEnd[1] = u[3]), - (l.boxEnd[0] = - l.boxStart[0] + (u[3] - l.boxStart[1]) / Math.abs(_)))) - : ((l.boxEnd[0] = - l.boxStart[0] + (Math.abs(s) / _) * (a >= 0 ? 1 : -1)), - l.boxEnd[0] < u[0] - ? ((l.boxEnd[0] = u[0]), - (l.boxEnd[1] = - l.boxStart[1] + (u[0] - l.boxStart[0]) * Math.abs(_))) - : l.boxEnd[0] > u[2] && - ((l.boxEnd[0] = u[2]), - (l.boxEnd[1] = - l.boxStart[1] + (u[2] - l.boxStart[0]) * Math.abs(_)))); - } - } else - l.boxEnabled - ? ((a = l.boxStart[0] !== l.boxEnd[0]), - (s = l.boxStart[1] !== l.boxEnd[1]), - a || s - ? (a && - (m(0, l.boxStart[0], l.boxEnd[0]), - (t.xaxis.autorange = !1)), - s && - (m(1, l.boxStart[1], l.boxEnd[1]), - (t.yaxis.autorange = !1)), - t.relayoutCallback()) - : t.glplot.setDirty(), - (l.boxEnabled = !1), - (l.boxInited = !1)) - : l.boxInited && (l.boxInited = !1); - break; - case "pan": - ((l.boxEnabled = !1), - (l.boxInited = !1), - e - ? (l.panning || ((l.dragStart[0] = n), (l.dragStart[1] = i)), - Math.abs(l.dragStart[0] - n) < d && (n = l.dragStart[0]), - Math.abs(l.dragStart[1] - i) < d && (i = l.dragStart[1]), - (a = ((h - n) * (u[2] - u[0])) / (r.viewBox[2] - r.viewBox[0])), - (s = ((p - i) * (u[3] - u[1])) / (r.viewBox[3] - r.viewBox[1])), - (u[0] += a), - (u[2] += a), - (u[1] += s), - (u[3] += s), - t.setRanges(u), - (l.panning = !0), - (l.lastInputTime = Date.now()), - c(), - t.cameraChanged(), - t.handleAnnotations()) - : l.panning && ((l.panning = !1), t.relayoutCallback())); - } - ((l.lastPos[0] = n), (l.lastPos[1] = i)); - } - return ( - (l.mouseListener = n(e, u)), - e.addEventListener( - "touchstart", - function (t) { - var r = a(t.changedTouches[0], e); - (u(0, r[0], r[1]), u(1, r[0], r[1]), t.preventDefault()); - }, - !!s && { passive: !1 }, - ), - e.addEventListener( - "touchmove", - function (t) { - t.preventDefault(); - var r = a(t.changedTouches[0], e); - (u(1, r[0], r[1]), t.preventDefault()); - }, - !!s && { passive: !1 }, - ), - e.addEventListener( - "touchend", - function (t) { - (u(0, l.lastPos[0], l.lastPos[1]), t.preventDefault()); - }, - !!s && { passive: !1 }, - ), - (l.wheelListener = i( - e, - function (e, n) { - if (!t.scrollZoom) return !1; - var i = t.calcDataBox(), - a = r.viewBox, - o = l.lastPos[0], - s = l.lastPos[1], - u = Math.exp((5 * n) / (a[3] - a[1])), - f = (o / (a[2] - a[0])) * (i[2] - i[0]) + i[0], - h = (s / (a[3] - a[1])) * (i[3] - i[1]) + i[1]; - return ( - (i[0] = (i[0] - f) * u + f), - (i[2] = (i[2] - f) * u + f), - (i[1] = (i[1] - h) * u + h), - (i[3] = (i[3] - h) * u + h), - t.setRanges(i), - (l.lastInputTime = Date.now()), - c(), - t.cameraChanged(), - t.handleAnnotations(), - t.relayoutCallback(), - !0 - ); - }, - !0, - )), - l - ); - }; - }, - { - "../cartesian/constants": 653, - "has-passive-events": 297, - "mouse-change": 320, - "mouse-event-offset": 321, - "mouse-wheel": 323, - }, - ], - 686: [ - function (t, e, r) { - "use strict"; - var n = t("../cartesian/axes"), - i = t("../../lib/html2unicode"), - a = t("../../lib/str2rgbarray"); - function o(t) { - ((this.scene = t), - (this.gl = t.gl), - (this.pixelRatio = t.pixelRatio), - (this.screenBox = [0, 0, 1, 1]), - (this.viewBox = [0, 0, 1, 1]), - (this.dataBox = [-1, -1, 1, 1]), - (this.borderLineEnable = [!1, !1, !1, !1]), - (this.borderLineWidth = [1, 1, 1, 1]), - (this.borderLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.ticks = [[], []]), - (this.tickEnable = [!0, !0, !1, !1]), - (this.tickPad = [15, 15, 15, 15]), - (this.tickAngle = [0, 0, 0, 0]), - (this.tickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.tickMarkLength = [0, 0, 0, 0]), - (this.tickMarkWidth = [0, 0, 0, 0]), - (this.tickMarkColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.labels = ["x", "y"]), - (this.labelEnable = [!0, !0, !1, !1]), - (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), - (this.labelPad = [15, 15, 15, 15]), - (this.labelSize = [12, 12]), - (this.labelFont = ["sans-serif", "sans-serif"]), - (this.labelColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.title = ""), - (this.titleEnable = !0), - (this.titleCenter = [0, 0, 0, 0]), - (this.titleAngle = 0), - (this.titleColor = [0, 0, 0, 1]), - (this.titleFont = "sans-serif"), - (this.titleSize = 18), - (this.gridLineEnable = [!0, !0]), - (this.gridLineColor = [ - [0, 0, 0, 0.5], - [0, 0, 0, 0.5], - ]), - (this.gridLineWidth = [1, 1]), - (this.zeroLineEnable = [!0, !0]), - (this.zeroLineWidth = [1, 1]), - (this.zeroLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.borderColor = !1), - (this.backgroundColor = [0, 0, 0, 0]), - (this.static = this.scene.staticPlot)); - } - var s = o.prototype, - l = ["xaxis", "yaxis"]; - ((s.merge = function (t) { - var e, r, n, o, s, c, u, f, h, p, d; - for ( - this.titleEnable = !1, this.backgroundColor = a(t.plot_bgcolor), p = 0; - p < 2; - ++p - ) { - var g = (e = l[p]).charAt(0); - for ( - n = - (r = t[this.scene[e]._name]).title === - this.scene.fullLayout._dfltTitle[g] - ? "" - : r.title, - d = 0; - d <= 2; - d += 2 - ) - ((this.labelEnable[p + d] = !1), - (this.labels[p + d] = i(n)), - (this.labelColor[p + d] = a(r.titlefont.color)), - (this.labelFont[p + d] = r.titlefont.family), - (this.labelSize[p + d] = r.titlefont.size), - (this.labelPad[p + d] = this.getLabelPad(e, r)), - (this.tickEnable[p + d] = !1), - (this.tickColor[p + d] = a((r.tickfont || {}).color)), - (this.tickAngle[p + d] = - "auto" === r.tickangle ? 0 : (Math.PI * -r.tickangle) / 180), - (this.tickPad[p + d] = this.getTickPad(r)), - (this.tickMarkLength[p + d] = 0), - (this.tickMarkWidth[p + d] = r.tickwidth || 0), - (this.tickMarkColor[p + d] = a(r.tickcolor)), - (this.borderLineEnable[p + d] = !1), - (this.borderLineColor[p + d] = a(r.linecolor)), - (this.borderLineWidth[p + d] = r.linewidth || 0)); - ((u = this.hasSharedAxis(r)), - (s = this.hasAxisInDfltPos(e, r) && !u), - (c = this.hasAxisInAltrPos(e, r) && !u), - (o = r.mirror || !1), - (f = u ? -1 !== String(o).indexOf("all") : !!o), - (h = u ? "allticks" === o : -1 !== String(o).indexOf("ticks")), - s ? (this.labelEnable[p] = !0) : c && (this.labelEnable[p + 2] = !0), - s - ? (this.tickEnable[p] = r.showticklabels) - : c && (this.tickEnable[p + 2] = r.showticklabels), - (s || f) && (this.borderLineEnable[p] = r.showline), - (c || f) && (this.borderLineEnable[p + 2] = r.showline), - (s || h) && (this.tickMarkLength[p] = this.getTickMarkLength(r)), - (c || h) && (this.tickMarkLength[p + 2] = this.getTickMarkLength(r)), - (this.gridLineEnable[p] = r.showgrid), - (this.gridLineColor[p] = a(r.gridcolor)), - (this.gridLineWidth[p] = r.gridwidth), - (this.zeroLineEnable[p] = r.zeroline), - (this.zeroLineColor[p] = a(r.zerolinecolor)), - (this.zeroLineWidth[p] = r.zerolinewidth)); - } - }), - (s.hasSharedAxis = function (t) { - var e = this.scene, - r = e.fullLayout._subplots.gl2d; - return 0 !== n.findSubplotsWithAxis(r, t).indexOf(e.id); - }), - (s.hasAxisInDfltPos = function (t, e) { - var r = e.side; - return "xaxis" === t - ? "bottom" === r - : "yaxis" === t - ? "left" === r - : void 0; - }), - (s.hasAxisInAltrPos = function (t, e) { - var r = e.side; - return "xaxis" === t - ? "top" === r - : "yaxis" === t - ? "right" === r - : void 0; - }), - (s.getLabelPad = function (t, e) { - var r = e.titlefont.size, - n = e.showticklabels; - return "xaxis" === t - ? "top" === e.side - ? r * (1.5 + (n ? 1 : 0)) - 10 - : r * (1.5 + (n ? 0.5 : 0)) - 10 - : "yaxis" === t - ? "right" === e.side - ? 10 + r * (1.5 + (n ? 1 : 0.5)) - : 10 + r * (1.5 + (n ? 0.5 : 0)) - : void 0; - }), - (s.getTickPad = function (t) { - return "outside" === t.ticks ? 10 + t.ticklen : 15; - }), - (s.getTickMarkLength = function (t) { - if (!t.ticks) return 0; - var e = t.ticklen; - return "inside" === t.ticks ? -e : e; - }), - (e.exports = function (t) { - return new o(t); - })); - }, - { - "../../lib/html2unicode": 600, - "../../lib/str2rgbarray": 625, - "../cartesian/axes": 648, - }, - ], - 687: [ - function (t, e, r) { - "use strict"; - var n = t("../../plot_api/edit_types").overrideAll, - i = t("./scene2d"), - a = t("../layout_attributes"), - o = t("../../constants/xmlns_namespaces"), - s = t("../cartesian/constants"), - l = t("../cartesian"), - c = t("../../components/fx/layout_attributes"), - u = t("../get_data").getSubplotData; - ((r.name = "gl2d"), - (r.attr = ["xaxis", "yaxis"]), - (r.idRoot = ["x", "y"]), - (r.idRegex = s.idRegex), - (r.attrRegex = s.attrRegex), - (r.attributes = t("../cartesian/attributes")), - (r.supplyLayoutDefaults = function (t, e, r) { - e._has("cartesian") || l.supplyLayoutDefaults(t, e, r); - }), - (r.layoutAttrOverrides = n(l.layoutAttributes, "plot", "from-root")), - (r.baseLayoutAttrOverrides = n( - { plot_bgcolor: a.plot_bgcolor, hoverlabel: c.hoverlabel }, - "plot", - "nested", - )), - (r.plot = function (t) { - for ( - var e = t._fullLayout, r = t._fullData, n = e._subplots.gl2d, a = 0; - a < n.length; - a++ - ) { - var o = n[a], - s = e._plots[o], - l = u(r, "gl2d", o), - c = s._scene2d; - (void 0 === c && - ((c = new i( - { - id: o, - graphDiv: t, - container: t.querySelector(".gl-container"), - staticPlot: t._context.staticPlot, - plotGlPixelRatio: t._context.plotGlPixelRatio, - }, - e, - )), - (s._scene2d = c)), - c.plot(l, t.calcdata, e, t.layout)); - } - }), - (r.clean = function (t, e, r, n) { - for (var i = n._subplots.gl2d || [], a = 0; a < i.length; a++) { - var o = i[a], - s = n._plots[o]; - if (s._scene2d) - 0 === u(t, "gl2d", o).length && - (s._scene2d.destroy(), delete n._plots[o]); - } - l.clean.apply(this, arguments); - }), - (r.drawFramework = function (t) { - t._context.staticPlot || l.drawFramework(t); - }), - (r.toSVG = function (t) { - for ( - var e = t._fullLayout, r = e._subplots.gl2d, n = 0; - n < r.length; - n++ - ) { - var i = e._plots[r[n]]._scene2d, - a = i.toImage("png"); - (e._glimages.append("svg:image").attr({ - xmlns: o.svg, - "xlink:href": a, - x: 0, - y: 0, - width: "100%", - height: "100%", - preserveAspectRatio: "none", - }), - i.destroy()); - } - }), - (r.updateFx = function (t) { - for (var e = t._subplots.gl2d, r = 0; r < e.length; r++) { - t._plots[e[r]]._scene2d.updateFx(t.dragmode); - } - })); - }, - { - "../../components/fx/layout_attributes": 517, - "../../constants/xmlns_namespaces": 581, - "../../plot_api/edit_types": 633, - "../cartesian": 659, - "../cartesian/attributes": 646, - "../cartesian/constants": 653, - "../get_data": 684, - "../layout_attributes": 701, - "./scene2d": 688, - }, - ], - 688: [ - function (t, e, r) { - "use strict"; - var n, - i, - a = t("../../registry"), - o = t("../../plots/cartesian/axes"), - s = t("../../components/fx"), - l = t("gl-plot2d"), - c = t("gl-spikes2d"), - u = t("gl-select-box"), - f = t("webgl-context"), - h = t("./convert"), - p = t("./camera"), - d = t("../../lib/html2unicode"), - g = t("../../lib/show_no_webgl_msg"), - m = t("../cartesian/constraints"), - v = m.enforce, - y = m.clean, - x = t("../cartesian/autorange").doAutoRange, - b = ["xaxis", "yaxis"], - _ = t("../cartesian/constants").SUBPLOT_PATTERN; - function w(t, e) { - ((this.container = t.container), - (this.graphDiv = t.graphDiv), - (this.pixelRatio = t.plotGlPixelRatio || window.devicePixelRatio), - (this.id = t.id), - (this.staticPlot = !!t.staticPlot), - (this.scrollZoom = this.graphDiv._context.scrollZoom), - (this.fullData = null), - this.updateRefs(e), - this.makeFramework(), - (this.glplotOptions = h(this)), - this.glplotOptions.merge(e), - (this.glplot = l(this.glplotOptions)), - (this.camera = p(this)), - (this.traces = {}), - (this.spikes = c(this.glplot)), - (this.selectBox = u(this.glplot, { innerFill: !1, outerFill: !0 })), - (this.lastButtonState = 0), - (this.pickResult = null), - (this.isMouseOver = !0), - (this.stopped = !1), - (this.redraw = this.draw.bind(this)), - this.redraw()); - } - e.exports = w; - var k = w.prototype; - ((k.makeFramework = function () { - if (this.staticPlot) { - if ( - !( - i || - ((n = document.createElement("canvas")), - (i = f({ - canvas: n, - preserveDrawingBuffer: !1, - premultipliedAlpha: !0, - antialias: !0, - }))) - ) - ) - throw new Error( - "Error creating static canvas/context for image server", - ); - ((this.canvas = n), (this.gl = i)); - } else { - var t = this.container.querySelector(".gl-canvas-focus"), - e = f({ canvas: t, preserveDrawingBuffer: !0, premultipliedAlpha: !0 }); - (e || g(this), (this.canvas = t), (this.gl = e)); - } - var r = this.canvas; - ((r.style.width = "100%"), - (r.style.height = "100%"), - (r.style.position = "absolute"), - (r.style.top = "0px"), - (r.style.left = "0px"), - (r.style["pointer-events"] = "none"), - this.updateSize(r), - (r.className += " user-select-none")); - var a = (this.svgContainer = document.createElementNS( - "http://www.w3.org/2000/svg", - "svg", - )); - ((a.style.position = "absolute"), - (a.style.top = a.style.left = "0px"), - (a.style.width = a.style.height = "100%"), - (a.style["z-index"] = 20), - (a.style["pointer-events"] = "none")); - var o = (this.mouseContainer = document.createElement("div")); - ((o.style.position = "absolute"), - (o.style["pointer-events"] = "auto"), - (this.pickCanvas = this.container.querySelector(".gl-canvas-pick"))); - var s = this.container; - (s.appendChild(a), s.appendChild(o)); - var l = this; - (o.addEventListener("mouseout", function () { - ((l.isMouseOver = !1), l.unhover()); - }), - o.addEventListener("mouseover", function () { - l.isMouseOver = !0; - })); - }), - (k.toImage = function (t) { - (t || (t = "png"), - (this.stopped = !0), - this.staticPlot && this.container.appendChild(n), - this.updateSize(this.canvas)); - var e = this.glplot.gl, - r = e.drawingBufferWidth, - i = e.drawingBufferHeight; - (e.clearColor(1, 1, 1, 0), - e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), - this.glplot.setDirty(), - this.glplot.draw(), - e.bindFramebuffer(e.FRAMEBUFFER, null)); - var a = new Uint8Array(r * i * 4); - e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); - for (var o = 0, s = i - 1; o < s; ++o, --s) - for (var l = 0; l < r; ++l) - for (var c = 0; c < 4; ++c) { - var u = a[4 * (r * o + l) + c]; - ((a[4 * (r * o + l) + c] = a[4 * (r * s + l) + c]), - (a[4 * (r * s + l) + c] = u)); - } - var f = document.createElement("canvas"); - ((f.width = r), (f.height = i)); - var h, - p = f.getContext("2d"), - d = p.createImageData(r, i); - switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { - case "jpeg": - h = f.toDataURL("image/jpeg"); - break; - case "webp": - h = f.toDataURL("image/webp"); - break; - default: - h = f.toDataURL("image/png"); - } - return (this.staticPlot && this.container.removeChild(n), h); - }), - (k.updateSize = function (t) { - t || (t = this.canvas); - var e = this.pixelRatio, - r = this.fullLayout, - n = r.width, - i = r.height, - a = 0 | Math.ceil(e * n), - o = 0 | Math.ceil(e * i); - return ( - (t.width === a && t.height === o) || ((t.width = a), (t.height = o)), - t - ); - }), - (k.computeTickMarks = function () { - (this.xaxis.setScale(), this.yaxis.setScale()); - for ( - var t = [o.calcTicks(this.xaxis), o.calcTicks(this.yaxis)], e = 0; - e < 2; - ++e - ) - for (var r = 0; r < t[e].length; ++r) - t[e][r].text = d(t[e][r].text + ""); - return t; - }), - (k.updateRefs = function (t) { - this.fullLayout = t; - var e = this.id.match(_), - r = "xaxis" + e[1], - n = "yaxis" + e[2]; - ((this.xaxis = this.fullLayout[r]), (this.yaxis = this.fullLayout[n])); - }), - (k.relayoutCallback = function () { - var t = this.graphDiv, - e = this.xaxis, - r = this.yaxis, - n = t.layout; - ((n.xaxis.autorange = e.autorange), - (n.xaxis.range = e.range.slice(0)), - (n.yaxis.autorange = r.autorange), - (n.yaxis.range = r.range.slice(0))); - var i = { lastInputTime: this.camera.lastInputTime }; - ((i[e._name] = e.range.slice(0)), - (i[r._name] = r.range.slice(0)), - t.emit("plotly_relayout", i)); - }), - (k.cameraChanged = function () { - var t = this.camera; - this.glplot.setDataBox(this.calcDataBox()); - var e = this.computeTickMarks(); - (function (t, e) { - for (var r = 0; r < 2; ++r) { - var n = t[r], - i = e[r]; - if (n.length !== i.length) return !0; - for (var a = 0; a < n.length; ++a) if (n[a].x !== i[a].x) return !0; - } - return !1; - })(e, this.glplotOptions.ticks) && - ((this.glplotOptions.ticks = e), - (this.glplotOptions.dataBox = t.dataBox), - this.glplot.update(this.glplotOptions), - this.handleAnnotations()); - }), - (k.handleAnnotations = function () { - for ( - var t = this.graphDiv, e = this.fullLayout.annotations, r = 0; - r < e.length; - r++ - ) { - var n = e[r]; - n.xref === this.xaxis._id && - n.yref === this.yaxis._id && - a.getComponentMethod("annotations", "drawOne")(t, r); - } - }), - (k.destroy = function () { - if (this.glplot) { - var t = this.traces; - (t && - Object.keys(t).map(function (e) { - (t[e].dispose(), delete t[e]); - }), - this.glplot.dispose(), - this.container.removeChild(this.svgContainer), - this.container.removeChild(this.mouseContainer), - (this.fullData = null), - (this.glplot = null), - (this.stopped = !0), - (this.camera.mouseListener.enabled = !1), - this.mouseContainer.removeEventListener( - "wheel", - this.camera.wheelListener, - ), - (this.camera = null)); - } - }), - (k.plot = function (t, e, r) { - var n = this.glplot; - (this.updateRefs(r), - this.xaxis.clearCalc(), - this.yaxis.clearCalc(), - this.updateTraces(t, e), - this.updateFx(r.dragmode)); - var i = r.width, - a = r.height; - this.updateSize(this.canvas); - var o = this.glplotOptions; - (o.merge(r), (o.screenBox = [0, 0, i, a])); - var s = { - _fullLayout: { - _axisConstraintGroups: - this.graphDiv._fullLayout._axisConstraintGroups, - xaxis: this.xaxis, - yaxis: this.yaxis, - }, - }; - (y(s, this.xaxis), y(s, this.yaxis)); - var l, - c, - u = r._size, - f = this.xaxis.domain, - h = this.yaxis.domain; - for ( - o.viewBox = [ - u.l + f[0] * u.w, - u.b + h[0] * u.h, - i - u.r - (1 - f[1]) * u.w, - a - u.t - (1 - h[1]) * u.h, - ], - this.mouseContainer.style.width = u.w * (f[1] - f[0]) + "px", - this.mouseContainer.style.height = u.h * (h[1] - h[0]) + "px", - this.mouseContainer.height = u.h * (h[1] - h[0]), - this.mouseContainer.style.left = u.l + f[0] * u.w + "px", - this.mouseContainer.style.top = u.t + (1 - h[1]) * u.h + "px", - c = 0; - c < 2; - ++c - ) - (((l = this[b[c]])._length = o.viewBox[c + 2] - o.viewBox[c]), - x(l), - l.setScale()); - (v(s), - (o.ticks = this.computeTickMarks()), - (o.dataBox = this.calcDataBox()), - o.merge(r), - n.update(o), - this.glplot.draw()); - }), - (k.calcDataBox = function () { - var t = this.xaxis, - e = this.yaxis, - r = t.range, - n = e.range, - i = t.r2l, - a = e.r2l; - return [i(r[0]), a(n[0]), i(r[1]), a(n[1])]; - }), - (k.setRanges = function (t) { - var e = this.xaxis, - r = this.yaxis, - n = e.l2r, - i = r.l2r; - ((e.range = [n(t[0]), n(t[2])]), (r.range = [i(t[1]), i(t[3])])); - }), - (k.updateTraces = function (t, e) { - var r, - n, - i, - a = Object.keys(this.traces); - this.fullData = t; - t: for (r = 0; r < a.length; r++) { - var o = a[r], - s = this.traces[o]; - for (n = 0; n < t.length; n++) - if ((i = t[n]).uid === o && i.type === s.type) continue t; - (s.dispose(), delete this.traces[o]); - } - for (r = 0; r < t.length; r++) { - i = t[r]; - var l = e[r], - c = this.traces[i.uid]; - c - ? c.update(i, l) - : ((c = i._module.plot(this, i, l)), (this.traces[i.uid] = c)); - } - this.glplot.objects.sort(function (t, e) { - return t._trace.index - e._trace.index; - }); - }), - (k.updateFx = function (t) { - ("lasso" === t || "select" === t - ? ((this.pickCanvas.style["pointer-events"] = "none"), - (this.mouseContainer.style["pointer-events"] = "none")) - : ((this.pickCanvas.style["pointer-events"] = "auto"), - (this.mouseContainer.style["pointer-events"] = "auto")), - (this.mouseContainer.style.cursor = - "pan" === t ? "move" : "zoom" === t ? "crosshair" : null)); - }), - (k.emitPointAction = function (t, e) { - for ( - var r, n = t.trace.uid, i = t.pointIndex, a = 0; - a < this.fullData.length; - a++ - ) - this.fullData[a].uid === n && (r = this.fullData[a]); - var o = { - x: t.traceCoord[0], - y: t.traceCoord[1], - curveNumber: r.index, - pointNumber: i, - data: r._input, - fullData: this.fullData, - xaxis: this.xaxis, - yaxis: this.yaxis, - }; - (s.appendArrayPointValue(o, r, i), - this.graphDiv.emit(e, { points: [o] })); - }), - (k.draw = function () { - if (!this.stopped) { - requestAnimationFrame(this.redraw); - var t = this.glplot, - e = this.camera, - r = e.mouseListener, - n = 1 === this.lastButtonState && 0 === r.buttons, - i = this.fullLayout; - ((this.lastButtonState = r.buttons), this.cameraChanged()); - var a, - o = r.x * t.pixelRatio, - l = this.canvas.height - t.pixelRatio * r.y; - if (e.boxEnabled && "zoom" === i.dragmode) { - this.selectBox.enabled = !0; - for ( - var c = (this.selectBox.selectBox = [ - Math.min(e.boxStart[0], e.boxEnd[0]), - Math.min(e.boxStart[1], e.boxEnd[1]), - Math.max(e.boxStart[0], e.boxEnd[0]), - Math.max(e.boxStart[1], e.boxEnd[1]), - ]), - u = 0; - u < 2; - u++ - ) - e.boxStart[u] === e.boxEnd[u] && - ((c[u] = t.dataBox[u]), (c[u + 2] = t.dataBox[u + 2])); - t.setDirty(); - } else if (!e.panning && this.isMouseOver) { - this.selectBox.enabled = !1; - var f = i._size, - h = this.xaxis.domain, - p = this.yaxis.domain, - d = - (a = t.pick( - o / t.pixelRatio + f.l + h[0] * f.w, - l / t.pixelRatio - (f.t + (1 - p[1]) * f.h), - )) && a.object._trace.handlePick(a); - if ( - (d && n && this.emitPointAction(d, "plotly_click"), - a && - "skip" !== a.object._trace.hoverinfo && - i.hovermode && - d && - (!this.lastPickResult || - this.lastPickResult.traceUid !== d.trace.uid || - this.lastPickResult.dataCoord[0] !== d.dataCoord[0] || - this.lastPickResult.dataCoord[1] !== d.dataCoord[1])) - ) { - var g = d; - ((this.lastPickResult = { - traceUid: d.trace ? d.trace.uid : null, - dataCoord: d.dataCoord.slice(), - }), - this.spikes.update({ center: a.dataCoord }), - (g.screenCoord = [ - (((t.viewBox[2] - t.viewBox[0]) * - (a.dataCoord[0] - t.dataBox[0])) / - (t.dataBox[2] - t.dataBox[0]) + - t.viewBox[0]) / - t.pixelRatio, - (this.canvas.height - - ((t.viewBox[3] - t.viewBox[1]) * - (a.dataCoord[1] - t.dataBox[1])) / - (t.dataBox[3] - t.dataBox[1]) - - t.viewBox[1]) / - t.pixelRatio, - ]), - this.emitPointAction(d, "plotly_hover")); - var m = this.fullData[g.trace.index] || {}, - v = g.pointIndex, - y = s.castHoverinfo(m, i, v); - if (y && "all" !== y) { - var x = y.split("+"); - (-1 === x.indexOf("x") && (g.traceCoord[0] = void 0), - -1 === x.indexOf("y") && (g.traceCoord[1] = void 0), - -1 === x.indexOf("z") && (g.traceCoord[2] = void 0), - -1 === x.indexOf("text") && (g.textLabel = void 0), - -1 === x.indexOf("name") && (g.name = void 0)); - } - s.loneHover( - { - x: g.screenCoord[0], - y: g.screenCoord[1], - xLabel: this.hoverFormatter("xaxis", g.traceCoord[0]), - yLabel: this.hoverFormatter("yaxis", g.traceCoord[1]), - zLabel: g.traceCoord[2], - text: g.textLabel, - name: g.name, - color: s.castHoverOption(m, v, "bgcolor") || g.color, - borderColor: s.castHoverOption(m, v, "bordercolor"), - fontFamily: s.castHoverOption(m, v, "font.family"), - fontSize: s.castHoverOption(m, v, "font.size"), - fontColor: s.castHoverOption(m, v, "font.color"), - }, - { container: this.svgContainer, gd: this.graphDiv }, - ); - } - } - (a || this.unhover(), t.draw()); - } - }), - (k.unhover = function () { - this.lastPickResult && - (this.spikes.update({}), - (this.lastPickResult = null), - this.graphDiv.emit("plotly_unhover"), - s.loneUnhover(this.svgContainer)); - }), - (k.hoverFormatter = function (t, e) { - if (void 0 !== e) { - var r = this[t]; - return o.tickText(r, r.c2l(e), "hover").text; - } - })); - }, - { - "../../components/fx": 516, - "../../lib/html2unicode": 600, - "../../lib/show_no_webgl_msg": 623, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "../cartesian/autorange": 647, - "../cartesian/constants": 653, - "../cartesian/constraints": 655, - "./camera": 685, - "./convert": 686, - "gl-plot2d": 251, - "gl-select-box": 261, - "gl-spikes2d": 270, - "webgl-context": 436, - }, - ], - 689: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - ((t = t || document.body), (e = e || {})); - var r = [0.01, 1 / 0]; - "distanceLimits" in e && - ((r[0] = e.distanceLimits[0]), (r[1] = e.distanceLimits[1])); - "zoomMin" in e && (r[0] = e.zoomMin); - "zoomMax" in e && (r[1] = e.zoomMax); - var c = i({ - center: e.center || [0, 0, 0], - up: e.up || [0, 1, 0], - eye: e.eye || [0, 0, 10], - mode: e.mode || "orbit", - distanceLimits: r, - }), - u = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - f = 0, - h = t.clientWidth, - p = t.clientHeight, - d = { - keyBindingMode: "rotate", - view: c, - element: t, - delay: e.delay || 16, - rotateSpeed: e.rotateSpeed || 1, - zoomSpeed: e.zoomSpeed || 1, - translateSpeed: e.translateSpeed || 1, - flipX: !!e.flipX, - flipY: !!e.flipY, - modes: c.modes, - tick: function () { - var e = n(), - r = this.delay, - i = e - 2 * r; - (c.idle(e - r), c.recalcMatrix(i), c.flush(e - (100 + 2 * r))); - for (var a = !0, o = c.computedMatrix, s = 0; s < 16; ++s) - ((a = a && u[s] === o[s]), (u[s] = o[s])); - var l = t.clientWidth === h && t.clientHeight === p; - return ( - (h = t.clientWidth), - (p = t.clientHeight), - a ? !l : ((f = Math.exp(c.computedRadius[0])), !0) - ); - }, - lookAt: function (t, e, r) { - c.lookAt(c.lastT(), t, e, r); - }, - rotate: function (t, e, r) { - c.rotate(c.lastT(), t, e, r); - }, - pan: function (t, e, r) { - c.pan(c.lastT(), t, e, r); - }, - translate: function (t, e, r) { - c.translate(c.lastT(), t, e, r); - }, - }; - (Object.defineProperties(d, { - matrix: { - get: function () { - return c.computedMatrix; - }, - set: function (t) { - return (c.setMatrix(c.lastT(), t), c.computedMatrix); - }, - enumerable: !0, - }, - mode: { - get: function () { - return c.getMode(); - }, - set: function (t) { - var e = c.computedUp.slice(), - r = c.computedEye.slice(), - i = c.computedCenter.slice(); - if ((c.setMode(t), "turntable" === t)) { - var a = n(); - (c._active.lookAt(a, r, i, e), - c._active.lookAt(a + 500, r, i, [0, 0, 1]), - c._active.flush(a)); - } - return c.getMode(); - }, - enumerable: !0, - }, - center: { - get: function () { - return c.computedCenter; - }, - set: function (t) { - return (c.lookAt(c.lastT(), null, t), c.computedCenter); - }, - enumerable: !0, - }, - eye: { - get: function () { - return c.computedEye; - }, - set: function (t) { - return (c.lookAt(c.lastT(), t), c.computedEye); - }, - enumerable: !0, - }, - up: { - get: function () { - return c.computedUp; - }, - set: function (t) { - return (c.lookAt(c.lastT(), null, null, t), c.computedUp); - }, - enumerable: !0, - }, - distance: { - get: function () { - return f; - }, - set: function (t) { - return (c.setDistance(c.lastT(), t), t); - }, - enumerable: !0, - }, - distanceLimits: { - get: function () { - return c.getDistanceLimits(r); - }, - set: function (t) { - return (c.setDistanceLimits(t), t); - }, - enumerable: !0, - }, - }), - t.addEventListener("contextmenu", function (t) { - return (t.preventDefault(), !1); - })); - var g = 0, - m = 0, - v = { shift: !1, control: !1, alt: !1, meta: !1 }; - function y(e, r, i, a) { - var o = d.keyBindingMode; - if (!1 !== o) { - var s = "rotate" === o, - l = "pan" === o, - u = "zoom" === o, - h = !!a.control, - p = !!a.alt, - y = !!a.shift, - x = !!(1 & e), - b = !!(2 & e), - _ = !!(4 & e), - w = 1 / t.clientHeight, - k = w * (r - g), - M = w * (i - m), - A = d.flipX ? 1 : -1, - T = d.flipY ? 1 : -1, - S = n(), - C = Math.PI * d.rotateSpeed; - if ( - (((s && x && !h && !p && !y) || (x && !h && !p && y)) && - c.rotate(S, A * C * k, -T * C * M, 0), - ((l && x && !h && !p && !y) || b || (x && h && !p && !y)) && - c.pan(S, -d.translateSpeed * k * f, d.translateSpeed * M * f, 0), - (u && x && !h && !p && !y) || _ || (x && !h && p && !y)) - ) { - var E = - ((-d.zoomSpeed * M) / window.innerHeight) * (S - c.lastT()) * 100; - c.pan(S, 0, 0, f * (Math.exp(E) - 1)); - } - return ((g = r), (m = i), (v = a), !0); - } - } - return ( - (d.mouseListener = a(t, y)), - t.addEventListener( - "touchstart", - function (e) { - var r = s(e.changedTouches[0], t); - (y(0, r[0], r[1], v), y(1, r[0], r[1], v), e.preventDefault()); - }, - !!l && { passive: !1 }, - ), - t.addEventListener( - "touchmove", - function (e) { - var r = s(e.changedTouches[0], t); - (y(1, r[0], r[1], v), e.preventDefault()); - }, - !!l && { passive: !1 }, - ), - t.addEventListener( - "touchend", - function (t) { - (y(0, g, m, v), t.preventDefault()); - }, - !!l && { passive: !1 }, - ), - (d.wheelListener = o( - t, - function (t, e) { - if (!1 !== d.keyBindingMode) { - var r = d.flipX ? 1 : -1, - i = d.flipY ? 1 : -1, - a = n(); - if (Math.abs(t) > Math.abs(e)) - c.rotate( - a, - 0, - 0, - (-t * r * Math.PI * d.rotateSpeed) / window.innerWidth, - ); - else { - var o = - (((-d.zoomSpeed * i * e) / window.innerHeight) * - (a - c.lastT())) / - 20; - c.pan(a, 0, 0, f * (Math.exp(o) - 1)); - } - } - }, - !0, - )), - d - ); - }; - var n = t("right-now"), - i = t("3d-view"), - a = t("mouse-change"), - o = t("mouse-wheel"), - s = t("mouse-event-offset"), - l = t("has-passive-events"); - }, - { - "3d-view": 41, - "has-passive-events": 297, - "mouse-change": 320, - "mouse-event-offset": 321, - "mouse-wheel": 323, - "right-now": 382, - }, - ], - 690: [ - function (t, e, r) { - "use strict"; - var n = t("../../plot_api/edit_types").overrideAll, - i = t("../../components/fx/layout_attributes"), - a = t("./scene"), - o = t("../get_data").getSubplotData, - s = t("../../lib"), - l = t("../../constants/xmlns_namespaces"); - ((r.name = "gl3d"), - (r.attr = "scene"), - (r.idRoot = "scene"), - (r.idRegex = r.attrRegex = s.counterRegex("scene")), - (r.attributes = t("./layout/attributes")), - (r.layoutAttributes = t("./layout/layout_attributes")), - (r.baseLayoutAttrOverrides = n( - { hoverlabel: i.hoverlabel }, - "plot", - "nested", - )), - (r.supplyLayoutDefaults = t("./layout/defaults")), - (r.plot = function (t) { - for ( - var e = t._fullLayout, r = t._fullData, n = e._subplots.gl3d, i = 0; - i < n.length; - i++ - ) { - var l = n[i], - c = o(r, "gl3d", l), - u = e[l], - f = u._scene; - (f || - ((f = new a( - { - id: l, - graphDiv: t, - container: t.querySelector(".gl-container"), - staticPlot: t._context.staticPlot, - plotGlPixelRatio: t._context.plotGlPixelRatio, - }, - e, - )), - (u._scene = f)), - f.cameraInitial || (f.cameraInitial = s.extendDeep({}, u.camera)), - f.plot(c, e, t.layout)); - } - }), - (r.clean = function (t, e, r, n) { - for (var i = n._subplots.gl3d || [], a = 0; a < i.length; a++) { - var o = i[a]; - !e[o] && - n[o]._scene && - (n[o]._scene.destroy(), - n._infolayer && n._infolayer.selectAll(".annotation-" + o).remove()); - } - }), - (r.toSVG = function (t) { - for ( - var e = t._fullLayout, r = e._subplots.gl3d, n = e._size, i = 0; - i < r.length; - i++ - ) { - var a = e[r[i]], - o = a.domain, - s = a._scene, - c = s.toImage("png"); - (e._glimages.append("svg:image").attr({ - xmlns: l.svg, - "xlink:href": c, - x: n.l + n.w * o.x[0], - y: n.t + n.h * (1 - o.y[1]), - width: n.w * (o.x[1] - o.x[0]), - height: n.h * (o.y[1] - o.y[0]), - preserveAspectRatio: "none", - }), - s.destroy()); - } - }), - (r.cleanId = function (t) { - if (t.match(/^scene[0-9]*$/)) { - var e = t.substr(5); - return ("1" === e && (e = ""), "scene" + e); - } - }), - (r.updateFx = function (t) { - for (var e = t._subplots.gl3d, r = 0; r < e.length; r++) { - t[e[r]]._scene.updateFx(t.dragmode, t.hovermode); - } - })); - }, - { - "../../components/fx/layout_attributes": 517, - "../../constants/xmlns_namespaces": 581, - "../../lib": 602, - "../../plot_api/edit_types": 633, - "../get_data": 684, - "./layout/attributes": 691, - "./layout/defaults": 695, - "./layout/layout_attributes": 696, - "./scene": 700, - }, - ], - 691: [ - function (t, e, r) { - "use strict"; - e.exports = { - scene: { - valType: "subplotid", - dflt: "scene", - editType: "calc+clearAxisTypes", - }, - }; - }, - {}, - ], - 692: [ - function (t, e, r) { - "use strict"; - var n = t("../../../components/color"), - i = t("../../cartesian/layout_attributes"), - a = t("../../../lib/extend").extendFlat, - o = t("../../../plot_api/edit_types").overrideAll; - e.exports = o( - { - visible: i.visible, - showspikes: { valType: "boolean", dflt: !0 }, - spikesides: { valType: "boolean", dflt: !0 }, - spikethickness: { valType: "number", min: 0, dflt: 2 }, - spikecolor: { valType: "color", dflt: n.defaultLine }, - showbackground: { valType: "boolean", dflt: !1 }, - backgroundcolor: { valType: "color", dflt: "rgba(204, 204, 204, 0.5)" }, - showaxeslabels: { valType: "boolean", dflt: !0 }, - color: i.color, - categoryorder: i.categoryorder, - categoryarray: i.categoryarray, - title: i.title, - titlefont: i.titlefont, - type: i.type, - autorange: i.autorange, - rangemode: i.rangemode, - range: i.range, - tickmode: i.tickmode, - nticks: i.nticks, - tick0: i.tick0, - dtick: i.dtick, - tickvals: i.tickvals, - ticktext: i.ticktext, - ticks: i.ticks, - mirror: i.mirror, - ticklen: i.ticklen, - tickwidth: i.tickwidth, - tickcolor: i.tickcolor, - showticklabels: i.showticklabels, - tickfont: i.tickfont, - tickangle: i.tickangle, - tickprefix: i.tickprefix, - showtickprefix: i.showtickprefix, - ticksuffix: i.ticksuffix, - showticksuffix: i.showticksuffix, - showexponent: i.showexponent, - exponentformat: i.exponentformat, - separatethousands: i.separatethousands, - tickformat: i.tickformat, - tickformatstops: i.tickformatstops, - hoverformat: i.hoverformat, - showline: i.showline, - linecolor: i.linecolor, - linewidth: i.linewidth, - showgrid: i.showgrid, - gridcolor: a({}, i.gridcolor, { dflt: "rgb(204, 204, 204)" }), - gridwidth: i.gridwidth, - zeroline: i.zeroline, - zerolinecolor: i.zerolinecolor, - zerolinewidth: i.zerolinewidth, - }, - "plot", - "from-root", - ); - }, - { - "../../../components/color": 474, - "../../../lib/extend": 591, - "../../../plot_api/edit_types": 633, - "../../cartesian/layout_attributes": 660, - }, - ], - 693: [ - function (t, e, r) { - "use strict"; - var n = t("tinycolor2").mix, - i = t("../../../lib"), - a = t("./axis_attributes"), - o = t("../../cartesian/type_defaults"), - s = t("../../cartesian/axis_defaults"), - l = ["xaxis", "yaxis", "zaxis"]; - e.exports = function (t, e, r) { - var c, u; - function f(t, e) { - return i.coerce(c, u, a, t, e); - } - for (var h = 0; h < l.length; h++) { - var p = l[h]; - ((c = t[p] || {}), - (u = e[p] = { _id: p[0] + r.scene, _name: p }), - o(c, u, f, r.data), - s( - c, - u, - f, - { - font: r.font, - letter: p[0], - data: r.data, - showGrid: !0, - bgColor: r.bgColor, - calendar: r.calendar, - }, - r.fullLayout, - ), - f("gridcolor", n(u.color, r.bgColor, 13600 / 187).toRgbString()), - f("title", p[0]), - (u.setScale = i.noop), - f("showspikes") && - (f("spikesides"), f("spikethickness"), f("spikecolor", u.color)), - f("showaxeslabels"), - f("showbackground") && f("backgroundcolor")); - } - }; - }, - { - "../../../lib": 602, - "../../cartesian/axis_defaults": 650, - "../../cartesian/type_defaults": 671, - "./axis_attributes": 692, - tinycolor2: 415, - }, - ], - 694: [ - function (t, e, r) { - "use strict"; - var n = t("../../../lib/html2unicode"), - i = t("../../../lib/str2rgbarray"), - a = ["xaxis", "yaxis", "zaxis"]; - function o() { - ((this.bounds = [ - [-10, -10, -10], - [10, 10, 10], - ]), - (this.ticks = [[], [], []]), - (this.tickEnable = [!0, !0, !0]), - (this.tickFont = ["sans-serif", "sans-serif", "sans-serif"]), - (this.tickSize = [12, 12, 12]), - (this.tickAngle = [0, 0, 0]), - (this.tickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.tickPad = [18, 18, 18]), - (this.labels = ["x", "y", "z"]), - (this.labelEnable = [!0, !0, !0]), - (this.labelFont = ["Open Sans", "Open Sans", "Open Sans"]), - (this.labelSize = [20, 20, 20]), - (this.labelAngle = [0, 0, 0]), - (this.labelColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.labelPad = [30, 30, 30]), - (this.lineEnable = [!0, !0, !0]), - (this.lineMirror = [!1, !1, !1]), - (this.lineWidth = [1, 1, 1]), - (this.lineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.lineTickEnable = [!0, !0, !0]), - (this.lineTickMirror = [!1, !1, !1]), - (this.lineTickLength = [10, 10, 10]), - (this.lineTickWidth = [1, 1, 1]), - (this.lineTickColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.gridEnable = [!0, !0, !0]), - (this.gridWidth = [1, 1, 1]), - (this.gridColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.zeroEnable = [!0, !0, !0]), - (this.zeroLineColor = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.zeroLineWidth = [2, 2, 2]), - (this.backgroundEnable = [!0, !0, !0]), - (this.backgroundColor = [ - [0.8, 0.8, 0.8, 0.5], - [0.8, 0.8, 0.8, 0.5], - [0.8, 0.8, 0.8, 0.5], - ]), - (this._defaultTickPad = this.tickPad.slice()), - (this._defaultLabelPad = this.labelPad.slice()), - (this._defaultLineTickLength = this.lineTickLength.slice())); - } - ((o.prototype.merge = function (t) { - for (var e = 0; e < 3; ++e) { - var r = t[a[e]]; - r.visible - ? ((this.labels[e] = n(r.title)), - "titlefont" in r && - (r.titlefont.color && (this.labelColor[e] = i(r.titlefont.color)), - r.titlefont.family && (this.labelFont[e] = r.titlefont.family), - r.titlefont.size && (this.labelSize[e] = r.titlefont.size)), - "showline" in r && (this.lineEnable[e] = r.showline), - "linecolor" in r && (this.lineColor[e] = i(r.linecolor)), - "linewidth" in r && (this.lineWidth[e] = r.linewidth), - "showgrid" in r && (this.gridEnable[e] = r.showgrid), - "gridcolor" in r && (this.gridColor[e] = i(r.gridcolor)), - "gridwidth" in r && (this.gridWidth[e] = r.gridwidth), - "log" === r.type - ? (this.zeroEnable[e] = !1) - : "zeroline" in r && (this.zeroEnable[e] = r.zeroline), - "zerolinecolor" in r && (this.zeroLineColor[e] = i(r.zerolinecolor)), - "zerolinewidth" in r && (this.zeroLineWidth[e] = r.zerolinewidth), - "ticks" in r && r.ticks - ? (this.lineTickEnable[e] = !0) - : (this.lineTickEnable[e] = !1), - "ticklen" in r && - (this.lineTickLength[e] = this._defaultLineTickLength[e] = - r.ticklen), - "tickcolor" in r && (this.lineTickColor[e] = i(r.tickcolor)), - "tickwidth" in r && (this.lineTickWidth[e] = r.tickwidth), - "tickangle" in r && - (this.tickAngle[e] = - "auto" === r.tickangle ? 0 : (Math.PI * -r.tickangle) / 180), - "showticklabels" in r && (this.tickEnable[e] = r.showticklabels), - "tickfont" in r && - (r.tickfont.color && (this.tickColor[e] = i(r.tickfont.color)), - r.tickfont.family && (this.tickFont[e] = r.tickfont.family), - r.tickfont.size && (this.tickSize[e] = r.tickfont.size)), - "mirror" in r - ? -1 !== ["ticks", "all", "allticks"].indexOf(r.mirror) - ? ((this.lineTickMirror[e] = !0), (this.lineMirror[e] = !0)) - : !0 === r.mirror - ? ((this.lineTickMirror[e] = !1), (this.lineMirror[e] = !0)) - : ((this.lineTickMirror[e] = !1), (this.lineMirror[e] = !1)) - : (this.lineMirror[e] = !1), - "showbackground" in r && !1 !== r.showbackground - ? ((this.backgroundEnable[e] = !0), - (this.backgroundColor[e] = i(r.backgroundcolor))) - : (this.backgroundEnable[e] = !1)) - : ((this.tickEnable[e] = !1), - (this.labelEnable[e] = !1), - (this.lineEnable[e] = !1), - (this.lineTickEnable[e] = !1), - (this.gridEnable[e] = !1), - (this.zeroEnable[e] = !1), - (this.backgroundEnable[e] = !1)); - } - }), - (e.exports = function (t) { - var e = new o(); - return (e.merge(t), e); - })); - }, - { "../../../lib/html2unicode": 600, "../../../lib/str2rgbarray": 625 }, - ], - 695: [ - function (t, e, r) { - "use strict"; - var n = t("../../../lib"), - i = t("../../../components/color"), - a = t("../../../registry"), - o = t("../../subplot_defaults"), - s = t("./axis_defaults"), - l = t("./layout_attributes"); - function c(t, e, r, n) { - for ( - var o = r("bgcolor"), - l = i.combine(o, n.paper_bgcolor), - c = ["up", "center", "eye"], - u = 0; - u < c.length; - u++ - ) - (r("camera." + c[u] + ".x"), - r("camera." + c[u] + ".y"), - r("camera." + c[u] + ".z")); - var f = - !!r("aspectratio.x") && !!r("aspectratio.y") && !!r("aspectratio.z"), - h = r("aspectmode", f ? "manual" : "auto"); - (f || - ((t.aspectratio = e.aspectratio = { x: 1, y: 1, z: 1 }), - "manual" === h && (e.aspectmode = "auto"), - (t.aspectmode = e.aspectmode)), - s(t, e, { - font: n.font, - scene: n.id, - data: n.fullData, - bgColor: l, - calendar: n.calendar, - fullLayout: n.fullLayout, - }), - a.getComponentMethod("annotations3d", "handleDefaults")(t, e, n), - r("dragmode", n.getDfltFromLayout("dragmode")), - r("hovermode", n.getDfltFromLayout("hovermode"))); - } - e.exports = function (t, e, r) { - var i = e._basePlotModules.length > 1; - o(t, e, r, { - type: "gl3d", - attributes: l, - handleDefaults: c, - fullLayout: e, - font: e.font, - fullData: r, - getDfltFromLayout: function (e) { - if (!i) return n.validate(t[e], l[e]) ? t[e] : void 0; - }, - paper_bgcolor: e.paper_bgcolor, - calendar: e.calendar, - }); - }; - }, - { - "../../../components/color": 474, - "../../../lib": 602, - "../../../registry": 732, - "../../subplot_defaults": 724, - "./axis_defaults": 693, - "./layout_attributes": 696, - }, - ], - 696: [ - function (t, e, r) { - "use strict"; - var n = t("./axis_attributes"), - i = t("../../domain").attributes, - a = t("../../../lib/extend").extendFlat, - o = t("../../../lib").counterRegex; - function s(t, e, r) { - return { - x: { valType: "number", dflt: t, editType: "camera" }, - y: { valType: "number", dflt: e, editType: "camera" }, - z: { valType: "number", dflt: r, editType: "camera" }, - editType: "camera", - }; - } - e.exports = { - _arrayAttrRegexps: [o("scene", ".annotations", !0)], - bgcolor: { valType: "color", dflt: "rgba(0,0,0,0)", editType: "plot" }, - camera: { - up: a(s(0, 0, 1), {}), - center: a(s(0, 0, 0), {}), - eye: a(s(1.25, 1.25, 1.25), {}), - editType: "camera", - }, - domain: i({ name: "scene", editType: "plot" }), - aspectmode: { - valType: "enumerated", - values: ["auto", "cube", "data", "manual"], - dflt: "auto", - editType: "plot", - impliedEdits: { - "aspectratio.x": void 0, - "aspectratio.y": void 0, - "aspectratio.z": void 0, - }, - }, - aspectratio: { - x: { - valType: "number", - min: 0, - editType: "plot", - impliedEdits: { "^aspectmode": "manual" }, - }, - y: { - valType: "number", - min: 0, - editType: "plot", - impliedEdits: { "^aspectmode": "manual" }, - }, - z: { - valType: "number", - min: 0, - editType: "plot", - impliedEdits: { "^aspectmode": "manual" }, - }, - editType: "plot", - impliedEdits: { aspectmode: "manual" }, - }, - xaxis: n, - yaxis: n, - zaxis: n, - dragmode: { - valType: "enumerated", - values: ["orbit", "turntable", "zoom", "pan", !1], - dflt: "turntable", - editType: "plot", - }, - hovermode: { - valType: "enumerated", - values: ["closest", !1], - dflt: "closest", - editType: "modebar", - }, - editType: "plot", - _deprecated: { - cameraposition: { valType: "info_array", editType: "camera" }, - }, - }; - }, - { - "../../../lib": 602, - "../../../lib/extend": 591, - "../../domain": 673, - "./axis_attributes": 692, - }, - ], - 697: [ - function (t, e, r) { - "use strict"; - var n = t("../../../lib/str2rgbarray"), - i = ["xaxis", "yaxis", "zaxis"]; - function a() { - ((this.enabled = [!0, !0, !0]), - (this.colors = [ - [0, 0, 0, 1], - [0, 0, 0, 1], - [0, 0, 0, 1], - ]), - (this.drawSides = [!0, !0, !0]), - (this.lineWidth = [1, 1, 1])); - } - ((a.prototype.merge = function (t) { - for (var e = 0; e < 3; ++e) { - var r = t[i[e]]; - r.visible - ? ((this.enabled[e] = r.showspikes), - (this.colors[e] = n(r.spikecolor)), - (this.drawSides[e] = r.spikesides), - (this.lineWidth[e] = r.spikethickness)) - : ((this.enabled[e] = !1), (this.drawSides[e] = !1)); - } - }), - (e.exports = function (t) { - var e = new a(); - return (e.merge(t), e); - })); - }, - { "../../../lib/str2rgbarray": 625 }, - ], - 698: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for ( - var e = t.axesOptions, - r = t.glplot.axesPixels, - l = t.fullSceneLayout, - c = [[], [], []], - u = 0; - u < 3; - ++u - ) { - var f = l[o[u]]; - if ( - ((f._length = - ((r[u].hi - r[u].lo) * r[u].pixelsPerDataUnit) / t.dataScale[u]), - Math.abs(f._length) === 1 / 0) - ) - c[u] = []; - else { - ((f._input_range = f.range.slice()), - (f.range[0] = r[u].lo / t.dataScale[u]), - (f.range[1] = r[u].hi / t.dataScale[u]), - (f._m = 1 / (t.dataScale[u] * r[u].pixelsPerDataUnit)), - f.range[0] === f.range[1] && ((f.range[0] -= 1), (f.range[1] += 1))); - var h = f.tickmode; - if ("auto" === f.tickmode) { - f.tickmode = "linear"; - var p = f.nticks || i.constrain(f._length / 40, 4, 9); - n.autoTicks(f, Math.abs(f.range[1] - f.range[0]) / p); - } - for (var d = n.calcTicks(f), g = 0; g < d.length; ++g) - ((d[g].x = d[g].x * t.dataScale[u]), (d[g].text = a(d[g].text))); - ((c[u] = d), (f.tickmode = h)); - } - } - e.ticks = c; - for (var u = 0; u < 3; ++u) { - s[u] = 0.5 * (t.glplot.bounds[0][u] + t.glplot.bounds[1][u]); - for (var g = 0; g < 2; ++g) e.bounds[g][u] = t.glplot.bounds[g][u]; - } - t.contourLevels = (function (t) { - for (var e = new Array(3), r = 0; r < 3; ++r) { - for (var n = t[r], i = new Array(n.length), a = 0; a < n.length; ++a) - i[a] = n[a].x; - e[r] = i; - } - return e; - })(c); - }; - var n = t("../../cartesian/axes"), - i = t("../../../lib"), - a = t("../../../lib/html2unicode"), - o = ["xaxis", "yaxis", "zaxis"], - s = [0, 0, 0]; - }, - { - "../../../lib": 602, - "../../../lib/html2unicode": 600, - "../../cartesian/axes": 648, - }, - ], - 699: [ - function (t, e, r) { - "use strict"; - function n(t, e) { - var r, - n, - i = [0, 0, 0, 0]; - for (r = 0; r < 4; ++r) for (n = 0; n < 4; ++n) i[n] += t[4 * r + n] * e[r]; - return i; - } - e.exports = function (t, e) { - return n(t.projection, n(t.view, n(t.model, [e[0], e[1], e[2], 1]))); - }; - }, - {}, - ], - 700: [ - function (t, e, r) { - "use strict"; - var n, - i, - a = t("gl-plot3d"), - o = t("webgl-context"), - s = t("has-passive-events"), - l = t("../../registry"), - c = t("../../lib"), - u = t("../../plots/cartesian/axes"), - f = t("../../components/fx"), - h = t("../../lib/str2rgbarray"), - p = t("../../lib/show_no_webgl_msg"), - d = t("./camera"), - g = t("./project"), - m = t("./layout/convert"), - v = t("./layout/spikes"), - y = t("./layout/tick_marks"); - function x(t, e, r, l) { - var h = { - canvas: r, - gl: l, - container: t.container, - axes: t.axesOptions, - spikes: t.spikeOptions, - pickRadius: 10, - snapToData: !0, - autoScale: !0, - autoBounds: !1, - }; - if (t.staticMode) { - if ( - !( - i || - ((n = document.createElement("canvas")), - (i = o({ - canvas: n, - preserveDrawingBuffer: !0, - premultipliedAlpha: !0, - antialias: !0, - }))) - ) - ) - throw new Error( - "error creating static canvas/context for image server", - ); - ((h.pixelRatio = t.pixelRatio), (h.gl = i), (h.canvas = n)); - } - try { - t.glplot = a(h); - } catch (e) { - p(t); - } - var m = function (t) { - if (!1 !== t.fullSceneLayout.dragmode) { - var e = {}; - ((e[t.id + ".camera"] = A(t.camera)), - t.saveCamera(t.graphDiv.layout), - t.graphDiv.emit("plotly_relayout", e)); - } - }; - if ( - (t.glplot.canvas.addEventListener("mouseup", m.bind(null, t)), - t.glplot.canvas.addEventListener( - "wheel", - m.bind(null, t), - !!s && { passive: !1 }, - ), - t.staticMode || - t.glplot.canvas.addEventListener("webglcontextlost", function (t) { - (c.warn("Lost WebGL context."), t.preventDefault()); - }), - !t.camera) - ) { - var v = t.fullSceneLayout.camera; - t.camera = d(t.container, { - center: [v.center.x, v.center.y, v.center.z], - eye: [v.eye.x, v.eye.y, v.eye.z], - up: [v.up.x, v.up.y, v.up.z], - zoomMin: 0.1, - zoomMax: 100, - mode: "orbit", - }); - } - return ( - (t.glplot.camera = t.camera), - (t.glplot.oncontextloss = function () { - t.recoverContext(); - }), - (t.glplot.onrender = function (t) { - var e, - r = t.svgContainer, - n = t.container.getBoundingClientRect(), - i = n.width, - a = n.height; - (r.setAttributeNS(null, "viewBox", "0 0 " + i + " " + a), - r.setAttributeNS(null, "width", i), - r.setAttributeNS(null, "height", a), - y(t), - t.glplot.axes.update(t.axesOptions)); - for ( - var o, - s = Object.keys(t.traces), - l = null, - c = t.glplot.selection, - h = 0; - h < s.length; - ++h - ) - ("skip" !== (e = t.traces[s[h]]).data.hoverinfo && - e.handlePick(c) && - (l = e), - e.setContourLevels && e.setContourLevels()); - function p(e, r) { - var n = t.fullSceneLayout[e]; - return u.tickText(n, n.d2l(r), "hover").text; - } - if (null !== l) { - var d = g(t.glplot.cameraParams, c.dataCoordinate); - e = l.data; - var m = c.index, - v = f.castHoverinfo(e, t.fullLayout, m), - x = p("xaxis", c.traceCoordinate[0]), - b = p("yaxis", c.traceCoordinate[1]), - _ = p("zaxis", c.traceCoordinate[2]); - if ("all" !== v) { - var w = v.split("+"); - (-1 === w.indexOf("x") && (x = void 0), - -1 === w.indexOf("y") && (b = void 0), - -1 === w.indexOf("z") && (_ = void 0), - -1 === w.indexOf("text") && (c.textLabel = void 0), - -1 === w.indexOf("name") && (l.name = void 0)); - } - t.fullSceneLayout.hovermode && - f.loneHover( - { - x: (0.5 + (0.5 * d[0]) / d[3]) * i, - y: (0.5 - (0.5 * d[1]) / d[3]) * a, - xLabel: x, - yLabel: b, - zLabel: _, - text: c.textLabel, - name: l.name, - color: f.castHoverOption(e, m, "bgcolor") || l.color, - borderColor: f.castHoverOption(e, m, "bordercolor"), - fontFamily: f.castHoverOption(e, m, "font.family"), - fontSize: f.castHoverOption(e, m, "font.size"), - fontColor: f.castHoverOption(e, m, "font.color"), - }, - { container: r, gd: t.graphDiv }, - ); - var k = { - x: c.traceCoordinate[0], - y: c.traceCoordinate[1], - z: c.traceCoordinate[2], - data: e._input, - fullData: e, - curveNumber: e.index, - pointNumber: m, - }; - f.appendArrayPointValue(k, e, m); - var M = { points: [k] }; - (c.buttons && c.distance < 5 - ? t.graphDiv.emit("plotly_click", M) - : t.graphDiv.emit("plotly_hover", M), - (o = M)); - } else (f.loneUnhover(r), t.graphDiv.emit("plotly_unhover", o)); - t.drawAnnotations(t); - }.bind(null, t)), - (t.traces = {}), - !0 - ); - } - function b(t, e) { - var r = document.createElement("div"), - n = t.container; - this.graphDiv = t.graphDiv; - var i = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - ((i.style.position = "absolute"), - (i.style.top = i.style.left = "0px"), - (i.style.width = i.style.height = "100%"), - (i.style["z-index"] = 20), - (i.style["pointer-events"] = "none"), - r.appendChild(i), - (this.svgContainer = i), - (r.id = t.id), - (r.style.position = "absolute"), - (r.style.top = r.style.left = "0px"), - (r.style.width = r.style.height = "100%"), - n.appendChild(r), - (this.fullLayout = e), - (this.id = t.id || "scene"), - (this.fullSceneLayout = e[this.id]), - (this.plotArgs = [[], {}, {}]), - (this.axesOptions = m(e[this.id])), - (this.spikeOptions = v(e[this.id])), - (this.container = r), - (this.staticMode = !!t.staticPlot), - (this.pixelRatio = t.plotGlPixelRatio || 2), - (this.dataScale = [1, 1, 1]), - (this.contourLevels = [[], [], []]), - (this.convertAnnotations = l.getComponentMethod( - "annotations3d", - "convert", - )), - (this.drawAnnotations = l.getComponentMethod("annotations3d", "draw")), - x(this)); - } - var _ = b.prototype; - _.recoverContext = function () { - var t = this, - e = this.glplot.gl, - r = this.glplot.canvas; - (this.glplot.dispose(), - requestAnimationFrame(function n() { - e.isContextLost() - ? requestAnimationFrame(n) - : x(t, t.fullLayout, r, e) - ? t.plot.apply(t, t.plotArgs) - : c.error( - "Catastrophic and unrecoverable WebGL error. Context lost.", - ); - })); - }; - var w = ["xaxis", "yaxis", "zaxis"]; - function k(t, e, r, n, i, a) { - var o; - if (!c.isArrayOrTypedArray(e)) - return ( - (i[0][n] = Math.min(i[0][n], 0)), - void (i[1][n] = Math.max(i[1][n], r - 1)) - ); - for (var s = 0; s < (r || e.length); ++s) - if (c.isArrayOrTypedArray(e[s])) - for (var l = 0; l < e[s].length; ++l) - ((o = t.d2l(e[s][l], 0, a)), - !isNaN(o) && - isFinite(o) && - ((i[0][n] = Math.min(i[0][n], o)), - (i[1][n] = Math.max(i[1][n], o)))); - else - ((o = t.d2l(e[s], 0, a)), - !isNaN(o) && - isFinite(o) && - ((i[0][n] = Math.min(i[0][n], o)), - (i[1][n] = Math.max(i[1][n], o)))); - } - function M(t, e, r) { - var n = t.fullSceneLayout; - (k(n.xaxis, e.x, e._xlength, 0, r, e.xcalendar), - k(n.yaxis, e.y, e._ylength, 1, r, e.ycalendar), - k(n.zaxis, e.z, e._zlength, 2, r, e.zcalendar)); - } - function A(t) { - return { - up: { x: t.up[0], y: t.up[1], z: t.up[2] }, - center: { x: t.center[0], y: t.center[1], z: t.center[2] }, - eye: { x: t.eye[0], y: t.eye[1], z: t.eye[2] }, - }; - } - ((_.plot = function (t, e, r) { - if (((this.plotArgs = [t, e, r]), !this.glplot.contextLost)) { - var n, - i, - a, - o, - s, - l, - c = e[this.id], - u = r[this.id]; - (c.bgcolor - ? (this.glplot.clearColor = h(c.bgcolor)) - : (this.glplot.clearColor = [0, 0, 0, 0]), - (this.glplot.snapToData = !0), - (this.fullLayout = e), - (this.fullSceneLayout = c), - (this.glplotLayout = c), - this.axesOptions.merge(c), - this.spikeOptions.merge(c), - this.setCamera(c.camera), - this.updateFx(c.dragmode, c.hovermode), - this.glplot.update({}), - this.setConvert(s), - t ? Array.isArray(t) || (t = [t]) : (t = [])); - var f = [ - [1 / 0, 1 / 0, 1 / 0], - [-1 / 0, -1 / 0, -1 / 0], - ]; - for (a = 0; a < t.length; ++a) !0 === (n = t[a]).visible && M(this, n, f); - var p = [1, 1, 1]; - for (o = 0; o < 3; ++o) - f[0][o] > f[1][o] - ? (p[o] = 1) - : f[1][o] === f[0][o] - ? (p[o] = 1) - : (p[o] = 1 / (f[1][o] - f[0][o])); - for ( - this.dataScale = p, this.convertAnnotations(this), a = 0; - a < t.length; - ++a - ) - !0 === (n = t[a]).visible && - ((i = this.traces[n.uid]) - ? i.update(n) - : ((i = n._module.plot(this, n)), (this.traces[n.uid] = i)), - (i.name = n.name)); - var d = Object.keys(this.traces); - t: for (a = 0; a < d.length; ++a) { - for (o = 0; o < t.length; ++o) - if (t[o].uid === d[a] && !0 === t[o].visible) continue t; - ((i = this.traces[d[a]]).dispose(), delete this.traces[d[a]]); - } - this.glplot.objects.sort(function (t, e) { - return t._trace.data.index - e._trace.data.index; - }); - var g = [ - [0, 0, 0], - [0, 0, 0], - ], - m = [], - v = {}; - for (a = 0; a < 3; ++a) { - if ( - ((l = (s = c[w[a]]).type) in v - ? ((v[l].acc *= p[a]), (v[l].count += 1)) - : (v[l] = { acc: p[a], count: 1 }), - s.autorange) - ) { - ((g[0][a] = 1 / 0), (g[1][a] = -1 / 0)); - var y = this.glplot.objects, - x = this.fullSceneLayout.annotations || [], - b = s._name.charAt(0); - for (o = 0; o < y.length; o++) { - var _ = y[o].bounds; - ((g[0][a] = Math.min(g[0][a], _[0][a] / p[a])), - (g[1][a] = Math.max(g[1][a], _[1][a] / p[a]))); - } - for (o = 0; o < x.length; o++) { - var k = x[o]; - if (k.visible) { - var A = s.r2l(k[b]); - ((g[0][a] = Math.min(g[0][a], A)), - (g[1][a] = Math.max(g[1][a], A))); - } - } - if ( - ("rangemode" in s && - "tozero" === s.rangemode && - ((g[0][a] = Math.min(g[0][a], 0)), - (g[1][a] = Math.max(g[1][a], 0))), - g[0][a] > g[1][a]) - ) - ((g[0][a] = -1), (g[1][a] = 1)); - else { - var T = g[1][a] - g[0][a]; - ((g[0][a] -= T / 32), (g[1][a] += T / 32)); - } - } else { - var S = s.range; - ((g[0][a] = s.r2l(S[0])), (g[1][a] = s.r2l(S[1]))); - } - (g[0][a] === g[1][a] && ((g[0][a] -= 1), (g[1][a] += 1)), - (m[a] = g[1][a] - g[0][a]), - (this.glplot.bounds[0][a] = g[0][a] * p[a]), - (this.glplot.bounds[1][a] = g[1][a] * p[a])); - } - var C = [1, 1, 1]; - for (a = 0; a < 3; ++a) { - var E = v[(l = (s = c[w[a]]).type)]; - C[a] = Math.pow(E.acc, 1 / E.count) / p[a]; - } - var L; - if ("auto" === c.aspectmode) - L = - Math.max.apply(null, C) / Math.min.apply(null, C) <= 4 - ? C - : [1, 1, 1]; - else if ("cube" === c.aspectmode) L = [1, 1, 1]; - else if ("data" === c.aspectmode) L = C; - else { - if ("manual" !== c.aspectmode) - throw new Error( - "scene.js aspectRatio was not one of the enumerated types", - ); - var z = c.aspectratio; - L = [z.x, z.y, z.z]; - } - ((c.aspectratio.x = u.aspectratio.x = L[0]), - (c.aspectratio.y = u.aspectratio.y = L[1]), - (c.aspectratio.z = u.aspectratio.z = L[2]), - (this.glplot.aspect = L)); - var P = c.domain || null, - D = e._size || null; - if (P && D) { - var O = this.container.style; - ((O.position = "absolute"), - (O.left = D.l + P.x[0] * D.w + "px"), - (O.top = D.t + (1 - P.y[1]) * D.h + "px"), - (O.width = D.w * (P.x[1] - P.x[0]) + "px"), - (O.height = D.h * (P.y[1] - P.y[0]) + "px")); - } - this.glplot.redraw(); - } - }), - (_.destroy = function () { - this.glplot && - ((this.camera.mouseListener.enabled = !1), - this.container.removeEventListener("wheel", this.camera.wheelListener), - (this.camera = this.glplot.camera = null), - this.glplot.dispose(), - this.container.parentNode.removeChild(this.container), - (this.glplot = null)); - }), - (_.getCamera = function () { - return ( - this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()), - A(this.glplot.camera) - ); - }), - (_.setCamera = function (t) { - var e; - this.glplot.camera.lookAt.apply(this, [ - [(e = t).eye.x, e.eye.y, e.eye.z], - [e.center.x, e.center.y, e.center.z], - [e.up.x, e.up.y, e.up.z], - ]); - }), - (_.saveCamera = function (t) { - var e = this.getCamera(), - r = c.nestedProperty(t, this.id + ".camera"), - n = r.get(), - i = !1; - function a(t, e, r, n) { - var i = ["up", "center", "eye"], - a = ["x", "y", "z"]; - return e[i[r]] && t[i[r]][a[n]] === e[i[r]][a[n]]; - } - if (void 0 === n) i = !0; - else - for (var o = 0; o < 3; o++) - for (var s = 0; s < 3; s++) - if (!a(e, n, o, s)) { - i = !0; - break; - } - return (i && r.set(e), i); - }), - (_.updateFx = function (t, e) { - var r = this.camera; - (r && - ("orbit" === t - ? ((r.mode = "orbit"), (r.keyBindingMode = "rotate")) - : "turntable" === t - ? ((r.up = [0, 0, 1]), - (r.mode = "turntable"), - (r.keyBindingMode = "rotate")) - : (r.keyBindingMode = t)), - (this.fullSceneLayout.hovermode = e)); - }), - (_.toImage = function (t) { - (t || (t = "png"), - this.staticMode && this.container.appendChild(n), - this.glplot.redraw()); - var e = this.glplot.gl, - r = e.drawingBufferWidth, - i = e.drawingBufferHeight; - e.bindFramebuffer(e.FRAMEBUFFER, null); - var a = new Uint8Array(r * i * 4); - e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); - for (var o = 0, s = i - 1; o < s; ++o, --s) - for (var l = 0; l < r; ++l) - for (var c = 0; c < 4; ++c) { - var u = a[4 * (r * o + l) + c]; - ((a[4 * (r * o + l) + c] = a[4 * (r * s + l) + c]), - (a[4 * (r * s + l) + c] = u)); - } - var f = document.createElement("canvas"); - ((f.width = r), (f.height = i)); - var h, - p = f.getContext("2d"), - d = p.createImageData(r, i); - switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { - case "jpeg": - h = f.toDataURL("image/jpeg"); - break; - case "webp": - h = f.toDataURL("image/webp"); - break; - default: - h = f.toDataURL("image/png"); - } - return (this.staticMode && this.container.removeChild(n), h); - }), - (_.setConvert = function () { - for (var t = 0; t < 3; t++) { - var e = this.fullSceneLayout[w[t]]; - (u.setConvert(e, this.fullLayout), (e.setScale = c.noop)); - } - }), - (e.exports = b)); - }, - { - "../../components/fx": 516, - "../../lib": 602, - "../../lib/show_no_webgl_msg": 623, - "../../lib/str2rgbarray": 625, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "./camera": 689, - "./layout/convert": 694, - "./layout/spikes": 697, - "./layout/tick_marks": 698, - "./project": 699, - "gl-plot3d": 253, - "has-passive-events": 297, - "webgl-context": 436, - }, - ], - 701: [ - function (t, e, r) { - "use strict"; - var n = t("./font_attributes"), - i = t("../components/color/attributes"), - a = n({ editType: "calc" }); - ((a.family.dflt = '"Open Sans", verdana, arial, sans-serif'), - (a.size.dflt = 12), - (a.color.dflt = i.defaultLine), - (e.exports = { - font: a, - title: { valType: "string", editType: "layoutstyle" }, - titlefont: n({ editType: "layoutstyle" }), - autosize: { valType: "boolean", dflt: !1, editType: "none" }, - width: { valType: "number", min: 10, dflt: 700, editType: "plot" }, - height: { valType: "number", min: 10, dflt: 450, editType: "plot" }, - margin: { - l: { valType: "number", min: 0, dflt: 80, editType: "plot" }, - r: { valType: "number", min: 0, dflt: 80, editType: "plot" }, - t: { valType: "number", min: 0, dflt: 100, editType: "plot" }, - b: { valType: "number", min: 0, dflt: 80, editType: "plot" }, - pad: { valType: "number", min: 0, dflt: 0, editType: "plot" }, - autoexpand: { valType: "boolean", dflt: !0, editType: "plot" }, - editType: "plot", - }, - paper_bgcolor: { valType: "color", dflt: i.background, editType: "plot" }, - plot_bgcolor: { - valType: "color", - dflt: i.background, - editType: "layoutstyle", - }, - separators: { valType: "string", editType: "plot" }, - hidesources: { valType: "boolean", dflt: !1, editType: "plot" }, - showlegend: { valType: "boolean", editType: "legend" }, - colorway: { valType: "colorlist", dflt: i.defaults, editType: "calc" }, - datarevision: { valType: "any", editType: "calc" }, - })); - }, - { "../components/color/attributes": 473, "./font_attributes": 674 }, - ], - 702: [ - function (t, e, r) { - "use strict"; - e.exports = { - requiredVersion: "0.44.1", - styleUrlPrefix: "mapbox://styles/mapbox/", - styleUrlSuffix: "v9", - controlContainerClassName: "mapboxgl-control-container", - wrongVersionErrorMsg: [ - "Your custom plotly.js bundle is not using the correct mapbox-gl version", - "Please install mapbox-gl@0.44.1.", - ].join("\n"), - noAccessTokenErrorMsg: [ - "Missing Mapbox access token.", - "Mapbox trace type require a Mapbox access token to be registered.", - "For example:", - " Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });", - "More info here: https://www.mapbox.com/help/define-access-token/", - ].join("\n"), - mapOnErrorMsg: "Mapbox error.", - styleRules: { - map: "overflow:hidden;position:relative;", - "missing-css": "display:none", - }, - }; - }, - {}, - ], - 703: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e) { - var r = t.split(" "), - i = r[0], - a = r[1], - o = n.isArrayOrTypedArray(e) ? n.mean(e) : e, - s = 0.5 + o / 100, - l = 1.5 + o / 100, - c = ["", ""], - u = [0, 0]; - switch (i) { - case "top": - ((c[0] = "top"), (u[1] = -l)); - break; - case "bottom": - ((c[0] = "bottom"), (u[1] = l)); - } - switch (a) { - case "left": - ((c[1] = "right"), (u[0] = -s)); - break; - case "right": - ((c[1] = "left"), (u[0] = s)); - } - return { - anchor: c[0] && c[1] ? c.join("-") : c[0] ? c[0] : c[1] ? c[1] : "center", - offset: u, - }; - }; - }, - { "../../lib": 602 }, - ], - 704: [ - function (t, e, r) { - "use strict"; - var n = t("mapbox-gl"), - i = t("../../lib"), - a = t("../../plots/get_data").getSubplotCalcData, - o = t("../../constants/xmlns_namespaces"), - s = t("./mapbox"), - l = t("./constants"); - for (var c in l.styleRules) i.addStyleRule(".mapboxgl-" + c, l.styleRules[c]); - ((r.name = "mapbox"), - (r.attr = "subplot"), - (r.idRoot = "mapbox"), - (r.idRegex = r.attrRegex = i.counterRegex("mapbox")), - (r.attributes = { - subplot: { valType: "subplotid", dflt: "mapbox", editType: "calc" }, - }), - (r.layoutAttributes = t("./layout_attributes")), - (r.supplyLayoutDefaults = t("./layout_defaults")), - (r.plot = function (t) { - var e = t._fullLayout, - r = t.calcdata, - o = e._subplots.mapbox; - if (n.version !== l.requiredVersion) - throw new Error(l.wrongVersionErrorMsg); - var c = (function (t, e) { - var r = t._fullLayout; - if ("" === t._context.mapboxAccessToken) return ""; - for (var n = 0; n < e.length; n++) { - var i = r[e[n]]; - if (i.accesstoken) return i.accesstoken; - } - throw new Error(l.noAccessTokenErrorMsg); - })(t, o); - n.accessToken = c; - for (var u = 0; u < o.length; u++) { - var f = o[u], - h = a(r, "mapbox", f), - p = e[f], - d = p._subplot; - (d || - ((d = s({ - gd: t, - container: e._glcontainer.node(), - id: f, - fullLayout: e, - staticPlot: t._context.staticPlot, - })), - (e[f]._subplot = d)), - d.viewInitial || - (d.viewInitial = { - center: i.extendFlat({}, p.center), - zoom: p.zoom, - bearing: p.bearing, - pitch: p.pitch, - }), - d.plot(h, e, t._promises)); - } - }), - (r.clean = function (t, e, r, n) { - for (var i = n._subplots.mapbox || [], a = 0; a < i.length; a++) { - var o = i[a]; - !e[o] && n[o]._subplot && n[o]._subplot.destroy(); - } - }), - (r.toSVG = function (t) { - for ( - var e = t._fullLayout, r = e._subplots.mapbox, n = e._size, i = 0; - i < r.length; - i++ - ) { - var a = e[r[i]], - s = a.domain, - l = a._subplot, - c = l.toImage("png"); - (e._glimages.append("svg:image").attr({ - xmlns: o.svg, - "xlink:href": c, - x: n.l + n.w * s.x[0], - y: n.t + n.h * (1 - s.y[1]), - width: n.w * (s.x[1] - s.x[0]), - height: n.h * (s.y[1] - s.y[0]), - preserveAspectRatio: "none", - }), - l.destroy()); - } - }), - (r.updateFx = function (t) { - for (var e = t._subplots.mapbox, r = 0; r < e.length; r++) { - t[e[r]]._subplot.updateFx(t); - } - })); - }, - { - "../../constants/xmlns_namespaces": 581, - "../../lib": 602, - "../../plots/get_data": 684, - "./constants": 702, - "./layout_attributes": 706, - "./layout_defaults": 707, - "./mapbox": 708, - "mapbox-gl": 311, - }, - ], - 705: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./convert_text_opts"); - function a(t, e) { - ((this.mapbox = t), - (this.map = t.map), - (this.uid = t.uid + "-layer" + e), - (this.idSource = this.uid + "-source"), - (this.idLayer = this.uid + "-layer"), - (this.sourceType = null), - (this.source = null), - (this.layerType = null), - (this.below = null), - (this.visible = !1)); - } - var o = a.prototype; - function s(t) { - var e = t.source; - return n.isPlainObject(e) || ("string" == typeof e && e.length > 0); - } - function l(t) { - var e = {}, - r = {}; - switch (t.type) { - case "circle": - n.extendFlat(r, { - "circle-radius": t.circle.radius, - "circle-color": t.color, - "circle-opacity": t.opacity, - }); - break; - case "line": - n.extendFlat(r, { - "line-width": t.line.width, - "line-color": t.color, - "line-opacity": t.opacity, - }); - break; - case "fill": - n.extendFlat(r, { - "fill-color": t.color, - "fill-outline-color": t.fill.outlinecolor, - "fill-opacity": t.opacity, - }); - break; - case "symbol": - var a = t.symbol, - o = i(a.textposition, a.iconsize); - (n.extendFlat(e, { - "icon-image": a.icon + "-15", - "icon-size": a.iconsize / 10, - "text-field": a.text, - "text-size": a.textfont.size, - "text-anchor": o.anchor, - "text-offset": o.offset, - }), - n.extendFlat(r, { - "icon-color": t.color, - "text-color": a.textfont.color, - "text-opacity": t.opacity, - })); - } - return { layout: e, paint: r }; - } - ((o.update = function (t) { - (this.visible - ? this.needsNewSource(t) - ? (this.updateLayer(t), this.updateSource(t)) - : this.needsNewLayer(t) - ? this.updateLayer(t) - : this.updateStyle(t) - : (this.updateSource(t), this.updateLayer(t)), - (this.visible = s(t))); - }), - (o.needsNewSource = function (t) { - return ( - this.sourceType !== t.sourcetype || - this.source !== t.source || - this.layerType !== t.type - ); - }), - (o.needsNewLayer = function (t) { - return this.layerType !== t.type || this.below !== t.below; - }), - (o.updateSource = function (t) { - var e = this.map; - if ( - (e.getSource(this.idSource) && e.removeSource(this.idSource), - (this.sourceType = t.sourcetype), - (this.source = t.source), - s(t)) - ) { - var r = (function (t) { - var e, - r = t.sourcetype, - n = t.source, - i = { type: r }; - "geojson" === r - ? (e = "data") - : "vector" === r && (e = "string" == typeof n ? "url" : "tiles"); - return ((i[e] = n), i); - })(t); - e.addSource(this.idSource, r); - } - }), - (o.updateLayer = function (t) { - var e = this.map, - r = l(t); - (e.getLayer(this.idLayer) && e.removeLayer(this.idLayer), - (this.layerType = t.type), - s(t) && - e.addLayer( - { - id: this.idLayer, - source: this.idSource, - "source-layer": t.sourcelayer || "", - type: t.type, - layout: r.layout, - paint: r.paint, - }, - t.below, - )); - }), - (o.updateStyle = function (t) { - if (s(t)) { - var e = l(t); - (this.mapbox.setOptions(this.idLayer, "setLayoutProperty", e.layout), - this.mapbox.setOptions(this.idLayer, "setPaintProperty", e.paint)); - } - }), - (o.dispose = function () { - var t = this.map; - (t.removeLayer(this.idLayer), t.removeSource(this.idSource)); - }), - (e.exports = function (t, e, r) { - var n = new a(t, e); - return (n.update(r), n); - })); - }, - { "../../lib": 602, "./convert_text_opts": 703 }, - ], - 706: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/color").defaultLine, - a = t("../domain").attributes, - o = t("../font_attributes"), - s = t("../../traces/scatter/attributes").textposition, - l = t("../../plot_api/edit_types").overrideAll, - c = o({}); - ((c.family.dflt = "Open Sans Regular, Arial Unicode MS Regular"), - (e.exports = l( - { - _arrayAttrRegexps: [n.counterRegex("mapbox", ".layers", !0)], - domain: a({ name: "mapbox" }), - accesstoken: { valType: "string", noBlank: !0, strict: !0 }, - style: { - valType: "any", - values: [ - "basic", - "streets", - "outdoors", - "light", - "dark", - "satellite", - "satellite-streets", - ], - dflt: "basic", - }, - center: { - lon: { valType: "number", dflt: 0 }, - lat: { valType: "number", dflt: 0 }, - }, - zoom: { valType: "number", dflt: 1 }, - bearing: { valType: "number", dflt: 0 }, - pitch: { valType: "number", dflt: 0 }, - layers: { - _isLinkedToArray: "layer", - sourcetype: { - valType: "enumerated", - values: ["geojson", "vector"], - dflt: "geojson", - }, - source: { valType: "any" }, - sourcelayer: { valType: "string", dflt: "" }, - type: { - valType: "enumerated", - values: ["circle", "line", "fill", "symbol"], - dflt: "circle", - }, - below: { valType: "string", dflt: "" }, - color: { valType: "color", dflt: i }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, - circle: { radius: { valType: "number", dflt: 15 } }, - line: { width: { valType: "number", dflt: 2 } }, - fill: { outlinecolor: { valType: "color", dflt: i } }, - symbol: { - icon: { valType: "string", dflt: "marker" }, - iconsize: { valType: "number", dflt: 10 }, - text: { valType: "string", dflt: "" }, - textfont: c, - textposition: n.extendFlat({}, s, { arrayOk: !1 }), - }, - }, - }, - "plot", - "from-root", - ))); - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../plot_api/edit_types": 633, - "../../traces/scatter/attributes": 926, - "../domain": 673, - "../font_attributes": 674, - }, - ], - 707: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../subplot_defaults"), - a = t("./layout_attributes"); - function o(t, e, r, i) { - (r("accesstoken", i.accessToken), - r("style"), - r("center.lon"), - r("center.lat"), - r("zoom"), - r("bearing"), - r("pitch"), - (function (t, e) { - var r, - i, - o = t.layers || [], - s = (e.layers = []); - function l(t, e) { - return n.coerce(r, i, a.layers, t, e); - } - for (var c = 0; c < o.length; c++) - if (((r = o[c]), (i = {}), n.isPlainObject(r))) { - var u = l("sourcetype"); - (l("source"), "vector" === u && l("sourcelayer")); - var f = l("type"); - (l("below"), - l("color"), - l("opacity"), - "circle" === f && l("circle.radius"), - "line" === f && l("line.width"), - "fill" === f && l("fill.outlinecolor"), - "symbol" === f && - (l("symbol.icon"), - l("symbol.iconsize"), - l("symbol.text"), - n.coerceFont(l, "symbol.textfont"), - l("symbol.textposition")), - (i._index = c), - s.push(i)); - } - })(t, e), - (e._input = t)); - } - e.exports = function (t, e, r) { - i(t, e, r, { - type: "mapbox", - attributes: a, - handleDefaults: o, - partition: "y", - accessToken: e._mapboxAccessToken, - }); - }; - }, - { "../../lib": 602, "../subplot_defaults": 724, "./layout_attributes": 706 }, - ], - 708: [ - function (t, e, r) { - "use strict"; - var n = t("mapbox-gl"), - i = t("../../components/fx"), - a = t("../../lib"), - o = t("../../components/dragelement"), - s = t("../cartesian/select").prepSelect, - l = t("./constants"), - c = t("./layout_attributes"), - u = t("./layers"); - function f(t) { - ((this.id = t.id), - (this.gd = t.gd), - (this.container = t.container), - (this.isStatic = t.staticPlot)); - var e = t.fullLayout; - ((this.uid = e._uid + "-" + this.id), - (this.opts = e[this.id]), - (this.div = null), - (this.xaxis = null), - (this.yaxis = null), - this.createFramework(e), - (this.map = null), - (this.accessToken = null), - (this.styleObj = null), - (this.traceHash = {}), - (this.layerList = [])); - } - var h = f.prototype; - function p(t) { - var e = c.style.values, - r = c.style.dflt, - n = {}; - return ( - a.isPlainObject(t) - ? ((n.id = t.id), (n.style = t)) - : "string" == typeof t - ? ((n.id = t), (n.style = -1 !== e.indexOf(t) ? d(t) : t)) - : ((n.id = r), (n.style = d(r))), - (n.transition = { duration: 0, delay: 0 }), - n - ); - } - function d(t) { - return l.styleUrlPrefix + t + "-" + l.styleUrlSuffix; - } - function g(t) { - return [t.lon, t.lat]; - } - ((e.exports = function (t) { - return new f(t); - }), - (h.plot = function (t, e, r) { - var n, - i = this, - a = (i.opts = e[this.id]); - (i.map && - a.accesstoken !== i.accessToken && - (i.map.remove(), - (i.map = null), - (i.styleObj = null), - (i.traceHash = []), - (i.layerList = {})), - (n = i.map - ? new Promise(function (r, n) { - i.updateMap(t, e, r, n); - }) - : new Promise(function (r, n) { - i.createMap(t, e, r, n); - })), - r.push(n)); - }), - (h.createMap = function (t, e, r, o) { - var s = this, - c = s.gd, - u = s.opts, - f = (s.styleObj = p(u.style)); - s.accessToken = u.accesstoken; - var h = (s.map = new n.Map({ - container: s.div, - style: f.style, - center: g(u.center), - zoom: u.zoom, - bearing: u.bearing, - pitch: u.pitch, - interactive: !s.isStatic, - preserveDrawingBuffer: s.isStatic, - doubleClickZoom: !1, - boxZoom: !1, - })), - d = l.controlContainerClassName, - m = s.div.getElementsByClassName(d)[0]; - function v() { - i.loneUnhover(e._toppaper); - } - (s.div.removeChild(m), - (h._canvas.style.left = "0px"), - (h._canvas.style.top = "0px"), - s.rejectOnError(o), - h.once("load", function () { - (s.updateData(t), s.updateLayout(e), s.resolveOnRender(r)); - }), - s.isStatic || - (h.on("moveend", function (t) { - if (s.map) { - var e = s.getView(); - if ( - ((u._input.center = u.center = e.center), - (u._input.zoom = u.zoom = e.zoom), - (u._input.bearing = u.bearing = e.bearing), - (u._input.pitch = u.pitch = e.pitch), - t.originalEvent) - ) { - var r = {}; - ((r[s.id] = a.extendFlat({}, e)), c.emit("plotly_relayout", r)); - } - } - }), - h.on("mousemove", function (t) { - var e = s.div.getBoundingClientRect(); - ((t.clientX = t.point.x + e.left), - (t.clientY = t.point.y + e.top), - (t.target.getBoundingClientRect = function () { - return e; - }), - (s.xaxis.p2c = function () { - return t.lngLat.lng; - }), - (s.yaxis.p2c = function () { - return t.lngLat.lat; - }), - i.hover(c, t, s.id)); - }), - h.on("click", function (t) { - i.click(c, t.originalEvent); - }), - h.on("dragstart", v), - h.on("zoomstart", v), - h.on("dblclick", function () { - var t = s.viewInitial; - (h.setCenter(g(t.center)), - h.setZoom(t.zoom), - h.setBearing(t.bearing), - h.setPitch(t.pitch)); - var e = s.getView(); - ((u._input.center = u.center = e.center), - (u._input.zoom = u.zoom = e.zoom), - (u._input.bearing = u.bearing = e.bearing), - (u._input.pitch = u.pitch = e.pitch), - c.emit("plotly_doubleclick", null)); - }), - (s.clearSelect = function () { - c._fullLayout._zoomlayer.selectAll(".select-outline").remove(); - }))); - }), - (h.updateMap = function (t, e, r, n) { - var i = this, - a = i.map; - i.rejectOnError(n); - var o = p(i.opts.style); - i.styleObj.id !== o.id - ? ((i.styleObj = o), - a.setStyle(o.style), - a.once("styledata", function () { - ((i.traceHash = {}), - i.updateData(t), - i.updateLayout(e), - i.resolveOnRender(r)); - })) - : (i.updateData(t), i.updateLayout(e), i.resolveOnRender(r)); - }), - (h.updateData = function (t) { - var e, - r, - n, - i, - a = this.traceHash; - for (n = 0; n < t.length; n++) { - var o = t[n]; - (e = a[(r = o[0].trace).uid]) - ? e.update(o) - : r._module && (a[r.uid] = r._module.plot(this, o)); - } - var s = Object.keys(a); - t: for (n = 0; n < s.length; n++) { - var l = s[n]; - for (i = 0; i < t.length; i++) - if (l === (r = t[i][0].trace).uid) continue t; - ((e = a[l]).dispose(), delete a[l]); - } - }), - (h.updateLayout = function (t) { - var e = this.map, - r = this.opts; - (e.setCenter(g(r.center)), - e.setZoom(r.zoom), - e.setBearing(r.bearing), - e.setPitch(r.pitch), - this.updateLayers(), - this.updateFramework(t), - this.updateFx(t), - this.map.resize()); - }), - (h.resolveOnRender = function (t) { - var e = this.map; - e.on("render", function r() { - e.loaded() && (e.off("render", r), setTimeout(t, 0)); - }); - }), - (h.rejectOnError = function (t) { - var e = this.map; - function r() { - t(new Error(l.mapOnErrorMsg)); - } - (e.once("error", r), - e.once("style.error", r), - e.once("source.error", r), - e.once("tile.error", r), - e.once("layer.error", r)); - }), - (h.createFramework = function (t) { - var e = this, - r = (e.div = document.createElement("div")); - ((r.id = e.uid), - (r.style.position = "absolute"), - e.container.appendChild(r), - (e.xaxis = { - _id: "x", - c2p: function (t) { - return e.project(t).x; - }, - }), - (e.yaxis = { - _id: "y", - c2p: function (t) { - return e.project(t).y; - }, - }), - e.updateFramework(t)); - }), - (h.updateFx = function (t) { - var e = this, - r = e.map, - n = e.gd; - if (!e.isStatic) { - var i, - a = t.dragmode; - if ( - ((i = - "select" === a - ? function (t, r) { - (t.range = {})[e.id] = [ - c([r.xmin, r.ymin]), - c([r.xmax, r.ymax]), - ]; - } - : function (t, r, n) { - (t.lassoPoints = {})[e.id] = n.filtered.map(c); - }), - "select" === a || "lasso" === a) - ) { - (r.dragPan.disable(), r.on("zoomstart", e.clearSelect)); - var l = { - element: e.div, - gd: n, - plotinfo: { xaxis: e.xaxis, yaxis: e.yaxis, fillRangeItems: i }, - xaxes: [e.xaxis], - yaxes: [e.yaxis], - subplot: e.id, - prepFn: function (t, e, r) { - s(t, e, r, l, a); - }, - }; - o.init(l); - } else - (r.dragPan.enable(), - r.off("zoomstart", e.clearSelect), - (e.div.onmousedown = null)); - } - function c(t) { - var r = e.map.unproject(t); - return [r.lng, r.lat]; - } - }), - (h.updateFramework = function (t) { - var e = t[this.id].domain, - r = t._size, - n = this.div.style; - ((n.width = r.w * (e.x[1] - e.x[0]) + "px"), - (n.height = r.h * (e.y[1] - e.y[0]) + "px"), - (n.left = r.l + e.x[0] * r.w + "px"), - (n.top = r.t + (1 - e.y[1]) * r.h + "px"), - (this.xaxis._offset = r.l + e.x[0] * r.w), - (this.xaxis._length = r.w * (e.x[1] - e.x[0])), - (this.yaxis._offset = r.t + (1 - e.y[1]) * r.h), - (this.yaxis._length = r.h * (e.y[1] - e.y[0]))); - }), - (h.updateLayers = function () { - var t, - e = this.opts.layers, - r = this.layerList; - if (e.length !== r.length) { - for (t = 0; t < r.length; t++) r[t].dispose(); - for (r = this.layerList = [], t = 0; t < e.length; t++) - r.push(u(this, t, e[t])); - } else for (t = 0; t < e.length; t++) r[t].update(e[t]); - }), - (h.destroy = function () { - this.map && - (this.map.remove(), - (this.map = null), - this.container.removeChild(this.div)); - }), - (h.toImage = function () { - return (this.map.stop(), this.map.getCanvas().toDataURL()); - }), - (h.setOptions = function (t, e, r) { - for (var n in r) this.map[e](t, n, r[n]); - }), - (h.project = function (t) { - return this.map.project(new n.LngLat(t[0], t[1])); - }), - (h.getView = function () { - var t = this.map, - e = t.getCenter(); - return { - center: { lon: e.lng, lat: e.lat }, - zoom: t.getZoom(), - bearing: t.getBearing(), - pitch: t.getPitch(), - }; - })); - }, - { - "../../components/dragelement": 496, - "../../components/fx": 516, - "../../lib": 602, - "../cartesian/select": 665, - "./constants": 702, - "./layers": 705, - "./layout_attributes": 706, - "mapbox-gl": 311, - }, - ], - 709: [ - function (t, e, r) { - "use strict"; - e.exports = { - t: { valType: "number", dflt: 0, editType: "arraydraw" }, - r: { valType: "number", dflt: 0, editType: "arraydraw" }, - b: { valType: "number", dflt: 0, editType: "arraydraw" }, - l: { valType: "number", dflt: 0, editType: "arraydraw" }, - editType: "arraydraw", - }; - }, - {}, - ], - 710: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("../registry"), - o = t("../plot_api/plot_schema"), - s = t("../lib"), - l = t("../components/color"), - c = t("../constants/numerical").BADNUM, - u = t("../plots/cartesian/axis_ids"), - f = t("./sort_modules").sortBasePlotModules, - h = t("./animation_attributes"), - p = t("./frame_attributes"), - d = s.relinkPrivateKeys, - g = s._, - m = (e.exports = {}); - (s.extendFlat(m, a), - (m.attributes = t("./attributes")), - (m.attributes.type.values = m.allTypes), - (m.fontAttrs = t("./font_attributes")), - (m.layoutAttributes = t("./layout_attributes")), - (m.fontWeight = "normal")); - var v = m.transformsRegistry, - y = t("./command"); - ((m.executeAPICommand = y.executeAPICommand), - (m.computeAPICommandBindings = y.computeAPICommandBindings), - (m.manageCommandObserver = y.manageCommandObserver), - (m.hasSimpleAPICommandBindings = y.hasSimpleAPICommandBindings), - (m.redrawText = function (t) { - if (!((t = s.getGraphDiv(t)).data && t.data[0] && t.data[0].r)) - return new Promise(function (e) { - setTimeout(function () { - (a.getComponentMethod("annotations", "draw")(t), - a.getComponentMethod("legend", "draw")(t), - (t.calcdata || []).forEach(function (t) { - t[0] && t[0].t && t[0].t.cb && t[0].t.cb(); - }), - e(m.previousPromises(t))); - }, 300); - }); - }), - (m.resize = function (t) { - return ( - (t = s.getGraphDiv(t)), - new Promise(function (e, r) { - ((t && - !(function (t) { - var e = window.getComputedStyle(t).display; - return !e || "none" === e; - })(t)) || - r(new Error("Resize must be passed a displayed plot div element.")), - t._redrawTimer && clearTimeout(t._redrawTimer), - (t._redrawTimer = setTimeout(function () { - if (t.layout.width && t.layout.height) e(t); - else { - (delete t.layout.width, delete t.layout.height); - var r = t.changed; - ((t.autoplay = !0), - a.call("relayout", t, { autosize: !0 }).then(function () { - ((t.changed = r), e(t)); - })); - } - }, 100))); - }) - ); - }), - (m.previousPromises = function (t) { - if ((t._promises || []).length) - return Promise.all(t._promises).then(function () { - t._promises = []; - }); - }), - (m.addLinks = function (t) { - if (t._context.showLink || t._context.showSources) { - var e = t._fullLayout, - r = s.ensureSingle( - e._paper, - "text", - "js-plot-link-container", - function (t) { - t.style({ - "font-family": '"Open Sans", Arial, sans-serif', - "font-size": "12px", - fill: l.defaultLine, - "pointer-events": "all", - }).each(function () { - var t = n.select(this); - (t.append("tspan").classed("js-link-to-tool", !0), - t.append("tspan").classed("js-link-spacer", !0), - t.append("tspan").classed("js-sourcelinks", !0)); - }); - }, - ), - i = r.node(), - a = { y: e._paper.attr("height") - 9 }; - (document.body.contains(i) && i.getComputedTextLength() >= e.width - 20 - ? ((a["text-anchor"] = "start"), (a.x = 5)) - : ((a["text-anchor"] = "end"), (a.x = e._paper.attr("width") - 7)), - r.attr(a)); - var o = r.select(".js-link-to-tool"), - c = r.select(".js-link-spacer"), - u = r.select(".js-sourcelinks"); - (t._context.showSources && t._context.showSources(t), - t._context.showLink && - (function (t, e) { - e.text(""); - var r = e - .append("a") - .attr({ - "xlink:xlink:href": "#", - class: "link--impt link--embedview", - "font-weight": "bold", - }) - .text(t._context.linkText + " " + String.fromCharCode(187)); - if (t._context.sendData) - r.on("click", function () { - m.sendDataToCloud(t); - }); - else { - var n = window.location.pathname.split("/"), - i = window.location.search; - r.attr({ - "xlink:xlink:show": "new", - "xlink:xlink:href": "/" + n[2].split(".")[0] + "/" + n[1] + i, - }); - } - })(t, o), - c.text(o.text() && u.text() ? " - " : "")); - } - }), - (m.sendDataToCloud = function (t) { - t.emit("plotly_beforeexport"); - var e = - (window.PLOTLYENV && window.PLOTLYENV.BASE_URL) || "https://plot.ly", - r = n - .select(t) - .append("div") - .attr("id", "hiddenform") - .style("display", "none"), - i = r - .append("form") - .attr({ action: e + "/external", method: "post", target: "_blank" }); - return ( - (i.append("input").attr({ type: "text", name: "data" }).node().value = - m.graphJson(t, !1, "keepdata")), - i.node().submit(), - r.remove(), - t.emit("plotly_afterexport"), - !1 - ); - })); - var x, - b = [ - "days", - "shortDays", - "months", - "shortMonths", - "periods", - "dateTime", - "date", - "time", - "decimal", - "thousands", - "grouping", - "currency", - ], - _ = ["year", "month", "dayMonth", "dayMonthYear"]; - function w(t, e) { - var r = t._context.locale, - n = !1, - i = {}; - function o(t) { - for (var r = !0, a = 0; a < e.length; a++) { - var o = e[a]; - i[o] || (t[o] ? (i[o] = t[o]) : (r = !1)); - } - r && (n = !0); - } - for (var s = 0; s < 2; s++) { - for (var l = t._context.locales, c = 0; c < 2; c++) { - var u = (l[r] || {}).format; - if (u && (o(u), n)) break; - l = a.localeRegistry; - } - var f = r.split("-")[0]; - if (n || f === r) break; - r = f; - } - return (n || o(a.localeRegistry.en.format), i); - } - function k(t, e, r, n) { - for (var i = t.transforms, a = [t], o = 0; o < i.length; o++) { - var s = i[o], - l = v[s.type]; - l && - l.transform && - (a = l.transform(a, { - transform: s, - fullTrace: t, - fullData: e, - layout: r, - fullLayout: n, - transformIndex: o, - })); - } - return a; - } - function M(t) { - for (var e = 0; e < t.length; e++) t[e].clearCalc(); - } - ((m.supplyDefaults = function (t, e) { - var r = e && e.skipUpdateCalc, - i = t._fullLayout || {}; - if (i._skipDefaults) delete i._skipDefaults; - else { - var o, - l = (t._fullLayout = {}), - c = t.layout || {}, - h = t._fullData || [], - p = (t._fullData = []), - v = t.data || [], - y = t.calcdata || [], - k = t._context || {}; - (t._transitionData || m.createTransitionData(t), - (l._dfltTitle = { - plot: g(t, "Click to enter Plot title"), - x: g(t, "Click to enter X axis title"), - y: g(t, "Click to enter Y axis title"), - colorbar: g(t, "Click to enter Colorscale title"), - annotation: g(t, "new text"), - }), - (l._traceWord = g(t, "trace"))); - var M = w(t, b); - if ( - ((l._mapboxAccessToken = k.mapboxAccessToken), i._initialAutoSizeIsDone) - ) { - var A = i.width, - T = i.height; - (m.supplyLayoutGlobalDefaults(c, l, M), - c.width || (l.width = A), - c.height || (l.height = T)); - } else { - m.supplyLayoutGlobalDefaults(c, l, M); - var S = !c.width || !c.height, - C = l.autosize, - E = k.autosizable; - (S && (C || E) ? m.plotAutoSize(t, c, l) : S && m.sanitizeMargins(t), - !C && S && ((c.width = l.width), (c.height = l.height))); - } - ((l._d3locale = (function (t, e) { - return ( - (t.decimal = e.charAt(0)), - (t.thousands = e.charAt(1)), - n.locale(t) - ); - })(M, l.separators)), - (l._extraFormat = w(t, _)), - (l._initialAutoSizeIsDone = !0), - (l._dataLength = v.length), - (l._modules = []), - (l._basePlotModules = [])); - var L = (l._subplots = (function () { - var t, - e, - r = {}; - if (!x) { - x = []; - var n = a.subplotsRegistry; - for (var i in n) { - var o = n[i], - l = o.attr; - if (l && (x.push(i), Array.isArray(l))) - for (e = 0; e < l.length; e++) s.pushUnique(x, l[e]); - } - } - for (t = 0; t < x.length; t++) r[x[t]] = []; - return r; - })()), - z = (l._splomAxes = { x: {}, y: {} }), - P = (l._splomSubplots = {}); - ((l._requestRangeslider = {}), - (l._globalTransforms = (t._context || {}).globalTransforms), - m.supplyDataDefaults(v, p, c, l)); - var D = Object.keys(z.x), - O = Object.keys(z.y); - if (D.length > 1 && O.length > 1) { - for ( - a.getComponentMethod("grid", "sizeDefaults")(c, l), o = 0; - o < D.length; - o++ - ) - s.pushUnique(L.xaxis, D[o]); - for (o = 0; o < O.length; o++) s.pushUnique(L.yaxis, O[o]); - for (var I in P) s.pushUnique(L.cartesian, I); - } - l._has = m._hasPlotType.bind(l); - var R = l._modules; - for (o = 0; o < R.length; o++) { - var B = R[o]; - B.cleanData && B.cleanData(p); - } - if (h.length === p.length) for (o = 0; o < p.length; o++) d(p[o], h[o]); - (m.supplyLayoutModuleDefaults(c, l, p, t._transitionData), - (l._hasOnlyLargeSploms = - 1 === l._basePlotModules.length && - "splom" === l._basePlotModules[0].name && - D.length > 15 && - O.length > 15 && - 0 === l.shapes.length && - 0 === l.images.length), - (l._hasCartesian = l._has("cartesian")), - (l._hasGeo = l._has("geo")), - (l._hasGL3D = l._has("gl3d")), - (l._hasGL2D = l._has("gl2d")), - (l._hasTernary = l._has("ternary")), - (l._hasPie = l._has("pie")), - m.linkSubplots(p, l, h, i), - m.cleanPlot(p, l, h, i, y), - d(l, i), - m.doAutoMargin(t)); - var F = u.list(t); - for (o = 0; o < F.length; o++) { - F[o].setScale(); - } - (r || y.length !== p.length || m.supplyDefaultsUpdateCalc(y, p), - l._basePlotModules.sort(f)); - } - }), - (m.supplyDefaultsUpdateCalc = function (t, e) { - for (var r = 0; r < e.length; r++) { - var n = e[r], - i = t[r][0]; - if (i && i.trace) { - var a = i.trace; - if (a._hasCalcTransform) { - var o, - l, - c, - u = a._arrayAttrs; - for (o = 0; o < u.length; o++) - ((l = u[o]), - (c = s.nestedProperty(a, l).get().slice()), - s.nestedProperty(n, l).set(c)); - } - i.trace = n; - } - } - }), - (m.createTransitionData = function (t) { - (t._transitionData || (t._transitionData = {}), - t._transitionData._frames || (t._transitionData._frames = []), - t._transitionData._frameHash || (t._transitionData._frameHash = {}), - t._transitionData._counter || (t._transitionData._counter = 0), - t._transitionData._interruptCallbacks || - (t._transitionData._interruptCallbacks = [])); - }), - (m._hasPlotType = function (t) { - var e, - r = this._basePlotModules || []; - for (e = 0; e < r.length; e++) if (r[e].name === t) return !0; - var n = this._modules || []; - for (e = 0; e < n.length; e++) { - var i = n[e].name; - if (i === t) return !0; - var o = a.modules[i]; - if (o && o.categories[t]) return !0; - } - return !1; - }), - (m.cleanPlot = function (t, e, r, n, i) { - var a, - o, - s = n._basePlotModules || []; - for (a = 0; a < s.length; a++) { - var l = s[a]; - l.clean && l.clean(t, e, r, n, i); - } - var c = n._has && n._has("gl"), - u = e._has && e._has("gl"); - c && - !u && - void 0 !== n._glcontainer && - (n._glcontainer.selectAll(".gl-canvas").remove(), (n._glcanvas = null)); - var f = !!n._infolayer; - t: for (a = 0; a < r.length; a++) { - var h = r[a].uid; - for (o = 0; o < t.length; o++) { - if (h === t[o].uid) continue t; - } - f && n._infolayer.select(".cb" + h).remove(); - } - n._zoomlayer && n._zoomlayer.selectAll(".select-outline").remove(); - }), - (m.linkSubplots = function (t, e, r, n) { - var i, - a, - o, - s, - l = n._plots || {}, - c = (e._plots = {}), - f = e._subplots, - h = { _fullData: t, _fullLayout: e }, - p = f.cartesian.concat(f.gl2d || []); - for (i = 0; i < p.length; i++) { - var d, - g = l[(o = p[i])], - m = u.getFromId(h, o, "x"), - v = u.getFromId(h, o, "y"); - for ( - g - ? ((d = c[o] = g).xaxis.layer !== m.layer && - (d.xlines.attr("d", null), - d.xaxislayer.selectAll("*").remove()), - d.yaxis.layer !== v.layer && - (d.ylines.attr("d", null), - d.yaxislayer.selectAll("*").remove())) - : ((d = c[o] = {}).id = o), - d.xaxis = m, - d.yaxis = v, - d._hasClipOnAxisFalse = !1, - a = 0; - a < t.length; - a++ - ) { - var y = t[a]; - if ( - y.xaxis === d.xaxis._id && - y.yaxis === d.yaxis._id && - !1 === y.cliponaxis - ) { - d._hasClipOnAxisFalse = !0; - break; - } - } - } - var x = u.list(h, null, !0); - for (i = 0; i < x.length; i++) { - var b = null; - ((s = x[i]).overlaying && - (b = u.getFromId(h, s.overlaying)) && - b.overlaying && - ((s.overlaying = !1), (b = null)), - (s._mainAxis = b || s), - b && (s.domain = b.domain.slice()), - (s._anchorAxis = - "free" === s.anchor ? null : u.getFromId(h, s.anchor))); - } - for (i = 0; i < x.length; i++) { - var _ = "x" === (s = x[i])._id.charAt(0), - w = s._mainAxis._anchorAxis, - k = "", - M = "", - A = ""; - if ( - (w && ((A = w._mainAxis._id), (k = _ ? s._id + A : A + s._id)), - !k || !c[k]) - ) - for (k = "", a = 0; a < p.length; a++) { - var T = (o = p[a]).indexOf("y"), - S = _ ? o.substr(0, T) : o.substr(T), - C = _ ? o.substr(T) : o.substr(0, T); - if (S === s._id) { - M || (M = o); - var E = u.getFromId(h, C); - if (A && E.overlaying === A) { - k = o; - break; - } - } - } - s._mainSubplot = k || M; - } - }), - (m.clearExpandedTraceDefaultColors = function (t) { - var e, r, n; - for ( - r = [], - (e = t._module._colorAttrs) || - ((t._module._colorAttrs = e = []), - o.crawl(t._module.attributes, function (t, n, i, a) { - ((r[a] = n), - (r.length = a + 1), - "color" === t.valType && - void 0 === t.dflt && - e.push(r.join("."))); - })), - n = 0; - n < e.length; - n++ - ) { - s.nestedProperty(t, "_input." + e[n]).get() || - s.nestedProperty(t, e[n]).set(null); - } - }), - (m.supplyDataDefaults = function (t, e, r, n) { - var i, - o, - l, - c = n._modules, - u = n._basePlotModules, - f = 0, - h = 0; - function p(t) { - e.push(t); - var r = t._module; - r && - (!0 === t.visible && s.pushUnique(c, r), - s.pushUnique(u, t._module.basePlotModule), - f++, - !1 !== t._input.visible && h++); - } - n._transformModules = []; - var g = {}, - v = []; - for (i = 0; i < t.length; i++) { - if ( - ((l = t[i]), - ((o = m.supplyTraceDefaults(l, h, n, i)).index = i), - (o._input = l), - (o._expandedIndex = f), - o.transforms && o.transforms.length) - ) - for (var y = k(o, e, r, n), x = 0; x < y.length; x++) { - var b = y[x], - _ = m.supplyTraceDefaults(b, f, n, i); - (d(_, b), - (b.uid = _.uid = o.uid + x), - (_.index = i), - (_._input = l), - (_._fullInput = o), - (_._expandedIndex = f), - (_._expandedInput = b), - p(_)); - } - else ((o._fullInput = o), (o._expandedInput = o), p(o)); - (a.traceIs(o, "carpetAxis") && (g[o.carpet] = o), - a.traceIs(o, "carpetDependent") && v.push(i)); - } - for (i = 0; i < v.length; i++) - if ((o = e[v[i]]).visible) { - var w = g[o.carpet]; - ((o._carpet = w), - w && w.visible - ? ((o.xaxis = w.xaxis), (o.yaxis = w.yaxis)) - : (o.visible = !1)); - } - }), - (m.supplyAnimationDefaults = function (t) { - var e; - t = t || {}; - var r = {}; - function n(e, n) { - return s.coerce(t || {}, r, h, e, n); - } - if ((n("mode"), n("direction"), n("fromcurrent"), Array.isArray(t.frame))) - for (r.frame = [], e = 0; e < t.frame.length; e++) - r.frame[e] = m.supplyAnimationFrameDefaults(t.frame[e] || {}); - else r.frame = m.supplyAnimationFrameDefaults(t.frame || {}); - if (Array.isArray(t.transition)) - for (r.transition = [], e = 0; e < t.transition.length; e++) - r.transition[e] = m.supplyAnimationTransitionDefaults( - t.transition[e] || {}, - ); - else - r.transition = m.supplyAnimationTransitionDefaults(t.transition || {}); - return r; - }), - (m.supplyAnimationFrameDefaults = function (t) { - var e = {}; - function r(r, n) { - return s.coerce(t || {}, e, h.frame, r, n); - } - return (r("duration"), r("redraw"), e); - }), - (m.supplyAnimationTransitionDefaults = function (t) { - var e = {}; - function r(r, n) { - return s.coerce(t || {}, e, h.transition, r, n); - } - return (r("duration"), r("easing"), e); - }), - (m.supplyFrameDefaults = function (t) { - var e = {}; - function r(r, n) { - return s.coerce(t, e, p, r, n); - } - return ( - r("group"), - r("name"), - r("traces"), - r("baseframe"), - r("data"), - r("layout"), - e - ); - }), - (m.supplyTraceDefaults = function (t, e, r, n) { - var i, - o = r.colorway || l.defaults, - c = {}, - u = o[e % o.length]; - function f(e, r) { - return s.coerce(t, c, m.attributes, e, r); - } - var h = f("visible"); - (f("type"), f("uid"), f("name", r._traceWord + " " + n)); - var p = m.getModule(c); - if (((c._module = p), p)) { - var d = p.basePlotModule, - g = d.attr, - v = d.attributes; - if (g && v) { - var y = r._subplots, - x = ""; - if ("gl2d" !== d.name || h) { - if (Array.isArray(g)) - for (i = 0; i < g.length; i++) { - var b = g[i], - _ = s.coerce(t, c, v, b); - (y[b] && s.pushUnique(y[b], _), (x += _)); - } - else x = s.coerce(t, c, v, g); - y[d.name] && s.pushUnique(y[d.name], x); - } - } - } - return ( - h && - (f("customdata"), - f("ids"), - a.traceIs(c, "showLegend") && (f("showlegend"), f("legendgroup")), - a.getComponentMethod("fx", "supplyDefaults")(t, c, u, r), - p && (p.supplyDefaults(t, c, u, r), s.coerceHoverinfo(t, c, r)), - a.traceIs(c, "noOpacity") || f("opacity"), - a.traceIs(c, "notLegendIsolatable") && (c.visible = !!c.visible), - p && p.selectPoints && f("selectedpoints"), - m.supplyTransformDefaults(t, c, r)), - c - ); - }), - (m.supplyTransformDefaults = function (t, e, r) { - if (e._length) { - var n = r._globalTransforms || [], - i = r._transformModules || []; - if (Array.isArray(t.transforms) || 0 !== n.length) - for ( - var a = t.transforms || [], - o = n.concat(a), - l = (e.transforms = []), - c = 0; - c < o.length; - c++ - ) { - var u, - f = o[c], - h = f.type, - p = v[h], - d = !(f._module && f._module === p), - g = p && "function" == typeof p.transform; - (p || s.warn("Unrecognized transform type " + h + "."), - p && p.supplyDefaults && (d || g) - ? (((u = p.supplyDefaults(f, e, r, t)).type = h), - (u._module = p), - s.pushUnique(i, p)) - : (u = s.extendFlat({}, f)), - l.push(u)); - } - } - }), - (m.supplyLayoutGlobalDefaults = function (t, e, r) { - function n(r, n) { - return s.coerce(t, e, m.layoutAttributes, r, n); - } - var i = s.coerceFont(n, "font"); - (n("title", e._dfltTitle.plot), - s.coerceFont(n, "titlefont", { - family: i.family, - size: Math.round(1.4 * i.size), - color: i.color, - }), - n("autosize", !(t.width && t.height)), - n("width"), - n("height"), - n("margin.l"), - n("margin.r"), - n("margin.t"), - n("margin.b"), - n("margin.pad"), - n("margin.autoexpand"), - t.width && t.height && m.sanitizeMargins(e), - a.getComponentMethod("grid", "sizeDefaults")(t, e), - n("paper_bgcolor"), - n("separators", r.decimal + r.thousands), - n("hidesources"), - n("colorway"), - n("datarevision"), - a.getComponentMethod("calendars", "handleDefaults")(t, e, "calendar"), - a.getComponentMethod("fx", "supplyLayoutGlobalDefaults")(t, e, n)); - }), - (m.plotAutoSize = function (t, e, r) { - var n, - a, - o = t._context || {}, - l = o.frameMargins, - c = s.isPlotDiv(t); - if ((c && t.emit("plotly_autosize"), o.fillFrame)) - ((n = window.innerWidth), - (a = window.innerHeight), - (document.body.style.overflow = "hidden")); - else if (i(l) && l > 0) { - var u = (function (t) { - var e, - r = { left: 0, right: 0, bottom: 0, top: 0 }; - if (t) - for (e in t) - t.hasOwnProperty(e) && - ((r.left += t[e].left || 0), - (r.right += t[e].right || 0), - (r.bottom += t[e].bottom || 0), - (r.top += t[e].top || 0)); - return r; - })(t._boundingBoxMargins), - f = u.left + u.right, - h = u.bottom + u.top, - p = 1 - 2 * l, - d = - r._container && r._container.node - ? r._container.node().getBoundingClientRect() - : { width: r.width, height: r.height }; - ((n = Math.round(p * (d.width - f))), - (a = Math.round(p * (d.height - h)))); - } else { - var g = c ? window.getComputedStyle(t) : {}; - ((n = parseFloat(g.width) || r.width), - (a = parseFloat(g.height) || r.height)); - } - var v = m.layoutAttributes.width.min, - y = m.layoutAttributes.height.min; - (n < v && (n = v), a < y && (a = y)); - var x = !e.width && Math.abs(r.width - n) > 1, - b = !e.height && Math.abs(r.height - a) > 1; - ((b || x) && (x && (r.width = n), b && (r.height = a)), - t._initialAutoSize || (t._initialAutoSize = { width: n, height: a }), - m.sanitizeMargins(r)); - }), - (m.supplyLayoutModuleDefaults = function (t, e, r, n) { - var i, - o, - l, - c = a.componentsRegistry, - u = e._basePlotModules, - f = a.subplotsRegistry.cartesian; - for (i in c) (l = c[i]).includeBasePlot && l.includeBasePlot(t, e); - for (var h in (u.length || u.push(f), - e._has("cartesian") && - (a.getComponentMethod("grid", "contentDefaults")(t, e), - f.finalizeSubplots(t, e)), - e._subplots)) - e._subplots[h].sort(s.subplotSort); - for (o = 0; o < u.length; o++) - (l = u[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); - var p = e._modules; - for (o = 0; o < p.length; o++) - (l = p[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); - var d = e._transformModules; - for (o = 0; o < d.length; o++) - (l = d[o]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r, n); - for (i in c) - (l = c[i]).supplyLayoutDefaults && l.supplyLayoutDefaults(t, e, r); - }), - (m.purge = function (t) { - var e = t._fullLayout || {}; - (void 0 !== e._glcontainer && - (e._glcontainer.selectAll(".gl-canvas").remove(), - e._glcontainer.remove(), - (e._glcanvas = null)), - void 0 !== e._geocontainer && e._geocontainer.remove(), - e._modeBar && e._modeBar.destroy(), - t._transitionData && - (t._transitionData._interruptCallbacks && - (t._transitionData._interruptCallbacks.length = 0), - t._transitionData._animationRaf && - window.cancelAnimationFrame(t._transitionData._animationRaf)), - s.clearThrottle(), - delete t.data, - delete t.layout, - delete t._fullData, - delete t._fullLayout, - delete t.calcdata, - delete t.framework, - delete t.empty, - delete t.fid, - delete t.undoqueue, - delete t.undonum, - delete t.autoplay, - delete t.changed, - delete t._promises, - delete t._redrawTimer, - delete t.firstscatter, - delete t._hmlumcount, - delete t._hmpixcount, - delete t._transitionData, - delete t._transitioning, - delete t._initialAutoSize, - delete t._transitioningWithDuration, - delete t._dragging, - delete t._dragged, - delete t._hoverdata, - delete t._snapshotInProgress, - delete t._editing, - delete t._replotPending, - delete t._mouseDownTime, - delete t._legendMouseDownTime, - t.removeAllListeners && t.removeAllListeners()); - }), - (m.style = function (t) { - var e, - r = t._fullLayout._modules, - n = []; - for (e = 0; e < r.length; e++) { - var i = r[e]; - i.style && s.pushUnique(n, i.style); - } - for (e = 0; e < n.length; e++) n[e](t); - }), - (m.sanitizeMargins = function (t) { - if (t && t.margin) { - var e, - r = t.width, - n = t.height, - i = t.margin, - a = r - (i.l + i.r), - o = n - (i.t + i.b); - (a < 0 && - ((e = (r - 1) / (i.l + i.r)), - (i.l = Math.floor(e * i.l)), - (i.r = Math.floor(e * i.r))), - o < 0 && - ((e = (n - 1) / (i.t + i.b)), - (i.t = Math.floor(e * i.t)), - (i.b = Math.floor(e * i.b)))); - } - }), - (m.autoMargin = function (t, e, r) { - var n = t._fullLayout; - if ((n._pushmargin || (n._pushmargin = {}), !1 !== n.margin.autoexpand)) { - if (r) { - var i = void 0 === r.pad ? 12 : r.pad; - (r.l + r.r > 0.5 * n.width && (r.l = r.r = 0), - r.b + r.t > 0.5 * n.height && (r.b = r.t = 0), - (n._pushmargin[e] = { - l: { val: r.x, size: r.l + i }, - r: { val: r.x, size: r.r + i }, - b: { val: r.y, size: r.b + i }, - t: { val: r.y, size: r.t + i }, - })); - } else delete n._pushmargin[e]; - n._replotting || m.doAutoMargin(t); - } - }), - (m.doAutoMargin = function (t) { - var e = t._fullLayout; - (e._size || (e._size = {}), e._pushmargin || (e._pushmargin = {})); - var r = e._size, - n = JSON.stringify(r), - o = Math.max(e.margin.l || 0, 0), - s = Math.max(e.margin.r || 0, 0), - l = Math.max(e.margin.t || 0, 0), - c = Math.max(e.margin.b || 0, 0), - u = e._pushmargin; - if (!1 !== e.margin.autoexpand) - for (var f in ((u.base = { - l: { val: 0, size: o }, - r: { val: 1, size: s }, - t: { val: 1, size: l }, - b: { val: 0, size: c }, - }), - u)) { - var h = u[f].l || {}, - p = u[f].b || {}, - d = h.val, - g = h.size, - m = p.val, - v = p.size; - for (var y in u) { - if (i(g) && u[y].r) { - var x = u[y].r.val, - b = u[y].r.size; - if (x > d) { - var _ = (g * x + (b - e.width) * d) / (x - d), - w = (b * (1 - d) + (g - e.width) * (1 - x)) / (x - d); - _ >= 0 && w >= 0 && _ + w > o + s && ((o = _), (s = w)); - } - } - if (i(v) && u[y].t) { - var k = u[y].t.val, - M = u[y].t.size; - if (k > m) { - var A = (v * k + (M - e.height) * m) / (k - m), - T = (M * (1 - m) + (v - e.height) * (1 - k)) / (k - m); - A >= 0 && T >= 0 && A + T > c + l && ((c = A), (l = T)); - } - } - } - } - if ( - ((r.l = Math.round(o)), - (r.r = Math.round(s)), - (r.t = Math.round(l)), - (r.b = Math.round(c)), - (r.p = Math.round(e.margin.pad)), - (r.w = Math.round(e.width) - r.l - r.r), - (r.h = Math.round(e.height) - r.t - r.b), - !e._replotting && "{}" !== n && n !== JSON.stringify(e._size)) - ) - return a.call("plot", t); - }), - (m.graphJson = function (t, e, r, n, i) { - ((i && e && !t._fullData) || (i && !e && !t._fullLayout)) && - m.supplyDefaults(t); - var a = i ? t._fullData : t.data, - o = i ? t._fullLayout : t.layout, - l = (t._transitionData || {})._frames; - function c(t) { - if ("function" == typeof t) return null; - if (s.isPlainObject(t)) { - var e, - n, - i = {}; - for (e in t) - if ( - "function" != typeof t[e] && - -1 === ["_", "["].indexOf(e.charAt(0)) - ) { - if ("keepdata" === r) { - if ("src" === e.substr(e.length - 3)) continue; - } else if ("keepstream" === r) { - if ( - "string" == typeof (n = t[e + "src"]) && - n.indexOf(":") > 0 && - !s.isPlainObject(t.stream) - ) - continue; - } else if ( - "keepall" !== r && - "string" == typeof (n = t[e + "src"]) && - n.indexOf(":") > 0 - ) - continue; - i[e] = c(t[e]); - } - return i; - } - return Array.isArray(t) - ? t.map(c) - : s.isJSDate(t) - ? s.ms2DateTimeLocal(+t) - : t; - } - var u = { - data: (a || []).map(function (t) { - var r = c(t); - return (e && delete r.fit, r); - }), - }; - return ( - e || (u.layout = c(o)), - t.framework && t.framework.isPolar && (u = t.framework.getConfig()), - l && (u.frames = c(l)), - "object" === n ? u : JSON.stringify(u) - ); - }), - (m.modifyFrames = function (t, e) { - var r, - n, - i, - a = t._transitionData._frames, - o = t._transitionData._frameHash; - for (r = 0; r < e.length; r++) - switch ((n = e[r]).type) { - case "replace": - i = n.value; - var s = (a[n.index] || {}).name, - l = i.name; - ((a[n.index] = o[l] = i), l !== s && (delete o[s], (o[l] = i))); - break; - case "insert": - ((o[(i = n.value).name] = i), a.splice(n.index, 0, i)); - break; - case "delete": - (delete o[(i = a[n.index]).name], a.splice(n.index, 1)); - } - return Promise.resolve(); - }), - (m.computeFrame = function (t, e) { - var r, - n, - i, - a, - o = t._transitionData._frameHash; - if (!e) throw new Error("computeFrame must be given a string frame name"); - var s = o[e.toString()]; - if (!s) return !1; - for ( - var l = [s], c = [s.name]; - s.baseframe && - (s = o[s.baseframe.toString()]) && - -1 === c.indexOf(s.name); - - ) - (l.push(s), c.push(s.name)); - for (var u = {}; (s = l.pop()); ) - if ( - (s.layout && (u.layout = m.extendLayout(u.layout, s.layout)), s.data) - ) { - if ((u.data || (u.data = []), !(n = s.traces))) - for (n = [], r = 0; r < s.data.length; r++) n[r] = r; - for (u.traces || (u.traces = []), r = 0; r < s.data.length; r++) - void 0 !== (i = n[r]) && - null !== i && - (-1 === (a = u.traces.indexOf(i)) && - ((a = u.data.length), (u.traces[a] = i)), - (u.data[a] = m.extendTrace(u.data[a], s.data[r]))); - } - return u; - }), - (m.recomputeFrameHash = function (t) { - for ( - var e = (t._transitionData._frameHash = {}), - r = t._transitionData._frames, - n = 0; - n < r.length; - n++ - ) { - var i = r[n]; - i && i.name && (e[i.name] = i); - } - }), - (m.extendObjectWithContainers = function (t, e, r) { - var n, - i, - a, - o, - l, - c, - u, - f = s.extendDeepNoArrays({}, e || {}), - h = s.expandObjectPaths(f), - p = {}; - if (r && r.length) - for (a = 0; a < r.length; a++) - void 0 === (i = (n = s.nestedProperty(h, r[a])).get()) - ? s.nestedProperty(p, r[a]).set(null) - : (n.set(null), s.nestedProperty(p, r[a]).set(i)); - if (((t = s.extendDeepNoArrays(t || {}, h)), r && r.length)) - for (a = 0; a < r.length; a++) - if ((c = s.nestedProperty(p, r[a]).get())) { - for ( - u = (l = s.nestedProperty(t, r[a])).get(), - Array.isArray(u) || ((u = []), l.set(u)), - o = 0; - o < c.length; - o++ - ) { - var d = c[o]; - u[o] = null === d ? null : m.extendObjectWithContainers(u[o], d); - } - l.set(u); - } - return t; - }), - (m.dataArrayContainers = ["transforms", "dimensions"]), - (m.layoutArrayContainers = a.layoutArrayContainers), - (m.extendTrace = function (t, e) { - return m.extendObjectWithContainers(t, e, m.dataArrayContainers); - }), - (m.extendLayout = function (t, e) { - return m.extendObjectWithContainers(t, e, m.layoutArrayContainers); - }), - (m.transition = function (t, e, r, n, i, o) { - var l, - c, - u = Array.isArray(e) ? e.length : 0, - f = n.slice(0, u), - h = []; - var p = !1; - for (l = 0; l < f.length; l++) { - c = f[l]; - t._fullData[c]._module; - } - var d = [ - m.previousPromises, - function () { - if (t._transitionData) - return ( - (t._transitioning = !1), - (function (t) { - var e = Promise.resolve(); - if (!t) return e; - for (; t.length; ) e = e.then(t.shift()); - return e; - })(t._transitionData._interruptCallbacks) - ); - }, - function () { - var n; - for (n = 0; n < f.length; n++) { - var i = f[n], - o = t._fullData[i]._module; - o && - (o.animatable && h.push(i), - (t.data[f[n]] = m.extendTrace(t.data[f[n]], e[n]))); - } - var l = s.expandObjectPaths(s.extendDeepNoArrays({}, r)), - c = /^[xy]axis[0-9]*$/; - for (var u in l) c.test(u) && delete l[u].range; - return ( - m.extendLayout(t.layout, l), - delete t.calcdata, - m.supplyDefaults(t), - m.doCalcdata(t), - a.getComponentMethod("errorbars", "calc")(t), - Promise.resolve() - ); - }, - m.rehover, - function () { - return ( - t.emit("plotly_transitioning", []), - new Promise(function (e) { - ((t._transitioning = !0), - o.duration > 0 && (t._transitioningWithDuration = !0), - t._transitionData._interruptCallbacks.push(function () { - p = !0; - }), - i.redraw && - t._transitionData._interruptCallbacks.push(function () { - return a.call("redraw", t); - }), - t._transitionData._interruptCallbacks.push(function () { - t.emit("plotly_transitioninterrupted", []); - })); - var n, - l, - c = 0, - u = 0; - function f() { - return ( - c++, - function () { - var r; - p || - ++u !== c || - ((r = e), - t._transitionData && - ((function (t) { - if (t) for (; t.length; ) t.shift(); - })(t._transitionData._interruptCallbacks), - Promise.resolve() - .then(function () { - if (i.redraw) return a.call("redraw", t); - }) - .then(function () { - ((t._transitioning = !1), - (t._transitioningWithDuration = !1), - t.emit("plotly_transitioned", [])); - }) - .then(r))); - } - ); - } - var d = t._fullLayout._basePlotModules, - g = !1; - if (r) - for (l = 0; l < d.length; l++) - if (d[l].transitionAxes) { - var m = s.expandObjectPaths(r); - g = d[l].transitionAxes(t, m, o, f) || g; - } - for ( - g ? ((n = s.extendFlat({}, o)).duration = 0) : (n = o), l = 0; - l < d.length; - l++ - ) - d[l].plot(t, h, n, f); - setTimeout(f()); - }) - ); - }, - ], - g = s.syncOrAsync(d, t); - return ( - (g && g.then) || (g = Promise.resolve()), - g.then(function () { - return t; - }) - ); - }), - (m.doCalcdata = function (t, e) { - var r, - n, - i, - s, - l = u.list(t), - f = t._fullData, - h = t._fullLayout, - p = new Array(f.length), - d = (t.calcdata || []).slice(0); - for ( - t.calcdata = p, - t.firstscatter = !0, - h._numBoxes = 0, - h._numViolins = 0, - h._violinScaleGroupStats = {}, - t._hmpixcount = 0, - t._hmlumcount = 0, - h._piecolormap = {}, - h._piecolorway = null, - h._piedefaultcolorcount = 0, - i = 0; - i < f.length; - i++ - ) - Array.isArray(e) && -1 === e.indexOf(i) && (p[i] = d[i]); - for (i = 0; i < f.length; i++) - (r = f[i])._arrayAttrs = o.findArrayAttributes(r); - var g = h._subplots.polar || []; - for (i = 0; i < g.length; i++) - l.push(h[g[i]].radialaxis, h[g[i]].angularaxis); - M(l); - var m = !1; - for (i = 0; i < f.length; i++) - if (!0 === (r = f[i]).visible && r.transforms) - for ( - (n = r._module) && n.calc && n.calc(t, r), s = 0; - s < r.transforms.length; - s++ - ) { - var y = r.transforms[s]; - (n = v[y.type]) && - n.calcTransform && - ((r._hasCalcTransform = !0), (m = !0), n.calcTransform(t, r, y)); - } - function x(e, i) { - if (((r = f[e]), !!(n = r._module).isContainer === i)) { - var a = []; - if (!0 === r.visible) { - var o = r.transforms || []; - for (s = o.length - 1; s >= 0; s--) - if (o[s].enabled) { - r._indexToPoints = o[s]._indexToPoints; - break; - } - n && n.calc && (a = n.calc(t, r)); - } - ((Array.isArray(a) && a[0]) || (a = [{ x: c, y: c }]), - a[0].t || (a[0].t = {}), - (a[0].trace = r), - (p[e] = a)); - } - } - for (m && M(l), i = 0; i < f.length; i++) x(i, !0); - for (i = 0; i < f.length; i++) x(i, !1); - a.getComponentMethod("fx", "calc")(t); - }), - (m.rehover = function (t) { - t._fullLayout._rehover && t._fullLayout._rehover(); - }), - (m.generalUpdatePerTraceModule = function (t, e, r, n) { - var i, - a = e.traceHash, - o = {}; - for (i = 0; i < r.length; i++) { - var l = r[i], - c = l[0].trace; - c.visible && ((o[c.type] = o[c.type] || []), o[c.type].push(l)); - } - for (var u in a) - if (!o[u]) { - var f = a[u][0]; - ((f[0].trace.visible = !1), (o[u] = [f])); - } - for (var h in o) { - var p = o[h]; - p[0][0].trace._module.plot(t, e, s.filterVisible(p), n); - } - e.traceHash = o; - })); - }, - { - "../components/color": 474, - "../constants/numerical": 579, - "../lib": 602, - "../plot_api/plot_schema": 639, - "../plots/cartesian/axis_ids": 651, - "../registry": 732, - "./animation_attributes": 643, - "./attributes": 645, - "./command": 672, - "./font_attributes": 674, - "./frame_attributes": 675, - "./layout_attributes": 701, - "./sort_modules": 723, - d3: 130, - "fast-isnumeric": 196, - }, - ], - 711: [ - function (t, e, r) { - "use strict"; - e.exports = { - attr: "subplot", - name: "polar", - axisNames: ["angularaxis", "radialaxis"], - axisName2dataArray: { angularaxis: "theta", radialaxis: "r" }, - layerNames: [ - "draglayer", - "plotbg", - "backplot", - "angular-grid", - "radial-grid", - "frontplot", - "angular-axis", - "radial-axis", - "angular-line", - "radial-line", - ], - radialDragBoxSize: 50, - angularDragBoxSize: 30, - cornerLen: 25, - cornerHalfWidth: 2, - MINDRAG: 8, - MINZOOM: 20, - OFFEDGE: 20, - }; - }, - {}, - ], - 712: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - r.setConvertAngular = function (t) { - var e, - r, - i = { clockwise: -1, counterclockwise: 1 }[t.direction], - a = n.deg2rad(t.rotation); - function o() { - return t.period - ? Math.max(t.period, t._categories.length) - : t._categories.length; - } - function s(t) { - return (t - a) / i; - } - ("linear" === t.type - ? ((e = function (t, e) { - return "degrees" === e ? n.deg2rad(t) : t; - }), - (r = function (t, e) { - return "degrees" === e ? n.rad2deg(t) : t; - })) - : "category" === t.type && - ((e = function (t) { - var e = o(); - return (2 * t * Math.PI) / e; - }), - (r = function (t) { - return (t * o()) / Math.PI / 2; - })), - (t.unTransformRad = s), - (t._c2rad = e), - (t.c2rad = function (t, r) { - return (function (t) { - return i * t + a; - })(e(t, r)); - }), - (t.rad2c = function (t, e) { - return r(s(t), e); - }), - (t.c2deg = function (e, r) { - return n.rad2deg(t.c2rad(e, r)); - }), - (t.deg2c = function (e, r) { - return t.rad2c(n.deg2rad(e), r); - })); - }; - }, - { "../../lib": 602 }, - ], - 713: [ - function (t, e, r) { - "use strict"; - var n = t("../get_data").getSubplotCalcData, - i = t("../../lib").counterRegex, - a = t("./polar"), - o = t("./constants"), - s = o.attr, - l = o.name, - c = i(l), - u = {}; - ((u[s] = { valType: "subplotid", dflt: l, editType: "calc" }), - (e.exports = { - attr: s, - name: l, - idRoot: l, - idRegex: c, - attrRegex: c, - attributes: u, - layoutAttributes: t("./layout_attributes"), - supplyLayoutDefaults: t("./layout_defaults"), - plot: function (t) { - for ( - var e = t._fullLayout, r = t.calcdata, i = e._subplots[l], o = 0; - o < i.length; - o++ - ) { - var s = i[o], - c = n(r, l, s), - u = e[s]._subplot; - (u || ((u = a(t, s)), (e[s]._subplot = u)), - u.plot(c, e, t._promises)); - } - }, - clean: function (t, e, r, n) { - for (var i = n._subplots[l] || [], a = 0; a < i.length; a++) { - var o = i[a], - s = n[o]._subplot; - if (!e[o] && s) - for (var c in (s.framework.remove(), - s.layers["radial-axis-title"].remove(), - s.clipPaths)) - s.clipPaths[c].remove(); - } - }, - toSVG: t("../cartesian").toSVG, - })); - }, - { - "../../lib": 602, - "../cartesian": 659, - "../get_data": 684, - "./constants": 711, - "./layout_attributes": 714, - "./layout_defaults": 715, - "./polar": 722, - }, - ], - 714: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color/attributes"), - i = t("../cartesian/layout_attributes"), - a = t("../domain").attributes, - o = t("../../lib").extendFlat, - s = t("../../plot_api/edit_types").overrideAll, - l = s( - { - color: i.color, - showline: o({}, i.showline, { dflt: !0 }), - linecolor: i.linecolor, - linewidth: i.linewidth, - showgrid: o({}, i.showgrid, { dflt: !0 }), - gridcolor: i.gridcolor, - gridwidth: i.gridwidth, - }, - "plot", - "from-root", - ), - c = s( - { - tickmode: i.tickmode, - nticks: i.nticks, - tick0: i.tick0, - dtick: i.dtick, - tickvals: i.tickvals, - ticktext: i.ticktext, - ticks: i.ticks, - ticklen: i.ticklen, - tickwidth: i.tickwidth, - tickcolor: i.tickcolor, - showticklabels: i.showticklabels, - showtickprefix: i.showtickprefix, - tickprefix: i.tickprefix, - showticksuffix: i.showticksuffix, - ticksuffix: i.ticksuffix, - showexponent: i.showexponent, - exponentformat: i.exponentformat, - separatethousands: i.separatethousands, - tickfont: i.tickfont, - tickangle: i.tickangle, - tickformat: i.tickformat, - tickformatstops: i.tickformatstops, - layer: i.layer, - }, - "plot", - "from-root", - ), - u = { - visible: o({}, i.visible, { dflt: !0 }), - type: i.type, - autorange: i.autorange, - rangemode: { - valType: "enumerated", - values: ["tozero", "nonnegative", "normal"], - dflt: "tozero", - editType: "calc", - }, - range: i.range, - categoryorder: i.categoryorder, - categoryarray: i.categoryarray, - angle: { valType: "angle", editType: "plot" }, - side: { - valType: "enumerated", - values: ["clockwise", "counterclockwise"], - dflt: "clockwise", - editType: "plot", - }, - title: o({}, i.title, { editType: "plot", dflt: "" }), - titlefont: s(i.titlefont, "plot", "from-root"), - hoverformat: i.hoverformat, - editType: "calc", - }; - o(u, l, c); - var f = { - visible: o({}, i.visible, { dflt: !0 }), - type: { - valType: "enumerated", - values: ["-", "linear", "category"], - dflt: "-", - editType: "calc", - }, - categoryorder: i.categoryorder, - categoryarray: i.categoryarray, - thetaunit: { - valType: "enumerated", - values: ["radians", "degrees"], - dflt: "degrees", - editType: "calc", - }, - period: { valType: "number", editType: "calc", min: 0 }, - direction: { - valType: "enumerated", - values: ["counterclockwise", "clockwise"], - dflt: "counterclockwise", - editType: "calc", - }, - rotation: { valType: "angle", editType: "calc" }, - hoverformat: i.hoverformat, - editType: "calc", - }; - (o(f, l, c), - (e.exports = { - domain: a({ name: "polar", editType: "plot" }), - sector: { - valType: "info_array", - items: [ - { valType: "number", editType: "plot" }, - { valType: "number", editType: "plot" }, - ], - dflt: [0, 360], - editType: "plot", - }, - bgcolor: { valType: "color", editType: "plot", dflt: n.background }, - radialaxis: u, - angularaxis: f, - editType: "calc", - })); - }, - { - "../../components/color/attributes": 473, - "../../lib": 602, - "../../plot_api/edit_types": 633, - "../cartesian/layout_attributes": 660, - "../domain": 673, - }, - ], - 715: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/color"), - a = t("../subplot_defaults"), - o = t("../get_data").getSubplotData, - s = t("../cartesian/tick_value_defaults"), - l = t("../cartesian/tick_mark_defaults"), - c = t("../cartesian/tick_label_defaults"), - u = t("../cartesian/category_order_defaults"), - f = t("../cartesian/line_grid_defaults"), - h = t("../cartesian/axis_autotype"), - p = t("../cartesian/set_convert"), - d = t("./helpers").setConvertAngular, - g = t("./layout_attributes"), - m = t("./constants"), - v = m.axisNames; - function y(t, e, r, a) { - var h = r("bgcolor"); - a.bgColor = i.combine(h, a.paper_bgcolor); - var y, - b = r("sector"), - _ = o(a.fullData, m.name, a.id), - w = a.layoutOut; - function k(t, e) { - return r(y + "." + t, e); - } - for (var M = 0; M < v.length; M++) { - ((y = v[M]), n.isPlainObject(t[y]) || (t[y] = {})); - var A = t[y], - T = (e[y] = {}); - T._id = T._name = y; - var S = m.axisName2dataArray[y], - C = x(A, T, k, _, S); - u(A, T, k, { axData: _, dataAttr: S }); - var E, - L, - z = k("visible"); - switch ( - (p(T, w), - z && (L = (E = k("color")) === A.color ? E : a.font.color), - (T._m = 1), - y) - ) { - case "radialaxis": - var P = k("autorange", !T.isValidRange(A.range)); - ((A.autorange = P), - P && k("rangemode"), - "reversed" === P && (T._m = -1), - k("range"), - T.cleanRange("range", { dfltRange: [0, 1] }), - z && - (k("side"), - k("angle", b[0]), - k("title"), - n.coerceFont(k, "titlefont", { - family: a.font.family, - size: Math.round(1.2 * a.font.size), - color: L, - }))); - break; - case "angularaxis": - if ("date" === C) { - n.log("Polar plots do not support date angular axes yet."); - for (var D = 0; D < _.length; D++) _[D].visible = !1; - C = A.type = T.type = "linear"; - } - (k("linear" === C ? "thetaunit" : "period"), - k( - "rotation", - { counterclockwise: 0, clockwise: 90 }[k("direction")], - ), - d(T)); - } - if (z) - (s(A, T, k, T.type), - c(A, T, k, T.type, { - tickSuffixDflt: "degrees" === T.thetaunit ? "\xb0" : void 0, - }), - l(A, T, k, { outerTicks: !0 }), - k("showticklabels") && - (n.coerceFont(k, "tickfont", { - family: a.font.family, - size: a.font.size, - color: L, - }), - k("tickangle"), - k("tickformat")), - f(A, T, k, { - dfltColor: E, - bgColor: a.bgColor, - blend: 60, - showLine: !0, - showGrid: !0, - noZeroLine: !0, - attributes: g[y], - }), - k("layer")); - ("category" !== C && k("hoverformat"), (T._input = A)); - } - } - function x(t, e, r, n, i) { - if ("-" === r("type")) { - for (var a, o = 0; o < n.length; o++) - if (n[o].visible) { - a = n[o]; - break; - } - (a && (e.type = h(a[i], "gregorian")), - "-" === e.type ? (e.type = "linear") : (t.type = e.type)); - } - return e.type; - } - e.exports = function (t, e, r) { - a(t, e, r, { - type: m.name, - attributes: g, - handleDefaults: y, - font: e.font, - paper_bgcolor: e.paper_bgcolor, - fullData: r, - layoutOut: e, - }); - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../cartesian/axis_autotype": 649, - "../cartesian/category_order_defaults": 652, - "../cartesian/line_grid_defaults": 662, - "../cartesian/set_convert": 666, - "../cartesian/tick_label_defaults": 667, - "../cartesian/tick_mark_defaults": 668, - "../cartesian/tick_value_defaults": 669, - "../get_data": 684, - "../subplot_defaults": 724, - "./constants": 711, - "./helpers": 712, - "./layout_attributes": 714, - }, - ], - 716: [ - function (t, e, r) { - "use strict"; - var n = t("../../../traces/scatter/attributes"), - i = n.marker; - e.exports = { - r: n.r, - t: n.t, - marker: { - color: i.color, - size: i.size, - symbol: i.symbol, - opacity: i.opacity, - editType: "calc", - }, - }; - }, - { "../../../traces/scatter/attributes": 926 }, - ], - 717: [ - function (t, e, r) { - "use strict"; - var n = t("../../cartesian/layout_attributes"), - i = t("../../../lib/extend").extendFlat, - a = t("../../../plot_api/edit_types").overrideAll, - o = i({}, n.domain, {}); - function s(t, e) { - return i({}, e, { - showline: { valType: "boolean" }, - showticklabels: { valType: "boolean" }, - tickorientation: { - valType: "enumerated", - values: ["horizontal", "vertical"], - }, - ticklen: { valType: "number", min: 0 }, - tickcolor: { valType: "color" }, - ticksuffix: { valType: "string" }, - endpadding: { valType: "number" }, - visible: { valType: "boolean" }, - }); - } - e.exports = a( - { - radialaxis: s(0, { - range: { - valType: "info_array", - items: [{ valType: "number" }, { valType: "number" }], - }, - domain: o, - orientation: { valType: "number" }, - }), - angularaxis: s(0, { - range: { - valType: "info_array", - items: [ - { valType: "number", dflt: 0 }, - { valType: "number", dflt: 360 }, - ], - }, - domain: o, - }), - layout: { - direction: { - valType: "enumerated", - values: ["clockwise", "counterclockwise"], - }, - orientation: { valType: "angle" }, - }, - }, - "plot", - "nested", - ); - }, - { - "../../../lib/extend": 591, - "../../../plot_api/edit_types": 633, - "../../cartesian/layout_attributes": 660, - }, - ], - 718: [ - function (t, e, r) { - "use strict"; - (e.exports = t("./micropolar")).manager = t("./micropolar_manager"); - }, - { "./micropolar": 719, "./micropolar_manager": 720 }, - ], - 719: [ - function (t, e, r) { - var n = t("d3"), - i = t("../../../lib").extendDeepAll, - a = t("../../../constants/alignment").MID_SHIFT, - o = (e.exports = { version: "0.2.2" }); - ((o.Axis = function () { - var t, - e, - r, - s, - l = { data: [], layout: {} }, - c = {}, - u = {}, - f = n.dispatch("hover"), - h = {}; - return ( - (h.render = function (c) { - return ( - (function (c) { - e = c || e; - var f = l.data, - h = l.layout; - (("string" == typeof e || e.nodeName) && (e = n.select(e)), - e.datum(f).each(function (e, l) { - var c = e.slice(); - u = { data: o.util.cloneJson(c), layout: o.util.cloneJson(h) }; - var f = 0; - c.forEach(function (t, e) { - (t.color || - ((t.color = h.defaultColorRange[f]), - (f = (f + 1) % h.defaultColorRange.length)), - t.strokeColor || - (t.strokeColor = - "LinePlot" === t.geometry - ? t.color - : n.rgb(t.color).darker().toString()), - (u.data[e].color = t.color), - (u.data[e].strokeColor = t.strokeColor), - (u.data[e].strokeDash = t.strokeDash), - (u.data[e].strokeSize = t.strokeSize)); - }); - var p = c.filter(function (t, e) { - var r = t.visible; - return void 0 === r || !0 === r; - }), - d = !1, - g = p.map(function (t, e) { - return ((d = d || void 0 !== t.groupId), t); - }); - if (d) { - var m = [], - v = n - .nest() - .key(function (t, e) { - return void 0 !== t.groupId ? t.groupId : "unstacked"; - }) - .entries(g) - .map(function (t, e) { - if ("unstacked" === t.key) return t.values; - var r = t.values[0].r.map(function (t, e) { - return 0; - }); - return ( - t.values.forEach(function (t, e, n) { - ((t.yStack = [r]), - m.push(r), - (r = o.util.sumArrays(t.r, r))); - }), - t.values - ); - }); - p = n.merge(v); - } - p.forEach(function (t, e) { - ((t.t = Array.isArray(t.t[0]) ? t.t : [t.t]), - (t.r = Array.isArray(t.r[0]) ? t.r : [t.r])); - }); - var y = - Math.min( - h.width - h.margin.left - h.margin.right, - h.height - h.margin.top - h.margin.bottom, - ) / 2; - y = Math.max(10, y); - var x, - b = [h.margin.left + y, h.margin.top + y]; - ((x = d - ? [ - 0, - n.max( - o.util.sumArrays( - o.util.arrayLast(p).r[0], - o.util.arrayLast(m), - ), - ), - ] - : n.extent( - o.util.flattenArray( - p.map(function (t, e) { - return t.r; - }), - ), - )), - h.radialAxis.domain != o.DATAEXTENT && (x[0] = 0), - (r = n.scale - .linear() - .domain( - h.radialAxis.domain != o.DATAEXTENT && h.radialAxis.domain - ? h.radialAxis.domain - : x, - ) - .range([0, y])), - (u.layout.radialAxis.domain = r.domain())); - var _, - w = o.util.flattenArray( - p.map(function (t, e) { - return t.t; - }), - ), - k = "string" == typeof w[0]; - k && - ((w = o.util.deduplicate(w)), - (_ = w.slice()), - (w = n.range(w.length)), - (p = p.map(function (t, e) { - var r = t; - return ((t.t = [w]), d && (r.yStack = t.yStack), r); - }))); - var M = - p.filter(function (t, e) { - return ( - "LinePlot" === t.geometry || "DotPlot" === t.geometry - ); - }).length === p.length, - A = null === h.needsEndSpacing ? k || !M : h.needsEndSpacing, - T = - h.angularAxis.domain && - h.angularAxis.domain != o.DATAEXTENT && - !k && - h.angularAxis.domain[0] >= 0 - ? h.angularAxis.domain - : n.extent(w), - S = Math.abs(w[1] - w[0]); - M && !k && (S = 0); - var C = T.slice(); - A && k && (C[1] += S); - var E = h.angularAxis.ticksCount || 4; - (E > 8 && (E = E / (E / 8) + (E % 8)), - h.angularAxis.ticksStep && (E = (C[1] - C[0]) / E)); - var L = - h.angularAxis.ticksStep || - (C[1] - C[0]) / (E * (h.minorTicks + 1)); - (_ && (L = Math.max(Math.round(L), 1)), C[2] || (C[2] = L)); - var z = n.range.apply(this, C); - if ( - ((z = z.map(function (t, e) { - return parseFloat(t.toPrecision(12)); - })), - (s = n.scale - .linear() - .domain(C.slice(0, 2)) - .range("clockwise" === h.direction ? [0, 360] : [360, 0])), - (u.layout.angularAxis.domain = s.domain()), - (u.layout.angularAxis.endPadding = A ? S : 0), - void 0 === (t = n.select(this).select("svg.chart-root")) || - t.empty()) - ) { - var P = new DOMParser().parseFromString( - "' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '", - "application/xml", - ), - D = this.appendChild( - this.ownerDocument.importNode(P.documentElement, !0), - ); - t = n.select(D); - } - (t.select(".guides-group").style({ "pointer-events": "none" }), - t - .select(".angular.axis-group") - .style({ "pointer-events": "none" }), - t - .select(".radial.axis-group") - .style({ "pointer-events": "none" })); - var O, - I = t.select(".chart-group"), - R = { fill: "none", stroke: h.tickColor }, - B = { - "font-size": h.font.size, - "font-family": h.font.family, - fill: h.font.color, - "text-shadow": [ - "-1px 0px", - "1px -1px", - "-1px 1px", - "1px 1px", - ] - .map(function (t, e) { - return " " + t + " 0 " + h.font.outlineColor; - }) - .join(","), - }; - if (h.showLegend) { - O = t - .select(".legend-group") - .attr({ transform: "translate(" + [y, h.margin.top] + ")" }) - .style({ display: "block" }); - var F = p.map(function (t, e) { - var r = o.util.cloneJson(t); - return ( - (r.symbol = - "DotPlot" === t.geometry - ? t.dotType || "circle" - : "LinePlot" != t.geometry - ? "square" - : "line"), - (r.visibleInLegend = - void 0 === t.visibleInLegend || t.visibleInLegend), - (r.color = - "LinePlot" === t.geometry ? t.strokeColor : t.color), - r - ); - }); - o.Legend().config({ - data: p.map(function (t, e) { - return t.name || "Element" + e; - }), - legendConfig: i({}, o.Legend.defaultConfig().legendConfig, { - container: O, - elements: F, - reverseOrder: h.legend.reverseOrder, - }), - })(); - var N = O.node().getBBox(); - ((y = - Math.min( - h.width - N.width - h.margin.left - h.margin.right, - h.height - h.margin.top - h.margin.bottom, - ) / 2), - (y = Math.max(10, y)), - (b = [h.margin.left + y, h.margin.top + y]), - r.range([0, y]), - (u.layout.radialAxis.domain = r.domain()), - O.attr( - "transform", - "translate(" + [b[0] + y, b[1] - y] + ")", - )); - } else O = t.select(".legend-group").style({ display: "none" }); - (t - .attr({ width: h.width, height: h.height }) - .style({ opacity: h.opacity }), - I.attr("transform", "translate(" + b + ")").style({ - cursor: "crosshair", - })); - var j = [ - (h.width - - (h.margin.left + - h.margin.right + - 2 * y + - (N ? N.width : 0))) / - 2, - (h.height - (h.margin.top + h.margin.bottom + 2 * y)) / 2, - ]; - if ( - ((j[0] = Math.max(0, j[0])), - (j[1] = Math.max(0, j[1])), - t - .select(".outer-group") - .attr("transform", "translate(" + j + ")"), - h.title) - ) { - var V = t.select("g.title-group text").style(B).text(h.title), - U = V.node().getBBox(); - V.attr({ x: b[0] - U.width / 2, y: b[1] - y - 20 }); - } - var q = t.select(".radial.axis-group"); - if (h.radialAxis.gridLinesVisible) { - var H = q.selectAll("circle.grid-circle").data(r.ticks(5)); - (H.enter() - .append("circle") - .attr({ class: "grid-circle" }) - .style(R), - H.attr("r", r), - H.exit().remove()); - } - q.select("circle.outside-circle").attr({ r: y }).style(R); - var G = t - .select("circle.background-circle") - .attr({ r: y }) - .style({ fill: h.backgroundColor, stroke: h.stroke }); - function W(t, e) { - return (s(t) % 360) + h.orientation; - } - if (h.radialAxis.visible) { - var Y = n.svg.axis().scale(r).ticks(5).tickSize(5); - (q.call(Y).attr({ - transform: "rotate(" + h.radialAxis.orientation + ")", - }), - q.selectAll(".domain").style(R), - q - .selectAll("g>text") - .text(function (t, e) { - return this.textContent + h.radialAxis.ticksSuffix; - }) - .style(B) - .style({ "text-anchor": "start" }) - .attr({ - x: 0, - y: 0, - dx: 0, - dy: 0, - transform: function (t, e) { - return "horizontal" === h.radialAxis.tickOrientation - ? "rotate(" + - -h.radialAxis.orientation + - ") translate(" + - [0, B["font-size"]] + - ")" - : "translate(" + [0, B["font-size"]] + ")"; - }, - }), - q.selectAll("g>line").style({ stroke: "black" })); - } - var X = t - .select(".angular.axis-group") - .selectAll("g.angular-tick") - .data(z), - Z = X.enter().append("g").classed("angular-tick", !0); - (X.attr({ - transform: function (t, e) { - return "rotate(" + W(t) + ")"; - }, - }).style({ display: h.angularAxis.visible ? "block" : "none" }), - X.exit().remove(), - Z.append("line") - .classed("grid-line", !0) - .classed("major", function (t, e) { - return e % (h.minorTicks + 1) == 0; - }) - .classed("minor", function (t, e) { - return !(e % (h.minorTicks + 1) == 0); - }) - .style(R), - Z.selectAll(".minor").style({ stroke: h.minorTickColor }), - X.select("line.grid-line") - .attr({ x1: h.tickLength ? y - h.tickLength : 0, x2: y }) - .style({ - display: h.angularAxis.gridLinesVisible - ? "block" - : "none", - }), - Z.append("text").classed("axis-text", !0).style(B)); - var J = X.select("text.axis-text") - .attr({ - x: y + h.labelOffset, - dy: a + "em", - transform: function (t, e) { - var r = W(t), - n = y + h.labelOffset, - i = h.angularAxis.tickOrientation; - return "horizontal" == i - ? "rotate(" + -r + " " + n + " 0)" - : "radial" == i - ? r < 270 && r > 90 - ? "rotate(180 " + n + " 0)" - : null - : "rotate(" + - (r <= 180 && r > 0 ? -90 : 90) + - " " + - n + - " 0)"; - }, - }) - .style({ - "text-anchor": "middle", - display: h.angularAxis.labelsVisible ? "block" : "none", - }) - .text(function (t, e) { - return e % (h.minorTicks + 1) != 0 - ? "" - : _ - ? _[t] + h.angularAxis.ticksSuffix - : t + h.angularAxis.ticksSuffix; - }) - .style(B); - h.angularAxis.rewriteTicks && - J.text(function (t, e) { - return e % (h.minorTicks + 1) != 0 - ? "" - : h.angularAxis.rewriteTicks(this.textContent, e); - }); - var K = n.max( - I.selectAll(".angular-tick text")[0].map(function (t, e) { - return t.getCTM().e + t.getBBox().width; - }), - ); - O.attr({ - transform: "translate(" + [y + K, h.margin.top] + ")", - }); - var Q = t.select("g.geometry-group").selectAll("g").size() > 0, - $ = t - .select("g.geometry-group") - .selectAll("g.geometry") - .data(p); - if ( - ($.enter() - .append("g") - .attr({ - class: function (t, e) { - return "geometry geometry" + e; - }, - }), - $.exit().remove(), - p[0] || Q) - ) { - var tt = []; - p.forEach(function (t, e) { - var n = {}; - ((n.radialScale = r), - (n.angularScale = s), - (n.container = $.filter(function (t, r) { - return r == e; - })), - (n.geometry = t.geometry), - (n.orientation = h.orientation), - (n.direction = h.direction), - (n.index = e), - tt.push({ data: t, geometryConfig: n })); - }); - var et = []; - (n - .nest() - .key(function (t, e) { - return void 0 !== t.data.groupId || "unstacked"; - }) - .entries(tt) - .forEach(function (t, e) { - "unstacked" === t.key - ? (et = et.concat( - t.values.map(function (t, e) { - return [t]; - }), - )) - : et.push(t.values); - }), - et.forEach(function (t, e) { - var r; - r = Array.isArray(t) - ? t[0].geometryConfig.geometry - : t.geometryConfig.geometry; - var n = t.map(function (t, e) { - return i(o[r].defaultConfig(), t); - }); - o[r]().config(n)(); - })); - } - var rt, - nt, - it = t.select(".guides-group"), - at = t.select(".tooltips-group"), - ot = o - .tooltipPanel() - .config({ container: at, fontSize: 8 })(), - st = o - .tooltipPanel() - .config({ container: at, fontSize: 8 })(), - lt = o - .tooltipPanel() - .config({ container: at, hasTick: !0 })(); - if (!k) { - var ct = it - .select("line") - .attr({ x1: 0, y1: 0, y2: 0 }) - .style({ stroke: "grey", "pointer-events": "none" }); - I.on("mousemove.angular-guide", function (t, e) { - var r = o.util.getMousePos(G).angle; - ct.attr({ x2: -y, transform: "rotate(" + r + ")" }).style({ - opacity: 0.5, - }); - var n = (r + 180 + 360 - h.orientation) % 360; - rt = s.invert(n); - var i = o.util.convertToCartesian(y + 12, r + 180); - ot.text(o.util.round(rt)).move([i[0] + b[0], i[1] + b[1]]); - }).on("mouseout.angular-guide", function (t, e) { - it.select("line").style({ opacity: 0 }); - }); - } - var ut = it - .select("circle") - .style({ stroke: "grey", fill: "none" }); - (I.on("mousemove.radial-guide", function (t, e) { - var n = o.util.getMousePos(G).radius; - (ut.attr({ r: n }).style({ opacity: 0.5 }), - (nt = r.invert(o.util.getMousePos(G).radius))); - var i = o.util.convertToCartesian( - n, - h.radialAxis.orientation, - ); - st.text(o.util.round(nt)).move([i[0] + b[0], i[1] + b[1]]); - }).on("mouseout.radial-guide", function (t, e) { - (ut.style({ opacity: 0 }), lt.hide(), ot.hide(), st.hide()); - }), - t - .selectAll(".geometry-group .mark") - .on("mouseover.tooltip", function (e, r) { - var i = n.select(this), - a = this.style.fill, - s = "black", - l = this.style.opacity || 1; - if ((i.attr({ "data-opacity": l }), a && "none" !== a)) { - (i.attr({ "data-fill": a }), - (s = n.hsl(a).darker().toString()), - i.style({ fill: s, opacity: 1 })); - var c = { - t: o.util.round(e[0]), - r: o.util.round(e[1]), - }; - k && (c.t = _[e[0]]); - var u = "t: " + c.t + ", r: " + c.r, - f = this.getBoundingClientRect(), - h = t.node().getBoundingClientRect(), - p = [ - f.left + f.width / 2 - j[0] - h.left, - f.top + f.height / 2 - j[1] - h.top, - ]; - (lt.config({ color: s }).text(u), lt.move(p)); - } else - ((a = this.style.stroke || "black"), - i.attr({ "data-stroke": a }), - (s = n.hsl(a).darker().toString()), - i.style({ stroke: s, opacity: 1 })); - }) - .on("mousemove.tooltip", function (t, e) { - if (0 != n.event.which) return !1; - n.select(this).attr("data-fill") && lt.show(); - }) - .on("mouseout.tooltip", function (t, e) { - lt.hide(); - var r = n.select(this), - i = r.attr("data-fill"); - i - ? r.style({ fill: i, opacity: r.attr("data-opacity") }) - : r.style({ - stroke: r.attr("data-stroke"), - opacity: r.attr("data-opacity"), - }); - })); - })); - })(c), - this - ); - }), - (h.config = function (t) { - if (!arguments.length) return l; - var e = o.util.cloneJson(t); - return ( - e.data.forEach(function (t, e) { - (l.data[e] || (l.data[e] = {}), - i(l.data[e], o.Axis.defaultConfig().data[0]), - i(l.data[e], t)); - }), - i(l.layout, o.Axis.defaultConfig().layout), - i(l.layout, e.layout), - this - ); - }), - (h.getLiveConfig = function () { - return u; - }), - (h.getinputConfig = function () { - return c; - }), - (h.radialScale = function (t) { - return r; - }), - (h.angularScale = function (t) { - return s; - }), - (h.svg = function () { - return t; - }), - n.rebind(h, f, "on"), - h - ); - }), - (o.Axis.defaultConfig = function (t, e) { - return { - data: [ - { - t: [1, 2, 3, 4], - r: [10, 11, 12, 13], - name: "Line1", - geometry: "LinePlot", - color: null, - strokeDash: "solid", - strokeColor: null, - strokeSize: "1", - visibleInLegend: !0, - opacity: 1, - }, - ], - layout: { - defaultColorRange: n.scale.category10().range(), - title: null, - height: 450, - width: 500, - margin: { top: 40, right: 40, bottom: 40, left: 40 }, - font: { - size: 12, - color: "gray", - outlineColor: "white", - family: "Tahoma, sans-serif", - }, - direction: "clockwise", - orientation: 0, - labelOffset: 10, - radialAxis: { - domain: null, - orientation: -45, - ticksSuffix: "", - visible: !0, - gridLinesVisible: !0, - tickOrientation: "horizontal", - rewriteTicks: null, - }, - angularAxis: { - domain: [0, 360], - ticksSuffix: "", - visible: !0, - gridLinesVisible: !0, - labelsVisible: !0, - tickOrientation: "horizontal", - rewriteTicks: null, - ticksCount: null, - ticksStep: null, - }, - minorTicks: 0, - tickLength: null, - tickColor: "silver", - minorTickColor: "#eee", - backgroundColor: "none", - needsEndSpacing: null, - showLegend: !0, - legend: { reverseOrder: !1 }, - opacity: 1, - }, - }; - }), - (o.util = {}), - (o.DATAEXTENT = "dataExtent"), - (o.AREA = "AreaChart"), - (o.LINE = "LinePlot"), - (o.DOT = "DotPlot"), - (o.BAR = "BarChart"), - (o.util._override = function (t, e) { - for (var r in t) r in e && (e[r] = t[r]); - }), - (o.util._extend = function (t, e) { - for (var r in t) e[r] = t[r]; - }), - (o.util._rndSnd = function () { - return ( - 2 * Math.random() - - 1 + - (2 * Math.random() - 1) + - (2 * Math.random() - 1) - ); - }), - (o.util.dataFromEquation2 = function (t, e) { - var r = e || 6; - return n.range(0, 360 + r, r).map(function (e, r) { - var n = (e * Math.PI) / 180; - return [e, t(n)]; - }); - }), - (o.util.dataFromEquation = function (t, e, r) { - var i = e || 6, - a = [], - o = []; - n.range(0, 360 + i, i).forEach(function (e, r) { - var n = (e * Math.PI) / 180, - i = t(n); - (a.push(e), o.push(i)); - }); - var s = { t: a, r: o }; - return (r && (s.name = r), s); - }), - (o.util.ensureArray = function (t, e) { - if (void 0 === t) return null; - var r = [].concat(t); - return n.range(e).map(function (t, e) { - return r[e] || r[0]; - }); - }), - (o.util.fillArrays = function (t, e, r) { - return ( - e.forEach(function (e, n) { - t[e] = o.util.ensureArray(t[e], r); - }), - t - ); - }), - (o.util.cloneJson = function (t) { - return JSON.parse(JSON.stringify(t)); - }), - (o.util.validateKeys = function (t, e) { - "string" == typeof e && (e = e.split(".")); - var r = e.shift(); - return t[r] && (!e.length || objHasKeys(t[r], e)); - }), - (o.util.sumArrays = function (t, e) { - return n.zip(t, e).map(function (t, e) { - return n.sum(t); - }); - }), - (o.util.arrayLast = function (t) { - return t[t.length - 1]; - }), - (o.util.arrayEqual = function (t, e) { - for ( - var r = Math.max(t.length, e.length, 1); - r-- >= 0 && t[r] === e[r]; - - ); - return -2 === r; - }), - (o.util.flattenArray = function (t) { - for (var e = []; !o.util.arrayEqual(e, t); ) - ((e = t), (t = [].concat.apply([], t))); - return t; - }), - (o.util.deduplicate = function (t) { - return t.filter(function (t, e, r) { - return r.indexOf(t) == e; - }); - }), - (o.util.convertToCartesian = function (t, e) { - var r = (e * Math.PI) / 180; - return [t * Math.cos(r), t * Math.sin(r)]; - }), - (o.util.round = function (t, e) { - var r = e || 2, - n = Math.pow(10, r); - return Math.round(t * n) / n; - }), - (o.util.getMousePos = function (t) { - var e = n.mouse(t.node()), - r = e[0], - i = e[1], - a = {}; - return ( - (a.x = r), - (a.y = i), - (a.pos = e), - (a.angle = (180 * (Math.atan2(i, r) + Math.PI)) / Math.PI), - (a.radius = Math.sqrt(r * r + i * i)), - a - ); - }), - (o.util.duplicatesCount = function (t) { - for (var e, r = {}, n = {}, i = 0, a = t.length; i < a; i++) - (e = t[i]) in r ? (r[e]++, (n[e] = r[e])) : (r[e] = 1); - return n; - }), - (o.util.duplicates = function (t) { - return Object.keys(o.util.duplicatesCount(t)); - }), - (o.util.translator = function (t, e, r, n) { - if (n) { - var i = r.slice(); - ((r = e), (e = i)); - } - var a = e.reduce(function (t, e) { - if (void 0 !== t) return t[e]; - }, t); - void 0 !== a && - (e.reduce(function (t, r, n) { - if (void 0 !== t) return (n === e.length - 1 && delete t[r], t[r]); - }, t), - r.reduce(function (t, e, n) { - return ( - void 0 === t[e] && (t[e] = {}), - n === r.length - 1 && (t[e] = a), - t[e] - ); - }, t)); - }), - (o.PolyChart = function () { - var t = [o.PolyChart.defaultConfig()], - e = n.dispatch("hover"), - r = { solid: "none", dash: [5, 2], dot: [2, 5] }; - function a() { - var e = t[0].geometryConfig, - i = e.container; - ("string" == typeof i && (i = n.select(i)), - i.datum(t).each(function (t, i) { - var a = !!t[0].data.yStack, - o = t.map(function (t, e) { - return a - ? n.zip(t.data.t[0], t.data.r[0], t.data.yStack[0]) - : n.zip(t.data.t[0], t.data.r[0]); - }), - s = e.angularScale, - l = e.radialScale.domain()[0], - c = { - bar: function (r, i, a) { - var o = t[a].data, - l = e.radialScale(r[1]) - e.radialScale(0), - c = e.radialScale(r[2] || 0), - u = o.barWidth; - n.select(this).attr({ - class: "mark bar", - d: - "M" + - [ - [l + c, -u / 2], - [l + c, u / 2], - [c, u / 2], - [c, -u / 2], - ].join("L") + - "Z", - transform: function (t, r) { - return "rotate(" + (e.orientation + s(t[0])) + ")"; - }, - }); - }, - }; - c.dot = function (r, i, a) { - var o = r[2] ? [r[0], r[1] + r[2]] : r, - s = n.svg - .symbol() - .size(t[a].data.dotSize) - .type(t[a].data.dotType)(r, i); - n.select(this).attr({ - class: "mark dot", - d: s, - transform: function (t, r) { - var n, - i, - a, - s = - ((n = (function (t, r) { - var n = e.radialScale(t[1]), - i = - ((e.angularScale(t[0]) + e.orientation) * Math.PI) / - 180; - return { r: n, t: i }; - })(o)), - (i = n.r * Math.cos(n.t)), - (a = n.r * Math.sin(n.t)), - { x: i, y: a }); - return "translate(" + [s.x, s.y] + ")"; - }, - }); - }; - var u = n.svg.line - .radial() - .interpolate(t[0].data.lineInterpolation) - .radius(function (t) { - return e.radialScale(t[1]); - }) - .angle(function (t) { - return (e.angularScale(t[0]) * Math.PI) / 180; - }); - c.line = function (r, i, a) { - var s = r[2] - ? o[a].map(function (t, e) { - return [t[0], t[1] + t[2]]; - }) - : o[a]; - if ( - (n - .select(this) - .each(c.dot) - .style({ - opacity: function (e, r) { - return +t[a].data.dotVisible; - }, - fill: d.stroke(r, i, a), - }) - .attr({ class: "mark dot" }), - !(i > 0)) - ) { - var l = n - .select(this.parentNode) - .selectAll("path.line") - .data([0]); - (l.enter().insert("path"), - l - .attr({ - class: "line", - d: u(s), - transform: function (t, r) { - return "rotate(" + (e.orientation + 90) + ")"; - }, - "pointer-events": "none", - }) - .style({ - fill: function (t, e) { - return d.fill(r, i, a); - }, - "fill-opacity": 0, - stroke: function (t, e) { - return d.stroke(r, i, a); - }, - "stroke-width": function (t, e) { - return d["stroke-width"](r, i, a); - }, - "stroke-dasharray": function (t, e) { - return d["stroke-dasharray"](r, i, a); - }, - opacity: function (t, e) { - return d.opacity(r, i, a); - }, - display: function (t, e) { - return d.display(r, i, a); - }, - })); - } - }; - var f = e.angularScale.range(), - h = ((Math.abs(f[1] - f[0]) / o[0].length) * Math.PI) / 180, - p = n.svg - .arc() - .startAngle(function (t) { - return -h / 2; - }) - .endAngle(function (t) { - return h / 2; - }) - .innerRadius(function (t) { - return e.radialScale(l + (t[2] || 0)); - }) - .outerRadius(function (t) { - return e.radialScale(l + (t[2] || 0)) + e.radialScale(t[1]); - }); - c.arc = function (t, r, i) { - n.select(this).attr({ - class: "mark arc", - d: p, - transform: function (t, r) { - return "rotate(" + (e.orientation + s(t[0]) + 90) + ")"; - }, - }); - }; - var d = { - fill: function (e, r, n) { - return t[n].data.color; - }, - stroke: function (e, r, n) { - return t[n].data.strokeColor; - }, - "stroke-width": function (e, r, n) { - return t[n].data.strokeSize + "px"; - }, - "stroke-dasharray": function (e, n, i) { - return r[t[i].data.strokeDash]; - }, - opacity: function (e, r, n) { - return t[n].data.opacity; - }, - display: function (e, r, n) { - return void 0 === t[n].data.visible || t[n].data.visible - ? "block" - : "none"; - }, - }, - g = n.select(this).selectAll("g.layer").data(o); - g.enter().append("g").attr({ class: "layer" }); - var m = g.selectAll("path.mark").data(function (t, e) { - return t; - }); - (m.enter().append("path").attr({ class: "mark" }), - m.style(d).each(c[e.geometryType]), - m.exit().remove(), - g.exit().remove()); - })); - } - return ( - (a.config = function (e) { - return arguments.length - ? (e.forEach(function (e, r) { - (t[r] || (t[r] = {}), - i(t[r], o.PolyChart.defaultConfig()), - i(t[r], e)); - }), - this) - : t; - }), - (a.getColorScale = function () {}), - n.rebind(a, e, "on"), - a - ); - }), - (o.PolyChart.defaultConfig = function () { - return { - data: { - name: "geom1", - t: [[1, 2, 3, 4]], - r: [[1, 2, 3, 4]], - dotType: "circle", - dotSize: 64, - dotVisible: !1, - barWidth: 20, - color: "#ffa500", - strokeSize: 1, - strokeColor: "silver", - strokeDash: "solid", - opacity: 1, - index: 0, - visible: !0, - visibleInLegend: !0, - }, - geometryConfig: { - geometry: "LinePlot", - geometryType: "arc", - direction: "clockwise", - orientation: 0, - container: "body", - radialScale: null, - angularScale: null, - colorScale: n.scale.category20(), - }, - }; - }), - (o.BarChart = function () { - return o.PolyChart(); - }), - (o.BarChart.defaultConfig = function () { - return { geometryConfig: { geometryType: "bar" } }; - }), - (o.AreaChart = function () { - return o.PolyChart(); - }), - (o.AreaChart.defaultConfig = function () { - return { geometryConfig: { geometryType: "arc" } }; - }), - (o.DotPlot = function () { - return o.PolyChart(); - }), - (o.DotPlot.defaultConfig = function () { - return { geometryConfig: { geometryType: "dot", dotType: "circle" } }; - }), - (o.LinePlot = function () { - return o.PolyChart(); - }), - (o.LinePlot.defaultConfig = function () { - return { geometryConfig: { geometryType: "line" } }; - }), - (o.Legend = function () { - var t = o.Legend.defaultConfig(), - e = n.dispatch("hover"); - function r() { - var e = t.legendConfig, - a = t.data.map(function (t, r) { - return [].concat(t).map(function (t, n) { - var a = i({}, e.elements[r]); - return ( - (a.name = t), - (a.color = [].concat(e.elements[r].color)[n]), - a - ); - }); - }), - o = n.merge(a); - ((o = o.filter(function (t, r) { - return ( - e.elements[r] && - (e.elements[r].visibleInLegend || - void 0 === e.elements[r].visibleInLegend) - ); - })), - e.reverseOrder && (o = o.reverse())); - var s = e.container; - ("string" == typeof s || s.nodeName) && (s = n.select(s)); - var l = o.map(function (t, e) { - return t.color; - }), - c = e.fontSize, - u = null == e.isContinuous ? "number" == typeof o[0] : e.isContinuous, - f = u ? e.height : c * o.length, - h = s.classed("legend-group", !0).selectAll("svg").data([0]), - p = h - .enter() - .append("svg") - .attr({ - width: 300, - height: f + c, - xmlns: "http://www.w3.org/2000/svg", - "xmlns:xlink": "http://www.w3.org/1999/xlink", - version: "1.1", - }); - (p.append("g").classed("legend-axis", !0), - p.append("g").classed("legend-marks", !0)); - var d = n.range(o.length), - g = n.scale[u ? "linear" : "ordinal"]().domain(d).range(l), - m = n.scale[u ? "linear" : "ordinal"]() - .domain(d) - [u ? "range" : "rangePoints"]([0, f]); - if (u) { - var v = h - .select(".legend-marks") - .append("defs") - .append("linearGradient") - .attr({ id: "grad1", x1: "0%", y1: "0%", x2: "0%", y2: "100%" }) - .selectAll("stop") - .data(l); - (v.enter().append("stop"), - v - .attr({ - offset: function (t, e) { - return (e / (l.length - 1)) * 100 + "%"; - }, - }) - .style({ - "stop-color": function (t, e) { - return t; - }, - }), - h.append("rect").classed("legend-mark", !0).attr({ - height: e.height, - width: e.colorBandWidth, - fill: "url(#grad1)", - })); - } else { - var y = h - .select(".legend-marks") - .selectAll("path.legend-mark") - .data(o); - (y.enter().append("path").classed("legend-mark", !0), - y.attr({ - transform: function (t, e) { - return "translate(" + [c / 2, m(e) + c / 2] + ")"; - }, - d: function (t, e) { - var r, - i, - a, - o = t.symbol; - return ( - (a = 3 * (i = c)), - "line" === (r = o) - ? "M" + - [ - [-i / 2, -i / 12], - [i / 2, -i / 12], - [i / 2, i / 12], - [-i / 2, i / 12], - ] + - "Z" - : -1 != n.svg.symbolTypes.indexOf(r) - ? n.svg.symbol().type(r).size(a)() - : n.svg.symbol().type("square").size(a)() - ); - }, - fill: function (t, e) { - return g(e); - }, - }), - y.exit().remove()); - } - var x = n.svg.axis().scale(m).orient("right"), - b = h - .select("g.legend-axis") - .attr({ - transform: "translate(" + [u ? e.colorBandWidth : c, c / 2] + ")", - }) - .call(x); - return ( - b.selectAll(".domain").style({ fill: "none", stroke: "none" }), - b - .selectAll("line") - .style({ fill: "none", stroke: u ? e.textColor : "none" }), - b - .selectAll("text") - .style({ fill: e.textColor, "font-size": e.fontSize }) - .text(function (t, e) { - return o[e].name; - }), - r - ); - } - return ( - (r.config = function (e) { - return arguments.length ? (i(t, e), this) : t; - }), - n.rebind(r, e, "on"), - r - ); - }), - (o.Legend.defaultConfig = function (t, e) { - return { - data: ["a", "b", "c"], - legendConfig: { - elements: [ - { symbol: "line", color: "red" }, - { symbol: "square", color: "yellow" }, - { symbol: "diamond", color: "limegreen" }, - ], - height: 150, - colorBandWidth: 30, - fontSize: 12, - container: "body", - isContinuous: null, - textColor: "grey", - reverseOrder: !1, - }, - }; - }), - (o.tooltipPanel = function () { - var t, - e, - r, - a = { - container: null, - hasTick: !1, - fontSize: 12, - color: "white", - padding: 5, - }, - s = "tooltip-" + o.tooltipPanel.uid++, - l = 10, - c = function () { - var n = (t = a.container.selectAll("g." + s).data([0])) - .enter() - .append("g") - .classed(s, !0) - .style({ "pointer-events": "none", display: "none" }); - return ( - (r = n - .append("path") - .style({ fill: "white", "fill-opacity": 0.9 }) - .attr({ d: "M0 0" })), - (e = n - .append("text") - .attr({ dx: a.padding + l, dy: 0.3 * +a.fontSize })), - c - ); - }; - return ( - (c.text = function (i) { - var o = n.hsl(a.color).l, - s = o >= 0.5 ? "#aaa" : "white", - u = o >= 0.5 ? "black" : "white", - f = i || ""; - e.style({ fill: u, "font-size": a.fontSize + "px" }).text(f); - var h = a.padding, - p = e.node().getBBox(), - d = { fill: a.color, stroke: s, "stroke-width": "2px" }, - g = p.width + 2 * h + l, - m = p.height + 2 * h; - return ( - r - .attr({ - d: - "M" + - [ - [l, -m / 2], - [l, -m / 4], - [a.hasTick ? 0 : l, 0], - [l, m / 4], - [l, m / 2], - [g, m / 2], - [g, -m / 2], - ].join("L") + - "Z", - }) - .style(d), - t.attr({ transform: "translate(" + [l, -m / 2 + 2 * h] + ")" }), - t.style({ display: "block" }), - c - ); - }), - (c.move = function (e) { - if (t) - return ( - t - .attr({ transform: "translate(" + [e[0], e[1]] + ")" }) - .style({ display: "block" }), - c - ); - }), - (c.hide = function () { - if (t) return (t.style({ display: "none" }), c); - }), - (c.show = function () { - if (t) return (t.style({ display: "block" }), c); - }), - (c.config = function (t) { - return (i(a, t), c); - }), - c - ); - }), - (o.tooltipPanel.uid = 1), - (o.adapter = {}), - (o.adapter.plotly = function () { - var t = { - convert: function (t, e) { - var r = {}; - if ( - t.data && - ((r.data = t.data.map(function (t, r) { - var n = i({}, t); - return ( - [ - [n, ["marker", "color"], ["color"]], - [n, ["marker", "opacity"], ["opacity"]], - [n, ["marker", "line", "color"], ["strokeColor"]], - [n, ["marker", "line", "dash"], ["strokeDash"]], - [n, ["marker", "line", "width"], ["strokeSize"]], - [n, ["marker", "symbol"], ["dotType"]], - [n, ["marker", "size"], ["dotSize"]], - [n, ["marker", "barWidth"], ["barWidth"]], - [n, ["line", "interpolation"], ["lineInterpolation"]], - [n, ["showlegend"], ["visibleInLegend"]], - ].forEach(function (t, r) { - o.util.translator.apply(null, t.concat(e)); - }), - e || delete n.marker, - e && delete n.groupId, - e - ? ("LinePlot" === n.geometry - ? ((n.type = "scatter"), - !0 === n.dotVisible - ? (delete n.dotVisible, (n.mode = "lines+markers")) - : (n.mode = "lines")) - : "DotPlot" === n.geometry - ? ((n.type = "scatter"), (n.mode = "markers")) - : "AreaChart" === n.geometry - ? (n.type = "area") - : "BarChart" === n.geometry && (n.type = "bar"), - delete n.geometry) - : ("scatter" === n.type - ? "lines" === n.mode - ? (n.geometry = "LinePlot") - : "markers" === n.mode - ? (n.geometry = "DotPlot") - : "lines+markers" === n.mode && - ((n.geometry = "LinePlot"), (n.dotVisible = !0)) - : "area" === n.type - ? (n.geometry = "AreaChart") - : "bar" === n.type && (n.geometry = "BarChart"), - delete n.mode, - delete n.type), - n - ); - })), - !e && t.layout && "stack" === t.layout.barmode) - ) { - var a = o.util.duplicates( - r.data.map(function (t, e) { - return t.geometry; - }), - ); - r.data.forEach(function (t, e) { - var n = a.indexOf(t.geometry); - -1 != n && (r.data[e].groupId = n); - }); - } - if (t.layout) { - var s = i({}, t.layout); - if ( - ([ - [s, ["plot_bgcolor"], ["backgroundColor"]], - [s, ["showlegend"], ["showLegend"]], - [s, ["radialaxis"], ["radialAxis"]], - [s, ["angularaxis"], ["angularAxis"]], - [s.angularaxis, ["showline"], ["gridLinesVisible"]], - [s.angularaxis, ["showticklabels"], ["labelsVisible"]], - [s.angularaxis, ["nticks"], ["ticksCount"]], - [s.angularaxis, ["tickorientation"], ["tickOrientation"]], - [s.angularaxis, ["ticksuffix"], ["ticksSuffix"]], - [s.angularaxis, ["range"], ["domain"]], - [s.angularaxis, ["endpadding"], ["endPadding"]], - [s.radialaxis, ["showline"], ["gridLinesVisible"]], - [s.radialaxis, ["tickorientation"], ["tickOrientation"]], - [s.radialaxis, ["ticksuffix"], ["ticksSuffix"]], - [s.radialaxis, ["range"], ["domain"]], - [s.angularAxis, ["showline"], ["gridLinesVisible"]], - [s.angularAxis, ["showticklabels"], ["labelsVisible"]], - [s.angularAxis, ["nticks"], ["ticksCount"]], - [s.angularAxis, ["tickorientation"], ["tickOrientation"]], - [s.angularAxis, ["ticksuffix"], ["ticksSuffix"]], - [s.angularAxis, ["range"], ["domain"]], - [s.angularAxis, ["endpadding"], ["endPadding"]], - [s.radialAxis, ["showline"], ["gridLinesVisible"]], - [s.radialAxis, ["tickorientation"], ["tickOrientation"]], - [s.radialAxis, ["ticksuffix"], ["ticksSuffix"]], - [s.radialAxis, ["range"], ["domain"]], - [s.font, ["outlinecolor"], ["outlineColor"]], - [s.legend, ["traceorder"], ["reverseOrder"]], - [s, ["labeloffset"], ["labelOffset"]], - [s, ["defaultcolorrange"], ["defaultColorRange"]], - ].forEach(function (t, r) { - o.util.translator.apply(null, t.concat(e)); - }), - e - ? (void 0 !== s.tickLength && - ((s.angularaxis.ticklen = s.tickLength), - delete s.tickLength), - s.tickColor && - ((s.angularaxis.tickcolor = s.tickColor), - delete s.tickColor)) - : (s.angularAxis && - void 0 !== s.angularAxis.ticklen && - (s.tickLength = s.angularAxis.ticklen), - s.angularAxis && - void 0 !== s.angularAxis.tickcolor && - (s.tickColor = s.angularAxis.tickcolor)), - s.legend && - "boolean" != typeof s.legend.reverseOrder && - (s.legend.reverseOrder = "normal" != s.legend.reverseOrder), - s.legend && - "boolean" == typeof s.legend.traceorder && - ((s.legend.traceorder = s.legend.traceorder - ? "reversed" - : "normal"), - delete s.legend.reverseOrder), - s.margin && void 0 !== s.margin.t) - ) { - var l = ["t", "r", "b", "l", "pad"], - c = ["top", "right", "bottom", "left", "pad"], - u = {}; - (n.entries(s.margin).forEach(function (t, e) { - u[c[l.indexOf(t.key)]] = t.value; - }), - (s.margin = u)); - } - (e && - (delete s.needsEndSpacing, - delete s.minorTickColor, - delete s.minorTicks, - delete s.angularaxis.ticksCount, - delete s.angularaxis.ticksCount, - delete s.angularaxis.ticksStep, - delete s.angularaxis.rewriteTicks, - delete s.angularaxis.nticks, - delete s.radialaxis.ticksCount, - delete s.radialaxis.ticksCount, - delete s.radialaxis.ticksStep, - delete s.radialaxis.rewriteTicks, - delete s.radialaxis.nticks), - (r.layout = s)); - } - return r; - }, - }; - return t; - })); - }, - { "../../../constants/alignment": 574, "../../../lib": 602, d3: 130 }, - ], - 720: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../../lib"), - a = t("../../../components/color"), - o = t("./micropolar"), - s = t("./undo_manager"), - l = i.extendDeepAll, - c = (e.exports = {}); - ((c.framework = function (t) { - var e, - r, - i, - a, - u, - f = new s(); - function h(r, s) { - return ( - s && (u = s), - n - .select(n.select(u).node().parentNode) - .selectAll(".svg-container>*:not(.chart-root)") - .remove(), - (e = e ? l(e, r) : r), - i || (i = o.Axis()), - (a = o.adapter.plotly().convert(e)), - i.config(a).render(u), - (t.data = e.data), - (t.layout = e.layout), - c.fillLayout(t), - e - ); - } - return ( - (h.isPolar = !0), - (h.svg = function () { - return i.svg(); - }), - (h.getConfig = function () { - return e; - }), - (h.getLiveConfig = function () { - return o.adapter.plotly().convert(i.getLiveConfig(), !0); - }), - (h.getLiveScales = function () { - return { t: i.angularScale(), r: i.radialScale() }; - }), - (h.setUndoPoint = function () { - var t, - n, - i = this, - a = o.util.cloneJson(e); - ((t = a), - (n = r), - f.add({ - undo: function () { - n && i(n); - }, - redo: function () { - i(t); - }, - }), - (r = o.util.cloneJson(a))); - }), - (h.undo = function () { - f.undo(); - }), - (h.redo = function () { - f.redo(); - }), - h - ); - }), - (c.fillLayout = function (t) { - var e = n.select(t).selectAll(".plot-container"), - r = e.selectAll(".svg-container"), - i = t.framework && t.framework.svg && t.framework.svg(), - o = { - width: 800, - height: 600, - paper_bgcolor: a.background, - _container: e, - _paperdiv: r, - _paper: i, - }; - t._fullLayout = l(o, t.layout); - })); - }, - { - "../../../components/color": 474, - "../../../lib": 602, - "./micropolar": 719, - "./undo_manager": 721, - d3: 130, - }, - ], - 721: [ - function (t, e, r) { - "use strict"; - e.exports = function () { - var t, - e = [], - r = -1, - n = !1; - function i(t, e) { - return t ? ((n = !0), t[e](), (n = !1), this) : this; - } - return { - add: function (t) { - return n - ? this - : (e.splice(r + 1, e.length - r), - e.push(t), - (r = e.length - 1), - this); - }, - setCallback: function (e) { - t = e; - }, - undo: function () { - var n = e[r]; - return n ? (i(n, "undo"), (r -= 1), t && t(n.undo), this) : this; - }, - redo: function () { - var n = e[r + 1]; - return n ? (i(n, "redo"), (r += 1), t && t(n.redo), this) : this; - }, - clear: function () { - ((e = []), (r = -1)); - }, - hasUndo: function () { - return -1 !== r; - }, - hasRedo: function () { - return r < e.length - 1; - }, - getCommands: function () { - return e; - }, - getPreviousCommand: function () { - return e[r - 1]; - }, - getIndex: function () { - return r; - }, - }; - }; - }, - {}, - ], - 722: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("../../registry"), - o = t("../../lib"), - s = t("../../components/color"), - l = t("../../components/drawing"), - c = t("../plots"), - u = t("../cartesian/axes"), - f = t("../cartesian/autorange").doAutoRange, - h = t("../../components/dragelement"), - p = t("../cartesian/dragbox"), - d = t("../../components/fx"), - g = t("../../components/titles"), - m = t("../cartesian/select").prepSelect, - v = t("../cartesian/select").clearSelect, - y = t("../../lib/setcursor"), - x = t("../../constants/alignment").MID_SHIFT, - b = o._, - _ = o.deg2rad, - w = o.rad2deg, - k = o.wrap360, - M = o.wrap180, - A = t("./helpers").setConvertAngular, - T = t("./constants"); - function S(t, e) { - ((this.id = e), - (this.gd = t), - (this._hasClipOnAxisFalse = null), - (this.traceHash = {}), - (this.layers = {}), - (this.clipPaths = {}), - (this.clipIds = {}), - (this.viewInitial = {})); - var r = t._fullLayout, - n = "clip" + r._uid + e; - ((this.clipIds.circle = n + "-circle"), - (this.clipPaths.circle = r._clips - .append("clipPath") - .attr("id", this.clipIds.circle)), - this.clipPaths.circle.append("path"), - (this.framework = r._polarlayer.append("g").attr("class", e)), - (this.radialTickLayout = null), - (this.angularTickLayout = null)); - } - var C = S.prototype; - function E(t, e, r) { - (u.setConvert(t, r), (t._min = e._min), (t._max = e._max), t.setScale()); - } - function L(t) { - var e = t.ticks + String(t.ticklen) + String(t.showticklabels); - return ("side" in t && (e += t.side), e); - } - function z(t, e) { - if (D(e)) return l.symbolFuncs[0](t); - var r = t * Math.cos(_(e[0])), - n = -t * Math.sin(_(e[0])), - i = t * Math.cos(_(e[1])), - a = -t * Math.sin(_(e[1])); - return ( - "M" + - [r, n] + - "A" + - [t, t] + - " " + - (Math.abs(e[1] - e[0]) <= 180 ? [0, 0, 0] : [0, 1, 0]) + - " " + - [i, a] - ); - } - function P(t, e) { - return z(t, e) + (D(e) ? "" : "L0,0Z"); - } - function D(t) { - return 360 === Math.abs(t[1] - t[0]); - } - function O(t, e, r) { - return ( - e ? (t.attr("display", null), t.attr(r)) : t && t.attr("display", "none"), - t - ); - } - function I(t, e) { - return "translate(" + t + "," + e + ")"; - } - function R(t) { - return "rotate(" + t + ")"; - } - function B(t) { - return Math.abs(t) < 1e-10 ? 0 : t > 0 ? 1 : -1; - } - function F(t) { - return B(Math.cos(t)); - } - function N(t) { - return B(Math.sin(t)); - } - ((e.exports = function (t, e) { - return new S(t, e); - }), - (C.plot = function (t, e) { - var r = e[this.id]; - this._hasClipOnAxisFalse = !1; - for (var n = 0; n < t.length; n++) { - if (!1 === t[n][0].trace.cliponaxis) { - this._hasClipOnAxisFalse = !0; - break; - } - } - (this.updateLayers(e, r), - this.updateLayout(e, r), - c.generalUpdatePerTraceModule(this.gd, this, t, r), - this.updateFx(e, r)); - }), - (C.updateLayers = function (t, e) { - var r = this.layers, - i = e.radialaxis, - a = e.angularaxis, - o = T.layerNames, - s = o.indexOf("frontplot"), - l = o.slice(0, s), - c = "below traces" === a.layer, - u = "below traces" === i.layer; - (c && l.push("angular-axis"), - u && l.push("radial-axis"), - c && l.push("angular-line"), - u && l.push("radial-line"), - l.push("frontplot"), - c || l.push("angular-axis"), - u || l.push("radial-axis"), - c || l.push("angular-line"), - u || l.push("radial-line")); - var f = this.framework.selectAll(".polarsublayer").data(l, String); - (f - .enter() - .append("g") - .attr("class", function (t) { - return "polarsublayer " + t; - }) - .each(function (t) { - var e = (r[t] = n.select(this)); - switch (t) { - case "frontplot": - e.append("g").classed("scatterlayer", !0); - break; - case "backplot": - e.append("g").classed("maplayer", !0); - break; - case "plotbg": - r.bgcircle = e.append("path"); - break; - case "radial-grid": - (e.style("fill", "none"), e.append("g").classed("x", 1)); - break; - case "angular-grid": - (e.style("fill", "none"), e.append("g").classed("angular", 1)); - break; - case "radial-line": - e.append("line").style("fill", "none"); - break; - case "angular-line": - e.append("path").style("fill", "none"); - } - }), - f.order()); - }), - (C.updateLayout = function (t, e) { - var r = this, - n = r.layers, - i = t._size, - a = e.domain.x, - o = e.domain.y; - ((r.xOffset = i.l + i.w * a[0]), (r.yOffset = i.t + i.h * (1 - o[1]))); - var c, - f, - h, - p, - d, - g = (r.xLength = i.w * (a[1] - a[0])), - m = (r.yLength = i.h * (o[1] - o[0])), - v = (r.sector = e.sector), - y = (r.sectorBBox = (function (t) { - var e, - r, - n, - i, - a = t[0], - o = t[1] - a, - s = k(a), - l = s + o, - c = Math.cos(_(s)), - u = Math.sin(_(s)), - f = Math.cos(_(l)), - h = Math.sin(_(l)); - i = - (s <= 90 && l >= 90) || (s > 90 && l >= 450) - ? 1 - : u <= 0 && h <= 0 - ? 0 - : Math.max(u, h); - e = - (s <= 180 && l >= 180) || (s > 180 && l >= 540) - ? -1 - : c >= 0 && f >= 0 - ? 0 - : Math.min(c, f); - r = - (s <= 270 && l >= 270) || (s > 270 && l >= 630) - ? -1 - : u >= 0 && h >= 0 - ? 0 - : Math.min(u, h); - n = l >= 360 ? 1 : c <= 0 && f <= 0 ? 0 : Math.max(c, f); - return [e, r, n, i]; - })(v)), - x = y[2] - y[0], - b = y[3] - y[1], - w = m / g, - M = Math.abs(b / x); - (w > M - ? ((c = g), - (d = (m - (f = g * M)) / i.h / 2), - (h = [a[0], a[1]]), - (p = [o[0] + d, o[1] - d])) - : ((f = m), - (d = (g - (c = m / M)) / i.w / 2), - (h = [a[0] + d, a[1] - d]), - (p = [o[0], o[1]])), - (r.xLength2 = c), - (r.yLength2 = f), - (r.xDomain2 = h), - (r.yDomain2 = p)); - var A = (r.xOffset2 = i.l + i.w * h[0]), - T = (r.yOffset2 = i.t + i.h * (1 - p[1])), - S = (r.radius = c / x), - C = (r.cx = A - S * y[0]), - E = (r.cy = T + S * y[3]), - L = (r.cxx = C - A), - z = (r.cyy = E - T); - (r.updateRadialAxis(t, e), - r.updateRadialAxisTitle(t, e), - r.updateAngularAxis(t, e)); - var D = r.radialAxis.range, - O = D[1] - D[0], - R = (r.xaxis = { - type: "linear", - _id: "x", - range: [y[0] * O, y[2] * O], - domain: h, - }); - (u.setConvert(R, t), R.setScale()); - var B = (r.yaxis = { - type: "linear", - _id: "y", - range: [y[1] * O, y[3] * O], - domain: p, - }); - (u.setConvert(B, t), - B.setScale(), - (R.isPtWithinRange = function (t) { - return r.isPtWithinSector(t); - }), - (B.isPtWithinRange = function () { - return !0; - }), - n.frontplot - .attr("transform", I(A, T)) - .call(l.setClipUrl, r._hasClipOnAxisFalse ? null : r.clipIds.circle), - n.bgcircle - .attr({ d: P(S, v), transform: I(C, E) }) - .call(s.fill, e.bgcolor), - r.clipPaths.circle - .select("path") - .attr("d", P(S, v)) - .attr("transform", I(L, z)), - r.framework.selectAll(".crisp").classed("crisp", 0)); - }), - (C.updateRadialAxis = function (t, e) { - var r = this.gd, - n = this.layers, - i = this.radius, - a = this.cx, - l = this.cy, - c = t._size, - h = e.radialaxis, - p = e.sector, - d = k(p[0]); - this.fillViewInitialKey("radialaxis.angle", h.angle); - var g = (this.radialAxis = o.extendFlat({}, h, { - _axislayer: n["radial-axis"], - _gridlayer: n["radial-grid"], - _id: "x", - _pos: 0, - side: { counterclockwise: "top", clockwise: "bottom" }[h.side], - domain: [0, i / c.w], - anchor: "free", - position: 0, - _counteraxis: !0, - automargin: !1, - })); - (E(g, h, t), - f(g), - (h.range = g.range.slice()), - (h._input.range = g.range.slice()), - this.fillViewInitialKey("radialaxis.range", g.range.slice()), - "auto" === g.tickangle && d > 90 && d <= 270 && (g.tickangle = 180), - (g._transfn = function (t) { - return "translate(" + g.l2p(t.x) + ",0)"; - }), - (g._gridpath = function (t) { - return z(g.r2p(t.x), p); - })); - var m = L(h); - (this.radialTickLayout !== m && - (n["radial-axis"].selectAll(".xtick").remove(), - (this.radialTickLayout = m)), - u.doTicks(r, g, !0), - O(n["radial-axis"], h.showticklabels || h.ticks, { - transform: I(a, l) + R(-h.angle), - }), - O(n["radial-grid"], h.showgrid, { transform: I(a, l) }) - .selectAll("path") - .attr("transform", null), - O(n["radial-line"].select("line"), h.showline, { - x1: 0, - y1: 0, - x2: i, - y2: 0, - transform: I(a, l) + R(-h.angle), - }) - .attr("stroke-width", h.linewidth) - .call(s.stroke, h.linecolor)); - }), - (C.updateRadialAxisTitle = function (t, e, r) { - var n = this.gd, - i = this.radius, - a = this.cx, - o = this.cy, - s = e.radialaxis, - c = this.id + "title", - u = void 0 !== r ? r : s.angle, - f = _(u), - h = Math.cos(f), - p = Math.sin(f), - d = 0; - if (s.title) { - var m = l.bBox(this.layers["radial-axis"].node()).height, - v = s.titlefont.size; - d = "counterclockwise" === s.side ? -m - 0.4 * v : m + 0.8 * v; - } - this.layers["radial-axis-title"] = g.draw(n, c, { - propContainer: s, - propName: this.id + ".radialaxis.title", - placeholder: b(n, "Click to enter radial axis title"), - attributes: { - x: a + (i / 2) * h + d * p, - y: o - (i / 2) * p + d * h, - "text-anchor": "middle", - }, - transform: { rotate: -u }, - }); - }), - (C.updateAngularAxis = function (t, e) { - var r = this, - i = r.gd, - a = r.layers, - l = r.radius, - c = r.cx, - f = r.cy, - h = e.angularaxis, - p = e.sector, - d = p.map(_); - r.fillViewInitialKey("angularaxis.rotation", h.rotation); - var g = (r.angularAxis = o.extendFlat({}, h, { - _axislayer: a["angular-axis"], - _gridlayer: a["angular-grid"], - _id: "angular", - _pos: 0, - side: "right", - domain: [0, Math.PI], - anchor: "free", - position: 0, - _counteraxis: !0, - automargin: !1, - autorange: !1, - })); - if ("linear" === g.type) - (D(p) - ? (g.range = p.slice()) - : (g.range = d.map(g.unTransformRad).map(w)), - "radians" === g.thetaunit && - ((g.tick0 = w(g.tick0)), (g.dtick = w(g.dtick)))); - else if ("category" === g.type) { - var m = h.period - ? Math.max(h.period, h._categories.length) - : h._categories.length; - ((g.range = [0, m]), - (g._tickFilter = function (t) { - return r.isPtWithinSector({ - r: r.radialAxis.range[1], - rad: g.c2rad(t.x), - }); - })); - } - function v(t) { - return g.c2rad(t.x, "degrees"); - } - function y(t) { - return [l * Math.cos(t), l * Math.sin(t)]; - } - (E(g, h, t), - (g._transfn = function (t) { - var e = v(t), - r = y(e), - i = I(c + r[0], f - r[1]), - a = n.select(this); - return (a && a.node() && a.classed("ticks") && (i += R(-w(e))), i); - }), - (g._gridpath = function (t) { - var e = y(v(t)); - return "M0,0L" + -e[0] + "," + e[1]; - })); - var b = "outside" !== h.ticks ? 0.7 : 0.5; - ((g._labelx = function (t) { - var e = v(t), - r = g._labelStandoff, - n = g._pad; - return ( - (0 === N(e) ? 0 : Math.cos(e) * (r + n + b * t.fontSize)) + - F(e) * (t.dx + r + n) - ); - }), - (g._labely = function (t) { - var e = v(t), - r = g._labelStandoff, - n = g._labelShift, - i = g._pad; - return ( - t.dy + t.fontSize * x - n + -Math.sin(e) * (r + i + b * t.fontSize) - ); - }), - (g._labelanchor = function (t, e) { - var r = v(e); - return 0 === N(r) ? (F(r) > 0 ? "start" : "end") : "middle"; - })); - var k = L(h); - (r.angularTickLayout !== k && - (a["angular-axis"].selectAll(".angulartick").remove(), - (r.angularTickLayout = k)), - u.doTicks(i, g, !0), - O(a["angular-line"].select("path"), h.showline, { - d: P(l, p), - transform: I(c, f), - }) - .attr("stroke-width", h.linewidth) - .call(s.stroke, h.linecolor)); - }), - (C.updateFx = function (t, e) { - this.gd._context.staticPlot || - (this.updateAngularDrag(t, e), - this.updateRadialDrag(t, e), - this.updateMainDrag(t, e)); - }), - (C.updateMainDrag = function (t, e) { - var r = this, - o = r.gd, - s = r.layers, - l = t._zoomlayer, - c = T.MINZOOM, - u = T.OFFEDGE, - f = r.radius, - g = r.cx, - y = r.cy, - x = r.cxx, - b = r.cyy, - _ = e.sector, - w = p.makeDragger(s, "path", "maindrag", "crosshair"); - n.select(w).attr("d", P(f, _)).attr("transform", I(g, y)); - var k, - M, - A, - S, - C, - E, - L, - z, - D, - O = { - element: w, - gd: o, - subplot: r.id, - plotinfo: { xaxis: r.xaxis, yaxis: r.yaxis }, - xaxes: [r.xaxis], - yaxes: [r.yaxis], - }; - function R(t, e) { - var r = t - x, - n = e - b; - return Math.sqrt(r * r + n * n); - } - function B(t, e) { - return Math.atan2(b - e, t - x); - } - function F(t, e) { - return [t * Math.cos(e), t * Math.sin(-e)]; - } - function N(t, e) { - var r = T.cornerLen, - n = T.cornerHalfWidth; - if (0 === t) return P(2 * n, _); - var i = r / t / 2, - a = e - i, - o = e + i, - s = Math.max(0, Math.min(t, f)), - l = s - n, - c = s + n; - return ( - "M" + - F(l, a) + - "A" + - [l, l] + - " 0,0,0 " + - F(l, o) + - "L" + - F(c, o) + - "A" + - [c, c] + - " 0,0,1 " + - F(c, a) + - "Z" - ); - } - function j(t, e) { - var r, - n, - i = k + t, - a = M + e, - o = R(k, M), - s = Math.min(R(i, a), f), - l = B(k, M), - h = B(i, a); - (o < u - ? (o = 0) - : f - o < u - ? (o = f) - : s < u - ? (s = 0) - : f - s < u && (s = f), - Math.abs(s - o) > c - ? (o < s - ? ((A = o), (S = s)) - : ((A = s), (S = o), (h = [l, (l = h)][0])), - (r = C + P(S, _) + P(A, _)), - (n = N(A, l) + N(S, h))) - : ((A = null), (S = null), (r = C), (n = "M0,0Z")), - z.attr("d", r), - D.attr("d", n), - p.transitionZoombox(z, D, E, L), - (E = !0)); - } - function V() { - if ((p.removeZoombox(o), null !== A && null !== S)) { - p.showDoubleClickNotifier(o); - var t = r.radialAxis.range, - e = t[1] - t[0], - n = {}; - ((n[r.id + ".radialaxis.range"] = [ - t[0] + (A * e) / f, - t[0] + (S * e) / f, - ]), - a.call("relayout", o, n)); - } - } - ((O.prepFn = function (t, e, n) { - var a = o._fullLayout.dragmode, - s = w.getBoundingClientRect(); - switch (((k = e - s.left), (M = n - s.top), a)) { - case "zoom": - ((O.moveFn = j), - (O.doneFn = V), - (function () { - ((A = null), (S = null), (C = P(f, _)), (E = !1)); - var t = o._fullLayout[r.id]; - ((L = i(t.bgcolor).getLuminance()), - (z = p.makeZoombox(l, L, g, y, C)).attr( - "fill-rule", - "evenodd", - ), - (D = p.makeCorners(l, g, y)), - v(l)); - })()); - break; - case "select": - case "lasso": - m(t, e, n, O, a); - } - }), - (O.clickFn = function (t, e) { - if ((p.removeZoombox(o), 2 === t)) { - var n = {}; - for (var i in r.viewInitial) n[r.id + "." + i] = r.viewInitial[i]; - (o.emit("plotly_doubleclick", null), a.call("relayout", o, n)); - } - d.click(o, e, r.id); - }), - (w.onmousemove = function (t) { - (d.hover(o, t, r.id), - (o._fullLayout._lasthover = w), - (o._fullLayout._hoversubplot = r.id)); - }), - (w.onmouseout = function (t) { - o._dragging || h.unhover(o, t); - }), - h.init(O)); - }), - (C.updateRadialDrag = function (t, e) { - var r = this, - i = r.gd, - s = r.layers, - l = r.radius, - c = r.cx, - f = r.cy, - d = r.radialAxis, - g = e.radialaxis, - m = _(g.angle), - y = d.range.slice(), - x = y[1] - y[0], - b = T.radialDragBoxSize, - k = b / 2; - if (g.visible) { - var M, - A, - S, - C = p.makeRectDragger(s, "radialdrag", "crosshair", -k, -k, b, b), - E = { element: C, gd: i }, - L = c + (l + k) * Math.cos(m), - z = f - (l + k) * Math.sin(m); - (n.select(C).attr("transform", I(L, z)), - (E.prepFn = function () { - ((M = null), - (A = null), - (S = null), - (E.moveFn = P), - (E.doneFn = D), - v(t._zoomlayer)); - }), - (E.clampFn = function (t, e) { - return ( - Math.sqrt(t * t + e * e) < T.MINDRAG && ((t = 0), (e = 0)), - [t, e] - ); - }), - h.init(E)); - } - function P(t, e) { - if (M) M(t, e); - else { - var r = [t, -e], - n = [Math.cos(m), Math.sin(m)], - i = Math.abs(o.dot(r, n) / Math.sqrt(o.dot(r, r))); - isNaN(i) || (M = i < 0.5 ? O : B); - } - } - function D() { - null !== A - ? a.call("relayout", i, r.id + ".radialaxis.angle", A) - : null !== S && - a.call("relayout", i, r.id + ".radialaxis.range[1]", S); - } - function O(t, e) { - var n = L + t, - i = z + e; - A = w(Math.atan2(f - i, n - c)); - var a = I(c, f) + R(-A); - (s["radial-axis"].attr("transform", a), - s["radial-line"].select("line").attr("transform", a)); - var o = r.gd._fullLayout, - l = o[r.id]; - r.updateRadialAxisTitle(o, l, A); - } - function B(t, e) { - var n = o.dot([t, -e], [Math.cos(m), Math.sin(m)]), - h = y[1] - ((x * n) / l) * 0.75; - if (x > 0 == h > y[0]) { - ((S = d.range[1] = h), - u.doTicks(i, r.radialAxis, !0), - s["radial-grid"] - .attr("transform", I(c, f)) - .selectAll("path") - .attr("transform", null)); - var p = S - y[0], - g = r.sectorBBox; - for (var v in ((r.xaxis.range = [g[0] * p, g[2] * p]), - (r.yaxis.range = [g[1] * p, g[3] * p]), - r.xaxis.setScale(), - r.yaxis.setScale(), - r.traceHash)) { - var b = r.traceHash[v], - _ = o.filterVisible(b), - w = b[0][0].trace._module, - k = i._fullLayout[r.id]; - if ((w.plot(i, r, _, k), !a.traceIs(v, "gl"))) - for (var M = 0; M < _.length; M++) w.style(i, _[M]); - } - } - } - }), - (C.updateAngularDrag = function (t, e) { - var r = this, - i = r.gd, - s = r.layers, - c = r.radius, - f = r.cx, - d = r.cy, - g = r.cxx, - m = r.cyy, - x = e.sector, - b = T.angularDragBoxSize, - k = p.makeDragger(s, "path", "angulardrag", "move"), - S = { element: k, gd: i }; - function C(t, e) { - return Math.atan2(m + b - e, t - g - b); - } - n.select(k) - .attr( - "d", - (function (t, e, r) { - var n, - i, - a, - o = Math.abs(r[1] - r[0]) <= 180 ? 0 : 1; - function s(t, e) { - return [t * Math.cos(e), -t * Math.sin(e)]; - } - function l(t, e, r) { - return "A" + [t, t] + " " + [0, o, r] + " " + s(t, e); - } - return D(r) - ? ((n = 0), - (a = 2 * Math.PI), - (i = Math.PI), - "M" + - s(t, n) + - l(t, i, 0) + - l(t, a, 0) + - "ZM" + - s(e, n) + - l(e, i, 1) + - l(e, a, 1) + - "Z") - : ((n = _(r[0])), - (a = _(r[1])), - "M" + - s(t, n) + - "L" + - s(e, n) + - l(e, a, 0) + - "L" + - s(t, a) + - l(t, n, 1) + - "Z"); - })(c, c + b, x), - ) - .attr("transform", I(f, d)) - .call(y, "move"); - var E, - L, - z, - P, - O, - B, - F = s.frontplot.select(".scatterlayer").selectAll(".trace"), - N = F.selectAll(".point"), - j = F.selectAll(".textpoint"); - function V(t, e) { - var c = C(E + t, L + e), - f = w(c - B); - ((P = z + f), - s.frontplot.attr( - "transform", - I(r.xOffset2, r.yOffset2) + R([-f, g, m]), - ), - r.clipPaths.circle.select("path").attr("transform", I(g, m) + R(f)), - N.each(function () { - var t = n.select(this), - e = l.getTranslate(t); - t.attr("transform", I(e.x, e.y) + R([f])); - }), - j.each(function () { - var t = n.select(this), - e = t.select("text"), - r = l.getTranslate(t); - t.attr("transform", R([f, e.attr("x"), e.attr("y")]) + I(r.x, r.y)); - })); - var h = r.angularAxis; - for (var p in ((h.rotation = M(P)), - "linear" !== h.type || - D(x) || - (h.range = O.map(_).map(h.unTransformRad).map(w)), - A(h), - u.doTicks(i, h, !0), - r._hasClipOnAxisFalse && - !D(x) && - ((r.sector = [O[0] - f, O[1] - f]), - F.call(l.hideOutsideRangePoints, r)), - r.traceHash)) - if (a.traceIs(p, "gl")) { - var d = r.traceHash[p], - v = o.filterVisible(d), - y = d[0][0].trace._module, - b = i._fullLayout[r.id]; - y.plot(i, r, v, b); - } - } - function U() { - j.select("text").attr("transform", null); - var t = {}; - ((t[r.id + ".angularaxis.rotation"] = P), a.call("relayout", i, t)); - } - ((S.prepFn = function (e, n, i) { - var a = t[r.id]; - ((O = a.sector.slice()), (z = a.angularaxis.rotation)); - var o = k.getBoundingClientRect(); - ((E = n - o.left), - (L = i - o.top), - (B = C(E, L)), - (S.moveFn = V), - (S.doneFn = U), - v(t._zoomlayer)); - }), - h.init(S)); - }), - (C.isPtWithinSector = function (t) { - var e = this.sector, - r = this.radialAxis, - n = r.range, - i = r.c2r(t.r), - a = k(e[0]), - o = k(e[1]); - a > o && (o += 360); - var s, - l, - c = k(w(t.rad)), - u = c + 360; - return ( - n[1] >= n[0] ? ((s = n[0]), (l = n[1])) : ((s = n[1]), (l = n[0])), - i >= s && i <= l && (D(e) || (c >= a && c <= o) || (u >= a && u <= o)) - ); - }), - (C.fillViewInitialKey = function (t, e) { - t in this.viewInitial || (this.viewInitial[t] = e); - })); - }, - { - "../../components/color": 474, - "../../components/dragelement": 496, - "../../components/drawing": 499, - "../../components/fx": 516, - "../../components/titles": 567, - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/setcursor": 622, - "../../registry": 732, - "../cartesian/autorange": 647, - "../cartesian/axes": 648, - "../cartesian/dragbox": 656, - "../cartesian/select": 665, - "../plots": 710, - "./constants": 711, - "./helpers": 712, - d3: 130, - tinycolor2: 415, - }, - ], - 723: [ - function (t, e, r) { - "use strict"; - function n(t, e) { - return "splom" === t ? -1 : "splom" === e ? 1 : 0; - } - e.exports = { - sortBasePlotModules: function (t, e) { - return n(t.name, e.name); - }, - sortModules: n, - }; - }, - {}, - ], - 724: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("./domain").defaults; - e.exports = function (t, e, r, a) { - var o, - s, - l = a.type, - c = a.attributes, - u = a.handleDefaults, - f = a.partition || "x", - h = e._subplots[l], - p = h.length; - function d(t, e) { - return n.coerce(o, s, c, t, e); - } - for (var g = 0; g < p; g++) { - var m = h[g]; - ((o = t[m] ? t[m] : (t[m] = {})), (e[m] = s = {})); - var v = {}; - ((v[f] = [g / p, (g + 1) / p]), i(s, e, d, v), (a.id = m), u(o, s, d, a)); - } - }; - }, - { "../lib": 602, "./domain": 673 }, - ], - 725: [ - function (t, e, r) { - "use strict"; - var n = t("./ternary"), - i = t("../../plots/get_data").getSubplotCalcData, - a = t("../../lib").counterRegex; - ((r.name = "ternary"), - (r.attr = "subplot"), - (r.idRoot = "ternary"), - (r.idRegex = r.attrRegex = a("ternary")), - (r.attributes = t("./layout/attributes")), - (r.layoutAttributes = t("./layout/layout_attributes")), - (r.supplyLayoutDefaults = t("./layout/defaults")), - (r.plot = function (t) { - for ( - var e = t._fullLayout, r = t.calcdata, a = e._subplots.ternary, o = 0; - o < a.length; - o++ - ) { - var s = a[o], - l = i(r, "ternary", s), - c = e[s]._subplot; - (c || - ((c = new n( - { id: s, graphDiv: t, container: e._ternarylayer.node() }, - e, - )), - (e[s]._subplot = c)), - c.plot(l, e, t._promises)); - } - }), - (r.clean = function (t, e, r, n) { - for (var i = n._subplots.ternary || [], a = 0; a < i.length; a++) { - var o = i[a], - s = n[o]._subplot; - !e[o] && - s && - (s.plotContainer.remove(), - s.clipDef.remove(), - s.clipDefRelative.remove(), - s.layers["a-title"].remove(), - s.layers["b-title"].remove(), - s.layers["c-title"].remove()); - } - })); - }, - { - "../../lib": 602, - "../../plots/get_data": 684, - "./layout/attributes": 726, - "./layout/defaults": 729, - "./layout/layout_attributes": 730, - "./ternary": 731, - }, - ], - 726: [ - function (t, e, r) { - "use strict"; - e.exports = { - subplot: { valType: "subplotid", dflt: "ternary", editType: "calc" }, - }; - }, - {}, - ], - 727: [ - function (t, e, r) { - "use strict"; - var n = t("../../cartesian/layout_attributes"), - i = t("../../../lib/extend").extendFlat; - e.exports = { - title: n.title, - titlefont: n.titlefont, - color: n.color, - tickmode: n.tickmode, - nticks: i({}, n.nticks, { dflt: 6, min: 1 }), - tick0: n.tick0, - dtick: n.dtick, - tickvals: n.tickvals, - ticktext: n.ticktext, - ticks: n.ticks, - ticklen: n.ticklen, - tickwidth: n.tickwidth, - tickcolor: n.tickcolor, - showticklabels: n.showticklabels, - showtickprefix: n.showtickprefix, - tickprefix: n.tickprefix, - showticksuffix: n.showticksuffix, - ticksuffix: n.ticksuffix, - showexponent: n.showexponent, - exponentformat: n.exponentformat, - separatethousands: n.separatethousands, - tickfont: n.tickfont, - tickangle: n.tickangle, - tickformat: n.tickformat, - tickformatstops: n.tickformatstops, - hoverformat: n.hoverformat, - showline: i({}, n.showline, { dflt: !0 }), - linecolor: n.linecolor, - linewidth: n.linewidth, - showgrid: i({}, n.showgrid, { dflt: !0 }), - gridcolor: n.gridcolor, - gridwidth: n.gridwidth, - layer: n.layer, - min: { valType: "number", dflt: 0, min: 0 }, - }; - }, - { "../../../lib/extend": 591, "../../cartesian/layout_attributes": 660 }, - ], - 728: [ - function (t, e, r) { - "use strict"; - var n = t("../../../lib"), - i = t("./axis_attributes"), - a = t("../../cartesian/tick_label_defaults"), - o = t("../../cartesian/tick_mark_defaults"), - s = t("../../cartesian/tick_value_defaults"), - l = t("../../cartesian/line_grid_defaults"); - e.exports = function (t, e, r) { - function c(r, a) { - return n.coerce(t, e, i, r, a); - } - e.type = "linear"; - var u = c("color"), - f = u === t.color ? u : r.font.color, - h = e._name.charAt(0).toUpperCase(), - p = "Component " + h, - d = c("title", p); - ((e._hovertitle = d === p ? d : h), - n.coerceFont(c, "titlefont", { - family: r.font.family, - size: Math.round(1.2 * r.font.size), - color: f, - }), - c("min"), - s(t, e, c, "linear"), - a(t, e, c, "linear", {}), - o(t, e, c, { outerTicks: !0 }), - c("showticklabels") && - (n.coerceFont(c, "tickfont", { - family: r.font.family, - size: r.font.size, - color: f, - }), - c("tickangle"), - c("tickformat")), - l(t, e, c, { - dfltColor: u, - bgColor: r.bgColor, - blend: 60, - showLine: !0, - showGrid: !0, - noZeroLine: !0, - attributes: i, - }), - c("hoverformat"), - c("layer")); - }; - }, - { - "../../../lib": 602, - "../../cartesian/line_grid_defaults": 662, - "../../cartesian/tick_label_defaults": 667, - "../../cartesian/tick_mark_defaults": 668, - "../../cartesian/tick_value_defaults": 669, - "./axis_attributes": 727, - }, - ], - 729: [ - function (t, e, r) { - "use strict"; - var n = t("../../../components/color"), - i = t("../../subplot_defaults"), - a = t("./layout_attributes"), - o = t("./axis_defaults"), - s = ["aaxis", "baxis", "caxis"]; - function l(t, e, r, i) { - var a, - l, - c, - u = r("bgcolor"), - f = r("sum"); - i.bgColor = n.combine(u, i.paper_bgcolor); - for (var h = 0; h < s.length; h++) - ((l = t[(a = s[h])] || {}), - (c = e[a] = { _name: a, type: "linear" }), - o(l, c, i)); - var p = e.aaxis, - d = e.baxis, - g = e.caxis; - p.min + d.min + g.min >= f && - ((p.min = 0), - (d.min = 0), - (g.min = 0), - t.aaxis && delete t.aaxis.min, - t.baxis && delete t.baxis.min, - t.caxis && delete t.caxis.min); - } - e.exports = function (t, e, r) { - i(t, e, r, { - type: "ternary", - attributes: a, - handleDefaults: l, - font: e.font, - paper_bgcolor: e.paper_bgcolor, - }); - }; - }, - { - "../../../components/color": 474, - "../../subplot_defaults": 724, - "./axis_defaults": 728, - "./layout_attributes": 730, - }, - ], - 730: [ - function (t, e, r) { - "use strict"; - var n = t("../../../components/color/attributes"), - i = t("../../domain").attributes, - a = t("./axis_attributes"), - o = t("../../../plot_api/edit_types").overrideAll; - e.exports = o( - { - domain: i({ name: "ternary" }), - bgcolor: { valType: "color", dflt: n.background }, - sum: { valType: "number", dflt: 1, min: 0 }, - aaxis: a, - baxis: a, - caxis: a, - }, - "plot", - "from-root", - ); - }, - { - "../../../components/color/attributes": 473, - "../../../plot_api/edit_types": 633, - "../../domain": 673, - "./axis_attributes": 727, - }, - ], - 731: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("../../registry"), - o = t("../../lib"), - s = o._, - l = t("../../components/color"), - c = t("../../components/drawing"), - u = t("../cartesian/set_convert"), - f = t("../../lib/extend").extendFlat, - h = t("../plots"), - p = t("../cartesian/axes"), - d = t("../../components/dragelement"), - g = t("../../components/fx"), - m = t("../../components/titles"), - v = t("../cartesian/select").prepSelect, - y = t("../cartesian/select").clearSelect, - x = t("../cartesian/constants"); - function b(t, e) { - ((this.id = t.id), - (this.graphDiv = t.graphDiv), - this.init(e), - this.makeFramework(e)); - } - e.exports = b; - var _ = b.prototype; - ((_.init = function (t) { - ((this.container = t._ternarylayer), - (this.defs = t._defs), - (this.layoutId = t._uid), - (this.traceHash = {}), - (this.layers = {})); - }), - (_.plot = function (t, e) { - var r = e[this.id], - n = e._size; - this._hasClipOnAxisFalse = !1; - for (var i = 0; i < t.length; i++) { - if (!1 === t[i][0].trace.cliponaxis) { - this._hasClipOnAxisFalse = !0; - break; - } - } - (this.updateLayers(r), - this.adjustLayout(r, n), - h.generalUpdatePerTraceModule(this.graphDiv, this, t, r), - this.layers.plotbg.select("path").call(l.fill, r.bgcolor)); - }), - (_.makeFramework = function (t) { - var e = t[this.id], - r = (this.clipId = "clip" + this.layoutId + this.id), - n = (this.clipIdRelative = "clip-relative" + this.layoutId + this.id); - ((this.clipDef = o.ensureSingleById( - t._clips, - "clipPath", - r, - function (t) { - t.append("path").attr("d", "M0,0Z"); - }, - )), - (this.clipDefRelative = o.ensureSingleById( - t._clips, - "clipPath", - n, - function (t) { - t.append("path").attr("d", "M0,0Z"); - }, - )), - (this.plotContainer = o.ensureSingle(this.container, "g", this.id)), - this.updateLayers(e), - c.setClipUrl(this.layers.backplot, r), - c.setClipUrl(this.layers.grids, r)); - }), - (_.updateLayers = function (t) { - var e = this.layers, - r = ["draglayer", "plotbg", "backplot", "grids"]; - ("below traces" === t.aaxis.layer && r.push("aaxis", "aline"), - "below traces" === t.baxis.layer && r.push("baxis", "bline"), - "below traces" === t.caxis.layer && r.push("caxis", "cline"), - r.push("frontplot"), - "above traces" === t.aaxis.layer && r.push("aaxis", "aline"), - "above traces" === t.baxis.layer && r.push("baxis", "bline"), - "above traces" === t.caxis.layer && r.push("caxis", "cline")); - var i = this.plotContainer.selectAll("g.toplevel").data(r, String), - a = ["agrid", "bgrid", "cgrid"]; - (i - .enter() - .append("g") - .attr("class", function (t) { - return "toplevel " + t; - }) - .each(function (t) { - var r = n.select(this); - ((e[t] = r), - "frontplot" === t - ? r.append("g").classed("scatterlayer", !0) - : "backplot" === t - ? r.append("g").classed("maplayer", !0) - : "plotbg" === t - ? r.append("path").attr("d", "M0,0Z") - : "aline" === t || "bline" === t || "cline" === t - ? r.append("path") - : "grids" === t && - a.forEach(function (t) { - e[t] = r.append("g").classed("grid " + t, !0); - var n = "bgrid" === t ? "x" : "y"; - e[t].append("g").classed(n, !0); - })); - }), - i.order()); - })); - var w = Math.sqrt(4 / 3); - ((_.adjustLayout = function (t, e) { - var r, - n, - i, - a, - o, - s, - h = this, - p = t.domain, - d = (p.x[0] + p.x[1]) / 2, - g = (p.y[0] + p.y[1]) / 2, - m = p.x[1] - p.x[0], - v = p.y[1] - p.y[0], - y = m * e.w, - x = v * e.h, - b = t.sum, - _ = t.aaxis.min, - k = t.baxis.min, - M = t.caxis.min; - (y > w * x ? (i = (a = x) * w) : (a = (i = y) / w), - (o = (m * i) / y), - (s = (v * a) / x), - (r = e.l + e.w * d - i / 2), - (n = e.t + e.h * (1 - g) - a / 2), - (h.x0 = r), - (h.y0 = n), - (h.w = i), - (h.h = a), - (h.sum = b), - (h.xaxis = { - type: "linear", - range: [_ + 2 * M - b, b - _ - 2 * k], - domain: [d - o / 2, d + o / 2], - _id: "x", - }), - u(h.xaxis, h.graphDiv._fullLayout), - h.xaxis.setScale(), - (h.xaxis.isPtWithinRange = function (t) { - return ( - t.a >= h.aaxis.range[0] && - t.a <= h.aaxis.range[1] && - t.b >= h.baxis.range[1] && - t.b <= h.baxis.range[0] && - t.c >= h.caxis.range[1] && - t.c <= h.caxis.range[0] - ); - }), - (h.yaxis = { - type: "linear", - range: [_, b - k - M], - domain: [g - s / 2, g + s / 2], - _id: "y", - }), - u(h.yaxis, h.graphDiv._fullLayout), - h.yaxis.setScale(), - (h.yaxis.isPtWithinRange = function () { - return !0; - })); - var A = h.yaxis.domain[0], - T = (h.aaxis = f({}, t.aaxis, { - visible: !0, - range: [_, b - k - M], - side: "left", - _counterangle: 30, - tickangle: (+t.aaxis.tickangle || 0) - 30, - domain: [A, A + s * w], - _axislayer: h.layers.aaxis, - _gridlayer: h.layers.agrid, - _pos: 0, - _id: "y", - _length: i, - _gridpath: "M0,0l" + a + ",-" + i / 2, - automargin: !1, - })); - (u(T, h.graphDiv._fullLayout), T.setScale()); - var S = (h.baxis = f({}, t.baxis, { - visible: !0, - range: [b - _ - M, k], - side: "bottom", - _counterangle: 30, - domain: h.xaxis.domain, - _axislayer: h.layers.baxis, - _gridlayer: h.layers.bgrid, - _counteraxis: h.aaxis, - _pos: 0, - _id: "x", - _length: i, - _gridpath: "M0,0l-" + i / 2 + ",-" + a, - automargin: !1, - })); - (u(S, h.graphDiv._fullLayout), S.setScale(), (T._counteraxis = S)); - var C = (h.caxis = f({}, t.caxis, { - visible: !0, - range: [b - _ - k, M], - side: "right", - _counterangle: 30, - tickangle: (+t.caxis.tickangle || 0) + 30, - domain: [A, A + s * w], - _axislayer: h.layers.caxis, - _gridlayer: h.layers.cgrid, - _counteraxis: h.baxis, - _pos: 0, - _id: "y", - _length: i, - _gridpath: "M0,0l-" + a + "," + i / 2, - automargin: !1, - })); - (u(C, h.graphDiv._fullLayout), C.setScale()); - var E = "M" + r + "," + (n + a) + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; - (h.clipDef.select("path").attr("d", E), - h.layers.plotbg.select("path").attr("d", E)); - var L = "M0," + a + "h" + i + "l-" + i / 2 + ",-" + a + "Z"; - h.clipDefRelative.select("path").attr("d", L); - var z = "translate(" + r + "," + n + ")"; - (h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform", z), - h.clipDefRelative.select("path").attr("transform", null)); - var P = "translate(" + (r - S._offset) + "," + (n + a) + ")"; - (h.layers.baxis.attr("transform", P), h.layers.bgrid.attr("transform", P)); - var D = - "translate(" + - (r + i / 2) + - "," + - n + - ")rotate(30)translate(0," + - -T._offset + - ")"; - (h.layers.aaxis.attr("transform", D), h.layers.agrid.attr("transform", D)); - var O = - "translate(" + - (r + i / 2) + - "," + - n + - ")rotate(-30)translate(0," + - -C._offset + - ")"; - (h.layers.caxis.attr("transform", O), - h.layers.cgrid.attr("transform", O), - h.drawAxes(!0), - h.plotContainer.selectAll(".crisp").classed("crisp", !1), - h.layers.aline - .select("path") - .attr( - "d", - T.showline - ? "M" + r + "," + (n + a) + "l" + i / 2 + ",-" + a - : "M0,0", - ) - .call(l.stroke, T.linecolor || "#000") - .style("stroke-width", (T.linewidth || 0) + "px"), - h.layers.bline - .select("path") - .attr("d", S.showline ? "M" + r + "," + (n + a) + "h" + i : "M0,0") - .call(l.stroke, S.linecolor || "#000") - .style("stroke-width", (S.linewidth || 0) + "px"), - h.layers.cline - .select("path") - .attr( - "d", - C.showline - ? "M" + (r + i / 2) + "," + n + "l" + i / 2 + "," + a - : "M0,0", - ) - .call(l.stroke, C.linecolor || "#000") - .style("stroke-width", (C.linewidth || 0) + "px"), - h.graphDiv._context.staticPlot || h.initInteractions(), - c.setClipUrl( - h.layers.frontplot, - h._hasClipOnAxisFalse ? null : h.clipId, - )); - }), - (_.drawAxes = function (t) { - var e = this.graphDiv, - r = this.id.substr(7) + "title", - n = this.aaxis, - i = this.baxis, - a = this.caxis; - if ((p.doTicks(e, n, !0), p.doTicks(e, i, !0), p.doTicks(e, a, !0), t)) { - var o = Math.max( - n.showticklabels ? n.tickfont.size / 2 : 0, - (a.showticklabels ? 0.75 * a.tickfont.size : 0) + - ("outside" === a.ticks ? 0.87 * a.ticklen : 0), - ); - this.layers["a-title"] = m.draw(e, "a" + r, { - propContainer: n, - propName: this.id + ".aaxis.title", - placeholder: s(e, "Click to enter Component A title"), - attributes: { - x: this.x0 + this.w / 2, - y: this.y0 - n.titlefont.size / 3 - o, - "text-anchor": "middle", - }, - }); - var l = - (i.showticklabels ? i.tickfont.size : 0) + - ("outside" === i.ticks ? i.ticklen : 0) + - 3; - ((this.layers["b-title"] = m.draw(e, "b" + r, { - propContainer: i, - propName: this.id + ".baxis.title", - placeholder: s(e, "Click to enter Component B title"), - attributes: { - x: this.x0 - l, - y: this.y0 + this.h + 0.83 * i.titlefont.size + l, - "text-anchor": "middle", - }, - })), - (this.layers["c-title"] = m.draw(e, "c" + r, { - propContainer: a, - propName: this.id + ".caxis.title", - placeholder: s(e, "Click to enter Component C title"), - attributes: { - x: this.x0 + this.w + l, - y: this.y0 + this.h + 0.83 * a.titlefont.size + l, - "text-anchor": "middle", - }, - }))); - } - })); - var k = x.MINZOOM / 2 + 0.87, - M = - "m-0.87,.5h" + - k + - "v3h-" + - (k + 5.2) + - "l" + - (k / 2 + 2.6) + - ",-" + - (0.87 * k + 4.5) + - "l2.6,1.5l-" + - k / 2 + - "," + - 0.87 * k + - "Z", - A = - "m0.87,.5h-" + - k + - "v3h" + - (k + 5.2) + - "l-" + - (k / 2 + 2.6) + - ",-" + - (0.87 * k + 4.5) + - "l-2.6,1.5l" + - k / 2 + - "," + - 0.87 * k + - "Z", - T = - "m0,1l" + - k / 2 + - "," + - 0.87 * k + - "l2.6,-1.5l-" + - (k / 2 + 2.6) + - ",-" + - (0.87 * k + 4.5) + - "l-" + - (k / 2 + 2.6) + - "," + - (0.87 * k + 4.5) + - "l2.6,1.5l" + - k / 2 + - ",-" + - 0.87 * k + - "Z", - S = "m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z", - C = !0; - function E(t) { - n.select(t) - .selectAll( - ".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners", - ) - .remove(); - } - _.initInteractions = function () { - var t, - e, - r, - n, - u, - f, - h, - p, - m, - b, - _ = this, - k = _.layers.plotbg.select("path").node(), - L = _.graphDiv, - z = L._fullLayout._zoomlayer, - P = { - element: k, - gd: L, - plotinfo: { xaxis: _.xaxis, yaxis: _.yaxis }, - subplot: _.id, - prepFn: function (a, o, s) { - ((P.xaxes = [_.xaxis]), (P.yaxes = [_.yaxis])); - var c = L._fullLayout.dragmode; - (a.shiftKey && (c = "pan" === c ? "zoom" : "pan"), - (P.minDrag = "lasso" === c ? 1 : void 0), - "zoom" === c - ? ((P.moveFn = R), - (P.doneFn = B), - (function (a, o, s) { - var c = k.getBoundingClientRect(); - ((t = o - c.left), - (e = s - c.top), - (r = { - a: _.aaxis.range[0], - b: _.baxis.range[1], - c: _.caxis.range[1], - }), - (u = r), - (n = _.aaxis.range[1] - r.a), - (f = i( - _.graphDiv._fullLayout[_.id].bgcolor, - ).getLuminance()), - (h = - "M0," + - _.h + - "L" + - _.w / 2 + - ", 0L" + - _.w + - "," + - _.h + - "Z"), - (p = !1), - (m = z - .append("path") - .attr("class", "zoombox") - .attr( - "transform", - "translate(" + _.x0 + ", " + _.y0 + ")", - ) - .style({ - fill: f > 0.2 ? "rgba(0,0,0,0)" : "rgba(255,255,255,0)", - "stroke-width": 0, - }) - .attr("d", h)), - (b = z - .append("path") - .attr("class", "zoombox-corners") - .attr( - "transform", - "translate(" + _.x0 + ", " + _.y0 + ")", - ) - .style({ - fill: l.background, - stroke: l.defaultLine, - "stroke-width": 1, - opacity: 0, - }) - .attr("d", "M0,0Z")), - y(z)); - })(0, o, s)) - : "pan" === c - ? ((P.moveFn = F), - (P.doneFn = N), - (r = { - a: _.aaxis.range[0], - b: _.baxis.range[1], - c: _.caxis.range[1], - }), - (u = r), - y(z)) - : ("select" !== c && "lasso" !== c) || v(a, o, s, P, c)); - }, - clickFn: function (t, e) { - if ((E(L), 2 === t)) { - var r = {}; - ((r[_.id + ".aaxis.min"] = 0), - (r[_.id + ".baxis.min"] = 0), - (r[_.id + ".caxis.min"] = 0), - L.emit("plotly_doubleclick", null), - a.call("relayout", L, r)); - } - g.click(L, e, _.id); - }, - }; - function D(t, e) { - return 1 - e / _.h; - } - function O(t, e) { - return 1 - (t + (_.h - e) / Math.sqrt(3)) / _.w; - } - function I(t, e) { - return (t - (_.h - e) / Math.sqrt(3)) / _.w; - } - function R(i, a) { - var o = t + i, - s = e + a, - l = Math.max(0, Math.min(1, D(0, e), D(0, s))), - c = Math.max(0, Math.min(1, O(t, e), O(o, s))), - d = Math.max(0, Math.min(1, I(t, e), I(o, s))), - g = (l / 2 + d) * _.w, - v = (1 - l / 2 - c) * _.w, - y = (g + v) / 2, - k = v - g, - C = (1 - l) * _.h, - E = C - k / w; - (k < x.MINZOOM - ? ((u = r), m.attr("d", h), b.attr("d", "M0,0Z")) - : ((u = { a: r.a + l * n, b: r.b + c * n, c: r.c + d * n }), - m.attr( - "d", - h + - "M" + - g + - "," + - C + - "H" + - v + - "L" + - y + - "," + - E + - "L" + - g + - "," + - C + - "Z", - ), - b.attr( - "d", - "M" + - t + - "," + - e + - S + - "M" + - g + - "," + - C + - M + - "M" + - v + - "," + - C + - A + - "M" + - y + - "," + - E + - T, - )), - p || - (m - .transition() - .style( - "fill", - f > 0.2 ? "rgba(0,0,0,0.4)" : "rgba(255,255,255,0.3)", - ) - .duration(200), - b.transition().style("opacity", 1).duration(200), - (p = !0))); - } - function B() { - if ((E(L), u !== r)) { - var t = {}; - ((t[_.id + ".aaxis.min"] = u.a), - (t[_.id + ".baxis.min"] = u.b), - (t[_.id + ".caxis.min"] = u.c), - a.call("relayout", L, t), - C && - L.data && - L._context.showTips && - (o.notifier(s(L, "Double-click to zoom back out"), "long"), - (C = !1))); - } - } - function F(t, e) { - var n = t / _.xaxis._m, - i = e / _.yaxis._m, - a = [ - (u = { a: r.a - i, b: r.b + (n + i) / 2, c: r.c - (n - i) / 2 }).a, - u.b, - u.c, - ].sort(), - o = a.indexOf(u.a), - s = a.indexOf(u.b), - l = a.indexOf(u.c); - a[0] < 0 && - (a[1] + a[0] / 2 < 0 - ? ((a[2] += a[0] + a[1]), (a[0] = a[1] = 0)) - : ((a[2] += a[0] / 2), (a[1] += a[0] / 2), (a[0] = 0)), - (u = { a: a[o], b: a[s], c: a[l] }), - (e = (r.a - u.a) * _.yaxis._m), - (t = (r.c - u.c - r.b + u.b) * _.xaxis._m)); - var f = "translate(" + (_.x0 + t) + "," + (_.y0 + e) + ")"; - _.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform", f); - var h = "translate(" + -t + "," + -e + ")"; - (_.clipDefRelative.select("path").attr("transform", h), - (_.aaxis.range = [u.a, _.sum - u.b - u.c]), - (_.baxis.range = [_.sum - u.a - u.c, u.b]), - (_.caxis.range = [_.sum - u.a - u.b, u.c]), - _.drawAxes(!1), - _.plotContainer.selectAll(".crisp").classed("crisp", !1), - _._hasClipOnAxisFalse && - _.plotContainer - .select(".scatterlayer") - .selectAll(".trace") - .call(c.hideOutsideRangePoints, _)); - } - function N() { - var t = {}; - ((t[_.id + ".aaxis.min"] = u.a), - (t[_.id + ".baxis.min"] = u.b), - (t[_.id + ".caxis.min"] = u.c), - a.call("relayout", L, t)); - } - ((k.onmousemove = function (t) { - (g.hover(L, t, _.id), - (L._fullLayout._lasthover = k), - (L._fullLayout._hoversubplot = _.id)); - }), - (k.onmouseout = function (t) { - L._dragging || d.unhover(L, t); - }), - d.init(P)); - }; - }, - { - "../../components/color": 474, - "../../components/dragelement": 496, - "../../components/drawing": 499, - "../../components/fx": 516, - "../../components/titles": 567, - "../../lib": 602, - "../../lib/extend": 591, - "../../registry": 732, - "../cartesian/axes": 648, - "../cartesian/constants": 653, - "../cartesian/select": 665, - "../cartesian/set_convert": 666, - "../plots": 710, - d3: 130, - tinycolor2: 415, - }, - ], - 732: [ - function (t, e, r) { - "use strict"; - var n = t("./lib/loggers"), - i = t("./lib/noop"), - a = t("./lib/push_unique"), - o = t("./lib/is_plain_object"), - s = t("./lib/extend"), - l = t("./plots/attributes"), - c = t("./plots/layout_attributes"), - u = s.extendFlat, - f = s.extendDeepAll; - function h(t) { - var e = t.name, - i = t.categories, - a = t.meta; - if (r.modules[e]) n.log("Type " + e + " already registered"); - else { - r.subplotsRegistry[t.basePlotModule.name] || - (function (t) { - var e = t.name; - if (r.subplotsRegistry[e]) - return void n.log("Plot type " + e + " already registered."); - for (var i in (m(t), - (r.subplotsRegistry[e] = t), - r.componentsRegistry)) - x(i, t.name); - })(t.basePlotModule); - for (var o = {}, s = 0; s < i.length; s++) - ((o[i[s]] = !0), (r.allCategories[i[s]] = !0)); - for (var l in ((r.modules[e] = { _module: t, categories: o }), - a && Object.keys(a).length && (r.modules[e].meta = a), - r.allTypes.push(e), - r.componentsRegistry)) - v(l, e); - t.layoutAttributes && u(r.traceLayoutAttributes, t.layoutAttributes); - } - } - function p(t) { - if ("string" != typeof t.name) - throw new Error("Component module *name* must be a string."); - var e = t.name; - for (var n in ((r.componentsRegistry[e] = t), - t.layoutAttributes && - (t.layoutAttributes._isLinkedToArray && a(r.layoutArrayContainers, e), - m(t)), - r.modules)) - v(e, n); - for (var i in r.subplotsRegistry) x(e, i); - for (var o in r.transformsRegistry) y(e, o); - t.schema && t.schema.layout && f(c, t.schema.layout); - } - function d(t) { - if ("string" != typeof t.name) - throw new Error("Transform module *name* must be a string."); - var e = "Transform module " + t.name, - i = "function" == typeof t.transform, - a = "function" == typeof t.calcTransform; - if (!i && !a) - throw new Error( - e + " is missing a *transform* or *calcTransform* method.", - ); - for (var s in (i && - a && - n.log( - [ - e + " has both a *transform* and *calcTransform* methods.", - "Please note that all *transform* methods are executed", - "before all *calcTransform* methods.", - ].join(" "), - ), - o(t.attributes) || n.log(e + " registered without an *attributes* object."), - "function" != typeof t.supplyDefaults && - n.log(e + " registered without a *supplyDefaults* method."), - (r.transformsRegistry[t.name] = t), - r.componentsRegistry)) - y(s, t.name); - } - function g(t) { - var e = t.name, - n = e.split("-")[0], - i = t.dictionary, - a = t.format, - o = i && Object.keys(i).length, - s = a && Object.keys(a).length, - l = r.localeRegistry, - c = l[e]; - if ((c || (l[e] = c = {}), n !== e)) { - var u = l[n]; - (u || (l[n] = u = {}), - o && u.dictionary === c.dictionary && (u.dictionary = i), - s && u.format === c.format && (u.format = a)); - } - (o && (c.dictionary = i), s && (c.format = a)); - } - function m(t) { - if (t.layoutAttributes) { - var e = t.layoutAttributes._arrayAttrRegexps; - if (e) for (var n = 0; n < e.length; n++) a(r.layoutArrayRegexes, e[n]); - } - } - function v(t, e) { - var n = r.componentsRegistry[t].schema; - if (n && n.traces) { - var i = n.traces[e]; - i && f(r.modules[e]._module.attributes, i); - } - } - function y(t, e) { - var n = r.componentsRegistry[t].schema; - if (n && n.transforms) { - var i = n.transforms[e]; - i && f(r.transformsRegistry[e].attributes, i); - } - } - function x(t, e) { - var n = r.componentsRegistry[t].schema; - if (n && n.subplots) { - var i = r.subplotsRegistry[e], - a = i.layoutAttributes, - o = "subplot" === i.attr ? i.name : i.attr; - Array.isArray(o) && (o = o[0]); - var s = n.subplots[o]; - a && s && f(a, s); - } - } - function b(t) { - return ("object" == typeof t && (t = t.type), t); - } - ((r.modules = {}), - (r.allCategories = {}), - (r.allTypes = []), - (r.subplotsRegistry = {}), - (r.transformsRegistry = {}), - (r.componentsRegistry = {}), - (r.layoutArrayContainers = []), - (r.layoutArrayRegexes = []), - (r.traceLayoutAttributes = {}), - (r.localeRegistry = {}), - (r.apiMethodRegistry = {}), - (r.register = function (t) { - if (!t) throw new Error("No argument passed to Plotly.register."); - t && !Array.isArray(t) && (t = [t]); - for (var e = 0; e < t.length; e++) { - var n = t[e]; - if (!n) - throw new Error("Invalid module was attempted to be registered!"); - switch (n.moduleType) { - case "trace": - h(n); - break; - case "transform": - d(n); - break; - case "component": - p(n); - break; - case "locale": - g(n); - break; - case "apiMethod": - var i = n.name; - r.apiMethodRegistry[i] = n.fn; - break; - default: - throw new Error("Invalid module was attempted to be registered!"); - } - } - }), - (r.getModule = function (t) { - var e = r.modules[b(t)]; - return !!e && e._module; - }), - (r.traceIs = function (t, e) { - if ("various" === (t = b(t))) return !1; - var i = r.modules[t]; - return ( - i || - (t && "area" !== t && n.log("Unrecognized trace type " + t + "."), - (i = r.modules[l.type.dflt])), - !!i.categories[e] - ); - }), - (r.getTransformIndices = function (t, e) { - for (var r = [], n = t.transforms || [], i = 0; i < n.length; i++) - n[i].type === e && r.push(i); - return r; - }), - (r.hasTransform = function (t, e) { - for (var r = t.transforms || [], n = 0; n < r.length; n++) - if (r[n].type === e) return !0; - return !1; - }), - (r.getComponentMethod = function (t, e) { - var n = r.componentsRegistry[t]; - return (n && n[e]) || i; - }), - (r.call = function () { - var t = arguments[0], - e = [].slice.call(arguments, 1); - return r.apiMethodRegistry[t].apply(null, e); - })); - }, - { - "./lib/extend": 591, - "./lib/is_plain_object": 604, - "./lib/loggers": 607, - "./lib/noop": 611, - "./lib/push_unique": 616, - "./plots/attributes": 645, - "./plots/layout_attributes": 701, - }, - ], - 733: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = n.extendFlat, - a = n.extendDeep; - function o(t) { - var e; - switch (t) { - case "themes__thumb": - e = { - autosize: !0, - width: 150, - height: 150, - title: "", - showlegend: !1, - margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 }, - annotations: [], - }; - break; - case "thumbnail": - e = { - title: "", - hidesources: !0, - showlegend: !1, - borderwidth: 0, - bordercolor: "", - margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 }, - annotations: [], - }; - break; - default: - e = {}; - } - return e; - } - e.exports = function (t, e) { - var r; - t.framework && t.framework.isPolar && (t = t.framework.getConfig()); - var n, - s = t.data, - l = t.layout, - c = a([], s), - u = a({}, l, o(e.tileClass)), - f = t._context || {}; - if ( - (e.width && (u.width = e.width), - e.height && (u.height = e.height), - "thumbnail" === e.tileClass || "themes__thumb" === e.tileClass) - ) { - u.annotations = []; - var h = Object.keys(u); - for (r = 0; r < h.length; r++) - ((n = h[r]), - ["xaxis", "yaxis", "zaxis"].indexOf(n.slice(0, 5)) > -1 && - (u[h[r]].title = "")); - for (r = 0; r < c.length; r++) { - var p = c[r]; - ((p.showscale = !1), - p.marker && (p.marker.showscale = !1), - "pie" === p.type && (p.textposition = "none")); - } - } - if (Array.isArray(e.annotations)) - for (r = 0; r < e.annotations.length; r++) - u.annotations.push(e.annotations[r]); - var d = Object.keys(u).filter(function (t) { - return t.match(/^scene\d*$/); - }); - if (d.length) { - var g = {}; - for ( - "thumbnail" === e.tileClass && - (g = { - title: "", - showaxeslabels: !1, - showticklabels: !1, - linetickenable: !1, - }), - r = 0; - r < d.length; - r++ - ) { - var m = u[d[r]]; - (m.xaxis || (m.xaxis = {}), - m.yaxis || (m.yaxis = {}), - m.zaxis || (m.zaxis = {}), - i(m.xaxis, g), - i(m.yaxis, g), - i(m.zaxis, g), - (m._scene = null)); - } - } - var v = document.createElement("div"); - e.tileClass && (v.className = e.tileClass); - var y = { - gd: v, - td: v, - layout: u, - data: c, - config: { - staticPlot: void 0 === e.staticPlot || e.staticPlot, - plotGlPixelRatio: - void 0 === e.plotGlPixelRatio ? 2 : e.plotGlPixelRatio, - displaylogo: e.displaylogo || !1, - showLink: e.showLink || !1, - showTips: e.showTips || !1, - mapboxAccessToken: f.mapboxAccessToken, - }, - }; - return ( - "transparent" !== e.setBackground && - (y.config.setBackground = e.setBackground || "opaque"), - (y.gd.defaultLayout = o(e.tileClass)), - y - ); - }; - }, - { "../lib": 602 }, - ], - 734: [ - function (t, e, r) { - "use strict"; - var n = t("../plot_api/to_image"), - i = t("../lib"), - a = t("./filesaver"); - e.exports = function (t, e) { - return ( - ((e = e || {}).format = e.format || "png"), - new Promise(function (r, o) { - (t._snapshotInProgress && - o(new Error("Snapshotting already in progress.")), - i.isIE() && - "svg" !== e.format && - o( - new Error( - "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.", - ), - ), - (t._snapshotInProgress = !0)); - var s = n(t, e), - l = e.filename || t.fn || "newplot"; - ((l += "." + e.format), - s - .then(function (e) { - return ((t._snapshotInProgress = !1), a(e, l)); - }) - .then(function (t) { - r(t); - }) - .catch(function (e) { - ((t._snapshotInProgress = !1), o(e)); - })); - }) - ); - }; - }, - { "../lib": 602, "../plot_api/to_image": 641, "./filesaver": 735 }, - ], - 735: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r = document.createElement("a"), - n = "download" in r, - i = /Version\/[\d\.]+.*Safari/.test(navigator.userAgent); - return new Promise(function (a, o) { - if ( - ("undefined" != typeof navigator && - /MSIE [1-9]\./.test(navigator.userAgent) && - o(new Error("IE < 10 unsupported")), - i && - ((document.location.href = - "data:application/octet-stream" + t.slice(t.search(/[,;]/))), - a(e)), - e || (e = "download"), - n && - ((r.href = t), - (r.download = e), - document.body.appendChild(r), - r.click(), - document.body.removeChild(r), - a(e)), - "undefined" != typeof navigator && navigator.msSaveBlob) - ) { - var s = t.split(/^data:image\/svg\+xml,/)[1], - l = decodeURIComponent(s); - (navigator.msSaveBlob(new Blob([l]), e), a(e)); - } - o(new Error("download error")); - }); - }; - }, - {}, - ], - 736: [ - function (t, e, r) { - "use strict"; - ((r.getDelay = function (t) { - return t._has && (t._has("gl3d") || t._has("gl2d") || t._has("mapbox")) - ? 500 - : 0; - }), - (r.getRedrawFunc = function (t) { - var e = t._fullLayout || {}; - if (!(!(e._has && e._has("polar")) && t.data && t.data[0] && t.data[0].r)) - return function () { - (t.calcdata || []).forEach(function (t) { - t[0] && t[0].t && t[0].t.cb && t[0].t.cb(); - }); - }; - })); - }, - {}, - ], - 737: [ - function (t, e, r) { - "use strict"; - var n = t("./helpers"), - i = { - getDelay: n.getDelay, - getRedrawFunc: n.getRedrawFunc, - clone: t("./cloneplot"), - toSVG: t("./tosvg"), - svgToImg: t("./svgtoimg"), - toImage: t("./toimage"), - downloadImage: t("./download"), - }; - e.exports = i; - }, - { - "./cloneplot": 733, - "./download": 734, - "./helpers": 736, - "./svgtoimg": 738, - "./toimage": 739, - "./tosvg": 740, - }, - ], - 738: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("events").EventEmitter; - e.exports = function (t) { - var e = t.emitter || new i(), - r = new Promise(function (i, a) { - var o = window.Image, - s = t.svg, - l = t.format || "png"; - if (n.isIE() && "svg" !== l) { - var c = new Error( - "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.", - ); - return (a(c), t.promise ? r : e.emit("error", c)); - } - var u = t.canvas, - f = t.scale || 1, - h = f * (t.width || 300), - p = f * (t.height || 150), - d = u.getContext("2d"), - g = new o(), - m = "data:image/svg+xml," + encodeURIComponent(s); - ((u.width = h), - (u.height = p), - (g.onload = function () { - var r; - switch (("svg" !== l && d.drawImage(g, 0, 0, h, p), l)) { - case "jpeg": - r = u.toDataURL("image/jpeg"); - break; - case "png": - r = u.toDataURL("image/png"); - break; - case "webp": - r = u.toDataURL("image/webp"); - break; - case "svg": - r = m; - break; - default: - var n = "Image format is not jpeg, png, svg or webp."; - if ((a(new Error(n)), !t.promise)) return e.emit("error", n); - } - (i(r), t.promise || e.emit("success", r)); - }), - (g.onerror = function (r) { - if ((a(r), !t.promise)) return e.emit("error", r); - }), - (g.src = m)); - }); - return t.promise ? r : e; - }; - }, - { "../lib": 602, events: 194 }, - ], - 739: [ - function (t, e, r) { - "use strict"; - var n = t("events").EventEmitter, - i = t("../registry"), - a = t("../lib"), - o = t("./helpers"), - s = t("./cloneplot"), - l = t("./tosvg"), - c = t("./svgtoimg"); - e.exports = function (t, e) { - var r = new n(), - u = s(t, { format: "png" }), - f = u.gd; - ((f.style.position = "absolute"), - (f.style.left = "-5000px"), - document.body.appendChild(f)); - var h = o.getRedrawFunc(f); - return ( - i - .call("plot", f, u.data, u.layout, u.config) - .then(h) - .then(function () { - var t = o.getDelay(f._fullLayout); - setTimeout(function () { - var t = l(f), - n = document.createElement("canvas"); - ((n.id = a.randstr()), - ((r = c({ - format: e.format, - width: f._fullLayout.width, - height: f._fullLayout.height, - canvas: n, - emitter: r, - svg: t, - })).clean = function () { - f && document.body.removeChild(f); - })); - }, t); - }) - .catch(function (t) { - r.emit("error", t); - }), - r - ); - }; - }, - { - "../lib": 602, - "../registry": 732, - "./cloneplot": 733, - "./helpers": 736, - "./svgtoimg": 738, - "./tosvg": 740, - events: 194, - }, - ], - 740: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../lib"), - a = t("../components/drawing"), - o = t("../components/color"), - s = t("../constants/xmlns_namespaces"), - l = /"/g, - c = new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")', "g"); - e.exports = function (t, e, r) { - var u, - f = t._fullLayout, - h = f._paper, - p = f._toppaper, - d = f.width, - g = f.height; - h.insert("rect", ":first-child") - .call(a.setRect, 0, 0, d, g) - .call(o.fill, f.paper_bgcolor); - var m = f._basePlotModules || []; - for (u = 0; u < m.length; u++) { - var v = m[u]; - v.toSVG && v.toSVG(t); - } - if (p) { - var y = p.node().childNodes, - x = Array.prototype.slice.call(y); - for (u = 0; u < x.length; u++) { - var b = x[u]; - b.childNodes.length && h.node().appendChild(b); - } - } - (f._draggers && f._draggers.remove(), - (h.node().style.background = ""), - h - .selectAll("text") - .attr({ "data-unformatted": null, "data-math": null }) - .each(function () { - var t = n.select(this); - if ( - "hidden" !== this.style.visibility && - "none" !== this.style.display - ) { - t.style({ visibility: null, display: null }); - var e = this.style.fontFamily; - e && - -1 !== e.indexOf('"') && - t.style("font-family", e.replace(l, "TOBESTRIPPED")); - } else t.remove(); - }), - h.selectAll(".point,.scatterpts").each(function () { - var t = n.select(this), - e = this.style.fill; - e && - -1 !== e.indexOf("url(") && - t.style("fill", e.replace(l, "TOBESTRIPPED")); - }), - ("pdf" !== e && "eps" !== e) || - h.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width", 0), - h.node().setAttributeNS(s.xmlns, "xmlns", s.svg), - h.node().setAttributeNS(s.xmlns, "xmlns:xlink", s.xlink), - "svg" === e && - r && - (h.attr("width", r * d), - h.attr("height", r * g), - h.attr("viewBox", "0 0 " + d + " " + g))); - var _ = new window.XMLSerializer().serializeToString(h.node()); - return ( - (_ = (function (t) { - var e = n - .select("body") - .append("div") - .style({ display: "none" }) - .html(""), - r = t.replace(/(&[^;]*;)/gi, function (t) { - return "<" === t - ? "<" - : "&rt;" === t - ? ">" - : -1 !== t.indexOf("<") || -1 !== t.indexOf(">") - ? "" - : e.html(t).text(); - }); - return (e.remove(), r); - })(_)), - (_ = (_ = _.replace( - /&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g, - "&", - )).replace(c, "'")), - i.isIE() && - (_ = (_ = (_ = _.replace(/"/gi, "'")).replace( - /(\('#)([^']*)('\))/gi, - '("#$2")', - )).replace(/(\\')/gi, '"')), - _ - ); - }; - }, - { - "../components/color": 474, - "../components/drawing": 499, - "../constants/xmlns_namespaces": 581, - "../lib": 602, - d3: 130, - }, - ], - 741: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").mergeArray; - e.exports = function (t, e) { - for (var r = 0; r < t.length; r++) t[r].i = r; - (n(e.text, t, "tx"), n(e.hovertext, t, "htx")); - var i = e.marker; - if (i) { - (n(i.opacity, t, "mo"), n(i.color, t, "mc")); - var a = i.line; - a && (n(a.color, t, "mlc"), n(a.width, t, "mlw")); - } - }; - }, - { "../../lib": 602 }, - ], - 742: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../components/colorscale/color_attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../../plots/font_attributes"), - s = t("../../lib/extend").extendFlat, - l = o({ editType: "calc", arrayOk: !0 }), - c = n.marker, - u = s( - { - line: s( - { width: s({}, c.line.width, { dflt: 0 }), editType: "calc" }, - i("marker.line"), - ), - editType: "calc", - }, - i("marker"), - { - showscale: c.showscale, - colorbar: a, - opacity: { - valType: "number", - arrayOk: !0, - dflt: 1, - min: 0, - max: 1, - editType: "style", - }, - }, - ); - e.exports = { - x: n.x, - x0: n.x0, - dx: n.dx, - y: n.y, - y0: n.y0, - dy: n.dy, - text: n.text, - hovertext: n.hovertext, - textposition: { - valType: "enumerated", - values: ["inside", "outside", "auto", "none"], - dflt: "none", - arrayOk: !0, - editType: "calc", - }, - textfont: s({}, l, {}), - insidetextfont: s({}, l, {}), - outsidetextfont: s({}, l, {}), - constraintext: { - valType: "enumerated", - values: ["inside", "outside", "both", "none"], - dflt: "both", - editType: "calc", - }, - cliponaxis: s({}, n.cliponaxis, {}), - orientation: { - valType: "enumerated", - values: ["v", "h"], - editType: "calc+clearAxisTypes", - }, - base: { valType: "any", dflt: null, arrayOk: !0, editType: "calc" }, - offset: { valType: "number", dflt: null, arrayOk: !0, editType: "calc" }, - width: { - valType: "number", - dflt: null, - min: 0, - arrayOk: !0, - editType: "calc", - }, - marker: u, - selected: { - marker: { - opacity: n.selected.marker.opacity, - color: n.selected.marker.color, - editType: "style", - }, - textfont: n.selected.textfont, - editType: "style", - }, - unselected: { - marker: { - opacity: n.unselected.marker.opacity, - color: n.unselected.marker.color, - editType: "style", - }, - textfont: n.unselected.textfont, - editType: "style", - }, - r: n.r, - t: n.t, - _deprecated: { - bardir: { valType: "enumerated", editType: "calc", values: ["v", "h"] }, - }, - }; - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/color_attributes": 482, - "../../lib/extend": 591, - "../../plots/font_attributes": 674, - "../scatter/attributes": 926, - }, - ], - 743: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib").isArrayOrTypedArray, - a = t("../../plots/cartesian/axes"), - o = t("../../components/colorscale/has_colorscale"), - s = t("../../components/colorscale/calc"), - l = t("./arrays_to_calcdata"), - c = t("../scatter/calc_selection"); - e.exports = function (t, e) { - var r, - u, - f, - h, - p, - d = a.getFromId(t, e.xaxis || "x"), - g = a.getFromId(t, e.yaxis || "y"); - "h" === (e.orientation || (e.x && !e.y ? "h" : "v")) - ? ((r = d), - (f = d.makeCalcdata(e, "x")), - (u = g.makeCalcdata(e, "y")), - (p = e.xcalendar)) - : ((r = g), - (f = g.makeCalcdata(e, "y")), - (u = d.makeCalcdata(e, "x")), - (p = e.ycalendar)); - var m = Math.min(u.length, f.length), - v = new Array(m); - for (h = 0; h < m; h++) - ((v[h] = { p: u[h], s: f[h] }), e.ids && (v[h].id = String(e.ids[h]))); - var y, - x = e.base; - if (i(x)) { - for (h = 0; h < Math.min(x.length, v.length); h++) - ((y = r.d2c(x[h], 0, p)), - n(y) ? ((v[h].b = +y), (v[h].hasB = 1)) : (v[h].b = 0)); - for (; h < v.length; h++) v[h].b = 0; - } else { - y = r.d2c(x, 0, p); - var b = n(y); - for (y = b ? y : 0, h = 0; h < v.length; h++) - ((v[h].b = y), b && (v[h].hasB = 1)); - } - return ( - o(e, "marker") && s(e, e.marker.color, "marker", "c"), - o(e, "marker.line") && s(e, e.marker.line.color, "marker.line", "c"), - l(v, e), - c(v, e), - v - ); - }; - }, - { - "../../components/colorscale/calc": 481, - "../../components/colorscale/has_colorscale": 488, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../scatter/calc_selection": 928, - "./arrays_to_calcdata": 741, - "fast-isnumeric": 196, - }, - ], - 744: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/color"), - a = t("../../registry"), - o = t("../scatter/xy_defaults"), - s = t("../bar/style_defaults"), - l = t("./attributes"); - e.exports = function (t, e, r, c) { - function u(r, i) { - return n.coerce(t, e, l, r, i); - } - var f = n.coerceFont; - if (o(t, e, c, u)) { - (u("orientation", e.x && !e.y ? "h" : "v"), - u("base"), - u("offset"), - u("width"), - u("text"), - u("hovertext")); - var h = u("textposition"), - p = Array.isArray(h) || "auto" === h, - d = p || "inside" === h, - g = p || "outside" === h; - if (d || g) { - var m = f(u, "textfont", c.font); - (d && f(u, "insidetextfont", m), - g && f(u, "outsidetextfont", m), - u("constraintext"), - u("selected.textfont.color"), - u("unselected.textfont.color"), - u("cliponaxis")); - } - s(t, e, u, r, c); - var v = a.getComponentMethod("errorbars", "supplyDefaults"); - (v(t, e, i.defaultLine, { axis: "y" }), - v(t, e, i.defaultLine, { axis: "x", inherit: "y" }), - n.coerceSelectionMarkerOpacity(e, u)); - } else e.visible = !1; - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../registry": 732, - "../bar/style_defaults": 754, - "../scatter/xy_defaults": 950, - "./attributes": 742, - }, - ], - 745: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/fx"), - i = t("../../registry"), - a = t("../../components/color"), - o = t("../scatter/fill_hover_text"); - e.exports = function (t, e, r, s) { - var l, - c, - u, - f, - h, - p, - d, - g = t.cd, - m = g[0].trace, - v = g[0].t, - y = "closest" === s, - x = t.maxHoverDistance, - b = t.maxSpikeDistance; - function _(t) { - return t[u] - t.w / 2; - } - function w(t) { - return t[u] + t.w / 2; - } - var k = y - ? _ - : function (t) { - return Math.min(_(t), t.p - v.bardelta / 2); - }, - M = y - ? w - : function (t) { - return Math.max(w(t), t.p + v.bardelta / 2); - }; - function A(t, e) { - return n.inbox(t - l, e - l, x + Math.min(1, Math.abs(e - t) / d) - 1); - } - function T(t) { - return A(k(t), M(t)); - } - function S(t) { - return n.inbox(t.b - c, t[f] - c, x + (t[f] - c) / (t[f] - t.b) - 1); - } - "h" === m.orientation - ? ((l = r), (c = e), (u = "y"), (f = "x"), (h = S), (p = T)) - : ((l = e), (c = r), (u = "x"), (f = "y"), (p = S), (h = T)); - var C = t[u + "a"], - E = t[f + "a"]; - d = Math.abs(C.r2c(C.range[1]) - C.r2c(C.range[0])); - var L = n.getDistanceFunction(s, h, p, function (t) { - return (h(t) + p(t)) / 2; - }); - if ((n.getClosest(g, L, t), !1 !== t.index)) { - y || - ((k = function (t) { - return Math.min(_(t), t.p - v.bargroupwidth / 2); - }), - (M = function (t) { - return Math.max(w(t), t.p + v.bargroupwidth / 2); - })); - var z = g[t.index], - P = z.mcc || m.marker.color, - D = z.mlcc || m.marker.line.color, - O = z.mlw || m.marker.line.width; - a.opacity(P) ? (t.color = P) : a.opacity(D) && O && (t.color = D); - var I = m.base ? z.b + z.s : z.s; - ((t[f + "0"] = t[f + "1"] = E.c2p(z[f], !0)), (t[f + "LabelVal"] = I)); - var R = v.extents[v.extents.round(z.p)]; - return ( - (t[u + "0"] = C.c2p(y ? k(z) : R[0], !0)), - (t[u + "1"] = C.c2p(y ? M(z) : R[1], !0)), - (t[u + "LabelVal"] = z.p), - (t.spikeDistance = - (S(z) + - (function (t) { - return A(_(t), w(t)); - })(z)) / - 2 + - b - - x), - (t[u + "Spike"] = C.c2p(z.p, !0)), - o(z, m, t), - i.getComponentMethod("errorbars", "hoverInfo")(z, m, t), - [t] - ); - } - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../registry": 732, - "../scatter/fill_hover_text": 934, - }, - ], - 746: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.layoutAttributes = t("./layout_attributes")), - (n.supplyDefaults = t("./defaults")), - (n.supplyLayoutDefaults = t("./layout_defaults")), - (n.calc = t("./calc")), - (n.setPositions = t("./set_positions")), - (n.colorbar = t("../scatter/colorbar")), - (n.arraysToCalcdata = t("./arrays_to_calcdata")), - (n.plot = t("./plot")), - (n.style = t("./style").style), - (n.styleOnSelect = t("./style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.selectPoints = t("./select")), - (n.moduleType = "trace"), - (n.name = "bar"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "bar", - "oriented", - "markerColorscale", - "errorBarsOK", - "showLegend", - "draggedPts", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../scatter/colorbar": 930, - "./arrays_to_calcdata": 741, - "./attributes": 742, - "./calc": 743, - "./defaults": 744, - "./hover": 745, - "./layout_attributes": 747, - "./layout_defaults": 748, - "./plot": 749, - "./select": 750, - "./set_positions": 751, - "./style": 753, - }, - ], - 747: [ - function (t, e, r) { - "use strict"; - e.exports = { - barmode: { - valType: "enumerated", - values: ["stack", "group", "overlay", "relative"], - dflt: "group", - editType: "calc", - }, - barnorm: { - valType: "enumerated", - values: ["", "fraction", "percent"], - dflt: "", - editType: "calc", - }, - bargap: { valType: "number", min: 0, max: 1, editType: "calc" }, - bargroupgap: { - valType: "number", - min: 0, - max: 1, - dflt: 0, - editType: "calc", - }, - }; - }, - {}, - ], - 748: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../plots/cartesian/axes"), - a = t("../../lib"), - o = t("./layout_attributes"); - e.exports = function (t, e, r) { - function s(r, n) { - return a.coerce(t, e, o, r, n); - } - for (var l = !1, c = !1, u = !1, f = {}, h = 0; h < r.length; h++) { - var p = r[h]; - if (n.traceIs(p, "bar")) { - if (((l = !0), "overlay" !== t.barmode && "stack" !== t.barmode)) { - var d = p.xaxis + p.yaxis; - (f[d] && (u = !0), (f[d] = !0)); - } - if (p.visible && "histogram" === p.type) - "category" !== - i.getFromId( - { _fullLayout: e }, - p["v" === p.orientation ? "xaxis" : "yaxis"], - ).type && (c = !0); - } - } - l && - ("overlay" !== s("barmode") && s("barnorm"), - s("bargap", c && !u ? 0 : 0.2), - s("bargroupgap")); - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "./layout_attributes": 747, - }, - ], - 749: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("fast-isnumeric"), - a = t("tinycolor2"), - o = t("../../lib"), - s = t("../../lib/svg_text_utils"), - l = t("../../components/color"), - c = t("../../components/drawing"), - u = t("../../registry"), - f = t("./attributes"), - h = f.text, - p = f.textposition, - d = f.textfont, - g = f.insidetextfont, - m = f.outsidetextfont, - v = 3; - function y(t, e, r, n, i, a) { - var o; - return ( - i < 1 ? (o = "scale(" + i + ") ") : ((i = 1), (o = "")), - "translate(" + - (r - i * t) + - " " + - (n - i * e) + - ")" + - o + - (a ? "rotate(" + a + " " + t + " " + e + ") " : "") - ); - } - function x(t, e, r, n) { - var o = b((e = e || {}).family, r), - s = b(e.size, r), - l = b(e.color, r); - return { - family: _(t.family, o, n.family), - size: (function (t, e, r) { - if (i(e)) { - e = +e; - var n = t.min, - a = t.max, - o = (void 0 !== n && e < n) || (void 0 !== a && e > a); - if (!o) return e; - } - return void 0 !== r ? r : t.dflt; - })(t.size, s, n.size), - color: (function (t, e, r) { - return a(e).isValid() ? e : void 0 !== r ? r : t.dflt; - })(t.color, l, n.color), - }; - } - function b(t, e) { - var r; - return (Array.isArray(t) ? e < t.length && (r = t[e]) : (r = t), r); - } - function _(t, e, r) { - if ("string" == typeof e) { - if (e || !t.noBlank) return e; - } else if ("number" == typeof e && !t.strict) return String(e); - return void 0 !== r ? r : t.dflt; - } - e.exports = function (t, e, r, a) { - var f = e.xaxis, - w = e.yaxis, - k = t._fullLayout, - M = a.selectAll("g.trace.bars").data(r, function (t) { - return t[0].trace.uid; - }); - (M.enter() - .append("g") - .attr("class", "trace bars") - .append("g") - .attr("class", "points"), - M.exit().remove(), - M.order(), - M.each(function (r) { - var a = r[0], - u = a.t, - M = a.trace, - A = n.select(this); - e.isRangePlot || (a.node3 = A); - var T = u.poffset, - S = Array.isArray(T), - C = A.select("g.points").selectAll("g.point").data(o.identity); - (C.enter().append("g").classed("point", !0), - C.exit().remove(), - C.each(function (a, u) { - var A, - C, - E, - L, - z = n.select(this), - P = a.p + (S ? T[u] : T), - D = P + a.w, - O = a.b, - I = O + a.s; - if ( - ("h" === M.orientation - ? ((E = w.c2p(P, !0)), - (L = w.c2p(D, !0)), - (A = f.c2p(O, !0)), - (C = f.c2p(I, !0)), - (a.ct = [C, (E + L) / 2])) - : ((A = f.c2p(P, !0)), - (C = f.c2p(D, !0)), - (E = w.c2p(O, !0)), - (L = w.c2p(I, !0)), - (a.ct = [(A + C) / 2, L])), - i(A) && i(C) && i(E) && i(L) && A !== C && E !== L) - ) { - var R = - (a.mlw + 1 || - M.marker.line.width + 1 || - (a.trace ? a.trace.marker.line.width : 0) + 1) - 1, - B = n.round((R / 2) % 1, 2); - if (!t._context.staticPlot) { - var F = - l.opacity(a.mc || M.marker.color) < 1 || R > 0.01 - ? N - : function (t, e) { - return Math.abs(t - e) >= 2 - ? N(t) - : t > e - ? Math.ceil(t) - : Math.floor(t); - }; - ((C = F(C, (A = F(A, C)))), (L = F(L, (E = F(E, L))))); - } - (o - .ensureSingle(z, "path") - .style("vector-effect", "non-scaling-stroke") - .attr( - "d", - "M" + A + "," + E + "V" + L + "H" + C + "V" + E + "Z", - ) - .call(c.setClipUrl, e.layerClipId), - (function (t, e, r, n, i, a, l, u) { - var f; - function w(e, r, n) { - var i = o - .ensureSingle(e, "text") - .text(r) - .attr({ - class: "bartext bartext-" + f, - transform: "", - "text-anchor": "middle", - "data-notex": 1, - }) - .call(c.font, n) - .call(s.convertToTspans, t); - return i; - } - var k = r[0].trace, - M = k.orientation, - A = (function (t, e) { - var r = b(t.text, e); - return _(h, r); - })(k, n); - if (!A) return; - if ( - "none" === - (f = (function (t, e) { - var r = b(t.textposition, e); - return (function (t, e, r) { - return ( - t.coerceNumber && (e = +e), - -1 !== t.values.indexOf(e) - ? e - : void 0 !== r - ? r - : t.dflt - ); - })(p, r); - })(k, n)) - ) - return; - var T, - S, - C, - E, - L, - z, - P = (function (t, e, r) { - return x(d, t.textfont, e, r); - })(k, n, t._fullLayout.font), - D = (function (t, e, r) { - return x(g, t.insidetextfont, e, r); - })(k, n, P), - O = (function (t, e, r) { - return x(m, t.outsidetextfont, e, r); - })(k, n, P), - I = t._fullLayout.barmode, - R = "stack" === I || "relative" === I, - B = r[n], - F = !R || B._outmost, - N = Math.abs(a - i) - 2 * v, - j = Math.abs(u - l) - 2 * v; - "outside" === f && (F || (f = "inside")); - if ("auto" === f) - if (F) { - ((f = "inside"), - (T = w(e, A, D)), - (S = c.bBox(T.node())), - (C = S.width), - (E = S.height)); - var V = C > 0 && E > 0, - U = C <= N && E <= j, - q = C <= j && E <= N, - H = "h" === M ? N >= C * (j / E) : j >= E * (N / C); - V && (U || q || H) - ? (f = "inside") - : ((f = "outside"), T.remove(), (T = null)); - } else f = "inside"; - if ( - !T && - ((T = w(e, A, "outside" === f ? O : D)), - (S = c.bBox(T.node())), - (C = S.width), - (E = S.height), - C <= 0 || E <= 0) - ) - return void T.remove(); - "outside" === f - ? ((z = - "both" === k.constraintext || - "outside" === k.constraintext), - (L = (function (t, e, r, n, i, a, o) { - var s, - l = "h" === a ? Math.abs(n - r) : Math.abs(e - t); - l > 2 * v && (s = v); - var c = 1; - o && - (c = - "h" === a - ? Math.min(1, l / i.height) - : Math.min(1, l / i.width)); - var u, - f, - h, - p, - d = (i.left + i.right) / 2, - g = (i.top + i.bottom) / 2; - ((u = c * i.width), - (f = c * i.height), - "h" === a - ? e < t - ? ((h = e - s - u / 2), (p = (r + n) / 2)) - : ((h = e + s + u / 2), (p = (r + n) / 2)) - : n > r - ? ((h = (t + e) / 2), (p = n + s + f / 2)) - : ((h = (t + e) / 2), (p = n - s - f / 2))); - return y(d, g, h, p, c, !1); - })(i, a, l, u, S, M, z))) - : ((z = - "both" === k.constraintext || - "inside" === k.constraintext), - (L = (function (t, e, r, n, i, a, o) { - var s, - l, - c, - u, - f, - h, - p, - d = i.width, - g = i.height, - m = (i.left + i.right) / 2, - x = (i.top + i.bottom) / 2, - b = Math.abs(e - t), - _ = Math.abs(n - r); - b > 2 * v && _ > 2 * v - ? ((b -= 2 * (f = v)), (_ -= 2 * f)) - : (f = 0); - d <= b && g <= _ - ? ((h = !1), (p = 1)) - : d <= _ && g <= b - ? ((h = !0), (p = 1)) - : d < g == b < _ - ? ((h = !1), (p = o ? Math.min(b / d, _ / g) : 1)) - : ((h = !0), - (p = o ? Math.min(_ / d, b / g) : 1)); - h && (h = 90); - h - ? ((s = p * g), (l = p * d)) - : ((s = p * d), (l = p * g)); - "h" === a - ? e < t - ? ((c = e + f + s / 2), (u = (r + n) / 2)) - : ((c = e - f - s / 2), (u = (r + n) / 2)) - : n > r - ? ((c = (t + e) / 2), (u = n - f - l / 2)) - : ((c = (t + e) / 2), (u = n + f + l / 2)); - return y(m, x, c, u, p, h); - })(i, a, l, u, S, M, z))); - T.attr("transform", L); - })(t, z, r, u, A, C, E, L), - e.layerClipId && - c.hideOutsideRangePoint( - r[u], - z.select("text"), - f, - w, - M.xcalendar, - M.ycalendar, - )); - } else z.remove(); - function N(t) { - return 0 === k.bargap && 0 === k.bargroupgap - ? n.round(Math.round(t) - B, 2) - : t; - } - })); - var E = !1 === r[0].trace.cliponaxis; - c.setClipUrl(A, E ? null : e.layerClipId); - }), - u.getComponentMethod("errorbars", "plot")(M, e)); - }; - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../registry": 732, - "./attributes": 742, - d3: 130, - "fast-isnumeric": 196, - tinycolor2: 415, - }, - ], - 750: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, - n = t.cd, - i = t.xaxis, - a = t.yaxis, - o = []; - if (!1 === e) for (r = 0; r < n.length; r++) n[r].selected = 0; - else - for (r = 0; r < n.length; r++) { - var s = n[r]; - e.contains(s.ct) - ? (o.push({ pointNumber: r, x: i.c2d(s.x), y: a.c2d(s.y) }), - (s.selected = 1)) - : (s.selected = 0); - } - return o; - }; - }, - {}, - ], - 751: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib").isArrayOrTypedArray, - a = t("../../constants/numerical").BADNUM, - o = t("../../registry"), - s = t("../../plots/cartesian/axes"), - l = t("./sieve.js"); - function c(t, e, r, i) { - if (i.length) { - var o, - c, - b, - _, - w = t._fullLayout.barmode, - k = "group" === w; - if ("overlay" === w) u(t, e, r, i); - else if (k) { - for (o = [], c = [], b = 0; b < i.length; b++) - void 0 === (_ = i[b])[0].trace.offset ? c.push(_) : o.push(_); - (c.length && - (function (t, e, r, n) { - var i = t._fullLayout.barnorm, - a = new l(n, !1, !i); - ((function (t, e, r) { - var n, - i, - a, - o, - s = t._fullLayout, - l = s.bargap, - c = s.bargroupgap, - u = r.positions, - f = r.distinctPositions, - g = r.minDiff, - m = r.traces, - v = u.length !== f.length, - y = m.length, - x = g * (1 - l), - b = v ? x / y : x, - _ = b * (1 - c); - for (n = 0; n < y; n++) { - ((i = m[n]), (a = i[0])); - var w = v ? ((2 * n + 1 - y) * b - _) / 2 : -_ / 2; - (((o = a.t).barwidth = _), - (o.poffset = w), - (o.bargroupwidth = x), - (o.bardelta = g)); - } - ((r.binWidth = m[0][0].t.barwidth / 100), - h(r), - p(t, e, r), - d(t, e, r, v)); - })(t, e, a), - i ? (v(t, r, a), y(t, r, a)) : m(t, r, a)); - })(t, e, r, c), - o.length && u(t, e, r, o)); - } else { - for (o = [], c = [], b = 0; b < i.length; b++) - void 0 === (_ = i[b])[0].trace.base ? c.push(_) : o.push(_); - (c.length && - (function (t, e, r, i) { - var o = t._fullLayout.barmode, - c = "stack" === o, - u = "relative" === o, - h = t._fullLayout.barnorm, - p = new l(i, u, !(h || c || u)); - (f(t, e, p), - (function (t, e, r) { - var i, - o, - l, - c, - u = t._fullLayout.barnorm, - f = x(e), - h = r.traces, - p = [null, null]; - for (i = 0; i < h.length; i++) - for (o = h[i], l = 0; l < o.length; l++) - if ((c = o[l]).s !== a) { - var d = r.put(c.p, c.b + c.s), - m = d + c.b + c.s; - ((c.b = d), - (c[f] = m), - u || - (n(e.c2l(m)) && g(p, m), - c.hasB && n(e.c2l(d)) && g(p, d))); - } - u || s.expand(e, p, { tozero: !0, padded: !0 }); - })(t, r, p)); - for (var d = 0; d < i.length; d++) - for (var m = i[d], v = 0; v < m.length; v++) { - var b = m[v]; - if (b.s !== a) { - var _ = b.b + b.s === p.get(b.p, b.s); - _ && (b._outmost = !0); - } - } - h && y(t, r, p); - })(t, e, r, c), - o.length && u(t, e, r, o)); - } - !(function (t, e) { - var r, - i, - a, - o = e._id.charAt(0), - s = {}, - l = 1 / 0, - c = -1 / 0; - for (r = 0; r < t.length; r++) - for (a = t[r], i = 0; i < a.length; i++) { - var u = a[i].p; - n(u) && ((l = Math.min(l, u)), (c = Math.max(c, u))); - } - var f = 1e4 / (c - l), - h = (s.round = function (t) { - return String(Math.round(f * (t - l))); - }); - for (r = 0; r < t.length; r++) - for ((a = t[r])[0].t.extents = s, i = 0; i < a.length; i++) { - var p = a[i], - d = p[o] - p.w / 2; - if (n(d)) { - var g = p[o] + p.w / 2, - m = h(p.p); - s[m] - ? (s[m] = [Math.min(d, s[m][0]), Math.max(g, s[m][1])]) - : (s[m] = [d, g]); - } - } - })(i, e); - } - } - function u(t, e, r, n) { - for (var i = t._fullLayout.barnorm, a = !i, o = 0; o < n.length; o++) { - var s = n[o], - c = new l([s], !1, a); - (f(t, e, c), i ? (v(t, r, c), y(t, r, c)) : m(t, r, c)); - } - } - function f(t, e, r) { - var n, - i, - a = t._fullLayout, - o = a.bargap, - s = a.bargroupgap, - l = r.minDiff, - c = r.traces, - u = l * (1 - o), - f = u * (1 - s), - g = -f / 2; - for (n = 0; n < c.length; n++) - (((i = c[n][0].t).barwidth = f), - (i.poffset = g), - (i.bargroupwidth = u), - (i.bardelta = l)); - ((r.binWidth = c[0][0].t.barwidth / 100), h(r), p(t, e, r), d(t, e, r)); - } - function h(t) { - var e, - r, - a, - o, - s, - l, - c = t.traces; - for (e = 0; e < c.length; e++) { - ((o = (a = (r = c[e])[0]).trace), (l = a.t)); - var u, - f = o.offset, - h = l.poffset; - if (i(f)) { - for (u = f.slice(0, r.length), s = 0; s < u.length; s++) - n(u[s]) || (u[s] = h); - for (s = u.length; s < r.length; s++) u.push(h); - l.poffset = u; - } else void 0 !== f && (l.poffset = f); - var p = o.width, - d = l.barwidth; - if (i(p)) { - var g = p.slice(0, r.length); - for (s = 0; s < g.length; s++) n(g[s]) || (g[s] = d); - for (s = g.length; s < r.length; s++) g.push(d); - if (((l.barwidth = g), void 0 === f)) { - for (u = [], s = 0; s < r.length; s++) u.push(h + (d - g[s]) / 2); - l.poffset = u; - } - } else - void 0 !== p && - ((l.barwidth = p), void 0 === f && (l.poffset = h + (d - p) / 2)); - } - } - function p(t, e, r) { - for (var n = r.traces, i = x(e), a = 0; a < n.length; a++) - for ( - var o = n[a], - s = o[0].t, - l = s.poffset, - c = Array.isArray(l), - u = s.barwidth, - f = Array.isArray(u), - h = 0; - h < o.length; - h++ - ) { - var p = o[h], - d = (p.w = f ? u[h] : u); - p[i] = p.p + (c ? l[h] : l) + d / 2; - } - } - function d(t, e, r, n) { - var i = r.traces, - a = r.distinctPositions, - o = a[0], - l = r.minDiff, - c = l / 2; - s.minDtick(e, l, o, n); - for ( - var u = Math.min.apply(Math, a) - c, - f = Math.max.apply(Math, a) + c, - h = 0; - h < i.length; - h++ - ) { - var p = i[h], - d = p[0], - g = d.trace; - if (void 0 !== g.width || void 0 !== g.offset) - for ( - var m = d.t, - v = m.poffset, - y = m.barwidth, - x = Array.isArray(v), - b = Array.isArray(y), - _ = 0; - _ < p.length; - _++ - ) { - var w = p[_], - k = x ? v[_] : v, - M = b ? y[_] : y, - A = w.p + k, - T = A + M; - ((u = Math.min(u, A)), (f = Math.max(f, T))); - } - } - s.expand(e, [u, f], { padded: !1 }); - } - function g(t, e) { - (n(t[0]) ? (t[0] = Math.min(t[0], e)) : (t[0] = e), - n(t[1]) ? (t[1] = Math.max(t[1], e)) : (t[1] = e)); - } - function m(t, e, r) { - for (var i = r.traces, a = x(e), o = [null, null], l = 0; l < i.length; l++) - for (var c = i[l], u = 0; u < c.length; u++) { - var f = c[u], - h = f.b, - p = h + f.s; - ((f[a] = p), n(e.c2l(p)) && g(o, p), f.hasB && n(e.c2l(h)) && g(o, h)); - } - s.expand(e, o, { tozero: !0, padded: !0 }); - } - function v(t, e, r) { - for (var n = r.traces, i = 0; i < n.length; i++) - for (var o = n[i], s = 0; s < o.length; s++) { - var l = o[s]; - l.s !== a && r.put(l.p, l.b + l.s); - } - } - function y(t, e, r) { - var i = r.traces, - o = x(e), - l = "fraction" === t._fullLayout.barnorm ? 1 : 100, - c = l / 1e9, - u = e.l2c(e.c2l(0)), - f = "stack" === t._fullLayout.barmode ? l : u, - h = [u, f], - p = !1; - function d(t) { - n(e.c2l(t)) && (t < u - c || t > f + c || !n(u)) && ((p = !0), g(h, t)); - } - for (var m = 0; m < i.length; m++) - for (var v = i[m], y = 0; y < v.length; y++) { - var b = v[y]; - if (b.s !== a) { - var _ = Math.abs(l / r.get(b.p, b.s)); - ((b.b *= _), (b.s *= _)); - var w = b.b, - k = w + b.s; - ((b[o] = k), d(k), b.hasB && d(w)); - } - } - s.expand(e, h, { tozero: !0, padded: p }); - } - function x(t) { - return t._id.charAt(0); - } - e.exports = function (t, e) { - var r, - n = e.xaxis, - i = e.yaxis, - a = t._fullData, - s = t.calcdata, - l = [], - u = []; - for (r = 0; r < a.length; r++) { - var f = a[r]; - !0 === f.visible && - o.traceIs(f, "bar") && - f.xaxis === n._id && - f.yaxis === i._id && - ("h" === f.orientation ? l.push(s[r]) : u.push(s[r])); - } - (c(t, n, i, u), c(t, i, n, l)); - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "./sieve.js": 752, - "fast-isnumeric": 196, - }, - ], - 752: [ - function (t, e, r) { - "use strict"; - e.exports = a; - var n = t("../../lib"), - i = t("../../constants/numerical").BADNUM; - function a(t, e, r) { - ((this.traces = t), - (this.separateNegativeValues = e), - (this.dontMergeOverlappingData = r)); - for (var a = 1 / 0, o = [], s = 0; s < t.length; s++) { - for (var l = t[s], c = 0; c < l.length; c++) { - var u = l[c]; - u.p !== i && o.push(u.p); - } - l[0] && l[0].width1 && (a = Math.min(l[0].width1, a)); - } - this.positions = o; - var f = n.distinctVals(o); - ((this.distinctPositions = f.vals), - 1 === f.vals.length && a !== 1 / 0 - ? (this.minDiff = a) - : (this.minDiff = Math.min(f.minDiff, a)), - (this.binWidth = this.minDiff), - (this.bins = {})); - } - ((a.prototype.put = function (t, e) { - var r = this.getLabel(t, e), - n = this.bins[r] || 0; - return ((this.bins[r] = n + e), n); - }), - (a.prototype.get = function (t, e) { - var r = this.getLabel(t, e); - return this.bins[r] || 0; - }), - (a.prototype.getLabel = function (t, e) { - return ( - (e < 0 && this.separateNegativeValues ? "v" : "^") + - (this.dontMergeOverlappingData ? t : Math.round(t / this.binWidth)) - ); - })); - }, - { "../../constants/numerical": 579, "../../lib": 602 }, - ], - 753: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("../../registry"); - function o(t, e, r) { - var a = t.selectAll("path"), - o = t.selectAll("text"); - (i.pointStyle(a, e, r), - o.each(function (t) { - var r, - a = n.select(this); - function o(e) { - var n = r[e]; - return Array.isArray(n) ? n[t.i] : n; - } - (a.classed("bartext-inside") - ? (r = e.insidetextfont) - : a.classed("bartext-outside") && (r = e.outsidetextfont), - r || (r = e.textfont), - i.font(a, o("family"), o("size"), o("color"))); - })); - } - e.exports = { - style: function (t, e) { - var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.bars"), - i = r.size(), - s = t._fullLayout; - (r - .style("opacity", function (t) { - return t[0].trace.opacity; - }) - .each(function (t) { - (("stack" === s.barmode && i > 1) || - (0 === s.bargap && - 0 === s.bargroupgap && - !t[0].trace.marker.line.width)) && - n.select(this).attr("shape-rendering", "crispEdges"); - }), - r.selectAll("g.points").each(function (e) { - o(n.select(this), e[0].trace, t); - }), - a.getComponentMethod("errorbars", "style")(r)); - }, - styleOnSelect: function (t, e) { - var r = e[0].node3, - n = e[0].trace; - n.selectedpoints - ? (i.selectedPointStyle(r.selectAll("path"), n), - i.selectedTextStyle(r.selectAll("text"), n)) - : o(r, n, t); - }, - }; - }, - { "../../components/drawing": 499, "../../registry": 732, d3: 130 }, - ], - 754: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("../../components/colorscale/has_colorscale"), - a = t("../../components/colorscale/defaults"); - e.exports = function (t, e, r, o, s) { - (r("marker.color", o), - i(t, "marker") && a(t, e, s, r, { prefix: "marker.", cLetter: "c" }), - r("marker.line.color", n.defaultLine), - i(t, "marker.line") && - a(t, e, s, r, { prefix: "marker.line.", cLetter: "c" }), - r("marker.line.width"), - r("marker.opacity"), - r("selected.marker.color"), - r("unselected.marker.color")); - }; - }, - { - "../../components/color": 474, - "../../components/colorscale/defaults": 484, - "../../components/colorscale/has_colorscale": 488, - }, - ], - 755: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../components/color/attributes"), - a = t("../../lib/extend").extendFlat, - o = n.marker, - s = o.line; - e.exports = { - y: { valType: "data_array", editType: "calc+clearAxisTypes" }, - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - x0: { valType: "any", editType: "calc+clearAxisTypes" }, - y0: { valType: "any", editType: "calc+clearAxisTypes" }, - name: { valType: "string", editType: "calc+clearAxisTypes" }, - text: a({}, n.text, {}), - whiskerwidth: { - valType: "number", - min: 0, - max: 1, - dflt: 0.5, - editType: "calcIfAutorange", - }, - notched: { valType: "boolean", editType: "calcIfAutorange" }, - notchwidth: { - valType: "number", - min: 0, - max: 0.5, - dflt: 0.25, - editType: "calcIfAutorange", - }, - boxpoints: { - valType: "enumerated", - values: ["all", "outliers", "suspectedoutliers", !1], - dflt: "outliers", - editType: "calcIfAutorange", - }, - boxmean: { - valType: "enumerated", - values: [!0, "sd", !1], - dflt: !1, - editType: "calcIfAutorange", - }, - jitter: { valType: "number", min: 0, max: 1, editType: "calcIfAutorange" }, - pointpos: { - valType: "number", - min: -2, - max: 2, - editType: "calcIfAutorange", - }, - orientation: { - valType: "enumerated", - values: ["v", "h"], - editType: "calc+clearAxisTypes", - }, - marker: { - outliercolor: { - valType: "color", - dflt: "rgba(0, 0, 0, 0)", - editType: "style", - }, - symbol: a({}, o.symbol, { arrayOk: !1, editType: "plot" }), - opacity: a({}, o.opacity, { arrayOk: !1, dflt: 1, editType: "style" }), - size: a({}, o.size, { arrayOk: !1, editType: "calcIfAutorange" }), - color: a({}, o.color, { arrayOk: !1, editType: "style" }), - line: { - color: a({}, s.color, { - arrayOk: !1, - dflt: i.defaultLine, - editType: "style", - }), - width: a({}, s.width, { arrayOk: !1, dflt: 0, editType: "style" }), - outliercolor: { valType: "color", editType: "style" }, - outlierwidth: { valType: "number", min: 0, dflt: 1, editType: "style" }, - editType: "style", - }, - editType: "plot", - }, - line: { - color: { valType: "color", editType: "style" }, - width: { valType: "number", min: 0, dflt: 2, editType: "style" }, - editType: "plot", - }, - fillcolor: n.fillcolor, - selected: { marker: n.selected.marker, editType: "style" }, - unselected: { marker: n.unselected.marker, editType: "style" }, - hoveron: { - valType: "flaglist", - flags: ["boxes", "points"], - dflt: "boxes+points", - editType: "style", - }, - }; - }, - { - "../../components/color/attributes": 473, - "../../lib/extend": 591, - "../scatter/attributes": 926, - }, - ], - 756: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = i._, - o = t("../../plots/cartesian/axes"); - function s(t, e, r) { - var n = { text: "tx" }; - for (var i in n) Array.isArray(e[i]) && (t[n[i]] = e[i][r]); - } - function l(t, e) { - return t.v - e.v; - } - function c(t) { - return t.v; - } - e.exports = function (t, e) { - var r, - u, - f, - h, - p, - d = t._fullLayout, - g = o.getFromId(t, e.xaxis || "x"), - m = o.getFromId(t, e.yaxis || "y"), - v = [], - y = "violin" === e.type ? "_numViolins" : "_numBoxes"; - "h" === e.orientation - ? ((u = g), (f = "x"), (h = m), (p = "y")) - : ((u = m), (f = "y"), (h = g), (p = "x")); - var x = u.makeCalcdata(e, f), - b = (function (t, e, r, a, o) { - if (e in t) return r.makeCalcdata(t, e); - var s; - s = - e + "0" in t - ? t[e + "0"] - : "name" in t && - ("category" === r.type || - (n(t.name) && -1 !== ["linear", "log"].indexOf(r.type)) || - (i.isDateTime(t.name) && "date" === r.type)) - ? t.name - : o; - var l = r.d2c(s, 0, t[e + "calendar"]); - return a.map(function () { - return l; - }); - })(e, p, h, x, d[y]), - _ = i.distinctVals(b), - w = _.vals, - k = _.minDiff / 2, - M = (function (t, e) { - for (var r = t.length, n = new Array(r + 1), i = 0; i < r; i++) - n[i] = t[i] - e; - return ((n[r] = t[r - 1] + e), n); - })(w, k), - A = w.length, - T = (function (t) { - for (var e = new Array(t), r = 0; r < t; r++) e[r] = []; - return e; - })(A); - for (r = 0; r < e._length; r++) { - var S = x[r]; - if (n(S)) { - var C = i.findBin(b[r], M); - if (C >= 0 && C < A) { - var E = { v: S, i: r }; - (s(E, e, r), T[C].push(E)); - } - } - } - for (r = 0; r < A; r++) - if (T[r].length > 0) { - var L = T[r].sort(l), - z = L.map(c), - P = z.length, - D = { pos: w[r], pts: L }; - ((D.min = z[0]), - (D.max = z[P - 1]), - (D.mean = i.mean(z, P)), - (D.sd = i.stdev(z, P, D.mean)), - (D.q1 = i.interp(z, 0.25)), - (D.med = i.interp(z, 0.5)), - (D.q3 = i.interp(z, 0.75)), - (D.lf = Math.min( - D.q1, - z[Math.min(i.findBin(2.5 * D.q1 - 1.5 * D.q3, z, !0) + 1, P - 1)], - )), - (D.uf = Math.max( - D.q3, - z[Math.max(i.findBin(2.5 * D.q3 - 1.5 * D.q1, z), 0)], - )), - (D.lo = 4 * D.q1 - 3 * D.q3), - (D.uo = 4 * D.q3 - 3 * D.q1)); - var O = (1.57 * (D.q3 - D.q1)) / Math.sqrt(P); - ((D.ln = D.med - O), (D.un = D.med + O), v.push(D)); - } - return ( - (function (t, e) { - if (i.isArrayOrTypedArray(e.selectedpoints)) - for (var r = 0; r < t.length; r++) { - for (var n = t[r].pts || [], a = {}, o = 0; o < n.length; o++) - a[n[o].i] = o; - i.tagSelected(n, e, a); - } - })(v, e), - o.expand(u, x, { padded: !0 }), - v.length > 0 - ? ((v[0].t = { - num: d[y], - dPos: k, - posLetter: p, - valLetter: f, - labels: { - med: a(t, "median:"), - min: a(t, "min:"), - q1: a(t, "q1:"), - q3: a(t, "q3:"), - max: a(t, "max:"), - mean: - "sd" === e.boxmean ? a(t, "mean \xb1 \u03c3:") : a(t, "mean:"), - lf: a(t, "lower fence:"), - uf: a(t, "upper fence:"), - }, - }), - d[y]++, - v) - : [{ t: { empty: !0 } }] - ); - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648, "fast-isnumeric": 196 }, - ], - 757: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../registry"), - a = t("../../components/color"), - o = t("./attributes"); - function s(t, e, r, n) { - var a, - o, - s = r("y"), - l = r("x"), - c = l && l.length; - if (s && s.length) - ((a = "v"), - c ? (o = Math.min(l.length, s.length)) : (r("x0"), (o = s.length))); - else { - if (!c) return void (e.visible = !1); - ((a = "h"), r("y0"), (o = l.length)); - } - ((e._length = o), - i.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y"], - n, - ), - r("orientation", a)); - } - function l(t, e, r, i) { - var a = i.prefix, - s = n.coerce2(t, e, o, "marker.outliercolor"), - l = r("marker.line.outliercolor"), - c = r(a + "points", s || l ? "suspectedoutliers" : void 0); - (c - ? (r("jitter", "all" === c ? 0.3 : 0), - r("pointpos", "all" === c ? -1.5 : 0), - r("marker.symbol"), - r("marker.opacity"), - r("marker.size"), - r("marker.color", e.line.color), - r("marker.line.color"), - r("marker.line.width"), - "suspectedoutliers" === c && - (r("marker.line.outliercolor", e.marker.color), - r("marker.line.outlierwidth")), - r("selected.marker.color"), - r("unselected.marker.color"), - r("selected.marker.size"), - r("unselected.marker.size"), - r("text")) - : delete e.marker, - r("hoveron"), - n.coerceSelectionMarkerOpacity(e, r)); - } - e.exports = { - supplyDefaults: function (t, e, r, i) { - function c(r, i) { - return n.coerce(t, e, o, r, i); - } - (s(t, e, c, i), - !1 !== e.visible && - (c("line.color", (t.marker || {}).color || r), - c("line.width"), - c("fillcolor", a.addOpacity(e.line.color, 0.5)), - c("whiskerwidth"), - c("boxmean"), - c("notched", void 0 !== t.notchwidth) && c("notchwidth"), - l(t, e, c, { prefix: "box" }))); - }, - handleSampleDefaults: s, - handlePointsDefaults: l, - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../registry": 732, - "./attributes": 755, - }, - ], - 758: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib"), - a = t("../../components/fx"), - o = t("../../components/color"), - s = t("../scatter/fill_hover_text"); - function l(t, e, r, s) { - var l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b = t.cd, - _ = t.xa, - w = t.ya, - k = b[0].trace, - M = b[0].t, - A = "violin" === k.type, - T = [], - S = M.bdPos, - C = M.wHover, - E = function (t) { - return t.pos + M.bPos - p; - }; - (A && "both" !== k.side - ? ("positive" === k.side && - (m = function (t) { - var e = E(t); - return a.inbox(e, e + C, v); - }), - "negative" === k.side && - (m = function (t) { - var e = E(t); - return a.inbox(e - C, e, v); - })) - : (m = function (t) { - var e = E(t); - return a.inbox(e - C, e + C, v); - }), - (x = A - ? function (t) { - return a.inbox(t.span[0] - h, t.span[1] - h, v); - } - : function (t) { - return a.inbox(t.min - h, t.max - h, v); - }), - "h" === k.orientation - ? ((h = e), - (p = r), - (d = x), - (g = m), - (l = "y"), - (u = w), - (c = "x"), - (f = _)) - : ((h = r), - (p = e), - (d = m), - (g = x), - (l = "x"), - (u = _), - (c = "y"), - (f = w))); - var L = Math.min(1, S / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0]))); - function z(t) { - return (d(t) + g(t)) / 2; - } - ((v = t.maxHoverDistance - L), (y = t.maxSpikeDistance - L)); - var P = a.getDistanceFunction(s, d, g, z); - if ((a.getClosest(b, P, t), !1 === t.index)) return []; - var D = b[t.index], - O = k.line.color, - I = (k.marker || {}).color; - (o.opacity(O) && k.line.width - ? (t.color = O) - : o.opacity(I) && k.boxpoints - ? (t.color = I) - : (t.color = k.fillcolor), - (t[l + "0"] = u.c2p(D.pos + M.bPos - S, !0)), - (t[l + "1"] = u.c2p(D.pos + M.bPos + S, !0)), - (t[l + "LabelVal"] = D.pos)); - var R = l + "Spike"; - ((t.spikeDistance = (z(D) * y) / v), (t[R] = u.c2p(D.pos, !0))); - var B = {}, - F = ["med", "min", "q1", "q3", "max"]; - ((k.boxmean || (k.meanline || {}).visible) && F.push("mean"), - (k.boxpoints || k.points) && F.push("lf", "uf")); - for (var N = 0; N < F.length; N++) { - var j = F[N]; - if (j in D && !(D[j] in B)) { - B[D[j]] = !0; - var V = D[j], - U = f.c2p(V, !0), - q = i.extendFlat({}, t); - ((q[c + "0"] = q[c + "1"] = U), - (q[c + "LabelVal"] = V), - (q[c + "Label"] = - (M.labels ? M.labels[j] + " " : "") + n.hoverLabelText(f, V)), - "mean" === j && - "sd" in D && - "sd" === k.boxmean && - (q[c + "err"] = D.sd), - (t.name = ""), - (t.spikeDistance = void 0), - (t[R] = void 0), - T.push(q)); - } - } - return T; - } - function c(t, e, r) { - for ( - var n, - o, - l, - c = t.cd, - u = t.xa, - f = t.ya, - h = c[0].trace, - p = u.c2p(e), - d = f.c2p(r), - g = a.quadrature( - function (t) { - var e = Math.max(3, t.mrc || 0); - return Math.max(Math.abs(u.c2p(t.x) - p) - e, 1 - 3 / e); - }, - function (t) { - var e = Math.max(3, t.mrc || 0); - return Math.max(Math.abs(f.c2p(t.y) - d) - e, 1 - 3 / e); - }, - ), - m = !1, - v = 0; - v < c.length; - v++ - ) { - o = c[v]; - for (var y = 0; y < (o.pts || []).length; y++) { - var x = g((l = o.pts[y])); - x <= t.distance && ((t.distance = x), (m = [v, y])); - } - } - if (!m) return !1; - l = (o = c[m[0]]).pts[m[1]]; - var b = u.c2p(l.x, !0), - _ = f.c2p(l.y, !0), - w = l.mrc || 1; - n = i.extendFlat({}, t, { - index: l.i, - color: (h.marker || {}).color, - name: h.name, - x0: b - w, - x1: b + w, - xLabelVal: l.x, - y0: _ - w, - y1: _ + w, - yLabelVal: l.y, - spikeDistance: t.distance, - }); - var k = "h" === h.orientation ? "y" : "x", - M = "h" === h.orientation ? f : u; - return ((n[k + "Spike"] = M.c2p(o.pos, !0)), s(l, h, n), n); - } - e.exports = { - hoverPoints: function (t, e, r, n) { - var i, - a = t.cd[0].trace.hoveron, - o = []; - return ( - -1 !== a.indexOf("boxes") && (o = o.concat(l(t, e, r, n))), - -1 !== a.indexOf("points") && (i = c(t, e, r)), - "closest" === n ? (i ? [i] : o) : i ? (o.push(i), o) : o - ); - }, - hoverOnBoxes: l, - hoverOnPoints: c, - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../scatter/fill_hover_text": 934, - }, - ], - 759: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.layoutAttributes = t("./layout_attributes")), - (n.supplyDefaults = t("./defaults").supplyDefaults), - (n.supplyLayoutDefaults = t("./layout_defaults").supplyLayoutDefaults), - (n.calc = t("./calc")), - (n.setPositions = t("./set_positions").setPositions), - (n.plot = t("./plot").plot), - (n.style = t("./style").style), - (n.styleOnSelect = t("./style").styleOnSelect), - (n.hoverPoints = t("./hover").hoverPoints), - (n.selectPoints = t("./select")), - (n.moduleType = "trace"), - (n.name = "box"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "symbols", - "oriented", - "box-violin", - "showLegend", - "draggedPts", - "boxLayout", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "./attributes": 755, - "./calc": 756, - "./defaults": 757, - "./hover": 758, - "./layout_attributes": 760, - "./layout_defaults": 761, - "./plot": 762, - "./select": 763, - "./set_positions": 764, - "./style": 765, - }, - ], - 760: [ - function (t, e, r) { - "use strict"; - e.exports = { - boxmode: { - valType: "enumerated", - values: ["group", "overlay"], - dflt: "overlay", - editType: "calc", - }, - boxgap: { valType: "number", min: 0, max: 1, dflt: 0.3, editType: "calc" }, - boxgroupgap: { - valType: "number", - min: 0, - max: 1, - dflt: 0.3, - editType: "calc", - }, - }; - }, - {}, - ], - 761: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("./layout_attributes"); - function o(t, e, r, i, a) { - for (var o, s = a + "Layout", l = 0; l < r.length; l++) - if (n.traceIs(r[l], s)) { - o = !0; - break; - } - o && (i(a + "mode"), i(a + "gap"), i(a + "groupgap")); - } - e.exports = { - supplyLayoutDefaults: function (t, e, r) { - o( - 0, - 0, - r, - function (r, n) { - return i.coerce(t, e, a, r, n); - }, - "box", - ); - }, - _supply: o, - }; - }, - { "../../lib": 602, "../../registry": 732, "./layout_attributes": 760 }, - ], - 762: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../components/drawing"), - o = 5, - s = 0.01; - function l(t, e, r, a) { - var o, - s, - l = e.pos, - c = e.val, - u = a.bPos, - f = a.wdPos || 0, - h = a.bPosPxOffset || 0, - p = r.whiskerwidth || 0, - d = r.notched || !1, - g = d ? 1 - 2 * r.notchwidth : 1; - Array.isArray(a.bdPos) - ? ((o = a.bdPos[0]), (s = a.bdPos[1])) - : ((o = a.bdPos), (s = a.bdPos)); - var m = t.selectAll("path.box").data(i.identity); - (m - .enter() - .append("path") - .style("vector-effect", "non-scaling-stroke") - .attr("class", "box"), - m.exit().remove(), - m.each(function (t) { - var e = t.pos, - a = l.c2p(e + u, !0) + h, - m = l.c2p(e + u - o, !0) + h, - v = l.c2p(e + u + s, !0) + h, - y = l.c2p(e + u - f, !0) + h, - x = l.c2p(e + u + f, !0) + h, - b = l.c2p(e + u - o * g, !0) + h, - _ = l.c2p(e + u + s * g, !0) + h, - w = c.c2p(t.q1, !0), - k = c.c2p(t.q3, !0), - M = i.constrain( - c.c2p(t.med, !0), - Math.min(w, k) + 1, - Math.max(w, k) - 1, - ), - A = void 0 === t.lf || !1 === r.boxpoints, - T = c.c2p(A ? t.min : t.lf, !0), - S = c.c2p(A ? t.max : t.uf, !0), - C = c.c2p(t.ln, !0), - E = c.c2p(t.un, !0); - "h" === r.orientation - ? n - .select(this) - .attr( - "d", - "M" + - M + - "," + - b + - "V" + - _ + - "M" + - w + - "," + - m + - "V" + - v + - (d ? "H" + C + "L" + M + "," + _ + "L" + E + "," + v : "") + - "H" + - k + - "V" + - m + - (d ? "H" + E + "L" + M + "," + b + "L" + C + "," + m : "") + - "ZM" + - w + - "," + - a + - "H" + - T + - "M" + - k + - "," + - a + - "H" + - S + - (0 === p - ? "" - : "M" + - T + - "," + - y + - "V" + - x + - "M" + - S + - "," + - y + - "V" + - x), - ) - : n - .select(this) - .attr( - "d", - "M" + - b + - "," + - M + - "H" + - _ + - "M" + - m + - "," + - w + - "H" + - v + - (d ? "V" + C + "L" + _ + "," + M + "L" + v + "," + E : "") + - "V" + - k + - "H" + - m + - (d ? "V" + E + "L" + b + "," + M + "L" + m + "," + C : "") + - "ZM" + - a + - "," + - w + - "V" + - T + - "M" + - a + - "," + - k + - "V" + - S + - (0 === p - ? "" - : "M" + - y + - "," + - T + - "H" + - x + - "M" + - y + - "," + - S + - "H" + - x), - ); - })); - } - function c(t, e, r, n) { - var l = e.x, - c = e.y, - u = n.bdPos, - f = n.bPos, - h = r.boxpoints || r.points; - i.seedPseudoRandom(); - var p = t.selectAll("g.points").data(function (t) { - return ( - t.forEach(function (t) { - ((t.t = n), (t.trace = r)); - }), - t - ); - }); - (p.enter().append("g").attr("class", "points"), p.exit().remove()); - var d = p.selectAll("path").data(function (t) { - var e, - n, - a = - "all" === h - ? t.pts - : t.pts.filter(function (e) { - return e.v < t.lf || e.v > t.uf; - }), - l = Math.max((t.max - t.min) / 10, t.q3 - t.q1), - c = 1e-9 * l, - p = l * s, - d = [], - g = 0; - if (r.jitter) { - if (0 === l) - for (g = 1, d = new Array(a.length), e = 0; e < a.length; e++) - d[e] = 1; - else - for (e = 0; e < a.length; e++) { - var m = Math.max(0, e - o), - v = a[m].v, - y = Math.min(a.length - 1, e + o), - x = a[y].v; - "all" !== h && - (a[e].v < t.lf - ? (x = Math.min(x, t.lf)) - : (v = Math.max(v, t.uf))); - var b = Math.sqrt((p * (y - m)) / (x - v + c)) || 0; - ((b = i.constrain(Math.abs(b), 0, 1)), - d.push(b), - (g = Math.max(b, g))); - } - n = (2 * r.jitter) / (g || 1); - } - for (e = 0; e < a.length; e++) { - var _ = a[e], - w = _.v, - k = r.jitter ? n * d[e] * (i.pseudoRandom() - 0.5) : 0, - M = t.pos + f + u * (r.pointpos + k); - ("h" === r.orientation - ? ((_.y = M), (_.x = w)) - : ((_.x = M), (_.y = w)), - "suspectedoutliers" === h && w < t.uo && w > t.lo && (_.so = !0)); - } - return a; - }); - (d.enter().append("path").classed("point", !0), - d.exit().remove(), - d.call(a.translatePoints, l, c)); - } - function u(t, e, r, a) { - var o, - s, - l = e.pos, - c = e.val, - u = a.bPos, - f = a.bPosPxOffset || 0; - Array.isArray(a.bdPos) - ? ((o = a.bdPos[0]), (s = a.bdPos[1])) - : ((o = a.bdPos), (s = a.bdPos)); - var h = t.selectAll("path.mean").data(i.identity); - (h - .enter() - .append("path") - .attr("class", "mean") - .style({ fill: "none", "vector-effect": "non-scaling-stroke" }), - h.exit().remove(), - h.each(function (t) { - var e = l.c2p(t.pos + u, !0) + f, - i = l.c2p(t.pos + u - o, !0) + f, - a = l.c2p(t.pos + u + s, !0) + f, - h = c.c2p(t.mean, !0), - p = c.c2p(t.mean - t.sd, !0), - d = c.c2p(t.mean + t.sd, !0); - "h" === r.orientation - ? n - .select(this) - .attr( - "d", - "M" + - h + - "," + - i + - "V" + - a + - ("sd" === r.boxmean - ? "m0,0L" + - p + - "," + - e + - "L" + - h + - "," + - i + - "L" + - d + - "," + - e + - "Z" - : ""), - ) - : n - .select(this) - .attr( - "d", - "M" + - i + - "," + - h + - "H" + - a + - ("sd" === r.boxmean - ? "m0,0L" + - e + - "," + - p + - "L" + - i + - "," + - h + - "L" + - e + - "," + - d + - "Z" - : ""), - ); - })); - } - e.exports = { - plot: function (t, e, r, i) { - var a = t._fullLayout, - o = e.xaxis, - s = e.yaxis, - f = i.selectAll("g.trace.boxes").data(r, function (t) { - return t[0].trace.uid; - }); - (f.enter().append("g").attr("class", "trace boxes"), - f.exit().remove(), - f.order(), - f.each(function (t) { - var r = t[0], - i = r.t, - f = r.trace, - h = n.select(this); - e.isRangePlot || (r.node3 = h); - var p, - d, - g = a._numBoxes, - m = 1 - a.boxgap, - v = "group" === a.boxmode && g > 1, - y = (i.dPos * m * (1 - a.boxgroupgap)) / (v ? g : 1), - x = v ? 2 * i.dPos * ((i.num + 0.5) / g - 0.5) * m : 0, - b = y * f.whiskerwidth; - !0 !== f.visible || i.empty - ? h.remove() - : ("h" === f.orientation ? ((p = s), (d = o)) : ((p = o), (d = s)), - (i.bPos = x), - (i.bdPos = y), - (i.wdPos = b), - (i.wHover = i.dPos * (v ? m / g : 1)), - l(h, { pos: p, val: d }, f, i), - f.boxpoints && c(h, { x: o, y: s }, f, i), - f.boxmean && u(h, { pos: p, val: d }, f, i)); - })); - }, - plotBoxAndWhiskers: l, - plotPoints: c, - plotBoxMean: u, - }; - }, - { "../../components/drawing": 499, "../../lib": 602, d3: 130 }, - ], - 763: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, - n, - i = t.cd, - a = t.xaxis, - o = t.yaxis, - s = []; - if (!1 === e) - for (r = 0; r < i.length; r++) - for (n = 0; n < (i[r].pts || []).length; n++) i[r].pts[n].selected = 0; - else - for (r = 0; r < i.length; r++) - for (n = 0; n < (i[r].pts || []).length; n++) { - var l = i[r].pts[n], - c = a.c2p(l.x), - u = o.c2p(l.y); - e.contains([c, u]) - ? (s.push({ pointNumber: l.i, x: a.c2d(l.x), y: o.c2d(l.y) }), - (l.selected = 1)) - : (l.selected = 0); - } - return s; - }; - }, - {}, - ], - 764: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib"), - a = ["v", "h"]; - function o(t, e, r, a, o) { - var s, - l, - c, - u = e.calcdata, - f = e._fullLayout, - h = [], - p = "violin" === t ? "_numViolins" : "_numBoxes"; - for (s = 0; s < r.length; s++) - for (c = u[r[s]], l = 0; l < c.length; l++) h.push(c[l].pos); - if (h.length) { - var d = i.distinctVals(h), - g = d.minDiff / 2; - for ( - h.length === d.vals.length && (f[p] = 1), - n.minDtick(a, d.minDiff, d.vals[0], !0), - s = 0; - s < r.length; - s++ - ) - (c = u[r[s]])[0].t.dPos = g; - var m = ((1 - f[t + "gap"]) * (1 - f[t + "groupgap"]) * g) / f[p]; - n.expand(a, d.vals, { vpadminus: g + o[0] * m, vpadplus: g + o[1] * m }); - } - } - e.exports = { - setPositions: function (t, e) { - for ( - var r = t.calcdata, n = e.xaxis, i = e.yaxis, s = 0; - s < a.length; - s++ - ) { - for ( - var l = a[s], c = "h" === l ? i : n, u = [], f = 0, h = 0, p = 0; - p < r.length; - p++ - ) { - var d = r[p], - g = d[0].t, - m = d[0].trace; - !0 !== m.visible || - ("box" !== m.type && "candlestick" !== m.type) || - g.empty || - (m.orientation || "v") !== l || - m.xaxis !== n._id || - m.yaxis !== i._id || - (u.push(p), - m.boxpoints && - ((f = Math.max(f, m.jitter - m.pointpos - 1)), - (h = Math.max(h, m.jitter + m.pointpos - 1)))); - } - o("box", t, u, c, [f, h]); - } - }, - setPositionOffset: o, - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648 }, - ], - 765: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/color"), - a = t("../../components/drawing"); - e.exports = { - style: function (t, e) { - var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.boxes"); - (r.style("opacity", function (t) { - return t[0].trace.opacity; - }), - r.each(function (e) { - var r = n.select(this), - o = e[0].trace, - s = o.line.width; - function l(t, e, r, n) { - t.style("stroke-width", e + "px") - .call(i.stroke, r) - .call(i.fill, n); - } - var c = r.selectAll("path.box"); - if ("candlestick" === o.type) - c.each(function (t) { - var e = n.select(this), - r = o[t.dir]; - (l(e, r.line.width, r.line.color, r.fillcolor), - e.style("opacity", o.selectedpoints && !t.selected ? 0.3 : 1)); - }); - else { - (l(c, s, o.line.color, o.fillcolor), - r - .selectAll("path.mean") - .style({ - "stroke-width": s, - "stroke-dasharray": 2 * s + "px," + s + "px", - }) - .call(i.stroke, o.line.color)); - var u = r.selectAll("path.point"); - a.pointStyle(u, o, t); - } - })); - }, - styleOnSelect: function (t, e) { - var r = e[0].node3, - n = e[0].trace, - i = r.selectAll("path.point"); - n.selectedpoints ? a.selectedPointStyle(i, n) : a.pointStyle(i, n, t); - }, - }; - }, - { "../../components/color": 474, "../../components/drawing": 499, d3: 130 }, - ], - 766: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").extendFlat, - i = t("../ohlc/attributes"), - a = t("../box/attributes"); - function o(t) { - return { - line: { - color: n({}, a.line.color, { dflt: t }), - width: a.line.width, - editType: "style", - }, - fillcolor: a.fillcolor, - editType: "style", - }; - } - e.exports = { - x: i.x, - open: i.open, - high: i.high, - low: i.low, - close: i.close, - line: { width: n({}, a.line.width, {}), editType: "style" }, - increasing: o(i.increasing.line.color.dflt), - decreasing: o(i.decreasing.line.color.dflt), - text: i.text, - whiskerwidth: n({}, a.whiskerwidth, { dflt: 0 }), - }; - }, - { "../../lib": 602, "../box/attributes": 755, "../ohlc/attributes": 881 }, - ], - 767: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../ohlc/calc").calcCommon; - function o(t, e, r, n) { - return { min: r, q1: Math.min(t, n), med: n, q3: Math.max(t, n), max: e }; - } - e.exports = function (t, e) { - var r = t._fullLayout, - s = i.getFromId(t, e.xaxis), - l = i.getFromId(t, e.yaxis), - c = s.makeCalcdata(e, "x"), - u = a(t, e, c, l, o); - return u.length - ? (n.extendFlat(u[0].t, { - num: r._numBoxes, - dPos: n.distinctVals(c).minDiff / 2, - posLetter: "x", - valLetter: "y", - }), - r._numBoxes++, - u) - : [{ t: { empty: !0 } }]; - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648, "../ohlc/calc": 882 }, - ], - 768: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/color"), - a = t("../ohlc/ohlc_defaults"), - o = t("./attributes"); - function s(t, e, r, n) { - var a = r(n + ".line.color"); - (r(n + ".line.width", e.line.width), - r(n + ".fillcolor", i.addOpacity(a, 0.5))); - } - e.exports = function (t, e, r, i) { - function l(r, i) { - return n.coerce(t, e, o, r, i); - } - a(t, e, l, i) - ? (l("line.width"), - s(t, e, l, "increasing"), - s(t, e, l, "decreasing"), - l("text"), - l("whiskerwidth"), - (i._requestRangeslider[e.xaxis] = !0)) - : (e.visible = !1); - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../ohlc/ohlc_defaults": 886, - "./attributes": 766, - }, - ], - 769: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "trace", - name: "candlestick", - basePlotModule: t("../../plots/cartesian"), - categories: ["cartesian", "svg", "showLegend", "candlestick", "boxLayout"], - meta: {}, - attributes: t("./attributes"), - layoutAttributes: t("../box/layout_attributes"), - supplyLayoutDefaults: t("../box/layout_defaults").supplyLayoutDefaults, - setPositions: t("../box/set_positions").setPositions, - supplyDefaults: t("./defaults"), - calc: t("./calc"), - plot: t("../box/plot").plot, - layerName: "boxlayer", - style: t("../box/style").style, - hoverPoints: t("../ohlc/hover"), - selectPoints: t("../ohlc/select"), - }; - }, - { - "../../plots/cartesian": 659, - "../box/layout_attributes": 760, - "../box/layout_defaults": 761, - "../box/plot": 762, - "../box/set_positions": 764, - "../box/style": 765, - "../ohlc/hover": 884, - "../ohlc/select": 888, - "./attributes": 766, - "./calc": 767, - "./defaults": 768, - }, - ], - 770: [ - function (t, e, r) { - "use strict"; - var n = t("./axis_defaults"); - e.exports = function (t, e, r, i, a) { - (i("a") || (i("da"), i("a0")), - i("b") || (i("db"), i("b0")), - (function (t, e, r, i) { - ["aaxis", "baxis"].forEach(function (a) { - var o = a.charAt(0), - s = t[a] || {}, - l = {}, - c = { - tickfont: "x", - id: o + "axis", - letter: o, - font: e.font, - name: a, - data: t[o], - calendar: e.calendar, - dfltColor: i, - bgColor: r.paper_bgcolor, - fullLayout: r, - }; - (n(s, l, c), - (l._categories = l._categories || []), - (e[a] = l), - t[a] || "-" === s.type || (t[a] = { type: s.type })); - }); - })(t, e, r, a)); - }; - }, - { "./axis_defaults": 775 }, - ], - 771: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArrayOrTypedArray; - e.exports = function (t) { - return (function t(e, r) { - if (!n(e) || r >= 10) return null; - var i = 1 / 0; - var a = -1 / 0; - var o = e.length; - for (var s = 0; s < o; s++) { - var l = e[s]; - if (n(l)) { - var c = t(l, r + 1); - c && ((i = Math.min(c[0], i)), (a = Math.max(c[1], a))); - } else ((i = Math.min(l, i)), (a = Math.max(l, a))); - } - return [i, a]; - })(t, 0); - }; - }, - { "../../lib": 602 }, - ], - 772: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("./axis_attributes"), - a = t("../../components/color/attributes"), - o = n({ editType: "calc" }); - ((o.family.dflt = '"Open Sans", verdana, arial, sans-serif'), - (o.size.dflt = 12), - (o.color.dflt = a.defaultLine), - (e.exports = { - carpet: { valType: "string", editType: "calc" }, - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - y: { valType: "data_array", editType: "calc+clearAxisTypes" }, - a: { valType: "data_array", editType: "calc" }, - a0: { valType: "number", dflt: 0, editType: "calc" }, - da: { valType: "number", dflt: 1, editType: "calc" }, - b: { valType: "data_array", editType: "calc" }, - b0: { valType: "number", dflt: 0, editType: "calc" }, - db: { valType: "number", dflt: 1, editType: "calc" }, - cheaterslope: { valType: "number", dflt: 1, editType: "calc" }, - aaxis: i, - baxis: i, - font: o, - color: { valType: "color", dflt: a.defaultLine, editType: "plot" }, - })); - }, - { - "../../components/color/attributes": 473, - "../../plots/font_attributes": 674, - "./axis_attributes": 774, - }, - ], - 773: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArrayOrTypedArray; - e.exports = function (t, e, r, i) { - var a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y = n(r) ? "a" : "b", - x = ("a" === y ? t.aaxis : t.baxis).smoothing, - b = "a" === y ? t.a2i : t.b2j, - _ = "a" === y ? r : i, - w = "a" === y ? i : r, - k = "a" === y ? e.a.length : e.b.length, - M = "a" === y ? e.b.length : e.a.length, - A = Math.floor("a" === y ? t.b2j(w) : t.a2i(w)), - T = - "a" === y - ? function (e) { - return t.evalxy([], e, A); - } - : function (e) { - return t.evalxy([], A, e); - }; - x && - ((s = Math.max(0, Math.min(M - 2, A))), - (l = A - s), - (o = - "a" === y - ? function (e, r) { - return t.dxydi([], e, s, r, l); - } - : function (e, r) { - return t.dxydj([], s, e, l, r); - })); - var S = b(_[0]), - C = b(_[1]), - E = S < C ? 1 : -1, - L = 1e-8 * (C - S), - z = E > 0 ? Math.floor : Math.ceil, - P = E > 0 ? Math.ceil : Math.floor, - D = E > 0 ? Math.min : Math.max, - O = E > 0 ? Math.max : Math.min, - I = z(S + L), - R = P(C - L), - B = [[(f = T(S))]]; - for (a = I; a * E < R * E; a += E) - ((c = []), - (g = O(S, a)), - (v = (m = D(C, a + E)) - g), - (u = Math.max(0, Math.min(k - 2, Math.floor(0.5 * (g + m))))), - (h = T(m)), - x && - ((p = o(u, g - u)), - (d = o(u, m - u)), - c.push([f[0] + (p[0] / 3) * v, f[1] + (p[1] / 3) * v]), - c.push([h[0] - (d[0] / 3) * v, h[1] - (d[1] / 3) * v])), - c.push(h), - B.push(c), - (f = h)); - return B; - }; - }, - { "../../lib": 602 }, - ], - 774: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../../components/color/attributes"), - a = t("../../plots/cartesian/layout_attributes"), - o = t("../../plot_api/edit_types").overrideAll; - e.exports = { - color: { valType: "color", editType: "calc" }, - smoothing: { - valType: "number", - dflt: 1, - min: 0, - max: 1.3, - editType: "calc", - }, - title: { valType: "string", editType: "calc" }, - titlefont: n({ editType: "calc" }), - titleoffset: { valType: "number", dflt: 10, editType: "calc" }, - type: { - valType: "enumerated", - values: ["-", "linear", "date", "category"], - dflt: "-", - editType: "calc", - }, - autorange: { - valType: "enumerated", - values: [!0, !1, "reversed"], - dflt: !0, - editType: "calc", - }, - rangemode: { - valType: "enumerated", - values: ["normal", "tozero", "nonnegative"], - dflt: "normal", - editType: "calc", - }, - range: { - valType: "info_array", - editType: "calc", - items: [ - { valType: "any", editType: "calc" }, - { valType: "any", editType: "calc" }, - ], - }, - fixedrange: { valType: "boolean", dflt: !1, editType: "calc" }, - cheatertype: { - valType: "enumerated", - values: ["index", "value"], - dflt: "value", - editType: "calc", - }, - tickmode: { - valType: "enumerated", - values: ["linear", "array"], - dflt: "array", - editType: "calc", - }, - nticks: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, - tickvals: { valType: "data_array", editType: "calc" }, - ticktext: { valType: "data_array", editType: "calc" }, - showticklabels: { - valType: "enumerated", - values: ["start", "end", "both", "none"], - dflt: "start", - editType: "calc", - }, - tickfont: n({ editType: "calc" }), - tickangle: { valType: "angle", dflt: "auto", editType: "calc" }, - tickprefix: { valType: "string", dflt: "", editType: "calc" }, - showtickprefix: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "calc", - }, - ticksuffix: { valType: "string", dflt: "", editType: "calc" }, - showticksuffix: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "calc", - }, - showexponent: { - valType: "enumerated", - values: ["all", "first", "last", "none"], - dflt: "all", - editType: "calc", - }, - exponentformat: { - valType: "enumerated", - values: ["none", "e", "E", "power", "SI", "B"], - dflt: "B", - editType: "calc", - }, - separatethousands: { valType: "boolean", dflt: !1, editType: "calc" }, - tickformat: { valType: "string", dflt: "", editType: "calc" }, - tickformatstops: o(a.tickformatstops, "calc", "from-root"), - categoryorder: { - valType: "enumerated", - values: ["trace", "category ascending", "category descending", "array"], - dflt: "trace", - editType: "calc", - }, - categoryarray: { valType: "data_array", editType: "calc" }, - labelpadding: { valType: "integer", dflt: 10, editType: "calc" }, - labelprefix: { valType: "string", editType: "calc" }, - labelsuffix: { valType: "string", dflt: "", editType: "calc" }, - showline: { valType: "boolean", dflt: !1, editType: "calc" }, - linecolor: { valType: "color", dflt: i.defaultLine, editType: "calc" }, - linewidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, - gridcolor: { valType: "color", editType: "calc" }, - gridwidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, - showgrid: { valType: "boolean", dflt: !0, editType: "calc" }, - minorgridcount: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, - minorgridwidth: { valType: "number", min: 0, dflt: 1, editType: "calc" }, - minorgridcolor: { valType: "color", dflt: i.lightLine, editType: "calc" }, - startline: { valType: "boolean", editType: "calc" }, - startlinecolor: { valType: "color", editType: "calc" }, - startlinewidth: { valType: "number", dflt: 1, editType: "calc" }, - endline: { valType: "boolean", editType: "calc" }, - endlinewidth: { valType: "number", dflt: 1, editType: "calc" }, - endlinecolor: { valType: "color", editType: "calc" }, - tick0: { valType: "number", min: 0, dflt: 0, editType: "calc" }, - dtick: { valType: "number", min: 0, dflt: 1, editType: "calc" }, - arraytick0: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, - arraydtick: { valType: "integer", min: 1, dflt: 1, editType: "calc" }, - editType: "calc", - }; - }, - { - "../../components/color/attributes": 473, - "../../plot_api/edit_types": 633, - "../../plots/cartesian/layout_attributes": 660, - "../../plots/font_attributes": 674, - }, - ], - 775: [ - function (t, e, r) { - "use strict"; - var n = t("./attributes"), - i = t("../../components/color").addOpacity, - a = t("../../registry"), - o = t("../../lib"), - s = t("../../plots/cartesian/tick_value_defaults"), - l = t("../../plots/cartesian/tick_label_defaults"), - c = t("../../plots/cartesian/category_order_defaults"), - u = t("../../plots/cartesian/set_convert"), - f = t("../../plots/cartesian/axis_autotype"); - e.exports = function (t, e, r) { - var h = r.letter, - p = r.font || {}, - d = n[h + "axis"]; - function g(r, n) { - return o.coerce(t, e, d, r, n); - } - function m(r, n) { - return o.coerce2(t, e, d, r, n); - } - r.name && ((e._name = r.name), (e._id = r.name)); - var v = g("type"); - ("-" === v && - (r.data && - (function (t, e) { - if ("-" !== t.type) return; - var r = t._id.charAt(0), - n = t[r + "calendar"]; - t.type = f(e, n); - })(e, r.data), - "-" === e.type ? (e.type = "linear") : (v = t.type = e.type)), - g("smoothing"), - g("cheatertype"), - g("showticklabels"), - g("labelprefix", h + " = "), - g("labelsuffix"), - g("showtickprefix"), - g("showticksuffix"), - g("separatethousands"), - g("tickformat"), - g("exponentformat"), - g("showexponent"), - g("categoryorder"), - g("tickmode"), - g("tickvals"), - g("ticktext"), - g("tick0"), - g("dtick"), - "array" === e.tickmode && (g("arraytick0"), g("arraydtick")), - g("labelpadding"), - (e._hovertitle = h), - "date" === v) && - a.getComponentMethod("calendars", "handleDefaults")( - t, - e, - "calendar", - r.calendar, - ); - (u(e, r.fullLayout), (e.c2p = o.identity)); - var y = g("color", r.dfltColor), - x = y === t.color ? y : p.color; - (g("title"), - o.coerceFont(g, "titlefont", { - family: p.family, - size: Math.round(1.2 * p.size), - color: x, - }), - g("titleoffset"), - g("tickangle"), - g("autorange", !e.isValidRange(t.range)) && g("rangemode"), - g("range"), - e.cleanRange(), - g("fixedrange"), - s(t, e, g, v), - l(t, e, g, v, r), - c(t, e, g, { data: r.data, dataAttr: h })); - var b = m("gridcolor", i(y, 0.3)), - _ = m("gridwidth"), - w = g("showgrid"); - w || (delete e.gridcolor, delete e.gridwidth); - var k = m("startlinecolor", y), - M = m("startlinewidth", _); - g("startline", e.showgrid || !!k || !!M) || - (delete e.startlinecolor, delete e.startlinewidth); - var A = m("endlinecolor", y), - T = m("endlinewidth", _); - return ( - g("endline", e.showgrid || !!A || !!T) || - (delete e.endlinecolor, delete e.endlinewidth), - w - ? (g("minorgridcount"), - g("minorgridwidth", _), - g("minorgridcolor", i(b, 0.06)), - e.minorgridcount || - (delete e.minorgridwidth, delete e.minorgridcolor)) - : (delete e.gridcolor, delete e.gridWidth), - "none" === e.showticklabels && - (delete e.tickfont, - delete e.tickangle, - delete e.showexponent, - delete e.exponentformat, - delete e.tickformat, - delete e.showticksuffix, - delete e.showtickprefix), - e.showticksuffix || delete e.ticksuffix, - e.showtickprefix || delete e.tickprefix, - g("tickmode"), - (!e.title || (e.title && 0 === e.title.length)) && - (delete e.titlefont, delete e.titleoffset), - e - ); - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../plots/cartesian/axis_autotype": 649, - "../../plots/cartesian/category_order_defaults": 652, - "../../plots/cartesian/set_convert": 666, - "../../plots/cartesian/tick_label_defaults": 667, - "../../plots/cartesian/tick_value_defaults": 669, - "../../registry": 732, - "./attributes": 772, - }, - ], - 776: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib").isArray1D, - a = t("./cheater_basis"), - o = t("./array_minmax"), - s = t("./calc_gridlines"), - l = t("./calc_labels"), - c = t("./calc_clippath"), - u = t("../heatmap/clean_2d_array"), - f = t("./smooth_fill_2d_array"), - h = t("../heatmap/convert_column_xyz"), - p = t("./set_convert"); - e.exports = function (t, e) { - var r = n.getFromId(t, e.xaxis), - d = n.getFromId(t, e.yaxis), - g = e.aaxis, - m = e.baxis, - v = e.x, - y = e.y, - x = []; - (v && i(v) && x.push("x"), - y && i(y) && x.push("y"), - x.length && h(e, g, m, "a", "b", x)); - var b = (e._a = e._a || e.a), - _ = (e._b = e._b || e.b); - ((v = e._x || e.x), (y = e._y || e.y)); - var w = {}; - if (e._cheater) { - var k = "index" === g.cheatertype ? b.length : b, - M = "index" === m.cheatertype ? _.length : _; - v = a(k, M, e.cheaterslope); - } - ((e._x = v = u(v)), - (e._y = y = u(y)), - f(v, b, _), - f(y, b, _), - p(e), - e.setScale()); - var A = o(v), - T = o(y), - S = 0.5 * (A[1] - A[0]), - C = 0.5 * (A[1] + A[0]), - E = 0.5 * (T[1] - T[0]), - L = 0.5 * (T[1] + T[0]); - return ( - (A = [C - 1.3 * S, C + 1.3 * S]), - (T = [L - 1.3 * E, L + 1.3 * E]), - n.expand(r, A, { padded: !0 }), - n.expand(d, T, { padded: !0 }), - s(e, "a", "b"), - s(e, "b", "a"), - l(e, g), - l(e, m), - (w.clipsegments = c(e._xctrl, e._yctrl, g, m)), - (w.x = v), - (w.y = y), - (w.a = b), - (w.b = _), - [w] - ); - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../heatmap/clean_2d_array": 837, - "../heatmap/convert_column_xyz": 839, - "./array_minmax": 771, - "./calc_clippath": 777, - "./calc_gridlines": 778, - "./calc_labels": 779, - "./cheater_basis": 781, - "./set_convert": 794, - "./smooth_fill_2d_array": 795, - }, - ], - 777: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - var i, - a, - o, - s = [], - l = !!r.smoothing, - c = !!n.smoothing, - u = t[0].length - 1, - f = t.length - 1; - for (i = 0, a = [], o = []; i <= u; i++) - ((a[i] = t[0][i]), (o[i] = e[0][i])); - for (s.push({ x: a, y: o, bicubic: l }), i = 0, a = [], o = []; i <= f; i++) - ((a[i] = t[i][u]), (o[i] = e[i][u])); - for (s.push({ x: a, y: o, bicubic: c }), i = u, a = [], o = []; i >= 0; i--) - ((a[u - i] = t[f][i]), (o[u - i] = e[f][i])); - for (s.push({ x: a, y: o, bicubic: l }), i = f, a = [], o = []; i >= 0; i--) - ((a[f - i] = t[i][0]), (o[f - i] = e[i][0])); - return (s.push({ x: a, y: o, bicubic: c }), s); - }; - }, - {}, - ], - 778: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib/extend").extendFlat; - e.exports = function (t, e, r) { - var a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x = t["_" + e], - b = t[e + "axis"], - _ = (b._gridlines = []), - w = (b._minorgridlines = []), - k = (b._boundarylines = []), - M = t["_" + r], - A = t[r + "axis"]; - "array" === b.tickmode && (b.tickvals = x.slice()); - var T = t._xctrl, - S = t._yctrl, - C = T[0].length, - E = T.length, - L = t._a.length, - z = t._b.length; - (n.prepTicks(b), "array" === b.tickmode && delete b.tickvals); - var P = b.smoothing ? 3 : 1; - function D(n) { - var i, - a, - o, - s, - l, - c, - u, - f, - p, - d, - g, - m, - v = [], - y = [], - x = {}; - if ("b" === e) - for ( - a = t.b2j(n), - o = Math.floor(Math.max(0, Math.min(z - 2, a))), - s = a - o, - x.length = z, - x.crossLength = L, - x.xy = function (e) { - return t.evalxy([], e, a); - }, - x.dxy = function (e, r) { - return t.dxydi([], e, o, r, s); - }, - i = 0; - i < L; - i++ - ) - ((c = Math.min(L - 2, i)), - (u = i - c), - (f = t.evalxy([], i, a)), - A.smoothing && - i > 0 && - ((p = t.dxydi([], i - 1, o, 0, s)), - v.push(l[0] + p[0] / 3), - y.push(l[1] + p[1] / 3), - (d = t.dxydi([], i - 1, o, 1, s)), - v.push(f[0] - d[0] / 3), - y.push(f[1] - d[1] / 3)), - v.push(f[0]), - y.push(f[1]), - (l = f)); - else - for ( - i = t.a2i(n), - c = Math.floor(Math.max(0, Math.min(L - 2, i))), - u = i - c, - x.length = L, - x.crossLength = z, - x.xy = function (e) { - return t.evalxy([], i, e); - }, - x.dxy = function (e, r) { - return t.dxydj([], c, e, u, r); - }, - a = 0; - a < z; - a++ - ) - ((o = Math.min(z - 2, a)), - (s = a - o), - (f = t.evalxy([], i, a)), - A.smoothing && - a > 0 && - ((g = t.dxydj([], c, a - 1, u, 0)), - v.push(l[0] + g[0] / 3), - y.push(l[1] + g[1] / 3), - (m = t.dxydj([], c, a - 1, u, 1)), - v.push(f[0] - m[0] / 3), - y.push(f[1] - m[1] / 3)), - v.push(f[0]), - y.push(f[1]), - (l = f)); - return ( - (x.axisLetter = e), - (x.axis = b), - (x.crossAxis = A), - (x.value = n), - (x.constvar = r), - (x.index = h), - (x.x = v), - (x.y = y), - (x.smoothing = A.smoothing), - x - ); - } - function O(n) { - var i, - a, - o, - s, - l, - c = [], - u = [], - f = {}; - if (((f.length = x.length), (f.crossLength = M.length), "b" === e)) - for ( - o = Math.max(0, Math.min(z - 2, n)), - l = Math.min(1, Math.max(0, n - o)), - f.xy = function (e) { - return t.evalxy([], e, n); - }, - f.dxy = function (e, r) { - return t.dxydi([], e, o, r, l); - }, - i = 0; - i < C; - i++ - ) - ((c[i] = T[n * P][i]), (u[i] = S[n * P][i])); - else - for ( - a = Math.max(0, Math.min(L - 2, n)), - s = Math.min(1, Math.max(0, n - a)), - f.xy = function (e) { - return t.evalxy([], n, e); - }, - f.dxy = function (e, r) { - return t.dxydj([], a, e, s, r); - }, - i = 0; - i < E; - i++ - ) - ((c[i] = T[i][n * P]), (u[i] = S[i][n * P])); - return ( - (f.axisLetter = e), - (f.axis = b), - (f.crossAxis = A), - (f.value = x[n]), - (f.constvar = r), - (f.index = n), - (f.x = c), - (f.y = u), - (f.smoothing = A.smoothing), - f - ); - } - if ("array" === b.tickmode) { - for ( - l = 5e-15, - u = - (c = [ - Math.floor( - ((x.length - 1 - b.arraytick0) / b.arraydtick) * (1 + l), - ), - Math.ceil(-b.arraytick0 / b.arraydtick / (1 + l)), - ].sort(function (t, e) { - return t - e; - }))[0] - 1, - f = c[1] + 1, - h = u; - h < f; - h++ - ) - (o = b.arraytick0 + b.arraydtick * h) < 0 || - o > x.length - 1 || - _.push(i(O(o), { color: b.gridcolor, width: b.gridwidth })); - for (h = u; h < f; h++) - if ( - ((s = b.arraytick0 + b.arraydtick * h), - (g = Math.min(s + b.arraydtick, x.length - 1)), - !(s < 0 || s > x.length - 1 || g < 0 || g > x.length - 1)) - ) - for (m = x[s], v = x[g], a = 0; a < b.minorgridcount; a++) - (y = g - s) <= 0 || - (d = - m + - (((v - m) * (a + 1)) / (b.minorgridcount + 1)) * - (b.arraydtick / y)) < x[0] || - d > x[x.length - 1] || - w.push( - i(D(d), { color: b.minorgridcolor, width: b.minorgridwidth }), - ); - (b.startline && - k.push(i(O(0), { color: b.startlinecolor, width: b.startlinewidth })), - b.endline && - k.push( - i(O(x.length - 1), { - color: b.endlinecolor, - width: b.endlinewidth, - }), - )); - } else { - for ( - l = 5e-15, - u = (c = [ - Math.floor(((x[x.length - 1] - b.tick0) / b.dtick) * (1 + l)), - Math.ceil((x[0] - b.tick0) / b.dtick / (1 + l)), - ].sort(function (t, e) { - return t - e; - }))[0], - f = c[1], - h = u; - h <= f; - h++ - ) - ((p = b.tick0 + b.dtick * h), - _.push(i(D(p), { color: b.gridcolor, width: b.gridwidth }))); - for (h = u - 1; h < f + 1; h++) - for (p = b.tick0 + b.dtick * h, a = 0; a < b.minorgridcount; a++) - (d = p + (b.dtick * (a + 1)) / (b.minorgridcount + 1)) < x[0] || - d > x[x.length - 1] || - w.push( - i(D(d), { color: b.minorgridcolor, width: b.minorgridwidth }), - ); - (b.startline && - k.push( - i(D(x[0]), { color: b.startlinecolor, width: b.startlinewidth }), - ), - b.endline && - k.push( - i(D(x[x.length - 1]), { - color: b.endlinecolor, - width: b.endlinewidth, - }), - )); - } - }; - }, - { "../../lib/extend": 591, "../../plots/cartesian/axes": 648 }, - ], - 779: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib/extend").extendFlat; - e.exports = function (t, e) { - var r, - a, - o, - s = (e._labels = []), - l = e._gridlines; - for (r = 0; r < l.length; r++) - ((o = l[r]), - -1 !== ["start", "both"].indexOf(e.showticklabels) && - ((a = n.tickText(e, o.value)), - i(a, { - prefix: void 0, - suffix: void 0, - endAnchor: !0, - xy: o.xy(0), - dxy: o.dxy(0, 0), - axis: o.axis, - length: o.crossAxis.length, - font: o.axis.tickfont, - isFirst: 0 === r, - isLast: r === l.length - 1, - }), - s.push(a)), - -1 !== ["end", "both"].indexOf(e.showticklabels) && - ((a = n.tickText(e, o.value)), - i(a, { - endAnchor: !1, - xy: o.xy(o.crossLength - 1), - dxy: o.dxy(o.crossLength - 2, 1), - axis: o.axis, - length: o.crossAxis.length, - font: o.axis.tickfont, - isFirst: 0 === r, - isLast: r === l.length - 1, - }), - s.push(a))); - }; - }, - { "../../lib/extend": 591, "../../plots/cartesian/axes": 648 }, - ], - 780: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - var i = t[0] - e[0], - a = t[1] - e[1], - o = r[0] - e[0], - s = r[1] - e[1], - l = Math.pow(i * i + a * a, 0.25), - c = Math.pow(o * o + s * s, 0.25), - u = (c * c * i - l * l * o) * n, - f = (c * c * a - l * l * s) * n, - h = c * (l + c) * 3, - p = l * (l + c) * 3; - return [ - [e[0] + (h && u / h), e[1] + (h && f / h)], - [e[0] - (p && u / p), e[1] - (p && f / p)], - ]; - }; - }, - {}, - ], - 781: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArrayOrTypedArray; - e.exports = function (t, e, r) { - var i, - a, - o, - s, - l, - c, - u = [], - f = n(t) ? t.length : t, - h = n(e) ? e.length : e, - p = n(t) ? t : null, - d = n(e) ? e : null; - (p && (o = (p.length - 1) / (p[p.length - 1] - p[0]) / (f - 1)), - d && (s = (d.length - 1) / (d[d.length - 1] - d[0]) / (h - 1))); - var g = 1 / 0, - m = -1 / 0; - for (a = 0; a < h; a++) - for ( - u[a] = [], l = d ? (d[a] - d[0]) * s : a / (h - 1), i = 0; - i < f; - i++ - ) - ((c = (p ? (p[i] - p[0]) * o : i / (f - 1)) - l * r), - (g = Math.min(c, g)), - (m = Math.max(c, m)), - (u[a][i] = c)); - var v = 1 / (m - g), - y = -g * v; - for (a = 0; a < h; a++) for (i = 0; i < f; i++) u[a][i] = v * u[a][i] + y; - return u; - }; - }, - { "../../lib": 602 }, - ], - 782: [ - function (t, e, r) { - "use strict"; - var n = t("./catmull_rom"), - i = t("../../lib").ensureArray; - function a(t, e, r) { - var n = -0.5 * r[0] + 1.5 * e[0], - i = -0.5 * r[1] + 1.5 * e[1]; - return [(2 * n + t[0]) / 3, (2 * i + t[1]) / 3]; - } - e.exports = function (t, e, r, o, s, l) { - var c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x = r[0].length, - b = r.length, - _ = s ? 3 * x - 2 : x, - w = l ? 3 * b - 2 : b; - for (t = i(t, w), e = i(e, w), f = 0; f < w; f++) - ((t[f] = i(t[f], _)), (e[f] = i(e[f], _))); - for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) - for ( - p = t[h], d = e[h], g = r[u], m = o[u], c = 0, f = 0; - c < x; - c++, f += s ? 3 : 1 - ) - ((p[f] = g[c]), (d[f] = m[c])); - if (s) - for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) { - for (c = 1, f = 3; c < x - 1; c++, f += 3) - ((v = n( - [r[u][c - 1], o[u][c - 1]], - [r[u][c], o[u][c]], - [r[u][c + 1], o[u][c + 1]], - s, - )), - (t[h][f - 1] = v[0][0]), - (e[h][f - 1] = v[0][1]), - (t[h][f + 1] = v[1][0]), - (e[h][f + 1] = v[1][1])); - ((y = a([t[h][0], e[h][0]], [t[h][2], e[h][2]], [t[h][3], e[h][3]])), - (t[h][1] = y[0]), - (e[h][1] = y[1]), - (y = a( - [t[h][_ - 1], e[h][_ - 1]], - [t[h][_ - 3], e[h][_ - 3]], - [t[h][_ - 4], e[h][_ - 4]], - )), - (t[h][_ - 2] = y[0]), - (e[h][_ - 2] = y[1])); - } - if (l) - for (f = 0; f < _; f++) { - for (h = 3; h < w - 3; h += 3) - ((v = n( - [t[h - 3][f], e[h - 3][f]], - [t[h][f], e[h][f]], - [t[h + 3][f], e[h + 3][f]], - l, - )), - (t[h - 1][f] = v[0][0]), - (e[h - 1][f] = v[0][1]), - (t[h + 1][f] = v[1][0]), - (e[h + 1][f] = v[1][1])); - ((y = a([t[0][f], e[0][f]], [t[2][f], e[2][f]], [t[3][f], e[3][f]])), - (t[1][f] = y[0]), - (e[1][f] = y[1]), - (y = a( - [t[w - 1][f], e[w - 1][f]], - [t[w - 3][f], e[w - 3][f]], - [t[w - 4][f], e[w - 4][f]], - )), - (t[w - 2][f] = y[0]), - (e[w - 2][f] = y[1])); - } - if (s && l) - for (h = 1; h < w; h += (h + 1) % 3 == 0 ? 2 : 1) { - for (f = 3; f < _ - 3; f += 3) - ((v = n( - [t[h][f - 3], e[h][f - 3]], - [t[h][f], e[h][f]], - [t[h][f + 3], e[h][f + 3]], - s, - )), - (t[h][f - 1] = 0.5 * (t[h][f - 1] + v[0][0])), - (e[h][f - 1] = 0.5 * (e[h][f - 1] + v[0][1])), - (t[h][f + 1] = 0.5 * (t[h][f + 1] + v[1][0])), - (e[h][f + 1] = 0.5 * (e[h][f + 1] + v[1][1]))); - ((y = a([t[h][0], e[h][0]], [t[h][2], e[h][2]], [t[h][3], e[h][3]])), - (t[h][1] = 0.5 * (t[h][1] + y[0])), - (e[h][1] = 0.5 * (e[h][1] + y[1])), - (y = a( - [t[h][_ - 1], e[h][_ - 1]], - [t[h][_ - 3], e[h][_ - 3]], - [t[h][_ - 4], e[h][_ - 4]], - )), - (t[h][_ - 2] = 0.5 * (t[h][_ - 2] + y[0])), - (e[h][_ - 2] = 0.5 * (e[h][_ - 2] + y[1]))); - } - return [t, e]; - }; - }, - { "../../lib": 602, "./catmull_rom": 780 }, - ], - 783: [ - function (t, e, r) { - "use strict"; - e.exports = { RELATIVE_CULL_TOLERANCE: 1e-6 }; - }, - {}, - ], - 784: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - return e && r - ? function (e, r, n, i, a) { - var o, s, l, c, u, f; - (e || (e = []), (r *= 3), (n *= 3)); - var h = i * i, - p = 1 - i, - d = p * p, - g = p * i * 2, - m = -3 * d, - v = 3 * (d - g), - y = 3 * (g - h), - x = 3 * h, - b = a * a, - _ = b * a, - w = 1 - a, - k = w * w, - M = k * w; - for (f = 0; f < t.length; f++) - ((o = - m * (u = t[f])[n][r] + - v * u[n][r + 1] + - y * u[n][r + 2] + - x * u[n][r + 3]), - (s = - m * u[n + 1][r] + - v * u[n + 1][r + 1] + - y * u[n + 1][r + 2] + - x * u[n + 1][r + 3]), - (l = - m * u[n + 2][r] + - v * u[n + 2][r + 1] + - y * u[n + 2][r + 2] + - x * u[n + 2][r + 3]), - (c = - m * u[n + 3][r] + - v * u[n + 3][r + 1] + - y * u[n + 3][r + 2] + - x * u[n + 3][r + 3]), - (e[f] = M * o + 3 * (k * a * s + w * b * l) + _ * c)); - return e; - } - : e - ? function (e, r, n, i, a) { - var o, s, l, c; - (e || (e = []), (r *= 3)); - var u = i * i, - f = 1 - i, - h = f * f, - p = f * i * 2, - d = -3 * h, - g = 3 * (h - p), - m = 3 * (p - u), - v = 3 * u, - y = 1 - a; - for (l = 0; l < t.length; l++) - ((o = - d * (c = t[l])[n][r] + - g * c[n][r + 1] + - m * c[n][r + 2] + - v * c[n][r + 3]), - (s = - d * c[n + 1][r] + - g * c[n + 1][r + 1] + - m * c[n + 1][r + 2] + - v * c[n + 1][r + 3]), - (e[l] = y * o + a * s)); - return e; - } - : r - ? function (e, r, n, i, a) { - var o, s, l, c, u, f; - (e || (e = []), (n *= 3)); - var h = a * a, - p = h * a, - d = 1 - a, - g = d * d, - m = g * d; - for (u = 0; u < t.length; u++) - ((o = (f = t[u])[n][r + 1] - f[n][r]), - (s = f[n + 1][r + 1] - f[n + 1][r]), - (l = f[n + 2][r + 1] - f[n + 2][r]), - (c = f[n + 3][r + 1] - f[n + 3][r]), - (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c)); - return e; - } - : function (e, r, n, i, a) { - var o, s, l, c; - e || (e = []); - var u = 1 - a; - for (l = 0; l < t.length; l++) - ((o = (c = t[l])[n][r + 1] - c[n][r]), - (s = c[n + 1][r + 1] - c[n + 1][r]), - (e[l] = u * o + a * s)); - return e; - }; - }; - }, - {}, - ], - 785: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - return e && r - ? function (e, r, n, i, a) { - var o, s, l, c, u, f; - (e || (e = []), (r *= 3), (n *= 3)); - var h = i * i, - p = h * i, - d = 1 - i, - g = d * d, - m = g * d, - v = a * a, - y = 1 - a, - x = y * y, - b = y * a * 2, - _ = -3 * x, - w = 3 * (x - b), - k = 3 * (b - v), - M = 3 * v; - for (f = 0; f < t.length; f++) - ((o = - _ * (u = t[f])[n][r] + - w * u[n + 1][r] + - k * u[n + 2][r] + - M * u[n + 3][r]), - (s = - _ * u[n][r + 1] + - w * u[n + 1][r + 1] + - k * u[n + 2][r + 1] + - M * u[n + 3][r + 1]), - (l = - _ * u[n][r + 2] + - w * u[n + 1][r + 2] + - k * u[n + 2][r + 2] + - M * u[n + 3][r + 2]), - (c = - _ * u[n][r + 3] + - w * u[n + 1][r + 3] + - k * u[n + 2][r + 3] + - M * u[n + 3][r + 3]), - (e[f] = m * o + 3 * (g * i * s + d * h * l) + p * c)); - return e; - } - : e - ? function (e, r, n, i, a) { - var o, s, l, c, u, f; - (e || (e = []), (r *= 3)); - var h = a * a, - p = h * a, - d = 1 - a, - g = d * d, - m = g * d; - for (u = 0; u < t.length; u++) - ((o = (f = t[u])[n + 1][r] - f[n][r]), - (s = f[n + 1][r + 1] - f[n][r + 1]), - (l = f[n + 1][r + 2] - f[n][r + 2]), - (c = f[n + 1][r + 3] - f[n][r + 3]), - (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c)); - return e; - } - : r - ? function (e, r, n, i, a) { - var o, s, l, c; - (e || (e = []), (n *= 3)); - var u = 1 - i, - f = a * a, - h = 1 - a, - p = h * h, - d = h * a * 2, - g = -3 * p, - m = 3 * (p - d), - v = 3 * (d - f), - y = 3 * f; - for (l = 0; l < t.length; l++) - ((o = - g * (c = t[l])[n][r] + - m * c[n + 1][r] + - v * c[n + 2][r] + - y * c[n + 3][r]), - (s = - g * c[n][r + 1] + - m * c[n + 1][r + 1] + - v * c[n + 2][r + 1] + - y * c[n + 3][r + 1]), - (e[l] = u * o + i * s)); - return e; - } - : function (e, r, n, i, a) { - var o, s, l, c; - e || (e = []); - var u = 1 - i; - for (l = 0; l < t.length; l++) - ((o = (c = t[l])[n + 1][r] - c[n][r]), - (s = c[n + 1][r + 1] - c[n][r + 1]), - (e[l] = u * o + i * s)); - return e; - }; - }; - }, - {}, - ], - 786: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i) { - var a = e - 2, - o = r - 2; - return n && i - ? function (e, r, n) { - var i, s, l, c, u, f; - e || (e = []); - var h = Math.max(0, Math.min(Math.floor(r), a)), - p = Math.max(0, Math.min(Math.floor(n), o)), - d = Math.max(0, Math.min(1, r - h)), - g = Math.max(0, Math.min(1, n - p)); - ((h *= 3), (p *= 3)); - var m = d * d, - v = m * d, - y = 1 - d, - x = y * y, - b = x * y, - _ = g * g, - w = _ * g, - k = 1 - g, - M = k * k, - A = M * k; - for (f = 0; f < t.length; f++) - ((i = - b * (u = t[f])[p][h] + - 3 * (x * d * u[p][h + 1] + y * m * u[p][h + 2]) + - v * u[p][h + 3]), - (s = - b * u[p + 1][h] + - 3 * (x * d * u[p + 1][h + 1] + y * m * u[p + 1][h + 2]) + - v * u[p + 1][h + 3]), - (l = - b * u[p + 2][h] + - 3 * (x * d * u[p + 2][h + 1] + y * m * u[p + 2][h + 2]) + - v * u[p + 2][h + 3]), - (c = - b * u[p + 3][h] + - 3 * (x * d * u[p + 3][h + 1] + y * m * u[p + 3][h + 2]) + - v * u[p + 3][h + 3]), - (e[f] = A * i + 3 * (M * g * s + k * _ * l) + w * c)); - return e; - } - : n - ? function (e, r, n) { - e || (e = []); - var i, - s, - l, - c, - u, - f, - h = Math.max(0, Math.min(Math.floor(r), a)), - p = Math.max(0, Math.min(Math.floor(n), o)), - d = Math.max(0, Math.min(1, r - h)), - g = Math.max(0, Math.min(1, n - p)); - h *= 3; - var m = d * d, - v = m * d, - y = 1 - d, - x = y * y, - b = x * y, - _ = 1 - g; - for (u = 0; u < t.length; u++) - ((i = _ * (f = t[u])[p][h] + g * f[p + 1][h]), - (s = _ * f[p][h + 1] + g * f[p + 1][h + 1]), - (l = _ * f[p][h + 2] + g * f[p + 1][h + 1]), - (c = _ * f[p][h + 3] + g * f[p + 1][h + 1]), - (e[u] = b * i + 3 * (x * d * s + y * m * l) + v * c)); - return e; - } - : i - ? function (e, r, n) { - e || (e = []); - var i, - s, - l, - c, - u, - f, - h = Math.max(0, Math.min(Math.floor(r), a)), - p = Math.max(0, Math.min(Math.floor(n), o)), - d = Math.max(0, Math.min(1, r - h)), - g = Math.max(0, Math.min(1, n - p)); - p *= 3; - var m = g * g, - v = m * g, - y = 1 - g, - x = y * y, - b = x * y, - _ = 1 - d; - for (u = 0; u < t.length; u++) - ((i = _ * (f = t[u])[p][h] + d * f[p][h + 1]), - (s = _ * f[p + 1][h] + d * f[p + 1][h + 1]), - (l = _ * f[p + 2][h] + d * f[p + 2][h + 1]), - (c = _ * f[p + 3][h] + d * f[p + 3][h + 1]), - (e[u] = b * i + 3 * (x * g * s + y * m * l) + v * c)); - return e; - } - : function (e, r, n) { - e || (e = []); - var i, - s, - l, - c, - u = Math.max(0, Math.min(Math.floor(r), a)), - f = Math.max(0, Math.min(Math.floor(n), o)), - h = Math.max(0, Math.min(1, r - u)), - p = Math.max(0, Math.min(1, n - f)), - d = 1 - p, - g = 1 - h; - for (l = 0; l < t.length; l++) - ((i = g * (c = t[l])[f][u] + h * c[f][u + 1]), - (s = g * c[f + 1][u] + h * c[f + 1][u + 1]), - (e[l] = d * i + p * s)); - return e; - }; - }; - }, - {}, - ], - 787: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./xy_defaults"), - a = t("./ab_defaults"), - o = t("./attributes"), - s = t("../../components/color/attributes"); - e.exports = function (t, e, r, l) { - function c(r, i) { - return n.coerce(t, e, o, r, i); - } - e._clipPathId = "clip" + e.uid + "carpet"; - var u = c("color", s.defaultLine); - (n.coerceFont(c, "font"), c("carpet"), a(t, e, l, c, u), e.a && e.b) - ? (e.a.length < 3 && (e.aaxis.smoothing = 0), - e.b.length < 3 && (e.baxis.smoothing = 0), - i(t, e, c) || (e.visible = !1), - e._cheater && c("cheaterslope")) - : (e.visible = !1); - }; - }, - { - "../../components/color/attributes": 473, - "../../lib": 602, - "./ab_defaults": 770, - "./attributes": 772, - "./xy_defaults": 796, - }, - ], - 788: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.plot = t("./plot")), - (n.calc = t("./calc")), - (n.animatable = !0), - (n.isContainer = !0), - (n.moduleType = "trace"), - (n.name = "carpet"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "carpet", - "carpetAxis", - "notLegendIsolatable", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "./attributes": 772, - "./calc": 776, - "./defaults": 787, - "./plot": 793, - }, - ], - 789: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for (var r, n = t._fullData.length, i = 0; i < n; i++) { - var a = t._fullData[i]; - if ( - a.index !== e.index && - "carpet" === a.type && - (r || (r = a), a.carpet === e.carpet) - ) - return a; - } - return r; - }; - }, - {}, - ], - 790: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - if (0 === t.length) return ""; - var n, - i = [], - a = r ? 3 : 1; - for (n = 0; n < t.length; n += a) - (i.push(t[n] + "," + e[n]), - r && - n < t.length - a && - (i.push("C"), - i.push( - [t[n + 1] + "," + e[n + 1], t[n + 2] + "," + e[n + 2] + " "].join( - " ", - ), - ))); - return i.join(r ? "" : "L"); - }; - }, - {}, - ], - 791: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArrayOrTypedArray; - e.exports = function (t, e, r) { - var i; - for ( - n(t) ? t.length > e.length && (t = t.slice(0, e.length)) : (t = []), - i = 0; - i < e.length; - i++ - ) - t[i] = r(e[i]); - return t; - }; - }, - { "../../lib": 602 }, - ], - 792: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i, a) { - var o = i[0] * t.dpdx(e), - s = i[1] * t.dpdy(r), - l = 1, - c = 1; - if (a) { - var u = Math.sqrt(i[0] * i[0] + i[1] * i[1]), - f = Math.sqrt(a[0] * a[0] + a[1] * a[1]), - h = (i[0] * a[0] + i[1] * a[1]) / u / f; - c = Math.max(0, h); - } - var p = (180 * Math.atan2(s, o)) / Math.PI; - return ( - p < -90 ? ((p += 180), (l = -l)) : p > 90 && ((p -= 180), (l = -l)), - { angle: p, flip: l, p: t.c2p(n, e, r), offsetMultplier: c } - ); - }; - }, - {}, - ], - 793: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("./map_1d_array"), - o = t("./makepath"), - s = t("./orient_text"), - l = t("../../lib/svg_text_utils"), - c = t("../../lib"), - u = t("../../constants/alignment"), - f = t("../../plots/get_data").getUidsFromCalcData; - function h(t, e, r, n) { - var i = r[0], - l = r[0].trace, - u = e.xaxis, - f = e.yaxis, - h = l.aaxis, - g = l.baxis, - m = t._fullLayout._clips, - y = c.ensureSingle(n, "g", "carpet" + l.uid).classed("trace", !0), - x = c.ensureSingle(y, "g", "minorlayer"), - b = c.ensureSingle(y, "g", "majorlayer"), - _ = c.ensureSingle(y, "g", "boundarylayer"), - w = c.ensureSingle(y, "g", "labellayer"); - (y.style("opacity", l.opacity), - p(u, f, b, h, "a", h._gridlines), - p(u, f, b, g, "b", g._gridlines), - p(u, f, x, h, "a", h._minorgridlines), - p(u, f, x, g, "b", g._minorgridlines), - p(u, f, _, h, "a-boundary", h._boundarylines), - p(u, f, _, g, "b-boundary", g._boundarylines), - (function (t, e, r, n, i, a, o, l) { - var u, f, h, p; - ((u = 0.5 * (r.a[0] + r.a[r.a.length - 1])), - (f = r.b[0]), - (h = r.ab2xy(u, f, !0)), - (p = r.dxyda_rough(u, f)), - void 0 === o.angle && - c.extendFlat(o, s(r, i, a, h, r.dxydb_rough(u, f)))); - (v(t, e, r, n, h, p, r.aaxis, i, a, o, "a-title"), - (u = r.a[0]), - (f = 0.5 * (r.b[0] + r.b[r.b.length - 1])), - (h = r.ab2xy(u, f, !0)), - (p = r.dxydb_rough(u, f)), - void 0 === l.angle && - c.extendFlat(l, s(r, i, a, h, r.dxyda_rough(u, f)))); - v(t, e, r, n, h, p, r.baxis, i, a, l, "b-title"); - })( - t, - w, - l, - i, - u, - f, - d(t, u, f, l, i, w, h._labels, "a-label"), - d(t, u, f, l, i, w, g._labels, "b-label"), - ), - (function (t, e, r, n, i) { - var s, - l, - u, - f, - h = r.select("#" + t._clipPathId); - h.size() || (h = r.append("clipPath").classed("carpetclip", !0)); - var p = c.ensureSingle(h, "path", "carpetboundary"), - d = e.clipsegments, - g = []; - for (f = 0; f < d.length; f++) - ((s = d[f]), - (l = a([], s.x, n.c2p)), - (u = a([], s.y, i.c2p)), - g.push(o(l, u, s.bicubic))); - var m = "M" + g.join("L") + "Z"; - (h.attr("id", t._clipPathId), p.attr("d", m)); - })(l, i, m, u, f)); - } - function p(t, e, r, i, s, l) { - var c = "const-" + s + "-lines", - u = r.selectAll("." + c).data(l); - (u - .enter() - .append("path") - .classed(c, !0) - .style("vector-effect", "non-scaling-stroke"), - u.each(function (r) { - var i = r, - s = i.x, - l = i.y, - c = a([], s, t.c2p), - u = a([], l, e.c2p), - f = "M" + o(c, u, i.smoothing); - n.select(this) - .attr("d", f) - .style("stroke-width", i.width) - .style("stroke", i.color) - .style("fill", "none"); - }), - u.exit().remove()); - } - function d(t, e, r, a, o, c, u, f) { - var h = c.selectAll("text." + f).data(u); - h.enter().append("text").classed(f, !0); - var p = 0, - d = {}; - return ( - h.each(function (o, c) { - var u; - if ("auto" === o.axis.tickangle) u = s(a, e, r, o.xy, o.dxy); - else { - var f = ((o.axis.tickangle + 180) * Math.PI) / 180; - u = s(a, e, r, o.xy, [Math.cos(f), Math.sin(f)]); - } - c || (d = { angle: u.angle, flip: u.flip }); - var h = (o.endAnchor ? -1 : 1) * u.flip, - g = n - .select(this) - .attr({ "text-anchor": h > 0 ? "start" : "end", "data-notex": 1 }) - .call(i.font, o.font) - .text(o.text) - .call(l.convertToTspans, t), - m = i.bBox(this); - (g.attr( - "transform", - "translate(" + - u.p[0] + - "," + - u.p[1] + - ") rotate(" + - u.angle + - ")translate(" + - o.axis.labelpadding * h + - "," + - 0.3 * m.height + - ")", - ), - (p = Math.max(p, m.width + o.axis.labelpadding))); - }), - h.exit().remove(), - (d.maxExtent = p), - d - ); - } - e.exports = function (t, e, r, i) { - var a = f(r); - i.selectAll("g.trace").each(function () { - var t = n.select(this).attr("class").split("carpet")[1].split(/\s/)[0]; - a[t] || n.select(this).remove(); - }); - for (var o = 0; o < r.length; o++) h(t, e, r[o], i); - }; - var g = u.LINE_SPACING, - m = (1 - u.MID_SHIFT) / g + 1; - function v(t, e, r, a, o, c, u, f, h, p, d) { - var v = []; - u.title && v.push(u.title); - var y = e.selectAll("text." + d).data(v), - x = p.maxExtent; - (y.enter().append("text").classed(d, !0), - y.each(function () { - var e = s(r, f, h, o, c); - -1 === ["start", "both"].indexOf(u.showticklabels) && (x = 0); - var a = u.titlefont.size; - x += a + u.titleoffset; - var d = (p.angle + (p.flip < 0 ? 180 : 0) - e.angle + 450) % 360, - v = d > 90 && d < 270, - y = n.select(this); - (y.text(u.title || "").call(l.convertToTspans, t), - v && (x = (-l.lineCount(y) + m) * g * a - x), - y - .attr( - "transform", - "translate(" + - e.p[0] + - "," + - e.p[1] + - ") rotate(" + - e.angle + - ") translate(0," + - x + - ")", - ) - .classed("user-select-none", !0) - .attr("text-anchor", "middle") - .call(i.font, u.titlefont)); - }), - y.exit().remove()); - } - }, - { - "../../components/drawing": 499, - "../../constants/alignment": 574, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/get_data": 684, - "./makepath": 790, - "./map_1d_array": 791, - "./orient_text": 792, - d3: 130, - }, - ], - 794: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("../../lib/search").findBin, - a = t("./compute_control_points"), - o = t("./create_spline_evaluator"), - s = t("./create_i_derivative_evaluator"), - l = t("./create_j_derivative_evaluator"); - e.exports = function (t) { - var e = t._a, - r = t._b, - c = e.length, - u = r.length, - f = t.aaxis, - h = t.baxis, - p = e[0], - d = e[c - 1], - g = r[0], - m = r[u - 1], - v = e[e.length - 1] - e[0], - y = r[r.length - 1] - r[0], - x = v * n.RELATIVE_CULL_TOLERANCE, - b = y * n.RELATIVE_CULL_TOLERANCE; - ((p -= x), - (d += x), - (g -= b), - (m += b), - (t.isVisible = function (t, e) { - return t > p && t < d && e > g && e < m; - }), - (t.isOccluded = function (t, e) { - return t < p || t > d || e < g || e > m; - }), - (t.setScale = function () { - var e = t._x, - r = t._y, - n = a(t._xctrl, t._yctrl, e, r, f.smoothing, h.smoothing); - ((t._xctrl = n[0]), - (t._yctrl = n[1]), - (t.evalxy = o([t._xctrl, t._yctrl], c, u, f.smoothing, h.smoothing)), - (t.dxydi = s([t._xctrl, t._yctrl], f.smoothing, h.smoothing)), - (t.dxydj = l([t._xctrl, t._yctrl], f.smoothing, h.smoothing))); - }), - (t.i2a = function (t) { - var r = Math.max(0, Math.floor(t[0]), c - 2), - n = t[0] - r; - return (1 - n) * e[r] + n * e[r + 1]; - }), - (t.j2b = function (t) { - var e = Math.max(0, Math.floor(t[1]), c - 2), - n = t[1] - e; - return (1 - n) * r[e] + n * r[e + 1]; - }), - (t.ij2ab = function (e) { - return [t.i2a(e[0]), t.j2b(e[1])]; - }), - (t.a2i = function (t) { - var r = Math.max(0, Math.min(i(t, e), c - 2)), - n = e[r], - a = e[r + 1]; - return Math.max(0, Math.min(c - 1, r + (t - n) / (a - n))); - }), - (t.b2j = function (t) { - var e = Math.max(0, Math.min(i(t, r), u - 2)), - n = r[e], - a = r[e + 1]; - return Math.max(0, Math.min(u - 1, e + (t - n) / (a - n))); - }), - (t.ab2ij = function (e) { - return [t.a2i(e[0]), t.b2j(e[1])]; - }), - (t.i2c = function (e, r) { - return t.evalxy([], e, r); - }), - (t.ab2xy = function (n, i, a) { - if (!a && (n < e[0] || (n > e[c - 1]) | (i < r[0]) || i > r[u - 1])) - return [!1, !1]; - var o = t.a2i(n), - s = t.b2j(i), - l = t.evalxy([], o, s); - if (a) { - var f, - h, - p, - d, - g = 0, - m = 0, - v = []; - (n < e[0] - ? ((f = 0), (h = 0), (g = (n - e[0]) / (e[1] - e[0]))) - : n > e[c - 1] - ? ((f = c - 2), - (h = 1), - (g = (n - e[c - 1]) / (e[c - 1] - e[c - 2]))) - : (h = o - (f = Math.max(0, Math.min(c - 2, Math.floor(o))))), - i < r[0] - ? ((p = 0), (d = 0), (m = (i - r[0]) / (r[1] - r[0]))) - : i > r[u - 1] - ? ((p = u - 2), - (d = 1), - (m = (i - r[u - 1]) / (r[u - 1] - r[u - 2]))) - : (d = s - (p = Math.max(0, Math.min(u - 2, Math.floor(s))))), - g && - (t.dxydi(v, f, p, h, d), (l[0] += v[0] * g), (l[1] += v[1] * g)), - m && - (t.dxydj(v, f, p, h, d), (l[0] += v[0] * m), (l[1] += v[1] * m))); - } - return l; - }), - (t.c2p = function (t, e, r) { - return [e.c2p(t[0]), r.c2p(t[1])]; - }), - (t.p2x = function (t, e, r) { - return [e.p2c(t[0]), r.p2c(t[1])]; - }), - (t.dadi = function (t) { - var r = Math.max(0, Math.min(e.length - 2, t)); - return e[r + 1] - e[r]; - }), - (t.dbdj = function (t) { - var e = Math.max(0, Math.min(r.length - 2, t)); - return r[e + 1] - r[e]; - }), - (t.dxyda = function (e, r, n, i) { - var a = t.dxydi(null, e, r, n, i), - o = t.dadi(e, n); - return [a[0] / o, a[1] / o]; - }), - (t.dxydb = function (e, r, n, i) { - var a = t.dxydj(null, e, r, n, i), - o = t.dbdj(r, i); - return [a[0] / o, a[1] / o]; - }), - (t.dxyda_rough = function (e, r, n) { - var i = v * (n || 0.1), - a = t.ab2xy(e + i, r, !0), - o = t.ab2xy(e - i, r, !0); - return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; - }), - (t.dxydb_rough = function (e, r, n) { - var i = y * (n || 0.1), - a = t.ab2xy(e, r + i, !0), - o = t.ab2xy(e, r - i, !0); - return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; - }), - (t.dpdx = function (t) { - return t._m; - }), - (t.dpdy = function (t) { - return t._m; - })); - }; - }, - { - "../../lib/search": 621, - "./compute_control_points": 782, - "./constants": 783, - "./create_i_derivative_evaluator": 784, - "./create_j_derivative_evaluator": 785, - "./create_spline_evaluator": 786, - }, - ], - 795: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e, r) { - var i, - a, - o, - s = [], - l = [], - c = t[0].length, - u = t.length; - function f(e, r) { - var n, - i = 0, - a = 0; - return ( - e > 0 && void 0 !== (n = t[r][e - 1]) && (a++, (i += n)), - e < c - 1 && void 0 !== (n = t[r][e + 1]) && (a++, (i += n)), - r > 0 && void 0 !== (n = t[r - 1][e]) && (a++, (i += n)), - r < u - 1 && void 0 !== (n = t[r + 1][e]) && (a++, (i += n)), - i / Math.max(1, a) - ); - } - var h, - p, - d, - g, - m, - v, - y, - x, - b, - _, - w, - k = 0; - for (i = 0; i < c; i++) - for (a = 0; a < u; a++) - (void 0 === t[a][i] && (s.push(i), l.push(a), (t[a][i] = f(i, a))), - (k = Math.max(k, Math.abs(t[a][i])))); - if (!s.length) return t; - var M = 0, - A = 0, - T = s.length; - do { - for (M = 0, o = 0; o < T; o++) { - ((i = s[o]), (a = l[o])); - var S, - C, - E, - L, - z, - P, - D = 0, - O = 0; - (0 === i - ? ((E = e[(z = Math.min(c - 1, 2))]), - (L = e[1]), - (S = t[a][z]), - (O += (C = t[a][1]) + ((C - S) * (e[0] - L)) / (L - E)), - D++) - : i === c - 1 && - ((E = e[(z = Math.max(0, c - 3))]), - (L = e[c - 2]), - (S = t[a][z]), - (O += (C = t[a][c - 2]) + ((C - S) * (e[c - 1] - L)) / (L - E)), - D++), - (0 === i || i === c - 1) && - a > 0 && - a < u - 1 && - ((h = r[a + 1] - r[a]), - (O += - ((p = r[a] - r[a - 1]) * t[a + 1][i] + h * t[a - 1][i]) / - (p + h)), - D++), - 0 === a - ? ((E = r[(P = Math.min(u - 1, 2))]), - (L = r[1]), - (S = t[P][i]), - (O += (C = t[1][i]) + ((C - S) * (r[0] - L)) / (L - E)), - D++) - : a === u - 1 && - ((E = r[(P = Math.max(0, u - 3))]), - (L = r[u - 2]), - (S = t[P][i]), - (O += (C = t[u - 2][i]) + ((C - S) * (r[u - 1] - L)) / (L - E)), - D++), - (0 === a || a === u - 1) && - i > 0 && - i < c - 1 && - ((h = e[i + 1] - e[i]), - (O += - ((p = e[i] - e[i - 1]) * t[a][i + 1] + h * t[a][i - 1]) / - (p + h)), - D++), - D - ? (O /= D) - : ((d = e[i + 1] - e[i]), - (g = e[i] - e[i - 1]), - (x = (m = r[a + 1] - r[a]) * (v = r[a] - r[a - 1]) * (m + v)), - (O = - ((y = d * g * (d + g)) * (v * t[a + 1][i] + m * t[a - 1][i]) + - x * (g * t[a][i + 1] + d * t[a][i - 1])) / - (x * (g + d) + y * (v + m)))), - (M += (_ = (b = O - t[a][i]) / k) * _), - (w = D ? 0 : 0.85), - (t[a][i] += b * (1 + w))); - } - M = Math.sqrt(M); - } while (A++ < 100 && M > 1e-5); - return (n.log("Smoother converged to", M, "after", A, "iterations"), t); - }; - }, - { "../../lib": 602 }, - ], - 796: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArray1D; - e.exports = function (t, e, r) { - var i = r("x"), - a = i && i.length, - o = r("y"), - s = o && o.length; - if (!a && !s) return !1; - if (((e._cheater = !i), (a && !n(i)) || (s && !n(o)))) e._length = null; - else { - var l = a ? i.length : 1 / 0; - (s && (l = Math.min(l, o.length)), - e.a && e.a.length && (l = Math.min(l, e.a.length)), - e.b && e.b.length && (l = Math.min(l, e.b.length)), - (e._length = l)); - } - return !0; - }; - }, - { "../../lib": 602 }, - ], - 797: [ - function (t, e, r) { - "use strict"; - var n = t("../scattergeo/attributes"), - i = t("../../components/colorscale/attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../../plots/attributes"), - s = t("../../lib/extend"), - l = s.extendFlat, - c = s.extendDeepAll, - u = n.marker.line; - e.exports = l( - { - locations: { valType: "data_array", editType: "calc" }, - locationmode: n.locationmode, - z: { valType: "data_array", editType: "calc" }, - text: l({}, n.text, {}), - marker: { - line: { - color: u.color, - width: l({}, u.width, { dflt: 1 }), - editType: "calc", - }, - opacity: { - valType: "number", - arrayOk: !0, - min: 0, - max: 1, - dflt: 1, - editType: "style", - }, - editType: "calc", - }, - selected: { - marker: { opacity: n.selected.marker.opacity, editType: "plot" }, - editType: "plot", - }, - unselected: { - marker: { opacity: n.unselected.marker.opacity, editType: "plot" }, - editType: "plot", - }, - hoverinfo: l({}, o.hoverinfo, { - editType: "calc", - flags: ["location", "z", "text", "name"], - }), - }, - c({}, i, { zmax: { editType: "calc" }, zmin: { editType: "calc" } }), - { colorbar: a }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../scattergeo/attributes": 964, - }, - ], - 798: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../constants/numerical").BADNUM, - a = t("../../components/colorscale/calc"), - o = t("../scatter/arrays_to_calcdata"), - s = t("../scatter/calc_selection"); - e.exports = function (t, e) { - for (var r = e._length, l = new Array(r), c = 0; c < r; c++) { - var u = (l[c] = {}), - f = e.locations[c], - h = e.z[c]; - ((u.loc = "string" == typeof f ? f : null), (u.z = n(h) ? h : i)); - } - return (o(l, e), a(e, e.z, "", "z"), s(l, e), l); - }; - }, - { - "../../components/colorscale/calc": 481, - "../../constants/numerical": 579, - "../scatter/arrays_to_calcdata": 925, - "../scatter/calc_selection": 928, - "fast-isnumeric": 196, - }, - ], - 799: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/colorscale/defaults"), - a = t("./attributes"); - e.exports = function (t, e, r, o) { - function s(r, i) { - return n.coerce(t, e, a, r, i); - } - var l = s("locations"), - c = s("z"); - l && l.length && n.isArrayOrTypedArray(c) && c.length - ? ((e._length = Math.min(l.length, c.length)), - s("locationmode"), - s("text"), - s("marker.line.color"), - s("marker.line.width"), - s("marker.opacity"), - i(t, e, o, s, { prefix: "", cLetter: "z" }), - n.coerceSelectionMarkerOpacity(e, s)) - : (e.visible = !1); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../lib": 602, - "./attributes": 797, - }, - ], - 800: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return ((t.location = e.location), (t.z = e.z), t); - }; - }, - {}, - ], - 801: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("./attributes"), - a = t("../scatter/fill_hover_text"); - e.exports = function (t, e, r) { - var o, - s, - l, - c, - u = t.cd, - f = u[0].trace, - h = t.subplot; - for (s = 0; s < u.length; s++) - if (((c = !1), (o = u[s])._polygons)) { - for (l = 0; l < o._polygons.length; l++) - (o._polygons[l].contains([e, r]) && (c = !c), - o._polygons[l].contains([e + 360, r]) && (c = !c)); - if (c) break; - } - if (c && o) - return ( - (t.x0 = t.x1 = t.xa.c2p(o.ct)), - (t.y0 = t.y1 = t.ya.c2p(o.ct)), - (t.index = o.index), - (t.location = o.loc), - (t.z = o.z), - (function (t, e, r, o) { - var s = r.hi || e.hoverinfo, - l = "all" === s ? i.hoverinfo.flags : s.split("+"), - c = -1 !== l.indexOf("name"), - u = -1 !== l.indexOf("location"), - f = -1 !== l.indexOf("z"), - h = -1 !== l.indexOf("text"), - p = []; - !c && u - ? (t.nameOverride = r.loc) - : (c && (t.nameOverride = e.name), u && p.push(r.loc)); - f && p.push(((d = r.z), n.tickText(o, o.c2l(d), "hover").text)); - var d; - h && a(r, e, p); - t.extraText = p.join("
          "); - })(t, f, o, h.mockAxis), - [t] - ); - }; - }, - { - "../../plots/cartesian/axes": 648, - "../scatter/fill_hover_text": 934, - "./attributes": 797, - }, - ], - 802: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../heatmap/colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("./style").style), - (n.styleOnSelect = t("./style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.eventData = t("./event_data")), - (n.selectPoints = t("./select")), - (n.moduleType = "trace"), - (n.name = "choropleth"), - (n.basePlotModule = t("../../plots/geo")), - (n.categories = ["geo", "noOpacity"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/geo": 678, - "../heatmap/colorbar": 838, - "./attributes": 797, - "./calc": 798, - "./defaults": 799, - "./event_data": 800, - "./hover": 801, - "./plot": 803, - "./select": 804, - "./style": 805, - }, - ], - 803: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../lib/polygon"), - o = t("../../lib/topojson_utils").getTopojsonFeatures, - s = t("../../lib/geo_location_utils").locationToFeature, - l = t("./style").style; - function c(t, e) { - for (var r = t[0].trace, n = t.length, i = o(r, e), a = 0; a < n; a++) { - var l = t[a], - c = s(r.locationmode, l.loc, i); - c - ? ((l.geojson = c), - (l.ct = c.properties.ct), - (l.index = a), - (l._polygons = u(c))) - : (l.geojson = null); - } - } - function u(t) { - var e, - r, - n, - i, - o = t.geometry, - s = o.coordinates, - l = t.id, - c = []; - function u(t) { - for (var e = 0; e < t.length - 1; e++) - if (t[e][0] > 0 && t[e + 1][0] < 0) return e; - return null; - } - switch ( - ((e = - "RUS" === l || "FJI" === l - ? function (t) { - var e; - if (null === u(t)) e = t; - else - for (e = new Array(t.length), i = 0; i < t.length; i++) - e[i] = [t[i][0] < 0 ? t[i][0] + 360 : t[i][0], t[i][1]]; - c.push(a.tester(e)); - } - : "ATA" === l - ? function (t) { - var e = u(t); - if (null === e) return c.push(a.tester(t)); - var r = new Array(t.length + 1), - n = 0; - for (i = 0; i < t.length; i++) - i > e - ? (r[n++] = [t[i][0] + 360, t[i][1]]) - : i === e - ? ((r[n++] = t[i]), (r[n++] = [t[i][0], -90])) - : (r[n++] = t[i]); - var o = a.tester(r); - (o.pts.pop(), c.push(o)); - } - : function (t) { - c.push(a.tester(t)); - }), - o.type) - ) { - case "MultiPolygon": - for (r = 0; r < s.length; r++) - for (n = 0; n < s[r].length; n++) e(s[r][n]); - break; - case "Polygon": - for (r = 0; r < s.length; r++) e(s[r]); - } - return c; - } - e.exports = function (t, e, r) { - for (var a = 0; a < r.length; a++) c(r[a], e.topojson); - var o = e.layers.backplot - .select(".choroplethlayer") - .selectAll("g.trace.choropleth") - .data(r, function (t) { - return t[0].trace.uid; - }); - (o.enter().append("g").attr("class", "trace choropleth"), - o.exit().remove(), - o.each(function (e) { - var r = (e[0].node3 = n.select(this)) - .selectAll("path.choroplethlocation") - .data(i.identity); - (r.enter().append("path").classed("choroplethlocation", !0), - r.exit().remove(), - l(t, e)); - })); - }; - }, - { - "../../lib": 602, - "../../lib/geo_location_utils": 594, - "../../lib/polygon": 614, - "../../lib/topojson_utils": 629, - "./style": 805, - d3: 130, - }, - ], - 804: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, - n, - i, - a, - o, - s = t.cd, - l = t.xaxis, - c = t.yaxis, - u = []; - if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; - else - for (r = 0; r < s.length; r++) - (i = (n = s[r]).ct) && - ((a = l.c2p(i)), - (o = c.c2p(i)), - e.contains([a, o]) - ? (u.push({ pointNumber: r, lon: i[0], lat: i[1] }), - (n.selected = 1)) - : (n.selected = 0)); - return u; - }; - }, - {}, - ], - 805: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/color"), - a = t("../../components/drawing"), - o = t("../../components/colorscale"); - function s(t, e) { - var r = e[0].trace, - s = e[0].node3.selectAll(".choroplethlocation"), - l = r.marker || {}, - c = l.line || {}, - u = o.makeColorScaleFunc(o.extractScale(r.colorscale, r.zmin, r.zmax)); - (s.each(function (t) { - n.select(this) - .attr("fill", u(t.z)) - .call(i.stroke, t.mlc || c.color) - .call(a.dashLine, "", t.mlw || c.width || 0) - .style("opacity", l.opacity); - }), - a.selectedPointStyle(s, r, t)); - } - e.exports = { - style: function (t, e) { - e && s(t, e); - }, - styleOnSelect: function (t, e) { - var r = e[0].node3, - n = e[0].trace; - n.selectedpoints - ? a.selectedPointStyle(r.selectAll(".choroplethlocation"), n, t) - : s(t, e); - }, - }; - }, - { - "../../components/color": 474, - "../../components/colorscale": 489, - "../../components/drawing": 499, - d3: 130, - }, - ], - 806: [ - function (t, e, r) { - "use strict"; - var n = t("../heatmap/attributes"), - i = t("../scatter/attributes"), - a = t("../../components/colorscale/attributes"), - o = t("../../components/colorbar/attributes"), - s = t("../../components/drawing/attributes").dash, - l = t("../../plots/font_attributes"), - c = t("../../lib/extend").extendFlat, - u = t("../../constants/filter_ops"), - f = u.COMPARISON_OPS2, - h = u.INTERVAL_OPS, - p = i.line; - e.exports = c( - { - z: n.z, - x: n.x, - x0: n.x0, - dx: n.dx, - y: n.y, - y0: n.y0, - dy: n.dy, - text: n.text, - transpose: n.transpose, - xtype: n.xtype, - ytype: n.ytype, - zhoverformat: n.zhoverformat, - connectgaps: n.connectgaps, - fillcolor: { valType: "color", editType: "calc" }, - autocontour: { - valType: "boolean", - dflt: !0, - editType: "calc", - impliedEdits: { - "contours.start": void 0, - "contours.end": void 0, - "contours.size": void 0, - }, - }, - ncontours: { valType: "integer", dflt: 15, min: 1, editType: "calc" }, - contours: { - type: { - valType: "enumerated", - values: ["levels", "constraint"], - dflt: "levels", - editType: "calc", - }, - start: { - valType: "number", - dflt: null, - editType: "plot", - impliedEdits: { "^autocontour": !1 }, - }, - end: { - valType: "number", - dflt: null, - editType: "plot", - impliedEdits: { "^autocontour": !1 }, - }, - size: { - valType: "number", - dflt: null, - min: 0, - editType: "plot", - impliedEdits: { "^autocontour": !1 }, - }, - coloring: { - valType: "enumerated", - values: ["fill", "heatmap", "lines", "none"], - dflt: "fill", - editType: "calc", - }, - showlines: { valType: "boolean", dflt: !0, editType: "plot" }, - showlabels: { valType: "boolean", dflt: !1, editType: "plot" }, - labelfont: l({ editType: "plot", colorEditType: "style" }), - labelformat: { valType: "string", dflt: "", editType: "plot" }, - operation: { - valType: "enumerated", - values: [].concat(f).concat(h), - dflt: "=", - editType: "calc", - }, - value: { valType: "any", dflt: 0, editType: "calc" }, - editType: "calc", - impliedEdits: { autocontour: !1 }, - }, - line: { - color: c({}, p.color, { editType: "style+colorbars" }), - width: c({}, p.width, { editType: "style+colorbars" }), - dash: s, - smoothing: c({}, p.smoothing, {}), - editType: "plot", - }, - }, - a, - { - autocolorscale: c({}, a.autocolorscale, { dflt: !1 }), - zmin: c({}, a.zmin, { editType: "calc" }), - zmax: c({}, a.zmax, { editType: "calc" }), - }, - { colorbar: o }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../components/drawing/attributes": 498, - "../../constants/filter_ops": 575, - "../../lib/extend": 591, - "../../plots/font_attributes": 674, - "../heatmap/attributes": 835, - "../scatter/attributes": 926, - }, - ], - 807: [ - function (t, e, r) { - "use strict"; - var n = t("../heatmap/calc"), - i = t("./set_contours"); - e.exports = function (t, e) { - var r = n(t, e); - return (i(e), r); - }; - }, - { "../heatmap/calc": 836, "./set_contours": 825 }, - ], - 808: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - var i, - a, - o, - s = t[0], - l = s.x.length, - c = s.y.length, - u = s.z, - f = n.contours, - h = -1 / 0, - p = 1 / 0; - for (i = 0; i < c; i++) - ((p = Math.min(p, u[i][0])), - (p = Math.min(p, u[i][l - 1])), - (h = Math.max(h, u[i][0])), - (h = Math.max(h, u[i][l - 1]))); - for (i = 1; i < l - 1; i++) - ((p = Math.min(p, u[0][i])), - (p = Math.min(p, u[c - 1][i])), - (h = Math.max(h, u[0][i])), - (h = Math.max(h, u[c - 1][i]))); - switch (((s.prefixBoundary = !1), e)) { - case ">": - f.value > h && (s.prefixBoundary = !0); - break; - case "<": - f.value < p && (s.prefixBoundary = !0); - break; - case "[]": - ((a = Math.min.apply(null, f.value)), - ((o = Math.max.apply(null, f.value)) < p || a > h) && - (s.prefixBoundary = !0)); - break; - case "][": - ((a = Math.min.apply(null, f.value)), - (o = Math.max.apply(null, f.value)), - a < p && o > h && (s.prefixBoundary = !0)); - } - }; - }, - {}, - ], - 809: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/plots"), - i = t("../../components/colorbar/draw"), - a = t("./make_color_map"), - o = t("./end_plus"); - e.exports = function (t, e) { - var r = e[0].trace, - s = "cb" + r.uid; - if ((t._fullLayout._infolayer.selectAll("." + s).remove(), r.showscale)) { - var l = i(t, s); - e[0].t.cb = l; - var c = r.contours, - u = r.line, - f = c.size || 1, - h = c.coloring, - p = a(r, { isColorbar: !0 }); - ("heatmap" === h && - l.filllevels({ - start: r.zmin, - end: r.zmax, - size: (r.zmax - r.zmin) / 254, - }), - l - .fillcolor("fill" === h || "heatmap" === h ? p : "") - .line({ - color: "lines" === h ? p : u.color, - width: !1 !== c.showlines ? u.width : 0, - dash: u.dash, - }) - .levels({ start: c.start, end: o(c), size: f }) - .options(r.colorbar)()); - } else n.autoMargin(t, s); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../plots/plots": 710, - "./end_plus": 817, - "./make_color_map": 822, - }, - ], - 810: [ - function (t, e, r) { - "use strict"; - e.exports = { - BOTTOMSTART: [1, 9, 13, 104, 713], - TOPSTART: [4, 6, 7, 104, 713], - LEFTSTART: [8, 12, 14, 208, 1114], - RIGHTSTART: [2, 3, 11, 208, 1114], - NEWDELTA: [ - null, - [-1, 0], - [0, -1], - [-1, 0], - [1, 0], - null, - [0, -1], - [-1, 0], - [0, 1], - [0, 1], - null, - [0, 1], - [1, 0], - [1, 0], - [0, -1], - ], - CHOOSESADDLE: { 104: [4, 1], 208: [2, 8], 713: [7, 13], 1114: [11, 14] }, - SADDLEREMAINDER: { 1: 4, 2: 8, 4: 1, 7: 13, 8: 2, 11: 14, 13: 7, 14: 11 }, - LABELDISTANCE: 2, - LABELINCREASE: 10, - LABELMIN: 3, - LABELMAX: 10, - LABELOPTIMIZER: { - EDGECOST: 1, - ANGLECOST: 1, - NEIGHBORCOST: 5, - SAMELEVELFACTOR: 10, - SAMELEVELDISTANCE: 5, - MAXCOST: 100, - INITIALSEARCHPOINTS: 10, - ITERATIONS: 5, - }, - }; - }, - {}, - ], - 811: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("./label_defaults"), - a = t("../../components/color"), - o = a.addOpacity, - s = a.opacity, - l = t("../../constants/filter_ops"), - c = l.CONSTRAINT_REDUCTION, - u = l.COMPARISON_OPS2; - e.exports = function (t, e, r, a, l, f) { - var h, - p, - d, - g = e.contours, - m = r("contours.operation"); - ((g._operation = c[m]), - (function (t, e) { - var r; - -1 === u.indexOf(e.operation) - ? (t("contours.value", [0, 1]), - Array.isArray(e.value) - ? e.value.length > 2 - ? (e.value = e.value.slice(2)) - : 0 === e.length - ? (e.value = [0, 1]) - : e.length < 2 - ? ((r = parseFloat(e.value[0])), (e.value = [r, r + 1])) - : (e.value = [parseFloat(e.value[0]), parseFloat(e.value[1])]) - : n(e.value) && ((r = parseFloat(e.value)), (e.value = [r, r + 1]))) - : (t("contours.value", 0), - n(e.value) || - (Array.isArray(e.value) - ? (e.value = parseFloat(e.value[0])) - : (e.value = 0))); - })(r, g), - "=" === m - ? (h = g.showlines = !0) - : ((h = r("contours.showlines")), - (d = r("fillcolor", o((t.line || {}).color || l, 0.5)))), - h) && - ((p = r("line.color", d && s(d) ? o(e.fillcolor, 1) : l)), - r("line.width", 2), - r("line.dash")); - (r("line.smoothing"), i(r, a, p, f)); - }; - }, - { - "../../components/color": 474, - "../../constants/filter_ops": 575, - "./label_defaults": 821, - "fast-isnumeric": 196, - }, - ], - 812: [ - function (t, e, r) { - "use strict"; - var n = t("../../constants/filter_ops"), - i = t("fast-isnumeric"); - function a(t, e) { - var r, - a = Array.isArray(e); - function o(t) { - return i(t) ? +t : null; - } - return ( - -1 !== n.COMPARISON_OPS2.indexOf(t) - ? (r = o(a ? e[0] : e)) - : -1 !== n.INTERVAL_OPS.indexOf(t) - ? (r = a ? [o(e[0]), o(e[1])] : [o(e), o(e)]) - : -1 !== n.SET_OPS.indexOf(t) && (r = a ? e.map(o) : [o(e)]), - r - ); - } - function o(t) { - return function (e) { - e = a(t, e); - var r = Math.min(e[0], e[1]), - n = Math.max(e[0], e[1]); - return { start: r, end: n, size: n - r }; - }; - } - function s(t) { - return function (e) { - return { start: (e = a(t, e)), end: 1 / 0, size: 1 / 0 }; - }; - } - e.exports = { - "[]": o("[]"), - "][": o("]["), - ">": s(">"), - "<": s("<"), - "=": s("="), - }; - }, - { "../../constants/filter_ops": 575, "fast-isnumeric": 196 }, - ], - 813: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - var i = n("contours.start"), - a = n("contours.end"), - o = !1 === i || !1 === a, - s = r("contours.size"); - (!(o ? (e.autocontour = !0) : r("autocontour", !1)) && s) || r("ncontours"); - }; - }, - {}, - ], - 814: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - function i(t) { - return n.extendFlat({}, t, { - edgepaths: n.extendDeep([], t.edgepaths), - paths: n.extendDeep([], t.paths), - }); - } - e.exports = function (t, e) { - var r, - a, - o, - s = function (t) { - return t.reverse(); - }, - l = function (t) { - return t; - }; - switch (e) { - case "=": - case "<": - return t; - case ">": - for ( - 1 !== t.length && - n.warn( - "Contour data invalid for the specified inequality operation.", - ), - a = t[0], - r = 0; - r < a.edgepaths.length; - r++ - ) - a.edgepaths[r] = s(a.edgepaths[r]); - for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); - return t; - case "][": - var c = s; - ((s = l), (l = c)); - case "[]": - for ( - 2 !== t.length && - n.warn( - "Contour data invalid for the specified inequality range operation.", - ), - a = i(t[0]), - o = i(t[1]), - r = 0; - r < a.edgepaths.length; - r++ - ) - a.edgepaths[r] = s(a.edgepaths[r]); - for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); - for (; o.edgepaths.length; ) a.edgepaths.push(l(o.edgepaths.shift())); - for (; o.paths.length; ) a.paths.push(l(o.paths.shift())); - return [a]; - } - }; - }, - { "../../lib": 602 }, - ], - 815: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../heatmap/xyz_defaults"), - a = t("./constraint_defaults"), - o = t("./contours_defaults"), - s = t("./style_defaults"), - l = t("./attributes"); - e.exports = function (t, e, r, c) { - function u(r, i) { - return n.coerce(t, e, l, r, i); - } - if (i(t, e, u, c)) { - u("text"); - var f = "constraint" === u("contours.type"); - (u("connectgaps", n.isArray1D(e.z)), - f || delete e.showlegend, - f - ? a(t, e, u, c, r) - : (o(t, e, u, function (r) { - return n.coerce2(t, e, l, r); - }), - s(t, e, u, c))); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../heatmap/xyz_defaults": 850, - "./attributes": 806, - "./constraint_defaults": 811, - "./contours_defaults": 813, - "./style_defaults": 827, - }, - ], - 816: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./constraint_mapping"), - a = t("./end_plus"); - e.exports = function (t, e, r) { - for ( - var o = "constraint" === t.type ? i[t._operation](t.value) : t, - s = o.size, - l = [], - c = a(o), - u = r.trace._carpetTrace, - f = u - ? { xaxis: u.aaxis, yaxis: u.baxis, x: r.a, y: r.b } - : { xaxis: e.xaxis, yaxis: e.yaxis, x: r.x, y: r.y }, - h = o.start; - h < c; - h += s - ) - if ( - (l.push( - n.extendFlat( - { - level: h, - crossings: {}, - starts: [], - edgepaths: [], - paths: [], - z: r.z, - smoothing: r.trace.line.smoothing, - }, - f, - ), - ), - l.length > 1e3) - ) { - n.warn("Too many contours, clipping at 1000", t); - break; - } - return l; - }; - }, - { "../../lib": 602, "./constraint_mapping": 812, "./end_plus": 817 }, - ], - 817: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - return t.end + t.size / 1e6; - }; - }, - {}, - ], - 818: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./constants"); - function a(t, e, r, n) { - return Math.abs(t[0] - e[0]) < r && Math.abs(t[1] - e[1]) < n; - } - function o(t, e, r, o, l) { - var c, - u = e.join(","), - f = u, - h = t.crossings[f], - p = (function (t, e, r) { - var n = 0, - a = 0; - t > 20 && e - ? 208 === t || 1114 === t - ? (n = 0 === r[0] ? 1 : -1) - : (a = 0 === r[1] ? 1 : -1) - : -1 !== i.BOTTOMSTART.indexOf(t) - ? (a = 1) - : -1 !== i.LEFTSTART.indexOf(t) - ? (n = 1) - : -1 !== i.TOPSTART.indexOf(t) - ? (a = -1) - : (n = -1); - return [n, a]; - })(h, r, e), - d = [s(t, e, [-p[0], -p[1]])], - g = p.join(","), - m = t.z.length, - v = t.z[0].length; - for (c = 0; c < 1e4; c++) { - if ( - (h > 20 - ? ((h = i.CHOOSESADDLE[h][(p[0] || p[1]) < 0 ? 0 : 1]), - (t.crossings[f] = i.SADDLEREMAINDER[h])) - : delete t.crossings[f], - !(p = i.NEWDELTA[h])) - ) { - n.log("Found bad marching index:", h, e, t.level); - break; - } - (d.push(s(t, e, p)), - (e[0] += p[0]), - (e[1] += p[1]), - a(d[d.length - 1], d[d.length - 2], o, l) && d.pop(), - (f = e.join(","))); - var y = - (p[0] && (e[0] < 0 || e[0] > v - 2)) || - (p[1] && (e[1] < 0 || e[1] > m - 2)); - if ((f === u && p.join(",") === g) || (r && y)) break; - h = t.crossings[f]; - } - 1e4 === c && n.log("Infinite loop in contour?"); - var x, - b, - _, - w, - k, - M, - A, - T, - S, - C, - E, - L, - z, - P, - D, - O = a(d[0], d[d.length - 1], o, l), - I = 0, - R = 0.2 * t.smoothing, - B = [], - F = 0; - for (c = 1; c < d.length; c++) - ((L = d[c]), - (z = d[c - 1]), - void 0, - void 0, - (P = L[2] - z[2]), - (D = L[3] - z[3]), - (I += A = Math.sqrt(P * P + D * D)), - B.push(A)); - var N = (I / B.length) * R; - function j(t) { - return d[t % d.length]; - } - for (c = d.length - 2; c >= F; c--) - if ((x = B[c]) < N) { - for (_ = 0, b = c - 1; b >= F && x + B[b] < N; b--) x += B[b]; - if (O && c === d.length - 2) - for (_ = 0; _ < b && x + B[_] < N; _++) x += B[_]; - ((k = c - b + _ + 1), - (M = Math.floor((c + b + _ + 2) / 2)), - (w = - O || c !== d.length - 2 - ? O || -1 !== b - ? k % 2 - ? j(M) - : [(j(M)[0] + j(M + 1)[0]) / 2, (j(M)[1] + j(M + 1)[1]) / 2] - : d[0] - : d[d.length - 1]), - d.splice(b + 1, c - b + 1, w), - (c = b + 1), - _ && (F = _), - O && - (c === d.length - 2 - ? (d[_] = d[d.length - 1]) - : 0 === c && (d[d.length - 1] = d[0]))); - } - for (d.splice(0, F), c = 0; c < d.length; c++) d[c].length = 2; - if (!(d.length < 2)) - if (O) (d.pop(), t.paths.push(d)); - else { - r || n.log("Unclosed interior contour?", t.level, u, d.join("L")); - var V = !1; - for (T = 0; T < t.edgepaths.length; T++) - if (((C = t.edgepaths[T]), !V && a(C[0], d[d.length - 1], o, l))) { - (d.pop(), (V = !0)); - var U = !1; - for (S = 0; S < t.edgepaths.length; S++) - if (a((E = t.edgepaths[S])[E.length - 1], d[0], o, l)) { - ((U = !0), - d.shift(), - t.edgepaths.splice(T, 1), - S === T - ? t.paths.push(d.concat(E)) - : (S > T && S--, (t.edgepaths[S] = E.concat(d, C)))); - break; - } - U || (t.edgepaths[T] = d.concat(C)); - } - for (T = 0; T < t.edgepaths.length && !V; T++) - a((C = t.edgepaths[T])[C.length - 1], d[0], o, l) && - (d.shift(), (t.edgepaths[T] = C.concat(d)), (V = !0)); - V || t.edgepaths.push(d); - } - } - function s(t, e, r) { - var n = e[0] + Math.max(r[0], 0), - i = e[1] + Math.max(r[1], 0), - a = t.z[i][n], - o = t.xaxis, - s = t.yaxis; - if (r[1]) { - var l = (t.level - a) / (t.z[i][n + 1] - a); - return [ - o.c2p((1 - l) * t.x[n] + l * t.x[n + 1], !0), - s.c2p(t.y[i], !0), - n + l, - i, - ]; - } - var c = (t.level - a) / (t.z[i + 1][n] - a); - return [ - o.c2p(t.x[n], !0), - s.c2p((1 - c) * t.y[i] + c * t.y[i + 1], !0), - n, - i + c, - ]; - } - e.exports = function (t, e, r) { - var i, a, s, l; - for (e = e || 0.01, r = r || 0.01, a = 0; a < t.length; a++) { - for (s = t[a], l = 0; l < s.starts.length; l++) - o(s, s.starts[l], "edge", e, r); - for (i = 0; Object.keys(s.crossings).length && i < 1e4; ) - (i++, - o( - s, - Object.keys(s.crossings)[0].split(",").map(Number), - void 0, - e, - r, - )); - 1e4 === i && n.log("Infinite loop in contour?"); - } - }; - }, - { "../../lib": 602, "./constants": 810 }, - ], - 819: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("../heatmap/hover"); - e.exports = function (t, e, r, a, o) { - var s = i(t, e, r, a, o, !0); - return ( - s && - s.forEach(function (t) { - var e = t.trace; - "constraint" === e.contours.type && - (e.fillcolor && n.opacity(e.fillcolor) - ? (t.color = n.addOpacity(e.fillcolor, 1)) - : e.contours.showlines && - n.opacity(e.line.color) && - (t.color = n.addOpacity(e.line.color, 1))); - }), - s - ); - }; - }, - { "../../components/color": 474, "../heatmap/hover": 842 }, - ], - 820: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.plot = t("./plot").plot), - (n.style = t("./style")), - (n.colorbar = t("./colorbar")), - (n.hoverPoints = t("./hover")), - (n.moduleType = "trace"), - (n.name = "contour"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = ["cartesian", "svg", "2dMap", "contour", "showLegend"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "./attributes": 806, - "./calc": 807, - "./colorbar": 809, - "./defaults": 815, - "./hover": 819, - "./plot": 824, - "./style": 826, - }, - ], - 821: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e, r, i) { - if ((i || (i = {}), t("contours.showlabels"))) { - var a = e.font; - (n.coerceFont(t, "contours.labelfont", { - family: a.family, - size: a.size, - color: r, - }), - t("contours.labelformat")); - } - !1 !== i.hasHover && t("zhoverformat"); - }; - }, - { "../../lib": 602 }, - ], - 822: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/colorscale"), - a = t("./end_plus"); - e.exports = function (t) { - var e = t.contours, - r = e.start, - o = a(e), - s = e.size || 1, - l = Math.floor((o - r) / s) + 1, - c = "lines" === e.coloring ? 0 : 1; - isFinite(s) || ((s = 1), (l = 1)); - var u, - f, - h = t.colorscale, - p = h.length, - d = new Array(p), - g = new Array(p); - if ("heatmap" === e.coloring) { - for ( - t.zauto && - !1 === t.autocontour && - ((t.zmin = r - s / 2), (t.zmax = t.zmin + l * s)), - f = 0; - f < p; - f++ - ) - ((u = h[f]), (d[f] = u[0] * (t.zmax - t.zmin) + t.zmin), (g[f] = u[1])); - var m = n.extent([t.zmin, t.zmax, e.start, e.start + s * (l - 1)]), - v = m[t.zmin < t.zmax ? 0 : 1], - y = m[t.zmin < t.zmax ? 1 : 0]; - (v !== t.zmin && (d.splice(0, 0, v), g.splice(0, 0, Range[0])), - y !== t.zmax && (d.push(y), g.push(g[g.length - 1]))); - } else - for (f = 0; f < p; f++) - ((u = h[f]), - (d[f] = (u[0] * (l + c - 1) - c / 2) * s + r), - (g[f] = u[1])); - return i.makeColorScaleFunc( - { domain: d, range: g }, - { noNumericCheck: !0 }, - ); - }; - }, - { "../../components/colorscale": 489, "./end_plus": 817, d3: 130 }, - ], - 823: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"); - function i(t, e) { - var r = - (e[0][0] > t ? 0 : 1) + - (e[0][1] > t ? 0 : 2) + - (e[1][1] > t ? 0 : 4) + - (e[1][0] > t ? 0 : 8); - return 5 === r || 10 === r - ? t > (e[0][0] + e[0][1] + e[1][0] + e[1][1]) / 4 - ? 5 === r - ? 713 - : 1114 - : 5 === r - ? 104 - : 208 - : 15 === r - ? 0 - : r; - } - e.exports = function (t) { - var e, - r, - a, - o, - s, - l, - c, - u, - f, - h = t[0].z, - p = h.length, - d = h[0].length, - g = 2 === p || 2 === d; - for (r = 0; r < p - 1; r++) - for ( - o = [], - 0 === r && (o = o.concat(n.BOTTOMSTART)), - r === p - 2 && (o = o.concat(n.TOPSTART)), - e = 0; - e < d - 1; - e++ - ) - for ( - a = o.slice(), - 0 === e && (a = a.concat(n.LEFTSTART)), - e === d - 2 && (a = a.concat(n.RIGHTSTART)), - s = e + "," + r, - l = [ - [h[r][e], h[r][e + 1]], - [h[r + 1][e], h[r + 1][e + 1]], - ], - f = 0; - f < t.length; - f++ - ) - (c = i((u = t[f]).level, l)) && - ((u.crossings[s] = c), - -1 !== a.indexOf(c) && - (u.starts.push([e, r]), - g && - -1 !== a.indexOf(c, a.indexOf(c) + 1) && - u.starts.push([e, r]))); - }; - }, - { "./constants": 810 }, - ], - 824: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../components/drawing"), - o = t("../../lib/svg_text_utils"), - s = t("../../plots/cartesian/axes"), - l = t("../../plots/cartesian/set_convert"), - c = t("../../plots/get_data").getUidsFromCalcData, - u = t("../heatmap/plot"), - f = t("./make_crossings"), - h = t("./find_all_paths"), - p = t("./empty_pathinfo"), - d = t("./convert_to_constraints"), - g = t("./close_boundaries"), - m = t("./constants"), - v = m.LABELOPTIMIZER; - function y(t, e, o, s) { - var l = o[0].trace, - c = o[0].x, - v = o[0].y, - y = l.contours, - b = "contour" + l.uid, - _ = e.xaxis, - w = e.yaxis, - k = t._fullLayout, - M = p(y, e, o[0]), - A = i.ensureSingle(s, "g", "heatmapcoloring"), - T = []; - ("heatmap" === y.coloring && - (l.zauto && - !1 === l.autocontour && - ((l._input.zmin = l.zmin = y.start - y.size / 2), - (l._input.zmax = l.zmax = l.zmin + M.length * y.size)), - (T = [o])), - u(t, e, T, A), - f(M), - h(M)); - var S = _.c2p(c[0], !0), - C = _.c2p(c[c.length - 1], !0), - E = w.c2p(v[0], !0), - L = w.c2p(v[v.length - 1], !0), - z = [ - [S, L], - [C, L], - [C, E], - [S, E], - ], - P = M; - "constraint" === y.type && - ((P = d(M, y._operation)), g(P, y._operation, z, l)); - var D = r.makeContourGroup(s, o, b); - (!(function (t, e, r) { - var n = i - .ensureSingle(t, "g", "contourbg") - .selectAll("path") - .data("fill" === r.coloring ? [0] : []); - (n.enter().append("path"), - n.exit().remove(), - n.attr("d", "M" + e.join("L") + "Z").style("stroke", "none")); - })(D, z, y), - (function (t, e, r, a) { - var o = i - .ensureSingle(t, "g", "contourfill") - .selectAll("path") - .data( - "fill" === a.coloring || - ("constraint" === a.type && "=" !== a._operation) - ? e - : [], - ); - (o.enter().append("path"), - o.exit().remove(), - o.each(function (t) { - var e = x(t, r); - e - ? n.select(this).attr("d", e).style("stroke", "none") - : n.select(this).remove(); - })); - })(D, P, z, y), - (function (t, e, o, s, l, c) { - var u = i.ensureSingle(t, "g", "contourlines"), - f = !1 !== l.showlines, - h = l.showlabels, - p = f && h, - d = r.createLines(u, f || h, e), - g = r.createLineClip(u, p, o._fullLayout._clips, s.trace.uid), - v = t.selectAll("g.contourlabels").data(h ? [0] : []); - if ( - (v.exit().remove(), - v.enter().append("g").classed("contourlabels", !0), - h) - ) { - var y = [c], - x = []; - i.clearLocationCache(); - var b = r.labelFormatter(l, s.t.cb, o._fullLayout), - _ = a.tester - .append("text") - .attr("data-notex", 1) - .call(a.font, l.labelfont), - w = e[0].xaxis._length, - k = e[0].yaxis._length, - M = { - left: Math.max(c[0][0], 0), - right: Math.min(c[2][0], w), - top: Math.max(c[0][1], 0), - bottom: Math.min(c[2][1], k), - }; - ((M.middle = (M.top + M.bottom) / 2), - (M.center = (M.left + M.right) / 2)); - var A = Math.sqrt(w * w + k * k), - T = (m.LABELDISTANCE * A) / Math.max(1, e.length / m.LABELINCREASE); - (d.each(function (t) { - var e = r.calcTextOpts(t.level, b, _, o); - n.select(this) - .selectAll("path") - .each(function () { - var t = i.getVisibleSegment(this, M, e.height / 2); - if (t && !(t.len < (e.width + e.height) * m.LABELMIN)) - for ( - var n = Math.min(Math.ceil(t.len / T), m.LABELMAX), a = 0; - a < n; - a++ - ) { - var o = r.findBestTextLocation(this, t, e, x, M); - if (!o) break; - r.addLabelData(o, e, x, y); - } - }); - }), - _.remove(), - r.drawLabels(v, x, o, g, p ? y : null)); - } - h && !f && d.remove(); - })(D, M, t, o[0], y, z), - (function (t, e, r, n, o) { - var s = "clip" + n.trace.uid, - l = r.selectAll("#" + s).data(n.trace.connectgaps ? [] : [0]); - if ( - (l - .enter() - .append("clipPath") - .classed("contourclip", !0) - .attr("id", s), - l.exit().remove(), - !1 === n.trace.connectgaps) - ) { - var c = { - level: 0.9, - crossings: {}, - starts: [], - edgepaths: [], - paths: [], - xaxis: e.xaxis, - yaxis: e.yaxis, - x: n.x, - y: n.y, - z: (function (t) { - var e, - r, - n = t.trace._emptypoints, - i = [], - a = t.z.length, - o = t.z[0].length, - s = []; - for (e = 0; e < o; e++) s.push(1); - for (e = 0; e < a; e++) i.push(s.slice()); - for (e = 0; e < n.length; e++) ((r = n[e]), (i[r[0]][r[1]] = 0)); - return ((t.zmask = i), i); - })(n), - smoothing: 0, - }; - (f([c]), h([c])); - var u = x(c, o), - p = i.ensureSingle(l, "path", ""); - p.attr("d", u); - } else s = null; - (t.call(a.setClipUrl, s), - e.plot.selectAll(".hm" + n.trace.uid).call(a.setClipUrl, s)); - })(D, e, k._clips, o[0], z)); - } - function x(t, e) { - var r, - n, - o, - s, - l, - c, - u, - f = (function (t, e) { - var r = t.prefixBoundary; - if (void 0 === r) { - var n = Math.min(t.z[0][0], t.z[0][1]); - r = !t.edgepaths.length && n > t.level; - } - return r ? "M" + e.join("L") + "Z" : ""; - })(t, e), - h = 0, - p = t.edgepaths.map(function (t, e) { - return e; - }), - d = !0; - function g(t) { - return Math.abs(t[1] - e[2][1]) < 0.01; - } - function m(t) { - return Math.abs(t[0] - e[0][0]) < 0.01; - } - function v(t) { - return Math.abs(t[0] - e[2][0]) < 0.01; - } - for (; p.length; ) { - for ( - c = a.smoothopen(t.edgepaths[h], t.smoothing), - f += d ? c : c.replace(/^M/, "L"), - p.splice(p.indexOf(h), 1), - r = t.edgepaths[h][t.edgepaths[h].length - 1], - s = -1, - o = 0; - o < 4; - o++ - ) { - if (!r) { - i.log("Missing end?", h, t); - break; - } - for ( - u = r, - Math.abs(u[1] - e[0][1]) < 0.01 && !v(r) - ? (n = e[1]) - : m(r) - ? (n = e[0]) - : g(r) - ? (n = e[3]) - : v(r) && (n = e[2]), - l = 0; - l < t.edgepaths.length; - l++ - ) { - var y = t.edgepaths[l][0]; - Math.abs(r[0] - n[0]) < 0.01 - ? Math.abs(r[0] - y[0]) < 0.01 && - (y[1] - r[1]) * (n[1] - y[1]) >= 0 && - ((n = y), (s = l)) - : Math.abs(r[1] - n[1]) < 0.01 - ? Math.abs(r[1] - y[1]) < 0.01 && - (y[0] - r[0]) * (n[0] - y[0]) >= 0 && - ((n = y), (s = l)) - : i.log("endpt to newendpt is not vert. or horz.", r, n, y); - } - if (((r = n), s >= 0)) break; - f += "L" + n; - } - if (s === t.edgepaths.length) { - i.log("unclosed perimeter path"); - break; - } - ((h = s), (d = -1 === p.indexOf(h)) && ((h = p[0]), (f += "Z"))); - } - for (h = 0; h < t.paths.length; h++) - f += a.smoothclosed(t.paths[h], t.smoothing); - return f; - } - function b(t, e, r, n) { - var a = e.width / 2, - o = e.height / 2, - s = t.x, - l = t.y, - c = t.theta, - u = Math.cos(c) * a, - f = Math.sin(c) * a, - h = - (s > n.center ? n.right - s : s - n.left) / - (u + Math.abs(Math.sin(c) * o)), - p = - (l > n.middle ? n.bottom - l : l - n.top) / - (Math.abs(f) + Math.cos(c) * o); - if (h < 1 || p < 1) return 1 / 0; - var d = v.EDGECOST * (1 / (h - 1) + 1 / (p - 1)); - d += v.ANGLECOST * c * c; - for ( - var g = s - u, m = l - f, y = s + u, x = l + f, b = 0; - b < r.length; - b++ - ) { - var _ = r[b], - w = (Math.cos(_.theta) * _.width) / 2, - k = (Math.sin(_.theta) * _.width) / 2, - M = - (2 * - i.segmentDistance(g, m, y, x, _.x - w, _.y - k, _.x + w, _.y + k)) / - (e.height + _.height), - A = _.level === e.level, - T = A ? v.SAMELEVELDISTANCE : 1; - if (M <= T) return 1 / 0; - d += (v.NEIGHBORCOST * (A ? v.SAMELEVELFACTOR : 1)) / (M - T); - } - return d; - } - ((r.plot = function (t, e, r, i) { - var a = c(r); - i.selectAll("g.contour").each(function (t) { - a[t.trace.uid] || n.select(this).remove(); - }); - for (var o = 0; o < r.length; o++) y(t, e, r[o], i); - }), - (r.makeContourGroup = function (t, e, r) { - var n = t.selectAll("g.contour." + r).data(e); - return ( - n.enter().append("g").classed("contour", !0).classed(r, !0), - n.exit().remove(), - n - ); - }), - (r.createLines = function (t, e, r) { - var n = r[0].smoothing, - i = t.selectAll("g.contourlevel").data(e ? r : []); - if ( - (i.exit().remove(), - i.enter().append("g").classed("contourlevel", !0), - e) - ) { - var o = i.selectAll("path.openline").data(function (t) { - return t.pedgepaths || t.edgepaths; - }); - (o.exit().remove(), - o.enter().append("path").classed("openline", !0), - o - .attr("d", function (t) { - return a.smoothopen(t, n); - }) - .style("stroke-miterlimit", 1) - .style("vector-effect", "non-scaling-stroke")); - var s = i.selectAll("path.closedline").data(function (t) { - return t.ppaths || t.paths; - }); - (s.exit().remove(), - s.enter().append("path").classed("closedline", !0), - s - .attr("d", function (t) { - return a.smoothclosed(t, n); - }) - .style("stroke-miterlimit", 1) - .style("vector-effect", "non-scaling-stroke")); - } - return i; - }), - (r.createLineClip = function (t, e, r, n) { - var i = e ? "clipline" + n : null, - o = r.selectAll("#" + i).data(e ? [0] : []); - return ( - o.exit().remove(), - o - .enter() - .append("clipPath") - .classed("contourlineclip", !0) - .attr("id", i), - a.setClipUrl(t, i), - o - ); - }), - (r.labelFormatter = function (t, e, r) { - if (t.labelformat) return r._d3locale.numberFormat(t.labelformat); - var n; - if (e) n = e.axis; - else { - if ( - ((n = { type: "linear", _id: "ycontour", showexponent: "all" }), - "constraint" === t.type) - ) { - var i = t.value; - Array.isArray(i) - ? (n.range = [i[0], i[i.length - 1]]) - : (n.range = [i, i]); - } else - ((n.range = [t.start, t.end]), - (n.nticks = (t.end - t.start) / t.size)); - (n.range[0] === n.range[1] && (n.range[1] += n.range[0] || 1), - n.nticks || (n.nticks = 1e3), - l(n, r), - s.prepTicks(n), - (n._tmin = null), - (n._tmax = null)); - } - return function (t) { - return s.tickText(n, t).text; - }; - }), - (r.calcTextOpts = function (t, e, r, n) { - var i = e(t); - r.text(i).call(o.convertToTspans, n); - var s = a.bBox(r.node(), !0); - return { - text: i, - width: s.width, - height: s.height, - level: t, - dy: (s.top + s.bottom) / 2, - }; - }), - (r.findBestTextLocation = function (t, e, r, n, a) { - var o, - s, - l, - c, - u, - f = r.width; - e.isClosed - ? ((s = e.len / v.INITIALSEARCHPOINTS), - (o = e.min + s / 2), - (l = e.max)) - : ((s = (e.len - f) / (v.INITIALSEARCHPOINTS + 1)), - (o = e.min + s + f / 2), - (l = e.max - (s + f) / 2)); - for (var h = 1 / 0, p = 0; p < v.ITERATIONS; p++) { - for (var d = o; d < l; d += s) { - var g = i.getTextLocation(t, e.total, d, f), - m = b(g, r, n, a); - m < h && ((h = m), (u = g), (c = d)); - } - if (h > 2 * v.MAXCOST) break; - (p && (s /= 2), (l = (o = c - s / 2) + 1.5 * s)); - } - if (h <= v.MAXCOST) return u; - }), - (r.addLabelData = function (t, e, r, n) { - var i = e.width / 2, - a = e.height / 2, - o = t.x, - s = t.y, - l = t.theta, - c = Math.sin(l), - u = Math.cos(l), - f = i * u, - h = a * c, - p = i * c, - d = -a * u, - g = [ - [o - f - h, s - p - d], - [o + f - h, s + p - d], - [o + f + h, s + p + d], - [o - f + h, s - p + d], - ]; - (r.push({ - text: e.text, - x: o, - y: s, - dy: e.dy, - theta: l, - level: e.level, - width: e.width, - height: e.height, - }), - n.push(g)); - }), - (r.drawLabels = function (t, e, r, a, s) { - var l = t.selectAll("text").data(e, function (t) { - return t.text + "," + t.x + "," + t.y + "," + t.theta; - }); - if ( - (l.exit().remove(), - l - .enter() - .append("text") - .attr({ "data-notex": 1, "text-anchor": "middle" }) - .each(function (t) { - var e = t.x + Math.sin(t.theta) * t.dy, - i = t.y - Math.cos(t.theta) * t.dy; - n.select(this) - .text(t.text) - .attr({ - x: e, - y: i, - transform: - "rotate(" + - (180 * t.theta) / Math.PI + - " " + - e + - " " + - i + - ")", - }) - .call(o.convertToTspans, r); - }), - s) - ) { - for (var c = "", u = 0; u < s.length; u++) - c += "M" + s[u].join("L") + "Z"; - i.ensureSingle(a, "path", "").attr("d", c); - } - })); - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "../../plots/cartesian/axes": 648, - "../../plots/cartesian/set_convert": 666, - "../../plots/get_data": 684, - "../heatmap/plot": 847, - "./close_boundaries": 808, - "./constants": 810, - "./convert_to_constraints": 814, - "./empty_pathinfo": 816, - "./find_all_paths": 818, - "./make_crossings": 823, - d3: 130, - }, - ], - 825: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../lib"); - function a(t, e, r) { - var i = { type: "linear", range: [t, e] }; - return (n.autoTicks(i, (e - t) / (r || 15)), i); - } - e.exports = function (t) { - var e = t.contours; - if (t.autocontour) { - var r = t.zmin, - o = t.zmax; - (void 0 !== r && void 0 !== o) || - ((r = i.aggNums(Math.min, null, t._z)), - (o = i.aggNums(Math.max, null, t._z))); - var s = a(r, o, t.ncontours); - ((e.size = s.dtick), - (e.start = n.tickFirst(s)), - s.range.reverse(), - (e.end = n.tickFirst(s)), - e.start === r && (e.start += e.size), - e.end === o && (e.end -= e.size), - e.start > e.end && (e.start = e.end = (e.start + e.end) / 2), - t._input.contours || (t._input.contours = {}), - i.extendFlat(t._input.contours, { - start: e.start, - end: e.end, - size: e.size, - }), - (t._input.autocontour = !0)); - } else if ("constraint" !== e.type) { - var l, - c = e.start, - u = e.end, - f = t._input.contours; - if ( - (c > u && - ((e.start = f.start = u), (u = e.end = f.end = c), (c = e.start)), - !(e.size > 0)) - ) - ((l = c === u ? 1 : a(c, u, t.ncontours).dtick), (f.size = e.size = l)); - } - }; - }, - { "../../lib": 602, "../../plots/cartesian/axes": 648 }, - ], - 826: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("../heatmap/style"), - o = t("./make_color_map"); - e.exports = function (t) { - var e = n.select(t).selectAll("g.contour"); - (e.style("opacity", function (t) { - return t.trace.opacity; - }), - e.each(function (t) { - var e = n.select(this), - r = t.trace, - a = r.contours, - s = r.line, - l = a.size || 1, - c = a.start, - u = "constraint" === a.type, - f = !u && "lines" === a.coloring, - h = !u && "fill" === a.coloring, - p = f || h ? o(r) : null; - e.selectAll("g.contourlevel").each(function (t) { - n.select(this) - .selectAll("path") - .call(i.lineGroupStyle, s.width, f ? p(t.level) : s.color, s.dash); - }); - var d = a.labelfont; - if ( - (e.selectAll("g.contourlabels text").each(function (t) { - i.font(n.select(this), { - family: d.family, - size: d.size, - color: d.color || (f ? p(t.level) : s.color), - }); - }), - u) - ) - e.selectAll("g.contourfill path").style("fill", r.fillcolor); - else if (h) { - var g; - (e.selectAll("g.contourfill path").style("fill", function (t) { - return (void 0 === g && (g = t.level), p(t.level + 0.5 * l)); - }), - void 0 === g && (g = c), - e.selectAll("g.contourbg path").style("fill", p(g - 0.5 * l))); - } - }), - a(t)); - }; - }, - { - "../../components/drawing": 499, - "../heatmap/style": 848, - "./make_color_map": 822, - d3: 130, - }, - ], - 827: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/defaults"), - i = t("./label_defaults"); - e.exports = function (t, e, r, a, o) { - var s, - l = r("contours.coloring"), - c = ""; - ("fill" === l && (s = r("contours.showlines")), - !1 !== s && - ("lines" !== l && (c = r("line.color", "#000")), - r("line.width", 0.5), - r("line.dash")), - "none" !== l && n(t, e, a, r, { prefix: "", cLetter: "z" }), - r("line.smoothing"), - i(r, a, c, o)); - }; - }, - { "../../components/colorscale/defaults": 484, "./label_defaults": 821 }, - ], - 828: [ - function (t, e, r) { - "use strict"; - var n = t("../heatmap/attributes"), - i = t("../contour/attributes"), - a = i.contours, - o = t("../scatter/attributes"), - s = t("../../components/colorscale/attributes"), - l = t("../../components/colorbar/attributes"), - c = t("../../lib/extend").extendFlat, - u = o.line; - e.exports = c( - {}, - { - carpet: { valType: "string", editType: "calc" }, - z: n.z, - a: n.x, - a0: n.x0, - da: n.dx, - b: n.y, - b0: n.y0, - db: n.dy, - text: n.text, - transpose: n.transpose, - atype: n.xtype, - btype: n.ytype, - fillcolor: i.fillcolor, - autocontour: i.autocontour, - ncontours: i.ncontours, - contours: { - type: a.type, - start: a.start, - end: a.end, - size: a.size, - coloring: { - valType: "enumerated", - values: ["fill", "lines", "none"], - dflt: "fill", - editType: "calc", - }, - showlines: a.showlines, - showlabels: a.showlabels, - labelfont: a.labelfont, - labelformat: a.labelformat, - operation: a.operation, - value: a.value, - editType: "calc", - impliedEdits: { autocontour: !1 }, - }, - line: { - color: c({}, u.color, {}), - width: u.width, - dash: u.dash, - smoothing: c({}, u.smoothing, {}), - editType: "plot", - }, - }, - s, - { autocolorscale: c({}, s.autocolorscale, { dflt: !1 }) }, - { colorbar: l }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../contour/attributes": 806, - "../heatmap/attributes": 835, - "../scatter/attributes": 926, - }, - ], - 829: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/calc"), - i = t("../../lib").isArray1D, - a = t("../heatmap/convert_column_xyz"), - o = t("../heatmap/clean_2d_array"), - s = t("../heatmap/max_row_length"), - l = t("../heatmap/interp2d"), - c = t("../heatmap/find_empties"), - u = t("../heatmap/make_bound_array"), - f = t("./defaults"), - h = t("../carpet/lookup_carpetid"), - p = t("../contour/set_contours"); - e.exports = function (t, e) { - var r = (e._carpetTrace = h(t, e)); - if (r && r.visible && "legendonly" !== r.visible) { - if (!e.a || !e.b) { - var d = t.data[r.index], - g = t.data[e.index]; - (g.a || (g.a = d.a), - g.b || (g.b = d.b), - f(g, e, e._defaultColor, t._fullLayout)); - } - var m = (function (t, e) { - var r, - f, - h, - p, - d, - g, - m, - v = e._carpetTrace, - y = v.aaxis, - x = v.baxis; - ((y._minDtick = 0), - (x._minDtick = 0), - i(e.z) && a(e, y, x, "a", "b", ["z"])); - ((r = e._a = e._a || e.a), - (p = e._b = e._b || e.b), - (r = r ? y.makeCalcdata(e, "_a") : []), - (p = p ? x.makeCalcdata(e, "_b") : []), - (f = e.a0 || 0), - (h = e.da || 1), - (d = e.b0 || 0), - (g = e.db || 1), - (m = e._z = o(e._z || e.z, e.transpose)), - (e._emptypoints = c(m)), - (e._interpz = l(m, e._emptypoints, e._interpz))); - var b = s(m), - _ = "scaled" === e.xtype ? "" : r, - w = u(e, _, f, h, b, y), - k = "scaled" === e.ytype ? "" : p, - M = u(e, k, d, g, m.length, x), - A = { a: w, b: M, z: m }; - "levels" === e.contours.type && - "none" !== e.contours.coloring && - n(e, m, "", "z"); - return [A]; - })(0, e); - return (p(e), m); - } - }; - }, - { - "../../components/colorscale/calc": 481, - "../../lib": 602, - "../carpet/lookup_carpetid": 789, - "../contour/set_contours": 825, - "../heatmap/clean_2d_array": 837, - "../heatmap/convert_column_xyz": 839, - "../heatmap/find_empties": 841, - "../heatmap/interp2d": 844, - "../heatmap/make_bound_array": 845, - "../heatmap/max_row_length": 846, - "./defaults": 830, - }, - ], - 830: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../heatmap/xyz_defaults"), - a = t("./attributes"), - o = t("../contour/constraint_defaults"), - s = t("../contour/contours_defaults"), - l = t("../contour/style_defaults"); - e.exports = function (t, e, r, c) { - function u(r, i) { - return n.coerce(t, e, a, r, i); - } - if ((u("carpet"), t.a && t.b)) { - if (!i(t, e, u, c, "a", "b")) return void (e.visible = !1); - u("text"); - var f = "constraint" === u("contours.type"); - (f || delete e.showlegend, - f - ? o(t, e, u, c, r, { hasHover: !1 }) - : (s(t, e, u, function (r) { - return n.coerce2(t, e, a, r); - }), - l(t, e, u, c, { hasHover: !1 }))); - } else ((e._defaultColor = r), (e._length = null)); - }; - }, - { - "../../lib": 602, - "../contour/constraint_defaults": 811, - "../contour/contours_defaults": 813, - "../contour/style_defaults": 827, - "../heatmap/xyz_defaults": 850, - "./attributes": 828, - }, - ], - 831: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../contour/colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("../contour/style")), - (n.moduleType = "trace"), - (n.name = "contourcarpet"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "carpet", - "contour", - "symbols", - "showLegend", - "hasLines", - "carpetDependent", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../contour/colorbar": 809, - "../contour/style": 826, - "./attributes": 828, - "./calc": 829, - "./defaults": 830, - "./plot": 834, - }, - ], - 832: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/drawing"), - i = t("../carpet/axis_aligned_line"), - a = t("../../lib"); - e.exports = function (t, e, r, o, s, l, c, u) { - var f, - h, - p, - d, - g, - m, - v, - y = "", - x = e.edgepaths.map(function (t, e) { - return e; - }), - b = !0, - _ = 1e-4 * Math.abs(r[0][0] - r[2][0]), - w = 1e-4 * Math.abs(r[0][1] - r[2][1]); - function k(t) { - return Math.abs(t[1] - r[0][1]) < w; - } - function M(t) { - return Math.abs(t[1] - r[2][1]) < w; - } - function A(t) { - return Math.abs(t[0] - r[0][0]) < _; - } - function T(t) { - return Math.abs(t[0] - r[2][0]) < _; - } - function S(t, e) { - var r, - n, - a, - o, - f = ""; - for ( - (k(t) && !T(t)) || (M(t) && !A(t)) - ? ((o = s.aaxis), (a = i(s, l, [t[0], e[0]], 0.5 * (t[1] + e[1])))) - : ((o = s.baxis), (a = i(s, l, 0.5 * (t[0] + e[0]), [t[1], e[1]]))), - r = 1; - r < a.length; - r++ - ) - for (f += o.smoothing ? "C" : "L", n = 0; n < a[r].length; n++) { - var h = a[r][n]; - f += [c.c2p(h[0]), u.c2p(h[1])] + " "; - } - return f; - } - for (f = 0, h = null; x.length; ) { - var C = e.edgepaths[f][0]; - for ( - h && (y += S(h, C)), - v = n.smoothopen(e.edgepaths[f].map(o), e.smoothing), - y += b ? v : v.replace(/^M/, "L"), - x.splice(x.indexOf(f), 1), - h = e.edgepaths[f][e.edgepaths[f].length - 1], - g = -1, - d = 0; - d < 4; - d++ - ) { - if (!h) { - a.log("Missing end?", f, e); - break; - } - for ( - k(h) && !T(h) - ? (p = r[1]) - : A(h) - ? (p = r[0]) - : M(h) - ? (p = r[3]) - : T(h) && (p = r[2]), - m = 0; - m < e.edgepaths.length; - m++ - ) { - var E = e.edgepaths[m][0]; - Math.abs(h[0] - p[0]) < _ - ? Math.abs(h[0] - E[0]) < _ && - (E[1] - h[1]) * (p[1] - E[1]) >= 0 && - ((p = E), (g = m)) - : Math.abs(h[1] - p[1]) < w - ? Math.abs(h[1] - E[1]) < w && - (E[0] - h[0]) * (p[0] - E[0]) >= 0 && - ((p = E), (g = m)) - : a.log("endpt to newendpt is not vert. or horz.", h, p, E); - } - if (g >= 0) break; - ((y += S(h, p)), (h = p)); - } - if (g === e.edgepaths.length) { - a.log("unclosed perimeter path"); - break; - } - ((f = g), - (b = -1 === x.indexOf(f)) && - ((f = x[0]), (y += S(h, p) + "Z"), (h = null))); - } - for (f = 0; f < e.paths.length; f++) - y += n.smoothclosed(e.paths[f].map(o), e.smoothing); - return y; - }; - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../carpet/axis_aligned_line": 773, - }, - ], - 833: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, n, i, a, o, s, l, c, u; - for (r = 0; r < t.length; r++) { - for ( - o = (a = t[r]).pedgepaths = [], s = a.ppaths = [], n = 0; - n < a.edgepaths.length; - n++ - ) { - for (u = a.edgepaths[n], l = [], i = 0; i < u.length; i++) - l[i] = e(u[i]); - o.push(l); - } - for (n = 0; n < a.paths.length; n++) { - for (u = a.paths[n], c = [], i = 0; i < u.length; i++) c[i] = e(u[i]); - s.push(c); - } - } - }; - }, - {}, - ], - 834: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../carpet/map_1d_array"), - a = t("../carpet/makepath"), - o = t("../../components/drawing"), - s = t("../../lib"), - l = t("../../plots/get_data").getUidsFromCalcData, - c = t("../contour/make_crossings"), - u = t("../contour/find_all_paths"), - f = t("../contour/plot"), - h = t("../contour/constants"), - p = t("../contour/convert_to_constraints"), - d = t("./join_all_paths"), - g = t("../contour/empty_pathinfo"), - m = t("./map_pathinfo"), - v = t("../carpet/lookup_carpetid"), - y = t("../contour/close_boundaries"); - function x(t, e, r, l) { - var x = r[0].trace, - k = (x._carpetTrace = v(t, x)), - M = t.calcdata[k.index][0]; - if (k.visible && "legendonly" !== k.visible) { - var A = r[0].a, - T = r[0].b, - S = x.contours, - C = x.uid, - E = e.xaxis, - L = e.yaxis, - z = "contour" + C, - P = g(S, e, r[0]), - D = "constraint" === S.type, - O = S._operation, - I = D ? ("=" === O ? "lines" : "fill") : S.coloring, - R = [ - [A[0], T[T.length - 1]], - [A[A.length - 1], T[T.length - 1]], - [A[A.length - 1], T[0]], - [A[0], T[0]], - ]; - c(P); - var B = 1e-8 * (A[A.length - 1] - A[0]), - F = 1e-8 * (T[T.length - 1] - T[0]); - u(P, B, F); - var N = P; - ("constraint" === S.type && ((N = p(P, O)), y(N, O, R, x)), m(P, Y)); - var j, - V, - U, - q, - H = f.makeContourGroup(l, r, z), - G = []; - for (q = M.clipsegments.length - 1; q >= 0; q--) - ((j = M.clipsegments[q]), - (V = i([], j.x, E.c2p)), - (U = i([], j.y, L.c2p)), - V.reverse(), - U.reverse(), - G.push(a(V, U, j.bicubic))); - var W = "M" + G.join("L") + "Z"; - (!(function (t, e, r, n, o, l) { - var c, - u, - f, - h, - p = s - .ensureSingle(t, "g", "contourbg") - .selectAll("path") - .data("fill" !== l || o ? [] : [0]); - (p.enter().append("path"), p.exit().remove()); - var d = []; - for (h = 0; h < e.length; h++) - ((c = e[h]), - (u = i([], c.x, r.c2p)), - (f = i([], c.y, n.c2p)), - d.push(a(u, f, c.bicubic))); - p.attr("d", "M" + d.join("L") + "Z").style("stroke", "none"); - })(H, M.clipsegments, E, L, D, I), - (function (t, e, r, i, a, o, l, c, u, f, h) { - var p = s - .ensureSingle(e, "g", "contourfill") - .selectAll("path") - .data("fill" === f ? a : []); - (p.enter().append("path"), - p.exit().remove(), - p.each(function (e) { - var a = d(t, e, o, l, c, u, r, i); - (e.prefixBoundary && (a = h + a), - a - ? n.select(this).attr("d", a).style("stroke", "none") - : n.select(this).remove()); - })); - })(x, H, E, L, N, R, Y, k, M, I, W), - (function (t, e, r, i, a, l, c) { - var u = s.ensureSingle(t, "g", "contourlines"), - p = !1 !== a.showlines, - d = a.showlabels, - g = p && d, - m = f.createLines(u, p || d, e), - v = f.createLineClip(u, g, r._fullLayout._defs, i.trace.uid), - y = t.selectAll("g.contourlabels").data(d ? [0] : []); - if ( - (y.exit().remove(), - y.enter().append("g").classed("contourlabels", !0), - d) - ) { - var x = l.xaxis, - k = l.yaxis, - M = x._length, - A = k._length, - T = [ - [ - [0, 0], - [M, 0], - [M, A], - [0, A], - ], - ], - S = []; - s.clearLocationCache(); - var C = f.labelFormatter(a, i.t.cb, r._fullLayout), - E = o.tester - .append("text") - .attr("data-notex", 1) - .call(o.font, a.labelfont), - L = { - left: 0, - right: M, - center: M / 2, - top: 0, - bottom: A, - middle: A / 2, - }, - z = Math.sqrt(M * M + A * A), - P = - (h.LABELDISTANCE * z) / Math.max(1, e.length / h.LABELINCREASE); - (m.each(function (t) { - var e = f.calcTextOpts(t.level, C, E, r); - n.select(this) - .selectAll("path") - .each(function (r) { - var n = s.getVisibleSegment(this, L, e.height / 2); - if ( - n && - ((function (t, e, r, n, i, a) { - for (var o, s = 0; s < r.pedgepaths.length; s++) - e === r.pedgepaths[s] && (o = r.edgepaths[s]); - if (!o) return; - var l = i.a[0], - c = i.a[i.a.length - 1], - u = i.b[0], - f = i.b[i.b.length - 1]; - function h(t, e) { - var r, - n = 0; - return ( - (Math.abs(t[0] - l) < 0.1 || - Math.abs(t[0] - c) < 0.1) && - ((r = _(i.dxydb_rough(t[0], t[1], 0.1))), - (n = Math.max(n, (a * w(e, r)) / 2))), - (Math.abs(t[1] - u) < 0.1 || - Math.abs(t[1] - f) < 0.1) && - ((r = _(i.dxyda_rough(t[0], t[1], 0.1))), - (n = Math.max(n, (a * w(e, r)) / 2))), - n - ); - } - var p = b(t, 0, 1), - d = b(t, n.total, n.total - 1), - g = h(o[0], p), - m = n.total - h(o[o.length - 1], d); - n.min < g && (n.min = g); - n.max > m && (n.max = m); - n.len = n.max - n.min; - })(this, r, t, n, c, e.height), - !(n.len < (e.width + e.height) * h.LABELMIN)) - ) - for ( - var i = Math.min(Math.ceil(n.len / P), h.LABELMAX), a = 0; - a < i; - a++ - ) { - var o = f.findBestTextLocation(this, n, e, S, L); - if (!o) break; - f.addLabelData(o, e, S, T); - } - }); - }), - E.remove(), - f.drawLabels(y, S, r, v, g ? T : null)); - } - d && !p && m.remove(); - })(H, P, t, r[0], S, e, k), - o.setClipUrl(H, k._clipPathId)); - } - function Y(t) { - var e = k.ab2xy(t[0], t[1], !0); - return [E.c2p(e[0]), L.c2p(e[1])]; - } - } - function b(t, e, r) { - var n = t.getPointAtLength(e), - i = t.getPointAtLength(r), - a = i.x - n.x, - o = i.y - n.y, - s = Math.sqrt(a * a + o * o); - return [a / s, o / s]; - } - function _(t) { - var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]); - return [t[0] / e, t[1] / e]; - } - function w(t, e) { - var r = Math.abs(t[0] * e[0] + t[1] * e[1]); - return Math.sqrt(1 - r * r) / r; - } - e.exports = function (t, e, r, i) { - var a = l(r); - i.selectAll("g.contour").each(function (t) { - a[t.trace.uid] || n.select(this).remove(); - }); - for (var o = 0; o < r.length; o++) x(t, e, r[o], i); - }; - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../../plots/get_data": 684, - "../carpet/lookup_carpetid": 789, - "../carpet/makepath": 790, - "../carpet/map_1d_array": 791, - "../contour/close_boundaries": 808, - "../contour/constants": 810, - "../contour/convert_to_constraints": 814, - "../contour/empty_pathinfo": 816, - "../contour/find_all_paths": 818, - "../contour/make_crossings": 823, - "../contour/plot": 824, - "./join_all_paths": 832, - "./map_pathinfo": 833, - d3: 130, - }, - ], - 835: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../components/colorscale/attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../../lib/extend").extendFlat; - e.exports = o( - {}, - { - z: { valType: "data_array", editType: "calc" }, - x: o({}, n.x, { impliedEdits: { xtype: "array" } }), - x0: o({}, n.x0, { impliedEdits: { xtype: "scaled" } }), - dx: o({}, n.dx, { impliedEdits: { xtype: "scaled" } }), - y: o({}, n.y, { impliedEdits: { ytype: "array" } }), - y0: o({}, n.y0, { impliedEdits: { ytype: "scaled" } }), - dy: o({}, n.dy, { impliedEdits: { ytype: "scaled" } }), - text: { valType: "data_array", editType: "calc" }, - transpose: { valType: "boolean", dflt: !1, editType: "calc" }, - xtype: { - valType: "enumerated", - values: ["array", "scaled"], - editType: "calc+clearAxisTypes", - }, - ytype: { - valType: "enumerated", - values: ["array", "scaled"], - editType: "calc+clearAxisTypes", - }, - zsmooth: { - valType: "enumerated", - values: ["fast", "best", !1], - dflt: !1, - editType: "calc", - }, - connectgaps: { valType: "boolean", dflt: !1, editType: "calc" }, - xgap: { valType: "number", dflt: 0, min: 0, editType: "plot" }, - ygap: { valType: "number", dflt: 0, min: 0, editType: "plot" }, - zhoverformat: { valType: "string", dflt: "", editType: "none" }, - }, - i, - { autocolorscale: o({}, i.autocolorscale, { dflt: !1 }) }, - { colorbar: a }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../scatter/attributes": 926, - }, - ], - 836: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../plots/cartesian/axes"), - o = t("../histogram2d/calc"), - s = t("../../components/colorscale/calc"), - l = t("./convert_column_xyz"), - c = t("./max_row_length"), - u = t("./clean_2d_array"), - f = t("./interp2d"), - h = t("./find_empties"), - p = t("./make_bound_array"); - e.exports = function (t, e) { - var r, - d, - g, - m, - v, - y, - x, - b, - _, - w = a.getFromId(t, e.xaxis || "x"), - k = a.getFromId(t, e.yaxis || "y"), - M = n.traceIs(e, "contour"), - A = n.traceIs(e, "histogram"), - T = n.traceIs(e, "gl2d"), - S = M ? "best" : e.zsmooth; - if (((w._minDtick = 0), (k._minDtick = 0), A)) - ((r = (_ = o(t, e)).x), - (d = _.x0), - (g = _.dx), - (m = _.y), - (v = _.y0), - (y = _.dy), - (x = _.z)); - else { - var C = e.z; - (i.isArray1D(C) - ? (l(e, w, k, "x", "y", ["z"]), (r = e._x), (m = e._y), (C = e._z)) - : ((r = e.x ? w.makeCalcdata(e, "x") : []), - (m = e.y ? k.makeCalcdata(e, "y") : [])), - (d = e.x0 || 0), - (g = e.dx || 1), - (v = e.y0 || 0), - (y = e.dy || 1), - (x = u(C, e.transpose)), - (M || e.connectgaps) && - ((e._emptypoints = h(x)), - (e._interpz = f(x, e._emptypoints, e._interpz)))); - } - function E(t) { - ((S = e._input.zsmooth = e.zsmooth = !1), - i.warn('cannot use zsmooth: "fast": ' + t)); - } - if ("fast" === S) - if ("log" === w.type || "log" === k.type) E("log axis found"); - else if (!A) { - if (r.length) { - var L = (r[r.length - 1] - r[0]) / (r.length - 1), - z = Math.abs(L / 100); - for (b = 0; b < r.length - 1; b++) - if (Math.abs(r[b + 1] - r[b] - L) > z) { - E("x scale is not linear"); - break; - } - } - if (m.length && "fast" === S) { - var P = (m[m.length - 1] - m[0]) / (m.length - 1), - D = Math.abs(P / 100); - for (b = 0; b < m.length - 1; b++) - if (Math.abs(m[b + 1] - m[b] - P) > D) { - E("y scale is not linear"); - break; - } - } - } - var O = c(x), - I = "scaled" === e.xtype ? "" : r, - R = p(e, I, d, g, O, w), - B = "scaled" === e.ytype ? "" : m, - F = p(e, B, v, y, x.length, k); - T || (a.expand(w, R), a.expand(k, F)); - var N = { x: R, y: F, z: x, text: e._text || e.text }; - if ( - (I && I.length === R.length - 1 && (N.xCenter = I), - B && B.length === F.length - 1 && (N.yCenter = B), - A && ((N.xRanges = _.xRanges), (N.yRanges = _.yRanges), (N.pts = _.pts)), - (M && "constraint" === e.contours.type) || s(e, x, "", "z"), - M && e.contours && "heatmap" === e.contours.coloring) - ) { - var j = { - type: "contour" === e.type ? "heatmap" : "histogram2d", - xcalendar: e.xcalendar, - ycalendar: e.ycalendar, - }; - ((N.xfill = p(j, I, d, g, O, w)), (N.yfill = p(j, B, v, y, x.length, k))); - } - return [N]; - }; - }, - { - "../../components/colorscale/calc": 481, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../../registry": 732, - "../histogram2d/calc": 867, - "./clean_2d_array": 837, - "./convert_column_xyz": 839, - "./find_empties": 841, - "./interp2d": 844, - "./make_bound_array": 845, - "./max_row_length": 846, - }, - ], - 837: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"); - e.exports = function (t, e) { - var r, i, a, o, s, l; - function c(t) { - if (n(t)) return +t; - } - if (e) { - for (r = 0, s = 0; s < t.length; s++) r = Math.max(r, t[s].length); - if (0 === r) return !1; - ((a = function (t) { - return t.length; - }), - (o = function (t, e, r) { - return t[r][e]; - })); - } else - ((r = t.length), - (a = function (t, e) { - return t[e].length; - }), - (o = function (t, e, r) { - return t[e][r]; - })); - var u = new Array(r); - for (s = 0; s < r; s++) - for (i = a(t, s), u[s] = new Array(i), l = 0; l < i; l++) - u[s][l] = c(o(t, s, l)); - return u; - }; - }, - { "fast-isnumeric": 196 }, - ], - 838: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../components/colorscale"), - s = t("../../components/colorbar/draw"); - e.exports = function (t, e) { - var r = e[0].trace, - l = "cb" + r.uid, - c = r.zmin, - u = r.zmax; - if ( - (n(c) || (c = i.aggNums(Math.min, null, r.z)), - n(u) || (u = i.aggNums(Math.max, null, r.z)), - t._fullLayout._infolayer.selectAll("." + l).remove(), - r.showscale) - ) { - var f = (e[0].t.cb = s(t, l)), - h = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { - noNumericCheck: !0, - }); - f - .fillcolor(h) - .filllevels({ start: c, end: u, size: (u - c) / 254 }) - .options(r.colorbar)(); - } else a.autoMargin(t, l); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../components/colorscale": 489, - "../../lib": 602, - "../../plots/plots": 710, - "fast-isnumeric": 196, - }, - ], - 839: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../constants/numerical").BADNUM; - e.exports = function (t, e, r, a, o, s) { - var l, - c, - u, - f = t._length, - h = t[a].slice(0, f), - p = t[o].slice(0, f), - d = t.text, - g = void 0 !== d && n.isArray1D(d), - m = t[a + "calendar"], - v = t[o + "calendar"]; - for (l = 0; l < f; l++) - ((h[l] = e.d2c(h[l], 0, m)), (p[l] = r.d2c(p[l], 0, v))); - var y, - x, - b, - _ = n.distinctVals(h), - w = _.vals, - k = n.distinctVals(p), - M = k.vals, - A = []; - for (l = 0; l < s.length; l++) A[l] = n.init2dArray(M.length, w.length); - for (g && (b = n.init2dArray(M.length, w.length)), l = 0; l < f; l++) - if (h[l] !== i && p[l] !== i) { - for ( - y = n.findBin(h[l] + _.minDiff / 2, w), - x = n.findBin(p[l] + k.minDiff / 2, M), - c = 0; - c < s.length; - c++ - ) - ((u = t[s[c]]), (A[c][x][y] = u[l])); - g && (b[x][y] = d[l]); - } - for (t["_" + a] = w, t["_" + o] = M, c = 0; c < s.length; c++) - t["_" + s[c]] = A[c]; - g && (t._text = b); - }; - }, - { "../../constants/numerical": 579, "../../lib": 602 }, - ], - 840: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./xyz_defaults"), - a = t("./style_defaults"), - o = t("../../components/colorscale/defaults"), - s = t("./attributes"); - e.exports = function (t, e, r, l) { - function c(r, i) { - return n.coerce(t, e, s, r, i); - } - i(t, e, c, l) - ? (c("text"), - a(t, e, c, l), - c("connectgaps", n.isArray1D(e.z) && !1 !== e.zsmooth), - o(t, e, l, c, { prefix: "", cLetter: "z" })) - : (e.visible = !1); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../lib": 602, - "./attributes": 835, - "./style_defaults": 849, - "./xyz_defaults": 850, - }, - ], - 841: [ - function (t, e, r) { - "use strict"; - var n = t("./max_row_length"); - e.exports = function (t) { - var e, - r, - i, - a, - o, - s, - l, - c, - u = [], - f = {}, - h = [], - p = t[0], - d = [], - g = [0, 0, 0], - m = n(t); - for (r = 0; r < t.length; r++) - for (e = d, d = p, p = t[r + 1] || [], i = 0; i < m; i++) - void 0 === d[i] && - ((s = - (void 0 !== d[i - 1] ? 1 : 0) + - (void 0 !== d[i + 1] ? 1 : 0) + - (void 0 !== e[i] ? 1 : 0) + - (void 0 !== p[i] ? 1 : 0)) - ? (0 === r && s++, - 0 === i && s++, - r === t.length - 1 && s++, - i === d.length - 1 && s++, - s < 4 && (f[[r, i]] = [r, i, s]), - u.push([r, i, s])) - : h.push([r, i])); - for (; h.length; ) { - for (l = {}, c = !1, o = h.length - 1; o >= 0; o--) - (s = - ((f[[(r = (a = h[o])[0]) - 1, (i = a[1])]] || g)[2] + - (f[[r + 1, i]] || g)[2] + - (f[[r, i - 1]] || g)[2] + - (f[[r, i + 1]] || g)[2]) / - 20) && ((l[a] = [r, i, s]), h.splice(o, 1), (c = !0)); - if (!c) throw "findEmpties iterated with no new neighbors"; - for (a in l) ((f[a] = l[a]), u.push(l[a])); - } - return u.sort(function (t, e) { - return e[2] - t[2]; - }); - }; - }, - { "./max_row_length": 846 }, - ], - 842: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/fx"), - i = t("../../lib"), - a = t("../../plots/cartesian/axes"); - e.exports = function (t, e, r, o, s, l) { - var c, - u, - f, - h, - p = t.cd[0], - d = p.trace, - g = t.xa, - m = t.ya, - v = p.x, - y = p.y, - x = p.z, - b = p.xCenter, - _ = p.yCenter, - w = p.zmask, - k = [d.zmin, d.zmax], - M = d.zhoverformat, - A = v, - T = y; - if (!1 !== t.index) { - try { - ((f = Math.round(t.index[1])), (h = Math.round(t.index[0]))); - } catch (e) { - return void i.error( - "Error hovering on heatmap, pointNumber must be [row,col], found:", - t.index, - ); - } - if (f < 0 || f >= x[0].length || h < 0 || h > x.length) return; - } else { - if ( - n.inbox(e - v[0], e - v[v.length - 1], 0) > 0 || - n.inbox(r - y[0], r - y[y.length - 1], 0) > 0 - ) - return; - if (l) { - var S; - for (A = [2 * v[0] - v[1]], S = 1; S < v.length; S++) - A.push((v[S] + v[S - 1]) / 2); - for ( - A.push([2 * v[v.length - 1] - v[v.length - 2]]), - T = [2 * y[0] - y[1]], - S = 1; - S < y.length; - S++ - ) - T.push((y[S] + y[S - 1]) / 2); - T.push([2 * y[y.length - 1] - y[y.length - 2]]); - } - ((f = Math.max(0, Math.min(A.length - 2, i.findBin(e, A)))), - (h = Math.max(0, Math.min(T.length - 2, i.findBin(r, T))))); - } - var C = g.c2p(v[f]), - E = g.c2p(v[f + 1]), - L = m.c2p(y[h]), - z = m.c2p(y[h + 1]); - l - ? ((E = C), (c = v[f]), (z = L), (u = y[h])) - : ((c = b ? b[f] : (v[f] + v[f + 1]) / 2), - (u = _ ? _[h] : (y[h] + y[h + 1]) / 2), - d.zsmooth && ((C = E = g.c2p(c)), (L = z = m.c2p(u)))); - var P, - D, - O = x[h][f]; - (w && !w[h][f] && (O = void 0), - Array.isArray(p.text) && Array.isArray(p.text[h]) && (P = p.text[h][f])); - var I = { - type: "linear", - range: k, - hoverformat: M, - _separators: g._separators, - _numFormat: g._numFormat, - }; - return ( - (D = a.tickText(I, O, "hover").text), - [ - i.extendFlat(t, { - index: [h, f], - distance: t.maxHoverDistance, - spikeDistance: t.maxSpikeDistance, - x0: C, - x1: E, - y0: L, - y1: z, - xLabelVal: c, - yLabelVal: u, - zLabelVal: O, - zLabel: D, - text: P, - }), - ] - ); - }; - }, - { - "../../components/fx": 516, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - }, - ], - 843: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.colorbar = t("./colorbar")), - (n.style = t("./style")), - (n.hoverPoints = t("./hover")), - (n.moduleType = "trace"), - (n.name = "heatmap"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = ["cartesian", "svg", "2dMap"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "./attributes": 835, - "./calc": 836, - "./colorbar": 838, - "./defaults": 840, - "./hover": 842, - "./plot": 847, - "./style": 848, - }, - ], - 844: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = [ - [-1, 0], - [1, 0], - [0, -1], - [0, 1], - ]; - function a(t) { - return 0.5 - 0.25 * Math.min(1, 0.5 * t); - } - function o(t, e, r) { - var n, - a, - o, - s, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v = 0; - for (s = 0; s < e.length; s++) { - for ( - a = (n = e[s])[0], o = n[1], d = t[a][o], p = 0, h = 0, l = 0; - l < 4; - l++ - ) - (u = t[a + (c = i[l])[0]]) && - void 0 !== (f = u[o + c[1]]) && - (0 === p ? (g = m = f) : ((g = Math.min(g, f)), (m = Math.max(m, f))), - h++, - (p += f)); - if (0 === h) throw "iterateInterp2d order is wrong: no defined neighbors"; - ((t[a][o] = p / h), - void 0 === d - ? h < 4 && (v = 1) - : ((t[a][o] = (1 + r) * t[a][o] - r * d), - m > g && (v = Math.max(v, Math.abs(t[a][o] - d) / (m - g))))); - } - return v; - } - e.exports = function (t, e, r) { - var i, - s, - l = 1; - if (Array.isArray(r)) - for (i = 0; i < e.length; i++) t[(s = e[i])[0]][s[1]] = r[s[0]][s[1]]; - else o(t, e); - for (i = 0; i < e.length && !(e[i][2] < 4); i++); - for (e = e.slice(i), i = 0; i < 100 && l > 0.01; i++) l = o(t, e, a(l)); - return (l > 0.01 && n.log("interp2d didn't converge quickly", l), t); - }; - }, - { "../../lib": 602 }, - ], - 845: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib").isArrayOrTypedArray; - e.exports = function (t, e, r, a, o, s) { - var l, - c, - u, - f = [], - h = n.traceIs(t, "contour"), - p = n.traceIs(t, "histogram"), - d = n.traceIs(t, "gl2d"); - if (i(e) && e.length > 1 && !p && "category" !== s.type) { - var g = e.length; - if (!(g <= o)) return h ? e.slice(0, o) : e.slice(0, o + 1); - if (h || d) f = e.slice(0, o); - else if (1 === o) f = [e[0] - 0.5, e[0] + 0.5]; - else { - for (f = [1.5 * e[0] - 0.5 * e[1]], u = 1; u < g; u++) - f.push(0.5 * (e[u - 1] + e[u])); - f.push(1.5 * e[g - 1] - 0.5 * e[g - 2]); - } - if (g < o) { - var m = f[f.length - 1], - v = m - f[f.length - 2]; - for (u = g; u < o; u++) ((m += v), f.push(m)); - } - } else { - c = a || 1; - var y = t[s._id.charAt(0) + "calendar"]; - for ( - l = - p || "category" === s.type - ? s.r2c(r, 0, y) || 0 - : i(e) && 1 === e.length - ? e[0] - : void 0 === r - ? 0 - : s.d2c(r, 0, y), - u = h || d ? 0 : -0.5; - u < o; - u++ - ) - f.push(l + c * u); - } - return f; - }; - }, - { "../../lib": 602, "../../registry": 732 }, - ], - 846: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = 0, r = 0; r < t.length; r++) e = Math.max(e, t[r].length); - return e; - }; - }, - {}, - ], - 847: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("tinycolor2"), - a = t("../../registry"), - o = t("../../lib"), - s = t("../../components/colorscale"), - l = t("../../constants/xmlns_namespaces"), - c = t("../../plots/get_data").getUidsFromCalcData, - u = t("./max_row_length"); - function f(t, e, r, n) { - var c, - f, - g, - m, - v, - y, - x = r[0], - b = x.trace, - _ = e.xaxis, - w = e.yaxis, - k = "hm" + b.uid, - M = x.z, - A = x.x, - T = x.y, - S = x.xCenter, - C = x.yCenter, - E = a.traceIs(b, "contour"), - L = E ? "best" : b.zsmooth, - z = M.length, - P = u(M), - D = !1, - O = !1; - for (y = 0; void 0 === c && y < A.length - 1; ) ((c = _.c2p(A[y])), y++); - for (y = A.length - 1; void 0 === f && y > 0; ) ((f = _.c2p(A[y])), y--); - for ( - f < c && ((g = f), (f = c), (c = g), (D = !0)), y = 0; - void 0 === m && y < T.length - 1; - - ) - ((m = w.c2p(T[y])), y++); - for (y = T.length - 1; void 0 === v && y > 0; ) ((v = w.c2p(T[y])), y--); - if ( - (v < m && ((g = m), (m = v), (v = g), (O = !0)), - E && ((S = A), (C = T), (A = x.xfill), (T = x.yfill)), - "fast" !== L) - ) { - var I = "best" === L ? 0 : 0.5; - ((c = Math.max(-I * _._length, c)), - (f = Math.min((1 + I) * _._length, f)), - (m = Math.max(-I * w._length, m)), - (v = Math.min((1 + I) * w._length, v))); - } - var R = Math.round(f - c), - B = Math.round(v - m), - F = R <= 0 || B <= 0, - N = n.selectAll("g.hm." + k).data(F ? [] : [0]); - if ( - (N.enter().append("g").classed("hm", !0).classed(k, !0), - N.exit().remove(), - !F) - ) { - var j, V; - "fast" === L ? ((j = P), (V = z)) : ((j = R), (V = B)); - var U = document.createElement("canvas"); - ((U.width = j), (U.height = V)); - var q, - H, - G = U.getContext("2d"), - W = s.makeColorScaleFunc(s.extractScale(b.colorscale, b.zmin, b.zmax), { - noNumericCheck: !0, - returnArray: !0, - }); - "fast" === L - ? ((q = D - ? function (t) { - return P - 1 - t; - } - : o.identity), - (H = O - ? function (t) { - return z - 1 - t; - } - : o.identity)) - : ((q = function (t) { - return o.constrain(Math.round(_.c2p(A[t]) - c), 0, R); - }), - (H = function (t) { - return o.constrain(Math.round(w.c2p(T[t]) - m), 0, B); - })); - var Y, - X, - Z, - J, - K, - Q = H(0), - $ = [Q, Q], - tt = D ? 0 : 1, - et = O ? 0 : 1, - rt = 0, - nt = 0, - it = 0, - at = 0; - if (L) { - var ot, - st = 0; - try { - ot = new Uint8Array(R * B * 4); - } catch (t) { - ot = new Array(R * B * 4); - } - if ("best" === L) { - var lt, - ct, - ut, - ft = S || A, - ht = C || T, - pt = new Array(ft.length), - dt = new Array(ht.length), - gt = new Array(R), - mt = S ? p : h, - vt = C ? p : h; - for (y = 0; y < ft.length; y++) pt[y] = Math.round(_.c2p(ft[y]) - c); - for (y = 0; y < ht.length; y++) dt[y] = Math.round(w.c2p(ht[y]) - m); - for (y = 0; y < R; y++) gt[y] = mt(y, pt); - for (X = 0; X < B; X++) - for ( - ct = M[(lt = vt(X, dt)).bin0], ut = M[lt.bin1], y = 0; - y < R; - y++, st += 4 - ) - d(ot, st, (K = Ct(ct, ut, gt[y], lt))); - } else - for (X = 0; X < z; X++) - for (J = M[X], $ = H(X), y = 0; y < R; y++) - ((K = St(J[y], 1)), d(ot, (st = 4 * ($ * R + q(y))), K)); - var yt = G.createImageData(R, B); - try { - yt.data.set(ot); - } catch (t) { - var xt = yt.data, - bt = xt.length; - for (X = 0; X < bt; X++) xt[X] = ot[X]; - } - G.putImageData(yt, 0, 0); - } else { - var _t = b.xgap, - wt = b.ygap, - kt = Math.floor(_t / 2), - Mt = Math.floor(wt / 2); - for (X = 0; X < z; X++) - if ( - ((J = M[X]), - $.reverse(), - ($[et] = H(X + 1)), - $[0] !== $[1] && void 0 !== $[0] && void 0 !== $[1]) - ) - for (Y = [(Z = q(0)), Z], y = 0; y < P; y++) - (Y.reverse(), - (Y[tt] = q(y + 1)), - Y[0] !== Y[1] && - void 0 !== Y[0] && - void 0 !== Y[1] && - ((K = St(J[y], (Y[1] - Y[0]) * ($[1] - $[0]))), - (G.fillStyle = "rgba(" + K.join(",") + ")"), - G.fillRect( - Y[0] + kt, - $[0] + Mt, - Y[1] - Y[0] - _t, - $[1] - $[0] - wt, - ))); - } - ((nt = Math.round(nt / rt)), - (it = Math.round(it / rt)), - (at = Math.round(at / rt))); - var At = i("rgb(" + nt + "," + it + "," + at + ")"); - ((t._hmpixcount = (t._hmpixcount || 0) + rt), - (t._hmlumcount = (t._hmlumcount || 0) + rt * At.getLuminance())); - var Tt = N.selectAll("image").data(r); - (Tt.enter() - .append("svg:image") - .attr({ xmlns: l.svg, preserveAspectRatio: "none" }), - Tt.attr({ - height: B, - width: R, - x: c, - y: m, - "xlink:href": U.toDataURL("image/png"), - }), - Tt.exit().remove()); - } - function St(t, e) { - if (void 0 !== t) { - var r = W(t); - return ( - (r[0] = Math.round(r[0])), - (r[1] = Math.round(r[1])), - (r[2] = Math.round(r[2])), - (rt += e), - (nt += r[0] * e), - (it += r[1] * e), - (at += r[2] * e), - r - ); - } - return [0, 0, 0, 0]; - } - function Ct(t, e, r, n) { - var i = t[r.bin0]; - if (void 0 === i) return St(void 0, 1); - var a, - o = t[r.bin1], - s = e[r.bin0], - l = e[r.bin1], - c = o - i || 0, - u = s - i || 0; - return ( - (a = - void 0 === o - ? void 0 === l - ? 0 - : void 0 === s - ? 2 * (l - i) - : (2 * (2 * l - s - i)) / 3 - : void 0 === l - ? void 0 === s - ? 0 - : (2 * (2 * i - o - s)) / 3 - : void 0 === s - ? (2 * (2 * l - o - i)) / 3 - : l + i - o - s), - St(i + r.frac * c + n.frac * (u + r.frac * a)) - ); - } - } - function h(t, e) { - var r = e.length - 2, - n = o.constrain(o.findBin(t, e), 0, r), - i = e[n], - a = e[n + 1], - s = o.constrain(n + (t - i) / (a - i) - 0.5, 0, r), - l = Math.round(s), - c = Math.abs(s - l); - return s && s !== r && c - ? { bin0: l, frac: c, bin1: Math.round(l + c / (s - l)) } - : { bin0: l, bin1: l, frac: 0 }; - } - function p(t, e) { - var r = e.length - 1, - n = o.constrain(o.findBin(t, e), 0, r), - i = e[n], - a = (t - i) / (e[n + 1] - i) || 0; - return a <= 0 - ? { bin0: n, bin1: n, frac: 0 } - : a < 0.5 - ? { bin0: n, bin1: n + 1, frac: a } - : { bin0: n + 1, bin1: n, frac: 1 - a }; - } - function d(t, e, r) { - ((t[e] = r[0]), - (t[e + 1] = r[1]), - (t[e + 2] = r[2]), - (t[e + 3] = Math.round(255 * r[3]))); - } - e.exports = function (t, e, r, i) { - var a = c(r); - i.selectAll(".hm > image").each(function (t) { - var e = t.trace || {}; - a[e.uid] || n.select(this.parentNode).remove(); - }); - for (var o = 0; o < r.length; o++) f(t, e, r[o], i); - }; - }, - { - "../../components/colorscale": 489, - "../../constants/xmlns_namespaces": 581, - "../../lib": 602, - "../../plots/get_data": 684, - "../../registry": 732, - "./max_row_length": 846, - d3: 130, - tinycolor2: 415, - }, - ], - 848: [ - function (t, e, r) { - "use strict"; - var n = t("d3"); - e.exports = function (t) { - n.select(t) - .selectAll(".hm image") - .style("opacity", function (t) { - return t.trace.opacity; - }); - }; - }, - { d3: 130 }, - ], - 849: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - (!1 === r("zsmooth") && (r("xgap"), r("ygap")), r("zhoverformat")); - }; - }, - {}, - ], - 850: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../registry"); - function o(t, e) { - var r = e(t); - return ( - "scaled" === (r ? e(t + "type", "array") : "scaled") && - (e(t + "0"), e("d" + t)), - r - ); - } - e.exports = function (t, e, r, s, l, c) { - var u, - f, - h = r("z"); - if (((l = l || "x"), (c = c || "y"), void 0 === h || !h.length)) return 0; - if (i.isArray1D(t.z)) { - if (((u = r(l)), (f = r(c)), !(u && u.length && f && f.length))) return 0; - e._length = Math.min(u.length, f.length, h.length); - } else { - if ( - ((u = o(l, r)), - (f = o(c, r)), - !(function (t) { - for (var e, r = !0, a = !1, o = !1, s = 0; s < t.length; s++) { - if (((e = t[s]), !i.isArrayOrTypedArray(e))) { - r = !1; - break; - } - e.length > 0 && (a = !0); - for (var l = 0; l < e.length; l++) - if (n(e[l])) { - o = !0; - break; - } - } - return r && a && o; - })(h)) - ) - return 0; - (r("transpose"), (e._length = null)); - } - return ( - a.getComponentMethod("calendars", "handleTraceDefaults")(t, e, [l, c], s), - !0 - ); - }; - }, - { "../../lib": 602, "../../registry": 732, "fast-isnumeric": 196 }, - ], - 851: [ - function (t, e, r) { - "use strict"; - for ( - var n = t("../heatmap/attributes"), - i = t("../../components/colorscale/attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../../lib/extend").extendFlat, - s = t("../../plot_api/edit_types").overrideAll, - l = [ - "z", - "x", - "x0", - "dx", - "y", - "y0", - "dy", - "text", - "transpose", - "xtype", - "ytype", - ], - c = {}, - u = 0; - u < l.length; - u++ - ) { - var f = l[u]; - c[f] = n[f]; - } - (o( - c, - i, - { autocolorscale: o({}, i.autocolorscale, { dflt: !1 }) }, - { colorbar: a }, - ), - (e.exports = s(c, "calc", "nested"))); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../heatmap/attributes": 835, - }, - ], - 852: [ - function (t, e, r) { - "use strict"; - var n = t("gl-heatmap2d"), - i = t("../../plots/cartesian/axes"), - a = t("../../lib/str2rgbarray"); - function o(t, e) { - ((this.scene = t), - (this.uid = e), - (this.type = "heatmapgl"), - (this.name = ""), - (this.hoverinfo = "all"), - (this.xData = []), - (this.yData = []), - (this.zData = []), - (this.textLabels = []), - (this.idToIndex = []), - (this.bounds = [0, 0, 0, 0]), - (this.options = { - z: [], - x: [], - y: [], - shape: [0, 0], - colorLevels: [0], - colorValues: [0, 0, 0, 1], - }), - (this.heatmap = n(t.glplot, this.options)), - (this.heatmap._trace = this)); - } - var s = o.prototype; - ((s.handlePick = function (t) { - var e = this.options, - r = e.shape, - n = t.pointId, - i = n % r[0], - a = Math.floor(n / r[0]), - o = n; - return { - trace: this, - dataCoord: t.dataCoord, - traceCoord: [e.x[i], e.y[a], e.z[o]], - textLabel: this.textLabels[n], - name: this.name, - pointIndex: [a, i], - hoverinfo: this.hoverinfo, - }; - }), - (s.update = function (t, e) { - var r = e[0]; - ((this.index = t.index), - (this.name = t.name), - (this.hoverinfo = t.hoverinfo)); - var n = r.z; - this.options.z = [].concat.apply([], n); - var o = n[0].length, - s = n.length; - ((this.options.shape = [o, s]), - (this.options.x = r.x), - (this.options.y = r.y)); - var l = (function (t) { - for ( - var e = t.colorscale, - r = t.zmin, - n = t.zmax, - i = e.length, - o = new Array(i), - s = new Array(4 * i), - l = 0; - l < i; - l++ - ) { - var c = e[l], - u = a(c[1]); - o[l] = r + c[0] * (n - r); - for (var f = 0; f < 4; f++) s[4 * l + f] = u[f]; - } - return { colorLevels: o, colorValues: s }; - })(t); - ((this.options.colorLevels = l.colorLevels), - (this.options.colorValues = l.colorValues), - (this.textLabels = [].concat.apply([], t.text)), - this.heatmap.update(this.options), - i.expand(this.scene.xaxis, r.x), - i.expand(this.scene.yaxis, r.y)); - }), - (s.dispose = function () { - this.heatmap.dispose(); - }), - (e.exports = function (t, e, r) { - var n = new o(t, e.uid); - return (n.update(e, r), n); - })); - }, - { - "../../lib/str2rgbarray": 625, - "../../plots/cartesian/axes": 648, - "gl-heatmap2d": 217, - }, - ], - 853: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("../heatmap/defaults")), - (n.colorbar = t("../heatmap/colorbar")), - (n.calc = t("../heatmap/calc")), - (n.plot = t("./convert")), - (n.moduleType = "trace"), - (n.name = "heatmapgl"), - (n.basePlotModule = t("../../plots/gl2d")), - (n.categories = ["gl", "gl2d", "2dMap"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/gl2d": 687, - "../heatmap/calc": 836, - "../heatmap/colorbar": 838, - "../heatmap/defaults": 840, - "./attributes": 851, - "./convert": 852, - }, - ], - 854: [ - function (t, e, r) { - "use strict"; - var n = t("../bar/attributes"); - function i(t) { - var e = {}; - e["autobin" + t] = !1; - var r = {}; - return ( - (r["^autobin" + t] = !1), - { - start: { - valType: "any", - dflt: null, - editType: "calc", - impliedEdits: r, - }, - end: { valType: "any", dflt: null, editType: "calc", impliedEdits: r }, - size: { valType: "any", dflt: null, editType: "calc", impliedEdits: r }, - editType: "calc", - impliedEdits: e, - } - ); - } - e.exports = { - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - y: { valType: "data_array", editType: "calc+clearAxisTypes" }, - text: n.text, - orientation: n.orientation, - histfunc: { - valType: "enumerated", - values: ["count", "sum", "avg", "min", "max"], - dflt: "count", - editType: "calc", - }, - histnorm: { - valType: "enumerated", - values: ["", "percent", "probability", "density", "probability density"], - dflt: "", - editType: "calc", - }, - cumulative: { - enabled: { valType: "boolean", dflt: !1, editType: "calc" }, - direction: { - valType: "enumerated", - values: ["increasing", "decreasing"], - dflt: "increasing", - editType: "calc", - }, - currentbin: { - valType: "enumerated", - values: ["include", "exclude", "half"], - dflt: "include", - editType: "calc", - }, - editType: "calc", - }, - autobinx: { - valType: "boolean", - dflt: null, - editType: "calc", - impliedEdits: { - "xbins.start": void 0, - "xbins.end": void 0, - "xbins.size": void 0, - }, - }, - nbinsx: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, - xbins: i("x"), - autobiny: { - valType: "boolean", - dflt: null, - editType: "calc", - impliedEdits: { - "ybins.start": void 0, - "ybins.end": void 0, - "ybins.size": void 0, - }, - }, - nbinsy: { valType: "integer", min: 0, dflt: 0, editType: "calc" }, - ybins: i("y"), - marker: n.marker, - selected: n.selected, - unselected: n.unselected, - _deprecated: { bardir: n._deprecated.bardir }, - }; - }, - { "../bar/attributes": 742 }, - ], - 855: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - for (var r = t.length, n = 0, i = 0; i < r; i++) - e[i] ? ((t[i] /= e[i]), (n += t[i])) : (t[i] = null); - return n; - }; - }, - {}, - ], - 856: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n) { - return ( - r("histnorm"), - n.forEach(function (t) { - (r(t + "bins.start"), - r(t + "bins.end"), - r(t + "bins.size"), - !1 !== r("autobin" + t) && r("nbins" + t)); - }), - e - ); - }; - }, - {}, - ], - 857: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"); - e.exports = { - count: function (t, e, r) { - return (r[t]++, 1); - }, - sum: function (t, e, r, i) { - var a = i[e]; - return n(a) ? ((a = Number(a)), (r[t] += a), a) : 0; - }, - avg: function (t, e, r, i, a) { - var o = i[e]; - return (n(o) && ((o = Number(o)), (r[t] += o), a[t]++), 0); - }, - min: function (t, e, r, i) { - var a = i[e]; - if (n(a)) { - if (((a = Number(a)), !n(r[t]))) return ((r[t] = a), a); - if (r[t] > a) { - var o = a - r[t]; - return ((r[t] = a), o); - } - } - return 0; - }, - max: function (t, e, r, i) { - var a = i[e]; - if (n(a)) { - if (((a = Number(a)), !n(r[t]))) return ((r[t] = a), a); - if (r[t] < a) { - var o = a - r[t]; - return ((r[t] = a), o); - } - } - return 0; - }, - }; - }, - { "fast-isnumeric": 196 }, - ], - 858: [ - function (t, e, r) { - "use strict"; - var n = t("../../constants/numerical"), - i = n.ONEAVGYEAR, - a = n.ONEAVGMONTH, - o = n.ONEDAY, - s = n.ONEHOUR, - l = n.ONEMIN, - c = n.ONESEC, - u = t("../../plots/cartesian/axes").tickIncrement; - function f(t, e, r, n) { - if (t * e <= 0) return 1 / 0; - for ( - var i = Math.abs(e - t), a = "date" === r.type, o = h(i, a), s = 0; - s < 10; - s++ - ) { - var l = h(80 * o, a); - if (o === l) break; - if (!p(l, t, e, a, r, n)) break; - o = l; - } - return o; - } - function h(t, e) { - return e && t > c - ? t > o - ? t > 1.1 * i - ? i - : t > 1.1 * a - ? a - : o - : t > s - ? s - : t > l - ? l - : c - : Math.pow(10, Math.floor(Math.log(t) / Math.LN10)); - } - function p(t, e, r, n, a, s) { - if (n && t > o) { - var l = d(e, a, s), - c = d(r, a, s), - u = t === i ? 0 : 1; - return l[u] !== c[u]; - } - return Math.floor(r / t) - Math.floor(e / t) > 0.1; - } - function d(t, e, r) { - var n = e.c2d(t, i, r).split("-"); - return ("" === n[0] && (n.unshift(), (n[0] = "-" + n[0])), n); - } - e.exports = function (t, e, r, n, a) { - var s, - l, - c = -1.1 * e, - h = -0.1 * e, - p = t - h, - d = r[0], - g = r[1], - m = Math.min(f(d + h, d + p, n, a), f(g + h, g + p, n, a)), - v = Math.min(f(d + c, d + h, n, a), f(g + c, g + h, n, a)); - if ( - (m > v && v < Math.abs(g - d) / 4e3 - ? ((s = m), (l = !1)) - : ((s = Math.min(m, v)), (l = !0)), - "date" === n.type && s > o) - ) { - var y = s === i ? 1 : 6, - x = s === i ? "M12" : "M1"; - return function (e, r) { - var o = n.c2d(e, i, a), - s = o.indexOf("-", y); - s > 0 && (o = o.substr(0, s)); - var c = n.d2c(o, 0, a); - if (c < e) { - var f = u(c, x, !1, a); - (c + f) / 2 < e + t && (c = f); - } - return r && l ? u(c, x, !0, a) : c; - }; - } - return function (e, r) { - var n = s * Math.round(e / s); - return ( - n + s / 10 < e && n + 0.9 * s < e + t && (n += s), - r && l && (n -= s), - n - ); - }; - }; - }, - { "../../constants/numerical": 579, "../../plots/cartesian/axes": 648 }, - ], - 859: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/cartesian/axes"), - o = t("../bar/arrays_to_calcdata"), - s = t("./bin_functions"), - l = t("./norm_functions"), - c = t("./average"), - u = t("./clean_bins"), - f = t("../../constants/numerical").ONEAVGMONTH, - h = t("./bin_label_vals"); - function p(t, e, r, i, o) { - var s, - l, - c, - u, - f, - h = i + "bins", - p = "overlay" === t._fullLayout.barmode; - if (e._autoBinFinished) delete e._autoBinFinished; - else { - var v = p ? [e] : g(t, e), - y = [], - x = 1 / 0, - b = 1 / 0, - _ = -1 / 0, - w = "autobin" + i; - for (s = 0; s < v.length; s++) { - f = (l = v[s])._pos0 = r.makeCalcdata(l, i); - var k = l[h]; - if (l[w] || !k || null === k.start || null === k.end) { - c = l[i + "calendar"]; - var M = l.cumulative; - if ( - ((k = a.autoBin(f, r, l["nbins" + i], !1, c)), - p && 0 === k._dataSpan && "category" !== r.type) - ) { - if (o) return [k, f, !0]; - k = d(t, e, r, i, h); - } - (M.enabled && - "include" !== M.currentbin && - ("decreasing" === M.direction - ? (b = Math.min(b, r.r2c(k.start, 0, c) - k.size)) - : (_ = Math.max(_, r.r2c(k.end, 0, c) + k.size))), - y.push(l)); - } else - u || - (u = { - size: k.size, - start: r.r2c(k.start, 0, c), - end: r.r2c(k.end, 0, c), - }); - ((x = m(x, k.size)), - (b = Math.min(b, r.r2c(k.start, 0, c))), - (_ = Math.max(_, r.r2c(k.end, 0, c))), - s && (l._autoBinFinished = 1)); - } - if (u && n(u.size) && n(x)) { - x = x > u.size / 1.9 ? u.size : u.size / Math.ceil(u.size / x); - var A = u.start + (u.size - x) / 2; - b = A - x * Math.ceil((A - b) / x); - } - for (s = 0; s < y.length; s++) - ((c = (l = y[s])[i + "calendar"]), - (l._input[h] = l[h] = - { start: r.c2r(b, 0, c), end: r.c2r(_, 0, c), size: x }), - (l._input[w] = l[w])); - } - return ((f = e._pos0), delete e._pos0, [e[h], f]); - } - function d(t, e, r, n, a) { - var o, - s, - l = g(t, e), - c = !1, - u = 1 / 0, - f = [e]; - for (o = 0; o < l.length; o++) - if ((s = l[o]) === e) c = !0; - else if (c) { - var h = p(t, s, r, n, !0), - d = h[0], - m = h[2]; - ((s._autoBinFinished = 1), - (s._pos0 = h[1]), - m ? f.push(s) : (u = Math.min(u, d.size))); - } else u = Math.min(u, s[a].size); - var v = new Array(f.length); - for (o = 0; o < f.length; o++) - for (var y = f[o]._pos0, x = 0; x < y.length; x++) - if (void 0 !== y[x]) { - v[o] = y[x]; - break; - } - for ( - isFinite(u) || (u = i.distinctVals(v).minDiff), o = 0; - o < f.length; - o++ - ) { - var b = (s = f[o])[n + "calendar"]; - s._input[a] = s[a] = { - start: r.c2r(v[o] - u / 2, 0, b), - end: r.c2r(v[o] + u / 2, 0, b), - size: u, - }; - } - return e[a]; - } - function g(t, e) { - for ( - var r = e.xaxis, - n = e.yaxis, - i = e.orientation, - a = [], - o = t._fullData, - s = 0; - s < o.length; - s++ - ) { - var l = o[s]; - "histogram" === l.type && - l.orientation === i && - l.xaxis === r && - l.yaxis === n && - a.push(l); - } - return a; - } - function m(t, e) { - if (t === 1 / 0) return e; - var r = v(t); - return v(e) < r ? e : t; - } - function v(t) { - return n(t) - ? t - : "string" == typeof t && "M" === t.charAt(0) - ? f * +t.substr(1) - : 1 / 0; - } - e.exports = function (t, e) { - if (!0 === e.visible) { - var r, - f = [], - d = [], - g = a.getFromId( - t, - "h" === e.orientation ? e.yaxis || "y" : e.xaxis || "x", - ), - m = "h" === e.orientation ? "y" : "x", - v = { x: "y", y: "x" }[m], - y = e[m + "calendar"], - x = e.cumulative; - u(e, g, m); - var b, - _, - w, - k = p(t, e, g, m), - M = k[0], - A = k[1], - T = "string" == typeof M.size, - S = [], - C = T ? S : M, - E = [], - L = [], - z = [], - P = 0, - D = e.histnorm, - O = e.histfunc, - I = -1 !== D.indexOf("density"); - x.enabled && I && ((D = D.replace(/ ?density$/, "")), (I = !1)); - var R, - B = "max" === O || "min" === O ? null : 0, - F = s.count, - N = l[D], - j = !1, - V = function (t) { - return g.r2c(t, 0, y); - }; - for ( - i.isArrayOrTypedArray(e[v]) && - "count" !== O && - ((R = e[v]), (j = "avg" === O), (F = s[O])), - r = V(M.start), - _ = V(M.end) + (r - a.tickIncrement(r, M.size, !1, y)) / 1e6; - r < _ && - f.length < 1e6 && - ((b = a.tickIncrement(r, M.size, !1, y)), - f.push((r + b) / 2), - d.push(B), - z.push([]), - S.push(r), - I && E.push(1 / (b - r)), - j && L.push(0), - !(b <= r)); - - ) - r = b; - (S.push(r), - T || - "date" !== g.type || - (C = { start: V(C.start), end: V(C.end), size: C.size })); - var U, - q = d.length, - H = !0, - G = 1 / 0, - W = 1 / 0, - Y = {}; - for (r = 0; r < A.length; r++) { - var X = A[r]; - (w = i.findBin(X, C)) >= 0 && - w < q && - ((P += F(w, r, d, R, L)), - H && z[w].length && X !== A[z[w][0]] && (H = !1), - z[w].push(r), - (Y[r] = w), - (G = Math.min(G, X - S[w])), - (W = Math.min(W, S[w + 1] - X))); - } - (H || (U = h(G, W, S, g, y)), - j && (P = c(d, L)), - N && N(d, P, E), - x.enabled && - (function (t, e, r) { - var n, i, a; - function o(e) { - ((a = t[e]), (t[e] /= 2)); - } - function s(e) { - ((i = t[e]), (t[e] = a + i / 2), (a += i)); - } - if ("half" === r) - if ("increasing" === e) for (o(0), n = 1; n < t.length; n++) s(n); - else for (o(t.length - 1), n = t.length - 2; n >= 0; n--) s(n); - else if ("increasing" === e) { - for (n = 1; n < t.length; n++) t[n] += t[n - 1]; - "exclude" === r && (t.unshift(0), t.pop()); - } else { - for (n = t.length - 2; n >= 0; n--) t[n] += t[n + 1]; - "exclude" === r && (t.push(0), t.shift()); - } - })(d, x.direction, x.currentbin)); - var Z = Math.min(f.length, d.length), - J = [], - K = 0, - Q = Z - 1; - for (r = 0; r < Z; r++) - if (d[r]) { - K = r; - break; - } - for (r = Z - 1; r >= K; r--) - if (d[r]) { - Q = r; - break; - } - for (r = K; r <= Q; r++) - if (n(f[r]) && n(d[r])) { - var $ = { p: f[r], s: d[r], b: 0 }; - (x.enabled || - (($.pts = z[r]), - H - ? ($.p0 = $.p1 = z[r].length ? A[z[r][0]] : f[r]) - : (($.p0 = U(S[r])), ($.p1 = U(S[r + 1], !0)))), - J.push($)); - } - return ( - 1 === J.length && - (J[0].width1 = a.tickIncrement(J[0].p, M.size, !1, y) - J[0].p), - o(J, e), - i.isArrayOrTypedArray(e.selectedpoints) && i.tagSelected(J, e, Y), - J - ); - } - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../bar/arrays_to_calcdata": 741, - "./average": 855, - "./bin_functions": 857, - "./bin_label_vals": 858, - "./clean_bins": 860, - "./norm_functions": 865, - "fast-isnumeric": 196, - }, - ], - 860: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib").cleanDate, - a = t("../../constants/numerical"), - o = a.ONEDAY, - s = a.BADNUM; - e.exports = function (t, e, r) { - var a = e.type, - l = r + "bins", - c = t[l]; - c || (c = t[l] = {}); - var u = - "date" === a - ? function (t) { - return t || 0 === t ? i(t, s, c.calendar) : null; - } - : function (t) { - return n(t) ? Number(t) : null; - }; - ((c.start = u(c.start)), (c.end = u(c.end))); - var f = "date" === a ? o : 1, - h = c.size; - if (n(h)) c.size = h > 0 ? Number(h) : f; - else if ("string" != typeof h) c.size = f; - else { - var p = h.charAt(0), - d = h.substr(1); - ((d = n(d) ? Number(d) : 0) <= 0 || - "date" !== a || - "M" !== p || - d !== Math.round(d)) && - (c.size = f); - } - var g = "autobin" + r; - ("boolean" != typeof t[g] && - (t[g] = - t._fullInput[g] = - t._input[g] = - !((c.start || 0 === c.start) && (c.end || 0 === c.end))), - t[g] || (delete t["nbins" + r], delete t._fullInput["nbins" + r])); - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "fast-isnumeric": 196 }, - ], - 861: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../components/color"), - o = t("./bin_defaults"), - s = t("../bar/style_defaults"), - l = t("./attributes"); - e.exports = function (t, e, r, c) { - function u(r, n) { - return i.coerce(t, e, l, r, n); - } - var f = u("x"), - h = u("y"); - (u("cumulative.enabled") && - (u("cumulative.direction"), u("cumulative.currentbin")), - u("text")); - var p = u("orientation", h && !f ? "h" : "v"), - d = "v" === p ? "x" : "y", - g = "v" === p ? "y" : "x", - m = f && h ? Math.min(f.length && h.length) : (e[d] || []).length; - if (m) { - ((e._length = m), - n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y"], - c, - ), - e[g] && u("histfunc"), - o(t, e, u, [d]), - s(t, e, u, r, c)); - var v = n.getComponentMethod("errorbars", "supplyDefaults"); - (v(t, e, a.defaultLine, { axis: "y" }), - v(t, e, a.defaultLine, { axis: "x", inherit: "y" }), - i.coerceSelectionMarkerOpacity(e, u)); - } else e.visible = !1; - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../registry": 732, - "../bar/style_defaults": 754, - "./attributes": 854, - "./bin_defaults": 856, - }, - ], - 862: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i) { - if ( - ((t.x = "xVal" in e ? e.xVal : e.x), - (t.y = "yVal" in e ? e.yVal : e.y), - e.xa && (t.xaxis = e.xa), - e.ya && (t.yaxis = e.ya), - !(r.cumulative || {}).enabled) - ) { - var a, - o = Array.isArray(i) ? n[0].pts[i[0]][i[1]] : n[i].pts; - if ( - ((t.pointNumbers = o), - (t.binNumber = t.pointNumber), - delete t.pointNumber, - delete t.pointIndex, - r._indexToPoints) - ) { - a = []; - for (var s = 0; s < o.length; s++) a = a.concat(r._indexToPoints[o[s]]); - } else a = o; - t.pointIndices = a; - } - return t; - }; - }, - {}, - ], - 863: [ - function (t, e, r) { - "use strict"; - var n = t("../bar/hover"), - i = t("../../plots/cartesian/axes").hoverLabelText; - e.exports = function (t, e, r, a) { - var o = n(t, e, r, a); - if (o) { - var s = (t = o[0]).cd[t.index], - l = t.cd[0].trace; - if (!l.cumulative.enabled) { - var c = "h" === l.orientation ? "y" : "x"; - t[c + "Label"] = i(t[c + "a"], s.p0, s.p1); - } - return o; - } - }; - }, - { "../../plots/cartesian/axes": 648, "../bar/hover": 745 }, - ], - 864: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.layoutAttributes = t("../bar/layout_attributes")), - (n.supplyDefaults = t("./defaults")), - (n.supplyLayoutDefaults = t("../bar/layout_defaults")), - (n.calc = t("./calc")), - (n.setPositions = t("../bar/set_positions")), - (n.plot = t("../bar/plot")), - (n.layerName = "barlayer"), - (n.style = t("../bar/style").style), - (n.styleOnSelect = t("../bar/style").styleOnSelect), - (n.colorbar = t("../scatter/colorbar")), - (n.hoverPoints = t("./hover")), - (n.selectPoints = t("../bar/select")), - (n.eventData = t("./event_data")), - (n.moduleType = "trace"), - (n.name = "histogram"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "bar", - "histogram", - "oriented", - "errorBarsOK", - "showLegend", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../bar/layout_attributes": 747, - "../bar/layout_defaults": 748, - "../bar/plot": 749, - "../bar/select": 750, - "../bar/set_positions": 751, - "../bar/style": 753, - "../scatter/colorbar": 930, - "./attributes": 854, - "./calc": 859, - "./defaults": 861, - "./event_data": 862, - "./hover": 863, - }, - ], - 865: [ - function (t, e, r) { - "use strict"; - e.exports = { - percent: function (t, e) { - for (var r = t.length, n = 100 / e, i = 0; i < r; i++) t[i] *= n; - }, - probability: function (t, e) { - for (var r = t.length, n = 0; n < r; n++) t[n] /= e; - }, - density: function (t, e, r, n) { - var i = t.length; - n = n || 1; - for (var a = 0; a < i; a++) t[a] *= r[a] * n; - }, - "probability density": function (t, e, r, n) { - var i = t.length; - n && (e /= n); - for (var a = 0; a < i; a++) t[a] *= r[a] / e; - }, - }; - }, - {}, - ], - 866: [ - function (t, e, r) { - "use strict"; - var n = t("../histogram/attributes"), - i = t("../heatmap/attributes"), - a = t("../../components/colorscale/attributes"), - o = t("../../components/colorbar/attributes"), - s = t("../../lib/extend").extendFlat; - e.exports = s( - {}, - { - x: n.x, - y: n.y, - z: { valType: "data_array", editType: "calc" }, - marker: { - color: { valType: "data_array", editType: "calc" }, - editType: "calc", - }, - histnorm: n.histnorm, - histfunc: n.histfunc, - autobinx: n.autobinx, - nbinsx: n.nbinsx, - xbins: n.xbins, - autobiny: n.autobiny, - nbinsy: n.nbinsy, - ybins: n.ybins, - xgap: i.xgap, - ygap: i.ygap, - zsmooth: i.zsmooth, - zhoverformat: i.zhoverformat, - }, - a, - { autocolorscale: s({}, a.autocolorscale, { dflt: !1 }) }, - { colorbar: o }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../heatmap/attributes": 835, - "../histogram/attributes": 854, - }, - ], - 867: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../histogram/bin_functions"), - o = t("../histogram/norm_functions"), - s = t("../histogram/average"), - l = t("../histogram/clean_bins"), - c = t("../histogram/bin_label_vals"); - function u(t, e, r, n, a, o, s) { - var c = e + "bins", - u = "autobin" + e, - f = t[c]; - (l(t, n, e), - (!t[u] && f && null !== f.start && null !== f.end) || - ((f = i.autoBin(r, n, t["nbins" + e], "2d", s)), - "histogram2dcontour" === t.type && - ((f.start = o(i.tickIncrement(a(f.start), f.size, !0, s))), - (f.end = o(i.tickIncrement(a(f.end), f.size, !1, s)))), - (t._input[c] = t[c] = f), - (t._input[u] = t[u]))); - } - function f(t, e, r, n) { - var i, - a = new Array(t); - if (n) for (i = 0; i < t; i++) a[i] = 1 / (e[i + 1] - e[i]); - else { - var o = 1 / r; - for (i = 0; i < t; i++) a[i] = o; - } - return a; - } - function h(t, e) { - return { start: t(e.start), end: t(e.end), size: e.size }; - } - function p(t, e, r, n, i, a) { - var o, - s = t.length - 1, - l = new Array(s); - if (e) for (o = 0; o < s; o++) l[o] = [e[o], e[o]]; - else { - var u = c(r, n, t, i, a); - for (o = 0; o < s; o++) l[o] = [u(t[o]), u(t[o + 1], !0)]; - } - return l; - } - e.exports = function (t, e) { - var r, - l, - c, - d, - g = i.getFromId(t, e.xaxis || "x"), - m = e.x ? g.makeCalcdata(e, "x") : [], - v = i.getFromId(t, e.yaxis || "y"), - y = e.y ? v.makeCalcdata(e, "y") : [], - x = e.xcalendar, - b = e.ycalendar, - _ = function (t) { - return g.r2c(t, 0, x); - }, - w = function (t) { - return v.r2c(t, 0, b); - }, - k = function (t) { - return g.c2r(t, 0, x); - }, - M = function (t) { - return v.c2r(t, 0, b); - }, - A = e._length; - (m.length > A && m.splice(A, m.length - A), - y.length > A && y.splice(A, y.length - A), - u(e, "x", m, g, _, k, x), - u(e, "y", y, v, w, M, b)); - var T = [], - S = [], - C = [], - E = "string" == typeof e.xbins.size, - L = "string" == typeof e.ybins.size, - z = [], - P = [], - D = E ? z : e.xbins, - O = L ? P : e.ybins, - I = 0, - R = [], - B = [], - F = e.histnorm, - N = e.histfunc, - j = -1 !== F.indexOf("density"), - V = "max" === N || "min" === N ? null : 0, - U = a.count, - q = o[F], - H = !1, - G = [], - W = [], - Y = - "z" in e - ? e.z - : "marker" in e && Array.isArray(e.marker.color) - ? e.marker.color - : ""; - Y && "count" !== N && ((H = "avg" === N), (U = a[N])); - var X = e.xbins, - Z = _(X.start), - J = _(X.end) + (Z - i.tickIncrement(Z, X.size, !1, x)) / 1e6; - for (r = Z; r < J; r = i.tickIncrement(r, X.size, !1, x)) - (S.push(V), z.push(r), H && C.push(0)); - z.push(r); - var K = S.length, - Q = _(e.xbins.start), - $ = (r - Q) / K, - tt = k(Q + $ / 2); - for ( - Z = w((X = e.ybins).start), - J = w(X.end) + (Z - i.tickIncrement(Z, X.size, !1, b)) / 1e6, - r = Z; - r < J; - r = i.tickIncrement(r, X.size, !1, b) - ) { - (T.push(S.slice()), P.push(r)); - var et = new Array(K); - for (l = 0; l < K; l++) et[l] = []; - (B.push(et), H && R.push(C.slice())); - } - P.push(r); - var rt = T.length, - nt = w(e.ybins.start), - it = (r - nt) / rt, - at = M(nt + it / 2); - (j && ((G = f(S.length, D, $, E)), (W = f(T.length, O, it, L))), - E || "date" !== g.type || (D = h(_, D)), - L || "date" !== v.type || (O = h(w, O))); - var ot = !0, - st = !0, - lt = new Array(K), - ct = new Array(rt), - ut = 1 / 0, - ft = 1 / 0, - ht = 1 / 0, - pt = 1 / 0; - for (r = 0; r < A; r++) { - var dt = m[r], - gt = y[r]; - ((c = n.findBin(dt, D)), - (d = n.findBin(gt, O)), - c >= 0 && - c < K && - d >= 0 && - d < rt && - ((I += U(c, r, T[d], Y, R[d])), - B[d][c].push(r), - ot && (void 0 === lt[c] ? (lt[c] = dt) : lt[c] !== dt && (ot = !1)), - st && (void 0 === ct[c] ? (ct[c] = gt) : ct[c] !== gt && (st = !1)), - (ut = Math.min(ut, dt - z[c])), - (ft = Math.min(ft, z[c + 1] - dt)), - (ht = Math.min(ht, gt - P[d])), - (pt = Math.min(pt, P[d + 1] - gt)))); - } - if (H) for (d = 0; d < rt; d++) I += s(T[d], R[d]); - if (q) for (d = 0; d < rt; d++) q(T[d], I, G, W[d]); - return { - x: m, - xRanges: p(z, ot && lt, ut, ft, g, x), - x0: tt, - dx: $, - y: y, - yRanges: p(P, st && ct, ht, pt, v, b), - y0: at, - dy: it, - z: T, - pts: B, - }; - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../histogram/average": 855, - "../histogram/bin_functions": 857, - "../histogram/bin_label_vals": 858, - "../histogram/clean_bins": 860, - "../histogram/norm_functions": 865, - }, - ], - 868: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./sample_defaults"), - a = t("../heatmap/style_defaults"), - o = t("../../components/colorscale/defaults"), - s = t("./attributes"); - e.exports = function (t, e, r, l) { - function c(r, i) { - return n.coerce(t, e, s, r, i); - } - (i(t, e, c, l), - !1 !== e.visible && - (a(t, e, c, l), o(t, e, l, c, { prefix: "", cLetter: "z" }))); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../lib": 602, - "../heatmap/style_defaults": 849, - "./attributes": 866, - "./sample_defaults": 871, - }, - ], - 869: [ - function (t, e, r) { - "use strict"; - var n = t("../heatmap/hover"), - i = t("../../plots/cartesian/axes").hoverLabelText; - e.exports = function (t, e, r, a, o, s) { - var l = n(t, e, r, a, o, s); - if (l) { - var c = (t = l[0]).index, - u = c[0], - f = c[1], - h = t.cd[0], - p = h.xRanges[f], - d = h.yRanges[u]; - return ( - (t.xLabel = i(t.xa, p[0], p[1])), - (t.yLabel = i(t.ya, d[0], d[1])), - l - ); - } - }; - }, - { "../../plots/cartesian/axes": 648, "../heatmap/hover": 842 }, - ], - 870: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("../heatmap/calc")), - (n.plot = t("../heatmap/plot")), - (n.layerName = "heatmaplayer"), - (n.colorbar = t("../heatmap/colorbar")), - (n.style = t("../heatmap/style")), - (n.hoverPoints = t("./hover")), - (n.eventData = t("../histogram/event_data")), - (n.moduleType = "trace"), - (n.name = "histogram2d"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = ["cartesian", "svg", "2dMap", "histogram"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../heatmap/calc": 836, - "../heatmap/colorbar": 838, - "../heatmap/plot": 847, - "../heatmap/style": 848, - "../histogram/event_data": 862, - "./attributes": 866, - "./defaults": 868, - "./hover": 869, - }, - ], - 871: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../histogram/bin_defaults"); - e.exports = function (t, e, r, a) { - var o = r("x"), - s = r("y"); - if (o && o.length && s && s.length) { - ((e._length = Math.min(o.length, s.length)), - n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y"], - a, - ), - (r("z") || r("marker.color")) && r("histfunc")); - i(t, e, r, ["x", "y"]); - } else e.visible = !1; - }; - }, - { "../../registry": 732, "../histogram/bin_defaults": 856 }, - ], - 872: [ - function (t, e, r) { - "use strict"; - var n = t("../histogram2d/attributes"), - i = t("../contour/attributes"), - a = t("../../components/colorscale/attributes"), - o = t("../../components/colorbar/attributes"), - s = t("../../lib/extend").extendFlat; - e.exports = s( - { - x: n.x, - y: n.y, - z: n.z, - marker: n.marker, - histnorm: n.histnorm, - histfunc: n.histfunc, - autobinx: n.autobinx, - nbinsx: n.nbinsx, - xbins: n.xbins, - autobiny: n.autobiny, - nbinsy: n.nbinsy, - ybins: n.ybins, - autocontour: i.autocontour, - ncontours: i.ncontours, - contours: i.contours, - line: i.line, - zhoverformat: n.zhoverformat, - }, - a, - { - zmin: s({}, a.zmin, { editType: "calc" }), - zmax: s({}, a.zmax, { editType: "calc" }), - }, - { colorbar: o }, - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../contour/attributes": 806, - "../histogram2d/attributes": 866, - }, - ], - 873: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../histogram2d/sample_defaults"), - a = t("../contour/contours_defaults"), - o = t("../contour/style_defaults"), - s = t("./attributes"); - e.exports = function (t, e, r, l) { - function c(r, i) { - return n.coerce(t, e, s, r, i); - } - (i(t, e, c, l), - !1 !== e.visible && - (a(t, e, c, function (r) { - return n.coerce2(t, e, s, r); - }), - o(t, e, c, l))); - }; - }, - { - "../../lib": 602, - "../contour/contours_defaults": 813, - "../contour/style_defaults": 827, - "../histogram2d/sample_defaults": 871, - "./attributes": 872, - }, - ], - 874: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("../contour/calc")), - (n.plot = t("../contour/plot").plot), - (n.layerName = "contourlayer"), - (n.style = t("../contour/style")), - (n.colorbar = t("../contour/colorbar")), - (n.hoverPoints = t("../contour/hover")), - (n.moduleType = "trace"), - (n.name = "histogram2dcontour"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = ["cartesian", "svg", "2dMap", "contour", "histogram"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../contour/calc": 807, - "../contour/colorbar": 809, - "../contour/hover": 819, - "../contour/plot": 824, - "../contour/style": 826, - "./attributes": 872, - "./defaults": 873, - }, - ], - 875: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/color_attributes"), - i = t("../../components/colorscale/attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../surface/attributes"), - s = t("../../plots/attributes"), - l = t("../../lib/extend").extendFlat; - e.exports = l(n("", "calc", !1), { - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - y: { valType: "data_array", editType: "calc+clearAxisTypes" }, - z: { valType: "data_array", editType: "calc+clearAxisTypes" }, - i: { valType: "data_array", editType: "calc" }, - j: { valType: "data_array", editType: "calc" }, - k: { valType: "data_array", editType: "calc" }, - text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, - delaunayaxis: { - valType: "enumerated", - values: ["x", "y", "z"], - dflt: "z", - editType: "calc", - }, - alphahull: { valType: "number", dflt: -1, editType: "calc" }, - intensity: { valType: "data_array", editType: "calc" }, - color: { valType: "color", editType: "calc" }, - vertexcolor: { valType: "data_array", editType: "calc" }, - facecolor: { valType: "data_array", editType: "calc" }, - opacity: o.opacity, - flatshading: { valType: "boolean", dflt: !1, editType: "calc" }, - contour: { - show: l({}, o.contours.x.show, {}), - color: o.contours.x.color, - width: o.contours.x.width, - editType: "calc", - }, - showscale: i.showscale, - colorbar: a, - lightposition: { - x: l({}, o.lightposition.x, { dflt: 1e5 }), - y: l({}, o.lightposition.y, { dflt: 1e5 }), - z: l({}, o.lightposition.z, { dflt: 0 }), - editType: "calc", - }, - lighting: l( - { - vertexnormalsepsilon: { - valType: "number", - min: 0, - max: 1, - dflt: 1e-12, - editType: "calc", - }, - facenormalsepsilon: { - valType: "number", - min: 0, - max: 1, - dflt: 1e-6, - editType: "calc", - }, - editType: "calc", - }, - o.lighting, - ), - hoverinfo: l({}, s.hoverinfo, { editType: "calc" }), - }); - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../components/colorscale/color_attributes": 482, - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../surface/attributes": 1006, - }, - ], - 876: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/calc"); - e.exports = function (t, e) { - e.intensity && n(e, e.intensity, "", "c"); - }; - }, - { "../../components/colorscale/calc": 481 }, - ], - 877: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../components/colorscale"), - s = t("../../components/colorbar/draw"); - e.exports = function (t, e) { - var r = e[0].trace, - l = "cb" + r.uid, - c = r.cmin, - u = r.cmax, - f = r.intensity || []; - if ( - (n(c) || (c = i.aggNums(Math.min, null, f)), - n(u) || (u = i.aggNums(Math.max, null, f)), - t._fullLayout._infolayer.selectAll("." + l).remove(), - r.showscale) - ) { - var h = (e[0].t.cb = s(t, l)), - p = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { - noNumericCheck: !0, - }); - h - .fillcolor(p) - .filllevels({ start: c, end: u, size: (u - c) / 254 }) - .options(r.colorbar)(); - } else a.autoMargin(t, l); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../components/colorscale": 489, - "../../lib": 602, - "../../plots/plots": 710, - "fast-isnumeric": 196, - }, - ], - 878: [ - function (t, e, r) { - "use strict"; - var n = t("gl-mesh3d"), - i = t("tinycolor2"), - a = t("delaunay-triangulate"), - o = t("alpha-shape"), - s = t("convex-hull"), - l = t("../../lib/str2rgbarray"); - function c(t, e, r) { - ((this.scene = t), - (this.uid = r), - (this.mesh = e), - (this.name = ""), - (this.color = "#fff"), - (this.data = null), - (this.showContour = !1)); - } - var u = c.prototype; - function f(t) { - return t.map(l); - } - function h(t, e, r) { - for (var n = new Array(t.length), i = 0; i < t.length; ++i) - n[i] = [t[i], e[i], r[i]]; - return n; - } - ((u.handlePick = function (t) { - if (t.object === this.mesh) { - var e = (t.index = t.data.index); - t.traceCoordinate = [this.data.x[e], this.data.y[e], this.data.z[e]]; - var r = this.data.text; - return ( - Array.isArray(r) && void 0 !== r[e] - ? (t.textLabel = r[e]) - : r && (t.textLabel = r), - !0 - ); - } - }), - (u.update = function (t) { - var e = this.scene, - r = e.fullSceneLayout; - function n(t, e, r, n) { - return e.map(function (e) { - return t.d2l(e, 0, n) * r; - }); - } - this.data = t; - var c, - u = h( - n(r.xaxis, t.x, e.dataScale[0], t.xcalendar), - n(r.yaxis, t.y, e.dataScale[1], t.ycalendar), - n(r.zaxis, t.z, e.dataScale[2], t.zcalendar), - ); - if (t.i && t.j && t.k) c = h(t.i, t.j, t.k); - else if (0 === t.alphahull) c = s(u); - else if (t.alphahull > 0) c = o(t.alphahull, u); - else { - var p = ["x", "y", "z"].indexOf(t.delaunayaxis); - c = a( - u.map(function (t) { - return [t[(p + 1) % 3], t[(p + 2) % 3]]; - }), - ); - } - var d = { - positions: u, - cells: c, - lightPosition: [ - t.lightposition.x, - t.lightposition.y, - t.lightposition.z, - ], - ambient: t.lighting.ambient, - diffuse: t.lighting.diffuse, - specular: t.lighting.specular, - roughness: t.lighting.roughness, - fresnel: t.lighting.fresnel, - vertexNormalsEpsilon: t.lighting.vertexnormalsepsilon, - faceNormalsEpsilon: t.lighting.facenormalsepsilon, - opacity: t.opacity, - contourEnable: t.contour.show, - contourColor: l(t.contour.color).slice(0, 3), - contourWidth: t.contour.width, - useFacetNormals: t.flatshading, - }; - (t.intensity - ? ((this.color = "#fff"), - (d.vertexIntensity = t.intensity), - (d.vertexIntensityBounds = [t.cmin, t.cmax]), - (d.colormap = t.colorscale.map(function (t) { - var e = t[0], - r = i(t[1]).toRgb(); - return { index: e, rgb: [r.r, r.g, r.b, 1] }; - }))) - : t.vertexcolor - ? ((this.color = t.vertexcolor[0]), - (d.vertexColors = f(t.vertexcolor))) - : t.facecolor - ? ((this.color = t.facecolor[0]), (d.cellColors = f(t.facecolor))) - : ((this.color = t.color), (d.meshColor = l(t.color))), - this.mesh.update(d)); - }), - (u.dispose = function () { - (this.scene.glplot.remove(this.mesh), this.mesh.dispose()); - }), - (e.exports = function (t, e) { - var r = t.glplot.gl, - i = n({ gl: r }), - a = new c(t, i, e.uid); - return ((i._trace = a), a.update(e), t.glplot.add(i), a); - })); - }, - { - "../../lib/str2rgbarray": 625, - "alpha-shape": 48, - "convex-hull": 110, - "delaunay-triangulate": 132, - "gl-mesh3d": 244, - tinycolor2: 415, - }, - ], - 879: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../components/colorscale/defaults"), - o = t("./attributes"); - e.exports = function (t, e, r, s) { - function l(r, n) { - return i.coerce(t, e, o, r, n); - } - function c(t) { - var e = t.map(function (t) { - var e = l(t); - return e && i.isArrayOrTypedArray(e) ? e : null; - }); - return ( - e.every(function (t) { - return t && t.length === e[0].length; - }) && e - ); - } - var u = c(["x", "y", "z"]), - f = c(["i", "j", "k"]); - u - ? (f && - f.forEach(function (t) { - for (var e = 0; e < t.length; ++e) t[e] |= 0; - }), - n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y", "z"], - s, - ), - [ - "lighting.ambient", - "lighting.diffuse", - "lighting.specular", - "lighting.roughness", - "lighting.fresnel", - "lighting.vertexnormalsepsilon", - "lighting.facenormalsepsilon", - "lightposition.x", - "lightposition.y", - "lightposition.z", - "contour.show", - "contour.color", - "contour.width", - "colorscale", - "reversescale", - "flatshading", - "alphahull", - "delaunayaxis", - "opacity", - ].forEach(function (t) { - l(t); - }), - "intensity" in t - ? (l("intensity"), a(t, e, s, l, { prefix: "", cLetter: "c" })) - : ((e.showscale = !1), - "facecolor" in t - ? l("facecolor") - : "vertexcolor" in t - ? l("vertexcolor") - : l("color", r)), - l("text"), - (e._length = null)) - : (e.visible = !1); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../lib": 602, - "../../registry": 732, - "./attributes": 875, - }, - ], - 880: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.colorbar = t("./colorbar")), - (n.plot = t("./convert")), - (n.moduleType = "trace"), - (n.name = "mesh3d"), - (n.basePlotModule = t("../../plots/gl3d")), - (n.categories = ["gl3d"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/gl3d": 690, - "./attributes": 875, - "./calc": 876, - "./colorbar": 877, - "./convert": 878, - "./defaults": 879, - }, - ], - 881: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").extendFlat, - i = t("../scatter/attributes"), - a = t("../../components/drawing/attributes").dash, - o = i.line; - function s(t) { - return { - line: { - color: n({}, o.color, { dflt: t }), - width: o.width, - dash: a, - editType: "style", - }, - editType: "style", - }; - } - e.exports = { - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - open: { valType: "data_array", editType: "calc" }, - high: { valType: "data_array", editType: "calc" }, - low: { valType: "data_array", editType: "calc" }, - close: { valType: "data_array", editType: "calc" }, - line: { width: n({}, o.width, {}), dash: n({}, a, {}), editType: "style" }, - increasing: s("#3D9970"), - decreasing: s("#FF4136"), - text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, - tickwidth: { - valType: "number", - min: 0, - max: 0.5, - dflt: 0.3, - editType: "calcIfAutorange", - }, - }; - }, - { - "../../components/drawing/attributes": 498, - "../../lib": 602, - "../scatter/attributes": 926, - }, - ], - 882: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = n._, - a = t("../../plots/cartesian/axes"), - o = t("../../constants/numerical").BADNUM; - function s(t, e, r, n) { - return { o: t, h: e, l: r, c: n }; - } - function l(t, e, r, n, s) { - for ( - var l = n.makeCalcdata(e, "open"), - c = n.makeCalcdata(e, "high"), - u = n.makeCalcdata(e, "low"), - f = n.makeCalcdata(e, "close"), - h = Array.isArray(e.text), - p = !0, - d = null, - g = [], - m = 0; - m < r.length; - m++ - ) { - var v = r[m], - y = l[m], - x = c[m], - b = u[m], - _ = f[m]; - if (v !== o && y !== o && x !== o && b !== o && _ !== o) { - (_ === y ? null !== d && _ !== d && (p = _ > d) : (p = _ > y), (d = _)); - var w = s(y, x, b, _); - ((w.pos = v), - (w.yc = (y + _) / 2), - (w.i = m), - (w.dir = p ? "increasing" : "decreasing"), - h && (w.tx = e.text[m]), - g.push(w)); - } - } - return ( - a.expand(n, u.concat(c), { padded: !0 }), - g.length && - (g[0].t = { - labels: { - open: i(t, "open:") + " ", - high: i(t, "high:") + " ", - low: i(t, "low:") + " ", - close: i(t, "close:") + " ", - }, - }), - g - ); - } - e.exports = { - calc: function (t, e) { - var r = a.getFromId(t, e.xaxis), - i = a.getFromId(t, e.yaxis), - o = (function (t, e, r) { - var i = r._minDiff; - if (!i) { - var a, - o = t._fullData, - s = []; - for (i = 1 / 0, a = 0; a < o.length; a++) { - var l = o[a]; - if ("ohlc" === l.type && !0 === l.visible && l.xaxis === e._id) { - s.push(l); - var c = e.makeCalcdata(l, "x"); - l._xcalc = c; - var u = n.distinctVals(c).minDiff; - u && isFinite(u) && (i = Math.min(i, u)); - } - } - for (i === 1 / 0 && (i = 1), a = 0; a < s.length; a++) - s[a]._minDiff = i; - } - return i * r.tickwidth; - })(t, r, e), - c = e._minDiff; - e._minDiff = null; - var u = e._xcalc; - e._xcalc = null; - var f = l(t, e, u, i, s); - return ( - a.expand(r, u, { vpad: c / 2 }), - f.length - ? (n.extendFlat(f[0].t, { wHover: c / 2, tickLen: o }), f) - : [{ t: { empty: !0 } }] - ); - }, - calcCommon: l, - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - }, - ], - 883: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./ohlc_defaults"), - a = t("./attributes"); - function o(t, e, r, n) { - (r(n + ".line.color"), - r(n + ".line.width", e.line.width), - r(n + ".line.dash", e.line.dash)); - } - e.exports = function (t, e, r, s) { - function l(r, i) { - return n.coerce(t, e, a, r, i); - } - i(t, e, l, s) - ? (l("line.width"), - l("line.dash"), - o(t, e, l, "increasing"), - o(t, e, l, "decreasing"), - l("text"), - l("tickwidth"), - (s._requestRangeslider[e.xaxis] = !0)) - : (e.visible = !1); - }; - }, - { "../../lib": 602, "./attributes": 881, "./ohlc_defaults": 886 }, - ], - 884: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/cartesian/axes"), - i = t("../../components/fx"), - a = t("../../components/color"), - o = t("../scatter/fill_hover_text"), - s = { increasing: "\u25b2", decreasing: "\u25bc" }; - e.exports = function (t, e, r, l) { - var c = t.cd, - u = t.xa, - f = t.ya, - h = c[0].trace, - p = c[0].t, - d = h.type, - g = "ohlc" === d ? "l" : "min", - m = "ohlc" === d ? "h" : "max", - v = p.bPos || 0, - y = e - v, - x = p.bdPos || p.tickLen, - b = p.wHover, - _ = Math.min(1, x / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0]))), - w = t.maxHoverDistance - _, - k = t.maxSpikeDistance - _; - function M(t) { - var e = t.pos - y; - return i.inbox(e - b, e + b, w); - } - function A(t) { - return i.inbox(t[g] - r, t[m] - r, w); - } - function T(t) { - return (M(t) + A(t)) / 2; - } - var S = i.getDistanceFunction(l, M, A, T); - if ((i.getClosest(c, S, t), !1 === t.index)) return []; - var C = c[t.index], - E = (t.index = C.i), - L = C.dir, - z = h[L], - P = z.line.color; - function D(t) { - return p.labels[t] + n.hoverLabelText(f, h[t][E]); - } - (a.opacity(P) && z.line.width ? (t.color = P) : (t.color = z.fillcolor), - (t.x0 = u.c2p(C.pos + v - x, !0)), - (t.x1 = u.c2p(C.pos + v + x, !0)), - (t.xLabelVal = C.pos), - (t.spikeDistance = (T(C) * k) / w), - (t.xSpike = u.c2p(C.pos, !0))); - var O = h.hoverinfo, - I = O.split("+"), - R = "all" === O, - B = R || -1 !== I.indexOf("y"), - F = R || -1 !== I.indexOf("text"), - N = B ? [D("open"), D("high"), D("low"), D("close") + " " + s[L]] : []; - return ( - F && o(C, h, N), - (t.extraText = N.join("
          ")), - (t.y0 = t.y1 = f.c2p(C.yc, !0)), - [t] - ); - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../plots/cartesian/axes": 648, - "../scatter/fill_hover_text": 934, - }, - ], - 885: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "trace", - name: "ohlc", - basePlotModule: t("../../plots/cartesian"), - categories: ["cartesian", "svg", "showLegend"], - meta: {}, - attributes: t("./attributes"), - supplyDefaults: t("./defaults"), - calc: t("./calc").calc, - plot: t("./plot"), - style: t("./style"), - hoverPoints: t("./hover"), - selectPoints: t("./select"), - }; - }, - { - "../../plots/cartesian": 659, - "./attributes": 881, - "./calc": 882, - "./defaults": 883, - "./hover": 884, - "./plot": 887, - "./select": 888, - "./style": 889, - }, - ], - 886: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"); - e.exports = function (t, e, r, i) { - var a = r("x"), - o = r("open"), - s = r("high"), - l = r("low"), - c = r("close"); - if ( - (n.getComponentMethod("calendars", "handleTraceDefaults")(t, e, ["x"], i), - o && s && l && c) - ) { - var u = Math.min(o.length, s.length, l.length, c.length); - return (a && (u = Math.min(u, a.length)), (e._length = u), u); - } - }; - }, - { "../../registry": 732 }, - ], - 887: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"); - e.exports = function (t, e, r, a) { - var o = e.xaxis, - s = e.yaxis, - l = a.selectAll("g.trace").data(r, function (t) { - return t[0].trace.uid; - }); - (l.enter().append("g").attr("class", "trace ohlc"), - l.exit().remove(), - l.order(), - l.each(function (t) { - var r = t[0], - a = r.t, - l = r.trace, - c = n.select(this); - if ((e.isRangePlot || (r.node3 = c), !0 !== l.visible || a.empty)) - c.remove(); - else { - var u = a.tickLen, - f = c.selectAll("path").data(i.identity); - (f.enter().append("path"), - f.exit().remove(), - f.attr("d", function (t) { - var e = o.c2p(t.pos, !0), - r = o.c2p(t.pos - u, !0), - n = o.c2p(t.pos + u, !0); - return ( - "M" + - r + - "," + - s.c2p(t.o, !0) + - "H" + - e + - "M" + - e + - "," + - s.c2p(t.h, !0) + - "V" + - s.c2p(t.l, !0) + - "M" + - n + - "," + - s.c2p(t.c, !0) + - "H" + - e - ); - })); - } - })); - }; - }, - { "../../lib": 602, d3: 130 }, - ], - 888: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - var r, - n = t.cd, - i = t.xaxis, - a = t.yaxis, - o = [], - s = n[0].t.bPos || 0; - if (!1 === e) for (r = 0; r < n.length; r++) n[r].selected = 0; - else - for (r = 0; r < n.length; r++) { - var l = n[r]; - e.contains([i.c2p(l.pos + s), a.c2p(l.yc)]) - ? (o.push({ pointNumber: l.i, x: i.c2d(l.pos), y: a.c2d(l.yc) }), - (l.selected = 1)) - : (l.selected = 0); - } - return o; - }; - }, - {}, - ], - 889: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("../../components/color"); - e.exports = function (t, e) { - var r = e - ? e[0].node3 - : n.select(t).selectAll("g.ohlclayer").selectAll("g.trace"); - (r.style("opacity", function (t) { - return t[0].trace.opacity; - }), - r.each(function (t) { - var e = t[0].trace; - n.select(this) - .selectAll("path") - .each(function (t) { - var r = e[t.dir].line; - n.select(this) - .style("fill", "none") - .call(a.stroke, r.color) - .call(i.dashLine, r.dash, r.width) - .style("opacity", e.selectedpoints && !t.selected ? 0.3 : 1); - }); - })); - }; - }, - { "../../components/color": 474, "../../components/drawing": 499, d3: 130 }, - ], - 890: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/color_attributes"), - i = t("../../components/colorbar/attributes"), - a = t("../../components/colorscale/scales"), - o = t("../../plots/cartesian/layout_attributes"), - s = t("../../plots/font_attributes"), - l = t("../../plots/domain").attributes, - c = t("../../lib/extend"), - u = c.extendDeepAll, - f = c.extendFlat; - e.exports = { - domain: l({ name: "parcoords", trace: !0, editType: "calc" }), - labelfont: s({ editType: "calc" }), - tickfont: s({ editType: "calc" }), - rangefont: s({ editType: "calc" }), - dimensions: { - _isLinkedToArray: "dimension", - label: { valType: "string", editType: "calc" }, - tickvals: f({}, o.tickvals, { editType: "calc" }), - ticktext: f({}, o.ticktext, { editType: "calc" }), - tickformat: { valType: "string", dflt: "3s", editType: "calc" }, - visible: { valType: "boolean", dflt: !0, editType: "calc" }, - range: { - valType: "info_array", - items: [ - { valType: "number", editType: "calc" }, - { valType: "number", editType: "calc" }, - ], - editType: "calc", - }, - constraintrange: { - valType: "info_array", - freeLength: !0, - dimensions: "1-2", - items: [ - { valType: "number", editType: "calc" }, - { valType: "number", editType: "calc" }, - ], - editType: "calc", - }, - multiselect: { valType: "boolean", dflt: !0, editType: "calc" }, - values: { valType: "data_array", editType: "calc" }, - editType: "calc", - }, - line: f( - u(n("line", "calc"), { - colorscale: { dflt: a.Viridis }, - autocolorscale: { dflt: !1 }, - }), - { - showscale: { valType: "boolean", dflt: !1, editType: "calc" }, - colorbar: i, - editType: "calc", - }, - ), - }; - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/color_attributes": 482, - "../../components/colorscale/scales": 493, - "../../lib/extend": 591, - "../../plots/cartesian/layout_attributes": 660, - "../../plots/domain": 673, - "../../plots/font_attributes": 674, - }, - ], - 891: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("d3"), - a = t("../../lib/gup").keyFun, - o = t("../../lib/gup").repeat, - s = t("../../lib").sorterAsc, - l = n.bar.snapRatio; - function c(t, e) { - return t * (1 - l) + e * l; - } - var u = n.bar.snapClose; - function f(t, e) { - return t * (1 - u) + e * u; - } - function h(t, e, r) { - if (d(e, r)) return e; - for (var n = t[0], i = n, a = 1; a < t.length; a++) { - var o = t[a]; - if (e < f(n, o)) return c(n, i); - if (e < o || a === t.length - 1) return c(o, n); - ((i = n), (n = o)); - } - } - function p(t, e, r) { - if (d(e, r)) return e; - for (var n = t[t.length - 1], i = n, a = t.length - 2; a >= 0; a--) { - var o = t[a]; - if (e > f(n, o)) return c(n, i); - if (e > o || a === t.length - 1) return c(o, n); - ((i = n), (n = o)); - } - } - function d(t, e) { - for (var r = 0; r < e.length; r++) - if (t >= e[r][0] && t <= e[r][1]) return !0; - return !1; - } - function g(t) { - t.attr("x", -n.bar.captureWidth / 2).attr("width", n.bar.captureWidth); - } - function m(t) { - t.attr("visibility", "visible") - .style("visibility", "visible") - .attr("fill", "yellow") - .attr("opacity", 0); - } - function v(t) { - if (!t.brush.filterSpecified) return "0," + t.height; - for ( - var e, - r, - n, - i = y(t.brush.filter.getConsolidated(), t.height), - a = [0], - o = i.length ? i[0][0] : null, - s = 0; - s < i.length; - s++ - ) - ((r = (e = i[s])[1] - e[0]), - a.push(o), - a.push(r), - (n = s + 1) < i.length && (o = i[n][0] - e[1])); - return (a.push(t.height), a); - } - function y(t, e) { - return t.map(function (t) { - return t - .map(function (t) { - return t * e; - }) - .sort(s); - }); - } - function x() { - i.select(document.body).style("cursor", null); - } - function b(t) { - t.attr("stroke-dasharray", v); - } - function _(t, e) { - var r = i.select(t).selectAll(".highlight, .highlight-shadow"); - b(e ? r.transition().duration(n.bar.snapDuration).each("end", e) : r); - } - function w(t, e) { - var r, - i = t.brush, - a = NaN, - o = {}; - if (i.filterSpecified) { - var s = t.height, - l = i.filter.getConsolidated(), - c = y(l, s), - u = NaN, - f = NaN, - h = NaN; - for (r = 0; r <= c.length; r++) { - var p = c[r]; - if (p && p[0] <= e && e <= p[1]) { - u = r; - break; - } - if (((f = r ? r - 1 : NaN), p && p[0] > e)) { - h = r; - break; - } - } - if ( - ((a = u), - isNaN(a) && - (a = - isNaN(f) || isNaN(h) - ? isNaN(f) - ? h - : f - : e - c[f][1] < c[h][0] - e - ? f - : h), - !isNaN(a)) - ) { - var d = c[a], - g = (function (t, e) { - var r = n.bar.handleHeight; - if (!(e > t[1] + r || e < t[0] - r)) - return e >= 0.9 * t[1] + 0.1 * t[0] - ? "n" - : e <= 0.9 * t[0] + 0.1 * t[1] - ? "s" - : "ns"; - })(d, e); - g && ((o.interval = l[a]), (o.intervalPix = d), (o.region = g)); - } - } - if (t.ordinal && !o.region) { - var m = t.unitTickvals, - v = t.unitToPaddedPx.invert(e); - for (r = 0; r < m.length; r++) { - var x = [ - 0.25 * m[Math.max(r - 1, 0)] + 0.75 * m[r], - 0.25 * m[Math.min(r + 1, m.length - 1)] + 0.75 * m[r], - ]; - if (v >= x[0] && v <= x[1]) { - o.clickableOrdinalRange = x; - break; - } - } - } - return o; - } - function k(t) { - t.on("mousemove", function (t) { - if ((i.event.preventDefault(), !t.parent.inBrushDrag)) { - var e = w(t, t.height - i.mouse(this)[1] - 2 * n.verticalPadding), - r = "crosshair"; - (e.clickableOrdinalRange - ? (r = "pointer") - : e.region && (r = e.region + "-resize"), - i.select(document.body).style("cursor", r)); - } - }) - .on("mouseleave", function (t) { - t.parent.inBrushDrag || x(); - }) - .call( - i.behavior - .drag() - .on("dragstart", function (t) { - i.event.sourceEvent.stopPropagation(); - var e = t.height - i.mouse(this)[1] - 2 * n.verticalPadding, - r = t.unitToPaddedPx.invert(e), - a = t.brush, - o = w(t, e), - s = o.interval, - l = a.svgBrush; - if ( - ((l.wasDragged = !1), - (l.grabbingBar = "ns" === o.region), - l.grabbingBar) - ) { - var c = s.map(t.unitToPaddedPx); - ((l.grabPoint = e - c[0] - n.verticalPadding), - (l.barLength = c[1] - c[0])); - } - ((l.clickableOrdinalRange = o.clickableOrdinalRange), - (l.stayingIntervals = - t.multiselect && a.filterSpecified - ? a.filter.getConsolidated() - : []), - s && - (l.stayingIntervals = l.stayingIntervals.filter(function (t) { - return t[0] !== s[0] && t[1] !== s[1]; - })), - (l.startExtent = o.region ? s["s" === o.region ? 1 : 0] : r), - (t.parent.inBrushDrag = !0), - l.brushStartCallback()); - }) - .on("drag", function (t) { - i.event.sourceEvent.stopPropagation(); - var e = t.height - i.mouse(this)[1] - 2 * n.verticalPadding, - r = t.brush.svgBrush; - ((r.wasDragged = !0), - r.grabbingBar - ? (r.newExtent = [ - e - r.grabPoint, - e + r.barLength - r.grabPoint, - ].map(t.unitToPaddedPx.invert)) - : (r.newExtent = [ - r.startExtent, - t.unitToPaddedPx.invert(e), - ].sort(s))); - var a = Math.max(0, -r.newExtent[0]), - o = Math.max(0, r.newExtent[1] - 1); - ((r.newExtent[0] += a), - (r.newExtent[1] -= o), - r.grabbingBar && ((r.newExtent[1] += a), (r.newExtent[0] -= o)), - (t.brush.filterSpecified = !0), - (r.extent = r.stayingIntervals.concat([r.newExtent])), - r.brushCallback(t), - _(this.parentNode)); - }) - .on("dragend", function (t) { - i.event.sourceEvent.stopPropagation(); - var e = t.brush, - r = e.filter, - n = e.svgBrush, - a = n.grabbingBar; - if ( - ((n.grabbingBar = !1), - (n.grabLocation = void 0), - (t.parent.inBrushDrag = !1), - x(), - !n.wasDragged) - ) - return ( - (n.wasDragged = void 0), - n.clickableOrdinalRange - ? e.filterSpecified && t.multiselect - ? n.extent.push(n.clickableOrdinalRange) - : ((n.extent = [n.clickableOrdinalRange]), - (e.filterSpecified = !0)) - : a - ? ((n.extent = n.stayingIntervals), - 0 === n.extent.length && A(e)) - : A(e), - n.brushCallback(t), - _(this.parentNode), - void n.brushEndCallback( - e.filterSpecified ? r.getConsolidated() : [], - ) - ); - var o = function () { - r.set(r.getConsolidated()); - }; - if (t.ordinal) { - var s = t.unitTickvals; - (s[s.length - 1] < s[0] && s.reverse(), - (n.newExtent = [ - h(s, n.newExtent[0], n.stayingIntervals), - p(s, n.newExtent[1], n.stayingIntervals), - ])); - var l = n.newExtent[1] > n.newExtent[0]; - ((n.extent = n.stayingIntervals.concat(l ? [n.newExtent] : [])), - n.extent.length || A(e), - n.brushCallback(t), - l ? _(this.parentNode, o) : (o(), _(this.parentNode))); - } else o(); - n.brushEndCallback(e.filterSpecified ? r.getConsolidated() : []); - }), - ); - } - function M(t, e) { - return t[0] - e[0]; - } - function A(t) { - ((t.filterSpecified = !1), (t.svgBrush.extent = [[0, 1]])); - } - function T(t) { - for (var e, r = t.slice(), n = [], i = r.shift(); i; ) { - for (e = i.slice(); (i = r.shift()) && i[0] <= e[1]; ) - e[1] = Math.max(e[1], i[1]); - n.push(e); - } - return n; - } - e.exports = { - makeBrush: function (t, e, r, n, i, a) { - var o, - l = (function () { - var t, - e, - r = []; - return { - set: function (n) { - ((r = n - .map(function (t) { - return t.slice().sort(s); - }) - .sort(M)), - (t = T(r)), - (e = r.reduce( - function (t, e) { - return [Math.min(t[0], e[0]), Math.max(t[1], e[1])]; - }, - [1 / 0, -1 / 0], - ))); - }, - get: function () { - return r.slice(); - }, - getConsolidated: function () { - return t; - }, - getBounds: function () { - return e; - }, - }; - })(); - return ( - l.set(r), - { - filter: l, - filterSpecified: e, - svgBrush: { - extent: [], - brushStartCallback: n, - brushCallback: - ((o = i), - function (t) { - var e = t.brush, - r = (function (t) { - return t.svgBrush.extent.map(function (t) { - return t.slice(); - }); - })(e).slice(); - (e.filter.set(r), o()); - }), - brushEndCallback: a, - }, - } - ); - }, - ensureAxisBrush: function (t) { - var e = t.selectAll("." + n.cn.axisBrush).data(o, a); - (e.enter().append("g").classed(n.cn.axisBrush, !0), - (function (t) { - var e = t.selectAll(".background").data(o); - (e - .enter() - .append("rect") - .classed("background", !0) - .call(g) - .call(m) - .style("pointer-events", "auto") - .attr("transform", "translate(0 " + n.verticalPadding + ")"), - e.call(k).attr("height", function (t) { - return t.height - n.verticalPadding; - })); - var r = t.selectAll(".highlight-shadow").data(o); - (r - .enter() - .append("line") - .classed("highlight-shadow", !0) - .attr("x", -n.bar.width / 2) - .attr("stroke-width", n.bar.width + n.bar.strokeWidth) - .attr("stroke", n.bar.strokeColor) - .attr("opacity", n.bar.strokeOpacity) - .attr("stroke-linecap", "butt"), - r - .attr("y1", function (t) { - return t.height; - }) - .call(b)); - var i = t.selectAll(".highlight").data(o); - (i - .enter() - .append("line") - .classed("highlight", !0) - .attr("x", -n.bar.width / 2) - .attr("stroke-width", n.bar.width - n.bar.strokeWidth) - .attr("stroke", n.bar.fillColor) - .attr("opacity", n.bar.fillOpacity) - .attr("stroke-linecap", "butt"), - i - .attr("y1", function (t) { - return t.height; - }) - .call(b)); - })(e)); - }, - cleanRanges: function (t, e) { - if ( - (Array.isArray(t[0]) - ? ((t = t.map(function (t) { - return t.sort(s); - })), - (t = e.multiselect ? T(t.sort(M)) : [t[0]])) - : (t = [t.sort(s)]), - e.tickvals) - ) { - var r = e.tickvals.slice().sort(s); - if ( - !(t = t - .map(function (t) { - var e = [h(r, t[0], []), p(r, t[1], [])]; - if (e[1] > e[0]) return e; - }) - .filter(function (t) { - return t; - })).length - ) - return; - } - return t.length > 1 ? t : t[0]; - }, - }; - }, - { "../../lib": 602, "../../lib/gup": 599, "./constants": 895, d3: 130 }, - ], - 892: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../plots/get_data").getModuleCalcData, - a = t("./plot"), - o = t("../../constants/xmlns_namespaces"); - ((r.name = "parcoords"), - (r.plot = function (t) { - var e = i(t.calcdata, "parcoords")[0]; - e.length && a(t, e); - }), - (r.clean = function (t, e, r, n) { - var i = n._has && n._has("parcoords"), - a = e._has && e._has("parcoords"); - i && - !a && - (n._paperdiv.selectAll(".parcoords").remove(), - n._glimages.selectAll("*").remove()); - }), - (r.toSVG = function (t) { - var e = t._fullLayout._glimages, - r = n.select(t).selectAll(".svg-container"); - (r - .filter(function (t, e) { - return e === r.size() - 1; - }) - .selectAll(".gl-canvas-context, .gl-canvas-focus") - .each(function () { - var t = this.toDataURL("image/png"); - e.append("svg:image").attr({ - xmlns: o.svg, - "xlink:href": t, - preserveAspectRatio: "none", - x: 0, - y: 0, - width: this.width, - height: this.height, - }); - }), - window.setTimeout(function () { - n.selectAll("#filterBarPattern").attr("id", "filterBarPattern"); - }, 60)); - })); - }, - { - "../../constants/xmlns_namespaces": 581, - "../../plots/get_data": 684, - "./plot": 900, - d3: 130, - }, - ], - 893: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/has_colorscale"), - i = t("../../components/colorscale/calc"), - a = t("../../lib"), - o = t("../../lib/gup").wrap; - e.exports = function (t, e) { - var r = !!e.line.colorscale && a.isArrayOrTypedArray(e.line.color), - s = r - ? e.line.color - : (function (t) { - for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0.5; - return e; - })(e._length), - l = r - ? e.line.colorscale - : [ - [0, e.line.color], - [1, e.line.color], - ]; - return ( - n(e, "line") && i(e, s, "line", "c"), - o({ lineColor: s, cscale: l }) - ); - }; - }, - { - "../../components/colorscale/calc": 481, - "../../components/colorscale/has_colorscale": 488, - "../../lib": 602, - "../../lib/gup": 599, - }, - ], - 894: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../components/colorscale"), - s = t("../../components/colorbar/draw"); - e.exports = function (t, e) { - var r = e[0].trace, - l = r.line, - c = "cb" + r.uid; - if ( - (t._fullLayout._infolayer.selectAll("." + c).remove(), - void 0 !== l && l.showscale) - ) { - var u = l.color, - f = l.cmin, - h = l.cmax; - (n(f) || (f = i.aggNums(Math.min, null, u)), - n(h) || (h = i.aggNums(Math.max, null, u))); - var p = (e[0].t.cb = s(t, c)), - d = o.makeColorScaleFunc(o.extractScale(l.colorscale, f, h), { - noNumericCheck: !0, - }); - p - .fillcolor(d) - .filllevels({ start: f, end: h, size: (h - f) / 254 }) - .options(l.colorbar)(); - } else a.autoMargin(t, c); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../components/colorscale": 489, - "../../lib": 602, - "../../plots/plots": 710, - "fast-isnumeric": 196, - }, - ], - 895: [ - function (t, e, r) { - "use strict"; - e.exports = { - maxDimensionCount: 60, - overdrag: 45, - verticalPadding: 2, - tickDistance: 50, - canvasPixelRatio: 1, - blockLineCount: 5e3, - layers: ["contextLineLayer", "focusLineLayer", "pickLineLayer"], - axisTitleOffset: 28, - axisExtentOffset: 10, - bar: { - width: 4, - captureWidth: 10, - fillColor: "magenta", - fillOpacity: 1, - snapDuration: 150, - snapRatio: 0.25, - snapClose: 0.01, - strokeColor: "white", - strokeOpacity: 1, - strokeWidth: 1, - handleHeight: 8, - handleOpacity: 1, - handleOverlap: 0, - }, - cn: { - axisExtentText: "axis-extent-text", - parcoordsLineLayers: "parcoords-line-layers", - parcoordsLineLayer: "parcoords-lines", - parcoords: "parcoords", - parcoordsControlView: "parcoords-control-view", - yAxis: "y-axis", - axisOverlays: "axis-overlays", - axis: "axis", - axisHeading: "axis-heading", - axisTitle: "axis-title", - axisExtent: "axis-extent", - axisExtentTop: "axis-extent-top", - axisExtentTopText: "axis-extent-top-text", - axisExtentBottom: "axis-extent-bottom", - axisExtentBottomText: "axis-extent-bottom-text", - axisBrush: "axis-brush", - }, - id: { filterBarPattern: "filter-bar-pattern" }, - }; - }, - {}, - ], - 896: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("../../components/colorscale/has_colorscale"), - o = t("../../components/colorscale/defaults"), - s = t("./constants").maxDimensionCount, - l = t("../../plots/domain").defaults, - c = t("./axisbrush"); - e.exports = function (t, e, r, u) { - function f(r, a) { - return n.coerce(t, e, i, r, a); - } - var h = (function (t, e) { - var r, - a, - o, - l = t.dimensions || [], - u = (e.dimensions = []), - f = 1 / 0; - function h(t, e) { - return n.coerce(r, a, i.dimensions, t, e); - } - for ( - l.length > s && - (n.log( - "parcoords traces support up to " + s + " dimensions at the moment", - ), - l.splice(s)), - o = 0; - o < l.length; - o++ - ) - if (((r = l[o]), (a = {}), n.isPlainObject(r))) { - var p = h("values"), - d = h("visible"); - if (((p && p.length) || (d = a.visible = !1), d)) { - (h("label"), - h("tickvals"), - h("ticktext"), - h("tickformat"), - h("range"), - h("multiselect")); - var g = h("constraintrange"); - (g && (a.constraintrange = c.cleanRanges(g, a)), - (f = Math.min(f, p.length))); - } - ((a._index = o), u.push(a)); - } - return ((e._length = f), u); - })(t, e); - (!(function (t, e, r, i, s) { - var l = s("line.color", r); - a(t, "line") && - n.isArrayOrTypedArray(l) && - (l.length - ? (s("line.colorscale"), - o(t, e, i, s, { prefix: "line.", cLetter: "c" }), - (e._length = Math.min(e._length, l.length))) - : (e.line.color = r)); - })(t, e, r, u, f), - l(e, u, f), - (Array.isArray(h) && h.length) || (e.visible = !1)); - for (var p = 0; p < h.length; p++) - h[p].visible && (h[p]._length = e._length); - var d = { - family: u.font.family, - size: Math.round(u.font.size / 1.2), - color: u.font.color, - }; - (n.coerceFont(f, "labelfont", d), - n.coerceFont(f, "tickfont", d), - n.coerceFont(f, "rangefont", d)); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../components/colorscale/has_colorscale": 488, - "../../lib": 602, - "../../plots/domain": 673, - "./attributes": 890, - "./axisbrush": 891, - "./constants": 895, - }, - ], - 897: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.colorbar = t("./colorbar")), - (n.moduleType = "trace"), - (n.name = "parcoords"), - (n.basePlotModule = t("./base_plot")), - (n.categories = ["gl", "regl", "noOpacity"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "./attributes": 890, - "./base_plot": 892, - "./calc": 893, - "./colorbar": 894, - "./defaults": 896, - "./plot": 900, - }, - ], - 898: [ - function (t, e, r) { - "use strict"; - var n = t("glslify"), - i = n([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n", - ]), - a = n([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec2 xyProjection = vec2(1, 1);\n\nvec4 unit = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depth,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n", - ]), - o = n([ - "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\n for(int i = 0; i < 4; i++) {\n for(int j = 0; j < 4; j++) {\n for(int k = 0; k < 4; k++) {\n bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n fragColor = vec4(pf.rgb, 1.0);\n}\n", - ]), - s = n([ - "precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n", - ]), - l = t("../../lib"), - c = 1e-6, - u = 1e-7, - f = 2048, - h = 64, - p = 2, - d = 4, - g = 8, - m = h / g, - v = [119, 119, 119], - y = new Uint8Array(4), - x = new Uint8Array(4), - b = { - shape: [256, 1], - format: "rgba", - type: "uint8", - mag: "nearest", - min: "nearest", - }; - function _(t, e, r, n, i) { - var a = t._gl; - (a.enable(a.SCISSOR_TEST), - a.scissor(e, r, n, i), - t.clear({ color: [0, 0, 0, 0], depth: 1 })); - } - function w(t, e, r, n, i, a) { - var o = a.key; - (r.drawCompleted || - (!(function (t) { - t.read({ x: 0, y: 0, width: 1, height: 1, data: y }); - })(t), - (r.drawCompleted = !0)), - (function s(l) { - var c; - ((c = Math.min(n, i - l * n)), - (a.offset = p * l * n), - (a.count = p * c), - 0 === l && - (window.cancelAnimationFrame(r.currentRafs[o]), - delete r.currentRafs[o], - _(t, a.scissorX, a.scissorY, a.scissorWidth, a.viewBoxSize[1])), - r.clearOnly || - (e(a), - l * n + c < i && - (r.currentRafs[o] = window.requestAnimationFrame(function () { - s(l + 1); - })), - (r.drawCompleted = !1))); - })(0)); - } - function k(t, e) { - return ((t >>> (8 * e)) % 256) / 255; - } - function M(t, e, r) { - var n, - i, - a, - o = []; - for (i = 0; i < t; i++) - for (a = 0; a < p; a++) - for (n = 0; n < d; n++) - (o.push(e[i * h + r * d + n]), - r * d + n === h - 1 && a % 2 == 0 && (o[o.length - 1] *= -1)); - return o; - } - e.exports = function (t, e) { - var r, - n, - p, - d, - y, - A = e.context, - T = e.pick, - S = e.regl, - C = { currentRafs: {}, drawCompleted: !0, clearOnly: !1 }, - E = (function (t) { - for (var e = {}, r = 0; r < 16; r++) - e["p" + r.toString(16)] = t.buffer({ - usage: "dynamic", - type: "float", - data: null, - }); - return e; - })(S), - L = S.texture(b); - P(e); - var z = S({ - profile: !1, - blend: { - enable: A, - func: { - srcRGB: "src alpha", - dstRGB: "one minus src alpha", - srcAlpha: 1, - dstAlpha: 1, - }, - equation: { rgb: "add", alpha: "add" }, - color: [0, 0, 0, 0], - }, - depth: { enable: !A, mask: !0, func: "less", range: [0, 1] }, - cull: { enable: !0, face: "back" }, - scissor: { - enable: !0, - box: { - x: S.prop("scissorX"), - y: S.prop("scissorY"), - width: S.prop("scissorWidth"), - height: S.prop("scissorHeight"), - }, - }, - viewport: { - x: S.prop("viewportX"), - y: S.prop("viewportY"), - width: S.prop("viewportWidth"), - height: S.prop("viewportHeight"), - }, - dither: !1, - vert: T ? o : A ? a : i, - frag: s, - primitive: "lines", - lineWidth: 1, - attributes: E, - uniforms: { - resolution: S.prop("resolution"), - viewBoxPosition: S.prop("viewBoxPosition"), - viewBoxSize: S.prop("viewBoxSize"), - dim1A: S.prop("dim1A"), - dim2A: S.prop("dim2A"), - dim1B: S.prop("dim1B"), - dim2B: S.prop("dim2B"), - dim1C: S.prop("dim1C"), - dim2C: S.prop("dim2C"), - dim1D: S.prop("dim1D"), - dim2D: S.prop("dim2D"), - loA: S.prop("loA"), - hiA: S.prop("hiA"), - loB: S.prop("loB"), - hiB: S.prop("hiB"), - loC: S.prop("loC"), - hiC: S.prop("hiC"), - loD: S.prop("loD"), - hiD: S.prop("hiD"), - palette: L, - mask: S.prop("maskTexture"), - maskHeight: S.prop("maskHeight"), - colorClamp: S.prop("colorClamp"), - }, - offset: S.prop("offset"), - count: S.prop("count"), - }); - function P(t) { - ((r = t.model), - (n = t.viewModel), - (p = n.dimensions.slice()), - (d = p[0] ? p[0].values.length : 0)); - var e = r.lines, - i = T - ? e.color.map(function (t, r) { - return r / e.color.length; - }) - : e.color, - a = Math.max(1 / 255, Math.pow(1 / i.length, 1 / 3)), - o = (function (t, e, r) { - for (var n, i = e.length, a = [], o = 0; o < t; o++) - for (var s = 0; s < h; s++) - a.push( - s < i - ? e[s].paddedUnitValues[o] - : s === h - 1 - ? ((n = r[o]), Math.max(c, Math.min(1 - c, n))) - : s >= h - 4 - ? k(o, h - 2 - s) - : 0.5, - ); - return a; - })(d, p, i); - (!(function (t, e, r) { - for (var n = 0; n < 16; n++) t["p" + n.toString(16)](M(e, r, n)); - })(E, d, o), - (L = S.texture( - l.extendFlat( - { - data: (function (t, e, r) { - for (var n = [], i = 0; i < 256; i++) { - var a = t(i / 255); - n.push((e ? v : a).concat(r)); - } - return n; - })(r.unitToColor, A, Math.round(255 * (A ? a : 1))), - }, - b, - ), - ))); - } - var D = [0, 1]; - var O = []; - function I(t, e, n, i, a, o, s, c, u, f, h) { - var p, - d, - g, - m, - v = [t, e], - y = [0, 1].map(function () { - return [0, 1, 2, 3].map(function () { - return new Float32Array(16); - }); - }); - for (p = 0; p < 2; p++) - for (m = v[p], d = 0; d < 4; d++) - for (g = 0; g < 16; g++) y[p][d][g] = g + 16 * d === m ? 1 : 0; - var x = r.lines.canvasOverdrag, - b = r.domain, - _ = r.canvasWidth, - w = r.canvasHeight; - return l.extendFlat( - { - key: s, - resolution: [_, w], - viewBoxPosition: [n + x, i], - viewBoxSize: [a, o], - i: t, - ii: e, - dim1A: y[0][0], - dim1B: y[0][1], - dim1C: y[0][2], - dim1D: y[0][3], - dim2A: y[1][0], - dim2B: y[1][1], - dim2C: y[1][2], - dim2D: y[1][3], - colorClamp: D, - scissorX: - (c === u ? 0 : n + x) + (r.pad.l - x) + r.layoutWidth * b.x[0], - scissorWidth: (c === f ? _ - n + x : a + 0.5) + (c === u ? n + x : 0), - scissorY: i + r.pad.b + r.layoutHeight * b.y[0], - scissorHeight: o, - viewportX: r.pad.l - x + r.layoutWidth * b.x[0], - viewportY: r.pad.b + r.layoutHeight * b.y[0], - viewportWidth: _, - viewportHeight: w, - }, - h, - ); - } - return { - setColorDomain: function (t) { - ((D[0] = t[0]), (D[1] = t[1])); - }, - render: function (t, e, n) { - var i, - a, - o, - s = t.length, - l = 1 / 0, - c = -1 / 0; - for (i = 0; i < s; i++) - (t[i].dim2.canvasX > c && ((c = t[i].dim2.canvasX), (o = i)), - t[i].dim1.canvasX < l && ((l = t[i].dim1.canvasX), (a = i))); - 0 === s && _(S, 0, 0, r.canvasWidth, r.canvasHeight); - var h = A - ? {} - : (function () { - var t, - e, - r, - n = [0, 1].map(function () { - return [0, 1, 2, 3].map(function () { - return new Float32Array(16); - }); - }); - for (t = 0; t < 2; t++) - for (e = 0; e < 4; e++) - for (r = 0; r < 16; r++) { - var i, - a = r + 16 * e; - ((i = a < p.length ? p[a].brush.filter.getBounds()[t] : t), - (n[t][e][r] = i + (2 * t - 1) * u)); - } - function o(t, e) { - var r = f - 1; - return [ - Math.max(0, Math.floor(e[0] * r)), - Math.min(r, Math.ceil(e[1] * r)), - ]; - } - for ( - var s = Array.apply(null, new Array(f * m)).map(function () { - return 255; - }), - l = 0; - l < p.length; - l++ - ) { - var c = l % g, - h = (l - c) / g, - d = Math.pow(2, c), - v = p[l], - x = v.brush.filter.get(); - if (!(x.length < 2)) - for (var b = o(0, x[0])[1], _ = 1; _ < x.length; _++) { - for (var w = o(0, x[_]), k = b + 1; k < w[0]; k++) - s[k * m + h] &= ~d; - b = Math.max(b, w[1]); - } - } - var M = { - shape: [m, f], - format: "alpha", - type: "uint8", - mag: "nearest", - min: "nearest", - data: s, - }; - return ( - y ? y(M) : (y = S.texture(M)), - { - maskTexture: y, - maskHeight: f, - loA: n[0][0], - loB: n[0][1], - loC: n[0][2], - loD: n[0][3], - hiA: n[1][0], - hiB: n[1][1], - hiC: n[1][2], - hiD: n[1][3], - } - ); - })(); - for (i = 0; i < s; i++) { - var v = t[i], - x = v.dim1, - b = x.crossfilterDimensionIndex, - k = v.canvasX, - M = v.canvasY, - T = v.dim2.crossfilterDimensionIndex, - E = v.panelSizeX, - L = v.panelSizeY, - P = k + E; - if (e || !O[b] || O[b][0] !== k || O[b][1] !== P) { - O[b] = [k, P]; - var D = I( - b, - T, - k, - M, - E, - L, - x.crossfilterDimensionIndex, - i, - a, - o, - h, - ); - ((C.clearOnly = n), - w(S, z, C, e ? r.lines.blockLineCount : d, d, D)); - } - } - }, - readPixel: function (t, e) { - return (S.read({ x: t, y: e, width: 1, height: 1, data: x }), x); - }, - readPixels: function (t, e, r, n) { - var i = new Uint8Array(4 * r * n); - return (S.read({ x: t, y: e, width: r, height: n, data: i }), i); - }, - destroy: function () { - for (var e in ((t.style["pointer-events"] = "none"), - L.destroy(), - y && y.destroy(), - E)) - E[e].destroy(); - }, - update: P, - }; - }; - }, - { "../../lib": 602, glslify: 295 }, - ], - 899: [ - function (t, e, r) { - "use strict"; - var n = t("./lines"), - i = t("./constants"), - a = t("../../lib"), - o = t("d3"), - s = t("../../components/drawing"), - l = t("../../lib/gup"), - c = l.keyFun, - u = l.repeat, - f = l.unwrap, - h = t("./axisbrush"); - function p(t) { - return !("visible" in t) || t.visible; - } - function d(t) { - var e = t.range - ? t.range[0] - : a.aggNums(Math.min, null, t.values, t._length), - r = t.range ? t.range[1] : a.aggNums(Math.max, null, t.values, t._length); - return ( - (!isNaN(e) && isFinite(e)) || (e = 0), - (!isNaN(r) && isFinite(r)) || (r = 0), - e === r && (0 === e ? ((e -= 1), (r += 1)) : ((e *= 0.9), (r *= 1.1))), - [e, r] - ); - } - function g(t) { - return t.dimensions.some(function (t) { - return t.brush.filterSpecified; - }); - } - function m(t, e, r) { - var n = f(e), - s = n.trace, - l = n.lineColor, - c = n.cscale, - u = s.line, - h = s.domain, - g = s.dimensions, - m = t.width, - v = s.labelfont, - y = s.tickfont, - x = s.rangefont, - b = a.extendDeepNoArrays({}, u, { - color: l.map( - o.scale - .linear() - .domain( - d({ values: l, range: [u.cmin, u.cmax], _length: s._length }), - ), - ), - blockLineCount: i.blockLineCount, - canvasOverdrag: i.overdrag * i.canvasPixelRatio, - }), - _ = Math.floor(m * (h.x[1] - h.x[0])), - w = Math.floor(t.height * (h.y[1] - h.y[0])), - k = t.margin || { l: 80, r: 80, t: 100, b: 80 }, - M = _, - A = w; - return { - key: r, - colCount: g.filter(p).length, - dimensions: g, - tickDistance: i.tickDistance, - unitToColor: (function (t) { - var e = t.map(function (t) { - return t[0]; - }), - r = t.map(function (t) { - return o.rgb(t[1]); - }), - n = "rgb".split("").map(function (t) { - return o.scale - .linear() - .clamp(!0) - .domain(e) - .range( - r.map( - ((n = t), - function (t) { - return t[n]; - }), - ), - ); - var n; - }); - return function (t) { - return n.map(function (e) { - return e(t); - }); - }; - })(c), - lines: b, - labelFont: v, - tickFont: y, - rangeFont: x, - layoutWidth: m, - layoutHeight: t.height, - domain: h, - translateX: h.x[0] * m, - translateY: t.height - h.y[1] * t.height, - pad: k, - canvasWidth: M * i.canvasPixelRatio + 2 * b.canvasOverdrag, - canvasHeight: A * i.canvasPixelRatio, - width: M, - height: A, - canvasPixelRatio: i.canvasPixelRatio, - }; - } - function v(t, e, r) { - var n = r.width, - s = r.height, - l = r.dimensions, - c = r.canvasPixelRatio, - u = function (t) { - return (n * t) / Math.max(1, r.colCount - 1); - }, - f = i.verticalPadding / s, - m = (function (t, e) { - return o.scale.linear().range([e, t - e]); - })(s, i.verticalPadding), - v = { key: r.key, xScale: u, model: r, inBrushDrag: !1 }, - y = {}; - return ( - (v.dimensions = l.filter(p).map(function (n, l) { - var p = (function (t, e) { - return o.scale - .linear() - .domain(d(t)) - .range([e, 1 - e]); - })(n, f), - x = y[n.label]; - y[n.label] = (x || 0) + 1; - var b = n.label + (x ? "__" + x : ""), - _ = n.constraintrange, - w = _ && _.length; - w && !Array.isArray(_[0]) && (_ = [_]); - var k = w - ? _.map(function (t) { - return t.map(p); - }) - : [[0, 1]], - M = n.values; - M.length > n._length && (M = M.slice(0, n._length)); - var A, - T = n.tickvals; - function S(t, e) { - return { val: t, text: A[e] }; - } - function C(t, e) { - return t.val - e.val; - } - if (Array.isArray(T) && T.length) { - ((A = n.ticktext), - Array.isArray(A) && A.length - ? A.length > T.length - ? (A = A.slice(0, T.length)) - : T.length > A.length && (T = T.slice(0, A.length)) - : (A = T.map(o.format(n.tickformat)))); - for (var E = 1; E < T.length; E++) - if (T[E] < T[E - 1]) { - for (var L = T.map(S).sort(C), z = 0; z < T.length; z++) - ((T[z] = L[z].val), (A[z] = L[z].text)); - break; - } - } else T = void 0; - return { - key: b, - label: n.label, - tickFormat: n.tickformat, - tickvals: T, - ticktext: A, - ordinal: !!T, - multiselect: n.multiselect, - xIndex: l, - crossfilterDimensionIndex: l, - visibleIndex: n._index, - height: s, - values: M, - paddedUnitValues: M.map(p), - unitTickvals: T && T.map(p), - xScale: u, - x: u(l), - canvasX: u(l) * c, - unitToPaddedPx: m, - domainScale: (function (t, e, r, n, i) { - var a, - s, - l = d(r); - return n - ? o.scale - .ordinal() - .domain( - n.map( - ((a = o.format(r.tickformat)), - (s = i), - s - ? function (t, e) { - var r = s[e]; - return null === r || void 0 === r ? a(t) : r; - } - : a), - ), - ) - .range( - n.map(function (r) { - var n = (r - l[0]) / (l[1] - l[0]); - return t - e + n * (2 * e - t); - }), - ) - : o.scale - .linear() - .domain(l) - .range([t - e, e]); - })(s, i.verticalPadding, n, T, A), - ordinalScale: (function (t) { - if (t.tickvals) { - var e = d(t); - return o.scale - .ordinal() - .domain(t.tickvals) - .range( - t.tickvals.map(function (t) { - return (t - e[0]) / (e[1] - e[0]); - }), - ); - } - })(n), - parent: v, - model: r, - brush: h.makeBrush( - t, - w, - k, - function () { - t.linePickActive(!1); - }, - function () { - var e = v; - e.focusLayer && e.focusLayer.render(e.panels, !0); - var r = g(e); - !t.contextShown() && r - ? (e.contextLayer && e.contextLayer.render(e.panels, !0), - t.contextShown(!0)) - : t.contextShown() && - !r && - (e.contextLayer && e.contextLayer.render(e.panels, !0, !0), - t.contextShown(!1)); - }, - function (r) { - var i = v; - if ( - (i.focusLayer.render(i.panels, !0), - i.pickLayer && i.pickLayer.render(i.panels, !0), - t.linePickActive(!0), - e && e.filterChanged) - ) { - var o = p.invert, - s = r - .map(function (t) { - return t.map(o).sort(a.sorterAsc); - }) - .sort(function (t, e) { - return t[0] - e[0]; - }); - e.filterChanged(i.key, n._index, s); - } - }, - ), - }; - })), - v - ); - } - function y(t) { - t.classed(i.cn.axisExtentText, !0) - .attr("text-anchor", "middle") - .style("cursor", "default") - .style("user-select", "none"); - } - e.exports = function (t, e, r, l, p, d) { - var x, - b, - _ = - ((x = !0), - (b = !1), - { - linePickActive: function (t) { - return arguments.length ? (x = !!t) : x; - }, - contextShown: function (t) { - return arguments.length ? (b = !!t) : b; - }, - }), - w = l - .filter(function (t) { - return f(t).trace.visible; - }) - .map(m.bind(0, p)) - .map(v.bind(0, _, d)); - r.each(function (t, e) { - return a.extendFlat(t, w[e]); - }); - var k = r.selectAll(".gl-canvas").each(function (t) { - ((t.viewModel = w[0]), - (t.model = t.viewModel ? t.viewModel.model : null)); - }), - M = null; - (k - .filter(function (t) { - return t.pick; - }) - .style("pointer-events", "auto") - .on("mousemove", function (t) { - if (_.linePickActive() && t.lineLayer && d && d.hover) { - var e = o.event, - r = this.width, - n = this.height, - i = o.mouse(this), - a = i[0], - s = i[1]; - if (a < 0 || s < 0 || a >= r || s >= n) return; - var l = t.lineLayer.readPixel(a, n - 1 - s), - c = 0 !== l[3], - u = c ? l[2] + 256 * (l[1] + 256 * l[0]) : null, - f = { - x: a, - y: s, - clientX: e.clientX, - clientY: e.clientY, - dataIndex: t.model.key, - curveNumber: u, - }; - u !== M && (c ? d.hover(f) : d.unhover && d.unhover(f), (M = u)); - } - }), - k.style("opacity", function (t) { - return t.pick ? 0.01 : 1; - }), - e.style("background", "rgba(255, 255, 255, 0)")); - var A = e.selectAll("." + i.cn.parcoords).data(w, c); - (A.exit().remove(), - A.enter() - .append("g") - .classed(i.cn.parcoords, !0) - .style("shape-rendering", "crispEdges") - .style("pointer-events", "none"), - A.attr("transform", function (t) { - return ( - "translate(" + t.model.translateX + "," + t.model.translateY + ")" - ); - })); - var T = A.selectAll("." + i.cn.parcoordsControlView).data(u, c); - (T.enter().append("g").classed(i.cn.parcoordsControlView, !0), - T.attr("transform", function (t) { - return "translate(" + t.model.pad.l + "," + t.model.pad.t + ")"; - })); - var S = T.selectAll("." + i.cn.yAxis).data(function (t) { - return t.dimensions; - }, c); - function C(t, e) { - for ( - var r = e.panels || (e.panels = []), - n = t.data(), - i = n.length - 1, - a = 0; - a < i; - a++ - ) { - var o = r[a] || (r[a] = {}), - s = n[a], - l = n[a + 1]; - ((o.dim1 = s), - (o.dim2 = l), - (o.canvasX = s.canvasX), - (o.panelSizeX = l.canvasX - s.canvasX), - (o.panelSizeY = e.model.canvasHeight), - (o.y = 0), - (o.canvasY = 0)); - } - } - (S.enter().append("g").classed(i.cn.yAxis, !0), - T.each(function (t) { - C(S, t); - }), - k.each(function (t) { - t.viewModel && - (t.lineLayer ? t.lineLayer.update(t) : (t.lineLayer = n(this, t)), - (t.viewModel[t.key] = t.lineLayer), - t.lineLayer.render(t.viewModel.panels, !t.context)); - }), - S.attr("transform", function (t) { - return "translate(" + t.xScale(t.xIndex) + ", 0)"; - }), - S.call( - o.behavior - .drag() - .origin(function (t) { - return t; - }) - .on("drag", function (t) { - var e = t.parent; - (_.linePickActive(!1), - (t.x = Math.max( - -i.overdrag, - Math.min(t.model.width + i.overdrag, o.event.x), - )), - (t.canvasX = t.x * t.model.canvasPixelRatio), - S.sort(function (t, e) { - return t.x - e.x; - }).each(function (e, r) { - ((e.xIndex = r), - (e.x = t === e ? e.x : e.xScale(e.xIndex)), - (e.canvasX = e.x * e.model.canvasPixelRatio)); - }), - C(S, e), - S.filter(function (e) { - return 0 !== Math.abs(t.xIndex - e.xIndex); - }).attr("transform", function (t) { - return "translate(" + t.xScale(t.xIndex) + ", 0)"; - }), - o.select(this).attr("transform", "translate(" + t.x + ", 0)"), - S.each(function (r, n, i) { - i === t.parent.key && (e.dimensions[n] = r); - }), - e.contextLayer && e.contextLayer.render(e.panels, !1, !g(e)), - e.focusLayer.render && e.focusLayer.render(e.panels)); - }) - .on("dragend", function (t) { - var e = t.parent; - ((t.x = t.xScale(t.xIndex)), - (t.canvasX = t.x * t.model.canvasPixelRatio), - C(S, e), - o.select(this).attr("transform", function (t) { - return "translate(" + t.x + ", 0)"; - }), - e.contextLayer && e.contextLayer.render(e.panels, !1, !g(e)), - e.focusLayer && e.focusLayer.render(e.panels), - e.pickLayer && e.pickLayer.render(e.panels, !0), - _.linePickActive(!0), - d && - d.axesMoved && - d.axesMoved( - e.key, - e.dimensions.map(function (t) { - return t.crossfilterDimensionIndex; - }), - )); - }), - ), - S.exit().remove()); - var E = S.selectAll("." + i.cn.axisOverlays).data(u, c); - (E.enter().append("g").classed(i.cn.axisOverlays, !0), - E.selectAll("." + i.cn.axis).remove()); - var L = E.selectAll("." + i.cn.axis).data(u, c); - (L.enter().append("g").classed(i.cn.axis, !0), - L.each(function (t) { - var e = t.model.height / t.model.tickDistance, - r = t.domainScale, - n = r.domain(); - (o.select(this).call( - o.svg - .axis() - .orient("left") - .tickSize(4) - .outerTickSize(2) - .ticks(e, t.tickFormat) - .tickValues(t.ordinal ? n : null) - .tickFormat( - t.ordinal - ? function (t) { - return t; - } - : null, - ) - .scale(r), - ), - s.font(L.selectAll("text"), t.model.tickFont)); - }), - L.selectAll(".domain, .tick>line") - .attr("fill", "none") - .attr("stroke", "black") - .attr("stroke-opacity", 0.25) - .attr("stroke-width", "1px"), - L.selectAll("text") - .style( - "text-shadow", - "1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff", - ) - .style("cursor", "default") - .style("user-select", "none")); - var z = E.selectAll("." + i.cn.axisHeading).data(u, c); - z.enter().append("g").classed(i.cn.axisHeading, !0); - var P = z.selectAll("." + i.cn.axisTitle).data(u, c); - (P.enter() - .append("text") - .classed(i.cn.axisTitle, !0) - .attr("text-anchor", "middle") - .style("cursor", "ew-resize") - .style("user-select", "none") - .style("pointer-events", "auto"), - P.attr("transform", "translate(0," + -i.axisTitleOffset + ")") - .text(function (t) { - return t.label; - }) - .each(function (t) { - s.font(o.select(this), t.model.labelFont); - })); - var D = E.selectAll("." + i.cn.axisExtent).data(u, c); - D.enter().append("g").classed(i.cn.axisExtent, !0); - var O = D.selectAll("." + i.cn.axisExtentTop).data(u, c); - (O.enter().append("g").classed(i.cn.axisExtentTop, !0), - O.attr("transform", "translate(0," + -i.axisExtentOffset + ")")); - var I = O.selectAll("." + i.cn.axisExtentTopText).data(u, c); - function R(t, e) { - if (t.ordinal) return ""; - var r = t.domainScale.domain(); - return o.format(t.tickFormat)(r[e ? r.length - 1 : 0]); - } - (I.enter().append("text").classed(i.cn.axisExtentTopText, !0).call(y), - I.text(function (t) { - return R(t, !0); - }).each(function (t) { - s.font(o.select(this), t.model.rangeFont); - })); - var B = D.selectAll("." + i.cn.axisExtentBottom).data(u, c); - (B.enter().append("g").classed(i.cn.axisExtentBottom, !0), - B.attr("transform", function (t) { - return "translate(0," + (t.model.height + i.axisExtentOffset) + ")"; - })); - var F = B.selectAll("." + i.cn.axisExtentBottomText).data(u, c); - (F.enter() - .append("text") - .classed(i.cn.axisExtentBottomText, !0) - .attr("dy", "0.75em") - .call(y), - F.text(function (t) { - return R(t); - }).each(function (t) { - s.font(o.select(this), t.model.rangeFont); - }), - h.ensureAxisBrush(E)); - }; - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/gup": 599, - "./axisbrush": 891, - "./constants": 895, - "./lines": 898, - d3: 130, - }, - ], - 900: [ - function (t, e, r) { - "use strict"; - var n = t("./parcoords"), - i = t("../../lib/prepare_regl"); - e.exports = function (t, e) { - var r = t._fullLayout, - a = r._toppaper, - o = r._paperdiv, - s = r._glcontainer; - i(t); - var l = {}, - c = {}, - u = r._size; - e.forEach(function (e, r) { - ((l[r] = t.data[r].dimensions), (c[r] = t.data[r].dimensions.slice())); - }); - n( - o, - a, - s, - e, - { width: u.w, height: u.h, margin: { t: u.t, r: u.r, b: u.b, l: u.l } }, - { - filterChanged: function (e, r, n) { - var i = c[e][r], - a = n.map(function (t) { - return t.slice(); - }); - a.length - ? (1 === a.length && (a = a[0]), (i.constraintrange = a), (a = [a])) - : (delete i.constraintrange, (a = null)); - var o = {}; - ((o["dimensions[" + r + "].constraintrange"] = a), - t.emit("plotly_restyle", [o, [e]])); - }, - hover: function (e) { - t.emit("plotly_hover", e); - }, - unhover: function (e) { - t.emit("plotly_unhover", e); - }, - axesMoved: function (e, r) { - function n(t) { - return !("visible" in t) || t.visible; - } - function i(t, e, r) { - var n = e.indexOf(r), - i = t.indexOf(n); - return (-1 === i && (i += e.length), i); - } - var a = (function (t) { - return function (e, n) { - return i(r, t, e) - i(r, t, n); - }; - })(c[e].filter(n)); - (l[e].sort(a), - c[e] - .filter(function (t) { - return !n(t); - }) - .sort(function (t) { - return c[e].indexOf(t); - }) - .forEach(function (t) { - (l[e].splice(l[e].indexOf(t), 1), - l[e].splice(c[e].indexOf(t), 0, t)); - }), - t.emit("plotly_restyle")); - }, - }, - ); - }; - }, - { "../../lib/prepare_regl": 615, "./parcoords": 899 }, - ], - 901: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color/attributes"), - i = t("../../plots/font_attributes"), - a = t("../../plots/attributes"), - o = t("../../plots/domain").attributes, - s = t("../../lib/extend").extendFlat, - l = i({ editType: "calc", colorEditType: "style" }); - e.exports = { - labels: { valType: "data_array", editType: "calc" }, - label0: { valType: "number", dflt: 0, editType: "calc" }, - dlabel: { valType: "number", dflt: 1, editType: "calc" }, - values: { valType: "data_array", editType: "calc" }, - marker: { - colors: { valType: "data_array", editType: "calc" }, - line: { - color: { - valType: "color", - dflt: n.defaultLine, - arrayOk: !0, - editType: "style", - }, - width: { - valType: "number", - min: 0, - dflt: 0, - arrayOk: !0, - editType: "style", - }, - editType: "calc", - }, - editType: "calc", - }, - text: { valType: "data_array", editType: "calc" }, - hovertext: { valType: "string", dflt: "", arrayOk: !0, editType: "style" }, - scalegroup: { valType: "string", dflt: "", editType: "calc" }, - textinfo: { - valType: "flaglist", - flags: ["label", "text", "value", "percent"], - extras: ["none"], - editType: "calc", - }, - hoverinfo: s({}, a.hoverinfo, { - flags: ["label", "text", "value", "percent", "name"], - }), - textposition: { - valType: "enumerated", - values: ["inside", "outside", "auto", "none"], - dflt: "auto", - arrayOk: !0, - editType: "calc", - }, - textfont: s({}, l, {}), - insidetextfont: s({}, l, {}), - outsidetextfont: s({}, l, {}), - domain: o({ name: "pie", trace: !0, editType: "calc" }), - hole: { valType: "number", min: 0, max: 1, dflt: 0, editType: "calc" }, - sort: { valType: "boolean", dflt: !0, editType: "calc" }, - direction: { - valType: "enumerated", - values: ["clockwise", "counterclockwise"], - dflt: "counterclockwise", - editType: "calc", - }, - rotation: { - valType: "number", - min: -360, - max: 360, - dflt: 0, - editType: "calc", - }, - pull: { - valType: "number", - min: 0, - max: 1, - dflt: 0, - arrayOk: !0, - editType: "calc", - }, - }; - }, - { - "../../components/color/attributes": 473, - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../../plots/domain": 673, - "../../plots/font_attributes": 674, - }, - ], - 902: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../plots/get_data").getModuleCalcData; - ((r.name = "pie"), - (r.plot = function (t) { - var e = n.getModule("pie"), - r = i(t.calcdata, e)[0]; - r.length && e.plot(t, r); - }), - (r.clean = function (t, e, r, n) { - var i = n._has && n._has("pie"), - a = e._has && e._has("pie"); - i && !a && n._pielayer.selectAll("g.trace").remove(); - })); - }, - { "../../plots/get_data": 684, "../../registry": 732 }, - ], - 903: [ - function (t, e, r) { - "use strict"; - var n, - i = t("fast-isnumeric"), - a = t("../../lib").isArrayOrTypedArray, - o = t("tinycolor2"), - s = t("../../components/color"), - l = t("./helpers"); - function c(t, e) { - if (!n) { - var r = s.defaults; - n = u(r); - } - var i = e || n; - return i[t % i.length]; - } - function u(t) { - var e, - r = t.slice(); - for (e = 0; e < t.length; e++) r.push(o(t[e]).lighten(20).toHexString()); - for (e = 0; e < t.length; e++) r.push(o(t[e]).darken(20).toHexString()); - return r; - } - e.exports = function (t, e) { - var r, - n, - f, - h, - p, - d = e.values, - g = a(d) && d.length, - m = e.labels, - v = e.marker.colors || [], - y = [], - x = t._fullLayout, - b = x.colorway, - _ = x._piecolormap, - w = {}, - k = 0, - M = x.hiddenlabels || []; - if ( - (x._piecolorway || b === s.defaults || (x._piecolorway = u(b)), e.dlabel) - ) - for (m = new Array(d.length), r = 0; r < d.length; r++) - m[r] = String(e.label0 + r * e.dlabel); - function A(t, e) { - return ( - !!t && - !!(t = o(t)).isValid() && - ((t = s.addOpacity(t, t.getAlpha())), _[e] || (_[e] = t), t) - ); - } - var T = (g ? d : m).length; - for (r = 0; r < T; r++) { - if (g) { - if (((n = d[r]), !i(n))) continue; - if ((n = +n) < 0) continue; - } else n = 1; - (void 0 !== (f = m[r]) && "" !== f) || (f = r); - var S = w[(f = String(f))]; - void 0 === S - ? ((w[f] = y.length), - (h = -1 !== M.indexOf(f)) || (k += n), - y.push({ v: n, label: f, color: A(v[r]), i: r, pts: [r], hidden: h })) - : (((p = y[S]).v += n), - p.pts.push(r), - p.hidden || (k += n), - !1 === p.color && v[r] && (p.color = A(v[r], f))); - } - for ( - e.sort && - y.sort(function (t, e) { - return e.v - t.v; - }), - r = 0; - r < y.length; - r++ - ) - !1 === (p = y[r]).color && - (_[p.label] - ? (p.color = _[p.label]) - : ((_[p.label] = p.color = - c(x._piedefaultcolorcount, x._piecolorway)), - x._piedefaultcolorcount++)); - if ((y[0] && (y[0].vTotal = k), e.textinfo && "none" !== e.textinfo)) { - var C, - E = -1 !== e.textinfo.indexOf("label"), - L = -1 !== e.textinfo.indexOf("text"), - z = -1 !== e.textinfo.indexOf("value"), - P = -1 !== e.textinfo.indexOf("percent"), - D = x.separators; - for (r = 0; r < y.length; r++) { - if (((p = y[r]), (C = E ? [p.label] : []), L)) { - var O = l.getFirstFilled(e.text, p.pts); - O && C.push(O); - } - (z && C.push(l.formatPieValue(p.v, D)), - P && C.push(l.formatPiePercent(p.v / k, D)), - (p.text = C.join("
          "))); - } - } - return y; - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "./helpers": 906, - "fast-isnumeric": 196, - tinycolor2: 415, - }, - ], - 904: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("../../plots/domain").defaults; - e.exports = function (t, e, r, o) { - function s(r, a) { - return n.coerce(t, e, i, r, a); - } - var l, - c = n.coerceFont, - u = s("values"), - f = n.isArrayOrTypedArray(u), - h = s("labels"); - if ( - (Array.isArray(h) && ((l = h.length), f && (l = Math.min(l, u.length))), - !Array.isArray(h)) - ) { - if (!f) return void (e.visible = !1); - ((l = u.length), s("label0"), s("dlabel")); - } - if (l) { - ((e._length = l), - s("marker.line.width") && s("marker.line.color"), - s("marker.colors"), - s("scalegroup")); - var p = s("text"), - d = s("textinfo", Array.isArray(p) ? "text+percent" : "percent"); - if ((s("hovertext"), d && "none" !== d)) { - var g = s("textposition"), - m = Array.isArray(g) || "auto" === g, - v = m || "inside" === g, - y = m || "outside" === g; - if (v || y) { - var x = c(s, "textfont", o.font); - (v && c(s, "insidetextfont", x), y && c(s, "outsidetextfont", x)); - } - } - (a(e, o, s), - s("hole"), - s("sort"), - s("direction"), - s("rotation"), - s("pull")); - } else e.visible = !1; - }; - }, - { "../../lib": 602, "../../plots/domain": 673, "./attributes": 901 }, - ], - 905: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/fx/helpers").appendArrayMultiPointValues; - e.exports = function (t, e) { - var r = { - curveNumber: e.index, - pointNumbers: t.pts, - data: e._input, - fullData: e, - label: t.label, - color: t.color, - value: t.v, - v: t.v, - }; - return ( - 1 === t.pts.length && (r.pointNumber = r.i = t.pts[0]), - n(r, e, t.pts), - r - ); - }; - }, - { "../../components/fx/helpers": 513 }, - ], - 906: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - ((r.formatPiePercent = function (t, e) { - var r = (100 * t).toPrecision(3); - return ( - -1 !== r.lastIndexOf(".") && (r = r.replace(/[.]?0+$/, "")), - n.numSeparate(r, e) + "%" - ); - }), - (r.formatPieValue = function (t, e) { - var r = t.toPrecision(10); - return ( - -1 !== r.lastIndexOf(".") && (r = r.replace(/[.]?0+$/, "")), - n.numSeparate(r, e) - ); - }), - (r.getFirstFilled = function (t, e) { - if (Array.isArray(t)) - for (var r = 0; r < e.length; r++) { - var n = t[e[r]]; - if (n || 0 === n) return n; - } - }), - (r.castOption = function (t, e) { - return Array.isArray(t) ? r.getFirstFilled(t, e) : t || void 0; - })); - }, - { "../../lib": 602 }, - ], - 907: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.supplyLayoutDefaults = t("./layout_defaults")), - (n.layoutAttributes = t("./layout_attributes")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("./style")), - (n.styleOne = t("./style_one")), - (n.moduleType = "trace"), - (n.name = "pie"), - (n.basePlotModule = t("./base_plot")), - (n.categories = ["pie", "showLegend"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "./attributes": 901, - "./base_plot": 902, - "./calc": 903, - "./defaults": 904, - "./layout_attributes": 908, - "./layout_defaults": 909, - "./plot": 910, - "./style": 911, - "./style_one": 912, - }, - ], - 908: [ - function (t, e, r) { - "use strict"; - e.exports = { hiddenlabels: { valType: "data_array", editType: "calc" } }; - }, - {}, - ], - 909: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./layout_attributes"); - e.exports = function (t, e) { - var r, a; - ((r = "hiddenlabels"), n.coerce(t, e, i, r, a)); - }; - }, - { "../../lib": 602, "./layout_attributes": 908 }, - ], - 910: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/fx"), - a = t("../../components/color"), - o = t("../../components/drawing"), - s = t("../../lib"), - l = t("../../lib/svg_text_utils"), - c = t("./helpers"), - u = t("./event_data"); - function f(t, e) { - if (t.v === e.vTotal && !e.trace.hole) return 1; - var r = Math.PI * Math.min(t.v / e.vTotal, 0.5); - return Math.min(1 / (1 + 1 / Math.sin(r)), (1 - e.trace.hole) / 2); - } - function h(t, e) { - var r = e.pxmid[0], - n = e.pxmid[1], - i = t.width / 2, - a = t.height / 2; - return ( - r < 0 && (i *= -1), - n < 0 && (a *= -1), - { - scale: 1, - rCenter: 1, - rotate: 0, - x: i + (Math.abs(a) * (i > 0 ? 1 : -1)) / 2, - y: a / (1 + (r * r) / (n * n)), - outside: !0, - } - ); - } - e.exports = function (t, e) { - var r = t._fullLayout; - !(function (t, e) { - var r, - n, - i, - a, - o, - s, - l, - c, - u, - f = []; - for (i = 0; i < t.length; i++) { - if ( - ((o = t[i][0]), - (s = o.trace), - (r = e.w * (s.domain.x[1] - s.domain.x[0])), - (n = e.h * (s.domain.y[1] - s.domain.y[0])), - (l = s.pull), - Array.isArray(l)) - ) - for (l = 0, a = 0; a < s.pull.length; a++) - s.pull[a] > l && (l = s.pull[a]); - ((o.r = Math.min(r, n) / (2 + 2 * l)), - (o.cx = e.l + (e.w * (s.domain.x[1] + s.domain.x[0])) / 2), - (o.cy = e.t + (e.h * (2 - s.domain.y[1] - s.domain.y[0])) / 2), - s.scalegroup && - -1 === f.indexOf(s.scalegroup) && - f.push(s.scalegroup)); - } - for (a = 0; a < f.length; a++) { - for (u = 1 / 0, c = f[a], i = 0; i < t.length; i++) - (o = t[i][0]).trace.scalegroup === c && - (u = Math.min(u, (o.r * o.r) / o.vTotal)); - for (i = 0; i < t.length; i++) - (o = t[i][0]).trace.scalegroup === c && - (o.r = Math.sqrt(u * o.vTotal)); - } - })(e, r._size); - var p = r._pielayer.selectAll("g.trace").data(e); - (p.enter().append("g").attr({ "stroke-linejoin": "round", class: "trace" }), - p.exit().remove(), - p.order(), - p.each(function (e) { - var p = n.select(this), - d = e[0], - g = d.trace; - (!(function (t) { - var e, - r, - n, - i = t[0], - a = i.trace, - o = (a.rotation * Math.PI) / 180, - s = (2 * Math.PI) / i.vTotal, - l = "px0", - c = "px1"; - if ("counterclockwise" === a.direction) { - for (e = 0; e < t.length && t[e].hidden; e++); - if (e === t.length) return; - ((o += s * t[e].v), (s *= -1), (l = "px1"), (c = "px0")); - } - function u(t) { - return [i.r * Math.sin(t), -i.r * Math.cos(t)]; - } - for (n = u(o), e = 0; e < t.length; e++) - (r = t[e]).hidden || - ((r[l] = n), - (o += (s * r.v) / 2), - (r.pxmid = u(o)), - (r.midangle = o), - (o += (s * r.v) / 2), - (n = u(o)), - (r[c] = n), - (r.largeArc = r.v > i.vTotal / 2 ? 1 : 0)); - })(e), - p.each(function () { - var p = n.select(this).selectAll("g.slice").data(e); - (p.enter().append("g").classed("slice", !0), p.exit().remove()); - var m = [ - [[], []], - [[], []], - ], - v = !1; - (p.each(function (e) { - if (e.hidden) n.select(this).selectAll("path,g").remove(); - else { - ((e.pointNumber = e.i), - (e.curveNumber = g.index), - m[e.pxmid[1] < 0 ? 0 : 1][e.pxmid[0] < 0 ? 0 : 1].push(e)); - var a = d.cx, - p = d.cy, - y = n.select(this), - x = y.selectAll("path.surface").data([e]), - b = !1, - _ = !1; - if ( - (x - .enter() - .append("path") - .classed("surface", !0) - .style({ "pointer-events": "all" }), - y.select("path.textline").remove(), - y - .on("mouseover", function () { - var o = t._fullLayout, - s = t._fullData[g.index]; - if (!t._dragging && !1 !== o.hovermode) { - var l = s.hoverinfo; - if ( - (Array.isArray(l) && - (l = i.castHoverinfo( - { - hoverinfo: [c.castOption(l, e.pts)], - _module: g._module, - }, - o, - 0, - )), - "all" === l && (l = "label+text+value+percent+name"), - "none" !== l && "skip" !== l && l) - ) { - var h = f(e, d), - m = a + e.pxmid[0] * (1 - h), - v = p + e.pxmid[1] * (1 - h), - y = r.separators, - x = []; - if ( - (-1 !== l.indexOf("label") && x.push(e.label), - -1 !== l.indexOf("text")) - ) { - var w = c.castOption(s.hovertext || s.text, e.pts); - w && x.push(w); - } - (-1 !== l.indexOf("value") && - x.push(c.formatPieValue(e.v, y)), - -1 !== l.indexOf("percent") && - x.push(c.formatPiePercent(e.v / d.vTotal, y))); - var k = g.hoverlabel, - M = k.font; - (i.loneHover( - { - x0: m - h * d.r, - x1: m + h * d.r, - y: v, - text: x.join("
          "), - name: -1 !== l.indexOf("name") ? s.name : void 0, - idealAlign: e.pxmid[0] < 0 ? "left" : "right", - color: c.castOption(k.bgcolor, e.pts) || e.color, - borderColor: c.castOption(k.bordercolor, e.pts), - fontFamily: c.castOption(M.family, e.pts), - fontSize: c.castOption(M.size, e.pts), - fontColor: c.castOption(M.color, e.pts), - }, - { - container: o._hoverlayer.node(), - outerContainer: o._paper.node(), - gd: t, - }, - ), - (b = !0)); - } - (t.emit("plotly_hover", { - points: [u(e, s)], - event: n.event, - }), - (_ = !0)); - } - }) - .on("mouseout", function (r) { - var a = t._fullLayout, - o = t._fullData[g.index]; - (_ && - ((r.originalEvent = n.event), - t.emit("plotly_unhover", { - points: [u(e, o)], - event: n.event, - }), - (_ = !1)), - b && (i.loneUnhover(a._hoverlayer.node()), (b = !1))); - }) - .on("click", function () { - var r = t._fullLayout, - a = t._fullData[g.index]; - t._dragging || - !1 === r.hovermode || - ((t._hoverdata = [u(e, a)]), i.click(t, n.event)); - }), - g.pull) - ) { - var w = +c.castOption(g.pull, e.pts) || 0; - w > 0 && ((a += w * e.pxmid[0]), (p += w * e.pxmid[1])); - } - ((e.cxFinal = a), (e.cyFinal = p)); - var k = g.hole; - if (e.v === d.vTotal) { - var M = - "M" + - (a + e.px0[0]) + - "," + - (p + e.px0[1]) + - E(e.px0, e.pxmid, !0, 1) + - E(e.pxmid, e.px0, !0, 1) + - "Z"; - k - ? x.attr( - "d", - "M" + - (a + k * e.px0[0]) + - "," + - (p + k * e.px0[1]) + - E(e.px0, e.pxmid, !1, k) + - E(e.pxmid, e.px0, !1, k) + - "Z" + - M, - ) - : x.attr("d", M); - } else { - var A = E(e.px0, e.px1, !0, 1); - if (k) { - var T = 1 - k; - x.attr( - "d", - "M" + - (a + k * e.px1[0]) + - "," + - (p + k * e.px1[1]) + - E(e.px1, e.px0, !1, k) + - "l" + - T * e.px0[0] + - "," + - T * e.px0[1] + - A + - "Z", - ); - } else - x.attr( - "d", - "M" + - a + - "," + - p + - "l" + - e.px0[0] + - "," + - e.px0[1] + - A + - "Z", - ); - } - var S = c.castOption(g.textposition, e.pts), - C = y - .selectAll("g.slicetext") - .data(e.text && "none" !== S ? [0] : []); - (C.enter().append("g").classed("slicetext", !0), - C.exit().remove(), - C.each(function () { - var r = s.ensureSingle( - n.select(this), - "text", - "", - function (t) { - t.attr("data-notex", 1); - }, - ); - r.text(e.text) - .attr({ - class: "slicetext", - transform: "", - "text-anchor": "middle", - }) - .call( - o.font, - "outside" === S ? g.outsidetextfont : g.insidetextfont, - ) - .call(l.convertToTspans, t); - var i, - c = o.bBox(r.node()); - "outside" === S - ? (i = h(c, e)) - : ((i = (function (t, e, r) { - var n = Math.sqrt( - t.width * t.width + t.height * t.height, - ), - i = t.width / t.height, - a = Math.PI * Math.min(e.v / r.vTotal, 0.5), - o = 1 - r.trace.hole, - s = f(e, r), - l = { - scale: (s * r.r * 2) / n, - rCenter: 1 - s, - rotate: 0, - }; - if (l.scale >= 1) return l; - var c = i + 1 / (2 * Math.tan(a)), - u = - r.r * - Math.min( - 1 / (Math.sqrt(c * c + 0.5) + c), - o / (Math.sqrt(i * i + o / 2) + i), - ), - h = { - scale: (2 * u) / t.height, - rCenter: Math.cos(u / r.r) - (u * i) / r.r, - rotate: - (((180 / Math.PI) * e.midangle + 720) % 180) - - 90, - }, - p = 1 / i, - d = p + 1 / (2 * Math.tan(a)), - g = - r.r * - Math.min( - 1 / (Math.sqrt(d * d + 0.5) + d), - o / (Math.sqrt(p * p + o / 2) + p), - ), - m = { - scale: (2 * g) / t.width, - rCenter: Math.cos(g / r.r) - g / i / r.r, - rotate: - (((180 / Math.PI) * e.midangle + 810) % 180) - - 90, - }, - v = m.scale > h.scale ? m : h; - return l.scale < 1 && v.scale > l.scale ? v : l; - })(c, e, d)), - "auto" === S && - i.scale < 1 && - (r.call(o.font, g.outsidetextfont), - (g.outsidetextfont.family === - g.insidetextfont.family && - g.outsidetextfont.size === g.insidetextfont.size) || - (c = o.bBox(r.node())), - (i = h(c, e)))); - var u = a + e.pxmid[0] * i.rCenter + (i.x || 0), - m = p + e.pxmid[1] * i.rCenter + (i.y || 0); - (i.outside && - ((e.yLabelMin = m - c.height / 2), - (e.yLabelMid = m), - (e.yLabelMax = m + c.height / 2), - (e.labelExtraX = 0), - (e.labelExtraY = 0), - (v = !0)), - r.attr( - "transform", - "translate(" + - u + - "," + - m + - ")" + - (i.scale < 1 ? "scale(" + i.scale + ")" : "") + - (i.rotate ? "rotate(" + i.rotate + ")" : "") + - "translate(" + - -(c.left + c.right) / 2 + - "," + - -(c.top + c.bottom) / 2 + - ")", - )); - })); - } - function E(t, r, n, i) { - return ( - "a" + - i * d.r + - "," + - i * d.r + - " 0 " + - e.largeArc + - (n ? " 1 " : " 0 ") + - i * (r[0] - t[0]) + - "," + - i * (r[1] - t[1]) - ); - } - }), - v && - (function (t, e) { - var r, n, i, a, o, s, l, u, f, h, p, d, g; - function m(t, e) { - return t.pxmid[1] - e.pxmid[1]; - } - function v(t, e) { - return e.pxmid[1] - t.pxmid[1]; - } - function y(t, r) { - r || (r = {}); - var i, - u, - f, - p, - d, - g, - m = r.labelExtraY + (n ? r.yLabelMax : r.yLabelMin), - v = n ? t.yLabelMin : t.yLabelMax, - y = n ? t.yLabelMax : t.yLabelMin, - x = t.cyFinal + o(t.px0[1], t.px1[1]), - b = m - v; - if ( - (b * l > 0 && (t.labelExtraY = b), Array.isArray(e.pull)) - ) - for (u = 0; u < h.length; u++) - (f = h[u]) === t || - (c.castOption(e.pull, t.pts) || 0) >= - (c.castOption(e.pull, f.pts) || 0) || - ((t.pxmid[1] - f.pxmid[1]) * l > 0 - ? ((p = f.cyFinal + o(f.px0[1], f.px1[1])), - (b = p - v - t.labelExtraY) * l > 0 && - (t.labelExtraY += b)) - : (y + t.labelExtraY - x) * l > 0 && - ((i = 3 * s * Math.abs(u - h.indexOf(t))), - (d = f.cxFinal + a(f.px0[0], f.px1[0])), - (g = - d + - i - - (t.cxFinal + t.pxmid[0]) - - t.labelExtraX) * - s > - 0 && (t.labelExtraX += g))); - } - for (n = 0; n < 2; n++) - for ( - i = n ? m : v, - o = n ? Math.max : Math.min, - l = n ? 1 : -1, - r = 0; - r < 2; - r++ - ) { - for ( - a = r ? Math.max : Math.min, - s = r ? 1 : -1, - (u = t[n][r]).sort(i), - f = t[1 - n][r], - h = f.concat(u), - d = [], - p = 0; - p < u.length; - p++ - ) - void 0 !== u[p].yLabelMid && d.push(u[p]); - for (g = !1, p = 0; n && p < f.length; p++) - if (void 0 !== f[p].yLabelMid) { - g = f[p]; - break; - } - for (p = 0; p < d.length; p++) { - var x = p && d[p - 1]; - (g && !p && (x = g), y(d[p], x)); - } - } - })(m, g), - p.each(function (t) { - if (t.labelExtraX || t.labelExtraY) { - var e = n.select(this), - r = e.select("g.slicetext text"); - r.attr( - "transform", - "translate(" + - t.labelExtraX + - "," + - t.labelExtraY + - ")" + - r.attr("transform"), - ); - var i = t.cxFinal + t.pxmid[0], - o = "M" + i + "," + (t.cyFinal + t.pxmid[1]), - s = - ((t.yLabelMax - t.yLabelMin) * - (t.pxmid[0] < 0 ? -1 : 1)) / - 4; - if (t.labelExtraX) { - var l = (t.labelExtraX * t.pxmid[1]) / t.pxmid[0], - c = - t.yLabelMid + t.labelExtraY - (t.cyFinal + t.pxmid[1]); - Math.abs(l) > Math.abs(c) - ? (o += - "l" + - (c * t.pxmid[0]) / t.pxmid[1] + - "," + - c + - "H" + - (i + t.labelExtraX + s)) - : (o += - "l" + - t.labelExtraX + - "," + - l + - "v" + - (c - l) + - "h" + - s); - } else o += "V" + (t.yLabelMid + t.labelExtraY) + "h" + s; - e.append("path") - .classed("textline", !0) - .call(a.stroke, g.outsidetextfont.color) - .attr({ - "stroke-width": Math.min(2, g.outsidetextfont.size / 8), - d: o, - fill: "none", - }); - } - })); - })); - }), - setTimeout(function () { - p.selectAll("tspan").each(function () { - var t = n.select(this); - t.attr("dy") && t.attr("dy", t.attr("dy")); - }); - }, 0)); - }; - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../../components/fx": 516, - "../../lib": 602, - "../../lib/svg_text_utils": 626, - "./event_data": 905, - "./helpers": 906, - d3: 130, - }, - ], - 911: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("./style_one"); - e.exports = function (t) { - t._fullLayout._pielayer.selectAll(".trace").each(function (t) { - var e = t[0].trace, - r = n.select(this); - (r.style({ opacity: e.opacity }), - r.selectAll("path.surface").each(function (t) { - n.select(this).call(i, t, e); - })); - }); - }; - }, - { "./style_one": 912, d3: 130 }, - ], - 912: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("./helpers").castOption; - e.exports = function (t, e, r) { - var a = r.marker.line, - o = i(a.color, e.pts) || n.defaultLine, - s = i(a.width, e.pts) || 0; - t.style({ "stroke-width": s }).call(n.fill, e.color).call(n.stroke, o); - }; - }, - { "../../components/color": 474, "./helpers": 906 }, - ], - 913: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"); - e.exports = { - x: n.x, - y: n.y, - xy: { valType: "data_array", editType: "calc" }, - indices: { valType: "data_array", editType: "calc" }, - xbounds: { valType: "data_array", editType: "calc" }, - ybounds: { valType: "data_array", editType: "calc" }, - text: n.text, - marker: { - color: { valType: "color", arrayOk: !1, editType: "calc" }, - opacity: { - valType: "number", - min: 0, - max: 1, - dflt: 1, - arrayOk: !1, - editType: "calc", - }, - blend: { valType: "boolean", dflt: null, editType: "calc" }, - sizemin: { - valType: "number", - min: 0.1, - max: 2, - dflt: 0.5, - editType: "calc", - }, - sizemax: { valType: "number", min: 0.1, dflt: 20, editType: "calc" }, - border: { - color: { valType: "color", arrayOk: !1, editType: "calc" }, - arearatio: { - valType: "number", - min: 0, - max: 1, - dflt: 0, - editType: "calc", - }, - editType: "calc", - }, - editType: "calc", - }, - }; - }, - { "../scatter/attributes": 926 }, - ], - 914: [ - function (t, e, r) { - "use strict"; - var n = t("gl-pointcloud2d"), - i = t("../../lib/str2rgbarray"), - a = t("../../plots/cartesian/autorange").expand, - o = t("../scatter/get_trace_color"); - function s(t, e) { - ((this.scene = t), - (this.uid = e), - (this.type = "pointcloud"), - (this.pickXData = []), - (this.pickYData = []), - (this.xData = []), - (this.yData = []), - (this.textLabels = []), - (this.color = "rgb(0, 0, 0)"), - (this.name = ""), - (this.hoverinfo = "all"), - (this.idToIndex = new Int32Array(0)), - (this.bounds = [0, 0, 0, 0]), - (this.pointcloudOptions = { - positions: new Float32Array(0), - idToIndex: this.idToIndex, - sizemin: 0.5, - sizemax: 12, - color: [0, 0, 0, 1], - areaRatio: 1, - borderColor: [0, 0, 0, 1], - }), - (this.pointcloud = n(t.glplot, this.pointcloudOptions)), - (this.pointcloud._trace = this)); - } - var l = s.prototype; - ((l.handlePick = function (t) { - var e = this.idToIndex[t.pointId]; - return { - trace: this, - dataCoord: t.dataCoord, - traceCoord: this.pickXYData - ? [this.pickXYData[2 * e], this.pickXYData[2 * e + 1]] - : [this.pickXData[e], this.pickYData[e]], - textLabel: Array.isArray(this.textLabels) - ? this.textLabels[e] - : this.textLabels, - color: this.color, - name: this.name, - pointIndex: e, - hoverinfo: this.hoverinfo, - }; - }), - (l.update = function (t) { - ((this.index = t.index), - (this.textLabels = t.text), - (this.name = t.name), - (this.hoverinfo = t.hoverinfo), - (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), - this.updateFast(t), - (this.color = o(t, {}))); - }), - (l.updateFast = function (t) { - var e, - r, - n, - a, - o, - s, - l = (this.xData = this.pickXData = t.x), - c = (this.yData = this.pickYData = t.y), - u = (this.pickXYData = t.xy), - f = t.xbounds && t.ybounds, - h = t.indices, - p = this.bounds; - if (u) { - if (((n = u), (e = u.length >>> 1), f)) - ((p[0] = t.xbounds[0]), - (p[2] = t.xbounds[1]), - (p[1] = t.ybounds[0]), - (p[3] = t.ybounds[1])); - else - for (s = 0; s < e; s++) - ((a = n[2 * s]), - (o = n[2 * s + 1]), - a < p[0] && (p[0] = a), - a > p[2] && (p[2] = a), - o < p[1] && (p[1] = o), - o > p[3] && (p[3] = o)); - if (h) r = h; - else for (r = new Int32Array(e), s = 0; s < e; s++) r[s] = s; - } else - for ( - e = l.length, - n = new Float32Array(2 * e), - r = new Int32Array(e), - s = 0; - s < e; - s++ - ) - ((a = l[s]), - (o = c[s]), - (r[s] = s), - (n[2 * s] = a), - (n[2 * s + 1] = o), - a < p[0] && (p[0] = a), - a > p[2] && (p[2] = a), - o < p[1] && (p[1] = o), - o > p[3] && (p[3] = o)); - ((this.idToIndex = r), - (this.pointcloudOptions.idToIndex = r), - (this.pointcloudOptions.positions = n)); - var d = i(t.marker.color), - g = i(t.marker.border.color), - m = t.opacity * t.marker.opacity; - ((d[3] *= m), (this.pointcloudOptions.color = d)); - var v = t.marker.blend; - if (null === v) { - v = l.length < 100 || c.length < 100; - } - ((this.pointcloudOptions.blend = v), - (g[3] *= m), - (this.pointcloudOptions.borderColor = g)); - var y = t.marker.sizemin, - x = Math.max(t.marker.sizemax, t.marker.sizemin); - ((this.pointcloudOptions.sizeMin = y), - (this.pointcloudOptions.sizeMax = x), - (this.pointcloudOptions.areaRatio = t.marker.border.arearatio), - this.pointcloud.update(this.pointcloudOptions), - this.expandAxesFast(p, x / 2)); - }), - (l.expandAxesFast = function (t, e) { - var r = e || 0.5; - (a(this.scene.xaxis, [t[0], t[2]], { ppad: r }), - a(this.scene.yaxis, [t[1], t[3]], { ppad: r })); - }), - (l.dispose = function () { - this.pointcloud.dispose(); - }), - (e.exports = function (t, e) { - var r = new s(t, e.uid); - return (r.update(e), r); - })); - }, - { - "../../lib/str2rgbarray": 625, - "../../plots/cartesian/autorange": 647, - "../scatter/get_trace_color": 936, - "gl-pointcloud2d": 255, - }, - ], - 915: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"); - e.exports = function (t, e, r) { - function a(r, a) { - return n.coerce(t, e, i, r, a); - } - (a("x"), - a("y"), - a("xbounds"), - a("ybounds"), - t.xy && t.xy instanceof Float32Array && (e.xy = t.xy), - t.indices && t.indices instanceof Int32Array && (e.indices = t.indices), - a("text"), - a("marker.color", r), - a("marker.opacity"), - a("marker.blend"), - a("marker.sizemin"), - a("marker.sizemax"), - a("marker.border.color", r), - a("marker.border.arearatio"), - (e._length = null)); - }; - }, - { "../../lib": 602, "./attributes": 913 }, - ], - 916: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("../scatter3d/calc")), - (n.plot = t("./convert")), - (n.moduleType = "trace"), - (n.name = "pointcloud"), - (n.basePlotModule = t("../../plots/gl2d")), - (n.categories = ["gl", "gl2d", "showLegend"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/gl2d": 687, - "../scatter3d/calc": 952, - "./attributes": 913, - "./convert": 914, - "./defaults": 915, - }, - ], - 917: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/font_attributes"), - i = t("../../plots/attributes"), - a = t("../../components/color/attributes"), - o = t("../../components/fx/attributes"), - s = t("../../plots/domain").attributes, - l = t("../../lib/extend").extendFlat, - c = t("../../plot_api/edit_types").overrideAll; - e.exports = c( - { - hoverinfo: l({}, i.hoverinfo, { - flags: ["label", "text", "value", "percent", "name"], - }), - hoverlabel: o.hoverlabel, - domain: s({ name: "sankey", trace: !0 }), - orientation: { valType: "enumerated", values: ["v", "h"], dflt: "h" }, - valueformat: { valType: "string", dflt: ".3s" }, - valuesuffix: { valType: "string", dflt: "" }, - arrangement: { - valType: "enumerated", - values: ["snap", "perpendicular", "freeform", "fixed"], - dflt: "snap", - }, - textfont: n({}), - node: { - label: { valType: "data_array", dflt: [] }, - color: { valType: "color", arrayOk: !0 }, - line: { - color: { valType: "color", dflt: a.defaultLine, arrayOk: !0 }, - width: { valType: "number", min: 0, dflt: 0.5, arrayOk: !0 }, - }, - pad: { valType: "number", arrayOk: !1, min: 0, dflt: 20 }, - thickness: { valType: "number", arrayOk: !1, min: 1, dflt: 20 }, - }, - link: { - label: { valType: "data_array", dflt: [] }, - color: { valType: "color", arrayOk: !0 }, - line: { - color: { valType: "color", dflt: a.defaultLine, arrayOk: !0 }, - width: { valType: "number", min: 0, dflt: 0, arrayOk: !0 }, - }, - source: { valType: "data_array", dflt: [] }, - target: { valType: "data_array", dflt: [] }, - value: { valType: "data_array", dflt: [] }, - }, - }, - "calc", - "nested", - ); - }, - { - "../../components/color/attributes": 473, - "../../components/fx/attributes": 508, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - "../../plots/domain": 673, - "../../plots/font_attributes": 674, - }, - ], - 918: [ - function (t, e, r) { - "use strict"; - var n = t("../../plot_api/edit_types").overrideAll, - i = t("../../plots/get_data").getModuleCalcData, - a = t("./plot"), - o = t("../../components/fx/layout_attributes"); - ((r.name = "sankey"), - (r.baseLayoutAttrOverrides = n( - { hoverlabel: o.hoverlabel }, - "plot", - "nested", - )), - (r.plot = function (t) { - var e = i(t.calcdata, "sankey")[0]; - a(t, e); - }), - (r.clean = function (t, e, r, n) { - var i = n._has && n._has("sankey"), - a = e._has && e._has("sankey"); - i && !a && n._paperdiv.selectAll(".sankey").remove(); - })); - }, - { - "../../components/fx/layout_attributes": 517, - "../../plot_api/edit_types": 633, - "../../plots/get_data": 684, - "./plot": 923, - }, - ], - 919: [ - function (t, e, r) { - "use strict"; - var n = t("strongly-connected-components"), - i = t("../../lib"), - a = t("../../lib/gup").wrap; - e.exports = function (t, e) { - return ( - (function (t, e, r) { - for ( - var i = t.map(function () { - return []; - }), - a = 0; - a < Math.min(e.length, r.length); - a++ - ) { - if (e[a] === r[a]) return !0; - i[e[a]].push(r[a]); - } - return n(i).components.some(function (t) { - return t.length > 1; - }); - })(e.node.label, e.link.source, e.link.target) && - (i.error( - "Circularity is present in the Sankey data. Removing all nodes and links.", - ), - (e.link.label = []), - (e.link.source = []), - (e.link.target = []), - (e.link.value = []), - (e.link.color = []), - (e.node.label = []), - (e.node.color = [])), - a({ link: e.link, node: e.node }) - ); - }; - }, - { - "../../lib": 602, - "../../lib/gup": 599, - "strongly-connected-components": 407, - }, - ], - 920: [ - function (t, e, r) { - "use strict"; - e.exports = { - nodeTextOffsetHorizontal: 4, - nodeTextOffsetVertical: 3, - nodePadAcross: 10, - sankeyIterations: 50, - forceIterations: 5, - forceTicksPerFrame: 10, - duration: 500, - ease: "cubic-in-out", - cn: { - sankey: "sankey", - sankeyLinks: "sankey-links", - sankeyLink: "sankey-link", - sankeyNodeSet: "sankey-node-set", - sankeyNode: "sankey-node", - nodeRect: "node-rect", - nodeCapture: "node-capture", - nodeCentered: "node-entered", - nodeLabelGuide: "node-label-guide", - nodeLabel: "node-label", - nodeLabelTextPath: "node-label-text-path", - }, - }; - }, - {}, - ], - 921: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("../../components/color"), - o = t("tinycolor2"), - s = t("../../plots/domain").defaults; - e.exports = function (t, e, r, l) { - function c(r, a) { - return n.coerce(t, e, i, r, a); - } - (c("node.label"), - c("node.pad"), - c("node.thickness"), - c("node.line.color"), - c("node.line.width")); - var u = l.colorway; - (c( - "node.color", - e.node.label.map(function (t, e) { - return a.addOpacity( - (function (t) { - return u[t % u.length]; - })(e), - 0.8, - ); - }), - ), - c("link.label"), - c("link.source"), - c("link.target"), - c("link.value"), - c("link.line.color"), - c("link.line.width"), - c( - "link.color", - e.link.value.map(function () { - return o(l.paper_bgcolor).getLuminance() < 0.333 - ? "rgba(255, 255, 255, 0.6)" - : "rgba(0, 0, 0, 0.2)"; - }), - ), - s(e, l, c), - c("orientation"), - c("valueformat"), - c("valuesuffix"), - c("arrangement"), - n.coerceFont(c, "textfont", n.extendFlat({}, l.font))); - (e.node.label.some(function (t, r) { - return -1 === e.link.source.indexOf(r) && -1 === e.link.target.indexOf(r); - }) && - n.warn( - "Some of the nodes are neither sources nor targets, they will not be displayed.", - ), - (e._length = null)); - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../../plots/domain": 673, - "./attributes": 917, - tinycolor2: 415, - }, - ], - 922: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.moduleType = "trace"), - (n.name = "sankey"), - (n.basePlotModule = t("./base_plot")), - (n.categories = ["noOpacity"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "./attributes": 917, - "./base_plot": 918, - "./calc": 919, - "./defaults": 921, - "./plot": 923, - }, - ], - 923: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("./render"), - a = t("../../components/fx"), - o = t("../../components/color"), - s = t("../../lib"), - l = t("./constants").cn, - c = s._; - function u(t) { - return "" !== t; - } - function f(t, e) { - return t.filter(function (t) { - return t.key === e.traceId; - }); - } - function h(t, e) { - (n.select(t).select("path").style("fill-opacity", e), - n.select(t).select("rect").style("fill-opacity", e)); - } - function p(t) { - n.select(t).select("text.name").style("fill", "black"); - } - function d(t) { - return function (e) { - return ( - -1 !== t.node.sourceLinks.indexOf(e.link) || - -1 !== t.node.targetLinks.indexOf(e.link) - ); - }; - } - function g(t) { - return function (e) { - return ( - -1 !== e.node.sourceLinks.indexOf(t.link) || - -1 !== e.node.targetLinks.indexOf(t.link) - ); - }; - } - function m(t, e, r) { - e && - r && - f(r, e) - .selectAll("." + l.sankeyLink) - .filter(d(e)) - .call(y.bind(0, e, r, !1)); - } - function v(t, e, r) { - e && - r && - f(r, e) - .selectAll("." + l.sankeyLink) - .filter(d(e)) - .call(x.bind(0, e, r, !1)); - } - function y(t, e, r, n) { - var i = n.datum().link.label; - (n.style("fill-opacity", 0.4), - i && - f(e, t) - .selectAll("." + l.sankeyLink) - .filter(function (t) { - return t.link.label === i; - }) - .style("fill-opacity", 0.4), - r && - f(e, t) - .selectAll("." + l.sankeyNode) - .filter(g(t)) - .call(m)); - } - function x(t, e, r, n) { - var i = n.datum().link.label; - (n.style("fill-opacity", function (t) { - return t.tinyColorAlpha; - }), - i && - f(e, t) - .selectAll("." + l.sankeyLink) - .filter(function (t) { - return t.link.label === i; - }) - .style("fill-opacity", function (t) { - return t.tinyColorAlpha; - }), - r && f(e, t).selectAll(l.sankeyNode).filter(g(t)).call(v)); - } - function b(t, e) { - var r = t.hoverlabel || {}, - n = s.nestedProperty(r, e).get(); - return !Array.isArray(n) && n; - } - e.exports = function (t, e) { - var r = t._fullLayout, - s = r._paper, - f = r._size, - d = c(t, "source:") + " ", - g = c(t, "target:") + " ", - _ = c(t, "incoming flow count:") + " ", - w = c(t, "outgoing flow count:") + " "; - i( - s, - e, - { width: f.w, height: f.h, margin: { t: f.t, r: f.r, b: f.b, l: f.l } }, - { - linkEvents: { - hover: function (e, r, i) { - (n.select(e).call(y.bind(0, r, i, !0)), - t.emit("plotly_hover", { event: n.event, points: [r.link] })); - }, - follow: function (e, i) { - var s = i.link.trace, - l = t._fullLayout._paperdiv.node().getBoundingClientRect(), - c = e.getBoundingClientRect(), - f = c.left + c.width / 2, - m = c.top + c.height / 2, - v = a.loneHover( - { - x: f - l.left, - y: m - l.top, - name: n.format(i.valueFormat)(i.link.value) + i.valueSuffix, - text: [ - i.link.label || "", - d + i.link.source.label, - g + i.link.target.label, - ] - .filter(u) - .join("
          "), - color: b(s, "bgcolor") || o.addOpacity(i.tinyColorHue, 1), - borderColor: b(s, "bordercolor"), - fontFamily: b(s, "font.family"), - fontSize: b(s, "font.size"), - fontColor: b(s, "font.color"), - idealAlign: n.event.x < f ? "right" : "left", - }, - { - container: r._hoverlayer.node(), - outerContainer: r._paper.node(), - gd: t, - }, - ); - (h(v, 0.65), p(v)); - }, - unhover: function (e, i, o) { - (n.select(e).call(x.bind(0, i, o, !0)), - t.emit("plotly_unhover", { event: n.event, points: [i.link] }), - a.loneUnhover(r._hoverlayer.node())); - }, - select: function (e, r) { - var i = r.link; - ((i.originalEvent = n.event), - (t._hoverdata = [i]), - a.click(t, { target: !0 })); - }, - }, - nodeEvents: { - hover: function (e, r, i) { - (n.select(e).call(m, r, i), - t.emit("plotly_hover", { event: n.event, points: [r.node] })); - }, - follow: function (e, i) { - var o = i.node.trace, - s = n.select(e).select("." + l.nodeRect), - c = t._fullLayout._paperdiv.node().getBoundingClientRect(), - f = s.node().getBoundingClientRect(), - d = f.left - 2 - c.left, - g = f.right + 2 - c.left, - m = f.top + f.height / 4 - c.top, - v = a.loneHover( - { - x0: d, - x1: g, - y: m, - name: n.format(i.valueFormat)(i.node.value) + i.valueSuffix, - text: [ - i.node.label, - _ + i.node.targetLinks.length, - w + i.node.sourceLinks.length, - ] - .filter(u) - .join("
          "), - color: b(o, "bgcolor") || i.tinyColorHue, - borderColor: b(o, "bordercolor"), - fontFamily: b(o, "font.family"), - fontSize: b(o, "font.size"), - fontColor: b(o, "font.color"), - idealAlign: "left", - }, - { - container: r._hoverlayer.node(), - outerContainer: r._paper.node(), - gd: t, - }, - ); - (h(v, 0.85), p(v)); - }, - unhover: function (e, i, o) { - (n.select(e).call(v, i, o), - t.emit("plotly_unhover", { event: n.event, points: [i.node] }), - a.loneUnhover(r._hoverlayer.node())); - }, - select: function (e, r, i) { - var o = r.node; - ((o.originalEvent = n.event), - (t._hoverdata = [o]), - n.select(e).call(v, r, i), - a.click(t, { target: !0 })); - }, - }, - }, - ); - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../lib": 602, - "./constants": 920, - "./render": 924, - d3: 130, - }, - ], - 924: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("d3"), - a = t("tinycolor2"), - o = t("../../components/color"), - s = t("../../components/drawing"), - l = t("@plotly/d3-sankey").sankey, - c = t("d3-force"), - u = t("../../lib"), - f = t("../../lib/gup").keyFun, - h = t("../../lib/gup").repeat, - p = t("../../lib/gup").unwrap; - function d(t) { - ((t.lastDraggedX = t.x), (t.lastDraggedY = t.y)); - } - function g(t) { - return function (e) { - return e.node.originalX === t.node.originalX; - }; - } - function m(t) { - for (var e = 0; e < t.length; e++) t[e].y = t[e].y + t[e].dy / 2; - } - function v(t) { - t.attr("transform", function (t) { - return ( - "translate(" + - t.node.x.toFixed(3) + - ", " + - (t.node.y - t.node.dy / 2).toFixed(3) + - ")" - ); - }); - } - function y(t) { - var e = t.sankey.nodes(); - !(function (t) { - for (var e = 0; e < t.length; e++) t[e].y = t[e].y - t[e].dy / 2; - })(e); - var r = t.sankey.link()(t.link); - return (m(e), r); - } - function x(t) { - t.call(v); - } - function b(t, e) { - (t.call(x), e.attr("d", y)); - } - function _(t) { - t.attr("width", function (t) { - return t.visibleWidth; - }).attr("height", function (t) { - return t.visibleHeight; - }); - } - function w(t) { - return t.link.dy > 1 || t.linkLineWidth > 0; - } - function k(t) { - return ( - "translate(" + - t.translateX + - "," + - t.translateY + - ")" + - (t.horizontal ? "matrix(1 0 0 1 0 0)" : "matrix(0 1 1 0 0 0)") - ); - } - function M(t) { - return ( - "translate(" + - (t.horizontal ? 0 : t.labelY) + - " " + - (t.horizontal ? t.labelY : 0) + - ")" - ); - } - function A(t) { - return i.svg.line()([ - [ - t.horizontal - ? t.left - ? -t.sizeAcross - : t.visibleWidth + n.nodeTextOffsetHorizontal - : n.nodeTextOffsetHorizontal, - 0, - ], - [ - t.horizontal - ? t.left - ? -n.nodeTextOffsetHorizontal - : t.sizeAcross - : t.visibleHeight - n.nodeTextOffsetHorizontal, - 0, - ], - ]); - } - function T(t) { - return t.horizontal ? "matrix(1 0 0 1 0 0)" : "matrix(0 1 1 0 0 0)"; - } - function S(t) { - return t.horizontal ? "scale(1 1)" : "scale(-1 1)"; - } - function C(t) { - return t.darkBackground && !t.horizontal - ? "rgb(255,255,255)" - : "rgb(0,0,0)"; - } - function E(t) { - return t.horizontal && t.left ? "100%" : "0%"; - } - function L(t, e, r) { - t.on(".basic", null) - .on("mouseover.basic", function (t) { - t.interactionState.dragInProgress || - (r.hover(this, t, e), (t.interactionState.hovered = [this, t])); - }) - .on("mousemove.basic", function (t) { - t.interactionState.dragInProgress || - (r.follow(this, t), (t.interactionState.hovered = [this, t])); - }) - .on("mouseout.basic", function (t) { - t.interactionState.dragInProgress || - (r.unhover(this, t, e), (t.interactionState.hovered = !1)); - }) - .on("click.basic", function (t) { - (t.interactionState.hovered && - (r.unhover(this, t, e), (t.interactionState.hovered = !1)), - t.interactionState.dragInProgress || r.select(this, t, e)); - }); - } - function z(t, e, r) { - var a = i.behavior - .drag() - .origin(function (t) { - return t.node; - }) - .on("dragstart", function (i) { - if ( - "fixed" !== i.arrangement && - (u.raiseToTop(this), - (i.interactionState.dragInProgress = i.node), - d(i.node), - i.interactionState.hovered && - (r.nodeEvents.unhover.apply(0, i.interactionState.hovered), - (i.interactionState.hovered = !1)), - "snap" === i.arrangement) - ) { - var a = i.traceId + "|" + Math.floor(i.node.originalX); - (i.forceLayouts[a] - ? i.forceLayouts[a].alpha(1) - : (function (t, e, r) { - var i = r.sankey.nodes().filter(function (t) { - return t.originalX === r.node.originalX; - }); - r.forceLayouts[e] = c - .forceSimulation(i) - .alphaDecay(0) - .force( - "collide", - c - .forceCollide() - .radius(function (t) { - return t.dy / 2 + r.nodePad / 2; - }) - .strength(1) - .iterations(n.forceIterations), - ) - .force( - "constrain", - (function (t, e, r, i) { - return function () { - for (var t = 0, a = 0; a < r.length; a++) { - var o = r[a]; - (o === i.interactionState.dragInProgress - ? ((o.x = o.lastDraggedX), (o.y = o.lastDraggedY)) - : ((o.vx = - (o.originalX - o.x) / n.forceTicksPerFrame), - (o.y = Math.min( - i.size - o.dy / 2, - Math.max(o.dy / 2, o.y), - ))), - (t = Math.max(t, Math.abs(o.vx), Math.abs(o.vy)))); - } - !i.interactionState.dragInProgress && - t < 0.1 && - i.forceLayouts[e].alpha() > 0 && - i.forceLayouts[e].alpha(0); - }; - })(0, e, i, r), - ) - .stop(); - })(0, a, i), - (function (t, e, r, i) { - window.requestAnimationFrame(function a() { - for (var o = 0; o < n.forceTicksPerFrame; o++) - r.forceLayouts[i].tick(); - (r.sankey.relayout(), - b(t.filter(g(r)), e), - r.forceLayouts[i].alpha() > 0 && - window.requestAnimationFrame(a)); - }); - })(t, e, i, a)); - } - }) - .on("drag", function (r) { - if ("fixed" !== r.arrangement) { - var n = i.event.x, - a = i.event.y; - ("snap" === r.arrangement - ? ((r.node.x = n), (r.node.y = a)) - : ("freeform" === r.arrangement && (r.node.x = n), - (r.node.y = Math.max( - r.node.dy / 2, - Math.min(r.size - r.node.dy / 2, a), - ))), - d(r.node), - "snap" !== r.arrangement && - (r.sankey.relayout(), b(t.filter(g(r)), e))); - } - }) - .on("dragend", function (t) { - t.interactionState.dragInProgress = !1; - }); - t.on(".drag", null).call(a); - } - e.exports = function (t, e, r, i) { - var c = t.selectAll("." + n.cn.sankey).data( - e - .filter(function (t) { - return p(t).trace.visible; - }) - .map( - function (t, e, r) { - for ( - var i, - a = p(e).trace, - o = a.domain, - s = a.node, - c = a.link, - f = a.arrangement, - h = "h" === a.orientation, - d = a.node.pad, - g = a.node.thickness, - v = a.node.line.color, - y = a.node.line.width, - x = a.link.line.color, - b = a.link.line.width, - _ = a.valueformat, - w = a.valuesuffix, - k = a.textfont, - M = t.width * (o.x[1] - o.x[0]), - A = t.height * (o.y[1] - o.y[0]), - T = s.label.map(function (t, e) { - return { - pointNumber: e, - label: t, - color: u.isArrayOrTypedArray(s.color) - ? s.color[e] - : s.color, - }; - }), - S = c.value.map(function (t, e) { - return { - pointNumber: e, - label: c.label[e], - color: u.isArrayOrTypedArray(c.color) - ? c.color[e] - : c.color, - source: c.source[e], - target: c.target[e], - value: t, - }; - }), - C = l() - .size(h ? [M, A] : [A, M]) - .nodeWidth(g) - .nodePadding(d) - .nodes(T) - .links(S) - .layout(n.sankeyIterations), - E = C.nodes(), - L = 0; - L < E.length; - L++ - ) - (((i = E[L]).width = M), (i.height = A)); - return ( - m(T), - { - key: r, - trace: a, - guid: Math.floor(1e12 * (1 + Math.random())), - horizontal: h, - width: M, - height: A, - nodePad: d, - nodeLineColor: v, - nodeLineWidth: y, - linkLineColor: x, - linkLineWidth: b, - valueFormat: _, - valueSuffix: w, - textFont: k, - translateX: o.x[0] * M + t.margin.l, - translateY: t.height - o.y[1] * t.height + t.margin.t, - dragParallel: h ? A : M, - dragPerpendicular: h ? M : A, - nodes: T, - links: S, - arrangement: f, - sankey: C, - forceLayouts: {}, - interactionState: { dragInProgress: !1, hovered: !1 }, - } - ); - }.bind(null, r), - ), - f, - ); - (c.exit().remove(), - c - .enter() - .append("g") - .classed(n.cn.sankey, !0) - .style("box-sizing", "content-box") - .style("position", "absolute") - .style("left", 0) - .style("shape-rendering", "geometricPrecision") - .style("pointer-events", "auto") - .style("box-sizing", "content-box") - .attr("transform", k), - c.transition().ease(n.ease).duration(n.duration).attr("transform", k)); - var d = c.selectAll("." + n.cn.sankeyLinks).data(h, f); - d.enter().append("g").classed(n.cn.sankeyLinks, !0).style("fill", "none"); - var g = d.selectAll("." + n.cn.sankeyLink).data(function (t) { - return t.sankey - .links() - .filter(function (t) { - return t.value; - }) - .map( - function (t, e, r) { - var n = a(r.color), - i = r.source.label + "|" + r.target.label, - s = t[i]; - t[i] = (s || 0) + 1; - var l = i + "__" + t[i]; - return ( - (r.trace = e.trace), - (r.curveNumber = e.trace.index), - { - key: l, - traceId: e.key, - link: r, - tinyColorHue: o.tinyRGB(n), - tinyColorAlpha: n.getAlpha(), - linkLineColor: e.linkLineColor, - linkLineWidth: e.linkLineWidth, - valueFormat: e.valueFormat, - valueSuffix: e.valueSuffix, - sankey: e.sankey, - interactionState: e.interactionState, - } - ); - }.bind(null, {}, t), - ); - }, f); - (g - .enter() - .append("path") - .classed(n.cn.sankeyLink, !0) - .attr("d", y) - .call(L, c, i.linkEvents), - g - .style("stroke", function (t) { - return w(t) ? o.tinyRGB(a(t.linkLineColor)) : t.tinyColorHue; - }) - .style("stroke-opacity", function (t) { - return w(t) ? o.opacity(t.linkLineColor) : t.tinyColorAlpha; - }) - .style("stroke-width", function (t) { - return w(t) ? t.linkLineWidth : 1; - }) - .style("fill", function (t) { - return t.tinyColorHue; - }) - .style("fill-opacity", function (t) { - return t.tinyColorAlpha; - }), - g.transition().ease(n.ease).duration(n.duration).attr("d", y), - g - .exit() - .transition() - .ease(n.ease) - .duration(n.duration) - .style("opacity", 0) - .remove()); - var x = c.selectAll("." + n.cn.sankeyNodeSet).data(h, f); - (x.enter().append("g").classed(n.cn.sankeyNodeSet, !0), - x.style("cursor", function (t) { - switch (t.arrangement) { - case "fixed": - return "default"; - case "perpendicular": - return "ns-resize"; - default: - return "move"; - } - })); - var b = x.selectAll("." + n.cn.sankeyNode).data(function (t) { - var e = t.sankey.nodes(); - return ( - (function (t) { - var e, - r = []; - for (e = 0; e < t.length; e++) - ((t[e].originalX = t[e].x), - (t[e].originalY = t[e].y), - -1 === r.indexOf(t[e].x) && r.push(t[e].x)); - for ( - r.sort(function (t, e) { - return t - e; - }), - e = 0; - e < t.length; - e++ - ) - ((t[e].originalLayerIndex = r.indexOf(t[e].originalX)), - (t[e].originalLayer = t[e].originalLayerIndex / (r.length - 1))); - })(e), - e - .filter(function (t) { - return t.value; - }) - .map( - function (t, e, r) { - var i = a(r.color), - s = n.nodePadAcross, - l = e.nodePad / 2, - c = r.dx, - u = Math.max(0.5, r.dy), - f = r.label, - h = t[f]; - t[f] = (h || 0) + 1; - var p = f + "__" + t[f]; - return ( - (r.trace = e.trace), - (r.curveNumber = e.trace.index), - { - key: p, - traceId: e.key, - node: r, - nodePad: e.nodePad, - nodeLineColor: e.nodeLineColor, - nodeLineWidth: e.nodeLineWidth, - textFont: e.textFont, - size: e.horizontal ? e.height : e.width, - visibleWidth: Math.ceil(c), - visibleHeight: u, - zoneX: -s, - zoneY: -l, - zoneWidth: c + 2 * s, - zoneHeight: u + 2 * l, - labelY: e.horizontal ? r.dy / 2 + 1 : r.dx / 2 + 1, - left: 1 === r.originalLayer, - sizeAcross: e.width, - forceLayouts: e.forceLayouts, - horizontal: e.horizontal, - darkBackground: i.getBrightness() <= 128, - tinyColorHue: o.tinyRGB(i), - tinyColorAlpha: i.getAlpha(), - valueFormat: e.valueFormat, - valueSuffix: e.valueSuffix, - sankey: e.sankey, - arrangement: e.arrangement, - uniqueNodeLabelPathId: [e.guid, e.key, p].join(" "), - interactionState: e.interactionState, - } - ); - }.bind(null, {}, t), - ) - ); - }, f); - (b - .enter() - .append("g") - .classed(n.cn.sankeyNode, !0) - .call(v) - .call(L, c, i.nodeEvents), - b.call(z, g, i), - b.transition().ease(n.ease).duration(n.duration).call(v), - b - .exit() - .transition() - .ease(n.ease) - .duration(n.duration) - .style("opacity", 0) - .remove()); - var P = b.selectAll("." + n.cn.nodeRect).data(h); - (P.enter().append("rect").classed(n.cn.nodeRect, !0).call(_), - P.style("stroke-width", function (t) { - return t.nodeLineWidth; - }) - .style("stroke", function (t) { - return o.tinyRGB(a(t.nodeLineColor)); - }) - .style("stroke-opacity", function (t) { - return o.opacity(t.nodeLineColor); - }) - .style("fill", function (t) { - return t.tinyColorHue; - }) - .style("fill-opacity", function (t) { - return t.tinyColorAlpha; - }), - P.transition().ease(n.ease).duration(n.duration).call(_)); - var D = b.selectAll("." + n.cn.nodeCapture).data(h); - (D.enter() - .append("rect") - .classed(n.cn.nodeCapture, !0) - .style("fill-opacity", 0), - D.attr("x", function (t) { - return t.zoneX; - }) - .attr("y", function (t) { - return t.zoneY; - }) - .attr("width", function (t) { - return t.zoneWidth; - }) - .attr("height", function (t) { - return t.zoneHeight; - })); - var O = b.selectAll("." + n.cn.nodeCentered).data(h); - (O.enter().append("g").classed(n.cn.nodeCentered, !0).attr("transform", M), - O.transition().ease(n.ease).duration(n.duration).attr("transform", M)); - var I = O.selectAll("." + n.cn.nodeLabelGuide).data(h); - (I.enter() - .append("path") - .classed(n.cn.nodeLabelGuide, !0) - .attr("id", function (t) { - return t.uniqueNodeLabelPathId; - }) - .attr("d", A) - .attr("transform", T), - I.transition() - .ease(n.ease) - .duration(n.duration) - .attr("d", A) - .attr("transform", T)); - var R = O.selectAll("." + n.cn.nodeLabel).data(h); - (R.enter() - .append("text") - .classed(n.cn.nodeLabel, !0) - .attr("transform", S) - .style("user-select", "none") - .style("cursor", "default") - .style("fill", "black"), - R.style("text-shadow", function (t) { - return t.horizontal - ? "-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff" - : "none"; - }).each(function (t) { - s.font(R, t.textFont); - }), - R.transition().ease(n.ease).duration(n.duration).attr("transform", S)); - var B = R.selectAll("." + n.cn.nodeLabelTextPath).data(h); - (B.enter() - .append("textPath") - .classed(n.cn.nodeLabelTextPath, !0) - .attr("alignment-baseline", "middle") - .attr("xlink:href", function (t) { - return "#" + t.uniqueNodeLabelPathId; - }) - .attr("startOffset", E) - .style("fill", C), - B.text(function (t) { - return t.horizontal || t.node.dy > 5 ? t.node.label : ""; - }).attr("text-anchor", function (t) { - return t.horizontal && t.left ? "end" : "start"; - }), - B.transition() - .ease(n.ease) - .duration(n.duration) - .attr("startOffset", E) - .style("fill", C)); - }; - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/gup": 599, - "./constants": 920, - "@plotly/d3-sankey": 42, - d3: 130, - "d3-force": 126, - tinycolor2: 415, - }, - ], - 925: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e) { - for (var r = 0; r < t.length; r++) t[r].i = r; - (n.mergeArray(e.text, t, "tx"), - n.mergeArray(e.hovertext, t, "htx"), - n.mergeArray(e.customdata, t, "data"), - n.mergeArray(e.textposition, t, "tp"), - e.textfont && - (n.mergeArray(e.textfont.size, t, "ts"), - n.mergeArray(e.textfont.color, t, "tc"), - n.mergeArray(e.textfont.family, t, "tf"))); - var i = e.marker; - if (i) { - (n.mergeArray(i.size, t, "ms"), - n.mergeArray(i.opacity, t, "mo"), - n.mergeArray(i.symbol, t, "mx"), - n.mergeArray(i.color, t, "mc")); - var a = i.line; - i.line && - (n.mergeArray(a.color, t, "mlc"), n.mergeArray(a.width, t, "mlw")); - var o = i.gradient; - o && - "none" !== o.type && - (n.mergeArray(o.type, t, "mgt"), n.mergeArray(o.color, t, "mgc")); - } - }; - }, - { "../../lib": 602 }, - ], - 926: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/color_attributes"), - i = t("../../components/colorbar/attributes"), - a = t("../../plots/font_attributes"), - o = t("../../components/drawing/attributes").dash, - s = t("../../components/drawing"), - l = (t("./constants"), t("../../lib/extend").extendFlat); - e.exports = { - x: { valType: "data_array", editType: "calc+clearAxisTypes" }, - x0: { valType: "any", dflt: 0, editType: "calc+clearAxisTypes" }, - dx: { valType: "number", dflt: 1, editType: "calc" }, - y: { valType: "data_array", editType: "calc+clearAxisTypes" }, - y0: { valType: "any", dflt: 0, editType: "calc+clearAxisTypes" }, - dy: { valType: "number", dflt: 1, editType: "calc" }, - text: { valType: "string", dflt: "", arrayOk: !0, editType: "calc" }, - hovertext: { valType: "string", dflt: "", arrayOk: !0, editType: "style" }, - mode: { - valType: "flaglist", - flags: ["lines", "markers", "text"], - extras: ["none"], - editType: "calc", - }, - hoveron: { - valType: "flaglist", - flags: ["points", "fills"], - editType: "style", - }, - line: { - color: { valType: "color", editType: "style" }, - width: { valType: "number", min: 0, dflt: 2, editType: "style" }, - shape: { - valType: "enumerated", - values: ["linear", "spline", "hv", "vh", "hvh", "vhv"], - dflt: "linear", - editType: "plot", - }, - smoothing: { - valType: "number", - min: 0, - max: 1.3, - dflt: 1, - editType: "plot", - }, - dash: l({}, o, { editType: "style" }), - simplify: { valType: "boolean", dflt: !0, editType: "plot" }, - editType: "plot", - }, - connectgaps: { valType: "boolean", dflt: !1, editType: "calc" }, - cliponaxis: { valType: "boolean", dflt: !0, editType: "plot" }, - fill: { - valType: "enumerated", - values: [ - "none", - "tozeroy", - "tozerox", - "tonexty", - "tonextx", - "toself", - "tonext", - ], - dflt: "none", - editType: "calc", - }, - fillcolor: { valType: "color", editType: "style" }, - marker: l( - { - symbol: { - valType: "enumerated", - values: s.symbolList, - dflt: "circle", - arrayOk: !0, - editType: "style", - }, - opacity: { - valType: "number", - min: 0, - max: 1, - arrayOk: !0, - editType: "style", - }, - size: { - valType: "number", - min: 0, - dflt: 6, - arrayOk: !0, - editType: "calcIfAutorange", - }, - maxdisplayed: { valType: "number", min: 0, dflt: 0, editType: "plot" }, - sizeref: { valType: "number", dflt: 1, editType: "calc" }, - sizemin: { valType: "number", min: 0, dflt: 0, editType: "calc" }, - sizemode: { - valType: "enumerated", - values: ["diameter", "area"], - dflt: "diameter", - editType: "calc", - }, - showscale: { valType: "boolean", dflt: !1, editType: "calc" }, - colorbar: i, - line: l( - { - width: { - valType: "number", - min: 0, - arrayOk: !0, - editType: "style", - }, - editType: "calc", - }, - n("marker.line"), - ), - gradient: { - type: { - valType: "enumerated", - values: ["radial", "horizontal", "vertical", "none"], - arrayOk: !0, - dflt: "none", - editType: "calc", - }, - color: { valType: "color", arrayOk: !0, editType: "calc" }, - editType: "calc", - }, - editType: "calc", - }, - n("marker"), - ), - selected: { - marker: { - opacity: { valType: "number", min: 0, max: 1, editType: "style" }, - color: { valType: "color", editType: "style" }, - size: { valType: "number", min: 0, editType: "style" }, - editType: "style", - }, - textfont: { - color: { valType: "color", editType: "style" }, - editType: "style", - }, - editType: "style", - }, - unselected: { - marker: { - opacity: { valType: "number", min: 0, max: 1, editType: "style" }, - color: { valType: "color", editType: "style" }, - size: { valType: "number", min: 0, editType: "style" }, - editType: "style", - }, - textfont: { - color: { valType: "color", editType: "style" }, - editType: "style", - }, - editType: "style", - }, - textposition: { - valType: "enumerated", - values: [ - "top left", - "top center", - "top right", - "middle left", - "middle center", - "middle right", - "bottom left", - "bottom center", - "bottom right", - ], - dflt: "middle center", - arrayOk: !0, - editType: "calc", - }, - textfont: a({ editType: "calc", colorEditType: "style", arrayOk: !0 }), - r: { valType: "data_array", editType: "calc" }, - t: { valType: "data_array", editType: "calc" }, - }; - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/color_attributes": 482, - "../../components/drawing": 499, - "../../components/drawing/attributes": 498, - "../../lib/extend": 591, - "../../plots/font_attributes": 674, - "./constants": 932, - }, - ], - 927: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib").isArrayOrTypedArray, - a = t("../../plots/cartesian/axes"), - o = t("../../constants/numerical").BADNUM, - s = t("./subtypes"), - l = t("./colorscale_calc"), - c = t("./arrays_to_calcdata"), - u = t("./calc_selection"); - function f(t, e, r, n, i, o, l) { - var c = e._length; - ((r._minDtick = 0), (n._minDtick = 0)); - var u = { padded: !0 }, - f = { padded: !0 }; - (l && (u.ppad = f.ppad = l), - !("tozerox" === e.fill || ("tonextx" === e.fill && t.firstscatter)) || - (i[0] === i[c - 1] && o[0] === o[c - 1]) - ? (e.error_y || {}).visible || - (-1 === ["tonexty", "tozeroy"].indexOf(e.fill) && - (s.hasMarkers(e) || s.hasText(e))) || - ((u.padded = !1), (u.ppad = 0)) - : (u.tozero = !0), - !("tozeroy" === e.fill || ("tonexty" === e.fill && t.firstscatter)) || - (i[0] === i[c - 1] && o[0] === o[c - 1]) - ? -1 !== ["tonextx", "tozerox"].indexOf(e.fill) && (f.padded = !1) - : (f.tozero = !0), - a.expand(r, i, u), - a.expand(n, o, f)); - } - function h(t, e) { - if (s.hasMarkers(t)) { - var r, - n = t.marker, - o = 1.6 * (t.marker.sizeref || 1); - if ( - ((r = - "area" === t.marker.sizemode - ? function (t) { - return Math.max(Math.sqrt((t || 0) / o), 3); - } - : function (t) { - return Math.max((t || 0) / o, 3); - }), - i(n.size)) - ) { - var l = { type: "linear" }; - a.setConvert(l); - for ( - var c = l.makeCalcdata(t.marker, "size"), u = new Array(e), f = 0; - f < e; - f++ - ) - u[f] = r(c[f]); - return u; - } - return r(n.size); - } - } - e.exports = { - calc: function (t, e) { - var r = a.getFromId(t, e.xaxis || "x"), - i = a.getFromId(t, e.yaxis || "y"), - s = r.makeCalcdata(e, "x"), - p = i.makeCalcdata(e, "y"), - d = e._length, - g = new Array(d); - f(t, e, r, i, s, p, h(e, d)); - for (var m = 0; m < d; m++) - ((g[m] = n(s[m]) && n(p[m]) ? { x: s[m], y: p[m] } : { x: o, y: o }), - e.ids && (g[m].id = String(e.ids[m]))); - return (c(g, e), l(e), u(g, e), (t.firstscatter = !1), g); - }, - calcMarkerSize: h, - calcAxisExpansion: f, - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "./arrays_to_calcdata": 925, - "./calc_selection": 928, - "./colorscale_calc": 931, - "./subtypes": 948, - "fast-isnumeric": 196, - }, - ], - 928: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e) { - n.isArrayOrTypedArray(e.selectedpoints) && n.tagSelected(t, e); - }; - }, - { "../../lib": 602 }, - ], - 929: [ - function (t, e, r) { - "use strict"; - e.exports = function (t) { - for (var e = 0; e < t.length; e++) { - var r = t[e]; - if ("scatter" === r.type) { - var n = r.fill; - if ( - "none" !== n && - "toself" !== n && - ((r.opacity = void 0), "tonexty" === n || "tonextx" === n) - ) - for (var i = e - 1; i >= 0; i--) { - var a = t[i]; - if ( - "scatter" === a.type && - a.xaxis === r.xaxis && - a.yaxis === r.yaxis - ) { - a.opacity = void 0; - break; - } - } - } - } - }; - }, - {}, - ], - 930: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../components/colorscale"), - s = t("../../components/colorbar/draw"); - e.exports = function (t, e) { - var r = e[0].trace, - l = r.marker, - c = "cb" + r.uid; - if ( - (t._fullLayout._infolayer.selectAll("." + c).remove(), - void 0 !== l && l.showscale) - ) { - var u = l.color, - f = l.cmin, - h = l.cmax; - (n(f) || (f = i.aggNums(Math.min, null, u)), - n(h) || (h = i.aggNums(Math.max, null, u))); - var p = (e[0].t.cb = s(t, c)), - d = o.makeColorScaleFunc(o.extractScale(l.colorscale, f, h), { - noNumericCheck: !0, - }); - p - .fillcolor(d) - .filllevels({ start: f, end: h, size: (h - f) / 254 }) - .options(l.colorbar)(); - } else a.autoMargin(t, c); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../components/colorscale": 489, - "../../lib": 602, - "../../plots/plots": 710, - "fast-isnumeric": 196, - }, - ], - 931: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/has_colorscale"), - i = t("../../components/colorscale/calc"), - a = t("./subtypes"); - e.exports = function (t) { - (a.hasLines(t) && n(t, "line") && i(t, t.line.color, "line", "c"), - a.hasMarkers(t) && - (n(t, "marker") && i(t, t.marker.color, "marker", "c"), - n(t, "marker.line") && i(t, t.marker.line.color, "marker.line", "c"))); - }; - }, - { - "../../components/colorscale/calc": 481, - "../../components/colorscale/has_colorscale": 488, - "./subtypes": 948, - }, - ], - 932: [ - function (t, e, r) { - "use strict"; - e.exports = { - PTS_LINESONLY: 20, - minTolerance: 0.2, - toleranceGrowth: 10, - maxScreensAway: 20, - }; - }, - {}, - ], - 933: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../registry"), - a = t("./attributes"), - o = t("./constants"), - s = t("./subtypes"), - l = t("./xy_defaults"), - c = t("./marker_defaults"), - u = t("./line_defaults"), - f = t("./line_shape_defaults"), - h = t("./text_defaults"), - p = t("./fillcolor_defaults"); - e.exports = function (t, e, r, d) { - function g(r, i) { - return n.coerce(t, e, a, r, i); - } - var m = l(t, e, d, g), - v = m < o.PTS_LINESONLY ? "lines+markers" : "lines"; - if (m) { - (g("text"), - g("hovertext"), - g("mode", v), - s.hasLines(e) && - (u(t, e, r, d, g), f(t, e, g), g("connectgaps"), g("line.simplify")), - s.hasMarkers(e) && c(t, e, r, d, g, { gradient: !0 }), - s.hasText(e) && h(t, e, d, g)); - var y = []; - ((s.hasMarkers(e) || s.hasText(e)) && - (g("cliponaxis"), g("marker.maxdisplayed"), y.push("points")), - g("fill"), - "none" !== e.fill && (p(t, e, r, g), s.hasLines(e) || f(t, e, g)), - ("tonext" !== e.fill && "toself" !== e.fill) || y.push("fills"), - g("hoveron", y.join("+") || "points")); - var x = i.getComponentMethod("errorbars", "supplyDefaults"); - (x(t, e, r, { axis: "y" }), - x(t, e, r, { axis: "x", inherit: "y" }), - n.coerceSelectionMarkerOpacity(e, g)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "./attributes": 926, - "./constants": 932, - "./fillcolor_defaults": 935, - "./line_defaults": 939, - "./line_shape_defaults": 941, - "./marker_defaults": 944, - "./subtypes": 948, - "./text_defaults": 949, - "./xy_defaults": 950, - }, - ], - 934: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - function i(t) { - return t || 0 === t; - } - e.exports = function (t, e, r) { - var a = Array.isArray(r) - ? function (t) { - r.push(t); - } - : function (t) { - r.text = t; - }, - o = n.extractOption(t, e, "htx", "hovertext"); - if (i(o)) return a(o); - var s = n.extractOption(t, e, "tx", "text"); - return i(s) ? a(s) : void 0; - }; - }, - { "../../lib": 602 }, - ], - 935: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("../../lib").isArrayOrTypedArray; - e.exports = function (t, e, r, a) { - var o = !1; - if (e.marker) { - var s = e.marker.color, - l = (e.marker.line || {}).color; - s && !i(s) ? (o = s) : l && !i(l) && (o = l); - } - a("fillcolor", n.addOpacity((e.line || {}).color || o || r, 0.5)); - }; - }, - { "../../components/color": 474, "../../lib": 602 }, - ], - 936: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("./subtypes"); - e.exports = function (t, e) { - var r, a; - if ("lines" === t.mode) - return (r = t.line.color) && n.opacity(r) ? r : t.fillcolor; - if ("none" === t.mode) return t.fill ? t.fillcolor : ""; - var o = e.mcc || (t.marker || {}).color, - s = e.mlcc || ((t.marker || {}).line || {}).color; - return (a = - o && n.opacity(o) - ? o - : s && n.opacity(s) && (e.mlw || ((t.marker || {}).line || {}).width) - ? s - : "") - ? n.opacity(a) < 0.3 - ? n.addOpacity(a, 0.3) - : a - : (r = (t.line || {}).color) && - n.opacity(r) && - i.hasLines(t) && - t.line.width - ? r - : t.fillcolor; - }; - }, - { "../../components/color": 474, "./subtypes": 948 }, - ], - 937: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/fx"), - a = t("../../registry"), - o = t("./get_trace_color"), - s = t("../../components/color"), - l = t("./fill_hover_text"); - e.exports = function (t, e, r, c) { - var u = t.cd, - f = u[0].trace, - h = t.xa, - p = t.ya, - d = h.c2p(e), - g = p.c2p(r), - m = [d, g], - v = f.hoveron || "", - y = -1 !== f.mode.indexOf("markers") ? 3 : 0.5; - if (-1 !== v.indexOf("points")) { - var x = function (t) { - var e = Math.max(y, t.mrc || 0), - r = h.c2p(t.x) - d, - n = p.c2p(t.y) - g; - return Math.max(Math.sqrt(r * r + n * n) - e, 1 - y / e); - }, - b = i.getDistanceFunction( - c, - function (t) { - var e = Math.max(3, t.mrc || 0), - r = 1 - 1 / e, - n = Math.abs(h.c2p(t.x) - d); - return n < e ? (r * n) / e : n - e + r; - }, - function (t) { - var e = Math.max(3, t.mrc || 0), - r = 1 - 1 / e, - n = Math.abs(p.c2p(t.y) - g); - return n < e ? (r * n) / e : n - e + r; - }, - x, - ); - if ((i.getClosest(u, b, t), !1 !== t.index)) { - var _ = u[t.index], - w = h.c2p(_.x, !0), - k = p.c2p(_.y, !0), - M = _.mrc || 1; - return ( - n.extendFlat(t, { - color: o(f, _), - x0: w - M, - x1: w + M, - xLabelVal: _.x, - y0: k - M, - y1: k + M, - yLabelVal: _.y, - spikeDistance: x(_), - }), - l(_, f, t), - a.getComponentMethod("errorbars", "hoverInfo")(_, f, t), - [t] - ); - } - } - if (-1 !== v.indexOf("fills") && f._polygons) { - var A, - T, - S, - C, - E, - L, - z, - P, - D, - O = f._polygons, - I = [], - R = !1, - B = 1 / 0, - F = -1 / 0, - N = 1 / 0, - j = -1 / 0; - for (A = 0; A < O.length; A++) - (S = O[A]).contains(m) && - ((R = !R), - I.push(S), - (N = Math.min(N, S.ymin)), - (j = Math.max(j, S.ymax))); - if (R) { - var V = ((N = Math.max(N, 0)) + (j = Math.min(j, p._length))) / 2; - for (A = 0; A < I.length; A++) - for (C = I[A].pts, T = 1; T < C.length; T++) - (P = C[T - 1][1]) > V != (D = C[T][1]) >= V && - ((L = C[T - 1][0]), - (z = C[T][0]), - D - P && - ((E = L + ((z - L) * (V - P)) / (D - P)), - (B = Math.min(B, E)), - (F = Math.max(F, E)))); - ((B = Math.max(B, 0)), (F = Math.min(F, h._length))); - var U = s.defaultLine; - return ( - s.opacity(f.fillcolor) - ? (U = f.fillcolor) - : s.opacity((f.line || {}).color) && (U = f.line.color), - n.extendFlat(t, { - distance: t.maxHoverDistance, - x0: B, - x1: F, - y0: V, - y1: V, - color: U, - }), - delete t.index, - f.text && !Array.isArray(f.text) - ? (t.text = String(f.text)) - : (t.text = f.name), - [t] - ); - } - } - }; - }, - { - "../../components/color": 474, - "../../components/fx": 516, - "../../lib": 602, - "../../registry": 732, - "./fill_hover_text": 934, - "./get_trace_color": 936, - }, - ], - 938: [ - function (t, e, r) { - "use strict"; - var n = {}, - i = t("./subtypes"); - ((n.hasLines = i.hasLines), - (n.hasMarkers = i.hasMarkers), - (n.hasText = i.hasText), - (n.isBubble = i.isBubble), - (n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.cleanData = t("./clean_data")), - (n.calc = t("./calc").calc), - (n.arraysToCalcdata = t("./arrays_to_calcdata")), - (n.plot = t("./plot")), - (n.colorbar = t("./colorbar")), - (n.style = t("./style").style), - (n.styleOnSelect = t("./style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.selectPoints = t("./select")), - (n.animatable = !0), - (n.moduleType = "trace"), - (n.name = "scatter"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "cartesian", - "svg", - "symbols", - "markerColorscale", - "errorBarsOK", - "showLegend", - "scatter-like", - "draggedPts", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "./arrays_to_calcdata": 925, - "./attributes": 926, - "./calc": 927, - "./clean_data": 929, - "./colorbar": 930, - "./defaults": 933, - "./hover": 937, - "./plot": 945, - "./select": 946, - "./style": 947, - "./subtypes": 948, - }, - ], - 939: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib").isArrayOrTypedArray, - i = t("../../components/colorscale/has_colorscale"), - a = t("../../components/colorscale/defaults"); - e.exports = function (t, e, r, o, s, l) { - var c = (t.marker || {}).color; - (s("line.color", r), i(t, "line")) - ? a(t, e, o, s, { prefix: "line.", cLetter: "c" }) - : s("line.color", (!n(c) && c) || r); - (s("line.width"), (l || {}).noDash || s("line.dash")); - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../components/colorscale/has_colorscale": 488, - "../../lib": 602, - }, - ], - 940: [ - function (t, e, r) { - "use strict"; - var n = t("../../constants/numerical").BADNUM, - i = t("../../lib"), - a = i.segmentsIntersect, - o = i.constrain, - s = t("./constants"); - e.exports = function (t, e) { - var r, - l, - c, - u, - f, - h, - p, - d, - g, - m, - v, - y, - x, - b, - _, - w, - k = e.xaxis, - M = e.yaxis, - A = e.simplify, - T = e.connectGaps, - S = e.baseTolerance, - C = e.shape, - E = "linear" === C, - L = [], - z = s.minTolerance, - P = new Array(t.length), - D = 0; - function O(e) { - var r = t[e], - i = k.c2p(r.x), - a = M.c2p(r.y); - return i === n || a === n ? r.intoCenter || !1 : [i, a]; - } - function I(t) { - var e = t[0] / k._length, - r = t[1] / M._length; - return (1 + s.toleranceGrowth * Math.max(0, -e, e - 1, -r, r - 1)) * S; - } - function R(t, e) { - var r = t[0] - e[0], - n = t[1] - e[1]; - return Math.sqrt(r * r + n * n); - } - A || (S = z = -1); - var B, - F, - N, - j, - V, - U, - q, - H = s.maxScreensAway, - G = -k._length * H, - W = k._length * (1 + H), - Y = -M._length * H, - X = M._length * (1 + H), - Z = [ - [G, Y, W, Y], - [W, Y, W, X], - [W, X, G, X], - [G, X, G, Y], - ]; - function J(t) { - if (t[0] < G || t[0] > W || t[1] < Y || t[1] > X) - return [o(t[0], G, W), o(t[1], Y, X)]; - } - function K(t, e) { - return ( - (t[0] === e[0] && (t[0] === G || t[0] === W)) || - (t[1] === e[1] && (t[1] === Y || t[1] === X)) || - void 0 - ); - } - function Q(t, e, r) { - return function (n, a) { - var o = J(n), - s = J(a), - l = []; - if (o && s && K(o, s)) return l; - (o && l.push(o), s && l.push(s)); - var c = - 2 * i.constrain((n[t] + a[t]) / 2, e, r) - - ((o || n)[t] + (s || a)[t]); - c && ((o && s ? (c > 0 == o[t] > s[t] ? o : s) : o || s)[t] += c); - return l; - }; - } - function $(t) { - var e = t[0], - r = t[1], - n = e === P[D - 1][0], - i = r === P[D - 1][1]; - if (!n || !i) - if (D > 1) { - var a = e === P[D - 2][0], - o = r === P[D - 2][1]; - n && (e === G || e === W) && a - ? o - ? D-- - : (P[D - 1] = t) - : i && (r === Y || r === X) && o - ? a - ? D-- - : (P[D - 1] = t) - : (P[D++] = t); - } else P[D++] = t; - } - function tt(t) { - (P[D - 1][0] !== t[0] && P[D - 1][1] !== t[1] && $([N, j]), - $(t), - (V = null), - (N = j = 0)); - } - function et(t) { - if ( - ((B = t[0] < G ? G : t[0] > W ? W : 0), - (F = t[1] < Y ? Y : t[1] > X ? X : 0), - B || F) - ) { - if (D) - if (V) { - var e = q(V, t); - e.length > 1 && (tt(e[0]), (P[D++] = e[1])); - } else ((U = q(P[D - 1], t)[0]), (P[D++] = U)); - else P[D++] = [B || t[0], F || t[1]]; - var r = P[D - 1]; - (B && F && (r[0] !== B || r[1] !== F) - ? (V && - (N !== B && j !== F - ? $( - N && j - ? ((n = V), - (a = (i = t)[0] - n[0]), - (o = (i[1] - n[1]) / a), - (n[1] * i[0] - i[1] * n[0]) / a > 0 - ? [o > 0 ? G : W, X] - : [o > 0 ? W : G, Y]) - : [N || B, j || F], - ) - : N && j && $([N, j])), - $([B, F])) - : N - B && j - F && $([B || N, F || j]), - (V = t), - (N = B), - (j = F)); - } else (V && tt(q(V, t)[0]), (P[D++] = t)); - var n, i, a, o; - } - for ( - "linear" === C || "spline" === C - ? (q = function (t, e) { - for (var r = [], n = 0, i = 0; i < 4; i++) { - var o = Z[i], - s = a(t[0], t[1], e[0], e[1], o[0], o[1], o[2], o[3]); - s && - (!n || - Math.abs(s.x - r[0][0]) > 1 || - Math.abs(s.y - r[0][1]) > 1) && - ((s = [s.x, s.y]), - n && R(s, t) < R(r[0], t) ? r.unshift(s) : r.push(s), - n++); - } - return r; - }) - : "hv" === C || "vh" === C - ? (q = function (t, e) { - var r = [], - n = J(t), - i = J(e); - return n && i && K(n, i) - ? r - : (n && r.push(n), i && r.push(i), r); - }) - : "hvh" === C - ? (q = Q(0, G, W)) - : "vhv" === C && (q = Q(1, Y, X)), - r = 0; - r < t.length; - r++ - ) - if ((l = O(r))) { - for (D = 0, V = null, et(l), r++; r < t.length; r++) { - if (!(u = O(r))) { - if (T) continue; - break; - } - if (E) { - if (!((m = R(u, l)) < I(u) * z)) { - for ( - d = [(u[0] - l[0]) / m, (u[1] - l[1]) / m], - f = l, - v = m, - y = b = _ = 0, - p = !1, - c = u, - r++; - r < t.length; - r++ - ) { - if (!(h = O(r))) { - if (T) continue; - break; - } - if ( - ((w = - (g = [h[0] - l[0], h[1] - l[1]])[0] * d[1] - g[1] * d[0]), - (b = Math.min(b, w)), - (_ = Math.max(_, w)) - b > I(h)) - ) - break; - ((c = h), - (x = g[0] * d[0] + g[1] * d[1]) > v - ? ((v = x), (u = h), (p = !1)) - : x < y && ((y = x), (f = h), (p = !0))); - } - if ( - (p - ? (et(u), c !== f && et(f)) - : (f !== l && et(f), c !== u && et(u)), - et(c), - r >= t.length || !h) - ) - break; - (et(h), (l = h)); - } - } else et(u); - } - (V && $([N || V[0], j || V[1]]), L.push(P.slice(0, D))); - } - return L; - }; - }, - { "../../constants/numerical": 579, "../../lib": 602, "./constants": 932 }, - ], - 941: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - "spline" === r("line.shape") && r("line.smoothing"); - }; - }, - {}, - ], - 942: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r) { - var n, - i, - a = null; - for (i = 0; i < r.length; ++i) - !0 === (n = r[i][0].trace).visible - ? ((n._nexttrace = null), - -1 !== ["tonextx", "tonexty", "tonext"].indexOf(n.fill) && - ((n._prevtrace = a), a && (a._nexttrace = n)), - (a = n)) - : (n._prevtrace = n._nexttrace = null); - }; - }, - {}, - ], - 943: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"); - e.exports = function (t) { - var e = t.marker, - r = e.sizeref || 1, - i = e.sizemin || 0, - a = - "area" === e.sizemode - ? function (t) { - return Math.sqrt(t / r); - } - : function (t) { - return t / r; - }; - return function (t) { - var e = a(t / 2); - return n(e) && e > 0 ? Math.max(e, i) : 0; - }; - }; - }, - { "fast-isnumeric": 196 }, - ], - 944: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("../../components/colorscale/has_colorscale"), - a = t("../../components/colorscale/defaults"), - o = t("./subtypes"); - e.exports = function (t, e, r, s, l, c) { - var u = o.isBubble(t), - f = (t.line || {}).color; - ((c = c || {}), - f && (r = f), - l("marker.symbol"), - l("marker.opacity", u ? 0.7 : 1), - l("marker.size"), - l("marker.color", r), - i(t, "marker") && a(t, e, s, l, { prefix: "marker.", cLetter: "c" }), - c.noSelect || - (l("selected.marker.color"), - l("unselected.marker.color"), - l("selected.marker.size"), - l("unselected.marker.size")), - c.noLine || - (l( - "marker.line.color", - f && !Array.isArray(f) && e.marker.color !== f - ? f - : u - ? n.background - : n.defaultLine, - ), - i(t, "marker.line") && - a(t, e, s, l, { prefix: "marker.line.", cLetter: "c" }), - l("marker.line.width", u ? 1 : 0)), - u && (l("marker.sizeref"), l("marker.sizemin"), l("marker.sizemode")), - c.gradient) && - "none" !== l("marker.gradient.type") && - l("marker.gradient.color"); - }; - }, - { - "../../components/color": 474, - "../../components/colorscale/defaults": 484, - "../../components/colorscale/has_colorscale": 488, - "./subtypes": 948, - }, - ], - 945: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../registry"), - a = t("../../lib"), - o = t("../../components/drawing"), - s = t("./subtypes"), - l = t("./line_points"), - c = t("./link_traces"), - u = t("../../lib/polygon").tester; - function f(t, e, r, c, f, h, p) { - var d, g; - !(function (t, e, r, i, o) { - var l = r.xaxis, - c = r.yaxis, - u = n.extent(a.simpleMap(l.range, l.r2c)), - f = n.extent(a.simpleMap(c.range, c.r2c)), - h = i[0].trace; - if (!s.hasMarkers(h)) return; - var p = h.marker.maxdisplayed; - if (0 === p) return; - var d = i.filter(function (t) { - return t.x >= u[0] && t.x <= u[1] && t.y >= f[0] && t.y <= f[1]; - }), - g = Math.ceil(d.length / p), - m = 0; - o.forEach(function (t, r) { - var n = t[0].trace; - s.hasMarkers(n) && n.marker.maxdisplayed > 0 && r < e && m++; - }); - var v = Math.round((m * g) / 3 + (Math.floor(m / 3) * g) / 7.1); - (i.forEach(function (t) { - delete t.vis; - }), - d.forEach(function (t, e) { - 0 === Math.round((e + v) % g) && (t.vis = !0); - })); - })(0, e, r, c, f); - var m = !!p && p.duration > 0; - function v(t) { - return m ? t.transition() : t; - } - var y = r.xaxis, - x = r.yaxis, - b = c[0].trace, - _ = b.line, - w = n.select(h); - if ( - (i.getComponentMethod("errorbars", "plot")(w, r, p), !0 === b.visible) - ) { - var k, M; - v(w).style("opacity", b.opacity); - var A = b.fill.charAt(b.fill.length - 1); - ("x" !== A && "y" !== A && (A = ""), r.isRangePlot || (c[0].node3 = w)); - var T = "", - S = [], - C = b._prevtrace; - C && ((T = C._prevRevpath || ""), (M = C._nextFill), (S = C._polygons)); - var E, - L, - z, - P, - D, - O, - I, - R, - B, - F = "", - N = "", - j = [], - V = a.noop; - if (((k = b._ownFill), s.hasLines(b) || "none" !== b.fill)) { - for ( - M && M.datum(c), - -1 !== ["hv", "vh", "hvh", "vhv"].indexOf(_.shape) - ? ((z = o.steps(_.shape)), - (P = o.steps(_.shape.split("").reverse().join("")))) - : (z = P = - "spline" === _.shape - ? function (t) { - var e = t[t.length - 1]; - return t.length > 1 && - t[0][0] === e[0] && - t[0][1] === e[1] - ? o.smoothclosed(t.slice(1), _.smoothing) - : o.smoothopen(t, _.smoothing); - } - : function (t) { - return "M" + t.join("L"); - }), - D = function (t) { - return P(t.reverse()); - }, - j = l(c, { - xaxis: y, - yaxis: x, - connectGaps: b.connectgaps, - baseTolerance: Math.max(_.width || 1, 3) / 4, - shape: _.shape, - simplify: _.simplify, - }), - B = b._polygons = new Array(j.length), - g = 0; - g < j.length; - g++ - ) - b._polygons[g] = u(j[g]); - (j.length && ((O = j[0][0]), (R = (I = j[j.length - 1])[I.length - 1])), - (V = function (t) { - return function (e) { - if ( - ((E = z(e)), - (L = D(e)), - F - ? A - ? ((F += "L" + E.substr(1)), (N = L + "L" + N.substr(1))) - : ((F += "Z" + E), (N = L + "Z" + N)) - : ((F = E), (N = L)), - s.hasLines(b) && e.length > 1) - ) { - var r = n.select(this); - if ((r.datum(c), t)) - v( - r.style("opacity", 0).attr("d", E).call(o.lineGroupStyle), - ).style("opacity", 1); - else { - var i = v(r); - (i.attr("d", E), o.singleLineStyle(c, i)); - } - } - }; - })); - } - var U = w.selectAll(".js-line").data(j); - (v(U.exit()).style("opacity", 0).remove(), - U.each(V(!1)), - U.enter() - .append("path") - .classed("js-line", !0) - .style("vector-effect", "non-scaling-stroke") - .call(o.lineGroupStyle) - .each(V(!0)), - o.setClipUrl(U, r.layerClipId), - j.length - ? (k - ? O && - R && - (A - ? ("y" === A - ? (O[1] = R[1] = x.c2p(0, !0)) - : "x" === A && (O[0] = R[0] = y.c2p(0, !0)), - v(k) - .attr("d", "M" + R + "L" + O + "L" + F.substr(1)) - .call(o.singleFillStyle)) - : v(k) - .attr("d", F + "Z") - .call(o.singleFillStyle)) - : M && - ("tonext" === b.fill.substr(0, 6) && F && T - ? ("tonext" === b.fill - ? v(M) - .attr("d", F + "Z" + T + "Z") - .call(o.singleFillStyle) - : v(M) - .attr("d", F + "L" + T.substr(1) + "Z") - .call(o.singleFillStyle), - (b._polygons = b._polygons.concat(S))) - : (H(M), (b._polygons = null))), - (b._prevRevpath = N), - (b._prevPolygons = B)) - : (k ? H(k) : M && H(M), - (b._polygons = b._prevRevpath = b._prevPolygons = null))); - var q = w.selectAll(".points"); - ((d = q.data([c])), - q.each(Z), - d.enter().append("g").classed("points", !0).each(Z), - d.exit().remove(), - d.each(function (t) { - var e = !1 === t[0].trace.cliponaxis; - o.setClipUrl(n.select(this), e ? null : r.layerClipId); - })); - } - function H(t) { - v(t).attr("d", "M0,0Z"); - } - function G(t) { - return t.filter(function (t) { - return t.vis; - }); - } - function W(t) { - return t.id; - } - function Y(t) { - if (t.ids) return W; - } - function X() { - return !1; - } - function Z(e) { - var i, - l = e[0].trace, - c = n.select(this), - u = s.hasMarkers(l), - f = s.hasText(l), - h = Y(l), - p = X, - d = X; - (u && (p = l.marker.maxdisplayed || l._needsCull ? G : a.identity), - f && (d = l.marker.maxdisplayed || l._needsCull ? G : a.identity)); - var g, - b = (i = c.selectAll("path.point").data(p, h)) - .enter() - .append("path") - .classed("point", !0); - (m && - b - .call(o.pointStyle, l, t) - .call(o.translatePoints, y, x) - .style("opacity", 0) - .transition() - .style("opacity", 1), - i.order(), - u && (g = o.makePointStyleFns(l)), - i.each(function (e) { - var i = n.select(this), - a = v(i); - o.translatePoint(e, a, y, x) - ? (o.singlePointStyle(e, a, l, g, t), - r.layerClipId && - o.hideOutsideRangePoint(e, a, y, x, l.xcalendar, l.ycalendar), - l.customdata && - i.classed( - "plotly-customdata", - null !== e.data && void 0 !== e.data, - )) - : a.remove(); - }), - m - ? i.exit().transition().style("opacity", 0).remove() - : i.exit().remove(), - (i = c.selectAll("g").data(d, h)) - .enter() - .append("g") - .classed("textpoint", !0) - .append("text"), - i.order(), - i.each(function (t) { - var e = n.select(this), - i = v(e.select("text")); - o.translatePoint(t, i, y, x) - ? r.layerClipId && - o.hideOutsideRangePoint(t, e, y, x, l.xcalendar, l.ycalendar) - : e.remove(); - }), - i - .selectAll("text") - .call(o.textPointStyle, l, t) - .each(function (t) { - var e = y.c2p(t.x), - r = x.c2p(t.y); - n.select(this) - .selectAll("tspan.line") - .each(function () { - v(n.select(this)).attr({ x: e, y: r }); - }); - }), - i.exit().remove()); - } - } - e.exports = function (t, e, r, i, a, s) { - var l, - u, - h, - p, - d = !a, - g = !!a && a.duration > 0; - for ( - (h = i.selectAll("g.trace").data(r, function (t) { - return t[0].trace.uid; - })) - .enter() - .append("g") - .attr("class", function (t) { - return "trace scatter trace" + t[0].trace.uid; - }) - .style("stroke-miterlimit", 2), - c(t, e, r), - (function (t, e, r) { - var i; - e.selectAll("g.trace").each(function (t) { - var e = n.select(this); - if ((i = t[0].trace)._nexttrace) { - if ( - ((i._nextFill = e.select(".js-fill.js-tonext")), - !i._nextFill.size()) - ) { - var a = ":first-child"; - (e.select(".js-fill.js-tozero").size() && (a += " + *"), - (i._nextFill = e - .insert("path", a) - .attr("class", "js-fill js-tonext"))); - } - } else - (e.selectAll(".js-fill.js-tonext").remove(), - (i._nextFill = null)); - (i.fill && - ("tozero" === i.fill.substr(0, 6) || - "toself" === i.fill || - ("to" === i.fill.substr(0, 2) && !i._prevtrace)) - ? ((i._ownFill = e.select(".js-fill.js-tozero")), - i._ownFill.size() || - (i._ownFill = e - .insert("path", ":first-child") - .attr("class", "js-fill js-tozero"))) - : (e.selectAll(".js-fill.js-tozero").remove(), - (i._ownFill = null)), - e.selectAll(".js-fill").call(o.setClipUrl, r.layerClipId)); - }); - })(0, i, e), - l = 0, - u = {}; - l < r.length; - l++ - ) - u[r[l][0].trace.uid] = l; - (i.selectAll("g.trace").sort(function (t, e) { - return u[t[0].trace.uid] > u[e[0].trace.uid] ? 1 : -1; - }), - g) - ? (s && (p = s()), - n - .transition() - .duration(a.duration) - .ease(a.easing) - .each("end", function () { - p && p(); - }) - .each("interrupt", function () { - p && p(); - }) - .each(function () { - i.selectAll("g.trace").each(function (n, i) { - f(t, i, e, n, r, this, a); - }); - })) - : i.selectAll("g.trace").each(function (n, i) { - f(t, i, e, n, r, this, a); - }); - (d && h.exit().remove(), i.selectAll("path:not([d])").remove()); - }; - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/polygon": 614, - "../../registry": 732, - "./line_points": 940, - "./link_traces": 942, - "./subtypes": 948, - d3: 130, - }, - ], - 946: [ - function (t, e, r) { - "use strict"; - var n = t("./subtypes"); - e.exports = function (t, e) { - var r, - i, - a, - o, - s = t.cd, - l = t.xaxis, - c = t.yaxis, - u = [], - f = s[0].trace; - if (!n.hasMarkers(f) && !n.hasText(f)) return []; - if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; - else - for (r = 0; r < s.length; r++) - ((i = s[r]), - (a = l.c2p(i.x)), - (o = c.c2p(i.y)), - e.contains([a, o]) - ? (u.push({ pointNumber: r, x: l.c2d(i.x), y: c.c2d(i.y) }), - (i.selected = 1)) - : (i.selected = 0)); - return u; - }; - }, - { "./subtypes": 948 }, - ], - 947: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("../../registry"); - function o(t, e, r) { - (i.pointStyle(t.selectAll("path.point"), e, r), - i.textPointStyle(t.selectAll("text"), e, r)); - } - e.exports = { - style: function (t, e) { - var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.scatter"); - (r.style("opacity", function (t) { - return t[0].trace.opacity; - }), - r.selectAll("g.points").each(function (e) { - o(n.select(this), e.trace || e[0].trace, t); - }), - r.selectAll("g.trace path.js-line").call(i.lineGroupStyle), - r.selectAll("g.trace path.js-fill").call(i.fillGroupStyle), - a.getComponentMethod("errorbars", "style")(r)); - }, - stylePoints: o, - styleOnSelect: function (t, e) { - var r = e[0].node3, - n = e[0].trace; - n.selectedpoints - ? (i.selectedPointStyle(r.selectAll("path.point"), n), - i.selectedTextStyle(r.selectAll("text"), n)) - : o(r, n, t); - }, - }; - }, - { "../../components/drawing": 499, "../../registry": 732, d3: 130 }, - ], - 948: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = { - hasLines: function (t) { - return t.visible && t.mode && -1 !== t.mode.indexOf("lines"); - }, - hasMarkers: function (t) { - return ( - t.visible && - ((t.mode && -1 !== t.mode.indexOf("markers")) || "splom" === t.type) - ); - }, - hasText: function (t) { - return t.visible && t.mode && -1 !== t.mode.indexOf("text"); - }, - isBubble: function (t) { - return n.isPlainObject(t.marker) && n.isArrayOrTypedArray(t.marker.size); - }, - }; - }, - { "../../lib": 602 }, - ], - 949: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"); - e.exports = function (t, e, r, i, a) { - ((a = a || {}), - i("textposition"), - n.coerceFont(i, "textfont", r.font), - a.noSelect || - (i("selected.textfont.color"), i("unselected.textfont.color"))); - }; - }, - { "../../lib": 602 }, - ], - 950: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"); - e.exports = function (t, e, r, i) { - var a, - o = i("x"), - s = i("y"); - if ( - (n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y"], - r, - ), - o) - ) - s - ? (a = Math.min(o.length, s.length)) - : ((a = o.length), i("y0"), i("dy")); - else { - if (!s) return 0; - ((a = e.y.length), i("x0"), i("dx")); - } - return ((e._length = a), a); - }; - }, - { "../../registry": 732 }, - ], - 951: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../components/colorscale/color_attributes"), - a = t("../../plots/attributes"), - o = t("../../constants/gl3d_dashes"), - s = t("../../constants/gl3d_markers"), - l = t("../../lib/extend").extendFlat, - c = t("../../plot_api/edit_types").overrideAll, - u = n.line, - f = n.marker, - h = f.line; - var p = (e.exports = c( - { - x: n.x, - y: n.y, - z: { valType: "data_array" }, - text: l({}, n.text, {}), - hovertext: l({}, n.hovertext, {}), - mode: l({}, n.mode, { dflt: "lines+markers" }), - surfaceaxis: { valType: "enumerated", values: [-1, 0, 1, 2], dflt: -1 }, - surfacecolor: { valType: "color" }, - projection: { - x: { - show: { valType: "boolean", dflt: !1 }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, - scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, - }, - y: { - show: { valType: "boolean", dflt: !1 }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, - scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, - }, - z: { - show: { valType: "boolean", dflt: !1 }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, - scale: { valType: "number", min: 0, max: 10, dflt: 2 / 3 }, - }, - }, - connectgaps: n.connectgaps, - line: l( - { - width: u.width, - dash: { - valType: "enumerated", - values: Object.keys(o), - dflt: "solid", - }, - showscale: { valType: "boolean", dflt: !1 }, - }, - i("line"), - ), - marker: l( - { - symbol: { - valType: "enumerated", - values: Object.keys(s), - dflt: "circle", - arrayOk: !0, - }, - size: l({}, f.size, { dflt: 8 }), - sizeref: f.sizeref, - sizemin: f.sizemin, - sizemode: f.sizemode, - opacity: l({}, f.opacity, { arrayOk: !1 }), - showscale: f.showscale, - colorbar: f.colorbar, - line: l({ width: l({}, h.width, { arrayOk: !1 }) }, i("marker.line")), - }, - i("marker"), - ), - textposition: l({}, n.textposition, { dflt: "top center" }), - textfont: n.textfont, - hoverinfo: l({}, a.hoverinfo), - }, - "calc", - "nested", - )); - p.x.editType = p.y.editType = p.z.editType = "calc+clearAxisTypes"; - }, - { - "../../components/colorscale/color_attributes": 482, - "../../constants/gl3d_dashes": 576, - "../../constants/gl3d_markers": 577, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - }, - ], - 952: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/arrays_to_calcdata"), - i = t("../scatter/colorscale_calc"); - e.exports = function (t, e) { - var r = [{ x: !1, y: !1, trace: e, t: {} }]; - return (n(r, e), i(e), r); - }; - }, - { "../scatter/arrays_to_calcdata": 925, "../scatter/colorscale_calc": 931 }, - ], - 953: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/errorbars/compute_error"); - function i(t, e, r) { - if (!e || !e.visible) return null; - for (var i = n(e), a = new Array(t.length), o = 0; o < t.length; o++) { - var s = i(+t[o], o); - a[o] = [-s[0] * r, s[1] * r]; - } - return a; - } - e.exports = function (t, e) { - var r = [ - i(t.x, t.error_x, e[0]), - i(t.y, t.error_y, e[1]), - i(t.z, t.error_z, e[2]), - ], - n = (function (t) { - for (var e = 0; e < t.length; e++) if (t[e]) return t[e].length; - return 0; - })(r); - if (0 === n) return null; - for (var a = new Array(n), o = 0; o < n; o++) { - for ( - var s = [ - [0, 0, 0], - [0, 0, 0], - ], - l = 0; - l < 3; - l++ - ) - if (r[l]) for (var c = 0; c < 2; c++) s[c][l] = r[l][o][c]; - a[o] = s; - } - return a; - }; - }, - { "../../components/errorbars/compute_error": 503 }, - ], - 954: [ - function (t, e, r) { - "use strict"; - var n = t("gl-line3d"), - i = t("gl-scatter3d"), - a = t("gl-error3d"), - o = t("gl-mesh3d"), - s = t("delaunay-triangulate"), - l = t("../../lib"), - c = t("../../lib/str2rgbarray"), - u = t("../../lib/gl_format_color"), - f = t("../scatter/make_bubble_size_func"), - h = t("../../constants/gl3d_dashes"), - p = t("../../constants/gl3d_markers"), - d = t("./calc_errors"); - function g(t, e) { - ((this.scene = t), - (this.uid = e), - (this.linePlot = null), - (this.scatterPlot = null), - (this.errorBars = null), - (this.textMarkers = null), - (this.delaunayMesh = null), - (this.color = null), - (this.mode = ""), - (this.dataPoints = []), - (this.axesBounds = [ - [-1 / 0, -1 / 0, -1 / 0], - [1 / 0, 1 / 0, 1 / 0], - ]), - (this.textLabels = null), - (this.data = null)); - } - var m = g.prototype; - function v(t, e) { - return e(4 * t); - } - function y(t) { - return p[t]; - } - function x(t, e, r, n, i) { - var a = null; - if (l.isArrayOrTypedArray(t)) { - a = []; - for (var o = 0; o < e; o++) - void 0 === t[o] ? (a[o] = n) : (a[o] = r(t[o], i)); - } else a = r(t, l.identity); - return a; - } - function b(t, e) { - var r, - n, - i, - a, - o, - s, - h, - p, - g = [], - m = t.fullSceneLayout, - b = t.dataScale, - _ = m.xaxis, - w = m.yaxis, - k = m.zaxis, - M = e.marker, - A = e.line, - T = e.x || [], - S = e.y || [], - C = e.z || [], - E = T.length, - L = e.xcalendar, - z = e.ycalendar, - P = e.zcalendar; - for (n = 0; n < E; n++) - ((i = _.d2l(T[n], 0, L) * b[0]), - (a = w.d2l(S[n], 0, z) * b[1]), - (o = k.d2l(C[n], 0, P) * b[2]), - (g[n] = [i, a, o])); - if (Array.isArray(e.text)) s = e.text; - else if (void 0 !== e.text) - for (s = new Array(E), n = 0; n < E; n++) s[n] = e.text; - if ( - ((r = { position: g, mode: e.mode, text: s }), - "line" in e && - ((r.lineColor = u(A, 1, E)), - (r.lineWidth = A.width), - (r.lineDashes = A.dash)), - "marker" in e) - ) { - var D = f(e); - ((r.scatterColor = u(M, 1, E)), - (r.scatterSize = x(M.size, E, v, 20, D)), - (r.scatterMarker = x(M.symbol, E, y, "\u25cf")), - (r.scatterLineWidth = M.line.width), - (r.scatterLineColor = u(M.line, 1, E)), - (r.scatterAngle = 0)); - } - "textposition" in e && - ((r.textOffset = - ((h = e.textposition), - (p = [0, 0]), - Array.isArray(h) - ? [0, -1] - : (h.indexOf("bottom") >= 0 && (p[1] += 1), - h.indexOf("top") >= 0 && (p[1] -= 1), - h.indexOf("left") >= 0 && (p[0] -= 1), - h.indexOf("right") >= 0 && (p[0] += 1), - p))), - (r.textColor = u(e.textfont, 1, E)), - (r.textSize = x(e.textfont.size, E, l.identity, 12)), - (r.textFont = e.textfont.family), - (r.textAngle = 0)); - var O = ["x", "y", "z"]; - for ( - r.project = [!1, !1, !1], - r.projectScale = [1, 1, 1], - r.projectOpacity = [1, 1, 1], - n = 0; - n < 3; - ++n - ) { - var I = e.projection[O[n]]; - (r.project[n] = I.show) && - ((r.projectOpacity[n] = I.opacity), (r.projectScale[n] = I.scale)); - } - r.errorBounds = d(e, b); - var R = (function (t) { - for ( - var e = [0, 0, 0], - r = [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - ], - n = [0, 0, 0], - i = 0; - i < 3; - i++ - ) { - var a = t[i]; - (a && !1 !== a.copy_zstyle && (a = t[2]), - a && ((e[i] = a.width / 2), (r[i] = c(a.color)), (n = a.thickness))); - } - return { capSize: e, color: r, lineWidth: n }; - })([e.error_x, e.error_y, e.error_z]); - return ( - (r.errorColor = R.color), - (r.errorLineWidth = R.lineWidth), - (r.errorCapSize = R.capSize), - (r.delaunayAxis = e.surfaceaxis), - (r.delaunayColor = c(e.surfacecolor)), - r - ); - } - function _(t) { - if (Array.isArray(t)) { - var e = t[0]; - return ( - Array.isArray(e) && (t = e), - "rgb(" + - t.slice(0, 3).map(function (t) { - return Math.round(255 * t); - }) + - ")" - ); - } - return null; - } - ((m.handlePick = function (t) { - if ( - t.object && - (t.object === this.linePlot || - t.object === this.delaunayMesh || - t.object === this.textMarkers || - t.object === this.scatterPlot) - ) { - (t.object.highlight && t.object.highlight(null), - this.scatterPlot && - ((t.object = this.scatterPlot), this.scatterPlot.highlight(t.data)), - this.textLabels - ? void 0 !== this.textLabels[t.data.index] - ? (t.textLabel = this.textLabels[t.data.index]) - : (t.textLabel = this.textLabels) - : (t.textLabel = "")); - var e = (t.index = t.data.index); - return ( - (t.traceCoordinate = [this.data.x[e], this.data.y[e], this.data.z[e]]), - !0 - ); - } - }), - (m.update = function (t) { - var e, - r, - l, - c, - u = this.scene.glplot.gl, - f = h.solid; - this.data = t; - var p = b(this.scene, t); - ("mode" in p && (this.mode = p.mode), - "lineDashes" in p && p.lineDashes in h && (f = h[p.lineDashes]), - (this.color = _(p.scatterColor) || _(p.lineColor)), - (this.dataPoints = p.position), - (e = { - gl: u, - position: p.position, - color: p.lineColor, - lineWidth: p.lineWidth || 1, - dashes: f[0], - dashScale: f[1], - opacity: t.opacity, - connectGaps: t.connectgaps, - }), - -1 !== this.mode.indexOf("lines") - ? this.linePlot - ? this.linePlot.update(e) - : ((this.linePlot = n(e)), - (this.linePlot._trace = this), - this.scene.glplot.add(this.linePlot)) - : this.linePlot && - (this.scene.glplot.remove(this.linePlot), - this.linePlot.dispose(), - (this.linePlot = null))); - var d = t.opacity; - if ( - (t.marker && t.marker.opacity && (d *= t.marker.opacity), - (r = { - gl: u, - position: p.position, - color: p.scatterColor, - size: p.scatterSize, - glyph: p.scatterMarker, - opacity: d, - orthographic: !0, - lineWidth: p.scatterLineWidth, - lineColor: p.scatterLineColor, - project: p.project, - projectScale: p.projectScale, - projectOpacity: p.projectOpacity, - }), - -1 !== this.mode.indexOf("markers") - ? this.scatterPlot - ? this.scatterPlot.update(r) - : ((this.scatterPlot = i(r)), - (this.scatterPlot._trace = this), - (this.scatterPlot.highlightScale = 1), - this.scene.glplot.add(this.scatterPlot)) - : this.scatterPlot && - (this.scene.glplot.remove(this.scatterPlot), - this.scatterPlot.dispose(), - (this.scatterPlot = null)), - (c = { - gl: u, - position: p.position, - glyph: p.text, - color: p.textColor, - size: p.textSize, - angle: p.textAngle, - alignment: p.textOffset, - font: p.textFont, - orthographic: !0, - lineWidth: 0, - project: !1, - opacity: t.opacity, - }), - (this.textLabels = t.hovertext || t.text), - -1 !== this.mode.indexOf("text") - ? this.textMarkers - ? this.textMarkers.update(c) - : ((this.textMarkers = i(c)), - (this.textMarkers._trace = this), - (this.textMarkers.highlightScale = 1), - this.scene.glplot.add(this.textMarkers)) - : this.textMarkers && - (this.scene.glplot.remove(this.textMarkers), - this.textMarkers.dispose(), - (this.textMarkers = null)), - (l = { - gl: u, - position: p.position, - color: p.errorColor, - error: p.errorBounds, - lineWidth: p.errorLineWidth, - capSize: p.errorCapSize, - opacity: t.opacity, - }), - this.errorBars - ? p.errorBounds - ? this.errorBars.update(l) - : (this.scene.glplot.remove(this.errorBars), - this.errorBars.dispose(), - (this.errorBars = null)) - : p.errorBounds && - ((this.errorBars = a(l)), - (this.errorBars._trace = this), - this.scene.glplot.add(this.errorBars)), - p.delaunayAxis >= 0) - ) { - var g = (function (t, e, r) { - var n, - i = (r + 1) % 3, - a = (r + 2) % 3, - o = [], - l = []; - for (n = 0; n < t.length; ++n) { - var c = t[n]; - !isNaN(c[i]) && - isFinite(c[i]) && - !isNaN(c[a]) && - isFinite(c[a]) && - (o.push([c[i], c[a]]), l.push(n)); - } - var u = s(o); - for (n = 0; n < u.length; ++n) - for (var f = u[n], h = 0; h < f.length; ++h) f[h] = l[f[h]]; - return { positions: t, cells: u, meshColor: e }; - })(p.position, p.delaunayColor, p.delaunayAxis); - ((g.opacity = t.opacity), - this.delaunayMesh - ? this.delaunayMesh.update(g) - : ((g.gl = u), - (this.delaunayMesh = o(g)), - (this.delaunayMesh._trace = this), - this.scene.glplot.add(this.delaunayMesh))); - } else - this.delaunayMesh && - (this.scene.glplot.remove(this.delaunayMesh), - this.delaunayMesh.dispose(), - (this.delaunayMesh = null)); - }), - (m.dispose = function () { - (this.linePlot && - (this.scene.glplot.remove(this.linePlot), this.linePlot.dispose()), - this.scatterPlot && - (this.scene.glplot.remove(this.scatterPlot), - this.scatterPlot.dispose()), - this.errorBars && - (this.scene.glplot.remove(this.errorBars), this.errorBars.dispose()), - this.textMarkers && - (this.scene.glplot.remove(this.textMarkers), - this.textMarkers.dispose()), - this.delaunayMesh && - (this.scene.glplot.remove(this.delaunayMesh), - this.delaunayMesh.dispose())); - }), - (e.exports = function (t, e) { - var r = new g(t, e.uid); - return (r.update(e), r); - })); - }, - { - "../../constants/gl3d_dashes": 576, - "../../constants/gl3d_markers": 577, - "../../lib": 602, - "../../lib/gl_format_color": 598, - "../../lib/str2rgbarray": 625, - "../scatter/make_bubble_size_func": 943, - "./calc_errors": 953, - "delaunay-triangulate": 132, - "gl-error3d": 213, - "gl-line3d": 221, - "gl-mesh3d": 244, - "gl-scatter3d": 259, - }, - ], - 955: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../scatter/subtypes"), - o = t("../scatter/marker_defaults"), - s = t("../scatter/line_defaults"), - l = t("../scatter/text_defaults"), - c = t("./attributes"); - e.exports = function (t, e, r, u) { - function f(r, n) { - return i.coerce(t, e, c, r, n); - } - if ( - (function (t, e, r, i) { - var a = 0, - o = r("x"), - s = r("y"), - l = r("z"); - (n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y", "z"], - i, - ), - o && - s && - l && - ((a = Math.min(o.length, s.length, l.length)), - (e._length = e._xlength = e._ylength = e._zlength = a))); - return a; - })(t, e, f, u) - ) { - (f("text"), - f("hovertext"), - f("mode"), - a.hasLines(e) && (f("connectgaps"), s(t, e, r, u, f)), - a.hasMarkers(e) && o(t, e, r, u, f, { noSelect: !0 }), - a.hasText(e) && l(t, e, u, f, { noSelect: !0 })); - var h = (e.line || {}).color, - p = (e.marker || {}).color; - f("surfaceaxis") >= 0 && f("surfacecolor", h || p); - for (var d = ["x", "y", "z"], g = 0; g < 3; ++g) { - var m = "projection." + d[g]; - f(m + ".show") && (f(m + ".opacity"), f(m + ".scale")); - } - var v = n.getComponentMethod("errorbars", "supplyDefaults"); - (v(t, e, r, { axis: "z" }), - v(t, e, r, { axis: "y", inherit: "z" }), - v(t, e, r, { axis: "x", inherit: "z" })); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "../scatter/line_defaults": 939, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 951, - }, - ], - 956: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.plot = t("./convert")), - (n.attributes = t("./attributes")), - (n.markerSymbols = t("../../constants/gl3d_markers")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../scatter/colorbar")), - (n.calc = t("./calc")), - (n.moduleType = "trace"), - (n.name = "scatter3d"), - (n.basePlotModule = t("../../plots/gl3d")), - (n.categories = ["gl3d", "symbols", "markerColorscale", "showLegend"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../constants/gl3d_markers": 577, - "../../plots/gl3d": 690, - "../scatter/colorbar": 930, - "./attributes": 951, - "./calc": 952, - "./convert": 954, - "./defaults": 955, - }, - ], - 957: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../plots/attributes"), - a = t("../../components/colorscale/color_attributes"), - o = t("../../components/colorbar/attributes"), - s = t("../../lib/extend").extendFlat, - l = n.marker, - c = n.line, - u = l.line; - e.exports = { - carpet: { valType: "string", editType: "calc" }, - a: { valType: "data_array", editType: "calc" }, - b: { valType: "data_array", editType: "calc" }, - mode: s({}, n.mode, { dflt: "markers" }), - text: s({}, n.text, {}), - line: { - color: c.color, - width: c.width, - dash: c.dash, - shape: s({}, c.shape, { values: ["linear", "spline"] }), - smoothing: c.smoothing, - editType: "calc", - }, - connectgaps: n.connectgaps, - fill: s({}, n.fill, { values: ["none", "toself", "tonext"] }), - fillcolor: n.fillcolor, - marker: s( - { - symbol: l.symbol, - opacity: l.opacity, - maxdisplayed: l.maxdisplayed, - size: l.size, - sizeref: l.sizeref, - sizemin: l.sizemin, - sizemode: l.sizemode, - line: s({ width: u.width, editType: "calc" }, a("marker".line)), - gradient: l.gradient, - editType: "calc", - }, - a("marker"), - { showscale: l.showscale, colorbar: o }, - ), - textfont: n.textfont, - textposition: n.textposition, - selected: n.selected, - unselected: n.unselected, - hoverinfo: s({}, i.hoverinfo, { flags: ["a", "b", "text", "name"] }), - hoveron: n.hoveron, - }; - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/color_attributes": 482, - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - }, - ], - 958: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../scatter/colorscale_calc"), - a = t("../scatter/arrays_to_calcdata"), - o = t("../scatter/calc_selection"), - s = t("../scatter/calc").calcMarkerSize, - l = t("../carpet/lookup_carpetid"); - e.exports = function (t, e) { - var r = (e._carpetTrace = l(t, e)); - if (r && r.visible && "legendonly" !== r.visible) { - var c; - ((e.xaxis = r.xaxis), (e.yaxis = r.yaxis)); - var u, - f, - h = e._length, - p = new Array(h), - d = !1; - for (c = 0; c < h; c++) - if (((u = e.a[c]), (f = e.b[c]), n(u) && n(f))) { - var g = r.ab2xy(+u, +f, !0), - m = r.isVisible(+u, +f); - (m || (d = !0), (p[c] = { x: g[0], y: g[1], a: u, b: f, vis: m })); - } else p[c] = { x: !1, y: !1 }; - return ( - (e._needsCull = d), - (p[0].carpet = r), - (p[0].trace = e), - s(e, h), - i(e), - a(p, e), - o(p, e), - p - ); - } - }; - }, - { - "../carpet/lookup_carpetid": 789, - "../scatter/arrays_to_calcdata": 925, - "../scatter/calc": 927, - "../scatter/calc_selection": 928, - "../scatter/colorscale_calc": 931, - "fast-isnumeric": 196, - }, - ], - 959: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/constants"), - a = t("../scatter/subtypes"), - o = t("../scatter/marker_defaults"), - s = t("../scatter/line_defaults"), - l = t("../scatter/line_shape_defaults"), - c = t("../scatter/text_defaults"), - u = t("../scatter/fillcolor_defaults"), - f = t("./attributes"); - e.exports = function (t, e, r, h) { - function p(r, i) { - return n.coerce(t, e, f, r, i); - } - (p("carpet"), (e.xaxis = "x"), (e.yaxis = "y")); - var d = p("a"), - g = p("b"), - m = Math.min(d.length, g.length); - if (m) { - ((e._length = m), - p("text"), - p("mode", m < i.PTS_LINESONLY ? "lines+markers" : "lines"), - a.hasLines(e) && (s(t, e, r, h, p), l(t, e, p), p("connectgaps")), - a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), - a.hasText(e) && c(t, e, h, p)); - var v = []; - ((a.hasMarkers(e) || a.hasText(e)) && - (p("marker.maxdisplayed"), v.push("points")), - p("fill"), - "none" !== e.fill && (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), - ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), - p("hoveron", v.join("+") || "points"), - n.coerceSelectionMarkerOpacity(e, p)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/constants": 932, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/line_shape_defaults": 941, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 957, - }, - ], - 960: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i) { - var a = n[i]; - return ((t.a = a.a), (t.b = a.b), t); - }; - }, - {}, - ], - 961: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/hover"); - e.exports = function (t, e, r, i) { - var a = n(t, e, r, i); - if (a && !1 !== a[0].index) { - var o = a[0]; - if (void 0 === o.index) { - var s = 1 - o.y0 / t.ya._length, - l = t.xa._length, - c = (l * s) / 2, - u = l - c; - return ( - (o.x0 = Math.max(Math.min(o.x0, u), c)), - (o.x1 = Math.max(Math.min(o.x1, u), c)), - a - ); - } - var f = o.cd[o.index]; - ((o.a = f.a), - (o.b = f.b), - (o.xLabelVal = void 0), - (o.yLabelVal = void 0)); - var h = o.trace, - p = h._carpet, - d = (f.hi || h.hoverinfo).split("+"), - g = []; - (-1 !== d.indexOf("all") && (d = ["a", "b"]), - -1 !== d.indexOf("a") && w(p.aaxis, f.a), - -1 !== d.indexOf("b") && w(p.baxis, f.b)); - var m = p.ab2ij([f.a, f.b]), - v = Math.floor(m[0]), - y = m[0] - v, - x = Math.floor(m[1]), - b = m[1] - x, - _ = p.evalxy([], v, x, y, b); - return ( - g.push("y: " + _[1].toFixed(3)), - (o.extraText = g.join("
          ")), - a - ); - } - function w(t, e) { - var r; - ((r = - t.labelprefix && t.labelprefix.length > 0 - ? t.labelprefix.replace(/ = $/, "") - : t._hovertitle), - g.push(r + ": " + e.toFixed(3) + t.labelsuffix)); - } - }; - }, - { "../scatter/hover": 937 }, - ], - 962: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../scatter/colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("../scatter/style").style), - (n.styleOnSelect = t("../scatter/style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.selectPoints = t("../scatter/select")), - (n.eventData = t("./event_data")), - (n.moduleType = "trace"), - (n.name = "scattercarpet"), - (n.basePlotModule = t("../../plots/cartesian")), - (n.categories = [ - "svg", - "carpet", - "symbols", - "markerColorscale", - "showLegend", - "carpetDependent", - "draggedPts", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/cartesian": 659, - "../scatter/colorbar": 930, - "../scatter/select": 946, - "../scatter/style": 947, - "./attributes": 957, - "./calc": 958, - "./defaults": 959, - "./event_data": 960, - "./hover": 961, - "./plot": 963, - }, - ], - 963: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/plot"), - i = t("../../plots/cartesian/axes"), - a = t("../../components/drawing"); - e.exports = function (t, e, r, o) { - var s, - l, - c, - u = r[0][0].carpet, - f = { - xaxis: i.getFromId(t, u.xaxis || "x"), - yaxis: i.getFromId(t, u.yaxis || "y"), - plot: e.plot, - }; - for (n(t, f, r, o), s = 0; s < r.length; s++) - ((l = r[s][0].trace), - (c = o.selectAll("g.trace" + l.uid + " .js-line")), - a.setClipUrl(c, u._clipPathId)); - }; - }, - { - "../../components/drawing": 499, - "../../plots/cartesian/axes": 648, - "../scatter/plot": 945, - }, - ], - 964: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../plots/attributes"), - a = t("../../components/colorscale/color_attributes"), - o = t("../../components/drawing/attributes").dash, - s = t("../../lib/extend").extendFlat, - l = t("../../plot_api/edit_types").overrideAll, - c = n.marker, - u = n.line, - f = c.line; - e.exports = l( - { - lon: { valType: "data_array" }, - lat: { valType: "data_array" }, - locations: { valType: "data_array" }, - locationmode: { - valType: "enumerated", - values: ["ISO-3", "USA-states", "country names"], - dflt: "ISO-3", - }, - mode: s({}, n.mode, { dflt: "markers" }), - text: s({}, n.text, {}), - hovertext: s({}, n.hovertext, {}), - textfont: n.textfont, - textposition: n.textposition, - line: { color: u.color, width: u.width, dash: o }, - connectgaps: n.connectgaps, - marker: s( - { - symbol: c.symbol, - opacity: c.opacity, - size: c.size, - sizeref: c.sizeref, - sizemin: c.sizemin, - sizemode: c.sizemode, - showscale: c.showscale, - colorbar: c.colorbar, - line: s({ width: f.width }, a("marker.line")), - gradient: c.gradient, - }, - a("marker"), - ), - fill: { valType: "enumerated", values: ["none", "toself"], dflt: "none" }, - fillcolor: n.fillcolor, - selected: n.selected, - unselected: n.unselected, - hoverinfo: s({}, i.hoverinfo, { - flags: ["lon", "lat", "location", "text", "name"], - }), - }, - "calc", - "nested", - ); - }, - { - "../../components/colorscale/color_attributes": 482, - "../../components/drawing/attributes": 498, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - }, - ], - 965: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../constants/numerical").BADNUM, - a = t("../scatter/colorscale_calc"), - o = t("../scatter/arrays_to_calcdata"), - s = t("../scatter/calc_selection"), - l = t("../../lib")._; - e.exports = function (t, e) { - for ( - var r = Array.isArray(e.locations), - c = r ? e.locations.length : e._length, - u = new Array(c), - f = 0; - f < c; - f++ - ) { - var h = (u[f] = {}); - if (r) { - var p = e.locations[f]; - h.loc = "string" == typeof p ? p : null; - } else { - var d = e.lon[f], - g = e.lat[f]; - n(d) && n(g) ? (h.lonlat = [+d, +g]) : (h.lonlat = [i, i]); - } - } - return ( - o(u, e), - a(e), - s(u, e), - c && - (u[0].t = { - labels: { lat: l(t, "lat:") + " ", lon: l(t, "lon:") + " " }, - }), - u - ); - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../scatter/arrays_to_calcdata": 925, - "../scatter/calc_selection": 928, - "../scatter/colorscale_calc": 931, - "fast-isnumeric": 196, - }, - ], - 966: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/subtypes"), - a = t("../scatter/marker_defaults"), - o = t("../scatter/line_defaults"), - s = t("../scatter/text_defaults"), - l = t("../scatter/fillcolor_defaults"), - c = t("./attributes"); - e.exports = function (t, e, r, u) { - function f(r, i) { - return n.coerce(t, e, c, r, i); - } - !(function (t, e, r) { - var n, - i, - a = 0, - o = r("locations"); - if (o) return (r("locationmode"), (a = o.length)); - return ( - (n = r("lon") || []), - (i = r("lat") || []), - (a = Math.min(n.length, i.length)), - (e._length = a), - a - ); - })(0, e, f) - ? (e.visible = !1) - : (f("text"), - f("hovertext"), - f("mode"), - i.hasLines(e) && (o(t, e, r, u, f), f("connectgaps")), - i.hasMarkers(e) && a(t, e, r, u, f, { gradient: !0 }), - i.hasText(e) && s(t, e, u, f), - f("fill"), - "none" !== e.fill && l(t, e, r, f)); - }; - }, - { - "../../lib": 602, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 964, - }, - ], - 967: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return ( - (t.lon = e.lon), - (t.lat = e.lat), - (t.location = e.loc ? e.loc : null), - t - ); - }; - }, - {}, - ], - 968: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/fx"), - i = t("../../plots/cartesian/axes"), - a = t("../../constants/numerical").BADNUM, - o = t("../scatter/get_trace_color"), - s = t("../scatter/fill_hover_text"), - l = t("./attributes"); - e.exports = function (t, e, r) { - var c = t.cd, - u = c[0].trace, - f = t.xa, - h = t.ya, - p = t.subplot, - d = p.projection.isLonLatOverEdges, - g = p.project; - if ( - (n.getClosest( - c, - function (t) { - var n = t.lonlat; - if (n[0] === a) return 1 / 0; - if (d(n)) return 1 / 0; - var i = g(n), - o = g([e, r]), - s = Math.abs(i[0] - o[0]), - l = Math.abs(i[1] - o[1]), - c = Math.max(3, t.mrc || 0); - return Math.max(Math.sqrt(s * s + l * l) - c, 1 - 3 / c); - }, - t, - ), - !1 !== t.index) - ) { - var m = c[t.index], - v = m.lonlat, - y = [f.c2p(v), h.c2p(v)], - x = m.mrc || 1; - return ( - (t.x0 = y[0] - x), - (t.x1 = y[0] + x), - (t.y0 = y[1] - x), - (t.y1 = y[1] + x), - (t.loc = m.loc), - (t.lon = v[0]), - (t.lat = v[1]), - (t.color = o(u, m)), - (t.extraText = (function (t, e, r, n) { - var a = e.hi || t.hoverinfo, - o = "all" === a ? l.hoverinfo.flags : a.split("+"), - c = -1 !== o.indexOf("location") && Array.isArray(t.locations), - u = -1 !== o.indexOf("lon"), - f = -1 !== o.indexOf("lat"), - h = -1 !== o.indexOf("text"), - p = []; - function d(t) { - return i.tickText(r, r.c2l(t), "hover").text + "\xb0"; - } - c - ? p.push(e.loc) - : u && f - ? p.push("(" + d(e.lonlat[0]) + ", " + d(e.lonlat[1]) + ")") - : u - ? p.push(n.lon + d(e.lonlat[0])) - : f && p.push(n.lat + d(e.lonlat[1])); - h && s(e, t, p); - return p.join("
          "); - })(u, m, p.mockAxis, c[0].t.labels)), - [t] - ); - } - }; - }, - { - "../../components/fx": 516, - "../../constants/numerical": 579, - "../../plots/cartesian/axes": 648, - "../scatter/fill_hover_text": 934, - "../scatter/get_trace_color": 936, - "./attributes": 964, - }, - ], - 969: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../scatter/colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("./style")), - (n.styleOnSelect = t("../scatter/style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.eventData = t("./event_data")), - (n.selectPoints = t("./select")), - (n.moduleType = "trace"), - (n.name = "scattergeo"), - (n.basePlotModule = t("../../plots/geo")), - (n.categories = [ - "geo", - "symbols", - "markerColorscale", - "showLegend", - "scatter-like", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/geo": 678, - "../scatter/colorbar": 930, - "../scatter/style": 947, - "./attributes": 964, - "./calc": 965, - "./defaults": 966, - "./event_data": 967, - "./hover": 968, - "./plot": 970, - "./select": 971, - "./style": 972, - }, - ], - 970: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../constants/numerical").BADNUM, - o = t("../../lib/topojson_utils").getTopojsonFeatures, - s = t("../../lib/geo_location_utils").locationToFeature, - l = t("../../lib/geojson_utils"), - c = t("../scatter/subtypes"), - u = t("./style"); - function f(t, e) { - var r = t[0].trace; - if (Array.isArray(r.locations)) - for (var n = o(r, e), i = r.locationmode, l = 0; l < t.length; l++) { - var c = t[l], - u = s(i, c.loc, n); - c.lonlat = u ? u.properties.ct : [a, a]; - } - } - e.exports = function (t, e, r) { - for (var o = 0; o < r.length; o++) f(r[o], e.topojson); - function s(t, e) { - t.lonlat[0] === a && n.select(e).remove(); - } - var h = e.layers.frontplot - .select(".scatterlayer") - .selectAll("g.trace.scattergeo") - .data(r, function (t) { - return t[0].trace.uid; - }); - (h.enter().append("g").attr("class", "trace scattergeo"), - h.exit().remove(), - h.selectAll("*").remove(), - h.each(function (e) { - var r = (e[0].node3 = n.select(this)), - a = e[0].trace; - if (c.hasLines(a) || "none" !== a.fill) { - var o = l.calcTraceToLineCoords(e), - f = "none" !== a.fill ? l.makePolygon(o) : l.makeLine(o); - r.selectAll("path.js-line") - .data([{ geojson: f, trace: a }]) - .enter() - .append("path") - .classed("js-line", !0) - .style("stroke-miterlimit", 2); - } - (c.hasMarkers(a) && - r - .selectAll("path.point") - .data(i.identity) - .enter() - .append("path") - .classed("point", !0) - .each(function (t) { - s(t, this); - }), - c.hasText(a) && - r - .selectAll("g") - .data(i.identity) - .enter() - .append("g") - .append("text") - .each(function (t) { - s(t, this); - }), - u(t, e)); - })); - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../lib/geo_location_utils": 594, - "../../lib/geojson_utils": 595, - "../../lib/topojson_utils": 629, - "../scatter/subtypes": 948, - "./style": 972, - d3: 130, - }, - ], - 971: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/subtypes"); - e.exports = function (t, e) { - var r, - i, - a, - o, - s, - l = t.cd, - c = t.xaxis, - u = t.yaxis, - f = [], - h = l[0].trace; - if (!n.hasMarkers(h) && !n.hasText(h)) return []; - if (!1 === e) for (s = 0; s < l.length; s++) l[s].selected = 0; - else - for (s = 0; s < l.length; s++) - ((i = (r = l[s]).lonlat), - (a = c.c2p(i)), - (o = u.c2p(i)), - e.contains([a, o]) - ? (f.push({ pointNumber: s, lon: i[0], lat: i[1] }), - (r.selected = 1)) - : (r.selected = 0)); - return f; - }; - }, - { "../scatter/subtypes": 948 }, - ], - 972: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/drawing"), - a = t("../../components/color"), - o = t("../scatter/style").stylePoints; - e.exports = function (t, e) { - e && - (function (t, e) { - var r = e[0].trace, - s = e[0].node3; - (s.style("opacity", e[0].trace.opacity), - o(s, r, t), - s - .selectAll("path.js-line") - .style("fill", "none") - .each(function (t) { - var e = n.select(this), - r = t.trace, - o = r.line || {}; - (e - .call(a.stroke, o.color) - .call(i.dashLine, o.dash || "", o.width || 0), - "none" !== r.fill && e.call(a.fill, r.fillcolor)); - })); - })(t, e); - }; - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../scatter/style": 947, - d3: 130, - }, - ], - 973: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/attributes"), - i = t("../scatter/attributes"), - a = t("../../components/colorscale/color_attributes"), - o = t("../../lib/extend").extendFlat, - s = t("../../plot_api/edit_types").overrideAll, - l = t("./constants").DASHES, - c = i.line, - u = i.marker, - f = u.line, - h = (e.exports = s( - { - x: i.x, - x0: i.x0, - dx: i.dx, - y: i.y, - y0: i.y0, - dy: i.dy, - text: o({}, i.text, {}), - mode: { - valType: "flaglist", - flags: ["lines", "markers"], - extras: ["none"], - }, - line: { - color: c.color, - width: c.width, - dash: { - valType: "enumerated", - values: Object.keys(l), - dflt: "solid", - }, - }, - marker: o({}, a("marker"), { - symbol: u.symbol, - size: u.size, - sizeref: u.sizeref, - sizemin: u.sizemin, - sizemode: u.sizemode, - opacity: u.opacity, - showscale: u.showscale, - colorbar: u.colorbar, - line: o({}, a("marker.line"), { width: f.width }), - }), - connectgaps: i.connectgaps, - fill: i.fill, - fillcolor: i.fillcolor, - hoveron: i.hoveron, - selected: { marker: i.selected.marker }, - unselected: { marker: i.unselected.marker }, - opacity: n.opacity, - }, - "calc", - "nested", - )); - h.x.editType = - h.y.editType = - h.x0.editType = - h.y0.editType = - "calc+clearAxisTypes"; - }, - { - "../../components/colorscale/color_attributes": 482, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - "./constants": 974, - }, - ], - 974: [ - function (t, e, r) { - "use strict"; - e.exports = { - TOO_MANY_POINTS: 1e5, - SYMBOL_SDF_SIZE: 200, - SYMBOL_SIZE: 20, - SYMBOL_STROKE: 1, - DOT_RE: /-dot/, - OPEN_RE: /-open/, - DASHES: { - solid: [1], - dot: [1, 1], - dash: [4, 1], - longdash: [8, 1], - dashdot: [4, 1, 1, 1], - longdashdot: [8, 1, 1, 1], - }, - }; - }, - {}, - ], - 975: [ - function (t, e, r) { - "use strict"; - var n = t("svg-path-sdf"), - i = t("color-normalize"), - a = t("../../registry"), - o = t("../../lib"), - s = t("../../components/drawing"), - l = t("../../plots/cartesian/axis_ids"), - c = t("../../lib/gl_format_color"), - u = t("../scatter/subtypes"), - f = t("../scatter/make_bubble_size_func"), - h = t("./constants"), - p = t("../../constants/interactions").DESELECTDIM; - function d(t) { - var e, - r, - n = t._length, - a = t.marker, - s = {}, - l = Array.isArray(a.symbol), - u = o.isArrayOrTypedArray(a.color), - p = o.isArrayOrTypedArray(a.line.color), - d = o.isArrayOrTypedArray(a.opacity), - g = o.isArrayOrTypedArray(a.size), - m = o.isArrayOrTypedArray(a.line.width); - if ((l || (r = h.OPEN_RE.test(a.symbol)), l || u || p || d)) { - ((s.colors = new Array(n)), (s.borderColors = new Array(n))); - var v = c(a, a.opacity, n), - y = c(a.line, a.opacity, n); - if (!Array.isArray(y[0])) { - var x = y; - for (y = Array(n), e = 0; e < n; e++) y[e] = x; - } - if (!Array.isArray(v[0])) { - var b = v; - for (v = Array(n), e = 0; e < n; e++) v[e] = b; - } - for (s.colors = v, s.borderColors = y, e = 0; e < n; e++) { - if (l) { - var _ = a.symbol[e]; - r = h.OPEN_RE.test(_); - } - r && ((y[e] = v[e].slice()), (v[e] = v[e].slice()), (v[e][3] = 0)); - } - s.opacity = t.opacity; - } else - (r - ? ((s.color = i(a.color, "uint8")), - (s.color[3] = 0), - (s.borderColor = i(a.color, "uint8"))) - : ((s.color = i(a.color, "uint8")), - (s.borderColor = i(a.line.color, "uint8"))), - (s.opacity = t.opacity * a.opacity)); - if (l) - for (s.markers = new Array(n), e = 0; e < n; e++) - s.markers[e] = w(a.symbol[e]); - else s.marker = w(a.symbol); - var k, - M = f(t); - if (g || m) { - var A, - T = (s.sizes = new Array(n)), - S = (s.borderSizes = new Array(n)), - C = 0; - if (g) { - for (e = 0; e < n; e++) ((T[e] = M(a.size[e])), (C += T[e])); - A = C / n; - } else for (k = M(a.size), e = 0; e < n; e++) T[e] = k; - if (m) for (e = 0; e < n; e++) S[e] = M(a.line.width[e]); - else for (k = M(a.line.width), e = 0; e < n; e++) S[e] = k; - s.sizeAvg = A; - } else - ((s.size = M((a && a.size) || 10)), (s.borderSizes = M(a.line.width))); - return s; - } - function g(t, e) { - var r = t.marker, - n = {}; - return e - ? (e.marker && e.marker.symbol - ? (n = d(o.extendFlat({}, r, e.marker))) - : e.marker && - (e.marker.size && (n.sizes = e.marker.size), - e.marker.color && (n.colors = e.marker.color), - void 0 !== e.marker.opacity && (n.opacity = e.marker.opacity)), - n) - : n; - } - function m(t, e) { - var r = { capSize: 2 * e.width, lineWidth: e.thickness, color: e.color }; - return (e.copy_ystyle && (r = t.error_y), r); - } - var v = h.SYMBOL_SDF_SIZE, - y = h.SYMBOL_SIZE, - x = h.SYMBOL_STROKE, - b = {}, - _ = s.symbolFuncs[0](0.05 * y); - function w(t) { - if ("circle" === t) return null; - var e, - r, - i = s.symbolNumber(t), - a = s.symbolFuncs[i % 100], - o = !!s.symbolNoDot[i % 100], - l = !!s.symbolNoFill[i % 100], - c = h.DOT_RE.test(t); - return b[t] - ? b[t] - : ((e = c && !o ? a(1.1 * y) + _ : a(y)), - (r = n(e, { w: v, h: v, viewBox: [-y, -y, y, y], stroke: l ? x : -x })), - (b[t] = r), - r || null); - } - e.exports = { - convertStyle: function (t, e) { - var r, - n = { - marker: void 0, - line: void 0, - fill: void 0, - errorX: void 0, - errorY: void 0, - selected: void 0, - unselected: void 0, - }; - if (!0 !== e.visible) return n; - if ( - u.hasMarkers(e) && - ((n.marker = d(e)), - (n.selected = g(e, e.selected)), - (n.unselected = g(e, e.unselected)), - !e.unselected && Array.isArray(e.marker.opacity)) - ) { - var i = e.marker.opacity; - for ( - n.unselected.opacity = new Array(i.length), r = 0; - r < i.length; - r++ - ) - n.unselected.opacity[r] = p * i[r]; - } - if (u.hasLines(e)) { - n.line = { - overlay: !0, - thickness: e.line.width, - color: e.line.color, - opacity: e.opacity, - }; - var a = (h.DASHES[e.line.dash] || [1]).slice(); - for (r = 0; r < a.length; ++r) a[r] *= e.line.width; - n.line.dashes = a; - } - return ( - e.error_x && e.error_x.visible && (n.errorX = m(e, e.error_x)), - e.error_y && e.error_y.visible && (n.errorY = m(e, e.error_y)), - e.fill && - "none" !== e.fill && - (n.fill = { closed: !0, fill: e.fillcolor, thickness: 0 }), - n - ); - }, - convertMarkerStyle: d, - convertMarkerSelection: g, - convertLinePositions: function (t, e, r) { - var n, - i, - a = r.length / 2; - if (u.hasLines(e) && a) - if ("hv" === e.line.shape) { - for (n = [], i = 0; i < a - 1; i++) - isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) - ? (n.push(NaN), n.push(NaN), n.push(NaN), n.push(NaN)) - : (n.push(r[2 * i]), - n.push(r[2 * i + 1]), - n.push(r[2 * i + 2]), - n.push(r[2 * i + 1])); - (n.push(r[r.length - 2]), n.push(r[r.length - 1])); - } else if ("vh" === e.line.shape) { - for (n = [], i = 0; i < a - 1; i++) - isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) - ? (n.push(NaN), n.push(NaN), n.push(NaN), n.push(NaN)) - : (n.push(r[2 * i]), - n.push(r[2 * i + 1]), - n.push(r[2 * i]), - n.push(r[2 * i + 3])); - (n.push(r[r.length - 2]), n.push(r[r.length - 1])); - } else n = r; - var o = !1; - for (i = 0; i < n.length; i++) - if (isNaN(n[i])) { - o = !0; - break; - } - var s = - o || n.length > h.TOO_MANY_POINTS - ? "rect" - : u.hasMarkers(e) - ? "rect" - : "round"; - if (o && e.connectgaps) { - var l = n[0], - c = n[1]; - for (i = 0; i < n.length; i += 2) - isNaN(n[i]) || isNaN(n[i + 1]) - ? ((n[i] = l), (n[i + 1] = c)) - : ((l = n[i]), (c = n[i + 1])); - } - return { join: s, positions: n }; - }, - convertErrorBarPositions: function (t, e, r) { - var n = a.getComponentMethod("errorbars", "calcFromTrace")( - e, - t._fullLayout, - ), - i = r.length / 2, - o = {}; - function s(a) { - for ( - var o = new Float64Array(4 * i), - s = l.getFromId(t, e[a + "axis"]), - c = { x: 0, y: 1 }[a], - u = { x: [0, 1, 2, 3], y: [2, 3, 0, 1] }[a], - f = 0, - h = 0; - f < i; - f++, h += 4 - ) - ((o[h + u[0]] = r[2 * f + c] - s.d2l(n[f][a + "s"]) || 0), - (o[h + u[1]] = s.d2l(n[f][a + "h"]) - r[2 * f + c] || 0), - (o[h + u[2]] = 0), - (o[h + u[3]] = 0)); - return o; - } - return ( - e.error_x && - e.error_x.visible && - (o.x = { positions: r, errors: s("x") }), - e.error_y && - e.error_y.visible && - (o.y = { positions: r, errors: s("y") }), - o - ); - }, - }; - }, - { - "../../components/drawing": 499, - "../../constants/interactions": 578, - "../../lib": 602, - "../../lib/gl_format_color": 598, - "../../plots/cartesian/axis_ids": 651, - "../../registry": 732, - "../scatter/make_bubble_size_func": 943, - "../scatter/subtypes": 948, - "./constants": 974, - "color-normalize": 100, - "svg-path-sdf": 413, - }, - ], - 976: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../registry"), - a = t("./attributes"), - o = t("../scatter/constants"), - s = t("../scatter/subtypes"), - l = t("../scatter/xy_defaults"), - c = t("../scatter/marker_defaults"), - u = t("../scatter/line_defaults"), - f = t("../scatter/fillcolor_defaults"); - e.exports = function (t, e, r, h) { - function p(r, i) { - return n.coerce(t, e, a, r, i); - } - var d = !!t.marker && /-open/.test(t.marker.symbol), - g = s.isBubble(t), - m = l(t, e, h, p); - if (m) { - (p("text"), - p("mode", m < o.PTS_LINESONLY ? "lines+markers" : "lines"), - s.hasLines(e) && (p("connectgaps"), u(t, e, r, h, p))); - var v = []; - (s.hasMarkers(e) && - (c(t, e, r, h, p), - p("marker.line.width", d || g ? 1 : 0), - v.push("points")), - p("fill"), - "none" !== e.fill && f(t, e, r, p), - ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), - p("hoveron", v.join("+") || "points")); - var y = i.getComponentMethod("errorbars", "supplyDefaults"); - (y(t, e, r, { axis: "y" }), - y(t, e, r, { axis: "x", inherit: "y" }), - n.coerceSelectionMarkerOpacity(e, p)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../../registry": 732, - "../scatter/constants": 932, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/xy_defaults": 950, - "./attributes": 973, - }, - ], - 977: [ - function (t, e, r) { - "use strict"; - var n = t("regl-scatter2d"), - i = t("regl-line2d"), - a = t("regl-error2d"), - o = t("point-cluster"), - s = t("array-range"), - l = t("../../registry"), - c = t("../../lib"), - u = t("../../lib/prepare_regl"), - f = t("../../plots/cartesian/axis_ids"), - h = t("../scatter/subtypes"), - p = t("../scatter/calc").calcMarkerSize, - d = t("../scatter/calc").calcAxisExpansion, - g = t("../scatter/colorscale_calc"), - m = t("../scatter/link_traces"), - v = t("../scatter/get_trace_color"), - y = t("../scatter/fill_hover_text"), - x = t("./convert").convertStyle, - b = t("./convert").convertLinePositions, - _ = t("./convert").convertErrorBarPositions, - w = t("../../constants/numerical").BADNUM, - k = t("./constants").TOO_MANY_POINTS; - function M(t, e, r, n) { - var i = x(t, r); - if ( - (i.marker && (i.marker.positions = n), - i.line && n.length > 1 && c.extendFlat(i.line, b(t, r, n)), - i.errorX || i.errorY) - ) { - var a = _(t, r, n); - (i.errorX && c.extendFlat(i.errorX, a.x), - i.errorY && c.extendFlat(i.errorY, a.y)); - } - return i; - } - function A(t, e) { - var r = e._scene, - n = t._fullLayout, - i = { - count: 0, - dirty: !0, - lineOptions: [], - fillOptions: [], - markerOptions: [], - selectedOptions: [], - unselectedOptions: [], - errorXOptions: [], - errorYOptions: [], - }; - return ( - e._scene || - (((r = e._scene = - c.extendFlat({}, i, { - selectBatch: null, - unselectBatch: null, - fill2d: !1, - scatter2d: !1, - error2d: !1, - line2d: !1, - select2d: null, - })).update = function (t) { - for (var e = new Array(r.count), n = 0; n < r.count; n++) e[n] = t; - (r.fill2d && r.fill2d.update(e), - r.scatter2d && r.scatter2d.update(e), - r.line2d && r.line2d.update(e), - r.error2d && r.error2d.update(e.concat(e)), - r.select2d && r.select2d.update(e), - r.draw()); - }), - (r.draw = function () { - var t; - for (t = 0; t < r.count; t++) - r.fill2d && r.fillOptions[t] && r.fill2d.draw(t); - for (t = 0; t < r.count; t++) - (r.line2d && r.lineOptions[t] && r.line2d.draw(t), - r.error2d && r.errorXOptions[t] && r.error2d.draw(t), - r.error2d && r.errorYOptions[t] && r.error2d.draw(t + r.count), - !r.scatter2d || - !r.markerOptions[t] || - (r.selectBatch && r.selectBatch[t]) || - r.scatter2d.draw(t)); - (r.scatter2d && - r.select2d && - r.selectBatch && - (r.select2d.draw(r.selectBatch), r.scatter2d.draw(r.unselectBatch)), - (r.dirty = !1)); - }), - (r.clear = function () { - var t, - i = n._size, - a = n.width, - o = n.height, - s = e.xaxis, - l = e.yaxis, - c = [ - i.l + s.domain[0] * i.w, - i.b + l.domain[0] * i.h, - a - i.r - (1 - s.domain[1]) * i.w, - o - i.t - (1 - l.domain[1]) * i.h, - ]; - (r.select2d && - ((t = r.select2d.regl._gl).enable(t.SCISSOR_TEST), - t.scissor(c[0], c[1], c[2] - c[0], c[3] - c[1]), - t.clearColor(0, 0, 0, 0), - t.clear(t.COLOR_BUFFER_BIT)), - r.scatter2d && - ((t = r.scatter2d.regl._gl).enable(t.SCISSOR_TEST), - t.scissor(c[0], c[1], c[2] - c[0], c[3] - c[1]), - t.clearColor(0, 0, 0, 0), - t.clear(t.COLOR_BUFFER_BIT))); - }), - (r.destroy = function () { - (r.fill2d && r.fill2d.destroy(), - r.scatter2d && r.scatter2d.destroy(), - r.error2d && r.error2d.destroy(), - r.line2d && r.line2d.destroy(), - r.select2d && r.select2d.destroy(), - (r.lineOptions = null), - (r.fillOptions = null), - (r.markerOptions = null), - (r.selectedOptions = null), - (r.unselectedOptions = null), - (r.errorXOptions = null), - (r.errorYOptions = null), - (r.selectBatch = null), - (r.unselectBatch = null), - (e._scene = null)); - })), - r.dirty || c.extendFlat(r, i), - r - ); - } - function T(t, e, r, n) { - var i = t.xa, - a = t.ya, - o = t.distance, - s = t.dxy, - u = t.index, - f = { pointNumber: u, x: e[u], y: r[u] }; - ((f.tx = Array.isArray(n.text) ? n.text[u] : n.text), - (f.htx = Array.isArray(n.hovertext) ? n.hovertext[u] : n.hovertext), - (f.data = Array.isArray(n.customdata) ? n.customdata[u] : n.customdata), - (f.tp = Array.isArray(n.textposition) - ? n.textposition[u] - : n.textposition)); - var h = n.textfont; - h && - ((f.ts = Array.isArray(h.size) ? h.size[u] : h.size), - (f.tc = Array.isArray(h.color) ? h.color[u] : h.color), - (f.tf = Array.isArray(h.family) ? h.family[u] : h.family)); - var p = n.marker; - p && - ((f.ms = c.isArrayOrTypedArray(p.size) ? p.size[u] : p.size), - (f.mo = c.isArrayOrTypedArray(p.opacity) ? p.opacity[u] : p.opacity), - (f.mx = Array.isArray(p.symbol) ? p.symbol[u] : p.symbol), - (f.mc = c.isArrayOrTypedArray(p.color) ? p.color[u] : p.color)); - var d = p && p.line; - d && - ((f.mlc = Array.isArray(d.color) ? d.color[u] : d.color), - (f.mlw = c.isArrayOrTypedArray(d.width) ? d.width[u] : d.width)); - var g = p && p.gradient; - g && - "none" !== g.type && - ((f.mgt = Array.isArray(g.type) ? g.type[u] : g.type), - (f.mgc = Array.isArray(g.color) ? g.color[u] : g.color)); - var m = i.c2p(f.x, !0), - x = a.c2p(f.y, !0), - b = f.mrc || 1, - _ = n.hoverlabel; - _ && - ((f.hbg = Array.isArray(_.bgcolor) ? _.bgcolor[u] : _.bgcolor), - (f.hbc = Array.isArray(_.bordercolor) ? _.bordercolor[u] : _.bordercolor), - (f.hts = Array.isArray(_.font.size) ? _.font.size[u] : _.font.size), - (f.htc = Array.isArray(_.font.color) ? _.font.color[u] : _.font.color), - (f.htf = Array.isArray(_.font.family) ? _.font.family[u] : _.font.family), - (f.hnl = Array.isArray(_.namelength) ? _.namelength[u] : _.namelength)); - var w = n.hoverinfo; - w && (f.hi = Array.isArray(w) ? w[u] : w); - var k = {}; - return ( - (k[t.index] = f), - c.extendFlat(t, { - color: v(n, f), - x0: m - b, - x1: m + b, - xLabelVal: f.x, - y0: x - b, - y1: x + b, - yLabelVal: f.y, - cd: k, - distance: o, - spikeDistance: s, - }), - f.htx - ? (t.text = f.htx) - : f.tx - ? (t.text = f.tx) - : n.text && (t.text = n.text), - y(f, n, t), - l.getComponentMethod("errorbars", "hoverInfo")(f, n, t), - t - ); - } - e.exports = { - moduleType: "trace", - name: "scattergl", - basePlotModule: t("../../plots/cartesian"), - categories: [ - "gl", - "regl", - "cartesian", - "symbols", - "errorBarsOK", - "markerColorscale", - "showLegend", - "scatter-like", - ], - attributes: t("./attributes"), - supplyDefaults: t("./defaults"), - cleanData: t("../scatter/clean_data"), - colorbar: t("../scatter/colorbar"), - calc: function (t, e) { - var r, - n, - i, - a = t._fullLayout, - s = f.getFromId(t, e.xaxis), - l = f.getFromId(t, e.yaxis), - c = a._plots[e.xaxis + e.yaxis], - u = e._length, - h = 2 * u, - m = {}, - v = s.makeCalcdata(e, "x"), - y = l.makeCalcdata(e, "y"), - x = new Array(h); - for (r = 0; r < u; r++) - ((n = v[r]), - (i = y[r]), - (x[2 * r] = n === w ? NaN : n), - (x[2 * r + 1] = i === w ? NaN : i)); - if ("log" === s.type) for (r = 0; r < h; r += 2) x[r] = s.c2l(x[r]); - if ("log" === l.type) for (r = 1; r < h; r += 2) x[r] = l.c2l(x[r]); - if ("log" !== s.type && "log" !== l.type) m.tree = o(x); - else { - var b = (m.ids = new Array(u)); - for (r = 0; r < u; r++) b[r] = r; - } - g(e); - var _, - T = M(t, 0, e, x), - S = A(t, c); - return ( - u < k - ? (_ = p(e, u)) - : T.marker && - (_ = 2 * (T.marker.sizeAvg || Math.max(T.marker.size, 3))), - d(t, e, s, l, v, y, _), - T.fill && !S.fill2d && (S.fill2d = !0), - T.marker && !S.scatter2d && (S.scatter2d = !0), - T.line && !S.line2d && (S.line2d = !0), - (!T.errorX && !T.errorY) || S.error2d || (S.error2d = !0), - T.marker && u >= k && (T.marker.cluster = m.tree), - S.lineOptions.push(T.line), - S.errorXOptions.push(T.errorX), - S.errorYOptions.push(T.errorY), - S.fillOptions.push(T.fill), - S.markerOptions.push(T.marker), - S.selectedOptions.push(T.selected), - S.unselectedOptions.push(T.unselected), - S.count++, - (m._scene = S), - (m.index = S.count - 1), - (m.x = v), - (m.y = y), - (m.positions = x), - (m.count = u), - (t.firstscatter = !1), - [{ x: !1, y: !1, t: m, trace: e }] - ); - }, - plot: function (t, e, r) { - if (r.length) { - var o = t._fullLayout, - s = r[0][0].t._scene, - l = o.dragmode; - if (s) { - var c = o._size, - h = o.width, - p = o.height; - u(t, ["ANGLE_instanced_arrays", "OES_element_index_uint"]); - var d = o._glcanvas.data()[0].regl; - if ((m(t, e, r), s.dirty)) { - if ( - (!0 === s.error2d && (s.error2d = a(d)), - !0 === s.line2d && (s.line2d = i(d)), - !0 === s.scatter2d && (s.scatter2d = n(d)), - !0 === s.fill2d && (s.fill2d = i(d)), - s.line2d && s.line2d.update(s.lineOptions), - s.error2d) - ) { - var g = (s.errorXOptions || []).concat(s.errorYOptions || []); - s.error2d.update(g); - } - (s.scatter2d && s.scatter2d.update(s.markerOptions), - s.fill2d && - ((s.fillOptions = s.fillOptions.map(function (t, e) { - var n = r[e]; - if (!(t && n && n[0] && n[0].trace)) return null; - var i, - a, - o = n[0], - l = o.trace, - c = o.t, - u = s.lineOptions[e], - f = [], - h = (u && u.positions) || c.positions; - if ("tozeroy" === l.fill) - ((f = (f = [h[0], 0]).concat(h)).push(h[h.length - 2]), - f.push(0)); - else if ("tozerox" === l.fill) - ((f = (f = [0, h[1]]).concat(h)).push(0), - f.push(h[h.length - 1])); - else if ("toself" === l.fill || "tonext" === l.fill) { - for (f = [], i = 0, a = 0; a < h.length; a += 2) - (isNaN(h[a]) || isNaN(h[a + 1])) && - ((f = f.concat(h.slice(i, a))).push(h[i], h[i + 1]), - (i = a + 2)); - ((f = f.concat(h.slice(i))), i && f.push(h[i], h[i + 1])); - } else { - var p = l._nexttrace; - if (p) { - var d = s.lineOptions[e + 1]; - if (d) { - var g = d.positions; - if ("tonexty" === l.fill) { - for ( - f = h.slice(), e = Math.floor(g.length / 2); - e--; - - ) { - var m = g[2 * e], - v = g[2 * e + 1]; - isNaN(m) || isNaN(v) || (f.push(m), f.push(v)); - } - t.fill = p.fillcolor; - } - } - } - } - if (l._prevtrace && "tonext" === l._prevtrace.fill) { - var y = s.lineOptions[e - 1].positions, - x = f.length / 2, - b = [(i = x)]; - for (a = 0; a < y.length; a += 2) - (isNaN(y[a]) || isNaN(y[a + 1])) && - (b.push(a / 2 + x + 1), (i = a + 2)); - ((f = f.concat(y)), (t.hole = b)); - } - return ((t.opacity = l.opacity), (t.positions = f), t); - })), - s.fill2d.update(s.fillOptions))); - } - var v = "lasso" === l || "select" === l; - ((s.selectBatch = null), (s.unselectBatch = null)); - var y = r.map(function (r) { - if (r && r[0] && r[0].trace) { - var n, - i = r[0], - a = i.trace, - o = i.t, - l = o.index, - u = o.x, - d = o.y, - g = e.xaxis || f.getFromId(t, a.xaxis || "x"), - m = e.yaxis || f.getFromId(t, a.yaxis || "y"), - y = [ - (g._rl || g.range)[0], - (m._rl || m.range)[0], - (g._rl || g.range)[1], - (m._rl || m.range)[1], - ], - x = [ - c.l + g.domain[0] * c.w, - c.b + m.domain[0] * c.h, - h - c.r - (1 - g.domain[1]) * c.w, - p - c.t - (1 - m.domain[1]) * c.h, - ]; - if (a.selectedpoints || v) { - if ( - (v || (v = !0), - s.selectBatch || - ((s.selectBatch = []), (s.unselectBatch = [])), - a.selectedpoints) - ) { - s.selectBatch[l] = a.selectedpoints; - var b = a.selectedpoints, - _ = {}; - for (n = 0; n < b.length; n++) _[b[n]] = !0; - var w = []; - for (n = 0; n < o.count; n++) _[n] || w.push(n); - s.unselectBatch[l] = w; - } - var k = new Array(o.count), - M = new Array(o.count); - for (n = 0; n < o.count; n++) - ((k[n] = g.c2p(u[n])), (M[n] = m.c2p(d[n]))); - ((o.xpx = k), (o.ypx = M)); - } else o.xpx = o.ypx = null; - return a.visible ? { viewport: x, range: y } : null; - } - }); - (v && - (s.select2d || (s.select2d = n(o._glcanvas.data()[1].regl)), - s.scatter2d && - s.selectBatch && - s.selectBatch.length && - s.scatter2d.update( - s.unselectedOptions.map(function (t, e) { - return s.selectBatch[e] ? t : null; - }), - ), - s.select2d && - (s.select2d.update(s.markerOptions), - s.select2d.update(s.selectedOptions))), - s.fill2d && s.fill2d.update(y), - s.line2d && s.line2d.update(y), - s.error2d && s.error2d.update(y.concat(y)), - s.scatter2d && s.scatter2d.update(y), - s.select2d && s.select2d.update(y), - s.draw()); - } - } - }, - hoverPoints: function (t, e, r, n) { - var i, - a, - o, - s, - l, - c, - u, - f, - h, - p = t.cd, - d = p[0].t, - g = p[0].trace, - m = t.xa, - v = t.ya, - y = d.x, - x = d.y, - b = m.c2p(e), - _ = v.c2p(r), - w = t.distance; - if (d.tree) { - var k = m.p2c(b - w), - M = m.p2c(b + w), - A = v.p2c(_ - w), - S = v.p2c(_ + w); - i = - "x" === n - ? d.tree.range( - Math.min(k, M), - Math.min(v._rl[0], v._rl[1]), - Math.max(k, M), - Math.max(v._rl[0], v._rl[1]), - ) - : d.tree.range( - Math.min(k, M), - Math.min(A, S), - Math.max(k, M), - Math.max(A, S), - ); - } else { - if (!d.ids) return [t]; - i = d.ids; - } - var C = w; - if ("x" === n) - for (l = 0; l < i.length; l++) - ((o = y[i[l]]), - (c = Math.abs(m.c2p(o) - b)) < C && - ((C = c), - (u = v.c2p(x[i[l]]) - _), - (h = Math.sqrt(c * c + u * u)), - (a = i[l]))); - else - for (l = 0; l < i.length; l++) - ((o = y[i[l]]), - (s = x[i[l]]), - (c = m.c2p(o) - b), - (u = v.c2p(s) - _), - (f = Math.sqrt(c * c + u * u)) < C && ((C = h = f), (a = i[l]))); - return ( - (t.index = a), - (t.distance = C), - (t.dxy = h), - void 0 === a ? [t] : (T(t, y, x, g), [t]) - ); - }, - style: function (t, e) { - if (e) { - var r = e[0][0].t._scene; - (t._fullLayout._has("splom") || r.clear(), r.draw()); - } - }, - selectPoints: function (t, e) { - var r = t.cd, - n = [], - i = r[0].trace, - a = r[0].t, - o = a.x, - l = a.y, - c = a._scene; - if (!c) return n; - var u = !h.hasMarkers(i) && !h.hasText(i); - if (!0 !== i.visible || u) return n; - var f, - p = null, - d = null; - if (!1 === e || e.degenerate) d = s(a.count); - else - for (p = [], d = [], f = 0; f < a.count; f++) - e.contains([a.xpx[f], a.ypx[f]]) - ? (p.push(f), n.push({ pointNumber: f, x: o[f], y: l[f] })) - : d.push(f); - if ( - (c.selectBatch || ((c.selectBatch = []), (c.unselectBatch = [])), - !c.selectBatch[a.index]) - ) { - for (f = 0; f < c.count; f++) - ((c.selectBatch[f] = []), (c.unselectBatch[f] = [])); - c.scatter2d.update(c.unselectedOptions); - } - return ((c.selectBatch[a.index] = p), (c.unselectBatch[a.index] = d), n); - }, - sceneOptions: M, - sceneUpdate: A, - calcHover: T, - meta: {}, - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../lib/prepare_regl": 615, - "../../plots/cartesian": 659, - "../../plots/cartesian/axis_ids": 651, - "../../registry": 732, - "../scatter/calc": 927, - "../scatter/clean_data": 929, - "../scatter/colorbar": 930, - "../scatter/colorscale_calc": 931, - "../scatter/fill_hover_text": 934, - "../scatter/get_trace_color": 936, - "../scatter/link_traces": 942, - "../scatter/subtypes": 948, - "./attributes": 973, - "./constants": 974, - "./convert": 975, - "./defaults": 976, - "array-range": 51, - "point-cluster": 353, - "regl-error2d": 374, - "regl-line2d": 375, - "regl-scatter2d": 376, - }, - ], - 978: [ - function (t, e, r) { - "use strict"; - var n = t("../scattergeo/attributes"), - i = t("../scatter/attributes"), - a = t("../../plots/mapbox/layout_attributes"), - o = t("../../plots/attributes"), - s = t("../../components/colorbar/attributes"), - l = t("../../lib/extend").extendFlat, - c = t("../../plot_api/edit_types").overrideAll, - u = n.line, - f = n.marker; - e.exports = c( - { - lon: n.lon, - lat: n.lat, - mode: l({}, i.mode, { dflt: "markers" }), - text: l({}, i.text, {}), - hovertext: l({}, i.hovertext, {}), - line: { color: u.color, width: u.width }, - connectgaps: i.connectgaps, - marker: { - symbol: { valType: "string", dflt: "circle", arrayOk: !0 }, - opacity: f.opacity, - size: f.size, - sizeref: f.sizeref, - sizemin: f.sizemin, - sizemode: f.sizemode, - color: f.color, - colorscale: f.colorscale, - cauto: f.cauto, - cmax: f.cmax, - cmin: f.cmin, - autocolorscale: f.autocolorscale, - reversescale: f.reversescale, - showscale: f.showscale, - colorbar: s, - }, - fill: n.fill, - fillcolor: i.fillcolor, - textfont: a.layers.symbol.textfont, - textposition: a.layers.symbol.textposition, - selected: { marker: i.selected.marker }, - unselected: { marker: i.unselected.marker }, - hoverinfo: l({}, o.hoverinfo, { flags: ["lon", "lat", "text", "name"] }), - }, - "calc", - "nested", - ); - }, - { - "../../components/colorbar/attributes": 475, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - "../../plots/mapbox/layout_attributes": 706, - "../scatter/attributes": 926, - "../scattergeo/attributes": 964, - }, - ], - 979: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../constants/numerical").BADNUM, - o = t("../../lib/geojson_utils"), - s = t("../../components/colorscale"), - l = t("../../components/drawing"), - c = t("../scatter/make_bubble_size_func"), - u = t("../scatter/subtypes"), - f = t("../../plots/mapbox/convert_text_opts"); - function h() { - return { - geojson: o.makeBlank(), - layout: { visibility: "none" }, - paint: {}, - }; - } - function p(t) { - return i.isArrayOrTypedArray(t) - ? function (t) { - return t; - } - : t - ? function () { - return t; - } - : d; - } - function d() { - return ""; - } - function g(t) { - return t[0] === a; - } - e.exports = function (t) { - var e, - r = t[0].trace, - a = !0 === r.visible, - m = "none" !== r.fill, - v = u.hasLines(r), - y = u.hasMarkers(r), - x = u.hasText(r), - b = y && "circle" === r.marker.symbol, - _ = y && "circle" !== r.marker.symbol, - w = h(), - k = h(), - M = h(), - A = h(), - T = { fill: w, line: k, circle: M, symbol: A }; - if (!a) return T; - if ( - ((m || v) && (e = o.calcTraceToLineCoords(t)), - m && - ((w.geojson = o.makePolygon(e)), - (w.layout.visibility = "visible"), - i.extendFlat(w.paint, { "fill-color": r.fillcolor })), - v && - ((k.geojson = o.makeLine(e)), - (k.layout.visibility = "visible"), - i.extendFlat(k.paint, { - "line-width": r.line.width, - "line-color": r.line.color, - "line-opacity": r.opacity, - })), - b) - ) { - var S = (function (t) { - var e, - r, - a, - o, - u = t[0].trace, - f = u.marker, - h = u.selectedpoints, - p = i.isArrayOrTypedArray(f.color), - d = i.isArrayOrTypedArray(f.size), - m = i.isArrayOrTypedArray(f.opacity); - function v(t) { - return u.opacity * t; - } - p && - (r = s.hasColorscale(u, "marker") - ? s.makeColorScaleFunc(s.extractScale(f.colorscale, f.cmin, f.cmax)) - : i.identity); - d && (a = c(u)); - m && - (o = function (t) { - var e = n(t) ? +i.constrain(t, 0, 1) : 0; - return v(e); - }); - var y, - x = []; - for (e = 0; e < t.length; e++) { - var b = t[e], - _ = b.lonlat; - if (!g(_)) { - var w = {}; - (r && (w.mcc = b.mcc = r(b.mc)), - a && (w.mrc = b.mrc = a(b.ms)), - o && (w.mo = o(b.mo)), - h && (w.selected = b.selected || 0), - x.push({ - type: "Feature", - geometry: { type: "Point", coordinates: _ }, - properties: w, - })); - } - } - if (h) - for (y = l.makeSelectedPointStyleFns(u), e = 0; e < x.length; e++) { - var k = x[e].properties; - (y.selectedOpacityFn && (k.mo = v(y.selectedOpacityFn(k))), - y.selectedColorFn && (k.mcc = y.selectedColorFn(k)), - y.selectedSizeFn && (k.mrc = y.selectedSizeFn(k))); - } - return { - geojson: { type: "FeatureCollection", features: x }, - mcc: - p || (y && y.selectedColorFn) - ? { type: "identity", property: "mcc" } - : f.color, - mrc: - d || (y && y.selectedSizeFn) - ? { type: "identity", property: "mrc" } - : ((M = f.size), M / 2), - mo: - m || (y && y.selectedOpacityFn) - ? { type: "identity", property: "mo" } - : v(f.opacity), - }; - var M; - })(t); - ((M.geojson = S.geojson), - (M.layout.visibility = "visible"), - i.extendFlat(M.paint, { - "circle-color": S.mcc, - "circle-radius": S.mrc, - "circle-opacity": S.mo, - })); - } - if ( - (_ || x) && - ((A.geojson = (function (t) { - for ( - var e = t[0].trace, - r = (e.marker || {}).symbol, - n = e.text, - i = "circle" !== r ? p(r) : d, - a = u.hasText(e) ? p(n) : d, - o = [], - s = 0; - s < t.length; - s++ - ) { - var l = t[s]; - g(l.lonlat) || - o.push({ - type: "Feature", - geometry: { type: "Point", coordinates: l.lonlat }, - properties: { symbol: i(l.mx), text: a(l.tx) }, - }); - } - return { type: "FeatureCollection", features: o }; - })(t)), - i.extendFlat(A.layout, { - visibility: "visible", - "icon-image": "{symbol}-15", - "text-field": "{text}", - }), - _ && - (i.extendFlat(A.layout, { "icon-size": r.marker.size / 10 }), - i.extendFlat(A.paint, { - "icon-opacity": r.opacity * r.marker.opacity, - "icon-color": r.marker.color, - })), - x) - ) { - var C = (r.marker || {}).size, - E = f(r.textposition, C); - (i.extendFlat(A.layout, { - "text-size": r.textfont.size, - "text-anchor": E.anchor, - "text-offset": E.offset, - }), - i.extendFlat(A.paint, { - "text-color": r.textfont.color, - "text-opacity": r.opacity, - })); - } - return T; - }; - }, - { - "../../components/colorscale": 489, - "../../components/drawing": 499, - "../../constants/numerical": 579, - "../../lib": 602, - "../../lib/geojson_utils": 595, - "../../plots/mapbox/convert_text_opts": 703, - "../scatter/make_bubble_size_func": 943, - "../scatter/subtypes": 948, - "fast-isnumeric": 196, - }, - ], - 980: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/subtypes"), - a = t("../scatter/marker_defaults"), - o = t("../scatter/line_defaults"), - s = t("../scatter/text_defaults"), - l = t("../scatter/fillcolor_defaults"), - c = t("./attributes"); - e.exports = function (t, e, r, u) { - function f(r, i) { - return n.coerce(t, e, c, r, i); - } - if ( - (function (t, e, r) { - var n = r("lon") || [], - i = r("lat") || [], - a = Math.min(n.length, i.length); - return ((e._length = a), a); - })(0, e, f) - ) { - if ( - (f("text"), - f("hovertext"), - f("mode"), - i.hasLines(e) && (o(t, e, r, u, f, { noDash: !0 }), f("connectgaps")), - i.hasMarkers(e)) - ) { - a(t, e, r, u, f, { noLine: !0 }); - var h = e.marker; - ((h.line = { width: 0 }), - "circle" !== h.symbol && - (n.isArrayOrTypedArray(h.size) && (h.size = h.size[0]), - n.isArrayOrTypedArray(h.color) && (h.color = h.color[0]))); - } - (i.hasText(e) && s(t, e, u, f, { noSelect: !0 }), - f("fill"), - "none" !== e.fill && l(t, e, r, f), - n.coerceSelectionMarkerOpacity(e, f)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 978, - }, - ], - 981: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e) { - return ((t.lon = e.lon), (t.lat = e.lat), t); - }; - }, - {}, - ], - 982: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/fx"), - i = t("../../lib"), - a = t("../scatter/get_trace_color"), - o = t("../scatter/fill_hover_text"), - s = t("../../constants/numerical").BADNUM; - e.exports = function (t, e, r) { - var l = t.cd, - c = l[0].trace, - u = t.xa, - f = t.ya, - h = t.subplot, - p = - 360 * - (e >= 0 ? Math.floor((e + 180) / 360) : Math.ceil((e - 180) / 360)), - d = e - p; - if ( - (n.getClosest( - l, - function (t) { - var e = t.lonlat; - if (e[0] === s) return 1 / 0; - var n = i.wrap180(e[0]), - a = e[1], - o = h.project([n, a]), - l = o.x - u.c2p([d, a]), - c = o.y - f.c2p([n, r]), - p = Math.max(3, t.mrc || 0); - return Math.max(Math.sqrt(l * l + c * c) - p, 1 - 3 / p); - }, - t, - ), - !1 !== t.index) - ) { - var g = l[t.index], - m = g.lonlat, - v = [i.wrap180(m[0]) + p, m[1]], - y = u.c2p(v), - x = f.c2p(v), - b = g.mrc || 1; - return ( - (t.x0 = y - b), - (t.x1 = y + b), - (t.y0 = x - b), - (t.y1 = x + b), - (t.color = a(c, g)), - (t.extraText = (function (t, e, r) { - var n = (e.hi || t.hoverinfo).split("+"), - i = -1 !== n.indexOf("all"), - a = -1 !== n.indexOf("lon"), - s = -1 !== n.indexOf("lat"), - l = e.lonlat, - c = []; - function u(t) { - return t + "\xb0"; - } - i || (a && s) - ? c.push("(" + u(l[0]) + ", " + u(l[1]) + ")") - : a - ? c.push(r.lon + u(l[0])) - : s && c.push(r.lat + u(l[1])); - (i || -1 !== n.indexOf("text")) && o(e, t, c); - return c.join("
          "); - })(c, g, l[0].t.labels)), - [t] - ); - } - }; - }, - { - "../../components/fx": 516, - "../../constants/numerical": 579, - "../../lib": 602, - "../scatter/fill_hover_text": 934, - "../scatter/get_trace_color": 936, - }, - ], - 983: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../scatter/colorbar")), - (n.calc = t("../scattergeo/calc")), - (n.plot = t("./plot")), - (n.hoverPoints = t("./hover")), - (n.eventData = t("./event_data")), - (n.selectPoints = t("./select")), - (n.style = function (t, e) { - e && e[0].trace._glTrace.update(e); - }), - (n.moduleType = "trace"), - (n.name = "scattermapbox"), - (n.basePlotModule = t("../../plots/mapbox")), - (n.categories = [ - "mapbox", - "gl", - "symbols", - "markerColorscale", - "showLegend", - "scatterlike", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/mapbox": 704, - "../scatter/colorbar": 930, - "../scattergeo/calc": 965, - "./attributes": 978, - "./defaults": 980, - "./event_data": 981, - "./hover": 982, - "./plot": 984, - "./select": 985, - }, - ], - 984: [ - function (t, e, r) { - "use strict"; - var n = t("./convert"); - function i(t, e) { - ((this.subplot = t), - (this.uid = e), - (this.sourceIds = { - fill: e + "-source-fill", - line: e + "-source-line", - circle: e + "-source-circle", - symbol: e + "-source-symbol", - }), - (this.layerIds = { - fill: e + "-layer-fill", - line: e + "-layer-line", - circle: e + "-layer-circle", - symbol: e + "-layer-symbol", - }), - (this.order = ["fill", "line", "circle", "symbol"])); - } - var a = i.prototype; - ((a.addSource = function (t, e) { - this.subplot.map.addSource(this.sourceIds[t], { - type: "geojson", - data: e.geojson, - }); - }), - (a.setSourceData = function (t, e) { - this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson); - }), - (a.addLayer = function (t, e) { - this.subplot.map.addLayer({ - type: t, - id: this.layerIds[t], - source: this.sourceIds[t], - layout: e.layout, - paint: e.paint, - }); - }), - (a.update = function (t) { - for (var e = this.subplot, r = n(t), i = 0; i < this.order.length; i++) { - var a = this.order[i], - o = r[a]; - (e.setOptions(this.layerIds[a], "setLayoutProperty", o.layout), - "visible" === o.layout.visibility && - (this.setSourceData(a, o), - e.setOptions(this.layerIds[a], "setPaintProperty", o.paint))); - } - t[0].trace._glTrace = this; - }), - (a.dispose = function () { - for (var t = this.subplot.map, e = 0; e < this.order.length; e++) { - var r = this.order[e]; - (t.removeLayer(this.layerIds[r]), t.removeSource(this.sourceIds[r])); - } - }), - (e.exports = function (t, e) { - for ( - var r = new i(t, e[0].trace.uid), a = n(e), o = 0; - o < r.order.length; - o++ - ) { - var s = r.order[o], - l = a[s]; - (r.addSource(s, l), r.addLayer(s, l)); - } - return ((e[0].trace._glTrace = r), r); - })); - }, - { "./convert": 979 }, - ], - 985: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/subtypes"), - a = t("../../constants/numerical").BADNUM; - e.exports = function (t, e) { - var r, - o = t.cd, - s = t.xaxis, - l = t.yaxis, - c = [], - u = o[0].trace; - if (!i.hasMarkers(u)) return []; - if (!1 === e) for (r = 0; r < o.length; r++) o[r].selected = 0; - else - for (r = 0; r < o.length; r++) { - var f = o[r], - h = f.lonlat; - if (h[0] !== a) { - var p = [n.wrap180(h[0]), h[1]], - d = [s.c2p(p), l.c2p(p)]; - e.contains(d) - ? (c.push({ pointNumber: r, lon: h[0], lat: h[1] }), - (f.selected = 1)) - : (f.selected = 0); - } - } - return c; - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../scatter/subtypes": 948, - }, - ], - 986: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib/extend").extendFlat, - i = t("../scatter/attributes"), - a = t("../../plots/attributes"), - o = i.line; - e.exports = { - mode: i.mode, - r: { valType: "data_array", editType: "calc+clearAxisTypes" }, - theta: { valType: "data_array", editType: "calc+clearAxisTypes" }, - thetaunit: { - valType: "enumerated", - values: ["radians", "degrees", "gradians"], - dflt: "degrees", - editType: "calc+clearAxisTypes", - }, - text: i.text, - hovertext: i.hovertext, - line: { - color: o.color, - width: o.width, - dash: o.dash, - shape: n({}, o.shape, { values: ["linear", "spline"] }), - smoothing: o.smoothing, - editType: "calc", - }, - connectgaps: i.connectgaps, - marker: i.marker, - cliponaxis: n({}, i.cliponaxis, { dflt: !1 }), - textposition: i.textposition, - textfont: i.textfont, - fill: n({}, i.fill, { values: ["none", "toself", "tonext"] }), - fillcolor: i.fillcolor, - hoverinfo: n({}, a.hoverinfo, { flags: ["r", "theta", "text", "name"] }), - hoveron: i.hoveron, - selected: i.selected, - unselected: i.unselected, - }; - }, - { - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - }, - ], - 987: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../constants/numerical").BADNUM, - a = t("../../plots/cartesian/axes"), - o = t("../scatter/colorscale_calc"), - s = t("../scatter/arrays_to_calcdata"), - l = t("../scatter/calc_selection"), - c = t("../scatter/calc").calcMarkerSize; - e.exports = function (t, e) { - var r, - u = t._fullLayout, - f = e.subplot, - h = u[f].radialaxis, - p = u[f].angularaxis, - d = h.makeCalcdata(e, "r"), - g = p.makeCalcdata(e, "theta"), - m = e._length, - v = new Array(m); - for (var y = 0; y < m; y++) { - var x = d[y], - b = g[y], - _ = (v[y] = {}); - n(x) && n(b) - ? ((_.r = x), - (_.theta = b), - (_.rad = ((r = b), p.c2rad(r, e.thetaunit)))) - : (_.r = i); - } - var w = c(e, m); - return (a.expand(h, d, { ppad: w }), o(e), s(v, e), l(v, e), v); - }; - }, - { - "../../constants/numerical": 579, - "../../plots/cartesian/axes": 648, - "../scatter/arrays_to_calcdata": 925, - "../scatter/calc": 927, - "../scatter/calc_selection": 928, - "../scatter/colorscale_calc": 931, - "fast-isnumeric": 196, - }, - ], - 988: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/subtypes"), - a = t("../scatter/marker_defaults"), - o = t("../scatter/line_defaults"), - s = t("../scatter/line_shape_defaults"), - l = t("../scatter/text_defaults"), - c = t("../scatter/fillcolor_defaults"), - u = t("../scatter/constants").PTS_LINESONLY, - f = t("./attributes"); - e.exports = function (t, e, r, h) { - function p(r, i) { - return n.coerce(t, e, f, r, i); - } - var d = p("r"), - g = p("theta"), - m = d && g ? Math.min(d.length, g.length) : 0; - if (m) { - ((e._length = m), - p("thetaunit"), - p("mode", m < u ? "lines+markers" : "lines"), - p("text"), - p("hovertext"), - i.hasLines(e) && (o(t, e, r, h, p), s(t, e, p), p("connectgaps")), - i.hasMarkers(e) && a(t, e, r, h, p, { gradient: !0 }), - i.hasText(e) && l(t, e, h, p)); - var v = []; - ((i.hasMarkers(e) || i.hasText(e)) && - (p("cliponaxis"), p("marker.maxdisplayed"), v.push("points")), - p("fill"), - "none" !== e.fill && (c(t, e, r, p), i.hasLines(e) || s(t, e, p)), - ("tonext" !== e.fill && "toself" !== e.fill) || v.push("fills"), - p("hoveron", v.join("+") || "points"), - n.coerceSelectionMarkerOpacity(e, p)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/constants": 932, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/line_shape_defaults": 941, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 986, - }, - ], - 989: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/hover"), - i = t("../../plots/cartesian/axes"), - a = t("../../lib"); - function o(t, e, r) { - var n = r.radialAxis, - o = r.angularAxis, - s = (t.hi || e.hoverinfo).split("+"), - l = []; - ((n._hovertitle = "r"), (o._hovertitle = "\u03b8")); - var c, - u = o._c2rad(t.theta, e.thetaunit); - function f(t, e) { - l.push(t._hovertitle + ": " + i.tickText(t, e, "hover").text); - } - return ( - (c = - "linear" === o.type && e.thetaunit !== o.thetaunit - ? "degrees" === o.thetaunit - ? a.rad2deg(u) - : u - : t.theta), - -1 !== s.indexOf("all") && (s = ["r", "theta"]), - -1 !== s.indexOf("r") && f(n, n.c2r(t.r)), - -1 !== s.indexOf("theta") && f(o, c), - l.join("
          ") - ); - } - e.exports = { - hoverPoints: function (t, e, r, i) { - var a = n(t, e, r, i); - if (a && !1 !== a[0].index) { - var s = a[0]; - if (void 0 === s.index) return a; - var l = t.subplot, - c = s.cd[s.index], - u = s.trace; - if (l.isPtWithinSector(c)) - return ( - (s.xLabelVal = void 0), - (s.yLabelVal = void 0), - (s.extraText = o(c, u, l)), - a - ); - } - }, - makeHoverPointText: o, - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../scatter/hover": 937, - }, - ], - 990: [ - function (t, e, r) { - "use strict"; - e.exports = { - moduleType: "trace", - name: "scatterpolar", - basePlotModule: t("../../plots/polar"), - categories: [ - "polar", - "symbols", - "markerColorscale", - "showLegend", - "scatter-like", - ], - attributes: t("./attributes"), - supplyDefaults: t("./defaults"), - calc: t("./calc"), - plot: t("./plot"), - style: t("../scatter/style").style, - hoverPoints: t("./hover").hoverPoints, - selectPoints: t("../scatter/select"), - meta: {}, - }; - }, - { - "../../plots/polar": 713, - "../scatter/select": 946, - "../scatter/style": 947, - "./attributes": 986, - "./calc": 987, - "./defaults": 988, - "./hover": 989, - "./plot": 991, - }, - ], - 991: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/plot"), - i = t("../../constants/numerical").BADNUM; - e.exports = function (t, e, r) { - var a, - o, - s, - l = { - xaxis: e.xaxis, - yaxis: e.yaxis, - plot: e.framework, - layerClipId: e._hasClipOnAxisFalse ? e.clipIds.circle : null, - }, - c = e.radialAxis, - u = c.range; - for ( - s = - u[0] > u[1] - ? function (t) { - return t <= 0; - } - : function (t) { - return t >= 0; - }, - a = 0; - a < r.length; - a++ - ) - for (o = 0; o < r[a].length; o++) { - var f = r[a][o], - h = f.r; - if (h !== i) { - var p = c.c2r(h) - u[0]; - if (s(p)) { - var d = f.rad; - ((f.x = p * Math.cos(d)), (f.y = p * Math.sin(d))); - continue; - } - f.intoCenter = [e.cxx, e.cyy]; - } - ((f.x = i), (f.y = i)); - } - var g = e.layers.frontplot.select("g.scatterlayer"); - n(t, l, r, g); - }; - }, - { "../../constants/numerical": 579, "../scatter/plot": 945 }, - ], - 992: [ - function (t, e, r) { - "use strict"; - var n = t("../scatterpolar/attributes"), - i = t("../scattergl/attributes"); - e.exports = { - mode: n.mode, - r: n.r, - theta: n.theta, - thetaunit: n.thetaunit, - text: n.text, - line: i.line, - connectgaps: i.connectgaps, - marker: i.marker, - fill: i.fill, - fillcolor: i.fillcolor, - hoverinfo: n.hoverinfo, - hoveron: n.hoveron, - selected: n.selected, - unselected: n.unselected, - }; - }, - { "../scattergl/attributes": 973, "../scatterpolar/attributes": 986 }, - ], - 993: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/subtypes"), - a = t("../scatter/marker_defaults"), - o = t("../scatter/line_defaults"), - s = t("../scatter/fillcolor_defaults"), - l = t("../scatter/constants").PTS_LINESONLY, - c = t("./attributes"); - e.exports = function (t, e, r, u) { - function f(r, i) { - return n.coerce(t, e, c, r, i); - } - var h = f("r"), - p = f("theta"), - d = h && p ? Math.min(h.length, p.length) : 0; - if (d) { - ((e._length = d), - f("thetaunit"), - f("mode", d < l ? "lines+markers" : "lines"), - f("text"), - i.hasLines(e) && (o(t, e, r, u, f), f("connectgaps"))); - var g = []; - (i.hasMarkers(e) && (a(t, e, r, u, f), g.push("points")), - f("fill"), - "none" !== e.fill && s(t, e, r, f), - ("tonext" !== e.fill && "toself" !== e.fill) || g.push("fills"), - f("hoveron", g.join("+") || "points"), - n.coerceSelectionMarkerOpacity(e, f)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/constants": 932, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "./attributes": 992, - }, - ], - 994: [ - function (t, e, r) { - "use strict"; - var n = t("point-cluster"), - i = t("fast-isnumeric"), - a = t("../scattergl"), - o = t("../scatter/colorscale_calc"), - s = t("../../plots/cartesian/axes"), - l = t("../scatterpolar/hover").makeHoverPointText, - c = t("../scatter/subtypes"), - u = t("../scattergl/constants").TOO_MANY_POINTS; - e.exports = { - moduleType: "trace", - name: "scatterpolargl", - basePlotModule: t("../../plots/polar"), - categories: [ - "gl", - "regl", - "polar", - "symbols", - "markerColorscale", - "showLegend", - "scatter-like", - ], - attributes: t("./attributes"), - supplyDefaults: t("./defaults"), - calc: function (t, e) { - var r = t._fullLayout, - n = e.subplot, - i = r[n].radialaxis, - a = r[n].angularaxis, - l = i.makeCalcdata(e, "r"), - c = a.makeCalcdata(e, "theta"), - u = {}; - return ( - e._length < l.length && (l = l.slice(0, e._length)), - e._length < c.length && (c = c.slice(0, e._length)), - o(e), - (u.r = l), - (u.theta = c), - s.expand(i, l, { tozero: !0 }), - "linear" !== a.type && - ((a.autorange = !0), s.expand(a, c), delete a.autorange), - [{ x: !1, y: !1, t: u, trace: e }] - ); - }, - plot: function (t, e, r) { - var o = e.radialAxis, - s = e.angularAxis, - l = o.range, - f = a.sceneUpdate(t, e); - return ( - f.clear(), - r.forEach(function (h, p) { - if (h && h[0] && h[0].trace) { - var d, - g, - m, - v, - y, - x = h[0], - b = x.trace, - _ = x.t, - w = _.r, - k = _.theta, - M = w.slice(), - A = k.slice(); - for (d = 0; d < w.length; d++) - ((g = w[d]), - (v = k[d]), - (y = s.c2rad(v, b.thetaunit)), - e.isPtWithinSector({ r: g, rad: y }) || - ((M[d] = NaN), (A[d] = NaN))); - var T, - S = w.length, - C = new Array(2 * S), - E = Array(S), - L = Array(S); - for (d = 0; d < S; d++) - ((g = M[d]), - (v = A[d]), - i(g) && i(v) && g >= 0 - ? ((m = o.c2r(g) - l[0]), - (T = v), - (y = s.c2rad(T, b.thetaunit)), - (E[d] = C[2 * d] = m * Math.cos(y)), - (L[d] = C[2 * d + 1] = m * Math.sin(y))) - : (E[d] = L[d] = C[2 * d] = C[2 * d + 1] = NaN)); - var z = a.sceneOptions(t, e, b, C); - (z.fill && !f.fill2d && (f.fill2d = !0), - z.marker && !f.scatter2d && (f.scatter2d = !0), - z.line && !f.line2d && (f.line2d = !0), - (!z.errorX && !z.errorY) || f.error2d || (f.error2d = !0), - (_.tree = n(C)), - z.marker && S >= u && (z.marker.cluster = _.tree), - c.hasMarkers(b) && - (z.selected.positions = z.unselected.positions = - z.marker.positions), - f.lineOptions.push(z.line), - f.errorXOptions.push(z.errorX), - f.errorYOptions.push(z.errorY), - f.fillOptions.push(z.fill), - f.markerOptions.push(z.marker), - f.selectedOptions.push(z.selected), - f.unselectedOptions.push(z.unselected), - (f.count = r.length), - (_._scene = f), - (_.index = p), - (_.x = E), - (_.y = L), - (_.rawx = E), - (_.rawy = L), - (_.r = w), - (_.theta = k), - (_.positions = C), - (_.count = S)); - } - }), - a.plot(t, e, r) - ); - }, - hoverPoints: function (t, e, r, n) { - var i = t.cd[0].t, - o = i.r, - s = i.theta, - c = a.hoverPoints(t, e, r, n); - if (c && !1 !== c[0].index) { - var u = c[0]; - if (void 0 === u.index) return c; - var f = t.subplot, - h = f.angularAxis, - p = u.cd[u.index], - d = u.trace; - if ( - ((p.r = o[u.index]), - (p.theta = s[u.index]), - (p.rad = h.c2rad(p.theta, d.thetaunit)), - f.isPtWithinSector(p)) - ) - return ( - (u.xLabelVal = void 0), - (u.yLabelVal = void 0), - (u.extraText = l(p, d, f)), - c - ); - } - }, - style: a.style, - selectPoints: a.selectPoints, - meta: {}, - }; - }, - { - "../../plots/cartesian/axes": 648, - "../../plots/polar": 713, - "../scatter/colorscale_calc": 931, - "../scatter/subtypes": 948, - "../scattergl": 977, - "../scattergl/constants": 974, - "../scatterpolar/hover": 989, - "./attributes": 992, - "./defaults": 993, - "fast-isnumeric": 196, - "point-cluster": 353, - }, - ], - 995: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/attributes"), - i = t("../../plots/attributes"), - a = t("../../components/colorscale/color_attributes"), - o = t("../../components/colorbar/attributes"), - s = t("../../components/drawing/attributes").dash, - l = t("../../lib/extend").extendFlat, - c = n.marker, - u = n.line, - f = c.line; - e.exports = { - a: { valType: "data_array", editType: "calc" }, - b: { valType: "data_array", editType: "calc" }, - c: { valType: "data_array", editType: "calc" }, - sum: { valType: "number", dflt: 0, min: 0, editType: "calc" }, - mode: l({}, n.mode, { dflt: "markers" }), - text: l({}, n.text, {}), - hovertext: l({}, n.hovertext, {}), - line: { - color: u.color, - width: u.width, - dash: s, - shape: l({}, u.shape, { values: ["linear", "spline"] }), - smoothing: u.smoothing, - editType: "calc", - }, - connectgaps: n.connectgaps, - cliponaxis: n.cliponaxis, - fill: l({}, n.fill, { values: ["none", "toself", "tonext"] }), - fillcolor: n.fillcolor, - marker: l( - { - symbol: c.symbol, - opacity: c.opacity, - maxdisplayed: c.maxdisplayed, - size: c.size, - sizeref: c.sizeref, - sizemin: c.sizemin, - sizemode: c.sizemode, - line: l({ width: f.width, editType: "calc" }, a("marker.line")), - gradient: c.gradient, - editType: "calc", - }, - a("marker"), - { showscale: c.showscale, colorbar: o }, - ), - textfont: n.textfont, - textposition: n.textposition, - selected: n.selected, - unselected: n.unselected, - hoverinfo: l({}, i.hoverinfo, { flags: ["a", "b", "c", "text", "name"] }), - hoveron: n.hoveron, - }; - }, - { - "../../components/colorbar/attributes": 475, - "../../components/colorscale/color_attributes": 482, - "../../components/drawing/attributes": 498, - "../../lib/extend": 591, - "../../plots/attributes": 645, - "../scatter/attributes": 926, - }, - ], - 996: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../scatter/colorscale_calc"), - a = t("../scatter/arrays_to_calcdata"), - o = t("../scatter/calc_selection"), - s = t("../scatter/calc").calcMarkerSize, - l = ["a", "b", "c"], - c = { a: ["b", "c"], b: ["a", "c"], c: ["a", "b"] }; - e.exports = function (t, e) { - var r, - u, - f, - h, - p, - d, - g = t._fullLayout[e.subplot].sum, - m = e.sum || g, - v = { a: e.a, b: e.b, c: e.c }; - for (r = 0; r < l.length; r++) - if (!v[(f = l[r])]) { - for ( - p = v[c[f][0]], d = v[c[f][1]], h = new Array(p.length), u = 0; - u < p.length; - u++ - ) - h[u] = m - p[u] - d[u]; - v[f] = h; - } - var y, - x, - b, - _, - w, - k, - M = e._length, - A = new Array(M); - for (r = 0; r < M; r++) - ((y = v.a[r]), - (x = v.b[r]), - (b = v.c[r]), - n(y) && n(x) && n(b) - ? (1 !== (_ = g / ((y = +y) + (x = +x) + (b = +b))) && - ((y *= _), (x *= _), (b *= _)), - (k = y), - (w = b - x), - (A[r] = { x: w, y: k, a: y, b: x, c: b })) - : (A[r] = { x: !1, y: !1 })); - return (s(e, M), i(e), a(A, e), o(A, e), A); - }; - }, - { - "../scatter/arrays_to_calcdata": 925, - "../scatter/calc": 927, - "../scatter/calc_selection": 928, - "../scatter/colorscale_calc": 931, - "fast-isnumeric": 196, - }, - ], - 997: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../scatter/constants"), - a = t("../scatter/subtypes"), - o = t("../scatter/marker_defaults"), - s = t("../scatter/line_defaults"), - l = t("../scatter/line_shape_defaults"), - c = t("../scatter/text_defaults"), - u = t("../scatter/fillcolor_defaults"), - f = t("./attributes"); - e.exports = function (t, e, r, h) { - function p(r, i) { - return n.coerce(t, e, f, r, i); - } - var d, - g = p("a"), - m = p("b"), - v = p("c"); - if ( - (g - ? ((d = g.length), - m - ? ((d = Math.min(d, m.length)), v && (d = Math.min(d, v.length))) - : (d = v ? Math.min(d, v.length) : 0)) - : m && v && (d = Math.min(m.length, v.length)), - d) - ) { - ((e._length = d), - p("sum"), - p("text"), - p("hovertext"), - p("mode", d < i.PTS_LINESONLY ? "lines+markers" : "lines"), - a.hasLines(e) && (s(t, e, r, h, p), l(t, e, p), p("connectgaps")), - a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), - a.hasText(e) && c(t, e, h, p)); - var y = []; - ((a.hasMarkers(e) || a.hasText(e)) && - (p("cliponaxis"), p("marker.maxdisplayed"), y.push("points")), - p("fill"), - "none" !== e.fill && (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), - ("tonext" !== e.fill && "toself" !== e.fill) || y.push("fills"), - p("hoveron", y.join("+") || "points"), - n.coerceSelectionMarkerOpacity(e, p)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/constants": 932, - "../scatter/fillcolor_defaults": 935, - "../scatter/line_defaults": 939, - "../scatter/line_shape_defaults": 941, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "../scatter/text_defaults": 949, - "./attributes": 995, - }, - ], - 998: [ - function (t, e, r) { - "use strict"; - e.exports = function (t, e, r, n, i) { - if ((e.xa && (t.xaxis = e.xa), e.ya && (t.yaxis = e.ya), n[i])) { - var a = n[i]; - ((t.a = a.a), (t.b = a.b), (t.c = a.c)); - } else ((t.a = e.a), (t.b = e.b), (t.c = e.c)); - return t; - }; - }, - {}, - ], - 999: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/hover"), - i = t("../../plots/cartesian/axes"); - e.exports = function (t, e, r, a) { - var o = n(t, e, r, a); - if (o && !1 !== o[0].index) { - var s = o[0]; - if (void 0 === s.index) { - var l = 1 - s.y0 / t.ya._length, - c = t.xa._length, - u = (c * l) / 2, - f = c - u; - return ( - (s.x0 = Math.max(Math.min(s.x0, f), u)), - (s.x1 = Math.max(Math.min(s.x1, f), u)), - o - ); - } - var h = s.cd[s.index]; - ((s.a = h.a), - (s.b = h.b), - (s.c = h.c), - (s.xLabelVal = void 0), - (s.yLabelVal = void 0)); - var p = s.trace, - d = s.subplot, - g = (h.hi || p.hoverinfo).split("+"), - m = []; - return ( - -1 !== g.indexOf("all") && (g = ["a", "b", "c"]), - -1 !== g.indexOf("a") && v(d.aaxis, h.a), - -1 !== g.indexOf("b") && v(d.baxis, h.b), - -1 !== g.indexOf("c") && v(d.caxis, h.c), - (s.extraText = m.join("
          ")), - o - ); - } - function v(t, e) { - m.push(t._hovertitle + ": " + i.tickText(t, e, "hover").text); - } - }; - }, - { "../../plots/cartesian/axes": 648, "../scatter/hover": 937 }, - ], - 1000: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("../scatter/colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.style = t("../scatter/style").style), - (n.styleOnSelect = t("../scatter/style").styleOnSelect), - (n.hoverPoints = t("./hover")), - (n.selectPoints = t("../scatter/select")), - (n.eventData = t("./event_data")), - (n.moduleType = "trace"), - (n.name = "scatterternary"), - (n.basePlotModule = t("../../plots/ternary")), - (n.categories = [ - "ternary", - "symbols", - "markerColorscale", - "showLegend", - "scatter-like", - ]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/ternary": 725, - "../scatter/colorbar": 930, - "../scatter/select": 946, - "../scatter/style": 947, - "./attributes": 995, - "./calc": 996, - "./defaults": 997, - "./event_data": 998, - "./hover": 999, - "./plot": 1001, - }, - ], - 1001: [ - function (t, e, r) { - "use strict"; - var n = t("../scatter/plot"); - e.exports = function (t, e, r) { - var i = e.plotContainer; - i.select(".scatterlayer").selectAll("*").remove(); - var a = { - xaxis: e.xaxis, - yaxis: e.yaxis, - plot: i, - layerClipId: e._hasClipOnAxisFalse ? e.clipIdRelative : null, - }, - o = e.layers.frontplot.select("g.scatterlayer"); - n(t, a, r, o); - }; - }, - { "../scatter/plot": 945 }, - ], - 1002: [ - function (t, e, r) { - "use strict"; - var n = t("../scattergl/attributes"), - i = t("../../plots/cartesian/constants").idRegex; - function a(t) { - return { - valType: "info_array", - freeLength: !0, - editType: "calc", - items: { valType: "subplotid", regex: i[t], editType: "plot" }, - }; - } - e.exports = { - dimensions: { - _isLinkedToArray: "dimension", - visible: { valType: "boolean", dflt: !0, editType: "calc" }, - label: { valType: "string", editType: "calc" }, - values: { valType: "data_array", editType: "calc+clearAxisTypes" }, - editType: "calc+clearAxisTypes", - }, - text: n.text, - marker: n.marker, - xaxes: a("x"), - yaxes: a("y"), - diagonal: { - visible: { valType: "boolean", dflt: !0, editType: "calc" }, - editType: "calc", - }, - showupperhalf: { valType: "boolean", dflt: !0, editType: "calc" }, - showlowerhalf: { valType: "boolean", dflt: !0, editType: "calc" }, - selected: { marker: n.selected.marker, editType: "calc" }, - unselected: { marker: n.unselected.marker, editType: "calc" }, - opacity: n.opacity, - }; - }, - { "../../plots/cartesian/constants": 653, "../scattergl/attributes": 973 }, - ], - 1003: [ - function (t, e, r) { - "use strict"; - var n = t("regl-line2d"), - i = t("../../registry"), - a = t("../../lib"), - o = t("../../lib/prepare_regl"), - s = t("../../plots/get_data").getModuleCalcData, - l = t("../../plots/cartesian"), - c = t("../../plots/cartesian/axis_ids"), - u = "splom"; - function f(t, e, r) { - for ( - var n = e.dimensions, - i = r.matrixOptions.data.length, - a = new Array(i), - o = 0, - s = 0; - o < n.length; - o++ - ) - if (n[o].visible) { - var l = (a[s] = new Array(4)), - u = c.getFromId(t, e._diag[o][0]); - u && ((l[0] = u.r2l(u.range[0])), (l[2] = u.r2l(u.range[1]))); - var f = c.getFromId(t, e._diag[o][1]); - (f && ((l[1] = f.r2l(f.range[0])), (l[3] = f.r2l(f.range[1]))), s++); - } - r.selectBatch - ? (r.matrix.update({ ranges: a }, { ranges: a }), - r.matrix.draw(r.unselectBatch, r.selectBatch)) - : (r.matrix.update({ ranges: a }), r.matrix.draw()); - } - function h(t) { - var e = t._fullLayout, - r = e._glcanvas.data()[0].regl, - i = e._splomGrid; - (i || (i = e._splomGrid = n(r)), - i.update( - (function (t) { - var e, - r = t._fullLayout, - n = r._size, - i = [0, 0, r.width, r.height], - a = {}; - function o(t, e, r, n, o, s) { - var l = e[t + "color"], - c = e[t + "width"], - u = String(l + c); - u in a - ? a[u].data.push(NaN, NaN, r, n, o, s) - : (a[u] = { - data: [r, n, o, s], - join: "rect", - thickness: c, - color: l, - viewport: i, - range: i, - overlay: !1, - }); - } - for (e in r._splomSubplots) { - var s, - l, - c = r._plots[e], - u = c.xaxis, - f = c.yaxis, - h = u._vals, - d = f._vals, - g = n.b + f.domain[0] * n.h, - m = -f._m, - v = -m * f.r2l(f.range[0], f.calendar); - if (u.showgrid) - for (e = 0; e < h.length; e++) - ((s = u._offset + u.l2p(h[e].x)), - o("grid", u, s, g, s, g + f._length)); - if ( - (p(u) && - ((s = u._offset + u.l2p(0)), - o("zeroline", u, s, g, s, g + f._length)), - f.showgrid) - ) - for (e = 0; e < d.length; e++) - ((l = g + v + m * d[e].x), - o("grid", f, u._offset, l, u._offset + u._length, l)); - p(f) && - ((l = g + v + 0), - o("zeroline", f, u._offset, l, u._offset + u._length, l)); - } - var y = []; - for (e in a) y.push(a[e]); - return y; - })(t), - ), - i.draw()); - } - function p(t) { - var e = a.simpleMap(t.range, t.r2l), - r = t.l2p(0); - return ( - t.zeroline && - t._vals && - t._vals.length && - e[0] * e[1] <= 0 && - ("linear" === t.type || "-" === t.type) && - ((r > 1 && r < t._length - 1) || !t.showline) - ); - } - e.exports = { - name: u, - attr: l.attr, - attrRegex: l.attrRegex, - layoutAttributes: l.layoutAttributes, - supplyLayoutDefaults: l.supplyLayoutDefaults, - drawFramework: l.drawFramework, - plot: function (t) { - var e = t._fullLayout, - r = i.getModule(u), - n = s(t.calcdata, r)[0]; - (o(t, ["ANGLE_instanced_arrays", "OES_element_index_uint"]), - e._hasOnlyLargeSploms && h(t), - r.plot(t, {}, n)); - }, - drag: function (t) { - var e = t.calcdata; - t._fullLayout._hasOnlyLargeSploms && h(t); - for (var r = 0; r < e.length; r++) { - var n = e[r][0], - i = n.trace, - a = n.t._scene; - "splom" === i.type && a && a.matrix && f(t, i, a); - } - }, - clean: function (t, e, r, n, i) { - var a, - o, - s, - c = n._modules || [], - u = e._modules || []; - for (s = 0; s < c.length; s++) - if ("splom" === c[s].name) { - a = !0; - break; - } - for (s = 0; s < u.length; s++) - if ("splom" === u[s].name) { - o = !0; - break; - } - if (a && !o) - for (s = 0; s < i.length; s++) { - var f = i[s][0], - h = f.trace, - p = f.t._scene; - "splom" === h.type && - p && - p.matrix && - (p.matrix.destroy(), (f.t._scene = null)); - } - (n._splomGrid && - !e._hasOnlyLargeSploms && - n._hasOnlyLargeSploms && - (n._splomGrid.destroy(), (n._splomGrid = null)), - l.clean(t, e, r, n)); - }, - updateFx: l.updateFx, - toSVG: l.toSVG, - }; - }, - { - "../../lib": 602, - "../../lib/prepare_regl": 615, - "../../plots/cartesian": 659, - "../../plots/cartesian/axis_ids": 651, - "../../plots/get_data": 684, - "../../registry": 732, - "regl-line2d": 375, - }, - ], - 1004: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("../scatter/subtypes"), - o = t("../scatter/marker_defaults"), - s = /-open/; - function l(t, e) { - for (var r = new Array(e), n = 0; n < e; n++) r[n] = t + (n ? n + 1 : ""); - return r; - } - function c(t, e, r) { - if (e) { - var n = e.charAt(0), - i = t._splomAxes[n]; - e in i || (i[e] = (r || {}).label || ""); - } - } - function u(t) { - for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = 1; - return e; - } - e.exports = function (t, e, r, f) { - function h(r, a) { - return n.coerce(t, e, i, r, a); - } - var p = (function (t, e) { - var r = t.dimensions; - if (!Array.isArray(r)) return 0; - var a, - o, - s, - l = r.length, - c = 0, - u = (e.dimensions = new Array(l)); - function f(t, e) { - return n.coerce(a, o, i.dimensions, t, e); - } - for (s = 0; s < l; s++) { - ((a = r[s]), (o = u[s] = {}), f("label")); - var h = f("visible"); - if (h) { - var p = f("values"); - p && p.length - ? ((c = Math.max(c, p.length)), (o._index = s)) - : (o.visible = !1); - } - } - for (s = 0; s < l; s++) (o = u[s]).visible && (o._length = c); - return ((e._length = c), u.length); - })(t, e), - d = h("diagonal.visible"), - g = h("showupperhalf"), - m = h("showlowerhalf"); - if (p && (d || g || m)) { - (h("text"), o(t, e, r, f, h)); - var v = s.test(e.marker.symbol), - y = a.isBubble(e); - (h("marker.line.width", v || y ? 1 : 0), - (function (t, e, r, n) { - var i, - a, - o = e.dimensions, - s = o.length, - f = e.showupperhalf, - h = e.showlowerhalf, - p = e.diagonal.visible, - d = p || (f && h) ? s : s - 1, - g = n("xaxes", l("x", d)), - m = n("yaxes", l("y", d)); - ((e._xaxes = u(g)), (e._yaxes = u(m))); - var v = Math.min(d, g.length, m.length); - for (i = 0; i < v; i++) - for (a = 0; a < v; a++) { - var y = [g[i] + m[a]]; - i > a && f - ? (r._splomSubplots[y] = 1) - : i < a && h - ? (r._splomSubplots[y] = 1) - : i !== a || (!p && h && f) || (r._splomSubplots[y] = 1); - } - var x = (e._diag = new Array(s)), - b = p || h ? 0 : -1, - _ = p || f ? 0 : -1; - for (i = 0; i < s; i++) { - var w = o[i], - k = g[i + b], - M = m[i + _]; - (c(r, k, w), c(r, M, w), (x[i] = [k, M])); - } - })(0, e, f, h), - n.coerceSelectionMarkerOpacity(e, h)); - } else e.visible = !1; - }; - }, - { - "../../lib": 602, - "../scatter/marker_defaults": 944, - "../scatter/subtypes": 948, - "./attributes": 1002, - }, - ], - 1005: [ - function (t, e, r) { - "use strict"; - var n = t("regl-splom"), - i = t("array-range"), - a = t("../../registry"), - o = t("../../components/grid"), - s = t("../../lib"), - l = t("../../plots/cartesian/axis_ids"), - c = t("../scatter/subtypes"), - u = t("../scatter/calc").calcMarkerSize, - f = t("../scatter/calc").calcAxisExpansion, - h = t("../scatter/colorscale_calc"), - p = t("../scattergl/convert").convertMarkerSelection, - d = t("../scattergl/convert").convertMarkerStyle, - g = t("../scattergl").calcHover, - m = t("../../constants/numerical").BADNUM, - v = t("../scattergl/constants").TOO_MANY_POINTS; - function y(t, e, r) { - for ( - var n = t.makeCalcdata({ v: r.values, vcalendar: e.calendar }, "v"), - i = 0; - i < n.length; - i++ - ) - n[i] = n[i] === m ? NaN : n[i]; - return n; - } - function x(t, e) { - var r, - i, - a, - o, - s, - c = t._fullLayout, - u = c._size, - f = e.trace, - h = e.t, - p = h._scene, - d = p.matrixOptions, - g = d.cdata, - m = c._glcanvas.data()[0].regl, - v = c.dragmode; - if (0 !== g.length) { - ((d.lower = f.showupperhalf), - (d.upper = f.showlowerhalf), - (d.diagonal = f.diagonal.visible)); - var y = f.dimensions, - x = g.length, - b = {}; - for ( - b.ranges = new Array(x), b.domains = new Array(x), a = 0, s = 0; - a < y.length; - a++ - ) - if (f.dimensions[a].visible) { - var _ = (b.ranges[s] = new Array(4)), - w = (b.domains[s] = new Array(4)); - ((r = l.getFromId(t, f._diag[a][0])) && - ((_[0] = r._rl[0]), - (_[2] = r._rl[1]), - (w[0] = r.domain[0]), - (w[2] = r.domain[1])), - (i = l.getFromId(t, f._diag[a][1])) && - ((_[1] = i._rl[0]), - (_[3] = i._rl[1]), - (w[1] = i.domain[0]), - (w[3] = i.domain[1])), - s++); - } - ((b.viewport = [u.l, u.b, u.w + u.l, u.h + u.b]), - !0 === p.matrix && (p.matrix = n(m))); - var k = "lasso" === v || "select" === v || !!f.selectedpoints; - if (((p.selectBatch = null), (p.unselectBatch = null), k)) { - var M = f._length; - if ( - (p.selectBatch || ((p.selectBatch = []), (p.unselectBatch = [])), - f.selectedpoints) - ) { - p.selectBatch = f.selectedpoints; - var A = f.selectedpoints, - T = {}; - for (a = 0; a < A.length; a++) T[A[a]] = !0; - var S = []; - for (a = 0; a < M; a++) T[a] || S.push(a); - p.unselectBatch = S; - } - var C = (h.xpx = new Array(x)), - E = (h.ypx = new Array(x)); - for (a = 0, s = 0; a < y.length; a++) - if (f.dimensions[a].visible) { - if ((r = l.getFromId(t, f._diag[a][0]))) - for (C[s] = new Array(M), o = 0; o < M; o++) - C[s][o] = r.c2p(g[s][o]); - if ((i = l.getFromId(t, f._diag[a][1]))) - for (E[s] = new Array(M), o = 0; o < M; o++) - E[s][o] = i.c2p(g[s][o]); - s++; - } - p.selectBatch - ? (p.matrix.update(d, d), - p.matrix.update(p.unselectedOptions, p.selectedOptions), - p.matrix.update(b, b)) - : p.matrix.update(b, null); - } else (p.matrix.update(d), p.matrix.update(b), (h.xpx = h.ypx = null)); - p.draw(); - } - } - function b(t, e) { - for ( - var r = e._id, - n = { x: 0, y: 1 }[r.charAt(0)], - i = t.dimensions, - a = 0, - o = 0; - a < i.length; - a++ - ) - if (i[a].visible) { - if (t._diag[a][n] === r) return o; - o++; - } - return !1; - } - ((e.exports = { - moduleType: "trace", - name: "splom", - basePlotModule: t("./base_plot"), - categories: [ - "gl", - "regl", - "cartesian", - "symbols", - "markerColorscale", - "showLegend", - "scatter-like", - ], - attributes: t("./attributes"), - supplyDefaults: t("./defaults"), - calc: function (t, e) { - var r, - n, - i, - a = e.dimensions, - o = e._length, - c = {}, - g = {}, - m = (g.cdata = []), - x = (g.data = []); - for (r = 0; r < a.length; r++) - if ((i = a[r]).visible) { - var b = e._diag[r][0] || e._diag[r][1], - _ = l.getFromId(t, b); - if (_) { - var w = y(_, e, i), - k = "log" === _.type ? s.simpleMap(w, _.c2l) : w; - (m.push(w), x.push(k)); - } - } - (h(e), s.extendFlat(g, d(e))); - var M = m.length * o > v; - for (r = 0, n = 0; r < a.length; r++) - if ((i = a[r]).visible) { - var A, - T = l.getFromId(t, e._diag[r][0]) || {}, - S = l.getFromId(t, e._diag[r][1]) || {}; - ((A = M ? 2 * (g.sizeAvg || Math.max(g.size, 3)) : u(e, o)), - f(t, e, T, S, m[n], m[n], A), - n++); - } - var C = (c._scene = (function (t, e) { - var r = e._scene, - n = { dirty: !0 }; - return ( - r || - (((r = e._scene = - s.extendFlat({}, n, { - selectBatch: null, - unselectBatch: null, - matrix: !1, - select: null, - })).draw = function () { - (r.matrix && r.selectBatch - ? r.matrix.draw(r.unselectBatch, r.selectBatch) - : r.matrix && r.matrix.draw(), - (r.dirty = !1)); - }), - (r.destroy = function () { - (r.matrix && r.matrix.destroy(), - (r.matrixOptions = null), - (r.selectBatch = null), - (r.unselectBatch = null), - (e._scene = null)); - })), - r.dirty || s.extendFlat(r, n), - r - ); - })(0, c)); - return ( - C.matrix || (C.matrix = !0), - (C.matrixOptions = g), - (C.selectedOptions = p(e, e.selected)), - (C.unselectedOptions = p(e, e.unselected)), - [{ x: !1, y: !1, t: c, trace: e }] - ); - }, - plot: function (t, e, r) { - if (r.length) for (var n = 0; n < r.length; n++) x(t, r[n][0]); - }, - hoverPoints: function (t, e, r) { - var n = t.cd, - i = n[0].trace, - a = n[0].t._scene.matrixOptions.cdata, - o = t.xa, - s = t.ya, - l = o.c2p(e), - c = s.c2p(r), - u = t.distance, - f = b(i, o), - h = b(i, s); - if (!1 === f || !1 === h) return [t]; - for (var p, d, m = a[f], v = a[h], y = u, x = 0; x < m.length; x++) { - var _ = m[x], - w = v[x], - k = o.c2p(_) - l, - M = s.c2p(w) - c, - A = Math.sqrt(k * k + M * M); - A < y && ((y = d = A), (p = x)); - } - return ( - (t.index = p), - (t.distance = y), - (t.dxy = d), - void 0 === p ? [t] : (g(t, m, v, i), [t]) - ); - }, - selectPoints: function (t, e) { - var r, - n = t.cd, - a = n[0].trace, - o = n[0].t, - s = o._scene, - l = s.matrixOptions.cdata, - u = t.xaxis, - f = t.yaxis, - h = []; - if (!s) return h; - var p = !c.hasMarkers(a) && !c.hasText(a); - if (!0 !== a.visible || p) return h; - var d = b(a, u), - g = b(a, f); - if (!1 === d || !1 === g) return h; - var m = o.xpx[d], - v = o.ypx[g], - y = l[d], - x = l[g], - _ = null, - w = null; - if (!1 === e || e.degenerate) w = i(o.count); - else - for (_ = [], w = [], r = 0; r < y.length; r++) - e.contains([m[r], v[r]]) - ? (_.push(r), h.push({ pointNumber: r, x: y[r], y: x[r] })) - : w.push(r); - if ( - (s.selectBatch || ((s.selectBatch = []), (s.unselectBatch = [])), - !s.selectBatch) - ) { - for (r = 0; r < s.count; r++) - ((s.selectBatch = []), (s.unselectBatch = [])); - s.matrix.update(s.unselectedOptions, s.selectedOptions); - } - return ((s.selectBatch = _), (s.unselectBatch = w), h); - }, - style: function (t, e) { - if (e) { - var r = t._fullLayout; - (e[0][0].t._scene.matrix.regl.clear({ color: !0, depth: !0 }), - r._splomGrid && r._splomGrid.draw()); - for (var n = 0; n < e.length; n++) e[n][0].t._scene.draw(); - if (r._has("cartesian")) - for (var i in r._plots) { - var a = r._plots[i]; - a._scene && a._scene.draw(); - } - } - }, - meta: {}, - }), - a.register(o)); - }, - { - "../../components/grid": 520, - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axis_ids": 651, - "../../registry": 732, - "../scatter/calc": 927, - "../scatter/colorscale_calc": 931, - "../scatter/subtypes": 948, - "../scattergl": 977, - "../scattergl/constants": 974, - "../scattergl/convert": 975, - "./attributes": 1002, - "./base_plot": 1003, - "./defaults": 1004, - "array-range": 51, - "regl-splom": 378, - }, - ], - 1006: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/color"), - i = t("../../components/colorscale/attributes"), - a = t("../../components/colorbar/attributes"), - o = t("../../plots/attributes"), - s = t("../../lib/extend").extendFlat, - l = t("../../plot_api/edit_types").overrideAll; - function c(t) { - return { - show: { valType: "boolean", dflt: !1 }, - project: { - x: { valType: "boolean", dflt: !1 }, - y: { valType: "boolean", dflt: !1 }, - z: { valType: "boolean", dflt: !1 }, - }, - color: { valType: "color", dflt: n.defaultLine }, - usecolormap: { valType: "boolean", dflt: !1 }, - width: { valType: "number", min: 1, max: 16, dflt: 2 }, - highlight: { valType: "boolean", dflt: !0 }, - highlightcolor: { valType: "color", dflt: n.defaultLine }, - highlightwidth: { valType: "number", min: 1, max: 16, dflt: 2 }, - }; - } - var u = (e.exports = l( - { - z: { valType: "data_array" }, - x: { valType: "data_array" }, - y: { valType: "data_array" }, - text: { valType: "string", dflt: "", arrayOk: !0 }, - surfacecolor: { valType: "data_array" }, - cauto: i.zauto, - cmin: i.zmin, - cmax: i.zmax, - colorscale: i.colorscale, - autocolorscale: s({}, i.autocolorscale, { dflt: !1 }), - reversescale: i.reversescale, - showscale: i.showscale, - colorbar: a, - contours: { x: c(), y: c(), z: c() }, - hidesurface: { valType: "boolean", dflt: !1 }, - lightposition: { - x: { valType: "number", min: -1e5, max: 1e5, dflt: 10 }, - y: { valType: "number", min: -1e5, max: 1e5, dflt: 1e4 }, - z: { valType: "number", min: -1e5, max: 1e5, dflt: 0 }, - }, - lighting: { - ambient: { valType: "number", min: 0, max: 1, dflt: 0.8 }, - diffuse: { valType: "number", min: 0, max: 1, dflt: 0.8 }, - specular: { valType: "number", min: 0, max: 2, dflt: 0.05 }, - roughness: { valType: "number", min: 0, max: 1, dflt: 0.5 }, - fresnel: { valType: "number", min: 0, max: 5, dflt: 0.2 }, - }, - opacity: { valType: "number", min: 0, max: 1, dflt: 1 }, - _deprecated: { - zauto: s({}, i.zauto, {}), - zmin: s({}, i.zmin, {}), - zmax: s({}, i.zmax, {}), - }, - hoverinfo: s({}, o.hoverinfo), - }, - "calc", - "nested", - )); - u.x.editType = u.y.editType = u.z.editType = "calc+clearAxisTypes"; - }, - { - "../../components/color": 474, - "../../components/colorbar/attributes": 475, - "../../components/colorscale/attributes": 480, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/attributes": 645, - }, - ], - 1007: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/colorscale/calc"); - e.exports = function (t, e) { - e.surfacecolor ? n(e, e.surfacecolor, "", "c") : n(e, e.z, "", "c"); - }; - }, - { "../../components/colorscale/calc": 481 }, - ], - 1008: [ - function (t, e, r) { - "use strict"; - var n = t("fast-isnumeric"), - i = t("../../lib"), - a = t("../../plots/plots"), - o = t("../../components/colorscale"), - s = t("../../components/colorbar/draw"); - e.exports = function (t, e) { - var r = e[0].trace, - l = "cb" + r.uid, - c = r.cmin, - u = r.cmax, - f = r.surfacecolor || r.z; - if ( - (n(c) || (c = i.aggNums(Math.min, null, f)), - n(u) || (u = i.aggNums(Math.max, null, f)), - t._fullLayout._infolayer.selectAll("." + l).remove(), - r.showscale) - ) { - var h = (e[0].t.cb = s(t, l)), - p = o.makeColorScaleFunc(o.extractScale(r.colorscale, c, u), { - noNumericCheck: !0, - }); - h - .fillcolor(p) - .filllevels({ start: c, end: u, size: (u - c) / 254 }) - .options(r.colorbar)(); - } else a.autoMargin(t, l); - }; - }, - { - "../../components/colorbar/draw": 478, - "../../components/colorscale": 489, - "../../lib": 602, - "../../plots/plots": 710, - "fast-isnumeric": 196, - }, - ], - 1009: [ - function (t, e, r) { - "use strict"; - var n = t("gl-surface3d"), - i = t("ndarray"), - a = t("ndarray-homography"), - o = t("ndarray-fill"), - s = t("ndarray-ops"), - l = t("tinycolor2"), - c = t("../../lib").isArrayOrTypedArray, - u = t("../../lib/str2rgbarray"), - f = 128; - function h(t, e, r) { - ((this.scene = t), - (this.uid = r), - (this.surface = e), - (this.data = null), - (this.showContour = [!1, !1, !1]), - (this.dataScale = 1)); - } - var p = h.prototype; - function d(t) { - var e = t.shape, - r = [e[0] + 2, e[1] + 2], - n = i(new Float32Array(r[0] * r[1]), r); - return ( - s.assign(n.lo(1, 1).hi(e[0], e[1]), t), - s.assign(n.lo(1).hi(e[0], 1), t.hi(e[0], 1)), - s.assign(n.lo(1, r[1] - 1).hi(e[0], 1), t.lo(0, e[1] - 1).hi(e[0], 1)), - s.assign(n.lo(0, 1).hi(1, e[1]), t.hi(1)), - s.assign(n.lo(r[0] - 1, 1).hi(1, e[1]), t.lo(e[0] - 1)), - n.set(0, 0, t.get(0, 0)), - n.set(0, r[1] - 1, t.get(0, e[1] - 1)), - n.set(r[0] - 1, 0, t.get(e[0] - 1, 0)), - n.set(r[0] - 1, r[1] - 1, t.get(e[0] - 1, e[1] - 1)), - n - ); - } - ((p.handlePick = function (t) { - if (t.object === this.surface) { - var e = (t.index = [ - Math.min( - 0 | Math.round(t.data.index[0] / this.dataScale - 1), - this.data.z[0].length - 1, - ), - Math.min( - 0 | Math.round(t.data.index[1] / this.dataScale - 1), - this.data.z.length - 1, - ), - ]), - r = [0, 0, 0]; - (c(this.data.x) - ? c(this.data.x[0]) - ? (r[0] = this.data.x[e[1]][e[0]]) - : (r[0] = this.data.x[e[0]]) - : (r[0] = e[0]), - c(this.data.y) - ? c(this.data.y[0]) - ? (r[1] = this.data.y[e[1]][e[0]]) - : (r[1] = this.data.y[e[1]]) - : (r[1] = e[1]), - (r[2] = this.data.z[e[1]][e[0]]), - (t.traceCoordinate = r)); - var n = this.scene.fullSceneLayout; - t.dataCoordinate = [ - n.xaxis.d2l(r[0], 0, this.data.xcalendar) * this.scene.dataScale[0], - n.yaxis.d2l(r[1], 0, this.data.ycalendar) * this.scene.dataScale[1], - n.zaxis.d2l(r[2], 0, this.data.zcalendar) * this.scene.dataScale[2], - ]; - var i = this.data.text; - return ( - Array.isArray(i) && i[e[1]] && void 0 !== i[e[1]][e[0]] - ? (t.textLabel = i[e[1]][e[0]]) - : (t.textLabel = i || ""), - (t.data.dataCoordinate = t.dataCoordinate.slice()), - this.surface.highlight(t.data), - (this.scene.glplot.spikes.position = t.dataCoordinate), - !0 - ); - } - }), - (p.setContourLevels = function () { - for (var t = [[], [], []], e = !1, r = 0; r < 3; ++r) - this.showContour[r] && ((e = !0), (t[r] = this.scene.contourLevels[r])); - e && this.surface.update({ levels: t }); - }), - (p.update = function (t) { - var e, - r = this.scene, - n = r.fullSceneLayout, - s = this.surface, - h = t.opacity, - p = (function (t, e) { - return ( - void 0 === e && (e = 1), - t.map(function (t) { - var r = t[0], - n = l(t[1]).toRgb(); - return { index: r, rgb: [n.r, n.g, n.b, e] }; - }) - ); - })(t.colorscale, h), - g = t.z, - m = t.x, - v = t.y, - y = n.xaxis, - x = n.yaxis, - b = n.zaxis, - _ = r.dataScale, - w = g[0].length, - k = t._ylength, - M = [ - i(new Float32Array(w * k), [w, k]), - i(new Float32Array(w * k), [w, k]), - i(new Float32Array(w * k), [w, k]), - ], - A = M[0], - T = M[1], - S = r.contourLevels; - this.data = t; - var C = t.xcalendar, - E = t.ycalendar, - L = t.zcalendar; - (o(M[2], function (t, e) { - return b.d2l(g[e][t], 0, L) * _[2]; - }), - c(m) - ? c(m[0]) - ? o(A, function (t, e) { - return y.d2l(m[e][t], 0, C) * _[0]; - }) - : o(A, function (t) { - return y.d2l(m[t], 0, C) * _[0]; - }) - : o(A, function (t) { - return y.d2l(t, 0, C) * _[0]; - }), - c(m) - ? c(v[0]) - ? o(T, function (t, e) { - return x.d2l(v[e][t], 0, E) * _[1]; - }) - : o(T, function (t, e) { - return x.d2l(v[e], 0, E) * _[1]; - }) - : o(T, function (t, e) { - return x.d2l(e, 0, C) * _[1]; - })); - var z = { - colormap: p, - levels: [[], [], []], - showContour: [!0, !0, !0], - showSurface: !t.hidesurface, - contourProject: [ - [!1, !1, !1], - [!1, !1, !1], - [!1, !1, !1], - ], - contourWidth: [1, 1, 1], - contourColor: [ - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - ], - contourTint: [1, 1, 1], - dynamicColor: [ - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - ], - dynamicWidth: [1, 1, 1], - dynamicTint: [1, 1, 1], - opacity: t.opacity, - }; - if (((z.intensityBounds = [t.cmin, t.cmax]), t.surfacecolor)) { - var P = i(new Float32Array(w * k), [w, k]); - (o(P, function (e, r) { - return t.surfacecolor[r][e]; - }), - M.push(P)); - } else ((z.intensityBounds[0] *= _[2]), (z.intensityBounds[1] *= _[2])); - ((this.dataScale = (function (t) { - var e = Math.max(t[0].shape[0], t[0].shape[1]); - if (e < f) { - for ( - var r = f / e, - n = [ - 0 | Math.floor(t[0].shape[0] * r + 1), - 0 | Math.floor(t[0].shape[1] * r + 1), - ], - o = n[0] * n[1], - s = 0; - s < t.length; - ++s - ) { - var l = d(t[s]), - c = i(new Float32Array(o), n); - (a(c, l, [r, 0, 0, 0, r, 0, 0, 0, 1]), (t[s] = c)); - } - return r; - } - return 1; - })(M)), - t.surfacecolor && (z.intensity = M.pop())); - var D = [!0, !0, !0], - O = ["x", "y", "z"]; - for (e = 0; e < 3; ++e) { - var I = t.contours[O[e]]; - ((D[e] = I.highlight), - (z.showContour[e] = I.show || I.highlight), - z.showContour[e] && - ((z.contourProject[e] = [I.project.x, I.project.y, I.project.z]), - I.show - ? ((this.showContour[e] = !0), - (z.levels[e] = S[e]), - (s.highlightColor[e] = z.contourColor[e] = u(I.color)), - I.usecolormap - ? (s.highlightTint[e] = z.contourTint[e] = 0) - : (s.highlightTint[e] = z.contourTint[e] = 1), - (z.contourWidth[e] = I.width)) - : (this.showContour[e] = !1), - I.highlight && - ((z.dynamicColor[e] = u(I.highlightcolor)), - (z.dynamicWidth[e] = I.highlightwidth)))); - } - ((function (t) { - var e = t[0].rgb, - r = t[t.length - 1].rgb; - return e[0] === r[0] && e[1] === r[1] && e[2] === r[2] && e[3] === r[3]; - })(p) && (z.vertexColor = !0), - (z.coords = M), - s.update(z), - (s.visible = t.visible), - (s.enableDynamic = D), - (s.snapToData = !0), - "lighting" in t && - ((s.ambientLight = t.lighting.ambient), - (s.diffuseLight = t.lighting.diffuse), - (s.specularLight = t.lighting.specular), - (s.roughness = t.lighting.roughness), - (s.fresnel = t.lighting.fresnel)), - "lightposition" in t && - (s.lightPosition = [ - t.lightposition.x, - t.lightposition.y, - t.lightposition.z, - ]), - h && h < 1 && (s.supportsTransparency = !0)); - }), - (p.dispose = function () { - (this.scene.glplot.remove(this.surface), this.surface.dispose()); - }), - (e.exports = function (t, e) { - var r = t.glplot.gl, - i = n({ gl: r }), - a = new h(t, i, e.uid); - return ((i._trace = a), a.update(e), t.glplot.add(i), a); - })); - }, - { - "../../lib": 602, - "../../lib/str2rgbarray": 625, - "gl-surface3d": 274, - ndarray: 335, - "ndarray-fill": 325, - "ndarray-homography": 327, - "ndarray-ops": 329, - tinycolor2: 415, - }, - ], - 1010: [ - function (t, e, r) { - "use strict"; - var n = t("../../registry"), - i = t("../../lib"), - a = t("../../components/colorscale/defaults"), - o = t("./attributes"); - function s(t, e, r) { - e in t && !(r in t) && (t[r] = t[e]); - } - e.exports = function (t, e, r, l) { - var c, u; - function f(r, n) { - return i.coerce(t, e, o, r, n); - } - var h = f("z"); - if (h) { - var p = f("x"); - (f("y"), - (e._xlength = - Array.isArray(p) && i.isArrayOrTypedArray(p[0]) - ? h.length - : h[0].length), - (e._ylength = h.length), - n.getComponentMethod("calendars", "handleTraceDefaults")( - t, - e, - ["x", "y", "z"], - l, - ), - f("text"), - [ - "lighting.ambient", - "lighting.diffuse", - "lighting.specular", - "lighting.roughness", - "lighting.fresnel", - "lightposition.x", - "lightposition.y", - "lightposition.z", - "hidesurface", - "opacity", - ].forEach(function (t) { - f(t); - })); - var d = f("surfacecolor"); - f("colorscale"); - var g = ["x", "y", "z"]; - for (c = 0; c < 3; ++c) { - var m = "contours." + g[c], - v = f(m + ".show"), - y = f(m + ".highlight"); - if (v || y) for (u = 0; u < 3; ++u) f(m + ".project." + g[u]); - (v && (f(m + ".color"), f(m + ".width"), f(m + ".usecolormap")), - y && (f(m + ".highlightcolor"), f(m + ".highlightwidth"))); - } - (d || - (s(t, "zmin", "cmin"), s(t, "zmax", "cmax"), s(t, "zauto", "cauto")), - a(t, e, l, f, { prefix: "", cLetter: "c" }), - (e._length = null)); - } else e.visible = !1; - }; - }, - { - "../../components/colorscale/defaults": 484, - "../../lib": 602, - "../../registry": 732, - "./attributes": 1006, - }, - ], - 1011: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.colorbar = t("./colorbar")), - (n.calc = t("./calc")), - (n.plot = t("./convert")), - (n.moduleType = "trace"), - (n.name = "surface"), - (n.basePlotModule = t("../../plots/gl3d")), - (n.categories = ["gl3d", "2dMap", "noOpacity"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "../../plots/gl3d": 690, - "./attributes": 1006, - "./calc": 1007, - "./colorbar": 1008, - "./convert": 1009, - "./defaults": 1010, - }, - ], - 1012: [ - function (t, e, r) { - "use strict"; - var n = t("../../components/annotations/attributes"), - i = t("../../lib/extend").extendFlat, - a = t("../../plot_api/edit_types").overrideAll, - o = t("../../plots/font_attributes"), - s = t("../../plots/domain").attributes; - e.exports = a( - { - domain: s({ name: "table", trace: !0 }), - columnwidth: { valType: "number", arrayOk: !0, dflt: null }, - columnorder: { valType: "data_array" }, - header: { - values: { valType: "data_array", dflt: [] }, - format: { valType: "data_array", dflt: [] }, - prefix: { valType: "string", arrayOk: !0, dflt: null }, - suffix: { valType: "string", arrayOk: !0, dflt: null }, - height: { valType: "number", dflt: 28 }, - align: i({}, n.align, { arrayOk: !0 }), - line: { - width: { valType: "number", arrayOk: !0, dflt: 1 }, - color: { valType: "color", arrayOk: !0, dflt: "grey" }, - }, - fill: { color: { valType: "color", arrayOk: !0, dflt: "white" } }, - font: i({}, o({ arrayOk: !0 })), - }, - cells: { - values: { valType: "data_array", dflt: [] }, - format: { valType: "data_array", dflt: [] }, - prefix: { valType: "string", arrayOk: !0, dflt: null }, - suffix: { valType: "string", arrayOk: !0, dflt: null }, - height: { valType: "number", dflt: 20 }, - align: i({}, n.align, { arrayOk: !0 }), - line: { - width: { valType: "number", arrayOk: !0, dflt: 1 }, - color: { valType: "color", arrayOk: !0, dflt: "grey" }, - }, - fill: { color: { valType: "color", arrayOk: !0, dflt: "white" } }, - font: i({}, o({ arrayOk: !0 })), - }, - }, - "calc", - "from-root", - ); - }, - { - "../../components/annotations/attributes": 457, - "../../lib/extend": 591, - "../../plot_api/edit_types": 633, - "../../plots/domain": 673, - "../../plots/font_attributes": 674, - }, - ], - 1013: [ - function (t, e, r) { - "use strict"; - var n = t("../../plots/get_data").getModuleCalcData, - i = t("./plot"); - ((r.name = "table"), - (r.plot = function (t) { - var e = n(t.calcdata, "table")[0]; - e.length && i(t, e); - }), - (r.clean = function (t, e, r, n) { - var i = n._has && n._has("table"), - a = e._has && e._has("table"); - i && !a && n._paperdiv.selectAll(".table").remove(); - })); - }, - { "../../plots/get_data": 684, "./plot": 1020 }, - ], - 1014: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib/gup").wrap; - e.exports = function () { - return n({}); - }; - }, - { "../../lib/gup": 599 }, - ], - 1015: [ - function (t, e, r) { - "use strict"; - e.exports = { - cellPad: 8, - columnExtentOffset: 10, - columnTitleOffset: 28, - emptyHeaderHeight: 16, - latexCheck: /^\$.*\$$/, - goldenRatio: 1.618, - lineBreaker: "
          ", - maxDimensionCount: 60, - overdrag: 45, - releaseTransitionDuration: 120, - releaseTransitionEase: "cubic-out", - scrollbarCaptureWidth: 18, - scrollbarHideDelay: 1e3, - scrollbarHideDuration: 1e3, - scrollbarOffset: 5, - scrollbarWidth: 8, - transitionDuration: 100, - transitionEase: "cubic-out", - uplift: 5, - wrapSpacer: " ", - wrapSplitCharacter: " ", - cn: { - table: "table", - tableControlView: "table-control-view", - scrollBackground: "scroll-background", - yColumn: "y-column", - columnBlock: "column-block", - scrollAreaClip: "scroll-area-clip", - scrollAreaClipRect: "scroll-area-clip-rect", - columnBoundary: "column-boundary", - columnBoundaryClippath: "column-boundary-clippath", - columnBoundaryRect: "column-boundary-rect", - columnCells: "column-cells", - columnCell: "column-cell", - cellRect: "cell-rect", - cellText: "cell-text", - cellTextHolder: "cell-text-holder", - scrollbarKit: "scrollbar-kit", - scrollbar: "scrollbar", - scrollbarSlider: "scrollbar-slider", - scrollbarGlyph: "scrollbar-glyph", - scrollbarCaptureZone: "scrollbar-capture-zone", - }, - }; - }, - {}, - ], - 1016: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("../../lib/extend").extendFlat, - a = t("fast-isnumeric"); - function o(t) { - if (Array.isArray(t)) { - for (var e = 0, r = 0; r < t.length; r++) e = Math.max(e, o(t[r])); - return e; - } - return t; - } - function s(t, e) { - return t + e; - } - function l(t) { - var e, - r = t.slice(), - n = 1 / 0, - i = 0; - for (e = 0; e < r.length; e++) - (Array.isArray(r[e]) || (r[e] = [r[e]]), - (n = Math.min(n, r[e].length)), - (i = Math.max(i, r[e].length))); - if (n !== i) - for (e = 0; e < r.length; e++) { - var a = i - r[e].length; - a && (r[e] = r[e].concat(c(a))); - } - return r; - } - function c(t) { - for (var e = new Array(t), r = 0; r < t; r++) e[r] = ""; - return e; - } - function u(t) { - return t.calcdata.columns.reduce(function (e, r) { - return r.xIndex < t.xIndex ? e + r.columnWidth : e; - }, 0); - } - function f(t, e) { - return Object.keys(t).map(function (r) { - return i({}, t[r], { auxiliaryBlocks: e }); - }); - } - function h(t, e) { - for ( - var r, - n = {}, - i = 0, - a = 0, - o = { firstRowIndex: null, lastRowIndex: null, rows: [] }, - s = 0, - l = 0, - c = 0; - c < t.length; - c++ - ) - ((r = t[c]), - o.rows.push({ rowIndex: c, rowHeight: r }), - ((a += r) >= e || c === t.length - 1) && - ((n[i] = o), - (o.key = l++), - (o.firstRowIndex = s), - (o.lastRowIndex = c), - (o = { firstRowIndex: null, lastRowIndex: null, rows: [] }), - (i += a), - (s = c + 1), - (a = 0))); - return n; - } - e.exports = function (t, e) { - var r = l(e.cells.values), - p = function (t) { - return t.slice(e.header.values.length, t.length); - }, - d = l(e.header.values); - d.length && !d[0].length && ((d[0] = [""]), (d = l(d))); - var g = d.concat( - p(r).map(function () { - return c((d[0] || [""]).length); - }), - ), - m = e.domain, - v = Math.floor(t._fullLayout._size.w * (m.x[1] - m.x[0])), - y = Math.floor(t._fullLayout._size.h * (m.y[1] - m.y[0])), - x = e.header.values.length - ? g[0].map(function () { - return e.header.height; - }) - : [n.emptyHeaderHeight], - b = r.length - ? r[0].map(function () { - return e.cells.height; - }) - : [], - _ = x.reduce(s, 0), - w = h(b, y - _ + n.uplift), - k = f(h(x, _), []), - M = f(w, k), - A = {}, - T = e._fullInput.columnorder.concat( - p( - r.map(function (t, e) { - return e; - }), - ), - ), - S = g.map(function (t, r) { - var n = Array.isArray(e.columnwidth) - ? e.columnwidth[Math.min(r, e.columnwidth.length - 1)] - : e.columnwidth; - return a(n) ? Number(n) : 1; - }), - C = S.reduce(s, 0); - S = S.map(function (t) { - return (t / C) * v; - }); - var E = Math.max(o(e.header.line.width), o(e.cells.line.width)), - L = { - key: e.index, - translateX: m.x[0] * t._fullLayout._size.w, - translateY: t._fullLayout._size.h * (1 - m.y[1]), - size: t._fullLayout._size, - width: v, - maxLineWidth: E, - height: y, - columnOrder: T, - groupHeight: y, - rowBlocks: M, - headerRowBlocks: k, - scrollY: 0, - cells: i({}, e.cells, { values: r }), - headerCells: i({}, e.header, { values: g }), - gdColumns: g.map(function (t) { - return t[0]; - }), - gdColumnsOriginalOrder: g.map(function (t) { - return t[0]; - }), - prevPages: [0, 0], - scrollbarState: { scrollbarScrollInProgress: !1 }, - columns: g.map(function (t, e) { - var r = A[t]; - return ( - (A[t] = (r || 0) + 1), - { - key: t + "__" + A[t], - label: t, - specIndex: e, - xIndex: T[e], - xScale: u, - x: void 0, - calcdata: void 0, - columnWidth: S[e], - } - ); - }), - }; - return ( - L.columns.forEach(function (t) { - ((t.calcdata = L), (t.x = u(t))); - }), - L - ); - }; - }, - { "../../lib/extend": 591, "./constants": 1015, "fast-isnumeric": 196 }, - ], - 1017: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib/extend").extendFlat; - ((r.splitToPanels = function (t) { - var e = [0, 0], - r = n({}, t, { - key: "header", - type: "header", - page: 0, - prevPages: e, - currentRepaint: [null, null], - dragHandle: !0, - values: t.calcdata.headerCells.values[t.specIndex], - rowBlocks: t.calcdata.headerRowBlocks, - calcdata: n({}, t.calcdata, { cells: t.calcdata.headerCells }), - }); - return [ - n({}, t, { - key: "cells1", - type: "cells", - page: 0, - prevPages: e, - currentRepaint: [null, null], - dragHandle: !1, - values: t.calcdata.cells.values[t.specIndex], - rowBlocks: t.calcdata.rowBlocks, - }), - n({}, t, { - key: "cells2", - type: "cells", - page: 1, - prevPages: e, - currentRepaint: [null, null], - dragHandle: !1, - values: t.calcdata.cells.values[t.specIndex], - rowBlocks: t.calcdata.rowBlocks, - }), - r, - ]; - }), - (r.splitToCells = function (t) { - var e = (function (t) { - var e = t.rowBlocks[t.page], - r = e ? e.rows[0].rowIndex : 0, - n = e ? r + e.rows.length : 0; - return [r, n]; - })(t); - return (t.values || []).slice(e[0], e[1]).map(function (r, n) { - return { - keyWithinBlock: - n + - ("string" == typeof r && r.match(/[<$&> ]/) - ? "_keybuster_" + Math.random() - : ""), - key: e[0] + n, - column: t, - calcdata: t.calcdata, - page: t.page, - rowBlocks: t.rowBlocks, - value: r, - }; - }); - })); - }, - { "../../lib/extend": 591 }, - ], - 1018: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./attributes"), - a = t("../../plots/domain").defaults; - e.exports = function (t, e, r, o) { - function s(r, a) { - return n.coerce(t, e, i, r, a); - } - (a(e, o, s), - s("columnwidth"), - s("header.values"), - s("header.format"), - s("header.align"), - s("header.prefix"), - s("header.suffix"), - s("header.height"), - s("header.line.width"), - s("header.line.color"), - s("header.fill.color"), - n.coerceFont(s, "header.font", n.extendFlat({}, o.font)), - (function (t, e) { - for ( - var r = t.columnorder || [], - n = t.header.values.length, - i = r.slice(0, n), - a = i.slice().sort(function (t, e) { - return t - e; - }), - o = i.map(function (t) { - return a.indexOf(t); - }), - s = o.length; - s < n; - s++ - ) - o.push(s); - e("columnorder", o); - })(e, s), - s("cells.values"), - s("cells.format"), - s("cells.align"), - s("cells.prefix"), - s("cells.suffix"), - s("cells.height"), - s("cells.line.width"), - s("cells.line.color"), - s("cells.fill.color"), - n.coerceFont(s, "cells.font", n.extendFlat({}, o.font)), - (e._length = null)); - }; - }, - { "../../lib": 602, "../../plots/domain": 673, "./attributes": 1012 }, - ], - 1019: [ - function (t, e, r) { - "use strict"; - var n = {}; - ((n.attributes = t("./attributes")), - (n.supplyDefaults = t("./defaults")), - (n.calc = t("./calc")), - (n.plot = t("./plot")), - (n.moduleType = "trace"), - (n.name = "table"), - (n.basePlotModule = t("./base_plot")), - (n.categories = ["noOpacity"]), - (n.meta = {}), - (e.exports = n)); - }, - { - "./attributes": 1012, - "./base_plot": 1013, - "./calc": 1014, - "./defaults": 1018, - "./plot": 1020, - }, - ], - 1020: [ - function (t, e, r) { - "use strict"; - var n = t("./constants"), - i = t("d3"), - a = t("../../lib/gup"), - o = t("../../components/drawing"), - s = t("../../lib/svg_text_utils"), - l = t("../../lib").raiseToTop, - c = t("../../lib").cancelTransition, - u = t("./data_preparation_helper"), - f = t("./data_split_helpers"), - h = t("../../components/color"); - function p(t) { - return Math.ceil(t.calcdata.maxLineWidth / 2); - } - function d(t, e) { - return "clip" + t._fullLayout._uid + "_scrollAreaBottomClip_" + e.key; - } - function g(t, e) { - return ( - "clip" + - t._fullLayout._uid + - "_columnBoundaryClippath_" + - e.calcdata.key + - "_" + - e.specIndex - ); - } - function m(t) { - return [].concat - .apply( - [], - t.map(function (t) { - return t; - }), - ) - .map(function (t) { - return t.__data__; - }); - } - function v(t, e, r) { - var o = t.selectAll("." + n.cn.scrollbarKit).data(a.repeat, a.keyFun); - (o - .enter() - .append("g") - .classed(n.cn.scrollbarKit, !0) - .style("shape-rendering", "geometricPrecision"), - o - .each(function (t) { - var e = t.scrollbarState; - ((e.totalHeight = (function (t) { - var e = t.rowBlocks; - return ( - D(e, e.length - 1) + (e.length ? O(e[e.length - 1], 1 / 0) : 1) - ); - })(t)), - (e.scrollableAreaHeight = t.groupHeight - A(t)), - (e.currentlyVisibleHeight = Math.min( - e.totalHeight, - e.scrollableAreaHeight, - )), - (e.ratio = e.currentlyVisibleHeight / e.totalHeight), - (e.barLength = Math.max( - e.ratio * e.currentlyVisibleHeight, - n.goldenRatio * n.scrollbarWidth, - )), - (e.barWiggleRoom = e.currentlyVisibleHeight - e.barLength), - (e.wiggleRoom = Math.max( - 0, - e.totalHeight - e.scrollableAreaHeight, - )), - (e.topY = - 0 === e.barWiggleRoom - ? 0 - : (t.scrollY / e.wiggleRoom) * e.barWiggleRoom), - (e.bottomY = e.topY + e.barLength), - (e.dragMultiplier = e.wiggleRoom / e.barWiggleRoom)); - }) - .attr("transform", function (t) { - return ( - "translate(" + - (t.width + n.scrollbarWidth / 2 + n.scrollbarOffset) + - " " + - A(t) + - ")" - ); - })); - var s = o.selectAll("." + n.cn.scrollbar).data(a.repeat, a.keyFun); - s.enter().append("g").classed(n.cn.scrollbar, !0); - var l = s.selectAll("." + n.cn.scrollbarSlider).data(a.repeat, a.keyFun); - (l.enter().append("g").classed(n.cn.scrollbarSlider, !0), - l.attr("transform", function (t) { - return "translate(0 " + (t.scrollbarState.topY || 0) + ")"; - })); - var c = l.selectAll("." + n.cn.scrollbarGlyph).data(a.repeat, a.keyFun); - (c - .enter() - .append("line") - .classed(n.cn.scrollbarGlyph, !0) - .attr("stroke", "black") - .attr("stroke-width", n.scrollbarWidth) - .attr("stroke-linecap", "round") - .attr("y1", n.scrollbarWidth / 2), - c - .attr("y2", function (t) { - return t.scrollbarState.barLength - n.scrollbarWidth / 2; - }) - .attr("stroke-opacity", function (t) { - return t.columnDragInProgress || !t.scrollbarState.barWiggleRoom || r - ? 0 - : 0.4; - }), - c.transition().delay(0).duration(0), - c - .transition() - .delay(n.scrollbarHideDelay) - .duration(n.scrollbarHideDuration) - .attr("stroke-opacity", 0)); - var u = s - .selectAll("." + n.cn.scrollbarCaptureZone) - .data(a.repeat, a.keyFun); - (u - .enter() - .append("line") - .classed(n.cn.scrollbarCaptureZone, !0) - .attr("stroke", "white") - .attr("stroke-opacity", 0.01) - .attr("stroke-width", n.scrollbarCaptureWidth) - .attr("stroke-linecap", "butt") - .attr("y1", 0) - .on("mousedown", function (r) { - var n = i.event.y, - a = this.getBoundingClientRect(), - o = r.scrollbarState, - s = n - a.top, - l = i.scale - .linear() - .domain([0, o.scrollableAreaHeight]) - .range([0, o.totalHeight]) - .clamp(!0); - (o.topY <= s && s <= o.bottomY) || - S(e, t, null, l(s - o.barLength / 2))(r); - }) - .call( - i.behavior - .drag() - .origin(function (t) { - return ( - i.event.stopPropagation(), - (t.scrollbarState.scrollbarScrollInProgress = !0), - t - ); - }) - .on("drag", S(e, t)) - .on("dragend", function () {}), - ), - u.attr("y2", function (t) { - return t.scrollbarState.scrollableAreaHeight; - })); - } - function y(t, e, r, s) { - var l = (function (t) { - var e = t - .selectAll("." + n.cn.columnCell) - .data(f.splitToCells, function (t) { - return t.keyWithinBlock; - }); - return ( - e.enter().append("g").classed(n.cn.columnCell, !0), - e.exit().remove(), - e - ); - })( - (function (t) { - var e = t.selectAll("." + n.cn.columnCells).data(a.repeat, a.keyFun); - return ( - e.enter().append("g").classed(n.cn.columnCells, !0), - e.exit().remove(), - e - ); - })(r), - ); - (!(function (t) { - t.each(function (t, e) { - var r = t.calcdata.cells.font, - n = t.column.specIndex, - i = { - size: _(r.size, n, e), - color: _(r.color, n, e), - family: _(r.family, n, e), - }; - ((t.rowNumber = t.key), - (t.align = _(t.calcdata.cells.align, n, e)), - (t.cellBorderWidth = _(t.calcdata.cells.line.width, n, e)), - (t.font = i)); - }); - })(l), - (function (t) { - t.attr("width", function (t) { - return t.column.columnWidth; - }) - .attr("stroke-width", function (t) { - return t.cellBorderWidth; - }) - .each(function (t) { - var e = i.select(this); - (h.stroke( - e, - _(t.calcdata.cells.line.color, t.column.specIndex, t.rowNumber), - ), - h.fill( - e, - _(t.calcdata.cells.fill.color, t.column.specIndex, t.rowNumber), - )); - }); - })( - (function (t) { - var e = t.selectAll("." + n.cn.cellRect).data(a.repeat, function (t) { - return t.keyWithinBlock; - }); - return (e.enter().append("rect").classed(n.cn.cellRect, !0), e); - })(l), - )); - var c = (function (t) { - var e = t.selectAll("." + n.cn.cellText).data(a.repeat, function (t) { - return t.keyWithinBlock; - }); - return ( - e - .enter() - .append("text") - .classed(n.cn.cellText, !0) - .style("cursor", function () { - return "auto"; - }) - .on("mousedown", function () { - i.event.stopPropagation(); - }), - e - ); - })( - (function (t) { - var e = t - .selectAll("." + n.cn.cellTextHolder) - .data(a.repeat, function (t) { - return t.keyWithinBlock; - }); - return ( - e - .enter() - .append("g") - .classed(n.cn.cellTextHolder, !0) - .style("shape-rendering", "geometricPrecision"), - e - ); - })(l), - ); - (!(function (t) { - t.each(function (t) { - o.font(i.select(this), t.font); - }); - })(c), - x(c, e, s, t), - P(l)); - } - function x(t, e, r, a) { - t.text(function (t) { - var e = t.column.specIndex, - r = t.rowNumber, - a = t.value, - o = "string" == typeof a, - s = o && a.match(/
          /i), - l = !o || s; - t.mayHaveMarkup = o && a.match(/[<&>]/); - var c, - u = "string" == typeof (c = a) && c.match(n.latexCheck); - t.latex = u; - var f, - h, - p = u ? "" : _(t.calcdata.cells.prefix, e, r) || "", - d = u ? "" : _(t.calcdata.cells.suffix, e, r) || "", - g = u ? null : _(t.calcdata.cells.format, e, r) || null, - m = p + (g ? i.format(g)(t.value) : t.value) + d; - if ( - ((t.wrappingNeeded = !t.wrapped && !l && !u && (f = b(m))), - (t.cellHeightMayIncrease = - s || u || t.mayHaveMarkup || (void 0 === f ? b(m) : f)), - (t.needsConvertToTspans = - t.mayHaveMarkup || t.wrappingNeeded || t.latex), - t.wrappingNeeded) - ) { - var v = ( - " " === n.wrapSplitCharacter - ? m.replace(/ i && n.push(a), - (i += l)); - } - return n; - })(i, l, s); - (1 === c.length && - (c[0] === i.length - 1 ? c.unshift(c[0] - 1) : c.push(c[0] + 1)), - c[0] % 2 && c.reverse(), - e.each(function (t, e) { - ((t.page = c[e]), (t.scrollY = l)); - }), - e.attr("transform", function (t) { - return "translate(0 " + (D(t.rowBlocks, t.page) - t.scrollY) + ")"; - }), - t && - (C(t, r, e, c, n.prevPages, n, 0), - C(t, r, e, c, n.prevPages, n, 1), - v(r, t))); - } - } - function S(t, e, r, a) { - return function (o) { - var s = o.calcdata ? o.calcdata : o, - l = e.filter(function (t) { - return s.key === t.key; - }), - c = r || s.scrollbarState.dragMultiplier; - s.scrollY = void 0 === a ? s.scrollY + c * i.event.dy : a; - var u = l - .selectAll("." + n.cn.yColumn) - .selectAll("." + n.cn.columnBlock) - .filter(k); - T(t, u, l); - }; - } - function C(t, e, r, n, i, a, o) { - n[o] !== i[o] && - (clearTimeout(a.currentRepaint[o]), - (a.currentRepaint[o] = setTimeout(function () { - var a = r.filter(function (t, e) { - return e === o && n[e] !== i[e]; - }); - (y(t, e, a, r), (i[o] = n[o])); - }))); - } - function E(t, e, r) { - return function () { - var a = i.select(e.parentNode); - (a.each(function (t) { - var e = t.fragments; - a.selectAll("tspan.line").each(function (t, r) { - e[r].width = this.getComputedTextLength(); - }); - var r, - i, - o = e[e.length - 1].width, - s = e.slice(0, -1), - l = [], - c = 0, - u = t.column.columnWidth - 2 * n.cellPad; - for (t.value = ""; s.length; ) - (c + (i = (r = s.shift()).width + o) > u && - ((t.value += l.join(n.wrapSpacer) + n.lineBreaker), - (l = []), - (c = 0)), - l.push(r.text), - (c += i)); - (c && (t.value += l.join(n.wrapSpacer)), (t.wrapped = !0)); - }), - a.selectAll("tspan.line").remove(), - x(a.select("." + n.cn.cellText), r, t), - i.select(e.parentNode.parentNode).call(P)); - }; - } - function L(t, e, r, a, o) { - return function () { - if (!o.settledY) { - var s = i.select(e.parentNode), - l = R(o), - c = o.key - l.firstRowIndex, - u = l.rows[c].rowHeight, - f = o.cellHeightMayIncrease - ? e.parentNode.getBoundingClientRect().height + 2 * n.cellPad - : u, - h = Math.max(f, u); - (h - l.rows[c].rowHeight && - ((l.rows[c].rowHeight = h), - t.selectAll("." + n.cn.columnCell).call(P), - T(null, t.filter(k), 0), - v(r, a, !0)), - s.attr("transform", function () { - var t = this.parentNode.getBoundingClientRect(), - e = i - .select(this.parentNode) - .select("." + n.cn.cellRect) - .node() - .getBoundingClientRect(), - r = this.transform.baseVal.consolidate(), - a = e.top - t.top + (r ? r.matrix.f : n.cellPad); - return ( - "translate(" + - z( - o, - i - .select(this.parentNode) - .select("." + n.cn.cellTextHolder) - .node() - .getBoundingClientRect().width, - ) + - " " + - a + - ")" - ); - }), - (o.settledY = !0)); - } - }; - } - function z(t, e) { - switch (t.align) { - case "left": - return n.cellPad; - case "right": - return t.column.columnWidth - (e || 0) - n.cellPad; - case "center": - return (t.column.columnWidth - (e || 0)) / 2; - default: - return n.cellPad; - } - } - function P(t) { - t.attr("transform", function (t) { - var e = t.rowBlocks[0].auxiliaryBlocks.reduce(function (t, e) { - return t + O(e, 1 / 0); - }, 0); - return "translate(0 " + (O(R(t), t.key) + e) + ")"; - }) - .selectAll("." + n.cn.cellRect) - .attr("height", function (t) { - return ((e = R(t)), (r = t.key), e.rows[r - e.firstRowIndex]).rowHeight; - var e, r; - }); - } - function D(t, e) { - for (var r = 0, n = e - 1; n >= 0; n--) r += I(t[n]); - return r; - } - function O(t, e) { - for (var r = 0, n = 0; n < t.rows.length && t.rows[n].rowIndex < e; n++) - r += t.rows[n].rowHeight; - return r; - } - function I(t) { - var e = t.allRowsHeight; - if (void 0 !== e) return e; - for (var r = 0, n = 0; n < t.rows.length; n++) r += t.rows[n].rowHeight; - return ((t.allRowsHeight = r), r); - } - function R(t) { - return t.rowBlocks[t.page]; - } - e.exports = function (t, e) { - var r = t._fullLayout._paper.selectAll("." + n.cn.table).data( - e.map(function (e) { - var r = a.unwrap(e).trace; - return u(t, r); - }), - a.keyFun, - ); - (r.exit().remove(), - r - .enter() - .append("g") - .classed(n.cn.table, !0) - .attr("overflow", "visible") - .style("box-sizing", "content-box") - .style("position", "absolute") - .style("left", 0) - .style("overflow", "visible") - .style("shape-rendering", "crispEdges") - .style("pointer-events", "all"), - r - .attr("width", function (t) { - return t.width + t.size.l + t.size.r; - }) - .attr("height", function (t) { - return t.height + t.size.t + t.size.b; - }) - .attr("transform", function (t) { - return "translate(" + t.translateX + "," + t.translateY + ")"; - })); - var s = r.selectAll("." + n.cn.tableControlView).data(a.repeat, a.keyFun); - (s - .enter() - .append("g") - .classed(n.cn.tableControlView, !0) - .style("box-sizing", "content-box") - .on("mousemove", function (e) { - s.filter(function (t) { - return e === t; - }).call(v, t); - }) - .on("mousewheel", function (e) { - e.scrollbarState.wheeling || - ((e.scrollbarState.wheeling = !0), - i.event.stopPropagation(), - i.event.preventDefault(), - S(t, s, null, e.scrollY + i.event.deltaY)(e), - (e.scrollbarState.wheeling = !1)); - }) - .call(v, t, !0), - s.attr("transform", function (t) { - return "translate(" + t.size.l + " " + t.size.t + ")"; - })); - var h = s.selectAll("." + n.cn.scrollBackground).data(a.repeat, a.keyFun); - (h - .enter() - .append("rect") - .classed(n.cn.scrollBackground, !0) - .attr("fill", "none"), - h - .attr("width", function (t) { - return t.width; - }) - .attr("height", function (t) { - return t.height; - }), - s.each(function (e) { - o.setClipUrl(i.select(this), d(t, e)); - })); - var x = s.selectAll("." + n.cn.yColumn).data(function (t) { - return t.columns; - }, a.keyFun); - (x.enter().append("g").classed(n.cn.yColumn, !0), - x.exit().remove(), - x - .attr("transform", function (t) { - return "translate(" + t.x + " 0)"; - }) - .call( - i.behavior - .drag() - .origin(function (e) { - return ( - w(i.select(this), e, -n.uplift), - l(this), - (e.calcdata.columnDragInProgress = !0), - v( - s.filter(function (t) { - return e.calcdata.key === t.key; - }), - t, - ), - e - ); - }) - .on("drag", function (t) { - var e = i.select(this), - r = function (e) { - return (t === e ? i.event.x : e.x) + e.columnWidth / 2; - }; - ((t.x = Math.max( - -n.overdrag, - Math.min( - t.calcdata.width + n.overdrag - t.columnWidth, - i.event.x, - ), - )), - m(x) - .filter(function (e) { - return e.calcdata.key === t.calcdata.key; - }) - .sort(function (t, e) { - return r(t) - r(e); - }) - .forEach(function (e, r) { - ((e.xIndex = r), (e.x = t === e ? e.x : e.xScale(e))); - }), - x - .filter(function (e) { - return t !== e; - }) - .transition() - .ease(n.transitionEase) - .duration(n.transitionDuration) - .attr("transform", function (t) { - return "translate(" + t.x + " 0)"; - }), - e - .call(c) - .attr( - "transform", - "translate(" + t.x + " -" + n.uplift + " )", - )); - }) - .on("dragend", function (e) { - var r = i.select(this), - n = e.calcdata; - ((e.x = e.xScale(e)), - (e.calcdata.columnDragInProgress = !1), - w(r, e, 0), - (function (t, e, r) { - var n = e.gdColumnsOriginalOrder; - (e.gdColumns.sort(function (t, e) { - return r[n.indexOf(t)] - r[n.indexOf(e)]; - }), - (e.columnorder = r), - t.emit("plotly_restyle")); - })( - t, - n, - n.columns.map(function (t) { - return t.xIndex; - }), - )); - }), - ), - x.each(function (e) { - o.setClipUrl(i.select(this), g(t, e)); - })); - var b = x.selectAll("." + n.cn.columnBlock).data(f.splitToPanels, a.keyFun); - (b - .enter() - .append("g") - .classed(n.cn.columnBlock, !0) - .attr("id", function (t) { - return t.key; - }), - b.style("cursor", function (t) { - return t.dragHandle - ? "ew-resize" - : t.calcdata.scrollbarState.barWiggleRoom - ? "ns-resize" - : "default"; - })); - var _ = b.filter(M), - A = b.filter(k); - (A.call( - i.behavior - .drag() - .origin(function (t) { - return (i.event.stopPropagation(), t); - }) - .on("drag", S(t, s, -1)) - .on("dragend", function () {}), - ), - y(t, s, _, b), - y(t, s, A, b)); - var C = s.selectAll("." + n.cn.scrollAreaClip).data(a.repeat, a.keyFun); - C.enter() - .append("clipPath") - .classed(n.cn.scrollAreaClip, !0) - .attr("id", function (e) { - return d(t, e); - }); - var E = C.selectAll("." + n.cn.scrollAreaClipRect).data(a.repeat, a.keyFun); - (E.enter() - .append("rect") - .classed(n.cn.scrollAreaClipRect, !0) - .attr("x", -n.overdrag) - .attr("y", -n.uplift) - .attr("fill", "none"), - E.attr("width", function (t) { - return t.width + 2 * n.overdrag; - }).attr("height", function (t) { - return t.height + n.uplift; - }), - x - .selectAll("." + n.cn.columnBoundary) - .data(a.repeat, a.keyFun) - .enter() - .append("g") - .classed(n.cn.columnBoundary, !0)); - var L = x - .selectAll("." + n.cn.columnBoundaryClippath) - .data(a.repeat, a.keyFun); - (L.enter().append("clipPath").classed(n.cn.columnBoundaryClippath, !0), - L.attr("id", function (e) { - return g(t, e); - })); - var z = L.selectAll("." + n.cn.columnBoundaryRect).data(a.repeat, a.keyFun); - (z - .enter() - .append("rect") - .classed(n.cn.columnBoundaryRect, !0) - .attr("fill", "none"), - z - .attr("width", function (t) { - return t.columnWidth + 2 * p(t); - }) - .attr("height", function (t) { - return t.calcdata.height + 2 * p(t) + n.uplift; - }) - .attr("x", function (t) { - return -p(t); - }) - .attr("y", function (t) { - return -p(t); - }), - T(null, A, s)); - }; - }, - { - "../../components/color": 474, - "../../components/drawing": 499, - "../../lib": 602, - "../../lib/gup": 599, - "../../lib/svg_text_utils": 626, - "./constants": 1015, - "./data_preparation_helper": 1016, - "./data_split_helpers": 1017, - d3: 130, - }, - ], - 1021: [ - function (t, e, r) { - "use strict"; - var n = t("../box/attributes"), - i = t("../../lib/extend").extendFlat; - e.exports = { - y: n.y, - x: n.x, - x0: n.x0, - y0: n.y0, - name: n.name, - orientation: i({}, n.orientation, {}), - bandwidth: { valType: "number", min: 0, editType: "calc" }, - scalegroup: { valType: "string", dflt: "", editType: "calc" }, - scalemode: { - valType: "enumerated", - values: ["width", "count"], - dflt: "width", - editType: "calc", - }, - spanmode: { - valType: "enumerated", - values: ["soft", "hard", "manual"], - dflt: "soft", - editType: "calc", - }, - span: { - valType: "info_array", - items: [ - { valType: "any", editType: "calc" }, - { valType: "any", editType: "calc" }, - ], - editType: "calc", - }, - line: { - color: { valType: "color", editType: "style" }, - width: { valType: "number", min: 0, dflt: 2, editType: "style" }, - editType: "plot", - }, - fillcolor: n.fillcolor, - points: i({}, n.boxpoints, {}), - jitter: i({}, n.jitter, {}), - pointpos: i({}, n.pointpos, {}), - marker: n.marker, - text: n.text, - box: { - visible: { valType: "boolean", dflt: !1, editType: "plot" }, - width: { - valType: "number", - min: 0, - max: 1, - dflt: 0.25, - editType: "plot", - }, - fillcolor: { valType: "color", editType: "style" }, - line: { - color: { valType: "color", editType: "style" }, - width: { valType: "number", min: 0, editType: "style" }, - editType: "style", - }, - editType: "plot", - }, - meanline: { - visible: { valType: "boolean", dflt: !1, editType: "plot" }, - color: { valType: "color", editType: "style" }, - width: { valType: "number", min: 0, editType: "style" }, - editType: "plot", - }, - side: { - valType: "enumerated", - values: ["both", "positive", "negative"], - dflt: "both", - editType: "plot", - }, - selected: n.selected, - unselected: n.unselected, - hoveron: { - valType: "flaglist", - flags: ["violins", "points", "kde"], - dflt: "violins+points+kde", - extras: ["all"], - editType: "style", - }, - }; - }, - { "../../lib/extend": 591, "../box/attributes": 755 }, - ], - 1022: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../box/calc"), - o = t("./helpers"), - s = t("../../constants/numerical").BADNUM; - function l(t, e, r) { - return 1.059 * Math.min(e, r / 1.349) * Math.pow(t.length, -0.2); - } - function c(t, e, r, n) { - var a, - o = t.spanmode, - l = t.span || [], - c = [e.min, e.max], - u = [e.min - 2 * n, e.max + 2 * n]; - function f(n) { - var i = l[n], - a = r.d2c(i, 0, t[e.valLetter + "calendar"]); - return a === s ? u[n] : a; - } - var h = { - type: "linear", - range: (a = "soft" === o ? u : "hard" === o ? c : [f(0), f(1)]), - }; - return (i.setConvert(h), h.cleanRange(), a); - } - e.exports = function (t, e) { - var r = a(t, e); - if (r[0].t.empty) return r; - var s = t._fullLayout, - u = i.getFromId(t, e["h" === e.orientation ? "xaxis" : "yaxis"]), - f = s._violinScaleGroupStats, - h = e.scalegroup, - p = f[h]; - p || (p = f[h] = { maxWidth: 0, maxCount: 0 }); - for (var d = 0; d < r.length; d++) { - var g = r[d], - m = g.pts.map(o.extractVal), - v = m.length, - y = l(m, n.stdev(m, v - 1, g.mean), g.q3 - g.q1), - x = (g.bandwidth = e.bandwidth || y), - b = (g.span = c(e, g, u, x)), - _ = b[1] - b[0], - w = Math.ceil(_ / (Math.min(y, x) / 3)), - k = _ / w; - if (!isFinite(k) || !isFinite(w)) - return ( - n.error("Something went wrong with computing the violin span"), - (r[0].t.empty = !0), - r - ); - var M = o.makeKDE(g, e, m); - g.density = new Array(w); - for (var A = 0, T = b[0]; T < b[1] + k / 2; A++, T += k) { - var S = M(T); - ((p.maxWidth = Math.max(p.maxWidth, S)), - (g.density[A] = { v: S, t: T })); - } - (i.expand(u, b, { padded: !0 }), - (p.maxCount = Math.max(p.maxCount, m.length))); - } - return ((r[0].t.labels.kde = n._(t, "kde:")), r); - }; - }, - { - "../../constants/numerical": 579, - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../box/calc": 756, - "./helpers": 1024, - }, - ], - 1023: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../components/color"), - a = t("../box/defaults"), - o = t("./attributes"); - e.exports = function (t, e, r, s) { - function l(r, i) { - return n.coerce(t, e, o, r, i); - } - function c(r, i) { - return n.coerce2(t, e, o, r, i); - } - if ((a.handleSampleDefaults(t, e, l, s), !1 !== e.visible)) { - (l("bandwidth"), l("scalegroup", e.name), l("scalemode"), l("side")); - var u, - f = l("span"); - (Array.isArray(f) && (u = "manual"), l("spanmode", u)); - var h = l("line.color", (t.marker || {}).color || r), - p = l("line.width"), - d = l("fillcolor", i.addOpacity(e.line.color, 0.5)); - a.handlePointsDefaults(t, e, l, { prefix: "" }); - var g = c("box.width"), - m = c("box.fillcolor", d), - v = c("box.line.color", h), - y = c("box.line.width", p); - l("box.visible", Boolean(g || m || v || y)) || delete e.box; - var x = c("meanline.color", h), - b = c("meanline.width", p); - l("meanline.visible", Boolean(x || b)) || delete e.meanline; - } - }; - }, - { - "../../components/color": 474, - "../../lib": 602, - "../box/defaults": 757, - "./attributes": 1021, - }, - ], - 1024: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = function (t) { - return (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * t * t); - }; - ((r.makeKDE = function (t, e, r) { - var n = r.length, - a = i, - o = t.bandwidth, - s = 1 / (n * o); - return function (t) { - for (var e = 0, i = 0; i < n; i++) e += a((t - r[i]) / o); - return s * e; - }; - }), - (r.getPositionOnKdePath = function (t, e, r) { - var i, a; - "h" === e.orientation ? ((i = "y"), (a = "x")) : ((i = "x"), (a = "y")); - var o = n.findPointOnPath(t.path, r, a, { pathLength: t.pathLength }), - s = t.posCenterPx, - l = o[i]; - return [l, "both" === e.side ? 2 * s - l : s]; - }), - (r.getKdeValue = function (t, e, n) { - var i = t.pts.map(r.extractVal); - return r.makeKDE(t, e, i)(n) / t.posDensityScale; - }), - (r.extractVal = function (t) { - return t.v; - })); - }, - { "../../lib": 602 }, - ], - 1025: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("../../plots/cartesian/axes"), - a = t("../box/hover"), - o = t("./helpers"); - e.exports = function (t, e, r, s, l) { - var c, - u, - f = t.cd, - h = f[0].trace, - p = h.hoveron, - d = -1 !== p.indexOf("violins"), - g = -1 !== p.indexOf("kde"), - m = []; - if (d || g) { - var v = a.hoverOnBoxes(t, e, r, s); - if ((d && (m = m.concat(v)), g && v.length > 0)) { - var y, - x, - b, - _, - w, - k = t.xa, - M = t.ya; - "h" === h.orientation - ? ((w = e), (y = "y"), (b = M), (x = "x"), (_ = k)) - : ((w = r), (y = "x"), (b = k), (x = "y"), (_ = M)); - var A = f[t.index]; - if (w >= A.span[0] && w <= A.span[1]) { - var T = n.extendFlat({}, t), - S = _.c2p(w, !0), - C = o.getKdeValue(A, h, w), - E = o.getPositionOnKdePath(A, h, S), - L = b._offset, - z = b._length; - ((T[y + "0"] = E[0]), - (T[y + "1"] = E[1]), - (T[x + "0"] = T[x + "1"] = S), - (T[x + "Label"] = - x + - ": " + - i.hoverLabelText(_, w) + - ", " + - f[0].t.labels.kde + - " " + - C.toFixed(3)), - (T.spikeDistance = v[0].spikeDistance)); - var P = y + "Spike"; - ((T[P] = v[0][P]), - (v[0].spikeDistance = void 0), - (v[0][P] = void 0), - m.push(T), - ((u = { stroke: t.color })[y + "1"] = n.constrain( - L + E[0], - L, - L + z, - )), - (u[y + "2"] = n.constrain(L + E[1], L, L + z)), - (u[x + "1"] = u[x + "2"] = _._offset + S)); - } - } - } - -1 !== p.indexOf("points") && (c = a.hoverOnPoints(t, e, r)); - var D = l.selectAll(".violinline-" + h.uid).data(u ? [0] : []); - return ( - D.enter() - .append("line") - .classed("violinline-" + h.uid, !0) - .attr("stroke-width", 1.5), - D.exit().remove(), - D.attr(u), - "closest" === s ? (c ? [c] : m) : c ? (m.push(c), m) : m - ); - }; - }, - { - "../../lib": 602, - "../../plots/cartesian/axes": 648, - "../box/hover": 758, - "./helpers": 1024, - }, - ], - 1026: [ - function (t, e, r) { - "use strict"; - e.exports = { - attributes: t("./attributes"), - layoutAttributes: t("./layout_attributes"), - supplyDefaults: t("./defaults"), - supplyLayoutDefaults: t("./layout_defaults"), - calc: t("./calc"), - setPositions: t("./set_positions"), - plot: t("./plot"), - style: t("./style"), - styleOnSelect: t("../scatter/style").styleOnSelect, - hoverPoints: t("./hover"), - selectPoints: t("../box/select"), - moduleType: "trace", - name: "violin", - basePlotModule: t("../../plots/cartesian"), - categories: [ - "cartesian", - "svg", - "symbols", - "oriented", - "box-violin", - "showLegend", - "draggedPts", - "violinLayout", - ], - meta: {}, - }; - }, - { - "../../plots/cartesian": 659, - "../box/select": 763, - "../scatter/style": 947, - "./attributes": 1021, - "./calc": 1022, - "./defaults": 1023, - "./hover": 1025, - "./layout_attributes": 1027, - "./layout_defaults": 1028, - "./plot": 1029, - "./set_positions": 1030, - "./style": 1031, - }, - ], - 1027: [ - function (t, e, r) { - "use strict"; - var n = t("../box/layout_attributes"), - i = t("../../lib").extendFlat; - e.exports = { - violinmode: i({}, n.boxmode, {}), - violingap: i({}, n.boxgap, {}), - violingroupgap: i({}, n.boxgroupgap, {}), - }; - }, - { "../../lib": 602, "../box/layout_attributes": 760 }, - ], - 1028: [ - function (t, e, r) { - "use strict"; - var n = t("../../lib"), - i = t("./layout_attributes"), - a = t("../box/layout_defaults"); - e.exports = function (t, e, r) { - a._supply( - t, - e, - r, - function (r, a) { - return n.coerce(t, e, i, r, a); - }, - "violin", - ); - }; - }, - { - "../../lib": 602, - "../box/layout_defaults": 761, - "./layout_attributes": 1027, - }, - ], - 1029: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../lib"), - a = t("../../components/drawing"), - o = t("../box/plot"), - s = t("../scatter/line_points"), - l = t("./helpers"); - e.exports = function (t, e, r, c) { - var u = t._fullLayout, - f = e.xaxis, - h = e.yaxis; - function p(t) { - var e = s(t, { - xaxis: f, - yaxis: h, - connectGaps: !0, - baseTolerance: 0.75, - shape: "spline", - simplify: !0, - }); - return a.smoothopen(e[0], 1); - } - var d = c.selectAll("g.trace.violins").data(r, function (t) { - return t[0].trace.uid; - }); - (d.enter().append("g").attr("class", "trace violins"), - d.exit().remove(), - d.order(), - d.each(function (t) { - var r = t[0], - a = r.t, - s = r.trace, - c = n.select(this); - e.isRangePlot || (r.node3 = c); - var d = u._numViolins, - g = "group" === u.violinmode && d > 1, - m = 1 - u.violingap, - v = (a.bdPos = (a.dPos * m * (1 - u.violingroupgap)) / (g ? d : 1)), - y = (a.bPos = g ? 2 * a.dPos * ((a.num + 0.5) / d - 0.5) * m : 0); - if ( - ((a.wHover = a.dPos * (g ? m / d : 1)), !0 !== s.visible || a.empty) - ) - n.select(this).remove(); - else { - var x = e[a.valLetter + "axis"], - b = e[a.posLetter + "axis"], - _ = "both" === s.side, - w = _ || "positive" === s.side, - k = _ || "negative" === s.side, - M = s.box && s.box.visible, - A = s.meanline && s.meanline.visible, - T = u._violinScaleGroupStats[s.scalegroup], - S = c.selectAll("path.violin").data(i.identity); - if ( - (S.enter() - .append("path") - .style("vector-effect", "non-scaling-stroke") - .attr("class", "violin"), - S.exit().remove(), - S.each(function (t) { - var e, - r, - i, - o, - l, - c, - u, - f, - h = n.select(this), - d = t.density, - g = d.length, - m = t.pos + y, - M = b.c2p(m); - switch (s.scalemode) { - case "width": - e = T.maxWidth / v; - break; - case "count": - e = (T.maxWidth / v) * (T.maxCount / t.pts.length); - } - if (w) { - for (u = new Array(g), l = 0; l < g; l++) - (((f = u[l] = {})[a.posLetter] = m + d[l].v / e), - (f[a.valLetter] = d[l].t)); - r = p(u); - } - if (k) { - for (u = new Array(g), c = 0, l = g - 1; c < g; c++, l--) - (((f = u[c] = {})[a.posLetter] = m - d[l].v / e), - (f[a.valLetter] = d[l].t)); - i = p(u); - } - if (_) o = r + "L" + i.substr(1) + "Z"; - else { - var A = [M, x.c2p(d[0].t)], - S = [M, x.c2p(d[g - 1].t)]; - ("h" === s.orientation && (A.reverse(), S.reverse()), - (o = w - ? "M" + A + "L" + r.substr(1) + "L" + S - : "M" + S + "L" + i.substr(1) + "L" + A)); - } - (h.attr("d", o), - (t.posCenterPx = M), - (t.posDensityScale = e * v), - (t.path = h.node()), - (t.pathLength = t.path.getTotalLength() / (_ ? 2 : 1))); - }), - M) - ) { - var C, - E, - L = s.box.width, - z = s.box.line.width; - (_ - ? ((C = v * L), (E = 0)) - : w - ? ((C = [0, (v * L) / 2]), (E = -z)) - : ((C = [(v * L) / 2, 0]), (E = z)), - o.plotBoxAndWhiskers(c, { pos: b, val: x }, s, { - bPos: y, - bdPos: C, - bPosPxOffset: E, - }), - A && - o.plotBoxMean(c, { pos: b, val: x }, s, { - bPos: y, - bdPos: C, - bPosPxOffset: E, - })); - } else if (A) { - var P = c.selectAll("path.mean").data(i.identity); - (P.enter() - .append("path") - .attr("class", "mean") - .style({ fill: "none", "vector-effect": "non-scaling-stroke" }), - P.exit().remove(), - P.each(function (t) { - var e = x.c2p(t.mean, !0), - r = l.getPositionOnKdePath(t, s, e); - n.select(this).attr( - "d", - "h" === s.orientation - ? "M" + e + "," + r[0] + "V" + r[1] - : "M" + r[0] + "," + e + "H" + r[1], - ); - })); - } - s.points && o.plotPoints(c, { x: f, y: h }, s, a); - } - })); - }; - }, - { - "../../components/drawing": 499, - "../../lib": 602, - "../box/plot": 762, - "../scatter/line_points": 940, - "./helpers": 1024, - d3: 130, - }, - ], - 1030: [ - function (t, e, r) { - "use strict"; - var n = t("../box/set_positions").setPositionOffset, - i = ["v", "h"]; - e.exports = function (t, e) { - for ( - var r = t.calcdata, a = e.xaxis, o = e.yaxis, s = 0; - s < i.length; - s++ - ) { - for ( - var l = i[s], c = "h" === l ? o : a, u = [], f = 0, h = 0, p = 0; - p < r.length; - p++ - ) { - var d = r[p], - g = d[0].t, - m = d[0].trace; - !0 !== m.visible || - "violin" !== m.type || - g.empty || - m.orientation !== l || - m.xaxis !== a._id || - m.yaxis !== o._id || - (u.push(p), - !1 !== m.points && - ((f = Math.max(f, m.jitter - m.pointpos - 1)), - (h = Math.max(h, m.jitter + m.pointpos - 1)))); - } - n("violin", t, u, c, [f, h]); - } - }; - }, - { "../box/set_positions": 764 }, - ], - 1031: [ - function (t, e, r) { - "use strict"; - var n = t("d3"), - i = t("../../components/color"), - a = t("../scatter/style").stylePoints; - e.exports = function (t, e) { - var r = e ? e[0].node3 : n.select(t).selectAll("g.trace.violins"); - (r.style("opacity", function (t) { - return t[0].trace.opacity; - }), - r.each(function (e) { - var r = e[0].trace, - o = n.select(this), - s = r.box || {}, - l = s.line || {}, - c = r.meanline || {}, - u = c.width; - (o - .selectAll("path.violin") - .style("stroke-width", r.line.width + "px") - .call(i.stroke, r.line.color) - .call(i.fill, r.fillcolor), - o - .selectAll("path.box") - .style("stroke-width", l.width + "px") - .call(i.stroke, l.color) - .call(i.fill, s.fillcolor), - o - .selectAll("path.mean") - .style({ - "stroke-width": u + "px", - "stroke-dasharray": 2 * u + "px," + u + "px", - }) - .call(i.stroke, c.color), - a(o, r, t)); - })); - }; - }, - { "../../components/color": 474, "../scatter/style": 947, d3: 130 }, - ], - 1032: [ - function (t, e, r) { - "use strict"; - var n = t("../plots/cartesian/axes"), - i = t("../lib"), - a = t("../plot_api/plot_schema"), - o = t("./helpers").pointsAccessorFunction, - s = t("../constants/numerical").BADNUM; - ((r.moduleType = "transform"), (r.name = "aggregate")); - var l = (r.attributes = { - enabled: { valType: "boolean", dflt: !0, editType: "calc" }, - groups: { - valType: "string", - strict: !0, - noBlank: !0, - arrayOk: !0, - dflt: "x", - editType: "calc", - }, - aggregations: { - _isLinkedToArray: "aggregation", - target: { valType: "string", editType: "calc" }, - func: { - valType: "enumerated", - values: [ - "count", - "sum", - "avg", - "median", - "mode", - "rms", - "stddev", - "min", - "max", - "first", - "last", - ], - dflt: "first", - editType: "calc", - }, - funcmode: { - valType: "enumerated", - values: ["sample", "population"], - dflt: "sample", - editType: "calc", - }, - enabled: { valType: "boolean", dflt: !0, editType: "calc" }, - editType: "calc", - }, - editType: "calc", - }), - c = l.aggregations; - function u(t, e, r, a) { - if (a.enabled) { - for ( - var o = a.target, - l = i.nestedProperty(e, o), - c = l.get(), - u = (function (t, e) { - var r = t.func, - n = e.d2c, - i = e.c2d; - switch (r) { - case "count": - return f; - case "first": - return h; - case "last": - return p; - case "sum": - return function (t, e) { - for (var r = 0, a = 0; a < e.length; a++) { - var o = n(t[e[a]]); - o !== s && (r += o); - } - return i(r); - }; - case "avg": - return function (t, e) { - for (var r = 0, a = 0, o = 0; o < e.length; o++) { - var l = n(t[e[o]]); - l !== s && ((r += l), a++); - } - return a ? i(r / a) : s; - }; - case "min": - return function (t, e) { - for (var r = 1 / 0, a = 0; a < e.length; a++) { - var o = n(t[e[a]]); - o !== s && (r = Math.min(r, o)); - } - return r === 1 / 0 ? s : i(r); - }; - case "max": - return function (t, e) { - for (var r = -1 / 0, a = 0; a < e.length; a++) { - var o = n(t[e[a]]); - o !== s && (r = Math.max(r, o)); - } - return r === -1 / 0 ? s : i(r); - }; - case "median": - return function (t, e) { - for (var r = [], a = 0; a < e.length; a++) { - var o = n(t[e[a]]); - o !== s && r.push(o); - } - if (!r.length) return s; - r.sort(); - var l = (r.length - 1) / 2; - return i((r[Math.floor(l)] + r[Math.ceil(l)]) / 2); - }; - case "mode": - return function (t, e) { - for (var r = {}, a = 0, o = s, l = 0; l < e.length; l++) { - var c = n(t[e[l]]); - if (c !== s) { - var u = (r[c] = (r[c] || 0) + 1); - u > a && ((a = u), (o = c)); - } - } - return a ? i(o) : s; - }; - case "rms": - return function (t, e) { - for (var r = 0, a = 0, o = 0; o < e.length; o++) { - var l = n(t[e[o]]); - l !== s && ((r += l * l), a++); - } - return a ? i(Math.sqrt(r / a)) : s; - }; - case "stddev": - return function (e, r) { - var i, - a = 0, - o = 0, - l = 1, - c = s; - for (i = 0; i < r.length && c === s; i++) c = n(e[r[i]]); - if (c === s) return s; - for (; i < r.length; i++) { - var u = n(e[r[i]]); - if (u !== s) { - var f = u - c; - ((a += f), (o += f * f), l++); - } - } - var h = "sample" === t.funcmode ? l - 1 : l; - return h ? Math.sqrt((o - (a * a) / l) / h) : 0; - }; - } - })(a, n.getDataConversions(t, e, o, c)), - d = new Array(r.length), - g = 0; - g < r.length; - g++ - ) - d[g] = u(c, r[g]); - (l.set(d), "count" === a.func && i.pushUnique(e._arrayAttrs, o)); - } - } - function f(t, e) { - return e.length; - } - function h(t, e) { - return t[e[0]]; - } - function p(t, e) { - return t[e[e.length - 1]]; - } - ((r.supplyDefaults = function (t, e) { - var r, - n = {}; - function o(e, r) { - return i.coerce(t, n, l, e, r); - } - if (!o("enabled")) return n; - var s = a.findArrayAttributes(e), - u = {}; - for (r = 0; r < s.length; r++) u[s[r]] = 1; - var f = o("groups"); - if (!Array.isArray(f)) { - if (!u[f]) return void (n.enabled = !1); - u[f] = 0; - } - var h, - p = t.aggregations || [], - d = (n.aggregations = new Array(p.length)); - function g(t, e) { - return i.coerce(p[r], h, c, t, e); - } - for (r = 0; r < p.length; r++) { - h = { _index: r }; - var m = g("target"), - v = g("func"); - g("enabled") && m && (u[m] || ("count" === v && void 0 === u[m])) - ? ("stddev" === v && g("funcmode"), (u[m] = 0), (d[r] = h)) - : (d[r] = { enabled: !1, _index: r }); - } - for (r = 0; r < s.length; r++) - u[s[r]] && - d.push({ target: s[r], func: c.func.dflt, enabled: !0, _index: -1 }); - return n; - }), - (r.calcTransform = function (t, e, r) { - if (r.enabled) { - var n = r.groups, - a = i.getTargetArray(e, { target: n }); - if (a) { - var s, - l, - c, - f, - h = {}, - p = {}, - d = [], - g = o(e.transforms, r), - m = a.length; - for (e._length && (m = Math.min(m, e._length)), s = 0; s < m; s++) - void 0 === (c = h[(l = a[s])]) - ? ((h[l] = d.length), (f = [s]), d.push(f), (p[h[l]] = g(s))) - : (d[c].push(s), (p[h[l]] = (p[h[l]] || []).concat(g(s)))); - r._indexToPoints = p; - var v = r.aggregations; - for (s = 0; s < v.length; s++) u(t, e, d, v[s]); - ("string" == typeof n && - u(t, e, d, { target: n, func: "first", enabled: !0 }), - (e._length = d.length)); - } - } - })); - }, - { - "../constants/numerical": 579, - "../lib": 602, - "../plot_api/plot_schema": 639, - "../plots/cartesian/axes": 648, - "./helpers": 1035, - }, - ], - 1033: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("../registry"), - a = t("../plots/cartesian/axes"), - o = t("./helpers").pointsAccessorFunction, - s = t("../constants/filter_ops"), - l = s.COMPARISON_OPS, - c = s.INTERVAL_OPS, - u = s.SET_OPS; - ((r.moduleType = "transform"), - (r.name = "filter"), - (r.attributes = { - enabled: { valType: "boolean", dflt: !0, editType: "calc" }, - target: { - valType: "string", - strict: !0, - noBlank: !0, - arrayOk: !0, - dflt: "x", - editType: "calc", - }, - operation: { - valType: "enumerated", - values: [].concat(l).concat(c).concat(u), - dflt: "=", - editType: "calc", - }, - value: { valType: "any", dflt: 0, editType: "calc" }, - preservegaps: { valType: "boolean", dflt: !1, editType: "calc" }, - editType: "calc", - }), - (r.supplyDefaults = function (t) { - var e = {}; - function a(i, a) { - return n.coerce(t, e, r.attributes, i, a); - } - if (a("enabled")) { - (a("preservegaps"), a("operation"), a("value"), a("target")); - var o = i.getComponentMethod("calendars", "handleDefaults"); - (o(t, e, "valuecalendar", null), o(t, e, "targetcalendar", null)); - } - return e; - }), - (r.calcTransform = function (t, e, r) { - if (r.enabled) { - var i = n.getTargetArray(e, r); - if (i) { - var s = r.target, - f = i.length; - e._length && (f = Math.min(f, e._length)); - var h = r.targetcalendar, - p = e._arrayAttrs, - d = r.preservegaps; - if ("string" == typeof s) { - var g = n.nestedProperty(e, s + "calendar").get(); - g && (h = g); - } - var m, - v, - y = (function (t, e, r) { - var n = t.operation, - i = t.value, - a = Array.isArray(i); - function o(t) { - return -1 !== t.indexOf(n); - } - var s, - f = function (r) { - return e(r, 0, t.valuecalendar); - }, - h = function (t) { - return e(t, 0, r); - }; - o(l) - ? (s = f(a ? i[0] : i)) - : o(c) - ? (s = a ? [f(i[0]), f(i[1])] : [f(i), f(i)]) - : o(u) && (s = a ? i.map(f) : [f(i)]); - switch (n) { - case "=": - return function (t) { - return h(t) === s; - }; - case "!=": - return function (t) { - return h(t) !== s; - }; - case "<": - return function (t) { - return h(t) < s; - }; - case "<=": - return function (t) { - return h(t) <= s; - }; - case ">": - return function (t) { - return h(t) > s; - }; - case ">=": - return function (t) { - return h(t) >= s; - }; - case "[]": - return function (t) { - var e = h(t); - return e >= s[0] && e <= s[1]; - }; - case "()": - return function (t) { - var e = h(t); - return e > s[0] && e < s[1]; - }; - case "[)": - return function (t) { - var e = h(t); - return e >= s[0] && e < s[1]; - }; - case "(]": - return function (t) { - var e = h(t); - return e > s[0] && e <= s[1]; - }; - case "][": - return function (t) { - var e = h(t); - return e <= s[0] || e >= s[1]; - }; - case ")(": - return function (t) { - var e = h(t); - return e < s[0] || e > s[1]; - }; - case "](": - return function (t) { - var e = h(t); - return e <= s[0] || e > s[1]; - }; - case ")[": - return function (t) { - var e = h(t); - return e < s[0] || e >= s[1]; - }; - case "{}": - return function (t) { - return -1 !== s.indexOf(h(t)); - }; - case "}{": - return function (t) { - return -1 === s.indexOf(h(t)); - }; - } - })(r, a.getDataToCoordFunc(t, e, s, i), h), - x = {}, - b = {}, - _ = 0; - (d - ? ((m = function (t) { - ((x[t.astr] = n.extendDeep([], t.get())), t.set(new Array(f))); - }), - (v = function (t, e) { - var r = x[t.astr][e]; - t.get()[e] = r; - })) - : ((m = function (t) { - ((x[t.astr] = n.extendDeep([], t.get())), t.set([])); - }), - (v = function (t, e) { - var r = x[t.astr][e]; - t.get().push(r); - })), - M(m)); - for (var w = o(e.transforms, r), k = 0; k < f; k++) { - y(i[k]) ? (M(v, k), (b[_++] = w(k))) : d && _++; - } - ((r._indexToPoints = b), (e._length = _)); - } - } - function M(t, r) { - for (var i = 0; i < p.length; i++) { - t(n.nestedProperty(e, p[i]), r); - } - } - })); - }, - { - "../constants/filter_ops": 575, - "../lib": 602, - "../plots/cartesian/axes": 648, - "../registry": 732, - "./helpers": 1035, - }, - ], - 1034: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("../plot_api/plot_schema"), - a = t("../plots/plots"), - o = t("./helpers").pointsAccessorFunction; - function s(t, e) { - var r, - s, - c, - u, - f, - h, - p, - d, - g, - m, - v = e.transform, - y = e.transformIndex, - x = t.transforms[y].groups, - b = o(t.transforms, v); - if (!Array.isArray(x) || 0 === x.length) return [t]; - var _ = n.filterUnique(x), - w = new Array(_.length), - k = x.length, - M = i.findArrayAttributes(t), - A = v.styles || [], - T = {}; - for (r = 0; r < A.length; r++) T[A[r].target] = A[r].value; - v.styles && (m = n.keyedContainer(v, "styles", "target", "value.name")); - var S = {}, - C = {}; - for (r = 0; r < _.length; r++) { - ((S[(h = _[r])] = r), - (C[h] = 0), - ((p = w[r] = n.extendDeepNoArrays({}, t))._group = h), - (p.updateStyle = l(h, y)), - (p.transforms[y]._indexToPoints = {})); - var E = null; - for ( - m && (E = m.get(h)), - p.name = - E || "" === E - ? E - : n.templateString(v.nameformat, { trace: t.name, group: h }), - d = p.transforms, - p.transforms = [], - s = 0; - s < d.length; - s++ - ) - p.transforms[s] = n.extendDeepNoArrays({}, d[s]); - for (s = 0; s < M.length; s++) n.nestedProperty(p, M[s]).set([]); - } - for (c = 0; c < M.length; c++) { - for (u = M[c], s = 0, g = []; s < _.length; s++) - g[s] = n.nestedProperty(w[s], u).get(); - for (f = n.nestedProperty(t, u).get(), s = 0; s < k; s++) - g[S[x[s]]].push(f[s]); - } - for (s = 0; s < k; s++) { - (((p = w[S[x[s]]]).transforms[y]._indexToPoints[C[x[s]]] = b(s)), - C[x[s]]++); - } - for (r = 0; r < _.length; r++) - ((h = _[r]), - (p = w[r]), - a.clearExpandedTraceDefaultColors(p), - (p = n.extendDeepNoArrays(p, T[h] || {}))); - return w; - } - function l(t, e) { - return function (r, i, a) { - n.keyedContainer( - r, - "transforms[" + e + "].styles", - "target", - "value." + i, - ).set(String(t), a); - }; - } - ((r.moduleType = "transform"), - (r.name = "groupby"), - (r.attributes = { - enabled: { valType: "boolean", dflt: !0, editType: "calc" }, - groups: { valType: "data_array", dflt: [], editType: "calc" }, - nameformat: { valType: "string", editType: "calc" }, - styles: { - _isLinkedToArray: "style", - target: { valType: "string", editType: "calc" }, - value: { - valType: "any", - dflt: {}, - editType: "calc", - _compareAsJSON: !0, - }, - editType: "calc", - }, - editType: "calc", - }), - (r.supplyDefaults = function (t, e, i) { - var a, - o = {}; - function s(e, i) { - return n.coerce(t, o, r.attributes, e, i); - } - if (!s("enabled")) return o; - (s("groups"), - s( - "nameformat", - i._dataLength > 1 ? "%{group} (%{trace})" : "%{group}", - )); - var l = t.styles, - c = (o.styles = []); - if (l) - for (a = 0; a < l.length; a++) { - var u = (c[a] = {}); - n.coerce(l[a], c[a], r.attributes.styles, "target"); - var f = n.coerce(l[a], c[a], r.attributes.styles, "value"); - n.isPlainObject(f) - ? (u.value = n.extendDeep({}, f)) - : f && delete u.value; - } - return o; - }), - (r.transform = function (t, e) { - var r, - n, - i, - a = []; - for (n = 0; n < t.length; n++) - for (r = s(t[n], e), i = 0; i < r.length; i++) a.push(r[i]); - return a; - })); - }, - { - "../lib": 602, - "../plot_api/plot_schema": 639, - "../plots/plots": 710, - "./helpers": 1035, - }, - ], - 1035: [ - function (t, e, r) { - "use strict"; - r.pointsAccessorFunction = function (t, e) { - for (var r, n, i = 0; i < t.length && (r = t[i]) !== e; i++) - r._indexToPoints && !1 !== r.enabled && (n = r._indexToPoints); - return n - ? function (t) { - return n[t]; - } - : function (t) { - return [t]; - }; - }; - }, - {}, - ], - 1036: [ - function (t, e, r) { - "use strict"; - var n = t("../lib"), - i = t("../plots/cartesian/axes"), - a = t("./helpers").pointsAccessorFunction; - ((r.moduleType = "transform"), - (r.name = "sort"), - (r.attributes = { - enabled: { valType: "boolean", dflt: !0, editType: "calc" }, - target: { - valType: "string", - strict: !0, - noBlank: !0, - arrayOk: !0, - dflt: "x", - editType: "calc", - }, - order: { - valType: "enumerated", - values: ["ascending", "descending"], - dflt: "ascending", - editType: "calc", - }, - editType: "calc", - }), - (r.supplyDefaults = function (t) { - var e = {}; - function i(i, a) { - return n.coerce(t, e, r.attributes, i, a); - } - return (i("enabled") && (i("target"), i("order")), e); - }), - (r.calcTransform = function (t, e, r) { - if (r.enabled) { - var o = n.getTargetArray(e, r); - if (o) { - var s = r.target, - l = o.length; - e._length && (l = Math.min(l, e._length)); - var c, - u, - f = e._arrayAttrs, - h = (function (t, e, r, n) { - var i, - a = new Array(n), - o = new Array(n); - for (i = 0; i < n; i++) a[i] = { v: e[i], i: i }; - for ( - a.sort( - (function (t, e) { - switch (t.order) { - case "ascending": - return function (t, r) { - return e(t.v) - e(r.v); - }; - case "descending": - return function (t, r) { - return e(r.v) - e(t.v); - }; - } - })(t, r), - ), - i = 0; - i < n; - i++ - ) - o[i] = a[i].i; - return o; - })(r, o, i.getDataToCoordFunc(t, e, s, o), l), - p = a(e.transforms, r), - d = {}; - for (c = 0; c < f.length; c++) { - var g = n.nestedProperty(e, f[c]), - m = g.get(), - v = new Array(l); - for (u = 0; u < l; u++) v[u] = m[h[u]]; - g.set(v); - } - for (u = 0; u < l; u++) d[u] = p(h[u]); - ((r._indexToPoints = d), (e._length = l)); - } - } - })); - }, - { "../lib": 602, "../plots/cartesian/axes": 648, "./helpers": 1035 }, - ], - }, - {}, - [20], - )(20); -}); +* plotly.js v1.37.1 +* Copyright 2012-2018, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){var r=e[o][1][t];return i(r||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;oMath.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":41,"has-passive-events":297,"mouse-change":320,"mouse-event-offset":321,"mouse-wheel":323,"right-now":382}],41:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return"M"+r+","+l+"C"+o+","+l+" "+s+","+u+" "+i+","+u+"L"+i+","+f+"C"+s+","+f+" "+o+","+c+" "+r+","+c+"Z"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&void 0!==e?i(r,t("d3-array"),t("d3-collection"),t("d3-interpolate")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":122,"d3-collection":123,"d3-interpolate":127}],43:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,i=t("gl-buffer"),a=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":210,"gl-vao":279,"weak-map":432}],44:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;si&&(i=t[o]),t[o]=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&m(i,r,"Missing expected exception"+n);var o="string"==typeof n,s=!t&&a.isError(i),l=!t&&i&&!r;if((s&&o&&b(i,r)||l)&&m(i,r,"Got unwanted exception"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(g((e=this).actual),128)+" "+e.operator+" "+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":429}],53:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],54:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o0?l-4:l;var u=0;for(e=0;e>16&255,s[u++]=n>>8&255,s[u++]=255&n;2===o?(n=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[u++]=255&n):1===o&&(n=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[u++]=n>>8&255,s[u++]=255&n);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a="",o=[],s=0,l=r-i;sl?l:s+16383));1===i?(e=t[r-1],a+=n[e>>2],a+=n[e<<4&63],a+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],a+=n[e>>10],a+=n[e>>4&63],a+=n[e<<2&63],a+="=");return o.push(a),o.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function u(t,e,r){for(var i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],56:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":66}],57:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],58:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":66}],59:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,f;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if("string"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{"./div":58,"./is-rat":60,"./lib/is-bn":64,"./lib/num-to-bn":65,"./lib/rationalize":66,"./lib/str-to-bn":67}],60:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":64}],61:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":75}],62:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20)return 52;return r+32}},{"bit-twiddle":73,"double-bits":133}],64:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":75}],65:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":75,"double-bits":133}],66:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":61,"./num-to-bn":65}],67:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":75}],68:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":66}],69:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":61}],70:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":66}],71:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":62,"./lib/ctz":63}],72:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],73:[function(t,e,r){"use strict";"use restrict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],74:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(t=t||10,e=0|e||1,16===t||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,C=0|o[6],E=8191&C,L=C>>>13,z=0|o[7],P=8191&z,D=z>>>13,O=0|o[8],I=8191&O,R=O>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(E,V),i=(i=Math.imul(E,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(D,V)|0,a=Math.imul(D,U),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(M,J)|0,a=a+Math.imul(M,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(I,V),i=(i=Math.imul(I,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(D,H)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(D,Y)|0,a=a+Math.imul(D,X)|0,n=n+Math.imul(E,J)|0,i=(i=i+Math.imul(E,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(D,J)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(I,J)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(E,at)|0,i=(i=i+Math.imul(E,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Ct=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Et=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(D,lt)|0,a=a+Math.imul(D,ct)|0,n=n+Math.imul(E,ft)|0,i=(i=i+Math.imul(E,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(D,ft)|0,a=a+Math.imul(D,ht)|0;var zt=(c+(n=n+Math.imul(E,dt)|0)|0)+((8191&(i=(i=i+Math.imul(E,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(D,dt)|0))<<13)|0;c=((a=a+Math.imul(D,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Dt=(c+(n=n+Math.imul(I,dt)|0)|0)+((8191&(i=(i=i+Math.imul(I,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Ot=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Ct,l[13]=Et,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Dt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:84}],76:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":79,"./lib/sweep":83,"typedarray-pool":423}],78:[function(t,e,r){"use strict";var n="d",i="ax",a="vv",o="fp",s="es",l="rs",c="re",u="rb",f="ri",h="rp",p="bs",d="be",g="bb",m="bi",v="bp",y="rv",x="Q",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+h+"="+s+"*"+l+";i<"+c+";++i,"+h+"+="+s+"){var x0="+u+"["+i+"+"+h+"],x1="+u+"["+i+"+"+h+"+"+n+"],xi="+f+"[i];",k="for(var j="+p+","+v+"="+s+"*"+p+";j<"+d+";++j,"+v+"+="+s+"){var y0="+g+"["+i+"+"+v+"],"+(r?"y1="+g+"["+i+"+"+v+"+"+n+"],":"")+"yi="+m+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var M=r.join("")+w.join("");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],79:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,S,C,E,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length0;){var O=(P-=1)*b,I=w[O],R=w[O+1],B=w[O+2],F=w[O+3],N=w[O+4],j=w[O+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=E,Z=L;if(H&&(W=E,Y=L,X=u,Z=S),!(2&j&&(B=m(t,I,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,I,R,B,W,Y,U))>=B)){var J=B-R,K=N-F;if(G){if(t*J*(J+K)=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),m=u("lo>>1,h=2*t,p=f,d=s[h*f+e];for(;c=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;Mr&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d=0&&i.push("lo=e[k+n]");t.indexOf("hi")>=0&&i.push("hi=e[k+o]");return r.push(n.replace("_",i.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],82:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var C=f[2*_];var E=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var D=2*p;var O=2*g;var I=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[D+R]=B,f[O+R]=F,f[I+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,C,E,f))for(;;){if(u(M,C,E,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--Mt;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function u(t,e,r,n){var i=n[t*=2];return i>>1;a(p,S);for(var C=0,E=0,k=0;k=o)d(c,u,E--,L=L-o|0);else if(L>=0)d(s,l,C--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z>>1;a(p,C);for(var E=0,L=0,z=0,M=0;M>1==p[2*M+3]>>1&&(D=2,M+=1),P<0){for(var O=-(P>>1)-1,I=0;I>1)-1;0===D?d(s,l,E--,O):1===D?d(c,u,L--,O):2===D&&d(f,h,z--,O)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A>>1;a(p,E);for(var L=0,A=0;A=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var D=y[T],O=b*T,I=v[O+e+1],R=v[O+e+1+t];t:for(var B=0;B>>1;a(p,k);for(var M=0,x=0;x=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,C=h[S+e+1],E=h[S+e+1+t];t:for(var L=0;L=0;--L)if(s[L]===b){for(var O=L+1;Oa)throw new RangeError("Invalid typed array length");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(t)}return l(t,e,r)}function l(t,e,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return j(t)||t&&j(t.buffer)?function(t,e,r){if(e<0||t.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return F(t).length;default:if(n)return B(t).length;e=(""+e).toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,r);case"utf8":case"utf-8":return M(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(I,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function V(t){return t!=t}},{"base64-js":55,ieee754:298}],86:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),f=!!c(r,"interior",!0),h=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{"binary-search-bounds":91,"robust-in-sphere":386}],88:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":91,"robust-orientation":388}],90:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],92:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;rr?r:t:te?e:t}},{}],96:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;ae[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,C=(S=n[--a])[1];i?e.push([T,C,A]):e.push([T,C]),T=C}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{"./lib/rat-seg-intersect":97,"big-rat":59,"big-rat/cmp":57,"big-rat/to-float":71,"box-intersect":77,nextafter:336,"rat-vec":370,"robust-segment-intersect":391,"union-find":424}],97:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":58,"big-rat/mul":68,"big-rat/sign":69,"big-rat/sub":70,"rat-vec/add":369,"rat-vec/muls":371,"rat-vec/sub":372}],98:[function(t,e,r){"use strict";var n=t("clamp");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:95}],99:[function(t,e,r){"use strict";e.exports={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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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],rebeccapurple:[102,51,153],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]}},{}],100:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=a(e),o=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(o.set(t),o);var s="uint8"!==e&&"uint8_clamped"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255),o):(t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),s?(o[0]=t[0],o[1]=t[1],o[2]=t[2],o[3]=null!=t[3]?t[3]:1):(o[0]=i(Math.round(255*t[0]),0,255),o[1]=i(Math.round(255*t[1]),0,255),o[2]=i(Math.round(255*t[2]),0,255),o[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),o)}},{clamp:95,"color-rgba":102,dtype:135}],101:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],u=p.replace(/a$/,"");s=u;var f="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if("number"==typeof t)s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];else if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":99,defined:131,"is-plain-obj":308}],102:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e;if("string"!=typeof t)throw Error("Argument should be a string");var r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:95,"color-parse":101,"color-space/hsl":103}],103:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":104}],104:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],105:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],106:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");u=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);u=f.slice()}if(u.length>p)throw new Error(f+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),v=[];for(g=0;g0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{"robust-orientation":388,"robust-product":389,"robust-sum":393,signum:394,"two-sum":422}],108:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],112:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":46,"incremental-convex-hull":299}],114:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],115:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],116:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===a)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===a){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===a){if(e.shapeArgs.push(i),ir.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":118}],117:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l0&&v.push("var "+y.join(",")),l=0;l3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=function(t){for(var e=0,r=t[0].length;e0,c=[],u=0;u0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u3&&v.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+v.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",m.join(","),"){",v.join("\n"),"} return ",A].join(""))()}},{uniq:425}],118:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;ue?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++et?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;af;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++hl.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],124:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),f=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),h=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),p=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,r,n)}function k(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new M;if(t instanceof M)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r0&&c<1?0:s,new M(s,l,c,t.opacity)}(t):new M(t,e,r,null==i?1:i)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function A(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(M,k,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(A(t>=240?t-240:t+120,i,n),A(t,i,n),A(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var T=Math.PI/180,S=180/Math.PI,C=.95047,E=1,L=1.08883,z=4/29,P=6/29,D=3*P*P,O=P*P*P;function I(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=F((.4124564*r+.3575761*n+.1804375*i)/C),o=F((.2126729*r+.7151522*n+.072175*i)/E);return new B(116*o-16,500*(a-o),200*(o-F((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?I(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function F(t){return t>O?Math.pow(t,1/3):t/D+z}function N(t){return t>P?t*t*t:D*(t-z)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof B||(t=I(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,R,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return t=E*N(t),new _(j(3.2404542*(e=C*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return I(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=k,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],125:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l0)for(var r,n,i=new Array(r),a=0;ah+c||np+c||au.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;vt.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+""}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;nf&&(f=i),ah&&(h=a));for(ft||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.d3=n.d3||{})},{}],130:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[D(t,"matchesSelector")];return(W=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?I:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Dt(t){return t>1?0:t<-1?At:Math.acos(t)}function Ot(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function It(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function C(t){m++||t({type:"zoomstart"})}function E(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),E(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);ss.call(e),C(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);ss.call(r);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Et)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ce(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ee[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ze=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ce(e,r))).toFixed(Math.max(0,Math.min(20,Ce(e*(1+1e-15),r))))}});function Pe(t){return t+""}var De=t.time={},Oe=Date;function Ie(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Ie.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r1)for(;o68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,"0",2)+Ue(i,"0",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===i&&"="===s)&&(u=i="0",s="="),d){case"n":h=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=a[0],v=a[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var M=x?e.lastIndexOf("e"):-1;M<0?(_=e,w=""):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A"===s?T+a+e:"^"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Oe=Ie);return r._=t,e(r)}finally{Oe=Date}}return r.parse=function(t){try{Oe=Ie;var r=e.parse(t);return r&&r._}finally{Oe=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach(function(t,e){h.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+De.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(De.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(De.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ar};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Cr.add(Math.atan2(h,f)),r=t,n=l,i=c}Er.point=function(o,s){Er.point=a,r=(t=o)*Et,n=Math.cos(s=(e=s)*Et/2+At/4),i=Math.sin(s)},Er.lineEnd=function(){a(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ir(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Br(t){return[Math.atan2(t[1],t[0]),Ot(t[2])]}function Fr(t,e){return y(t[0]-e[0])kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),ai&&(i=a)}function d(t,o){var s=zr([t*Et,o*Et]);if(l){var c=Dr(l,s),u=Dr([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*ai&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&di&&(i=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Er.point(t,e),d(t,e)}function x(){Er.lineStart()}function b(){v(o,s),Er.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n=0?1:-1,k=w*_,M=k>At,A=d*x;if(Cr.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Dr(zr(f),zr(t));Rr(T);var S=Dr(i,T);Rr(S);var C=(M^_>=0?-1:1)*Ot(S[2]);(n>C||n===C&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:I,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]0)){if(a/=h,h<0){if(a0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a0)){if(a/=p,p<0){if(a0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;in&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return k};function a(t,i){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Ot((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:I,lineStart:I,lineEnd:I,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=I,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){tfn&&(fn=t);ehn&&(hn=e)},lineStart:I,lineEnd:I,polygonStart:I,polygonEnd:I};function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var vn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function kn(t){var e=.5,r=Math.cos(30*Et),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return An(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g0&&16,i):Math.sqrt(e)},i}function Mn(t){this.stream=t}function An(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=kn(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Et,t[1]*Et))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=zn(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Fr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},In(t,6*Et),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Dr(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Dr(i,a),h=Ir(i,c);Or(h,Ir(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Ir(p,(-d-v)/g);if(Or(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)0^x[1]<(y(x[0]-_)At^(_<=x[0]&&x[0]<=w)){var S=Ir(p,(-d+v)/g);return Or(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Et),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Et,p=t[1]%360*Et,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Et,g=t[1]%360*Et,m=t.length>2?t[2]%360*Et:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Cn(t){return An(t,function(e,r){t.point(e*Et,r*Et)})}function En(t,e){return[t,e]}function Ln(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),On(e,r)):Dn(t):e||r?On(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=Pn(t);return e.invert=Pn(-t),e}function On(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),Ot(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Ot(u*r-s*n)]},o}function In(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?ia)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u2?t[2]*Et:0),e.invert=function(e){return(e=t.invert(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=En,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Et,-t[1]*Et,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=In((t=+r)*Et,n*Et),i):t},i.precision=function(r){return arguments.length?(e=In(t*Et,(n=+r)*Et),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Et,i=t[1]*Et,a=e[1]*Et,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%m)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=Bn(o,a,90),u=Fn(r,e,v),f=Bn(l,s,90),h=Fn(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Et,n=t[1]*Et,i=e[0]*Et,a=e[1]*Et,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return vn=0,t.geo.stream(e,Vn),vn};var Vn={sphere:I,point:I,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Et),o=Math.cos(i),s=y((n*=Et)-t),l=Math.cos(s);vn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Et,e=Math.sin(a*=Et),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=I}},lineEnd:I,polygonStart:I,polygonEnd:I};function Un(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Zn(Qn),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;nkt)s=s.L;else{if(!((i=a-xi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ci.insert(e,l),e||r){if(e===r)return ki(e),r=di(e.site),ci.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){ki(e),ki(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};Si(r.edge,c,d,b),l.edge=Ti(c,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=fi._;x;)if(v.y=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.xkt||y(i-r)>kt)&&(s.splice(o,0,new Ci((v=a.site,x=u,b=y(n-f)kt?{x:f,y:y(e-f)kt?{x:y(r-d)kt?{x:h,y:y(e-h)kt?{x:y(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Oi(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Oi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(_i),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Vi(r,n)})),a=Hi.lastIndex;return ag&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;fg&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),u?i=l:o=l,f?a=c:s=c,M(t,e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h=_)<<1|e>=b,k=w+4;w=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ea(t){return 1-Math.cos(t*Ct)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):"in";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=aa,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new oa(e?e.matrix:ca)})(e)},oa.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ca={a:1,b:0,c:0,d:1,e:0,f:0};function ua(t){return t.length?t.pop()+",":""}function fa(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ua(r)+"rotate(",null,")")-2,x:Vi(t,e)})):e&&r.push(ua(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ua(r)+"skewX(",null,")")-2,x:Vi(t,e)}):e&&r.push(ua(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ua(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ua(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Me(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function Aa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Aa(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ma(t,function(t){t.children&&(t.value=0)}),Aa(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Za),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Ua(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Aa(s,function(t){t.r=+u(t.value)}),Aa(s,Xa),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Aa(s,function(t){t.r+=f}),Aa(s,Xa),Aa(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ma(u,function(t){t.x=(t.x+g)*m,t.y=t.depth*v})}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!to(o)&&(o.t=s,o.m+=f-u),a&&!$a(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},ka(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Aa(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Aa(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},ka(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?fo:so,s=i?pa:ha;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return mo(e,t)};l.tickFormat=function(t,r){return vo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c0;h--)e.push(s(c)*h);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?i[t-1]:r[0],tf?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,C=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Co?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Ot(m/c*Math.sin(v))),s&&(T=Ot(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var E=Math.abs(f-u-2*S)<=At?0:1;if(S&&Oo(y,x,b,_)===p^E){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Oo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function Io(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,C=M-d,E=A-g;return T*T+S*S>C*C+E*E&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Fo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push("M",i(t(c),o))}for(;++u1&&i.push("H",n[0]);return i.join("")},"step-before":jo,"step-after":Vo,basis:Ho,"basis-open":function(t){if(t.length<4)return Fo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+","+Go(Xo,o)),--n;for(;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Fo(t){return t.length>1?t.join("L"):t+"Z"}function No(t){return t.join("L")+"Z"}function jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cAt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=me(e),n):t},n.target=function(t){return arguments.length?(e=me(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ct;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var is=t.map({circle:ns,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*os)),r=e*os;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/as),r=e*as/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/as),r=e*as/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Et);Y.transition=function(t){for(var e,r,n=us||++ps,i=ms(t),a=[],o=fs||{time:Date.now(),ease:ta,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}hs.call=Y.call,hs.empty=Y.empty,hs.node=Y.node,hs.size=Y.size,t.transition=function(e,r){return e&&e.transition?us?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=hs,hs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed("extent"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on("keydown.brush",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on("keyup.brush",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var C=+/w$/.test(_),E=+/^n/.test(_);m=[s[1-C]-T[0],l[1-E]-T[1]],T[0]=s[C],T[1]=l[E]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=Es(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Es(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Es(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Cs(e.copy(),r,n)},ho(i,e)}function Es(t){return new Date(t)}Ms.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,De.second=Be(function(t){return new Oe(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),De.seconds=De.second.range,De.seconds.utc=De.second.utc.range,De.minute=Be(function(t){return new Oe(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),De.minutes=De.minute.range,De.minutes.utc=De.minute.utc.range,De.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Oe(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),De.hours=De.hour.range,De.hours.utc=De.hour.utc.range,De.month=Be(function(t){return(t=De.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),De.months=De.month.range,De.months.utc=De.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[De.second,1],[De.second,5],[De.second,15],[De.second,30],[De.minute,1],[De.minute,5],[De.minute,15],[De.minute,30],[De.hour,1],[De.hour,3],[De.hour,6],[De.hour,12],[De.day,1],[De.day,2],[De.week,1],[De.month,1],[De.month,3],[De.year,1]],Ps=Ms.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Wr]]),Ds={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Es)},floor:z,ceil:z};zs.year=De.year,De.scale=function(){return Cs(t.scale.linear(),zs,Ps)};var Os=zs.map(function(t){return[t[0].utc,t[1]]}),Is=As.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Bs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Os.year=De.year.utc,De.scale.utc=function(){return Cs(t.scale.linear(),Os,Is)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",Rs,e)},t.html=function(t,e){return ye(t,"text/html",Bs,e)},t.xml=ve(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],131:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":299,uniq:425}],133:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:85}],134:[function(t,e,r){var n=t("abs-svg-path"),i=t("normalize-svg-path"),a={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":44,"normalize-svg-path":337}],135:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],136:[function(t,e,r){"use strict";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],138:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,M,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r0?1:-1}},{}],149:[function(t,e,r){"use strict";var n=t("../math/sign"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{"../math/sign":146}],150:[function(t,e,r){"use strict";var n=t("./to-integer"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{"./to-integer":149}],151:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./valid-value"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{"./valid-callable":169,"./valid-value":171}],152:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":153,"./shim":154}],153:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],154:[function(t,e,r){"use strict";var n=t("../keys"),i=t("../valid-value"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},{}],175:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],176:[function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],177:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":180,d:121,"es5-ext/object/set-prototype-of":166,"es5-ext/string/#/contains":172,"es6-symbol":185}],178:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/valid-callable"),a=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{"./get":179,"es5-ext/function/is-arguments":143,"es5-ext/object/valid-callable":169,"es5-ext/string/is-string":175}],179:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/string/is-string"),a=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{"./array":177,"./string":182,"./valid-iterable":183,"es5-ext/function/is-arguments":143,"es5-ext/string/is-string":175,"es6-symbol":185}],180:[function(t,e,r){"use strict";var n,i=t("es5-ext/array/#/clear"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:121,"d/auto-bind":120,"es5-ext/array/#/clear":139,"es5-ext/object/assign":152,"es5-ext/object/valid-callable":169,"es5-ext/object/valid-value":171,"es6-symbol":185}],181:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/is-value"),a=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":143,"es5-ext/object/is-value":160,"es5-ext/string/is-string":175,"es6-symbol":185}],182:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":180,d:121,"es5-ext/object/set-prototype-of":166,"es6-symbol":185}],183:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":181}],184:[function(t,e,r){(function(n,i){!function(t,n){"object"==typeof r&&void 0!==e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!i(e))throw TypeError("listener must be a function");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var r,n,o,s;if(!i(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(o=(r=this._events[t]).length,n=-1,r===e||i(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(a(r)){for(s=o;s-- >0;)if(r[s]===e||r[s].listener&&r[s].listener===e){n=s;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},{}],195:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],196:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}(r))return!1}else if("number"!==e)return!1;return t-t<1}},{}],197:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),i=t("binary-search-bounds");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":72,"cubic-hermite":115}],198:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var i=t[0].length,a=t.length*i;e&&"string"!=typeof e||(e=new(n(e||"float32"))(a+r));var o=e.length-r;if(a!==o)throw new Error("source length "+a+" ("+i+"x"+t.length+") does not match destination length "+o);for(var s=0,l=r;s=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new f(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return te?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+11&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],200:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],201:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var C=0;C<2;++C){var E=(M+1+C)%3,L=(M+1+(1^C))%3;this.gridEnable[E]&&this._lines.drawGrid(E,L,this.bounds,S,this.gridColor[E],this.gridWidth[E]*this.pixelRatio)}for(C=0;C<2;++C){E=(M+1+C)%3,L=(M+1+(1^C))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(E,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var O=k/r[5*C];z[C]*=D[C]*O,P[C]*=D[C]*O}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var I=A[M].primalMinor,R=c(x,A[M].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[M]&&(R[C]+=k*I[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);if(this.tickEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(C=0;C<3;++C)R[C]+=k*I[C]*this.labelPad[C]/r[5*C];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":203,"./lib/cube.js":204,"./lib/lines.js":205,"./lib/text.js":207,"./lib/ticks.js":208}],203:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":206,"gl-buffer":210,"gl-vao":279}],204:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]S&&(_|=1<S&&(_|=1<c[y][1]&&(I=y));for(var R=-1,y=0;y<3;++y){var B=I^1<c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^I)]=I&R,N[n.log2(I^F)]=I&F;var j=7^F;j===_||j===O?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1< 0.0) {\n vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n colorChannel = abs(normal);\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] + \n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":263,glslify:295}],207:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn("error vectorizing text:",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var f=""+c;f.length=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=new s(t,r,t.createBuffer(),0,n);return i.update(e),i}},{ndarray:335,"ndarray-ops":329,"typedarray-pool":423}],211:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],212:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":211}],213:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return this.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":214,"gl-buffer":210,"gl-vao":279}],214:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":263,glslify:295}],215:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;vi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":263,glslify:295}],221:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),"opacity"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,"dashes"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(f_position, clipBounds[0])) || \n any(greaterThan(f_position, clipBounds[1]))) {\n discard;\n }\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if(any(lessThan(position, clipBounds[0])) || \n any(greaterThan(position, clipBounds[1]))) {\n gl_Position = vec4(0,0,0,0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:295}],244:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},M.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],Mi[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r0&&0===E[e-1];)E.pop(),L.pop().dispose()}window.addEventListener("resize",N),B.update=function(t){e||(t=t||{},z=!0,P=!0)},B.add=function(t){e||(t.axes=M,S.push(t),C.push(-1),z=!0,P=!0,j())},B.remove=function(t){if(!e){var r=S.indexOf(t);r<0||(S.splice(r,1),C.pop(),z=!0,P=!0,j())}},B.dispose=function(){if(!e&&(e=!0,window.removeEventListener("resize",N),r.removeEventListener("webglcontextlost",q),B.mouseListener.enabled=!1,!B.contextLost)){M.dispose(),T.dispose();for(var t=0;tx.distance)continue;for(var u=0;u0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function g(t){return"boolean"!=typeof t||t}},{"./lib/shader":252,"3d-view-controls":40,"a-big-triangle":43,"gl-axes3d":202,"gl-axes3d/properties":209,"gl-fbo":215,"gl-mat4/perspective":233,"gl-select-static":262,"gl-spikes3d":272,"is-mobile":306,"mouse-change":320}],254:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:295}],255:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{"./lib/shader":254,"gl-buffer":210,"gl-shader":263,"typedarray-pool":423}],256:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],257:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:"center",textBaseline:"middle",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var d=[0,0],g=[0,0,0],m=[0,0,0],v=[0,0,0,1],y=[0,0,0,1],x=c.slice(),b=[0,0,0],_=[[0,0,0],[0,0,0]];function w(t){return t[0]=t[1]=t[2]=0,t}function k(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function M(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function A(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,A=r.projection||c,T=e.axesBounds,S=function(t){for(var e=_,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],d[0]=2/l.drawingBufferWidth,d[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=A,u.screenSize=d,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var C=0;C<3;++C)if(s[C]&&e.projectOpacity[C]<1===n){u.scale=e.projectScale[C],u.opacity=e.projectOpacity[C];for(var E=x,L=0;L<16;++L)E[L]=0;for(L=0;L<4;++L)E[5*L]=1;E[5*C]=0,a[C]<0?E[12+C]=T[0][C]:E[12+C]=T[1][C],o(E,h,E),u.model=E;var z=(C+1)%3,P=(C+2)%3,D=w(g),O=w(m);D[z]=1,O[P]=1;var I=f(0,0,0,k(v,D)),R=f(0,0,0,k(y,O));if(Math.abs(I[1])>Math.abs(R[1])){var B=I;I=R,R=B,B=D,D=O,O=B;var F=z;z=P,P=F}I[0]<0&&(D[z]=-1),R[1]>0&&(O[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);D[z]/=Math.sqrt(N),O[P]/=Math.sqrt(j),u.axes[0]=D,u.axes[1]=O,u.fragClipBounds[0]=M(b,S[0],C,-1e8),u.fragClipBounds[1]=M(b,S[1],C,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var T=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function S(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,d[0]=2/o.drawingBufferWidth,d[1]=2/o.drawingBufferHeight,s.screenSize=d,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=T,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}A(e,r,n,i),r.vao.unbind()}p.draw=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},p.drawTransparent=function(t){S(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},p.drawPick=function(t){S(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},p.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},p.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if("projectOpacity"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}"opacity"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||"normal",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":260,"gl-buffer":210,"gl-shader":263}],262:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new l(t,r,a)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_fthis.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A=0;)T+=1;_[y]=T}var S=new Array(r.length);function C(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p,i,d,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],c=[],u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c1)for(var l=0;l 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z = clipPosition.z + zOffset;\n\n gl_Position = clipPosition;\n value = f;\n kill = -1.0;\n worldCoordinate = dataCoordinate;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if(kill > 0.0 ||\n any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\n discard;\n }\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":263,glslify:295}],274:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,T,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new S(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var T=256;function S(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=S.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function z(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},D=k.slice(),O=[1,0,0,0,1,0,0,0,1];function I(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=O,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=z(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},C.update=function(t){t=t||{},this.dirty=!0,"contourWidth"in t&&(this.contourWidth=F(t.contourWidth,Number)),"showContour"in t&&(this.showContour=F(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=F(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=F(t.contourProject,function(t){return F(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=F(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=F(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),B(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error("gl-surface: coords have incorrect shape");B(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=f(v)),v.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,B(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,m=0;if(2===o.length)m=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(v,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,m=0,v=d(p,f.stride.slice());"float32"===h?g=t.FLOAT:"float64"===h?(g=t.FLOAT,v=!1,h="float32"):"uint8"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:335,"ndarray-ops":329,"typedarray-pool":423}],276:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],285:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],286:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],287:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function G(){return"."===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):"x"===e&&1===S.length&&"0"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function W(){return"f"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\d]/.test(e)?(B(S.join("")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\d\w_]/.test(e)){var t=S.join("");return T=R.indexOf(t)>-1?y:I.indexOf(t)>-1?v:m,B(S.join("")),T=l,M}return S.push(e),r=e,M+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":290,"./lib/builtins-300es":289,"./lib/literals":292,"./lib/literals-300es":291,"./lib/operators":293}],289:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":290}],290:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],291:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":292}],292:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],293:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],294:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":288}],295:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],299:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),C=0,E=0;E<=n;++E){var L=w[E];L<0||E===b||(S[C++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":388,"simplicial-complex":398}],300:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r>1],i=[],a=[],s=[];for(r=0;r3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left;c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;var c}},s.queryPoint=function(t,e){if(tthis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":72}],301:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r4))}},{}],310:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],311:[function(t,e,r){(function(n){"use strict";!function(t){"object"==typeof r&&void 0!==e?e.exports=t():("undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:this).mapboxgl=t()}(function(){return function e(r,n,i){function a(s,l){if(!n[s]){if(!r[s]){var c="function"==typeof t&&t;if(!l&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var f=n[s]={exports:{}};r[s][0].call(f.exports,function(t){var e=r[s][1][t];return a(e||t)},f,f.exports,e,r,n,i)}return n[s].exports}for(var o="function"==typeof t&&t,s=0;s0){e+=Math.abs(i(t[0]));for(var r=1;r2){for(l=0;li.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||ru)&&(f=2*Math.max(t,u)),(ll)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;rthis.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},"object"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function i(t,e,r,n,i,o,s){for(var l=0;ln)return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},{}],8:[function(t,e,r){e.exports.VectorTile=t("./lib/vectortile.js"),e.exports.VectorTileFeature=t("./lib/vectortilefeature.js"),e.exports.VectorTileLayer=t("./lib/vectortilelayer.js")},{"./lib/vectortile.js":9,"./lib/vectortilefeature.js":10,"./lib/vectortilelayer.js":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t("./vectortilelayer");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{"./vectortilelayer":11}],10:[function(t,e,r){function n(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(i,this,e)}function i(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},n.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)i+=t.readSVarint(),a+=t.readSVarint(),is&&(s=i),ac&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},n.prototype.toGeoJSON=function(t,e,r){function i(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}var a=t("./vectortilefeature.js");e.exports=n,n.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new a(this._pbf,e,this.extent,this._keys,this._values)}},{"./vectortilefeature.js":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+","+i[1]+","+a[0]+","+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+"?"+["bbox="+e(n,i,a),"format="+(o.format||"image/png"),"service="+(o.service||"WMS"),"version="+(o.version||"1.1.1"),"request="+(o.request||"GetMap"),"srs="+(o.srs||"EPSG:3857"),"width="+(o.width||256),"height="+(o.height||256),"layers="+r].join("&")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}("%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}var s={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{r.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in s)return s[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf("("),c=r.indexOf(")");if(-1!==l&&c+1===r.length){var u=r.substr(0,l),f=r.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=a(f.pop());case"rgb":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case"hsla":if(4!==f.length)return null;h=a(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&g(ar.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r=0}(t)===e?t:t.reverse()}var o=t("@mapbox/geojson-area");e.exports=function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(n(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=i(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{"@mapbox/geojson-area":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var c=[],u=0===i?s:l,f=0;f=r&&u(c,h,p,g,m,r):v>n?y<=n&&u(c,h,p,g,m,n):o(c,h,p,d),y=r&&(u(c,h,p,g,m,r),x=!0),y>n&&v<=n&&(u(c,h,p,g,m,n),x=!0),!a&&x&&(c.size=t.size,e.push(c),c=[])}var b=t.length-3;h=t[b],p=t[b+1],d=t[b+2],(v=0===i?h:p)>=r&&v<=n&&o(c,h,p,d),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&o(c,c[0],c[1],c[2]),c.length&&(c.size=t.size,e.push(c))}function a(t,e,r,n,a,o){for(var s=0;s=(r/=e)&&u<=o)return t;if(l>o||u=r&&v<=o)f.push(p);else if(!(m>o||v0&&(o+=n?(i*h-f*a)/2:Math.sqrt(Math.pow(f-i,2)+Math.pow(h-a,2))),i=f,a=h}var p=e.length-3;e[2]=1,c(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i1?1:r}e.exports=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var i=0;i24)throw new Error("maxZoom should be in the 0-24 range");var n=1<1&&console.time("creation"),g=this.tiles[d]=c(t,p,r,n,m,e===f.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),h)){h>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd("creation"));var v="z"+e;this.stats[v]=(this.stats[v]||0)+1,this.total++}if(g.source=t,a){if(e===f.maxZoom||e===a)continue;var y=1<1&&console.time("clipping");var x,b,_,w,k,M,A=.5*f.buffer/f.extent,T=.5-A,S=.5+A,C=1+A;x=b=_=w=null,k=s(t,p,r-A,r+S,0,g.minX,g.maxX),M=s(t,p,r+T,r+C,0,g.minX,g.maxX),t=null,k&&(x=s(k,p,n-A,n+S,1,g.minY,g.maxY),b=s(k,p,n+T,n+C,1,g.minY,g.maxY),k=null),M&&(_=s(M,p,n-A,n+S,1,g.minY,g.maxY),w=s(M,p,n+T,n+C,1,g.minY,g.maxY),M=null),h>1&&console.timeEnd("clipping"),u.push(x||[],e+1,2*r,2*n),u.push(b||[],e+1,2*r,2*n+1),u.push(_||[],e+1,2*r+1,2*n),u.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var u,f=t,h=e,p=r;!u&&f>0;)f--,h=Math.floor(h/2),p=Math.floor(p/2),u=this.tiles[i(f,h,p)];return u&&u.source?(s>1&&console.log("found parent tile z%d-%d-%d",f,h,p),s>1&&console.time("drilling down"),this.splitTile(u.source,f,h,p,t,e,r),s>1&&console.timeEnd("drilling down"),this.tiles[c]?o.tile(this.tiles[c],a):null):null}},{"./clip":16,"./convert":17,"./tile":21,"./transform":22,"./wrap":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],c=e[r+1],u=e[i],f=e[i+1],h=r+3;hs&&(o=h,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if("Point"===o||"MultiPoint"===o)for(var l=0;ls)&&(r.numSimplified++,l.push(e[c]),l.push(e[c+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;ns.maxX&&(s.maxX=f),h>s.maxY&&(s.maxY=h)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,a,o=t.z2,s=t.x,l=t.y;for(r=0;r=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},n.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=i+this.cells.length+1+1,r=0,n=0;n>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(2*t.length);for(var l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,c=i-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,i,Math.max(a,Math.floor(i-c*f/l+h)),Math.min(o,Math.floor(i+(l-c)*f/l+h)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);dp;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,a,o){for(var s=[0,t.length-1,0],l=[],c=a*a;s.length;){var u=s.pop(),f=s.pop(),h=s.pop();if(f-h<=o)for(var p=h;p<=f;p++)n(e[2*p],e[2*p+1],r,i)<=c&&l.push(t[p]);else{var d=Math.floor((h+f)/2),g=e[2*d],m=e[2*d+1];n(g,m,r,i)<=c&&l.push(t[d]);var v=(u+1)%2;(0===u?r-a<=g:i-a<=m)&&(s.push(h),s.push(d-1),s.push(v)),(0===u?r+a>=g:i+a>=m)&&(s.push(d+1),s.push(f),s.push(v))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function o(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function s(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t("ieee754");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;n.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=m(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=m(this.buf,this.pos)+4294967296*m(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=m(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos127;);else if(e===n.Bytes)this.pos=this.readVarint()+this.pos;else if(e===n.Fixed32)this.pos+=4;else{if(e!==n.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&o(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,n.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,s,e)},writePackedSVarint:function(t,e){this.writeMessage(t,l,e)},writePackedBoolean:function(t,e){this.writeMessage(t,f,e)},writePackedFloat:function(t,e){this.writeMessage(t,c,e)},writePackedDouble:function(t,e){this.writeMessage(t,u,e)},writePackedFixed32:function(t,e){this.writeMessage(t,h,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,g,e)},writeBytesField:function(t,e){this.writeTag(t,n.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,n.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,n.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,n.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,n.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,n.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,n.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return te?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,c=r-a+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1);t(e,r,Math.max(a,Math.floor(r-c*f/l+h)),Math.min(o,Math.floor(r+(l-c)*f/l+h)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=u(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:c(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:"Feature",properties:s(t),geometry:{type:"Point",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return u(u({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function c(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function u(t,e){for(var r in e)t[r]=e[r];return t}function f(t){return t.x}function h(t){return t.y}var p=t("kdbush");e.exports=function(t){return new n(t)},n.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time("total time");var r="prepare "+t.length+" points";e&&console.time(r),this.points=t;var n=t.map(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,f,h,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log("z%d: %d clusters in %dms",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,f,h,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(l(t[0]),c(t[3]),l(t[2]),c(t[1])),i=[],a=0;a0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return te?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new f;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r>31}function c(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,c=0;c=u||f<0||f>=u)){var h=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=h.vertexLength;n(r.layoutVertexArray,c,f,-1,-1),n(r.layoutVertexArray,c,f,1,-1),n(r.layoutVertexArray,c,f,1,1),n(r.layoutVertexArray,c,f,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},f("CircleBucket",h,{omit:["layers"]}),e.exports=h},{"../../util/web_worker_transfer":278,"../array_types":39,"../extent":53,"../index_array_type":55,"../load_geometry":56,"../program_configuration":58,"../segment":60,"./circle_attributes":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{"../../util/struct_array":271,dup:41}],44:[function(t,e,r){var n=t("../array_types").FillLayoutArray,i=t("./fill_attributes").members,a=t("../segment").SegmentVector,o=t("../program_configuration").ProgramConfigurationSet,s=t("../index_array_type"),l=s.LineIndexArray,c=s.TriangleIndexArray,u=t("../load_geometry"),f=t("earcut"),h=t("../../util/classify_rings"),p=t("../../util/web_worker_transfer").register,d=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new n,this.indexArray=new c,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;nd)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t("../array_types").FillExtrusionLayoutArray,s=t("./fill_extrusion_attributes").members,l=t("../segment"),c=l.SegmentVector,u=l.MAX_VERTEX_ARRAY_LENGTH,f=t("../program_configuration").ProgramConfigurationSet,h=t("../index_array_type").TriangleIndexArray,p=t("../load_geometry"),d=t("../extent"),g=t("earcut"),m=t("../../util/classify_rings"),v=t("../../util/web_worker_transfer").register,y=Math.pow(2,13),x=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new o,this.indexArray=new h,this.programConfigurations=new f(s,t.layers,t.zoom),this.segments=new c};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>u&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var k=_.sub(w)._perp()._unit(),M=w.dist(_);x+M>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,k.x,k.y,0,1,x),x+=M,n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,k.x,k.y,0,1,x);var A=p.vertexLength;r.indexArray.emplaceBack(A,A+1,A+2),r.indexArray.emplaceBack(A+1,A+2,A+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+c>u&&(p=r.segments.prepareSegment(c,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],C=p.vertexLength,E=0,L=l;E>6)}var i=t("../array_types").LineLayoutArray,a=t("./line_attributes").members,o=t("../segment").SegmentVector,s=t("../program_configuration").ProgramConfigurationSet,l=t("../index_array_type").TriangleIndexArray,c=t("../load_geometry"),u=t("../extent"),f=t("@mapbox/vector-tile").VectorTileFeature.types,h=t("../../util/web_worker_transfer").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,m=Math.pow(2,14)/g,v=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};v.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;cc){var z=m.dist(w);if(z>2*h){var P=m.sub(m.sub(w)._mult(h/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,M.mult(1),0,0,!1,g),w=P}}var D=w&&k,O=D?r:k?x:b;if(D&&"round"===O&&(Ei&&(O="bevel"),"bevel"===O&&(E>2&&(O="flipbevel"),E100)S=A.clone().mult(-1);else{var I=M.x*A.y-M.y*A.x>0?-1:1,R=E*M.add(A).mag()/M.sub(A).mag();S._perp()._mult(R*I)}o.addCurrentVertex(m,o.distance,S,0,0,!1,g),o.addCurrentVertex(m,o.distance,S.mult(-1),0,0,!1,g)}else if("bevel"===O||"fakeround"===O){var B=M.x*A.y-M.y*A.x>0,F=-Math.sqrt(E*E-1);if(B?(y=0,v=F):(v=0,y=F),_||o.addCurrentVertex(m,o.distance,M,v,y,!1,g),"fakeround"===O){for(var N=Math.floor(8*(.5-(C-.5))),j=void 0,V=0;V=0;U--)j=M.mult((U+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(m,o.distance,j,B,g)}k&&o.addCurrentVertex(m,o.distance,A,-v,-y,!1,g)}else"butt"===O?(_||o.addCurrentVertex(m,o.distance,M,0,0,!1,g),k&&o.addCurrentVertex(m,o.distance,A,0,0,!1,g)):"square"===O?(_||(o.addCurrentVertex(m,o.distance,M,1,1,!1,g),o.e1=o.e2=-1),k&&o.addCurrentVertex(m,o.distance,A,-1,-1,!1,g)):"round"===O&&(_||(o.addCurrentVertex(m,o.distance,M,0,0,!1,g),o.addCurrentVertex(m,o.distance,M,1,1,!0,g),o.e1=o.e2=-1),k&&(o.addCurrentVertex(m,o.distance,A,-1,-1,!0,g),o.addCurrentVertex(m,o.distance,A,0,0,!1,g)));if(L&&T2*h){var H=m.add(k.sub(m)._mult(h/q)._round());o.distance+=H.dist(m),o.addCurrentVertex(H,o.distance,A.mult(1),0,0,!1,g),m=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},v.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(c,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(c,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>m/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},v.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},h("LineBucket",v,{omit:["layers"]}),e.exports=v},{"../../util/web_worker_transfer":278,"../array_types":39,"../extent":53,"../index_array_type":55,"../load_geometry":56,"../program_configuration":58,"../segment":60,"./line_attributes":48,"@mapbox/vector-tile":8}],50:[function(t,e,r){var n=t("../../util/struct_array").createLayout,i={symbolLayoutAttributes:n([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),dynamicLayoutAttributes:n([{name:"a_projected_pos",components:3,type:"Float32"}],4),placementOpacityAttributes:n([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),collisionVertexAttributes:n([{name:"a_placed",components:2,type:"Uint8"}],4),collisionBox:n([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),collisionBoxLayout:n([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),collisionCircleLayout:n([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),placement:n([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"hidden"}]),glyphOffset:n([{type:"Float32",name:"offsetX"}]),lineVertex:n([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}])};e.exports=i},{"../../util/struct_array":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var a=t("./symbol_attributes"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,c=a.collisionCircleLayout,u=a.dynamicLayoutAttributes,f=t("../array_types"),h=f.SymbolLayoutArray,p=f.SymbolDynamicLayoutArray,d=f.SymbolOpacityArray,g=f.CollisionBoxLayoutArray,m=f.CollisionCircleLayoutArray,v=f.CollisionVertexArray,y=f.PlacedSymbolArray,x=f.GlyphOffsetArray,b=f.SymbolLineVertexArray,_=t("@mapbox/point-geometry"),w=t("../segment").SegmentVector,k=t("../program_configuration").ProgramConfigurationSet,M=t("../index_array_type"),A=M.TriangleIndexArray,T=M.LineIndexArray,S=t("../../symbol/transform_text"),C=t("../../symbol/mergelines"),E=t("../../util/script_detection"),L=t("../load_geometry"),z=t("@mapbox/vector-tile").VectorTileFeature.types,P=t("../../util/verticalize_punctuation"),D=(t("../../symbol/anchor"),t("../../symbol/symbol_size").getSizeData),O=t("../../util/web_worker_transfer").register,I=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}],R=function(t){this.layoutVertexArray=new h,this.indexArray=new A,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,u.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,I,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},O("SymbolBuffers",R);var B=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new v};B.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},B.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},O("CollisionBuffers",B);var F=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=D(this.zoom,e["text-size"]),this.iconSizeData=D(this.zoom,e["icon-size"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")};F.prototype.createArrays=function(){this.text=new R(new k(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new k(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new B(g,l.members,T),this.collisionCircle=new B(m,c.members,A),this.glyphOffsetArray=new x,this.lineVertexArray=new b},F.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get("text-font"),a=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==a.value.kind||a.value.value.length>0)&&("constant"!==i.value.kind||i.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f={zoom:this.zoom},h=0,p=t;h=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0;t.addCollisionDebugVertices(l,c,u,f,h?t.collisionCircle:t.collisionBox,s.anchorPoint,n,h)}}}},F.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o0},F.prototype.hasIconData=function(){return this.icon.segments.get().length>0},F.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},F.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},F.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError("out of range source coordinates for DEM data");return(e+this.border)*this.stride+(t+this.border)},a("Level",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError("DEM tiles must be square");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;no.max||c.yo.max)&&i.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}},{"../util/util":275,"./extent":53}],57:[function(t,e,r){var n=t("../util/struct_array").createLayout;e.exports=n([{name:"a_pos",type:"Int16",components:2}])},{"../util/struct_array":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(t,e){return{"text-opacity":"opacity","icon-opacity":"opacity","text-color":"fill_color","icon-color":"fill_color","text-halo-color":"halo_color","icon-halo-color":"halo_color","text-halo-blur":"halo_blur","icon-halo-blur":"halo_blur","text-halo-width":"halo_width","icon-halo-width":"halo_width","line-gap-width":"gapwidth"}[t]||t.replace(e+"-","").replace(/-/g,"_")}var a=t("../shaders/encode_attribute").packUint8ToFloat,o=(t("../style-spec/util/color"),t("../util/web_worker_transfer").register),s=t("../style/properties").PossiblyEvaluatedPropertyValue,l=t("./array_types"),c=l.StructArrayLayout1f4,u=l.StructArrayLayout2f8,f=l.StructArrayLayout4f16,h=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};h.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]},h.prototype.populatePaintArray=function(){},h.prototype.upload=function(){},h.prototype.destroy=function(){},h.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;"color"===this.type?a.uniform4f(e.uniforms["u_"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms["u_"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n="color"===r?u:c;this.paintVertexAttributes=[{name:"a_"+e,type:"Float32",components:"color"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if("color"===this.type)for(var o=n(a),s=i;sa&&n("Max vertices per segment is "+a+": bucket requested "+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.prototype.destroy=function(){for(var t=0,e=this.segments;t90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t("./lng_lat_bounds"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},e.exports=i},{"../util/util":275,"./lng_lat_bounds":63}],63:[function(t,e,r){var n=t("./lng_lat"),i=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(n.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return a||o?(a.lng=Math.min(e.lng,a.lng),a.lat=Math.min(e.lat,a.lat),o.lng=Math.max(r.lng,o.lng),o.lat=Math.max(r.lat,o.lat)):(this._sw=new n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{"./lng_lat":62}],64:[function(t,e,r){var n=t("./lng_lat"),i=t("@mapbox/point-geometry"),a=t("./coordinate"),o=t("../util/util"),s=t("../style-spec/util/interpolate").number,l=t("../util/tile_cover"),c=t("../source/tile_id"),u=(c.CanonicalTileID,c.UnwrappedTileID),f=t("../data/extent"),h=t("@mapbox/gl-matrix"),p=h.vec4,d=h.mat4,g=h.mat2,m=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},v={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};m.prototype.clone=function(){var t=new m(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},v.minZoom.get=function(){return this._minZoom},v.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},v.maxZoom.get=function(){return this._maxZoom},v.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},v.renderWorldCopies.get=function(){return this._renderWorldCopies},v.worldSize.get=function(){return this.tileSize*this.scale},v.centerPoint.get=function(){return this.size._div(2)},v.size.get=function(){return new i(this.width,this.height)},v.bearing.get=function(){return-this.angle/Math.PI*180},v.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},v.pitch.get=function(){return this._pitch/Math.PI*180},v.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},v.fov.get=function(){return this._fov/Math.PI*180},v.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},v.zoom.get=function(){return this._zoom},v.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},v.center.get=function(){return this._center},v.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},m.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},m.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new u(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new u(s,t));return o},m.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&et.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},m.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},v.unmodified.get=function(){return this._unmodified},m.prototype.zoomScale=function(t){return Math.pow(2,t)},m.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},m.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},m.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},v.x.get=function(){return this.lngX(this.center.lng)},v.y.get=function(){return this.latY(this.center.lat)},v.point.get=function(){return new i(this.x,this.y)},m.prototype.lngX=function(t){return(180+t)*this.worldSize/360},m.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},m.prototype.xLng=function(t){return 360*t/this.worldSize-180},m.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},m.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},m.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},m.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},m.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},m.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},m.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,c=n[1]/o,u=r[2]/i,f=n[2]/o,h=u===f?0:(0-u)/(f-u);return new a(s(r[0]/i,n[0]/o,h)/this.tileSize,s(l,c,h)/this.tileSize,this.zoom)._zoomTo(e)},m.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},m.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/f,a/f,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},m.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),t=(o=this.latY(f[0]))-ao&&(n=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-vl&&(r=l-v)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=u,this._constraining=!1}},m.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,g=new Float64Array(o);if(d.translate(g,g,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(m.prototype,v),e.exports=m},{"../data/extent":53,"../source/tile_id":114,"../style-spec/util/interpolate":158,"../util/tile_cover":273,"../util/util":275,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":2,"@mapbox/point-geometry":4}],65:[function(t,e,r){var n=t("../style-spec/util/color"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{"../style-spec/util/color":153}],66:[function(t,e,r){var n=t("./index_buffer"),i=t("./vertex_buffer"),a=t("./framebuffer"),o=(t("./depth_mode"),t("./stencil_mode"),t("./color_mode")),s=t("../util/util"),l=t("./value"),c=l.ClearColor,u=l.ClearDepth,f=l.ClearStencil,h=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,m=l.StencilOp,v=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,k=l.BlendColor,M=l.Program,A=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,C=l.BindFramebuffer,E=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,D=l.BindVertexArrayOES,O=l.PixelStoreUnpack,I=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new c(this),this.clearDepth=new u(this),this.clearStencil=new f(this),this.colorMask=new h(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new m(this),this.stencilTest=new v(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new k(this),this.program=new M(this),this.lineWidth=new A(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new C(this),this.bindRenderbuffer=new E(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new D(this),this.pixelStoreUnpack=new O(this),this.pixelStoreUnpackPremultiplyAlpha=new I(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},R.prototype.setStencilMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{"../util/util":275,"./color_mode":65,"./depth_mode":67,"./framebuffer":68,"./index_buffer":69,"./stencil_mode":70,"./value":71,"./vertex_buffer":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t("./value"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{"./value":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t("../style-spec/util/color"),i=t("../util/util"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var c=function(t){this.context=t,this.current=!0};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var u=function(t){this.context=t,this.current=255};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var f=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var h=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var m=function(t){this.context=t,this.current=t.gl.LESS};m.prototype.get=function(){return this.current},m.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var v=function(t){this.context=t,this.current=!1};v.prototype.get=function(){return this.current},v.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var k=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};k.prototype.get=function(){return this.current},k.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var M=function(t){this.context=t,this.current=null};M.prototype.get=function(){return this.current},M.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var D=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),O=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:c,StencilMask:u,StencilFunc:f,StencilOp:h,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:m,Blend:v,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:k,BindFramebuffer:M,BindRenderbuffer:A,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:C,BindVertexArrayOES:E,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:D,DepthAttachment:O}},{"../style-spec/util/color":153,"../util/util":275}],72:[function(t,e,r){var n={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{"../data/array_types":39,"../data/extent":53,"../data/pos_attributes":57,"../gl/depth_mode":67,"../gl/stencil_mode":70,"../util/browser":252,"./vertex_array_object":95,"@mapbox/gl-matrix":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get("fill-pattern"),t))for(var a=!0,o=0,l=n;o0){var l=o.now(),c=(l-t.timeAdded)/s,u=e?(l-e.timeAdded)/s:-1,f=r.getSource(),h=a.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=p&&t.refreshedUponExpiration?1:i.clamp(p?c:1-u,0,1);return t.refreshedUponExpiration&&c>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t("../util/util"),a=t("../source/image_source"),o=t("../util/browser"),s=t("../gl/stencil_mode"),l=t("../gl/depth_mode");e.exports=function(t,e,r,i){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")){var o=t.context,c=o.gl,u=e.getSource(),f=t.useProgram("raster");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),c.uniform1f(f.uniforms.u_brightness_low,r.paint.get("raster-brightness-min")),c.uniform1f(f.uniforms.u_brightness_high,r.paint.get("raster-brightness-max")),c.uniform1f(f.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get("raster-saturation"))),c.uniform1f(f.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get("raster-contrast"))),c.uniform3fv(f.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get("raster-hue-rotate"))),c.uniform1f(f.uniforms.u_buffer_scale,1),c.uniform1i(f.uniforms.u_image0,0),c.uniform1i(f.uniforms.u_image1,1);for(var h=i.length&&i[0].overscaledZ,p=0,d=i;p65535)e(new Error("glyphs > 65535 not supported"));else{var c=o.requests[l];c||(c=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=c;nthis.height)return n.warnOnce("LineAtlas out of space"),null;for(var o=0,s=0;s=0;this.currentLayer--){var m=r.style._layers[o[r.currentLayer]];m.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[m.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,m,g)}this.renderPass="translucent";var v,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new y(this.context,v[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{"../data/array_types":39,"../data/extent":53,"../data/pos_attributes":57,"../data/program_configuration":58,"../data/raster_bounds_attributes":59,"../gl/color_mode":65,"../gl/context":66,"../gl/depth_mode":67,"../gl/stencil_mode":70,"../shaders":97,"../source/pixels_to_tile_units":104,"../source/source_cache":111,"../style-spec/util/color":153,"../symbol/cross_tile_symbol_index":218,"../util/browser":252,"../util/util":275,"./draw_background":74,"./draw_circle":75,"./draw_debug":77,"./draw_fill":78,"./draw_fill_extrusion":79,"./draw_heatmap":80,"./draw_hillshade":81,"./draw_line":82,"./draw_raster":83,"./draw_symbol":84,"./program":92,"./texture":93,"./tile_mask":94,"./vertex_array_object":95,"@mapbox/gl-matrix":2}],91:[function(t,e,r){var n=t("../source/pixels_to_tile_units");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{"../source/pixels_to_tile_units":104}],92:[function(t,e,r){var n=t("../util/browser"),i=t("../shaders"),a=(t("../data/program_configuration").ProgramConfiguration,t("./vertex_array_object")),o=(t("../gl/context"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat("#define DEVICE_PIXEL_RATIO "+n.devicePixelRatio.toFixed(1));a&&l.push("#define OVERDRAW_INSPECTOR;");var c=l.concat(i.prelude.fragmentSource,e.fragmentSource).join("\n"),u=l.concat(i.prelude.vertexSource,e.vertexSource).join("\n"),f=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);var h=s.createShader(s.VERTEX_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);for(var p=r.layoutAttributes||[],d=0;d 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n"},collisionCircle:{fragmentSource:"\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},hillshadePrepare:{fragmentSource:"#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\n // maxzoom of the tile source. here we use a=0.3 which works out to the\n // expression below. see nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n"},hillshade:{fragmentSource:"uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n"}},i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o="float"===i?"vec2":"vec4";return r[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t("./image_source"),i=t("../util/window"),a=t("../data/raster_bounds_attributes"),o=t("../render/vertex_array_object"),s=t("../render/texture"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire("error",new Error("Canvas dimensions cannot be less than or equal to zero.")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];"loaded"!==l.state&&(l.state="loaded",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:"canvas",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire("data",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire("dataloading",{dataType:"source"}),this._updateWorkerData(function(t){if(t)return e.fire("error",{error:t});var r={dataType:"source",sourceDataType:"content"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire("data",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;"string"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement("a");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+".loadData",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||"expired"===t.state?"loadTile":"reloadTile",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,"reloadTile"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{"../data/extent":53,"../util/ajax":251,"../util/browser":252,"../util/evented":260,"../util/util":275,"../util/window":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t("../util/ajax"),a=t("../util/performance"),o=t("geojson-rewind"),s=t("./geojson_wrapper"),l=t("vt-pbf"),c=t("supercluster"),u=t("geojson-vt"),f=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if("object"!=typeof i)return e(new Error("Input data is not a valid GeoJSON object."));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?c(t.superclusterOptions).load(i.features):u(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,e);else{if("string"!=typeof t.data)return e(new Error("Input data is not a valid GeoJSON object."));try{return e(null,JSON.parse(t.data))}catch(t){return e(new Error("Input data is not a valid GeoJSON object."))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t("./vector_tile_worker_source"));e.exports=f},{"../util/ajax":251,"../util/performance":268,"./geojson_wrapper":101,"./vector_tile_worker_source":116,"geojson-rewind":15,"geojson-vt":19,supercluster:32,"vt-pbf":34}],101:[function(t,e,r){var n=t("@mapbox/point-geometry"),i=t("@mapbox/vector-tile").VectorTileFeature.prototype.toGeoJSON,a=t("../data/extent"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+11||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;ne)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),c=this._updateRetainedTiles(n,o),f={};if(i(this._source.type))for(var h=Object.keys(c),g=0;g=p.now())){r._findLoadedChildren(v,l,c)&&(c[m]=v);var x=r.findLoadedParent(v,s,f);x&&r._addTile(x.tileID)}}for(a in f)c[a]||(r._coveredTiles[a]=!0);for(a in f)c[a]=f[a];for(var b=u.keysDifference(this._tiles,c),_=0;_n._source.maxzoom){var p=c.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:h=!1}else{n._findLoadedChildren(c,s,i);for(var g=c.children(n._source.maxzoom),m=0;m=o;--v){var y=c.scaledTo(v);if(a[y.key])break;if(a[y.key]=!0,!(u=n.getTile(y))&&f&&(u=n._addTile(y)),u&&(i[y.key]=y,f=u.wasRequested(),u.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire("dataloading",{tile:e,coord:e.tileID,dataType:"source"}),e):null},e.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0].zoom,u=0;u=0&&m[1].y>=0){for(var v=[],y=0;y=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{"../data/extent":53,"../geo/coordinate":61,"../gl/context":66,"../util/browser":252,"../util/evented":260,"../util/lru_cache":266,"../util/util":275,"./source":110,"./tile":112,"./tile_id":114,"@mapbox/point-geometry":4}],112:[function(t,e,r){var n=t("../util/util"),i=t("../data/bucket").deserialize,a=(t("../data/feature_index"),t("@mapbox/vector-tile")),o=t("pbf"),s=t("../util/vectortile_to_geojson"),l=t("../style-spec/feature_filter"),c=(t("../symbol/collision_index"),t("../data/bucket/symbol_bucket")),u=t("../data/array_types"),f=u.RasterBoundsArray,h=u.CollisionBoxArray,p=t("../data/raster_bounds_attributes"),d=t("../data/extent"),g=t("@mapbox/point-geometry"),m=t("../render/texture"),v=t("../data/segment").SegmentVector,y=t("../data/index_array_type").TriangleIndexArray,x=t("../util/browser"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state="loading"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e>s.z,c=new g(s.x*l,s.y*l),u=new g(c.x+l,c.y+l),h=this.segments.prepareSegment(4,r,i);r.emplaceBack(c.x,c.y,c.x,c.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,u.y,u.x,u.y);var m=h.vertexLength;i.emplaceBack(m,m+1,m+2),i.emplaceBack(m+1,m+2,m+3),h.vertexLength+=4,h.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime=e&&t.x=r&&t.y0;a--)i+=(e&(n=1<this.canonical.z?new c(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new c(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},c.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},c.prototype.children=function(t){if(this.overscaledZ>=t)return[new c(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new c(e,this.wrap,e,r,n),new c(e,this.wrap,e,r+1,n),new c(e,this.wrap,e,r,n+1),new c(e,this.wrap,e,r+1,n+1)]},c.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=E.maxzoom||"none"===E.visibility||(n(C,d.zoom),(v[E.id]=E.createBucket({index:m.bucketLayerIDs.length,layers:C,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(k,y),m.bucketLayerIDs.push(C.map(function(t){return t.id})))}}}var L,z,P,D=c.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(D).length?r.send("getGlyphs",{uid:this.uid,stacks:D},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var O=Object.keys(y.iconDependencies);O.length?r.send("getImages",{icons:O},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{"../data/array_types":39,"../data/bucket/symbol_bucket":51,"../data/feature_index":54,"../render/glyph_atlas":85,"../render/image_atlas":87,"../style/evaluation_parameters":182,"../symbol/symbol_layout":227,"../util/dictionary_coder":257,"../util/util":275,"./tile_id":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)"ref"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t("./util/ref_properties");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r4)return e.error("Expected 1, 2, or 3 arguments, but found "+(t.length-1)+" instead.");var r,n;if(t.length>2){var i=t[1];if("string"!=typeof i||!(i in p))return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to "array" must be a positive integer literal',2);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(u(this.type,f(e)))throw new h("Expected value to be of type "+i(this.type)+", but found "+i(f(e))+" instead.");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{"../runtime_error":143,"../types":146,"../values":147}],125:[function(t,e,r){var n=t("../types"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,c=t("../runtime_error"),u=t("../types"),f=u.checkSubtype,h=u.toString,p=t("../values").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");for(var r=t[0],n=d[r],i=[],o=1;o=r.length)throw new s("Array index out of bounds: "+e+" > "+r.length+".");if(e!==Math.floor(e))throw new s("Array index must be an integer, but found "+e+" instead.");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{"../runtime_error":143,"../types":146}],127:[function(t,e,r){var n=t("../types").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var a=[],o=1;o4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":c(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new u(r||"Could not parse color from value '"+("string"==typeof e?e:JSON.stringify(e))+"'")}for(var o=null,s=0,f=this.args;sn.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var f=t("../types"),h=f.NumberType,p=f.StringType,d=f.BooleanType,g=f.ColorType,m=f.ObjectType,v=f.ValueType,y=f.ErrorType,x=f.array,b=f.toString,_=t("../values"),w=_.typeOf,k=_.Color,M=_.validateRGBA,A=t("../compound_expression"),T=A.CompoundExpression,S=A.varargs,C=t("../runtime_error"),E=t("./let"),L=t("./var"),z=t("./literal"),P=t("./assertion"),D=t("./array"),O=t("./coercion"),I=t("./at"),R=t("./match"),B=t("./case"),F=t("./step"),N=t("./interpolate"),j=t("./coalesce"),V=t("./equals"),U={"==":V.Equals,"!=":V.NotEquals,array:D,at:I,boolean:P,case:B,coalesce:j,interpolate:N,let:E,literal:z,match:R,number:P,object:P,step:F,string:P,"to-color":O,"to-number":O,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new C(r.evaluate(t))}],typeof:[p,[v],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],"to-string":[p,[v],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||"string"===n||"number"===n||"boolean"===n?String(r):r instanceof k?r.toString():JSON.stringify(r)}],"to-boolean":[d,[v],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],"to-rgba":[x(h,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[h,h,h],n],rgba:[g,[h,h,h,h],n],length:{type:h,overloads:[[[p],o],[[x(v)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:v,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,m],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[m,[],function(t){return t.properties()}],"geometry-type":[p,[],function(t){return t.geometryType()}],id:[v,[],function(t){return t.id()}],zoom:[h,[],function(t){return t.globals.zoom}],"heatmap-density":[h,[],function(t){return t.globals.heatmapDensity||0}],"+":[h,S(h),function(t,e){for(var r=0,n=0,i=e;n":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[d,[p,v],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[d,[v],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[d,[v],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[d,[],function(t){return null!==t.id()}],"filter-type-in":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[d,[x(v)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[d,[p,x(v)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[d,[p,x(v)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],">":{type:d,overloads:[[[h,h],l],[[p,p],l]]},"<":{type:d,overloads:[[[h,h],s],[[p,p],s]]},">=":{type:d,overloads:[[[h,h],u],[[p,p],u]]},"<=":{type:d,overloads:[[[h,h],c],[[p,p],c]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:o}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(n=e.parse(n,2,l)))return null;var c=[],f=null;e.expectedType&&"value"!==e.expectedType.kind&&(f=e.expectedType);for(var h=0;h=p)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',g);var v=e.parse(d,m,f);if(!v)return null;f=f||v.type,c.push([p,v])}return"number"===f.kind||"color"===f.kind||"array"===f.kind&&"number"===f.itemType.kind&&"number"==typeof f.N?new u(f,r,n,c):e.error("Type "+s(f)+" is not interpolatable.")},u.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=c(e,n),s=e[o],l=e[o+1],f=u.interpolationFactor(this.interpolation,n,s,l),h=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](h,p,f)},u.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;eNumber.MAX_SAFE_INTEGER)return f.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof d&&Math.floor(d)!==d)return f.error("Numeric branch labels must be integer values.");if(r){if(f.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return f.error("Branch labels must be unique.");o[String(d)]=s.length}var g=e.parse(u,l,a);if(!g)return null;a=a||g.type,s.push(g)}var m=e.parse(t[1],1,r);if(!m)return null;var v=e.parse(t[t.length-1],t.length-1,a);return v?new i(r,a,m,o,s,v):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{"../values":147}],136:[function(t,e,r){var n=t("../types").NumberType,i=t("../stops").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=c)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',f);var p=e.parse(u,h,s);if(!p)return null;s=s||p.type,o.push([c,p])}return new a(s,r,o)},a.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&"string"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:D,enum:P,boolean:O};return"array"===t.type?R(e[t.value]||I,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),"error"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=m.isFeatureConstant(n);if(!a&&!e["property-function"])return b([new s("","property expressions not supported")]);var o=m.isGlobalPropertyConstant(n,["zoom"]);if(!o&&!1===e["zoom-function"])return b([new s("","zoom expressions not supported")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{"./compound_expression":123}],141:[function(t,e,r){var n=t("./scope"),i=t("./types").checkSubtype,a=t("./parsing_error"),o=t("./definitions/literal"),s=t("./definitions/assertion"),l=t("./definitions/array"),c=t("./definitions/coercion"),u=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=i,this.errors=a,this.expectedType=r};u.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var u=this;if(r&&(u=u.concat(r,n,i)),null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return u.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var f=e[0];if("string"!=typeof f)return u.error("Expression name must be a string, but found "+typeof f+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var h=u.registry[f];if(h){var p=h.parse(e,u);if(!p)return null;if(u.expectedType){var d=u.expectedType,g=p.type;if("string"!==d.kind&&"number"!==d.kind&&"boolean"!==d.kind||"value"!==g.kind)if("array"===d.kind&&"value"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if("color"!==d.kind||"value"!==g.kind&&"string"!==g.kind){if(u.checkSubtype(u.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new c(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t("./compound_expression").CompoundExpression,n=t("./is_constant"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t("./definitions/var"))return!1;if(e instanceof r&&"error"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,["zoom","heatmap-density"])}(p)){var m=new(t("./evaluation_context"));try{p=new o(p.type,p.evaluate(m))}catch(e){return u.error(e.message),null}}return p}return u.error('Unknown expression "'+f+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===e?u.error("'undefined' value invalid. Use null instead."):"object"==typeof e?u.error('Bare objects invalid. Use ["literal", {...}] instead.'):u.error("Expected an array, but found "+typeof e+" instead.")},u.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new u(this.registry,n,e||null,i,this.errors)},u.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=""+this.key+r.map(function(t){return"["+t+"]"}).join("");this.errors.push(new a(i,t))},u.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=u},{"./compound_expression":123,"./definitions/array":124,"./definitions/assertion":125,"./definitions/coercion":129,"./definitions/literal":134,"./definitions/var":137,"./evaluation_context":138,"./is_constant":140,"./parsing_error":142,"./scope":144,"./types":146}],142:[function(t,e,r){var n=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name="ExpressionEvaluationError",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;rr&&ee))throw new n("Input is not a number.");o=s-1}}return Math.max(s-1,0)}}},{"./runtime_error":143}],146:[function(t,e,r){function n(t,e){return{kind:"array",itemType:t,N:e}}function i(t){if("array"===t.kind){var e=i(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var a={kind:"null"},o={kind:"number"},s={kind:"string"},l={kind:"boolean"},c={kind:"color"},u={kind:"object"},f={kind:"value"},h=[a,o,s,l,c,u,n(f)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:c,ObjectType:u,ValueType:f,array:n,ErrorType:{kind:"error"},toString:i,checkSubtype:function t(e,r){if("error"===r.kind)return null;if("array"===e.kind){if("array"===r.kind&&!t(e.itemType,r.itemType)&&("number"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if("value"===e.kind)for(var n=0,a=h;n=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."},isValue:function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?"any"!==e:"=="===e?o(t[1],t[2],"=="):"!="===e?c(o(t[1],t[2],"==")):"<"===e||">"===e||"<="===e||">="===e?o(t[1],t[2],e):"any"===e?function(t){return["any"].concat(t.map(a))}(t.slice(1)):"all"===e?["all"].concat(t.slice(1).map(a)):"none"===e?["all"].concat(t.slice(1).map(a).map(c)):"in"===e?s(t[1],t.slice(2)):"!in"===e?c(s(t[1],t.slice(2))):"has"===e?l(t[1]):"!has"!==e||c(l(t[1]))}function o(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function s(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(i)]]:["filter-in-small",t,["literal",e]]}}function l(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function c(t){return["!",t]}var u=t("../expression").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=u(t,f);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var f={type:"boolean",default:!1,function:!0,"property-function":!0,"zoom-function":!0}},{"../expression":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if("number"!==p(r))return i(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=c(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if("number"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=c(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),f=t.stops[s][1],h=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&"rgb"!==t.colorSpace){var m=u[t.colorSpace];g=function(t,e){return m.reverse(m.interpolate(m.forward(t),m.forward(e),l))}}return"function"==typeof f.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=f.evaluate.apply(void 0,e),i=h.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(f,h,l)}function l(t,e,r){return"color"===e.type?r=f.parse(r):p(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function c(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&ee&&(a=o-1)}return Math.max(o-1,0)}var u=t("../util/color_spaces"),f=t("../util/color"),h=t("../util/extend"),p=t("../util/get_type"),d=t("../util/interpolate"),g=t("../expression/definitions/interpolate");e.exports={createFunction:function t(e,r){var n,c,p,d="color"===r.type,m=e.stops&&"object"==typeof e.stops[0][0],v=m||void 0!==e.property,y=m||!v,x=e.type||("interpolated"===r.function?"exponential":"interval");if(d&&((e=h({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],f.parse(t[1])]})),e.default?e.default=f.parse(e.default):e.default=f.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!u[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===x)n=s;else if("interval"===x)n=o;else if("categorical"===x){n=a,c=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];c[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if("identity"!==x)throw new Error('Unknown function type "'+x+'"');n=l}if(m){for(var k={},M=[],A=0;A":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!1,units:"milliseconds"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,function:"interpolated","zoom-function":!0,transition:!1},"hillshade-illumination-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"hillshade-shadow-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-accent-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],153:[function(t,e,r){var n=t("csscolorparser").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if("string"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return"rgba("+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(",")+")"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>v?Math.pow(t,1/3):t/m+d}function i(t){return t>g?t*t*t:m*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/f),s=n((.2126729*e+.7151522*r+.072175*i)/h);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=h*i(e),r=f*i(r),n=p*i(n),new c(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var c=t("./color"),u=t("./interpolate").number,f=.95047,h=1,p=1.08883,d=4/29,g=6/29,m=3*g*g,v=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:u(t.l,e.l,r),a:u(t.a,e.a,r),b:u(t.b,e.b,r),alpha:u(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:u(t.c,e.c,r),l:u(t.l,e.l,r),alpha:u(t.alpha,e.alpha,r)}}}}},{"./color":153,"./interpolate":158}],155:[function(t,e,r){e.exports=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0;)r[n]=e[n+1];for(var i=0,a=r;i":case">=":r.length>=2&&"$type"===s(r[1])&&u.push(new n(i,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&u.push(new n(i,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(l=o(r[1]))&&u.push(new n(i+"[1]",r[1],"string expected, "+l+" found"));for(var f=2;fc(s[0].zoom))return[new n(u,s[0].zoom,"stop zoom values must appear in ascending order")];c(s[0].zoom)!==h&&(h=c(s[0].zoom),f=void 0,g={}),e=e.concat(o({key:u+"[0]",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:u+"[0]",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:u+"[1]",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=c(t.value),o=null!==t.value?t.value:e;if(u){if(r!==u)return[new n(t.key,o,r+" stop domain type must match previous stop domain type "+u)]}else u=r;if("number"!==r&&"string"!==r&&"boolean"!==r)return[new n(t.key,o,"stop domain value must be a number, string, or boolean")];if("number"!==r&&"categorical"!==d){var s="number expected, "+r+" found";return p["property-function"]&&void 0===d&&(s+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new n(t.key,o,s)]}return"categorical"!==d||"number"!==r||isFinite(a)&&Math.floor(a)===a?"categorical"!==d&&"number"===r&&void 0!==f&&a=8&&(v&&!t.valueSpec["property-function"]?x.push(new n(t.key,t.value,"property functions not supported")):m&&!t.valueSpec["zoom-function"]&&"heatmap-color"!==t.objectKey&&x.push(new n(t.key,t.value,"zoom functions not supported"))),"categorical"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'"property" property is required')),x}},{"../error/validation_error":122,"../util/get_type":157,"../util/unbundle_jsonlint":161,"./validate":162,"./validate_array":163,"./validate_number":175,"./validate_object":176}],171:[function(t,e,r){var n=t("../error/validation_error"),i=t("./validate_string");e.exports=function(t){var e=t.value,r=t.key,a=i(t);return a.length?a:(-1===e.indexOf("{fontstack}")&&a.push(new n(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&a.push(new n(r,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":122,"./validate_string":180}],172:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/unbundle_jsonlint"),a=t("./validate_object"),o=t("./validate_filter"),s=t("./validate_paint_property"),l=t("./validate_layout_property"),c=t("./validate"),u=t("../util/extend");e.exports=function(t){var e=[],r=t.value,f=t.key,h=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(f,r,'either "type" or "ref" is required'));var d,g=i(r.type),m=i(r.ref);if(r.id)for(var v=i(r.id),y=0;ya.maximum?[new i(e,r,r+" is greater than the maximum value "+a.maximum)]:[]}},{"../error/validation_error":122,"../util/get_type":157}],176:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/get_type"),a=t("./validate");e.exports=function(t){var e=t.key,r=t.value,o=t.valueSpec||{},s=t.objectElementValidators||{},l=t.style,c=t.styleSpec,u=[],f=i(r);if("object"!==f)return[new n(e,r,"object expected, "+f+" found")];for(var h in r){var p=h.split(".")[0],d=o[p]||o["*"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s["*"])g=s["*"];else{if(!o["*"]){u.push(new n(e,r[h],'unknown property "'+h+'"'));continue}g=a}u=u.concat(g({key:(e?e+".":e)+h,value:r[h],valueSpec:d,style:l,styleSpec:c,object:r,objectKey:h},r))}for(var m in o)s[m]||o[m].required&&void 0===o[m].default&&void 0===r[m]&&u.push(new n(e,r,'missing required property "'+m+'"'));return u}},{"../error/validation_error":122,"../util/get_type":157,"./validate":162}],177:[function(t,e,r){var n=t("./validate_property");e.exports=function(t){return n(t,"paint")}},{"./validate_property":178}],178:[function(t,e,r){var n=t("./validate"),i=t("../error/validation_error"),a=t("../util/get_type"),o=t("../function").isFunction,s=t("../util/unbundle_jsonlint");e.exports=function(t,e){var r=t.key,l=t.style,c=t.styleSpec,u=t.value,f=t.objectKey,h=c[e+"_"+t.layerType];if(!h)return[];var p=f.match(/^(.*)-transition$/);if("paint"===e&&p&&h[p[1]]&&h[p[1]].transition)return n({key:r,value:u,valueSpec:c.transition,style:l,styleSpec:c});var d,g=t.valueSpec||h[f];if(!g)return[new i(r,u,'unknown property "'+f+'"')];if("string"===a(u)&&g["property-function"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(u)))return[new i(r,u,'"'+f+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(d[1])+" }`.")];var m=[];return"symbol"===t.layerType&&("text-field"===f&&l&&!l.glyphs&&m.push(new i(r,u,'use of "text-field" requires a style "glyphs" property')),"text-font"===f&&o(s.deep(u))&&"identity"===s(u.type)&&m.push(new i(r,u,'"text-font" does not support identity functions'))),m.concat(n({key:t.key,value:u,valueSpec:g,style:l,styleSpec:c,expressionContext:"property",propertyKey:f}))}},{"../error/validation_error":122,"../function":149,"../util/get_type":157,"../util/unbundle_jsonlint":161,"./validate":162}],179:[function(t,e,r){var n=t("../error/validation_error"),i=t("../util/unbundle_jsonlint"),a=t("./validate_object"),o=t("./validate_enum");e.exports=function(t){var e=t.value,r=t.key,s=t.styleSpec,l=t.style;if(!e.type)return[new n(r,e,'"type" is required')];var c=i(e.type),u=[];switch(c){case"vector":case"raster":case"raster-dem":if(u=u.concat(a({key:r,value:e,valueSpec:s["source_"+c.replace("-","_")],style:t.style,styleSpec:s})),"url"in e)for(var f in e)["type","url","tileSize"].indexOf(f)<0&&u.push(new n(r+"."+f,e[f],'a source with a "url" property may not include a "'+f+'" property'));return u;case"geojson":return a({key:r,value:e,valueSpec:s.source_geojson,style:l,styleSpec:s});case"video":return a({key:r,value:e,valueSpec:s.source_video,style:l,styleSpec:s});case"image":return a({key:r,value:e,valueSpec:s.source_image,style:l,styleSpec:s});case"canvas":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image","canvas"]},style:l,styleSpec:s})}}},{"../error/validation_error":122,"../util/unbundle_jsonlint":161,"./validate_enum":167,"./validate_object":176}],180:[function(t,e,r){var n=t("../util/get_type"),i=t("../error/validation_error");e.exports=function(t){var e=t.value,r=t.key,a=n(e);return"string"!==a?[new i(r,e,"string expected, "+a+" found")]:[]}},{"../error/validation_error":122,"../util/get_type":157}],181:[function(t,e,r){function n(t,e){e=e||l;var r=[];return r=r.concat(s({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:c,"*":function(){return[]}}})),t.constants&&(r=r.concat(o({key:"constants",value:t.constants,style:t,styleSpec:e}))),i(r)}function i(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function a(t){return function(){return i(t.apply(this,arguments))}}var o=t("./validate/validate_constants"),s=t("./validate/validate"),l=t("./reference/latest"),c=t("./validate/validate_glyphs_url");n.source=a(t("./validate/validate_source")),n.light=a(t("./validate/validate_light")),n.layer=a(t("./validate/validate_layer")),n.filter=a(t("./validate/validate_filter")),n.paintProperty=a(t("./validate/validate_paint_property")),n.layoutProperty=a(t("./validate/validate_layout_property")),e.exports=n},{"./reference/latest":151,"./validate/validate":162,"./validate/validate_constants":166,"./validate/validate_filter":169,"./validate/validate_glyphs_url":171,"./validate/validate_layer":172,"./validate/validate_layout_property":173,"./validate/validate_light":174,"./validate/validate_paint_property":177,"./validate/validate_source":179}],182:[function(t,e,r){var n=t("./zoom_history"),i=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{"./zoom_history":212}],183:[function(t,e,r){var n=t("../style-spec/reference/latest"),i=t("../util/util"),a=t("../util/evented"),o=t("./validate_style"),s=t("../util/util").sphericalToCartesian,l=(t("../style-spec/util/color"),t("../style-spec/util/interpolate")),c=t("./properties"),u=c.Properties,f=c.Transitionable,h=(c.Transitioning,c.PossiblyEvaluated,c.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new u({anchor:new h(n.light.anchor),position:new p,color:new h(n.light.color),intensity:new h(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new f(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,"-transition")?this._transitionable.setTransition(e.slice(0,-"-transition".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{"../style-spec/reference/latest":151,"../style-spec/util/color":153,"../style-spec/util/interpolate":158,"../util/evented":260,"../util/util":275,"./properties":188,"./validate_style":211}],184:[function(t,e,r){var n=t("../util/mapbox").normalizeGlyphsURL,i=t("../util/ajax"),a=t("./parse_glyph_pbf");e.exports=function(t,e,r,o,s){var l=256*e,c=l+255,u=o(n(r).replace("{fontstack}",t).replace("{range}",l+"-"+c),i.ResourceType.Glyphs);i.getArrayBuffer(u,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n1?"@2x":"";n.getJSON(e(a(t,f,".json"),n.ResourceType.SpriteJSON),function(t,e){u||(u=t,l=e,s())}),n.getImage(e(a(t,f,".png"),n.ResourceType.SpriteImage),function(t,e){u||(u=t,c=e,s())})}},{"../util/ajax":251,"../util/browser":252,"../util/image":263,"../util/mapbox":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,c=n.width,u=n.height,f=n.left,h=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:c+2*l,height:u+2*l},s),metrics:{width:c,height:u,left:f,top:h,advance:p}})}}function a(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var o=t("../util/image").AlphaImage,s=t("pbf"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{"../util/image":263,pbf:30}],187:[function(t,e,r){var n=t("../util/browser"),i=t("../symbol/placement"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],c=i.placement.collisionIndex.transform.zoom;if("symbol"===l.type&&(!l.minzoom||l.minzoom<=c)&&(!l.maxzoom||l.maxzoom>c)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{"../symbol/placement":223,"../util/browser":252}],188:[function(t,e,r){var n=t("../util/util"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t("../style-spec/util/interpolate"),l=t("../style-spec/expression").normalizePropertyExpression,c=(t("../style-spec/util/color"),t("../util/web_worker_transfer").register),u=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};u.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},u.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var f=function(t){this.property=t,this.value=new u(t,void 0)};f.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},f.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var h=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};h.prototype.getValue=function(t){return i(this._values[t].value.value)},h.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].value=new u(this._values[t].property,null===e?void 0:i(e))},h.prototype.getTransition=function(t){return i(this._values[t].transition)},h.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new f(this._values[t].property)),this._values[t].transition=i(e)||void 0},h.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);rthis.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(en.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};c("DataDrivenProperty",x),c("DataConstantProperty",y),c("CrossFadedProperty",b),c("HeatmapColorProperty",_),e.exports={PropertyValue:u,Transitionable:h,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:m,PossiblyEvaluated:v,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new u(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new f(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{"../style-spec/expression":139,"../style-spec/util/color":153,"../style-spec/util/interpolate":158,"../util/util":275,"../util/web_worker_transfer":278}],189:[function(t,e,r){var n=t("@mapbox/point-geometry");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);"viewport"===r&&o._rotate(-i);for(var s=[],l=0;l0)throw new Error("Unimplemented: "+n.map(function(t){return t.command}).join(", ")+".");return r.forEach(function(t){"setTransition"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire("error",{error:new Error("An image with this name already exists.")});this.imageManager.addImage(t,e),this.fire("data",{dataType:"style"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire("error",{error:new Error("No image with this name exists.")});this.imageManager.removeImage(t),this.fire("data",{dataType:"style"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!e.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(e).join(", ")+".");if(!(["vector","raster","geojson","video","image","canvas"].indexOf(e.type)>=0&&this._validate(g.source,"sources."+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(var r in e._layers)if(e._layers[r].source===t)return e.fire("error",{error:new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire("data",{sourceDataType:"metadata",dataType:"source",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if("object"==typeof t.source&&(this.addSource(n,t.source),t=u.clone(t),t=u.extend(t,{source:n})),!this._validate(g.layer,"layers."+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire("error",{error:new Error('Layer with id "'+e+'" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire("error",{error:new Error('Layer with id "'+e+'" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return u.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,"layers."+r.id+".filter",e)||(r.filter=u.clone(e),this._updateLayer(r)));this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")})},e.prototype.getFilter=function(t){return u.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?u.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!u.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire("error",{error:new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return u.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return u.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:u.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return"none"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility="none"),n.filterObject(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=u;var f={circle:t("./style_layer/circle_style_layer"),heatmap:t("./style_layer/heatmap_style_layer"),hillshade:t("./style_layer/hillshade_style_layer"),fill:t("./style_layer/fill_style_layer"),"fill-extrusion":t("./style_layer/fill_extrusion_style_layer"),line:t("./style_layer/line_style_layer"),symbol:t("./style_layer/symbol_style_layer"),background:t("./style_layer/background_style_layer"),raster:t("./style_layer/raster_style_layer")};u.create=function(t){return new f[t.type](t)}},{"../style-spec/reference/latest":151,"../util/evented":260,"../util/util":275,"./properties":188,"./style_layer/background_style_layer":192,"./style_layer/circle_style_layer":194,"./style_layer/fill_extrusion_style_layer":196,"./style_layer/fill_style_layer":198,"./style_layer/heatmap_style_layer":200,"./style_layer/hillshade_style_layer":202,"./style_layer/line_style_layer":204,"./style_layer/raster_style_layer":206,"./style_layer/symbol_style_layer":208,"./validate_style":211}],192:[function(t,e,r){var n=t("../style_layer"),i=t("./background_style_layer_properties"),a=t("../properties"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{"../properties":188,"../style_layer":191,"./background_style_layer_properties":193}],193:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({"background-color":new o(n.paint_background["background-color"]),"background-pattern":new s(n.paint_background["background-pattern"]),"background-opacity":new o(n.paint_background["background-opacity"])}));e.exports={paint:l}},{"../../style-spec/reference/latest":151,"../properties":188}],194:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/circle_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiPoint,o=t("../query_utils"),s=o.getMaximumPaintValue,l=o.translateDistance,c=o.translate,u=t("./circle_style_layer_properties"),f=t("../properties"),h=(f.Transitionable,f.Transitioning,f.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s("circle-radius",this,e)+s("circle-stroke-width",this,e)+l(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=c(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i,o),l=this.paint.get("circle-radius").evaluate(e)*o,u=this.paint.get("circle-stroke-width").evaluate(e)*o;return a(s,r,l+u)},e}(n));e.exports=h},{"../../data/bucket/circle_bucket":42,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./circle_style_layer_properties":195}],195:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({"circle-radius":new s(n.paint_circle["circle-radius"]),"circle-color":new s(n.paint_circle["circle-color"]),"circle-blur":new s(n.paint_circle["circle-blur"]),"circle-opacity":new s(n.paint_circle["circle-opacity"]),"circle-translate":new o(n.paint_circle["circle-translate"]),"circle-translate-anchor":new o(n.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new o(n.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new o(n.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new s(n.paint_circle["circle-stroke-width"]),"circle-stroke-color":new s(n.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new s(n.paint_circle["circle-stroke-opacity"])}));e.exports={paint:l}},{"../../style-spec/reference/latest":151,"../properties":188}],196:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/fill_extrusion_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,o=t("../query_utils"),s=o.translateDistance,l=o.translate,c=t("./fill_extrusion_style_layer_properties"),u=t("../properties"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get("fill-extrusion-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("fill-extrusion-opacity")&&"none"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=f},{"../../data/bucket/fill_extrusion_bucket":46,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./fill_extrusion_style_layer_properties":197}],197:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({"fill-extrusion-opacity":new o(n["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new s(n["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new o(n["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new o(n["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new l(n["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new s(n["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new s(n["paint_fill-extrusion"]["fill-extrusion-base"])}));e.exports={paint:c}},{"../../style-spec/reference/latest":151,"../properties":188}],198:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/fill_bucket"),a=t("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,o=t("../query_utils"),s=o.translateDistance,l=o.translate,c=t("./fill_style_layer_properties"),u=t("../properties"),f=(u.Transitionable,u.Transitioning,u.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue("fill-outline-color")&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i,o);return a(s,r)},e}(n));e.exports=f},{"../../data/bucket/fill_bucket":44,"../../util/intersection_tests":264,"../properties":188,"../query_utils":189,"../style_layer":191,"./fill_style_layer_properties":199}],199:[function(t,e,r){var n=t("../../style-spec/reference/latest"),i=t("../properties"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,c=(i.HeatmapColorProperty,new a({"fill-antialias":new o(n.paint_fill["fill-antialias"]),"fill-opacity":new s(n.paint_fill["fill-opacity"]),"fill-color":new s(n.paint_fill["fill-color"]),"fill-outline-color":new s(n.paint_fill["fill-outline-color"]),"fill-translate":new o(n.paint_fill["fill-translate"]),"fill-translate-anchor":new o(n.paint_fill["fill-translate-anchor"]),"fill-pattern":new l(n.paint_fill["fill-pattern"])}));e.exports={paint:c}},{"../../style-spec/reference/latest":151,"../properties":188}],200:[function(t,e,r){var n=t("../style_layer"),i=t("../../data/bucket/heatmap_bucket"),a=t("../../util/image").RGBAImage,o=t("./heatmap_style_layer_properties"),s=t("../properties"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),"heatmap-color"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values["heatmap-color"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n0?e+2*t:t}var i=t("@mapbox/point-geometry"),a=t("../style_layer"),o=t("../../data/bucket/line_bucket"),s=t("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiLine,l=t("../query_utils"),c=l.getMaximumPaintValue,u=l.translateDistance,f=l.translate,h=t("./line_style_layer_properties"),p=t("../../util/util").extend,d=t("../evaluation_parameters"),g=t("../properties"),m=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(h.paint.properties["line-width"].specification));m.useIntegerZoom=!0;var v=function(t){function e(e){t.call(this,e,h)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=m.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(c("line-width",this,e),c("line-gap-width",this,e)),i=c("line-offset",this,e);return r/2+Math.abs(i)+u(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var c=f(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o,l),u=l/2*n(this.paint.get("line-width").evaluate(e),this.paint.get("line-gap-width").evaluate(e)),h=this.paint.get("line-offset").evaluate(e);return h&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;ar?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}},{}],215:[function(t,e,r){var n=t("@mapbox/point-geometry");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s=i&&h.x>=i||(f.x>=i?f=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new n(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new n(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}},{"@mapbox/point-geometry":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_i&&(k+=w-i),!(k=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)L)n(t,z,!1);else{var R=m.projectPoint(h,P,D),B=O*S;if(v.length>0){var F=R.x-v[v.length-4],N=R.y-v[v.length-3];if(B*B*2>F*F+N*N&&z+8-E&&j=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{"../symbol/projection":224,"../util/intersection_tests":264,"./grid_index":220,"@mapbox/gl-matrix":2,"@mapbox/point-geometry":4}],218:[function(t,e,r){var n=t("../data/extent"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;it.overscaledZ)for(var c in l){var u=l[c];u.tileID.isChildOf(t)&&u.findMatches(e.symbolInstances,t,o)}else{var f=l[t.scaledTo(Number(s)).key];f&&f.findMatches(e.symbolInstances,t,o)}}for(var h=0,p=e.symbolInstances;h=0&&A=0&&T=0&&v+p<=d){var S=new i(A,T,k,x);S._round(),s&&!a(e,S,c,s,l)||y.push(S)}}m+=w}return f||y.length||u||(y=t(e,m/2,o,s,l,c,u,!0,h)),y}(t,d?e/2*u%e:(p/2+2*l)*c*u%e,e,h,r,p*c,d,!1,f)}},{"../style-spec/util/interpolate":158,"../symbol/anchor":213,"./check_max_angle":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;athis.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f=u[d+0]&&n>=u[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;vo*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var a={},o={},s=[],l=0,c=0;c0,M=M&&A.offscreen);var C=_.collisionArrays.textCircles;if(C){var E=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,m,E);T=d.collisionIndex.placeCollisionCircles(C,g.get("text-allow-overlap"),i,a,_.key,E,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,"map"===g.get("text-pitch-alignment")),w=g.get("text-allow-overlap")||T.circles.length>0,M=M&&T.offscreen}_.collisionArrays.iconBox&&(k=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get("icon-allow-overlap"),a,e)).box.length>0,M=M&&S.offscreen),v||y?y?v||(k=k&&w):w=k&&w:k=w=k&&w,w&&A&&d.collisionIndex.insertCollisionBox(A.box,g.get("text-ignore-placement"),f,h,t.bucketInstanceId,_.textBoxStartIndex),k&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get("icon-ignore-placement"),f,h,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get("text-ignore-placement"),f,h,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,k,M||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new h(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new h(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var c in a){var u=a[c];if(!r.opacities[c]){var f=new h(u,i,!1,!1);f.isHidden()||(r.opacities[c]=f,n=n||u.text.placed||u.icon.placed)}}n?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(f){for(var d=i(u.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,m=0;mt},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),m=Math.pow(2,24),v=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{"../data/extent":53,"../source/pixels_to_tile_units":104,"../style/style_layer/symbol_style_layer_properties":209,"./collision_index":217,"./projection":224,"./symbol_size":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];f(r,r,e);var n=r[3];return{point:new h(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function a(t,e,r,n,i,a,o,s,l,u,f,h){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,m=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(p-1),y=c(t*m,r,n,i,a,o,s.segment,d,g,l,u,f,h);if(!y)return null;var x=c(t*v,r,n,i,a,o,s.segment,d,g,l,u,f,h);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.yr.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,u,f,p,d,g,m,y,x,b){var _,w=e/24,k=t.lineOffsetX*e,M=t.lineOffsetY*e;if(t.numGlyphs>1){var A=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,C=a(w,p,k,M,r,m,y,t,d,u,x,!1);if(!C)return{notEnoughRoom:!0};var E=n(C.first.point,f).point,L=n(C.last.point,f).point;if(i&&!r){var z=o(t.writingMode,E,L,b);if(z)return z}_=[C.first];for(var P=t.glyphStartIndex+1;P0?R.point:l(y,I,D,1,s),F=o(t.writingMode,D,B,b);if(F)return F}var N=c(w*p.getoffsetX(t.glyphStartIndex),k,M,r,m,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,u,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j0?1:-1,y=0;i&&(v*=-1,y=Math.PI),v<0&&(y+=Math.PI);for(var x=v>0?c+s:c+s+1,b=x,_=a,w=a,k=0,M=0,A=Math.abs(m);k+M<=A;){if((x+=v)=u)return null;if(w=_,void 0===(_=d[x])){var T=new h(f.getx(x),f.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var C=x-v;_=l(0===k?o:new h(f.getx(C),f.gety(C)),T,w,A-k+1,p)}}k+=M,M=w.dist(_)}var E=(A-k)/M,L=_.sub(w),z=L.mult(E)._add(w);return z._add(L._unit()._perp()._mult(r*v)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-v===b?0:f.gettileUnitDistanceFromAnchor(x-v),lastSegmentViewportDistance:A-k}:null}}function u(t,e){for(var r=0;r=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,u,f,h,d,g,x,b,_,w,M,A,T,S,C){var E,L,z=t.addToLineVertexArray(e,r),P=0,D=0,O=0,I=n.horizontal?n.horizontal.text:"",R=[];n.horizontal&&(E=new v(s,r,e,l,u,f,n.horizontal,h,d,g,t.overscaling),D+=i(t,e,n.horizontal,o,g,A,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,C),n.vertical&&(O+=i(t,e,n.vertical,o,g,A,T,x,z,p.vertical,R,S,C)));var B=E?E.boxStartIndex:t.collisionBoxArray.length,F=E?E.boxEndIndex:t.collisionBoxArray.length;if(a){var N=m(e,a,o,w,n.horizontal,A,T);L=new v(s,r,e,l,u,f,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;"source"===j.functionType?V=[10*o.layout.get("icon-size").evaluate(T)]:"composite"===j.functionType&&(V=[10*C.compositeIconSizes[0].evaluate(T),10*C.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,M,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=k.MAX_GLYPHS&&y.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),{key:I,textBoxStartIndex:B,textBoxEndIndex:F,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:M,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:D,numVerticalGlyphVertices:O,numIconVertices:P,textOpacityState:new c,iconOpacityState:new c,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,O,M,E,P,I,A,{zoom:t.zoom},e,u,f))};if("line"===x.get("symbol-placement"))for(var F=0,N=l(e.geometry,0,0,w,w);F=0;o--)if(n.dist(a[o])1||(h?(clearTimeout(h),h=null,o("dblclick",e)):h=setTimeout(r,300))},!1),l.addEventListener("touchend",function(t){s("touchend",t)},!1),l.addEventListener("touchmove",function(t){s("touchmove",t)},!1),l.addEventListener("touchcancel",function(t){s("touchcancel",t)},!1),l.addEventListener("click",function(t){n.mousePos(l,t).equals(f)&&o("click",t)},!1),l.addEventListener("dblclick",function(t){o("dblclick",t),t.preventDefault()},!1),l.addEventListener("contextmenu",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u||r?u&&(c=e):o("contextmenu",e),e.preventDefault()},!1)}},{"../util/dom":259,"./handler/box_zoom":239,"./handler/dblclick_zoom":240,"./handler/drag_pan":241,"./handler/drag_rotate":242,"./handler/keyboard":243,"./handler/scroll_zoom":244,"./handler/touch_zoom_rotate":245,"@mapbox/point-geometry":4}],231:[function(t,e,r){var n=t("../util/util"),i=t("../style-spec/util/interpolate").number,a=t("../util/browser"),o=t("../geo/lng_lat"),s=t("../geo/lng_lat_bounds"),l=t("@mapbox/point-geometry"),c=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),["bottom","left","right","top"]))return n.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),c=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var u=l.convert(e.offset),f=this.transform,h=f.project(t.getNorthWest()),p=f.project(t.getSouthEast()),d=p.sub(h),g=(f.width-2*o-2*Math.abs(u.x))/d.x,m=(f.height-2*c-2*Math.abs(u.y))/d.y;return m<0||g<0?(n.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(e.center=f.unproject(h.add(p).div(2)),e.zoom=Math.min(f.scaleZoom(f.scale*Math.min(g,m)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.jumpTo=function(t,e){this.stop();var r=this.transform,n=!1,i=!1,a=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=o.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(i=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(a=!0,r.pitch=+t.pitch),this.fire("movestart",e).fire("move",e),n&&this.fire("zoomstart",e).fire("zoom",e).fire("zoomend",e),i&&this.fire("rotate",e),a&&this.fire("pitchstart",e).fire("pitch",e).fire("pitchend",e),this.fire("moveend",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),c=this.getBearing(),u=this.getPitch(),f="zoom"in t?+t.zoom:s,h="bearing"in t?this._normalizeBearing(t.bearing,c):c,p="pitch"in t?+t.pitch:u,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),m=o.convert(t.center||g);this._normalizeCenter(m);var v,y,x=a.project(g),b=a.project(m).sub(x),_=a.zoomScale(f-s);return t.around&&(v=o.convert(t.around),y=a.locationPoint(v)),this.zooming=f!==s,this.rotating=c!==h,this.pitching=p!==u,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,f,t)),r.rotating&&(a.bearing=i(c,h,t)),r.pitching&&(a.pitch=i(u,p,t)),v)a.setLocationAtPoint(v,y);else{var n=a.zoomScale(a.zoom-s),o=f>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire("movestart",t),this.zooming&&this.fire("zoomstart",t),this.pitching&&this.fire("pitchstart",t)},e.prototype._fireMoveEvents=function(t){this.fire("move",t),this.zooming&&this.fire("zoom",t),this.rotating&&this.fire("rotate",t),this.pitching&&this.fire("pitch",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire("zoomend",t),r&&this.fire("pitchend",t),this.fire("moveend",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(A*A-M*M+(t?-1:1)*E*E*T*T)/(2*(t?A:M)*E*T);return Math.log(Math.sqrt(e*e+1)-e)}function a(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}var c=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var u=this.transform,f=this.getZoom(),h=this.getBearing(),p=this.getPitch(),d="zoom"in t?n.clamp(+t.zoom,u.minZoom,u.maxZoom):f,g="bearing"in t?this._normalizeBearing(t.bearing,h):h,m="pitch"in t?+t.pitch:p,v=u.zoomScale(d-f),y=u.centerPoint.add(l.convert(t.offset)),x=u.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=u.project(x),w=u.project(b).sub(_),k=t.curve,M=Math.max(u.width,u.height),A=M/v,T=w.mag();if("minZoom"in t){var S=n.clamp(Math.min(t.minZoom,f,d),u.minZoom,u.maxZoom),C=M/u.zoomScale(S-f);k=Math.sqrt(C/T*2)}var E=k*k,L=r(0),z=function(t){return s(L)/s(L+k*t)},P=function(t){return M*((s(L)*function(t){return a(t)/s(t)}(L+k*t)-a(L))/E)/T},D=(r(1)-L)/k;if(Math.abs(T)<1e-6||!isFinite(D)){if(Math.abs(M-A)<1e-6)return this.easeTo(t,e);var O=At.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=h!==g,this.pitching=m!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*D,n=1/z(r);u.zoom=f+u.scaleZoom(n),c.rotating&&(u.bearing=i(h,g,t)),c.pitching&&(u.pitch=i(p,m,t));var a=u.unproject(_.add(w.mult(P(r))).mult(n));u.setLocationAtPoint(u.renderWorldCopies?a.wrap():a,y),c._fireMoveEvents(e)},function(){return c._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._normalizeBearing=function(t,e){t=n.wrap(t,-180,180);var r=Math.abs(t-e);return Math.abs(t-360-e)180?-360:r<-180?360:0}},e}(t("../util/evented"));e.exports=c},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../style-spec/util/interpolate":158,"../util/browser":252,"../util/evented":260,"../util/util":275,"@mapbox/point-geometry":4}],232:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/config"),o=function(t){this.options=t,i.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};o.prototype.getDefaultPosition=function(){return"bottom-right"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var e=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+"="+r.value+(n=0)return!1;return!0})).length?(this._container.innerHTML=t.join(" | "),this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")},e.exports=o},{"../../util/config":256,"../../util/dom":259,"../../util/util":275}],233:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=function(){this._fullscreen=!1,i.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in a.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in a.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in a.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in a.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",i.warnOnce("This device does not support fullscreen mode.")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);t.setAttribute("aria-label","Toggle fullscreen"),t.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{"../../util/dom":259,"../../util/util":275,"../../util/window":254}],234:[function(t,e,r){var n,i=t("../../util/evented"),a=t("../../util/dom"),o=t("../../util/window"),s=t("../../util/util"),l=t("../../geo/lng_lat"),c=t("../marker"),u={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},f=function(t){function e(e){t.call(this),this.options=s.extend({},u,e),s.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker","_onClickGeolocate"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:"geolocation"}).then(function(e){n="denied"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire("geolocate",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire("error",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=a.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new c(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==e._watchState||(e._watchState="BACKGROUND",e._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),e._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),e.fire("trackuserlocationend"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire("trackuserlocationstart");break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire("trackuserlocationend");break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire("trackuserlocationstart")}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},e}(i);e.exports=f},{"../../geo/lng_lat":62,"../../util/dom":259,"../../util/evented":260,"../../util/util":275,"../../util/window":254,"../marker":248}],235:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=function(){i.bindAll(["_updateLogo"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create("div","mapboxgl-ctrl");var e=n.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off("sourcedata",this._updateLogo)},a.prototype.getDefaultPosition=function(){return"bottom-left"},a.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},a.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},e.exports=a},{"../../util/dom":259,"../../util/util":275}],236:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../handler/drag_rotate"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return e._map.resetNorth()}),this._compassArrow=n.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};s.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:"left",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off("rotate",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create("button",t,this._container);return i.type="button",i.setAttribute("aria-label",e),i.addEventListener("click",r),i},e.exports=s},{"../../util/dom":259,"../../util/util":275,"../handler/drag_rotate":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&"imperial"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,"mi"):i(e,n,s,"ft")}else if(r&&"nautical"===r.unit){i(e,n,o/1852,"nm")}else i(e,n,o,"m")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}var a=t("../../util/dom"),o=t("../../util/util"),s=function(t){this.options=t,o.bindAll(["_onMove"],this)};s.prototype.getDefaultPosition=function(){return"bottom-left"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},e.exports=s},{"../../util/dom":259,"../../util/util":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t("../../util/dom"),i=t("../../geo/lng_lat_bounds"),a=t("../../util/util"),o=t("../../util/window"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener("mousedown",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener("mousemove",this._onMouseMove,!1),o.document.addEventListener("keydown",this._onKeyDown,!1),o.document.addEventListener("mouseup",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var i=Math.min(e.x,r.x),a=Math.max(e.x,r.x),o=Math.min(e.y,r.y),s=Math.max(e.y,r.y);n.setTransform(this._box,"translate("+i+"px,"+o+"px)"),this._box.style.width=a-i+"px",this._box.style.height=s-o+"px"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent("boxzoomcancel",t):this._map.fitBounds(a,{linear:!0}).fire("boxzoomend",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener("mousemove",this._onMouseMove,!1),o.document.removeEventListener("keydown",this._onKeyDown,!1),o.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{"../../geo/lng_lat_bounds":63,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],240:[function(t,e,r){var n=t("../../util/util"),i=function(t){this._map=t,n.bindAll(["_onDblClick","_onZoomEnd"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)},e.exports=i},{"../../util/util":275}],241:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp","_onDragFrame","_onDragFinished"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener("touchmove",this._onMove),a.document.addEventListener("touchend",this._onTouchEnd)):(a.document.addEventListener("mousemove",this._onMove),a.document.addEventListener("mouseup",this._onMouseUp)),a.addEventListener("blur",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent("drag",e),this._fireEvent("move",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent("dragend",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent("moveend",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var c=o.mult(.3/l),u=c.mag();u>1400&&(u=1400,c._unit()._mult(u));var f=u/750,h=c.mult(-f/2);this._map.panBy(h,{duration:1e3*f,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener("mousemove",this._onMove),a.document.removeEventListener("mouseup",this._onMouseUp),a.removeEventListener("blur",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener("touchmove",this._onMove),a.document.removeEventListener("touchend",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||"mousemove"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],242:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||"right",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll(["_onDown","_onMove","_onUp","_onDragFrame","_onDragFinished"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if("right"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener("mousemove",this._onMove,{capture:!0}),a.document.addEventListener("mouseup",this._onUp),a.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener("mousemove",this._onMove,{capture:!0}),a.document.removeEventListener("mouseup",this._onUp),a.removeEventListener("blur",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([o.now(),this._map._normalizeBearing(s,u[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",e),t.pitch=l),this._fireEvent("rotate",e),this._fireEvent("move",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)180&&(d=180);var g=d/180;u+=h*d*(g/2),Math.abs(r._normalizeBearing(u,0))0&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t("../../util/util"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onKeyDown"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),c={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(c,{originalEvent:t})}},e.exports=a},{"../../util/util":275}],244:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/browser"),o=t("../../util/window"),s=t("../../style-spec/util/interpolate").number,l=t("../../geo/lng_lat"),c=o.navigator.userAgent.toLowerCase(),u=-1!==c.indexOf("firefox"),f=-1!==c.indexOf("safari")&&-1===c.indexOf("chrom"),h=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};h.prototype.isEnabled=function(){return!!this._enabled},h.prototype.isActive=function(){return!!this._active},h.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},h.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},h.prototype._onWheel=function(t){var e=0;"wheel"===t.type?(e=t.deltaY,u&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):"mousewheel"===t.type&&(e=-t.wheelDeltaY,f&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},h.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},h.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire("movestart",{originalEvent:t}),this._map.fire("zoomstart",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},h.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if("wheel"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire("move",{originalEvent:this._lastWheelEvent}),this._map.fire("zoom",{originalEvent:this._lastWheelEvent})}},h.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire("zoomend"),t._map.fire("moveend"),delete t._targetZoom},200))},h.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=h},{"../../geo/lng_lat":62,"../../style-spec/util/interpolate":158,"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],245:[function(t,e,r){var n=t("../../util/dom"),i=t("../../util/util"),a=t("../../util/window"),o=t("../../util/browser"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll(["_onStart","_onMove","_onEnd"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]);this._startVec=e.sub(r),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],a.document.addEventListener("touchmove",this._onMove,!1),a.document.addEventListener("touchend",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,c=this._map;if(this._gestureIntent){var u={duration:0,around:c.unproject(i)};"rotate"===this._gestureIntent&&(u.bearing=this._startBearing+l),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(u.zoom=c.transform.scaleZoom(this._startScale*s)),c.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),c.easeTo(u,{originalEvent:t})}else{var f=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent="rotate":f&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=a,this._startScale=c.transform.scale,this._startBearing=c.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener("touchmove",this._onMove),a.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),c=o-l,u=(n[0]-i[0])/1e3,f=n[2];if(0!==u&&o!==l){var h=.15*c/u;Math.abs(h)>2.5&&(h=h>0?2.5:-2.5);var p=1e3*Math.abs(h/(12*.15)),d=o+h*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(f)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{"../../util/browser":252,"../../util/dom":259,"../../util/util":275,"../../util/window":254}],246:[function(t,e,r){var n=t("../util/util"),i=t("../util/window"),a=t("../util/throttle"),o=function(){n.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+a+"/"+o+"/"+r:"#"+r+"/"+o+"/"+a,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},o.prototype._onHashChange=function(){var t=i.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState("","",t)},e.exports=o},{"../util/throttle":272,"../util/util":275,"../util/window":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t("../util/util"),a=t("../util/browser"),o=t("../util/window"),s=t("../util/window"),l=s.HTMLImageElement,c=s.HTMLElement,u=t("../util/dom"),f=t("../util/ajax"),h=t("../style/style"),p=t("../style/evaluation_parameters"),d=t("../render/painter"),g=t("../geo/transform"),m=t("./hash"),v=t("./bind_handlers"),y=t("./camera"),x=t("../geo/lng_lat"),b=t("../geo/lng_lat_bounds"),_=t("@mapbox/point-geometry"),w=t("./control/attribution_control"),k=t("./control/logo_control"),M=t("@mapbox/mapbox-gl-supported"),A=t("../util/image").RGBAImage;t("./events");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error("Container '"+e.container+"' not found.");this._container=a}else{if(!(e.container instanceof c))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener("online",this._onWindowOnline,!1),o.addEventListener("resize",this._onWindowResize,!1)),v(this,e),this._hash=e.hash&&(new m).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new k,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if("mouseenter"===e||"mouseover"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if("mouseleave"===e||"mouseout"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;athis._map.transform.height-i?["bottom"]:[],t.xthis._map.transform.width-n/2&&e.push("right"),e=0===e.length?"bottom":e.join("-")}var o=t.add(r[e]).round(),l={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},u=this._container.classList;for(var f in l)u.remove("mapboxgl-popup-anchor-"+f);u.add("mapboxgl-popup-anchor-"+e),a.setTransform(this._container,l[e]+" translate("+o.x+"px,"+o.y+"px)")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=f},{"../geo/lng_lat":62,"../util/dom":259,"../util/evented":260,"../util/smart_wrap":270,"../util/util":275,"../util/window":254,"@mapbox/point-geometry":4}],250:[function(t,e,r){var n=t("./util"),i=t("./web_worker_transfer"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll(["receive"],this),this.target.addEventListener("message",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:"",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(""===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(".");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},e.exports=s},{"./util":275,"./web_worker_transfer":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open("GET",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials="include"===t.credentials,e}function i(t){var e=a.document.createElement("a");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t("./window"),o={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};r.ResourceType=o,"function"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader("Accept","application/json"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var t;try{t=JSON.parse(r.response)}catch(t){return e(t)}e(null,t)}else e(new s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType="arraybuffer",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error("http status 200 returned without content."));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},r.getVideo=function(t,e){var r=a.document.createElement("video");r.onloadstart=function(){e(null,r)};for(var n=0;n1)for(var f=0;f0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{"./util":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=f.y>t.y&&t.x<(f.x-u.x)*(t.y-u.y)/(f.y-u.y)+u.x&&(r=!r),n=Math.min(n,s(t,u,f))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t("tinyqueue"),o=t("@mapbox/point-geometry"),s=t("./intersection_tests").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,c=-1/0,u=-1/0,f=t[0],h=0;hc)&&(c=p.x),(!h||p.y>u)&&(u=p.y)}var d=c-s,g=u-l,m=Math.min(d,g),v=m/2,y=new a(null,n);if(0===m)return new o(s,l);for(var x=s;x_.d||!_.d)&&(_=k,r&&console.log("found best %d after %d probes",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=e||(v=k.h/2,y.push(new i(k.p.x-v,k.p.y-v,v,t)),y.push(new i(k.p.x+v,k.p.y-v,v,t)),y.push(new i(k.p.x-v,k.p.y+v,v,t)),y.push(new i(k.p.x+v,k.p.y+v,v,t)),w+=4)}return r&&(console.log("num probes: "+w),console.log("best distance: "+_.d)),_.p}},{"./intersection_tests":264,"@mapbox/point-geometry":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t("./worker_pool");e.exports=function(){return n||(n=new i),n}},{"./worker_pool":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l1){if(i(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function l(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function c(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}var u=t("./util").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n=3)for(var l=0;l=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},n.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.getAndRemove(this.order[0]);r&&this.onRemove(r)}return this},n.prototype.has=function(t){return t in this.data},n.prototype.keys=function(){return this.order},n.prototype.getAndRemove=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},n.prototype.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,"/"!==r.path&&(t.path=""+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+c);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+c);return t.params.push("access_token="+e),o(t)}function i(t){return 0===t.indexOf("mapbox:")}function a(t){var e=t.match(f);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function o(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var s=t("./config"),l=t("./browser"),c="See https://www.mapbox.com/api-documentation/#access-tokens";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/styles/v1"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/fonts/v1"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path="/styles/v1"+l.path+"/sprite"+e+r,n(l,s)):(l.path+=""+e+r,o(l))};var u=/(\.(png|jpg)\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),c=l.devicePixelRatio>=2||512===r?"@2x":"",f=l.supportsWebp?".webp":"$1";return n.path=n.path.replace(u,""+c+f),function(t){for(var e=0;e=65097&&t<=65103)||n["CJK Compatibility Ideographs"](t)||n["CJK Compatibility"](t)||n["CJK Radicals Supplement"](t)||n["CJK Strokes"](t)||!(!n["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n["CJK Unified Ideographs Extension A"](t)||n["CJK Unified Ideographs"](t)||n["Enclosed CJK Letters and Months"](t)||n["Hangul Compatibility Jamo"](t)||n["Hangul Jamo Extended-A"](t)||n["Hangul Jamo Extended-B"](t)||n["Hangul Jamo"](t)||n["Hangul Syllables"](t)||n.Hiragana(t)||n["Ideographic Description Characters"](t)||n.Kanbun(t)||n["Kangxi Radicals"](t)||n["Katakana Phonetic Extensions"](t)||n.Katakana(t)&&12540!==t||!(!n["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!n["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n["Unified Canadian Aboriginal Syllabics"](t)||n["Unified Canadian Aboriginal Syllabics Extended"](t)||n["Vertical Forms"](t)||n["Yijing Hexagram Symbols"](t)||n["Yi Syllables"](t)||n["Yi Radicals"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||n["Letterlike Symbols"](t)||n["Number Forms"](t)||n["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||n["Control Pictures"](t)&&9251!==t||n["Optical Character Recognition"](t)||n["Enclosed Alphanumerics"](t)||n["Geometric Shapes"](t)||n["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||n["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n["CJK Symbols and Punctuation"](t)||n.Katakana(t)||n["Private Use Area"](t)||n["CJK Compatibility Forms"](t)||n["Small Form Variants"](t)||n["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{"./is_char_in_unicode_block":265}],270:[function(t,e,r){var n=t("../geo/lng_lat");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{"../geo/lng_lat":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},a.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")},e.exports.StructArray=a,e.exports.Struct=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function i(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx0,f=e.dx<0,h=a;hu.dy&&(l=c,c=u,u=l),c.dy>f.dy&&(l=c,c=f,f=l),u.dy>f.dy&&(l=u,u=f,f=l),c.dy&&i(f,c,a,o,s),u.dy&&i(f,u,a,o,s)}t("../geo/coordinate");var o=t("../source/tile_id").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var c,u,f;if(a>=0&&a<=s)for(c=e;c=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)},r.bezier=function(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}},r.ease=r.bezier(.25,.1,.25,1),r.clamp=function(t,e,r){return Math.min(r,Math.max(e,t))},r.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},r.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},r.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},r.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},r.extend=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i=0)return!0;return!1};var o={};r.warnOnce=function(t){o[t]||("undefined"!=typeof console&&console.warn(t),o[t]=!0)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}},{"../geo/coordinate":61,"../style-spec/util/deep_equal":155,"@mapbox/point-geometry":4,"@mapbox/unitbezier":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},i.geometry.set=function(t){this._geometry=t},n.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t("./script_detection");e.exports=function(t){for(var r="",i=0;i":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"}},{"./script_detection":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t("grid-index"),a=t("../style-spec/util/color"),o=t("../style-spec/expression"),s=o.StylePropertyFunction,l=o.StyleExpression,c=o.StyleExpressionWithErrorHandling,u=o.ZoomDependentExpression,f=o.ZoomConstantExpression,h=t("../style-spec/expression/compound_expression").CompoundExpression,p=t("../style-spec/expression/definitions"),d=t("./window").ImageData,g={};for(var m in n("Object",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n("Grid",i),n("Color",a),n("StylePropertyFunction",s),n("StyleExpression",l,{omit:["_evaluator"]}),n("StyleExpressionWithErrorHandling",c,{omit:["_evaluator"]}),n("ZoomDependentExpression",u),n("ZoomConstantExpression",f),n("CompoundExpression",h,{omit:["_evaluate"]}),p)p[m]._classRegistryKey||n("Expression_"+m,p[m]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a=0)){var h=e[f];u[f]=g[c].shallow.indexOf(f)>=0?h:t(h,r)}return{name:c,properties:u}}throw new Error("can't serialize object of type "+typeof e)},deserialize:function t(e){if(null===e||void 0===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if("object"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error("can't deserialize object of anonymous class");var a=g[n].klass;if(!a)throw new Error("can't deserialize unregistered class "+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s=0?i[c]:t(i[c])}return o}throw new Error("can't deserialize object of type "+typeof e)}}},{"../style-spec/expression":139,"../style-spec/expression/compound_expression":123,"../style-spec/expression/definitions":131,"../style-spec/util/color":153,"./window":254,"grid-index":24}],279:[function(t,e,r){var n=t("./web_worker"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t("../").workerCount;for(this.workers=[];this.workers.lengthp[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":314,"gl-mat4/clone":224,"gl-mat4/create":225,"gl-mat4/determinant":226,"gl-mat4/invert":230,"gl-mat4/transpose":240,"gl-vec3/cross":280,"gl-vec3/dot":281,"gl-vec3/length":282,"gl-vec3/normalize":284}],314:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],315:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":226,"gl-vec3/lerp":283,"mat4-decompose":313,"mat4-recompose":316,"quat-slerp":367}],316:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":225,"gl-mat4/fromRotationTranslation":228,"gl-mat4/identity":229,"gl-mat4/multiply":232,"gl-mat4/scale":238,"gl-mat4/translate":239}],317:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],318:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":388}],320:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":322}],321:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],322:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var C=t.getters||[],E=new Array(T),L=0;L=0?E[L]=!0:E[L]=!1;return function(t,e,r,T,S,C){var E=C.length,L=S.length;if(L<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var z="extractContour"+S.join("_"),P=[],D=[],O=[],I=0;I0&&N.push(l(I,S[R-1])+"*"+s(S[R-1])),D.push(d(I,S[R])+"=("+N.join("-")+")|0")}for(var I=0;I=0;--I)j.push(s(S[I]));D.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),D.push(g(0)+"=0");for(var R=1;R<1<0;M=M-1&d)w.push(x+"["+k+"+"+v(M)+"]");w.push(y(0));for(var M=0;M=0;--e)G(e,0);for(var r=[],e=0;e0){",p(S[e]),"=1;");t(e-1,r|1<=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var c=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(c=""),i>0){n.push("if(1");for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l1){dst.set(",s.join(),",",u,",0.5*(src.get(",h.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",f,",src.pick(",h.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",f,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===i?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",f,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":116}],330:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":331,ndarray:335}],331:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":116}],332:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",d,"=s",d,"-d",f,"*n",f].join("")):s.push(["d",d,"=s",d].join("")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push(["e",p,"=s",p,"-e",h,"*n",h,",f",p,"=",c[p],"-f",h,"*n",h].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),h=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e);return m(v,function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=a(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],p=1;p=0;--a)0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"1)for(a=0;a1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(i)),">",g(d(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++u;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",i].join(""))}function k(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function M(e,r,i){t.length>1?(v([e,r,i],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+i))}function S(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function C(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(i,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),M("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),C("less",1,"++less"),C("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v))}},{"typedarray-pool":423}],333:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":332}],334:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":119,"ndarray-linear-interpolate":328}],335:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+u+",v)}"):a.push("return this.data["+u+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+u+")}"):a.push("return this.data["+u+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":133}],337:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));k=t<_?n-k:k,M=f<_?n-M:M,k<0&&(k=2*n+k),M<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var C=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var E=Math.tan((M-k)/4),L=4/3*r*E,z=4/3*a*E,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;C&&(P=P.concat(C));for(var D=0;D7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case"Q":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=a(p,d,v[1],v[2]);break;case"H":v=a(p,d,v[1],d);break;case"V":v=a(p,d,p,v[1]);break;case"Z":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],338:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;oa)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],339:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],341:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],C=M[3],E=A*w+C*x+T*_-S*b,L=T*w+C*b+S*x-A*_,z=S*w+C*_+A*b-T*x,P=C*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var D=Math.sin(n)/l(x,b,_);x*=D,b*=D,_*=D,P=P*(w=Math.cos(e))-(E=E*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-E*_)*b-(z=z*w+P*_+E*b-L*x)*_}var O=c(E,L,z,P);O>1e-6?(E/=O,L/=O,z/=O,P/=O):(E=L=z=0,P=1),this.rotation.set(t,E,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":340,"filtered-vector":197,"gl-mat4/fromQuat":227,"gl-mat4/invert":230,"gl-mat4/lookAt":231}],342:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},{"repeat-string":381}],343:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":349}],344:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{"invert-permutation":301,"typedarray-pool":423}],349:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,a,o={};if("string"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o0;){a[0][o].length;var g=f(o,p);h(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":107}],351:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s0})).length,m=new Array(g),v=new Array(g),p=0;p0;){var N=B.pop(),j=E[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;vr){for(var h=0;hl||A>c||T=E||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],C=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),D=.5*i,O=a+1;e(r,n,D,O,_,k||C||L||P),e(r,n+D,D,O,k,C||L||P),e(r+D,n,D,O,C,L||P),e(r+D,n+D,D,O,L,P)}}}(0,0,1,0,0,1),z},d;function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],360:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l1)for(var r=1;r0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":92,"compare-cell":108,"compare-oriented-cell":109}],374:[function(t,e,r){"use strict";var n=t("array-bounds"),i=t("color-normalize"),a=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,f=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:h}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * scale + translate;\n\tvec2 aBotPosition = (aBotCoord) * scale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * scale + translate;\n\tvec2 bBotPosition = (bBotCoord) * scale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);var n;("number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity)&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),u.vert=l(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nvec2 paletteCoord(float id) {\n return vec2(\n (mod(id, paletteSize.x) + .5) / paletteSize.x,\n (floor(id / paletteSize.x) + .5) / paletteSize.y\n );\n}\nvec2 paletteCoord(vec2 id) {\n return vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n );\n}\n\nvec4 getColor(vec4 id) {\n // zero-palette means we deal with direct buffer\n if (paletteSize.x == 0.) return id / 255.;\n return texture2D(palette, paletteCoord(id.xy));\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),h&&(u.frag=u.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(u)}e.exports=v,v.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;in)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var p={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(p):e.elements=l.elements(p)}return a({data:d(t),usage:"dynamic"}),s({data:g(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;oi*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},v.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];if(t.length){for(var r=0;rM))&&(s.lower||!(k>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function c(t){Y[s(t.byteLength)>>2].push(t)}function u(t,e,r,n,i,a){for(var o=0;o(i=l)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function l(t){if(t)if("number"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,h=0;Array.isArray(t)||G(t)||a(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=u[t.type]),"length"in t?s=0|t.length:(s=i,5123===h||5122===h?s*=2:5125!==h&&5124!==h||(s*=4))),o(f,e,r,n,i,s,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return l}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,l(t),l._reglType="elements",l._elements=f,l.subdata=function(t,e){return c.subdata(t,e),l},l.destroy=function(){s(f)},l},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function m(t){for(var e=X.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function E(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ft).forEach(function(e){t+=ft[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=C();return"number"==typeof t?A(a,0|t,"number"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,O(i),S(a,3553),P(r,3553),I(),E(a),s.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new D(3553);return ft[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,O(i),d(o,3553,e,r,a),I(),M(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,O(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return I(),s.profile&&(i.stats.size=k(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType="texture2d",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function f(t,e,r,n,i,a){var o,l=h.texInfo;for(L.call(l),o=0;6>o;++o)m[o]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)T(m[0],t),T(m[1],e),T(m[2],r),T(m[3],n),T(m[4],i),T(m[5],a);else if(z(l,t),u(h,t),"faces"in t)for(t=t.faces,o=0;6>o;++o)c(m[o],h),T(m[o],t[o]);else for(o=0;6>o;++o)T(m[o],t)}else for(t=0|t||1,o=0;6>o;++o)A(m[o],t,t);for(c(h,m[0]),h.mipmask=l.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,O(h),o=0;6>o;++o)S(m[o],34069+o);for(P(l,34067),I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=$[h.internalformat],f.type=tt[h.type],f.mag=et[l.magFilter],f.min=rt[l.minFilter],f.wrapS=nt[l.wrapS],f.wrapT=nt[l.wrapT],o=0;6>o;++o)E(m[o]);return f}var h=new D(34067);ft[h.id]=h,o.cubeCount++;var m=Array(6);return f(e,r,n,i,a,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,O(h),d(a,34069+t,r,n,i),I(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,O(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return I(),s.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,s.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);P(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)?r=i:"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=k++,M[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;ni;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){W(M).forEach(m)},restore:function(){W(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;rt&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(c).forEach(e),c={},W(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t="+e+"?"+i+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",i,".buffer)){",u,"=",s,".createStream(",34962,",",i,".buffer);","}else{",u,"=",s,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new O(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(i,".","framebufferHeight","-",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new O(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new O(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,a),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=B(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return yt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[vt["srcRGB"in t?t.srcRGB:t.src],vt["dstRGB"in t?t.dstRGB:t.dst],vt["srcAlpha"in t?t.srcAlpha:t.src],vt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]});case"blend.color":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[yt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,xt[e.fail||"keep"],xt[e.zfail||"keep"],xt[e.zpass||"keep"]]},function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return bt[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return o(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=m("scissor.box")])&&(c[f]=s),(a={framebuffer:a,draw:l,shader:u,state:c,dirty:s=0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","elements"),i&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),g=i("offset"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var v=p+".type",y=h.elements&&I(h.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),E(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,"."+e,n.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),D(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],"["+n+"]",r)}):i.set(a.next,"."+e,n)}),F(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,"."+e,""+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,"."+t,n[t])})}),n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=ft[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){W(u).forEach(o)},restore:function(){W(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=["x","y","z","w"],mt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),vt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},yt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new O(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0=X.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=p(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function p(){return(H()-k)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return O.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=Z;break;case"restore":r=J;break;case"destroy":r=K}return r.push(e),{cancel:function(){for(var t=0;t=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],382:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],383:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function f(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h=n?(i=f,(l+=1)=n?(i=f,(l+=1)0?1:0}},{}],395:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":76,"reduce-simplicial-complex":373}],396:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,void 0===s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(var a=t+1;a>1;--a){a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0){var n=v(r);if(e0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var M=[],A=new Array(a),f=0;f>1;f>=0;--f)x(f);for(;;){var C=_();if(C<0||c[C]>r)break;k(C)}for(var E=[],f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:E,edges:z}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":388,"simplicial-complex":400}],403:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{"./lib/order-segments":403,"binary-search-bounds":72,"functional-red-black-tree":199,"robust-orientation":388}],405:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":385,"robust-sum":393}],406:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[\+\-]/};function e(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a=0),s[8]){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case"e":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case"f":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case"g":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case"t":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),c=s[4]?"0"===s[4]?"0":s[4].charAt(1):" ",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):"",g+=s[5]?h+i+l:"0"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");a.push(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);void 0!==r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],407:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c>>7){");for(var c=0;c<1<<(1<128&&c%128==0){f.length>0&&h.push("}}");var p="vExtra"+f.length;a.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),h=["function ",p,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;xx)&&!(c&1<<_)!=!(c&1<0&&(A="+"+m[b]+"*c");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push("d"+b+"-"+S+"-"+T+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}h.push("a.push([",M.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");for(var C=[],c=0;c<1<1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),C=s(k,M,A,T);return 0===c&&C>0&&(C-=i),1===c&&C<0&&(C+=i),[_,w,S,C]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],C=A[2],E=A[3],L=Math.max(Math.ceil(Math.abs(E)/(i/4)),1);E/=L;for(var z=0;ze[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":44,assert:52,"is-svg-path":309,"normalize-svg-path":412,"parse-svg-path":344}],412:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{"svg-arc-to-cubic-bezier":410}],413:[function(t,e,r){(function(r){"use strict";var n=t("svg-path-bounds"),i=t("parse-svg-path"),a=t("draw-svg-path"),o=t("is-svg-path"),s=t("bitmap-sdf"),l=document.createElement("canvas"),c=l.getContext("2d");e.exports=function(t,e){if(!o(t))throw Error("Argument should be valid svg path string");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle="black",c.fillRect(0,0,u,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bitmap-sdf":74,"draw-svg-path":134,"is-svg-path":309,"parse-svg-path":344,"svg-path-bounds":411}],414:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var p,d,g;return a=E(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=E(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[D(a(t).toString(16)),D(a(e).toString(16)),D(a(r).toString(16)),D(I(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+"%",g:a(100*L(this._g,255))+"%",b:a(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%)":"rgba("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(C[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=c(t);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function E(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function D(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F="[\\s|\\(]+("+(B="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",N="[\\s|\\(]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")[,|\\s]+("+B+")\\s*\\)?",{CSS_UNIT:new RegExp(B),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],416:[function(t,e,r){"use strict";function n(t){if(t instanceof Float32Array)return t;if("number"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if("number"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;rf&&(f=l[0]),l[1]h&&(h=l[1])}function i(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(i);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++ef&&(f=l[0]),l[1]h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:a}:null==n?{type:"Feature",id:r,properties:i,geometry:a}:{type:"Feature",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i1)for(var a,o,c=1,u=l(i[0]);cu&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r>>1;t[i]=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);iMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,C=this.computedMatrix;for(a=0;a<3;++a){var E=_*r[a]+w*h[a]+k*e[a];C[4*a+1]=M*r[a]+A*h[a]+T*e[a],C[4*a+2]=E,C[4*a+3]=0}var L=C[1],z=C[5],P=C[9],D=C[2],O=C[6],I=C[10],R=z*I-P*O,B=P*D-L*I,F=L*O-z*D,N=c(R,B,F);R/=N,B/=N,F/=N,C[0]=R,C[4]=B,C[8]=F;for(a=0;a<3;++a)S[a]=b[a]+C[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=C[a+4*j]*S[j];C[12+a]=-u}C[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var C=e[1],E=e[5],L=e[9],z=C*x+E*b+L*_,P=C*M+E*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var D=e[2],O=e[6],I=e[10],R=D*s+O*l+I*f,B=D*x+O*b+I*_,F=D*M+O*A+I*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),C=Math.atan2(T,A),E=this.angle._state,L=E[E.length-1],z=E[E.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-C),D=Math.abs(L-C),O=Math.abs(L-2*Math.PI-C);P0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return m(t);case"int32":return v(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":73,buffer:85,dup:136}],424:[function(t,e,r){"use strict";"use restrict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e=a)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return f(e)}var c,b="",M=!1,A=["{","}"];(p(e)&&(M=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===M(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===M(t)}function w(t){return b(t)&&("[object Error]"===M(t)||t instanceof Error)}function k(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},r.isBuffer=t("./support/isBuffer");var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),T[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":428,_process:366,inherits:427}],430:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t("./lib/vtext"),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},{"./lib/vtext":431}],431:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||"normal";return r.font=a+"px "+o,r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error("vectorize-text: String too long (sorry, this will get fixed later)");var o=3*n;t.height=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error("bogus call to permitHostObjects___");a=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],433:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":434}],434:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],435:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":433}],436:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":201}],437:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p>13;!x||m=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},{"../main":451,"object-assign":339}],440:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{"../main":451,"object-assign":339}],441:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":451,"object-assign":339}],442:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t=t<=0?t+1:t,r+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{"../main":451,"object-assign":339}],443:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{"../main":451,"object-assign":339}],444:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{"../main":451,"object-assign":339}],445:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{"../main":451,"object-assign":339}],446:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":451,"object-assign":339}],448:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":451,"object-assign":339}],449:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":451,"object-assign":339}],450:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":451,"object-assign":339}],451:[function(t,e,r){var n=t("object-assign");function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(!function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":339}],452:[function(t,e,r){var n=t("object-assign"),i=t("./main");n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s-1){p=1,d=g;for(var C=this.daysInMonth(h,p);d>C;C=this.daysInMonth(h,p))p++,d-=C}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},{"./main":451,"object-assign":339}],453:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":116}],454:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":453}],455:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./common_defaults"),o=t("./attributes");e.exports=function(t,e,r,s,l){function c(r,i){return n.coerce(t,e,o,r,i)}s=s||{};var u=c("visible",!(l=l||{}).itemIsNotPlainObject),f=c("clicktoshow");if(!u&&!f)return e;a(t,e,r,c);for(var h=e.showarrow,p=["x","y"],d=[-10,-30],g={_fullLayout:r},m=0;m<2;m++){var v=p[m],y=i.coerceRef(t,e,g,v,"","paper");if(i.coercePosition(e,g,c,y,v,.5),h){var x="a"+v,b=i.coerceRef(t,e,g,x,"pixel");"pixel"!==b&&b!==y&&(b=e[x]="pixel");var _="pixel"===b?d[m]:.4;i.coercePosition(e,g,c,b,x,_)}c(v+"anchor"),c(v+"shift")}if(n.noneOrAll(t,e,["x","y"]),h&&n.noneOrAll(t,e,["ax","ay"]),f){var w=c("xclick"),k=c("yclick");e._xclick=void 0===w?e.x:i.cleanPosition(w,g,e.xref),e._yclick=void 0===k?e.y:i.cleanPosition(k,g,e.yref)}return e}},{"../../lib":602,"../../plots/cartesian/axes":648,"./attributes":457,"./common_defaults":460}],456:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],457:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants");e.exports={_isLinkedToArray:"annotation",visible:{valType:"boolean",dflt:!0,editType:"calcIfAutorange+arraydraw"},text:{valType:"string",editType:"calcIfAutorange+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calcIfAutorange+arraydraw"},font:i({editType:"calcIfAutorange+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calcIfAutorange+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calcIfAutorange+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calcIfAutorange+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calcIfAutorange+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calcIfAutorange+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calcIfAutorange+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calcIfAutorange+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calcIfAutorange+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calcIfAutorange+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calcIfAutorange+arraydraw"},ax:{valType:"any",editType:"calcIfAutorange+arraydraw"},ay:{valType:"any",editType:"calcIfAutorange+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calcIfAutorange+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calcIfAutorange+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calcIfAutorange+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calcIfAutorange+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calcIfAutorange+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calcIfAutorange+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}}},{"../../plots/cartesian/constants":653,"../../plots/font_attributes":674,"./arrow_paths":456}],458:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r,n,a,o,s=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;s&&s.autorange&&(r=c+e.xshift,n=c-e.xshift,a=u+e.xshift,o=u-e.xshift,e.axref===e.xref?(i.expand(s,[s.r2c(e.x)],{ppadplus:r,ppadminus:n}),i.expand(s,[s.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,a),ppadminus:Math.max(e._xpadminus,o)})):(a=e.ax?a+e.ax:a,o=e.ax?o-e.ax:o,i.expand(s,[s.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,a),ppadminus:Math.max(e._xpadminus,n,o)}))),l&&l.autorange&&(r=c-e.yshift,n=c+e.yshift,a=u-e.yshift,o=u+e.yshift,e.ayref===e.yref?(i.expand(l,[l.r2c(e.y)],{ppadplus:r,ppadminus:n}),i.expand(l,[l.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,a),ppadminus:Math.max(e._ypadminus,o)})):(a=e.ay?a+e.ay:a,o=e.ay?o-e.ay:o,i.expand(l,[l.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,a),ppadminus:Math.max(e._ypadminus,n,o)})))})}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.annotations);if(r.length&&t._fullData.length){var s={};for(var l in r.forEach(function(t){s[t.xref]=1,s[t.yref]=1}),s){var c=i.getFromId(t,l);if(c&&c.autorange)return n.syncOrAsync([a,o],t)}}}},{"../../lib":602,"../../plots/cartesian/axes":648,"./draw":463}],459:[function(t,e,r){"use strict";var n=t("../../registry");function i(t,e){var r,n,i,o,s,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,a=i(t,e),o=a.on,s=a.off.concat(a.explicitOff),l={};if(!o.length&&!s.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}e._w=I,e._h=B;for(var V=!1,U=["x","y"],q=0;q1)&&(K===J?((ot=Q.r2fraction(e["a"+Z]))<0||ot>1)&&(V=!0):V=!0,V))continue;H=Q._offset+Q.r2p(e[Z]),Y=.5}else"x"===Z?(W=e[Z],H=x.l+x.w*W):(W=1-e[Z],H=x.t+x.h*W),Y=e.showarrow?.5:W;if(e.showarrow){at.head=H;var st=e["a"+Z];X=tt*j(.5,e.xanchor)-et*j(.5,e.yanchor),K===J?(at.tail=Q._offset+Q.r2p(st),G=X):(at.tail=H+st,G=X+st),at.text=at.tail+X;var lt=y["x"===Z?"width":"height"];if("paper"===J&&(at.head=o.constrain(at.head,1,lt-1)),"pixel"===K){var ct=-Math.max(at.tail-3,at.text),ut=Math.min(at.tail+3,at.text)-lt;ct>0?(at.tail+=ct,at.text+=ct):ut>0&&(at.tail-=ut,at.text-=ut)}at.tail+=it,at.head+=it}else G=X=rt*j(Y,nt),at.text=H+X;at.text+=it,X+=it,G+=it,e["_"+Z+"padplus"]=rt/2+G,e["_"+Z+"padminus"]=rt/2-G,e["_"+Z+"size"]=rt,e["_"+Z+"shift"]=X}if(V)C.remove();else{var ft=0,ht=0;if("left"!==e.align&&(ft=(I-S)*("center"===e.align?.5:1)),"top"!==e.valign&&(ht=(B-L)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:z+ft-1,y:z+ht}).call(c.setClipUrl,D?_:null);else{var pt=z+ht-m.top,dt=z+ft-m.left;R.call(f.positionText,dt,pt).call(c.setClipUrl,D?_:null)}O.select("rect").call(c.setRect,z,z,I,B),P.call(c.setRect,E/2,E/2,F-E,N-E),C.call(c.setTranslate,Math.round(w.x.text-F/2),Math.round(w.y.text-N/2)),A.attr({transform:"rotate("+k+","+w.x.text+","+w.y.text+")"});var gt,mt,vt=function(r,n){M.selectAll(".annotation-arrow-g").remove();var u=w.x.head,f=w.y.head,h=w.x.tail+r,m=w.y.tail+n,y=w.x.text+r,_=w.y.text+n,T=o.rotationXYMatrix(k,y,_),S=o.apply2DTransform(T),E=o.apply2DTransform2(T),L=+P.attr("width"),z=+P.attr("height"),D=y-.5*L,O=D+L,I=_-.5*z,R=I+z,B=[[D,I,D,R],[D,R,O,R],[O,R,O,I],[O,I,D,I]].map(E);if(!B.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){B.forEach(function(t){var e=o.segmentsIntersect(h,m,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,m=e.y)});var F=e.arrowwidth,N=e.arrowcolor,j=e.arrowside,V=M.append("g").style({opacity:l.opacity(N)}).classed("annotation-arrow-g",!0),U=V.append("path").attr("d","M"+h+","+m+"L"+u+","+f).style("stroke-width",F+"px").call(l.stroke,l.rgb(N));if(d(U,j,e),b.annotationPosition&&U.node().parentNode&&!a){var q=u,H=f;if(e.standoff){var G=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-m,2));q+=e.standoff*(h-u)/G,H+=e.standoff*(m-f)/G}var W,Y,X,Z=V.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-q)+","+(m-H),transform:"translate("+q+","+H+")"}).style("stroke-width",F+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:Z.node(),gd:t,prepFn:function(){var t=c.getTranslate(C);Y=t.x,X=t.y,W={},s&&s.autorange&&(W[s._name+".autorange"]=!0),g&&g.autorange&&(W[g._name+".autorange"]=!0)},moveFn:function(t,r){var n=S(Y,X),i=n[0]+t,a=n[1]+r;C.call(c.setTranslate,i,a),W[v+".x"]=s?s.p2r(s.r2p(e.x)+t):e.x+t/x.w,W[v+".y"]=g?g.p2r(g.r2p(e.y)+r):e.y-r/x.h,e.axref===e.xref&&(W[v+".ax"]=s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&(W[v+".ay"]=g.p2r(g.r2p(e.ay)+r)),V.attr("transform","translate("+t+","+r+")"),A.attr({transform:"rotate("+k+","+i+","+a+")"})},doneFn:function(){i.call("relayout",t,W);var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&vt(0,0),T)p.init({element:C.node(),gd:t,prepFn:function(){mt=A.attr("transform"),gt={}},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?gt[v+".ax"]=s.p2r(s.r2p(e.ax)+t):gt[v+".ax"]=e.ax+t,e.ayref===e.yref?gt[v+".ay"]=g.p2r(g.r2p(e.ay)+r):gt[v+".ay"]=e.ay+r,vt(t,r);else{if(a)return;if(s)gt[v+".x"]=s.p2r(s.r2p(e.x)+t);else{var i=e._xsize/x.w,o=e.x+(e._xshift-e.xshift)/x.w-i/2;gt[v+".x"]=p.align(o+t/x.w,i,0,1,e.xanchor)}if(g)gt[v+".y"]=g.p2r(g.r2p(e.y)+r);else{var l=e._ysize/x.h,c=e.y-(e._yshift+e.yshift)/x.h-l/2;gt[v+".y"]=p.align(c-r/x.h,l,0,1,e.yanchor)}s&&g||(n=p.getCursor(s?.5:gt[v+".x"],g?.5:gt[v+".y"],e.xanchor,e.yanchor))}A.attr({transform:"translate("+t+","+r+")"+mt}),h(C,n)},doneFn:function(){h(C),i.call("relayout",t,gt);var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,m=e.indexOf("end")>=0,v=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void z();if(v){if(v*v>x*x+b*b)return void z();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),T="";if(A1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":699,"../annotations/draw":463}],470:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e0?A>=P:A<=P));T++)A>O&&A0?A>=P:A<=P));T++)A>S[0]&&A1){var nt=Math.pow(10,Math.floor(Math.log(rt)/Math.LN10));tt*=nt*c.roundUp(rt/nt,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(Q.tick0=0)}Q.dtick=tt}Q.domain=[X+G,X+U-G],Q.setScale();var it=c.ensureSingle(b._infolayer,"g",e,function(t){t.classed(_.colorbar,!0).each(function(){var t=n.select(this);t.append("rect").classed(_.cbbg,!0),t.append("g").classed(_.cbfills,!0),t.append("g").classed(_.cblines,!0),t.append("g").classed(_.cbaxis,!0).classed(_.crisp,!0),t.append("g").classed(_.cbtitleunshift,!0).append("g").classed(_.cbtitle,!0),t.append("rect").classed(_.cboutline,!0),t.select(".cbtitle").datum(0)})});it.attr("transform","translate("+Math.round(M.l)+","+Math.round(M.t)+")");var at=it.select(".cbtitleunshift").attr("transform","translate(-"+Math.round(M.l)+",-"+Math.round(M.t)+")");Q._axislayer=it.select(".cbaxis");var ot=0;if(-1!==["top","bottom"].indexOf(r.titleside)){var st,lt=M.l+(r.x+q)*M.w,ct=Q.titlefont.size;st="top"===r.titleside?(1-(X+U-G))*M.h+M.t+3+.75*ct:(1-(X+G))*M.h+M.t-3-.25*ct,gt(Q._id+"title",{attributes:{x:lt,y:st,"text-anchor":"start"}})}var ut,ft,ht,pt=c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(r.titleside)){var e=it.select(".cbtitle"),a=e.select("text"),o=[-r.outlinewidth/2,r.outlinewidth/2],l=e.select(".h"+Q._id+"title-math-group").node(),u=15.6;if(a.node()&&(u=parseInt(a.node().style.fontSize,10)*m),l?(ot=h.bBox(l).height)>u&&(o[1]-=(ot-u)/2):a.node()&&!a.classed(_.jsPlaceholder)&&(ot=h.bBox(a.node()).height),ot){if(ot+=5,"top"===r.titleside)Q.domain[1]-=ot/M.h,o[1]*=-1;else{Q.domain[0]+=ot/M.h;var f=g.lineCount(a);o[1]+=(1-f)*u}e.attr("transform","translate("+o+")"),Q.setScale()}}it.selectAll(".cbfills,.cblines").attr("transform","translate(0,"+Math.round(M.h*(1-Q.domain[1]))+")"),Q._axislayer.attr("transform","translate(0,"+Math.round(-M.t)+")");var p=it.select(".cbfills").selectAll("rect.cbfill").data(E);p.enter().append("rect").classed(_.cbfill,!0).style("stroke","none"),p.exit().remove(),p.each(function(t,e){var r=[0===e?S[0]:(E[e]+E[e-1])/2,e===E.length-1?S[1]:(E[e]+E[e+1])/2].map(Q.c2p).map(Math.round);e!==E.length-1&&(r[1]+=r[1]>r[0]?1:-1);var a=z(t).replace("e-",""),o=i(a).toHexString();n.select(this).attr({x:W,width:Math.max(N,2),y:n.min(r),height:Math.max(n.max(r)-n.min(r),2),fill:o})});var d=it.select(".cblines").selectAll("path.cbline").data(r.line.color&&r.line.width?C:[]);return d.enter().append("path").classed(_.cbline,!0),d.exit().remove(),d.each(function(t){n.select(this).attr("d","M"+W+","+(Math.round(Q.c2p(t))+r.line.width/2%1)+"h"+N).call(h.lineGroupStyle,r.line.width,L(t),r.line.dash)}),Q._axislayer.selectAll("g."+Q._id+"tick,path").remove(),Q._pos=W+N+(r.outlinewidth||0)/2-("outside"===r.ticks?1:0),Q.side="right",c.syncOrAsync([function(){return s.doTicks(t,Q,!0)},function(){if(-1===["top","bottom"].indexOf(r.titleside)){var e=Q.titlefont.size,i=Q._offset+Q._length/2,a=M.l+(Q.position||0)*M.w+("right"===Q.side?10+e*(Q.showticklabels?1:.5):-10-e*(Q.showticklabels?.5:0));gt("h"+Q._id+"title",{avoid:{selection:n.select(t).selectAll("g."+Q._id+"tick"),side:r.titleside,offsetLeft:M.l,offsetTop:0,maxShift:b.width},attributes:{x:a,y:i,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}])},a.previousPromises,function(){var n=N+r.outlinewidth/2+h.bBox(Q._axislayer.node()).width;if((R=at.select("text")).node()&&!R.classed(_.jsPlaceholder)){var i,o=at.select(".h"+Q._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(at.node()).right-W-M.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=Z-J;it.select(".cbbg").attr({x:W-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:J-H,width:Math.max(s,2),height:Math.max(l+2*H,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({"stroke-width":r.borderwidth}),it.selectAll(".cboutline").attr({x:W,y:J+r.ypad+("top"===r.titleside?ot:0),width:Math.max(N,2),height:Math.max(l-2*r.ypad-ot,2)}).call(p.stroke,r.outlinecolor).style({fill:"None","stroke-width":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;it.attr("transform","translate("+(M.l-c)+","+M.t+")"),a.autoMargin(t,e,{x:r.x,y:r.y,l:s*({right:1,center:.5}[r.xanchor]||0),r:s*({left:1,center:.5}[r.xanchor]||0),t:l*({bottom:1,middle:.5}[r.yanchor]||0),b:l*({top:1,middle:.5}[r.yanchor]||0)})}],t);if(pt&&pt.then&&(t._promises||[]).push(pt),t._context.edits.colorbarPosition)l.init({element:it.node(),gd:t,prepFn:function(){ut=it.attr("transform"),f(it)},moveFn:function(t,e){it.attr("transform",ut+" translate("+t+","+e+")"),ft=l.align(Y+t/M.w,j,0,1,r.xanchor),ht=l.align(X-e/M.h,U,0,1,r.yanchor);var n=l.getCursor(ft,ht,r.xanchor,r.yanchor);f(it,n)},doneFn:function(){f(it),void 0!==ft&&void 0!==ht&&o.call("restyle",t,{"colorbar.x":ft,"colorbar.y":ht},k().index)}});return pt}function dt(t,e){return c.coerce(K,Q,x,t,e)}function gt(e,r){var n,i=k();n=o.traceIs(i,"markerColorscale")?"marker.colorbar.title":"colorbar.title";var a={propContainer:Q,propName:n,traceIndex:i.index,placeholder:b._dfltTitle.colorbar,containerGroup:it.select(".cbtitle")},s="h"===e.charAt(0)?e.substr(1):"h"+e;it.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(t,e,u(a,r||{}))}b._infolayer.selectAll("g."+e).remove()}function k(){var r,n,i=e.substr(2);for(r=0;r=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f("autocolorscale",!1))}},{"../../lib":602,"./flip_scale":486,"./scales":493}],482:[function(t,e,r){"use strict";var n=t("./attributes"),i=t("../../lib/extend").extendFlat;t("./scales.js");e.exports=function(t,e,r){return{color:{valType:"color",arrayOk:!0,editType:e||"style"},colorscale:i({},n.colorscale,{}),cauto:i({},n.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:i({},n.zmax,{editType:e||n.zmax.editType,impliedEdits:{cauto:!1}}),cmin:i({},n.zmin,{editType:e||n.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:i({},n.autocolorscale,{dflt:!1===r?r:n.autocolorscale.dflt}),reversescale:i({},n.reversescale,{})}}},{"../../lib/extend":591,"./attributes":480,"./scales.js":493}],483:[function(t,e,r){"use strict";var n=t("./scales");e.exports=n.RdBu},{"./scales":493}],484:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./is_valid_scale"),l=t("./flip_scale");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+"min"],y=g[p+"max"],x=g.colorscale;c(h+p+"auto",!(n(v)&&n(y)&&v=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],487:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./default_scale"),a=t("./is_valid_scale_array");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),a(t)?t:e}},{"./default_scale":483,"./is_valid_scale_array":491,"./scales":493}],488:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./is_valid_scale");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l4/3-s?o:s}},{}],495:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":602}],496:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../plots/cartesian/constants"),c=t("../../constants/interactions"),u=e.exports={};u.align=t("./align"),u.getCursor=t("./cursor");var f=t("./unhover");function h(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents="all",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener("touchstart",_._ontouchstart),_._ontouchstart=k,_.addEventListener("touchstart",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=p(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call("plot",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{"../../constants/interactions":578,"../../lib":602,"../../plots/cartesian/constants":653,"../../registry":732,"./align":494,"./cursor":495,"./unhover":497,"has-hover":296,"has-passive-events":297,"mouse-event-offset":321}],497:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/get_graph_div"),o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/events":590,"../../lib/get_graph_div":597,"../../lib/throttle":627,"../fx/constants":511}],498:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],499:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),f=t("../../constants/xmlns_namespaces"),h=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform","translate("+a+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},m.hideOutsideRangePoints=function(t,e,r){if(e._hasClipOnAxisFalse){r=r||".point,.textpoint";var i=e.xaxis,a=e.yaxis;t.each(function(e){var o=e[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(r).each(function(t){m.hideOutsideRangePoint(t,n.select(this),i,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0};m.gradient=function(t,e,r,i,o,l){var u=e._fullLayout._defs.select(".gradients").selectAll("#"+r).data([i+o+l],c.identity);u.exit().remove(),u.enter().append("radial"===i?"radialGradient":"linearGradient").each(function(){var t=n.select(this);"horizontal"===i?t.attr(_):"vertical"===i&&t.attr(w),t.attr("id",r);var e=a(o),c=a(l);t.append("stop").attr({offset:"0%","stop-color":s.tinyRGB(c),"stop-opacity":c.getAlpha()}),t.append("stop").attr({offset:"100%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})}),t.style({fill:"url(#"+r+")","fill-opacity":null})},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr("d",b(u,l))}var f,h,p,d=!1;if(t.so?(p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor):(p=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))),t.om)e.call(s.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",p+"px");var g=a.gradient,v=t.mgt;if(v?d=!0:v=g&&g.type,v&&"none"!==v){var y=t.mgc;y?d=!0:y=g.color;var x="g"+i._fullLayout._uid+"-"+r.uid;d&&(x+="-"+t.i),e.call(m.gradient,i,x,v,f,y)}else e.call(s.fill,f);p&&e.call(s.stroke,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,"tx","text");if(o){var s=t.tp||e.textposition,l=A(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(M,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=A(t,e);s.fill(i,a),M(i,o,l,t.mrc2||t.mrc)})}};var T=.5;function S(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,T/2),u=Math.pow(s*s+l*l,T/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=1e4&&(m.savedBBoxes={},L=0),r&&(m.savedBBoxes[r]=v),L++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select("base");r.size()&&r.attr("href")?m.baseUrl=window.location.href.split("#")[0]:m.baseUrl=""}t.attr("clip-path","url("+m.baseUrl+"#"+e+")")}else t.attr("clip-path",null)},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=" translate("+e+", "+r+")").trim(),t[i]("transform",a),a},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+=" scale("+e+", "+r+")").trim(),t[i]("transform",a),a},m.setPointGroupScale=function(t,e,r){var n,i,a;return e=e||1,r=r||1,i=1===e&&1===r?"":" scale("+e+","+r+")",a=/\s*sc.*/,t.each(function(){n=(this.getAttribute("transform")||"").replace(a,""),n=(n+=i).trim(),this.setAttribute("transform",n)}),i};var P=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t.each(function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(P);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),i.attr("transform",t.join(" "))}})}},{"../../constants/alignment":574,"../../constants/interactions":578,"../../constants/xmlns_namespaces":581,"../../lib":602,"../../lib/svg_text_utils":626,"../../registry":732,"../../traces/scatter/make_bubble_size_func":943,"../../traces/scatter/subtypes":948,"../color":474,"../colorscale":489,"./symbol_defs":500,d3:130,"fast-isnumeric":196,tinycolor2:415}],500:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+a+","+c+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:130}],501:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],502:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("./compute_error");function s(t,e,r,i){var s=e["error_"+i]||{},l=[];if(s.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=o(s),u=0;u0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll("g.errorbar").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll("path.xerror").remove(),p.visible||g.selectAll("path.yerror").remove(),g.style("opacity",1);var m=g.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(r.duration).style("opacity",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select("path.yerror");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o="M"+(a.x-f)+","+a.yh+"h"+2*f+"m-"+f+",0V"+a.ys,a.noYS||(o+="m-"+f+",0h"+2*f),!u.size()?u=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr("d",o)}else u.remove();var g=e.select("path.xerror");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o="M"+a.xh+","+(a.y-m)+"v"+2*m+"m0,-"+m+"H"+a.xs,a.noXS||(o+="m0,-"+m+"v"+2*m),!g.size()?g=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr("d",o)}else g.remove()}})}})}},{"../../traces/scatter/subtypes":948,"../drawing":499,d3:130,"fast-isnumeric":196}],507:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)})}},{"../color":474,d3:130}],508:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes");e.exports={hoverlabel:{bgcolor:{valType:"color",arrayOk:!0,editType:"none"},bordercolor:{valType:"color",arrayOk:!0,editType:"none"},font:n({arrayOk:!0,editType:"none"}),namelength:{valType:"integer",min:-1,arrayOk:!0,editType:"none"},editType:"calc"}}},{"../../plots/font_attributes":674}],509:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index-1&&o.length>y&&(o=y>3?o.substr(0,y-3)+"...":o.substr(0,y))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+="x: "+t.xLabel+"
          "),void 0!==t.yLabel&&(c+="y: "+t.yLabel+"
          "),c+=(c?"z: ":"")+t.zLabel):L&&t[i+"Label"]===M?c=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",t.text&&!Array.isArray(t.text)&&(c+=(c?"
          ":"")+t.text),void 0!==t.extraText&&(c+=(c?"
          ":"")+t.extraText),""===c&&(""===o&&e.remove(),c=o);var x=e.select("text.nums").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||m).text(c).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),b=e.select("text.name"),_=0;o&&o!==c?(b.call(u.font,t.fontFamily||d,t.fontSize||g,p).text(o).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=b.node().getBoundingClientRect().width+2*k):(b.remove(),e.select("rect").remove()),e.select("path").style({fill:p,stroke:m});var A,T,z=x.node().getBoundingClientRect(),P=t.xa._offset+(t.x0+t.x1)/2,D=t.ya._offset+(t.y0+t.y1)/2,O=Math.abs(t.x1-t.x0),I=Math.abs(t.y1-t.y0),R=z.width+w+k+_;t.ty0=S-z.top,t.bx=z.width+2*k,t.by=z.height+2*k,t.anchor="start",t.txwidth=z.width,t.tx2width=_,t.offset=0,a?(t.pos=P,A=D+I/2+R<=E,T=D-I/2-R>=0,"top"!==t.idealAlign&&A||!T?A?(D+=I/2,t.anchor="start"):t.anchor="middle":(D-=I/2,t.anchor="end")):(t.pos=D,A=P+O/2+R<=C,T=P-O/2-R>=0,"left"!==t.idealAlign&&A||!T?A?(P+=O/2,t.anchor="start"):t.anchor="middle":(P-=O/2,t.anchor="end")),x.attr("text-anchor",t.anchor),_&&b.attr("text-anchor",t.anchor),e.attr("transform","translate("+P+","+D+")"+(a?"rotate("+v+")":""))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i="end"===t.anchor?-1:1,a=r.select("text.nums"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;"middle"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select("path").attr("d","middle"===t.anchor?"M-"+(t.bx/2+t.tx2width/2)+","+(h-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(i*w+f)+","+(w+h)+"v"+(t.by/2-w)+"h"+i*t.bx+"v-"+t.by+"H"+(i*w+f)+"V"+(h-w)+"Z"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select("text.name").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l("hoverinfo","hi","hoverinfo"),l("color","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),t.posref="y"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var c=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+c+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+c,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+u+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+u,"y"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return"all"!==f&&(-1===(f=Array.isArray(f)?f:f.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===f.indexOf("y")&&(t.yLabel=void 0),-1===f.indexOf("z")&&(t.zLabel=void 0),-1===f.indexOf("text")&&(t.text=void 0),-1===f.indexOf("name")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(".spikeline").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,"cursor"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2w[0]._length||tt<0||tt>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=$+w[0]._offset,e.pointerY=tt+k[0]._offset,I="xval"in e?g.flat(l,e.xval):g.p2c(w,$),R="yval"in e?g.flat(l,e.yval):g.p2c(k,tt),!i(I[0])||!i(R[0]))return o.warn("Fx.hover failed",e,t),h.unhoverRaw(t,e)}var nt=1/0;for(F=0;FY&&(J.splice(0,Y),nt=J[0].distance),y&&0!==Z&&0===J.length){W.distance=Z,W.index=!1;var lt=j._module.hoverPoints(W,H,G,"closest",u._hoverlayer);if(lt&&(lt=lt.filter(function(t){return t.spikeDistance<=Z})),lt&<.length){var ct,ut=lt.filter(function(t){return t.xa.showspikes});if(ut.length){var ft=ut[0];i(ft.x0)&&i(ft.y0)&&(ct=gt(ft),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>ct.spikeDistance)&&(Q.vLinePoint=ct))}var ht=lt.filter(function(t){return t.ya.showspikes});if(ht.length){var pt=ht[0];i(pt.x0)&&i(pt.y0)&&(ct=gt(pt),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>ct.spikeDistance)&&(Q.hLinePoint=ct))}}}}function dt(t,e){for(var r,n=null,i=1/0,a=0;a1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Et={hovermode:O,rotateLabels:St,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Lt=M(J,Et,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*("x"===i._id.charAt(0)?x:1)/2,pmin:0,pmax:"x"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function h(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o.01&&g.pmin===m.pmin&&g.pmax===m.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),f.splice(o+1,1),c=0,s=p.length-1;s>=0;s--)c+=p[s].dp;for(a=c/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}f.forEach(h)}for(o=f.length-1;o>=0;o--){var v=f[o];for(s=v.length-1;s>=0;s--){var y=v[s],b=t[y.i];b.offset=y.dp,b.del=y.del}}}(J,St?"xa":"ya",u),A(Lt,St),e.target&&e.target.tagName){var zt=d.getComponentMethod("annotations","hasClickToShow")(t,At);c(n.select(e.target),zt?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,Mt))return;Mt&&t.emit("plotly_unhover",{event:e,points:Mt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:I,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{"../../lib":602,"../../lib/events":590,"../../lib/override_cursor":613,"../../lib/svg_text_utils":626,"../../plots/cartesian/axes":648,"../../registry":732,"../color":474,"../dragelement":496,"../drawing":499,"./constants":511,"./helpers":513,d3:130,"fast-isnumeric":196,tinycolor2:415}],515:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){r("hoverlabel.bgcolor",(i=i||{}).bgcolor),r("hoverlabel.bordercolor",i.bordercolor),r("hoverlabel.namelength",i.namelength),n.coerceFont(r,"hoverlabel.font",i.font)}},{"../../lib":602}],516:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t("./hover").hover,unhover:a.unhover,loneHover:t("./hover").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":602,"../dragelement":496,"./attributes":508,"./calc":509,"./click":510,"./constants":511,"./defaults":512,"./helpers":513,"./hover":514,"./layout_attributes":517,"./layout_defaults":518,"./layout_global_defaults":519,d3:130}],517:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../plots/font_attributes")({editType:"none"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable"],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:i,namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":674,"./constants":511}],518:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o;"select"===a("dragmode")&&a("selectdirection"),e._has("cartesian")?(e._isHoriz=function(t){for(var e=!0,r=0;r1){f||h||p||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var y,x,b="top to bottom"===k("roworder"),_=f?.2:.1,w=f?.3:.1;d&&(y="bottom",x="left"),g._domains={x:c("x",k,_,y,v),y:c("y",k,w,x,m,b)}}}function k(t,e){return n.coerce(r,g,s,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,c,f,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];c=r.subplots=new Array(g);var b=1;for(n=0;n=2/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],527:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},x:{valType:"number",min:-2,max:3,dflt:1.02,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,dflt:1,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":674,"../color/attributes":473}],528:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4}},{}],529:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./attributes"),o=t("../../plots/layout_attributes"),s=t("./helpers");e.exports=function(t,e,r){for(var l,c,u,f,h=t.legend||{},p={},d=0,g="normal",m=0;m1)){if(e.legend=p,y("bgcolor",e.paper_bgcolor),y("bordercolor"),y("borderwidth"),i.coerceFont(y,"font",e.font),y("orientation"),"h"===p.orientation){var x=t.xaxis;x&&x.rangeslider&&x.rangeslider.visible?(l=0,u="left",c=1.1,f="bottom"):(l=0,u="left",c=-.1,f="top")}y("traceorder",g),s.isGrouped(e.legend)&&y("tracegroupgap"),y("x",l),y("xanchor",u),y("y",c),y("yanchor",f),i.noneOrAll(h,p,["x","y"])}}},{"../../lib":602,"../../plots/layout_attributes":701,"../../registry":732,"./attributes":527,"./helpers":533}],530:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),p=t("./constants"),d=t("../../constants/interactions"),g=t("../../constants/alignment"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t("./get_legend_data"),b=t("./style"),_=t("./helpers"),w=t("./anchor_utils"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),"pie"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,"pie"),u=s.index,h=l?n.label:s.name,p=e._context.edits.legendText&&!l,d=i.ensureSingle(t,"text","legendtext");function g(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select("g[class*=math-group]"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(".legendtext"),h=f.lineCount(u),p=u.node();n=s*h,i=p?c.bBox(p).width:0;var d=s*(.3+(1-h)/2);f.positionText(u,40,d)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}d.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,a.legend.font).text(p?T(h,r):h),p?d.call(f.makeEditable,{gd:e,text:h}).call(g).on("edit",function(t){this.text(T(t,r)).call(g);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var l=o.getTransformIndices(a,"groupby"),c=l[l.length-1],f=i.keyedContainer(a,"transforms["+c+"].styles","target","value.name");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call("restyle",e,s,u)}):g(d)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function S(t,e){var r,a=1,o=i.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});o.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTimek&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function C(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;ho+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i.width-(i.margin.r+i.margin.l)&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),r.each(function(e){var r=e[0],i=n.select(this).select(".legendtoggle");c.setRect(i,0,-r.height/2,(t._context.edits.legendText?0:a._width)+l,r.height)})}function E(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");var n="top";w.isBottomAnchor(e)?n="bottom":w.isMiddleAnchor(e)&&(n="middle"),a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),void a.autoMargin(t,"legend");for(var d=0,g=0;gN?function(t){var e=t._fullLayout.legend,r="left";w.isRightAnchor(e)?r="right":w.isCenterAnchor(e)&&(r="center");a.autoMargin(t,"legend",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):E(t);var j=e._size,V=j.l+j.w*s.x,U=j.t+j.h*(1-s.y);w.isRightAnchor(s)?V-=s._width:w.isCenterAnchor(s)&&(V-=s._width/2),w.isBottomAnchor(s)?U-=s._height:w.isMiddleAnchor(s)&&(U-=s._height/2);var q=s._width,H=j.w;q>H?(V=j.l,q=H):(V+q>F&&(V=F-q),V<0&&(V=0),q=Math.min(F-V,s._width));var G,W,Y,X,Z=s._height,J=j.h;if(Z>J?(U=j.t,Z=J):(U+Z>N&&(U=N-Z),U<0&&(U=0),Z=Math.min(N-U,s._height)),c.setTranslate(z,V,U),I.on(".drag",null),z.on("wheel",null),s._height<=Z||t._context.staticPlot)D.attr({width:q-s.borderwidth,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(O,0,0),P.select("rect").attr({width:q-2*s.borderwidth,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(O,r),c.setRect(I,0,0,0,0),delete s._scrollY;else{var K,Q,$=Math.max(p.scrollBarMinHeight,Z*Z/s._height),tt=Z-$-2*p.scrollBarMargin,et=s._height-Z,rt=tt/et,nt=Math.min(s._scrollY||0,et);D.attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select("rect").attr({width:q-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:Z-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+nt}),c.setClipUrl(O,r),at(nt,$,rt),z.on("wheel",function(){at(nt=i.constrain(s._scrollY+n.event.deltaY/tt*et,0,et),$,rt),0!==nt&&nt!==et&&n.event.preventDefault()});var it=n.behavior.drag().on("dragstart",function(){K=n.event.sourceEvent.clientY,Q=nt}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||at(nt=i.constrain((t.clientY-K)/rt+Q,0,et),$,rt)});I.call(it)}if(t._context.edits.legendPosition)z.classed("cursor-move",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);Y=t.x,X=t.y},moveFn:function(t,e){var r=Y+t,n=X+e;c.setTranslate(z,r,n),G=l.align(r,0,j.l,j.l+j.w,s.xanchor),W=l.align(n,0,j.t+j.h,j.t,s.yanchor)},doneFn:function(){void 0!==G&&void 0!==W&&o.call("relayout",t,{"legend.x":G,"legend.y":W})},clickFn:function(r,n){var i=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&M(t,z,i,r,n)}})}function at(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(O,0,-e),c.setRect(I,q,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select("rect").attr({y:s.borderwidth+e})}}},{"../../constants/alignment":574,"../../constants/interactions":578,"../../lib":602,"../../lib/events":590,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../../registry":732,"../color":474,"../dragelement":496,"../drawing":499,"./anchor_utils":526,"./constants":528,"./get_legend_data":531,"./handle_click":532,"./helpers":533,"./style":535,d3:130}],531:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;rr[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};u&&(g.mc=p("marker.color",d),g.mo=p("marker.opacity",a.mean,[.2,1]),g.ms=p("marker.size",a.mean,[2,16]),g.mlc=p("marker.line.color",d),g.mlw=p("marker.line.width",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:"diameter"}),h&&(m.line={width:p("line.width",d,[0,10])}),f&&(g.tx="Aa",g.tp=p("textposition",d),g.ts=10,g.tc=p("textfont.color",d),g.tf=p("textfont.family",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var v=n.select(this).select("g.legendpoints"),y=v.selectAll("path.scatterpts").data(u?r:[]);y.enter().append("path").classed("scatterpts",!0).attr("transform","translate(20,0)"),y.exit().remove(),y.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var x=v.selectAll("g.pointtext").data(f?r:[]);x.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),x.exit().remove(),x.selectAll("text").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data("candlestick"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,o=n.select(this);o.style("stroke-width",a+"px").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data("ohlc"===e.type&&e.visible?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,l=n.select(this);l.style("fill","none").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{"../../lib":602,"../../registry":732,"../../traces/pie/style_one":912,"../../traces/scatter/subtypes":948,"../color":474,"../drawing":499,d3:130}],536:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../../build/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h="on";if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i1?(_=["toggleHover"],w=["resetViews"]):f?(b=["zoomInGeo","zoomOutGeo"],_=["hoverClosestGeo"],w=["resetGeo"]):u?(_=["hoverClosest3d"],w=["resetCameraDefault3d","resetCameraLastSave3d"]):g?(_=["toggleHover"],w=["resetViewMapbox"]):_=p?["hoverClosestGl2d"]:h?["hoverClosestPie"]:["toggleHover"];c&&(_=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);!c&&!p||v||(b=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==w[0]&&(w=["resetScale2d"]));u?k=["zoom3d","pan3d","orbitRotation","tableRotation"]:(c||p)&&!v||d?k=["zoom2d","pan2d"]:g||f?k=["pan2d"]:m&&(k=["zoom2d"]);(function(t){for(var e=!1,r=0;r0)){var p=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a0?f+l:l;return{ppad:l,ppadplus:c?p:d,ppadminus:c?d:p}}return{ppad:l}}function u(t,e,r,n,i){var s="category"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;og?(M=u,C=n+".y0",P="y0",A=g,E=n+".y1",D="y1"):(M=g,C=n+".y1",P="y1",A=u,E=n+".y0",D="y0");o={},J(e),Z.moveFn="move"===H?K:Q},doneFn:function(){c(e),n.call("relayout",t,o)}};function J(t){var r=Z.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=n>G&&i>W&&!t.shiftKey?l.getCursor(a/n,1-o/i):"move";c(e,s),H=s.split("-")[0]}function K(n,i){if("path"===r.type){var a=function(t){return t},l=a,c=a;Y?o[w]=r.xanchor=U(m+n):(l=function(t){return U(j(t)+n)},F&&"date"===F.type&&(l=f.encodeDate(l))),X?o[k]=r.yanchor=q(v+i):(c=function(t){return q(V(t)+i)},N&&"date"===N.type&&(c=f.encodeDate(c))),r.path=d(R,l,c),o[B]=r.path}else Y?o[w]=r.xanchor=U(m+n):(o[y]=r.x0=U(s+n),o[b]=r.x1=U(h+n)),X?o[k]=r.yanchor=q(v+i):(o[x]=r.y0=q(u+i),o[_]=r.y1=q(g+i));e.attr("d",p(t,r))}function Q(n,i){if("path"===r.type){var a=function(t){return t},s=a,l=a;Y?o[w]=r.xanchor=U(m+n):(s=function(t){return U(j(t)+n)},F&&"date"===F.type&&(s=f.encodeDate(s))),X?o[k]=r.yanchor=q(v+i):(l=function(t){return q(V(t)+i)},N&&"date"===N.type&&(l=f.encodeDate(l))),r.path=d(R,s,l),o[B]=r.path}else{var c=~H.indexOf("n")?M+i:M,u=~H.indexOf("s")?A+i:A,h=~H.indexOf("w")?T+n:T,g=~H.indexOf("e")?S+n:S;~H.indexOf("n")&&X&&(c=M-i),~H.indexOf("s")&&X&&(u=A-i),(!X&&u-c>W||X&&c-u>W)&&(o[C]=r[P]=X?c:q(c),o[E]=r[D]=X?u:q(u)),g-h>G&&(o[L]=r[O]=Y?h:U(h),o[z]=r[I]=Y?g:U(g))}e.attr("d",p(t,r))}l.init(Z),e.node().onmousemove=J}(t,g,i,e)}}function p(t,e){var r,n,o,s,l,c,h,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=f.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),m&&"date"===m.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(u.segmentRE,function(t){var n=0,c=t.charAt(0),f=u.paramIsX[c],h=u.paramIsY[c],p=u.numParams[c],d=t.substr(1).replace(u.paramRE,function(t){return f[n]?t="pixel"===a?e(s)+Number(t):e(t):h[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);h=x-e.y0,p=x-e.y1}else h=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+h+"L"+c+","+p;if("rect"===d)return"M"+l+","+h+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(h+p)/2,w=Math.abs(b-l),k=Math.abs(_-h),M="A"+w+","+k,A=b+w+","+_;return"M"+A+M+" 0 1,1 "+(b+","+(_-k))+M+" 0 0,1 "+A+"Z"}function d(t,e,r){return t.replace(u.segmentRE,function(t){var n=0,i=t.charAt(0),a=u.paramIsX[i],o=u.paramIsY[i],s=u.numParams[i];return i+t.substr(1).replace(u.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i0)&&(i("active"),i("x"),i("y"),n.noneOrAll(t,e,["x","y"]),i("xanchor"),i("yanchor"),i("len"),i("lenmode"),i("pad.t"),i("pad.r"),i("pad.b"),i("pad.l"),n.coerceFont(i,"font",r.font),i("currentvalue.visible")&&(i("currentvalue.xanchor"),i("currentvalue.prefix"),i("currentvalue.suffix"),i("currentvalue.offset"),n.coerceFont(i,"currentvalue.font",e.font)),i("transition.duration"),i("transition.easing"),i("bgcolor"),i("activebgcolor"),i("bordercolor"),i("borderwidth"),i("ticklen"),i("tickwidth"),i("tickcolor"),i("minorticklen"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":602,"../../plots/array_container_defaults":644,"./attributes":562,"./constants":563}],565:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("./constants"),f=t("../../constants/alignment"),h=f.LINE_SPACING,p=f.FROM_TL,d=f.FROM_BR;function g(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+u.labelGroupClass).data(e.steps);r.enter().append("g").classed(u.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=x(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var f=e._dims={};f.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var h=t._fullLayout._size;f.lx=h.l+h.w*e.x,f.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?f.outerLength=Math.round(h.w*e.len):f.outerLength=e.len,f.inputAreaStart=0,f.inputAreaLength=Math.round(f.outerLength-e.pad.l-e.pad.r);var g=(f.inputAreaLength-2*u.stepInset)/(e.steps.length-1),m=a+u.labelPadding;if(f.labelStride=Math.max(1,Math.ceil(m/g)),f.labelHeight=s,f.currentValueMaxWidth=0,f.currentValueHeight=0,f.currentValueTotalHeight=0,f.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append("g");r.each(function(t){var r=v(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);f.currentValueMaxWidth=Math.max(f.currentValueMaxWidth,Math.ceil(n.width)),f.currentValueHeight=Math.max(f.currentValueHeight,Math.ceil(n.height)),f.currentValueMaxLines=Math.max(f.currentValueMaxLines,i)}),f.currentValueTotalHeight=f.currentValueHeight+e.currentvalue.offset,y.remove()}f.height=f.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+f.labelHeight+e.pad.t+e.pad.b;var b="left";c.isRightAnchor(e)&&(f.lx-=f.outerLength,b="right"),c.isCenterAnchor(e)&&(f.lx-=f.outerLength/2,b="center");var _="top";c.isBottomAnchor(e)&&(f.ly-=f.height,_="bottom"),c.isMiddleAnchor(e)&&(f.ly-=f.height/2,_="middle"),f.outerLength=Math.ceil(f.outerLength),f.height=Math.ceil(f.height),f.lx=Math.round(f.lx),f.ly=Math.round(f.ly),i.autoMargin(t,u.autoMarginIdRoot+e._index,{x:e.x,y:e.y,l:f.outerLength*p[b],r:f.outerLength*d[b],b:f.height*d[_],t:f.height*p[_]})}function v(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-u.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=u.currentValueInset,i="left"}var c=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":i,"data-notex":1})}),f=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)f+=r;else f+=e.steps[e.active].label;e.currentvalue.suffix&&(f+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(f).call(l.convertToTspans,e._gd);var p=l.lineCount(c),d=(a.currentValueMaxLines+1-p)*e.currentvalue.font.size*h;return l.positionText(c,n,d),c}}function y(t,e,r){s.ensureSingle(t,"rect",u.gripRectClass,function(n){n.call(k,e,t,r).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function x(t,e,r){var n=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function b(t,e){var r=s.ensureSingle(t,"g",u.labelsClass),i=e._dims,a=r.selectAll("g."+u.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(u.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(x,t,e),o.setTranslate(r,T(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*h+u.labelOffset+i.currentValueTotalHeight)})}function _(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&w(t,e,r,a,!0,i)}function w(t,e,r,n,a,o){var s=r.active;r._input.active=r.active=n;var l=r.steps[r.active];e.call(A,r,r.active/(r.steps.length-1),o),e.call(v,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function k(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=S(t,n.mouse(i)[0]);_(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),a=S(t,n.mouse(i)[0]);_(e,r,t,a,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function M(t,e){var r=t.selectAll("rect."+u.tickRectClass).data(e.steps),i=e._dims;r.enter().append("rect").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,T(e,r/(e.steps.length-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+i.currentValueTotalHeight)})}function A(t,e,r,n){var i=t.select("rect."+u.gripRectClass),a=T(e,r);if(!e._invokingCommand){var o=i;n&&e.transition.duration>0&&(o=o.transition().duration(e.transition.duration).ease(e.transition.easing)),o.attr("transform","translate("+(a-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function T(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function S(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(k,e,t,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function E(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,i=s.ensureSingle(t,"rect",u.railRectClass);i.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],i=0;i0?[0]:[]);if(a.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n=r.steps.length&&(r.active=0);e.call(v,r).call(E,r).call(b,r).call(M,r).call(C,t,r).call(y,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(A,r,r.active/(r.steps.length-1),!1),e.call(v,r)}(t,n.select(this),e)}})}}},{"../../constants/alignment":574,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../color":474,"../drawing":499,"../legend/anchor_utils":526,"./constants":563,d3:130}],566:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":562,"./constants":563,"./defaults":564,"./draw":565}],567:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),f=t("../../constants/interactions");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,C=!1,E=(d.title||"").trim();"title"===g?p="titleText":-1!==g.indexOf("axis")?p="axisTitleText":g.indexOf(!0)&&(p="colorbarTitleText");var L=t._context.edits[p];""===E?S=0:E.replace(h," % ")===m.replace(h," % ")&&(S=.2,C=!0,L||(E=""));var z=E||L;_||(_=s.ensureSingle(w._infolayer,"g","g-"+e));var P=_.selectAll("text").data(z?[0]:[]);if(P.enter().append("text"),P.text(E).attr("class",e),P.exit().remove(),!z)return _;function D(t){s.syncOrAsync([O,I],t)}function O(e){var r;return b?(r="",b.rotate&&(r+="rotate("+[b.rotate,x.x,x.y]+")"),b.offset&&(r+="translate(0, "+b.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":M,"font-size":n.round(A,2)+"px",fill:c.rgb(T),opacity:S*c.opacity(T),"font-weight":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function I(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&E){e.attr("transform",null);var r=0,a={left:"right",right:"left",top:"bottom",bottom:"top"}[y.side],o=-1!==["left","top"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*("left"===y.side||"top"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr("transform","translate("+g+")")}}}P.call(D),L&&(E?P.on(".opacity",null):(S=0,C=!0,P.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)})),P.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==v?o.call("restyle",t,g,e,v):o.call("relayout",t,g,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,x.x,x.y)}));return P.classed("js-placeholder",C),_}};var h=/ [XY][0-9]* /},{"../../constants/interactions":578,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/plots":710,"../../registry":732,"../color":474,"../drawing":499,d3:130,"fast-isnumeric":196}],568:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes");e.exports=o({_isLinkedToArray:"updatemenu",_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:{_isLinkedToArray:"button",method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}},x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a({},s,{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}},"arraydraw","from-root")},{"../../lib/extend":591,"../../plot_api/edit_types":633,"../../plots/font_attributes":674,"../../plots/pad_attributes":709,"../color/attributes":473}],569:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],570:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("visible",function(t,e){var r,i,a=t.buttons||[],o=e.buttons=[];function l(t,e){return n.coerce(r,i,s,t,e)}for(var c=0;c0)&&(i("active"),i("direction"),i("type"),i("showactive"),i("x"),i("y"),n.noneOrAll(t,e,["x","y"]),i("xanchor"),i("yanchor"),i("pad.t"),i("pad.r"),i("pad.b"),i("pad.l"),n.coerceFont(i,"font",r.font),i("bgcolor",r.paper_bgcolor),i("bordercolor"),i("borderwidth"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":602,"../../plots/array_container_defaults":644,"./attributes":568,"./constants":569}],571:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../legend/anchor_utils"),u=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e._input.active=e.active=o,"buttons"===e.type?v(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,function(t){t.style("pointer-events","all")}),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])}).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",function(){r.call(T),r.attr(f.menuIndexAttrName,d(r,i)?-1:String(i._index)),v(t,e,r,n,i)}),a.on("mouseover",function(){a.call(w)}),a.on("mouseout",function(){a.call(k,i)}),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var s=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,l="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+l).data(s),u=c.enter().append("g").classed(l,!0),h=c.exit();"dropdown"===o.type?(u.attr("opacity","0").transition().attr("opacity","1"),h.transition().attr("opacity","0").remove()):h.remove();var p=0,d=0,m=o._dims,v=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(v?d=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+d+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},b={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each(function(s,l){var u=n.select(this);u.call(y,o,s,t).call(A,o,x),u.on("click",function(){n.event.defaultPrevented||(g(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),u.on("mouseover",function(){u.call(w)}),u.on("mouseout",function(){u.call(k,o),c.call(_,o)})}),c.call(_,o),v?(b.w=Math.max(m.openWidth,m.headerWidth),b.h=x.y-b.t):(b.w=x.x-b.l,b.h=Math.max(m.openHeight,m.headerHeight)),b.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),a.exit().remove(),a.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;nw,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,C=m+v;C+T>c&&(C=c-T);var E=this.container.selectAll("rect.scrollbar-horizontal").data(M?[0]:[]);E.exit().on(".drag",null).remove(),E.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),M?(this.hbar=E.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:C,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,D=d+g,O=m;D+z>l&&(D=l-z);var I=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);I.exit().on(".drag",null).remove(),I.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:D,y:O,width:z,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),M||L?(this._clipRect=V.select("rect").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),M||L){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));M&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":602,"../color":474,"../drawing":499,d3:130}],574:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],575:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],576:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],577:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],578:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],579:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:"\u2212"}},{}],580:[function(t,e,r){"use strict";e.exports={entityToUnicode:{mu:"\u03bc","#956":"\u03bc",amp:"&","#28":"&",lt:"<","#60":"<",gt:">","#62":">",nbsp:"\xa0","#160":"\xa0",times:"\xd7","#215":"\xd7",plusmn:"\xb1","#177":"\xb1",deg:"\xb0","#176":"\xb0"}}},{}],581:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],582:[function(t,e,r){"use strict";r.version="1.37.1",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config");for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;s180&&(t-=360*Math.round(t/360)),t}},{}],585:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../constants/numerical").BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},{"../constants/numerical":579,"fast-isnumeric":196}],586:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],587:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../plots/attributes"),o=t("../components/colorscale/get_scale"),s=(Object.keys(t("../components/colorscale/scales")),t("./nested_property")),l=t("./regex").counter,c=t("../constants/interactions").DESELECTDIM,u=t("./angles").wrap180,f=t("./is_array").isArrayOrTypedArray;r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;ni.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a=n&&t<=i?t:u;if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var a=_(e),o=t.charAt(0);!a||"G"!==o&&"g"!==o||(t=t.substr(1),e="");var s=a&&"chinese"===e.substr(0,7),l=t.match(s?x:y);if(!l)return u;var c=l[1],v=l[3]||"1",w=Number(l[5]||1),k=Number(l[7]||0),M=Number(l[9]||0),A=Number(l[11]||0);if(a){if(2===c.length)return u;var T;c=Number(c);try{var S=m.getComponentMethod("calendars","getCal")(e);if(s){var C="i"===v.charAt(v.length-1);v=parseInt(v,10),T=S.newDate(c,S.toMonthIndex(c,v,C),w)}else T=S.newDate(c,Number(v),w)}catch(t){return u}return T?(T.toJD()-g)*f+k*h+M*p+A*d:u}c=2===c.length?(Number(c)+2e3-b)%100+b:Number(c),v-=1;var E=new Date(Date.UTC(2e3,v,w,k,M));return E.setUTCFullYear(c),E.getUTCMonth()!==v?u:E.getUTCDate()!==w?u:E.getTime()+A*d},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,C=Math.floor(l(t,f));try{a=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=v("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||"number"==typeof t){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function C(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var E=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),E[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},{"./mod":609}],597:[function(t,e,r){"use strict";e.exports=function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null===t||void 0===t)throw new Error("DOM element provided is null or undefined");return t}},{}],598:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("color-normalize"),a=t("../components/colorscale"),o=t("../components/color/attributes").defaultLine,s=t("./is_array").isArrayOrTypedArray,l=i(o),c=1;function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return l;var e=i(t);return e.length?e:l}function h(t){return n(t)?t:c}e.exports=function(t,e,r){var n,o,p,d,g,m=t.color,v=s(m),y=s(e),x=[];if(n=void 0!==t.colorscale?a.makeColorScaleFunc(a.extractScale(t.colorscale,t.cmin,t.cmax)):f,o=v?function(t,e){return void 0===t[e]?l:i(n(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?c:h(t[e])}:h,v||y)for(var b=0;b=0;){var n=t.indexOf(";",r);if(n/g,"")}(function(t){for(var e=0;(e=t.indexOf("",e))>=0;){var r=t.indexOf("",e);if(r/g,"\n"))))}},{"../constants/string_mappings":580,"superscript-text":408}],601:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],602:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../constants/numerical"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.mod=t("./mod"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private"),l.ensureArray=t("./ensure_array");var c=t("./is_array");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D;var u=t("./coerce");l.valObjectMeta=u.valObjectMeta,l.coerce=u.coerce,l.coerce2=u.coerce2,l.coerceFont=u.coerceFont,l.coerceHoverinfo=u.coerceHoverinfo,l.coerceSelectionMarkerOpacity=u.coerceSelectionMarkerOpacity,l.validate=u.validate;var f=t("./dates");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var h=t("./search");l.findBin=h.findBin,l.sorterAsc=h.sorterAsc,l.sorterDes=h.sorterDes,l.distinctVals=h.distinctVals,l.roundUp=h.roundUp;var p=t("./stats");l.aggNums=p.aggNums,l.len=p.len,l.mean=p.mean,l.variance=p.variance,l.stdev=p.stdev,l.interp=p.interp;var d=t("./matrix");l.init2dArray=d.init2dArray,l.transposeRagged=d.transposeRagged,l.dot=d.dot,l.translationMatrix=d.translationMatrix,l.rotationMatrix=d.rotationMatrix,l.rotationXYMatrix=d.rotationXYMatrix,l.apply2DTransform=d.apply2DTransform,l.apply2DTransform2=d.apply2DTransform2;var g=t("./angles");l.deg2rad=g.deg2rad,l.rad2deg=g.rad2deg,l.wrap360=g.wrap360,l.wrap180=g.wrap180;var m=t("./geometry2d");l.segmentsIntersect=m.segmentsIntersect,l.segmentDistance=m.segmentDistance,l.getTextLocation=m.getTextLocation,l.clearLocationCache=m.clearLocationCache,l.getVisibleSegment=m.getVisibleSegment,l.findPointOnPath=m.findPointOnPath;var v=t("./extend");l.extendFlat=v.extendFlat,l.extendDeep=v.extendDeep,l.extendDeepAll=v.extendDeepAll,l.extendDeepNoArrays=v.extendDeepNoArrays;var y=t("./loggers");l.log=y.log,l.warn=y.warn,l.error=y.error;var x=t("./regex");l.counterRegex=x.counter;var b=t("./throttle");l.throttle=b.throttle,l.throttleDone=b.done,l.clearThrottle=b.clear,l.getGraphDiv=t("./get_graph_div"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.noop=t("./noop"),l.identity=t("./identity"),l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;ir?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o-1||c!==1/0&&c>=Math.pow(2,r)?t(e,r,n):s},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n=0&&a%1==0){var d=n?n[p]:p,g=r?r[d]:d;f(g)&&(t[g].selected=1)}}},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};var k=/%{([^\s%{}]*)}/g,M=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(k,function(t,n){return M.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var A=2e9;l.seedPseudoRandom=function(){A=2e9},l.pseudoRandom=function(){var t=A;return A=(69069*A+1)%4294967296,Math.abs(A-t)<429496729?l.pseudoRandom():A/4294967296}},{"../constants/numerical":579,"./angles":584,"./clean_number":585,"./coerce":587,"./dates":588,"./ensure_array":589,"./extend":591,"./filter_unique":592,"./filter_visible":593,"./geometry2d":596,"./get_graph_div":597,"./identity":601,"./is_array":603,"./is_plain_object":604,"./keyed_container":605,"./localize":606,"./loggers":607,"./matrix":608,"./mod":609,"./nested_property":610,"./noop":611,"./notifier":612,"./push_unique":616,"./regex":618,"./relative_attr":619,"./relink_private":620,"./search":621,"./stats":624,"./throttle":627,"./to_log_range":628,d3:130,"fast-isnumeric":196}],603:[function(t,e,r){"use strict";var n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],604:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],605:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o1){for(var t=["LOG:"],e=0;e0){for(var t=["WARN:"],e=0;e0){for(var t=["ERROR:"],e=0;e/g),o=0;oo||a===i||al||e&&c(t))}:function(t,e){var a=t[0],c=t[1];if(a===i||ao||c===i||cl)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;uMath.max(f,m)||c>Math.max(h,v)))if(cu||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{"../constants/numerical":579,"./matrix":608}],615:[function(t,e,r){(function(r){"use strict";var n=t("regl");e.exports=function(t,e){t._fullLayout._glcanvas.each(function(i){i.regl||(i.regl=n({canvas:this,attributes:{antialias:!i.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]}))})}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{regl:380}],616:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;ri.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function l(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var c,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?a:o:r?l:s,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;se[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./is_array":603,"fast-isnumeric":196}],625:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":100}],626:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../constants/xmlns_namespaces"),o=t("../constants/string_mappings"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,o){var v=t.text(),E=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&v.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr("class")?t.attr("class").split(" ")[0]:"text";return z+="-math",L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove(),t.style("display",null).attr({"data-unformatted":v,"data-math":"N"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a="math-output-"+i.randstr([],64),o=n.select("body").append("div").attr({id:a}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text((s=t,s.replace(u,"\\lt ").replace(f,"\\gt ")));var s;MathJax.Hub.Queue(["Typeset",MathJax.Hub,o.node()],function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(o.select(".MathJax_SVG").empty()||!o.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var a=o.select("svg").node().getBoundingClientRect();r(o.select(".MathJax_SVG"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return P(),void e();var c=L.append("g").classed(z+"-group",!0).attr({"pointer-events":"none","data-unformatted":v,"data-math":"Y"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:z,height:a.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var u=t.node().style.fill||"black";s.select("g").attr({fill:u,stroke:u});var f=l(s,"width"),h=l(s,"height"),p=+t.attr("x")-f*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||l(t,"height"))/4;"y"===z[0]?(c.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-f/2,d-h/2]+")"}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===z[0]?s.attr({x:t.attr("x"),y:d-h/2}):"a"===z[0]?s.attr({x:0,y:d}):s.attr({x:p,y:+t.attr("y")+d-h/2}),o&&o.call(t,c),e(c)})})):P(),t}function P(){L.empty()||(z=t.attr("class")+"-math",L.select("svg."+z).remove()),t.text("").style("white-space","pre"),function(t,e){e=(r=e,function(t,e){if(!t)return"";for(var r=0;r1)for(var i=1;i doesnt match end tag <"+t+">. Pretending it did match.",e),o=c[c.length-1].node}else i.log("Ignoring unexpected end tag .",e)}w.test(e)?f():(o=t,c=[{node:t}]);for(var z=e.split(b),P=0;P|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},g="\u200b",m=["http:","https:","mailto:","",void 0,":"],v=new RegExp("]*)?/?>","g"),y=Object.keys(o.entityToUnicode).map(function(t){return{regExp:new RegExp("&"+t+";","g"),sub:o.entityToUnicode[t]}}),x=/(\r\n?|\n)/g,b=/(<[^<>]*>)/,_=/<(\/?)([^ >]*)(\s+(.*))?>/i,w=//i,k=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,M=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,A=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function S(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var C=/(^|;)\s*color:/;function E(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+"px",left:a()-c.left+"px","z-index":1e3}),this}}r.plainText=function(t){return(t||"").replace(v," ")},r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var i=n.select(r).select(".svg-container"),o=i.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(E(t,i,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(E(t,i,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr("class");(i=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},{"../constants/alignment":574,"../constants/string_mappings":580,"../constants/xmlns_namespaces":581,"../lib":602,d3:130}],627:[function(t,e,r){"use strict";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].tsa.ts+e?l():a.timer=setTimeout(function(){l(),a.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],628:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":196}],629:[function(t,e,r){"use strict";var n=e.exports={},i=t("../plots/geo/constants").locationmodeToLayer,a=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{"../plots/geo/constants":676,"topojson-client":418}],630:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],631:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],632:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e3?(T.x=1.02,T.xanchor="left"):T.x<-2&&(T.x=-.02,T.xanchor="right"),T.y>3?(T.y=1.02,T.yanchor="bottom"):T.y<-2&&(T.y=-.02,T.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),f.clean(t),t},r.cleanData=function(t,e){for(var n=[],i=t.concat(Array.isArray(e)?e:[]).filter(function(t){return"uid"in t}).map(function(t){return t.uid}),l=0;l0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&o.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),C=S||[],E=n(v,f).get(),L=[],z=-1,P=C.length;for(x=0;xC.length-(A?0:1))o.warn("index out of range",f,_);else if(void 0!==M)k.length>1&&o.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(M)?L.push(_):A?("add"===M&&(M={}),C.splice(_,0,M),E&&E.splice(_,0,{})):o.warn("Unrecognized full object edit value",f,_,M),-1===z&&(z=_);else for(b=0;b=0;x--)C.splice(L[x],1),E&&E.splice(L[x],1);if(C.length?S||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==a){var D;if(-1===z)D=T;else{for(P=Math.max(C.length,P),D=[],x=0;x=z);x++)D.push(_);for(x=z;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),L(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&L(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function P(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in L(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=E(r,t.data.length-1),e)for(var d=0;d0&&"string"!=typeof E.parts[z-1];)P--;var D=E.parts[P],I=E.parts[P-1]+"."+D,R=E.parts.slice(0,P).join("."),N=o.nestedProperty(t.layout,R).get(),j=o.nestedProperty(s,R).get(),V=E.get();if(void 0!==L){y[C]=L,x[C]="reverse"===D?L:O(V);var U=u.getLayoutValObject(s,E.parts);if(U&&U.impliedEdits&&null!==L)for(var q in U.impliedEdits)w(o.relativeAttr(C,q),U.impliedEdits[q]);if(-1!==["width","height"].indexOf(C)&&null===L)s[C]=t._initialAutoSize[C];else if(I.match(/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/))S(I),o.nestedProperty(s,R+"._inputRange").set(null);else if(I.match(/^[xyz]axis[0-9]*\.autorange$/)){S(I),o.nestedProperty(s,R+"._inputRange").set(null);var H=o.nestedProperty(s,R).get();H._inputDomain&&(H._input.domain=H._inputDomain.slice())}else I.match(/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/)&&o.nestedProperty(s,R+"._inputDomain").set(null);if("type"===D){var G=N,W="linear"===j.type&&"log"===L,Y="log"===j.type&&"linear"===L;if(W||Y){if(G&&G.range)if(j.autorange)W&&(G.range=G.range[1]>G.range[0]?[1,2]:[2,1]);else{var X=G.range[0],Z=G.range[1];W?(X<=0&&Z<=0&&w(R+".autorange",!0),X<=0?X=Z/1e6:Z<=0&&(Z=X/1e6),w(R+".range[0]",Math.log(X)/Math.LN10),w(R+".range[1]",Math.log(Z)/Math.LN10)):(w(R+".range[0]",Math.pow(10,X)),w(R+".range[1]",Math.pow(10,Z)))}else w(R+".autorange",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[E.parts[0]]&&"radialaxis"===E.parts[1]&&delete s[E.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,j,L,w),c.getComponentMethod("images","convertCoords")(t,j,L,w)}else w(R+".autorange",!0),w(R+".range",null);o.nestedProperty(s,R+"._inputRange").set(null)}else if(D.match(M)){var J=o.nestedProperty(s,C).get(),K=(L||{}).type;K&&"-"!==K||(K="linear"),c.getComponentMethod("annotations","convertCoords")(t,J,K,w),c.getComponentMethod("images","convertCoords")(t,J,K,w)}var Q=b.containerArrayMatch(C);if(Q){r=Q.array,n=Q.index;var $=Q.property,tt=(o.nestedProperty(a,r)||[])[n]||{},et=tt,rt=U||{editType:"calc"},nt=-1!==rt.editType.indexOf("calcIfAutorange");""===n?(nt?v.calc=!0:k.update(v,rt),nt=!1):""===$&&(et=L,b.isAddVal(L)?x[C]=null:b.isRemoveVal(L)?(x[C]=tt,et=tt):o.warn("unrecognized full object value",e)),nt&&(F(t,et,"x")||F(t,et,"y"))?v.calc=!0:k.update(v,rt),h[r]||(h[r]={});var it=h[r][n];it||(it=h[r][n]={}),it[$]=L,delete e[C]}else"reverse"===D?(N.range?N.range.reverse():(w(R+".autorange",!0),N.range=[1,0]),j.autorange?v.calc=!0:v.plot=!0):(s._has("scatter-like")&&s._has("regl")&&"dragmode"===C&&("lasso"===L||"select"===L)&&"lasso"!==V&&"select"!==V?v.plot=!0:U?k.update(v,U):v.calc=!0,E.set(L))}}for(r in h){b.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var at=s._axisConstraintGroups||[];for(A in T)for(n=0;n=0&&r=0&&r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=void 0===e||null===e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d0&&MM)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{"../components/color":474,"../components/drawing":499,"../constants/xmlns_namespaces":581,"../lib":602,"../lib/events":590,"../lib/queue":617,"../lib/svg_text_utils":626,"../plots/cartesian/axes":648,"../plots/cartesian/constants":653,"../plots/cartesian/graph_interact":657,"../plots/plots":710,"../plots/polar/legacy":718,"../registry":732,"./edit_types":633,"./helpers":634,"./manage_arrays":636,"./plot_config":638,"./plot_schema":639,"./subroutines":640,d3:130,"fast-isnumeric":196,"has-hover":296}],638:[function(t,e,r){"use strict";e.exports={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:"reset+autosize",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:"Edit chart",showSources:!1,displayModeBar:"hover",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,displaylogo:!0,plotGlPixelRatio:2,setBackground:"transparent",topojsonURL:"https://cdn.plot.ly/",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:"en-US",locales:{}}},{}],639:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("../plots/polar/legacy/area_attributes"),u=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g="_isSubplotObj",m="_isLinkedToArray",v=[g,m,"_arrayAttrRegexps","_deprecated"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):d(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(d(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}(r,n,w)){var s=a.node(),l=e.bg=o.ensureSingle(a,"rect","bg");s.insertBefore(l.node(),s.childNodes[0])}else a.select("rect.bg").remove(),_.push(t),w.push([r,n])});var k=i._bgLayer.selectAll(".bg").data(_);return k.enter().append("rect").classed("bg",!0),k.exit().remove(),k.each(function(t){i._plots[t].bg=n.select(this)}),x.each(function(t){var e=i._plots[t],r=e.xaxis,n=e.yaxis;e.bg&&d&&e.bg.call(c.setRect,r._offset-s,n._offset-s,r._length+2*s,n._length+2*s).call(l.fill,i.plot_bgcolor).style("stroke-width",0);var a,f,h=e.clipId="clip"+i._uid+t+"plot",p=o.ensureSingleById(i._clips,"clipPath",h,function(t){t.classed("plotclip",!0).append("rect")});if(e.clipRect=p.select("rect").attr({width:r._length,height:n._length}),c.setTranslate(e.plot,r._offset,n._offset),e._hasClipOnAxisFalse?(a=null,f=h):(a=h,f=null),c.setClipUrl(e.plot,a),e.layerClipId=f,d){var m,v,x,_,w,k,M,A,T,S,C,E,L,z="M0,0";y(r,t)&&(w=b(r,"left",n,u),m=r._offset-(w?s+w:0),k=b(r,"right",n,u),v=r._offset+r._length+(k?s+k:0),x=g(r,n,"bottom"),_=g(r,n,"top"),(L=!r._anchorAxis||t!==r._mainSubplot)&&r.ticks&&"allticks"===r.mirror&&(r._linepositions[t]=[x,_]),z=I(r,D,function(t){return"M"+r._offset+","+t+"h"+r._length}),L&&r.showline&&("all"===r.mirror||"allticks"===r.mirror)&&(z+=D(x)+D(_)),e.xlines.style("stroke-width",r._lw+"px").call(l.stroke,r.showline?r.linecolor:"rgba(0,0,0,0)")),e.xlines.attr("d",z);var P="M0,0";y(n,t)&&(C=b(n,"bottom",r,u),M=n._offset+n._length+(C?s:0),E=b(n,"top",r,u),A=n._offset-(E?s:0),T=g(n,r,"left"),S=g(n,r,"right"),(L=!n._anchorAxis||t!==r._mainSubplot)&&n.ticks&&"allticks"===n.mirror&&(n._linepositions[t]=[T,S]),P=I(n,O,function(t){return"M"+t+","+n._offset+"v"+n._length}),L&&n.showline&&("all"===n.mirror||"allticks"===n.mirror)&&(P+=O(T)+O(S)),e.ylines.style("stroke-width",n._lw+"px").call(l.stroke,n.showline?n.linecolor:"rgba(0,0,0,0)")),e.ylines.attr("d",P)}function D(t){return"M"+m+","+t+"H"+v}function O(t){return"M"+t+","+A+"V"+M}function I(e,r,n){if(!e.showline||t!==e._mainSubplot)return"";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,"gtitle",{propContainer:e,propName:"title",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,"text-anchor":"middle"}})},r.doTraceStyle=function(t){for(var e=0;ex.length&&i.push(p("unused",a,v.concat(x.length)));var M,A,T,S,C,E=x.length,L=Array.isArray(k);if(L&&(E=Math.min(E,k.length)),2===b.dimensions)for(A=0;Ax[A].length&&i.push(p("unused",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],C=x[A][M],n.validate(S,T)?C!==S&&C!==+S&&i.push(p("dynamic",a,v.concat(A,M),S,C)):i.push(p("value",a,v.concat(A,M),S))}else i.push(p("array",a,v.concat(A),y[A]));else for(A=0;A1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v0&&c>0&&u/c>d&&(o=n,l=a,d=u/c);if(h===p){var y=h-1,x=h+1;f="tozero"===t.rangemode?h<0?[y,0]:[0,x]:"nonnegative"===t.rangemode?[Math.max(0,y),Math.max(0,x)]:[y,x]}else d&&("linear"!==t.type&&"-"!==t.type||("tozero"===t.rangemode?(o.val>=0&&(o={val:0,pad:0}),l.val<=0&&(l={val:0,pad:0})):"nonnegative"===t.rangemode&&(o.val-d*m(o)<0&&(o={val:0,pad:0}),l.val<0&&(l={val:1,pad:0})),d=(l.val-o.val)/(t._length-m(o)-m(l))),f=[o.val-d*m(o),l.val+d*m(l)]);return f[0]===f[1]&&("tozero"===t.rangemode?f=f[0]<0?[f[0],0]:f[0]>0?[0,f[0]]:[0,1]:(f=[f[0]-1,f[0]+1],"nonnegative"===t.rangemode&&(f[0]=Math.max(0,f[0])))),g&&f.reverse(),i.simpleMap(f,t.l2r||Number)}function s(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function l(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=o(t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&"auto"===n.rangemode&&(n.range=r?o(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=i.extendFlat({},n)}},expand:function(t,e,r){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);r||(r={});t._m||t.setScale();var i,o,s,f,h,p,d,g,m,v,y,x,b=e.length,_=r.padded||!1,w=r.tozero&&("linear"===t.type||"-"===t.type),k="log"===t.type,M=!1;function A(t){if(Array.isArray(t))return M=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var T=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),E=A(r.vpadminus||r.vpad);if(!M){if(y=1/0,x=-1/0,k)for(i=0;i0&&(y=f),f>x&&f-a&&(y=f),f>x&&f=b&&(f.extrapad||!_)){v=!1;break}M(i,f.val)&&f.pad<=b&&(_||!f.extrapad)&&(a.splice(o,1),o--)}if(v){var A=w&&0===i;a.push({val:i,pad:A?0:b,extrapad:!A&&_})}}}}var z=Math.min(6,b);for(i=0;i=z;i--)L(i)}}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],648:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("../../constants/numerical"),p=h.ONEAVGYEAR,d=h.ONEAVGMONTH,g=h.ONEDAY,m=h.ONEHOUR,v=h.ONEMIN,y=h.ONESEC,x=h.MINUS_SIGN,b=h.BADNUM,_=t("../../constants/alignment").MID_SHIFT,w=t("../../constants/alignment").LINE_SPACING,k=e.exports={};k.setConvert=t("./set_convert");var M=t("./axis_autotype"),A=t("./axis_ids");k.id2name=A.id2name,k.name2id=A.name2id,k.cleanId=A.cleanId,k.list=A.list,k.listIds=A.listIds,k.getFromId=A.getFromId,k.getFromTrace=A.getFromTrace;var T=t("./autorange");k.expand=T.expand,k.getAutoRange=T.getAutoRange,k.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:"enumerated",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},k.coercePosition=function(t,e,r,n,i,a){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(i,a);else{var c=k.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},k.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:k.getFromId(e,r).cleanPos)(t)};var S=k.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:M(n),_categories:[]},k.setConvert(i),"category"===i.type)for(var o=0;o2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},k.saveRangeInitial=function(t,e){for(var r=k.list(t,"",!0),n=!1,i=0;i.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=k.tickIncrement(t,"M6","reverse")+1.5*g:a.exactMonths>.8?t=k.tickIncrement(t,"M1","reverse")+15.5*g:t-=g/2;var l=k.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,l.dtick,c,a)),d=m,0;d<=u;)d=k.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(m,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},k.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),k.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),F(t)},k.calcTicks=function(t){k.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(r=0;ru&&e=n:c<=n)&&!(a.length>l||c===o);c=k.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);"angular"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead="",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=g&&a<=10||e>=15*g)t._tickround="d";else if(e>=v&&a<=16||e>=m)t._tickround="M";else if(e>=y&&a<=19||e>=v)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(V(t.exponentformat)&&!U(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function N(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}k.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var a=2*e;a>p?(e/=p,r=n(10),t.dtick="M"+12*B(e,r,L)):a>d?(e/=d,t.dtick="M"+B(e,1,z)):a>g?(t.dtick=B(e,g,D),t.tick0=s.dateTick0(t.calendar,!0)):a>m?t.dtick=B(e,m,z):a>v?t.dtick=B(e,v,P):a>y?t.dtick=B(e,y,P):(r=n(10),t.dtick=B(e,r,L))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+B(e,r,L)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):"angular"===t._id?(t.tick0=0,r=1,t.dtick=B(e,r,R)):(t.tick0=0,r=n(10),t.dtick=B(e,r,L));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},k.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?I:O,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},k.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat;"never"===a&&(a="");!n||"string"==typeof o&&"L"===o.charAt(0)||(o="L3");if(c||"string"==typeof o&&"L"===o.charAt(0))e.text=q(Math.pow(10,l),t,a,n);else if(i(o)||"D"===o.charAt(0)&&s.mod(l+.01,1)<.1){var u=Math.round(l);-1!==["e","E","power"].indexOf(t.exponentformat)||V(t.exponentformat)&&U(u)?(e.text=0===u?1:1===u?"10":u>1?"10"+u+"":"10"+x+-u+"",e.fontSize*=1.25):(e.text=q(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==o.charAt(0))throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var f=String(e.text).charAt(0);"0"!==f&&"1"!==f||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,n):"category"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"angular"===t._id?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=q(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=q(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=x+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=q(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},k.hoverLabelText=function(t,e,r){if(r!==b&&r!==e)return k.hoverLabelText(t,e)+" - "+k.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=k.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":x+i:i};var j=["f","p","n","\u03bc","m","","k","M","G","T"];function V(t){return"SI"===t||"B"===t}function U(t){return t>14||t<-15}function q(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=k.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};F(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,x);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":V(l)&&(t+=j[c/3+5]));return a?x+t:t}function H(t,e){for(var r=0;r=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=a(n))){r=t.tickformatstops[e];break}break;case"log":for(e=0;e1&&e1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s2*n}(t)?"category":function(t){if(!t)return!1;for(var e=0;en?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{"../../registry":732,"./constants":653}],652:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;no*y)||w)for(r=0;rP&&IL&&(L=I);h/=(L-E)/(2*z),E=c.l2r(E),L=c.l2r(L),c.range=c._input.range=T=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function P(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",i+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function O(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),I(t,e,i,a)}function I(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function R(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function B(t){A&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),A=!1)}function F(t){return"lasso"===t||"select"===t}function N(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function j(t,e){if(a){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function V(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,A,T){var I,U,q,H,G,W,Y,X,Z,J,K,Q,$,tt,et,rt,nt,it=t._fullLayout._zoomlayer,at=A+T==="nsew",ot=1===(A+T).length;function st(){if(I=e.xaxis,U=e.yaxis,Z=I._length,J=U._length,Y=I._offset,X=U._offset,(q={})[I._id]=I,(H={})[U._id]=U,A&&T)for(var r=e.overlays,n=0;nM||o>M?(mt="xy",a/Z>o/J?(o=a*J/Z,ft>i?ht.t=ft-o:ht.b=ft+o):(a=o*Z/J,ut>n?ht.l=ut-a:ht.r=ut+a),yt.attr("d",N(ht))):s():!$||o10||r.scrollWidth-r.clientWidth>10)){clearTimeout(Mt);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Tt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(rt){for(T||(l=.5),i=0;ig[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":602,"fast-isnumeric":196}],664:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{"../../constants/alignment":574}],665:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib/polygon"),l=t("../../lib/throttle"),c=t("../../components/fx/helpers").makeEventData,u=t("./axis_ids").getFromId,f=t("../sort_modules").sortModules,h=t("./constants"),p=h.MINSELECT,d=s.filter,g=s.tester,m=s.multitester;function v(t){return t._id}function y(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-3*u*Math.abs(n-i))}return h}function v(e,r,n){var a=l(e,n||t.calendar);if(a===h){if(!i(e))return h;a=l(new Date(+e))}return a}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l="log"===t.type?m:c,t.l2c="log"===t.type?g:c,t.l2p=_,t.p2l=w,t.c2p="log"===t.type?function(t,e){return _(m(t,e))}:_,t.p2c="log"===t.type?function(t){return g(w(t))}:w,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=w,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return m(o(t),e)},t.r2d=t.r2c=function(t){return g(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=m,t.l2d=g,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return g(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):"category"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,n){n||(n={}),e||(e="range");var o,s,l=a.nestedProperty(t,e).get();if(s=(s="date"===t.type?a.dfltRange(t.calendar):"y"===r?p.DFLTRANGEY:n.dfltRange||p.DFLTRANGEX).slice(),l&&2===l.length)for("date"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if("date"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=d.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?"_r":"range",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if("y"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o0?Number(u):c;else if("string"!=typeof u)e.dtick=c;else{var f=u.charAt(0),h=u.substr(1);((h=n(h)?Number(h):0)<=0||!("date"===o&&"M"===f&&h===Math.round(h)||"log"===o&&"L"===f||"log"===o&&"D"===f&&(1===h||2===h)))&&(e.dtick=c)}var p="date"===o?i.dateTick0(e.calendar):0,d=r("tick0",p);"date"===o?e.tick0=i.cleanDate(d,p):n(d)&&"D1"!==u&&"D2"!==u?e.tick0=Number(d):e.tick0=p}else{void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],670:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../components/drawing"),o=t("./axes"),s=t("./constants").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split("."))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i rect").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;nr.duration?(function(){for(var e={},r=0;r0&&i["_"+r+"axes"][e])return i;if((i[r+"axis"]||r)===e){if(s(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,r,a);if(!l)return;if("histogram"===l.type&&a==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=a+"calendar",f=l[u];if(s(l,a)){var h=o(l),p=[];for(c=0;c0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;fi*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(d.precision),i&&r.clipAngle(i-d.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,g=function(t,e){var r=d.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,g);var m=this.bounds=u.getBounds(g),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k0&&w<0&&(w+=360);var k,M,A,T=(_+w)/2;if(!c){var S=u?s.projRotate:[T,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(M=-96.6,A=38.7):(M=u?T:k,A=(b[0]+b[1])/2),r("center.lon",M),r("center.lat",A),f)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==a)&&(r("countrycolor"),r("countrywidth")),("usa"===a||"north america"===a&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:a,handleDefaults:s,partition:"y"})}},{"../../subplot_defaults":724,"../constants":676,"./layout_attributes":681}],681:[function(t,e,r){"use strict";var n=t("../../../components/color/attributes"),i=t("../../domain").attributes,a=t("../constants"),o=t("../../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number"},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};e.exports=o({domain:i({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")},{"../../../components/color/attributes":473,"../../../plot_api/edit_types":633,"../../domain":673,"../constants":676}],682:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++rn^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;oa[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var C=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function E(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(C)}).raw=C,E.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(E)}).raw=E;var L=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function D(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function O(t,e){var r=D(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,D.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(D)}).raw=D,O.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,C=(b*M-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(O)}).raw=O}},{}],683:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+"."+t]=e)}r(c),c("projection.scale",e.scale()/t.fitScale),a.emit("plotly_relayout",l)}function f(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(s)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on("zoomend",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g=c(0,e),m=2;function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=v(r)}).on("zoom",function(){if(h=n.mouse(this),l=e(v(s=r)),Math.abs(l[0]-s[0])>m||Math.abs(l[1]-s[1])>m)return g.scale(e.scale()),void g.translate(e.translate());var s,l;e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?v(h)&&(d=v(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=v(r=h),t.render()}).on("zoomend",function(){n.select(this).style(l),u(t,e,y)}),g}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,C);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=C),e.rotate(M),C=M}}else r=d(e,T=b);h.of(this,arguments)({type:"zoom"})}),A=h.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(l),m.call(f,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),u(t,e,x)}).on("zoom.redraw",function(){t.render()}),n.rebind(f,h,"on")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(l.boxEnd[1]=l.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),l.boxEnd[1]u[3]&&(l.boxEnd[1]=u[3],l.boxEnd[0]=l.boxStart[0]+(u[3]-l.boxStart[1])/Math.abs(_))):(l.boxEnd[0]=l.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),l.boxEnd[0]u[2]&&(l.boxEnd[0]=u[2],l.boxEnd[1]=l.boxStart[1]+(u[2]-l.boxStart[0])*Math.abs(_)))}}else l.boxEnabled?(a=l.boxStart[0]!==l.boxEnd[0],s=l.boxStart[1]!==l.boxEnd[1],a||s?(a&&(m(0,l.boxStart[0],l.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,l.boxStart[1],l.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),l.boxEnabled=!1,l.boxInited=!1):l.boxInited&&(l.boxInited=!1);break;case"pan":l.boxEnabled=!1,l.boxInited=!1,e?(l.panning||(l.dragStart[0]=n,l.dragStart[1]=i),Math.abs(l.dragStart[0]-n)Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":41,"has-passive-events":297,"mouse-change":320,"mouse-event-offset":321,"mouse-wheel":323,"right-now":382}],690:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../components/fx/layout_attributes"),a=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":474,"../../../lib":602,"../../../registry":732,"../../subplot_defaults":724,"./axis_defaults":693,"./layout_attributes":696}],696:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],dflt:"turntable",editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":602,"../../../lib/extend":591,"../../domain":673,"./axis_attributes":692}],697:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":625}],698:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if("auto"===f.tickmode){f.tickmode="linear";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;gf[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;ag[1][a])g[0][a]=-1,g[1][a]=1;else{var T=g[1][a]-g[0][a];g[0][a]-=T/32,g[1][a]+=T/32}}else{var S=s.range;g[0][a]=s.r2l(S[0]),g[1][a]=s.r2l(S[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var C=[1,1,1];for(a=0;a<3;++a){var E=v[l=(s=c[w[a]]).type];C[a]=Math.pow(E.acc,1/E.count)/p[a]}var L;if("auto"===c.aspectmode)L=Math.max.apply(null,C)/Math.min.apply(null,C)<=4?C:[1,1,1];else if("cube"===c.aspectmode)L=[1,1,1];else if("data"===c.aspectmode)L=C;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var z=c.aspectratio;L=[z.x,z.y,z.z]}c.aspectratio.x=u.aspectratio.x=L[0],c.aspectratio.y=u.aspectratio.y=L[1],c.aspectratio.z=u.aspectratio.z=L[2],this.glplot.aspect=L;var P=c.domain||null,D=e._size||null;if(P&&D){var O=this.container.style;O.position="absolute",O.left=D.l+P.x[0]*D.w+"px",O.top=D.t+(1-P.y[1])*D.h+"px",O.width=D.w*(P.x[1]-P.x[0])+"px",O.height=D.h*(P.y[1]-P.y[0])+"px"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),A(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+".camera"),n=r.get(),i=!1;function a(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&("orbit"===t?(r.mode="orbit",r.keyBindingMode="rotate"):"turntable"===t?(r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o0}function l(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset}),n.extendFlat(r,{"icon-color":t.color,"text-color":a.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};"geojson"===r?e="data":"vector"===r&&(e="string"==typeof n?"url":"tiles");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.mapbox.setOptions(this.idLayer,"setPaintProperty",e.paint)}},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{"../../lib":602,"./convert_text_opts":703}],706:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").defaultLine,a=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=o({});c.family.dflt="Open Sans Regular, Arial Unicode MS Regular",e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],dflt:"basic"},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:{_isLinkedToArray:"layer",sourcetype:{valType:"enumerated",values:["geojson","vector"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},type:{valType:"enumerated",values:["circle","line","fill","symbol"],dflt:"circle"},below:{valType:"string",dflt:""},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},textfont:c,textposition:n.extendFlat({},s,{arrayOk:!1})}}},"plot","from-root")},{"../../components/color":474,"../../lib":602,"../../plot_api/edit_types":633,"../../traces/scatter/attributes":926,"../domain":673,"../font_attributes":674}],707:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("./layout_attributes");function o(t,e,r,i){r("accesstoken",i.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),function(t,e){var r,i,o=t.layers||[],s=e.layers=[];function l(t,e){return n.coerce(r,i,a.layers,t,e)}for(var c=0;c=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),c=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),c.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||"https://plot.ly",r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var x,b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a1&&O.length>1){for(a.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has("cartesian"),l._hasGeo=l._has("geo"),l._hasGL3D=l._has("gl3d"),l._hasGL2D=l._has("gl2d"),l._hasTernary=l._has("ternary"),l._hasPie=l._has("pie"),m.linkSubplots(p,l,h,i),m.cleanPlot(p,l,h,i,y),d(l,i),m.doAutoMargin(t);var F=u.list(t);for(o=0;o0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*l,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||r.width,a=parseFloat(g.height)||r.height}var v=m.layoutAttributes.width.min,y=m.layoutAttributes.height.min;n1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,l,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(l=c[i]).includeBasePlot&&l.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(a.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(s.subplotSort);for(o=0;o.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0),n._pushmargin[e]={l:{val:r.x,size:r.l+i},r:{val:r.x,size:r.r+i},b:{val:r.y,size:r.b+i},t:{val:r.y,size:r.t+i}}}else delete n._pushmargin[e];n._replotting||m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var f in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var h=u[f].l||{},p=u[f].b||{},d=h.val,g=h.size,m=p.val,v=p.size;for(var y in u){if(i(g)&&u[y].r){var x=u[y].r.val,b=u[y].r.size;if(x>d){var _=(g*x+(b-e.width)*d)/(x-d),w=(b*(1-d)+(g-e.width)*(1-x))/(x-d);_>=0&&w>=0&&_+w>o+s&&(o=_,s=w)}}if(i(v)&&u[y].t){var k=u[y].t.val,M=u[y].t.size;if(k>m){var A=(v*k+(M-e.height)*m)/(k-m),T=(M*(1-m)+(v-e.height)*(1-k))/(k-m);A>=0&&T>=0&&A+T>c+l&&(c=A,l=T)}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&"{}"!==n&&n!==JSON.stringify(e._size))return a.call("plot",t)},m.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(s.isPlainObject(t)){var e,n,i={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!s.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):s.isJSDate(t)?s.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=c(l)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var n,l,c=0,u=0;function f(){return c++,function(){var r;p||++u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(l=0;l=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:c,y:c}]),a[0].t||(a[0].t={}),a[0].trace=r,p[e]=a}}for(m&&M(l),i=0;i=0?h.angularAxis.domain:n.extent(w),S=Math.abs(w[1]-w[0]);M&&!k&&(S=0);var C=T.slice();A&&k&&(C[1]+=S);var E=h.angularAxis.ticksCount||4;E>8&&(E=E/(E/8)+E%8),h.angularAxis.ticksStep&&(E=(C[1]-C[0])/E);var L=h.angularAxis.ticksStep||(C[1]-C[0])/(E*(h.minorTicks+1));_&&(L=Math.max(Math.round(L),1)),C[2]||(C[2]=L);var z=n.range.apply(this,C);if(z=z.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?S:0,void 0===(t=n.select(this).select("svg.chart-root"))||t.empty()){var P=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),D=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(D)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var O,I=t.select(".chart-group"),R={fill:"none",stroke:h.tickColor},B={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+h.font.outlineColor}).join(",")};if(h.showLegend){O=t.select(".legend-group").attr({transform:"translate("+[y,h.margin.top]+")"}).style({display:"block"});var F=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend=void 0===t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:O,elements:F,reverseOrder:h.legend.reverseOrder})})();var N=O.node().getBBox();y=Math.min(h.width-N.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,y=Math.max(10,y),b=[h.margin.left+y,h.margin.top+y],r.range([0,y]),u.layout.radialAxis.domain=r.domain(),O.attr("transform","translate("+[b[0]+y,b[1]-y]+")")}else O=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),I.attr("transform","translate("+b+")").style({cursor:"crosshair"});var j=[(h.width-(h.margin.left+h.margin.right+2*y+(N?N.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*y))/2];if(j[0]=Math.max(0,j[0]),j[1]=Math.max(0,j[1]),t.select(".outer-group").attr("transform","translate("+j+")"),h.title){var V=t.select("g.title-group text").style(B).text(h.title),U=V.node().getBBox();V.attr({x:b[0]-U.width/2,y:b[1]-y-20})}var q=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var H=q.selectAll("circle.grid-circle").data(r.ticks(5));H.enter().append("circle").attr({class:"grid-circle"}).style(R),H.attr("r",r),H.exit().remove()}q.select("circle.outside-circle").attr({r:y}).style(R);var G=t.select("circle.background-circle").attr({r:y}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var Y=n.svg.axis().scale(r).ticks(5).tickSize(5);q.call(Y).attr({transform:"rotate("+h.radialAxis.orientation+")"}),q.selectAll(".domain").style(R),q.selectAll("g>text").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),q.selectAll("g>line").style({stroke:"black"})}var X=t.select(".angular.axis-group").selectAll("g.angular-tick").data(z),Z=X.enter().append("g").classed("angular-tick",!0);X.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),X.exit().remove(),Z.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(h.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(R),Z.selectAll(".minor").style({stroke:h.minorTickColor}),X.select("line.grid-line").attr({x1:h.tickLength?y-h.tickLength:0,x2:y}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),Z.append("text").classed("axis-text",!0).style(B);var J=X.select("text.axis-text").attr({x:y+h.labelOffset,dy:a+"em",transform:function(t,e){var r=W(t),n=y+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(h.minorTicks+1)!=0?"":_?_[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(B);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(I.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));O.attr({transform:"translate("+[y+K,h.margin.top]+")"});var Q=t.select("g.geometry-group").selectAll("g").size()>0,$=t.select("g.geometry-group").selectAll("g.geometry").data(p);if($.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),$.exit().remove(),p[0]||Q){var tt=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=$.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,tt.push({data:t,geometryConfig:n})});var et=[];n.nest().key(function(t,e){return void 0!==t.data.groupId||"unstacked"}).entries(tt).forEach(function(t,e){"unstacked"===t.key?et=et.concat(t.values.map(function(t,e){return[t]})):et.push(t.values)}),et.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var rt,nt,it=t.select(".guides-group"),at=t.select(".tooltips-group"),ot=o.tooltipPanel().config({container:at,fontSize:8})(),st=o.tooltipPanel().config({container:at,fontSize:8})(),lt=o.tooltipPanel().config({container:at,hasTick:!0})();if(!k){var ct=it.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});I.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(G).angle;ct.attr({x2:-y,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;rt=s.invert(n);var i=o.util.convertToCartesian(y+12,r+180);ot.text(o.util.round(rt)).move([i[0]+b[0],i[1]+b[1]])}).on("mouseout.angular-guide",function(t,e){it.select("line").style({opacity:0})})}var ut=it.select("circle").style({stroke:"grey",fill:"none"});I.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(G).radius;ut.attr({r:n}).style({opacity:.5}),nt=r.invert(o.util.getMousePos(G).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);st.text(o.util.round(nt)).move([i[0]+b[0],i[1]+b[1]])}).on("mouseout.radial-guide",function(t,e){ut.style({opacity:0}),lt.hide(),ot.hide(),st.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};k&&(c.t=_[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-j[0]-h.left,f.top+f.height/2-j[1]-h.top];lt.config({color:s}).text(u),lt.move(p)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&<.show()}).on("mouseout.tooltip",function(t,e){lt.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(void 0===t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,i,a)},"stroke-width":function(t,e){return d["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data(function(t,e){return t});m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()})}return a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||void 0===e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),p=h.enter().append("svg").attr({width:300,height:f+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var v=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=h.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=i||"";e.style({fill:u,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,"stroke-width":"2px"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*h]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(void 0!==s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&void 0!==s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&void 0!==s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&void 0!==s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":574,"../../../lib":602,d3:130}],720:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":474,"../../../lib":602,"./micropolar":719,"./undo_manager":721,d3:130}],721:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r0?1:-1}function F(t){return B(Math.cos(t))}function N(t){return B(Math.sin(t))}e.exports=function(t,e){return new S(t,e)},C.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(v),x=y[2]-y[0],b=y[3]-y[1],w=m/g,M=Math.abs(b/x);w>M?(c=g,d=(m-(f=g*M))/i.h/2,h=[a[0],a[1]],p=[o[0]+d,o[1]-d]):(f=m,d=(g-(c=m/M))/i.w/2,h=[a[0]+d,a[1]-d],p=[o[0],o[1]]),r.xLength2=c,r.yLength2=f,r.xDomain2=h,r.yDomain2=p;var A=r.xOffset2=i.l+i.w*h[0],T=r.yOffset2=i.t+i.h*(1-p[1]),S=r.radius=c/x,C=r.cx=A-S*y[0],E=r.cy=T+S*y[3],L=r.cxx=C-A,z=r.cyy=E-T;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var D=r.radialAxis.range,O=D[1]-D[0],R=r.xaxis={type:"linear",_id:"x",range:[y[0]*O,y[2]*O],domain:h};u.setConvert(R,t),R.setScale();var B=r.yaxis={type:"linear",_id:"y",range:[y[1]*O,y[3]*O],domain:p};u.setConvert(B,t),B.setScale(),R.isPtWithinRange=function(t){return r.isPtWithinSector(t)},B.isPtWithinRange=function(){return!0},n.frontplot.attr("transform",I(A,T)).call(l.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:P(S,v),transform:I(C,E)}).call(s.fill,e.bgcolor),r.clipPaths.circle.select("path").attr("d",P(S,v)).attr("transform",I(L,z)),r.framework.selectAll(".crisp").classed("crisp",0)},C.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,l=this.cy,c=t._size,h=e.radialaxis,p=e.sector,d=k(p[0]);this.fillViewInitialKey("radialaxis.angle",h.angle);var g=this.radialAxis=o.extendFlat({},h,{_axislayer:n["radial-axis"],_gridlayer:n["radial-grid"],_id:"x",_pos:0,side:{counterclockwise:"top",clockwise:"bottom"}[h.side],domain:[0,i/c.w],anchor:"free",position:0,_counteraxis:!0,automargin:!1});E(g,h,t),f(g),h.range=g.range.slice(),h._input.range=g.range.slice(),this.fillViewInitialKey("radialaxis.range",g.range.slice()),"auto"===g.tickangle&&d>90&&d<=270&&(g.tickangle=180),g._transfn=function(t){return"translate("+g.l2p(t.x)+",0)"},g._gridpath=function(t){return z(g.r2p(t.x),p)};var m=L(h);this.radialTickLayout!==m&&(n["radial-axis"].selectAll(".xtick").remove(),this.radialTickLayout=m),u.doTicks(r,g,!0),O(n["radial-axis"],h.showticklabels||h.ticks,{transform:I(a,l)+R(-h.angle)}),O(n["radial-grid"],h.showgrid,{transform:I(a,l)}).selectAll("path").attr("transform",null),O(n["radial-line"].select("line"),h.showline,{x1:0,y1:0,x2:i,y2:0,transform:I(a,l)+R(-h.angle)}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},C.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:s.angle,f=_(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var m=l.bBox(this.layers["radial-axis"].node()).height,v=s.titlefont.size;d="counterclockwise"===s.side?-m-.4*v:m+.8*v}this.layers["radial-axis-title"]=g.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:b(n,"Click to enter radial axis title"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,"text-anchor":"middle"},transform:{rotate:-u}})},C.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.cx,f=r.cy,h=e.angularaxis,p=e.sector,d=p.map(_);r.fillViewInitialKey("angularaxis.rotation",h.rotation);var g=r.angularAxis=o.extendFlat({},h,{_axislayer:a["angular-axis"],_gridlayer:a["angular-grid"],_id:"angular",_pos:0,side:"right",domain:[0,Math.PI],anchor:"free",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if("linear"===g.type)D(p)?g.range=p.slice():g.range=d.map(g.unTransformRad).map(w),"radians"===g.thetaunit&&(g.tick0=w(g.tick0),g.dtick=w(g.dtick));else if("category"===g.type){var m=h.period?Math.max(h.period,h._categories.length):h._categories.length;g.range=[0,m],g._tickFilter=function(t){return r.isPtWithinSector({r:r.radialAxis.range[1],rad:g.c2rad(t.x)})}}function v(t){return g.c2rad(t.x,"degrees")}function y(t){return[l*Math.cos(t),l*Math.sin(t)]}E(g,h,t),g._transfn=function(t){var e=v(t),r=y(e),i=I(c+r[0],f-r[1]),a=n.select(this);return a&&a.node()&&a.classed("ticks")&&(i+=R(-w(e))),i},g._gridpath=function(t){var e=y(v(t));return"M0,0L"+-e[0]+","+e[1]};var b="outside"!==h.ticks?.7:.5;g._labelx=function(t){var e=v(t),r=g._labelStandoff,n=g._pad;return(0===N(e)?0:Math.cos(e)*(r+n+b*t.fontSize))+F(e)*(t.dx+r+n)},g._labely=function(t){var e=v(t),r=g._labelStandoff,n=g._labelShift,i=g._pad;return t.dy+t.fontSize*x-n+-Math.sin(e)*(r+i+b*t.fontSize)},g._labelanchor=function(t,e){var r=v(e);return 0===N(r)?F(r)>0?"start":"end":"middle"};var k=L(h);r.angularTickLayout!==k&&(a["angular-axis"].selectAll(".angulartick").remove(),r.angularTickLayout=k),u.doTicks(i,g,!0),O(a["angular-line"].select("path"),h.showline,{d:P(l,p),transform:I(c,f)}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},C.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},C.updateMainDrag=function(t,e){var r=this,o=r.gd,s=r.layers,l=t._zoomlayer,c=T.MINZOOM,u=T.OFFEDGE,f=r.radius,g=r.cx,y=r.cy,x=r.cxx,b=r.cyy,_=e.sector,w=p.makeDragger(s,"path","maindrag","crosshair");n.select(w).attr("d",P(f,_)).attr("transform",I(g,y));var k,M,A,S,C,E,L,z,D,O={element:w,gd:o,subplot:r.id,plotinfo:{xaxis:r.xaxis,yaxis:r.yaxis},xaxes:[r.xaxis],yaxes:[r.yaxis]};function R(t,e){var r=t-x,n=e-b;return Math.sqrt(r*r+n*n)}function B(t,e){return Math.atan2(b-e,t-x)}function F(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function N(t,e){var r=T.cornerLen,n=T.cornerHalfWidth;if(0===t)return P(2*n,_);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,f)),l=s-n,c=s+n;return"M"+F(l,a)+"A"+[l,l]+" 0,0,0 "+F(l,o)+"L"+F(c,o)+"A"+[c,c]+" 0,0,1 "+F(c,a)+"Z"}function j(t,e){var r,n,i=k+t,a=M+e,o=R(k,M),s=Math.min(R(i,a),f),l=B(k,M),h=B(i,a);oc?(o0==h>y[0]){S=d.range[1]=h,u.doTicks(i,r.radialAxis,!0),s["radial-grid"].attr("transform",I(c,f)).selectAll("path").attr("transform",null);var p=S-y[0],g=r.sectorBBox;for(var v in r.xaxis.range=[g[0]*p,g[2]*p],r.yaxis.range=[g[1]*p,g[3]*p],r.xaxis.setScale(),r.yaxis.setScale(),r.traceHash){var b=r.traceHash[v],_=o.filterVisible(b),w=b[0][0].trace._module,k=i._fullLayout[r.id];if(w.plot(i,r,_,k),!a.traceIs(v,"gl"))for(var M=0;M<_.length;M++)w.style(i,_[M])}}}},C.updateAngularDrag=function(t,e){var r=this,i=r.gd,s=r.layers,c=r.radius,f=r.cx,d=r.cy,g=r.cxx,m=r.cyy,x=e.sector,b=T.angularDragBoxSize,k=p.makeDragger(s,"path","angulardrag","move"),S={element:k,gd:i};function C(t,e){return Math.atan2(m+b-e,t-g-b)}n.select(k).attr("d",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return"A"+[t,t]+" "+[0,o,r]+" "+s(t,e)}return D(r)?(n=0,a=2*Math.PI,i=Math.PI,"M"+s(t,n)+l(t,i,0)+l(t,a,0)+"ZM"+s(e,n)+l(e,i,1)+l(e,a,1)+"Z"):(n=_(r[0]),a=_(r[1]),"M"+s(t,n)+"L"+s(e,n)+l(e,a,0)+"L"+s(t,a)+l(t,n,1)+"Z")}(c,c+b,x)).attr("transform",I(f,d)).call(y,"move");var E,L,z,P,O,B,F=s.frontplot.select(".scatterlayer").selectAll(".trace"),N=F.selectAll(".point"),j=F.selectAll(".textpoint");function V(t,e){var c=C(E+t,L+e),f=w(c-B);P=z+f,s.frontplot.attr("transform",I(r.xOffset2,r.yOffset2)+R([-f,g,m])),r.clipPaths.circle.select("path").attr("transform",I(g,m)+R(f)),N.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",I(e.x,e.y)+R([f]))}),j.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",R([f,e.attr("x"),e.attr("y")])+I(r.x,r.y))});var h=r.angularAxis;for(var p in h.rotation=M(P),"linear"!==h.type||D(x)||(h.range=O.map(_).map(h.unTransformRad).map(w)),A(h),u.doTicks(i,h,!0),r._hasClipOnAxisFalse&&!D(x)&&(r.sector=[O[0]-f,O[1]-f],F.call(l.hideOutsideRangePoints,r)),r.traceHash)if(a.traceIs(p,"gl")){var d=r.traceHash[p],v=o.filterVisible(d),y=d[0][0].trace._module,b=i._fullLayout[r.id];y.plot(i,r,v,b)}}function U(){j.select("text").attr("transform",null);var t={};t[r.id+".angularaxis.rotation"]=P,a.call("relayout",i,t)}S.prepFn=function(e,n,i){var a=t[r.id];O=a.sector.slice(),z=a.angularaxis.rotation;var o=k.getBoundingClientRect();E=n-o.left,L=i-o.top,B=C(E,L),S.moveFn=V,S.doneFn=U,v(t._zoomlayer)},h.init(S)},C.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=k(e[0]),o=k(e[1]);a>o&&(o+=360);var s,l,c=k(w(t.rad)),u=c+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(D(e)||c>=a&&c<=o||u>=a&&u<=o)},C.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":474,"../../components/dragelement":496,"../../components/drawing":499,"../../components/fx":516,"../../components/titles":567,"../../constants/alignment":574,"../../lib":602,"../../lib/setcursor":622,"../../registry":732,"../cartesian/autorange":647,"../cartesian/axes":648,"../cartesian/dragbox":656,"../cartesian/select":665,"../plots":710,"./constants":711,"./helpers":712,d3:130,tinycolor2:415}],723:[function(t,e,r){"use strict";function n(t,e){return"splom"===t?-1:"splom"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],724:[function(t,e,r){"use strict";var n=t("../lib"),i=t("./domain").defaults;e.exports=function(t,e,r,a){var o,s,l=a.type,c=a.attributes,u=a.handleDefaults,f=a.partition||"x",h=e._subplots[l],p=h.length;function d(t,e){return n.coerce(o,s,c,t,e)}for(var g=0;g=f&&(p.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}e.exports=function(t,e,r){i(t,e,r,{type:"ternary",attributes:a,handleDefaults:l,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../../components/color":474,"../../subplot_defaults":724,"./axis_defaults":728,"./layout_attributes":730}],730:[function(t,e,r){"use strict";var n=t("../../../components/color/attributes"),i=t("../../domain").attributes,a=t("./axis_attributes"),o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:a,baxis:a,caxis:a},"plot","from-root")},{"../../../components/color/attributes":473,"../../../plot_api/edit_types":633,"../../domain":673,"./axis_attributes":727}],731:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),f=t("../../lib/extend").extendFlat,h=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),m=t("../../components/titles"),v=t("../cartesian/select").prepSelect,y=t("../cartesian/select").clearSelect,x=t("../cartesian/constants");function b(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}e.exports=b;var _=b.prototype;_.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;iw*x?i=(a=x)*w:a=(i=y)/w,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:"linear",range:[_+2*M-b,b-_-2*k],domain:[d-o/2,d+o/2],_id:"x"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:"linear",range:[_,b-k-M],domain:[g-s/2,g+s/2],_id:"y"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-k-M],side:"left",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*w],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l"+a+",-"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,k],side:"bottom",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,_pos:0,_id:"x",_length:i,_gridpath:"M0,0l-"+i/2+",-"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var C=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-k,M],side:"right",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*w],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,_pos:0,_id:"y",_length:i,_gridpath:"M0,0l-"+a+","+i/2,automargin:!1});u(C,h.graphDiv._fullLayout),C.setScale();var E="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDef.select("path").attr("d",E),h.layers.plotbg.select("path").attr("d",E);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDefRelative.select("path").attr("d",L);var z="translate("+r+","+n+")";h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",z),h.clipDefRelative.select("path").attr("transform",null);var P="translate("+(r-S._offset)+","+(n+a)+")";h.layers.baxis.attr("transform",P),h.layers.bgrid.attr("transform",P);var D="translate("+(r+i/2)+","+n+")rotate(30)translate(0,"+-T._offset+")";h.layers.aaxis.attr("transform",D),h.layers.agrid.attr("transform",D);var O="translate("+(r+i/2)+","+n+")rotate(-30)translate(0,"+-C._offset+")";h.layers.caxis.attr("transform",O),h.layers.cgrid.attr("transform",O),h.drawAxes(!0),h.plotContainer.selectAll(".crisp").classed("crisp",!1),h.layers.aline.select("path").attr("d",T.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,T.linecolor||"#000").style("stroke-width",(T.linewidth||0)+"px"),h.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),h.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},_.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.aaxis,i=this.baxis,a=this.caxis;if(p.doTicks(e,n,!0),p.doTicks(e,i,!0),p.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+("outside"===a.ticks?.87*a.ticklen:0));this.layers["a-title"]=m.draw(e,"a"+r,{propContainer:n,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,"text-anchor":"middle"}});var l=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;this.layers["b-title"]=m.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-l,y:this.y0+this.h+.83*i.titlefont.size+l,"text-anchor":"middle"}}),this.layers["c-title"]=m.draw(e,"c"+r,{propContainer:a,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+l,y:this.y0+this.h+.83*a.titlefont.size+l,"text-anchor":"middle"}})}};var k=x.MINZOOM/2+.87,M="m-0.87,.5h"+k+"v3h-"+(k+5.2)+"l"+(k/2+2.6)+",-"+(.87*k+4.5)+"l2.6,1.5l-"+k/2+","+.87*k+"Z",A="m0.87,.5h-"+k+"v3h"+(k+5.2)+"l-"+(k/2+2.6)+",-"+(.87*k+4.5)+"l-2.6,1.5l"+k/2+","+.87*k+"Z",T="m0,1l"+k/2+","+.87*k+"l2.6,-1.5l-"+(k/2+2.6)+",-"+(.87*k+4.5)+"l-"+(k/2+2.6)+","+(.87*k+4.5)+"l2.6,1.5l"+k/2+",-"+.87*k+"Z",S="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",C=!0;function E(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}_.initInteractions=function(){var t,e,r,n,u,f,h,p,m,b,_=this,k=_.layers.plotbg.select("path").node(),L=_.graphDiv,z=L._fullLayout._zoomlayer,P={element:k,gd:L,plotinfo:{xaxis:_.xaxis,yaxis:_.yaxis},subplot:_.id,prepFn:function(a,o,s){P.xaxes=[_.xaxis],P.yaxes=[_.yaxis];var c=L._fullLayout.dragmode;a.shiftKey&&(c="pan"===c?"zoom":"pan"),P.minDrag="lasso"===c?1:void 0,"zoom"===c?(P.moveFn=R,P.doneFn=B,function(a,o,s){var c=k.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,n=_.aaxis.range[1]-r.a,f=i(_.graphDiv._fullLayout[_.id].bgcolor).getLuminance(),h="M0,"+_.h+"L"+_.w/2+", 0L"+_.w+","+_.h+"Z",p=!1,m=z.append("path").attr("class","zoombox").attr("transform","translate("+_.x0+", "+_.y0+")").style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),b=z.append("path").attr("class","zoombox-corners").attr("transform","translate("+_.x0+", "+_.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),y(z)}(0,o,s)):"pan"===c?(P.moveFn=F,P.doneFn=N,r={a:_.aaxis.range[0],b:_.baxis.range[1],c:_.caxis.range[1]},u=r,y(z)):"select"!==c&&"lasso"!==c||v(a,o,s,P,c)},clickFn:function(t,e){if(E(L),2===t){var r={};r[_.id+".aaxis.min"]=0,r[_.id+".baxis.min"]=0,r[_.id+".caxis.min"]=0,L.emit("plotly_doubleclick",null),a.call("relayout",L,r)}g.click(L,e,_.id)}};function D(t,e){return 1-e/_.h}function O(t,e){return 1-(t+(_.h-e)/Math.sqrt(3))/_.w}function I(t,e){return(t-(_.h-e)/Math.sqrt(3))/_.w}function R(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,O(t,e),O(o,s))),d=Math.max(0,Math.min(1,I(t,e),I(o,s))),g=(l/2+d)*_.w,v=(1-l/2-c)*_.w,y=(g+v)/2,k=v-g,C=(1-l)*_.h,E=C-k/w;k.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),b.transition().style("opacity",1).duration(200),p=!0)}function B(){if(E(L),u!==r){var t={};t[_.id+".aaxis.min"]=u.a,t[_.id+".baxis.min"]=u.b,t[_.id+".caxis.min"]=u.c,a.call("relayout",L,t),C&&L.data&&L._context.showTips&&(o.notifier(s(L,"Double-click to zoom back out"),"long"),C=!1)}}function F(t,e){var n=t/_.xaxis._m,i=e/_.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*_.yaxis._m,t=(r.c-u.c-r.b+u.b)*_.xaxis._m);var f="translate("+(_.x0+t)+","+(_.y0+e)+")";_.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var h="translate("+-t+","+-e+")";_.clipDefRelative.select("path").attr("transform",h),_.aaxis.range=[u.a,_.sum-u.b-u.c],_.baxis.range=[_.sum-u.a-u.c,u.b],_.caxis.range=[_.sum-u.a-u.b,u.c],_.drawAxes(!1),_.plotContainer.selectAll(".crisp").classed("crisp",!1),_._hasClipOnAxisFalse&&_.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,_)}function N(){var t={};t[_.id+".aaxis.min"]=u.a,t[_.id+".baxis.min"]=u.b,t[_.id+".caxis.min"]=u.c,a.call("relayout",L,t)}k.onmousemove=function(t){g.hover(L,t,_.id),L._fullLayout._lasthover=k,L._fullLayout._hoversubplot=_.id},k.onmouseout=function(t){L._dragging||d.unhover(L,t)},d.init(P)}},{"../../components/color":474,"../../components/dragelement":496,"../../components/drawing":499,"../../components/fx":516,"../../components/titles":567,"../../lib":602,"../../lib/extend":591,"../../registry":732,"../cartesian/axes":648,"../cartesian/constants":653,"../cartesian/select":665,"../cartesian/set_convert":666,"../plots":710,d3:130,tinycolor2:415}],732:[function(t,e,r){"use strict";var n=t("./lib/loggers"),i=t("./lib/noop"),a=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/extend"),l=t("./plots/attributes"),c=t("./plots/layout_attributes"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s-1&&(u[h[r]].title="");for(r=0;r")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":474,"../components/drawing":499,"../constants/xmlns_namespaces":581,"../lib":602,d3:130}],741:[function(t,e,r){"use strict";var n=t("../../lib").mergeArray;e.exports=function(t,e){for(var r=0;ra;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e.01?N:function(t,e){return Math.abs(t-e)>=2?N(t):t>e?Math.ceil(t):Math.floor(t)};C=F(C,A=F(A,C)),L=F(L,E=F(E,L))}o.ensureSingle(z,"path").style("vector-effect","non-scaling-stroke").attr("d","M"+A+","+E+"V"+L+"H"+C+"V"+E+"Z").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+f,transform:"","text-anchor":"middle","data-notex":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(!A)return;if("none"===(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n)))return;var T,S,C,E,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),D=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),O=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),I=t._fullLayout.barmode,R="stack"===I||"relative"===I,B=r[n],F=!R||B._outmost,N=Math.abs(a-i)-2*v,j=Math.abs(u-l)-2*v;"outside"===f&&(F||(f="inside"));if("auto"===f)if(F){f="inside",T=w(e,A,D),S=c.bBox(T.node()),C=S.width,E=S.height;var V=C>0&&E>0,U=C<=N&&E<=j,q=C<=j&&E<=N,H="h"===M?N>=C*(j/E):j>=E*(N/C);V&&(U||q||H)?f="inside":(f="outside",T.remove(),T=null)}else f="inside";if(!T&&(T=w(e,A,"outside"===f?O:D),S=c.bBox(T.node()),C=S.width,E=S.height,C<=0||E<=0))return void T.remove();"outside"===f?(z="both"===k.constraintext||"outside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l="h"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c="h"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,"h"===a?er?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z="both"===k.constraintext||"inside"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):dr?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr("transform",L)}(t,z,r,u,A,C,E,L),e.layerClipId&&c.hideOutsideRangePoint(r[u],z.select("text"),f,w,M.xcalendar,M.ycalendar)}else z.remove();function N(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-B,2):t}});var E=!1===r[0].trace.cliponaxis;c.setClipUrl(A,E?null:e.layerClipId)}),u.getComponentMethod("errorbars","plot")(M,e)}},{"../../components/color":474,"../../components/drawing":499,"../../lib":602,"../../lib/svg_text_utils":626,"../../registry":732,"./attributes":742,d3:130,"fast-isnumeric":196,tinycolor2:415}],750:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;rf+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),r.selectAll("g.points").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod("errorbars","style")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path"),n),i.selectedTextStyle(r.selectAll("text"),n)):o(r,n,t)}}},{"../../components/drawing":499,"../../registry":732,d3:130}],754:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),i(t,"marker")&&a(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":474,"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488}],755:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/color/attributes"),a=t("../../lib/extend").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:a({},n.text,{}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calcIfAutorange"},notched:{valType:"boolean",editType:"calcIfAutorange"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calcIfAutorange"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calcIfAutorange"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calcIfAutorange"},jitter:{valType:"number",min:0,max:1,editType:"calcIfAutorange"},pointpos:{valType:"number",min:-2,max:2,editType:"calcIfAutorange"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:a({},o.symbol,{arrayOk:!1,editType:"plot"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:a({},o.size,{arrayOk:!1,editType:"calcIfAutorange"}),color:a({},o.color,{arrayOk:!1,editType:"style"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":473,"../../lib/extend":591,"../scatter/attributes":926}],756:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),m=o.getFromId(t,e.yaxis||"y"),v=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,f="x",h=m,p="y"):(u=m,f="y",h=g,p="x");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||i.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l=r.d2c(s,0,t[e+"calendar"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&C0){var L=T[r].sort(l),z=L.map(c),P=z.length,D={pos:w[r],pts:L};D.min=z[0],D.max=z[P-1],D.mean=i.mean(z,P),D.sd=i.stdev(z,P,D.mean),D.q1=i.interp(z,.25),D.med=i.interp(z,.5),D.q3=i.interp(z,.75),D.lf=Math.min(D.q1,z[Math.min(i.findBin(2.5*D.q1-1.5*D.q3,z,!0)+1,P-1)]),D.uf=Math.max(D.q3,z[Math.max(i.findBin(2.5*D.q3-1.5*D.q1,z),0)]),D.lo=4*D.q1-3*D.q3,D.uo=4*D.q3-3*D.q1;var O=1.57*(D.q3-D.q1)/Math.sqrt(P);D.ln=D.med-O,D.un=D.med+O,v.push(D)}return function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,"median:"),min:a(t,"min:"),q1:a(t,"q1:"),q3:a(t,"q3:"),max:a(t,"max:"),mean:"sd"===e.boxmean?a(t,"mean \xb1 \u03c3:"):a(t,"mean:"),lf:a(t,"lower fence:"),uf:a(t,"upper fence:")}},d[y]++,v):[{t:{empty:!0}}]}},{"../../lib":602,"../../plots/cartesian/axes":648,"fast-isnumeric":196}],757:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../components/color"),o=t("./attributes");function s(t,e,r,n){var a,o,s=r("y"),l=r("x"),c=l&&l.length;if(s&&s.length)a="v",c?o=Math.min(l.length,s.length):(r("x0"),o=s.length);else{if(!c)return void(e.visible=!1);a="h",r("y0"),o=l.length}e._length=o,i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],n),r("orientation",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(a+"points",s||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text")):delete e.marker,r("hoveron"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c("line.color",(t.marker||{}).color||r),c("line.width"),c("fillcolor",a.addOpacity(e.line.color,.5)),c("whiskerwidth"),c("boxmean"),c("notched",void 0!==t.notchwidth)&&c("notchwidth"),l(t,e,c,{prefix:"box"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{"../../components/color":474,"../../lib":602,"../../registry":732,"./attributes":755}],758:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../scatter/fill_hover_text");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A="violin"===k.type,T=[],S=M.bdPos,C=M.wHover,E=function(t){return t.pos+M.bPos-p};A&&"both"!==k.side?("positive"===k.side&&(m=function(t){var e=E(t);return a.inbox(e,e+C,v)}),"negative"===k.side&&(m=function(t){var e=E(t);return a.inbox(e-C,e,v)})):m=function(t){var e=E(t);return a.inbox(e-C,e+C,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},"h"===k.orientation?(h=e,p=r,d=x,g=m,l="y",u=w,c="x",f=_):(h=r,p=e,d=m,g=x,l="x",u=_,c="y",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var D=b[t.index],O=k.line.color,I=(k.marker||{}).color;o.opacity(O)&&k.line.width?t.color=O:o.opacity(I)&&k.boxpoints?t.color=I:t.color=k.fillcolor,t[l+"0"]=u.c2p(D.pos+M.bPos-S,!0),t[l+"1"]=u.c2p(D.pos+M.bPos+S,!0),t[l+"LabelVal"]=D.pos;var R=l+"Spike";t.spikeDistance=z(D)*y/v,t[R]=u.c2p(D.pos,!0);var B={},F=["med","min","q1","q3","max"];(k.boxmean||(k.meanline||{}).visible)&&F.push("mean"),(k.boxpoints||k.points)&&F.push("lf","uf");for(var N=0;Nt.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;et.lo&&(_.so=!0)}return a});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var h=t.selectAll("path.mean").data(i.identity);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,h=c.c2p(t.mean,!0),p=c.c2p(t.mean-t.sd,!0),d=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+h+","+i+"V"+a+("sd"===r.boxmean?"m0,0L"+p+","+e+"L"+h+","+i+"L"+d+","+e+"Z":"")):n.select(this).attr("d","M"+i+","+h+"H"+a+("sd"===r.boxmean?"m0,0L"+e+","+p+"L"+i+","+h+"L"+e+","+d+"Z":""))})}e.exports={plot:function(t,e,r,i){var a=t._fullLayout,o=e.xaxis,s=e.yaxis,f=i.selectAll("g.trace.boxes").data(r,function(t){return t[0].trace.uid});f.enter().append("g").attr("class","trace boxes"),f.exit().remove(),f.order(),f.each(function(t){var r=t[0],i=r.t,f=r.trace,h=n.select(this);e.isRangePlot||(r.node3=h);var p,d,g=a._numBoxes,m=1-a.boxgap,v="group"===a.boxmode&&g>1,y=i.dPos*m*(1-a.boxgroupgap)/(v?g:1),x=v?2*i.dPos*((i.num+.5)/g-.5)*m:0,b=y*f.whiskerwidth;!0!==f.visible||i.empty?h.remove():("h"===f.orientation?(p=s,d=o):(p=o,d=s),i.bPos=x,i.bdPos=y,i.wdPos=b,i.wHover=i.dPos*(v?m/g:1),l(h,{pos:p,val:d},f,i),f.boxpoints&&c(h,{x:o,y:s},f,i),f.boxmean&&u(h,{pos:p,val:d},f,i))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":499,"../../lib":602,d3:130}],763:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s0?Math.floor:Math.ceil,P=E>0?Math.ceil:Math.floor,D=E>0?Math.min:Math.max,O=E>0?Math.max:Math.min,I=z(S+L),R=P(C-L),B=[[f=T(S)]];for(a=I;a*E=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],778:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,C=T[0].length,E=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function D(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,"b"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;hx.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;ax[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(D(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;hx[x.length-1]||w.push(i(D(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(D(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":591,"../../plots/cartesian/axes":648}],779:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],793:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment"),f=t("../../plots/get_data").getUidsFromCalcData;function h(t,e,r,n){var i=r[0],l=r[0].trace,u=e.xaxis,f=e.yaxis,h=l.aaxis,g=l.baxis,m=t._fullLayout._clips,y=c.ensureSingle(n,"g","carpet"+l.uid).classed("trace",!0),x=c.ensureSingle(y,"g","minorlayer"),b=c.ensureSingle(y,"g","majorlayer"),_=c.ensureSingle(y,"g","boundarylayer"),w=c.ensureSingle(y,"g","labellayer");y.style("opacity",l.opacity),p(u,f,b,h,"a",h._gridlines),p(u,f,b,g,"b",g._gridlines),p(u,f,x,h,"a",h._minorgridlines),p(u,f,x,g,"b",g._minorgridlines),p(u,f,_,h,"a-boundary",h._boundarylines),p(u,f,_,g,"b-boundary",g._boundarylines),function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,w,l,i,u,f,d(t,u,f,l,i,w,h._labels,"a-label"),d(t,u,f,l,i,w,g._labels,"b-label")),function(t,e,r,n,i){var s,l,u,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,g=[];for(f=0;f0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*h+","+.3*m.height+")"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var a=f(r);i.selectAll("g.trace").each(function(){var t=n.select(this).attr("class").split("carpet")[1].split(/\s/)[0];a[t]||n.select(this).remove()});for(var o=0;o90&&d<270,y=n.select(this);y.text(u.title||"").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+m)*g*a-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(i.font,u.titlefont)}),y.exit().remove()}},{"../../components/drawing":499,"../../constants/alignment":574,"../../lib":602,"../../lib/svg_text_utils":626,"../../plots/get_data":684,"./makepath":790,"./map_1d_array":791,"./orient_text":792,d3:130}],794:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/search").findBin,a=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&tg&&ed||em},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];ne[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":621,"./compute_control_points":782,"./constants":783,"./create_i_derivative_evaluator":784,"./create_j_derivative_evaluator":785,"./create_spline_evaluator":786}],795:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",M,"after",A,"iterations"),t}},{"../../lib":602}],796:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":602}],797:[function(t,e,r){"use strict";var n=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../components/colorbar/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend"),l=s.extendFlat,c=s.extendDeepAll,u=n.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:n.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},n.text,{}),marker:{line:{color:u.color,width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]})},c({},i,{zmax:{editType:"calc"},zmin:{editType:"calc"}}),{colorbar:a})},{"../../components/colorbar/attributes":475,"../../components/colorscale/attributes":480,"../../lib/extend":591,"../../plots/attributes":645,"../scattergeo/attributes":964}],798:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c")}(t,f,o,h.mockAxis),[t]}},{"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934,"./attributes":797}],802:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../heatmap/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="choropleth",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","noOpacity"],n.meta={},e.exports=n},{"../../plots/geo":678,"../heatmap/colorbar":838,"./attributes":797,"./calc":798,"./defaults":799,"./event_data":800,"./hover":801,"./plot":803,"./select":804,"./style":805}],803:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case"MultiPolygon":for(r=0;r":f.value>h&&(s.prefixBoundary=!0);break;case"<":f.valueh)&&(s.prefixBoundary=!0);break;case"][":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),ah&&(s.prefixBoundary=!0)}}},{}],809:[function(t,e,r){"use strict";var n=t("../../plots/plots"),i=t("../../components/colorbar/draw"),a=t("./make_color_map"),o=t("./end_plus");e.exports=function(t,e){var r=e[0].trace,s="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+s).remove(),r.showscale){var l=i(t,s);e[0].t.cb=l;var c=r.contours,u=r.line,f=c.size||1,h=c.coloring,p=a(r,{isColorbar:!0});"heatmap"===h&&l.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),l.fillcolor("fill"===h||"heatmap"===h?p:"").line({color:"lines"===h?p:u.color,width:!1!==c.showlines?u.width:0,dash:u.dash}).levels({start:c.start,end:o(c),size:f}).options(r.colorbar)()}else n.autoMargin(t,s)}},{"../../components/colorbar/draw":478,"../../plots/plots":710,"./end_plus":817,"./make_color_map":822}],810:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],811:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./label_defaults"),a=t("../../components/color"),o=a.addOpacity,s=a.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?h=g.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),i(r,a,p,f)}},{"../../components/color":474,"../../constants/filter_ops":575,"./label_defaults":821,"fast-isnumeric":196}],812:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),i=t("fast-isnumeric");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":575,"fast-isnumeric":196}],813:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],814:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":602,"./constraint_mapping":812,"./end_plus":817}],817:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants");function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(","),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(",");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(",")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,M,A,T,S,C,E,L,z,P,D,O=a(d[0],d[d.length-1],o,l),I=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c=F;c--)if((x=B[c])=F&&x+B[b]T&&S--,t.edgepaths[S]=E.concat(d,C));break}U||(t.edgepaths[T]=d.concat(C))}for(T=0;Tt?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;rt.level}return r?"M"+e.join("L")+"Z":""}(t,e),h=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(o.convertToTspans,r)}),s){for(var c="",u=0;ue.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if("constraint"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{"../../lib":602,"../../plots/cartesian/axes":648}],826:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t.trace.opacity}),e.each(function(t){var e=n.select(this),r=t.trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,f=!u&&"lines"===a.coloring,h=!u&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),a(t)}},{"../../components/drawing":499,"../heatmap/style":848,"./make_color_map":822,d3:130}],827:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),i=t("./label_defaults");e.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&n(t,e,a,r,{prefix:"",cLetter:"z"}),r("line.smoothing"),i(r,a,c,o)}},{"../../components/colorscale/defaults":484,"./label_defaults":821}],828:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=i.contours,o=t("../scatter/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/colorbar/attributes"),c=t("../../lib/extend").extendFlat,u=o.line;e.exports=c({},{carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:"plot"}},s,{autocolorscale:c({},s.autocolorscale,{dflt:!1})},{colorbar:l})},{"../../components/colorbar/attributes":475,"../../components/colorscale/attributes":480,"../../lib/extend":591,"../contour/attributes":806,"../heatmap/attributes":835,"../scatter/attributes":926}],829:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../../lib").isArray1D,a=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/max_row_length"),l=t("../heatmap/interp2d"),c=t("../heatmap/find_empties"),u=t("../heatmap/make_bound_array"),f=t("./defaults"),h=t("../carpet/lookup_carpetid"),p=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,"a","b",["z"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],p=p?x.makeCalcdata(e,"_b"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),e._interpz=l(m,e._emptypoints,e._interpz);var b=s(m),_="scaled"===e.xtype?"":r,w=u(e,_,f,h,b,y),k="scaled"===e.ytype?"":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(e,m,"","z");return[A]}(0,e);return p(e),m}}},{"../../components/colorscale/calc":481,"../../lib":602,"../carpet/lookup_carpetid":789,"../contour/set_contours":825,"../heatmap/clean_2d_array":837,"../heatmap/convert_column_xyz":839,"../heatmap/find_empties":841,"../heatmap/interp2d":844,"../heatmap/make_bound_array":845,"../heatmap/max_row_length":846,"./defaults":830}],830:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text");var f="constraint"===u("contours.type");f||delete e.showlegend,f?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":602,"../contour/constraint_defaults":811,"../contour/contours_defaults":813,"../contour/style_defaults":827,"../heatmap/xyz_defaults":850,"./attributes":828}],831:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../contour/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../contour/style"),n.moduleType="trace",n.name="contourcarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"../contour/colorbar":809,"../contour/style":826,"./attributes":828,"./calc":829,"./defaults":830,"./plot":834}],832:[function(t,e,r){"use strict";var n=t("../../components/drawing"),i=t("../carpet/axis_aligned_line"),a=t("../../lib");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,v,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])=0&&(p=E,g=m):Math.abs(h[1]-p[1])=0&&(p=E,g=m):a.log("endpt to newendpt is not vert. or horz.",h,p,E)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log("unclosed perimeter path");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+"Z",h=null)}for(f=0;f=0;q--)j=M.clipsegments[q],V=i([],j.x,E.c2p),U=i([],j.y,L.c2p),V.reverse(),U.reverse(),G.push(a(V,U,j.bicubic));var W="M"+G.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;hm&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),h.LABELMAX),a=0;az){E("x scale is not linear");break}}if(m.length&&"fast"===S){var P=(m[m.length-1]-m[0])/(m.length-1),D=Math.abs(P/100);for(b=0;bD){E("y scale is not linear");break}}}var O=c(x),I="scaled"===e.xtype?"":r,R=p(e,I,d,g,O,w),B="scaled"===e.ytype?"":m,F=p(e,B,v,y,x.length,k);T||(a.expand(w,R),a.expand(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(I&&I.length===R.length-1&&(N.xCenter=I),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&"constraint"===e.contours.type||s(e,x,"","z"),M&&e.contours&&"heatmap"===e.contours.coloring){var j={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,I,d,g,O,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{"../../components/colorscale/calc":481,"../../lib":602,"../../plots/cartesian/axes":648,"../../registry":732,"../histogram2d/calc":867,"./clean_2d_array":837,"./convert_column_xyz":839,"./find_empties":841,"./interp2d":844,"./make_bound_array":845,"./max_row_length":846}],837:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{"./max_row_length":846}],842:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;Sg&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e,r){var i,s,l=1;if(Array.isArray(r))for(i=0;i.01;i++)l=o(t,e,a(l));return l>.01&&n.log("interp2d didn't converge quickly",l),t}},{"../../lib":602}],845:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u0;)f=_.c2p(A[y]),y--;for(f0;)v=w.c2p(T[y]),y--;if(v image").each(function(t){var e=t.trace||{};a[e.uid]||n.select(this.parentNode).remove()});for(var o=0;o0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&vo){var y=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cu.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s=0&&w=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),J=[],K=0,Q=Z-1;for(r=0;r=K;r--)if(d[r]){Q=r;break}for(r=K;r<=Q;r++)if(n(f[r])&&n(d[r])){var $={p:f[r],s:d[r],b:0};x.enabled||($.pts=z[r],H?$.p0=$.p1=z[r].length?A[z[r][0]]:f[r]:($.p0=U(S[r]),$.p1=U(S[r+1],!0))),J.push($)}return 1===J.length&&(J[0].width1=a.tickIncrement(J[0].p,M.size,!1,y)-J[0].p),o(J,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(J,e,Y),J}}},{"../../constants/numerical":579,"../../lib":602,"../../plots/cartesian/axes":648,"../bar/arrays_to_calcdata":741,"./average":855,"./bin_functions":857,"./bin_label_vals":858,"./clean_bins":860,"./norm_functions":865,"fast-isnumeric":196}],860:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").cleanDate,a=t("../../constants/numerical"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+"bins",c=t[l];c||(c=t[l]={});var u="date"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f="date"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if("string"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||"date"!==a||"M"!==p||d!==Math.round(d))&&(c.size=f)}var g="autobin"+r;"boolean"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t["nbins"+r],delete t._fullInput["nbins"+r])}},{"../../constants/numerical":579,"../../lib":602,"fast-isnumeric":196}],861:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/color"),o=t("./bin_defaults"),s=t("../bar/style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u("x"),h=u("y");u("cumulative.enabled")&&(u("cumulative.direction"),u("cumulative.currentbin")),u("text");var p=u("orientation",h&&!f?"h":"v"),d="v"===p?"x":"y",g="v"===p?"y":"x",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],c),e[g]&&u("histfunc"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,a.defaultLine,{axis:"y"}),v(t,e,a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{"../../components/color":474,"../../lib":602,"../../registry":732,"../bar/style_defaults":754,"./attributes":854,"./bin_defaults":856}],862:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;sA&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,"x",m,g,_,k,x),u(e,"y",y,v,w,M,b);var T=[],S=[],C=[],E="string"==typeof e.xbins.size,L="string"==typeof e.ybins.size,z=[],P=[],D=E?z:e.xbins,O=L?P:e.ybins,I=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf("density"),V="max"===N||"min"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Y&&"count"!==N&&(H="avg"===N,U=a[N]);var X=e.xbins,Z=_(X.start),J=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r=0&&c=0&&d0)c=o(t.alphahull,u);else{var p=["x","y","z"].indexOf(t.delaunayaxis);c=a(u.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:u,cells:c,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color="#fff",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=t.colorscale.map(function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=f(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=f(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../lib/str2rgbarray":625,"alpha-shape":48,"convex-hull":110,"delaunay-triangulate":132,"gl-mesh3d":244,tinycolor2:415}],879:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c(["x","y","z"]),f=c(["i","j","k"]);u?(f&&f.forEach(function(t){for(var e=0;ed):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?"increasing":"decreasing",h&&(w.tx=e.text[m]),g.push(w)}}return a.expand(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a"),t.y0=t.y1=f.c2p(C.yc,!0),[t]}},{"../../components/color":474,"../../components/fx":516,"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934}],885:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),selectPoints:t("./select")}},{"../../plots/cartesian":659,"./attributes":881,"./calc":882,"./defaults":883,"./hover":884,"./plot":887,"./select":888,"./style":889}],886:[function(t,e,r){"use strict";var n=t("../../registry");e.exports=function(t,e,r,i){var a=r("x"),o=r("open"),s=r("high"),l=r("low"),c=r("close");if(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{"../../registry":732}],887:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis,l=a.selectAll("g.trace").data(r,function(t){return t[0].trace.uid});l.enter().append("g").attr("class","trace ohlc"),l.exit().remove(),l.order(),l.each(function(t){var r=t[0],a=r.t,l=r.trace,c=n.select(this);if(e.isRangePlot||(r.node3=c),!0!==l.visible||a.empty)c.remove();else{var u=a.tickLen,f=c.selectAll("path").data(i.identity);f.enter().append("path"),f.exit().remove(),f.attr("d",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":602,d3:130}],888:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function m(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function v(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;se){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on("mousemove",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r="crosshair";e.clickableOrdinalRange?r="pointer":e.region&&(r=e.region+"-resize"),i.select(document.body).style("cursor",r)}}).on("mouseleave",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on("dragstart",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar="ns"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s["s"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on("drag",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on("dragend",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,a);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(g).call(m).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(b);var i=t.selectAll(".highlight").data(o);i.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),i.attr("y1",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":602,"../../lib/gup":599,"./constants":895,d3:130}],892:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":581,"../../plots/get_data":684,"./plot":900,d3:130}],893:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("../../lib"),o=t("../../lib/gup").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;rs&&(n.log("parcoords traces support up to "+s+" dimensions at the moment"),l.splice(s)),o=0;o>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t["p"+n.toString(16)](M(e,r,n))}(E,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var D=[0,1];var O=[];function I(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:D,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){D[0]=t[0],D[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;ic&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasXn._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function C(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var E=1;E=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style("opacity",function(t){return t.pick?.01:1}),e.style("background","rgba(255, 255, 255, 0)");var A=e.selectAll("."+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append("g").classed(i.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),A.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var T=A.selectAll("."+i.cn.parcoordsControlView).data(u,c);T.enter().append("g").classed(i.cn.parcoordsControlView,!0),T.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var S=T.selectAll("."+i.cn.yAxis).data(function(t){return t.dimensions},c);function C(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;aline").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),L.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var z=E.selectAll("."+i.cn.axisHeading).data(u,c);z.enter().append("g").classed(i.cn.axisHeading,!0);var P=z.selectAll("."+i.cn.axisTitle).data(u,c);P.enter().append("text").classed(i.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),P.attr("transform","translate(0,"+-i.axisTitleOffset+")").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var D=E.selectAll("."+i.cn.axisExtent).data(u,c);D.enter().append("g").classed(i.cn.axisExtent,!0);var O=D.selectAll("."+i.cn.axisExtentTop).data(u,c);O.enter().append("g").classed(i.cn.axisExtentTop,!0),O.attr("transform","translate(0,"+-i.axisExtentOffset+")");var I=O.selectAll("."+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return"";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}I.enter().append("text").classed(i.cn.axisExtentTopText,!0).call(y),I.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=D.selectAll("."+i.cn.axisExtentBottom).data(u,c);B.enter().append("g").classed(i.cn.axisExtentBottom,!0),B.attr("transform",function(t){return"translate(0,"+(t.model.height+i.axisExtentOffset)+")"});var F=B.selectAll("."+i.cn.axisExtentBottomText).data(u,c);F.enter().append("text").classed(i.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(E)}},{"../../components/drawing":499,"../../lib":602,"../../lib/gup":599,"./axisbrush":891,"./constants":895,"./lines":898,d3:130}],900:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;i(t);var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o["dimensions["+r+"].constraintrange"]=a,t.emit("plotly_restyle",[o,[e]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){function n(t){return!("visible"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit("plotly_restyle")}})}},{"../../lib/prepare_regl":615,"./parcoords":899}],901:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../../plots/font_attributes"),a=t("../../plots/attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=i({editType:"calc",colorEditType:"style"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:n.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:s({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}},{"../../components/color/attributes":473,"../../lib/extend":591,"../../plots/attributes":645,"../../plots/domain":673,"../../plots/font_attributes":674}],902:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/get_data").getModuleCalcData;r.name="pie",r.plot=function(t){var e=n.getModule("pie"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has("pie"),a=e._has&&e._has("pie");i&&!a&&n._pielayer.selectAll("g.trace").remove()}},{"../../plots/get_data":684,"../../registry":732}],903:[function(t,e,r){"use strict";var n,i=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,o=t("tinycolor2"),s=t("../../components/color"),l=t("./helpers");function c(t,e){if(!n){var r=s.defaults;n=u(r)}var i=e||n;return i[t%i.length]}function u(t){var e,r=t.slice();for(e=0;e")}}return y}},{"../../components/color":474,"../../lib":602,"./helpers":906,"fast-isnumeric":196,tinycolor2:415}],904:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s("values"),f=n.isArrayOrTypedArray(u),h=s("labels");if(Array.isArray(h)&&(l=h.length,f&&(l=Math.min(l,u.length))),!Array.isArray(h)){if(!f)return void(e.visible=!1);l=u.length,s("label0"),s("dlabel")}if(l){e._length=l,s("marker.line.width")&&s("marker.line.color"),s("marker.colors"),s("scalegroup");var p=s("text"),d=s("textinfo",Array.isArray(p)?"text+percent":"percent");if(s("hovertext"),d&&"none"!==d){var g=s("textposition"),m=Array.isArray(g)||"auto"===g,v=m||"inside"===g,y=m||"outside"===g;if(v||y){var x=c(s,"textfont",o.font);v&&c(s,"insidetextfont",x),y&&c(s,"outsidetextfont",x)}}a(e,o,s),s("hole"),s("sort"),s("direction"),s("rotation"),s("pull")}else e.visible=!1}},{"../../lib":602,"../../plots/domain":673,"./attributes":901}],905:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{"../../components/fx/helpers":513}],906:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;il&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;ai.vTotal/2?1:0)}(e),p.each(function(){var p=n.select(this).selectAll("g.slice").data(e);p.enter().append("g").classed("slice",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll("path,g").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll("path.surface").data([e]),b=!1,_=!1;if(x.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),y.select("path.textline").remove(),y.on("mouseover",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),"all"===l&&(l="label+text+value+percent+name"),"none"!==l&&"skip"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf("label")&&x.push(e.label),-1!==l.indexOf("text")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf("value")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf("percent")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join("
          "),name:-1!==l.indexOf("name")?s.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit("plotly_hover",{points:[u(e,s)],event:n.event}),_=!0}}).on("mouseout",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit("plotly_unhover",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on("click",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M="M"+(a+e.px0[0])+","+(p+e.px0[1])+E(e.px0,e.pxmid,!0,1)+E(e.pxmid,e.px0,!0,1)+"Z";k?x.attr("d","M"+(a+k*e.px0[0])+","+(p+k*e.px0[1])+E(e.px0,e.pxmid,!1,k)+E(e.pxmid,e.px0,!1,k)+"Z"+M):x.attr("d",M)}else{var A=E(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr("d","M"+(a+k*e.px1[0])+","+(p+k*e.px1[1])+E(e.px1,e.px0,!1,k)+"l"+T*e.px0[0]+","+T*e.px0[1]+A+"Z")}else x.attr("d","M"+a+","+p+"l"+e.px0[0]+","+e.px0[1]+A+"Z")}var S=c.castOption(g.textposition,e.pts),C=y.selectAll("g.slicetext").data(e.text&&"none"!==S?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each(function(){var r=s.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});r.text(e.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,"outside"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());"outside"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),"auto"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr("transform","translate("+u+","+m+")"+(i.scale<1?"scale("+i.scale+")":"")+(i.rotate?"rotate("+i.rotate+")":"")+"translate("+-(c.left+c.right)/2+","+-(c.top+c.bottom)/2+")")})}function E(t,r,n,i){return"a"+i*d.r+","+i*d.r+" 0 "+e.largeArc+(n?" 1 ":" 0 ")+i*(r[0]-t[0])+","+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;pMath.abs(c)?o+="l"+c*t.pxmid[0]/t.pxmid[1]+","+c+"H"+(i+t.labelExtraX+s):o+="l"+t.labelExtraX+","+l+"v"+(c-l)+"h"+s}else o+="V"+(t.yLabelMid+t.labelExtraY)+"h"+s;e.append("path").classed("textline",!0).call(a.stroke,g.outsidetextfont.color).attr({"stroke-width":Math.min(2,g.outsidetextfont.size/8),d:o,fill:"none"})}})})}),setTimeout(function(){p.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)}},{"../../components/color":474,"../../components/drawing":499,"../../components/fx":516,"../../lib":602,"../../lib/svg_text_utils":626,"./event_data":905,"./helpers":906,d3:130}],911:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(i,t,e)})})}},{"./style_one":912,d3:130}],912:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./helpers").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({"stroke-width":s}).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":474,"./helpers":906}],913:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"}}},{"../scatter/attributes":926}],914:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),i=t("../../lib/str2rgbarray"),a=t("../../plots/cartesian/autorange").expand,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,a,o,s,l=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,h=t.indices,p=this.bounds;if(u){if(n=u,e=u.length>>>1,f)p[0]=t.xbounds[0],p[2]=t.xbounds[1],p[1]=t.ybounds[0],p[3]=t.ybounds[1];else for(s=0;sp[2]&&(p[2]=a),op[3]&&(p[3]=o);if(h)r=h;else for(r=new Int32Array(e),s=0;sp[2]&&(p[2]=a),op[3]&&(p[3]=o);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var d=i(t.marker.color),g=i(t.marker.border.color),m=t.opacity*t.marker.opacity;d[3]*=m,this.pointcloudOptions.color=d;var v=t.marker.blend;if(null===v){v=l.length<100||c.length<100}this.pointcloudOptions.blend=v,g[3]*=m,this.pointcloudOptions.borderColor=g;var y=t.marker.sizemin,x=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=y,this.pointcloudOptions.sizeMax=x,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(p,x/2)},l.expandAxesFast=function(t,e){var r=e||.5;a(this.scene.xaxis,[t[0],t[2]],{ppad:r}),a(this.scene.yaxis,[t[1],t[3]],{ppad:r})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":625,"../../plots/cartesian/autorange":647,"../scatter/get_trace_color":936,"gl-pointcloud2d":255}],915:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},{"../../lib":602,"./attributes":913}],916:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../scatter3d/calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="pointcloud",n.basePlotModule=t("../../plots/gl2d"),n.categories=["gl","gl2d","showLegend"],n.meta={},e.exports=n},{"../../plots/gl2d":687,"../scatter3d/calc":952,"./attributes":913,"./convert":914,"./defaults":915}],917:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/attributes"),a=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=t("../../plot_api/edit_types").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]}}},"calc","nested")},{"../../components/color/attributes":473,"../../components/fx/attributes":508,"../../lib/extend":591,"../../plot_api/edit_types":633,"../../plots/attributes":645,"../../plots/domain":673,"../../plots/font_attributes":674}],918:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../components/fx/layout_attributes");r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=i(t.calcdata,"sankey")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("sankey"),a=e._has&&e._has("sankey");i&&!a&&n._paperdiv.selectAll(".sankey").remove()}},{"../../components/fx/layout_attributes":517,"../../plot_api/edit_types":633,"../../plots/get_data":684,"./plot":923}],919:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap;e.exports=function(t,e){return function(t,e,r){for(var i=t.map(function(){return[]}),a=0;a1})}(e.node.label,e.link.source,e.link.target)&&(i.error("Circularity is present in the Sankey data. Removing all nodes and links."),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{"../../lib":602,"../../lib/gup":599,"strongly-connected-components":407}],920:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"cubic-in-out",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],921:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c("node.label"),c("node.pad"),c("node.thickness"),c("node.line.color"),c("node.line.width");var u=l.colorway;c("node.color",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c("link.label"),c("link.source"),c("link.target"),c("link.value"),c("link.line.color"),c("link.line.width"),c("link.color",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)"})),s(e,l,c),c("orientation"),c("valueformat"),c("valuesuffix"),c("arrangement"),n.coerceFont(c,"textfont",n.extendFlat({},l.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&n.warn("Some of the nodes are neither sources nor targets, they will not be displayed."),e._length=null}},{"../../components/color":474,"../../lib":602,"../../plots/domain":673,"./attributes":917,tinycolor2:415}],922:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.moduleType="trace",n.name="sankey",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":917,"./base_plot":918,"./calc":919,"./defaults":921,"./plot":923}],923:[function(t,e,r){"use strict";var n=t("d3"),i=t("./render"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",.4),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",.4),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,"source:")+" ",g=c(t,"target:")+" ",_=c(t,"incoming flow count:")+" ",w=c(t,"outgoing flow count:")+" ";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){n.select(e).call(y.bind(0,r,i,!0)),t.emit("plotly_hover",{event:n.event,points:[r.link]})},follow:function(e,i){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||"",d+i.link.source.label,g+i.link.target.label].filter(u).join("
          "),color:b(s,"bgcolor")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),idealAlign:n.event.x"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),idealAlign:"left"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)},unhover:function(e,i,o){n.select(e).call(v,i,o),t.emit("plotly_unhover",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node())},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":474,"../../components/fx":516,"../../lib":602,"./constants":920,"./render":924,d3:130}],924:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey").sankey,c=t("d3-force"),u=t("../../lib"),f=t("../../lib/gup").keyFun,h=t("../../lib/gup").repeat,p=t("../../lib/gup").unwrap;function d(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function g(t){return function(e){return e.node.originalX===t.node.originalX}}function m(t){for(var e=0;e1||t.linkLineWidth>0}function k(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function M(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function A(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function T(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function S(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function C(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function E(t){return t.horizontal&&t.left?"100%":"0%"}function L(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function z(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on("dragstart",function(i){if("fixed"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,d(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var a=i.traceId+"|"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force("collide",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,i){return function(){for(var t=0,a=0;a0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x=n,r.node.y=a):("freeform"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),d(r.node),"snap"!==r.arrangement&&(r.sankey.relayout(),b(t.filter(g(r)),e))}}).on("dragend",function(t){t.interactionState.dragInProgress=!1});t.on(".drag",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll("."+n.cn.sankey).data(e.filter(function(t){return p(t).trace.visible}).map(function(t,e,r){for(var i,a=p(e).trace,o=a.domain,s=a.node,c=a.link,f=a.arrangement,h="h"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,x=a.link.line.color,b=a.link.line.width,_=a.valueformat,w=a.valuesuffix,k=a.textfont,M=t.width*(o.x[1]-o.x[0]),A=t.height*(o.y[1]-o.y[0]),T=s.label.map(function(t,e){return{pointNumber:e,label:t,color:u.isArrayOrTypedArray(s.color)?s.color[e]:s.color}}),S=c.value.map(function(t,e){return{pointNumber:e,label:c.label[e],color:u.isArrayOrTypedArray(c.color)?c.color[e]:c.color,source:c.source[e],target:c.target[e],value:t}}),C=l().size(h?[M,A]:[A,M]).nodeWidth(g).nodePadding(d).nodes(T).links(S).layout(n.sankeyIterations),E=C.nodes(),L=0;L5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),B.transition().ease(n.ease).duration(n.duration).attr("startOffset",E).style("fill",C)}},{"../../components/color":474,"../../components/drawing":499,"../../lib":602,"../../lib/gup":599,"./constants":920,"@plotly/d3-sankey":42,d3:130,"d3-force":126,tinycolor2:415}],925:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],930:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../components/colorscale"),s=t("../../components/colorbar/draw");e.exports=function(t,e){var r=e[0].trace,l=r.marker,c="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+c).remove(),void 0!==l&&l.showscale){var u=l.color,f=l.cmin,h=l.cmax;n(f)||(f=i.aggNums(Math.min,null,u)),n(h)||(h=i.aggNums(Math.max,null,u));var p=e[0].t.cb=s(t,c),d=o.makeColorScaleFunc(o.extractScale(l.colorscale,f,h),{noNumericCheck:!0});p.fillcolor(d).filllevels({start:f,end:h,size:(h-f)/254}).options(l.colorbar)()}else a.autoMargin(t,c)}},{"../../components/colorbar/draw":478,"../../components/colorscale":489,"../../lib":602,"../../plots/plots":710,"fast-isnumeric":196}],931:[function(t,e,r){"use strict";var n=t("../../components/colorscale/has_colorscale"),i=t("../../components/colorscale/calc"),a=t("./subtypes");e.exports=function(t){a.hasLines(t)&&n(t,"line")&&i(t,t.line.color,"line","c"),a.hasMarkers(t)&&(n(t,"marker")&&i(t,t.marker.color,"marker","c"),n(t,"marker.line")&&i(t,t.marker.line.color,"marker.line","c"))}},{"../../components/colorscale/calc":481,"../../components/colorscale/has_colorscale":488,"./subtypes":948}],932:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],933:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./marker_defaults"),u=t("./line_defaults"),f=t("./line_shape_defaults"),h=t("./text_defaults"),p=t("./fillcolor_defaults");e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=l(t,e,d,g),v=mV!=(D=C[T][1])>=V&&(L=C[T-1][0],z=C[T][0],D-P&&(E=L+(z-L)*(V-P)/(D-P),B=Math.min(B,E),F=Math.max(F,E)));B=Math.max(B,0),F=Math.min(F,h._length);var U=s.defaultLine;return s.opacity(f.fillcolor)?U=f.fillcolor:s.opacity((f.line||{}).color)&&(U=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:B,x1:F,y0:V,y1:V,color:U}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":474,"../../components/fx":516,"../../lib":602,"../../registry":732,"./fill_hover_text":934,"./get_trace_color":936}],938:[function(t,e,r){"use strict";var n={},i=t("./subtypes");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.cleanData=t("./clean_data"),n.calc=t("./calc").calc,n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.colorbar=t("./colorbar"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("./select"),n.animatable=!0,n.moduleType="trace",n.name="scatter",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","markerColorscale","errorBarsOK","showLegend","scatter-like","draggedPts"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"./arrays_to_calcdata":925,"./attributes":926,"./calc":927,"./clean_data":929,"./colorbar":930,"./defaults":933,"./hover":937,"./plot":945,"./select":946,"./style":947,"./subtypes":948}],939:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488,"../../lib":602}],940:[function(t,e,r){"use strict";var n=t("../../constants/numerical").BADNUM,i=t("../../lib"),a=i.segmentsIntersect,o=i.constrain,s=t("./constants");e.exports=function(t,e){var r,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=e.xaxis,M=e.yaxis,A=e.simplify,T=e.connectGaps,S=e.baseTolerance,C=e.shape,E="linear"===C,L=[],z=s.minTolerance,P=new Array(t.length),D=0;function O(e){var r=t[e],i=k.c2p(r.x),a=M.c2p(r.y);return i===n||a===n?r.intoCenter||!1:[i,a]}function I(t){var e=t[0]/k._length,r=t[1]/M._length;return(1+s.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*S}function R(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}A||(S=z=-1);var B,F,N,j,V,U,q,H=s.maxScreensAway,G=-k._length*H,W=k._length*(1+H),Y=-M._length*H,X=M._length*(1+H),Z=[[G,Y,W,Y],[W,Y,W,X],[W,X,G,X],[G,X,G,Y]];function J(t){if(t[0]W||t[1]X)return[o(t[0],G,W),o(t[1],Y,X)]}function K(t,e){return t[0]===e[0]&&(t[0]===G||t[0]===W)||(t[1]===e[1]&&(t[1]===Y||t[1]===X)||void 0)}function Q(t,e,r){return function(n,a){var o=J(n),s=J(a),l=[];if(o&&s&&K(o,s))return l;o&&l.push(o),s&&l.push(s);var c=2*i.constrain((n[t]+a[t])/2,e,r)-((o||n)[t]+(s||a)[t]);c&&((o&&s?c>0==o[t]>s[t]?o:s:o||s)[t]+=c);return l}}function $(t){var e=t[0],r=t[1],n=e===P[D-1][0],i=r===P[D-1][1];if(!n||!i)if(D>1){var a=e===P[D-2][0],o=r===P[D-2][1];n&&(e===G||e===W)&&a?o?D--:P[D-1]=t:i&&(r===Y||r===X)&&o?a?D--:P[D-1]=t:P[D++]=t}else P[D++]=t}function tt(t){P[D-1][0]!==t[0]&&P[D-1][1]!==t[1]&&$([N,j]),$(t),V=null,N=j=0}function et(t){if(B=t[0]W?W:0,F=t[1]X?X:0,B||F){if(D)if(V){var e=q(V,t);e.length>1&&(tt(e[0]),P[D++]=e[1])}else U=q(P[D-1],t)[0],P[D++]=U;else P[D++]=[B||t[0],F||t[1]];var r=P[D-1];B&&F&&(r[0]!==B||r[1]!==F)?(V&&(N!==B&&j!==F?$(N&&j?(n=V,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?G:W,X]:[o>0?W:G,Y]):[N||B,j||F]):N&&j&&$([N,j])),$([B,F])):N-B&&j-F&&$([B||N,F||j]),V=t,N=B,j=F}else V&&tt(q(V,t)[0]),P[D++]=t;var n,i,a,o}for("linear"===C||"spline"===C?q=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var o=Z[i],s=a(t[0],t[1],e[0],e[1],o[0],o[1],o[2],o[3]);s&&(!n||Math.abs(s.x-r[0][0])>1||Math.abs(s.y-r[0][1])>1)&&(s=[s.x,s.y],n&&R(s,t)I(h))break;c=h,(x=g[0]*d[0]+g[1]*d[1])>v?(v=x,u=h,p=!1):x=t.length||!h)break;et(h),l=h}}else et(u)}V&&$([N||V[0],j||V[1]]),L.push(P.slice(0,D))}return L}},{"../../constants/numerical":579,"../../lib":602,"./constants":932}],941:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],942:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,a=null;for(i=0;i0?Math.max(e,i):0}}},{"fast-isnumeric":196}],944:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/has_colorscale"),a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":474,"../../components/colorscale/defaults":484,"../../components/colorscale/has_colorscale":488,"./subtypes":948}],945:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../../components/drawing"),s=t("./subtypes"),l=t("./line_points"),c=t("./link_traces"),u=t("../../lib/polygon").tester;function f(t,e,r,c,f,h,p){var d,g;!function(t,e,r,i,o){var l=r.xaxis,c=r.yaxis,u=n.extent(a.simpleMap(l.range,l.r2c)),f=n.extent(a.simpleMap(c.range,c.r2c)),h=i[0].trace;if(!s.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;s.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function v(t){return m?t.transition():t}var y=r.xaxis,x=r.yaxis,b=c[0].trace,_=b.line,w=n.select(h);if(i.getComponentMethod("errorbars","plot")(w,r,p),!0===b.visible){var k,M;v(w).style("opacity",b.opacity);var A=b.fill.charAt(b.fill.length-1);"x"!==A&&"y"!==A&&(A=""),r.isRangePlot||(c[0].node3=w);var T="",S=[],C=b._prevtrace;C&&(T=C._prevRevpath||"",M=C._nextFill,S=C._polygons);var E,L,z,P,D,O,I,R,B,F="",N="",j=[],V=a.noop;if(k=b._ownFill,s.hasLines(b)||"none"!==b.fill){for(M&&M.datum(c),-1!==["hv","vh","hvh","vhv"].indexOf(_.shape)?(z=o.steps(_.shape),P=o.steps(_.shape.split("").reverse().join(""))):z=P="spline"===_.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?o.smoothclosed(t.slice(1),_.smoothing):o.smoothopen(t,_.smoothing)}:function(t){return"M"+t.join("L")},D=function(t){return P(t.reverse())},j=l(c,{xaxis:y,yaxis:x,connectGaps:b.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,simplify:_.simplify}),B=b._polygons=new Array(j.length),g=0;g1){var r=n.select(this);if(r.datum(c),t)v(r.style("opacity",0).attr("d",E).call(o.lineGroupStyle)).style("opacity",1);else{var i=v(r);i.attr("d",E),o.singleLineStyle(c,i)}}}}}var U=w.selectAll(".js-line").data(j);v(U.exit()).style("opacity",0).remove(),U.each(V(!1)),U.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(o.lineGroupStyle).each(V(!0)),o.setClipUrl(U,r.layerClipId),j.length?(k?O&&R&&(A?("y"===A?O[1]=R[1]=x.c2p(0,!0):"x"===A&&(O[0]=R[0]=y.c2p(0,!0)),v(k).attr("d","M"+R+"L"+O+"L"+F.substr(1)).call(o.singleFillStyle)):v(k).attr("d",F+"Z").call(o.singleFillStyle)):M&&("tonext"===b.fill.substr(0,6)&&F&&T?("tonext"===b.fill?v(M).attr("d",F+"Z"+T+"Z").call(o.singleFillStyle):v(M).attr("d",F+"L"+T.substr(1)+"Z").call(o.singleFillStyle),b._polygons=b._polygons.concat(S)):(H(M),b._polygons=null)),b._prevRevpath=N,b._prevPolygons=B):(k?H(k):M&&H(M),b._polygons=b._prevRevpath=b._prevPolygons=null);var q=w.selectAll(".points");d=q.data([c]),q.each(Z),d.enter().append("g").classed("points",!0).each(Z),d.exit().remove(),d.each(function(t){var e=!1===t[0].trace.cliponaxis;o.setClipUrl(n.select(this),e?null:r.layerClipId)})}function H(t){v(t).attr("d","M0,0Z")}function G(t){return t.filter(function(t){return t.vis})}function W(t){return t.id}function Y(t){if(t.ids)return W}function X(){return!1}function Z(e){var i,l=e[0].trace,c=n.select(this),u=s.hasMarkers(l),f=s.hasText(l),h=Y(l),p=X,d=X;u&&(p=l.marker.maxdisplayed||l._needsCull?G:a.identity),f&&(d=l.marker.maxdisplayed||l._needsCull?G:a.identity);var g,b=(i=c.selectAll("path.point").data(p,h)).enter().append("path").classed("point",!0);m&&b.call(o.pointStyle,l,t).call(o.translatePoints,y,x).style("opacity",0).transition().style("opacity",1),i.order(),u&&(g=o.makePointStyleFns(l)),i.each(function(e){var i=n.select(this),a=v(i);o.translatePoint(e,a,y,x)?(o.singlePointStyle(e,a,l,g,t),r.layerClipId&&o.hideOutsideRangePoint(e,a,y,x,l.xcalendar,l.ycalendar),l.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()}),m?i.exit().transition().style("opacity",0).remove():i.exit().remove(),(i=c.selectAll("g").data(d,h)).enter().append("g").classed("textpoint",!0).append("text"),i.order(),i.each(function(t){var e=n.select(this),i=v(e.select("text"));o.translatePoint(t,i,y,x)?r.layerClipId&&o.hideOutsideRangePoint(t,e,y,x,l.xcalendar,l.ycalendar):e.remove()}),i.selectAll("text").call(o.textPointStyle,l,t).each(function(t){var e=y.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){v(n.select(this)).attr({x:e,y:r})})}),i.exit().remove()}}e.exports=function(t,e,r,i,a,s){var l,u,h,p,d=!a,g=!!a&&a.duration>0;for((h=i.selectAll("g.trace").data(r,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),c(t,e,r),function(t,e,r){var i;e.selectAll("g.trace").each(function(t){var e=n.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=e.select(".js-fill.js-tonext"),!i._nextFill.size()){var a=":first-child";e.select(".js-fill.js-tozero").size()&&(a+=" + *"),i._nextFill=e.insert("path",a).attr("class","js-fill js-tonext")}}else e.selectAll(".js-fill.js-tonext").remove(),i._nextFill=null;i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=e.select(".js-fill.js-tozero"),i._ownFill.size()||(i._ownFill=e.insert("path",":first-child").attr("class","js-fill js-tozero"))):(e.selectAll(".js-fill.js-tozero").remove(),i._ownFill=null),e.selectAll(".js-fill").call(o.setClipUrl,r.layerClipId)})}(0,i,e),l=0,u={};lu[e[0].trace.uid]?1:-1}),g)?(s&&(p=s()),n.transition().duration(a.duration).ease(a.easing).each("end",function(){p&&p()}).each("interrupt",function(){p&&p()}).each(function(){i.selectAll("g.trace").each(function(n,i){f(t,i,e,n,r,this,a)})})):i.selectAll("g.trace").each(function(n,i){f(t,i,e,n,r,this,a)});d&&h.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":499,"../../lib":602,"../../lib/polygon":614,"../../registry":732,"./line_points":940,"./link_traces":942,"./subtypes":948,d3:130}],946:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r=0&&(p[1]+=1),h.indexOf("top")>=0&&(p[1]-=1),h.indexOf("left")>=0&&(p[0]-=1),h.indexOf("right")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,E),r.textSize=x(e.textfont.size,E,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var O=["x","y","z"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var I=e.projection[O[n]];(r.project[n]=I.show)&&(r.projectOpacity[n]=I.opacity,r.projectScale[n]=I.scale)}r.errorBounds=d(e,b);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[0,0,0],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=c(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),this.textLabels?void 0!==this.textLabels[t.data.index]?t.textLabel=this.textLabels[t.data.index]:t.textLabel=this.textLabels:t.textLabel="";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:u,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:u,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:u,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];f(m+".show")&&(f(m+".opacity"),f(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,r,{axis:"z"}),v(t,e,r,{axis:"y",inherit:"z"}),v(t,e,r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":602,"../../registry":732,"../scatter/line_defaults":939,"../scatter/marker_defaults":944,"../scatter/subtypes":948,"../scatter/text_defaults":949,"./attributes":951}],956:[function(t,e,r){"use strict";var n={};n.plot=t("./convert"),n.attributes=t("./attributes"),n.markerSymbols=t("../../constants/gl3d_markers"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.moduleType="trace",n.name="scatter3d",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d","symbols","markerColorscale","showLegend"],n.meta={},e.exports=n},{"../../constants/gl3d_markers":577,"../../plots/gl3d":690,"../scatter/colorbar":930,"./attributes":951,"./calc":952,"./convert":954,"./defaults":955}],957:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/color_attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:s({},n.mode,{dflt:"markers"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:["none","toself","tonext"]}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:"calc"},a("marker".line)),gradient:l.gradient,editType:"calc"},a("marker"),{showscale:l.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":475,"../../components/colorscale/color_attributes":482,"../../lib/extend":591,"../../plots/attributes":645,"../scatter/attributes":926}],958:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../scatter/hover":937}],962:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scattercarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["svg","carpet","symbols","markerColorscale","showLegend","carpetDependent","draggedPts"],n.meta={},e.exports=n},{"../../plots/cartesian":659,"../scatter/colorbar":930,"../scatter/select":946,"../scatter/style":947,"./attributes":957,"./calc":958,"./defaults":959,"./event_data":960,"./hover":961,"./plot":963}],963:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../plots/cartesian/axes"),a=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||"x"),yaxis:i.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,f,r,o),s=0;s")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{"../../components/fx":516,"../../constants/numerical":579,"../../plots/cartesian/axes":648,"../scatter/fill_hover_text":934,"../scatter/get_trace_color":936,"./attributes":964}],969:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style"),n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="scattergeo",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","symbols","markerColorscale","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/geo":678,"../scatter/colorbar":930,"../scatter/style":947,"./attributes":964,"./calc":965,"./defaults":966,"./event_data":967,"./hover":968,"./plot":970,"./select":971,"./style":972}],970:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;lh.TOO_MANY_POINTS?"rect":u.hasMarkers(e)?"rect":"round";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i1&&c.extendFlat(i.line,b(t,r,n)),i.errorX||i.errorY){var a=_(t,r,n);i.errorX&&c.extendFlat(i.errorX,a.x),i.errorY&&c.extendFlat(i.errorY,a.y)}return i}function A(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=c.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n=k&&(T.marker.cluster=m.tree),S.lineOptions.push(T.line),S.errorXOptions.push(T.errorX),S.errorYOptions.push(T.errorY),S.fillOptions.push(T.fill),S.markerOptions.push(T.marker),S.selectedOptions.push(T.selected),S.unselectedOptions.push(T.unselected),S.count++,m._scene=S,m.index=S.count-1,m.x=v,m.y=y,m.positions=x,m.count=u,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,e,r){if(r.length){var o=t._fullLayout,s=r[0][0].t._scene,l=o.dragmode;if(s){var c=o._size,h=o.width,p=o.height;u(t,["ANGLE_instanced_arrays","OES_element_index_uint"]);var d=o._glcanvas.data()[0].regl;if(m(t,e,r),s.dirty){if(!0===s.error2d&&(s.error2d=a(d)),!0===s.line2d&&(s.line2d=i(d)),!0===s.scatter2d&&(s.scatter2d=n(d)),!0===s.fill2d&&(s.fill2d=i(d)),s.line2d&&s.line2d.update(s.lineOptions),s.error2d){var g=(s.errorXOptions||[]).concat(s.errorYOptions||[]);s.error2d.update(g)}s.scatter2d&&s.scatter2d.update(s.markerOptions),s.fill2d&&(s.fillOptions=s.fillOptions.map(function(t,e){var n=r[e];if(!(t&&n&&n[0]&&n[0].trace))return null;var i,a,o=n[0],l=o.trace,c=o.t,u=s.lineOptions[e],f=[],h=u&&u.positions||c.positions;if("tozeroy"===l.fill)(f=(f=[h[0],0]).concat(h)).push(h[h.length-2]),f.push(0);else if("tozerox"===l.fill)(f=(f=[0,h[1]]).concat(h)).push(0),f.push(h[h.length-1]);else if("toself"===l.fill||"tonext"===l.fill){for(f=[],i=0,a=0;a=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.wrap180(e[0]),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.wrap180(m[0])+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||a&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("
          ")}(c,g,l[0].t.labels),[t]}}},{"../../components/fx":516,"../../constants/numerical":579,"../../lib":602,"../scatter/fill_hover_text":934,"../scatter/get_trace_color":936}],983:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("../scattergeo/calc"),n.plot=t("./plot"),n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType="trace",n.name="scattermapbox",n.basePlotModule=t("../../plots/mapbox"),n.categories=["mapbox","gl","symbols","markerColorscale","showLegend","scatterlike"],n.meta={},e.exports=n},{"../../plots/mapbox":704,"../scatter/colorbar":930,"../scattergeo/calc":965,"./attributes":978,"./defaults":980,"./event_data":981,"./hover":982,"./plot":984,"./select":985}],984:[function(t,e,r){"use strict";var n=t("./convert");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+"-source-fill",line:e+"-source-line",circle:e+"-source-circle",symbol:e+"-source-symbol"},this.layerIds={fill:e+"-layer-fill",line:e+"-layer-line",circle:e+"-layer-circle",symbol:e+"-layer-symbol"},this.order=["fill","line","circle","symbol"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtWithinSector(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,s.extraText=o(c,u,l),a}},makeHoverPointText:o}},{"../../lib":602,"../../plots/cartesian/axes":648,"../scatter/hover":937}],990:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","markerColorscale","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":713,"../scatter/select":946,"../scatter/style":947,"./attributes":986,"./calc":987,"./defaults":988,"./hover":989,"./plot":991}],991:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var a,o,s,l={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},c=e.radialAxis,u=c.range;for(s=u[0]>u[1]?function(t){return t<=0}:function(t){return t>=0},a=0;a=0?(m=o.c2r(g)-l[0],T=v,y=s.c2rad(T,b.thetaunit),E[d]=C[2*d]=m*Math.cos(y),L[d]=C[2*d+1]=m*Math.sin(y)):E[d]=L[d]=C[2*d]=C[2*d+1]=NaN;var z=a.sceneOptions(t,e,b,C);z.fill&&!f.fill2d&&(f.fill2d=!0),z.marker&&!f.scatter2d&&(f.scatter2d=!0),z.line&&!f.line2d&&(f.line2d=!0),!z.errorX&&!z.errorY||f.error2d||(f.error2d=!0),_.tree=n(C),z.marker&&S>=u&&(z.marker.cluster=_.tree),c.hasMarkers(b)&&(z.selected.positions=z.unselected.positions=z.marker.positions),f.lineOptions.push(z.line),f.errorXOptions.push(z.errorX),f.errorYOptions.push(z.errorY),f.fillOptions.push(z.fill),f.markerOptions.push(z.marker),f.selectedOptions.push(z.selected),f.unselectedOptions.push(z.unselected),f.count=r.length,_._scene=f,_.index=p,_.x=E,_.y=L,_.rawx=E,_.rawy=L,_.r=w,_.theta=k,_.positions=C,_.count=S}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=f.angularAxis,p=u.cd[u.index],d=u.trace;if(p.r=o[u.index],p.theta=s[u.index],p.rad=h.c2rad(p.theta,d.thetaunit),f.isPtWithinSector(p))return u.xLabelVal=void 0,u.yLabelVal=void 0,u.extraText=l(p,d,f),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{"../../plots/cartesian/axes":648,"../../plots/polar":713,"../scatter/colorscale_calc":931,"../scatter/subtypes":948,"../scattergl":977,"../scattergl/constants":974,"../scatterpolar/hover":989,"./attributes":992,"./defaults":993,"fast-isnumeric":196,"point-cluster":353}],995:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/color_attributes"),o=t("../../components/colorbar/attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:["none","toself","tonext"]}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:"calc"},a("marker.line")),gradient:c.gradient,editType:"calc"},a("marker"),{showscale:c.showscale,colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":475,"../../components/colorscale/color_attributes":482,"../../components/drawing/attributes":498,"../../lib/extend":591,"../../plots/attributes":645,"../scatter/attributes":926}],996:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r"),o}function v(t,e){m.push(t._hovertitle+": "+i.tickText(t,e,"hover").text)}}},{"../../plots/cartesian/axes":648,"../scatter/hover":937}],1000:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scatterternary",n.basePlotModule=t("../../plots/ternary"),n.categories=["ternary","symbols","markerColorscale","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/ternary":725,"../scatter/colorbar":930,"../scatter/select":946,"../scatter/style":947,"./attributes":995,"./calc":996,"./defaults":997,"./event_data":998,"./hover":999,"./plot":1001}],1001:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,a,r,o)}},{"../scatter/plot":945}],1002:[function(t,e,r){"use strict";var n=t("../scattergl/attributes"),i=t("../../plots/cartesian/constants").idRegex;function a(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:i[t],editType:"plot"}}}e.exports={dimensions:{_isLinkedToArray:"dimension",visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"},text:n.text,marker:n.marker,xaxes:a("x"),yaxes:a("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:n.selected.marker,editType:"calc"},unselected:{marker:n.unselected.marker,editType:"calc"},opacity:n.opacity}},{"../../plots/cartesian/constants":653,"../scattergl/attributes":973}],1003:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib"),o=t("../../lib/prepare_regl"),s=t("../../plots/get_data").getModuleCalcData,l=t("../../plots/cartesian"),c=t("../../plots/cartesian/axis_ids"),u="splom";function f(t,e,r){for(var n=e.dimensions,i=r.matrixOptions.data.length,a=new Array(i),o=0,s=0;o1&&ra&&f?r._splomSubplots[y]=1:iv;for(r=0,n=0;r",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1016:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/extend").extendFlat,a=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1}),C=S.reduce(s,0);S=S.map(function(t){return t/C*v});var E=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:E,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:T[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return L.columns.forEach(function(t){t.calcdata=L,t.x=u(t)}),L}},{"../../lib/extend":591,"./constants":1015,"fast-isnumeric":196}],1017:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":591}],1018:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u="string"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/
          i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(D(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);T(t,u,l)}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function E(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll("tspan.line").remove(),x(a.select("."+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll("."+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+z(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+a+")"}),o.settledY=!0}}}function z(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function P(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+O(e,1/0)},0);return"translate(0 "+(O(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function D(t,e){for(var r=0,n=e-1;n>=0;n--)r+=I(t[n]);return r}function O(t,e){for(var r=0,n=0;n0){var y,x,b,_,w,k=t.xa,M=t.ya;"h"===h.orientation?(w=e,y="y",b=M,x="x",_=k):(w=r,y="x",b=k,x="y",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),C=o.getKdeValue(A,h,w),E=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+"0"]=E[0],T[y+"1"]=E[1],T[x+"0"]=T[x+"1"]=S,T[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+C.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+"Spike";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+"1"]=n.constrain(L+E[0],L,L+z),u[y+"2"]=n.constrain(L+E[1],L,L+z),u[x+"1"]=u[x+"2"]=_._offset+S}}}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var D=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return D.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),D.exit().remove(),D.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":602,"../../plots/cartesian/axes":648,"../box/hover":758,"./helpers":1024}],1026:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),setPositions:t("./set_positions"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","draggedPts","violinLayout"],meta:{}}},{"../../plots/cartesian":659,"../box/select":763,"../scatter/style":947,"./attributes":1021,"./calc":1022,"./defaults":1023,"./hover":1025,"./layout_attributes":1027,"./layout_defaults":1028,"./plot":1029,"./set_positions":1030,"./style":1031}],1027:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),i=t("../../lib").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{"../../lib":602,"../box/layout_attributes":760}],1028:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../box/layout_defaults");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},"violin")}},{"../../lib":602,"../box/layout_defaults":761,"./layout_attributes":1027}],1029:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0});return a.smoothopen(e[0],1)}var d=c.selectAll("g.trace.violins").data(r,function(t){return t[0].trace.uid});d.enter().append("g").attr("class","trace violins"),d.exit().remove(),d.order(),d.each(function(t){var r=t[0],a=r.t,s=r.trace,c=n.select(this);e.isRangePlot||(r.node3=c);var d=u._numViolins,g="group"===u.violinmode&&d>1,m=1-u.violingap,v=a.bdPos=a.dPos*m*(1-u.violingroupgap)/(g?d:1),y=a.bPos=g?2*a.dPos*((a.num+.5)/d-.5)*m:0;if(a.wHover=a.dPos*(g?m/d:1),!0!==s.visible||a.empty)n.select(this).remove();else{var x=e[a.valLetter+"axis"],b=e[a.posLetter+"axis"],_="both"===s.side,w=_||"positive"===s.side,k=_||"negative"===s.side,M=s.box&&s.box.visible,A=s.meanline&&s.meanline.visible,T=u._violinScaleGroupStats[s.scalegroup],S=c.selectAll("path.violin").data(i.identity);if(S.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),S.exit().remove(),S.each(function(t){var e,r,i,o,l,c,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,M=b.c2p(m);switch(s.scalemode){case"width":e=T.maxWidth/v;break;case"count":e=T.maxWidth/v*(T.maxCount/t.pts.length)}if(w){for(u=new Array(g),l=0;la&&(a=u,o=c)}}return a?i(o):s};case"rms":return function(t,e){for(var r=0,a=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),M(m);for(var w=o(e.transforms,r),k=0;k1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;a' + + id_attr + ' onclick="return showAddAnotherPopup(this);">' + addr.address + "" ); @@ -123,15 +122,9 @@ function initHostsInfiniteScroll( var target = $("#addr_" + id); if (target.length) { // IP is already on the page - $("#subnet-visual").animate( - { - scrollTop: - target.offset().top - - $("#subnet-visual").offset().top + - $("#subnet-visual").scrollTop(), - }, - 500, - ); + $("#subnet-visual").animate({ + scrollTop: target.offset().top - $("#subnet-visual").offset().top + $("#subnet-visual").scrollTop() + }, 500); target.css("background-color", "yellow"); setTimeout(function () { target.css("background-color", ""); @@ -139,14 +132,13 @@ function initHostsInfiniteScroll( } else { // IP not on page, re-fetch searchQuery = input; - nextPageUrl = - "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; + nextPageUrl = "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; $("#subnet-visual").empty(); fetchedPages = []; lastRenderedPage = 0; busy = false; onUpdate(); - } + } }); } function appendPage() { From d5cd39cebccd755ae109445abe8e1460e2eae222 Mon Sep 17 00:00:00 2001 From: Pranshu Date: Thu, 2 Oct 2025 20:21:22 +0530 Subject: [PATCH 5/5] [fix] Prettier code style #73 Fixing Prettier style, again. Fixes #73. --- .../static/openwisp-ipam/js/subnet.js | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/openwisp_ipam/static/openwisp-ipam/js/subnet.js b/openwisp_ipam/static/openwisp-ipam/js/subnet.js index 202e9ea..47a27e3 100644 --- a/openwisp_ipam/static/openwisp-ipam/js/subnet.js +++ b/openwisp_ipam/static/openwisp-ipam/js/subnet.js @@ -66,7 +66,8 @@ function initHostsInfiniteScroll( "&subnet=" + current_subnet + '" ' + - id_attr + ' onclick="return showAddAnotherPopup(this);">' + + id_attr + + ' onclick="return showAddAnotherPopup(this);">' + addr.address + "" ); @@ -122,9 +123,15 @@ function initHostsInfiniteScroll( var target = $("#addr_" + id); if (target.length) { // IP is already on the page - $("#subnet-visual").animate({ - scrollTop: target.offset().top - $("#subnet-visual").offset().top + $("#subnet-visual").scrollTop() - }, 500); + $("#subnet-visual").animate( + { + scrollTop: + target.offset().top - + $("#subnet-visual").offset().top + + $("#subnet-visual").scrollTop(), + }, + 500, + ); target.css("background-color", "yellow"); setTimeout(function () { target.css("background-color", ""); @@ -132,13 +139,14 @@ function initHostsInfiniteScroll( } else { // IP not on page, re-fetch searchQuery = input; - nextPageUrl = "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; + nextPageUrl = + "/api/v1/ipam/subnet/" + current_subnet + "/hosts/?start=" + searchQuery; $("#subnet-visual").empty(); fetchedPages = []; lastRenderedPage = 0; busy = false; onUpdate(); - } + } }); } function appendPage() {